HEVC Analyser and HM
2016-02-21 15:33
232 查看
转载请注明出处,谢谢!
http://blog.csdn.net/c602273091/article/details/50707417
Install Analyser
http://www.elecard.com/en/index.html
http://www.bubuko.com/infodetail-495804.html
http://blog.csdn.net/leixiaohua1020/article/details/11845069
Sequence Download
http://www.elecard.com/en/index.html
http://download.csdn.net/detail/leixiaohua1020/6843803
http://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/
360网盘:
户名:hevctestsequence@163.com 密码:hevc123
http://blog.csdn.net/yangxiao_xiang/article/details/10552633
Run HM
download HM:
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/
config:
http://blog.sina.com.cn/s/blog_520811730101j6jh.html
先说编码器的使用:右击“TAppEncoder”->“Set as Startup Project”, 接着,再次右击“TAppEncoder”->“Properties”->“Configuration Properties”->“Debugging”,在弹出的右窗口中有这么两行需要关注:“Command Arguments“和“Working Directory”。前者用于输入运行时的命令参数,后者用于指定工程的工作目录。先说工作目录,将其设置为xxx\bin\vc9\Win32\Debug,即上一步中编译生成的可执行文件的绝对路径。接下来,为了方便起见,我们可以把需要使用到的配置文件、yuv测试序列复制到该目录下。与JM有所不同的是,我们需要至少使用两个配置文件,即在HM文件夹的cfg目录中的某一个配置文件如encoder_intra_main.cfg,以及per-sequence目录下的某一个配置文件如BasketballDrill.cfg。前者主要用于配置编码器的各种编码参数,后者主要用于指定输入yuv测试文件,分辨率,待编码帧数等等。在完成了上述步骤之后,我们就可以在“Command Arguments”一栏填入-c encoder_intra_main.cfg -c BasketballDrill.cfg,表明这个编码器使用这两个配置文件所指定的参数进行编码。
此外,值得一提的是,使用配置文件不是必须的,我们也可以使用纯命令行的输入方式对编码器的各个参数进行指定,具体使用方法,请参考软件手册。在一些特定情况下如只需修改其中的少数参数值,这种纯命令行方式还是比较方便的,但是,这种做法容易漏掉一些参数值的设置(尽管它们有默认值),而且对于经常修改多个参数来说,远不如直接修改配置文件来得方便和准确。因此,个人推荐使用上一种方法进行设置。
在进行如上配置后,正常情况下编码器就能将你指定的yuv测试文件编码为二进制码流文件了。
再说解码器的使用:在到填入“Command Arguments”之前,跟编码器是完全一样的,这里就不再重复了,输入的命令如下-b xxx.bin -o deco.yuv,-b指定输入的二进制码流,即编码输出码流文件,-o指定输出的yuv文件。设置完毕之后,运行解码器,应该能够解码出deco.yuv文件来了。
http://blog.csdn.net/hevc_cjl/article/details/8169182
http://blog.sina.com.cn/s/blog_520811730101k5n6.html
http://bbs.csdn.net/topics/390676751/
Read HM
每帧图像分割成多个以块为单位的区域,分割信息传输到解码端。一个视频序列的第一帧(或者是一个视频序列的每个空白随机接入点(CRA, clean random access point)的第一帧)只采用帧内预测(即只运用同一帧图像相邻区域间的空域信息进行预测,但该帧并不与其他帧相互独立)。视频序列的其他帧或者两个CRA之间的其他帧,大多采用时域帧间预测方式预测进行块预测。帧间预测的编码过程由运动数据组成,这些运动数据包含用于每个块采样点预测的参考帧和运动矢量(MV, motion vector)。编码器和解码器运用作为边信息传输的MV和模式选择数据组成的运动补偿(MC, motion compensation)来生成同一的帧间预测信号。
帧内或帧间预测的残差信号(即原始块和它的预测块的不同信息),通过线性空域变换传输。变换系数经过扩展、量化、熵编码,和预测信息一起传输。
编码器复制解码器的处理环路(图1所示中的灰色部分),这两个处理过程为后来数据产生相同的预测。因此,量化的变换系数通过反扩展、反变换来复制解码的近似残差信号。这个残差信号加上预测信息后经过一个或两个环路滤波器来平滑滤除由于基于块处理和量化产生的块效应等影响。这个最终的图像表征(即解码端输出图像的复制品)存储在已解码图像的缓存器中,以便用于后续图像的预测。一般而言,图像的编码和解码处理过程与它们从源头(即视频源)到来的顺序不同。因此,需要区别解码器的解码顺序(即码流顺序)和输出顺序(即显示顺序)。
一般而言,人们希望HEVC处理的视频是逐行扫描图像(可能是因为视频输入的就是那种格式,或者为了消除隔行扫描优于编码)。HEVC的设计编码特征中没有明确表示支持隔行扫描的使用,因为隔行扫描已经不再用于显示,并且使用这种隔行扫描的情况越来越少。然而,HEVC引入的一个数据元语法允许编码器通过编码每个场(即每个视频帧的偶数场和奇数场)来处理隔行扫描视频。这种方法编码隔行扫描视频不仅有效,而且没有给解码器额外处理这种视频的负担。
http://www.xuebuyuan.com/956335.html
http://blog.csdn.net/c602273091/article/details/50707417
Install Analyser
http://www.elecard.com/en/index.html
http://www.bubuko.com/infodetail-495804.html
http://blog.csdn.net/leixiaohua1020/article/details/11845069
Sequence Download
http://www.elecard.com/en/index.html
http://download.csdn.net/detail/leixiaohua1020/6843803
http://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/
360网盘:
户名:hevctestsequence@163.com 密码:hevc123
http://blog.csdn.net/yangxiao_xiang/article/details/10552633
Run HM
download HM:
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/
config:
http://blog.sina.com.cn/s/blog_520811730101j6jh.html
先说编码器的使用:右击“TAppEncoder”->“Set as Startup Project”, 接着,再次右击“TAppEncoder”->“Properties”->“Configuration Properties”->“Debugging”,在弹出的右窗口中有这么两行需要关注:“Command Arguments“和“Working Directory”。前者用于输入运行时的命令参数,后者用于指定工程的工作目录。先说工作目录,将其设置为xxx\bin\vc9\Win32\Debug,即上一步中编译生成的可执行文件的绝对路径。接下来,为了方便起见,我们可以把需要使用到的配置文件、yuv测试序列复制到该目录下。与JM有所不同的是,我们需要至少使用两个配置文件,即在HM文件夹的cfg目录中的某一个配置文件如encoder_intra_main.cfg,以及per-sequence目录下的某一个配置文件如BasketballDrill.cfg。前者主要用于配置编码器的各种编码参数,后者主要用于指定输入yuv测试文件,分辨率,待编码帧数等等。在完成了上述步骤之后,我们就可以在“Command Arguments”一栏填入-c encoder_intra_main.cfg -c BasketballDrill.cfg,表明这个编码器使用这两个配置文件所指定的参数进行编码。
此外,值得一提的是,使用配置文件不是必须的,我们也可以使用纯命令行的输入方式对编码器的各个参数进行指定,具体使用方法,请参考软件手册。在一些特定情况下如只需修改其中的少数参数值,这种纯命令行方式还是比较方便的,但是,这种做法容易漏掉一些参数值的设置(尽管它们有默认值),而且对于经常修改多个参数来说,远不如直接修改配置文件来得方便和准确。因此,个人推荐使用上一种方法进行设置。
在进行如上配置后,正常情况下编码器就能将你指定的yuv测试文件编码为二进制码流文件了。
再说解码器的使用:在到填入“Command Arguments”之前,跟编码器是完全一样的,这里就不再重复了,输入的命令如下-b xxx.bin -o deco.yuv,-b指定输入的二进制码流,即编码输出码流文件,-o指定输出的yuv文件。设置完毕之后,运行解码器,应该能够解码出deco.yuv文件来了。
http://blog.csdn.net/hevc_cjl/article/details/8169182
http://blog.sina.com.cn/s/blog_520811730101k5n6.html
http://bbs.csdn.net/topics/390676751/
Read HM
每帧图像分割成多个以块为单位的区域,分割信息传输到解码端。一个视频序列的第一帧(或者是一个视频序列的每个空白随机接入点(CRA, clean random access point)的第一帧)只采用帧内预测(即只运用同一帧图像相邻区域间的空域信息进行预测,但该帧并不与其他帧相互独立)。视频序列的其他帧或者两个CRA之间的其他帧,大多采用时域帧间预测方式预测进行块预测。帧间预测的编码过程由运动数据组成,这些运动数据包含用于每个块采样点预测的参考帧和运动矢量(MV, motion vector)。编码器和解码器运用作为边信息传输的MV和模式选择数据组成的运动补偿(MC, motion compensation)来生成同一的帧间预测信号。
帧内或帧间预测的残差信号(即原始块和它的预测块的不同信息),通过线性空域变换传输。变换系数经过扩展、量化、熵编码,和预测信息一起传输。
编码器复制解码器的处理环路(图1所示中的灰色部分),这两个处理过程为后来数据产生相同的预测。因此,量化的变换系数通过反扩展、反变换来复制解码的近似残差信号。这个残差信号加上预测信息后经过一个或两个环路滤波器来平滑滤除由于基于块处理和量化产生的块效应等影响。这个最终的图像表征(即解码端输出图像的复制品)存储在已解码图像的缓存器中,以便用于后续图像的预测。一般而言,图像的编码和解码处理过程与它们从源头(即视频源)到来的顺序不同。因此,需要区别解码器的解码顺序(即码流顺序)和输出顺序(即显示顺序)。
一般而言,人们希望HEVC处理的视频是逐行扫描图像(可能是因为视频输入的就是那种格式,或者为了消除隔行扫描优于编码)。HEVC的设计编码特征中没有明确表示支持隔行扫描的使用,因为隔行扫描已经不再用于显示,并且使用这种隔行扫描的情况越来越少。然而,HEVC引入的一个数据元语法允许编码器通过编码每个场(即每个视频帧的偶数场和奇数场)来处理隔行扫描视频。这种方法编码隔行扫描视频不仅有效,而且没有给解码器额外处理这种视频的负担。
http://www.xuebuyuan.com/956335.html
相关文章推荐
- C#操作config文件的具体方法
- a10 config backup for aXAPI
- Web.Config文件配置之限制上传文件大小和时间的属性配置
- CodeIgniter配置之config.php用法实例分析
- 基于Zend的Config机制的应用分析
- thinkPHP中config配置文件
- configure: WARNING: unrecognized options: --with-mysql
- Proxy Auto Config
- kali安装后的基本配置
- CentOS 6.4设置静态IP教程
- config.sys
- 怎么源码安装 PKG_CONFIG_PATH设置
- smokeping config 详解
- ripd
- qmake 之 CONFIG 与 QT 乱谈
- 配置Logstash(2) — “事件”相关配置
- mybatis-config.xml配置文件
- hadoop-config
- mac 环境配置
- 开博第一篇,写点关于GPGPU的东西吧