CN106507106B - 基于参考片的视频帧间预测编码方法 - Google Patents
基于参考片的视频帧间预测编码方法 Download PDFInfo
- Publication number
- CN106507106B CN106507106B CN201610979281.9A CN201610979281A CN106507106B CN 106507106 B CN106507106 B CN 106507106B CN 201610979281 A CN201610979281 A CN 201610979281A CN 106507106 B CN106507106 B CN 106507106B
- Authority
- CN
- China
- Prior art keywords
- reference plate
- ctu
- mrow
- current
- msub
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000003139 buffering effect Effects 0.000 claims description 85
- 230000033001 locomotion Effects 0.000 claims description 42
- 230000003068 static effect Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 17
- 241000208340 Araliaceae Species 0.000 claims description 12
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 12
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 12
- 235000008434 ginseng Nutrition 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 10
- 239000000872 buffer Substances 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 16
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于参考片的视频帧间预测编码方法,该方法基于参考片的参考内容管理和优化方案,可以在DPB容量受限的条件下收集更多的信息,使得当前编码块可以更大概率的找到匹配块。最终,总体的效果是在略微增加编、解码端复杂度的情况下,有效的提升了视频编码的效率。
Description
技术领域
本发明涉及视频编码技术领域,尤其涉及一种基于参考片的视频帧间预测编码方法。
背景技术
近年来,随着互联网的迅猛发展,在互联网中针对视频的应用需求越来越多,而视频的数据量非常大,为了在带宽有限的互联网中传输,首先必须解决的问题就是视频压缩编码问题。
已经制定的视频编码标准都属于混合视频编码框架。所谓混合视频编码,一般由以下几部分组成:预测(Prediction)、变换(Transform)、量化(Quantization)和熵编码(Entropy Coding)。其中预测一般分为帧内预测和帧间预测。只能选用帧内预测模式的视频帧称为I帧,既可以使用帧内预测模式也可以使用帧间预测模式的视频帧称为P帧或B帧。帧间预测模式利用已经重建的其他帧的像素作为参考,对当前帧进行预测,从而去除时间冗余。相比于帧内预测,一般帧间预测的准确率更高,在视频压缩的过程中起的作用更大。进一步提高帧间预测的效率,是视频编码里很迫切的需求。
目前,在进行帧间预测时,会选择已经重建的多个帧作为参考帧。采用多参考帧能够带来视频编码性能提升,原因主要有两方面:一是由于相机噪声等因素的影响,多参考帧及其组合可以提供更多的信号形式,使当前编码块可以找到更好的匹配块;二是当视频序列中存在遮挡和复现时,当前编码块在多参考帧中有更大可能找到匹配的块。通用的最新视频编码标准High Efficiency Video Coding(HEVC)的多参考帧由一个最临近帧和几个次临近的高质量帧组成,多参考帧的管理基于参考图像集(Reference Picture Set,RPS)。参考帧的选取和管理是帧间预测技术中非常核心的部分,对整体视频编码效率的影响也比较大。
有一些工作提出了其他的多参考帧选取和管理方法,例如:
基于视频内容的自适应参考帧选取(A.S.Dias,S.Schwarz,M.Siekmann,S.Bosse,H.Schwarz,D.Marpe,J.Zubrzycki and M.Mrak,“Perceptually optimised videocompression.”in IEEE International Conference On Multimedia and Expo(ICME2015),Torino,2015.)
基于被参考内容分布的改进参考帧列表排序(S.Schwarz and M.Mrak,“Improvedreference picture list sorting in video coding.”in IEEE InternationalConference on Systems,Signals and Image Processing(IWSSIP 2015),London,2015.)
以上方法的缺点如下:
1、HEVC中的多参考帧选取和管理对不同的视频内容采用同一处理方案,不具有自适应性。
2、基于视频内容的自适应参考帧选取需要对待编码的视频进行预分析,难以应用于流媒体编码的情景。
3、基于被参考内容分布的改进参考帧列表排序受待编码视频内容的影响较大,且需要借助额外的参考帧内存辅助处理。
除上述缺点以外,现有的参考内容管理和优化方案都是基于参考帧的。在解码端参考缓冲区(Decoded Picture Buffer,DPB)容量受限的情况下,多参考帧中内容重复,存在冗余,对缓冲区的利用效率不高,限制了视频编码进一步的性能提升。
发明内容
本发明的目的是提供一种基于参考片的视频帧间预测编码方法,通过优化参考内容,特别是去除多参考帧之间的冗余,充分利用解码缓冲区容量,有效提高视频编码的压缩效率。
本发明的目的是通过以下技术方案实现的:
一种基于参考片的视频帧间预测编码方法,包括:
包含单一内容的参考片生成与管理:在当前参考帧将移出短期参考帧列表时,基于当前参考帧上帧内预测块的分布情况,选出包含单一内容的参考片加入到参考片缓冲区;如果参考片缓冲区已满,则依据事先定义的参考片优先级计算方式决定选出的包含单一内容的参考片是否加入到参考片缓冲区;
包含重复内容的参考片生成与管理:检测视频序列中存在的静态、动态和间隔重复的内容,然后根据检测结果对重复内容的块进行高质量编码,再基于高质量编码块的分布情况生成包含重复内容的参考片;包含重复内容的参考片直接加入参考片缓冲区,然后按照参考片优先级比较进行管理;
参考片检索和利用:对于当前待编码CTU,采用直方图匹配的方式从参考片缓冲区中粗选出多个候选的参考片,再采用快速运动估计的方式精选出一个参考片;将选出的参考片采用预定的方式处理后,与视频编码中原有参考帧并列供当前待编码CTU中的编码块参考,编码时将用于标示当前待编码CTU中的编码块是否参考了参考片的标志位,以及若被参考时,参考片在参考片缓冲区的索引编入码流。
所述在当前参考帧将移出短期参考帧列表时,基于当前参考帧上帧内预测块的分布情况,选出包含单一内容的参考片加入到参考片缓冲区的步骤包括:
在当前参考帧将移出短期参考帧列表时,根据指定的参考片大小,构造滑动窗口从上到下、从左到右扫描当前参考帧,找出窗口内帧内预测的块的面积达到最大值的位置;如果该最大值超过指定的阈值,则在对应窗口内的重建图像区域构造一个包含单一内容的参考片;获得的参考片中不仅记录重建图像区域的像素值,且还包括如下信息:窗口的位置、参考片中所有块的量化步长的平均值、当前参考帧在视频序列中的次序、参考片被参考的次数以及参考片的次序;
选出一个包含单一内容的参考片后,将其所处位置的窗口内的帧内预测的块标记为帧间预测,重复以上的扫描过程,直到选不出符合要求的包含单一内容的参考片为止。
所述如果参考片缓冲区已满,则依据事先定义的参考片优先级计算方式决定选出的包含单一内容的参考片是否加入到参考片缓冲区包括:
每生成一个包含单一内容的参考片,就将其加入到参考片缓冲区中,如果参考片缓冲区已满;则依据事先定义的参考片优先级计算方式计算参考片缓冲区中参考片以及选出的包含单一内容的参考片的优先级,计算公式为:
Pc=(QP0-QPc)×NQP+Ic+Trc×Nr;
上式中,Pc为参考片的优先级,QP0是设定的某个常数,QPc是参考片的平均QP值,NQP与Nr均为为指定常数,Ic为参考片的次序,Trc为参考片被编码块参考的次数,为指定常数;
如果选出的包含单一内容的参考片的优先级大于参考片缓冲区中最低优先级参考片的优先级,则用选出的包含单一内容的参考片替换参考片缓冲区中最低优先级的参考片;否则,丢弃选出的包含单一内容的参考片。
所述检测视频序列中存在的静态、动态和间隔重复的内容包括:
不同重复内容的检测单位为编码树单元CTU,在检测到重复内容的CTU之后,预测相应CTU中重复内容的重复次数;具体过程如下:
静态重复内容检测:计算图像中每个CTU内方差的均值,如果当前CTU的均值小于设定的阈值,标记当前CTU为静态重复,并预估静态重复内容的重复次数LA=S×帧率,在此后S秒内,不在包含静态重复内容的CTU处检测动态和间隔性重复的内容;
动态重复内容检测:对于非静态重复的CTU,用CTU的原始像素在其参考帧上的原始像素做运动估计,得到对应的运动矢量和相应的运动估计残差;如果所有的残差值都小于设定的阈值,推断相应的CTU中存在动态重复内容,并假设动态重复内容在一段时间内均匀运动,运动均值MVmean为:
其中,MVi为CTU和它的某个参考帧估计出的运动矢量,di为对应的CTU所在帧与参考帧的时间间隔,N为参考帧的数目;得到运动均值后,再预估动态重复内容的重复次数LB:
LB=min{Lx,Ly};
其中,Lx、Ly分别为水平、垂直方向预估的存在时间,W、H分别为视频序列的宽、高,Cx、Cy分别为当前CTU的横、纵坐标,MVXmean、MVYmean为MVmean的x、y分量;检测到包含动态重复内容的CTU后,在动态重复内容的预估存在时间范围内,不再检测新的动态重复内容;
间隔重复内容检测:在当前参考片被某个CTU参考时,则相应CTU在当前参考片上的快速运动估计的总代价将被记录;同时,当前参考片在快速运动估计时匹配的位置也被记录;如果当前参考片被多次参考,则当前参考片需要保留快速运动估计总代价的均值和匹配位置的并集;编码到第M帧时,对于第M帧上的每个CTU,在参考片缓冲区中进行参考片检索,如果得到的快速运动估计总代价小于当前参考片记录的快速运动估计总代价均值的一定倍数,并且匹配的位置包含当前参考片记录的匹配位置并集的一定倍数,则判断相应CTU的内容与检索到的参考片中的内容存在重复;如果检索到的参考片在编第M帧之前被引用了l次,推断在后续的编码过程中,相似的重复内容还会出现LC次,LC的计算方式如下式所示:
其中,P为视频序列的长度。
所述根据检测结果对重复内容的块进行高质量编码包括:
假设某个重复内容预计将要重复L次,则为相应的重复内容计算最佳编码参数,编码参数的确定也在CTU级确定,如下式所示:
其中,λ是整个视频序列的基本拉格朗日参数,λi是某个重复内容对应的CTU第i次出现时设置的编码参数;确定了编码参数λi之后,对应QPi的根据下面的公式求出:
QPi=4.2005×ln(λi)+13.7122
求出的QPi将作为对应CTU编码时的量化步长;同时,对于使用编码参数λ1的CTU,标记该CTU为高质量编码,并将其QP值编入码流。
所述基于高质量编码块的分布情况生成包含重复内容的参考片;包含重复内容的参考片直接加入参考片缓冲区,然后按照参考片优先级比较进行管理包括:
基于高质量编码CTU的分布情况生成包含重复内容的参考片,其步骤如下:编码完当前帧后,根据指定的参考片大小,构造滑动窗口从上到下、从左到右扫描当前参考帧,找出窗口内进行高质量编码的CTU数量达到最大值的位置;如果该最大值超过指定的阈值,则用窗口内的像素值生成参考片;生成的参考片即为包含重复内容的参考片,其中还包括如下信息:像素值、窗口内所有CTU的平均QP值;重复内容的参考片生成后,将其所处位置的高质量编码标识更改为常规质量编码,继续以上的扫描过程,直到选不出可以生成重复内容的参考片为止;
生成的包含重复内容的参考片直接加入参考片缓存区;方式如下:如果包含重复内容的参考片中,有一个或多个CTU参考了已经有的参考片,则用包含重复内容的参考片替换参考片缓冲区中已经存在的一个参考片,具体被替换的参考片是当前要包含重复内容的参考片中所有CTU选中参考次数最多的那个参考片;否则,用包含重复内容的参考片替换参考片缓冲区中优先级最低的参考片;
之后,参考片缓冲区的包含重复内容的参考片按照参考片优先级比较进行管理。
所述采用直方图匹配的方式从参考片缓冲区中粗选出多个候选的参考片,再采用快速运动估计的方式精选出一个参考片的步骤包括:
直方图匹配:首先计算出当前待编码CTU与参考片缓冲区中所有参考片之间的直方图距离,再采用预定方式选出多个直方图距离较小的参考片作为直方图匹配的结果;
直方图距离的计算方式如下:1)对当前待编码CTU计算其直方图:将当前待编码CTU的亮度分量划分为4个32×32的块,每块统计一个H维的直方图,对U和V两个色度分量,各统计一个H维的直方图;将六个H维直方图拼接形成6H维直方图;2)对参考片缓冲区中每一参考片中的64×64大小的块,以水平与垂直方向间隔若干个像素进行一次采样,对采样的块计算直方图;3)将当前待编码CTU的直方图和参考片所有采样块的直方图进行逐个对比,计算直方图之间的距离,并选择其中最小的距离作为当前待编码CTU和参考片的直方图距离;
快速运动估计:从直方图匹配得到的多个参考片中,使用快速运动估计的方法,选出一个最有可能利用的参考片;当前待编码CTU与每一参考片进行快速运动估计的计算方式如下:将当前CTU划分成固定大小为R×R的小块,每个R×R的块在当前参考片中搜索代价最小的块,其中代价由绝对差、SAD值和运动矢量的编码码率组成;搜索的方式为先由隔五点的光栅扫描确定参考片中搜索的起始点,然后在该起始点周围上下左右一定像素范围内进行八点钻石型搜索;将所有R×R的块的代价累加作为当前待编码CTU在当前参考片上的整体代价,进而筛选出整体代价最小时对应的一个参考片。
所述将选出的参考片采用预定的方式处理为新的参考帧,并将其与视频编码中原有参考帧并列供当前待编码块参考包括:
将选出的参考片按照从参考帧上选取时的位置放置于与参考帧相同大小的白板上;同时,将参考片缓冲区中与选出的参考片处于同一帧的参考片也一起放置在白板上,再将该白板作为一个新的参考帧;
将新的参考帧与视频编码中原有参考帧并列,供当前待编码块编码时使用;其中,当前待编码块在新的参考帧上进行帧间预测编码时,运动估计时搜索的起点定为直方图匹配所找到的最佳位置;运动矢量预测MVP的选取方法如下:检查当前预测单元PU周围五个位置上的块是否采用了参考片,当且仅当采用参考片,且其参考片与当前PU所用的参考片来自同一个参考帧时,则相应位置上的运动矢量MV作为候选MVP;从中按顺序选取两个MVP加入候选MVP列表,若空间位置上得到的可用MVP不足两个,则依次使用从当前待编码块所在的位置指向参考片中心位置的MV和(0,0)填充,填满两个为止。
所述将用于标示当前待编码CTU中的编码块是否参考了参考片的标志位,以及若参考时,参考片在参考片缓冲区的索引编入码流包括:
是否参考参考片的标志位是一个0或1的标志位,标志位采用上下文自适应的二进制算术编码,用到的上下文模型有三个,由当前待编码CTU左边和上边的CTU是否参考参考片来决定,若两个CTU都没有采用参考片预测,则用第一个上下文模型;若其中一个采用了参考片预测,则用第二个上下文模型;若两个都用了参考片,则用第三个上下文模型;
若当前待编码CTU参考了参考片,则参考片在缓冲区的索引使用定长编码,编码长度取决于参考片被参考时参考片缓冲区的参考片数目;
之后,将相应的标志位,与参考片在缓冲区的索引编入码流。
该方法还包括:当前待编码CTU是否进行了高质量编码,以及若进行高质量编码,则高质量编码时的QP相对于正常QP的调整值,需要编入码流;具体如下:
是否进行高质量编码的标志位是一个0或1的标志位,标志位采用上下文自适应的二进制算术编码,用到的上下文模型有三个,由当前待编码CTU左边和上边的CTU是否进行高质量编码来决定,若两个CTU都没有进行高质量编码,则用第一个上下文模型;若其中一个进行高质量编码,则用第二个上下文模型;若两个都进行高质量编码,则用第三个上下文模型;
若进行高质量编码,则高质量编码时的QP相对于正常QP的调整值使用定长编码。
由上述本发明提供的技术方案可以看出,基于参考片的参考内容管理和优化方案,可以在DPB容量受限的条件下收集更多的信息,使得当前编码块可以更大概率的找到匹配块。最终,总体的效果是在略微增加编、解码端复杂度的情况下,有效的提升了视频编码的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种基于参考片的视频帧间预测编码方法的流程图;
图2为本发明实施例提供的生成包含单一内容的参考片的流程图;
图3为本发明实施例提供的生成包含重复内容的参考片的流程图;
图4为本发明实施例提供的参考片检索与利用过程的流程图;
图5为本发明实施例提供的计算当前待编码CTU直方图的示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例提供的一种基于参考片的视频帧间预测编码方法的流程图。如图1所示,其主要包括如下步骤:
步骤1、包含单一内容的参考片生成与管理:在当前参考帧将移出短期参考帧列表时,基于当前参考帧上帧内预测块的分布情况,选出包含单一内容的参考片加入到参考片缓冲区;如果参考片缓冲区已满,则依据事先定义的参考片优先级计算方式决定选出的包含单一内容的参考片是否加入到参考片缓冲区;
步骤2、包含重复内容的参考片生成与管理:检测视频序列中存在的静态、动态和间隔重复的内容,然后根据检测结果对重复内容的块进行高质量编码,再基于高质量编码块的分布情况生成包含重复内容的参考片;包含重复内容的参考片直接加入参考片缓冲区,然后按照参考片优先级比较进行管理;
步骤3、参考片检索和利用:对于当前待编码CTU(编码树单元),采用直方图匹配的方式从参考片缓冲区中粗选出多个候选的参考片,再采用快速运动估计的方式精选出一个参考片;将选出的参考片采用预定的方式处理为新的参考帧,并将其与视频编码中原有的参考帧并列供当前待编码CTU中的编码块参考,编码时将用于标示当前待编码CTU中的编码块是否参考了参考片的标志位,以及若被参考时,参考片在参考片缓冲区的索引编入码流。
为了便于理解,下面针对这三个过程做详细说明。
一、包含单一内容的参考片生成与管理。
该过程主要包括:生成包含单一内容的参考片;管理包含单一内容的参考片;具体如下:
1、生成包含单一内容的参考片。
如图2所示,生成包含单一内容的参考片过程如下:在当前参考帧将移出短期参考帧列表时,根据指定的参考片大小,构造滑动窗口从上到下、从左到右扫描当前参考帧,找出窗口内帧内预测的块的面积达到最大值的位置;如果该最大值超过指定的阈值,则在对应窗口内的重建图像区域构造一个包含单一内容的参考片;获得的参考片不仅记录重建图像区域的像素值,还包括如下信息:窗口的位置、参考片中所有块的量化步长(Quantization Parameter,QP)的平均值、当前参考帧在视频序列中的次序(PictureOrder Count,POC)、参考片被参考的次数以及参考片的次序;
选出一个包含单一内容的参考片后,将其所处位置的窗口内的帧内预测的块标记为帧间预测,重复以上的扫描过程,直到选不出符合要求的包含单一内容的参考片为止。
示例性的,针对当前参考帧在不同分辨率图像下的参考片数目及大小的配置方案如表1所示。
图像分辨率 | 参考片大小 | 参考片数目 |
416*240 | 80*80 | 16 |
832*480 | 112*112 | 32 |
1024*768 | 112*112 | 64 |
1280*720 | 120*120 | 64 |
1920*1080 | 256*256 | 64 |
表1不同分辨率图像下的参考片数目及大小的配置方案
2、管理包含单一内容的参考片。
每生成一个包含单一内容的参考片,就将其加入到参考片缓冲区中。
如果参考片缓冲区中还有空闲位置,则可直接将上一过程选出的包含单一内容的参考片直接放入。
如果参考片缓冲区已满,则需要依据事先定义的参考片优先级计算方式计算参考片缓冲区中参考片以及选出的包含单一内容的参考片的优先级,计算公式为:
Pc=(QP0-QPc)×NQP+Ic+Trc×Nr;
上式中,Pc为参考片的优先级,QP0是设定的某个常数,QPc是参考片的平均QP值,NQP与Nr均为指定常数,Ic为参考片的次序,Trc为参考片被编码块参考的次数。需要说明的是,在参考片放入缓冲区时,它的次序Ic是当前缓冲区中已经有的参考片数目加1(即第一个放入缓冲区的参考片次序为1,以此类推);如果参考片在编码过程中被选中参考的时候,它的次序会更新为此时缓冲区中次序最大参考片的次序加1。另外,当参考片新放入缓冲区时,它的被参考次数Trc设为0,此后,当参考片在编码过程中被选中参考时,它的被参考次数对应增加1。
之后,再通过比较参考片缓冲区中最低优先级的参考片与新的包含单一内容的参考片的优先级相对高低,来决定是否将新的包含单一内容的参考片放入参考片缓冲区。如果选出的包含单一内容的参考片的优先级大于参考片缓冲区中最低优先级参考片的优先级,则用选出的包含单一内容的参考片替换参考片缓冲区中最低优先级的参考片;否则,丢弃选出的包含单一内容的参考片。
二、包含重复内容的参考片生成与管理
该过程主要包括:生成包含重复内容的参考片;管理包含重复内容的参考片;具体如下:
1、生成包含重复内容的参考片。
通常,视频序列中存在大量重复的内容,本发明提出将视频序列中的重复内容检测出来,进行高质量编码并保存在参考片中供后续编码参考,包含重复内容的参考片生成流程图如图3所示,主要包括三个部分:1)重复内容检测;2)编码参数确定;3)生成包含重复内容的参考片;这三个部分的具体过程如下:
1)重复内容检测。
本发明实施例中,将视频序列中的重复内容分为三类:静态重复内容、动态重复内容、间隔重复内容。下文将介绍,针对不同情况的重复内容,所采用的相应检测方案。在这些检测方案中所采用的检测单位为HEVC中的编码树单元(coding tree unit,CTU),在检测到重复内容CTU之后,还会预测该CTU的重复次数。
a、静态重复内容检测:视频序列中的静态重复内容,如会议序列中的背景,往往会在视频中的固定空间位置重复一段时间。在编码的过程中,基于当前帧的原始像素和它参考帧的原始像素可以得到每一个像素位置处的方差。随着编码的进行,收集多组连续的方差,并用同一位置像素处方差的均值作为检测静态重复内容的依据。计算图像中每个CTU内方差的均值,如果当前CTU的均值小于设定的阈值,标记当前CTU为静态重复,并预估静态重复内容的重复次数LA=S×帧率,在此后S秒内,不在包含静态重复内容的CTU处检测动态和间隔性重复的内容。示例性的,此处可以设置S=10,也就是假设静态重复10秒。
b、动态重复内容检测:视频序列中的动态重复内容,如随着镜头移动而改变的背景和在视频中移动的人物等,基于运动估计的方式检测。对于非静态重复的CTU,用CTU的原始像素在其参考帧上的原始像素做运动估计,得到对应的运动矢量和相应的运动估计残差;如果所有的残差值都小于设定的阈值,推断相应的CTU中存在动态重复内容,并假设动态重复内容在一段时间内均匀运动,运动均值MVmean为:
其中,MVi为CTU和它的某个参考帧估计出的运动矢量,di为对应的CTU所在帧与参考帧的时间间隔,N为参考帧的数目;得到运动均值后,再预估动态重复内容的重复次数LB:
LB=min{Lx,Ly};
其中,Lx、Ly分别为水平、垂直方向预估的存在时间,W、H分别为视频序列的宽、高,Cx、Cy分别为当前CTU的横、纵坐标,MVXmean、MVYmean为MVmean的x、y分量;检测到包含动态重复内容的CTU后,在动态重复内容的预估存在时间范围内,不再检测新的动态重复内容;
c、间隔重复内容检测:与静态重复内容和动态重复内容在视频序列中持续出现不同,间隔性重复内容一般在其短期参考帧范围内找不到匹配,本发明基于参考片来检测间隔性重复的内容。在当前参考片被某个CTU参考时,则相应CTU在当前参考片上的快速运动估计的总代价将被记录(快速运动估计过程将在后文进行介绍);同时,当前参考片在快速运动估计时匹配的位置也被记录;如果当前参考片被多次参考,则当前参考片需要保留快速运动估计总代价的均值和匹配位置的并集;编码到第M帧时,对于第M帧上的每个CTU,在参考片缓冲区中进行参考片检索,如果得到的快速运动估计总代价小于当前参考片记录的快速运动估计总代价均值的一定倍数,并且匹配的位置包含当前参考片记录的匹配位置并集的一定倍数,则判断相应CTU的内容与检索到的参考片中的内容存在重复;如果检索到的参考片在编第M帧之前被引用了l次,推断在后续的编码过程中,相似的重复内容还会出现LC次,LC的计算方式如下式所示:
其中,P为视频序列的长度。
2)编码参数确定。
假设某个重复内容预计将要重复L次,则为相应的重复内容计算最佳编码参数,编码参数的确定也在CTU级确定,如下式所示:
其中,λ是整个视频序列的基本拉格朗日参数,λi是某个重复内容对应的CTU第i次出现时设置的编码参数;从上面第一个式子来看,λ1也就是某个重复内容对应的CTU第1次出现时设置的编码参数较低,而从第2次开始就采用第二个式子,也即是等于正常的参数。
确定了编码参数λi之后,对应QPi的根据下面的公式求出:
QPi=4.2005×ln(λi)+13.7122
之后,可以将求出的QPi将作为对应CTU编码时的量化步长;同时,对于使用编码参数λ1的CTU,标记该CTU为高质量编码,并将其QP值编入码流。
3)生成包含重复内容的参考片。
本发明实施例中,基于高质量编码CTU的分布情况生成包含重复内容的参考片,其生成过程与前文所介绍的包含单一内容的参考片类似;具体如下:
编码完当前帧后,根据指定的参考片大小,构造滑动窗口从上到下、从左到右扫描当前参考帧,找出窗口内进行高质量编码的CTU数量达到最大值的位置;如果该最大值超过指定的阈值,则用窗口内的像素值生成参考片;生成的参考片即为包含重复内容的参考片,其中包括的信息与单一内容参考片的信息一样,例如像素值、窗口内所有CTU的平均QP值等;重复内容的参考片生成后,将其所处位置的高质量编码标识更改为常规质量编码,重复以上的扫描过程,直到选不出可以生成重复内容的参考片为止;
生成的包含重复内容的参考片直接加入参考片缓存区。方式如下:如果包含重复内容的参考片中,有一个或多个CTU参考了已经有的参考片,则用包含重复内容的参考片替换参考片缓冲区中已经存在的一个参考片,具体被替换的参考片是当前要包含重复内容的参考片中所有CTU选中参考次数最多的那个参考片;否则,用包含重复内容的参考片替换参考片缓冲区中优先级最低的参考片。
2、管理包含重复内容的参考片。
参考片缓冲区的包含重复内容的参考片,按照前文所述参考片优先级的计算方式,计算其优先级,并与单一内容参考片同样进行管理。
三、参考片检索和利用。
当参考片缓冲区中已存在若干个参考片时,编码某个块,就可以利用参考片进行帧间预测。参考片检索与利用过程的流程图如图4所示,主要由三个部分组成:参考片检索、编码选择率失真优化(Rate Distortion Optimization,RDO)、以及针对参考片的句法结构,下面分别介绍。
1、参考片检索
由于参考片缓冲区的参考片数量可能较多,逐个进行运动估计会显著增加编码端的复杂度,所以本发明实施例中,首先采用直方图匹配和快速运动估计的方法检索出一个最有可能利用的参考片,然后在检索出的参考片上做进一步运动估计。直方图匹配和快速运动估计的具体做法如下。
直方图匹配:首先计算出当前待编码CTU与参考片缓冲区中所有参考片之间的直方图距离,再采用预定方式选出多个直方图距离较小的参考片作为直方图匹配的结果。示例性的,计算出所有直方图距离后,可以按照由大到小顺序依次排序,再从排序中末尾选出多个直方图距离作为直方图匹配的结果。
直方图距离的计算方式如下:1)对当前待编码CTU计算其直方图:将当前待编码CTU的亮度分量划分为4个32×32的块,每块统计一个H维的直方图,对U和V两个色度分量,各统计一个H维的直方图;将六个H维直方图拼接形成6H维直方图,上述过程可参见图5;2)对参考片缓冲区中每一参考片中的64×64大小的块,以水平与垂直方向间隔若干个像素进行一次采样,对采样的块计算直方图;3)将当前待编码CTU的直方图和参考片所有采样块的直方图进行逐个对比,计算直方图之间的距离,并选择其中最小的距离作为当前待编码CTU和参考片的直方图距离。示例性的,上述H可设为32。
快速运动估计:从直方图匹配得到的多个参考片中,使用快速运动估计的方法,选出一个最有可能利用的参考片;当前待编码CTU与每一参考片进行快速运动估计的计算方式如下:将当前CTU划分成固定大小为R×R的小块,每个R×R的块在当前参考片中搜索代价最小的块,其中代价由绝对差和(Sum of Absolute Difference,SAD)值和运动矢量的编码码率组成;搜索的方式为先由隔五点的光栅扫描确定参考片中搜索的起始点,然后在该起始点周围上下左右一定像素范围内(例如:64像素范围内)进行八点钻石型搜索;将所有R×R的块的代价累加作为当前待编码CTU在当前参考片上的整体代价,进而筛选出整体代价最小时对应的一个参考片。同时,这个代价还将记录下来作为间隔重复内容检测的依据。示例性的,上述R可设为16。
2、编码选择RDO
检索出参考片之后,将选出的参考片按照从参考帧上选取时的空间位置放置于与参考帧相同大小的白板上;同时,将参考片缓冲区中与选出的参考片处于同一帧的参考片也一起放置在白板上,再将该白板作为一个新的参考帧,与视频编码中原有的参考帧并列,供当前待编码CTU中的块编码时使用。
当前待编码块在视频编码中原有的参考帧上进行帧间预测编码时,采用原有的方式。而在新的参考帧上进行帧间预测编码时,与原有参考帧的方式有如下的区别:运动估计时搜索的起点定为前文所述直方图匹配所找到的最佳位置;运动矢量预测MVP的选取方法如下:检查当前预测单元(prediction unit,PU)周围五个位置上的块是否采用了参考片(单一内容的或者是重复内容的均可),当且仅当采用参考片,且其参考片与当前PU所用的参考片来自同一个参考帧时,则相应位置上的运动矢量MV作为候选MVP;从中按原有的方式指定的顺序选取两个MVP加入候选MVP列表,若空间位置上得到的可用MVP不足两个,则依次使用从当前待编码块所在的CTU的位置指向参考片中心位置的MV和(0,0)填充,填满两个为止。
3、针对参考片的句法结构
这一过程主要与编码相关;某一个待编码CTU是否参考了新的参考帧,若参考了,则认为待编码CTU参考了新的参考帧对应的参考片,编码时参考片在参考片缓冲区的索引,都需要编入码流。
首先,是否参考参考片的标志位是一个0或1的标志位,标志位采用上下文自适应的二进制算术编码(Context Adaptive Binary Arithmetic Coding,CABAC),用到的上下文模型有三个,由当前待编码CTU左边和上边的CTU是否参考参考片来决定,若两个CTU都没有采用参考片预测,则用第一个上下文模型;若其中一个采用了参考片预测,则用第二个上下文模型;若两个都用了参考片,则用第三个上下文模型;若当前待编码CTU参考了参考片,则参考片在缓冲区的索引使用定长编码,编码长度取决于参考片被参考时参考片缓冲区的参考片数目;例如,5-8个参考片时用3个码位(bits),9-16个参考片时用4个bits,以此类推。之后,将相应的标志位,与参考片在缓冲区的索引编入码流。
本领域技术人员可以理解,一个CTU可以分解为多个块进行编码,直方图匹配和快速运动估计是对CTU做的,可以对每个CTU找出一个参考片。然后,在对这个CTU的下属的多个编码块进行编码选择RDO时,可以采用视频编码中原有的参考帧,也可以利用参考片生成的新的参考帧。最后,这个CTU的所有编码块全部做完RDO之后,进行实际的编码,如果这个CTU中有至少一个编码块选用了新的参考帧,则认为这个CTU参考了参考片,编一个标志位1,并编码选中参考片的索引;否则,说明这个CTU没有选择参考片,编一个标志位0。
此外,当前待编码CTU是否进行了高质量编码,以及若进行高质量编码,则高质量编码时的QP相对于正常QP的调整值,需要编入码流;具体如下:是否进行高质量编码的标志位是一个0或1的标志位,标志位采用上下文自适应的二进制算术编码,用到的上下文模型有三个,由当前待编码CTU左边和上边的CTU是否进行高质量编码来决定,若两个CTU都没有进行高质量编码,则用第一个上下文模型;若其中一个进行高质量编码,则用第二个上下文模型;若两个都进行高质量编码,则用第三个上下文模型;若进行高质量编码,则高质量编码时的QP相对于正常QP的调整值使用定长编码。
本领域技术人员可以理解,前文所提到的上下文模型是指用于算术编码的概率预测模型,与视频编码中通用的上下文模型类似。
另一方面,为了说明上述方案的效果,还基于上述方案进行了测试。测试条件包括:帧间配置(低延时B即Low-delay B,LDB;低延时P即Low-delay P,LDP),基本量化步长(QP)设置为{22,27,32,37},基于的软件是HM16.7,测试序列为HEVC通测序列中的B-F五类。基线设为:HM16.7使用5个参考帧,对比方案设为HM使用4个参考帧加上等价于1个参考帧所用内存的若干个参考片,其中不同分辨率下1个参考帧等价的参考片数目及大小见可以参见前文的表1。实验结果见下表2~3,其中表2为LDB、LDP设置下的性能对比,表3为LDB、LDP设置下的编解码端复杂度对比。可以看出,所提方案相对于基线在LDB和LDP模式下可分别获得5.1%和5.0%的码率节省,并且编解码端的复杂度没有明显增加。
表2 LDB、LDP设置下的性能对比
Mode | LDB | LDP |
Encoding Time | 129% | 142% |
Decoding Time | 124% | 123% |
表3 LDB、LDP设置下的编解码端复杂度对比
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种基于参考片的视频帧间预测编码方法,其特征在于,包括:
包含单一内容的参考片生成与管理:在当前参考帧将移出短期参考帧列表时,基于当前参考帧上帧内预测块的分布情况,选出包含单一内容的参考片加入到参考片缓冲区;如果参考片缓冲区已满,则依据事先定义的参考片优先级计算方式决定选出的包含单一内容的参考片是否加入到参考片缓冲区;
包含重复内容的参考片生成与管理:检测视频序列中存在的静态、动态和间隔重复的内容,然后根据检测结果对重复内容的块进行高质量编码,再基于高质量编码块的分布情况生成包含重复内容的参考片;包含重复内容的参考片直接加入参考片缓冲区,然后按照参考片优先级比较进行管理;
参考片检索和利用:对于当前待编码CTU,采用直方图匹配的方式从参考片缓冲区中粗选出多个候选的参考片,再采用快速运动估计的方式精选出一个参考片;将精选出的参考片采用预定的方式处理后,与视频编码中原有参考帧并列供当前待编码CTU中的编码块参考,编码时将用于标示当前待编码CTU中的编码块是否参考了精选出的参考片的标志位,以及若被参考时,精选出的参考片在参考片缓冲区的索引编入码流;
所述如果参考片缓冲区已满,则依据事先定义的参考片优先级计算方式决定选出的包含单一内容的参考片是否加入到参考片缓冲区包括:
每生成一个包含单一内容的参考片,就将其加入到参考片缓冲区中,如果参考片缓冲区已满;则依据事先定义的参考片优先级计算方式计算参考片缓冲区中参考片以及选出的包含单一内容的参考片的优先级,计算公式为:
Pc=(QP0-QPc)×NQP+Ic+Trc×Nr;
上式中,Pc为参考片的优先级,QP0是设定的某个常数,QPc是参考片的平均QP值,NQP与Nr均为为指定常数,Ic为参考片的次序,Trc为参考片被编码块参考的次数,为指定常数;
如果选出的包含单一内容的参考片的优先级大于参考片缓冲区中最低优先级参考片的优先级,则用选出的包含单一内容的参考片替换参考片缓冲区中最低优先级的参考片;否则,丢弃选出的包含单一内容的参考片;
所述根据检测结果对重复内容的块进行高质量编码包括:
假设某个重复内容预计将要重复L次,则为相应的重复内容计算最佳编码参数,编码参数的确定也在CTU级确定,如下式所示:
其中,LA为静态重复内容的重复次数,LB为动态重复内容的重复次数,LC为间隔重复内容的重复次数,λ是整个视频序列的基本拉格朗日参数,λi是某个重复内容对应的CTU第i次出现时设置的编码参数;确定了编码参数λi之后,对应QPi的根据下面的公式求出:
QPi=4.2005×ln(λi)+13.7122
求出的QPi将作为对应CTU编码时的量化步长;同时,对于使用编码参数λ1的CTU,标记该CTU为高质量编码,并将其QP值编入码流;
将精选出的参考片采用预定的方式处理包括:将精选出的参考片按照从参考帧上选取时的位置放置于与参考帧相同大小的白板上;同时,将参考片缓冲区中与精选出的参考片处于同一帧的参考片也一起放置在白板上,再将该白板作为一个新的参考帧。
2.根据权利要求1所述的一种基于参考片的视频帧间预测编码方法,其特征在于,所述在当前参考帧将移出短期参考帧列表时,基于当前参考帧上帧内预测块的分布情况,选出包含单一内容的参考片加入到参考片缓冲区的步骤包括:
在当前参考帧将移出短期参考帧列表时,根据指定的参考片大小,构造滑动窗口从上到下、从左到右扫描当前参考帧,找出窗口内帧内预测的块的面积达到最大值的位置;如果该最大值超过指定的阈值,则在对应窗口内的重建图像区域构造一个包含单一内容的参考片;获得的参考片中不仅记录重建图像区域的像素值,且还包括如下信息:窗口的位置、参考片中所有块的量化步长的平均值、当前参考帧在视频序列中的次序、参考片被参考的次数以及参考片的次序;
选出一个包含单一内容的参考片后,将其所处位置的窗口内的帧内预测的块标记为帧间预测,重复以上的扫描过程,直到选不出符合要求的包含单一内容的参考片为止。
3.根据权利要求1所述的一种基于参考片的视频帧间预测编码方法,其特征在于,所述检测视频序列中存在的静态、动态和间隔重复的内容包括:
不同重复内容的检测单位为编码树单元CTU,在检测到重复内容的CTU之后,预测相应CTU中重复内容的重复次数;具体过程如下:
静态重复内容检测:计算图像中每个CTU内方差的均值,如果当前CTU的均值小于设定的阈值,标记当前CTU为静态重复,并预估静态重复内容的重复次数LA=S×帧率,在此后S秒内,不在包含静态重复内容的CTU处检测动态和间隔性重复的内容;
动态重复内容检测:对于非静态重复的CTU,用CTU的原始像素在其参考帧上的原始像素做运动估计,得到对应的运动矢量和相应的运动估计残差;如果所有的残差值都小于设定的阈值,推断相应的CTU中存在动态重复内容,并假设动态重复内容在一段时间内均匀运动,运动均值MVmean为:
<mrow>
<msub>
<mi>MV</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mi>N</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mfrac>
<mrow>
<msub>
<mi>MV</mi>
<mi>i</mi>
</msub>
</mrow>
<msub>
<mi>d</mi>
<mi>i</mi>
</msub>
</mfrac>
</mrow>
其中,MVi为CTU和它的某个参考帧估计出的运动矢量,di为对应的CTU所在帧与参考帧的时间间隔,N为参考帧的数目;得到运动均值后,再预估动态重复内容的重复次数LB:
LB=min{Lx,Ly};
<mrow>
<msub>
<mi>L</mi>
<mi>x</mi>
</msub>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mi>W</mi>
<mo>-</mo>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
</mrow>
<mrow>
<mo>-</mo>
<msub>
<mi>MVX</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mi>M</mi>
<mi>V</mi>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
<mo><</mo>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mfrac>
<msub>
<mi>C</mi>
<mi>x</mi>
</msub>
<mrow>
<msub>
<mi>MVX</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mi>M</mi>
<mi>V</mi>
<msub>
<mi>X</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>></mo>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
<mrow>
<msub>
<mi>L</mi>
<mi>y</mi>
</msub>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mfrac>
<mrow>
<mi>H</mi>
<mo>-</mo>
<msub>
<mi>C</mi>
<mi>y</mi>
</msub>
</mrow>
<mrow>
<mo>-</mo>
<msub>
<mi>MVY</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mi>M</mi>
<mi>V</mi>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
<mo><</mo>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mfrac>
<msub>
<mi>C</mi>
<mi>y</mi>
</msub>
<mrow>
<msub>
<mi>MVY</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mi>M</mi>
<mi>V</mi>
<msub>
<mi>Y</mi>
<mrow>
<mi>m</mi>
<mi>e</mi>
<mi>a</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>></mo>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
</mrow>
其中,Lx、Ly分别为水平、垂直方向预估的存在时间,W、H分别为视频序列的宽、高,Cx、Cy分别为当前CTU的横、纵坐标,MVXmean、MVYmean为MVmean的x、y分量;检测到包含动态重复内容的CTU后,在动态重复内容的预估存在时间范围内,不再检测新的动态重复内容;
间隔重复内容检测:在当前参考片被某个CTU参考时,则相应CTU在当前参考片上的快速运动估计的总代价将被记录;同时,当前参考片在快速运动估计时匹配的位置也被记录;如果当前参考片被多次参考,则当前参考片需要保留快速运动估计总代价的均值和匹配位置的并集;编码到第M帧时,对于第M帧上的每个CTU,在参考片缓冲区中进行参考片检索,如果得到的快速运动估计总代价小于当前参考片记录的快速运动估计总代价均值的一定倍数,并且匹配的位置包含当前参考片记录的匹配位置并集的一定倍数,则判断相应CTU的内容与检索到的参考片中的内容存在重复;如果检索到的参考片在编第M帧之前被引用了l次,推断在后续的编码过程中,相似的重复内容还会出现LC次,LC的计算方式如下式所示:
<mrow>
<msub>
<mi>L</mi>
<mi>C</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>l</mi>
<mi>M</mi>
</mfrac>
<mo>&times;</mo>
<mrow>
<mo>(</mo>
<mi>P</mi>
<mo>-</mo>
<mi>M</mi>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
其中,P为视频序列的长度。
4.根据权利要求1所述的一种基于参考片的视频帧间预测编码方法,其特征在于,所述基于高质量编码块的分布情况生成包含重复内容的参考片;包含重复内容的参考片直接加入参考片缓冲区,然后按照参考片优先级比较进行管理包括:
基于高质量编码CTU的分布情况生成包含重复内容的参考片,其步骤如下:编码完当前帧后,根据指定的参考片大小,构造滑动窗口从上到下、从左到右扫描当前参考帧,找出窗口内进行高质量编码的CTU数量达到最大值的位置;如果该最大值超过指定的阈值,则用窗口内的像素值生成参考片;生成的参考片即为包含重复内容的参考片,其中还包括如下信息:像素值、窗口内所有CTU的平均QP值;重复内容的参考片生成后,将其所处位置的高质量编码标识更改为常规质量编码,继续以上的扫描过程,直到选不出可以生成重复内容的参考片为止;
生成的包含重复内容的参考片直接加入参考片缓存区;方式如下:如果包含重复内容的参考片中,有一个或多个CTU参考了已经有的参考片,则用包含重复内容的参考片替换参考片缓冲区中已经存在的一个参考片,具体被替换的参考片是当前要包含重复内容的参考片中所有CTU选中参考次数最多的那个参考片;否则,用包含重复内容的参考片替换参考片缓冲区中优先级最低的参考片;
之后,参考片缓冲区的包含重复内容的参考片按照参考片优先级比较进行管理。
5.根据权利要求1所述的一种基于参考片的视频帧间预测编码方法,其特征在于,所述采用直方图匹配的方式从参考片缓冲区中粗选出多个候选的参考片,再采用快速运动估计的方式精选出一个参考片的步骤包括:
直方图匹配:首先计算出当前待编码CTU与参考片缓冲区中所有参考片之间的直方图距离,再采用预定方式选出多个直方图距离较小的参考片作为直方图匹配的结果;
直方图距离的计算方式如下:1)对当前待编码CTU计算其直方图:将当前待编码CTU的亮度分量划分为4个32×32的块,每块统计一个H维的直方图,对U和V两个色度分量,各统计一个H维的直方图;将六个H维直方图拼接形成6H维直方图;2)对参考片缓冲区中每一参考片中的64×64大小的块,以水平与垂直方向间隔若干个像素进行一次采样,对采样的块计算直方图;3)将当前待编码CTU的直方图和参考片所有采样块的直方图进行逐个对比,计算直方图之间的距离,并选择其中最小的距离作为当前待编码CTU和参考片的直方图距离;
快速运动估计:从直方图匹配得到的多个参考片中,使用快速运动估计的方法,选出一个最有可能利用的参考片;当前待编码CTU与每一参考片进行快速运动估计的计算方式如下:将当前CTU划分成固定大小为R×R的小块,每个R×R的块在当前参考片中搜索代价最小的块,其中代价由绝对差、SAD值和运动矢量的编码码率组成;搜索的方式为先由隔五点的光栅扫描确定参考片中搜索的起始点,然后在该起始点周围上下左右一定像素范围内进行八点钻石型搜索;将所有R×R的块的代价累加作为当前待编码CTU在当前参考片上的整体代价,进而筛选出整体代价最小时对应的一个参考片。
6.根据权利要求1或5所述的一种基于参考片的视频帧间预测编码方法,其特征在于,将精选出的参考片采用预定的方式处理为新的参考帧,并将其与视频编码中原有参考帧并列供当前待编码块参考包括:
将新的参考帧与视频编码中原有参考帧并列,供当前待编码块编码时使用;其中,当前待编码块在新的参考帧上进行帧间预测编码时,运动估计时搜索的起点定为直方图匹配所找到的最佳位置;运动矢量预测MVP的选取方法如下:检查当前预测单元PU周围五个位置上的块是否采用了参考片,当且仅当采用参考片,且其参考片与当前PU所用的参考片来自同一个参考帧时,则相应位置上的运动矢量MV作为候选MVP;从中按顺序选取两个MVP加入候选MVP列表,若空间位置上得到的可用MVP不足两个,则依次使用从当前待编码块所在的位置指向参考片中心位置的MV和(0,0)填充,填满两个为止。
7.根据权利要求1所述的一种基于参考片的视频帧间预测编码方法,其特征在于,所述将用于标示当前待编码CTU中的编码块是否参考了精选出的参考片的标志位,以及若参考时,精选出的参考片在参考片缓冲区的索引编入码流包括:
是否参考精选出的参考片的标志位是一个0或1的标志位,标志位采用上下文自适应的二进制算术编码,用到的上下文模型有三个,由当前待编码CTU左边和上边的CTU是否参考参考片来决定,若两个CTU都没有采用参考片预测,则用第一个上下文模型;若其中一个采用了参考片预测,则用第二个上下文模型;若两个都用了参考片,则用第三个上下文模型;
若当前待编码CTU参考了精选出的参考片,则精选出的参考片在缓冲区的索引使用定长编码,编码长度取决于精选出的参考片被参考时参考片缓冲区的参考片数目;
之后,将相应的标志位,与精选出的参考片在缓冲区的索引编入码流。
8.根据权利要求7所述的一种基于参考片的视频帧间预测编码方法,其特征在于,该方法还包括:当前待编码CTU是否进行了高质量编码,以及若进行高质量编码,则高质量编码时的QP相对于正常QP的调整值,需要编入码流;具体如下:
是否进行高质量编码的标志位是一个0或1的标志位,标志位采用上下文自适应的二进制算术编码,用到的上下文模型有三个,由当前待编码CTU左边和上边的CTU是否进行高质量编码来决定,若两个CTU都没有进行高质量编码,则用第一个上下文模型;若其中一个进行高质量编码,则用第二个上下文模型;若两个都进行高质量编码,则用第三个上下文模型;
若进行高质量编码,则高质量编码时的QP相对于正常QP的调整值使用定长编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610979281.9A CN106507106B (zh) | 2016-11-08 | 2016-11-08 | 基于参考片的视频帧间预测编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610979281.9A CN106507106B (zh) | 2016-11-08 | 2016-11-08 | 基于参考片的视频帧间预测编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106507106A CN106507106A (zh) | 2017-03-15 |
CN106507106B true CN106507106B (zh) | 2018-03-06 |
Family
ID=58323882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610979281.9A Active CN106507106B (zh) | 2016-11-08 | 2016-11-08 | 基于参考片的视频帧间预测编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106507106B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2767993C1 (ru) * | 2018-05-16 | 2022-03-22 | Хуавей Текнолоджиз Ко., Лтд. | Устройство и способ кодирования видео |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107295334B (zh) * | 2017-08-15 | 2019-12-03 | 电子科技大学 | 自适应的参考图像抉择方法 |
CN109640089B (zh) * | 2018-11-02 | 2023-03-24 | 西安万像电子科技有限公司 | 图像编解码方法及装置 |
EP3886438A4 (en) | 2018-12-24 | 2022-01-19 | Huawei Technologies Co., Ltd. | FLAG BIT CONTEXT MODELING METHOD AND APPARATUS |
CN111464810A (zh) * | 2020-04-09 | 2020-07-28 | 上海眼控科技股份有限公司 | 视频预测方法、装置、计算机设备和计算机可读存储介质 |
CN111901597B (zh) * | 2020-08-05 | 2022-03-25 | 杭州当虹科技股份有限公司 | 一种基于视频复杂度的cu级qp分配算法 |
CN114882390B (zh) * | 2022-03-15 | 2024-05-28 | 北京工业大学 | Vvc编码标准中基于ctu直方图的视频帧类型决策方法 |
CN117615129B (zh) * | 2024-01-23 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 帧间预测方法、装置、计算机设备及存储介质 |
CN118972582B (zh) * | 2024-10-11 | 2025-01-07 | 浙江大华技术股份有限公司 | 一种视频编码方法、装置、设备、介质和计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101461242A (zh) * | 2006-03-30 | 2009-06-17 | Lg电子株式会社 | 用于解码/编码视频信号的方法和装置 |
CN102067608A (zh) * | 2008-06-25 | 2011-05-18 | 高通股份有限公司 | 用于视频译码的时间压缩中的片段化参考 |
CN102461171A (zh) * | 2009-05-01 | 2012-05-16 | 汤姆森特许公司 | 三维视频的参考画面列表 |
CN104768017A (zh) * | 2014-01-03 | 2015-07-08 | 联发科技股份有限公司 | 视频编码方法 |
CN104811729A (zh) * | 2015-04-23 | 2015-07-29 | 湖南大目信息科技有限公司 | 一种视频多参考帧编码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI530161B (zh) * | 2011-06-07 | 2016-04-11 | Sony Corp | Image processing apparatus and method |
JP5955391B2 (ja) * | 2011-09-29 | 2016-07-20 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 参照ピクチャリストの取り扱い |
-
2016
- 2016-11-08 CN CN201610979281.9A patent/CN106507106B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101461242A (zh) * | 2006-03-30 | 2009-06-17 | Lg电子株式会社 | 用于解码/编码视频信号的方法和装置 |
CN102067608A (zh) * | 2008-06-25 | 2011-05-18 | 高通股份有限公司 | 用于视频译码的时间压缩中的片段化参考 |
CN102461171A (zh) * | 2009-05-01 | 2012-05-16 | 汤姆森特许公司 | 三维视频的参考画面列表 |
CN104768017A (zh) * | 2014-01-03 | 2015-07-08 | 联发科技股份有限公司 | 视频编码方法 |
CN104811729A (zh) * | 2015-04-23 | 2015-07-29 | 湖南大目信息科技有限公司 | 一种视频多参考帧编码方法 |
Non-Patent Citations (6)
Title |
---|
A Unified framework of hash-based matching for screen content coding;bli li等;《IEEE》;20140817;全文 * |
spatially scalable video coding for hevc;zhongbo shi等;《IEEE》;20121011;全文 * |
steganography in modern smartphones and mitigation techniques;wojciech等;《IEEE》;20150325;全文 * |
weighted rate-distortion optimization for screen content coding;WEIXIAO等;《IEEE》;20160123;全文 * |
基于模型的编码;吴峰等;《计算机学报》;19991231;全文 * |
渐进、精细的可伸缩性视频编码;吴峰等;《计算机学报》;20001231;全文 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2767993C1 (ru) * | 2018-05-16 | 2022-03-22 | Хуавей Текнолоджиз Ко., Лтд. | Устройство и способ кодирования видео |
Also Published As
Publication number | Publication date |
---|---|
CN106507106A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106507106B (zh) | 基于参考片的视频帧间预测编码方法 | |
US11889072B2 (en) | Video encoding and decoding | |
CN107147911B (zh) | 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置 | |
JP6073405B2 (ja) | 映像復号化方法及び装置 | |
TWI466549B (zh) | 運動預測方法 | |
CN103188496B (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
EP1022667A2 (en) | Methods of feature extraction of video sequences | |
CN108322745B (zh) | 一种基于不可分二次变换模式的帧内快速选择方法 | |
CN106131546B (zh) | 一种提前确定hevc合并和跳过编码模式的方法 | |
CN103098467A (zh) | 用于对运动矢量进行编码和解码的方法和设备 | |
CN103248893A (zh) | 从h.264/avc标准到hevc标准的快速帧间转码方法及其转码器 | |
CN109104609A (zh) | 一种融合hevc压缩域和像素域的镜头边界检测方法 | |
CN104796694A (zh) | 基于视频纹理信息的优化帧内视频编码方法 | |
CN107079165A (zh) | 使用预测残差的视频编码方法及装置 | |
CN103596004A (zh) | Hevc中基于数学统计和分类训练的帧内预测方法及装置 | |
CN107318016A (zh) | 一种基于零块分布的hevc帧间预测模式快速判定方法 | |
CN104811729B (zh) | 一种视频多参考帧编码方法 | |
CN103384324A (zh) | 一种avs-m视频编码快速亚像素运动估计方法 | |
CN110062243A (zh) | 一种基于近邻优化的光场视频运动估计方法 | |
CN101588487A (zh) | 一种视频帧内预测编码方法 | |
CN108322743B (zh) | 一种基于模式依赖特性的不可分二次变换模式的帧内快速选择方法 | |
KR101507997B1 (ko) | 참조 영상 버퍼 관리 장치와 방법 및 상기 장치를 구비하는 영상 부호화 장치 | |
CN114882390B (zh) | Vvc编码标准中基于ctu直方图的视频帧类型决策方法 | |
CN101867815B (zh) | 快速小数像素分级搜索方法 | |
Yao et al. | A fast intra prediction algorithm with simplified prediction modes based on utilization rates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |