CN103796032A - 逐行或逐列帧内预测 - Google Patents
逐行或逐列帧内预测 Download PDFInfo
- Publication number
- CN103796032A CN103796032A CN201210430932.0A CN201210430932A CN103796032A CN 103796032 A CN103796032 A CN 103796032A CN 201210430932 A CN201210430932 A CN 201210430932A CN 103796032 A CN103796032 A CN 103796032A
- Authority
- CN
- China
- Prior art keywords
- prediction
- row
- line
- piece
- filtering
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种根据视频信号当前编码块左边和上边的已重构像素根据一定方向计算当前编码块的预测块的算法。本算法分为逐行模式和逐列模式两种。逐行模式首先根据一定方向,从第N-1行通过双线性滤波计算得出第N行的预测,然后根据第N行的预测计算第N+1行的预测,其中N大于等于0且小于当前块的高度,在所有行都计算完成后,对每一行执行行滤波得到最终的预测块。逐列模式首先根据一定方向,从第N-1列通过双线性滤波计算得出第N列的预测,然后根据第N列的预测计算第N+1列的预测,其中N大于等于0且小于当前块的宽度,在所有列都计算完成后,对每一列执行列滤波得到最终的预测块。
Description
技术领域
本发明属于数字视频压缩领域,具体涉及到视频信号的帧内预测。
背景技术
数字视频是通过对时域和空域连续的自然场景进行时域和空域连续采样所得。如图1所示,数字视频由一系列时域上的视频帧所组成,每个视频帧表示自然场景在某个时间的空域采样,它由二维均匀采样的视觉像素组成。每个像素由一系列描述像素亮度和色彩的数字组成,在视频编码中,最广泛被使用的格式是YUV格式,这种格式中,每个像素由一个亮度分量Y,两个色差分量U和V组成,一般对U和V分量水平和垂直方向各进行一次下采样,这样每相邻的4个像素共用1个U和1个V分量,这就是YUV4:2:0格式。
最广泛被使用的视频编码技术是块基混合运动补偿DCT变换视频编码技术,其中最有代表性的是MPEG和VCEG正在联合制定的国际标准HEVC。如图2所示,HEVC编码器首先把输入帧被劈分成一个个NxN(其中N为2的幂次,其最小为8,最大可以到64)的块,称为最大编码单元(LCU),然后从左到右,从上到下依次对LCU进行编码。在HEVC中,基本的预测-变换-编码单位称为编码单元(CU),对于一个大小为2Nx2N的LCU,可以把它作为一个CU直接进行预测-变换-编码,也可以把它以四分树的方式劈分为4个大小为NxN的单元进行预测-变换-编码,而对于每个NxN的单元,它也既可以作为一个CU进行预测-变换-编码,也可以继续以四分树的方式劈分为4个更小的单元进行编码。图3所示既是一个LCU的编码劈分图,图中LCU被劈分为4个等尺寸CU,而4个CU中的第一个、第三个和第四个又分别进行了继续的劈分。CU最小为8x8,最大可以和LCU等尺寸。对每个待编码的CU,首先从已编码的重构帧中计算出一个对当前块的预测,并与当前块相减,残差依次执行DCT变换、量化,然后反量化、反DCT变换得到重构宏块,存入重构帧序列中,用于对其后编码的CU产生预测信号。由于精确的DCT变换是浮点变换,所以实际中一般用DCT变换的整数近似或者KLT变换的整数近似来代替。
CU的预测有2种,第一种是帧内预测,即只使用当前编码帧的已重构的像素对当前CU进行预测。当前最流行的帧内预测技术是帧内方向预测技术。帧内方向预测直接以CU为单位进行。HEVC中所使用的角度帧内预测如图4所示。图4所示白色黑框块是当前编码CU,左边和上边的灰色条带是当前CU左上的已重构像素,他们用来生成当前CU的预测信号。每一个帧内方向预测模式说明一个当然的预测方向,对于如图4所示编码CU中的某一行或某一列(用竖状网格表示),根据预测方向找到左上重构块中的相应的像素,如图4中黑色像素块所示,作为当前行或列的预测。图4右侧所示的列预测因为左边靠上的重构像素不存在,所以在实际的预测开始前,需要根据当前预测方向从当前块上边的重构像素根据当前帧内预测方向映射过去,如图5所示。为了提供更高的编码性能,在实际的预测开始前,需要对参考像素执行一次平滑滤波操作以去除噪声,所用滤波器一般是(1/4,2/4,1/4)。在HEVC中共有33种不同的方向预测模式,如图6所示。
CU的第二种预测是帧间预测,这时当前块的预测从时域上在当前帧前或当前帧后的重构帧中的选取。在HEVC中,预测以预测单元(PU)为基本单位。一个2Nx2N大小的CU有4种PU划分模式,它既可以作为单一的PU执行运动补偿,也可以分割成几个PU分别执行不同的运动补偿,如图7所示。对于一个任意形状的PU,运动补偿过程如图8、图9、图10和图11所示。显示时间为t的帧是当前编码帧,黑色块是当前编码块。显示时间为t-t0、t-2*t0、t+t0帧是重构帧,其中具有点状边界的灰色块是与当前编码块同一空域位置的块。显示时间为t-t0、t-2*t0、t+t0帧都可以作为当前编码块的预测。在图8中,运动向量MV0指向当前块的前向预测块BLK0。在图9中,运动向量MV1指向当前块的后向预测块BLK1。在图10中,运动向量MV指向当前块的前向预测块BLK0,MV的反方向指向后向预测块BLK1,BLK0和BLK1的平均作为当前块的预测。在图11中,运动向量MV0指向当前块的前向预测块BLK0,运动向量MV1指向当前块的后向预测块BLK1,BLK0和BLK1的平均作为当前块的预测。在前向预测、后向预测和对称预测中,只有一个运动参数(包括运动向量和参考图像)需要编码,而在双向预测模式中,2个运动参数需要编码。对于每种时域补偿模式,编码器通过率失真优化的运动估计过程得到最优的运动参数,并将其编入码流。
在得到预测以后,将当前块与预测块相减,得到残差块,然后对残差块依次执行DCT变换或其他正交变换,然后量化、熵编码,然后再反量化、反变换、和预测块相加得到重构块,并用于后续编码块的预测。在HEVC中,变换以变换单元(TU)为单位进行。对于帧内预测,TU与CU同尺寸,即对一个2Nx2N大小的CU,直接执行2Nx2N二维可分离变换。对于时域预测,则使用变尺寸块变换。这时TU的形状依赖于PU的形状。在HEVC中,TU的形状总是比PU要小,这样变换不会穿越预测的边界,但也降低了变换的灵活性。HEVC中所使用的四分树结构变尺寸块变换如图12所示,一个2Nx2N的待变换单元可以有4种变换分割模式,即直接2Nx2N变换、2个2NxN变换、2个Nx2N变换、或者分割成4个NxN单元。4个NxN单元中的每一个都可以独立进行四分树结构的变尺寸块变换。TU的最小单元是4x4。
对变换系数的量化需要使用量化参数(QP),有时候还要使用加权量化矩阵。在当前HEVC的编码中,量化参数的传输发生在一个当然的尺寸的CU之上,这个尺寸编码在图像或者片段之上。就是说,当CU尺寸在MxM或之上且这个CU内含非零量化系数时,编码器传输一个量化参数的差分(dQP),这样解码器就可以根据从前的QP和这个dQP计算出当前MxM尺寸或更大尺寸CU内部所有变换块所使用的共同的QP。比如说,M为16时,如果一个CU为32x32,且含非零变换系数,那么编码器一定给这个CU传输一个dQP。如果一个CU为8x8且含非零变换系数,那么编码器必须给包含它的16x16CU传输一个dQP,这个16x16CU内部所有8x8CU都使用这个dQP。MxM尺寸或更大尺寸CU,dQP在码流中的位置从来都在非零变换系数之前。在HEVC中,量化矩阵传输于图像或者片段级别,它并没有LCU或者CU级别的自适应性。
本发明描述了一种新的根据左上参考像素对当前块产生一个帧内块预测的算法,它能提供更高的编码效率。
发明内容
本发明所述算法采用当前块的左上重构像素通过某一种方向模式求出当前块的一个等大小的块预测。本算法分为2个步骤,第一个步骤首先求得一个预测块,叫第一步预测块,和HEVC的角度帧内预测类似,它也有两种模式,一种是逐行预测模式,另一种是逐列预测模式。第二步是对这个第一步预测块实施一维滤波构成最终预测块,这一步采用和第一步相同的模式,即第一步是逐行预测模式时,这一步也是行滤波;如果第一步是逐列预测模式,这一步就是列滤波。
首先介绍逐行预测模式。图13和图14是逐行预测模式。黑边框块是当前编码块,左边和上边灰色的块都是当前块左上已编码的重构像素。有树状纹理的长条形块是当前行像素,其上面方格纹理的则是它的预测行,箭头表示预测方向。图14中点状框表示已经计算出的像素。图13是第一行的预测,它通过一定的方向由上重构行算出。当预测指向子像素位置时,那么预测像素由双线性滤波作用于整数像素上计算得出。当第一行得出时,使用它和当前块左边的重构像素根据一定的方向计算出第二行的预测像素。一般的,第N行的像素由第N-1行像素,根据一定方向,由双线性滤波计算得出。如图14所示。由于要进行第二步的滤波操作,所以计算出了比当前块宽度更多的像素。在第一步预测块计算完成后,对第一步预测块执行行滤波得到最终预测块。所用滤波器如图17所示,宽或高选择当前编码块的高度。
然后介绍逐列预测模式。图15和图16是逐列预测模式。黑边框块是当前编码块,左边和上边灰色的块都是当前块左上已编码的重构像素。有树状纹理的长条形列是当前列像素,其左面方格纹理的则是它的预测列,箭头表示预测方向。图16中点状框表示已经计算出的像素。图15是第一列的预测,它通过一定的方向由左重构列算出。当预测指向子像素位置时,那么预测像素由双线性滤波作用于整数像素上计算得出。当第一列得出时,使用它和当前块上边的重构像素根据一定的方向计算出第二列的预测像素。一般的,第N列的像素由第N-1列像素,根据一定方向,由双线性滤波计算得出。如图16所示。由于要进行第二步的滤波操作,所以计算出了比当前块高度更多的像素。在第一步预测块计算完成后,对第一步预测块执行列滤波得到最终预测块。所用滤波器如图17所示,宽或高选择当前编码块的宽度。
本发明所述另一个方面是逐行或逐列预测的方向编码。本发明采用最多达4阶的DCT系数来编码每一行(逐行情况下)或每一列(逐列情况下)的方向。
附图说明
图1为数字视频示例,其中指示1表示时域采样,指示2表示空域采样。
图2为块基运动补偿DCT变换视频编码器,其中指示1表示劈分为LCU,指示2表示帧内预测信息,指示3表示运动参数信息,指示4表示控制信息,指示5表示量化DCT系数,指示6表示编码码流。
图3是LCU通过四分树递归的劈分为CU。
图4是角度帧内预测示意图。
图5是角度帧内预测中左上不可用像素的映射计算示意图。
图6是角度帧内预测所有方向模式示意图。
图7是CU劈分为PU的所有方式。
图8是时域前向预测示意图。
图9是时域后向预测示意图。
图10是时域对称预测示意图。
图11是时域双向预测示意图。
图12是HEVC中变换分割示意图,其中的NxN块可以继续同样的分割。
图13是逐行帧内预测第一行示意图
图14是逐行帧内预测第N行示意图
图15是逐列帧内预测第一列示意图
图16是逐列帧内预测第N列示意图
图17是帧内预测第二步行或列滤波所使用的滤波器示意图
图18是本发明所述视频编码器
图19是本发明所述视频解码器
实施方式
图18是包含本发明的一个视频编码器。编码器首先把输入视频帧划分为LCU,然后对LCU进行从左到右、从上到下的顺序编码。对每个LCU,编码器将其劈分成CU进行编码。对每个CU,编码器对图6所示33个方向中的任意一个方向,根据本专利所述算法产生当前CU的预测,然后量化-熵编码,得到其率失真花费。编码器通过评估所有方向,得到具有最佳率失真花费的那个方向,将这个方向和量化DCT系数编入码流。
图19所示是包含本发明的视频解码器,解码器从左到右、从上到下对每个LCU进行解码,解码器先获得LCU分割的信息,然后逐个对CU进行解码。CU解码过程如下,首先解码方向预测模式,然后根据这个方向和当前CU的左上重构像素,根据本发明所述算法生成当前块的预测;然后解码量化DCT系数,然后反量化-反变换,再加上预测信号,得到重构块。
Claims (5)
1.视频编码器根据当前编码块左边和上边的已重构像素根据一定方向计算当前编码块的预测块。本算法分为逐行模式和逐列模式两种。逐行模式首先根据一定方向,从第N-1行通过双线性滤波计算得出第N行的预测,然后根据第N行的预测计算第N+1行的预测,其中N大于等于0且小于当前块的高度,在所有行都计算完成后,对每一行执行行滤波得到最终的预测块。逐列模式首先根据一定方向,从第N-1列通过双线性滤波计算得出第N列的预测,然后根据第N列的预测计算第N+1列的预测,其中N大于等于0且小于当前块的宽度,在所有列都计算完成后,对每一列执行列滤波得到最终的预测块。
2.视频编码器根据当前编码块左边和上边的已重构像素根据一定方向计算当前编码块的预测块。首先根据一定方向,从第N-1行通过双线性滤波计算得出第N行的预测,然后根据第N行的预测计算第N+1行的预测,其中N大于等于0且小于当前块的高度,就这样得到当前块所有行的预测值。在所有行都计算完成后,对每一行执行行滤波得到最终的预测块。
3.如权利要求2所述,所用的行滤波滤波器由图17中选取,宽和高那一栏根据当前块的高度选取。
4.视频编码器根据当前编码块左边和上边的已重构像素根据一定方向计算当前编码块的预测块。首先根据一定方向,从第N-1列通过双线性滤波计算得出第N列的预测,然后根据第N列的预测计算第N+1列的预测,其中N大于等于0且小于当前块的宽度,就这样得到当前块所有列的预测值。在所有列都计算完成后,对每一列执行列滤波得到最终的预测块。
5.如权利要求2所述,所用的列滤波滤波器由图17中选取,宽和高那一栏根据当前块的宽度选取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210430932.0A CN103796032A (zh) | 2012-10-31 | 2012-10-31 | 逐行或逐列帧内预测 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210430932.0A CN103796032A (zh) | 2012-10-31 | 2012-10-31 | 逐行或逐列帧内预测 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103796032A true CN103796032A (zh) | 2014-05-14 |
Family
ID=50671249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210430932.0A Pending CN103796032A (zh) | 2012-10-31 | 2012-10-31 | 逐行或逐列帧内预测 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103796032A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851288A (zh) * | 2017-02-27 | 2017-06-13 | 北京奇艺世纪科技有限公司 | 一种帧内预测编码方法及装置 |
CN107896330A (zh) * | 2017-11-29 | 2018-04-10 | 北京大学深圳研究生院 | 一种用于帧内和帧间预测的滤波方法 |
WO2020015592A1 (en) * | 2018-07-14 | 2020-01-23 | Mediatek Inc. | Methods and apparatuses of processing video pictures with partition constraints in a video coding system |
-
2012
- 2012-10-31 CN CN201210430932.0A patent/CN103796032A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851288A (zh) * | 2017-02-27 | 2017-06-13 | 北京奇艺世纪科技有限公司 | 一种帧内预测编码方法及装置 |
CN106851288B (zh) * | 2017-02-27 | 2020-09-15 | 北京奇艺世纪科技有限公司 | 一种帧内预测编码方法及装置 |
CN107896330A (zh) * | 2017-11-29 | 2018-04-10 | 北京大学深圳研究生院 | 一种用于帧内和帧间预测的滤波方法 |
CN107896330B (zh) * | 2017-11-29 | 2019-08-13 | 北京大学深圳研究生院 | 一种用于帧内和帧间预测的滤波方法 |
WO2020015592A1 (en) * | 2018-07-14 | 2020-01-23 | Mediatek Inc. | Methods and apparatuses of processing video pictures with partition constraints in a video coding system |
TWI708502B (zh) * | 2018-07-14 | 2020-10-21 | 聯發科技股份有限公司 | 視訊編解碼系統中對具有分割約束的視訊圖像進行編碼或解碼的視訊處理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107197264B (zh) | 解码视频信号的方法 | |
CN106067981B (zh) | 帧内预测装置 | |
KR102030718B1 (ko) | 영상 부호화 방법, 영상 복호화 방법, 영상 부호화기 및 영상 복호화기 | |
EP2214415B1 (en) | A dual prediction video encoding and decoding method and a device | |
CN104869401B (zh) | 视频数据的解码方法 | |
CN100574446C (zh) | 视频编码/解码的装置和方法及其记录介质 | |
PL231918B1 (pl) | Sposoby dekodowania sygnału wideo | |
CN103491380A (zh) | 高灵活变尺寸块帧内预测编码 | |
CN103796015A (zh) | 系数数目自适应的量化参数差分编码 | |
CN103959785A (zh) | 在视频译码中用于色度分量的变换单位分割 | |
CN103299637A (zh) | 运动图像编码装置、运动图像译码装置、运动图像编码方法以及运动图像译码方法 | |
CN104602023A (zh) | 帧间预测编码方法 | |
CN105103550A (zh) | 基于绝对变换差的总和的用于视频编码的帧内速率控制 | |
KR20190084009A (ko) | 인트라 예측 방법 및 그 장치 | |
CN104604224A (zh) | 可缩放视频译码中的变换基底调整 | |
CN103548356A (zh) | 使用跳跃模式的图像编码方法及使用该方法的装置 | |
CN105379277A (zh) | 用于编码/解码可伸缩视频信号的方法和装置 | |
CN105379276A (zh) | 可伸缩视频信号编码/解码方法和装置 | |
CN104811729A (zh) | 一种视频多参考帧编码方法 | |
CN103796014A (zh) | 条件于系数数目的自适应插值滤波器编码 | |
CN103796032A (zh) | 逐行或逐列帧内预测 | |
KR20140138544A (ko) | 멀티 레이어 구조에 있어서 움직임 정보의 유도 방법 및 이를 이용하는 장치 | |
CN103796031A (zh) | 高灵活变尺寸块变换 | |
CN101262607B (zh) | 二重预测视频编解码方法和装置 | |
CN109889831A (zh) | 基于cu尺寸的360度视频帧内模式选择 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140514 |