法律状态公告日
法律状态信息
法律状态
2019-05-31
授权
授权
2017-05-24
实质审查的生效 IPC(主分类):H04N21/431 申请日:20170215
实质审查的生效
2017-04-26
公开
公开
技术领域
本发明基于我国自主研发的最新视频编码标准AVS2,提取视频编码过程中的重要信息进行直观呈现,可作为AVS2视频编码标准优化的一种工具与手段。
背景技术
码流分析方法是对编码过程信息的直观呈现,可以对编码的宏块、预测模式、运动矢量等信息进行实时显示。对于视频编码工作者及视频生产供应商而言,能够快速查看视频编码过程中的重要信息,找出编码中存在的各种问题,优化视频压缩编码的效率并改善视频质量。
现有的码流分析方法,主要是针对国际视频编码标准H.264或HEVC,针对国内视频压缩编码标准AVS2,目前还没有专门的码流分析方法作为压缩编码研究的辅助工具。同时,国内外现存的码流分析方法,主要是针对解码端的。视频压缩编码是一个择优的过程,解码端的码流分析方法仅仅是对编码后的最终码流进行分析还原,得到的只是最优的编码信息,忽略了编码过程中的其他重要信息,而这些过程信息有时可以对编码方式、搜索算法等的优化提供重要帮助,从而改善编码标准的性能。针对编码端的码流分析方法,可以内嵌在视频编码测试平台的编码端,提取编码过程中的重要信息,直观显示视频的序列、帧、块等各个层次的中间结果,评估编码方式对压缩性能的影响。
鉴于上述分析,针对AVS2标准的编码端的码流分析方法,可以作为视频压缩编码性能分析的工具,促进压缩编码标准的优化。
发明内容
本发明基于AVS2视频编码标准,设计了一种嵌在编码端的码流分析方法,在显示最佳编码结果的同时,可以呈现编码过程中的重要信息,对不同编码方式进行分析对比。
基于AVS2视频编码标准的编码端码流分析方法,包括以下步骤:
步骤1.编码信息获取,包含序列头、图像、编码单元信息的获取;
(1.1)在编码测试平台输入需编码的视频序列,编写编码配置文件,对视频进行编码;
(1.2)在视频编码源码与可视化平台之间建立公共结构体,用于保存序列头、图像、编码块等相关参数;
(1.3)在视频编码开始阶段将视频编码配置文件中序列头信息依次提取保存到自定义的Seq_info结构体;
(1.4)将每帧图像编码后的信息,包括量化参数、编码顺序、类型帧(I、P、B)、参考帧等信息,提取保存到Ima_info结构体;
(1.5)获取最小编码单元函数write_one_subMB,将编码单元拆分标志(SPLIT_FLAG)、单元预测类型(CU_TYPE)、帧内亮度预测模式(INTRA_LUMA_MODE)等重要编码信息,按照编码树遍历顺序依次保存到Cu_info结构体;
(1.6)当编码单元是帧间预测单元,在LumaPrediction函数中获取到该预测单元的最优运动矢量模式,将前向运动矢量与后向运动矢量分别保存到Cu_info结构体中;
(1.7)对于帧内次优模式,应用拉格朗日率失真(RDO)函数,判断所有模式后,将次优的模式保存到better变量,与最优模式一同放入Cu_info结构体。
步骤2.编码信息呈现,包含视频播放、控制功能、数字显示,显示编码过程中的重要参数,包括以下步骤:
(2.1)视频播放:根据编码图像的分辨率与色度格式,在内存中开辟一帧图像像素值大小的空间,获取视频编码后对应的重建图像,将图像像素值依次插入内存,在播放时不断刷新像素值,实现图像帧的播放、暂停、前进、后退;
(2.2)控制功能:利用MFC中radio控件激活时状态值变化的特性,根据状态值作为甄选条件,判断是否要显示对应编码信息,具体包括:
(2.2.1)信息显示的选择:设置最大编码单元(LCU)、编码单元(CU)、帧间预测单元(INTER_PU)、变换单元(LUMA_TU)、运动矢量(MV)、帧内预测单元(INTRA_PU)、SKIP、DIRECT的选项;
(2.2.2)图像上叠加信息:根据splitflag数值对每一帧图片中最大编码单元进行四叉树先序遍历,获取每一个CU的像素位置uiPositionInPic、宏块划分深度uiSizeInBit、宏块划分类型,使用类库中MoveTo、LineTo等函数在图像上划出分割线,使其分成64×64、32×32、16×16、8×8等不同的大小块,并用不同的颜色表示不同的宏块类型,将颜色叠加到相应的图像块上;根据运动矢量的类型、大小、方向,在图像上叠加相应的图示进行显示;
(2.3)数字显示:根据MFC中list、tab、dialog控件综合特性,将序列头、图像、编码单元三部分信息并列在一排,使用SetWindowPos函数将其固定在可视化平台右下角,点击其一功能时,刷新所选信息并隐藏另外两种编码信息。
本发明的优点为:可以提取重要的编码过程信息,对不同的编码方式进行对比,为视频编码研究者进行压缩编码优化提供帮助。
附图说明
图1是本发明的流程框图。
图2是本发明的工作界面图。
图3全I帧配置下帧内编码序列头与图像信息,其中图3a是帧内编码序列头信息,图3b是帧内编码图像信息。
图4帧内编码单元、预测单元划分结果。
图5帧内编码单元与预测模式图
图6帧内最优与次优预测模式对比图,其中图6a是帧内最优模式,图6b是帧内次优模式,图6c是某一宏块的具体信息。
具体实施方式
下面结合附图对本发明做进一步说明。
图1为编码端码流分析方法的流程框图,包括以下步骤:
步骤1.编码信息获取,包含序列头、图像、编码单元信息的获取;
(1.1)在编码测试平台输入需编码的视频序列,编写编码配置文件,对视频进行编码;
(1.2)在视频编码源码与可视化平台之间建立公共结构体,用于保存序列头、图像、编码块等相关参数;
(1.3)在视频编码开始阶段将视频编码配置文件中序列头信息依次提取保存到自定义的Seq_info结构体;
(1.4)将每帧图像编码后的信息,包括量化参数、编码顺序、类型帧(I、P、B)、参考帧等信息,提取保存到Ima_info结构体;
(1.5)获取最小编码单元函数write_one_subMB,将编码单元拆分标志(SPLIT_FLAG)、单元预测类型(CU_TYPE)、帧内亮度预测模式(INTRA_LUMA_MODE)等重要编码信息,按照编码树遍历顺序依次保存到Cu_info结构体;
(1.6)当编码单元是帧间预测单元,在LumaPrediction函数中获取到该预测单元的最优运动矢量模式,将前向运动矢量与后向运动矢量分别保存到Cu_info结构体中;
(1.7)对于帧内次优模式,应用拉格朗日率失真(RDO)函数,判断所有模式后,将次优的模式保存到better变量,与最优模式一同放入Cu_info结构体。
步骤2.编码信息呈现,包含视频播放、控制功能、数字显示,显示编码过程中的重要参数,包括以下步骤:
(2.1)视频播放:根据编码图像的分辨率与色度格式,在内存中开辟一帧图像像素值大小的空间,获取视频编码后对应的重建图像,将图像像素值依次插入内存,在播放时不断刷新像素值,实现图像帧的播放、暂停、前进、后退;
(2.2)控制功能:利用MFC中radio控件激活时状态值变化的特性,根据状态值作为甄选条件,判断是否要显示对应编码信息,具体包括:
(2.2.1)信息显示的选择:设置最大编码单元(LCU)、编码单元(CU)、帧间预测单元(INTER_PU)、变换单元(LUMA_TU)、运动矢量(MV)、帧内预测单元(INTRA_PU)、SKIP、DIRECT的选项;
(2.2.2)图像上叠加信息:根据splitflag数值对每一帧图片中最大编码单元进行四叉树先序遍历,获取每一个CU的像素位置uiPositionInPic、宏块划分深度uiSizeInBit、宏块划分类型,使用类库中MoveTo、LineTo等函数在图像上划出分割线,使其分成64×64、32×32、16×16、8×8等不同的大小块,并用不同的颜色表示不同的宏块类型,将颜色叠加到相应的图像块上;根据运动矢量的类型、大小、方向,在图像上叠加相应的图示进行显示;
(2.3)数字显示:根据MFC中list、tab、dialog控件综合特性,将序列头、图像、编码单元三部分信息并列在一排,使用SetWindowPos函数将其固定在可视化平台右下角,点击其一功能时,刷新所选信息并隐藏另外两种编码信息。
图2为所设计码流分析方法的可视化工作界面图。图左边是视频播放区域,实现视频的播放及编码信息的图像化显示;图中间是控制区域,决定选取哪些编码信息进行呈现;图右上角是图像局部放大区,对选取的最大编码单元图像进行放大呈现;图右下角是数字显示区,将编码过程信息以数字形式呈现。
图3是配置编码方式为全I帧时的帧内编码序列头与图像信息分析结果,显示结果与实际配置情况相符。点击选择码流分析工作界面交互区的LCU、CU、INTRA_PU和INTER_PU功能,对该帧图像进行最大编码单元与最小编码单元的尺寸划分,并在其上利用灰色色块叠加显示帧内预测类型的划分结果,得到图4所示结果。从图中可以看到,帧内预测单元根据图像纹理分布的变化进行水平与垂直的选择划分,符合帧内预测单元类型划分的理论原则。
图5截选显示了全I帧模式下部分单元的帧内亮度预测模式分析结果,具体模式在每个帧内编码单元左上角标注,数值范围为0至33,与理论值相符。图6是利用率失真优化(RDO)方法获取的部分编码单元亮度预测最优与次优模式对比图,从图中可知,对于编号为126的编码块,最佳预测模式为10,次优模式是9,其模式搜索所需的消耗分别为36911与102889。
以上阐述的是本发明最终测试的结果,显然本发明不只是局限于上述实例,在不偏离本发明基本精神及不超出本发明实质内容所涉及范围的前提下对其可作种种变形加以实施。本发明所设计的方案能提取出编码过程中的重要参数,有助于视频压缩编码研究者对视频编码算法进行优化。
机译: 基于视频压缩码流的运动分析方法,码流转换方法及其装置
机译: 基于视频压缩码流的运动分析方法和码流转换方法及其装置
机译: 基于视频压缩码流的运动分析方法,码流转换方法及其装置