CN104104966A - 视频块的划分方法和装置 - Google Patents
视频块的划分方法和装置 Download PDFInfo
- Publication number
- CN104104966A CN104104966A CN201310119622.1A CN201310119622A CN104104966A CN 104104966 A CN104104966 A CN 104104966A CN 201310119622 A CN201310119622 A CN 201310119622A CN 104104966 A CN104104966 A CN 104104966A
- Authority
- CN
- China
- Prior art keywords
- video block
- block
- motion information
- original video
- available motion
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 113
- 238000007619 statistical method Methods 0.000 claims abstract description 40
- 230000000875 corresponding effect Effects 0.000 claims description 163
- 238000000638 solvent extraction Methods 0.000 claims description 100
- 238000005192 partition Methods 0.000 claims description 58
- 230000009466 transformation Effects 0.000 claims description 39
- 238000011156 evaluation Methods 0.000 claims description 27
- 238000013139 quantization Methods 0.000 claims description 22
- 230000002123 temporal effect Effects 0.000 claims description 21
- 238000006073 displacement reaction Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 11
- 230000002596 correlated effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000006835 compression Effects 0.000 abstract description 7
- 238000007906 compression Methods 0.000 abstract description 7
- 239000010410 layer Substances 0.000 description 71
- 230000003044 adaptive effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- -1 e.g. Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频块的划分方法和装置。该方法包括编码器获取原视频块的可用运动信息,以及获取所述原视频块的参考块;所述编码器采用所述可用运动信息对所述参考块进行运动补偿,得到残差块;所述编码器对所述残差块进行统计分析,得到所述可用运动信息对应的划分方式;所述编码器采用所述划分方式,对所述参考块进行划分。与当前的视频编解码器比较,在保证同样视频质量的前提下,本发明实施例可以提高压缩性能。
Description
技术领域
本发明涉及视频信号编解码技术,尤其涉及一种视频块的划分方法和装置。
背景技术
视频信号本身所固有的冗余信息分为空间冗余信息和时间冗余信息。空间冗余信息可以通过正交变换编码的方式去除,时间冗余信息可以通过运动补偿的方法去除。在当前通用的运动补偿算法中,对一个视频块,会预先定义一种或几种划分方式。
现有技术中的划分方式是固定的,例如,H.264/AVC标准中定义的划分方式是对称的,如对一个16x16的视频宏块,可以划分为16x16、8x16、16x8或8x8等;HEVC标准中定义的划分方式除了2Nx2N,Nx2N,2NxN和NxN的对称划分外,还包括非对称的划分,如除了上述的四种划分方式之外,还可以包括2N×nU、2N×nD、nL×2N或nR×2N等。
采用固定的划分方式,无法准确描述运动物体边界,编码器或解码器也就无法获取准确的运动信息,从而不能进行准确的运动补偿预测,导致压缩性能受损。
发明内容
有鉴于此,本发明实施例提供了一种视频块的划分方式和装置,用以解决现有技术中存在的因视频块划分无法准确体现物体运动引起的压缩性能受损的问题。
第一方面,提供了一种视频块的划分方法,包括:
编码器获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
所述编码器采用所述可用运动信息对所述参考块进行运动补偿,得到残差块;
所述编码器对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较;
所述编码器根据比较结果确定所述可用运动信息对应的划分方式;
所述编码器采用所述划分方式,对所述参考块进行划分。
在本发明第一方面的一个实施例中,所述统计分析的结果用于生成划分,包括将所述残差块的象素值与预设的至少一个阈值比较而生成划分。
在本发明第一方面的一个实施例中,所述编码器对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较包括:
所述编码器对所述残差块进行计算,得到所述残差块的绝对值幅度;
所述编码器将所述残差块的绝对值幅度与预设的阈值进行比较。
结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述残差块的绝对值幅度与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式包括:
如果所述残差块的绝对值幅度大于第一预设阈值,则确定所述可用运动信息对应第一划分方式;对应,所述采用所述划分方式,对所述参考块进行划分包括:
采用所述第一划分方式,对所述参考块进行划分。
结合上述任意之一实施例的本发明第一方面实施例第二种可能实现的方式中,所述将所述残差块的绝对值幅度与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式包括:
如果所述残差块的绝对值幅度不大于第一预设阈值,则确定所述可用运动信息对应第二划分方式;
对应,所述采用所述划分方式,对所述参考块进行划分包括:
采用所述第二划分方式,对所述参考块进行划分。
结合上述任意之一实施例的本发明第一方面实施例第三种可能实现的方式中,所述将所述残差块的绝对值幅度与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式包括:
如果所述残差块的绝对值幅度不大于第二预设阈值,则确定所述可用运动信息对应第三划分方式,其中,所述第二预设阈值不大于所述第一阈值;
对应,所述采用所述划分方式,对所述参考块进行划分包括:
采用所述第三划分方式,对所述参考块进行划分。
结合上述任意之一实施例的本发明第一方面实施例第四种可能实现的方式中,所述获取原视频块的可用运动信息,包括:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息;
与所述原视频块时间相邻的视频块的运动信息。
结合上述任意之一实施例的本发明第一方面实施例第五种可能实现的方式中,所述获取原视频块的可用运动信息,包括:
当所述编码器按照分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息;
与所述原视频块时间相邻的视频块的运动信息;
第一视频块的运动信息;
与所述第一视频块空间相邻的视频块的运动信息;
与所述第一视频块时间相邻的视频块的运动信息;
其中,所述第一视频块是指第一分层中与所述原视频块对应的视频块,所述第一分层是指时间、空间、信噪比中的至少一项的分辨率低于所述原视频块所在分层的分辨率的分层,且所述第一视频块所包含的图像内容与所述原视频块所包含的图像内容强相关。
结合上述任意之一实施例的本发明第一方面实施例第六种可能实现的方式中,所述获取所述原视频块的参考块,包括:
当所述编码器按照分层编码方式对所述原视频块进行编码时,将第二视频块确定为参考块,所述第二视频块与所述原视频块具有相同的空间分辨率,其中,所述第二视频块是指第二分层中与原视频块对应的视频块,所述第二分层是指时间分辨率低于所述原视频块所在分层的时间分辨率的分层,或者,所述第二分层是指信噪比分辨率低于所述原视频块所在分层的信噪比分辨率的分层,或者,所述第二分层是指时间分辨率和信噪比分辨率均低于所述原视频块所在分层的时间分辨率和信噪比分辨率的分层,或者,所述第二视频块是指第三分层中上采样的与所述原视频块对应的视频块,所述第三分层是指空间分辨率等于所述原视频块所在分层的分层。
结合上述任意之一实施例的本发明第一方面实施例第七种可能实现的方式中,所述获取所述原视频块的参考块,包括:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,将存储的参考帧中的第三视频块确定为参考块,所述第三视频块是指在设定的划分失真度量下,所述存储的参考帧中的具有与所述原视频块的划分失真度量最小的视频块。
结合上述任意之一实施例的本发明第一方面实施例第八种可能实现的方式中,所述对所述参考块进行划分之后,所述方法还包括:
所述编码器根据对所述参考块的划分,确定所述原视频块的划分方式;
所述编码器根据所述原视频块的划分方式,对所述原视频块进行划分,以便根据对原视频块的划分结果对所述原视频块进行编码,得到编码后的比特流并输出给解码器。
结合上述任意之一实施例的本发明第一方面实施例第九种可能实现的方式中,所述编码器根据对所述参考块的划分,确定所述原视频块的划分方式,包括:
所述编码器分别采用所述残差块计算后得到的全部的划分方式对所述原视频块进行编码,得到每一种划分方式对应的评价值;
所述编码器将评价值最优的划分方式确定为所述原视频块的划分方式。
结合上述任意之一实施例的本发明第一方面实施例第十种可能实现的方式中,所述评价值为率失真代价值,所述评价值最优是指率失真代价值最小,所述采用每种划分方式对所述原视频块进行编码,得到每种划分方式对应的评价值,包括:
对应每种划分方式,得到划分后的视频块,并通过运动估计确定每个划分后的视频块的运动信息;
根据所述每个划分后的视频块的运动信息,对所述每个划分后的视频块进行运动补偿,得到所述每个划分后的视频块的预测块,以及根据所述每个划分后的视频块的预测块得到所述每个划分后的视频块对应的残差块;
对所述每个划分后的视频块对应的残差块,进行正交变换、量化、逆量化和逆正交变换后,得到所述原视频块的重构的残差块;
根据所述每个划分后的视频块的运动矢量指向的预测块得到所述原视频块的预测块,根据所述原视频块的预测块以及所述原视频块的重构的残差块,得到重构的原视频块;
比较所述重构的原视频块与所述原视频块,得到编码失真,并根据所述自适应划分对应的编码模式对所述原视频块进行编码得到编码比特,根据所述编码失真和所述编码比特,得到率失真代价值。
结合上述任意之一实施例的本发明第一方面实施例第十一种可能实现的方式中,所述确定每个划分后的视频块的运动信息,包括:
对每个划分后的视频块进行运动估计,得到所述每个划分后的视频块的运动信息;或者,
将所述每个可用运动信息确定当前视频块的相邻块的运动信息列表,并找出在所述运动信息列表中的每个所述当前视频块的相邻块的运动信息。
结合上述任意之一实施例的本发明第一方面实施例第十二种可能实现的方式中,所述正交变换为非规则形状的正交变换或规则形状的正交变换。
结合上述任意之一实施例的本发明第一方面实施例第十三种可能实现的方式中,可用运动信息列表包括所述可用运动信息,所述编码比特包括:
划分方式对应的比特,所述划分方式表明划分为自适应划分;以及,
运动信息对应的比特,所述运动信息对应的比特包括第一可用运动信息对应的比特以及划分后的视频块的运动信息对应的比特;
所述第一可用运动信息对应的比特为所述第一可用运动信息在所述可用运动信息列表中的索引,或者,所述第一可用运动信息对应的比特为对所述第一可用运动信息进行编码后的比特;
所述划分后的视频块的运动信息对应的比特为划分后的视频块的运动信息与所述第一可用运动信息的差值的编码比特,或者,对所述划分后的视频块的运动信息进行编码后的比特;
所述第一可用运动信息为用于生成所述原视频块的划分方式的一个或一组可用运动信息。
第二方面,提供了一种视频块的划分方法,包括:
解码器获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
所述解码器采用所述可用运动信息对所述参考块进行运动补偿,得到残差块;
所述解码器对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较;
所述解码器根据比较结果确定所述可用运动信息对应的划分方式;
所述解码器采用所述划分方式,对所述参考块进行划分。。
结合第二方面,在第二方面的第一种可能的实现方式中,所述获取原视频块的可用运动信息,包括:
所述解码器从所述比特流中获取可用运动信息;
其中,所述比特流中包括所述可用运动信息索引,以根据所述可用运动信息的索引,以及预先建立的与编码器相同的可用运动信息列表,查找确定所述可用运动信息;或者,
所述比特流中包括所述可用运动信息的编码后的比特,通过解码得到所述可用运动信息。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述获取所述原视频块的参考块,包括:
在分层编码时,所述解码器将编码器和解码器预先约定的参考块确定为所述解码器采用的参考块;或者,
在非分层编码时,所述比特流中包含用于指示编码器采用的参考块的指示信息,所述解码器根据所述指示信息确定所述解码器采用的参考块,其中,如果所述参考块由一个视频块组成,所述指示信息包括所述参考块所在参考帧在帧存储器中的位置索引,以及所述参考块与所述原视频块的相对位移;或者,如果所述参考块由多个视频块加权而成,所述指示信息包括每个视频块所在参考帧在帧存储器中的位置索引,每个视频块与原视频块的相对位移,和每个视频块的权重。
结合第二方面或第二方面的第一种至第二种任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
所述解码器接收比特流,以便根据对所述参考块的划分,对所述比特流进行解码,以恢复所述原视频块。
第三方面,提供了一种视频块的划分装置,所述装置位于编码器中,所述装置包括:
获取模块,用于获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
运动补偿模块,用于采用所述获取模块获取的所述可用运动信息对所述获取模块获取的所述参考块进行运动补偿,得到残差块;
统计模块,用于对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式;
第一划分模块,用于采用所述统计模块得到的所述划分方式,对所述参考块进行划分。
结合第三方面,在第三方面的第一种可能的实现方式中,所述获取模块具体用于:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息,
与所述原视频块时间相邻的视频块的运动信息;
所述获取模块获取所述原视频块的参考块。
结合第三方面,在第三方面的第二种可能的实现方式中,所述获取模块具体用于:
当所述编码器按照分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息,
与所述原视频块时间相邻的视频块的运动信息,
第一视频块的运动信息,
与所述第一视频块空间相邻的视频块的运动信息,
与所述第一视频块时间相邻的视频块的运动信息,
其中,所述第一视频块是指第一分层中与所述原视频块对应的视频块,所述第一分层是指时间、空间、信噪比中的至少一项的分辨率低于所述原视频块所在分层的分辨率的分层,且所述第一视频块所包含的图像内容与所述原视频块所包含的图像内容强相关;
获取所述原视频块的参考块。
结合第三方面或第三方面的第一种至第二种任一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述获取模块具体用于:
获取原视频块的可用运动信息;
当所述编码器按照分层编码方式对所述原视频块进行编码时,将第二视频块确定为参考块,所述第二视频块与所述原视频块具有相同的空间分辨率,其中,所述第二视频块是指第二分层中与原视频块对应的视频块,所述第二分层是指时间分辨率低于所述原视频块所在分层的时间分辨率的分层,或者,所述第二分层是指信噪比分辨率低于所述原视频块所在分层的信噪比分辨率的分层,或者,所述第二分层是指时间分辨率和信噪比分辨率均低于所述原视频块所在分层的时间分辨率和信噪比分辨率的分层,或者,所述第二视频块是指第三分层中上采样的与所述原视频块对应的视频块,所述第三分层是指空间分辨率等于所述原视频块所在分层的分层。
结合第三方面或第三方面的第一种至第二种任一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述获取模块具体用于:
获取原视频块的可用运动信息;
当所述编码器按照非分层编码方式对所述原视频块进行编码时,将存储的参考帧中的第三视频块确定为参考块,所述第三视频块是指在设定的划分失真度量下,所述存储的参考帧中的具有与所述原视频块的划分失真度量最小的视频块。
结合第三方面或第三方面的第一种至第四种任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述装置还包括:
确定模块,用于根据对所述参考块的划分,确定所述原视频块的划分方式;
第二划分模块,用于根据所述原视频块的划分方式,对所述原视频块进行划分,以便所述编码器根据对所述原视频块的划分结果对所述原视频块进行编码,得到编码后的比特流并输出给解码器。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述确定模块具体包括:
第一单元,用于分别采用所述残差块计算后得到的全部的划分方式对所述原视频块进行编码,得到每一种划分方式对应的评价值;
第二单元,用于将评价值最优的划分方式确定为所述原视频块的划分方式。
结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述评价值为率失真代价值,所述评价值最优是指率失真代价值最小,所述第一单元具体用于:
对应每种划分方式,得到划分后的视频块,并通过运动估计确定每个划分后的视频块的运动信息;
根据所述每个划分后的视频块的运动信息,对所述每个划分后的视频块进行运动补偿,得到所述每个划分后的视频块的预测块,以及根据所述每个划分后的视频块的预测块得到所述每个划分后的视频块对应的残差块;
对所述每个划分后的视频块对应的残差块,进行正交变换、量化、逆量化和逆正交变换后,得到所述原视频块的重构的残差块;
根据所述每个划分后的视频块的运动矢量指向的预测块得到所述原视频块的预测块,根据所述原视频块的预测块以及所述原视频块的重构的残差块,得到重构的原视频块;
比较所述重构的原视频块与所述原视频块,得到编码失真,并根据所述自适应划分对应的编码模式对所述原视频块进行编码得到编码比特,根据所述编码失真和所述编码比特,得到率失真代价值。
结合第三方面的第七种可能的实现方式,在第三方面的第八种可能的实现方式中,所述第一单元确定每个划分后的视频块的运动信息具体包括:
对每个划分后的视频块进行运动估计,得到所述每个划分后的视频块的运动信息;或者,
将所述每个可用运动信息确定当前视频块的相邻块的运动信息列表,并找出在所述运动信息列表中的每个所述当前视频块的相邻块的运动信息。
结合第三方面的第八种可能的实现方式,在第三方面的第九种可能的实现方式中,所述第一单元采用的所述正交变换具体为非规则形状的正交变换或规则形状的正交变换。
结合第三方面的第九种可能的实现方式,在第三方面的第十种可能的实现方式中,可用运动信息列表包括所述可用运动信息,所述第一单元得到的所述编码比特包括:
划分方式对应的比特,所述划分方式表明划分为自适应划分;以及,
运动信息对应的比特,所述运动信息对应的比特包括第一可用运动信息对应的比特以及划分后的视频块的运动信息对应的比特;
所述第一可用运动信息对应的比特为所述第一可用运动信息在所述可用运动信息列表中的索引,或者,所述第一可用运动信息对应的比特为对所述第一可用运动信息进行编码后的比特;
所述划分后的视频块的运动信息对应的比特为划分后的视频块的运动信息与所述第一可用运动信息的差值的编码比特,或者,对所述划分后的视频块的运动信息进行编码后的比特;
所述第一可用运动信息为用于生成所述原视频块的划分方式的一个或一组可用运动信息。
第四方面,提供了一种视频块的划分装置,其特征在于,所述装置位于解码器中,所述装置包括:
获取模块,用于获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
运动补偿模块,用于采用所述获取模块获取的所述可用运动信息对所述获取模块获取的所述参考块进行运动补偿,得到残差块;
统计模块,用于对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式;
第一划分模块,用于采用所述统计模块得到的所述划分方式,对所述参考块进行划分。
结合第二方面,在第二方面的第一种可能的实现方式中,所述获取模块具体用于:
从所述比特流中获取可用运动信息;
其中,所述比特流中包括所述可用运动信息索引,以根据所述可用运动信息的索引,以及预先建立的与编码器相同的可用运动信息列表,查找确定所述可用运动信息;或者,
所述比特流中包括所述可用运动信息的编码后的比特,通过解码得到所述可用运动信息;
以及获取所述原视频块的参考块。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述获取模块具体用于:
获取原视频块的可用运动信息;
在分层编码时,所述解码器将编码器和解码器预先约定的参考块确定为所述解码器采用的参考块;或者,
在非分层编码时,所述比特流中包含用于指示编码器采用的参考块的指示信息,所述解码器根据所述指示信息确定所述解码器采用的参考块,其中,如果所述参考块由一个视频块组成,所述指示信息包括所述参考块所在参考帧在帧存储器中的位置索引,以及所述参考块与所述原视频块的相对位移;或者,如果所述参考块由多个视频块加权而成,所述指示信息包括每个视频块所在参考帧在帧存储器中的位置索引,每个视频块与原视频块的相对位移,和每个视频块的权重。
结合第二方面或第二方面的第一种至第二种任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括:
接收模块,用于接收比特流,以便所述解码器根据对所述参考块的划分,对所述接收模块接收的所述比特流进行解码,以恢复所述原视频块。
通过上述技术方案,采用可用运动信息对参考块进行运动补偿,并对运动补偿得到的残差块进行统计分析,根据统计分析的结果对参考块进行划分,可以完成对参考块的自适应划分,通过自适应划分可以获取更准确的运动信息,进而可以进行准确的运动补偿预测,提高压缩性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频块的划分方法的流程示意图;
图2为本发明实施例提供的另一种视频块的划分方法的流程示意图;
图3为本发明实施例中自适应划分的生成示意图;
图4为本发明实施例中根据划分方式得到率失真代价值的流程示意图;
图5为采用现有技术中HEVC完成视频划分与采用本发明实施例的自适应划分完成视频划分的比较示意图;
图6为本发明实施例提供的一种编码方法的流程示意图;
图7为图6对应的编码器的结构示意图;
图8为本发明实施例提供的一种解码方法的流程示意图;
图9为图8对应的解码器的结构示意图;
图10为本发明提供的一种视频块的划分装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种视频块的划分方法的流程示意图,包括:
11:第一设备获取原视频块的可用运动信息,以及获取所述原视频块的参考块。
第一设备可以为编码器或者为解码器。
所述参考块可以为编码端和解码端均可得的视频块。
例如,可以对输入的视频进行划分,不失一般性,假设得到大小为64×64的多个不重叠的视频块,对要编码的一个64×64的视频块可以称为原视频块。
在编码端,编码器可以对该原视频块进行编码得到比特流,在解码端,解码器可以对接收的比特流进行解码以恢复该原视频块。
可以理解的是,视频块是指编解码的处理单元,该视频块也可以称为编码单元(coding unit)。
另外,该64x64大小的视频块仅为一种示例,实际应用中的当前视频块也可以是其他大小。
可用运动信息是指当前可得的运动信息,例如,在编码侧,可用运动信息包括但并不限于原视频块的相邻的已编码的视频块的运动信息。
具体的,对于编码器,在非分层视频编码应用中,可用运动信息包括但不限于如下项中的至少一项:
与原视频块空间相邻的视频块的运动信息;
与原视频块时间相邻的视频块的运动信息。
在分层视频编码应用中,可用运动信息包括但不限于如下项中的至少一项:
与原视频块空间相邻的视频块的运动信息;
与原视频块时间相邻的视频块的运动信息;
第一视频块的运动信息;
与第一视频块空间相邻的视频块的运动信息;
与第一视频块时间相邻的视频块的运动信息;
其中,第一视频块是指第一分层中与原视频块对应的视频块,第一分层是指时间、空间、信噪比中的至少一项的分辨率低于原视频块所在分层的分层。例如,原视频块所在的分层为增强层,第一分层是指基本层。
本发明实施例中,在时间分层和/或信噪比分层时,基本层和增强层中“对应的”视频块是指位置相同的视频块,如在时间分层时,基本层和增强层在进行编码时采用的帧的时间间隔不同,但采用的视频块位于相同的位置,如基本层编码的帧号分别为0,2,4,6…,增强层编码的帧号分别为0,1,2,3…,第一视频块位于基本层的第2帧,且位置为(x0~xn,y0~ym),原视频块位于增强层的第1帧且位置也为(x0~xn,y0~ym)。在空间分层时,基本层和增强层中“对应的”视频块是指像素数量及位置之间的相互关系符合空间分辨率的视频块,例如,增强层与基本层的空间分辨率之比为2:1,那么假设第一视频块的位置为(x0~xn,y0~ym),则原视频块的位置为(x0/2~xn/2,y0/2~ym/2)。
可以理解的是,上述可用运动信息只是一种示例,还可以是其它方式得到的运动信息,例如,可以对原视频块的时间和/或空间相邻的视频块的运动信息进行加权处理等得到的运动信息,甚至可以是独立于原视频块的时间和/或空间相邻的视频块的运动信息。
上述的运动信息包括但不限于如下项中的至少一项:运动矢量,例如运动矢量在x方向和y方向的分量数值;预测模式,例如单向预测或者双向预测;以及,参考图像帧在参考图像列表中的索引等。
对于解码器,可以在接收的比特流中得到可用运动信息。例如,编码器和解码器可以将上述的可用运动信息组成可用运动信息列表,每个可用运动信息在该可用运动信息列表中具有一个索引,编码器输出给解码器的比特流中可以包括编码器采用的可用运动信息的索引,解码器根据该可用运动信息的索引通过查找可用运动信息列表,得到可用运动信息。或者,解码器接收的比特流中也可以直接包含对可用运动信息进行编码后的比特,通过解码比特得到可用运动信息。
即,可选的,对于解码器,所述获取原视频块的可用运动信息,包括:
所述解码器从所述比特流中获取可用运动信息;
其中,所述比特流中包括所述可用运动信息索引,以根据所述可用运动信息的索引,以及预先建立的与编码器相同的可用运动信息列表,查找确定所述可用运动信息;或者,
所述比特流中包括所述可用运动信息的编码后的比特,通过解码得到所述可用运动信息。
上述的参考块是编码端和解码端均可得的,使得编码器采用的参考块与解码器采用的参考块是相同的。
在分层编码时,可以在编码器和解码器中预先定义参考块,具体可以将与原视频块具有相同空间分辨率的视频块确定为参考块。
在非分层编码时,参考块可以存储的参考帧中获取。对于编码器,该原视频块是可得的,因此可以将存储的参考帧中与原视频块的划分最接近的一个视频块确定为参考块。之后,在编码得到的比特流中可以包括原视频块与参考块之间的相对位移信息,使得解码器根据该相对位移信息获取参考块。例如,在非分层编码应用中,由于编码端原视频块可得,直接使用原视频块作运动补偿划分得到划分一,使用帧存储器中的某一视频块作为参考块作运动补偿划分可以得到划分二,编码器选择最佳参考块就是在某一失真准则下,对此参考块的划分二相对于划分一的失真最小,最佳参考块与当前视频块之间的相对位移以及参考块在帧存诸器中的位置一起被定义为划分矢量(partition vector)或形状矢量(shape vector);在分层编码应用中,由于基本层和增强层的强相关性,第二视频块(第二视频块的定义可以参见后续描述)可以是参考块的一个的选择,当然,此时参考块的选取也可以采用类似于非分层编码应用中,在帧存储器中找到一个参考块。
即,对于编码器,可选的,获取原视频块的参考块,包括:
当所述编码器在分层编码时,将第二视频块确定为参考块,所述第二视频块与所述原视频块具有相同的空间分辨率,其中,所述第二视频块是指第二分层中与原视频块对应的视频块,所述第二分层是指时间和/或信噪比的分辨率低于所述原视频块所在分层的分层,或者,所述第二视频块是指第三分层中上采样的与所述原视频块对应的视频块,所述第三分层是指空间分辨率低于所述原视频块所在分层的分层;或者,
当所述编码器在非分层编码时,将存储的参考帧中的第三视频块确定为参考块,所述第三视频块是指在设定的划分失真度量下,具有与所述原视频块的划分最接近划分的视频块。
对于解码器,可选的,获取原视频块的参考块,包括:
在分层编码时,所述解码器将编码器和解码器预先约定的参考块确定为所述解码器采用的参考块(此时的参考块由编解码器推知,并不需要额外的比特花费);或者,
在非分层编码时,所述比特流中包含用于指示编码器采用的参考块的指示信息,所述解码器根据所述指示信息确定所述解码器采用的参考块,其中,如果所述参考块由一个视频块组成,所述指示信息包括所述参考块所在参考帧在帧存储器中的位置索引,以及所述参考块与所述原视频块的相对位移;或者,如果所述参考块由多个视频块加权而成,所述指示信息包括每个视频块所在参考帧在帧存储器中的位置索引,每个视频块与原视频块的相对位移,和每个视频块的权重。
在获取可用运动信息和参考块后,所述第一设备可以根据所述可用运动信息,对所述参考块进行自适应划分。
其中,自适应划分是指不限于现有技术中固定划分方式,例如不限于H.264/AVC的对称划分方式,也不限于HEVC的非对称划分方式,本发明实施例提出的自适应划分并不限于矩形划分,可以是任意划分形状。
上述的自适应划分可以是根据运动补偿进行的,即,可选的,所述根据所述可用运动信息,对所述参考块进行自适应划分,包括:
根据所述可用运动信息,采用运动补偿方式,对所述参考块进行自适应划分。
可选的,所述根据所述可用运动信息,采用运动补偿方式,对所述参考块进行自适应划分,包括:
12:所述第一设备采用所述可用运动信息对所述参考块进行运动补偿,得到残差块。
13:所述第一设备对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式。
14:所述第一设备采用所述划分方式,对所述参考块进行划分。
其中,每个或每组可用运动信息可以对应一种划分方式。可以理解的是,每组可用运动信息是指包括至少两个可用运动信息;一种划分方式可以划分得到两个或至少三个的视频块。
例如,当每个可用运动信息对应一种划分方式时,可以是根据该一个可用运动信息,得到一个残差块,根据该一个残差块的统计分析,划分得到两个视频块,或者至少三个视频块。或者,
当每组可用运动信息对应一种划分方式时,可以是根据至少两个运动信息,得到至少两个残差块,根据该至少两个残差块的统计分析,划分得到至少三个视频块。上述划分时对每个残差块进行统计分析时,可以设置一个或至少两个阈值。
由于运动补偿模块是现有视频编解码器中普遍使用的模块,因此一方面本发明实施例提出的实现方式可以充分利用现有技术,增强本发明实施例的应用广度以及成熟度;另一方面采用运动补偿模块实现自适应划分可以降低运算复杂度,将运动复杂度限定在可接受的范围。
另外,本实施例的执行主体,也就是上述的第一设备可以是编码器,或者解码器,或者编码器和解码器也可以统称为编解码器。
可选的,当第一设备为编码器时,在根据可用运动信息对参考块进行自适应划分后,还可以包括:
所述编码器根据对所述参考块的自适应划分,确定所述原视频块的划分方式;
所述编码器根据所述原视频块的划分方式,对所述原视频块进行划分以及编码,得到编码后的比特流并输出给解码器。
上述的根据对参考块的自适应划分,确定原视频的划分方式可以是指:由于每个可用运动信息或其组合可以对应一种对参考块的自适应划分,在确定一种自适应划分后,可以将该自适应划分应用到原视频块中,之后再采用该划分对原视频块进行划分和编码,得到一种评价值,将评价值最优的划分方式确定为原视频块的划分方式。该评价值包括但不限于率失真代价值。
在确定出原视频块的划分方式后,可以采用该划分方式对原视频块进行划分以及编码,编码后的比特流中可以包括:划分方式对应的比特,该划分方式表明为自适应划分;运动信息对应的比特,该比特可以是运动信息在可用运动信息列表中的索引,如,MV0在可用运动信息列表中的索引为0,那么该运动信息对应的比特为0,或者,该运动信息对应的比特可以就是对MV0直接进行编码后的比特。可以理解的是,此处以一个可用运动信息(MV0)对应一种划分方式为例,可选的,当划分方式是对应至少两个可用运动信息时,则包括至少两个可用运动信息对应的比特,例如包括至少两个可用运行信息在可用运动信息列表中的索引,或者直接对可用运动信息进行编码后的比特。
上述给出了当第一设备为编码器时的划分方式,在编码器端由于需要从多种可能的划分方式中确定出一种最终的划分方式,因此存在上述的代价值比较过程。而对于解码器,由于编码器会在输出的比特流中包含划分方式以及运动信息,解码器可以直接从该比特流中确定出划分方式和运动信息,采用这些信息进行解码,以恢复原视频块。
即,可选的,对于解码器,所述方法还包括:
所述解码器接收比特流;
所述解码器根据对所述参考块的自适应划分,对所述比特流进行解码,以恢复所述原视频块。
本实施例通过采用可用运动信息完成对参考块的自适应划分,在编码端对参考块的自适应划分可以应用到原视频块中,使得原视频块完成自适应划分,在解码端可以根据对参考块的自适应划分恢复原视频块,通过自适应划分可以获取更准确的运动信息,进而可以进行准确的运动补偿预测,提高压缩性能。
参见图2,本发明实施例提供了一种编码器确定原视频块的划分方式的流程示意图,不失一般性,在本实施例中假设原视频块有两个划分。对于有多个划分的情形,可以通过在统计划分过程中设置多个阈值等算法参数;或对原视频块进行迭代的四叉树分割,然后在分割后的视频块上作两个划分。本实施例可以包括:
21:对应每个可用运动信息,采用该可用运动信息对参考块进行运动补偿,得到残差块;
例如,采用的一个可用运动信息为MV0,那么可以首先采用该MV0对参考块进行运动补偿,得到相应的残差块。
参见图3,以分层编码为例,上述的采用可用运动信息对参考块进行运动补偿可以包括:
第0步,确定增强层的原视频块的可用运动信息(图3中示出3个运动信息,MV0,MV1和MV2);
第1步,假设参考块为基本层的第一视频块,第一视频块是指基本层中与原视频块对应的视频块;
第一视频块所包含的图像内容与原视频所包含的图像内容强相关,这种强相关是基于分层编码中视频编码信号的强相关性。
在本发明的一个实施例中,第一视频块的内容和原视频的内容是非常相似的。例如都是对一个物体的同一部分进行编码等。
第2步,使用一个可用运动信息(如MV0),对参考块进行运动补偿得到预测块;
第3步,预测块与参考块相减得到残差块。
22:对该残差块进行统计分析,得到参考块的该可用运动信息对应的划分方式。
本实施例以每个可用运动信息对应一种划分方式为例,可以理解的是,也可以是一组可用运动信息对应一种划分方式。
参见图3,22的具体内容可以包括:
第4步,对残差块进行统计分析;
第5步,根据统计分析的结果得到该可用运动信息对应的划分方式。
该统计分析是基于视频块的图像内容,依据具有不同运动信息的图像内容分属不同划分区域的原理,例如,图像内容包括A和B,对于一个好的划分算法,当A和B具有相同运动信息时其属于同一个划分块,当A和B具有不同运动信息时,其分别属于不同的划分块。
由于上述的统计分析是基于图像内容的运动信息,因此当图像内容具有不同的运动信息时,将具有不同的划分方式,即划分具有自适应的特点。
具体的,统计分析包括但不限于:计算残差块像素的绝对值均值,并将此均值作为阈值,通过残差块像素绝对值与此阈值的比较确定划分方式;或者,通过计算残差块像素的梯度值确定划分方式。
例如,当某个残差块像素的绝对值超过计算得到的均值阈值,那么该像素与不超过阈值的像素属于不同的划分。或者,某个残差块像素的梯度值超过预设的阈值,那么该梯度值两侧的像素属于不同的划分。
参见图3,以划分后的图像块为两块为例,图3左下角给出了一个具体的划分结果的例子。该划分是在参考块上的划分。
23:将参考块的划分应用到原视频块上。
参见图3的第6步,将与参考块相同的划分方式用于划分原视频块,如图3的右上角所示。
上述描述了MV0的划分方式,类似的,可以得到MV1和MV2的划分方式。其中,可用运动信息与划分方式是一一对应的。
可以理解的是,本实施例以三个运动信息为例,本发明实施例的方法并不限于该三个运动信息,该运动信息可以是多个,该多个运动信息可以组成一个列表,称为运动信息列表,并且每个运动信息在该运动信息列表中可以对应唯一的索引,因此,每个运动信息可以具有一个运动信息索引。
24:采用每种划分方式对原视频块进行编码,得到每种划分方式对应的评价值,将评价值最优的划分方式确定为原视频块的划分方式。
其中,评价值可以是指率失真代价值,此时,评价值最优是指率失真代价值最小。可以理解的是,该评价值并不限于率失真代价值,例如还可以根据残差值,确定每种划分方式对应的残差值,将残差值最小的划分方式确定为最终划分方式。本发明实施例以率失真代价值为例。
如上所示,每种运动信息将对应一种划分方式,根据每种划分方式又可以得到一个率失真代价值,在计算出所有运动信息分别对应的率失真代价值后,就可以确定出最终划分方式。例如,采用MV0对应的划分方式得到的率失真代价值为cost0,采用MV1对应的划分方式得到的率失真代价值为cost1,采用MV2对应的划分方式得到的率失真代价值为cost2,假设cost0最小,那么可以将MV0对应的划分方式确定为最终划分方式。
本实施例在自适应划分时采用运动补偿模块,由于运动补偿模块是通用模块,可以降低运动复杂度以及提高适用性。
可选的,参见图4,采用每种划分方式对原视频块进行编码,得到每种划分方式对应的率失真代价值,可以包括:
41:对应每种划分方式,得到划分后的视频块,并确定每个划分后的视频块的运动信息;
可选的,可以对每个划分后的视频块进行运动估计,得到对应的运动信息。例如,假设对原视频块划分后得到两个视频块,分别为第一视频块和第二视频块,那么,可以对第一视频块进行运动估计,得到第一视频块对应的运动信息,以及,对第二视频块进行运动估计,得到第二视频块对应的运动信息。或者,
可选的,也可以将采用的可用运动信息作为与该可用运动信息相邻的划分后的视频块的运动信息。例如,采用的运动信息为MV0,假设划分后与该MV0相邻的视频块为第一视频块(如图3的划分后的左侧的视频块),那么第一视频块的运动信息可以确定为MV0,类似的,如图3的划分后的右侧的视频块的运动信息可以确定为MV1。
42:根据每个划分后的视频块的运动信息,对所述每个划分后的视频块进行运动补偿,得到所述每个划分后的视频块的预测块,以及所述每个划分后的视频块的预测块与所述每个划分后的视频块的残差块;
例如,划分后的视频块为第一视频块和第二视频块,两个视频块对应的运动信息为第一运动信息和第二运动信息,那么可以采用第一运动信息对第一图像块进行运动补偿,得到第一预测块,第一预测块是第一视频块的预测块,并得到第一预测块与第一视频块的残差块,该残差块可以称为第一残差块;类似的,可以采用第二运动信息对第二视频块进行运动补偿,得到第二预测块,第二预测块是第二视频块的预测块,并得到第二预测块与第二视频块的残差块,该残差块可以称为第二残差块。
可以理解的是,本发明实施例中运动补偿时得到预测块以及残差块的具体内容,以及运动估计得到运动信息的具体内容可以参见现有技术中运动补偿和运动估计的具体内容,在此不再赘述。
43:根据每个划分后的视频块对应的残差块,进行正交变换、量化、逆量化和逆正交变换后,得到所述原视频块的重构的残差块。
可选的,正交变换可以是规则形状变换,例如,矩形变换,当采用规则形状变换时,可以先对每个划分后得到的残差块进行拼合,得到原视频块对应的规则残差块,如将第一残差块和第二残差块进行拼合,之后再对拼合后的残差块进行正交变换等。或者,
正交变换也可以是非规则形状变换,此时,可以分别对第一残差块和第二残差块进行正交变换等。
残差块经正交变换,量化,扫描后得到一维的量化变换系数;对量化变换系数作相应的逆扫描,逆量化,逆正交变换得到原视频块的重构的残差块。
44:根据所述每个划分后的视频块的预测块得到原视频块的预测块,根据所述原视频块的预测块以及所述原视频块的重构的残差块,得到重构的原视频块。
其中,可以将第一预测块和第二预测块进行拼合后得到源视频块的预测块,之后,再将源视频块的预测块与该原视频块的重构的残差块相加,得到重构的原视频块。
另外,重构的原视频块/帧经后处理(包括但并不限于去块效应等)后可以作为参考帧存入帧存储器,供后面的编码图像帧运动估计时使用。
45:比较所述重构的原视频块与所述原视频块,得到编码失真,并通过所述自适应划分对应的编码模式对原视频块进行编码得到编码比特,根据编码失真和编码比特,得到率失真代价值。
上述的编码失真可以通过比较重构的原视频块与原视频块得到。
上述的编码比特可以包括:表明划分方式为自适应划分的比特,表明原视频块的划分方式对应的可用运动信息的比特。
可用运动信息可以组成可用运动信息列表,上述编码比特中包含的运动信息可以是可用运动信息的索引,或者直接对采用的运动信息进行编码。划分后的视频块的运动信息可以是直接编码得到的信息,或者也可以是与最终划分方式对应的可用运动信息的差值信息。
即,可选的,所述编码比特包括:
划分方式对应的比特,所述划分方式表明划分为自适应划分;以及,
第一可用运动信息对应的比特,所述第一可用运动信息对应的比特为所述第一可用运动信息在所述可用运动信息列表中的索引,或者,所述第一可用运动信息对应的比特为对所述第一可用运动信息进行编码后的比特。
例如,生成最终划分(即确定出的原视频块的划分方式)的运动信息为MV0,假设MV0在运动信息列表中的索引为0,那么该编码比特中包含的划分方式对应的运动信息为0;可以理解的是,当划分方式对应的是一组可用运动信息,编码时需要对该一组可用运动信息进行编码。
进一步的,如果对划分后的每个视频块进行运动估计,编码比特还可以包括每个划分后的视频块的运动信息对应的比特,该运动信息对应的比特包括但不限于:直接编码得到的比特,或者用于生成划分的运动信息与划分后每个图像块对应的运动信息的差分值的编码比特。以差分值为例,例如,划分后的视频块为第一视频块和第二视频块,第一视频块对应的运动信息为第一运动信息,第二视频块对应的运动信息为第二运动信息,用于生成划分的运动信息集合为{MV0,MV1,MV2},假设第一运动信息与运动信息集合中MV0最为接近,而第二运动信息与运动信息集合中MV1最为接近,那么还包括MV0与第一运动信息的差分值以及MV1与第二运动信息的差分值。所述的最为接近是指使用运动信息集合中的某个运动信息对第一或第二运动信息进行编码时,相应的索引以及x和y方向的差分值需要的比特数最少.例如,假设第一运动信息为NMV,对应上述的三个运动信息MV0、MV1和MV3可以得到:(1)索引值0,NMV(x)-MV0(x),NMV(y)-MV0(y);(2)索引值1,NMV(x)-MV1(x),NMV(y)-MV1(y);(3)索引值2,NMV(x)-MV2(x),NMV(y)-MV2(y);分别对上述三种信息进行编码,得到三种编码后的比特,假设对(1)的编码比特开销最小,则MV0为NMV的最接近的运动信息。上述的(x)和(y)分别表示相应运动信息的x和y方向的值,如NMV(x)表示NMV在x方向的值,NMV(y)表示NMV在y方向的值。另外,编码比特还可以包括:正交变换的结构信息,子结构的全零系数指示,和量化的正交变换系数等。
得到编码失真和编码比特之后,就可以得到率失真代价值。其中,率失真代价值不仅包括失真度量还包括该失真对应的编码比特的比特数,例如,采用MV0对应的划分方式得到的编码失真与采用MV1对应的划分方式得到的编码失真有相同的失真度量,但MV0对应的划分方式得到的编码比特的比特数小于MV1对应的划分方式得到的编码比特的比特数,那么可以确定MV0对应的划分方式对应的率失真代价值小于MV1对应的划分方式对应的率失真代价值。
本实施例通过在编码时采用运动信息的索引,可以降低比特开销。当有新的运动信息编码方法可以进一步提高运动信息的编码效率时,本发明提出的思想仍然适用。
通过上述描述可以完成对原视频块的自适应划分,例如,参见图5,图5左侧为现有的HEVC划分的一个例子,图5右侧为采用本发明实施例完成的划分,其中两个例子中都是曲线右侧所在的范围为运动物体,左侧为静止背景。从图5可以看出,现有的HEVC划分尽管对原视频块进行了深层次的划分仍不能准确的描述运动物体,因而降低预测准确性,影响压缩性能,而采用本发明实施例的方式,可以有效地将运动物体划分出来,提高预测准确性,进而提高压缩性能。
在确定出原视频块的划分方式后,可以根据该划分方式完成编码。例如,参见图6以及对应的图7的结构示意图,为本发明实施例提出的一种编码方法的流程示意图,包括:
61:采用原视频块的划分方式对原视频块进行划分,得到划分后的视频块;
确定原视频块的划分方式的具体内容可以参见上述图2所示的实施例。
该步骤可以由图7所示的划分模块完成。
62:对每个划分后的视频块进行运动补偿,得到每个视频块对应的预测块,以及每个视频块对应的预测块与该视频块的残差块;
该步骤可以由图7所示的运动补偿模块完成,可以得到残差块,另外,在预测时还可以得到标头信息,标头信息包括预测模式、每个划分后的视频块的分割大小、运动信息等。
63:对残差块进行正交变换、量化和系数扫描后得到残差编码;
残差编码包括:正交变换的结构信息,子结构的全零系数指示,和量化的正交变换系数等。
该步骤可以分别由图7所示的正交变换模块、量化模块和系数扫描模块完成。
64:对残差编码和标头信息进行熵编码,得到编码后的比特流,之后输出给解码器。
该步骤可以由图7所示的熵编码模块完成。
另外,经重构的视频块可以保存在帧存储件中,以用于后续视频帧的编码参考。如图7所示,还可以包括逆量化模块、逆正交变换模块、帧存储件。
上述描述了编码侧的行为,相应的解码侧的行为可以如下实施例。
参见图8及对应的结构示意图图9,解码器执行的流程可以包括:
81:解码器对接收的比特流进行熵解码。
该步骤可以由图9所示的熵解码模块完成,得到标头信息和1维系数。
82:解码器对参考块进行划分。
该步骤可以具体包括:
从接收的比特流(如上述的标头信息)中获取可用运动信息。假设包含的是可用运动信息索引时,可以根据该可用运动信息索引在预先建立的与编码器相同的可用运动信息列表中进行查找,确定所述可用运动信息;
采用所述可用运动信息,对所述参考块进行运动补偿,得到残差块;
对所述残差块进行统计分析,得到所述可用运动信息对应的划分方式;
采用所述可用运动信息对应的划分方式对所述参考块进行划分,得到划分后的视频块。
该步骤可以由图9所示的划分模块完成。该划分模块采用的参考块的获取可以如上述实施例所述,如将预先定义的视频块确定为参考块,或者将存储的参考帧中的一个视频块确定为参考块。
83:解码器根据标头信息对划分后的视频块进行预测,得到预测块。
该步骤可以由图9所示的运动补偿模块完成,得到预测块。
84:解码器对一维系数进行系数扫描、逆量化、逆正交变换,得到重构的残差块。
该步骤可以由图9所示的系数扫描模块、逆量化模块、逆正交变换模块完成,得到重构的残差块。
85:根据预测块和重构的残差块得到重构的块。
该步骤可以由图9的重构模块完成。该重构的块也就是恢复出的原视频块。可以理解的是,由于存在编码损失等原因,恢复出的原视频块与编码器进行编码的原视频块并非完全相同。
之后,在当前解码帧的所有视频块都完成上述的81~85的处理后,可以得到重构的解码帧,再对重构的解码帧进行后处理并放入参考帧缓存,去除编码带来的图像损伤,提升主观图像质量。
上述对方法流程进行了描述,相应的,本发明实施例还提供了用于执行上述方法的装置。
参见图10,本发明实施例提供了一种视频块的划分装置,该装置可以位于编码器中或者位于解码器中,该装置100包括获取模块101、运动补偿模块102、统计模块103和第一划分模块104;获取模块101用于获取原视频块的可用运动信息,以及获取所述原视频块的参考块;运动补偿模块102用于采用所述获取模块获取的所述可用运动信息对所述获取模块获取的所述参考块进行运动补偿,得到残差块;统计模块103用于对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式;第一划分模块104用于采用所述统计模块得到的所述划分方式,对所述参考块进行划分。
可选的,所述装置位于编码器中,所述获取模块获取原视频块的可用运动信息,包括:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,将如下项中的至少一项确定为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息;
与所述原视频块时间相邻的视频块的运动信息。
或者,
当所述编码器按照分层编码方式对所述原视频块进行编码时,将如下项中的至少一项确定为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息;
与所述原视频块时间相邻的视频块的运动信息;
第一视频块的运动信息;
与所述第一视频块空间相邻的视频块的运动信息;
与所述第一视频块时间相邻的视频块的运动信息;
其中,所述第一视频块是指第一分层中与所述原视频块对应的视频块,所述第一分层是指时间、空间、信噪比中的至少一项的分辨率低于所述原视频块所在分层的分辨率的分层。
可选的,所述装置位于编码器中,所述获取模块获取所述原视频块的参考块,包括:
当所述编码器按照分层编码方式对所述原视频块进行编码时,将第二视频块确定为参考块,所述第二视频块与所述原视频块具有相同的空间分辨率,其中,所述第二视频块是指第二分层中与原视频块对应的视频块,所述第二分层是指时间分辨率低于所述原视频块所在分层的时间分辨率的分层,或者,所述第二分层是指信噪比分辨率低于所述原视频块所在分层的信噪比分辨率的分层,或者,所述第二分层是指时间分辨率和信噪比分辨率均低于所述原视频块所在分层的时间分辨率和信噪比分辨率的分层,或者,所述第二视频块是指第三分层中上采样的与所述原视频块对应的视频块,所述第三分层是指空间分辨率低于所述原视频块所在分层的分层。或者,
当所述编码器按照非分层编码方式对所述原视频块进行编码时,将存储的参考帧中的第三视频块确定为参考块,所述第三视频块是指在设定的划分失真度量下,所述存储的参考帧中的具有与所述原视频块的划分最接近的视频块。
可选的,所述装置位于编码器中,所述装置还包括:
确定模块,用于根据对所述参考块的自适应划分,确定所述原视频块的划分方式;
第二划分模块,用于根据所述原视频块的划分方式,对所述原视频块进行划分,以便所述编码器根据对所述原视频块的划分结果对所述原视频块进行编码,得到编码后的比特流并输出给解码器。
可选的,所述确定模块具体包括:
第一单元,用于采用每种划分方式对所述原视频块进行编码,得到每种划分方式对应的评价值;
第二单元,用于将评价值最优的划分方式确定为所述原视频块的划分方式。
可选的,所述评价值为率失真代价值,所述评价值最优是指率失真代价值最小,所述第一单元具体用于:
对应每种划分方式,得到划分后的视频块,并确定每个划分后的视频块的运动信息;
根据所述每个划分后的视频块的运动信息,对所述每个划分后的视频块进行运动补偿,得到所述每个划分后的视频块的预测块,以及所述每个划分后的视频块的预测块与所述每个划分后的视频块的残差块;
根据所述每个划分后的视频块对应的残差块,进行正交变换、量化、逆量化和逆正交变换后,得到所述原视频块的重构的残差块;
根据所述每个划分后的视频块的预测块得到所述原视频块的预测块,根据所述原视频块的预测块以及所述原视频块的重构的残差块,得到重构的原视频块;
比较所述重构的原视频块与所述原视频块,得到编码失真,并根据所述自适应划分对应的编码模式对所述原视频块进行编码得到编码比特,根据所述编码失真和所述编码比特,得到率失真代价值。
可选的,所述第一单元确定每个划分后的视频块的运动信息具体包括:
对每个划分后的视频块进行运动估计,得到所述每个划分后的视频块的运动信息;或者,
将所述每个可用运动信息确定为与所述可用运动信息相邻的划分后的视频块的运动信息。
可选的,所述第一单元采用的所述正交变换具体为非规则形状的正交变换或规则形状的正交变换。
可选的,所述可用运动信息组成可用运动信息列表,所述第一单元得到的所述编码比特包括:
划分方式对应的比特,所述划分方式表明划分为自适应划分;以及,
运动信息对应的比特,所述运动信息对应的比特包括第一可用运动信息对应的比特以及划分后的视频块的运动信息对应的比特;
所述第一可用运动信息对应的比特为所述第一可用运动信息在所述可用运动信息列表中的索引,或者,所述第一可用运动信息对应的比特为对所述第一可用运动信息进行编码后的比特;
所述划分后的视频块的运动信息对应的比特为划分后的视频块的运动信息与所述第一可用运动信息的差值的编码比特,或者,对所述划分后的视频块的运动信息进行编码后的比特;
所述第一可用运动信息为用于生成所述原视频块的划分方式的可用运动信息。
可选的,所述装置位于解码器中,所述获取模块获取原视频块的可用运动信息,包括:
从所述比特流中获取可用运动信息;
其中,所述比特流中包括所述可用运动信息索引,以根据所述可用运动信息的索引,以及预先建立的与编码器相同的可用运动信息列表,查找确定所述可用运动信息;或者,
所述比特流中包括所述可用运动信息的编码后的比特,通过解码得到所述可用运动信息。
可选的,所述装置位于解码器中,所述获取模块获取所述原视频块的参考块,包括:
在分层编码时,所述解码器将编码器和解码器预先约定的参考块确定为所述解码器采用的参考块;或者,
在非分层编码时,所述比特流中包含用于指示编码器采用的参考块的指示信息,所述解码器根据所述指示信息确定所述解码器采用的参考块,其中,如果所述参考块由一个视频块组成,所述指示信息包括所述参考块所在参考帧在帧存储器中的位置索引,以及所述参考块与所述原视频块的相对位移;或者,如果所述参考块由多个视频块加权而成,所述指示信息包括每个视频块所在参考帧在帧存储器中的位置索引,每个视频块与原视频块的相对位移,和每个视频块的权重。
可选的,所述装置位于解码器中,所述装置还包括:
接收模块,用于接收比特流,以便所述解码器根据对所述参考块的自适应划分,对所述接收模块接收的所述比特流进行解码,以恢复所述原视频块。
在硬件实现上,上述的获取模块、统计模块、第一划分模块、第二划分模块和确定模块可以具体由处理器完成,处理器可以为中央处理单元(CPU)、微处理器、单片机等。上述的接收模块可以具体为接收器或收发器。
进一步的,本发明实施例还可以提供一种编码器,包括上述位于编码器中的划分装置,还可以包括运动补偿模块、正交变换单元、量化单元、系数扫描单元和熵编码单元。具体内容可以参见图7。
进一步的,本发明实施例还可以提供一种解码器,包括上述位于解码器中的划分装置,还可以包括熵解码单元、系数扫描单元、逆量化单元、逆正交变换单元、预测单元、重构单元等。具体内容可以参见图9。
本实施例通过采用可用运动信息对参考块进行运动补偿,并对运动补偿得到的残差块进行统计分析,根据统计分析的结果对参考块进行划分,可以完成对参考块的自适应划分,通过自适应划分可以获取更准确的运动信息,进而可以进行准确的运动补偿预测,提高压缩性能。
需要说明的是,上述实施例中,以分层编码为例,可以理解的是,本发明实施例并不限于分层编码,也可以应用在单层编码时。与分层编码不同的是,在单层编码时参考块通过划分矢量确定。
上述的预测单元可以采用单向预测或双向预测,对于双向预测,预测像素的生成由两个预测信号加权而成。进一步的,预测单元采用的预测信号可以至少为三个,由至少三个的预测信号加权得到预测像素。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (35)
1.一种视频块的划分方法,其特征在于,所述方法包括:
编码器获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
所述编码器采用所述可用运动信息对所述参考块进行运动补偿,得到残差块;
所述编码器对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较;
所述编码器根据比较结果确定所述可用运动信息对应的划分方式;
所述编码器采用所述划分方式,对所述参考块进行划分。
2.根据权利要求1所述的方法,其特征在于,所述统计分析的结果用于生成划分,包括将所述残差块的象素值与预设的至少一个阈值比较而生成划分。
3.根据权利要求1或2所述的方法,其特征在于,所述编码器对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较包括:
所述编码器对所述残差块进行计算,得到所述残差块的绝对值幅度;
所述编码器将所述残差块的绝对值幅度与预设的阈值进行比较。
4.根据权利要求3所述的方法,其特征在于,所述将所述残差块的绝对值幅度与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式包括:
如果所述残差块的绝对值幅度大于第一预设阈值,则确定所述可用运动信息对应第一划分方式;
对应,所述采用所述划分方式,对所述参考块进行划分包括:
采用所述第一划分方式,对所述参考块进行划分。
5.根据权利要求3或4所述的方法,其特征在于,所述将所述残差块的绝对值幅度与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式包括:
如果所述残差块的绝对值幅度不大于第一预设阈值,则确定所述可用运动信息对应第二划分方式;
对应,所述采用所述划分方式,对所述参考块进行划分包括:
采用所述第二划分方式,对所述参考块进行划分。
6.根据权利要求3-5任意一项所述的方法,其特征在于,所述将所述残差块的绝对值幅度与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式包括:
如果所述残差块的绝对值幅度不大于第二预设阈值,则确定所述可用运动信息对应第三划分方式,其中,所述第二预设阈值不大于所述第一阈值;对应,所述采用所述划分方式,对所述参考块进行划分包括:
采用所述第三划分方式,对所述参考块进行划分。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述获取原视频块的可用运动信息,包括:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息;
与所述原视频块时间相邻的视频块的运动信息。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述获取原视频块的可用运动信息,包括:
当所述编码器按照分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息;
与所述原视频块时间相邻的视频块的运动信息;
第一视频块的运动信息;
与所述第一视频块空间相邻的视频块的运动信息;
与所述第一视频块时间相邻的视频块的运动信息;
其中,所述第一视频块是指第一分层中与所述原视频块对应的视频块,所述第一分层是指时间、空间、信噪比中的至少一项的分辨率低于所述原视频块所在分层的分辨率的分层,且所述第一视频块所包含的图像内容与所述原视频块所包含的图像内容强相关。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述获取所述原视频块的参考块,包括:
当所述编码器按照分层编码方式对所述原视频块进行编码时,将第二视频块确定为参考块,所述第二视频块与所述原视频块具有相同的空间分辨率,其中,所述第二视频块是指第二分层中与原视频块对应的视频块,所述第二分层是指时间分辨率低于所述原视频块所在分层的时间分辨率的分层,或者,所述第二分层是指信噪比分辨率低于所述原视频块所在分层的信噪比分辨率的分层,或者,所述第二分层是指时间分辨率和信噪比分辨率均低于所述原视频块所在分层的时间分辨率和信噪比分辨率的分层,或者,所述第二视频块是指第三分层中上采样的与所述原视频块对应的视频块,所述第三分层是指空间分辨率等于所述原视频块所在分层的分层。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述获取所述原视频块的参考块,包括:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,将存储的参考帧中的第三视频块确定为参考块,所述第三视频块是指在设定的划分失真度量下,所述存储的参考帧中的具有与所述原视频块的划分失真度量最小的视频块。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述对所述参考块进行划分之后,所述方法还包括:
所述编码器根据对所述参考块的划分,确定所述原视频块的划分方式;
所述编码器根据所述原视频块的划分方式,对所述原视频块进行划分,以便根据对原视频块的划分结果对所述原视频块进行编码,得到编码后的比特流并输出给解码器。
12.根据权利要求11所述的方法,其特征在于,所述编码器根据对所述参考块的划分,确定所述原视频块的划分方式,包括:
所述编码器分别采用所述残差块计算后得到的全部的划分方式对所述原视频块进行编码,得到每一种划分方式对应的评价值;
所述编码器将评价值最优的划分方式确定为所述原视频块的划分方式。
13.根据权利要求12所述的方法,其特征在于,所述评价值为率失真代价值,所述评价值最优是指率失真代价值最小,所述采用每种划分方式对所述原视频块进行编码,得到每种划分方式对应的评价值,包括:
对应每种划分方式,得到划分后的视频块,并通过运动估计确定每个划分后的视频块的运动信息;
根据所述每个划分后的视频块的运动信息,对所述每个划分后的视频块进行运动补偿,得到所述每个划分后的视频块的预测块,以及根据所述每个划分后的视频块的预测块得到所述每个划分后的视频块对应的残差块;
对所述每个划分后的视频块对应的残差块,进行正交变换、量化、逆量化和逆正交变换后,得到所述原视频块的重构的残差块;
根据所述每个划分后的视频块的运动矢量指向的预测块得到所述原视频块的预测块,根据所述原视频块的预测块以及所述原视频块的重构的残差块,得到重构的原视频块;
比较所述重构的原视频块与所述原视频块,得到编码失真,并根据所述自适应划分对应的编码模式对所述原视频块进行编码得到编码比特,根据所述编码失真和所述编码比特,得到率失真代价值。
14.根据权利要求13所述的方法,其特征在于,所述确定每个划分后的视频块的运动信息,包括:
对每个划分后的视频块进行运动估计,得到所述每个划分后的视频块的运动信息;或者,
将所述每个可用运动信息确定当前视频块的相邻块的运动信息列表,并找出在所述运动信息列表中的每个所述当前视频块的相邻块的运动信息。
15.根据权利要求13所述的方法,其特征在于,
所述正交变换为非规则形状的正交变换或规则形状的正交变换。
16.根据权利要求13所述的方法,其特征在于,可用运动信息列表包括所述可用运动信息,所述编码比特包括:
划分方式对应的比特,所述划分方式表明划分为自适应划分;以及,
运动信息对应的比特,所述运动信息对应的比特包括第一可用运动信息对应的比特以及划分后的视频块的运动信息对应的比特;
所述第一可用运动信息对应的比特为所述第一可用运动信息在所述可用运动信息列表中的索引,或者,所述第一可用运动信息对应的比特为对所述第一可用运动信息进行编码后的比特;
所述划分后的视频块的运动信息对应的比特为划分后的视频块的运动信息与所述第一可用运动信息的差值的编码比特,或者,对所述划分后的视频块的运动信息进行编码后的比特;
所述第一可用运动信息为用于生成所述原视频块的划分方式的一个或一组可用运动信息。
17.一种视频块的划分方法,其特征在于,所述方法包括:
解码器获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
所述解码器采用所述可用运动信息对所述参考块进行运动补偿,得到残差块;
所述解码器对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较;
所述解码器根据比较结果确定所述可用运动信息对应的划分方式;
所述解码器采用所述划分方式,对所述参考块进行划分。
18.根据权利要求17所述的方法,其特征在于,所述获取原视频块的可用运动信息,包括:
所述解码器从所述比特流中获取可用运动信息;
其中,所述比特流中包括所述可用运动信息索引,以根据所述可用运动信息的索引,以及预先建立的与编码器相同的可用运动信息列表,查找确定所述可用运动信息;或者,
所述比特流中包括所述可用运动信息的编码后的比特,通过解码得到所述可用运动信息。
19.根据权利要求17或18所述的方法,其特征在于,所述获取所述原视频块的参考块,包括:
在分层编码时,所述解码器将编码器和解码器预先约定的参考块确定为所述解码器采用的参考块;或者,
在非分层编码时,所述比特流中包含用于指示编码器采用的参考块的指示信息,所述解码器根据所述指示信息确定所述解码器采用的参考块,其中,如果所述参考块由一个视频块组成,所述指示信息包括所述参考块所在参考帧在帧存储器中的位置索引,以及所述参考块与所述原视频块的相对位移;或者,如果所述参考块由多个视频块加权而成,所述指示信息包括每个视频块所在参考帧在帧存储器中的位置索引,每个视频块与原视频块的相对位移,和每个视频块的权重。
20.根据权利要求17-19任一项所述的方法,其特征在于,所述方法还包括:
所述解码器接收比特流,以便根据对所述参考块的划分,对所述比特流进行解码,以恢复所述原视频块。
21.一种视频块的划分装置,其特征在于,所述装置位于编码器中,所述装置包括:
获取模块,用于获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
运动补偿模块,用于采用所述获取模块获取的所述可用运动信息对所述获取模块获取的所述参考块进行运动补偿,得到残差块;
统计模块,用于对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较,并根据比较结果确定所述可用运动信息对应的划分方式;
第一划分模块,用于采用所述统计模块得到的所述划分方式,对所述参考块进行划分。
22.根据权利要求21所述的装置,其特征在于,所述获取模块具体用于:
当所述编码器按照非分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息,
与所述原视频块时间相邻的视频块的运动信息;
所述获取模块获取所述原视频块的参考块。
23.根据权利要求21所述的装置,其特征在于,所述获取模块具体用于:
当所述编码器按照分层编码方式对所述原视频块进行编码时,获取如下项中的至少一项做为所述可用运动信息:
与所述原视频块空间相邻的视频块的运动信息,
与所述原视频块时间相邻的视频块的运动信息,
第一视频块的运动信息,
与所述第一视频块空间相邻的视频块的运动信息,
与所述第一视频块时间相邻的视频块的运动信息,
其中,所述第一视频块是指第一分层中与所述原视频块对应的视频块,所述第一分层是指时间、空间、信噪比中的至少一项的分辨率低于所述原视频块所在分层的分辨率的分层,且所述第一视频块所包含的图像内容与所述原视频块所包含的图像内容强相关;
获取所述原视频块的参考块。
24.根据权利要求21所述的装置,其特征在于,所述获取模块具体用于:
获取原视频块的可用运动信息;
当所述编码器按照分层编码方式对所述原视频块进行编码时,将第二视频块确定为参考块,所述第二视频块与所述原视频块具有相同的空间分辨率,其中,所述第二视频块是指第二分层中与原视频块对应的视频块,所述第二分层是指时间分辨率低于所述原视频块所在分层的时间分辨率的分层,或者,所述第二分层是指信噪比分辨率低于所述原视频块所在分层的信噪比分辨率的分层,或者,所述第二分层是指时间分辨率和信噪比分辨率均低于所述原视频块所在分层的时间分辨率和信噪比分辨率的分层,或者,所述第二视频块是指第三分层中上采样的与所述原视频块对应的视频块,所述第三分层是指空间分辨率等于所述原视频块所在分层的分层。
25.根据权利要求21所述的装置,其特征在于,所述获取模块具体用于:
获取原视频块的可用运动信息;
当所述编码器按照非分层编码方式对所述原视频块进行编码时,将存储的参考帧中的第三视频块确定为参考块,所述第三视频块是指在设定的划分失真度量下,所述存储的参考帧中的具有与所述原视频块的划分失真度量最小的视频块。
26.根据权利要求21-25任一项所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据对所述参考块的划分,确定所述原视频块的划分方式;
第二划分模块,用于根据所述原视频块的划分方式,对所述原视频块进行划分,以便所述编码器根据对所述原视频块的划分结果对所述原视频块进行编码,得到编码后的比特流并输出给解码器。
27.根据权利要求26所述的装置,其特征在于,所述确定模块具体包括:
第一单元,用于分别采用所述残差块计算后得到的全部的划分方式对所述原视频块进行编码,得到每一种划分方式对应的评价值;
第二单元,用于将评价值最优的划分方式确定为所述原视频块的划分方式。
28.根据权利要求27所述的装置,其特征在于,所述评价值为率失真代价值,所述评价值最优是指率失真代价值最小,所述第一单元具体用于:
对应每种划分方式,得到划分后的视频块,并通过运动估计确定每个划分后的视频块的运动信息;
根据所述每个划分后的视频块的运动信息,对所述每个划分后的视频块进行运动补偿,得到所述每个划分后的视频块的预测块,以及根据所述每个划分后的视频块的预测块得到所述每个划分后的视频块对应的残差块;
对所述每个划分后的视频块对应的残差块,进行正交变换、量化、逆量化和逆正交变换后,得到所述原视频块的重构的残差块;
根据所述每个划分后的视频块的运动矢量指向的预测块得到所述原视频块的预测块,根据所述原视频块的预测块以及所述原视频块的重构的残差块,得到重构的原视频块;
比较所述重构的原视频块与所述原视频块,得到编码失真,并根据所述自适应划分对应的编码模式对所述原视频块进行编码得到编码比特,根据所述编码失真和所述编码比特,得到率失真代价值。
29.根据权利要求28所述的装置,其特征在于,所述第一单元确定每个划分后的视频块的运动信息具体包括:
对每个划分后的视频块进行运动估计,得到所述每个划分后的视频块的运动信息;或者,
将所述每个可用运动信息确定当前视频块的相邻块的运动信息列表,并找出在所述运动信息列表中的每个所述当前视频块的相邻块的运动信息。
30.根据权利要求28所述的装置,其特征在于,所述第一单元采用的所述正交变换具体为非规则形状的正交变换或规则形状的正交变换。
31.根据权利要求28所述的装置,其特征在于,可用运动信息列表包括所述可用运动信息,所述第一单元得到的所述编码比特包括:
划分方式对应的比特,所述划分方式表明划分为自适应划分;以及,
运动信息对应的比特,所述运动信息对应的比特包括第一可用运动信息对应的比特以及划分后的视频块的运动信息对应的比特;
所述第一可用运动信息对应的比特为所述第一可用运动信息在所述可用运动信息列表中的索引,或者,所述第一可用运动信息对应的比特为对所述第一可用运动信息进行编码后的比特;
所述划分后的视频块的运动信息对应的比特为划分后的视频块的运动信息与所述第一可用运动信息的差值的编码比特,或者,对所述划分后的视频块的运动信息进行编码后的比特;
所述第一可用运动信息为用于生成所述原视频块的划分方式的一个或一组可用运动信息。
32.一种视频块的划分装置,其特征在于,所述装置位于解码器中,所述装置包括:
获取模块,用于获取原视频块的可用运动信息,以及获取所述原视频块的参考块;
运动补偿模块,用于采用所述获取模块获取的所述可用运动信息对所述获取模块获取的所述参考块进行运动补偿,得到残差块;
统计模块,用于对所述残差块进行统计分析,并将统计分析的结果与预设的阈值进行比较,且根据比较结果确定所述可用运动信息对应的划分方式;
第一划分模块,用于采用所述统计模块得到的所述划分方式,对所述参考块进行划分。
33.根据权利要求32所述的装置,其特征在于,所述获取模块具体用于:
从所述比特流中获取可用运动信息;
其中,所述比特流中包括所述可用运动信息索引,以根据所述可用运动信息的索引,以及预先建立的与编码器相同的可用运动信息列表,查找确定所述可用运动信息;或者,
所述比特流中包括所述可用运动信息的编码后的比特,通过解码得到所述可用运动信息;
以及获取所述原视频块的参考块。
34.根据权利要求32所述的装置,其特征在于,所述获取模块具体用于:
获取原视频块的可用运动信息;
在分层编码时,所述解码器将编码器和解码器预先约定的参考块确定为所述解码器采用的参考块;或者,
在非分层编码时,所述比特流中包含用于指示编码器采用的参考块的指示信息,所述解码器根据所述指示信息确定所述解码器采用的参考块,其中,如果所述参考块由一个视频块组成,所述指示信息包括所述参考块所在参考帧在帧存储器中的位置索引,以及所述参考块与所述原视频块的相对位移;或者,如果所述参考块由多个视频块加权而成,所述指示信息包括每个视频块所在参考帧在帧存储器中的位置索引,每个视频块与原视频块的相对位移,和每个视频块的权重。
35.根据权利要求32-34任一项所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收比特流,以便所述解码器根据对所述参考块的划分,对所述接收模块接收的所述比特流进行解码,以恢复所述原视频块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310119622.1A CN104104966B (zh) | 2013-04-08 | 2013-04-08 | 视频块的划分方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310119622.1A CN104104966B (zh) | 2013-04-08 | 2013-04-08 | 视频块的划分方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104104966A true CN104104966A (zh) | 2014-10-15 |
CN104104966B CN104104966B (zh) | 2017-11-24 |
Family
ID=51672720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310119622.1A Active CN104104966B (zh) | 2013-04-08 | 2013-04-08 | 视频块的划分方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104104966B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104955A (zh) * | 2013-04-10 | 2014-10-15 | 华为技术有限公司 | 一种图像块的编解码方法和装置 |
CN106034238A (zh) * | 2015-03-11 | 2016-10-19 | 杭州海康威视数字技术股份有限公司 | 计算编码失真度和编码模式控制的方法及其系统 |
CN110662071A (zh) * | 2019-09-27 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 视频解码方法和装置、存储介质及电子装置 |
CN110881129A (zh) * | 2018-09-05 | 2020-03-13 | 华为技术有限公司 | 视频解码方法及视频解码器 |
CN111539948A (zh) * | 2020-05-11 | 2020-08-14 | 北京百度网讯科技有限公司 | 视频质量评估的方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901679A (zh) * | 2005-07-21 | 2007-01-24 | 海信集团有限公司 | 基于宏块内边缘信息选择分割的方法 |
CN101404774A (zh) * | 2008-11-13 | 2009-04-08 | 四川虹微技术有限公司 | 运动搜索中宏块划分模式的选择方法 |
CN101415121A (zh) * | 2007-10-15 | 2009-04-22 | 华为技术有限公司 | 一种自适应的帧预测的方法及装置 |
CN101873500A (zh) * | 2009-04-24 | 2010-10-27 | 华为技术有限公司 | 帧间预测编码方法、帧间预测解码方法及设备 |
WO2011071514A2 (en) * | 2009-12-08 | 2011-06-16 | Thomson Licensing | Methods and apparatus for adaptive residual updating of template matching prediction for video encoding and decoding |
CN102611891A (zh) * | 2012-02-07 | 2012-07-25 | 中国电子科技集团公司第三研究所 | 一种在变换域内直接进行转换编码的方法 |
-
2013
- 2013-04-08 CN CN201310119622.1A patent/CN104104966B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1901679A (zh) * | 2005-07-21 | 2007-01-24 | 海信集团有限公司 | 基于宏块内边缘信息选择分割的方法 |
CN101415121A (zh) * | 2007-10-15 | 2009-04-22 | 华为技术有限公司 | 一种自适应的帧预测的方法及装置 |
CN101404774A (zh) * | 2008-11-13 | 2009-04-08 | 四川虹微技术有限公司 | 运动搜索中宏块划分模式的选择方法 |
CN101873500A (zh) * | 2009-04-24 | 2010-10-27 | 华为技术有限公司 | 帧间预测编码方法、帧间预测解码方法及设备 |
WO2011071514A2 (en) * | 2009-12-08 | 2011-06-16 | Thomson Licensing | Methods and apparatus for adaptive residual updating of template matching prediction for video encoding and decoding |
CN102611891A (zh) * | 2012-02-07 | 2012-07-25 | 中国电子科技集团公司第三研究所 | 一种在变换域内直接进行转换编码的方法 |
Non-Patent Citations (1)
Title |
---|
王正宁等: "一种基于残差分析的H.264/AVC帧间块尺寸选择快速预测算法", 《中国图象图形学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104955A (zh) * | 2013-04-10 | 2014-10-15 | 华为技术有限公司 | 一种图像块的编解码方法和装置 |
CN104104955B (zh) * | 2013-04-10 | 2017-11-17 | 华为技术有限公司 | 一种图像块的编解码方法和装置 |
CN106034238A (zh) * | 2015-03-11 | 2016-10-19 | 杭州海康威视数字技术股份有限公司 | 计算编码失真度和编码模式控制的方法及其系统 |
CN106034238B (zh) * | 2015-03-11 | 2019-04-02 | 杭州海康威视数字技术股份有限公司 | 计算编码失真度和编码模式控制的方法及其系统 |
CN110881129A (zh) * | 2018-09-05 | 2020-03-13 | 华为技术有限公司 | 视频解码方法及视频解码器 |
CN110881129B (zh) * | 2018-09-05 | 2024-01-05 | 华为技术有限公司 | 视频解码方法及视频解码器 |
CN110662071A (zh) * | 2019-09-27 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 视频解码方法和装置、存储介质及电子装置 |
CN110662071B (zh) * | 2019-09-27 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 视频解码方法和装置、存储介质及电子装置 |
CN111539948A (zh) * | 2020-05-11 | 2020-08-14 | 北京百度网讯科技有限公司 | 视频质量评估的方法、装置、电子设备及存储介质 |
CN111539948B (zh) * | 2020-05-11 | 2023-06-02 | 北京百度网讯科技有限公司 | 视频质量评估的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104104966B (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3124889C (en) | Video encoding and decoding | |
JP6753979B2 (ja) | 動き情報の復号化方法及び符号化方法 | |
JP6275889B2 (ja) | 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置 | |
CN110519600B (zh) | 帧内帧间联合预测方法、装置、编解码器及存储装置 | |
KR102027474B1 (ko) | 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치 | |
Zhang et al. | Low complexity HEVC INTRA coding for high-quality mobile video communication | |
CN102893604A (zh) | 用于视频的数据压缩 | |
CN104104966B (zh) | 视频块的划分方法和装置 | |
KR20110045950A (ko) | 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치 | |
EP2520093A1 (en) | Data compression for video | |
US20160191920A1 (en) | Method and apparatus for determining merge mode | |
KR20110017720A (ko) | 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 | |
CN111263144B (zh) | 一种运动信息确定方法及其设备 | |
AU2016228184B2 (en) | Method for inducing a merge candidate block and device using same | |
KR101974140B1 (ko) | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 | |
CN104104955B (zh) | 一种图像块的编解码方法和装置 | |
JP6935553B2 (ja) | 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置 | |
KR20130097958A (ko) | 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 |
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 |