CN105635732A - 自适应样点补偿编码、对视频码流进行解码的方法及装置 - Google Patents
自适应样点补偿编码、对视频码流进行解码的方法及装置 Download PDFInfo
- Publication number
- CN105635732A CN105635732A CN201410601573.XA CN201410601573A CN105635732A CN 105635732 A CN105635732 A CN 105635732A CN 201410601573 A CN201410601573 A CN 201410601573A CN 105635732 A CN105635732 A CN 105635732A
- Authority
- CN
- China
- Prior art keywords
- coding unit
- maximum coding
- band
- play amount
- 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.)
- Granted
Links
Abstract
本发明公开了一种自适应样点补偿编码方法,用于提高视频编码压缩比。所述方法包括:根据像素值的取值范围划分M个带,并将原始最大编码单元和处理最大编码单元中包括的像素点分别归入相应的带中;其中,原始最大编码单元和处理最大编码单元的尺寸均为第一尺寸,第一尺寸大于64*64;对于分别包含有原始最大编码单元的M个带和处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;从M个带中选择连续的N个带;至少将N个带对应的N个偏移量写入处理最大编码单元构成的视频码流。本发明还公开了相应的解码方法及装置。
Description
技术领域
本发明涉及视频编码技术领域,特别涉及一种自适应样点补偿编码、对视频码流进行解码的方法及装置。
背景技术
HEVC(HighEfficiencyVideoCoding,高效率视频编码)是一种新的视频压缩标准,可以在一定程度上替代H.264/AVC(一种视频编码标准)编码标准。
HEVC可以使1080P的视频在压缩时压缩效率提高50%左右,这就意味着视频的质量将上升很多,而且可以节省大量的网络带宽,对于消费者而言,可以享受到更高质量的视频内容。
然而,现有技术中,远程桌面访问、远程游戏、云计算等许多应用已经非常普遍,此类应用的一个很重要的特点就是在自然视频中混有文字、以及计算机生成的图像等信息。而文字以及计算机生成的图像等信息可能会经常重复性地出现某些图案(如某些字符、图标和线条),例如通过计算机绘制的PCB(PrintedCircuitBoard,印刷电路板),就具有大量重复的横线和竖线。与自然视频序列相比,由计算机生成的图像纹理较多,在视频编码中视为含有大量高频信息,采用HEVC对其进行编码,效果不是很好。
因为此类具有大量重复信息的视频,在空间相邻区域经常出现重复信息,在时域相邻区域也常常出现连续的被编码为相同模式的区域,意味着此类视频的空间与时间相关性较强。而HEVC中在编码时传统的块划分模式无法很好的去除这种相关性,导致编码压缩比较低,编码质量较差。
发明内容
本发明实施例提供一种自适应样点补偿编码、对视频码流进行解码的方法及装置,用于解决在对具有大量重复信息的视频进行编码时编码压缩比较低的技术问题。
一种自适应样点补偿编码方法,包括以下步骤:
在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;
对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;
根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;
从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;
至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
可选的,根据每个带对应的两个平均值,分别计算每个带对应的偏移量,包括:将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
可选的,N等于6,或N等于8。
一种对视频码流进行解码的方法,包括:
获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64;
解析出所述视频码流中包括的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数;
利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
可选的,利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿,包括:将其中每个偏移量分别与相应的带中包括的各像素点的像素值相加。
一种自适应样点补偿编码装置,包括:
划分模块,用于在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;
第一计算模块,用于对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;
第二计算模块,用于根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;
选择模块,用于从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;
操作模块,用于至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
可选的,所述第二计算模块具体用于:将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
可选的,N等于6,或N等于8。
一种对视频码流进行解码的装置,包括:
获取模块,用于获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64;
解析模块,用于解析出所述视频码流中包括的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数;
补偿模块,用于利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
可选的,所述补偿模块具体用于:将其中每个偏移量分别与相应的带中包括的各像素点的像素值相加。
本发明实施例提供一种自适应样点补偿编码方法,其中最大编码单元(即原始最大编码单元)的尺寸由现有技术中的64*64进行扩大,令最大编码单元的尺寸大于64*64,这样,在将所述视频帧进行划分时,所能划分的最大的块的尺寸就大于现有技术中的64*64,在对具有大量重复信息的视频进行编码时,就能将该视频划分为较大的块来进行编码,这样可以比较有效地去除相关性,尽量将重复部分放到一个块中一次性编码完成,无需分为多个块来分别编码,提高了编码质量。并且,因为增大了最大编码单元的尺寸,则在划分视频帧时,可能划分出的块的数量就会减少,那么在编码时所使用的语法元素的数量也就相应减少,例如,在对一个大块进行编码时,只需使用一个语法元素,而在对四个小块进行编码时,需使用四个语法元素(这里的数字只是举例,并不代表实际数量),那么,得到的最终的编码压缩文件所使用的比特数目明显减少,编码压缩文件的体积较小,从而显然提高了压缩比。
附图说明
图1为本发明实施例中自适应样点补偿编码方法的主要流程图;
图2为本发明实施例中对视频码流进行解码的主要方法流程图;
图3为本发明实施例中自适应样点补偿编码装置的主要结构框图;
图4为本发明实施例中对视频码流进行解码的装置的主要结构框图。
具体实施方式
本发明实施例中的自适应样点补偿编码方法包括:在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;编码并重建,再去块效应滤波对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
本发明实施例提供一种自适应样点补偿编码方法,其中最大编码单元(即原始最大编码单元)的尺寸由现有技术中的64*64进行扩大,令最大编码单元的尺寸大于64*64,这样,在将所述视频帧进行划分时,所能划分的最大的块的尺寸就大于现有技术中的64*64,在对具有大量重复信息的视频进行编码时,就能将该视频划分为较大的块来进行编码,这样可以比较有效地去除相关性,尽量将重复部分放到一个块中一次性编码完成,无需分为多个块来分别编码,提高了编码质量。并且,因为增大了最大编码单元的尺寸,则在划分视频帧时,可能划分出的块的数量就会减少,那么在编码时所使用的语法元素的数量也就相应减少,例如,在对一个大块进行编码时,只需使用一个语法元素,而在对四个小块进行编码时,需使用四个语法元素(这里的数字只是举例,并不代表实际数量),那么,得到的最终的编码压缩文件所使用的比特数目明显减少,编码压缩文件的体积较小,从而显然提高了压缩比。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
对于包含有大量高频信息的视频,JCT-VC(JointCollaborativeTeamonVideoCoding,视频编码联合协作组)组织提出了制定HEVCSCC(HighEfficiencyVideoforScreenContentCoding,高效率视频编码屏幕内容编码)标准的计划,以对HEVC进行改进以提高此类视频的压缩比。但在HEVCSCC中,块的划分方式仍然延用了HEVC中的划分方式,显然不利于对这类视频的处理。
因此,对于这类包含有大量高频信息的视频,和/或分辨率较高的视频,本发明实施例中提出,将最大编码单元(LCU)的尺寸,由原来的64*64,增大为所述第一尺寸,所述第一尺寸大于64*64,例如所述第一尺寸可以是128*128,也可以是256*256,或者更大。这样,在对具有大量重复信息、纹理简单的视频进行编码时,就能将该视频划分为较大的块来进行编码,这样可以比较有效地去除相关性,尽量将重复部分放到一个块中一次性编码完成,无需分为多个块来分别编码,提高了编码质量。并且,因为增大了最大编码单元的尺寸,则在划分视频帧时,对于同样的一幅视频帧来说,可能划分出的LCU块的数量就会减少,那么在编码时所使用的语法元素的数量也就相应减少,例如,在对一个大块进行编码时,只需使用一个语法元素,而在对四个小块进行编码时,需使用四个语法元素(这里的数字只是举例,并不代表实际数量),那么,得到的最终的编码压缩文件所使用的比特数目明显减少,编码压缩文件的体积较小,从而显然提高了压缩比。
当然,本发明实施例中的技术方案,不仅可以应用于HEVC、HEVCSCC等标准中,还可以用在现在已有的或未来即将出现的视频编解码标准中,只要视频编解码标准所针对的视频帧是拥有大量高频信息的视频帧,或视频编码标准所针对的视频帧是分辨率大于所述预设分辨率的视频帧,或视频编码标准所针对的视频帧是拥有大量高频信息、且分辨率大于所述预设分辨率的视频帧,本发明实施例的技术方案就可以应用在该视频编解码标准中。
下面结合附图对本发明优选的实施方式进行详细说明。
请参见图1,本发明实施例提供一种自适应样点补偿(SampleAdaptiveOffset,SAO)编码方法,在视频编码过程中,SAO编码过程是在deblockingfilter(去块效应滤波)之后进行的过程。所述方法的主要流程描述如下。
步骤101:在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的。
一般来说,M=32。对于一个像素点(pixel)来说,若按照YUV通道来进行处理,则无论是Y通道、U通道还是V通道,像素值的取值范围都是[0,255],那么,可以将[0,255]这个范围划分为32个带(band),例如,[0,8]是第一个band,(8,16]是第二个band,等等。具体划分band的方式在现有技术中已较为成熟,此处不多赘述。
例如SAO编码是由SAO编码单元来执行,那么传输到SAO编码单元中的包括了原始的最大编码单元(即未经过处理的最大编码单元)和经过处理之后的最大编码单元,本发明实施例中将原始的最大编码单元称为所述原始最大编码单元,将经过处理之后的最大编码单元称为所述处理最大编码单元。其中,所述处理最大编码单元是将所述原始最大编码单元经过编码、重建和deblockingfilter(去块效应滤波)处理之后得到的。
本发明实施例中,所述原始最大编码单元的尺寸为所述第一尺寸,所述处理最大编码单元是对所述原始最大编码单元进行deblockingfilter处理得到的,因此所述处理最大编码单元的尺寸与所述原始最大编码单元的尺寸相同,都是所述第一尺寸。
所述SAO编码单元要完成SAO编码,而本发明实施例中,所述原始最大编码单元和所述处理最大编码单元的尺寸相对于现有技术来说都有所增加,因此,所述SAO编码单元的尺寸也应该有所增加,以适应本发明实施例中的所述原始最大编码单元和所述处理最大编码单元。
步骤102:对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值。
例如在归入时均按照像素点的Y通道的值来进行归入,当然也可以按照像素点的其他通道的值来进行归入,或者也可以按照像素点各通道的平均值来进行归入,或者一个像素点的每个通道的值都必须包含在一个band中,等等。例如,所述原始最大编码单元中有一个像素点的Y通道的像素值为5,则可以将其归入[0,8]这个band中,或者例如,所述原始最大编码单元中有一个像素点的像素值为(2,4,6),这3个值均在0到8之间,则可以将其归入[0,8]这个band中,等等。
在将所述原始最大编码单元的所有像素点均归入32个band后,可以根据每个band中所包括的像素点的像素值,求出每个band中的像素点的像素值的平均值。当然,在求平均值的时候也可以是按照像素点的Y通道的值来求平均值,当然也可以按照像素点的其他通道的值来求平均值,或者也可以按照像素点各通道的平均值再来求平均值,等等。
例如,假设有一个band的取值是[31,38],假设所述原始最大编码单元中有3个像素点的值位于这个band中,即该3个像素点被划分到这个band中,例如在划分时是按照每个像素点的各通道的值来划分的。例如,这3个像素点的Y通道的值分别为:
32
34
36
这样就可以计算该band的平均值,即为(32+34+36)/3=34。
对于所述原始最大编码单元中的像素点所在的每个band,都进行类似处理。
同样的,对于所述处理最大编码单元,也进行类似处理。
即,将所述处理最大编码单元中所包含的像素点,按照其像素值,分别归入32个band中。
需要说明的是,在划分得到32个band后,可以将这32个band看做两套,即一套对应于所述原始最大编码单元,另一套同样的32个band对应于所述处理最大编码单元,也就是说,对于一个band来说,只能是或者包含所述原始最大编码单元的像素,或者包含所述处理最大编码单元的像素,不可能同时包含所述原始最大编码单元的像素和所述处理最大编码单元的像素。
同样的,例如在归入时均按照像素点的Y通道的值来进行归入,当然也可以按照像素点的其他通道的值来进行归入,或者也可以按照像素点各通道的平均值来进行归入,或者一个像素点的每个通道的值都必须包含在一个band中,等等。例如,所述处理最大编码单元中有一个像素点的Y通道的像素值为5,则可以将其归入[0,8]这个band中,或者例如,所述处理最大编码单元中有一个像素点的像素值为(2,4,6),这3个值均在0到8之间,则可以将其归入[0,8]这个band中,等等。
在将所述处理最大编码单元的所有像素点均归入32个band后,可以根据每个band中所包括的像素点的像素值,求出每个band中的像素点的像素值的平均值。当然,在求平均值的时候也可以是按照像素点的Y通道的值来求平均值,当然也可以按照像素点的其他通道的值来求平均值,或者也可以按照像素点各通道的平均值再来求平均值,等等。
例如,假设有一个band的取值是[31,38],假设所述处理最大编码单元中有3个像素点的值位于这个band中,即该3个像素点被划分到这个band中,例如在划分时是按照每个像素点的各通道的值来划分的。例如,这3个像素点的Y通道的值分别为:
34
36
38
这样就可以计算该band的平均值,即为(34+36+38)/3=36。
对于所述处理最大编码单元中的像素点所在的每个band,都进行类似处理。
那么,对于32个band中的每个band来说,就对应于两个平均值,一个是根据所述原始最大编码单元的像素点计算出来的,另一个是根据所述处理最大编码单元的像素点计算出来的。
步骤103:根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量。
将band看做不变的量,只是一套M个band对应于所述原始最大编码单元,另一套相同的M个band对应于所述处理最大编码单元,因此,相当于每个band都会对应有两个平均值,即一个是根据所述原始最大编码单元中的像素值计算出的平均值,另一个是根据所述处理最大编码单元中的像素值计算出的平均值。因为每个band对应有两个平均值,那么可以根据这两个平均值来计算每个band对应的偏移量,共可以计算出M个偏移量,若M=32,就是32个偏移量。
本发明实施例中,根据每个带对应的两个平均值,分别计算每个带对应的偏移量,包括:将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
例如,沿用步骤102中所举的例子,对于[31,38]这个band来说,根据所述原始最大编码单元计算出的平均值为34,根据所述处理最大编码单元计算出的平均值为36,那么,将这两个平均值相减后取绝对值,结果为2,则,[31,38]这个band对应的偏移量就是2。
对于32个band均进行类似处理,可以得到32个偏移量,可以从得到的32个偏移量中确定出值最大的偏移量。
步骤104:从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数。
从这32个band中选择出连续的N个band。现有技术中一般会选择4个band,但本发明实施例中,因为所述原始最大编码单元的尺寸有所增大,因此相应的N的数量也需要增大,这样才能尽量将所述原始最大编码单元和所述处理最大编码单元的像素点尽量集中在所选择的所述N个band中。
较佳的,本发明实施例中,N可以大于4,具体的,N可以等于6或8,当然N也可以等于其他数值,本发明对于N具体等于多少不做限制。
步骤105:至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
在选择出所述N个band后,可以将所述N个band的起始值、以及所述N个band对应的N个偏移量经过熵编码写入由所述处理最大编码单元构成的所述视频码流中,解码端会对所述视频码流进行处理。
其中,将所述N个band的起始值写入所述视频码流,主要为了方便解码端确定所述视频码流中包含的偏移量对应于哪些band。
本发明实施例中,增大了所述原始最大编码单元的尺寸,这样,在将所述视频帧进行划分时,所能划分的最大的块的尺寸就大于现有技术中的64*64,在对具有大量重复信息的视频进行编码时,就能将该视频划分为较大的块来进行编码,这样可以比较有效地去除相关性,尽量将重复部分放到一个块中一次性编码完成,无需分为多个块来分别编码,提高了编码质量。并且,因为增大了最大编码单元的尺寸,则在划分视频帧时,可能划分出的块的数量就会减少,那么在编码时所使用的语法元素的数量也就相应减少,例如,在对一个大块进行编码时,只需使用一个语法元素,而在对四个小块进行编码时,需使用四个语法元素,那么,得到的最终的编码压缩文件所使用的比特数目明显减少,编码压缩文件的体积较小,从而显然提高了压缩比。
本发明实施例中,进行SAO编码的SAO编码单元的尺寸也有所增加,以配合SAO编码过程。
并且,本发明实施例中,在从所述M个band中选择所述N个连续的band时,N的数量相对于现有技术来说有所增加,这样可以尽量保证将所述原始最大编码单元和所述处理最大编码单元所包含的像素点集中在所选择的所述N个band中,尽量避免遗漏像素点,提高编码质量。
请参见图2,基于同一发明构思,本发明实施例提供一种对视频码流进行解码的方法,该方法即是对经过图1流程所述的SAO编码方法所编码的视频码流进行解码的过程。
步骤201:获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64。
在图1流程的步骤105中,是至少将所述N个band对应的N个偏移量经过熵编码写入了所述处理最大编码单元构成的所述视频码流中,而步骤201要处理的,就是这个视频码流。
因此,所述视频码流中包括了所述N个偏移量和所述N个band的起始值。
所述处理最大编码单元是将所述原始最大编码单元经过编码、重建和deblockingfilter等处理后得到的。
步骤202:解析出所述视频码流中包括的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数。
在对视频帧进行SAO编码时,即需要划分所述M个band,在SAO编码后,可以得到所述N个偏移量。
划分所述M个band的方式、以及从所述M个band中选择出所述N个band的方式,在图1流程中都有描述,此处不多赘述。
解码端可以从所述视频码流中解析出所述N个偏移量,以及可以解析出所述N个band的起始值,从而可以根据所述起始值确定所述N个偏移量所对应的具体的band。
步骤203:利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
在得到所述N个偏移量后,可以利用所述N个偏移量对所述N个band中包括的像素点进行补偿,这里的band均是对应于所述处理最大编码单元的band,即所述N个band中包括的是所述处理最大编码单元中的像素点。
可选的,本发明实施例中,利用所述N个偏移量分别对所述N个band中包括的像素点进行补偿,包括:将其中每个偏移量分别与相应的band中包括的各像素点的像素值相加,得到补偿后的像素点。
例如,所述N个band中有一个band为[0,8],该band中包括有3个像素点,这3个像素点的值分别为(2,2,6)、(2,4,6)和(4,4,6),该band对应的偏移量例如为2,则利用该偏移量对这3个像素点进行补偿,补偿完毕后,这3个像素点的值分别为(4,4,8)、(4,6,8)和(6,6,8)。
通过这种补偿方式,可以把平均值差别最大的N个band尽量补偿为平均值相等,来拉近所述原始最大编码单元和所述处理最大编码单元之间的差值,即拉近原始图像和重构图像之间的差距,尽量使重构图像贴近原始图像,减小失真。
请参见图3,基于同一发明构思,本发明实施例提供一种自适应样点补偿编码装置,所述装置可以包括划分模块301、第一计算模块302、第二计算模块303、选择模块304和操作模块305。
划分模块301用于在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;
第一计算模块302用于对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;
第二计算模块303用于根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;
选择模块304用于从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;
操作模块305用于至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
可选的,本发明实施例中,第二计算模块303具体用于:将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
可选的,本发明实施例中,N等于6,或N等于8。
请参见图4,基于同一发明构思,本发明实施例提供一种对视频码流进行解码的装置,所述装置可以包括获取模块401、解析模块402和补偿模块403。
获取模块401用于获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64;
解析模块402用于解析出所述视频码流中包括的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数;
补偿模块403用于利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
可选的,本发明实施例中,补偿模块403具体用于将其中每个偏移量分别与相应的带中包括的各像素点的像素值相加。
本发明实施例中的自适应样点补偿编码方法包括:在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;从包含所述原始最大编码单元的M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
本发明实施例提供一种自适应样点补偿编码方法,其中最大编码单元(即原始最大编码单元)的尺寸由现有技术中的64*64进行扩大,令最大编码单元的尺寸大于64*64,这样,在将所述视频帧进行划分时,所能划分的最大的块的尺寸就大于现有技术中的64*64,在对具有大量重复信息的视频进行编码时,就能将该视频划分为较大的块来进行编码,这样可以比较有效地去除相关性,尽量将重复部分放到一个块中一次性编码完成,无需分为多个块来分别编码,提高了编码质量。并且,因为增大了最大编码单元的尺寸,则在划分视频帧时,可能划分出的块的数量就会减少,那么在编码时所使用的语法元素的数量也就相应减少,例如,在对一个大块进行编码时,只需使用一个语法元素,而在对四个小块进行编码时,需使用四个语法元素(这里的数字只是举例,并不代表实际数量),那么,得到的最终的编码压缩文件所使用的比特数目明显减少,编码压缩文件的体积较小,从而显然提高了压缩比。
本发明实施例中,进行SAO编码的SAO编码单元的尺寸也有所增加,以配合SAO编码过程。
并且,本发明实施例中,在从所述M个band中选择所述N个连续的band时,N的数量相对于现有技术来说有所增加,这样可以尽量保证将所述原始最大编码单元和所述处理最大编码单元所包含的像素点集中在所选择的所述N个band中,尽量避免遗漏像素点,提高编码质量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本申请实施例中的一种视频编码方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种自适应样点补偿编码对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;
对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;
根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;
从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;
至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
可选的,所述存储介质中存储的与步骤:根据每个带对应的两个平均值,分别计算每个带对应的偏移量,对应的计算机指令在具体被执行的过程中,具体包括:
将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
可选的,N等于6,或N等于8。
本申请实施例中的一种对视频码流进行解码的方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种对视频码流进行解码的方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64;
解析出所述视频码流中包括的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数;
利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
可选的,所述存储介质中存储的与步骤:利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿,对应的计算机指令在具体被执行的过程中,具体包括:
将其中每个偏移量分别与相应的带中包括的各像素点的像素值相加。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种自适应样点补偿编码方法,包括以下步骤:
在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;
对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;
根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;
从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;
至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
2.如权利要求1所述的方法,其特征在于,根据每个带对应的两个平均值,分别计算每个带对应的偏移量,包括:将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
3.如权利要求1或2所述的方法,其特征在于,N等于6,或N等于8。
4.一种对视频码流进行解码的方法,包括:
获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64;
解析出所述处理最大编码单元在视频码流中对应的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数;
利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
5.如权利要求4所述的方法,其特征在于,利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿,包括:将其中每个偏移量分别与相应的带中包括的各像素点的像素值相加。
6.一种自适应样点补偿编码装置,包括:
划分模块,用于在对视频帧进行自适应样点补偿编码时,根据像素值的取值范围划分M个带,并令所述M个带分别与原始最大编码单元和处理最大编码单元对应,以将所述原始最大编码单元和所述处理最大编码单元中包括的像素点分别归入相应的带中;其中,所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64,所述原始最大编码单元为所述视频帧划分得到的,所述处理最大编码单元为将所述原始最大编码单元处理后得到的;
第一计算模块,用于对于分别包含有所述原始最大编码单元的M个带和所述处理最大编码单元的M个带,分别计算每个带中包括的像素点的像素值的平均值;
第二计算模块,用于根据每个带对应的两个平均值,分别计算每个带对应的偏移量,并从中确定出值最大的偏移量;
选择模块,用于从所述M个带中选择连续的N个带,其中,值最大的偏移量对应的带包括在所述N个带中;N为大于等于4且小于M的整数,且N为2的倍数;
操作模块,用于至少将所述N个带对应的N个偏移量经过熵编码写入所述处理最大编码单元构成的视频码流。
7.如权利要求6所述的装置,其特征在于,所述第二计算模块具体用于:将每个带对应的两个平均值相减,取得到的结果的绝对值作为带对应的偏移量。
8.如权利要求6或7所述的装置,其特征在于,N等于6,或N等于8。
9.一种对视频码流进行解码的装置,包括:
获取模块,用于获得待解码的视频码流,所述视频码流对应于处理最大编码单元;其中,所述处理最大编码单元为将原始最大编码单元处理后得到的,所述原始最大编码单元为将待编码视频帧进行划分得到的;所述原始最大编码单元和所述处理最大编码单元的尺寸均为第一尺寸,所述第一尺寸大于64*64;
解析模块,用于解析出所述视频码流中包括的N个偏移量;所述N个偏移量为对M个带中的连续的N个带进行处理得到的,所述M个带为根据像素值的取值范围划分的,N为大于等于4且小于M的整数,且N为2的倍数;
补偿模块,用于利用所述N个偏移量分别对所述N个带中包括的像素点进行补偿。
10.如权利要求9所述的装置,其特征在于,所述补偿模块具体用于:将其中每个偏移量分别与相应的带中包括的各像素点的像素值相加。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410601573.XA CN105635732B (zh) | 2014-10-30 | 2014-10-30 | 自适应样点补偿编码、对视频码流进行解码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410601573.XA CN105635732B (zh) | 2014-10-30 | 2014-10-30 | 自适应样点补偿编码、对视频码流进行解码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635732A true CN105635732A (zh) | 2016-06-01 |
CN105635732B CN105635732B (zh) | 2018-12-14 |
Family
ID=56050165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410601573.XA Active CN105635732B (zh) | 2014-10-30 | 2014-10-30 | 自适应样点补偿编码、对视频码流进行解码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635732B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623849A (zh) * | 2016-07-13 | 2018-01-23 | 北京大学 | 视频解码方法和装置 |
CN108810543A (zh) * | 2018-06-13 | 2018-11-13 | 北京奇艺世纪科技有限公司 | 视频编码的补偿方法及装置 |
CN108921801A (zh) * | 2018-06-26 | 2018-11-30 | 北京字节跳动网络技术有限公司 | 用于生成图像的方法和装置 |
CN113382257A (zh) * | 2021-04-19 | 2021-09-10 | 浙江大华技术股份有限公司 | 编码方法、装置、电子设备及计算机可读存储介质 |
WO2022022176A1 (zh) * | 2020-07-30 | 2022-02-03 | 华为技术有限公司 | 一种图像处理方法以及相关设备 |
WO2022179355A1 (zh) * | 2021-02-24 | 2022-09-01 | 上海哔哩哔哩科技有限公司 | 样点自适应补偿的边带补偿模式的数据处理方法、装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130223517A1 (en) * | 2012-02-07 | 2013-08-29 | Panasonic Corporation | Image coding method and image decoding method |
US20130279568A1 (en) * | 2012-04-13 | 2013-10-24 | Panasonic Corporation | Image coding method, image decoding method, and recording medium |
CN103442229A (zh) * | 2013-08-27 | 2013-12-11 | 复旦大学 | 适用于hevc标准的编码器中sao模式判决的比特率估计方法 |
CN103733627A (zh) * | 2011-06-14 | 2014-04-16 | Lg电子株式会社 | 用于编码和解码图像信息的方法 |
CN103916675A (zh) * | 2014-03-25 | 2014-07-09 | 北京工商大学 | 一种基于条带划分的低延迟帧内编码方法 |
CN103959794A (zh) * | 2011-09-28 | 2014-07-30 | 韩国电子通信研究院 | 基于约束偏移补偿和环路滤波来编码和解码图像的方法、及其设备 |
-
2014
- 2014-10-30 CN CN201410601573.XA patent/CN105635732B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103733627A (zh) * | 2011-06-14 | 2014-04-16 | Lg电子株式会社 | 用于编码和解码图像信息的方法 |
CN103959794A (zh) * | 2011-09-28 | 2014-07-30 | 韩国电子通信研究院 | 基于约束偏移补偿和环路滤波来编码和解码图像的方法、及其设备 |
US20130223517A1 (en) * | 2012-02-07 | 2013-08-29 | Panasonic Corporation | Image coding method and image decoding method |
US20130279568A1 (en) * | 2012-04-13 | 2013-10-24 | Panasonic Corporation | Image coding method, image decoding method, and recording medium |
CN103442229A (zh) * | 2013-08-27 | 2013-12-11 | 复旦大学 | 适用于hevc标准的编码器中sao模式判决的比特率估计方法 |
CN103916675A (zh) * | 2014-03-25 | 2014-07-09 | 北京工商大学 | 一种基于条带划分的低延迟帧内编码方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623849A (zh) * | 2016-07-13 | 2018-01-23 | 北京大学 | 视频解码方法和装置 |
CN107623849B (zh) * | 2016-07-13 | 2019-06-18 | 北京大学 | 视频解码方法和装置 |
CN108810543A (zh) * | 2018-06-13 | 2018-11-13 | 北京奇艺世纪科技有限公司 | 视频编码的补偿方法及装置 |
CN108810543B (zh) * | 2018-06-13 | 2020-08-28 | 北京奇艺世纪科技有限公司 | 视频编码的补偿方法、装置及电子设备 |
CN108921801A (zh) * | 2018-06-26 | 2018-11-30 | 北京字节跳动网络技术有限公司 | 用于生成图像的方法和装置 |
WO2022022176A1 (zh) * | 2020-07-30 | 2022-02-03 | 华为技术有限公司 | 一种图像处理方法以及相关设备 |
WO2022179355A1 (zh) * | 2021-02-24 | 2022-09-01 | 上海哔哩哔哩科技有限公司 | 样点自适应补偿的边带补偿模式的数据处理方法、装置 |
CN113382257A (zh) * | 2021-04-19 | 2021-09-10 | 浙江大华技术股份有限公司 | 编码方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105635732B (zh) | 2018-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635732A (zh) | 自适应样点补偿编码、对视频码流进行解码的方法及装置 | |
CN105530518B (zh) | 一种视频编码、解码方法及装置 | |
US10218976B2 (en) | Quantization matrices for compression of video | |
JP6278972B2 (ja) | 高ダイナミックレンジ画像の処理のための方法、装置及びプロセッサ可読媒体 | |
US8804827B2 (en) | Encoding or decoding method and apparatus | |
US10182244B2 (en) | Fast encoding loss metric | |
CN108184118A (zh) | 云桌面内容编码与解码方法及装置、系统 | |
US20180309991A1 (en) | Video encoding with adaptive rate distortion control by skipping blocks of a lower quality video into a higher quality video | |
KR101946598B1 (ko) | 이미지 코딩, 디코딩 방법 및 장치 | |
CN104205836A (zh) | 色度切片层级量化参数偏移及解块 | |
CN104247434A (zh) | 在视频译码中在切片边界或平铺块边界周围的环路滤波 | |
CN105898300B (zh) | 一种基于恢复变换系数的改进变换系数符号位隐藏方法 | |
KR20220024711A (ko) | 다목적 비디오 코딩을 위한 무손실 모드 | |
CN114009048A (zh) | 视频译码中的滤波装置和方法 | |
CN105335989B (zh) | 图像编码方法和图像编码装置 | |
DE102011100936A9 (de) | Techniken zum Speichern und Abrufen von Pixeldaten | |
CN103096051A (zh) | 一种图像块信号分量采样点的帧内解码方法和装置 | |
CN105681814B (zh) | 一种去块效应滤波方式的确定方法及装置 | |
CN102577412B (zh) | 一种图像编码方法和装置 | |
US20170201759A1 (en) | Method and device for image encoding and image decoding | |
CN105578182A (zh) | 一种视频编码、解码方法及装置 | |
US8744202B2 (en) | Apparatus and method for coding image | |
CN105306941A (zh) | 一种视频编码方法 | |
CN102118618A (zh) | 基于场编码的h.264多码率视频流实现方法 | |
Lim et al. | Wider Depth Dynamic Range Using Occupancy Map Correction for Immersive Video Coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |