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

技术编号:3585803 阅读:224 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种用于视频编解码芯片中帧内预测的数据存储和交换方法,包括以下步骤:(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宏块的所有像素值写入到片外的帧存中的对应位置。采用本发明专利技术方法,既能节约芯片内部的存储空间,又能优化与片外的数据交互。

【技术实现步骤摘要】

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

【技术保护点】
一种用于视频编解码芯片中帧内预测的数据存储和交换方法,其特征在于包括以下步骤:(1)、初始化分别以亮度和色度方式记录存储的当前N×N像素块上方一图像行像素值、当前N×N像素块左方紧邻列像素值和当前N×N像素块左上方紧邻点像素值,此三组像素的亮度和色度值共六个数组作为当前像素块进行帧内预测时所需的参考像素;(2)、处理当前一个帧内图像的像素块,即I块,从步骤(1)中的六个数组中对应取出预测当前I块所需要的像素值,按照指定的预测模式进行帧内预测,完成其帧内预测;(3)、分别用当前像素块最右下角的像素点的值以及下边界行的像素值和右边界列的像素值替换(1)中六个数组中对应的点、行和列像素的值;(4)、当一个I块处理完毕,退出当前I块,使数组更新;(5)、把处理完的一个I块的所有像素值写入到片外的帧存中的对应位置,即所预测的I块位于一帧图像中的位置。

【技术特征摘要】
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]:当前NXN像素块上方一图像行的像素亮度值, 叩UV[2] [P] [M]:当...

【专利技术属性】
技术研发人员:张婷
申请(专利权)人:安凯广州微电子技术有限公司
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利