CN104270641A - 变换系数的处理方法和装置 - Google Patents

变换系数的处理方法和装置 Download PDF

Info

Publication number
CN104270641A
CN104270641A CN201410521215.8A CN201410521215A CN104270641A CN 104270641 A CN104270641 A CN 104270641A CN 201410521215 A CN201410521215 A CN 201410521215A CN 104270641 A CN104270641 A CN 104270641A
Authority
CN
China
Prior art keywords
conversion coefficient
transform block
current transform
coefficient
conversion
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
Application number
CN201410521215.8A
Other languages
English (en)
Other versions
CN104270641B (zh
Inventor
赖昌材
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201410521215.8A priority Critical patent/CN104270641B/zh
Publication of CN104270641A publication Critical patent/CN104270641A/zh
Application granted granted Critical
Publication of CN104270641B publication Critical patent/CN104270641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种基于图像块的变换系数的处理方法和装置,包括:获得经过变换、量化后的当前变换块的变换系数;确定所述当前变换块的变换系数中需要置0的变换系数;按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;对所述处理后的当前变换块进行熵编码。本发明实施例的方案有利于抑制一些非正常的噪声干扰,从而提高主观体验。

Description

变换系数的处理方法和装置
技术领域
本发明涉及图像处理技术领域,具体涉及视频编解码中变换系数的处理方法和装置。
背景技术
随着光电采集技术的发展及对高清和超高清的视频图像需求的不断增长,导致视频数据量越来越大;而有限异构的传输带宽的限制、多样化的视频应用的出现不断地对视频编码效率提出了更高的挑战,高性能视频编码(HEVC,High Efficient Video Coding)标准的制定正是基于对上述需求的考虑。
视频编码压缩的基本原理是利用空域、时域和码字之间的相关性,尽可能去除冗余。采用基于块的混合视频编码框架,编码端将原始图像通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤实现视频编码压缩,相应的,解码端通过熵解码,反量化、反变换,预测(包括帧内预测和帧间预测)来恢复原始图像。
HEVC相较于早前的H.264/AVC(Advanced Video Coding)的编码框架,提出更先进的改进技术,包括扩展的编码单元尺寸、基于块的更灵活的帧间/帧内预测方式、大尺寸变换块、新的熵编码方法、更加复杂的内插滤波器等,上述改进有效地提高了HEVC的压缩效率和性能。
在HEVC中,由于更大尺寸变换块的引入,使得变换、量化失真后的数据,经过反变换、反量化以后,会导致这些失真被放大得更加明显,在有些场景,例如特别是噪声相对较多的场景,经过变换量化后的少量孤立的高频系数,经过反量化、反变换后,会产生非正常的原始图像内容,如非正常的横/竖条纹/网状块等,这些效应会通过参考帧传递累积给后续其他帧,对主观体验的影响较大,特别是在中/低视频码率的时候,影响更加明显。
发明内容
本发明实施例提供一种一种基于图像块的变换系数的处理方法,以期消除编码过程中产生的非正常的图像高频分量(例如,噪声),需要说明是,本发明各个实施例中的具体特征还还可能带来其他技术效果上的有益性,在此处不做赘述。
本发明实施例第一方面提供一种基于图像块的变换系数的处理方法,其特征在于,包括:获得经过变换、量化后的当前变换块的变换系数;确定所述当前变换块的变换系数中需要置0的变换系数;按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;对所述处理后的当前变换块进行熵编码。
结合第一方面,在第一方面的第一种可能的实施方式中,所述确定所述当前变换块的变换系数中需要置0的变换系数,包括:确定所述当前变换块的各个变换系数的绝对值是否小于或等于一预设阈值,当某个变换系数的绝对值小于或等于所述预设阈值时,确定所述某个变换系数需要置0。
结合第一方面,在第一方面的第二种可能的实施方式中,所述确定所述当前变换块的变换系数中需要置0的变换系数,包括:确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。
结合第一方面,在第一方面的第三种可能的实施方式中,所述确定所述当前变换块的变换系数中需要置0的变换系数,包括:确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数。
结合第一方面,在第一方面的第四种可能的实施方式中,所述当前变换块的尺寸大小为16X16或者32X32像素。。
结合第一方面,在第一方面的第五种可能的实施方式中,所述方法还包括,在所述得到处理后的当前变换块之后,按照所述预设扫描顺序依次扫描所述处理后的当前变换块以得到扫描后的一维序列,所述扫描后的一维序列用于熵编码的步骤。
结合第一方面,在第一方面的第六种可能的实施方式中,所述变换系数的处理方法被有条件地执行,所述条件包括:确定所述当前变换块的任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数;当所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,则执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤;当所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数小于预设阈值时,则不执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤。
结合第一方面,在第一方面的第七种可能的实施方式中,所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数,包括:最后两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数。
需要说明的是,第一方面的各种可能的实施方式之间也是能够相互结合的。
本发明实施例第二方面提供一种图像编码装置,包括:变换系数获取单元,用于获得经过变换、量化后的当前变换块的变换系数;确定单元,用于确定所述当前变换块的变换系数中需要置0的变换系数;设置单元,用于按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;熵编码单元,用于对所述处理后的当前变换块进行熵编码。
结合第二方面,在第二方面的第一种可能的实施方式中,所述确定单元包括第一子确定单元,所述第一子确定单元用于确定所述当前变换块的各个变换系数的绝对值是否小于或等于一预设阈值,当某个变换系数的绝对值小于或等于所述预设阈值时,确定所述某个变换系数需要置0。
结合第二方面,在第二方面的第二种可能的实施方式中,所述确定单元包括第三子确定单元,所述第三子确定单元用于确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。
结合第二方面,在第二方面的第三种可能的实施方式中,所述确定单元包括第二子确定单元,所述第二子确定单元用于确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数。
结合第二方面,在第二方面的第四种可能的实施方式中,所述当前变换块的尺寸大小为16X16或者32X32像素。
结合第二方面,在第二方面的第五种可能的实施方式中,所述装置还包括,扫描单元,用于在所述得到处理后的当前变换块之后,按照所述预设扫描顺序依次扫描所述处理后的当前变换块以得到扫描后的一维序列,所述扫描后的一维序列输出到熵编码单元用于熵编码。
结合第二方面,在第二方面的第六种可能的实施方式中,所述装置还包括条件单元,所述条件单元,用于确定所述当前变换块的任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数;当所述条件单元确定所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,则执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤;当所述条件单元确定所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数小于预设阈值时,则不执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤。
结合第二方面,在第二方面的第七种可能的实施方式中,所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数,包括:最后两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数。
本发明实施例各方案针对变换/量化后的变换系数,通过获得经过变换、量化后的当前变换块的变换系数;确定所述当前变换块的变换系数中需要置0的变换系数;按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;对所述处理后的当前变换块进行熵编码;从而选择性的略过一些的高频系数,但中低频系数仍然保留,通过本发明是实施例中各方法,能够抑制一些非正常的噪声干扰,从而提高主观体验。经过代码仿真和验证平台实测,中低视频码率下的主观体验明显改善。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频编码中的编码单元划分方式确定方法的示意图;
图2a是本发明实施例提供的一种对角线扫描顺序示意图;
图2b是本发明实施例提供的一种Z形扫描顺序示意图;
图2c是本发明实施例提供的一种水平扫描顺序示意图;
图2d是本发明实施例提供的一种视频编码中的垂直扫描顺序示意图;
图3是本发明实施例提供的一种视频源装置和目标装置系统框架图。
图4是本发明实施例提供的一种视频编码方法的架构示意图;
图5是本发明实施例提供的一种视频编码器示意图;
图6是本发明实施例提供的另一种视频编码器示意图。
具体实施方式
本发明各个实施例采用下面的缩写和翻译,这些缩写和翻译对本领域所属技术人员来说是清楚的,需要说明的是,还可以采用其他的缩写和翻译来表达同样的意思。
HEVC High Efficiency Video Coding    高效视频编码
CU     Coding Unit                    编码单元
PU     Prediction Unit                预测单元
LCU    Largest Coding Unit            最大编码单元
SCU    Smallest Coding Unit           最小编码单元
TU     Transform Unit                 变换单元
Intra                                 帧内预测
Inter                                 帧间预测
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图像的变换、量化失真后的数据,经过反变换、反量化以后,会导致这些失真被放大,尤其是在HEVC中,由于更大尺寸16x16,32x32变换块的引入,使得在有些场景,例如特别是噪声相对较多的场景,经过变换量化后的少量孤立的高频系数,经过反量化、反变换后,会产生非正常的原始图像内容,如非正常的横/竖条纹/网状块等,这些效应会通过参考帧传递累积给后续其他帧,对主观体验的影响较大,特别是在中/低码率的时候,影响更加明显。
本发明实施例提供一种基于图像块的变换系数的处理方法和装置,以期消除非正常的原始图像内容以提高主观体验。
通过获得经过变换、量化后的当前变换块的变换系数;确定所述当前变换块的变换系数中需要置0的变换系数;按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;对所述处理后的当前变换块进行熵编码;从而选择性的略过一些的高频系数,但中低频系数仍然保留,通过本发明是实施例中各方法,能够抑制一些非正常的噪声干扰,从而提高主观体验。经过代码仿真和验证平台实测,中低码率下的主观体验明显改善。
作为本发明的一个实施例,一种图像编码装置被配置以执行以下步骤。
101:获得经过变换、量化后的当前变换块的变换系数。
通常,视频序列(sequence)包括一系列图像(picture),图像被进一步划分为切片(slice)或者被称为条带,切片再被划分为编码单元(CU),编码单元通常具有一个亮度块(表示为Y)及两个色度块(表示为U及V)。取决于视频取样格式,就样本数目而言,U及V块的大小可以与Y分量的大小相同或不同,块还可被进一步划分。比如CU可以按照四叉树进行划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构。本发明实施例的编码单元可由最大尺寸和深度来表示特性。深度表示从最大编码单元空间划分编码单元的次数,并且随着深度加深,可从最大编码单元到最小编码单元划分根据深度的更深的编码单元。最大编码单元的深度是最高的深度,最小编码单元的深度是最低的深度。因为与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,所以与较高的深度相应的编码单元可包括与较低的深度对应的多个编码单元。对于PU和TU也有类似的树结构。但无论CU,PU还是TU,本质上都属于块(block)的概念,CU类似于宏块MB或编码块,是对编码图像进行划分和编码的基本单元;PU可对应预测块,是预测编码的基本单元。变换单元(TU)也称为变换系数块,是执行变换的基本单元,变换的步骤被应用于残差数据块以产生变换系数块。需要特别说明的是,所谓的当前图像或者当前帧,是指当前正在处理(或着编码)的图像;所谓的当前变换块,是指当前正在进行变换处理的图像块。所谓当前编码单元,当前预测单元亦是同理。在本文中,所谓的图像块或者块,可以是编码块,预测块,残差块或者变换块等等中的至少一者。在本文中,所谓的图像像素或者像素,也被称为像素样本或者样本。在本文中,所谓的残差数据,也被称为残差块或者残差矩阵;所谓的预测数据,也被称为预测块,所谓的变换块,也被称为变换系数块。
对当前图像的划分通常按照下列步骤进行。如果当前图像大于最大编码单元,则当前图像可被划分为至少一个最大编码单元。根据本发明实施例的最大编码单元可以是具有32x32、64x64、128x128、256x256等尺寸的数据单元,其中,数据单元的形状是具有宽度和长度为2的若干次方的正方形。
当前图像根据编码单元的最大尺寸被划分为多个最大编码单元,并且每个最大编码单元可包括根据深度划分的更深的编码单元。编码单元的最大深度和最大尺寸可以被预先确定,所述最大深度和最大尺寸限制最大编码单元的高度和宽度被分层划分的总次数。随着根据深度对编码单元进行分层划分且随着编码单元的数量的增加,最大编码单元的尺寸被划分。另外,即使在一个最大编码单元中多个编码单元对应于相同深度,也通过单独测量每个编码单元的图像数据的编码误差来确定是否将与相同深度对应的每个编码单元划分至更低的深度。
图1示出了一种树结构的CU的划分示意图,当前最大编码单元LCU的尺寸为64x64,最小编码单元的尺寸SCU为8x8,CU被划分成4个级别:CU64x64;深度1:CU32x32;深度2:CU16x16、深度3:CU8x8。1个CU64x64可以划分成4个CU32x32,1个CU32x32可以划分成4个CU16x16,1个CU16x16还可以划分成4个CU8x8。预测阶段CU又可以划分成PU,帧内预测的PU划分可以为2Nx2N、NxN等对称的PU,帧间预测的PU可以为2Nx2N、2NxN、Nx2N、NxN及非对称的PU。其中,上述N为正整数,例如N可等于2的x次幂,x为自然数。变换及量化步骤的阶段CU可以划分成TU,根据TU的深度信息,大的TU又可以划分成小的TU。深度信息可以标识的方式在码流中被传送。
为了对当前图像块(例如,视频数据的预测单元)进行编码,首先推导用于当前图像块的预测块。所述预测块可以通过帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)来推导。因此,可以使用相对于相同图像帧(或切片)中的相邻参考块中的参考样本的空间预测对一些预测单元进行帧内编码(I),所述相邻参考块可以包括左下相邻块、左相邻块、左上相邻块、上相邻块和右上相邻块中任意之一,并且可以相对于其它先前经编码帧(或切片)中的参考样本块对其它预测单元进行单向帧间编码(P)或双向帧间编码(B)。在一些情况下,参考样本均可用于形成用于待编码块的预测块;在另一些情况下,参考样本不可用于形成用于待编码块的预测块,这些不可用的情况包括以下任一情形之一,相邻块位于当前图像的边界以外,或者相邻块位于其他切片,或者相邻块位于其他区块(tile)。
预测时需要遍历每种PU(Intra2Nx2N、IntraNxN、Inter2Nx2N、Inter2NxN、InterNx2N、InterNxN),然后对预测的残差数据进行RDO计算(即变换、量化、反量化、反变换等)以确定该CU下的PU类型及其对应的预测模式信息,如帧内预测模式,运动矢量,是否使用Merge/skip、预测块尺寸、TU尺寸等。该预测模式信息可为上述当前块在当前划分深度下的所有可选预测模式中率失真代价最小的预测模式,即确定上述当前块在当前划分深度下的最佳预测模式,具体可计算出上述当前块在当前划分深度下的所有可选预测模式对应的率失真代价,将率失真代价最小的预测模式作为当前块在当前划分深度下的最佳预测模式。如前所述,在进行RDO时,需要经过预测得到的残差数据进行变换、量化、反量化、反变换,并对反变换以后的残差数据与预测数据一起得到重建图像。
在识别出预测块后,即刻确定原始图像块与其预测块之间的各个像素之差的矩阵。这个差矩阵可被称为预测残差数据,以指示所述原始图像块中的像素值与被选择为表示经编码块的预测块中的经编码像素值之间的像素差。设Yi,j为当前预测块的残差矩阵,此矩阵为当前预测块与所述预测块对应的原始图像块的残差数据:
Yi,j=Xi,j-predXi,j,0≤i<H,0≤j<W
其中,Yi,j为残差矩阵第i行,第j列元素,Xi,j是原始图像块,predXi,j是PU的预测块,H、W分别为PU的高、宽。当H、W数值相等时,所述块为方块。当H、W数值不相等时,所述块为非方块。
上述得到的残差数据实际上是一个当前图像块的残差矩阵。变换将残差数据转换成变换域(例如频域)中的变换系数的二维阵列。变换包括大小为4x4的变换块,8x8的变换块,16x16的变换块和32x32的变换块等。与H.264相比,HEVC增加了16x16和32x32的变换,能够使平坦区域的能量更加集中,从而增加压缩率。残差矩阵经过变换后的矩阵为:
C=T×Y×TT,其中Y为所述残差矩阵,T为所述变换矩阵,TT为所述变换矩阵的转置矩阵。
为了实现更好的压缩,可以例如使用离散余弦变换(DCT)、整数变换、卡忽南-拉维(K-L)变换或其他变换对残差数据进行变换。
作为示例性的,如下所示为HEVC的16X16一种变换矩阵,该矩阵共用16行16列,记为T。可以理解的,16X16的变换矩阵中各元素还可以取其他的值,本发明对此并不限定。
残差矩阵经过变换之后(例如DCT变换)得到当前变换系数块,原本残差矩阵中的各像素差也转换为了频域的各变换系数。为了进一步压缩,可以在熵编码之前对各变换系数进行量化。对当前变换系数块种的各变换系数(亦即变换后的数据)进行如下量化操作
其中,Zi,j为所述的量化结果;Ci,j为所述变换后的数据;Qstep是设定的量化步长因子,而表示取整操作。
由于在量化过程中,存在取整操作,因此,反量化以后的数据,与量化之前的数据可能会存在不一致的情况。这就是通常所说的量化导致信息丢失的原因,也称之为量化误差或量化失真,量化步长因子越大,量化失真的越多。由于有信息丢失,导致重建图像与编码前的原始图像也可能会不一致。
经过上述步骤的处理,得到经过变换、量化后的当前变换块的变换系数。
103:确定所述当前变换块的变换系数中需要置0的变换系数。
确定当前变换块的变换系数中需要置0的变换系数的方式是灵活的,作为第一种具体实施方式,可以确定所述当前变换块的各个变换系数的绝对值是否小于或等于一预设阈值,当某个变换系数的绝对值小于或等于所述预设阈值时,确定所述某个变换系数需要置0。经过变换、量化后的变换系数,一般绝对值较大的变换系数都向变换块的左上角集中,这部分主要是图像的直流区域和低频区域,而靠近右下角的一侧往往是图像的高频区域,可能会包含一些高频噪声。当某个变换系数的绝对值小于或等于预设阈值时,推测该高频区域的变换系数可能是噪声,置0后能够消除该噪声的影响。作为第二种具体的实施方式,还可以确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。例如,可以根据不需要置0的变换系数的位置,按照预设扫描顺序,将该不需要置0的变换系数的位置以后的变换系数置0。此种方式可以固定去掉某些频率区域的干扰。作为第三种具体的实施方式,还可以确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数。需要说明是,以上第一、二、三种具体的实施方式是可以单独实施或者相互结合实施的,其相互结合实施具体表现为相互体现为约束条件。例如,第一种具体的实施方式中,当某个变换系数的绝对值小于或等于预设阈值,需要确定将该个变换系数需要置0时,可以结合第二种方式,则需要结合判断当前变换块的变换系数中需要置0的变换系数的个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数;若所述当前变换块的变换系数中需要置0的变换系数的个数等于所述个数时,即便接下来的某个变换系数的绝对值小于或等于预设阈值,也不需要将其置0。再例如,第一种具体的实施方式中,当某个变换系数的绝对值小于或等于预设阈值,需要确定将该个变换系数需要置0时,可以结合第三种方式,进一步确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。如果某个变换系数的绝对值小于或等于预设阈值,但确定当前变换块的变换系数中该个变换系数的位置不需要置0,则该个变换系数可以不置0处理或者做置0处理,此处不做限定,还可以可以根据需要设置不同条件的优先级,以区分某个变换系数的绝对值小于或等于预设阈值的优先级更高还是当前变换块的变换系数中该个变换系数的位置不需要置0的优先级更高。第二种具体的实施方式中,确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,可以结合第三种方式,进一步确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,虽然此时可能需要置0的变换系数的个数尚未达到预设的个数,但此时按照扫描的顺序已经到了不需要置0的变换系数的位置,则确定不需要继续置0。可以理解的是,第一、二、三种具体的实施方式的结合的一个具体例子包括,当某个变换系数的绝对值小于或等于预设阈值,需要确定将该个变换系数需要置0时,进一步结合判断当前变换块的变换系数中需要置0的变换系数的个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数;并进一步结合判断是否已经到达确定的当前变换块的各个变换系数中不需要置0的变换系数的位置,若还未到达上述位置,则可以继续确定置0的步骤,如果已经到达,则停止继续确认置0的步骤。需要说明是的,确认置0的方向通常是按照预设的扫描的顺序进行的。一旦某个扫描的顺序被设置,则其逆向扫描的顺序也被确定。那么,确认置0的方向也可以采用逆向的预设的扫描顺序来进行。
105:按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块。
置0的方式可以为直接赋值为0或者其他方式,本发明在此不做限定。经过变换之后,变换块中各系数的分布一般是,变换块的左上角为直流系数,与左上角靠紧的为低频系数区域,变换块的右下角为高频系数区域。扫描的顺序可以是从左上到右下的顺序,也可以是从右下到左上的顺序。图2a,图2b,图2c,图2d给出了几种典型4x4块大小的预设扫描顺序,每一个黑点代表一个变换系数(变换系数的值未示出),(0,0)为一个变换系数的行和列的位置坐标,表示该变换系数在该变换块中的具体位置,其他变换系数的位置坐标类似表示。由连接各变换系数的虚线为扫描路径,虚线末端的箭头表示扫描方向。扫描路径和扫描方向联合表示扫描顺序。图2a所示的扫描顺序通常称之为对角线扫描顺序,图2b所述的扫描顺序通常称之为Z形扫描顺序,图2c所示的扫描顺序通常称之为水平扫描顺序,图2d所述的扫描顺序通常称之为垂直扫描顺序。上述几种扫描顺序都是从需要说明的是从左上到右下的顺序。图示中的预设扫描顺序并不是必须的,还可以得到其他扫描顺序,例如通过训练得到或者采用自适应扫描的方式,本发明对此并不做限定。需要说明的是,上述附图只示出了4x4块大小的扫描顺序,8x8,16x16,32x32等的块大小的扫描顺序与之类似。需要说明的是,预设的扫描顺序不是必须是从左上到右下的顺序,也可以是从右下到左上的顺序,此时的扫描顺序分别表现为如图2a,图2b,图2c,图2d的逆向扫描顺序。换言之,也可以按照如图2a,图2b,图2c,图2d的扫描顺序的逆方向对确定需要置0的变换系数进行置0。对当前变换块中的确定需要置0的变换系数进行置0处理后,得到处理后的以得到处理后的当前变换块。
107:对所述处理后的当前变换块进行熵编码。
对所述处理后的当前变换块进行熵编码对图像的进一步压缩是有效的。熵编码器接着对处理后的结果应用熵编码,作为一优选的方式,熵编码的步骤放在步骤108之后更为有效。熵编码包括多种编码方式,例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。编码后的结果可以输出到存储设备,也可以发送给解码端。熵编码所处理的对象,是在前期的预测、变换阶段所产生的一系列语法元素(Syntax Elements),包括预测模式和残差数据等。这些语法元素描述了CU,PU,TU等多种语法元素的特性。对CU,有块结构信息以及帧内/帧间预测模式;对PU,描述了帧内预测模式和运动信息等;对TU(例如当前变换块),主要包含残差信息的变换系数等。
在CABAC中,通常需要编码“非零系数分布”(significance map)、“非零系数的等级”(level)以及“非零系数的符号”(sign)。各变换系数的位置被以非零系数分布的形式编码,非零系数分布表明了当前变换块中非零系数的位置,比方说,非零系数的位置为1,零系数的位置为0。标志位significant_coeff_flag(SCF)被用来指示每一个非零系数。例如,可以采用之字形扫描的方式或者采用了对角线扫描的方式处理SCF,标志位last_significant_coeff_flag(LSCF)被用来指示当前是否是最后一个SCF。对4×4和8×8TU中不同位置以及bin是否表示SCF和LSCF,会采用不同的上下文。优选的一种实施方式中,对8×8,16×16或者32×32的TU进行了分割处理,将TU分割成了4×4的子块,通过coded_sub_block_flag(CSBF)这个参数来指示。对TU熵编码都是基于4×4子块进行的。每一个TU被分割成4×4大小的子块(sub-block)。CSBF用于标识某个子块是否包含非零系数。若该参数为1,则该子块中含有SCF;反之,若子块中仅仅包含0系数,则不存在SCF的值。非零系数的等级仅仅有前两位(coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag)采用上下文编码,剩余部分(coeff_abs_level_ramaining)采用旁路编码。这样可以极大程度地降低了整个CABAC中上下文编码的码字数量。以及对非零变换系数的符号的熵编码。
108:在所述得到处理后的当前变换块之后,按照所述预设扫描顺序依次扫描所述处理后的当前变换块以得到扫描后的一维序列,所述扫描后的一维序列用于熵编码的步骤。
对于经过DCT变换、量化后的当前变换系数块,也就是得到了处理后的当前变换块,这种情况下,朝向左上角(即,低频区域)的非零系数的概率常常更高。可能需要用增加将非零系数在系数的串行化行程的一端处分组在一起的概率的方式扫描所述系数,从而准许朝向串行化向量的另一端将零值系数分组在一起,并且将零值系数更有效率地编码成零行程。因此,扫描顺序对于有效熵编码来说较为重要。
作为一个实施例,步骤105中所述的预设扫描顺序和此步骤108中的扫描顺序是相同的。这样做的好处是两个步骤中的预设扫描顺序可以做相同设置,而且置0的步骤和扫描的步骤顺序一致。具体的扫描顺序在上文中已有描述,可以参加对图2a,图2b,图2c,图2d的描述。HEVC标准中通常采用所谓的对角线扫描顺序来用于扫描经变换、量化的变换块中的各变换系数。可选的,还可以使用z字形、水平、垂直、对角线或其它扫描顺序中的一者或者多者来进行扫描。如上文所提及,对于变换是DCT的实例,通过变换及量化,非零变换系数一般位于朝向块的左上方区域的低频区域处。因此,在对角线扫描过程(所述过程可能首先横越左上方区域)之后,非零变换系数通常更可能位于扫描的前面部分中。对于首先从右下方区域横越的对角线扫描过程,非零变换系数通常更有可能位于扫描的后面部分中。可以根据此原则来决定是采用从左上到右下的扫描顺序,也可以是从右下到左上的扫描顺序。
为了实现将更多非零系数放置在ID阵列的一端处的这个目标,可以在视频编码器-解码器(编解码器)中使用不同扫描顺序来对变换系数进行编码。在一些情况下,对角线扫描可能是有效的。在其它情况下,例如z字形、垂直或水平扫描等不同类型的扫描可能更加有效。
可以用各种方法来产生不同的扫描顺序。一个实例是,对于变换系数的每一块,可以从多个可用的扫描顺序中基于率失真原则选出“最佳”扫描顺序。视频编码器接着可以针对每一块向解码器提供对通过相应索引表示的一组扫描顺序当中的最佳扫描顺序的索引的指示。通过应用若干扫描顺序并且选择在将非零系数放置在ID向量的开头或结尾附近方面最有效的一个扫描顺序,可以确定最佳扫描顺序的选择,由此促进有效的熵编码。
在另一实例中,可以基于与相关预测单元的编码有关的各种因素来确定用于当前块的扫描顺序,所述因素例如是预测模式(I、B、P)、块大小、变换或其它因素。在一些情况下,因为可以在编码器及解码器两侧推断相同信息(例如预测模式),所以可能不需要向解码器提供对扫描顺序索引的指示。而是,视频解码器可以存储配置数据,所述配置数据指示在了解用于块的预测模式及将预测模式映射到特定扫描顺序的一个或一个以上准则的情况下的适当扫描顺序。
对变换块中的各变换系数的扫描包括对非零变换系数分布的扫描(significant map),非零变换系数分布是指非零变换系数的位置,对非零变换系数的绝对值的扫描(level),以及对非零变换系数的符号(sign)的扫描。扫描完成后,当前变换系数块已经从二维阵列转化为一维序列。扫描后的结果以用于进行熵编码。
需要说明的是,经过试验表明,上述各实施例中的方法在当前变换块的尺寸大小为16X16或者32X32像素的时候的尤为有效。
可选的,上述各实施例中的方法可以被有条件的被施加到现有技术中。例如,可以在确定所述当前变换块的变换系数中需要置0的变换系数之前,还可以确定所述当前变换块的任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数,所谓相邻是指按照预设的扫描顺序上两者相邻,如图2a中根据预设扫描顺序依次检查位置(0,0),(1,0),(,0,1)和(2,0),假设(0,0),(2,0)处的变换系数为非0值,(1,0),(,0,1)处的变换系数的值是0,那么(0,0),(2,0)即为两个相邻的非零变换系数,它们之间的变换系数连续为0的个数是2。可选的,所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数,包括,最后两个相邻非零变换系数之间的变换系数中连续是0的个数。仍然以图2a为例进行说明,按照预设的扫描顺序,检查……(3,1),(2,2),(1,3)(3,2),(2,3)和(3,3)这几个变换系数的位置,假设(3,1),(1,3)处的变换系数的值为非0值,(2,2),(3,2),(2,3)和(3,3)处的变换系数的值为0。则最后两个相邻非零变换系数是(3,1),(1,3)处的变换系数,最后两个相邻非零变换系数之间的变换系数中连续是0的个数是1。如果确定当所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,则启动确定所述当前变换块的变换系数中需要置0的变换系数的步骤,并按照预设扫描顺序依次对确定需要置0的变换系数进行置0,之后执行熵编码的步骤,优选的,还可以在进行熵编码前按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数;如果确定当所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数小于预设阈值时,则无需启动确定所述当前变换块的变换系数中需要置0的变换系数的步骤,也无需按照预设扫描顺序依次对确定需要置0的变换系数进行置0操作,而是对获得经过变换、量化后的当前变换块的变换系数执行熵编码的步骤,优选的,在执行熵编码的步骤之前,还从所述当前变换块的最后一个变换系数开始,按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数。作为一种具体实施方式,上述预设阈值可以为3,即,如果确定当所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数大于或等于3(个)时,则启动确定所述当前变换块的变换系数中需要置0的变换系数的步骤,并按照预设扫描顺序依次对确定需要置0的变换系数进行置0,之后再执行熵编码的步骤,优选的,还可以在进行熵编码前按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数;如果确定当所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数小于3(个)时,则无需启动确定所述当前变换块的变换系数中需要置0的变换系数的步骤,也无需按照预设扫描顺序依次对确定需要置0的变换系数进行置0操作,而是对获得经过变换、量化后的当前变换块的变换系数执行熵编码的步骤,优选的,在执行熵编码的步骤之前,还从所述当前变换块的最后一个变换系数开始,按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数。需要说明的是,如果确定当所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,需要将该两个相邻非零变换系数之后的所有变换系数置0,此时还可以结合进一步判断条件,判断之后非0变换系数的个数,如果该个数超过一定阈值,也可以不进行确定置0的动作。需要说明的是,大于或等于预设阈值在某些具体的实施例中可以改变为大于预设阈值,小于预设阈值在某些具体的实施例中可以改变为小于或等于预设阈值。这种改变可以根据需要进行灵活设定,不应构成对本发明的特别限制。
本发明还提供一种图像编码装置,该装置可执行上述各方法实施例中所述的方法,此处避免重复不做赘述。上述图像编码装置包括:
变换系数获取单元,用于获得经过变换、量化后的当前变换块的变换系数;
确定单元,用于确定所述当前变换块的变换系数中需要置0的变换系数。所述确定单元包括第一子确定单元,用于确定所述当前变换块的各个变换系数的绝对值是否小于或等于一预设阈值,当某个变换系数的绝对值小于或等于所述预设阈值时,确定所述某个变换系数需要置0。所述确定单元包括第二子确定单元,用于确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数。所述确定单元包括第三子确定单元,用于确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。可选的,所述当前变换块的尺寸大小为16X16或者32X32像素。
设置单元,用于按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;
熵编码单元,用于对所述处理后的当前变换块进行熵编码;
上述图像编码装置还可包括扫描单元,用于按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数。
上述图像编码装置还可包括条件单元,
所述条件单元,用于确定所述当前变换块的任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数;
当所述条件单元确定所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,则执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤;
当所述条件单元确定所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数小于预设阈值时,则不执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤。所述任意两个相邻非零变换系数之间的变换系数中连续是0的个数,包括:最后两个相邻非零变换系数之间的变换系数中连续是0的个数。
图4是本发明一个实施例的编码端的编码流程图,该编码端通常是一个编码装置,例如编码器,还可以是一个集成所述编码装置的设备,例如移动终端。
首先,由视频采集设备(图中未示出)采集到的原始图像被输入到图4所示的一个编码装置。输入的原始图像600被图像划分单元601划分为多个不重叠的原始图像块数据603,当前操作的对象称之为当前编码块,编码块的划分方法前面已有介绍,此处不做赘述。需要说明是的,输入的原始图像在被输入到图像划分单元之前还可以进行预处理,例如滤波处理,但这不是必须的。假设划分后的编码块的大小为NxN,则表示该块是一个N行乘以N列的二维像素阵列,其水平与竖直方向均为N像素大小。其中,上述N为正整数,例如N可等于2的x次幂,x为自然数。
编码端对编码块进行预测操作以获取其中原始图像块数据(原始图像像素)的预测块602。其中,预测操作一般可以分为帧间预测和帧内预测,帧间预测由帧间预测单元611执行,帧内预测由帧内预测单元612执行。在得到原始图像块数据和原始图像块数据对应的预测块以后,进一步计算原始图像块数据603与预测块602的像素差值,得到编码块的残差数据604,残差数据被输入到变换/量化单元613。变换/量化单元613对残差数据执行变换、量化操作得到变换量化后的当前块的变换系数605,变换、量化的具体方法之前已有描述,此处不做重复。变换量化后的当前块的变换系数605被送到本发明的一种图像编码装置620(如图4虚线框中所示)。需要特别说明的是,图4虚线框中所示的本发明的装置的实施例的所有单元只是一种优选方案的配置,并不是必须的,可以根据需要做相应的调整和设置,例如,扫描单元619可以取消。变换量化后的当前块的变换系数605被送到图像编码装置620的变换系数获取单元616,变换系数获取单元用于获得经过变换、量化后的当前变换块的变换系数;确定单元617确定所述当前变换块的变换系数中需要置0的变换系数,确定后的结果被送至设置单元618,设置单元618根据确定单元617确定的结果,按照预设扫描顺序依次对确定需要置0的变换系数进行置0,得到至少部分变换系数被置0的当前变换块,该至少部分变换系数被置0的当前变换块被送至扫描单元619进行下一步处理;扫描单元619按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数。作为一种优选的方式,扫描单元619按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数总直到标志位last_significant_coeff_flag(LSCF)被用来指示当前是否是最后一个SCF。优选的,对于8x8,16x16,32x32的变换块,可以4x4子块的方式来对变换块进行扫描。扫描得到的结果被送到熵编码单元615执行熵编码操作,并将熵编码输出的比特串写入码流。另外,经过变换和量化之后的变换量化系数605经过反量化、反变换单元614的处理得到重建的残差606,所谓反量化、反变换的操作一般是量化、变换的逆向操作。然后将重建的残差606与当前编码块的预测值602相加得到该块的图像块重建数据,图像块重建数据被输送给重建单元607该重建单元607可以包括存储装置,用于存储图像块重建数据。当前块的重建单元607会被用于预测后续的编码块,所述后续编码块可以是当前编码图像中的待处理编码块,也可以是后续待编码图像中的编码块。
其中,编码端在对原始图像603进行预测编码之前,可以先确定原始图像603包含的多个编码块的处理次序,具体地,当以不同的处理次序处理编码块时,每一编码块的编码代价会随着处理次序的不同而改变,因此,可以确定能够使得所有编码块的总编码代价最小的处理次序作为实际进行编码时编码块组的处理次序。在处理每一编码块内的各变换系数的扫描顺序时可以参照上述的方法,来决定总编码代价最小的扫描顺序。对多个编码块的处理次序和对编码块内的各变换系数的扫描顺序可以相同也可以不同。
此外,生成码流时,可以将多个编码块的处理次序写入码流或者只写入表示处理次序的索引,以便于解码端按照该次序进行解码;还可以将对各变换系数的扫描顺序也写入码流或者写入表示对各变换系数的扫描顺序的索引,以便于解码端按照该扫描顺序进行解码。
图5是本发明实施例的编码装置的示意框图。图5的编码装置500包括处理器502和存储器503。处理器和存储器通过总线系统501相连。
存储器用于存储使得处理器执行以下操作的指令:获得经过变换、量化后的当前变换块的变换系数;确定所述当前变换块的变换系数中需要置0的变换系数;按照预设扫描顺序依次对确定需要置0的变换系数进行置0;按照所述预设扫描顺序依次扫描所述当前变换块的各个变换系数。存储器还可用于存储使得处理器执行上述方法实施例中的各种具体实施方式及其组合。
作为编码器的另一个实施例,如图6所示,编码器1300还可以包括用户接口1303,网络接口1304,等。处理器1301控制编码器1300的操作,处理器还可以称为CPU(Central Processing Unit,中央处理单元)。存储器1305可以包括只读存储器和随机存取存储器,并向处理器111提供指令和数据,存储器中还可以存储有操作系统13051和应用程序13052。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。编码器的各个组件通过总线系统1302耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1302。
解码端需要对编码后的图像块进行重建以还原原始图像,重建时,需要对解码器接收到的数据首先进行熵解码,熵解码后的数据被反扫描得到重建的变换量化系数,该重建的变换量化系数被施以反量化、反变换、预测、重建等操作以得到图像块重建数据,上述步骤和编码端的步骤相应,以得到解码图像。所述解码端可以为视频解码器,该视频解码器可集成于移动终端上。
图3为实例源装置800和目标装置900的视频编码和解码系统的框图。如图5中所展示,源装置800,信号经由其发射器经由通信信道将经编码视频发射到目标装置。经编码视频数据也可存储在存储媒体或文件服务器上且可在需要时由目标装置存取。当存储到存储媒体或文件服务器时,视频编码器可将经编码视频数据提供到另一装置,例如网络接口、压缩光盘(CD)、蓝光或数字视频光盘(DVD)刻录机或压印设施装置或其它装置等,以用于将经编码视频数据存储到存储媒体。同样,与视频解码器分离的装置(例如网络接口、CD或DVD读取器等等)可从存储媒体检索经编码视频数据且将所检索的数据提供到目标装置的视频解码器。
源装置和目标装置可包括广泛多种装置中的任一者,广泛多种装置包含移动装置、桌上型计算机、笔记型计算机(即,膝上型计算机)、平板计算机、机顶盒、电话手机(例如所谓的智能电话等)、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台等等。在许多情况下,此类装置可经装备用于无线通信。因此,通信信道可包括适合于发射经编码视频数据的无线信道、有线信道或无线信道和有线信道的组合。类似地,文件服务器可由目标装置通过任何标准数据连接(包含因特网连接)存取。此情形可包含适合于存取存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。
根据本发明的实例可适用于支持多种多媒体应用中的任一者的视频编码,多种多媒体应用例如空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网)、用于存储在数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。
在图5的实例中,源装置包含视频源、视频编码器、调制器/解调器以及发射器。在源装置中,视频源可包含例如以下各者等源:视频俘获装置(例如摄像机等)、含有先前俘获的视频的视频存档、接收来自视频内容提供者的视频的视频馈送接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或此类源的组合。作为一个实例,如果视频源为摄像机,那么源装置和目标装置可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术一股可适用于视频译码,且可适用于无线和/或有线应用,或经编码视频数据存储在本地磁盘上的应用。
所俘获的视频、经预先俘获的视频或计算机产生的视频可由视频编码器来编码。经编码的视频信息可由调制解调器根据例如无线通信协议等通信标准来调制,且经由发射器而发射到目标装置。调制解调器可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器可包含经设计以用于发射数据的电路,包含放大器、滤波器以及一个或一个以上天线。
由视频编码器编码的所俘获的视频、经预先俘获的视频或计算机产生的视频也可存储到存储媒体或文件服务器上以供稍后消耗。存储媒体可包含蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频的任何其它合适的数字存储媒体。存储在存储媒体上的经编码视频可接着由目标装置存取以用于解码及播放。
文件服务器可为能够存储经编码视频及将所述经编码视频传输到目标装置的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置、本地磁盘驱动器,或能够存储经编码视频数据及将经编码视频数据传输到目标装置的任何其它类型的装置。来自文件服务器的经编码视频数据的传输可为流式传输、下载传输或两者的组合。文件服务器可由目标装置通过任何标准数据连接(包含因特网连接)存取。此情形可包含适合于存取存储在文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器、以太网、USB等)或两者的组合。
在图5的实例中,目标装置包含接收器、调制解调器、视频解码器以及显示装置。目标装置的接收器经由信道接收信息,且调制解调器解调所述信息以产生用于视频解码器的经解调位流。经由信道传达的信息可包含由视频编码器产生以供视频解码器30在解码视频数据中使用的多种语法信息。此语法也可包含在存储在存储媒体或文件服务器上的经编码视频数据中。视频编码器和视频解码器中的每一者可形成能够编码或解码视频数据的相应编码器-解码器(CODEC)的部分。
显示装置可与目标装置集成或在目标装置外部。在一些实例中,目标装置可包含集成显示装置且也经配置以与外部显示装置建立接口。在其它实例中,目标装置可为显示装置。一股来说,显示装置将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,多种显示装置例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图5的实例中,通信信道可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线,或无线和有线媒体的任何组合。通信信道可形成基于包的网络的部分,例如局域网、广域网或例如因特网等全球网络等。通信信道—表示任何合适的通信媒体或不同通信媒体的集合,其用于将视频数据从源装置发射到目标装置,包含有线或无线媒体的任何合适连接。通信信道可包含路由器、交换机、基站,或可用于促进从源装置到目标装置的通信的任何其它装备。
视频编码器和视频解码器可根据视频压缩标准操作,视频压缩标准例如目前在开发中的高效率视频译码(HEVC)标准,且可符合HEVC测试模型(HM)。或者,视频编码器和视频解码器可根据其它专有或行业标准操作,例如ITU-TH.264标准(其或者被称作MPEG-4第10部分,高级视频译码(AVC)),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。
尽管图5中未展示,但在一些方面,视频编码器和视频解码器可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元,或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在可适用的情况下,在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器和视频解码器各自可实施为多种合适的编码器电路中的任一者,多种合适的编码器电路例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件来实施技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中且在硬件中使用一个或一个以上处理器来执行所述指令以执行本发明的技术。视频编码器和视频解码器30中的每一者可包含在一个或一个以上编码器或解码器中,编码器或解码器中的任一者可作为相应装置中的组合式编码器/解码器(CODEC)的部分而集成。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频编码中的块划分方式确定方法的部分或全部步骤。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频编码中的当前块的最佳预测模式确定方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种基于图像块的变换系数的处理方法,其特征在于,包括:
获得经过变换、量化后的当前变换块的变换系数;
确定所述当前变换块的变换系数中需要置0的变换系数;
按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;
对所述处理后的当前变换块进行熵编码。
2.根据权1所述的方法,其特征在于,所述确定所述当前变换块的变换系数中需要置0的变换系数,包括:
确定所述当前变换块的各个变换系数的绝对值是否小于或等于一预设阈值,当某个变换系数的绝对值小于或等于所述预设阈值时,确定所述某个变换系数需要置0。
3.根据权1所述的方法,其特征在于,所述确定所述当前变换块的变换系数中需要置0的变换系数,包括:
确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。
4.根据权1-3任一项所述的方法,其特征在于,所述确定所述当前变换块的变换系数中需要置0的变换系数,包括:
确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述当前变换块的尺寸大小为16X16或者32X32像素。
6.根据权利要求1-5任一项所述的方法,其特征在于,对所述处理后的当前变换块进行熵编码前还包括,
按照所述预设扫描顺序依次扫描所述处理后的当前变换块以得到扫描后的一维序列,所述扫描后的一维序列用于所述熵编码的步骤。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤被有条件地执行,所述条件包括:确定所述当前变换块的任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数;
当所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,则执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤;
当所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数小于预设阈值时,则不执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤。
8.根据权利要求7所述的方法,其特征在于,所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数,包括:
最后两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数。
9.一种图像编码装置,其特征在于,包括:
变换系数获取单元,用于获得经过变换、量化后的当前变换块的变换系数;
确定单元,用于确定所述当前变换块的变换系数中需要置0的变换系数;
设置单元,用于按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块;
熵编码单元,用于对所述处理后的当前变换块进行熵编码。
10.根据权利要求9所述的装置,其特征在于,
所述确定单元包括第一子确定单元,所述第一子确定单元用于确定所述当前变换块的各个变换系数的绝对值是否小于或等于一预设阈值,当某个变换系数的绝对值小于或等于所述预设阈值时,确定所述某个变换系数需要置0。
11.根据权利要求9所述的装置,其特征在于,
所述确定单元包括第三子确定单元,所述第三子确定单元用于确定所述当前变换块的各个变换系数中不需要置0的变换系数的位置,根据所述不需要置0的变换系数的位置确定所述当前变换块的变换系数中需要置0的变换系数。
12.根据权利要求9-11任一项所述的装置,其特征在于,
所述确定单元包括第二子确定单元,所述第二子确定单元用于确定所述当前变换块的变换系数中需要置0的变换系数的个数是否达到预设个数,若所述当前变换块的变换系数中需要置0的变换系数的个数小于或等于所述预设个数时,继续确定所述当前变换块的变换系数中需要置0的变换系数。
13.根据权利要求9-12任一项所述的装置,其特征在于,
所述当前变换块的尺寸大小为16X16或者32X32像素。
14.根据权利要求9-13任一项所述的装置,其特征在于,所述装置还包括,
扫描单元,用于在所述得到处理后的当前变换块之后,按照所述预设扫描顺序依次扫描所述处理后的当前变换块以得到扫描后的一维序列,所述扫描后的一维序列输出到熵编码单元用于熵编码。
15.根据权利要求9-14任一项所述的装置,其特征在于,还包括条件单元,
所述条件单元,用于确定所述当前变换块的任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数;
当所述条件单元确定所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数大于或等于预设阈值时,则执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤;
当所述条件单元确定所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数小于预设阈值时,则不执行所述确定所述当前变换块的变换系数中需要置0的变换系数以及所述按照预设扫描顺序依次对确定需要置0的变换系数进行置0以得到处理后的当前变换块的步骤。
16.根据权利要求15所述的装置,其特征在于,所述任意两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数,包括:
最后两个在所述预设扫描顺序上相邻非零变换系数之间的变换系数中连续是0的个数。
CN201410521215.8A 2014-09-30 2014-09-30 变换系数的处理方法和装置 Active CN104270641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410521215.8A CN104270641B (zh) 2014-09-30 2014-09-30 变换系数的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410521215.8A CN104270641B (zh) 2014-09-30 2014-09-30 变换系数的处理方法和装置

