变换单元划分方法及装置的制造方法

xiaoxiao2020-10-23  5

变换单元划分方法及装置的制造方法
【技术领域】
[0001] 本发明设及视频编码领域,特别设及一种变换单元划分方法及装置。
【背景技术】
[0002] 在肥VCOli曲EfficientVideoCoding,高效率视频编码)标准中,提出了编码单 元和变换单元的概念。编码单元(Coding化it,简称;CU)是编码的基本单元,类似于H. 264 标准中的宏块;变换单元(Transform化it,简称:TU)是进行变换和量化的基本单元,变换 单元TU可W由编码单元CU划分得到。
[0003] 由于存在多种将编码单元CU划分为变换单元TU的划分方式,为了对当前的编码 单元采用最优的TU划分方式,现有技术提供的变换单元划分方法中,依次计算每一种划分 方式的率失真代价,并根据率失真代价最小的划分方式将编码单元CU划分为变换单元TU。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在W下问题;由于需要计算 每一种划分方式的率失真代价,计算量比较大,导致每次选择划分模式过程的效率较低,无 法满足一些实时性要求较高的编码场景。

【发明内容】

[0005] 为了解决现有技术的问题,本发明实施例提供了一种变换单元划分方法及装置。 所述技术方案如下:
[0006] 第一方面,提供了一种变换单元划分方法,所述方法包括:
[0007] 将当前变换单元按照n*n像素大小划分为若干个子变换单元;
[000引分别计算每个子变换单元的差异代价值;
[0009] 查找出各个差异代价值中的最小差异代价值和最大差异代价值;
[0010] 检测所述最小差异代价值和所述最大差异代价值之间的差值是否小于预设条 件;
[001U 若所述最小差异代价值和所述最大差异代价值之间的差值小于所述预设条件,贝U 确定所述当前变换单元不再继续划分。
[0012] 第二方面,提供了一种变换单元划分装置,所述装置包括:
[0013]第一划分模块,用于将当前变换单元按照n*n像素大小划分为若干个子变换单 元;
[0014] 差异计算模块,用于分别计算每个子变换单元的差异代价值;
[0015] 差异查找模块,用于查找出各个差异代价值中的最小差异代价值和最大差异代价 值;
[0016] 差异检测模块,用于检测所述最小差异代价值和所述最大差异代价值之间的差值 是否小于预设条件;
[0017] 划分决策模块,用于若所述最小差异代价值和所述最大差异代价值之间的差值小 于所述预设条件,则确定所述当前变换单元不再继续划分。
[0018] 本发明实施例提供的技术方案带来的有益效果是:
[0019] 通过计算差异代价值的方式来决策是否需要进行有关当前变换单元的率失真代 价的计算过程;解决了每次划分过程均需要计算率失真代价的问题;达到了根据差异代价 值的计算结果,选择性地提前终止有关当前变换单元的率失真代价的计算过程,减少计算 量并提高编码效率,从而满足一些实时性较强的编码场景的需求。
【附图说明】
[0020] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据该些附图获得其他 的附图。
[0021] 图1A是本发明实施例提供的编码单元和变换单元的示意图;
[0022] 图1B是肥VC标准提供的变换单元划分方法的方法流程图;
[0023] 图2是本发明一个实施例提供的变换单元划分方法的流程图;
[0024] 图3是本发明另一个实施例提供的变换单元划分方法的流程图;
[0025]图4是本发明一个实施例提供的变换单元划分装置的结构示意图;
[0026] 图5是本发明另一个实施例提供的变换单元划分装置的结构示意图。
【具体实施方式】
[0027] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[002引首先对本实施例所设及的几个名词进行简介:
[0029] 图像帖:一段视频由若干帖图像帖构成。视频压缩编码一般采取基于块的编码方 式,即把视频中的一帖图像帖分成多个互不重叠的块,之后对该些块进行编码。每个图像帖 在视频编码时可W采用帖间编码方式或帖内编码方式。
[0030] 在肥VC标准中,提出了编码单元、预测单元和变换单元的概念。
[0031] 编码单元:是一个图像帖中进行编码的基本单元。编码单元可W是64*64的像素 块。
[0032] 预测单元:是一个图像帖中进行预测的基本单元。预测单元可W是64*64、32*32、 16*16、8*8等像素尺寸的块。本文中不设及预测单元的讨论。
[003引变换单元:是一个图像帖中呈现残差(Resi化al)或变换系数(Transform Coefficients)的基本单元。变换单元也可W是32*32、16*16、8*8、4*4等像素尺寸的块。
[0034] 一个编码单元可W只有一个变换单元,或者一个编码单元包括若干个较小的变换 单元。参考图1A所示,一个编码单元10可W包括有32*32的变换单元,比如:变换单元8 和9;还可W包括有16*16的变换单元,比如;变换单元1、变换单元6、变换单元7、变换单 元10、变换单元11和变换单元12;还可W包括有8*8的变换单元,比如:变换单元2、变换 单元3、变换单元4、变换单元5、变换单元13、变换单元14、变换单元15和变换单元16。
[0035] 需要说明的是,一个较大的变换单元可W递归地划分为更小的变换单元,比如,变 换单元8还可W划分为四个与变换单元1具有相同大小的变换单元,变换单元1还可W划 分为四个与变换单元2具有相同大小的变换单元。
[0036] 为了在能量集中、细节保真度W及图像的振铃效应等因素之间取得平衡,在肥VC 标准中,提供了相应的决策算法如图1B所示:
[0037] 步骤101,计算当前变换单元的率失真代价;
[003引率失真代价,是率失真优化(Rate-distortionoptimization,简称畑0)代价的 简称。率失真代价的计算过程为已有技术,本文不再寶述。
[0039] 步骤102,试探将当前变换单元划分为四个子变换单元,分别计算四个子变换单元 的率失真代价并求和,得到率失真代价之和;
[0040] 步骤103,检测当前变换单元的率失真代价是否小于四个子变换单元的率失真代 价之和;
[0041] 若小于,则进入步骤106;若不小于,则进入步骤104。
[0042] 步骤104,确定将当前变换单元划分为四个子变换单元,依次将每个子变换单元作 为当前变换单元;
[0043] 步骤105,检测当前变换单元的划分深度是否达到预设深度;
[0044] 预设深度可W是编码器所支持的最大深度。1级深度可W是将64*64的变换单元 划分为32*32的变换单元、2级深度可W是将32*32的变换单元划分为16*16的变换单元、 3级深度可W是将16*16的变换单元划分为8*8的变换单元,W此类推,不再一一寶述。
[0045] 若未达到预设深度,则进入步骤101 ;若达到预设深度,则进入步骤106。
[0046] 步骤106,确定当前变换单元不再继续划分。
[0047] 上述划分过程中,每次划分都需要执行步骤101和步骤102,而率失真代价的计算 量较大,导致每次选择划分模式过程的效率较低,无法满足一些实时性要求较高的编码场 景。
[0048] 请参考图2,其示出了本发明一个实施例提供的变换单元划分方法的方法流程图。 本实施例W该方法应用于视频编码设备中来举例说明。该方法包括:
[0049] 步骤201,将当前变换单元按照n*n像素大小划分为若干个子变换单元;
[0化0] 步骤202,分别计算每个子变换单元的差异代价值;
[0化1]步骤203,查找出各个差异代价值中的最小差异代价值和最大差异代价值;
[0052] 步骤204,检测最小差异代价值和最大差异代价值之间的差值是否小于预设条 件;
[0化3]步骤205,若最小差异代价值和最大差异代价值之间的差值小于预设条件,则确定 当前变换单元不再继续划分。
[0化4] 综上所述,本实施例提供的变换单元划分方法,通过计算差异代价值的方式来决 策是否需要进行有关当 前变换单元的率失真代价的计算过程;解决了每次划分过程均需要 计算率失真代价的问题;达到了根据差异代价值的计算结果,选择性地提前终止有关当前 变换单元的率失真代价的计算过程,减少计算量并提高编码效率,从而满足一些实时性较 强的编码场景的需求。
[0055]请参考图3,其示出了本发明另一个实施例提供的变换单元划分方法的方法流程 图。本实施例W该方法应用于视频编码设备中来举例说明。该方法包括:
[0化6] 步骤301,将当前变换单元按照n*n像素大小划分为若干个子变换单元;
[0化7] n*n像素大小可W是4*4像素大小、8*8像素大小、16*16像素大小和32*32像素大 小。为了避免影响编码效率,本实施例中选用4*4像素大小来举例说明。
[0化引也即,将当前变换单元按照4*4像素大小划分为若干个子变换单元。若干个子变 换单元互不重叠,比如,8*8像素大小的当前变换单元可W划分为四个4*4像素大小的子变 换单元;16*16像素大小的当前变换单元可W划分为16个4*4像素大小的子变换单元。 [0化9] 步骤302,分别计算每个子变换单元的差异代价值;
[0060] 差异代价值用于表示残差代价。
[006U 差异评价值可W是HAD化adamard油solutedifference,哈达马变换的差异和)、 SAD(SumofAbsoluteDifference,绝对误差和)、SATD(SumofAbsoluteTransformed Difference,经过变换的绝对误差和)、MSE(MeanSquareterror,均方差)中的任意一种。 差异评价值的计算量是率失真代价的计算量的1/6~1/4。
[0062] 每个子变换单元采用的差异代价值是相同类型的差异代价值,本实施例中W差异 代价值是SAD来举例说明。
[0063] 设4*4像素大小的子变换单元是T。。
[0064] 计算所有T。的残差像素的SAD,并标记为SAD。,SAD。的计算公式为:
[00化]
[0066] 其中,resi[*]为当前子变换单元T。的残差像素集;i、j为当前像素在n*n像素大 小的子变换单元中的位置,满足条件0《i,j<n-1,且i,j都为整数。
[0067] 步骤303,查找出各个差异代价值中的最小差异代价值和最大差异代价值;
[0068] 在计算得到的各个SAD中,查找出最小SAD和最大SAD。
[0069] 步骤304,检测最小差异代价值和最大差异代价值之间的差值是否小于预设条 件;
[0070] 本步骤可W采用如下S种实现方式中的任意一种:
[0071] 第一种,检测最小差异代价值是否小于最大差异代价值的预设倍数;若小于,则进 入步骤305;若不小于,则进入步骤306;
[0072] 第二种,检测最小差异代价值的预设倍数是否小于最大差异代价值;若小于,则进 入步骤305;若不小于,则进入步骤306;
[0073] 第=,检测最小差异代价值和最大差异代价值之间的差值是否小于预设阔值;若 小于,则进入步骤305;若不小于,则进入步骤306。
[0074] W第一种方式举例来讲,视频编码设备检测最小SAD是否小于最大SAD的预定倍 数a。优选地,该预定倍数a是0. 125。a的取值范围为(0, 1)。
[0075] 若最小SAD小于(a*最大SAD),则进入步骤305 ;若最小SAD不小于(a*最大 SAD),则进入步骤306 ;
[0076] 步骤305,确定当前变换单元不再继续划分。
[0077] 在最小SAD小于(a*最大SAD)时,确定当前变换单元不再继续分裂为4个子变 换单元。提前终止了有关当前变换单元的率失真代价计算过程。
[007引步骤306,计算当前变换单元的率失真代价;
[0079] 在最小SAD不小于(a*最大SAD)时,计算当前变换单元的率失真代价J。
[0080] 率失真代价,是率失真优化(Rate-distortionoptimization,简称畑0)代价的 简称。率失真代价的计算过程为已有技术,本文不再寶述。
[0081] 步骤307,试探将当前变换单元划分为四个子变换单元;
[0082] 试探将当前变换单元划分为四个相同大小且互不重叠的子变换单元,也即四叉树 划分方式。
[0083] 比如,8*8像素大小的当前变换单元可W划分为四个4*4像素大小的子变换单元; 16*16像素大小的当前变换单元可W划分为4个8*8像素大小的子变换单元。
[0084] 步骤308,分别计算四个子变换单元各自的率失真代价;
[0085] 设每个子变换单元的率失真代价为Ji,i= 0、1、2和3。
[0086] 步骤309,计算四个子变换单元的率失真代价之和;
[0087] 设率失真代价之和为
[008引
[0089] 步骤310,检测当前变换单元的率失真代价是否小于率失真代价之和;
[0090] 若J小于率失真代价之和则进入步骤305;若J不小于率失真代价则 进入步骤311。
[0091] 步骤311,确定将当前变换单元划分为四个子变换单元,将四个子变换单元依次作 为当前变换单元。
[0092] 步骤312,检测当前变换单元的划分深度是否达到预设深度;
[0093] 若已达到预设深度,则进入步骤305;若未达到预设深度,则进入步骤301。
[0094] 综上所述,本实施例提供的变换单元划分方法,通过计算差异代价值的方式来决 策是否需要进行有关当前变换单元的率失真代价的计算过程;解决了每次划分过程均需要 计算率失真代价的问题;达到了根据差异代价值的计算结果,选择性地提前终止有关当前 变换单元的率失真代价的计算过程,减少计算量并提高编码效率,从而满足一些实时性较 强的编码场景的需求。
[0095] 本实施例提供的变换单元划分方法,充分利用了空域像素间的相关性,提前跳过 可能性较小的TU划分方式的率失真代价计算,,同时又保证了编码效率损失在可接受的范 围内。在肥VC参考软件上的实验表明,对肥VC标准测试序列采用本实施例提供的变换单 元划分方法可使编码时间平均节省10. 5%左右,编码效率损失控制在0.4%W内。
[0096]W下为本发明的装置实施例,装置实施例中未详细描述的内容,可W参考对应的 方法实施例。
[0097] 请参考图4,示出了本发明一个实施例提供的变换单元划分装置的结构方框图。该 变换单元划分装置可W通过硬件、软件或者两者的结合实现成为视频编码设备的一部分。 该装置包括:
[009引第一划分模块410,用于将当前变换单元按照n*n像素大小划分为若干个子变换 单元;
[0099] 差异计算模块420,用于分别计算每个子变换单元的差异代价值;
[0100] 差异查找模块430,用于查找出各个差异代价值中的最小差异代价值和最大差异 代价值;
[0101] 差异检测模块440,用于检测所述最小差异代价值和所述最大差异代价值之间的 差值是否小于预设条件;
[0102] 划分决策模块450,用于若所述最小差异代价值和所述最大差异代价值之间的差 值小于所述预设条件,则确定所述当前变换单元不再继续划分。
[0103] 综上所述,本实施例的变换单元划分装置,通过计算差异代价值的方式来决策是 否需要进行有关当前变换单元的率失真代价的计算过程;解决了每次划分过程均需要计算 率失真代价的问题;达到了根据差异代价值的计算结果,选择性地提前终止有关当前变换 单元的率失真代价的计算过程,减少计算量并提高编码效率,从而满足一些实时性较强的 编码场景的需求。
[0104] 请参考图5,示出了本发明一个实施例提供的变换单元划分装置的结构方框图。该 变换单元划分装置可W通过硬件、软件或者两者的结合实现成为视频编码设备的一部分。 该装置包括:
[01化]第一划分模块410,用于将当前变换单元按照n*n像素大小划分为若干个子变换 单元;
[0106] 差异计算模块420,用于分别计算每个子变换单元的差异代价值;
[0107] 差异查找模块430,用于查找出各个差异代价值中的最小差异代价值和最大差异 代价值;
[0108] 差异检测模块440,用于检测所述最小差异代价值和所述最大差异代价值之间的 差值是否小于预设条件;
[0109] 划分决策模块450,用于若若所述最小差异代价值和所述最大差异代价值之间的 差值小于所述预设条件,则确 定所述当前变换单元不再继续划分。
[0110] 可选地,所述装置,还包括:
[0111] 第一计算模块461,用于若所述最小差异代价值和所述最大差异代价值之间的差 值不小于所述预设条件,则计算所述当前变换单元的率失真代价;
[0112] 第二划分模块462,用于试探将所述当前变换单元划分为四个子变换单元;
[0113] 第二计算模块463,用于分别计算所述四个子变换单元各自的率失真代价;
[0114] 第=计算模块464,用于计算所述四个子变换单元的率失真代价之和;
[0115] 代价检测模块465,用于检测所述当前变换单元的率失真代价是否小于所述率失 真代价之和;
[0116] 所述划分决策模块450,还用于若所述当前变换单元的率失真代价小于所述率失 真代价之和,则确定所述当前变换单元不再继续划分。
[0117] 可选地,所述装置,还包括:
[0118] 划分确定模块470,用于若不小于所述率失真代价之和,则确定将所述当前变换单 元划分为所述四个子变换单元;
[0119] 所述第一划分模块410,还用于将所述四个子变换单元依次作为所述当前变换单 元,再次执行所述将当前变换单元按照n*n像素大小划分为若干个子变换单元的步骤。
[0120] 可选地,所述装置,还包括:
[0121] 深度检测模块480,用于检测所述当前变换单元的划分深度是否达到预设深度;
[0122] 所述划分决策模块450,用于若已达到所述预设深度,则确定所述当前变换单元不 再继续划分;
[0123] 所述划分确定模块470,用于若未达到所述预设深度,则执行所述确定将所述当前 变换单元划分为所述四个子变换单元的步骤。
[0124] 可选地,所述差异代价值为哈达马变换的差异和HAD、绝对误差和SAD、经过变换 的绝对误差和SATD和均方差MSE中的任意一种。
[01巧]综上所述,本实施例的变换单元划分装置,通过计算差异代价值的方式来决策是 否需要进行有关当前变换单元的率失真代价的计算过程;解决了每次划分过程均需要计算 率失真代价的问题;达到了根据差异代价值的计算结果,选择性地提前终止有关当前变换 单元的率失真代价的计算过程,减少计算量并提高编码效率,从而满足一些实时性较强的 编码场景的需求。
[0126] 需要说明的是:上述实施例提供的变换单元划分装置在选择变换单元的划分方式 时,仅W上述各功能模块的划分进行举例说明,实际应用中,可W根据需要而将上述功能分 配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,W完成W上描述 的全部或者部分功能。另外,上述实施例提供的变换单元划分装置与变换单元划分方法实 施例属于同一构思,其具体实现过程详见方法实施例,该里不再寶述。
[0127]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0128] 本领域普通技术人员可W理解实现上述实施例的全部或部分步骤可W通过硬件 来完成,也可W通过程序来指令相关的硬件完成,所述的程序可W存储于一种计算机可读 存储介质中,上述提到的存储介质可W是只读存储器,磁盘或光盘等。
[0129]W上所述仅为本发明的较佳实施例,并不用W限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种变换单元划分方法,其特征在于,所述方法包括: 将当前变换单元按照n*n像素大小划分为若干个子变换单元; 分别计算每个子变换单元的差异代价值; 查找出各个差异代价值中的最小差异代价值和最大差异代价值; 检测所述最小差异代价值和所述最大差异代价值之间的差值是否小于预设条件; 若所述最小差异代价值和所述最大差异代价值之间的差值小于所述预设条件,则确定 所述当前变换单元不再继续划分。2. 根据权利要求1所述的方法,其特征在于,所述检测所述最小差异代价值是否小于 所述最大差异代价值的预定倍数之后,还包括: 若所述最小差异代价值和所述最大差异代价值之间的差值不小于所述预设条件,则计 算所述当前变换单元的率失真代价; 试探将所述当前变换单元划分为四个子变换单元; 分别计算所述四个子变换单元各自的率失真代价; 计算所述四个子变换单元的率失真代价之和; 检测所述当前变换单元的率失真代价是否小于所述率失真代价之和; 若小于所述率失真代价之和,则确定所述当前变换单元不再继续划分。3. 根据权利要求2所述的方法,其特征在于,所述检测所述当前变换单元的率失真代 价是否小于所述率失真代价之和之后,还包括: 若不小于所述率失真代价之和,则确定将所述当前变换单元划分为所述四个子变换单 元; 将所述四个子变换单元依次作为所述当前变换单元,再次执行所述将当前变换单元按 照n*n像素大小划分为若干个子变换单元的步骤。4. 根据权利要求3所述的方法,其特征在于,再次执行所述将当前变换单元按照n*n像 素大小划分为若干个子变换单元之前,还包括: 检测所述当前变换单元的划分深度是否达到预设深度; 若已达到所述预设深度,则确定所述当前变换单元不再继续划分; 若未达到所述预设深度,则将所述当前变换单元按照n*n像素大小划分为若干个子变 换单元。5. 根据权利要求1至4任一所述的方法,其特征在于, 所述差异代价值为哈达马变换的差异和HAD、绝对误差和SAD、经过变换的绝对误差和SATD和均方差MSE中的任意一种。6. -种变换单元划分装置,其特征在于,所述装置包括: 第一划分模块,用于将当前变换单元按照n*n像素大小划分为若干个子变换单元; 差异计算模块,用于分别计算每个子变换单元的差异代价值; 差异查找模块,用于查找出各个差异代价值中的最小差异代价值和最大差异代价值; 差异检测模块,用于检测所述最小差异代价值和所述最大差异代价值之间的差值是否 小于预设条件; 划分决策模块,用于若所述最小差异代价值和所述最大差异代价值之间的差值小于预 设条件,则确定所述当前变换单元不再继续划分。7. 根据权利要求6所述的装置,其特征在于,所述装置,还包括: 第一计算模块,用于若所述最小差异代价值和所述最大差异代价值之间的差值不小于 所述预设条件,则计算所述当前变换单元的率失真代价; 第二划分模块,用于试探将所述当前变换单元划分为四个子变换单元; 第二计算模块,用于分别计算所述四个子变换单元各自的率失真代价; 第三计算模块,用于计算所述四个子变换单元的率失真代价之和; 代价检测模块,用于检测所述当前变换单元的率失真代价是否小于所述率失真代价之 和; 所述划分决策模块,还用于若所述当前变换单元的率失真代价小于所述率失真代价之 和,则确定所述当前变换单元不再继续划分。8. 根据权利要求7所述的装置,其特征在于,所述装置,还包括: 划分确定模块,用于若不小于所述率失真代价之和,则确定将所述当前变换单元划分 为所述四个子变换单元; 所述第一划分模块,还用于将所述四个子变换单元依次作为所述当前变换单元,再次 执行所述将当前变换单元按照n*n像素大小划分为若干个子变换单元的步骤。9. 根据权利要求8所述的装置,其特征在于,所述装置,还包括: 深度检测模块,用于检测所述当前变换单元的划分深度是否达到预设深度; 所述划分决策模块,用于若已达到所述预设深度,则确定所述当前变换单元不再继续 划分; 所述第一划分模块,用于若未达到所述预设深度,则将所述当前变换单元按照n*n像 素大小划分为若干个子变换单元。10. 根据权利要求6至9任一所述的装置,其特征在于, 所述差异代价值为哈达马变换的差异和HAD、绝对误差和SAD、经过变换的绝对误差和SATD和均方差MSE中的任意一种。
【专利摘要】本发明公开了一种变换单元划分方法及装置,属于视频编码领域。所述方法包括:将当前变换单元按照n*n像素大小划分为若干个子变换单元;分别计算每个子变换单元的差异代价值;查找出各个差异代价值中的最小差异代价值和最大差异代价值;检测所述最小差异代价值和所述最大差异代价值之间的差值是否小于预设条件;若所述最小差异代价值和所述最大差异代价值之间的差值小于预设条件,则确定所述当前变换单元不再继续划分。由于差异评价值的计算量是率失真代价的计算量的1/6~1/4,本发明达到了有效减少计算量,提高了编码效率的效果。
【IPC分类】H04N19/122, H04N19/147
【公开号】CN104902276
【申请号】CN201510249688
【发明人】周俊明, 简伟华, 侯慧慧
【申请人】腾讯科技(北京)有限公司
【公开日】2015年9月9日
【申请日】2015年5月15日

最新回复(0)