CN101193305B - 用于视频编解码芯片中帧内预测的数据存储和交换方法 - Google Patents

用于视频编解码芯片中帧内预测的数据存储和交换方法 Download PDF

Info

Publication number
CN101193305B
CN101193305B CN 200610123658 CN200610123658A CN101193305B CN 101193305 B CN101193305 B CN 101193305B CN 200610123658 CN200610123658 CN 200610123658 CN 200610123658 A CN200610123658 A CN 200610123658A CN 101193305 B CN101193305 B CN 101193305B
Authority
CN
China
Prior art keywords
pixel
value
block
current
pixels
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
Application number
CN 200610123658
Other languages
English (en)
Other versions
CN101193305A (zh
Inventor
张婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Ankai Microelectronics Co.,Ltd.
Original Assignee
Anyka Guangzhou Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anyka Guangzhou Microelectronics Technology Co Ltd filed Critical Anyka Guangzhou Microelectronics Technology Co Ltd
Priority to CN 200610123658 priority Critical patent/CN101193305B/zh
Publication of CN101193305A publication Critical patent/CN101193305A/zh
Application granted granted Critical
Publication of CN101193305B publication Critical patent/CN101193305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开一种用于视频编解码芯片中帧内预测的数据存储和交换方法,包括以下步骤:(1)初始化空间预测所需的参考像素值的六个数组:upY[16][M]、upUV[2][P][M]、leftY[16]、leftUV[2][P]、left_upY、left_upUV[2];(2)从步骤(1)中的六个数组中对应的取出预测所需要的像素值,进行帧内预测;(3)分别用当前块最右下角的像素点的值以及下边界行的像素值和右边界列的像素值替换其对应的点、行和列像素值的三组数组值;(4)当一个I宏块处理完毕,使数组更新;(5)把处理完的一个I宏块的所有像素值写入到片外的帧存中的对应位置。采用本发明方法,既能节约芯片内部的存储空间,又能优化与片外的数据交互。

Description

用于视频编解码芯片中帧内预测的数据存储和交换方法
技术领域
本发明涉及一种数据存储和交换方法,特别涉及用于视频编解码芯片中帧内预测的数据存储和交换方法。
背景技术
随着集成电路(IC)产业的高速发展,IC集成度的提高,使得视频编解码的芯片化得以实现。视频编解码的算法固定,因此芯片的设计围绕着如何能获得最小的芯片面积开销和最佳的芯片性能两个问题不断深入。好的解决方案能够优化芯片内、外部存储器的体系结构,达到节省芯片面积的目标;同时又能够优化芯片内、外部存储器的数据交换,提高芯片速度。
视频图像帧一般分为I帧、P帧、B帧三类基本帧。I帧只采用帧内预测方法,P帧可参考前面几帧图像进行帧间预测,而B帧则可以进行前、后向双向预测。由于视频编解码算法多是基于块的预测技术,因此图像帧被进行了块划分,一般以N×N的像素块为基本单位,N×N可以是16×16、8×3或4×4等,其中16×16的像素块一般称为一个宏块Mb(Macroblock)。以像素块为单位的预测包括了帧内块(I块)预测和帧间块(P块)两大类预测。I帧只包含I块,而P帧、B帧既可以包含I块也可以包含P块。另有一类特殊的块,允许编码器不经过预测和变换编码过程而直接把编码时的采样值传送到解码端,称为IPCM方式,这样的块简称IPCM块。
编码时对I块采用帧内预测技术,只需对像素块的预测值和原始值的差值进行编码,数据量小;解码时也只需利用码流中传输的差值和编码时所设定的参数重构像素块,充分利用相邻像素块的相关性,最大程度地减少空间冗余信息。无论编码还是解码中的帧内预测,均需利用当前块周围紧邻的块的像素值作为参考进行预测,所以每当预测当前块时,其紧邻块的相关像素值都需要提取出来作为参考。对于软件编解码器而言,所有数据都存储在内存中,由于无需考虑内存的开销和带宽的占用;但对于硬件编解码器,如何合理的安排帧内预测所需的数据信息的存储以及数据之间的交互,既能够节约芯片内部的存储空间,又能够优化与片外的数据交互,成为亟待解决的两个问题。
目前已有的解决方案主要是基于行缓冲的参考存储装置及方法,此方案是利用了视频解码芯片中有先进先出的行缓冲队列。参考存储方法包括处理器从行缓冲队列中取出预测当前编码元素所需的已保存在队列中的相邻元素值,进行空间预测,并得到新的元素解码值,将当前位置的元素值解码更新到行缓冲队列中步骤。如图1所示,帧内预测时,所取得的参考点是当前块最紧邻的左边一列和上边一行的解码像素值。详细步骤为:从行缓冲中取出左边一块和上边一块相邻像素点的解码像素值存于内部寄存器中进行预测;预测结束后,将该块中最下面一行解码像素值存于行缓冲中相应位置。
但是现有的方案是基于行缓冲的存储,解码是按照块的顺序一个一个从左向右进行,未考虑解码顺序并不一定是按照从左向右连续的块顺序进行的.事实上,在现有的视频编解码算法中,为了提高码流的抗干扰性能,均提出了片组的概念,属于同一片组的宏块空间位置并不一定是连续的,因此也一定可以不是相邻的.另一方面,现有方案对于块左上方的紧邻像素点的存储和使用却未能提供说明,而如果按照现有方案替换行缓冲装置中的对应像素值,则块左上方的紧邻像素点就无法保存,进而在下一次预测时不可获得而无法实现预测.
发明内容
本发明的目的在于提供一种用于视频编解码芯片中帧内预测的数据存储和交换方法,从而既能够节约芯片内部的存储空间,又能够优化与片外的数据交互。
本发明的目的可通过以下的技术措施来实现:一种用于视频编解码芯片中帧内预测的数据存储和交换方法,包括以下步骤:
(1)、初始化分别以亮度和色度方式记录存储的当前N×N像素块上方一图像行像素值、当前N×N像素块左方紧邻列像素值和当前N×N像素块左上方紧邻点像素值,此三组像素的亮度和色度值共六个数组作为当前像素块进行帧内预测时所需的参考像素:
(2)、处理当前一个帧内图像的像素块,即I块,从步骤(1)中的六个数组中对应取出预测当前I块所需要的像素值,按照指定的预测模式进行帧内预测,完成其帧内预测;
(3)、分别用当前像素块最右下角的像素点的值以及下边界行的像素值和右边界列的像素值替换(1)中六个数组中对应的点、行和列像素的值;
(4)、当一个I块处理完毕,退出当前I块,使数组更新;
(5)、把处理完的一个I块的所有像素值写入到片外的帧存中的对应位置,即所预测的I块位于一帧图像中的位置。
在解码过程中要处理IPCM块或帧间预测图像的像素块,即P块,在完成PCM预测或帧间预测之后,将新产生当前像素块的最右下角的像素点的值以及下边界行的像素值和右边界列的像素值分别替换权利要求1所述步骤(1)的六个数组中对应的点、行和列像素的值。
本发明所述步骤(1)六个数组为:
upY[N][M]:当前N×N像素块上方一图像行的像素亮度值,
upUV[2][P][M]:当前N×N像素块上方一图像行的像素色度值,
leftY[N]:当前N×N像素块左方紧邻列的像素亮度值,
leftUV[2][P]:当前N×N像素块左方紧邻列的像素色度值,
left_upY:当前N×N像素块左上方紧邻点的像素亮度值,
left_upUV[2]:当前N×N像素块左上方紧邻点的像素色度值。
其中,N表示所处理的I块是以N×N像素块为单位解码,N×N可以是16×16、8×8、4×4等像素块单位;M值为当前一幅图像以N×N像素块划分下,每一行的块数目;而P的值取决于亮度、色度YUV的采样比例,亮度的采样一般是色度的整数倍:例如YUV4∶4∶4采样,则P=16;YUV4∶2∶2或4∶1∶1或4∶2∶0采样,则P=8。
本发明所述列像素对应亮度和色度仅存储一个N×N像素块左方紧邻的N个像素值。
本发明所述步骤(3)首先用当前块最右下角的像素点的值替换left_upY中的值,然后用当前块下边界行的像素值替换upY[N][M]中与当前块横坐标相同的对应域的值,最后用当前块右边界列的像素值替换leftY[N]中与当前块纵坐标相同的对应域的值,若处理的是色度像素,则替换点、行和列像素的色度数组中对应域的值.
本发明所述步骤(5)帧存中的对应位置为当前像素块在当前帧中的位置。
采用本发明所述的方法,大大节省存储空间,在同样大小的图像情况下,存储空间只有现有技术的1/8甚至更小,以像素为单位,存储上一图像行的解码值,加上左边像素块最右列的解码值和左上角像素的解码值,存储空间大小为:(图像宽度+像素块边长+1)字节,本发明还说明了仅在一帧开始时初始化参考像素的数组,每次处理完一个像素块即写出数据到片外,使片内外数据交换合理。此外,本发明也详细描述了要作为参考的左上角像素点的存储和数据交换方式,并且考虑到了FMO(Flexible Macroblock Ordering)的情况,FMO突破了传统意义上的片的划分,允许独立和分散的宏块以一定的逻辑规则映射到相应的片组里。
附图说明
图1为现有技术基于行缓冲的参考存储方法流程示意图;
图2为本发明的流程示意图;
图3为4×4像素块帧内预测的常用模式示意图;
图4为16×16像素块帧内预测的常用模式示意图;
图5为4×4像素块帧内预测所需要的参考像素分布示意图;
图6为16×16像素块帧内预测所需要的参考像素分布示意图;
图7为8×8像素块帧内预测所需要的参考像素分布示意图。
具体实施方式
本发明基于视频编解码器芯片关键环节——帧内预测的设计实现。帧内预测主要是基于块的预测技术,帧内预测的图像帧一般以N×N像素(N可以等于16、8、4……)为基本单元块被划分。
如图3、图4所示,以4×4像素块和16×16像素块为例(8×8类同),一般而言,当前像素块的预测需要用到的紧邻块的参考像素值可以分为三类,一类是当前像素块上方块(有时也包括右上方块)的行像素、一类是当前像素块左方块的列像素,还有一类特殊的是左上方块一个像素点。
归纳起来,以像素块为单位进行帧内预测时,所需要用到的参考像素分布基本上如图5、6和7所示的三种情况:
16×16像素块在进行帧内预测时,所需参考像素为当前块上方块下边界的16个像素、左方块右边界的16个像素以及左上方块右下角紧邻的1个像素,共计33个参考像素点。8×8像素块在进行帧内预测时,所需参考像素为当前块上方块下边界的8个像素、左方块右边界的8个像素以及左上方块右下角紧邻的1个像素,共计17个参考像素点。
4×4像素块在进行帧内预测时,所需参考像素为当前块上方块下边界的4个像素、右上方块下边界的4个像素、左方块右边界的4个像素以及左上方块右下角紧邻的1个像素,共计13个参考像素点。
这些参考像素点的值无论是编码时还是解码时都必须是已经存在的,才能保证当前块的预测能够进行.而由于芯片内部存储空间有限,存储一帧图像的数据量相当大,为了合理的把帧内预测所需参考像素值存储在芯片内部,本发明采用存储三类参考像素值(即:行像素、列像素、点像素)的方式为:
(1)行像素的存储:
亮度upY[N][M]
色度upUV[2][P][M]
M值为当前一幅图像以N×N像素块划分下,每一行的块数目。例如CIF(352×288)图像,若N=16,则M=22;D1(720×576)图像,若N=16,则M=45。
P的值取决于亮度、色度YUV的采样比例,若YUV4∶4∶4采样,P=16;若YUV4∶2∶2采样,P=8;若YUV4∶2∶0或者4∶1∶1采样,P=8。(4∶2∶2与4∶1∶1与4∶2∶0采样仅在算法上有区别,在此不赘述。)
则upY[N][M]即表示当前块上方一图像行的所有亮度像素,色度upUV[2][P][M]表示当前块上方一图像行的所有色度像素。
(2)列像素的存储:
亮度leftY[N]
色度leftUV[2][P]
亮度仅需要存储一个N×N像素块左方紧邻的N个像素值即可;色度以此类推。
(3)点像素的存储:
亮度left_upY
色度left_upUV[2]
当前块左上方紧邻像素点的存储。
其中具体帧内预测的数据存储和交换方法为以下步骤,如图2所示:
1、处理当前I块,从六个数组中对应的取出预测所需要的像素值按照某种指定的预测模式进行帧内预测,完成帧内预测。
2、首先用当前块最右下角的像素点的值替换left_upY中的值;若处理的是色度像素,则替换left_upUV[2]中的值。
3、然后用当前块下边界行的像素值替换upY[N][M]中与当前块横坐标相同的对应域的值;若处理的是色度像素,则替换upUV[2][P][M]中对应域的值。
4、最后用当前块右边界列的像素值替换leftY[N]中与当前块纵坐标相同的对应域的值;若处理的是色度像素,则替换leftUV[P]中对应域的值。
5、一个I块处理完毕,退出当前块,数组被更新。
6、若处理P块或IPCM块,同样需要在完成其帧间预测或PCM预测之后,将新产生的像素值按照步骤3、4、5的顺序依次替换三组数组的对应域,因为P块或IPCM块的像素值,也可能作为其紧邻I块的预测参考像素值。
7、处理完一个I块,将该块的所有像素值写入到片外的帧存中的对应位置(即当前像素块在当前帧中的位置)。

Claims (7)

1.一种用于视频编解码芯片中帧内预测的数据存储和交换方法,其特征在于包括以下步骤:
(1)、初始化分别以亮度和色度方式记录存储的当前N×N像素块上方一图像行像素值、当前N×N像素块左方紧邻列像素值和当前N×N像素块左上方紧邻点像素值,此三组像素的亮度和色度值共六个数组作为当前像素块进行帧内预测时所需的参考像素;
(2)、处理当前一个帧内图像的像素块,即I块,从步骤(1)中的六个数组中对应取出预测当前I块所需要的像素值,按照指定的预测模式进行帧内预测,完成其帧内预测;
(3)、分别用当前像素块最右下角的像素点的值以及下边界行的像素值和右边界列的像素值替换(1)中六个数组中对应的点、行和列像素的值;
(4)、当一个I块处理完毕,退出当前I块,使数组更新;
(5)、把处理完的一个I块的所有像素值写入到片外的帧存中的对应位置,即所预测的I块位于一帧图像中的位置。
2.根据权利要求1帧内预测的数据存储和交换方法,其特征在于:如果要处理IPCM块或帧间预测图像的像素块,即P块,在完成PCM预测或帧间预测之后,将新产生当前像素块的最右下角的像素点的值以及下边界行的像素值和右边界列的像素值分别替换权利要求1所述步骤(1)的六个数组中对应的点、行和列像素的值。
3.根据权利要求1帧内预测的数据存储和交换方法,其特征在于:所述步骤(1)六个数组为:
upY[N][M]:当前N×N像素块上方一图像行的像素亮度值,
upUV[2][P][M]:当前N×N像素块上方一图像行的像素色度值,
leftY[N]:当前N×N像素块左方紧邻列的像素亮度值,
leftUV[2][P]:当前N×N像素块左方紧邻列的像素色度值,
left_upY:当前N×N像素块左上方紧邻点的像素亮度值,
left_upUV[2]:当前N×N像素块左上方紧邻点的像素色度值,
其中,N值表示当前像素块以N×N为大小;M值表示当前一幅图像以N×N像素块划分下,每一行这样的像素块数目;而P的值取决于亮度、色度的采样比例。
4.根据权利要求1或2帧内预测的数据存储和交换方法,其特征在于:所述列像素对应的亮度和色度仅存储一个N×N像素块左方紧邻的N个像素值。
5.根据权利要求1帧内预测的数据存储和交换方法,其特征在于:所述步骤(2)的I块是以N×N像素块为单位解码,N×N为16×16、8×8或4×4的像素块单位。
6.根据权利要求3帧内预测的数据存储和交换方法,其特征在于:所述步骤(3)首先用当前块最右下角的像素点的值替换left_upY中的值,然后用当前块下边界行的像素值替换upY[N][M]中与当前块横坐标相同的对应域的值,最后用当前块右边界列的像素值替换leftY[N]中与当前块纵坐标相同的对应域的值,若处理的是色度像素,则替换点、行和列像素的色度数组中对应域的值。
7.根据权利要求1帧内预测的数据存储和交换方法,其特征在于:所述步骤(5)帧存中的对应位置为当前像素块在当前帧中的位置。
CN 200610123658 2006-11-21 2006-11-21 用于视频编解码芯片中帧内预测的数据存储和交换方法 Active CN101193305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610123658 CN101193305B (zh) 2006-11-21 2006-11-21 用于视频编解码芯片中帧内预测的数据存储和交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610123658 CN101193305B (zh) 2006-11-21 2006-11-21 用于视频编解码芯片中帧内预测的数据存储和交换方法

Publications (2)

Publication Number Publication Date
CN101193305A CN101193305A (zh) 2008-06-04
CN101193305B true CN101193305B (zh) 2010-05-12

Family

ID=39488000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610123658 Active CN101193305B (zh) 2006-11-21 2006-11-21 用于视频编解码芯片中帧内预测的数据存储和交换方法

Country Status (1)

Country Link
CN (1) CN101193305B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN105472387B (zh) 2010-04-09 2018-11-02 Lg电子株式会社 处理视频数据的方法和装置
WO2012114724A1 (ja) 2011-02-22 2012-08-30 パナソニック株式会社 フィルタ方法、動画像符号化装置、動画像復号装置及び動画像符号化復号装置
MX2013001051A (es) * 2011-02-22 2013-04-03 Panasonic Corp Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, aparato de decodificacion de imagen y aparato de codificacion/decidificacion de imagen.
JP2013034163A (ja) 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
JP2013034162A (ja) 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
CN103248885B (zh) * 2012-02-14 2018-01-26 乐金电子(中国)研究开发中心有限公司 帧内图像预测编解码方法及视频编解码器
US10165292B2 (en) * 2015-02-02 2018-12-25 Mediatek Inc. Method and apparatus for intra block copy mode in video coding system with pipeline architecture
CN106358042B (zh) * 2015-07-17 2020-10-09 恩智浦美国有限公司 使用视频图像的帧间预测的并行解码器
CN105577985B (zh) * 2015-12-29 2019-06-28 上海华力创通半导体有限公司 一种数字图像处理系统
CN105635731B (zh) * 2016-01-07 2018-11-20 西安电子科技大学 高效视频编码的帧内预测参考点预处理方法
CN108259913A (zh) * 2016-12-29 2018-07-06 北京大学深圳研究生院 一种用于帧间预测帧中的帧内预测方法
CN112004094A (zh) * 2019-05-27 2020-11-27 北京君正集成电路股份有限公司 一种像素存储空间的节省方法
CN113596429B (zh) * 2019-08-27 2023-04-14 咪咕文化科技有限公司 像素点对选择方法、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589032A (zh) * 2004-07-30 2005-03-02 联合信源数字音视频技术(北京)有限公司 基于多级并行流水线方式的环路滤波装置
CN1659784A (zh) * 2002-05-01 2005-08-24 汤姆森特许公司 色度解块滤波器
CN1722842A (zh) * 2004-06-22 2006-01-18 三星电子株式会社 视听编解码器的滤波方法和滤波设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1659784A (zh) * 2002-05-01 2005-08-24 汤姆森特许公司 色度解块滤波器
CN1722842A (zh) * 2004-06-22 2006-01-18 三星电子株式会社 视听编解码器的滤波方法和滤波设备
CN1589032A (zh) * 2004-07-30 2005-03-02 联合信源数字音视频技术(北京)有限公司 基于多级并行流水线方式的环路滤波装置

Also Published As

Publication number Publication date
CN101193305A (zh) 2008-06-04

Similar Documents

Publication Publication Date Title
CN101193305B (zh) 用于视频编解码芯片中帧内预测的数据存储和交换方法
CN101710986B (zh) 基于同构多核处理器的h.264并行解码方法和系统
CN101115205B (zh) 视频流处理装置与方法
KR100695141B1 (ko) 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법
KR101279266B1 (ko) 데이터 트래픽과 전력 소모를 저감시킨 플렉서블 매크로블록 오더링
CN102246522B (zh) 智能的解码图片缓冲
CN100579225C (zh) 图像数据的存取和解码方法及解码装置
US9001882B2 (en) System for entropy decoding of H.264 video for real time HDTV applications
JP2008512967A (ja) 動画像の動き補償のためのキャッシング方法および装置
CN103813172A (zh) 视讯译码装置及存储器分配方法
CN102025992B (zh) 用于h.264视频解码系统中帧间预测过程的参考图像管理方法
CN101252694A (zh) 基于块的视频解码的帧存储压缩和地址映射系统
CN103618898A (zh) 一种支持随机访问的复杂度图像无损压缩方法
JPH06178283A (ja) 動画像復号装置
CN101115195A (zh) 视频码流的宏块级耦合的解码和环路滤波方法和装置
CN100568920C (zh) 串行输入并行输出的视频图像亮度插值的方法和装置
TWI418219B (zh) 用於動態補償系統之資料映像方法及快取記憶體系統
CN101443808B (zh) 用于图像和视频处理的存储器组织方案和控制器结构
US20080159402A1 (en) Motion vector prediction method and prediction apparatus thereof
CN104954798B (zh) 视频解码直通显示方法和装置
CN1520187A (zh) 用于视频数据压缩的系统和方法
Song et al. High-performance memory interface architecture for high-definition video coding application
CN102420989A (zh) 帧内预测方法和装置
TWI520618B (zh) 影像資料處理方法以及影像處理裝置
TWI517695B (zh) 晶片內/晶片外記憶體管理

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 510663 no.301-303, 401-402, area C1, No.182, Science City, Guangzhou hi tech Industrial Development Zone, Guangzhou City, Guangdong Province

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 no.301-303, 401-402, area C1, No.182, Science City, Guangzhou hi tech Industrial Development Zone, Guangzhou City, Guangdong Province

Patentee before: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 301-303, 401-402, zone C1, No. 182, science Avenue, Science City, Guangzhou high tech Industrial Development Zone

Patentee before: Guangzhou Ankai Microelectronics Co.,Ltd.