CN105491376B - 图像编码、解码方法及装置 - Google Patents
图像编码、解码方法及装置 Download PDFInfo
- Publication number
- CN105491376B CN105491376B CN201510623173.3A CN201510623173A CN105491376B CN 105491376 B CN105491376 B CN 105491376B CN 201510623173 A CN201510623173 A CN 201510623173A CN 105491376 B CN105491376 B CN 105491376B
- Authority
- CN
- China
- Prior art keywords
- decoding
- coding
- copy
- code stream
- pixel
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
Abstract
本发明提供了一种图像编码、解码方法及装置,其中,对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部;或者,解析码流,获得解码块的解码参数;根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
Description
技术领域
本发明涉及一种数字视频压缩编码及解码系统,具体而言,涉及一种图像编码、解码方法及装置。
背景技术
随着以远程桌面为典型表现形式的新一代云计算与信息处理模式及平台的发展和普及,多台计算机之间、计算机主机与智能电视、智能手机、平板电脑等其他数字设备之间及各种各类数字设备之间的互联已经成为现实并日趋成为一种主流趋势。这使得服务器端(云)到用户端的实时屏幕传输成为当前的迫切需求。由于需要传输的屏幕视频数据量很大,以平板电脑2048x1536像素分辨率且60帧/秒刷新率的24位真彩色屏幕图像为例,需要传输的数据达每秒2048x1536x60x24=4320兆比特,如此多的数据要想在现实的网络条件下实现实时传输是不可能的,因此对于计算机屏幕图像的有效的数据压缩必不可少。
充分利用计算机屏幕图像的特点,对计算机屏幕图像进行超高效率的压缩,也是正在制定中的最新国际视频压缩标准HEVC(High Efficiency Video Coding)和其他若干国际标准、国内标准、行业标准的一个主要目标。
屏幕图像的数字视频信号的自然形式是图像的序列。一帧图像通常是由若干像素组成的矩形区域,如果一个数字视频信号每秒有50帧图像,那么一段30分钟的数字视频信号就是一个由30x60x50=90000帧图像组成的视频图像序列,有时也简称为视频序列或序列。对数字视频信号进行编码就是对一帧一帧图像进行编码。在任一时刻,正在编码中的那一帧图像称为当前编码图像。同样,对数字视频信号的码流(码流也称为比特流)进行解码就是对一帧一帧图像的码流进行解码。在任一时刻,正在解码中的那一帧图像称为当前解码图像。当前编码图像或当前解码图像都统称为当前图像。
在几乎所有视频图像编码的国际标准如MPEG-1/2/4,H.264/AVC以及HEVC中,对一帧图像进行编码时,把一帧图像划分成若干块MxM像素的子图像,称为“编码单元(CodingUnit简称CU)”,以CU为基本编码单位,对子图像一块一块进行编码。常用的M的大小是4,8,16,32,64。因此,对一个视频图像序列进行编码就是对各帧图像的各个编码单元即CU依次一个一个CU进行编码。在任一时刻,正在编码中的CU称为当前编码CU。同样,对一个视频图像序列的码流进行解码也是对各帧图像的各个CU依次一个一个CU进行解码,最终重构出整个视频图像序列。在任一时刻,正在解码中的CU称为当前解码CU。当前编码CU或当前解码CU统称为当前CU。
为适应一帧图像内各部分图像内容与性质的不同,有针对性地进行最有效的编码,一帧图像内各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构成。由于一个LCU内的各个CU呈树状结构,LCU的另一个名称是编码树单元(Coding Tree Unit简称CTU)”。在HEVC国际标准中,LCU与CTU是同义词。
CU也可以再进一步被划分成若干子区域。子区域包括但不限于预测单元(PU),变换单元(TU),不对称划分(AMP)。
在本发明和本发明专利申请中,CU(即编码单元)有两种含义,一种含义是HEVC定义的含义,另一种含义是一帧图像中的一个区域。根据上下文,可以明确“CU”是哪种含义,如果从上下文不能明确,那么就是同时表示两者之任一。
在本发明和本发明专利申请中,编码块或解码块是指一帧图像中对其施行编码或解码的一个区域。
因此,在本发明和本发明专利申请中,对于编码来说,“CU”的另一种含义与“编码块”是同义词,对于解码来说,“CU”的另一种含义与“解码块”是同义词,根据上下文,可以明确“CU”是表示“编码块”还是表示“解码块”,如果从上下文不能明确,那么就是同时表示两者之任一。
一个彩色像素通常有3个分量(component)组成。最常用的两种像素色彩格式(pixel color format)是由绿色分量、蓝色分量、红色分量组成的GBR色彩格式和由一个亮度(luma)分量及两个色度(chroma)分量组成的YUV色彩格式。通称为YUV的色彩格式实际包括多种色彩格式,如YCbCr色彩格式。因此,对一个CU进行编码时,可以把一个CU分成3个分量平面(G平面、B平面、R平面或Y平面、U平面、V平面),对3个分量平面分别进行编码;也可以把一个像素的3个分量捆绑组合成一个3元组,对由这些3元组组成的CU整体进行编码。前一种像素及其分量的排列方式称为图像(及其CU)的平面格式(planar format),而后一种像素及其分量的排列方式称为图像(及其CU)的叠包格式(packed format)。像素的GBR色彩格式和YUV色彩格式都是像素的3分量表现格式。
除了像素的3分量表现格式,像素的另一种常用的现有技术的表现格式是调色板索引表现格式。在调色板索引表现格式中,一个像素的数值也可以用调色板的索引来表现。调色板空间中存储了需要被表现的像素的3个分量的数值或近似数值,调色板的地址被称为这个地址中存储的像素的索引。一个索引可以表现像素的一个分量,一个索引也可以表现像素的3个分量。调色板可以是一个,也可以是多个。在多个调色板的情形,一个完整的索引实际上由调色板编号和该编号的调色板的索引两部分组成。像素的索引表现格式就是用索引来表现这个像素。像素的索引表现格式在现有技术中也被称为像素的索引颜色(indexed color)或仿颜色(pseudo color)表现格式,或者常常被直接称为索引像素(indexed pixel)或仿像素(pseudo pixel)或像素索引或索引。索引有时也被称为指数。把像素用其索引表现格式来表现也称为索引化或指数化。
其他的常用的现有技术的像素表现格式包括CMYK表现格式和灰度表现格式。
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像素色彩格式施行色度分量的下采样得到。一个像素分量也称为一个像素样值或简单地称为一个样值。
编码或解码时的最基本元素可以是一个像素,也可以是一个像素分量,也可以是一个像素索引(即索引像素)。作为编码或解码的最基本元素的一个像素或一个像素分量或一个索引像素统称为一个像素样值,有时也通称为一个像素值,或简单地称为一个样值。
在本发明和本发明专利申请中,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词,根据上下文,可以明确是表示“像素”还是表示“一个像素分量”还是表示“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
在本发明和本发明专利申请中,CU是由若干像素值组成的一个区域。CU的形状可以是矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。一帧图像中,各个CU可以具有各不相同的形状和大小。一帧图像中,某些或全部CU可以有互相重叠部分,也可以所有CU都互不重叠。一个CU,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成。
计算机屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样(pixel pattern)。例如,计算机屏幕图像中常出现的中文或外文文字,都是由少数几种基本笔划所构成,同一帧图像内可以找到很多相似或相同的笔划。计算机屏幕图像中常见的菜单、图标等,也具有很多相似或相同的图样。因此,现有的图像和视频压缩技术中通常采用的编码方式包括:
1、帧内块复制即帧内块匹配或称帧内运动补偿或称块复制或称块匹配;
2、帧内微块复制即帧内微块匹配或称微块复制或称微块匹配;
3、帧内线条(简称条)复制即帧内条匹配或称条复制或称条匹配;
4、帧内串复制即帧内串匹配或称串复制或称串匹配。这里的串是指把一个任意形状的2维区域内的像素样值排列成一个长度远大于宽度的串(如宽度为1个像素样值而长度为37个像素样值的串或宽度为2个像素样值而长度为111个像素样值的串,通常但不限于长度是一个独立编码或解码参数而宽度是一个由其他编码或解码参数导出的参数);
5、调色板索引复制(简称索引复制),首先把一个CU内的像素用调色板及其索引来表示,然后对索引进行复制编码。
由于屏幕图像通常有各种不同性质的区域,有的具有比较大的或形状较规则的互相相似或相同的图样,而有的则具有很小的或形状不规则的互相相似或相同的图样,上述编码方式的每一种,都仅适用于某一性质的图像区域,不适用于各种性质的图像区域混合的屏幕图像,也不可能找到各种不同大小和形状的匹配。因此,必须寻求新的编码工具来充分发掘和利用计算机屏幕图像中存在着各种不同性质的相似或相同图样的特性,以大幅度提高压缩效果。
针对相关技术中,图像区域混合的屏幕图像压缩效率效果不好的问题,目前还没有有效的解决方案。
发明内容
本发明提供了一种图像编码、解码方法及装置,以至少解决相关技术中图像区域混合的屏幕图像压缩效率效果不好的问题。
根据本发明的一个方面,提供了一种图像编码方法,包括:
对一个编码块进行编码时,对所述编码块内的一部分像素采用第一种类型的复制编码方式进行编码,产生所述第一种类型的编码结果和码流数据,对所述编码块内的另一部分像素则采用第二种类型和/或第三种类型的复制编码方式进行编码,产生所述第二种类型和/或所述第三种类型的编码结果和码流数据;所述第一种类型的码流数据以及所述第二种类型和/或所述第三种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
进一步地,所述第一种类型的复制编码方式是串复制编码方式,所述第二种类型的复制编码方式是矩形复制编码方式,所述第三种类型的复制编码方式是点复制编码方式。
进一步地,采用所述第一种类型的复制编码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制编码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制编码方式时,总是采用第二参考缓存的像素作为参考像素,其中,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像编码方法,包括:
对一个编码块进行编码时,所述编码块内的一部分像素采用第一参考缓存的像素作为参考像素,所述编码块内的另一部分像素则采用第二参考缓存的像素作为参考像素;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像解码方法,包括:
解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一种类型的复制解码方式进行解码,对所述解码块的另一部分码流数据则采用第二种类型和/或第三种类型的复制解码方式进行解码。
进一步地,所述第一种类型的复制解码方式是串复制解码方式,所述第二种类型的复制解码方式是矩形复制解码方式,所述第三种类型的复制解码方式是点复制解码方式。
进一步地,采用所述第一种类型的复制解码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制解码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制解码方式时,总是采用第二参考缓存的像素作为参考像素,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像解码方法,包括:
解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一参考缓存的像素作为参考像素进行解码,对所述解码块的另一部分码流数据则采用第二参考缓存的像素作为参考像素进行解码;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像编码装置,包括:
搜索和复制编码模块,重构参考像素样值集模块,第二参考缓存模块,以及编码、重构及产生视频码流数据的模块;其中,搜索和复制编码模块的混合包括以下至少之一:串复制,矩形复制以及点复制;
所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;
所述第一参考缓存单元在第一参考缓存中搜索最优参考串和/或最优参考矩形;
所述第二参考缓存模块在第二参考缓存中搜索最优参考点,并产生出参考串的复制参数,参考矩形的复制参数,参考点的复制参数和/或无参考像素样值。
根据本发明的另一个方面,还提供了一种图像编码装置,包括:
解析码流,获取复制参数、以及无参考像素样值的模块,串复制、矩形复制、以及点复制混合的复制解码模块,重构参考像素样值集模块,以及第二参考缓存模块;
所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;所述串复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述矩形复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述点复制的复制解码模块解码采用第二参考缓存的像素作为参考像素。
根据本发明的另一个方面,还提供了一种图像编码方法,包括:
对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
进一步地,所述多种类型的编码方式包括以下复制编码方式的至少两种:
行复制编码方式,串复制编码方式,矩形复制编码方式,点复制编码方式,索引复制编码方式。
进一步地,所述多种类型的编码方式包括:
所述多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述编码块进行编码。
进一步地,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,所述已重构参考像素样值是编码所述编码块之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述复制编码方式构造的像素样值集。
进一步地,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像解码方法,包括:
解析码流,获得解码块的解码参数;
根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码。
进一步地,使用多种解码方式对所述解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述部分码流进行解码。
进一步地,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值。
其中,所述已重构参考像素样值是解码所述解码块码流之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述解码参数构造的像素样值集。
进一步地,所述多种解码方式包括如下所述解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
进一步地,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像编码装置,包括:
编码模块,用于对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
混合模块,用于将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
根据本发明的另一个方面,还提供了一种图像解码装置,包括:
获取模块,用于解析码流,获得解码块的解码参数;
解码模块,用于根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码。
通过本发明,对一个编码块进行编码,对所述编码块内的像素采用多种类型的复制编码方式进行编码,产生多种类型的编码结果和码流数据;将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部;或者,解析码流,获得所述码流的解码块的解码参数;根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种图像编码方法的流程图一;
图2是根据本发明实施例的一种图像编码方法的流程图二;
图3是根据本发明实施例的一种图像编码装置的结构框图一;
图4是根据本发明实施例的一种图像编码装置的结构框图二;
图5是根据本发明优选实施例的使用第一、第二参考缓存在一个编码块或解码块内混合多种类型复制方式的示意图;
图6是根据本发明优选实施例的第一种编码方法的流程示意图;
图7是根据本发明优选实施例的第二种编码方法的流程示意图;
图8是根据本发明优选实施例的第一种解码方法的流程示意图;
图9是根据本发明优选实施例的第二种解码方法的流程示意图;
图10是根据本发明优选实施例的编码装置的示意图一;
图11是根据本发明优选实施例的编码装置的示意图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种图像编码方法,图1是根据本发明实施例的一种图像编码方法的流程图一,如图1所示,该流程包括如下步骤:
步骤S102,对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
步骤S104,将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部。
通过上述步骤,对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
在本实施例中,该多种类型的编码方式包括以下复制编码方式至少两种:
行复制编码方式,串复制编码方式,矩形复制编码方式,点复制编码方式,索引复制编码方式。
在本实施例中,该多种类型的编码方式包括:
该多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对该编码块进行编码。
在本实施例中,该缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,该已重构参考像素样值是编码该编码块之前的码流获得的像素样值的重构值;该无参考像素样值是根据该已重构参考像素样值和/或该复制编码方式构造的像素样值集。
在本实施例中,该编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
在本实施例中提供了一种图像编码方法,图2是根据本发明实施例的一种图像编码方法的流程图二,如图2所示,该流程包括如下步骤:
步骤S202,解析码流,获得解码块的解码参数;
步骤S204,根据该解码参数,使用多种解码方式对该解码块的不同部分的码流进行解码。
通过上述步骤,对码流进行解码,对该解码块的不同部分的码流采用多种类型的解码方式进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
在本实施例中,使用多种解码方式对该解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对该部分码流进行解码。
在本实施例中,该缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值。
其中,该已重构参考像素样值是解码该解码块码流之前的码流获得的像素样值的重构值;该无参考像素样值是根据该已重构参考像素样值和/或该解码参数构造的像素样值集。
在本实施例中,该多种解码方式包括如下该解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
在本实施例中,该解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
在本实施例中还提供了一种图像编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种图像编码装置的结构框图一,如图3所示,该装置包括:
编码模块32,用于对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
混合模块34与编码模块32连接,用于将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部。
通过上述装置,编码模块32对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据,混合模块34用于将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
在本实施例中,使用多种解码方式对该解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对该部分码流进行解码。
在本实施例中,该缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值。
其中,该已重构参考像素样值是解码该解码块码流之前的码流获得的像素样值的重构值;该无参考像素样值是根据该已重构参考像素样值和/或该解码参数构造的像素样值集。
在本实施例中,该多种解码方式包括如下该解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
在本实施例中,该解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
图4是根据本发明实施例的一种图像解码装置的结构框图二,如图4所示,该装置包括:
获取模块42,用于解析码流,获得解码块的解码参数;
解码模块44与该获取模块42连接,用于根据该解码参数,使用多种解码方式对该解码块的不同部分的码流进行解码。
通过上述装置,获取模块42对码流进行解析,获得解码块的解码参数,解码模块44用于将根据获取模块42得到的解码参数,使用多种解码方式对该解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
下面结合优选实施例和实施方式对本发明进行详细说明。
为了解决图像视频编码和解码的现有技术中的这一问题,本发明优选实施例提供了一种在一个CU(即一个编码块或解码块)内混合多种复制编码或解码方式(包括但不限于点复制,串复制,矩形复制中的任意一种或多种)的图像编码与解码的方法和装置。
图5是根据本发明优选实施例的使用第一、第二参考缓存在一个编码块或解码块内混合多种类型复制方式的示意图,如图5所示,本发明的优选实施例的一个主要技术特征是在一个CU(即编码块或解码块)中可混合多种复制编码(或对应的解码)方式。这些复制方式包括但不限于点复制,串复制和矩形复制。本发明的另一个主要技术特征是至少有两个参考缓存:使用部分或全部已重构参考像素样值构造的第一参考缓存和使用部分或全部无参考像素样值(未找到参考的像素样值,即在已产生的已重构参考像素样值集之中找不到误差在预先规定的范围内的像素样值的像素样值)构造的第二参考缓存。
第一参考缓存和第二参考缓存通称为参考缓存。
本发明的编码方法和装置的最基本的特有技术特征是在对当前编码块进行编码时,在第一参考缓存中,搜索得到一个或多个最优的复制参考串(简称参考串)或复制参考矩形(简称参考矩形),或仅限于搜索得到一个或多个最优的参考串或仅限于搜索得到一个或多个最优的参考矩形,在第二参考缓存中,搜索得到一个或多个最优的复制参考点(简称参考点)。一个参考点仅含有一个像素样值或仅含有由2个像素样值组成的一个像素样值对或仅含有由4个以内像素样值组成的一个像素样值组。一个参考串含有一个或多个像素样值。一个参考矩形含有一个或多个像素样值。参考点、参考串、参考矩形都用一个或多个与点复制解码、串复制解码、矩形复制解码有关的复制参数(或称匹配参数)来表示。包括但不限于复制参数等解码所需要的参数被放入码流。
本发明的实施例的解码方法和装置的最基本的特有技术特征是在对当前解码块进行解码时,从码流中获取与点复制解码和/或串复制解码和/或矩形复制解码有关的复制参数,根据复制参数的部分或全部,从第一参考缓存中获取参考串和/或参考矩形,并将其直接或间接赋值予当前解码串(简称当前串)和/或当前解码矩形(简称当前矩形),以及/或者从第二参考缓存中获取参考点,并将其直接或间接赋值予当前解码点(简称当前点)。一个参考串含有一个或多个像素样值。一个参考矩形含有一个或多个像素样值。一个参考点含有一个像素样值。
参考点的另一种优选方式是含有由2个像素样值组成的一个像素样值对。
参考点的还有一种优选方式是含有由4个以内像素样值组成的一个像素样值组。
部分或全部已重构参考像素样值按照其在编码或解码过程中的产生顺序逐步构造出第一参考缓存。部分或全部无参考像素样值则根据其在后续编码或解码中被参考的次数被挑选出来构造出第二参考缓存。
对参考串和/或参考矩形,复制参数包括但不限于复制位置和/或复制大小。对参考点,复制参数包括但不限于复制位置和/或复制大小和/或优选类别(即一个像素样值或一个像素样值对或一个像素样值组)。对参考串,复制大小包括但不限于复制长度。对参考矩形,复制大小包括但不限于复制宽度和复制长度这两个复制参数分量或者复制高度和复制长度这两个复制参数分量或者复制宽度和复制高度这两个复制参数分量。对参考点,复制大小包括但不限于复制次数。
对参考串和/或参考矩形,复制位置是在第一参考缓存中的参考串和/或参考矩形的第一个像素样值与当前CU中当前串和/或当前矩形的第一个像素样值之间的线性(1维)距离或平面(2维)距离,其单位是样值或若干样值。复制位置有时也称为帧内运动矢量。
对参考串和/或参考矩形,复制大小是参考串和/或参考矩形的大小,其单位也是样值或若干样值。显然,参考串和/或参考矩形的大小也是当前串和/或当前矩形的大小。
对参考点,复制位置是在第二参考缓存中的位置,有时也称为地址或指标或索引,其单位是样值或样值对或样值组。
对参考点,复制大小包括但不限于复制次数,即同一个参考点在当前编码或解码位置上的当前点的重复的数目。
对参考点,优选类别是参考点的优选方式,包括但不限于单个样值,样值对,或者样值组。
第一参考缓存和/或第二参考缓存的像素样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合。
在本发明专利申请中,“重构样值”和“参考样值”有时被统称为“重构参考像素样值”。根据上下文,可以明确“重构参考像素样值”是表示“重构样值”还是“参考样值”还是同时表示两者之任一。如果从上下文不能明确,那么就是同时表示两者之任一。
在本发明专利申请中,“重构参考样值集”和“重构参考像素样值集”是同义词,在不引起混淆的情况下,有时也被简称为“样值集”。
对第一参考缓存和/或当前CU来说,从参考串和/或当前串的路径形状来分,至少有4种基本复制路径形状模式。
基本复制路径形状模式1是垂直路径1维串形复制的复制路径形状模式。在本复制路径形状模式中,第一参考缓存和/或当前CU先以LCU序号或CU序号的顺序排列,而在一个LCU或CU内,样值逐列排列,每列中样值垂直扫描自上而下排列。这样,第一参考缓存也被排列成一个一维的样值串。
基本复制路径形状模式2是水平路径1维串形复制的复制路径形状模式。基本复制路径形状模式2是上述基本复制路径形状模式1的对偶模式。把基本复制路径形状模式1中的“垂直”置换成“水平”,“列”置换成“行”,“自上而下”置换成“从左向右”,就是基本复制路径形状模式2。
基本复制路径形状模式3是垂直路径2维保形复制的复制路径形状模式。在本复制路径形状模式中,第一参考缓存保留原始图像平面固有的2维排列方式,而在当前CU内,样值则以垂直扫描方式逐列排列并且在1列内自上而下排列。在第一参考缓存之中搜索或复制参考串时,在当前CU内,当前样值以垂直扫描方式自上而下移动,一列扫描和复制完了之后,接着扫描和复制右边相邻的一列。在第一参考缓存之中找到的参考串必须与当前CU中的当前串保持完全一致的2维形状和扫描方式的路径走向。
基本复制路径形状模式4是水平路径2维保形复制的复制路径形状模式。基本复制路径形状模式4是上述基本复制路径形状模式3的对偶模式。在本复制路径形状模式中,第一参考缓存保留原始图像平面固有的2维排列方式,而在当前CU内,样值则以水平扫描方式逐行排列并且在1行内从左向右排列。在第一参考缓存之中搜索或复制参考串时,在当前CU内,当前样值以水平扫描方式从左向右移动,一行扫描和复制完了之后,接着扫描和复制下边相邻的一行。在第一参考缓存之中找到的参考串必须与当前CU中的当前串保持完全一致的2维形状和扫描方式的路径走向。
从以上4种基本复制路径形状模式还可以衍生出其他各种复制路径形状模式,包括但不限于:
1、宽度为2、3、…、W个样值的复制路径形状模式;
2、与基本复制路径形状模式1基本相同但扫描路径走向交替变换,即扫描方式是奇数列自上而下移动而偶数列自下而上移动;
3、与基本复制路径形状模式1基本相同但扫描路径走向交替变换,即扫描方式是偶数列自上而下移动而奇数列自下而上移动;
4、与基本复制路径形状模式2基本相同但扫描路径走向交替变换,即扫描方式是奇数行从左向右移动而偶数行从右向左移动;
5、与基本复制路径形状模式2基本相同但扫描路径走向交替变换,即扫描方式是偶数行从左向右移动而奇数行从右向左移动;
6、与基本复制路径形状模式3基本相同但扫描路径走向交替变换,即扫描方式是奇数列自上而下移动而偶数列自下而上移动;
7、与基本复制路径形状模式3基本相同但扫描路径走向交替变换,即扫描方式是偶数列自上而下移动而奇数列自下而上移动;
8、与基本复制路径形状模式4基本相同但扫描路径走向交替变换,即扫描方式是奇数行从左向右移动而偶数行从右向左移动;
9、与基本复制路径形状模式4基本相同但扫描路径走向交替变换,即扫描方式是偶数行从左向右移动而奇数行从右向左移动。
本发明的解码方法和装置的进一步技术特征就是在对当前解码块的码流数据进行解码时,首先从码流数据中解析出该序列或该图像或该CU采用的复制路径形状模式(如以上所述复制路径形状模式之一),然后从码流数据中依次获取一个一个参考串和/或参考矩形和/或参考点的复制参数,即参考串和/或参考矩形的复制位置和/或复制大小和/或参考点的复制位置和/或复制大小和/或优选类别。在得到了一个复制参数之后,解码工作就是根据复制路径形状模式,从当前解码样值的位置和复制参数计算出第一参考缓存中的参考串和/或参考矩形的第一个样值的位置和/或第二参考缓存中的参考点的位置。然后,再根据复制路径形状模式和复制参数,就可以从参考缓存中复制参考串和/或参考矩形和/或参考点的部分或全部样值,并将所述样值的数值赋值予当前串和/或当前矩形和/或当前点,复原出当前串和/或当前矩形和/或当前点。
一帧图像中,可以所有CU都使用同一种复制路径形状模式。这样解码器就仅需要从一帧图像的对应的图像参数集或头信息中解析出该图像采用哪一种复制路径形状模式,而不需要每个CU都解析出该CU采用哪一种复制路径形状模式。编码器也仅需要在一帧图像的对应的图像参数集或头信息中直接或间接写入复制路径形状模式。一个视频序列中,可以所有图像和所有CU都使用同一种复制路径形状模式。这样解码器就仅需要从一个序列的对应的序列参数集或头信息中解析出该序列采用哪一种复制路径形状模式,而不需要每个图像、每个CU都解析出该图像、该CU采用哪一种复制路径形状模式。编码器也仅需要在一个序列的对应的序列参数集或头信息中直接或间接写入复制路径形状模式。有些CU也可以再划分成若干个子区域,各个子区域采用不同的复制路径形状模式。
在一个CU或一个CU的子区域的码流数据中,混合存在三种类型的复制参数:参考串的复制参数、参考矩形的复制参数、参考点的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考串的复制参数还是参考矩形的复制参数还是参考点的复制参数。
在一个CU或一个CU的子区域的码流数据中,混合存在两种类型的复制参数:参考串的复制参数、参考矩形的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考串的复制参数还是参考矩形的复制参数。
在一个CU或一个CU的子区域的码流数据中,混合存在两种类型的复制参数:参考串的复制参数、参考点的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考串的复制参数还是参考点的复制参数。
在一个CU或一个CU的子区域的码流数据中,混合存在两种类型的复制参数:参考矩形的复制参数、参考点的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考矩形的复制参数还是参考点的复制参数。
在一帧图像的码流数据中,存在着包括但不限于下列4类CU或CU的子区域的某一类或某两类或某三楼或全部四类:
第1类,混有三种类型的复制参数:参考串的复制参数、参考矩形的复制参数、参考点的复制参数的CU或CU的子区域;
第2类,混有两种类型的复制参数:参考串的复制参数、参考矩形的复制参数的CU或CU的子区域;
第3类,混有两种类型的复制参数:参考串的复制参数、参考点的复制参数的CU或CU的子区域;
第4类,混有两种类型的复制参数:参考矩形的复制参数、参考点的复制参数的CU或CU的子区域;
在一帧图像及其码流数据的对应的图像参数集或图像头信息中,使用直接或间接的标识码来直接或间接地载明包括但不限于下列情形之一:
情形1,当前图像及其码流数据中存在着以上4类CU或CU的子区域:第1类,第2类,第3类,第4类的CU或CU的子区域;
情形2,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第3类的CU或CU的子区域;
情形3,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第4类的CU或CU的子区域;
情形4,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第3类,第4类的CU或CU的子区域;
情形5,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第2类,第3类,第4类的CU或CU的子区域;
情形6,当前图像及其码流数据中存在着以上4类中某两类CU或CU的子区域,例如第1类和第3类的CU或CU的子区域,例如第2类和第3类的CU或CU的子区域;
情形7,当前图像及其码流数据中存在着以上4类中某一类CU或CU的子区域,例如第1类的CU或CU的子区域,例如第2类的CU或CU的子区域,例如第3类的CU或CU的子区域,例如第4类的CU或CU的子区域;
在一个序列及其码流数据的对应的序列参数集或序列头信息中,使用直接或间接的标识码来直接或间接地载明包括但不限于下列情形之一:
情形8,序列及其码流数据中存在着以上4类CU或CU的子区域:第1类,第2类,第3类,第4类的CU或CU的子区域;
情形9,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第3类的CU或CU的子区域;
情形10,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第4类的CU或CU的子区域;
情形11,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第3类,第4类的CU或CU的子区域;
情形12,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第2类,第3类,第4类的CU或CU的子区域;
情形13,序列及其码流数据中存在着以上4类中某两类CU或CU的子区域,例如第1类和第3类的CU或CU的子区域,例如第2类和第3类的CU或CU的子区域;
情形14,序列及其码流数据中存在着以上4类中某一类CU或CU的子区域,例如第1类的CU或CU的子区域,例如第2类的CU或CU的子区域,例如第3类的CU或CU的子区域,例如第4类的CU或CU的子区域;
以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。
本发明专利申请中使用的术语也可以用其他来自物理学或数学的名词来表示,如复制位置也可以使用以下别名之一:匹配位置,位置,距离,相对距离,位移量,位移矢量,移动量,移动矢量,偏移量,偏移矢量,块矢量,串矢量,补偿量,补偿,线性地址,地址,2维坐标,1维坐标,坐标,索引,指数,等等。复制长度也可以被称为以下别名之一:复制行程,复制个数,复制计数,复制游程,匹配行程,匹配个数,匹配计数,匹配游程,长度,行程,个数,计数,游程,等等。串复制也称为串匹配,矩形复制也称为矩形匹配,点复制也称为点匹配等等。
图6是根据本发明优选实施例的第一种编码方法的流程示意图,如图6所示,本发明的第一种编码方法包括如下步骤的全部或部分:
1、对一个编码块的像素进行串复制和/或矩形复制和/或点复制混合的复制编码,产生出参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值;
2、其余编码、重构及产生视频码流数据的步骤,进行编码块的其余编码和重构运算,对输入的像素、各种参数和变量进行各种常用技术,如帧内预测、帧间预测、块复制、微块复制、条复制、调色板索引、变换、量化、逆变换、反量化、对应于预测残差和复制残差的补偿(即取残差运算的逆运算)、预测并求残差、DPCM、一阶和高阶差分、映射、游程、索引、去块效应滤波、样值自适应补偿(Sample Adaptive Offset),的编码和重构运算以及熵编码运算;本步骤的输出是已重构像素(包括完全重构像素和不同阶段程度的部分重构像素)和含串复制和/或矩形复制和/或点复制混合的复制编码结果和其他编码结果的视频码流;所述视频码流是本编码方法的输出,包含了对应的解码方法进行解码和重构所需要的全部语法元素,包括但不限于串复制和/或矩形复制和/或点复制混合的复制编码的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数的语法元素和/或无参考像素样值的语法元素。
图7是根据本发明优选实施例的第二种编码方法的流程示意图,如图7所示,本发明的的第二种编码方法包括如下步骤的全部或部分:
1、对一个编码块的像素进行预测编码和/或复制编码,产生出编码参数和/或无参考像素样值;将部分或全部无参考像素样值放入第二参考缓存;
2、其余编码、重构及产生视频码流数据的步骤,进行编码块的其余编码和重构运算,对输入的像素、各种参数和变量进行各种常用技术,如调色板索引、变换、量化、逆变换、反量化、对应于预测残差和复制残差的补偿(即取残差运算的逆运算)、预测并求残差、DPCM、一阶和高阶差分、映射、游程、索引、去块效应滤波、样值自适应补偿(SampleAdaptive Offset),的编码和重构运算以及熵编码运算;本步骤的输出是已重构像素(包括完全重构像素和不同阶段程度的部分重构像素)和含预测编码和/或复制编码的编码结果和其他编码结果的视频码流;所述已重构像素放入重构参考像素样值集之中,用作后续预测编码和/或复制编码(包括但不限于块复制编码、微块复制编码、条复制编码、串复制编码、矩形复制编码、多种类型复制方式混合的复制编码、调色板索引复制编码)运算、其余各种编码和重构运算步骤所需要的参考像素;所述视频码流是本编码方法的输出,包含了对应的解码方法进行解码和重构所需要的全部语法元素,包括但不限于编码参数和/或无参考像素样值的语法元素;所述重构参考像素样值集的部分或全部构造出第一参考缓存;所述重构参考像素样值集的输入是已重构样值而所述第一参考缓存的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
图8是根据本发明优选实施例的第一种解码方法的流程示意图,如图8所示,本发明的第一种解码方法包括如下步骤的全部或部分:
1、解析码流,获取包括但不限于参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值的解码参数和变量;
2、使用获取的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值,进行串复制和/或矩形复制和/或点复制混合的复制解码;
图9是根据本发明优选实施例的第二种解码方法的流程示意图,如图9所示,本发明的第二种解码方法包括如下步骤的全部或部分:
1、解析码流,获取包括但不限于复制参数和/或无参考像素样值的解码参数和变量;
2、使用获取的复制参数和/或无参考像素样值,进行预测解码和/或复制解码;产生出预测解码和/或复制解码的已重构像素和/或无参考像素样值;将部分或全部无参考像素样值放入第二参考缓存;将所述预测解码和/或复制解码的已重构像素和/或其他已重构像素放入重构参考像素样值集之中,用作后续预测解码和/或复制解码(包括但不限于块复制解码、微块复制解码、条复制解码、串复制解码、矩形复制解码、多种类型复制方式混合的复制解码、调色板索引复制解码)运算、其余各种解码和重构运算步骤所需要的参考像素;所述重构参考像素样值集的部分或全部构造出第一参考缓存;所述重构参考像素样值集的输入是已重构样值而所述第一参考缓存的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
图10是根据本发明优选实施例的编码装置的示意图一,如图10所示,整个编码装置由以下模块的全部或部分组成:
1、串复制和/或矩形复制和/或点复制混合的搜索和复制编码模块:对输入像素样值施行串复制和/或矩形复制和/或点复制混合的复制编码,在第一参考缓存中搜索最优参考串和/或最优参考矩形、在第二参考缓存中搜索最优参考点,并产生出参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值;
2、重构参考像素样值集模块:用来暂存重构像素样值,所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元,用作后续各种编码方式,包括但不限于块复制编码、微块复制编码、条复制编码、串复制编码、矩形复制编码、多种类型复制方式混合的复制编码、调色板复制编码、调色板编码、像素索引编码、预测编码,的搜索、编码、重构时的参考像素样值;所述重构参考像素样值集的输入是重构样值而所述第一参考缓存单元的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
3、第二参考缓存模块:由部分或全部无参考像素样值构造而成;主要用于点复制编码的参考像素,但也可以用于其他复制编码的参考像素;
4、其余编码、重构及产生视频码流数据的模块:施行其余编码和重构运算,对输入的像素、各种参数和变量进行各种常用技术,如帧内预测、帧间预测、块复制、微块复制、条复制、调色板索引、变换、量化、逆变换、反量化、对应于预测残差和复制残差的补偿(即取残差运算的逆运算)、预测并求残差、DPCM、一阶和高阶差分、映射、游程、索引、去块效应滤波、样值自适应补偿(Sample Adaptive Offset),的编码和重构运算以及熵编码运算;本步骤的输出是已重构像素(包括完全重构像素和不同阶段程度的部分重构像素)和含串复制和/或矩形复制和/或点复制混合的复制编码结果、各种其他复制编码方式的编码结果和其他编码结果的视频码流;所述视频码流是本编码方法的输出,包含了对应的解码方法进行解码和重构所需要的全部语法元素,包括但不限于串复制和/或矩形复制和/或点复制混合的复制编码的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数的语法元素和/或无参考像素样值的语法元素和/或其他复制参数的语法元素和/或其他编码参数的语法元素。
图11是根据本发明优选实施例的编码装置的示意图二,如图11所示,整个解码装置由以下模块的全部或部分组成:
1、解析码流,获取复制参数、无参考像素样值等的模块:对输入码流数据施行码流解析,获取解码参数和变量,包括但不限于:参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数,和/或无参考像素样值,和/或其他复制解码方式的复制参数,和/或其他解码参数和变量;
2、串复制/矩形复制/点复制混合的复制解码模块:本模块的功能是对从码流中获取的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数,和/或无参考像素样值,施行串复制和/或矩形复制和/或点复制混合的复制解码运算,即按照已知的复制路径形状模式,在参考串和/或参考矩形的情形,将第一参考缓存单元中由参考串的复制参数和/或参考矩形的复制参数(包括但不限于复制位置)指定的位置上的参考串和/或参考矩形,其大小也由参考串的复制参数和/或参考矩形的复制参数(包括但不限于复制大小)所指定,的像素样值的数值直接或间接赋值予当前串和/或当前矩形,而在参考点的情形,则将第二参考缓存模块中由参考点的复制参数(包括但不限于复制位置)指定的位置上的参考点的像素样值的数值直接或间接重复赋值予一个或数个当前解码点,重复的数目由参考点的复制参数(包括但不限于复制大小)所指定;
3、重构参考像素样值集模块:用来暂存重构像素样值,所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元,用作后续各种解码方式,包括但不限于块复制解码、微块复制解码、条复制解码、串复制解码、矩形复制解码、多种类型复制方式混合的复制解码、调色板复制解码、调色板解码、像素索引解码、预测解码,的解码和重构时的参考像素样值;所述重构参考像素样值集的输入是重构样值而所述第一参考缓存单元的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
4、第二参考缓存模块:由部分或全部无参考像素样值构造而成;主要用于点复制编码的参考像素,但也可以用于其他复制编码的参考像素。
以上所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明直接有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
以下是本发明的更多的实施细节和变体。
本发明适用于叠包格式图像的编码和解码。当前CU的像素和第一、第二参考缓存以及重构参考像素样值集的像素都以叠包格式排列。参考块,参考微块,参考条,参考串,参考矩形,参考点和当前块,当前微块,当前条,当前串,当前矩形,当前点都以叠包格式排列。即以由3个分量样值单个交叉叠在一起形成的单个像素为单位排列,形成3个分量样值单个交叉排列的样值集。在这样的第一、第二参考缓存以及重构参考像素样值集之中搜索或复制参考块,参考微块,参考条,参考串,参考矩形,参考点等。
本发明也同样适用于分量平面格式图像的编码和解码。当前CU的像素和第一、第二参考缓存以及重构参考像素样值集的像素都分解成3个分量平面,所有像素的一个分量形成一个平面。参考块,参考微块,参考条,参考串,参考矩形,参考点和当前块,当前微块,当前条,当前串,当前矩形,当前点都分解成3个分量平面,所有像素的一个分量形成一个平面。一个参考块,参考微块,参考条,参考串,参考矩形,参考点和当前块,当前微块,当前条,当前串,当前矩形,当前点都仅包含一个分量的样值。块复制,微块复制,条复制,串复制,矩形复制,点复制都在3个平面内分别进行。但为了减少复制参数,同时由于3个平面有很大相关性,故也可以3个平面共享同样的复制参数。
本发明也同样适用于索引像素的编码块或解码块的编码或解码。
本发明的分量平面格式图像的固定宽度可变长度串匹配编码和解码,如果应用于YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式等对色度分量U和V进行下采样的情形,那么Y平面的复制参数应用到U平面和V平面时,要根据下采样的比例对复制参数进行相应的变换和调整。
第一、第二参考缓存这2个参考缓存的像素可以具有互不相同的分量排列格式、色彩格式和像素样值排列方式。
第一、第二参考缓存这2个参考缓存的像素也可以处于互不相同程度的各自特有的重构阶段的完全重构像素或阶段性重构像素。
第二参考缓存是被参考频度较高或被复制概率较大的无参考像素
第二参考缓存的更新和样值数目变化
编码或解码一个当前编码块或当前解码块时,第二参考缓存的更新包括但不限于下列情形之一:
不更新,
或者
更新部分内容;
或者
更新全部内容;
编码或解码一个当前编码块或当前解码块时,第二参考缓存内的内容(参考样值)按照预先规定的策略(如根据样值在历史重构图像中出现的频度)来更新,第二参考缓存内的参考样值的数目也按照预先规定的策略而变化;在码流的编码块或解码块或PU或CU或CTU或LCU部分码流段直接或间接含有但不限于载入了下列参数或其变体的语法元素的全部或部分:
是否需要更新点匹配参考集的标记位:srb_update_flag
需要更新的点匹配参考集的样值的数目:srb_update_num
当srb_update_flag取一个值时表示需要更新第二参考缓存,当srb_update_flag取另一个值时表示不需要更新第二参考缓存;当不需要更新第二参考缓存时,码流段中不存在srb_update_num,当需要更新第二参考缓存时,srb_update_num指定了需要更新的第二参考缓存的样值的数目。
多种类型复制方式混合的优选实施方式1
在一个编码块或解码块或PU或CU或CTU或LCU的码流数据中,混合存在三种类型的复制参数:参考串的复制参数、参考矩形的复制参数、参考点的复制参数;混合进行三种类型复制方式的编码或解码:串复制、矩形复制、点复制。
多种类型复制方式混合的优选实施方式2
在一个编码块或解码块或PU或CU或CTU或LCU的码流数据中,混合存在两种类型的复制参数:参考串的复制参数、参考点的复制参数;混合进行两种类型复制方式的编码或解码:串复制、点复制。
复制参数的语法元素在码流中的放置顺序的一种优选实施方式
记述复制参数的语法元素(语法元素用粗体字表示)在码流中的放置顺序是:
复制参数1,复制参数2,复制参数3,……,复制参数i,复制参数i+1,……
复制参数的组成域的一种优选实施方式
复制参数由若干复制子参数的域组成,复制子参数域包括但不限于:
复制子参数域1:复制类型,表示复制方式是串复制还是矩形复制还是点复制;如果是串复制或矩形复制,参考像素取自第一参考缓存,否则,参考像素取自第二参考缓存;
复制子参数域2:复制位置,表示参考像素在第一参考缓存或第二参考缓存内的位置;
复制子参数域3:复制大小,表示当前串或当前矩形或当前点的像素数目;另一方面,参考串的像素数目等于当前串的像素数目,参考矩形的像素数目等于当前矩形的像素数目,参考点的像素数目总是等于1,因而当前点的像素数目就是参考点及其数值在当前编码或解码位置的重复次数;
复制子参数域4:无参考像素,表示无参考像素的数值;
在一个复制参数中,某些复制子参数域可以取值为空。
复制参数的组成域在码流中的语法元素的表述格式的一种优选方案
码流数据包括但不限于直接表述或间接表述(间接表述的例:经过一阶或高阶差分编码和/或预测编码和/或匹配编码和/或映射编码和/或变换编码和/或量化编码和/或索引编码和/或游程编码和/或二值化编码和/或熵编码后再表述)下列复制子参数域的语法元素:
T1,P1,S1,N1,T2,P2,S2,N2,……,Ti,Pi,Si,Ni,……
其中Ti,Pi,Si,Ni,分别是复制参数i的复制类型,复制位置,复制大小,无参考像素;所述复制子参数域的语法元素在码流中的放置排列顺序并不是唯一的,可采用任意一种预先确定的合理的顺序;一个语法元素也可以被拆成几部分,所述几部分可以集中放置在码流中同一地方,也可以分别放置在码流中不同的地方;若干语法元素也可以合并成一个语法元素;某些语法元素也可以不存在于某个复制参数的码流数据中;某个语法元素也可以不直接存在于码流数据中而是从其他编码或解码参数或者变量中导出;表述同一种复制子参数域的多个语法元素可以集中放置在码流中同一地方,如:
T1,T2……Ti……,P1,P2……Pi……,S1,S2……Si……,N1,N2……Ni……
也可以分别放置在码流中不同的地方,如:
T1,P1,S1,N1,T2,P2,S2,N2,……,Ti,Pi,Si,Ni,……
也可以是这两种放置方式的组合,如
T1,S1,T2,S2……Ti,Si……,P1,P2……Pi……,N1,N2……,Ni……
也可以是以上各种放置方式的混合。
复制子参数域是单分量子参数域或双分量子参数域或三分量子参数域
复制位置Pi或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制位置Pi或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考串的复制位置Pi或其变体对应的语法元素:d(一个分量,如位置线性地址或索引)
或者
一个参考串的复制位置Pi或其变体对应的语法元素:d[0],d[1](两个分量,如位置水平分量,位置垂直分量或重构参考像素样值集的CTU序号,位置线性地址)
或者
一个参考串的复制位置Pi或其变体对应的语法元素:d[0],d[1],d[2](三个分量,如重构参考像素样值集的CTU序号,位置水平分量,位置垂直分量)
复制位置Pi或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制位置Pi或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考矩形的复制位置Pi或其变体对应的语法元素:d(一个分量,如位置线性地址或索引)
或者
一个参考矩形的复制位置Pi或其变体对应的语法元素:d[0],d[1](两个分量,如位置水平分量,位置垂直分量或重构参考像素样值集的CTU序号,位置线性地址)
或者
一个参考矩形的复制位置Pi或其变体对应的语法元素:d[0],d[1],d[2](三个分量,如重构参考像素样值集的CTU序号,位置水平分量,位置垂直分量)
复制大小Si或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制大小Si或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考串的复制大小Si或其变体对应的语法元素:r(一个分量)
或者
一个参考串的复制大小Si或其变体对应的语法元素:r[0],r[1](两个分量)
或者
一个参考串的复制大小Si或其变体对应的语法元素:r[0],r[1],r[2](三个分量)
复制大小Si或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制大小Si或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考矩形的复制大小Si或其变体对应的语法元素:r(一个分量)
或者
一个参考矩形的复制大小Si或其变体对应的语法元素:r[0],r[1](两个分量)
或者
一个参考矩形的复制大小Si或其变体对应的语法元素:r[0],r[1],r[2](三个分量)
无参考像素Ni或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述无参考像素Ni或其变体对应的码流中的语法元素具有但不限于下列形式之一:
无参考像素Ni或其变体对应的语法元素:p(一个分量)
或者
无参考像素Ni或其变体对应的语法元素:p[0],p[1](两个分量)
或者
无参考像素Ni或其变体对应的语法元素:p[0],p[1],p[2](三个分量)。
码流含有的语法元素
码流的编码块或解码块或PU或CU或CTU或LCU部分码流段含有但不限于载入了下列参数或其变体的语法元素的全部或部分:
第一类模式(如编解码模式),
第二类模式(如复制路径形状模式),
第三类模式(如像素样值排列方式),
第四类模式(如2-4种不同的参数编码模式,不同的参数2值化和/或熵编码模式),
复制标记位1,样值集编号1或空,(复制位置1,复制大小1)或无参考样值1或空,
复制标记位2,样值集编号2或空,(复制位置2,复制大小2)或无参考样值2或空,
…………
更多的复制标记位,样值集编号或空,(复制位置,复制大小)或无参考样值或空,
…………
复制标记位N,样值集编号N或空,(复制位置N,复制大小N)或无参考样值N或空,
复制残差或空;
所有所述语法元素在码流中的放置排列顺序并不是唯一的,可采用任意一种预先确定的合理的顺序;任何一个语法元素也可以被拆成几部分,所述几部分可以集中放置在码流中同一地方,也可以分别放置在码流中不同的地方;任何若干语法元素也可以合并成一个语法元素;任何语法元素也可以不存在于某个编码块或解码块或PU或CU或CTU或LCU的码流段中;
码流段中的复制位置,复制大小,无参考像素样值等参数,可以是这些参数本身,也可以是这些参数经过预测编码、匹配编码、变换编码、量化编码、DPCM、一阶和高阶差分编码、映射编码、游程编码、索引编码等各种常用技术编码后的变体;
所述复制位置,复制大小,无参考像素分别可以仅有一个分量,也可以有两个分量,或者进一步划分成三个分量甚至更多分量
所述样值集编号可以是复制位置的一部分,或者只有一个样值集,这时,样值集编号为空。
重构参考像素样值集的分量排列格式、色彩格式和像素样值排列方式
重构参考像素样值集有但不限于下列分量排列格式、色彩格式、像素样值排列方式:
叠包格式、YUV或GBR色彩格式、LCU或CU内垂直扫描1维串形排列方式,或者
叠包格式、YUV或GBR色彩格式、LCU或CU内水平扫描1维串形排列方式,或者
叠包格式、YUV或GBR色彩格式、图像固有的2维排列方式,或者
平面格式、YUV或GBR色彩格式、LCU或CU内垂直扫描1维串形排列方式,或者
平面格式、YUV或GBR色彩格式、LCU或CU内水平扫描1维串形排列方式,或者
平面格式、YUV或GBR色彩格式、图像固有的2维排列方式,或者
空集。
参考串和其复制位置及复制长度的例(复制左边,复制上边)
参考串和当前串可以有互相重叠的样值位置,即参考串的复制位置D和复制长度L满足下列关系:D<L;这时,当前串的L个样值是参考串的第一个样值与当前串的第一个样值之间的D个样值(即当前串的第一个样值之前的D个样值)的重复,也就是:
当D=1<L时,当前串是当前串的第一个样值(即当前样值)之前的那个样值P重复L次:PPP……PP,即当前串的L个样值都是P;这种情况等同与当前样值之前的那个样值P重复L+1次;如果P在第二参考缓存中,其在第二参考缓存中的复制位置是D2,那么这个P就可以与当前串合并,用复制位置=D2,复制大小=L+1的点复制的参考点来表示;
当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=X;当这种情况出现的频度很高时,D=X用一个特殊的较短的码放入码流;
或者
在一个水平(或垂直)方向的总样值数为X的CU内,匹配参考串在匹配当前串的正上方(或正左边)但并不一定相邻,即匹配串的复制位置D满足下列关系:D=nX;当这种情况出现的频度很高时,D=nX用若干特殊的较短的码来表示n并放入码流。
参考像素样值是重构像素样值的变体的例
参考像素样值是重构像素样值经过数值量化和反量化运算的样值;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,计算一次之后,不再变动;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用编码或解码量化参数来计算;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用参考像素样值所在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,要重新计算一次;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个全局的基于颜色的像素聚类获得的调色板来计算。
复制位置的变体(差分等)和格式(1维或2维等)
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个1维的数组,数组中每个样值都有一个线性地址,当前串的复制位置是对应的参考串的第一个样值的线性地址减去所述当前串的第一个样值的线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个单变量参数即只有1个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个1维的数组,数组中每个样值都有一个线性地址,当前串的复制位置是对应的参考串的第一个样值的线性地址减去所述当前串的第一个样值的线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个单变量参数即只有1个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个2维的数组,数组中每个样值都有一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的平面坐标减去所述当前串的第一个样值的平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个2维的数组,数组中每个样值都有一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的平面坐标减去所述当前串的第一个样值的平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个2维的数组,区域和数组中每个样值都有一个区域编号和一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的区域编号和平面坐标减去所述当前串的第一个样值的区域编号和平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个三变量参数即有3个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个2维的数组,区域和数组中每个样值都有一个区域编号和一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的区域编号和平面坐标减去所述当前串的第一个样值的区域编号和平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个三变量参数即有3个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个1维的数组,区域和数组中每个样值都有一个区域编号和一个线性地址,当前串的复制位置是对应的参考串的第一个样值的区域编号和线性地址减去所述当前串的第一个样值的区域编号和线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个1维的数组,区域和数组中每个样值都有一个区域编号和一个线性地址,当前串的复制位置是对应的参考串的第一个样值的区域编号和线性地址减去所述当前串的第一个样值的区域编号和线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量。
复制长度的变体(差分等)和格式(单变量或双变量等)
当前串的复制长度L是一个单变量参数;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的单变量参数经过熵编码的语法元素;或者
当前串的复制长度L是一个单变量参数;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的单变量参数与其他复制长度的单变量参数经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;或者
在一个水平(或垂直)方向的总样值数为X的CU内,当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数经过熵编码的语法元素;或者
在一个水平(或垂直)方向的总样值数为X的CU内,当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数与其他复制长度的双变量参数经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;或者
其第一个像素样值与当前CU的右边界(或下边界)之间的水平(或垂直)距离为X的当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数经过熵编码的语法元素;或者
其第一个像素样值与当前CU的右边界(或下边界)之间的水平(或垂直)距离为X的当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数与其他复制长度的双变量参数经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素。
无参考像素的变体(差分等)
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素经过熵编码的语法元素;或者
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素与其他无参考像素经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;或者
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素经过量化运算后再经过熵编码的语法元素;或者
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素与其他无参考像素经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过量化运算后再经过熵编码的语法元素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述方法的步骤的程序代码:
可选地,存储介质还被设置为存储用于执行上述方法步骤的程序代码:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述方法步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种图像编码方法,其特征在于,包括:
对一个编码块进行编码时,对所述编码块内的一部分像素采用第一种类型的复制编码方式进行编码,产生所述第一种类型的编码结果和码流数据,对所述编码块内的另一部分像素则采用第二种类型和/或第三种类型的复制编码方式进行编码,产生所述第二种类型和/或所述第三种类型的编码结果和码流数据;所述第一种类型的码流数据以及所述第二种类型和/或所述第三种类型的码流数据混合组成所述编码块的码流数据的部分或全部,其中,采用所述第一种类型的复制编码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制编码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制编码方式时,总是采用第二参考缓存的像素作为参考像素,其中,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
2.根据权利要求1所述的方法,其特征在于,
所述第一种类型的复制编码方式是串复制编码方式,所述第二种类型的复制编码方式是矩形复制编码方式,所述第三种类型的复制编码方式是点复制编码方式。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
4.一种图像编码方法,其特征在于,包括:
对一个编码块进行编码时,所述编码块内的一部分像素采用第一参考缓存的像素作为参考像素,所述编码块内的另一部分像素则采用第二参考缓存的像素作为参考像素;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
5.根据权利要求4所述的方法,其特征在于,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
6.一种图像解码方法,其特征在于,包括:
解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一种类型的复制解码方式进行解码,对所述解码块的另一部分码流数据则采用第二种类型和/或第三种类型的复制解码方式进行解码,其中,采用所述第一种类型的复制解码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制解码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制解码方式时,总是采用第二参考缓存的像素作为参考像素,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
7.根据权利要求6所述的方法,其特征在于,
所述第一种类型的复制解码方式是串复制解码方式,所述第二种类型的复制解码方式是矩形复制解码方式,所述第三种类型的复制解码方式是点复制解码方式。
8.根据权利要求6至7任一项所述的方法,其特征在于,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
9.一种图像解码方法,其特征在于,包括:
解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一参考缓存的像素作为参考像素进行解码,对所述解码块的另一部分码流数据则采用第二参考缓存的像素作为参考像素进行解码;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
10.根据权利要求9所述的方法,其特征在于,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
11.一种图像编码装置,其特征在于,包括:
搜索和复制编码模块,重构参考像素样值集模块,第二参考缓存模块,以及编码、重构及产生视频码流数据的模块;其中,搜索和复制编码模块的混合包括以下至少之一:串复制,矩形复制以及点复制;
所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;
所述第一参考缓存单元在第一参考缓存中搜索最优参考串和/或最优参考矩形;
所述第二参考缓存模块在第二参考缓存中搜索最优参考点,并产生出参考串的复制参数,参考矩形的复制参数,参考点的复制参数和/或无参考像素样值。
12.一种图像编码装置,其特征在于,包括:
解析码流,获取复制参数、以及无参考像素样值的模块,串复制、矩形复制、以及点复制混合的复制解码模块,重构参考像素样值集模块,以及第二参考缓存模块;
所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;所述串复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述矩形复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述点复制的复制解码模块解码采用第二参考缓存的像素作为参考像素。
13.一种图像编码方法,其特征在于,包括:
对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部,其中,所述多种类型的编码方式包括:
所述多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述编码块进行编码,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,所述已重构参考像素样值是编码所述编码块之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述多种类型的编码方式构造的像素样值集。
14.根据权利要求13所述的方法,其特征在于,所述多种类型的编码方式包括以下复制编码方式的至少两种:
行复制编码方式,串复制编码方式,矩形复制编码方式,点复制编码方式,索引复制编码方式。
15.根据权利要求13至14任一项所述的方法,其特征在于,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
16.一种图像解码方法,其特征在于,包括:
解析码流,获得解码块的解码参数;
根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,其中,使用多种解码方式对所述解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述部分码流进行解码,
所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,所述已重构参考像素样值是解码所述解码块码流之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述解码参数构造的像素样值集。
17.根据权利要求16所述的方法,其特征在于,
所述多种解码方式包括如下所述解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
18.根据权利要求16至17任一项所述的方法,其特征在于,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
19.一种图像编码装置,其特征在于,包括:
编码模块,用于对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
混合模块,用于将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部,其中,所述多种类型的编码方式包括:
所述多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述编码块进行编码,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,所述已重构参考像素样值是编码所述编码块之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述多种类型的编码方式构造的像素样值集。
20.一种图像解码装置,其特征在于,包括:
获取模块,用于解析码流,获得解码块的解码参数;
解码模块,用于根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,其中,所述解码模块,还用于使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述部分码流进行解码,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;其中,所述已重构参考像素样值是解码所述解码块码流之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述解码参数构造的像素样值集。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510623173.3A CN105491376B (zh) | 2014-10-06 | 2015-09-25 | 图像编码、解码方法及装置 |
PCT/CN2015/091124 WO2016054985A1 (zh) | 2014-10-06 | 2015-09-29 | 图像编码、解码方法及装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2014105190089 | 2014-10-06 | ||
CN201410519008 | 2014-10-06 | ||
CN201510623173.3A CN105491376B (zh) | 2014-10-06 | 2015-09-25 | 图像编码、解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491376A CN105491376A (zh) | 2016-04-13 |
CN105491376B true CN105491376B (zh) | 2020-01-07 |
Family
ID=55652581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510623173.3A Active CN105491376B (zh) | 2014-10-06 | 2015-09-25 | 图像编码、解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105491376B (zh) |
WO (1) | WO2016054985A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770542A (zh) * | 2016-08-21 | 2018-03-06 | 上海天荷电子信息有限公司 | 采用编码参数基值的数据压缩方法和装置 |
CN107770553B (zh) * | 2016-08-21 | 2023-06-27 | 上海天荷电子信息有限公司 | 采用多类匹配参数及参数存储地址的数据压缩方法和装置 |
CN107770544B (zh) * | 2016-08-21 | 2023-12-08 | 上海天荷电子信息有限公司 | 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置 |
CN108668130A (zh) * | 2017-03-31 | 2018-10-16 | 晨星半导体股份有限公司 | 重组影像文件的方法 |
CN113396592B (zh) | 2019-02-02 | 2023-11-14 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的缓冲区管理 |
CN113383541B (zh) | 2019-02-02 | 2024-02-20 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的缓冲区访问方法 |
CN117395439A (zh) | 2019-03-01 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的基于方向的预测 |
KR20210125506A (ko) | 2019-03-04 | 2021-10-18 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리 |
CN110087090B (zh) * | 2019-05-20 | 2021-04-06 | 绍兴文理学院 | 采用混合串匹配和帧内预测的数据编码、解码方法 |
KR20230170800A (ko) | 2019-07-06 | 2023-12-19 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 카피를 위한 가상 예측 버퍼 |
KR102635519B1 (ko) | 2019-07-10 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별 |
CN114097221B (zh) | 2019-07-11 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的比特流一致性约束 |
WO2021042300A1 (zh) * | 2019-09-04 | 2021-03-11 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法以及编码装置和解码装置 |
CN112543332B (zh) * | 2020-05-26 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法及相关设备 |
CN116489369B (zh) * | 2023-06-26 | 2023-09-08 | 深圳市美力高集团有限公司 | 一种行车数字录像压缩处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809161A (zh) * | 2004-06-27 | 2006-07-26 | 苹果电脑有限公司 | 对编码视频数据选择编码类型和预测模式 |
CN101002477A (zh) * | 2004-08-13 | 2007-07-18 | 皇家飞利浦电子股份有限公司 | 用于压缩混合的图形和视频源的系统和方法 |
CN101217668A (zh) * | 2008-01-14 | 2008-07-09 | 浙江大学 | 基于块分类的混合图像压缩方法 |
CN102611885A (zh) * | 2011-01-20 | 2012-07-25 | 华为技术有限公司 | 一种编解码方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3305480B2 (ja) * | 1994-02-28 | 2002-07-22 | 京セラ株式会社 | 画像符号化・復号化装置 |
US8265136B2 (en) * | 2007-02-20 | 2012-09-11 | Vixs Systems, Inc. | Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith |
-
2015
- 2015-09-25 CN CN201510623173.3A patent/CN105491376B/zh active Active
- 2015-09-29 WO PCT/CN2015/091124 patent/WO2016054985A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809161A (zh) * | 2004-06-27 | 2006-07-26 | 苹果电脑有限公司 | 对编码视频数据选择编码类型和预测模式 |
CN101002477A (zh) * | 2004-08-13 | 2007-07-18 | 皇家飞利浦电子股份有限公司 | 用于压缩混合的图形和视频源的系统和方法 |
CN101217668A (zh) * | 2008-01-14 | 2008-07-09 | 浙江大学 | 基于块分类的混合图像压缩方法 |
CN102611885A (zh) * | 2011-01-20 | 2012-07-25 | 华为技术有限公司 | 一种编解码方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2016054985A1 (zh) | 2016-04-14 |
CN105491376A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105491376B (zh) | 图像编码、解码方法及装置 | |
CN105704491B (zh) | 图像编码方法、解码方法、编码装置和解码装置 | |
CN112383780B (zh) | 点匹配参考集和索引来回扫描串匹配的编解码方法和装置 | |
CN111800640B (zh) | 方向交替变换来回扫描串匹配的图像编码解码方法和装置 | |
CN107071450B (zh) | 数据压缩的编码、解码方法及装置 | |
CN104754362B (zh) | 使用精细划分块匹配的图像压缩方法 | |
CN105847842B (zh) | 图像编码方法及装置、图像解码方法及装置 | |
KR101946598B1 (ko) | 이미지 코딩, 디코딩 방법 및 장치 | |
US10575022B2 (en) | Image encoding and decoding method, image processing device and computer storage medium | |
CN106254865B (zh) | 一种图像编码及解码方法、图像处理设备 | |
CN105872539B (zh) | 图像编码方法和装置及图像解码方法和装置 | |
CN106254878B (zh) | 一种图像编码及解码方法、图像处理设备 | |
WO2016202189A1 (zh) | 图像编码及解码方法、图像处理设备、计算机存储介质 | |
CN106303534B (zh) | 多种索引串与像素串融合复制方式的图像压缩方法和装置 | |
CN106303535B (zh) | 参考像素取自不同程度重构像素的图像压缩方法和装置 | |
WO2016119746A1 (zh) | 图像编码方法及装置、图像解码方法及装置 | |
WO2016197893A1 (zh) | 图像编码及解码方法、图像处理设备、计算机存储介质 | |
CN105828080B (zh) | 图像编解码方法及装置 | |
WO2016124154A1 (zh) | 图像编码方法和装置及图像解码方法和装置 | |
CN105828079B (zh) | 图像处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |