参考块的位置决定其重构阶段的块匹配编解码方法和装置
技术领域
本发明涉及一种数字视频压缩编码及解码系统,特别是计算机屏幕图像和视频的编码及解码的方法和装置。
背景技术
随着以远程桌面为典型表现形式的新一代云计算与信息处理模式及平台的发展和普及,多台计算机之间、计算机与智能电视、智能手机、平板电脑等其他数字设备之间及各种各类数字设备之间的互联已经成为现实并日趋成为一种主流趋势。这使得服务器端到用户端的实时屏幕传输成为当前迫切需求,对计算机屏幕图像有效的数据压缩必不可少。
屏幕图像的数字视频信号的自然形式是图像的序列。一幅图像通常是由若干像素组成的矩形区域,如果一个数字视频信号每秒有50幅图像,那么一段30分钟的数字视频信号就是一个由30x60x50=90000幅图像组成的视频图像序列,有时也简称为视频序列或序列。对数字视频信号进行编码就是对一幅一幅图像进行编码。在任一时刻,正在编码中的那一幅图像称为当前编码图像。同样,对数字视频信号的压缩码流(码流也称为比特流)进行解码就是对一幅一幅图像的压缩码流进行解码。在任一时刻,正在解码中的那一幅图像称为当前解码图像。当前编码图像或当前解码图像都统称为当前图像。
在几乎所有视频图像编码的国际标准如MPEG-1/2/4,H.264/AVC以及HEVC中,对一幅图像进行编码时,都是把一幅图像划分成若干块M1xM2像素的子图像,称为“编码单元(Coding Unit简称CU)”,以CU为基本编码单位,对子图像一块一块进行编码。常用的M1或M2是8,16,32,64。因此,对一个视频图像序列进行编码就是对各个编码单元依次进行编码。同样,解码时也是对各个编码单元依次进行解码,最终重构出整个视频图像序列。
为适应一幅图像内各部分图像内容与性质的不同,有针对性地进行最有效的编码,一幅图像内各CU的大小可以是不同的,有的是8x8,有的是64x64,等等。为了使不同大小的CU能够无缝拼接起来,一幅图像通常先划分成大小完全相同具有NxN像素的“最大编码单元(Largest Coding Unit简称LCU)”,然后每个LCU再进一步划分成多个大小不一定相同的CU。例如,一幅图像先划分成大小完全相同的64x64像素的LCU(N=64)。其中某个LCU由3个32x32像素的CU和4个16x16像素的CU构成。而另一个LCU由2个32x32像素的CU、3个16x16像素的CU和20个8x8像素的CU构成。
对一幅图像进行编码,就是依次对一个一个CU进行编码。在任一时刻,正在编码中的CU称为当前编码CU。对一幅图像进行解码,也是依次对一个一个CU进行解码。在任一时刻,正在解码中的CU称为当前解码CU。当前编码CU或当前解码CU都统称为当前CU。
在本发明专利申请中,CU(即编码单元)是指一幅图像中的一个区域。
在本发明专利申请中,编码块或解码块是指一幅图像中对其施行编码或解码的一个区域,也统称为编解码块。
因此,在本发明专利申请中,对于编码来说,“CU”与“编码块”是同义词,对于解码来说,“CU”与“解码块”是同义词,根据上下文,可以明确“CU”是表示“编码块”还是表示“解码块”, 如果从上下文不能明确,那么就是同时表示两者之任一。
除了像素的3分量表现格式,像素的另一种常用的现有技术的表现格式是调色板索引表现格式。在调色板索引表现格式中,一个像素的数值也可以用调色板的索引来表现。调色板空间中存储了需要被表现的像素的3个分量的数值或近似数值,调色板的地址被称为这个地址中存储的像素的索引。一个索引可以表现像素的一个分量,一个索引也可以表现像素的3个分量。调色板可以是一个,也可以是多个。在多个调色板的情形,一个完整的索引实际上由调色板编号和该编号的调色板的索引两部分组成。像素的索引表现格式就是用索引来表现这个像素。像素的索引表现格式在现有技术中也被称为像素的索引颜色(indexed color)或仿颜色(pseudo color)表现格式,或者常常被直接称为索引像素(indexed pixel)或仿像素(pseudo pixel)或像素索引或索引。索引有时也被称为指数。把像素用其索引表现格式来表现也称为索引化或指数化。
YUV色彩格式又可根据是否对色度分量进行下采样再细分成若干种子格式:1个像素由1个Y分量、1个U分量、1个V分量组成的YUV4:4:4像素色彩格式;左右相邻的2个像素由2个Y分量、1个U分量、1个V分量组成的YUV4:2:2像素色彩格式;左右上下相邻按2x2空间位置排列的4个像素由4个Y分量、1个U分量、1个V分量组成的YUV4:2:0像素色彩格式。一个分量一般用1个8~16比特的数字来表示。YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式都是对YUV4:4:4像素色彩格式施行色度分量的下采样得到。一个像素分量也称为一个像素样值(pixel sample)或简单地称为一个样值(sample)。
编码或解码时的最基本元素可以是一个像素,也可以是一个像素分量,也可以是一个像素索引(即索引像素)。作为编码或解码的最基本元素的一个像素或一个像素分量或一个索引像素统称为一个像素样值(sample),有时也通称为一个像素值,或简单地称为一个样值。
在本发明专利申请中,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词,根据上下文,可以明确是表示“像素”还是表示“一个像素分量”还是表示“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
在本发明专利申请中,CU(即编码单元)是由若干像素值组成的一个区域。CU的形状可以是矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。一幅图像中,各个CU可以具有各不相同的形状和大小。一幅图像中,某些或全部CU可以有互相重叠部分,也可以所有CU都互不重叠。一个CU,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成。
但是,现有技术中,基于邻近像素样值的帧内预测编码和基于方块(block)的帧间预测编码,都不能有效地找到图像中具有各种形状或大小的匹配图案,编码效率很低。
发明内容
为了解决图像视频编码和解码的现有技术中的这一问题,本发明提供了一种基于固定宽度可变长度的像素样值串匹配的图像编码与解码的方法和装置。
本发明的主要技术特征如图1所示。图1表示的是一幅平面格式图像的一个分量(样值)平面。但本发明也同样适用于叠包格式图像的编码和解码。
本发明的编码方法和装置中,固定宽度可变长度串匹配编码方式的最基本的特有技术特征就是在对当前编码单元CU编码时,在位置标号互不相交的第一重构参考像素样值集、第二重构参考像素样值集和第三重构参考像素样值集之中,按照预先规定的某种评估准则,搜索得到一个或多个最优的固定宽度可变长度的像素样值匹配串(也称为匹配参考串)。对找不到匹配的当前编码单元CU的样值(称为未匹配样值,也称为不可匹配样值),则从邻近样值计算出仿匹配样值(pseudo matching sample)。每个匹配串用匹配相对位置(distance)D和匹配长度(length)L这两个参数来表征。未匹配样值和/或仿匹配样值的情况则用一个标记位(flag)或匹配相对位置和匹配长度的一种特定值来表示。匹配相对位置D是第一重构参考像素样值集或第二重构参考像素样值集或第三重构参考像素样值集(以下有时统称为重构参考样值集或参考样值集或样值集或重构参考像素样值集或参考像素样值集)中找到的相应的匹配串的第一个像素样值与当前编码CU中被匹配串(也称为匹配当前串)的第一个像素样值之间的线性(1维)距离或平面(2维)距离,其单位是样值或若干样值。匹配相对位置有时也称为帧内运动矢量(Intra Motion Vector)。匹配长度L是匹配串的长度,其单位也是样值或若干样值。显然,匹配串的长度也是被匹配串的长度。固定宽度可变长度串匹配编码方式的输出是匹配串的表征参数对(D, L),(D, L)的某些特定值或者附加的标记位输出表示找不到匹配,在找不到匹配时,则从未匹配样值的邻近样值计算出仿匹配样值,输出未匹配样值和/或仿匹配样值和/或未匹配样值的变体。未匹配样值可以是未找到匹配的原始像素值或其各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等前处理的像素值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的像素值或经过多重处理与变换的像素值变体。未匹配样值的变体可以是所述未匹配样值与仿匹配样值之间的差或差的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的差或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的差或经过多重处理与变换的变体。一个匹配参考串本身可以跨越第一、第二和第三重构参考像素样值集这三个集的两个或三个,其属于哪个集由它的起始像素样值的位置来决定。第一、第二、第三重构参考像素样值集这三个参考像素样值集,除了位置上和/或重构阶段上的差别之外,可能还各自分别经过不同的处理(如颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等)或变换(如色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等)或这些处理与变换的组合。这三个参考像素样值集,虽然他们的位置标号互不相交,但他们各自对应的当前图像的三个区域仍然可能有互相重叠的部分。这三个重构参考像素样值集的一个或两个可以为空,但不能三个都为空。这三个重构参考像素样值集的输入是重构样值而输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合。
在本发明专利申请中,“重构样值”和“参考样值”有时被统称为“重构参考像素样值”。 根据上下文,可以明确“重构参考像素样值”是表示“重构样值”还是“参考样值”还是同时表示两者之任一。如果从上下文不能明确,那么就是同时表示两者之任一。
在本发明专利申请中,“重构参考样值集”和“重构参考像素样值集”是同义词,在不引起混淆的情况下,有时也被简称为“样值集”。
从匹配串的路径形状(path shape)来分,至少有4种基本匹配模式。
基本匹配模式1是垂直路径1维串形匹配的匹配模式。图1(a)的序号为m的CU(CUm)采用本匹配模式进行宽度为1的固定宽度可变长度样值串匹配。在本匹配模式中,参考样值集先以LCU序号或CU序号的顺序排列,而在一个LCU或CU内,样值逐列排列,每列中样值垂直扫描自上而下排列。这样,参考样值集最终排列成一个一维的样值串。例如,在图1(a)中,一个CU的大小是16x16样值。参考样值排列成的一维样值串中的第一个样值是序号为0的CU(CU 0)的左边第1列的顶端第一个样值。一列样值中,以垂直扫描方式自上而下排列。因此,所述一维样值串中的第二个样值是CU 0的第1列的顶端数下来第二个样值。第1列之后排列的是第2列,同样也是以垂直扫描方式自上而下排列样值。这样逐列排列一直到CU 0的第16列,之后排列的是图1(a)中序号为1的CU(CU 1)的左边第一列像素,依次类推。图1(a)所示一幅图像的一个平面中,水平方向共有h个CU。因此,序号为h-1的CU(CU h-1)的第16列样值(有16个样值)是第一个CU行(共有h个CU)的最后1列样值(有16个样值),之后排列的是序号为h的CU(CU h)的左边第1列样值(有16个样值),也就是第二个CU行的最左边1列样值(有16个样值)。图1(a)的序号为m的CU m中画出了固定宽度可变长度样值串匹配中的前3个被匹配串。
第一个被匹配串(图1(a)的CU m中用1种特选图案表示的样值串)有25个样值。在参考样值集之中找到的对应的匹配串在CU 0和CU 1中(也用同样特选图案表示),前5个样值是CU 0的第16列的最后5个样值,而后20个样值是CU 1的第1和2列中的最前20个样值,其中16个样值在第1列中,4个样值在第2列中。在适当定义了图像中样值的线性地址或平面坐标之后,匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=25。
第一个被匹配串之后,有5个未匹配样值,在图1(a)的CU m中用5个空白圆圈表示。所以需要通过计算得到5个仿匹配样值。
第二个被匹配串(图1(a)的CU m中用第2种特选图案表示的样值串)有33个样值。在参考样值集之中找到的对应的匹配串在CU 0中(也用同样特选图案表示),其前7个样值是CU 0的第3列的最后7个样值,而其最后4个样值是CU 0的第5列的最前4个样值。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=33。
第二个被匹配串之后,有1个未匹配样值,故需要通过计算得到1个仿匹配样值。
第三个被匹配串(图1(a)的CU m中用第3种特选图案表示的样值串)有21个样值。在参考样值集之中找到的对应的匹配串在CU h-1和CU h中(也用同样特选图案表示),前13个样值是CU h-1的第16列的最后13个样值,而后8个样值是CU h的第1列的最前8个样值。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=21。
基本匹配模式2是水平路径1维串形匹配的匹配模式,是上述基本匹配模式1的对偶模式。把基本匹配模式1中的“垂直”置换成“水平”,“列”置换成“行”,“ 自上而下”置换成“自左而右”,“左边”置换成“上边”,“顶端”置换成“左端”。
基本匹配模式3是垂直路径2维保形(2D-shape-preserved)匹配的匹配模式。图1(a)的序号为m+1的当前编码CU(CU m+1)采用本匹配模式进行宽度为1的固定宽度可变长度样值串匹配。在本匹配模式中,参考样值集保留原始图像平面固有的2维排列方式,而在当前编码CU内,样值则以垂直扫描方式逐列排列并且在1列内自上而下排列。在参考样值集之中搜索匹配样值串时,在当前编码CU内,被匹配样值以垂直扫描方式自上而下移动,一列扫描和匹配完了之后,接着扫描和匹配右边相邻的一列。在参考样值集之中找到的匹配样值串必须与当前编码CU中的被匹配样值串保持完全一致的2维形状。图1(a)的CU m+1中画出了采用本匹配模式的固定宽度可变长度样值串匹配中的前2个被匹配串。
第一个被匹配串(图1(a)的CU m+1中用1种特选图案表示的样值串)有31个样值。在参考样值集之中找到的对应的匹配串在CU 1和CU h+1中(也用同样特选图案表示)。这个匹配串跨越2个CU的边界,6个样值在CU 1中,而另外25个样值在CU h+1中。参考样值集之中的匹配串与当前编码CU中的被匹配串具有完全相同的2维形状,也就是,匹配串和被匹配串都分别由2列组成,第1列有16个样值,第2列有15个样值,第1列与第2列的顶部对齐,匹配串和被匹配串的垂直高度(含上、下端点样值)都是16个样值,等同于当前编码CU m+1的高度。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=31。
第一个被匹配串之后,有16个未匹配样值,故需要通过计算得到16个仿匹配样值。
第二个被匹配串(图1(a)的CU m+1中用第2种特选图案表示的样值串)有36个样值。在参考样值集之中找到的对应的匹配串跨越了CU 1,CU 2,CU h+1,CU h+2这4个CU。这个匹配串(也用同样特选图案表示)的2个样值在CU 1中,4个样值在CU 2中,15个样值在CUh+1中,15个样值在CU h+2中。参考样值集之中的匹配串与当前编码CU中的被匹配串具有完全相同的2维形状。也就是,匹配串和被匹配串都分别由4列组成,第1列有1个样值,第2、3列分别有16个样值,第4列有3个样值,第1列、第2列与第3列的底部对齐,而第2列、第3列与第4列的顶部对齐,匹配串和被匹配串的垂直高度(含上、下端点样值)都是16个样值,等同于当前编码CU m+1的高度。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=36。
基本匹配模式3的另一个版本是采用弓形路径走向(也称来回路径走向)模式的版本。所谓弓形路径走向就是相邻的列以相反的路径走向来排列样值并进行串匹配操作。图1(b)中序号为m+1的当前编码CU(CU m+1)是采用基本匹配模式3的弓形路径走向模式版本进行串匹配的一个示例。
基本匹配模式4是水平路径2维保形(2D-shape-preserved)匹配的匹配模式。基本匹配模式4是上述基本匹配模式3的对偶模式。图1(a)的序号为m+2的当前编码CU(CU m+2)采用本匹配模式进行宽度为1的固定宽度可变长度样值串匹配。在本匹配模式中,参考样值集保留原始图像平面固有的2维排列方式,而在当前编码CU内,样值则以水平扫描方式逐行排列并且在1行内从左向右排列。在参考样值集之中搜索匹配样值串时,在当前编码CU内,被匹配样值以水平扫描方式从左向右移动,一行扫描和匹配完了之后,接着扫描和匹配下边相邻的一行。在参考样值集之中找到的匹配样值串必须与当前编码CU中的被匹配样值串保持完全一致的2维形状。图1(a)的CU m+2中画出了采用本匹配模式的固定宽度可变长度样值串匹配中的前3个被匹配串。
第一个被匹配串(图1(a)的CU m+2中用1种特选图案表示的样值串)有24个样值。在参考样值集之中找到的对应的匹配串在CU 1和CU 2中(也用同样特选图案表示)。这个匹配串跨越2个CU的边界,14个样值在CU 1中,而另外10个样值在CU 2中。参考样值集之中的匹配串与当前编码CU中的被匹配串具有完全相同的2维形状。也就是,匹配串和被匹配串都分别由2行组成,第1行有16个样值,第2行有8个样值,第1行与第2行的左端对齐,匹配串和被匹配串的水平宽度(含左、右端点样值)都是16个样值,等同于当前编码CU m+2的宽度。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=24。
第一个被匹配串之后,有7个未匹配样值,故需要通过计算得到7个仿匹配样值。
第二个被匹配串(图1(a)的CU m+2中用第2种特选图案表示的样值串)有23个样值。在参考样值集之中找到的对应的匹配串在CU h和CU h+1中(也用同样特选图案表示)。这个匹配串跨越2个CU的边界,12个样值在CU h中,而另外11个样值在CU h+1中。参考样值集之中的匹配串与当前编码CU中的被匹配串具有完全相同的2维形状。也就是,匹配串和被匹配串都分别由3行组成,第1行有1个样值,第2行有16个样值,第3行有6个样值,第1行与第2行的右端对齐,第2行与第3行的左端对齐,匹配串和被匹配串的水平宽度(含左、右端点样值)都是16个样值,等同于当前编码CU m+2的宽度。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=23。
第二个被匹配串之后,有6个未匹配样值,故需要通过计算得到6个仿匹配样值。
第三个被匹配串(图1(a)的CU m+2中用第3种特选图案表示的样值串)有29个样值。在参考样值集之中找到的对应的匹配串在CU 1和CU 2中(也用同样特选图案表示)。这个匹配串跨越2个CU的边界,6个样值在CU 1中,而另外23个样值在CU 2中。参考样值集之中的匹配串与当前编码CU中的被匹配串具有完全相同的2维形状。也就是,匹配串和被匹配串都分别由3行组成,第1行有4个样值,第2行有16个样值,第3行有9个样值,第1行与第2行的右端对齐,第2行与第3行的左端对齐,匹配串和被匹配串的水平宽度(含左、右端点样值)为16个样值,等同于当前编码CU m+2的宽度。匹配相对位置D就是被匹配串的第一个样值的线性地址或平面坐标减去匹配串的第一个样值的线性地址或平面坐标。而其匹配长度L=29。
基本匹配模式4的另一个版本是采用弓形路径走向(也称来回路径走向)模式的版本。所谓弓形路径走向就是相邻的行以相反的路径走向来排列样值并进行串匹配操作。图1(b)中序号为m+2的当前编码CU(CU m+2)是采用基本匹配模式4的弓形路径走向模式版本进行串匹配的一个示例。
从以上4种基本匹配模式还可以衍生出其他各种匹配模式,如宽度为2、3、…、W个样值的匹配模式、路径走向交替变换(如奇数列自上而下移动,偶数列自下而上移动,称为垂直弓形路径走向或垂直来回路径走向)的匹配模式,等等。宽度W是固定的,并不是仅指W在一个视频序列或一幅图像中是一个常数,而是指下列情形:不同于长度L是一个独立的编解码变量参数,宽度W不是一个独立的编解码变量参数,而是一个由其他编解码变量参数确定(固定)的数,随着其他编解码变量参数的确定而固定下来,取一个固定值。例如:
例1.宽度W=1。
在以上各例中,匹配长度的单位通常是1个样值,也可以是W个样值。
本发明的解码方法和装置中,固定宽度可变长度串匹配解码方式的最基本的特有技术特征就是在对当前解码CU的压缩码流数据进行解码时,首先从码流数据中解析出该序列或该图像或该CU采用的匹配模式(如以上所述匹配模式之一),然后从码流数据中依次读出一个一个匹配串的表征参数即匹配相对位置D和匹配长度L。在得到了一个匹配串的匹配位置和匹配长度对(D, L)之后,解码工作就是根据匹配模式,从当前解码的被匹配串(也称为匹配当前串)的第一个样值的位置和匹配相对位置计算出参考样值集之中的匹配串(也称为匹配参考串)的第一个样值的位置。然后,再根据匹配模式,就可以从参考样值集之中复制长度为匹配长度L的整个匹配串的所有样值,并将整个匹配串移动和粘贴到当前解码中的被匹配串的位置,复原出整个被匹配串。对于未匹配样值(也称为不可匹配样值)所在的位置,则从已解码(已完成部分解码或完全解码)的邻近样值或边界缺省样值(当未匹配样值没有任何已解码的邻近样值的时候,如未匹配样值是一幅图像的最左上角的像素)计算出仿匹配样值补全未匹配样值的位置,或者从压缩码流中读出未匹配样值或其变体后计算出未匹配样值。这样依次复制、移动、粘贴一个一个匹配串,或者一个一个读出和/或计算出未匹配样值(包括用仿匹配样值补全未匹配样值的位置),最终复原出整个当前解码CU的所有样值。也就是说,解码一个CU时,所有的匹配当前串和不可匹配样值合起来覆盖整个CU。当一个CU内的匹配当前串有不同的固定宽度时,一个当前匹配串也可能覆盖另一个当前匹配串的一部分。这时,按照解码顺序,后解码的当前匹配串的样值取代其覆盖部分的先解码的当前匹配串的样值。在从参考样值集之中复制匹配串时,根据匹配参考串位置来决定是从第一重构参考像素样值集还是从第二重构参考像素样值集还是从第三重构参考像素样值集之中复制。一个匹配参考串本身可以跨越第一、第二和第三重构参考像素样值集这三个集的两个或三个,其属于哪个集由它的起始像素样值的位置来决定。第一、第二、第三重构参考像素样值集这三个参考像素样值集,除了位置上和/或重构阶段上的差别之外,可能还各自分别经过不同的处理(如颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等)或变换(如色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等)或这些处理与变换的组合。这三个参考像素样值集,虽然他们的位置标号互不相交,但他们各自对应的当前图像的三个区域仍然可能有互相重叠的部分。这三个重构参考像素样值集的一个或两个可以为空,但不能三个都为空。这三个重构参考像素样值集的输入是重构样值而输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合。
在对图1(a)中的CU m进行解码和重构时,首先从参考样值集之中复制长度为25的第一个样值匹配串,并将其移动和粘贴到当前解码CU中。然后从邻近样值计算出5个仿匹配样值。然后从参考样值集之中复制长度为33的第二个样值匹配串,并将其移动和粘贴到当前解码CU中。然后从邻近样值计算出4个仿匹配样值。然后从参考样值集之中复制长度为21的第三个样值匹配串,并将其移动和粘贴到当前解码CU中。重复这一过程,一直到最终复原出CU m的所有样值。
使用同样方法,可以对图1中的CU m+1和CU m+2进行解码和重构。其中图1(a)采用光栅扫描路径走向,而图1(b)采用弓形路径走向(也称来回路径走向)。
一幅图像中,可以所有CU都使用同一种匹配模式。这样解码器就仅需要从一幅图像的头信息中解析出该图像采用哪一种匹配模式,而不需要每个CU都解析出该CU采用哪一种匹配模式。编码器也仅需要在一幅图像的头信息中写入匹配模式。一个视频序列中,可以所有图像和所有CU都使用同一种匹配模式。这样解码器就仅需要从一个序列的头信息中解析出该序列采用哪一种匹配模式,而不需要每个图像、每个CU都解析出该图像、该CU采用哪一种匹配模式。编码器也仅需要在一个序列的头信息中写入匹配模式。有些CU也可以再划分成若干个子区域,各个子区域采用不同的匹配模式。
以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。
本发明专利申请中使用的术语也可以用其他来自物理学或数学的名词来称呼,如匹配相对位置也可以被称为以下别名之一:匹配位置,位置,距离,相对距离,位移量,位移矢量,移动量,移动矢量,偏移量,偏移矢量,补偿量,补偿,线性地址,地址,2维坐标,1维坐标,坐标,索引,指数,等等。匹配长度也可以被称为以下别名之一:匹配行程,匹配个数,匹配计数,匹配游程,长度,行程,个数,计数,游程,等等。串匹配也可以被称为串复制等等。
本发明的编码方法的主要特征是对一个编码块的像素样值,在重构参考像素样值集内搜索得到一个匹配参考样值子集,与所述编码块内的一个匹配当前样值子集相匹配,所述匹配参考样值子集内的样值被称为匹配样值;把在匹配编码过程中产生的与匹配解码有关的参数放入压缩码流。所述参数包括但不限于关于所述匹配参考样值子集的位置和大小的参数。所述匹配参考样值子集与所述匹配当前样值子集之间的匹配关系的参数可以用匹配相对位置和匹配长度这两个匹配参数来表示,所述匹配相对位置和所述匹配长度是对所述匹配当前样值子集进行编码的编码结果。如果所述编码块内存在未在重构参考像素样值集内找到匹配的未匹配样值(也被称为不可匹配样值),则用下列方法之一补全未匹配样值位置上缺少的编码结果:
从已经完成若干阶段的编码和重构的邻近样值计算出仿匹配样值作为编码结果
或者
从边界缺省样值计算出仿匹配样值作为编码结果
或者
直接用未匹配样值本身作为编码结果
或者
从所述仿匹配样值和所述未匹配样值本身计算出未匹配样值的变体作为编码结果。
本发明的编码方法,其流程示意图如图2(a)所示,包括如下步骤的全部或部分:
1)对一个CU的原始像素或其变体进行固定宽度可变长度串匹配编码,产生出(1)匹配相对位置及匹配长度和(2)匹配样值;也就是在位置标号互不相交的第一重构参考像素样值暂存区(即第一重构参考像素样值集)、第二重构参考像素样值暂存区(即第二重构参考像素样值集)和第三重构参考像素样值暂存区(即第三重构参考像素样值集)中,按照预先规定的匹配模式和某种评估准则,搜索得到一个或多个最优的固定宽度可变长度的像素样值匹配串(称为匹配参考串);一个匹配参考串本身可以跨越第一、第二和第三重构参考像素样值暂存区这三个暂存区中的两个或三个,其属于哪个暂存区由它的起始像素样值的位置来决定;固定宽度可变长度串匹配编码的结果是所述一个或多个匹配相对位置及匹配长度和匹配样值以及可能的未匹配样值(未找到匹配的当前编码CU的原始像素或其变体的样值,也称为不可匹配样值);所述三个重构参考像素样值集的输入是重构样值而输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
2)如果有未匹配样值,则从已经完成编码并且完成部分或完全重构的邻近样值或边界缺省样值计算出仿匹配样值,也可能可选地计算出未匹配像素的变体;输出匹配相对位置及匹配长度、仿匹配样值和/或未匹配样值和/或其变体;
3)可选地用仿匹配样值补全未匹配样值的位置;把所述匹配样值和所述未匹配样值和/或所述仿匹配样值作为第一重构参考像素样值放入所述第一重构参考像素样值暂存区;输出匹配相对位置及匹配长度和可选的未匹配样值或其变体等固定宽度可变长度串匹配方式的表征参数;这些表征参数经过后续的熵编码(也包括分别可选的基于1维或2维邻近参数的一阶或高阶差分编码、预测编码、匹配编码、映射编码、变换编码、量化编码、索引编码、游程编码以及二值化编码等)后被写入压缩码流。
在以上本发明的编码方法的一个实施例中,对所述第二重构参考像素样值集的第二重构像素进行去块效应滤波和像素补偿,产生第三重构像素。
本发明的解码方法的主要特征是解析压缩码流,通过熵解码和分别可选的基于1维或2维邻近样值的一阶或高阶差分解码、预测解码、匹配解码、映射解码、逆变换解码、反量化解码、索引解码、游程解码以及二值化解码获取与匹配解码有关的参数。根据所述参数,对一个解码块,从重构参考像素样值集内的一个位置复制一个匹配参考样值子集,并将所述匹配参考样值子集的全部样值(被称为匹配样值)移动和粘贴到所述解码块的当前解码位置,得到一个匹配当前样值子集。所述参数包括但不限于关于所述匹配参考样值子集的位置和大小的参数。使用匹配相对位置及匹配长度这两个表示匹配关系的匹配参数以及所述当前解码位置来确定所述匹配参考样值子集的位置和大小。如果在所述解码块的当前解码位置上没有来自重构参考像素样值集的匹配参考样值子集,则用下列方法之一补全所述当前解码位置上缺少的当前样值:
从已经完成若干阶段的解码和重构的邻近样值计算出仿匹配样值作为当前样值
或者
从边界缺省样值计算出仿匹配样值作为当前样值
或者
直接用输入的未匹配样值本身作为当前样值
或者
从所述仿匹配样值和输入的未匹配样值的变体计算出未匹配样值作为当前样值。
本发明的解码方法,其流程示意图如图2(b)所示,包括如下步骤的全部或部分:
1)解析压缩码流,获取与匹配解码有关的输入参数,使用获取的输入匹配参数匹配相对位置及匹配长度进行固定宽度可变长度串匹配解码;也就是从位置标号互不相交的第一重构参考像素样值暂存区(即第一重构参考像素样值集)或第二重构参考像素样值暂存区(即第二重构参考像素样值集)或第三重构参考像素样值暂存区(即第三重构参考像素样值集)中,按照已知的匹配模式和固定宽度,复制长度为匹配长度的整个匹配串(称为匹配参考串)的所有样值,并将整个匹配串移动和粘贴到当前解码CU中的被匹配串(也称为匹配当前串)的位置,复原出整个被匹配串;一个匹配参考串本身可以跨越第一、第二和第三重构参考像素样值暂存区这三个暂存区中的两个或三个,其属于哪个暂存区由它的起始像素样值的位置来决定;第一、第二、第三重构参考像素样值集这三个参考像素样值集,除了位置上和/或重构阶段上的差别之外,可能还各自分别经过不同的处理(如颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等)或变换(如色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等)或这些处理与变换的组合。这三个重构参考像素样值集,虽然他们的位置标号互不相交,但他们各自对应的当前图像的三个区域仍然可能有互相重叠的部分;这三个重构参考像素样值集的一个或两个可以为空,但不能三个都为空;这三个重构参考像素样值集的输入是重构样值而输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
2)如果输入的匹配相对位置及匹配长度的特定值或者附加的标记位表明在当前解码中的被匹配串(样值)的位置上没有来自第一重构参考像素样值暂存区或第二重构参考像素样值暂存区或第三重构参考像素样值暂存区的匹配样值,即在当前解码位置缺少匹配样值,则从已完成部分解码或完全解码的邻近样值或边界缺省样值计算出仿匹配样值;也可能可选地读取输入的未匹配样值或其变体,或可选地计算出未匹配样值;
3)可选地用仿匹配样值补全未匹配样值位置上缺少的匹配样值;把步骤1)复制的匹配样值和步骤2)计算的仿匹配样值和/或步骤2)从输入读取的未匹配样值和/或步骤2)从输入读取后再计算的未匹配样值合起来得到匹配解码的完整的第一重构像素的样值,并把所述第一重构像素的样值放入所述第一重构参考像素样值暂存区;
使用以上3个步骤依次复制、移动、粘贴一个一个匹配串,或者一个一个读出和/或计算出未匹配样值(包括用仿匹配样值补全未匹配样值的位置),最终复原出整个当前解码CU的所有样值;也就是说,解码一个CU时,所有的匹配当前串和不可匹配样值合起来覆盖整个CU;当一个CU内的匹配当前串有不同的固定宽度时,一个当前匹配串也可能覆盖另一个当前匹配串的一部分;这时,按照解码顺序,后解码的当前匹配串的样值取代其覆盖部分的先解码的当前匹配串的样值。
在以上本发明的解码方法的一个实施例中,对所述第二重构参考像素样值集的第二重构像素进行去块效应滤波和像素补偿,产生第三重构像素。
本发明的编码装置,其示意图如图3(a)所示,由以下模块的全部或部分组成:
1)固定宽度可变长度的串匹配搜索编码模块:对输入视频像素样值施行固定宽度可变长度的串匹配编码,在位置标号互不重叠的第一重构参考像素样值暂存模块(暂存第一重构参考像素样值集的样值)、第二重构参考像素样值暂存模块(暂存第二重构参考像素样值集的样值)和第三重构参考像素样值暂存模块(暂存第三重构参考像素样值集的样值)中,搜索固定宽度可变长度的最优匹配串(称为匹配参考串),并输出(1)最优匹配串的匹配样值、(2)最优匹配串的匹配相对位置D及匹配长度L,(3)可能的未匹配样值,即未找到匹配的当前编码中的原始像素或其变体的样值,也称为不可匹配样值;一个匹配参考串本身可能跨越第一、第二和第三重构参考像素样值集的两个或三个,其属于哪个集由它的起始像素样值的位置来决定;所述三个重构参考像素样值集的输入是重构样值而输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
2)从邻近样值计算仿匹配样值模块:如果对某些输入视频像素样值,在第一重构参考像素样值暂存模块、第二重构参考像素样值暂存模块和第三重构参考像素样值暂存模块中,都没有找到任何最优匹配样值,即这些输入视频像素样值是未匹配样值,则从已经完成编码并且完成部分或完全重构的邻近样值或边界缺省样值计算出仿匹配样值;也可能可选地计算出未匹配像素的变体;输出匹配相对位置及匹配长度、仿匹配样值和/或未匹配样值和/或其变体;
3)用仿匹配样值补全未匹配样值模块:用计算出来的所述仿匹配样值补全没有找到任何最优匹配样值的所述未匹配样值的位置;模块1)搜索找到的所述匹配样值与所述未匹配样值和/或模块2)计算得到的所述仿匹配样值合在一起就是放入所述第一重构参考像素样值暂存模块的第一重构像素样值;本模块可以被旁路,这时,模块1)搜索找到的所述匹配样值与所述未匹配样值合在一起就是放入所述第一重构参考像素样值暂存模块的第一重构像素样值;本模块输出匹配相对位置及匹配长度和可选的未匹配样值或其变体等固定宽度可变长度串匹配方式的表征参数;这些表征参数经过后续的熵编码(也包括但不限于分别可选的基于1维或2维邻近参数的一阶或高阶差分编码、预测编码、匹配编码、映射编码、变换编码、量化编码、索引编码、游程编码以及二值化编码等)后被写入压缩码流;本模块也可能可选地输出所述匹配样值与所述仿匹配样值和/或所述未匹配样值;
4)第一重构参考像素样值暂存模块:用来暂存由找到的所述匹配样值与所述未匹配样值和/或计算的所述仿匹配样值合在一起形成的第一重构像素的样值,用作后续串匹配搜索编码时的第一参考像素样值。
在以上本发明的编码装置的一个实施例中,对所述第二重构参考像素样值集的第二重构像素进行去块效应滤波和像素补偿运算,产生第三重构像素。
本发明的解码装置,其示意图如图3(b)所示。由以下模块的全部或部分组成:
1)固定宽度可变长度的串匹配解码模块:本模块的功能是对从压缩码流中获取的输入的固定宽度可变长度匹配串的匹配相对位置及匹配长度施行解码运算,即按照已知的匹配模式和固定宽度,从位置标号互不相交的第一重构参考像素样值暂存模块(暂存第一重构参考像素样值集的样值)或第二重构参考像素样值暂存模块(暂存第二重构参考像素样值集的样值)或第三重构参考像素样值暂存模块(暂存第三重构参考像素样值集的样值)中由匹配相对位置指定的地方复制得到长度为匹配长度的整个匹配串(即匹配参考串),然后把所述整个匹配串移动和粘贴到当前解码CU中的当前被匹配串(即匹配当前串)的位置,在当前解码CU中复原出整个被匹配串;一个匹配参考串本身可能跨越第一、第二和第三重构参考像素样值集的两个或三个,其属于哪个集由它的起始像素样值的位置来决定;第一、第二、第三重构参考像素样值集这三个参考像素样值集,除了位置上和/或重构阶段上的差别之外,可能还各自分别经过不同的处理(如颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等)或变换(如色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等)或这些处理与变换的组合。这三个重构参考像素样值集,虽然他们的位置标号互不相交,但他们各自对应的当前图像的三个区域仍然可能有互相重叠的部分;这三个重构参考像素样值集的一个或两个可以为空,但不能三个都为空;这三个重构参考像素样值集的输入是重构样值而输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体即经过惯用处理和/或变换后的值,如经过颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
2)从邻近样值计算仿匹配样值模块:如果输入的匹配相对位置及匹配长度的特定值或者附加的标记位表明在当前解码中的被匹配串(样值)的位置上没有来自第一重构参考像素样值暂存模块或第二重构参考像素样值暂存模块或第三重构参考像素样值暂存模块的匹配样值,即在当前解码位置缺少匹配样值,则从已完成部分解码或完全解码的邻近样值或边界缺省样值计算出仿匹配样值;也可能可选地读取输入的未匹配样值或其变体,或可选地计算出未匹配样值;
3)用仿匹配样值补全未匹配样值模块:可选地用计算出来的仿匹配样值补全在第一、第二或第三重构参考像素样值暂存模块中不存在任何匹配样值的当前解码位置上的像素样值;模块1)复制和粘贴的匹配样值与模块2)计算的仿匹配样值和/或模块2)从输入得到的未匹配样值和/或模块2)从输入得到后再计算的未匹配样值合在一起就是匹配解码的第一重构像素的样值,也是本模块的输出;本模块可以被旁路,这时,模块1)复制和粘贴的匹配样值与模块2)从输入得到的未匹配样值合在一起就是匹配解码的第一重构像素的样值;
4)第一重构参考像素样值暂存模块:用来暂存所述第一重构像素的样值,用作后续固定宽度可变长度串匹配解码的第一参考像素的样值。
在以上本发明的解码装置的一个实施例中,对所述第二重构参考像素样值集的第二重构像素进行去块效应滤波和像素补偿等后处理运算,产生第三重构像素。
以上所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明直接有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
附图说明
图1是宽度为1个像素样值的固定宽度可变长度像素样值串匹配编码示意图,其中图1(a)采用光栅扫描路径走向,而图1(b)采用弓形路径走向(也称来回路径走向)。
图2(a)是本发明中固定宽度可变长度像素样值串匹配编码方法核心流程示意图,图中CU也可以是PU或LCU或CTU或编码块。
图2(b)是本发明中固定宽度可变长度像素样值串匹配解码方法核心流程示意图。
图3(a)是本发明中定宽变长像素样值串匹配编码装置的核心模块组成示意图。
图3(b)是本发明中定宽变长像素样值串匹配解码装置的核心模块组成示意图。
图4是本发明的位置标号互不相交的第一、第二和第三重构参考像素样值集(暂存区、暂存模块)的两个实施例,其中(a)的第一和第二重构参考像素样值集都在当前图像帧中,第三重构参考像素样值集不为空,但(b)的第一和第二重构参考像素样值集分别在当前图像帧和当前图像帧之前的若干图像帧中,且分别尚未经过和已经完成去块效应滤波、像素补偿运算,第三重构参考像素样值集为空。
具体实施方式
以下是本发明的更多的实施细节和变体。
本发明也同样适用于索引像素的编码块或解码块的编码或解码。
本发明的分量平面格式图像的固定宽度可变长度串匹配编码和解码,如果应用于YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式等对色度分量U和V进行下采样的情形,那么Y平面的匹配相对位置和匹配长度应用到U平面和V平面时,要根据下采样的比例对匹配相对位置和匹配长度进行相应的变换和调整。
第一重构参考像素样值集通常是离当前编码或解码样值最接近的位置上的已完成阶段性重构(处于其特有重构阶段)的第一重构参考像素样值。第二重构参考像素样值集通常是比第一重构参考像素样值集更前面的位置上的已完成阶段性重构(处于其特有重构阶段)的第二重构参考像素样值。第三重构参考像素样值集则通常是比第二重构参考像素样值集更前面的位置上的已完成阶段性重构(处于其特有重构阶段)的第三重构参考像素样值。图4(a)是位置标号互不相交的第一、第二、第三重构参考像素样值集(暂存区或暂存模块)的一个实施例。第一重构参考像素样值集是当前正在编码或解码的CU中已经完成阶段性重构(处于其特有重构阶段)的位置上的第一重构参考像素样值。第二重构参考像素样值集是当前正在编码或解码的LCU m中已经完成阶段性重构(处于其特有重构阶段)的CU(不包括当前正在编码或解码的CU)的位置上的第二重构参考像素样值,以及前一个刚完成阶段性重构(处于其特有重构阶段)的LCU m-1的位置上的第二重构参考像素样值。第三重构参考像素样值集则是更早完成阶段性重构(处于其特有重构阶段)的LCU m-2、LCU m-3、LCU m-4、… … 等若干个LCU的位置上的第三重构参考像素样值。图4(b)是位置标号互不相交并且对应的两个区域无互相重叠部分的第一、第二重构参考像素样值集(暂存区或暂存模块)的一个实施例。第一重构参考像素样值集由段号[0061]、段号[0064]、段号[0066]、段号[0068]中所述第二重构像素,即已完成阶段性重构但尚未经过去块效应滤波和像素补偿等后处理运算的重构像素样值在当前图像中的部分组成。第二重构参考像素样值集由[0061]、段号[0064]、段号[0066]、段号[0068]中所述第三重构像素,即已进行去块效应滤波和像素补偿等后处理运算的重构像素样值在当前图像之前的已完成编解码的图像中的部分组成。
第一、第二、第三重构参考像素样值集的一个或两个可以为空,但不能三个都为空。
实施和变体例1 重构参考像素样值集是出现频度较高因而匹配概率较大的重构像素样值,而串匹配是点匹配
第一重构参考像素样值集由出现频度较高因而匹配概率较大的部分重构像素样值组成,仅用来进行匹配长度为1的串匹配(这种特殊的串匹配也被称为点匹配);所述第一重构参考像素样值集内的每一个像素样值都有一个唯一的地址,当前CU的当前样值在所述第一重构参考像素样值集内找到的串匹配的匹配长度都是1而匹配相对位置就是匹配参考串的第一个样值(也是唯一的参考样值)的地址;所述第一重构参考像素样值集也被称为点匹配重构参考像素样值集或点匹配参考集或调色板,所述匹配相对位置即所述地址也被称为索引。
实施和变体例2 点匹配重构参考像素样值集的更新和样值数目变化
编码或解码一个当前编码块或当前解码块时,点匹配重构参考像素样值集的更新包括但不限于下列情形之一:
1)不更新,
2)更新部分内容,
3)更新全部内容;
编码或解码一个当前编码块或当前解码块时,点匹配重构参考像素样值集内的内容(参考样值)按照预先规定的策略(如根据样值在历史重构图像中出现的频度)来更新,点匹配重构参考像素样值集内的参考样值的数目也按照预先规定的策略而变化;在压缩码流的编码块或解码块或PU或CU或CTU或LCU部分压缩码流段含有但不限于载入了下列参数或其变体的语法元素的全部或部分:
是否需要更新点匹配参考集的标记位:pt_matching_ref_set_update_flag
需要更新的点匹配参考集的样值的数目:pt_matching_ref_set_update_num
当pt_matching_ref_set_update_flag取一个值时表示需要更新点匹配参考集,当pt_matching_ref_set_update_flag取另一个值时表示不需要更新点匹配参考集;当不需要更新点匹配参考集时,码流段中不存在pt_matching_ref_set_update_num,当需要更新点匹配参考集时,pt_matching_ref_set_update_num指定了需要更新的点匹配参考集的样值的数目。
实施和变体例3 匹配参数是单分量参数或双分量参数或三分量参数
匹配相对位置Di或其变体是单分量参数或双分量参数或三分量参数;所述匹配相对位置Di或其变体对应的压缩码流中的语法元素具有但不限于下列形式之一:
一个匹配串的匹配相对位置Di或其变体对应的语法元素:d(一个分量,如位置线性地址或索引)
或者
一个匹配串的匹配相对位置Di或其变体对应的语法元素:d[0], d[1](两个分量,如位置水平分量,位置垂直分量或样值集编号,位置线性地址)
或者
一个匹配串的匹配相对位置Di或其变体对应的语法元素:d[0], d[1], d[2](三个分量,如样值集编号,位置水平分量,位置垂直分量)
匹配长度Li或其变体是单分量参数或双分量参数或三分量参数;所述匹配长度Li或其变体对应的压缩码流中的语法元素具有但不限于下列形式之一:
一个匹配串的匹配长度Li或其变体对应的语法元素:r(一个分量)
或者
一个匹配串的匹配长度Li或其变体对应的语法元素:r[0], r[1](两个分量)
或者
一个匹配串的匹配长度Li或其变体对应的语法元素:r[0], r[1], r[2](三个分量)
未匹配像素Pi或其变体是单分量参数或双分量参数或三分量参数;所述未匹配像素Pi或其变体对应的压缩码流中的语法元素具有但不限于下列形式之一:
未匹配像素Pi或其变体对应的语法元素:p(一个分量)
或者
未匹配像素Pi或其变体对应的语法元素:p[0], p[1](两个分量)
或者
未匹配像素Pi或其变体对应的语法元素:p[0], p[1], p[2](三个分量)。
实施和变体例4 匹配串和其匹配相对位置及匹配长度的例(复制左边,复制上边)
匹配参考串和匹配当前串可以有互相重叠的样值位置,即匹配串的匹配相对位置D和匹配长度L满足下列关系:D<L;这时,匹配当前串的L个样值是匹配参考串的第一个样值与匹配当前串的第一个样值之间的D个样值(即匹配当前串的第一个样值之前的D个样值)的重复,也就是:
当D=1<L时,匹配当前串是匹配当前串的第一个样值(即当前样值)之前的那个样值P重复L次:PPP……PP,即匹配当前串的L个样值都是P;
当D=2<L而L是偶数时,匹配当前串是当前样值之前的两个样值P1P2重复L/2次:P1P2P1P2……P1P2,即匹配当前串的L个样值都是P1P2的重复;
当D=2<L而L是奇数时,匹配当前串是当前样值之前的两个样值P1P2重复(L-1)/2次后再加上P1:P1P2P1P2……P1P2P1,即匹配当前串的L个样值都是P1P2的重复,最后再加上P1;
当D=3<L时,匹配当前串是当前样值之前的三个样值P1P2P3的重复一直到匹配长度达到L;
当D=4<L时,匹配当前串是当前样值之前的四个样值P1P2P3P4的重复一直到匹配长度达到L;
当D<L时,匹配当前串是当前样值之前的D个样值P1P2……PD-1PD的重复一直到匹配长度达到L;
或者
在一个水平(或垂直)方向的总样值数为X的CU内,匹配参考串在匹配当前串的相邻正上方(或正左边),即匹配串的匹配相对位置D和匹配长度L满足下列关系:D=X,L≤X;当这种情况出现的频度很高时,D=X用一个特殊的较短的码放入码流;
或者
在一个水平(或垂直)方向的总样值数为X的CU内,匹配参考串在匹配当前串的正上方(或正左边)但并不一定相邻,即匹配串的匹配相对位置D满足下列关系:D=nX;当这种情况出现的频度很高时,D=nX用若干特殊的较短的码来表示n并放入码流。
实施和变体例5 参考像素样值是重构像素样值的变体的例
参考像素样值是重构像素样值经过数值量化和反量化运算的样值;
或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,计算一次之后,不再变动;
或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用编码或解码量化参数来计算;
或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用参考像素样值所在CU的编码或解码量化参数来计算;
或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用参考像素样值所在CU的编码或解码量化参数来计算,计算一次之后,不再变动;
或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用当前CU的编码或解码量化参数来计算;
或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用当前CU的编码或解码量化参数来计算,每编码或解码一个CU,要重新计算一次;
或者
参考像素样值是重构像素样值经过颜色量化的样值;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用基于颜色的像素聚类获得的一个调色板来计算;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与参考像素样值所在编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与参考像素样值所在编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算,计算一次之后,不再变动;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与参考像素样值所在编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的动态更新部分内容的调色板来计算,计算一次之后,不再变动;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与当前编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与当前编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算,每编码或解码一个编码块或解码块或PU或CU或CTU或LCU,要重新计算一次;
或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个全局的基于颜色的像素聚类获得的调色板来计算。
实施和变体例6 匹配相对位置的变体即经过惯用处理和/或变换后的值(差分等)和格式(1维或2维等)
非空的第一、第二、第三重构参考像素样值集的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个2维的数组,区域和数组中每个样值都有一个区域编号和一个平面坐标,匹配当前串的匹配相对位置是对应的匹配参考串的第一个样值的区域编号和平面坐标减去所述匹配当前串的第一个样值的区域编号和平面坐标;所述匹配相对位置在压缩数据比特流中对应的语法元素是所述匹配相对位置经过熵编码的语法元素;所述匹配相对位置通常是一个三变量参数即有3个分量;
或者
非空的第一、第二、第三重构参考像素样值集的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个2维的数组,区域和数组中每个样值都有一个区域编号和一个平面坐标,匹配当前串的匹配相对位置是对应的匹配参考串的第一个样值的区域编号和平面坐标减去所述匹配当前串的第一个样值的区域编号和平面坐标;所述匹配相对位置在压缩数据比特流中对应的语法元素是所述匹配相对位置与其他匹配相对位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述匹配相对位置通常是一个三变量参数即有3个分量。
实施和变体例7 参考像素样值集扩展成多于三个
三个参考像素样值集被扩展成四个参考像素样值集,即除了第一、第二、第三重构参考像素样值集之外,还有第四重构参考像素样值集,匹配参考串来自所述四个参考像素样值集之一;
或者
三个参考像素样值集被扩展成五个参考像素样值集,即除了第一、第二、第三重构参考像素样值集之外,还有第四、第五重构参考像素样值集,匹配参考串来自所述五个参考像素样值集之一;
或者
三个参考像素样值集被扩展成六个参考像素样值集,即除了第一、第二、第三重构参考像素样值集之外,还有第四、第五、第六重构参考像素样值集,匹配参考串来自所述六个参考像素样值集之一;
或者
三个参考像素样值集被扩展成N(通常N小于10)个参考像素样值集,即除了第一、第二、第三重构参考像素样值集之外,还有第四、第五、……、第N个重构参考像素样值集,所述匹配参考串来自所述N个参考像素样值集之一。
实施和变体例8 定宽度变长度像素样值串匹配和参考像素样值集扩展到多帧图像
定宽度变长度像素样值串匹配的参考像素样值集从当前图像扩展到当前图像之前已经完成阶段性重构(处于各重构阶段)的N(N<15)帧图像,处于各重构阶段的当前图像帧和当前图像之前的N帧图像,一共N+1帧重构图像;
或者
第一、第二、第三重构参考像素样值集在当前图像中,第四重构参考像素样值集在已经完成阶段性重构(处于各重构阶段)的前一帧图像中;
或者
第一、第二重构参考像素样值集在当前图像中,第三重构参考像素样值集跨越当前图像和已经完成阶段性重构(处于各重构阶段)的前一帧图像,即部分在当前图像中,部分在已经完成阶段性重构(处于各重构阶段)的前一帧图像中;
或者
第一重构参考像素样值集在当前图像中,第二重构参考像素样值集跨越当前图像和已经完成阶段性重构(处于各重构阶段)的前一帧图像,即部分在当前图像中,部分在已经完成阶段性重构(处于各重构阶段)的前一帧图像中,第三重构参考像素样值集也跨越当前图像和已经完成阶段性重构(处于各重构阶段)的前一帧图像,即部分在当前图像中,部分在已经完成阶段性重构(处于各重构阶段)的前一帧图像中。
实施和变体例9 段号[0061]、段号[0064]、段号[0066]、段号[0068]的实施例中所述第二重构像素和所述第三重构像素分别构成第一重构参考像素样值集和第二重构参考像素样值集并且分别在段号[0088]的实施和变体例8中所述当前图像中和当前图像之前若干帧图像中,结合段号[0086]的实施和变体例6中所述匹配相对位置是对应的匹配参考串的第一个样值的区域编号和平面坐标减去所述匹配当前串的第一个样值的区域编号和平面坐标,通常是一个三变量参数即有3个分量的实施例
一种数据压缩的编码方法或解码方法或者编码装置或解码装置,其特征在于:
采用至少匹配参考样值子集和匹配当前样值子集进行像素样值子集匹配编解码,由至少匹配相对位置表示参考像素样值的位置,
采用至少由第一重构参考像素样值集和第二重构参考像素样值集构成的解码图像缓冲区或参考图像缓冲区或参考图像队列,
第一重构参考像素样值集由当前图像中已完成阶段性重构但尚未经过去块效应滤波和像素补偿等后处理运算的重构像素样值组成,
第二重构参考像素样值集由当前图像之前的已完成编解码的若干帧图像中已进行去块效应滤波和像素补偿等后处理运算的重构像素样值组成。
优选地,显而易见,作为第一重构参考像素样值集的当前图像的重构图像,在完成了对所述当前图像的全部编解码和重构以及去块效应滤波和像素补偿等后处理运算之后,就成为对“后续的当前图像”来说的第二重构参考像素样值集。
优选地,所述匹配相对位置是所述匹配参考样值子集(或匹配参考串或匹配参考块)的第一个样值的区域编号和平面坐标与所述匹配当前样值子集(或匹配当前串或匹配当前块)的第一个样值的区域编号和平面坐标之间的相对值,通常是一个三变量参数即由下列3个分量组成:
第一个分量是匹配参考样值子集所在图像帧区域的图像帧编号与匹配当前样值子集(或当前样值串或当前样值块)所在图像帧区域的图像帧编号之相对值,也称为参考帧索引,
第二个分量和第三个分量分别是匹配参考样值子集的图像坐标与匹配当前样值子集(或当前样值串或当前样值块)的图像坐标之差的水平分量和垂直分量,也合称为位移矢量或移动矢量或运动矢量。
优选地,当所述匹配相对位置或其一个分量或参考帧索引的值表示匹配参考样值子集在当前图像帧中时,参考像素样值来自第一重构参考像素样值集,是已完成阶段性重构但尚未经过去块效应滤波和像素补偿等后处理运算的重构像素样值,而当所述匹配相对位置或其一个分量或参考帧索引的值表示匹配参考样值子集在当前图像帧之前的某个图像帧中时,参考像素样值来自第二重构参考像素样值集,是已进行去块效应滤波和像素补偿等后处理运算的重构像素样值。
实施和变体例10 段号[0078]中列举的图4(a)所示的第一重构参考像素样值集的实施例、段号[0081]的实施和变体例1、段号[0084]的实施和变体例4相结合并且采用段号[0051]中描述的弓形路径走向(也称来回路径走向)的重新描述的例
一种数据压缩的编码方法或解码方法或者编码装置或解码装置,其特征在于:
至少采用宽度为一个像素样值的固定宽度变长度像素样值串匹配,
采用段号[0051]中描述的水平弓形路径走向或垂直弓形路径走向对编解码块的像素样值进行扫描并进行串匹配操作。
优选地,所述像素样值是像素索引;
优选地,至少采用第一重构参考像素样值集和第二重构参考像素样值集,
第一重构参考像素样值集是段号[0078]中列举的图4(a)所示的第一重构参考像素样值集的实施例,即由当前正在编码或解码的CU(或编解码块)中已经完成阶段性重构(处于其特有重构阶段)的位置上的重构参考像素样值组成,用来进行段号[0084]的实施和变体例4中描述的下列特定匹配相对位置的串匹配:
在编解码块采用水平扫描方式的时候,匹配参考串(也称参考样值串)在匹配当前串(也称当前样值串)的相邻正上方,
在编解码块采用垂直扫描方式的时候,匹配参考串(也称参考样值串)在匹配当前串(也称当前样值串)的相邻正左方;
第二重构参考像素样值集是段号[0081]的实施和变体例1中的第一重构参考像素样值集,即由出现频度较高因而匹配(从解码的角度,也称为复制)概率较大的部分重构像素样值组成,用来进行匹配串(从解码的角度,也称为复制串)长度为1即仅有单个参考像素样值的串匹配(从解码的角度,也称为串复制)即点匹配(从解码的角度,也称为点复制),而匹配长度(从解码的角度,也称为复制长度)是被匹配串(也称当前样值串)的长度,表示所述单个参考像素样值在当前编解码块中当前样值串位置上的重复次数;如段号[0081]的实施和变体例1中所描述的,在这种情形,所述第二重构参考像素样值集也被称为点匹配重构参考像素样值集或点匹配参考集或调色板,而匹配相对位置就是参考集或调色板的地址,也被称为索引。
优选地,所述第一重构参考像素样值集是当前编解码块中已完成编解码和重构的像素索引;所述像素索引也是所述调色板的地址或称为索引。