Publications (2)

Publication Number Publication Date
CN104270641A true CN104270641A (zh) 2015-01-07
CN104270641B CN104270641B (zh) 2018-12-14

Family

ID=52162119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410521215.8A Active CN104270641B (zh) 2014-09-30 2014-09-30 变换系数的处理方法和装置

Country Status (1)

Country Link
CN (1) CN104270641B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162184A (zh) * 2016-07-28 2016-11-23 华为技术有限公司 一种数据块编码方法及装置
CN106991391A (zh) * 2017-03-30 2017-07-28 理光图像技术(上海)有限公司 文档处理装置以及文档处理和识别系统
CN107211133A (zh) * 2015-11-06 2017-09-26 华为技术有限公司 反量化变换系数的方法、装置及解码设备
CN110622510A (zh) * 2017-04-13 2019-12-27 Lg 电子株式会社 熵编码和解码视频信号的方法和设备
WO2020172904A1 (zh) * 2019-02-26 2020-09-03 北京大学深圳研究生院 一种反量化方法、系统、设备及计算机可读介质
CN111866505A (zh) * 2015-01-19 2020-10-30 谷歌有限责任公司 在算术代码化中的有效率场境应对
CN113132734A (zh) * 2019-12-31 2021-07-16 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备
CN113473139A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种图像处理方法和图像处理装置
WO2022205312A1 (zh) * 2021-04-01 2022-10-06 深圳市大疆创新科技有限公司 编码系数的处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098473A (zh) * 2006-06-30 2008-01-02 联想(北京)有限公司 一种图像编码方法及装置
CN101582984A (zh) * 2009-04-14 2009-11-18 公安部物证鉴定中心 一种消除图像噪声的方法及装置
CN102396222A (zh) * 2009-06-09 2012-03-28 索尼公司 用通用多级树中的集合分裂针对图像和视频自适应熵编码
WO2012046979A2 (ko) * 2010-10-06 2012-04-12 에스케이텔레콤 주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN103327326A (zh) * 2013-05-30 2013-09-25 西安交通大学 基于压缩感知和信道自适应的sar图像传输方法
CN103748876A (zh) * 2011-04-22 2014-04-23 汤姆逊许可公司 有损压缩编码数据方法和设备以及相应的重构数据方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098473A (zh) * 2006-06-30 2008-01-02 联想(北京)有限公司 一种图像编码方法及装置
CN101582984A (zh) * 2009-04-14 2009-11-18 公安部物证鉴定中心 一种消除图像噪声的方法及装置
CN102396222A (zh) * 2009-06-09 2012-03-28 索尼公司 用通用多级树中的集合分裂针对图像和视频自适应熵编码
WO2012046979A2 (ko) * 2010-10-06 2012-04-12 에스케이텔레콤 주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN103748876A (zh) * 2011-04-22 2014-04-23 汤姆逊许可公司 有损压缩编码数据方法和设备以及相应的重构数据方法和设备
CN103327326A (zh) * 2013-05-30 2013-09-25 西安交通大学 基于压缩感知和信道自适应的sar图像传输方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866505A (zh) * 2015-01-19 2020-10-30 谷歌有限责任公司 在算术代码化中的有效率场境应对
CN107211133A (zh) * 2015-11-06 2017-09-26 华为技术有限公司 反量化变换系数的方法、装置及解码设备
CN107211133B (zh) * 2015-11-06 2020-04-03 华为技术有限公司 反量化变换系数的方法、装置及解码设备
US10630983B2 (en) 2015-11-06 2020-04-21 Huawei Technologies Co., Ltd. Transform coefficient dequantization method and apparatus, and decoding device
CN106162184A (zh) * 2016-07-28 2016-11-23 华为技术有限公司 一种数据块编码方法及装置
US11019343B2 (en) 2016-07-28 2021-05-25 Huawei Technologies Co., Ltd. Data block encoding method and apparatus
CN106991391A (zh) * 2017-03-30 2017-07-28 理光图像技术(上海)有限公司 文档处理装置以及文档处理和识别系统
US11240536B2 (en) 2017-04-13 2022-02-01 Lg Electronics Inc. Method and device for entropy encoding, decoding video signal
CN110622510A (zh) * 2017-04-13 2019-12-27 Lg 电子株式会社 熵编码和解码视频信号的方法和设备
US11902592B2 (en) 2017-04-13 2024-02-13 Lg Electronics Inc. Method and device for entropy encoding, decoding video signal
CN110622510B (zh) * 2017-04-13 2022-08-23 Lg 电子株式会社 熵编码和解码视频信号的方法和设备
WO2020172904A1 (zh) * 2019-02-26 2020-09-03 北京大学深圳研究生院 一种反量化方法、系统、设备及计算机可读介质
CN113132734A (zh) * 2019-12-31 2021-07-16 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备
CN113473139A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种图像处理方法和图像处理装置
WO2022205312A1 (zh) * 2021-04-01 2022-10-06 深圳市大疆创新科技有限公司 编码系数的处理方法和装置

