一种图像压缩中对帧内移动矢量进行编码和解码的方法

文档序号:8266697阅读:673来源:国知局
一种图像压缩中对帧内移动矢量进行编码和解码的方法
【技术领域】
[0001]本发明涉及一种数字视频压缩编码及解码系统,特别是计算机屏幕图像和视频的编码及解码的方法和装置。
【背景技术】
[0002]随着以远程桌面为典型表现形式的新一代云计算与信息处理模式及平台的发展和普及,多台计算机之间、计算机主机与智能电视、智能手机、平板电脑等其他数字设备之间及各种各类数字设备之间的互联已经成为现实并日趋成为一种主流趋势。这使得服务器端(云)到用户端的实时屏幕传输成为当前的迫切需求。由于需要传输的屏幕视频数据量很大,以平板电脑2048x1536像素分辨率且60帧/秒刷新率的24位真彩色屏幕图像为例,需要传输的数据达每秒2048x1536x60x24=4320兆比特,如此多的数据要想在现实的网络条件下实现实时传输是不可能的,因此对于计算机屏幕图像的有效的数据压缩必不可少。
[0003]充分利用计算机屏幕图像的特点,对计算机屏幕图像进行超高效率的压缩,也是最新国际视频压缩标准HEVC (High Efficiency Video Coding)的一个主要目标。
[0004]计算机屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样(pixel pattern)。例如,计算机屏幕图像中常出现的中文或外文文字,都是由少数几种基本笔划所构成,同一帧图像内可以找到很多相似或相同的笔划。计算机屏幕图像中常见的菜单、图标等,也具有很多相似或相同的图样。现有的图像和视频压缩技术中采用的帧内预测(intra predict1n)方式,仅参考相邻的像素样值,无法利用一帧图像中的相似性或相同性来提高压缩效率。现有技术中的巾贞内运动补偿(intra mot1ncompensat1n)方式也称为巾贞内块复制(intra block copy)方式,用几种固定大小(如4x4,8x8,16x16, 32x32,64x64像素)的块来进行巾贞内块匹配(intra block matching)编码,也不能找到各种不同大小和形状的匹配。而另一种现有技术中的串匹配(string matching)方式,虽然能有效找到各种不同大小和形状的匹配,但却存在复杂度、计算量、存储器读写带宽都较大等问题。因此,必须寻求新的编码工具,既能充分发掘和利用计算机屏幕图像中存在的相似或相同图样,以大幅度提高压缩效果,又把复杂度、计算量、存储器读写带宽等都控制在较小的范围内。
[0005]屏幕图像的数字视频信号的自然形式是图像的序列。一幅图像通常是由若干像素组成的矩形区域,如果一个数字视频信号每秒有50幅图像,那么一段30分钟的数字视频信号就是个由30x60x50 = 90000幅图像组成的视频图像序列,有时也简称为视频序列或序列。对数字视频信号进行编码就是对一幅一幅图像进行编码。
[0006]最新国际视频压缩标准HEVC中,对一幅图像进行编码时,把一幅图像划分成若干块MxM像素的子图像,称为“编码单元(Coding Unit简称⑶)”,以⑶为基本编码单位,对子图像一块一块进行编码。常用的M的大小是4,8,16,32,64。因此,对一个视频图像序列进行编码就是对各个编码单元依次进行编码。同样,解码时也是对各个编码单元依次进行解码,最终重构出整个视频图像序列。
[0007]为适应一幅图像内各部分图像内容与性质的不同,有针对性地进行最有效的编码,一幅图像内各CU的大小可以是不同的,有的是8x8,有的是64x64,等等。为了使不同大小的CU能够无缝拼接起来,一幅图像总是先划分成大小完全相同具有AW像素的“最大编码单元(Largest Coding Unit简称IXU)”,然后每个IXU再进一步划分成多个大小不一定相同的⑶。例如,一幅图像先划分成大小完全相同的64x64像素的IXU GV= 64)。其中某个IXU由3个32x32像素的⑶和4个16x16像素的⑶构成。而另一个IXU由2个32x32像素的⑶、3个16x16像素的⑶和20个8x8像素的⑶构成。对一幅图像进行编码,就是依次对一个一个⑶进行编码。
[0008]—个彩色像素有3个分量(component)组成。最常用的两种像素色彩格式(pixelcolor format)是由绿色分量、蓝色分量、红色分量组成的GBR色彩格式和由一个亮度(luma)分量及两个色度(chroma)分量组成的YUV色彩格式也称YCbCr色彩格式。因此,对一个⑶进行编码时,可以把一个⑶分成3个分量平面(G平面、B平面、R平面或Y平面、U平面、V平面),对3个分量平面分别进行编码;也可以把一个像素的3个分量捆绑组合成一个3元组,对由这些3元组组成的⑶整体进行编码。前一种像素及其分量的排列方式称为图像(及其⑶)的平面格式(planar format),而后一种像素及其分量的排列方式称为图像(及其⑶)的叠包格式(packed format)。
[0009]YUV色彩格式又可根据是否对色度分量进行下采样再细分成若干种子格式:1个像素由I个Y分量、I个U分量、I个V分量组成的YUV4:4:4像素色彩格式;左右相邻的2个像素由2个Y分量、I个U分量、I个V分量组成的YUV4:2:2像素色彩格式;左右上下相邻按2x2空间位置排列的4个像素由4个Y分量、I个U分量、I个V分量组成的YUV4:2:0像素色彩格式。一个分量一般用I个8?16比特的数字来表示。YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式都是对YUV4:4:4像素色彩格式施行色度分量的下采样得到。一个像素分量也称为一个像素样值(pixel sample)或简单地称为一个样值(sample)。
[0010]巾贞内块匹配(intrablock matching,也称巾贞内运动补偿intra mot1ncompensat1n或称巾贞内块复制intra block copy)编码就是在对一个⑶进行编码时,在同一帧内的已重构参考像素样值集之中的某个预定的搜索范围(search range)内搜索与所述CU (即被匹配块)之间匹配误差最小的一个匹配块(称为最优匹配块),然后把被匹配块与最优匹配块之间的相对位置(称为移动矢量即mot1n vector简称MV)写入视频压缩码流中。
[0011]帧内块匹配解码就是在对一个CU进行解码时,根据从视频压缩码流中解析出来的一个MV,来确定同一帧内的已重构参考像素样值集之中的匹配块的位置,然后把所述匹配块复制和粘贴到所述⑶(即被匹配块)的位置。
[0012]如图1所示,帧内块匹配的移动矢量(X,y)就是匹配块与当前编码单元(被匹配块)的坐标之差。X < O表示匹配块在当前编码单元的左侧。X > O表示匹配块在当前编码单元的右侧。X = O表示匹配块在当前编码单元的正上方。同样,y < O表示匹配块在当前编码单元的上侧。I > O表示匹配块在当前编码单元的下侧。y = O表示匹配块在当前编码单元的正左方。匹配块与当前编码单元有完全相同的宽度W和高度H。匹配块通常是正方形的,即W = H。由于匹配块与当前编码单元不能重叠,X > -W且y > -H的情况绝对不会发生。也就是如图2(a)所示,移动矢量(X,y)所代表的点在平面上的位置与当前编码单元之间的距离至少为宽度W (=高度H)。
[0013]本发明的主要技术特征如图2所示,首先,把移动矢量(X,y)所在的区域划分成3部分,在图2(a)中分别用3种斜线(或直线)表示;然后,把这3部分区域分别映射成与当前编码单元距离最接近的区域,在图2(b)中也分别用3种斜线(或直线)表示。在将原始移动矢量(X,y)映射成新的移动矢量(XX,yy)后,再将映射后移动矢量(χχ,yy)通过熵编码放入压缩码流。由于映射后移动矢量(XX,yy)比原始移动矢量U,y)更小,对映射后移动矢量(XX,yy)进行熵编码将产生更少的比特数,从而提高了压缩效率。
[0014]本发明的编码方法中,最基本的特有技术特征就是将所有或部分原始移动矢量完全一对一地映射成距离当前编码单元最接近的新移动矢量,称为映射后移动矢量。
[0015]本发明的解码方法中,最基本的特有技术特征就是将映射后移动矢量完全一对一地逆映射成距离当前编码单元更远的原始移动矢量。
[0016]本发明的编码方法的一个具体实施例是把原始移动矢量所在的平面区域划分成3部分:
第一部分:位于当前编码单元上侧和上右侧的部分,与当前编码单元之间的垂直距离至少为当前编码单元的高度;
第二部分:位于当前编码单元左侧的部分,与当前编码单元之间的水平距离至少为当前编码单元的宽度;
第三部分:位于所述第一部分与所述第二部分之间的部分,与当前编码单元之间的垂直距离至少为当前编码单元的高度,但与当前编码单元之间的水平距离小于当前编码单元的宽度;
对所述第一部分的映射是把所述第一部分向下平移,平移量为所述当前编码单元的高度;对所述第二部分的映射是把所述第二部分向右平移,平移量为所述当前编码单元的宽度;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1