编解码方法和装置.pdf

上传人:a3 文档编号:24332 上传时间:2018-01-12 格式:PDF 页数:34 大小:2.55MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410054130.3

申请日:

2014.02.18

公开号:

CN104853196A

公开日:

2015.08.19

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04N 19/174申请日:20140218|||公开

IPC分类号:

H04N19/174(2014.01)I; H04N19/154(2014.01)I; H04N19/129(2014.01)I; H04N19/127(2014.01)I

主分类号:

H04N19/174

申请人:

华为技术有限公司

发明人:

杨海涛; 郑阿敏; 袁园; 区子廉

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京龙双利达知识产权代理有限公司11329

代理人:

王君; 肖鹂

PDF下载: PDF下载
内容摘要

本发明实施例提供一种编解码方法和装置,能够充分利用视频信息中的空间相关性,从而提高编解码中的压缩效率。该方法包括:根据目标图像的总编码代价确定该目标图像包含的多个编码块组的第一处理次序;根据该第一处理次序对该多个编码块组中的编码块组进行编码以生成码流;并且将该第一处理次序写入该码流。本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对该多个编码块组进行编解码,能够充分利用视频信息中的空间相关性,从而提高编解码中的压缩效率。

权利要求书

1.  一种编码方法,其特征在于,包括:
根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序;
根据所述第一处理次序对所述多个编码块组中的编码块组进行编码以生成码流;并且
将所述第一处理次序写入所述码流。

2.
  根据权利要求1所述的方法,其特征在于,根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,包括:
确定所述多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中所述每种处理次序对应的总编码代价为所述多个编码块组按照所述每种处理次序进行编码的编码代价之和;
确定所述每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为所述第一处理次序。

3.
  根据权利要求1所述的方法,其特征在于,所述根据所述第一处理次序对所述多个编码块组中的编码块组进行编码以生成码流,包括:
根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序;
根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序对所述编码块组进行编码。

4.
  根据权利要求3所述的方法,其特征在于,所述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序之前,还包括:
确定编码块的多种候选处理次序;并且
确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

5.
  根据权利要求4所述的方法,其特征在于,所述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序,包括:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。

6.
  根据权利要求4所述的方法,其特征在于,所述确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。

7.
  根据权利要求6所述的方法,其特征在于,所述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序,包括:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据预设的多种候选处理次序与多种位置关系的对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

8.
  根据权利要求1所述的方法,其特征在于,所述将所述第一处理次序写入所述码流,包括:
根据所述第一处理次序排列所述编码块组的索引;
编码经过排列的所述编码块组的索引并写入所述码流;或者
根据所述第一处理次序排列所述编码块组的坐标;
编码经过排列的所述编码块组的坐标并写入所述码流。

9.
  根据权利要求1-8中任意一项所述的方法,其特征在于,所述编码块组的编码代价包含以下至少一种:
编码所述编码块组消耗的比特数;
所述编码块组的失真。

10.
  一种解码方法,其特征在于,包括:
从码流中获取目标图像的多个编码块组的第一处理次序;
根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序;
根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序解码所述码流。

11.
  根据权利要求10所述的方法,其特征在于,所述根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序之前,还包括:
确定编码块的多种候选处理次序;并且
确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

12.
  根据权利要求11所述的方法,其特征在于,所述根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序,包括:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。

13.
  根据权利要求11所述的方法,其特征在于,所述确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。

14.
  根据权利要求13所述的方法,其特征在于,所述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序,包括:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据预设的多种候选处理次序与多种位置关系的对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

15.
  根据权利要求10所述的方法,其特征在于,所述从码流中获取目标图像的多个编码块组的第一处理次序,包括:
从所述码流中解码经过排列的所述多个编码块组的索引;
根据所述多个编码块组的索引的排列顺序确定所述第一处理次序;或者
从所述码流中解码经过排列的所述多个编码块组的坐标;
根据所述多个编码块组的坐标的排列顺序确定所述第一处理次序。

16.
  一种编码器,其特征在于,包括:
确定单元,用于根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序;
编码单元,用于根据所述确定单元确定的所述第一处理次序对所述多个 编码块组中的编码块组进行编码以生成码流;并且
所述编码单元还用于将所述确定单元确定的所述第一处理次序写入所述码流。

17.
  根据权利要求16所述的编码器,其特征在于,所述确定单元具体用于:
确定所述多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中所述每种处理次序对应的总编码代价为所述多个编码块组按照所述每种处理次序进行编码的编码代价之和;
确定所述每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为所述第一处理次序。

18.
  根据权利要求16所述的编码器,其特征在于,所述编码单元具体用于:
根据所述第一处理次序,通过所述确定单元确定所述编码块组包含的多个编码块的处理次序;
根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序对所述编码块组进行编码。

19.
  根据权利要求18所述的编码器,其特征在于,所述确定单元还用于:
确定编码块的多种候选处理次序;并且
确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

20.
  根据权利要求19所述的编码器,其特征在于,所述确定单元具体用于:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。

21.
  根据权利要求19所述的编码器,其特征在于,所述确定单元具体用于:使用预先设定的编码块的多种候选处理次序。

22.
  根据权利要求21所述的编码器,其特征在于,所述确定单元具体用于:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据预设的多种候选处理次序与多种位置关系的对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

23.
  根据权利要求16所述的编码器,其特征在于,所述编码单元具体用于:
根据所述第一处理次序排列所述编码块组的索引;
编码经过排列的所述编码块组的索引并写入所述码流;或者
根据所述第一处理次序排列所述编码块组的坐标;
编码经过排列的所述编码块组的坐标并写入所述码流。

24.
  根据权利要求16-23中任意一项所述的编码器,其特征在于,所述编码块组的编码代价包含以下至少一种:
所述编码单元编码所述编码块组消耗的比特数;
所述编码块组的失真。

25.
  一种解码器,其特征在于,包括:
获取单元,用于从码流中获取目标图像的多个编码块组的第一处理次序;
确定单元,用于根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序;
解码单元,用于根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序解码所述码流。

26.
  根据权利要求25所述的解码器,其特征在于,所述确定单元还用于:
确定编码块的多种候选处理次序;并且
确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

27.
  根据权利要求26所述的解码器,其特征在于,所述确定单元具体用于:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。

28.
  根据权利要求26所述的解码器,其特征在于,所述确定单元具体用于:使用预先设定的编码块的多种候选处理次序。

29.
  根据权利要求28所述的解码器,其特征在于,所述确定单元具体用于:
根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且
根据预设的多种候选处理次序与多种位置关系的对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。

30.
  根据权利要求25所述的解码器,其特征在于,所述获取单元具体用于:
通过所述解码单元,从所述码流中解码经过排列的所述多个编码块组的索引;
通过所述确定单元,根据所述多个编码块组的索引的排列顺序确定所述第一处理次序;或者
通过所述解码单元,从所述码流中解码经过排列的所述多个编码块组的坐标;
通过所述确定单元,根据所述多个编码块组的坐标的排列顺序确定所述第一处理次序。

说明书

编解码方法和装置
技术领域
本发明涉及图像处理领域,并且更具体地,涉及编解码方法和装置。
背景技术
视频压缩编码技术在多媒体服务、广播通信、视频通信、存储等领域都有广泛应用。由国际电信联盟电信标准化组(International Telecommunication Union-Telecommunication standardization sector,ITU-T)和国际标准化组织(International Organization for Standardization,ISO)/国际电工委员会(International Electrotechnical Commission,IEC)联合开发的H.264和先进视频编码(Advanced Video Coding,AVC)标准是现今应用最广泛的视频编码标准,然而H.264/AVC不适用于高分辨率视频的压缩编码。随着人们对高清、超高清以及3D视频的需求不断增大,视频编码联合工作组(Joint Collaborative Team on Video Coding,JCT-VC)提出了高效视频编码标准(High Efficiency Video Coding,HEVC),其压缩效率相对于H.264/AVC提高了大约50%。
在HEVC标准中,待编码图像被划分为不重叠的图像块,编码器按行扫描依次处理每一个图像块,上述图像块可以进一步划分为多个子块,而每个子块可独立确定其编码参数。在HEVC惯用术语中,上述不重叠的图像块被称为编码树单元(Coding Tree Unit,CTU),其大小一般设置为64x64像素。可采用一种四叉树的结构将CTU进一步划分为多个所述子块,在HEVC中通常称作编码单元(Coding Unit,CU)。一个CTU内部的CU以Z字形扫描的顺序编码,一帧内的所有CTU以行扫描的顺序编码。HEVC中的帧内预测模式包括直流预测,平面预测和角度预测,待编码块使用左面和上面已重建的编码块块作为参考进行预测,已重建块中用来进行预测的像素称为参考像素。直流预测适用于图像中纹理平坦区域的块,块中所有像素使用参考像素的平均值作为预测值。平面预测使用参考像素进行双线性插值得到块中所有像素的预测值,因此适用于纹理平滑变化的块。角度预测利用当前编码块 包含的纹理与邻近已重建块高度相关的特性,沿某一角度以复制对应参考像素的值作为当前块中的像素的预测值。
在H.264/AVC标准中,编码块被称为宏块(Macro Block,MB),宏块的大小固定为16×16像素,每个宏块只能划分为4×4、8×8或16×16的子宏块(Sub Macro Block,SMB)进行预测编码。其中,MB和SMB分别对应于HEVC中的CTU和CU。MB的编码顺序与CTU相类似,都是以行扫描的顺序编码,SMB的编码顺序也是Z字形逐行扫描。H.264/AVC中帧内预测也是采用均值预测和角度预测,但最多只有9种预测模式。
也就是说,在传统的视频编码标准编码一幅图像时,先将待编码图像划分为不重叠的编码块,然后以固定的顺序(行扫描顺序)依次编码每一块,从而编码压缩效率较低。
发明内容
本发明实施例提供一种编解码方法和装置,能够充分利用视频信息中的空间相关性,从而提高编解码中的压缩效率。
第一方面,提供了一种编码方法,包括:根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序;根据所述第一处理次序对所述多个编码块组中的编码块组进行编码以生成码流;并且将所述第一处理次序写入所述码流。
结合第一方面,在第一方面的第一种实现方式中,根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,包括:确定所述多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中所述每种处理次序对应的总编码代价为所述多个编码块组按照所述每种处理次序进行编码的编码代价之和;确定所述每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为所述第一处理次序。
结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,所述根据所述第一处理次序对所述多个编码块组中的编码块组进行编码以生成码流,包括:根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序;根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序对所述编码块组进行编码。
结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,所 述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序之前,还包括:确定编码块的多种候选处理次序;并且确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,所述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序,包括:根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。
结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。
结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,所述根据所述第一处理次序确定所述编码块组包含的多个编码块的处理次序,包括:根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,所述将所述第一处理次序写入所述码流,包括:根据所述第一处理次序排列所述编码块组的索引;编码经过排列的所述编码块组的索引并写入所述码流;或者根据所述第一处理次序排列所述编码块组的坐标;编码经过排列的所述编码块组的坐标并写入所述码流。
结合第一方面及其上述实现方式,在第一方面的第八种实现方式中,所述编码块组的编码代价包含以下至少一种:编码所述编码块组消耗的比特数;所述编码块组的失真。
第二方面,提供了一种解码方法,包括:从码流中获取目标图像的多个编码块组的第一处理次序;根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序;根据所述第一处理次序和所述编 码块组包含的多个编码块的处理次序解码所述码流。
结合第二方面,在第二方面的第一种实现方式中,所述根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序之前,还包括:确定编码块的多种候选处理次序;并且确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第二方面及其上述实现方式,在第二方面的第二种实现方式中,所述根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序,包括:根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。
结合第二方面及其上述实现方式,在第二方面的第三种实现方式中,确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。
结合第二方面及其上述实现方式,在第二方面的第四种实现方式中,根据第一处理次序确定编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第二方面及其上述实现方式,在第二方面的第五种实现方式中,所述从码流中获取目标图像的多个编码块组的第一处理次序,包括:从所述码流中解码经过排列的所述多个编码块组的索引;根据所述多个编码块组的索引的排列顺序确定所述第一处理次序;或者从所述码流中解码经过排列的所述多个编码块组的坐标;根据所述多个编码块组的坐标的排列顺序确定所述第一处理次序。
第三方面,提供了一种编码器,包括:确定单元,用于根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序;编码单元,用于根据所述确定单元确定的所述第一处理次序对所述多个编码块组中 的编码块组进行编码以生成码流;并且所述编码单元还用于将所述确定单元确定的所述第一处理次序写入所述码流。
结合第三方面,在第三方面的第一种实现方式中,所述确定单元具体用于:确定所述多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中所述每种处理次序对应的总编码代价为所述多个编码块组按照所述每种处理次序进行编码的编码代价之和;确定所述每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为所述第一处理次序。
结合第三方面及其上述实现方式,在第三方面的第二种实现方式中,所述编码单元具体用于:根据所述第一处理次序,通过所述确定单元确定所述编码块组包含的多个编码块的处理次序;根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序对所述编码块组进行编码。
结合第三方面及其上述实现方式,在第三方面的第三种实现方式中,所述确定单元还用于:确定编码块的多种候选处理次序;并且确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第三方面及其上述实现方式,在第三方面的第四种实现方式中,所述确定单元具体用于:根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。
结合第三方面及其上述实现方式,在第三方面的第五种实现方式中,确定单元具体用于:使用预先设定的编码块的多种候选处理次序。
结合第三方面及其上述实现方式,在第三方面的第六种实现方式中,所述确定单元具体用于:根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第三方面及其上述实现方式,在第三方面的第七种实现方式中,所述编码单元具体用于:根据所述第一处理次序排列所述编码块组的索引;编 码经过排列的所述编码块组的索引并写入所述码流;或者根据所述第一处理次序排列所述编码块组的坐标;编码经过排列的所述编码块组的坐标并写入所述码流
结合第三方面及其上述实现方式,在第三方面的第八种实现方式中,所述编码块组的编码代价包含以下至少一种:所述编码单元编码所述编码块组消耗的比特数;所述编码块组的失真。
第四方面,提供了一种解码器,包括:获取单元,用于从码流中获取目标图像的多个编码块组的第一处理次序;确定单元,用于根据所述第一处理次序确定所述多个编码块组中的编码块组包含的多个编码块的处理次序;解码单元,用于根据所述第一处理次序和所述编码块组包含的多个编码块的处理次序解码所述码流。
结合第四方面,在第四方面的第一种实现方式中,所述确定单元还用于:确定编码块的多种候选处理次序;并且确定所述多种候选处理次序与多种位置关系的对应关系,其中所述多种位置关系为当前处理的编码块组与和所述当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第四方面及其上述实现方式,在第四方面的第二种实现方式中,所述确定单元具体用于:根据所述第一处理次序确定所述编码块组与和所述编码块组相邻的已处理的编码块组的相对位置关系;并且根据所述对应关系和所述相对位置关系确定所述编码块组包含的多个编码块的处理次序。
结合第四方面及其上述实现方式,在第四方面的第三种实现方式中,,确定单元具体用于:使用预先设定的编码块的多种候选处理次序。
结合第四方面及其上述实现方式,在第四方面的第四种实现方式中,,确定单元具体用于:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
结合第四方面及其上述实现方式,在第四方面的第五种实现方式中,所述获取单元具体用于:通过所述解码单元,从所述码流中解码经过排列的所述多个编码块组的索引;通过所述确定单元,根据所述多个编码块组的索引的排列顺序确定所述第一处理次序;或者通过所述解码单元,从所述码流中 解码经过排列的所述多个编码块组的坐标;通过所述确定单元,根据所述多个编码块组的坐标的排列顺序确定所述第一处理次序。
本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对该多个编码块组进行编解码,能够充分利用视频信息中的空间相关性,从而提高编解码中的压缩效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的编码的方法的流程图。
图2是本发明一个实施例的解码的方法的流程图。
图3是本发明一个实施例的编码块的处理次序的示意图。
图4是本发明另一实施例的编码块的处理次序的示意图。
图5是本发明一个实施例的编码块的候选处理次序与多种位置关系的对应关系的示意图。
图6是本发明一个实施例的编码端的编码流程图。
图7是本发明一个实施例的解码端的解码流程图。
图8是本发明一个实施例的编码器的示意框图。
图9是本发明一个实施例的解码器的示意框图。
图10是本发明另一实施例的编码器的示意框图。
图11是本发明另一实施例的解码器的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是本发明一个实施例的编码的方法的流程图。
101,根据目标图像的总编码代价确定目标图像包含的多个编码块组的第一处理次序。
102,根据第一处理次序对多个编码块组中的编码块组进行编码以生成码流。
103,将第一处理次序写入码流。
本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对该多个编码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
应理解,本发明实施例中的目标图像为待编码图像,也可以称为编码图像。目标图像被划分为多个不重叠的编码块组,该编码块组可以等同于HEVC中的编码树单元CTU,也可以等同于H.264/AVC中的宏块MB,等等。编码块组可以继续划分为能够独立确定编码参数的多个编码块,编码块可以等同于HEVC中的编码单元CU,也可以等同于H.264/AVC中的子宏块SMB,等等。
可选地,作为一个实施例,步骤101包括:确定多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中每种处理次序对应的总编码代价为多个编码块组按照每种处理次序进行编码的编码代价之和;确定每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为第一处理次序。
具体地,当以不同的处理次序处理编码块组时,每一编码块组的编码代价会随着处理次序的不同而改变。编码块组的编码代价是衡量编码该块组好坏的重要标准,编码代价的计算要同时考虑到编码该块消耗的比特数和该块重建后的质量,编码代价的值越低表明该块编码的越好。因此,能够使得所有编码块组的总编码代价最小的处理次序,可以作为最优的处理次序。因而,确定最优处理次序的问题可以转化为求解最小总编码代价的问题:
J(OSN)=minDP(SN,OSN)=minΣj=1,i∈{1iN,i∉Sj,k}NRD(Sj,k,i)---(1)]]>
其中,N表示总的编码块组的数量,1≤i≤N代表以从左到右从上到下顺序表示编码块组的索引。O为表示编码块组处理次序的向量,O的每一项为编码块组索引的一种排列方式总共可能的处理次序为N的全排列N!,当O=[1,2,…,N]时表示的处理次序为传统行扫描处理次序。Sj,k是一个集合,包 括已处理j个块组的索引,k表示所述已处理j个块组为从所述N个块组中选择j个块组的种可能组合中的第k种组合。i表示还未编码的块组中的一个。RD(Sj,k,i)表示在已处理Sj,k中所有编码块组的情况下,处理编码块组i所需的代价。SN表示所有N个编码块组的集合。表示N个编码块组的最优处理次序。该最优化问题的目的是找到一种处理次序使得所有N个编码块组总的代价最小。
求解需要计算每一编码块组的代价RD(Sj,k,i)。在求得一个编码块组的代价RD(Sj,k,i)后,可采用式(2)中描述的方法确定编码块组的最优处理次序。
DP(Sj+1,k,OSj,k)=mini∈{1iN,i∉Sj,k}{DP(Sj,k,OSj,k)+RD(Sj,k,i)}---(2)]]>
其中j,1≤j≤N-1表示已处理的编码块组的数量。表示已处理的j个块组的所有可能的组合中的第k个组合。Sj,k是一个集合,包括在上述第k个组合的情况下的已处理j个块组的索引。代价函数表示编码块组集合Sj,k中所有块组的代价的和,即使用最优处理次序处理Sj,k中包含的j个编码块组所需的总代价。RD(Sj,k,i)表示在Sj,k所示第k组合所示的j个块组均已处理完成的情况下,对块组i进行编码处理所导致的代价。
针对上述过程进行举例说明,有序号为1,2,3的三个编码块组待处理。当j=2时,Sj,k有三种可能情况,即Sj,k={1,2}、Sj,k={1,3}、和Sj,k={2,3},其最优编码次序为O{1,2}=1,2、O{1,3}=3,1、和O{2,3}=3,2,而与之对应的最优代价为DP({1,2},O{1,2})、DP({1,3},O{1,3})、和DP({2,3},O{2,3})。进一步考虑j=3时的情况,在Sj,k三种可能的情况下,另一个编码块组分别为序号为3的块组、序号为2的块组、和序号为1的块组,对应的编码这个块组所导致的代价分别为RD({1,2},3)、RD({1,3},2)、和RD({2,3},1)。此时,可以通过式(3)(3)计算得到编码序号为1、2、3这三个编码块组的最小代价DP({1,2,3},O{1,2,3}),随之确定最优处理次序O{1,2,3}
DP({1,2,3},O{1,2,3})=minDP({2,3},O{2,3}),+RD({2,3},1),DP({1,2},O{1,2})+RD({1,2},3),DP({1,3},O{1,3})+RD({1,3},2)..---(3)]]>
可选地,作为一个实施例,步骤102包括:根据第一处理次序确定编码块组包含的多个编码块的处理次序;根据第一处理次序和编码块组包含的多 个编码块的处理次序对编码块组进行编码。
具体地,在确定了编码块组的处理次序后,还需要确定编码块组中包含的编码块的处理次序。可以根据编码块组的处理次序确定当前编码块组内编码块的处理次序。也就是说,可根据编码块组的处理次序确定当前编码块组与其邻近编码块组先后处理次序,从而确定当前编码块组内编码块的处理次序。其中,当前编码块组内的编码块可以有多种预先设定的候选处理次序,每种候选处理次序都对应于一种位置关系,该位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的相对位置关系。在对当前编码块组进行编码时,可以先确定当前编码块组与相邻或相近的已编码的编码块组的相对位置关系,然后根据确定的相对位置关系在预先配置的对应关系中确定对应的编码块组内编码块的处理次序。在编码块的处理次序确定后,按照该处理次序对当前编码块组内的全部编码块进行编码,完成后按照第一处理次序处理下一个编码块组,与当前编码块组相类似,需要根据相对位置关系确定下一编码块组中编码块的处理次序,以此类推,直至目标图像的全部编码块组按照第一处理次序编码完毕。
可选地,作为一个实施例,根据第一处理次序确定编码块组中每个编码块组包含的多个编码块的处理次序之前,还包括:确定编码块的多种候选处理次序;并且确定多种候选处理次序与多种位置关系的对应关系,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。可选地,作为一个实施例,确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。预先设定的编码块的多种候选处理次序可以使用多种方法确定,例如根据编码块组包含的编码块的划分方式确定。其中编码块的划分方式可以包括等大小划分,即编码块组中编码块的大小相同,例如H.264/AVC等,编码块的划分方式还可以包括非等大小划分,例如HEVC等。在等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图4所示,在非等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图3所示。应理解,图3和图4所示出的几种处理次序仅仅为一些例子,预先设定的编码块的处理次序并不限于此,可以是任意次序。
举个例子进行说明,编码端可以预先设置编码块组内的编码块的多种处理次序与该编码块组与已编码的编码块组的相对位置的对应关系。例如,可 以预先设定如图4所示的4种编码块的处理次序,次序0为从左到右逐行扫描,次序1为从右到左逐行扫描,次序2为从上到下逐列扫描,次序3为从下到上逐列扫描。而编码块组与已编码的编码块组的相对位置可以有如图5所示的十六种:1,相邻没有已编码的编码块组;2,上方的编码块组已编码;3,右侧的编码块组已编码;4,下方的编码块组已编码;5,左侧的编码块组已编码;6,上方和右侧的编码块组已编码;7,下方和右侧的编码块组已编码;8,左侧和下方的编码块组已编码;9,左侧和上方的编码块组已编码;10,上方和下方的编码块组已编码;11,左侧和右侧的编码块组已编码;12,上、下、左三侧的编码块组已编码;13,左、右、上三侧的编码块组已编码;14,上、下、右三侧的编码块组已编码;15,左、右、下三侧的编码块组已编码;16,上下左右四侧的编码块组已编码。
其中,编码端还可以预先配置上述4种处理次序与上述16中相对位置关系之间的对应关系,例如,相对位置关系1对应于次序0、相对位置关系2对应于次序3、相对位置关系3对应于次序2,等等。
由以上对应关系可知,当给定不同的编码块组处理次序时,当前编码块组从上述十六种情况中选择对应的一种情况,并随之确定当前编码块组中编码块的处理次序,接着按照给定的编码块处理次序对当前编码块组中的编码块进行编码操作,并计算编码代价。
这里,编码块处理次序的确定,尽可能地利用了邻近已处理编码块组中的像素值来预测当前编码块组内的像素值。比较充分地考虑了编码图像的空间相关性,有助于压缩效率的提升。
可选地,作为一个实施例,根据第一处理次序确定编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
也就是说,编码块的多种候选处理次序,以及多种候选处理次序与多种位置关系的对应关系都可以是预先设置好的。编码端在确定当前处理的编码块组中的编码块的处理次序时,可以直接根据预先设置好的对应关系确定当前处理的编码块组的编码块对应的处理次序,其中多种候选处理次序和对应 关系与上述实施例相类似,此处不再赘述。
可选地,作为一个实施例,将第一处理次序写入码流,包括:根据第一处理次序排列编码块组的索引;编码经过排列的编码块组的索引并写入码流;或者根据第一处理次序排列编码块组的坐标;编码经过排列的编码块组的坐标并写入码流。
具体地,在编码块组的处理次序确定后,可以将该处理次序以索引或者坐标等方式写入码流,以便于解码端在进行解码时能够直接获取编码时编码块组的编码次序。具体地,可以有以下两种方式:
一种方式可以从左到右从上到下的行扫描方式为编码图像中的编码块组分配一个索引号,例如从0到N-1。按照计算得到的最优处理次序,将这N个索引号写入码流。
另一种方式可以从左到右从上到下的方式为编码块组分配横坐标值与纵坐标值,例如(x,y)来表示编码块。如果编码图像中横向和纵向分别有w和h个编码块组,则编码图像中共有N个编码块组,N=w*h,x与y的取值范围为0≤x≤w-1,0≤y≤h-1。可以按照计算得到的最优处理次序,对这N组坐标进行编码,例如,可采用类似于脉冲编码调制(Pulse Code Modulation,PCM)的编码方式依次独立编码这N个横坐标值与这N个纵坐标值,还可采用类似于差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)的编码方式编码这N个横坐标值与这N个纵坐标值。
按上述方法对编码块组的最优处理次序O进行编码处理后,将编码结果输出到视频码流中,以便于解码端按照该最优处理次序进行解码。
可选地,作为一个实施例编码块组的编码代价包含以下至少一种:编码编码块组消耗的比特数;编码块组的失真。编码块组的编码代价是衡量编码该块组好坏的重要标准,编码代价的计算要同时考虑到编码该块消耗的比特数和该块重建后的质量,编码代价的值越低表明该块编码的越好。
应理解,在对目标图像进行编码时,可以按照本发明实施例的方法确定目标图像包含的编码块组的第一处理次序,在确定编码块组的编码块的处理次序时,可以确定部分编码块组的编码块的处理次序,其余编码块组的编码块的处理次序可以按照其它技术方案确定或者预先约定。
本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对所述多个编码块组进行 编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
图2是本发明一个实施例的解码的方法的流程图。
201,从码流中获取目标图像的多个编码块组的第一处理次序。
202,根据第一处理次序确定多个编码块组中的编码块组包含的多个编码块的处理次序。
203,根据第一处理次序和编码块组包含的多个编码块的处理次序解码码流。
本发明实施例根据由编码端确定的能够使得总编码代价最小的第一处理次序,来确定每个编码块组中编码块的处理次序,并根据第一处理次序和每个编码块组中编码块的处理次序对目标图像的码流进行解码,编码过程中充分利用了目标图像的空间相关性,从而提高编码中的压缩效率。
可选地,作为一个实施例,根据第一处理次序确定多个编码块组中的编码块组包含的多个编码块的处理次序之前,还包括:确定编码块的多种候选处理次序;并且确定多种候选处理次序与多种位置关系的对应关系,其中多种位置关系为当前处理的编码块组与当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
为保证编解码匹配,解码端采用与编码端相同的方案根据编码块组的处理次序确定当前编码块组内编码块的处理次序。其中,当前编码块组内的编码块可以有多种预先设定的候选处理次序,每种候选处理次序都对应于一种位置关系,该位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的相对位置关系。在对当前编码块组进行解码时,可以先确定当前编码块组与相邻或相近的已解码的编码块组的相对位置关系,然后根据确定的相对位置关系在预先配置的对应关系中确定对应的编码块组内编码块的处理次序。在编码块的处理次序确定后,按照该处理次序对当前编码块组内的全部编码块进行解码,完成后按照第一处理次序处理下一个编码块组,与当前编码块组相类似,需要根据相对位置关系确定下一编码块组中编码块的处理次序,以此类推,直至目标图像的全部编码块组按照第一处理次序解码完毕。
可选地,作为一个实施例,根据第一处理次序确定多个编码块组中每个编码块组的编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据对应关系和相 对位置关系确定编码块组包含的多个编码块的处理次序。可选地,作为一个实施例,确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。预先设定的编码块的多种候选处理次序可以使用多种方法确定,例如根据编码块组包含的编码块的划分方式确定。其中编码块的划分方式可以包括等大小划分,即编码块组中编码块的大小相同,例如H.264/AVC等,编码块的划分方式还可以包括非等大小划分,例如HEVC等。在等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图4所示,在非等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图3所示。应理解,图3和图4所示出的几种处理次序仅仅为一些例子,预先设定的编码块的处理次序并不限于此,可以是任意次序。
举个例子进行说明,解码端可以预先设置编码块组内的编码块的多种处理次序与该编码块组与已解码的编码块组的相对位置的对应关系。例如,预先设定如图4所示的4种编码块的处理次序,次序0为从左到右逐行扫描,次序1为从右到左逐行扫描,次序2为从上到下逐列扫描,次序3为从下到上逐列扫描。而编码块组与已解码的编码块组的相对位置可以有如图5所示的十六种情况:1,相邻没有已解码的编码块组;2,上方的编码块组已解码;3,右侧的编码块组已解码;4,下方的编码块组已解码;5,左侧的编码块组已解码;6,上方和右侧的编码块组已解码;7,下方和右侧的编码块组已解码;8,左侧和下方的编码块组已解码;9,左侧和上方的编码块组已解码;10,上方和下方的编码块组已解码;11,左侧和右侧的编码块组已解码;12,上、下、左三侧的编码块组已解码;13,左、右、上三侧的编码块组已解码;14,上、下、右三侧的编码块组已解码;15,左、右、下三侧的编码块组已解码;16,上下左右四侧的编码块组已解码。
其中,解码端还可以预先配置上述4种处理次序与上述16中相对位置关系之间的对应关系,例如,相对位置关系1对应于次序0、相对位置关系2对应于次序3、相对位置关系3对应于次序2,等等。
由以上对应关系可知,当给定不同的编码块组处理次序时,当前编码块组从上述十六种情况中选择对应的一种情况,并随之确定当前编码块组中编码块的处理次序,接着按照给定的编码块处理次序对当前编码块组中的编码块进行解码操作。
应理解,解码端的上述多种预设模式,以及对应关系与编码端预设的模 式以及对应关系相同。
可选地,作为一个实施例,根据第一处理次序确定编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
也就是说,编码块的多种候选处理次序,以及多种候选处理次序与多种位置关系的对应关系都可以是预先设置好的。编码端在确定当前处理的编码块组中的编码块的处理次序时,可以直接根据预先设置好的对应关系确定当前处理的编码块组的编码块对应的处理次序,其中多种候选处理次序和对应关系与上述实施例相类似,此处不再赘述。
可选地,作为一个实施例,步骤201包括:从码流中解码经过排列的多个编码块组的索引;根据多个编码块组的索引的排列顺序确定第一处理次序;或者从码流中解码经过排列的多个编码块组的坐标;根据多个编码块组的坐标的排列顺序确定第一处理次序。
具体地,编码端在确定了编码块组的处理次序确定后,可以将该处理次序以索引或者坐标等方式写入码流,以便于解码端在进行解码时能够直接获取编码时编码块组的编码次序。具体地,可以有以下两种方式:
一种方式可以从左到右从上到下的行扫描方式为编码图像中的编码块组分配一个索引号,例如从0到N-1。按照计算得到的最优处理次序,将这N个索引号写入码流。
另一种方式可以从左到右从上到下的方式为编码块组分配横坐标值与纵坐标值,例如(x,y)来表示编码块。如果编码图像中横向和纵向分别有w和h个编码块组,则编码图像中共有N个编码块组,N=w*h,x与y的取值范围为0≤x≤w-1,0≤y≤h-1。可以按照计算得到的最优处理次序,对这N组坐标进行编码,例如,可采用类似于脉冲编码调制(Pulse Code Modulation,PCM)的编码方式依次独立编码这N个横坐标值与这N个纵坐标值,还可采用类似于差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)的编码方式编码这N个横坐标值与这N个纵坐标值。
也就是说,相应地解码端可以按照上述两种方式根据编码端写入码流的 信息获知编码块组的处理次序。
本发明实施例根据由编码端确定的能够使得总编码代价最小的第一处理次序,来确定每个编码块组中编码块的处理次序,并根据第一处理次序和每个编码块组中编码块的处理次序对目标图像的码流进行解码,编码过程中充分利用了目标图像的空间相关性,从而提高编码中的压缩效率。
图3是本发明一个实施例的编码块的处理次序的示意图。图4是本发明另一实施例的编码块的处理次序的示意图。
应理解,本发明实施例中编码块组的处理次序可以是任意的次序,上述图2中的实施例详细描述了编码块组处理次序的确定或选取,此处不再赘述。
编码块组中所有编码块的处理次序可以从预先设置的多个备选处理次序中选择其一。例如,可以预设如图3所示的四种Z扫描处理次序,也可以预设如图4所示的四种逐行扫描的处理次序。这里图3和图4仅仅为了方便举例描述,实际可以预设任意数量的处理次序,并且处理次序可以是任意的、跳跃的,本发明对此并不限定。
如果编码块组中编码块大小不同,类似于如HEVC中CTU中的CU可以取不同的大小,则不适合使用行扫描顺序来处理各个编码块。此时可选择图3所示的4种处理次序作为预设的编码块处理次序。如果编码块组中编码块大小相同,类似于如H.264/AVC中MB中的SMB的大小都相同,则可以选择图4所示的4种逐行扫描的处理次序作为预设的编码块处理次序。其中,编码块上的数字代表相应编码块的处理次序。
图5是本发明一个实施例的编码块的候选处理次序与多种位置关系的对应关系的示意图。
编码端可以预先设置编码块组内的编码块的多种处理次序与该编码块组与已编码的编码块组的相对位置的对应关系。例如,可以预先设定4种编码块的处理次序,次序0为从左到右逐行扫描,次序1为从右到左逐行扫描,次序2为从上到下逐列扫描,次序3为从下到上逐列扫描。而编码块组与已编码的编码块组的相对位置可以预设为如图5所示的十六种相对位置:1,相邻没有已编码的编码块组;2,上方的编码块组已编码;3,右侧的编码块组已编码;4,下方的编码块组已编码;5,左侧的编码块组已编码;6,上方和右侧的编码块组已编码;7,下方和右侧的编码块组已编码;8,左侧和下方的编码块组已编码;9,左侧和上方的编码块组已编码;10,上方和下 方的编码块组已编码;11,左侧和右侧的编码块组已编码;12,上、下、左三侧的编码块组已编码;13,左、右、上三侧的编码块组已编码;14,上、下、右三侧的编码块组已编码;15,左、右、下三侧的编码块组已编码;16,上下左右四侧的编码块组已编码。
编码端还可以预先配置上述4种处理次序与上述16中相对位置关系之间的对应关系,例如,相对位置关系1对应于次序0、相对位置关系2对应于次序3、相对位置关系3对应于次序2,等等。
应理解,图5所示的对应关系仅仅是为了方便举例描述,实际可以预设任意数量的处理次序以及相对位置关系,并且处理次序可以是任意的、跳跃的,本发明对此并不限定。
由以上对应关系可知,当给定不同的编码块组处理次序时,当前编码块组从上述十六种情况中选择对应的一种情况,并随之确定当前编码块组中编码块的处理次序,接着按照给定的编码块处理次序对当前编码块组中的编码块进行编码操作,并计算编码代价。例如,按照第一处理次序处理到当前编码块组,首先能够确定当前编码块组的左侧以及右侧的编码块组已经完成编码,根据图5中的相对位置关系可以确定当前编码块为位置关系11,其对应的编码块的处理次序为次序0,之后编码端可以按照次序0从左到右逐行扫描当前编码块组中的编码块,进行编码,待全部编码块编码完成后按照第一编码次序处理下一编码块组。
这里,编码块处理次序的确定,尽可能地利用了邻近已处理编码块组中的像素值来预测当前编码块组内的像素值。比较充分地考虑了编码图像的空间相关性,有助于压缩效率的提升。
图6是本发明一个实施例的编码端的编码流程图。
首先,目标图像601被划分为多个不重叠的编码块组,编码块组的划分方法可以取决于编解码标准,例如,HEVC中划分的编码块组可以为CTU,H.264/AVC中划分的编码块组可以为MB等。此外编码块组的划分也可以是预设的、任意的。进一步地,编码块组还可以继续划分为能够独立确定编码参数的多个编码块。上述编码块组或编码块为像素的集合。例如,若编码块的大小为NxN,则表示该块是一个二维像素阵列,其水平与竖直方向均为N像素大小。
编码端对编码块进行预测操作获取其中像素的预测值602。其中,预测 操作一般可以分为帧间预测611和帧内预测612。进一步计算编码块像素的原始值603与编码块像素的预测值602的差值。编码块中像素的预测差值的集合称为编码块的残差604。残差604经过变换、量化613得到变换量化系数605。最后对变换量化系数605进行熵编码614操作并将熵编码输出的比特串写入码流。与此同时,经过变换和量化613之后的变换量化系数605经过反量化、反变换614操作得到重建的残差606,然后将重建残差606与当前编码块的预测值602相加得到该块的重建607。当前块的重建607会被用于预测后续的编码块,所述后续编码块可以是当前编码图像中的待处理编码块,也可以是后续待编码图像中的编码块。
其中,编码端在对目标图像601进行预测编码之前,可以先确定目标图像601包含的多个编码块组的处理次序,具体地,当以不同的处理次序处理编码块组时,每一编码块组的编码代价会随着处理次序的不同而改变,因此,可以确定能够使得所有编码块组的总编码代价最小的处理次序作为实际进行编码时编码块组的处理次序。具体确定方法可以参照上述图1实施例中的相关步骤以及公式(1)、(2)等,此处不再赘述。
确定了编码块组的处理次序后,可以确定每一个编码块组中编码块的处理次序。具体地,可以根据编码块组的处理次序确定当前编码块组与其邻近编码块组先后处理次序,从而确定当前编码块组内编码块的处理次序。其中,当前编码块组内的编码块可以有多种预先设定的候选处理次序,每种候选处理次序都对应于一种位置关系,该位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的相对位置关系。在对当前编码块组进行编码时,可以先确定当前编码块组与相邻或相近的已编码的编码块组的相对位置关系,然后根据确定的相对位置关系在预先配置的对应关系中确定对应的编码块组内编码块的处理次序。在编码块的处理次序确定后,按照该处理次序对当前编码块组内的全部编码块进行编码,完成后按照编码块组的处理次序处理下一个编码块组,与当前编码块组相类似,需要根据相对位置关系确定下一编码块组中编码块的处理次序,以此类推,直至目标图像的全部编码块组按照处理次序编码完毕。其中,以上所述的“处理”可以包括预测操作611、612,确定残差604以及变换/量化613操作,熵编码614操作,反量化/反变换614操作以及重建607操作等。
此外,生成码流时,可以将编码块组的处理次序写入码流,以便于解码 端按照该次序进行解码,具体处理次序的标识方法可以参照上述图1中相应的方法,此处不再赘述。
本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的处理次序,并根据该处理次序对所述多个编码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
图7是本发明一个实施例的解码端的解码流程图。
解码端的处理方法与编码端相对应。解码端得到编码端编码输出的码流后,可以从码流中获取编码端在对编码块组进行编码时的处理次序。根据该处理次序,解码端能够确定当前处理的编码块组与相邻或相近的已解码的编码块组的相对位置关系,从而根据确定的相对位置关系在预先配置的对应关系中确定对应的编码块组内编码块的处理次序。在编码块的处理次序确定后,按照该处理次序对当前编码块组内的全部编码块进行解码,完成后按照第一处理次序处理下一个编码块组,与当前编码块组相类似,需要根据相对位置关系确定下一编码块组中编码块的处理次序,以此类推,直至目标图像的全部编码块组按照第一处理次序解码完毕。具体可以参照上述图2中的方法,此处不再赘述。应理解,上述解码端的“处理”包括对输入的码流进行熵解码711得到预测模式信息和变换量化系数701。解码器使用预测模式信息以及已经重建的块或图像得到当前编码块的预测,变换量化系数701经过反量化/反变换712得到的重建残差702,重建残差702与当前编码块的预测值703相加得到该编码块的重建704。其中,编码端按照确定的编码块组的处理次序以及编码块组中编码块的处理次序将每一个编码块的信息写入码流,对应的,解码端也按上述次序依次将解码得到的编码块的重建块放入重建图像中。
本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的处理次序,并根据该处理次序对所述多个编码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
图8是本发明一个实施例的编码器的示意框图。图8的编码器80包括确定单元81和编码单元82。
确定单元81根据目标图像的总编码代价确定目标图像包含的多个编码块组的第一处理次序。编码单元82根据确定单元81确定的第一处理次序对多个编码块组中的编码块组进行编码以生成码流;并且编码单元82将确定 单元81确定的第一处理次序写入码流。
本发明实施例的编码器80根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对该多个编码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
应理解,本发明实施例中的目标图像为待编码图像,也可以称为编码图像。目标图像被划分为多个不重叠的编码块组,该编码块组可以等同于HEVC中的编码树单元CTU,也可以等同于H.264/AVC中的宏块MB,等等。编码块组可以继续划分为能够独立确定编码参数的多个编码块,编码块可以等同于HEVC中的编码单元CU,也可以等同于H.264/AVC中的子宏块SMB,等等。
可选地,作为一个实施例,确定单元81具体用于:确定多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中每种处理次序对应的总编码代价为多个编码块组按照每种处理次序进行编码的编码代价之和;确定每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为第一处理次序。
具体地,当以不同的处理次序处理编码块组时,每一编码块组的编码代价会随着处理次序的不同而改变。编码块组的编码代价是衡量编码该块组好坏的重要标准,编码代价的计算要同时考虑到编码该块消耗的比特数和该块重建后的质量,编码代价的值越低表明该块编码的越好。因此,能够使得所有编码块组的总编码代价最小的处理次序,可以作为最优的处理次序。因而,确定最优处理次序的问题可以转化为求解最小总编码代价的问题:
J(OSN)=minDP(SN,OSN)=minΣj=1,i∈{1iN,i∉Sj,k}NRD(Sj,k,i)---(4)]]>
其中,N表示总的编码块组的数量,1≤i≤N代表以从左到右从上到下顺序表示编码块组的索引。O为表示编码块组处理次序的向量,O的每一项为编码块组索引的一种排列方式总共可能的处理次序为N的全排列N!,当O=[1,2,…,N]时表示的处理次序为传统行扫描处理次序。Sj,k是一个集合,包括已处理j个块组的索引,k表示所述已处理j个块组为从所述N个块组中选择j个块组的种可能组合中的第k种组合。i表示还未编码的块组中的一个。RD(Sj,k,i)表示在已处理Sj,k中所有编码块组的情况下,处理编码块组i 所需的代价。SN表示所有N个编码块组的集合。表示N个编码块组的最优处理次序。该最优化问题的目的是找到一种处理次序使得所有N个编码块组总的代价最小。
求解需要计算每一编码块组的代价RD(Sj,k,i)。在求得一个编码块组的代价RD(Sj,k,i)后,可采用式(5)中描述的方法确定编码块组的最优处理次序。
DP(Sj+1,k,OSj,k)=mini∈{1iN,i∉Sj,k}{DP(Sj,k,OSj,k)+RD(Sj,k,i)}---(5)]]>
其中j,1≤j≤N-1表示已处理的编码块组的数量。表示已处理的j个块组的所有可能的组合中的第k个组合。Sj,k是一个集合,包括在上述第k个组合的情况下的已处理j个块组的索引。代价函数表示编码块组集合Sj,k中所有块组的代价的和,即使用最优处理次序处理Sj,k中包含的j个编码块组所需的总代价。RD(Sj,k,i)表示在Sj,k所示第k组合所示的j个块组均已处理完成的情况下,对块组i进行编码处理所导致的代价。
针对上述过程进行举例说明,有序号为1,2,3的三个编码块组待处理。当j=2时,Sj,k有三种可能情况,即Sj,k={1,2}、Sj,k={1,3}、和Sj,k={2,3},其最优编码次序为O{1,2}=1,2、O{1,3}=3,1、和O{2,3}=3,2,而与之对应的最优代价为DP({1,2},O{1,2})、DP({1,3},O{1,3})、和DP({2,3},O{2,3})。进一步考虑j=3时的情况,在Sj,k三种可能的情况下,另一个编码块组分别为序号为3的块组、序号为2的块组、和序号为1的块组,对应的编码这个块组所导致的代价分别为RD({1,2},3)、RD({1,3},2)、和RD({2,3},1)。此时,可以通过式(6)(3)计算得到编码序号为1、2、3这三个编码块组的最小代价DP({1,2,3},O{1,2,3}),随之确定最优处理次序O{1,2,3}
DP({1,2,3},O{1,2,3})=minDP({2,3},O{2,3}),+RD({2,3},1),DP({1,2},O{1,2})+RD({1,2},3),DP({1,3},O{1,3})+RD({1,3},2)..---(6)]]>
可选地,作为一个实施例,编码单元具体用于:根据第一处理次序,通过确定单元确定编码块组包含的多个编码块的处理次序;根据第一处理次序和编码块组包含的多个编码块的处理次序对编码块组进行编码。
具体地,在确定了编码块组的处理次序后,还需要确定编码块组中包含的编码块的处理次序。可以根据编码块组的处理次序确定当前编码块组内编 码块的处理次序。也就是说,可根据编码块组的处理次序确定当前编码块组与其邻近编码块组先后处理次序,从而确定当前编码块组内编码块的处理次序。其中,当前编码块组内的编码块可以有多种预先设定的候选处理次序,每种候选处理次序都对应于一种位置关系,该位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的相对位置关系。在对当前编码块组进行编码时,可以先确定当前编码块组与相邻或相近的已编码的编码块组的相对位置关系,然后根据确定的相对位置关系在预先配置的对应关系中确定对应的编码块组内编码块的处理次序。在编码块的处理次序确定后,按照该处理次序对当前编码块组内的全部编码块进行编码,完成后按照第一处理次序处理下一个编码块组,与当前编码块组相类似,需要根据相对位置关系确定下一编码块组中编码块的处理次序,以此类推,直至目标图像的全部编码块组按照第一处理次序编码完毕。
可选地,作为一个实施例,确定单元还用于:确定编码块的多种候选处理次序;并且确定多种候选处理次序与多种位置关系的对应关系,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。可选地,作为一个实施例,确定单元还用于:使用预先设定的编码块的多种候选处理次序。预先设定的编码块的多种候选处理次序可以使用多种方法确定,例如根据编码块组包含的编码块的划分方式确定。其中编码块的划分方式可以包括等大小划分,即编码块组中编码块的大小相同,例如H.264/AVC等,编码块的划分方式还可以包括非等大小划分,例如HEVC等。在等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图4所示,在非等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图3所示。应理解,图3和图4所示出的几种处理次序仅仅为一些例子,预先设定的编码块的处理次序并不限于此,可以是任意次序。
举个例子进行说明,编码器80可以预先设置编码块组内的编码块的多种处理次序与该编码块组与已编码的编码块组的相对位置的对应关系。例如,可以预先设定如图4所示的4种编码块的处理次序,次序0为从左到右逐行扫描,次序1为从右到左逐行扫描,次序2为从上到下逐列扫描,次序3为从下到上逐列扫描。而编码块组与已编码的编码块组的相对位置可以有如图5所示的十六种:1,相邻没有已编码的编码块组;2,上方的编码块组 已编码;3,右侧的编码块组已编码;4,下方的编码块组已编码;5,左侧的编码块组已编码;6,上方和右侧的编码块组已编码;7,下方和右侧的编码块组已编码;8,左侧和下方的编码块组已编码;9,左侧和上方的编码块组已编码;10,上方和下方的编码块组已编码;11,左侧和右侧的编码块组已编码;12,上、下、左三侧的编码块组已编码;13,左、右、上三侧的编码块组已编码;14,上、下、右三侧的编码块组已编码;15,左、右、下三侧的编码块组已编码;16,上下左右四侧的编码块组已编码。
其中,编码器80还可以预先配置上述4种处理次序与上述16中相对位置关系之间的对应关系,例如,相对位置关系1对应于次序0、相对位置关系2对应于次序3、相对位置关系3对应于次序2,等等。
由以上对应关系可知,当给定不同的编码块组处理次序时,当前编码块组从上述十六种情况中选择对应的一种情况,并随之确定当前编码块组中编码块的处理次序,接着按照给定的编码块处理次序对当前编码块组中的编码块进行编码操作,并计算编码代价。
这里,编码块处理次序的确定,尽可能地利用了邻近已处理编码块组中的像素值来预测当前编码块组内的像素值。比较充分地考虑了编码图像的空间相关性,有助于压缩效率的提升。
可选地,作为一个实施例,确定单元具体用于:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序。
可选地,作为一个实施例,确定单元具体用于:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
也就是说,编码块的多种候选处理次序,以及多种候选处理次序与多种位置关系的对应关系都可以是预先设置好的。编码器80在确定当前处理的编码块组中的编码块的处理次序时,可以直接根据预先设置好的对应关系确定当前处理的编码块组的编码块对应的处理次序,其中多种候选处理次序和对应关系与上述实施例相类似,此处不再赘述。
可选地,作为一个实施例,编码单元具体用于:根据第一处理次序排列编码块组的索引;编码经过排列的编码块组的索引并写入码流;或者根据第一处理次序排列编码块组的坐标;编码经过排列的编码块组的坐标并写入码流。
具体地,在编码块组的处理次序确定后,可以将该处理次序以索引或者坐标等方式写入码流,以便于解码端在进行解码时能够直接获取编码时编码块组的编码次序。具体地,可以有以下两种方式:
一种方式可以从左到右从上到下的行扫描方式为编码图像中的编码块组分配一个索引号,例如从0到N-1。按照计算得到的最优处理次序,将这N个索引号写入码流。
另一种方式可以从左到右从上到下的方式为编码块组分配横坐标值与纵坐标值,例如(x,y)来表示编码块。如果编码图像中横向和纵向分别有w和h个编码块组,则编码图像中共有N个编码块组,N=w*h,x与y的取值范围为0≤x≤w-1,0≤y≤h-1。可以按照计算得到的最优处理次序,对这N组坐标进行编码,例如,可采用类似于脉冲编码调制(Pulse Code Modulation,PCM)的编码方式依次独立编码这N个横坐标值与这N个纵坐标值,还可采用类似于差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)的编码方式编码这N个横坐标值与这N个纵坐标值。
按上述方法对编码块组的最优处理次序O进行编码处理后,将编码结果输出到视频码流中,以便于解码端按照该最优处理次序进行解码。
可选地,作为一个实施例,编码块组的编码代价包含以下至少一种:编码单元编码编码块组消耗的比特数;编码块组的失真。
编码块组的编码代价是衡量编码该块组好坏的重要标准,编码代价的计算要同时考虑到编码该块消耗的比特数和该块重建后的质量,编码代价的值越低表明该块编码的越好。
应理解,在对目标图像进行编码时,可以按照本发明实施例的方法确定目标图像包含的编码块组的第一处理次序,在确定编码块组的编码块的处理次序时,可以确定部分编码块组的编码块的处理次序,其余编码块组的编码块的处理次序可以按照其它技术方案确定或者预先约定。
本发明实施例的编码器80根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对所述多个编 码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
图9是本发明一个实施例的解码器的示意框图。图9中的解码器90包括获取单元91、确定单元92和解码单元93。
获取单元91从码流中获取目标图像的多个编码块组的第一处理次序。确定单元92根据第一处理次序确定多个编码块组中的编码块组包含的多个编码块的处理次序。解码单元93根据第一处理次序和编码块组包含的多个编码块的处理次序解码码流。
本发明实施例根据由编码端确定的能够使得总编码代价最小的第一处理次序,来确定每个编码块组中编码块的处理次序,并由解码器90根据第一处理次序和每个编码块组中编码块的处理次序对目标图像的码流进行解码,编码过程中充分利用了目标图像的空间相关性,从而提高编码中的压缩效率。
可选地,作为一个实施例,确定单元92还用于:确定编码块的多种候选处理次序;并且确定多种候选处理次序与多种位置关系的对应关系,其中多种位置关系为当前处理的编码块组与当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
为保证编解码匹配,解码器90采用与编码端相同的方案根据编码块组的处理次序确定当前编码块组内编码块的处理次序。其中,当前编码块组内的编码块可以有多种预先设定的候选处理次序,每种候选处理次序都对应于一种位置关系,该位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的相对位置关系。在对当前编码块组进行解码时,可以先确定当前编码块组与相邻或相近的已解码的编码块组的相对位置关系,然后根据确定的相对位置关系在预先配置的对应关系中确定对应的编码块组内编码块的处理次序。在编码块的处理次序确定后,按照该处理次序对当前编码块组内的全部编码块进行解码,完成后按照第一处理次序处理下一个编码块组,与当前编码块组相类似,需要根据相对位置关系确定下一编码块组中编码块的处理次序,以此类推,直至目标图像的全部编码块组按照第一处理次序解码完毕。
可选地,作为一个实施例,确定单元具体用于:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据 对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序。可选地,作为一个实施例,确定单元具体用于:使用预先设定的编码块的多种候选处理次序。预先设定的编码块的多种候选处理次序可以使用多种方法确定,例如根据编码块组包含的编码块的划分方式确定。其中编码块的划分方式可以包括等大小划分,即编码块组中编码块的大小相同,例如H.264/AVC等,编码块的划分方式还可以包括非等大小划分,例如HEVC等。在等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图4所示,在非等大小划分的情况下,预先设定的编码块的多种候选处理次序可以如图3所示。应理解,图3和图4所示出的几种处理次序仅仅为一些例子,预先设定的编码块的处理次序并不限于此,可以是任意次序。
举个例子进行说明,解码器90可以预先设置编码块组内的编码块的多种处理次序与该编码块组与已解码的编码块组的相对位置的对应关系。例如,预先设定如图4所示的4种编码块的处理次序,次序0为从左到右逐行扫描,次序1为从右到左逐行扫描,次序2为从上到下逐列扫描,次序3为从下到上逐列扫描。而编码块组与已解码的编码块组的相对位置可以有如图5所示的十六种情况:1,相邻没有已解码的编码块组;2,上方的编码块组已解码;3,右侧的编码块组已解码;4,下方的编码块组已解码;5,左侧的编码块组已解码;6,上方和右侧的编码块组已解码;7,下方和右侧的编码块组已解码;8,左侧和下方的编码块组已解码;9,左侧和上方的编码块组已解码;10,上方和下方的编码块组已解码;11,左侧和右侧的编码块组已解码;12,上、下、左三侧的编码块组已解码;13,左、右、上三侧的编码块组已解码;14,上、下、右三侧的编码块组已解码;15,左、右、下三侧的编码块组已解码;16,上下左右四侧的编码块组已解码。
其中,解码器90还可以预先配置上述4种处理次序与上述16中相对位置关系之间的对应关系,例如,相对位置关系1对应于次序0、相对位置关系2对应于次序3、相对位置关系3对应于次序2,等等。
由以上对应关系可知,当给定不同的编码块组处理次序时,当前编码块组从上述十六种情况中选择对应的一种情况,并随之确定当前编码块组中编码块的处理次序,接着按照给定的编码块处理次序对当前编码块组中的编码块进行解码操作。
应理解,解码器90的上述多种预设模式,以及对应关系可以与编码端 预设的模式以及对应关系相同。
可选地,作为一个实施例,确定单元具体用于:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
也就是说,编码块的多种候选处理次序,以及多种候选处理次序与多种位置关系的对应关系都可以是预先设置好的。编码端在确定当前处理的编码块组中的编码块的处理次序时,可以直接根据预先设置好的对应关系确定当前处理的编码块组的编码块对应的处理次序,其中多种候选处理次序和对应关系与上述实施例相类似,此处不再赘述。
可选地,作为一个实施例,获取单元91具体用于:从码流中解码经过排列的多个编码块组的索引;根据多个编码块组的索引的排列顺序确定第一处理次序;或者从码流中解码经过排列的多个编码块组的坐标;根据多个编码块组的坐标的排列顺序确定第一处理次序。
具体地,编码端在确定了编码块组的处理次序确定后,可以将该处理次序以索引或者坐标等方式写入码流,以便于解码器90在进行解码时能够直接获取编码时编码块组的编码次序。具体地,可以有以下两种方式:
一种方式可以从左到右从上到下的行扫描方式为编码图像中的编码块组分配一个索引号,例如从0到N-1。按照计算得到的最优处理次序,将这N个索引号写入码流。
另一种方式可以从左到右从上到下的方式为编码块组分配横坐标值与纵坐标值,例如(x,y)来表示编码块。如果编码图像中横向和纵向分别有w和h个编码块组,则编码图像中共有N个编码块组,N=w*h,x与y的取值范围为0≤x≤w-1,0≤y≤h-1。可以按照计算得到的最优处理次序,对这N组坐标进行编码,例如,可采用类似于脉冲编码调制(Pulse Code Modulation,PCM)的编码方式依次独立编码这N个横坐标值与这N个纵坐标值,还可采用类似于差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)的编码方式编码这N个横坐标值与这N个纵坐标值。
也就是说,相应地解码器90可以按照上述两种方式根据编码端写入码 流的信息获知编码块组的处理次序。
本发明实施例根据由编码端确定的能够使得总编码代价最小的第一处理次序,来确定每个编码块组中编码块的处理次序,并由解码器90根据第一处理次序和每个编码块组中编码块的处理次序对目标图像的码流进行解码,编码过程中充分利用了目标图像的空间相关性,从而提高编码中的压缩效率。
图10是本发明另一实施例的编码器的示意框图。图10的编码器100包括处理器101和存储器102。处理器101和存储器102通过总线系统103相连。
存储器102用于存储使得处理器101执行以下操作的指令:根据目标图像的总编码代价确定目标图像包含的多个编码块组的第一处理次序;根据第一处理次序对多个编码块组中的编码块组进行编码以生成码流;并且将第一处理次序写入码流。
本发明实施例的编码器100根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对该多个编码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
应理解,本发明实施例中的目标图像为待编码图像,也可以称为编码图像。目标图像被划分为多个不重叠的编码块组,该编码块组可以等同于HEVC中的编码树单元CTU,也可以等同于H.264/AVC中的宏块MB,等等。编码块组可以继续划分为能够独立确定编码参数的多个编码块,编码块可以等同于HEVC中的编码单元CU,也可以等同于H.264/AVC中的子宏块SMB,等等。
此外,编码器100还可以包括发射电路104等。处理器101控制编码器100的操作,处理器101还可以称为CPU(Central Processing Unit,中央处理单元)。存储器102可以包括只读存储器和随机存取存储器,并向处理器101提供指令和数据。存储器102的一部分还可以包括非易失性随机存取存储器(NVRAM)。编码器100的各个组件通过总线系统103耦合在一起,其中总线系统103除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统103。
上述本发明实施例揭示的方法可以应用于处理器101中,或者由处理器101实现。处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器102,处理器101读取存储器102中的信息,结合其硬件完成上述方法的步骤。
可选地,作为一个实施例,根据目标图像的总编码代价确定目标图像包含的多个编码块组的第一处理次序,包括:确定多个编码块组的所有处理次序中每种处理次序对应的总编码代价,其中每种处理次序对应的总编码代价为多个编码块组按照每种处理次序进行编码的编码代价之和;确定每种处理次序对应的总编码代价中的最小总编码代价对应的处理次序为第一处理次序。
可选地,作为一个实施例,根据第一处理次序对多个编码块组中的编码块组进行编码以生成码流,包括:根据第一处理次序确定编码块组包含的多个编码块的处理次序;根据第一处理次序和编码块组包含的多个编码块的处理次序对编码块组进行编码。
可选地,作为一个实施例,根据第一处理次序确定编码块组包含的多个编码块的处理次序之前,还包括:确定编码块的多种候选处理次序;并且确定多种候选处理次序与多种位置关系的对应关系,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
可选地,作为一个实施例,根据第一处理次序确定编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据对应关系和相对位置关系 确定编码块组包含的多个编码块的处理次序。
可选地,作为一个实施例,确定编码块的多种候选处理次序,包括:使用预先设定的编码块的多种候选处理次序。
可选地,作为一个实施例,根据第一处理次序确定编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
可选地,作为一个实施例,将第一处理次序写入码流,包括:根据第一处理次序排列编码块组的索引;编码经过排列的编码块组的索引并写入码流;或者根据第一处理次序排列编码块组的坐标;编码经过排列的编码块组的坐标并写入码流。
可选地,作为一个实施例,编码块组的编码代价包含以下至少一种:编码编码块组消耗的比特数;编码块组的失真。
本发明实施例的编码器100根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对所述多个编码块组进行编码,能够充分利用目标图像中的空间相关性,从而提高编码中的压缩效率。
图11是本发明另一实施例的解码器的示意框图。图11的解码器110包括处理器111和存储器112。处理器111和存储器112通过总线系统113相连。
存储器112用于存储使得处理器111执行以下操作的指令:从码流中获取目标图像的多个编码块组的第一处理次序;根据第一处理次序确定多个编码块组中的编码块组包含的多个编码块的处理次序;根据第一处理次序和编码块组包含的多个编码块的处理次序解码码流。
本发明实施例根据由编码端确定的能够使得总编码代价最小的第一处理次序,来确定每个编码块组中编码块的处理次序,并由解码器110根据第一处理次序和每个编码块组中编码块的处理次序对目标图像的码流进行解码,编码过程中充分利用了目标图像的空间相关性,从而提高编码中的压缩效率。
此外,解码器110还可以包括发射电路114等。处理器111控制解码器110的操作,处理器111还可以称为CPU(Central Processing Unit,中央处理单元)。存储器112可以包括只读存储器和随机存取存储器,并向处理器111提供指令和数据。存储器112的一部分还可以包括非易失性随机存取存储器(NVRAM)。解码器110的各个组件通过总线系统113耦合在一起,其中总线系统113除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统113。
上述本发明实施例揭示的方法可以应用于处理器111中,或者由处理器111实现。处理器111可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器111中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器111可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器112,处理器111读取存储器112中的信息,结合其硬件完成上述方法的步骤。
可选地,作为一个实施例,根据第一处理次序确定多个编码块组中的编码块组包含的多个编码块的处理次序之前,还包括:确定编码块的多种候选处理次序;并且确定多种候选处理次序与多种位置关系的对应关系,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
可选地,作为一个实施例,根据第一处理次序确定多个编码块组中的编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序。
可选地,作为一个实施例,确定编码块的多种候选处理次序,包括:使 用预先设定的编码块的多种候选处理次序。
可选地,作为一个实施例,根据第一处理次序确定编码块组包含的多个编码块的处理次序,包括:根据第一处理次序确定编码块组与和编码块组相邻的已处理的编码块组的相对位置关系;并且根据预设的多种候选处理次序与多种位置关系的对应关系和相对位置关系确定编码块组包含的多个编码块的处理次序,其中多种位置关系为当前处理的编码块组与和当前处理的编码块组相邻的已处理的编码块组的多种相对位置关系。
可选地,作为一个实施例,从码流中获取目标图像的多个编码块组的第一处理次序,包括:从码流中解码经过排列的多个编码块组的索引;根据多个编码块组的索引的排列顺序确定第一处理次序;或者从码流中解码经过排列的多个编码块组的坐标;根据多个编码块组的坐标的排列顺序确定第一处理次序。
本发明实施例根据由编码端确定的能够使得总编码代价最小的第一处理次序,来确定每个编码块组中编码块的处理次序,并由解码器110根据第一处理次序和每个编码块组中编码块的处理次序对目标图像的码流进行解码,编码过程中充分利用了目标图像的空间相关性,从而提高编码中的压缩效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通 技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。

编解码方法和装置.pdf_第1页
第1页 / 共34页
编解码方法和装置.pdf_第2页
第2页 / 共34页
编解码方法和装置.pdf_第3页
第3页 / 共34页
点击查看更多>>
资源描述

《编解码方法和装置.pdf》由会员分享,可在线阅读,更多相关《编解码方法和装置.pdf(34页珍藏版)》请在专利查询网上搜索。

本发明实施例提供一种编解码方法和装置,能够充分利用视频信息中的空间相关性,从而提高编解码中的压缩效率。该方法包括:根据目标图像的总编码代价确定该目标图像包含的多个编码块组的第一处理次序;根据该第一处理次序对该多个编码块组中的编码块组进行编码以生成码流;并且将该第一处理次序写入该码流。本发明实施例根据目标图像的总编码代价确定所述目标图像包含的多个编码块组的第一处理次序,并根据第一处理次序对该多个编码。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1