Also Published As

Publication number Publication date
CN104270641B (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
CN104270641A (zh) 变换系数的处理方法和装置
KR101606295B1 (ko) 비디오 데이터에 비-정방형 변환들을 적용
CN103329523B (zh) 使用经映射变换和扫描模式的视频译码
CN103636223B (zh) 用于视频译码的多区扫描次序
CN104137546A (zh) 用信号发送用于视频译码的量化矩阵
CN103959785A (zh) 在视频译码中用于色度分量的变换单位分割
CN103959779A (zh) 在视频译码中用于自适应环路滤波和样本自适应偏移的基于最大译码单元(lcu)或分区的语法
CN103404144A (zh) 视频译码中的经量化脉码调制
CN104685876A (zh) 用于视频译码中的4:2:2样本格式的经译码块旗标(cbf)译码
US10356418B2 (en) Video encoding method and apparatus therefor, and video decoding method and apparatus therefor, in which edge type offset is applied
CN107566848A (zh) 编解码的方法及装置
CN105191307A (zh) 在视频译码过程中用于系数级别译码的莱斯参数更新
JP2015508617A (ja) 映像の符号化における係数の符号化
CN105493507A (zh) 用于帧内块复制的残余预测
CN105474645A (zh) 当执行帧内块复制时确定区
CN105264891A (zh) 具有变换跳过、旋转和扫描的残余差分脉码调制(dpcm)扩展和协调
CN104081777A (zh) 用于视频译码的残余四叉树(rqt)译码
CN103098463A (zh) 视频压缩中的经译码块模式(cbp)的可变长度译码
CN110602509A (zh) 用于最末重要系数位置编码中的上下文减少的设备和方法
CN103891293A (zh) 用于色度分量的自适应环路滤波
CN104247420A (zh) 转换系数译码
CN103636208A (zh) 在视频译码中用于非正方形块的上下文自适应熵译码
CN103609118A (zh) 用于视频译码的并行化友好合并候选者
EP3306924A1 (en) Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data
CN103959778A (zh) 帧内脉码调制(ipcm)及无损失译码模式视频解块

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200422

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Patentee before: Huawei Technologies Co.,Ltd.