CN103327327B - 用于高性能视频编码hevc的帧间预测编码单元选择方法 - Google Patents
用于高性能视频编码hevc的帧间预测编码单元选择方法 Download PDFInfo
- Publication number
- CN103327327B CN103327327B CN201310216553.6A CN201310216553A CN103327327B CN 103327327 B CN103327327 B CN 103327327B CN 201310216553 A CN201310216553 A CN 201310216553A CN 103327327 B CN103327327 B CN 103327327B
- Authority
- CN
- China
- Prior art keywords
- current
- segmentation identifier
- pmd
- identifier
- segmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种用于HEVC的帧间预测编码单元选择方法,属于视频编码技术。本发明的技术方案为:构建当前帧间预测编码单元CU的金字塔运动散度PMD:基于运动矢量估计,求取当前CU、将当前CU均分得到的4个子块的运动散度,记为PMD;选取当前CU的参考CU:在当前CU的已编码CU近邻中,基于对应的PMD,根据欧式距离获取最相似的l个参考CU,所述参考CU的尺度与当前CU的尺度相同;基于l个参考CU的分割标识符,确定当前CU的分割标识符的取值:若l个参考CU的分割标识符均相同,则当前CU的分割标识符等于参考CU的分割标识符;否则,基于率失真代价确定当前CU的分割标识符。本发明简单而高效,在保证编码质量的前提下有效降低了HEVC帧间预测的时间复杂度。
Description
技术领域
本发明属于视频编码技术,特别涉及一种在高性能视频编码(HighEfficiencyVideoCoding,HEVC)中基于金字塔运动散度,对帧间预测编码单元(CodingUnit,CU)的选择方法。
背景技术
伴随着高清视频技术的发展和成熟,人们日常生活中涌现了大量的高清视频的应用,关于高清视频的各种应用受到了用户的欢迎和青睐。然而,较高的分辨率所带来较大的数据量使得高清视频对视频编解码算法的压缩性能要求更高。目前的视频编解码标准(如H.264/AVC等)往往不能很好地满足高清视频对压缩性能的要求。为满足新的视频应用对编解码标准的要求,ITU-T/ISO/IEC的视频编码联合协同小组(JointCollaborativeTeamonVideoCoding,JCT-VC)日前正在制定新的下一代视频编解码标准HEVC。为适用于视频技术的实时应用,则需要提高HEVC的编码速度。
目前,基于HEVC的帧间预测CU的深度为4,即CU的尺度有64x64、32x32、16x16、8x8。对每一个64x64的LCU(LargestCodingUnit)进行编码的时候,需要从尺度64x64向8x8按照四叉树结构往下进行遍历。每个CU在遍历过程中有一个分割标识符(splitflag),该splitflag用来判断当前CU是否需要分成四个更小尺度的CU,即split和unsplit,而其判断的准则是两层编码的率失真代价的大小。这使得如果能快速预测出最终的CU的尺度,那么在帧间预测过程中就可以省去诸多关于CU的预测过程。HEVC帧间编码的快速算法主要包括这几个方面:预测单元模式(PredictionUnit,PU)的提前终止,编码单元的提前终止。这些方法大部分是根据当前编码单元或预测单元的编码信息来判断是否提前终止,如利用CBF(CodedBlockFlag)和运动矢量等信息。还有一些方法则是提前选择,如CU深度的选择。另外,还有方法根据统计发现相邻帧对应位置的CU以及相同帧相邻CU与当前CU的深度相关性统计特性来判断当前CU的深度。上述简单地判断深度不能最大程度低判断CU尺度,且计算复杂度高,编码速率低。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种基于金字塔运动散度采用寻找近邻的方法实现对帧间预测编码单元CU的快速选择,从而提高HEVC帧间预测方法的编码速度。
本发明的用于高性能视频编码HEVC的帧间预测编码单元选择方法,包括下列步骤:
构建当前帧间预测编码单元CU的金字塔运动散度PMD:将当前CU均分得到4个子块,基于运动矢量估计,求取当前CU和4个子块的运动散度,记为PMD;
选取当前CU的参考CU:在当前CU的已编码CU近邻中,基于对应的PMD,选取与当前CU最相似的l个已编码CU作为参考CU,所述参考CU的尺度与当前CU的尺度相同;
基于l个参考CU的分割标识符,确定当前CU的分割标识符的取值:若l个参考CU的分割标识符均相同,则当前CU的分割标识符等于参考CU的分割标识符;否则,基于率失真代价确定当前CU的分割标识符。
在现有的HEVC帧间编码过程中,对每个LCU的编码是通过从64x64到8x8尺度的CU按照四叉树结构进行遍历。每个CU在遍历过程中有一个分割标识符(splitflag),该个splitflag用来判断当前CU是否需要分成四个更小尺度的CU,若是,则splitflag=split;若否,则splitflag=unsplit。这种判断的准则是两层编码的率失真代价的大小。
用绝对误差和SAD来近似每个CU的代价,那么可以认为率失真代价与预测像素和源像素的差值正相关,而两个像素之间的差值与其距离大小正相关。本发明基于上述,得出CU的率失真代价与其中像素的运动矢量方差正相关,将该运动矢量的方差表示为一个CU的运动散度,即公式(1)所示:
公式(1)中,J表示当前CU(CUX)的率失真代价,mx为CUX中每个像素相对于参考帧中相应像素的运动矢量,为这些运动矢量的均值,为CUX的运动散度。
由于判断一个CU是否需要分成四个子CU,是通过CU的率失真代价与四个子CU的率失真代价之和的差值来决定的,即当前者大于后者时,设置splitflag=split;反之,设置splitflag=unsplit。基于公式(1),本发明根据CU的运动散度和其子CU的运动散度来快速判断是否需要分块处理,其检测准确率高,运算复杂度低,为HEVC的帧间预测过程省去很多CU的预测过程,已实现HEVC的快速帧间编码。
现有的运动矢量估计方法有光流场估计方法,为了降低现有光流场估计方法的运算复杂度,本发明中,在构建当前CU的PMD之前,对当前CU所在的当前帧,进行垂直和水平方向的1/4下采样,基于下采样的图像进行光流场估计,得到当前帧的光流场;则在构建当前CU的PMD时,基于所述光流场中运动矢量构建当前CU的PMD。
同时,为保证有足够的已编码CU作为参考CU,在本发明中,在选取当前CU的参考CU之前,首先判断当前CU是否为视频序列的第一个帧间帧中的CU,若是,则直接基于率失真代价确定当前CU的分割标识符;若否,则执行选取当前CU的参考CU的操作。
综上所述,由于采用了上述技术方案,本发明的有益效果是:相比于现有的HEVC的帧间预测方式,本发明简单而高效,在保证编码质量几乎不损失的前提下极大地降低了HEVC帧间预测的时间复杂度。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明具体实施的流程图;
图2是本发明具体实施方式中,金字塔运动散度PMD的示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
结合图1,将本发明用于HEVC的帧间编码,包括下列步骤:
步骤S1:在对每一视频帧进行编码之前,分别对水平和垂直两个方向进行1/4下采样,对下采样图像估计光流场,得到当前帧的光流场,进入步骤S2。
步骤S2:基于当前帧的光流场中的运动矢量,计算当前帧间预测编码单元cuk的金字塔运动散度PMD。
参见图2,用X表示当前编码单元cuk,Xi(i=0,1,2,3)表示当前编码单元cuk的四个子编码单元,MX、表示对应编码单元的运动矢量,将cuk和其四个子编码单元的运动散度组成的特征向量称为当前编码单元cuk(X)的金字塔运动散度(PyramidMotionDivergence,PMD),即
步骤S3:基于PMD,采用一种寻找k(具体取值取决于实际应用需求)近邻的方式在已编码的相同尺度的CU中,选取与当前编码单元cuk最相似的l个(具体取值取决于实际应用需求)已编码CU作为参考CU。相似度的计算可以采用欧氏距离,可根据公式(2)计算两个编码单元A与B的相似度:
sim(A,B)=||PMDA-PMDB||2(2)
由于随着编码单元数目的增加,已编码单元的数目也就相应增加。当已编码单元的数目很大时,为了简化计算,本发明还可对已编码单元设定两个先入先出(first-infirst-out,FIFO)的队列,分别存放已编码单元的PMD和splitflag信息,队列的长度为Len。设定为FIFO队列是考虑到相近的CU运动模式相似。一个CU编码完成后会加入到所设置的FIFO队列中,当队列中CU的数目超过队列长度Len时,最早进入队列的CU会被删除。
因此,当基于PMD选取最相似的l已编码CU作为参考CU时,直接遍历所设置的FIFO队列,获取满足需求的l个参考CU。
步骤S4:判断这l个参考CU是否为同一种分块方式,如通过判断l个参考CU中,分割(或不分割)的CU个数是否等于l,若l个参考CU是为同一种分块方式(splitflag均为splits或plitflag均为unsplit),则设置当前编码单元cuk与l个参考CU的splitflag相同,并执行步骤S5;
步骤S5:按照步骤S4步判断出来的分块方式对当前编码单元cuk进行编码后,执行步骤S7;
步骤S6:计算splitflag为split和splitflag为unsplit两种情况下的率失真代价并比较其大小,选择较小率失真代价所对应的splitflag对当前编码单元cuk后,执行步骤S7;
步骤S7:返回当前编码单元cuk的率失真代价,并将cuk的分块方式和PMD信息存入相应的FIFO队列;
判断当前帧编码是否结束,若否,则对下一个编码单元cuk+1执行步骤S2;若是,则进入步骤S1,对下一视频帧进行编码处理。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (4)
1.用于高性能视频编码HEVC的帧间预测编码单元选择方法,其特征在于,包括下列步骤:
构建当前帧间预测编码单元CU的金字塔运动散度PMD:对当前CU所在的当前帧,进行垂直和水平方向的1/4下采样,基于下采样的图像进行光流场估计,得到当前帧的光流场;将当前CU均分得到4个子块,基于当前帧的光流场中的运动矢量,求取当前CU和4个子块的运动散度,记为PMD;
选取当前CU的参考CU:在当前CU的已编码CU近邻中,基于对应的PMD,选取与当前CU最相似的l个已编码CU作为参考CU,所述参考CU的尺度与当前CU的尺度相同;
基于l个参考CU的分割标识符,确定当前CU的分割标识符的取值:若l个参考CU的分割标识符均相同,则当前CU的分割标识符等于参考CU的分割标识符;否则,基于率失真代价确定当前CU的分割标识符。
2.如权利要求1所述的方法,其特征在于,在选取当前CU的参考CU之前,首先判断当前CU是否为视频序列的第一个帧间帧中的CU,若是,则直接基于率失真代价确定当前CU的分割标识符;若否,则执行选取当前CU的参考CU的操作。
3.如权利要求1或2所述的方法,其特征在于,还包括将已编码CU的分割标识符和PMD信息存入设置的先进先出队列中,则在选取当前CU的参考CU时,遍历所述队列,获取最相似的l个参考CU。
4.如权利要求1所述的方法,其特在于,基于欧氏距离计算当前CU与备选参考CU的相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310216553.6A CN103327327B (zh) | 2013-06-03 | 2013-06-03 | 用于高性能视频编码hevc的帧间预测编码单元选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310216553.6A CN103327327B (zh) | 2013-06-03 | 2013-06-03 | 用于高性能视频编码hevc的帧间预测编码单元选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103327327A CN103327327A (zh) | 2013-09-25 |
CN103327327B true CN103327327B (zh) | 2016-03-30 |
Family
ID=49195825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310216553.6A Active CN103327327B (zh) | 2013-06-03 | 2013-06-03 | 用于高性能视频编码hevc的帧间预测编码单元选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103327327B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581159B (zh) * | 2013-10-18 | 2019-04-05 | 华为技术有限公司 | 视频编解码中的块分割方式确定方法及相关装置 |
CN104602000B (zh) * | 2014-12-30 | 2018-02-23 | 北京奇艺世纪科技有限公司 | 一种编码单元的分割方法和装置 |
CN105915925A (zh) * | 2015-07-24 | 2016-08-31 | 乐视云计算有限公司 | 基于hevc的编码单元构建方法及装置 |
CN105578181B (zh) * | 2016-01-19 | 2019-01-01 | 南京大学 | 一种hevc中屏幕内容压缩的快速帧内模式决策和块匹配方法 |
US10931969B2 (en) * | 2017-01-04 | 2021-02-23 | Qualcomm Incorporated | Motion vector reconstructions for bi-directional optical flow (BIO) |
CN109429064B (zh) * | 2017-08-22 | 2021-03-30 | 华为技术有限公司 | 一种视频数据的编解码方法、装置和介质 |
CN118055253A (zh) * | 2017-08-22 | 2024-05-17 | 谷歌有限责任公司 | 用于视频代码化中的运动补偿预测的光流估计 |
CN109274965B (zh) * | 2018-11-27 | 2021-07-20 | 广东工业大学 | Hevc中基于像素值统计特性的快速预测模式选择方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938657A (zh) * | 2010-10-07 | 2011-01-05 | 西安电子科技大学 | 高效视频编码中编码单元自适应划分方法 |
US20120106622A1 (en) * | 2010-11-03 | 2012-05-03 | Mediatek Inc. | Method and Apparatus of Slice Grouping for High Efficiency Video Coding |
US20120114034A1 (en) * | 2010-11-08 | 2012-05-10 | Mediatek Inc. | Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding |
CN103096090A (zh) * | 2013-02-20 | 2013-05-08 | 广州柯维新数码科技有限公司 | 一种用于视频压缩中的编码块划分的方法 |
-
2013
- 2013-06-03 CN CN201310216553.6A patent/CN103327327B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938657A (zh) * | 2010-10-07 | 2011-01-05 | 西安电子科技大学 | 高效视频编码中编码单元自适应划分方法 |
US20120106622A1 (en) * | 2010-11-03 | 2012-05-03 | Mediatek Inc. | Method and Apparatus of Slice Grouping for High Efficiency Video Coding |
US20120114034A1 (en) * | 2010-11-08 | 2012-05-10 | Mediatek Inc. | Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding |
CN103096090A (zh) * | 2013-02-20 | 2013-05-08 | 广州柯维新数码科技有限公司 | 一种用于视频压缩中的编码块划分的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103327327A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103327327B (zh) | 用于高性能视频编码hevc的帧间预测编码单元选择方法 | |
CN110087087B (zh) | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 | |
CN103248895B (zh) | 一种用于hevc帧内编码的快速模式估计方法 | |
JP4755095B2 (ja) | 映像符号化の符号化側/復号化側に使用される双方向予測方法 | |
CN101267556B (zh) | 快速运动估计方法及视频编解码方法 | |
EP1927249B1 (en) | Apparatus and method for encoding and decoding multi-view video | |
CN101378504B (zh) | 用于h.264编码的块匹配运动估计方法 | |
CN104067619A (zh) | 视频解码器、视频编码器、视频解码方法以及视频编码方法 | |
CN101184233B (zh) | 一种基于cfrfs数字视频压缩编码的方法 | |
CN103873861A (zh) | 一种用于hevc的编码模式选择方法 | |
CN102263951B (zh) | 一种快速的分形视频压缩与解压缩方法 | |
RU2573747C2 (ru) | Способ и устройство кодирования видео, способ и устройство декодирования видео и программы для них | |
CN105141954A (zh) | 一种hevc帧间编码快速模式选择方法 | |
CN101888546B (zh) | 一种运动估计的方法及装置 | |
CN103546758A (zh) | 一种快速深度图序列帧间模式选择分形编码方法 | |
CN102917225A (zh) | Hevc帧内编码单元快速选择方法 | |
CN104702959B (zh) | 一种视频编码的帧内预测方法及系统 | |
CN110446052A (zh) | 一种3d-hevc帧内深度图快速cu深度选择方法 | |
CN105187826A (zh) | 针对高效率视频编码标准的快速帧内模式判决方法 | |
CN104918047B (zh) | 一种双向运动估计的排除方法和装置 | |
CN101931739A (zh) | 绝对误差总和值估算系统及方法 | |
CN101557519B (zh) | 一种多视点视频编码方法 | |
CN106878754B (zh) | 一种3d视频深度图像帧内预测模式选择方法 | |
CN113422959A (zh) | 视频编解码的方法、装置、电子设备及存储介质 | |
CN109547798B (zh) | 一种快速的hevc帧间模式选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |