控制用于解码或编码视频序列的残差编码的方法和装置

文档序号:1524344 发布日期:2020-02-11 浏览:23次 >En<

阅读说明:本技术 控制用于解码或编码视频序列的残差编码的方法和装置 (Method and apparatus for controlling residual coding for decoding or encoding a video sequence ) 是由 赵欣 李翔 刘杉 于 2019-07-26 设计创作,主要内容包括:一种控制残差编码的方法,所述残差编码用于解码或编码视频序列,包括根据视频序列的分辨率确定是否将主变换的小变换尺寸用于所述视频序列的编码块的残差编码;如果视频序列的分辨率低于预设阈值,确定使用所述主变换的小变换尺寸,并将第一变换集识别为所述主变换,所述第一变换集包括离散正弦变换(DST)-4和离散余弦变换(DCT)-4;如果视频序列的分辨率不低于预设阈值,确定不使用所述主变换的小变换尺寸,并将第二变换集识别为所述主变换,所述第二变换集包括DST-7和DCT-8;使用所述识别的主变换执行所述编码块的残差编码。(A method of controlling residual coding for decoding or encoding a video sequence, comprising determining whether to use a small transform size of a primary transform for residual coding of a coding block of the video sequence according to a resolution of the video sequence; determining a small transform size using the primary transform if the resolution of the video sequence is below a preset threshold, and identifying a first set of transforms as the primary transform, the first set of transforms comprising a Discrete Sine Transform (DST) -4 and a Discrete Cosine Transform (DCT) -4; if the resolution of the video sequence is not lower than a preset threshold, determining a small transform size not using the primary transform and identifying a second set of transforms as the primary transform, the second set of transforms comprising DST-7 and DCT-8; performing residual coding of the coding block using the identified primary transform.)

控制用于解码或编码视频序列的残差编码的方法和装置

相关申请的交叉引用

本申请要求于2018年7月31日提交美国专利商标局的、申请号为62/712,818、发明名称为“复合正交变换”的美国临时申请,以及于2019年4月11日提交的、申请号为16/381,470、发明名称为"用于改进的复合正交变换的方法和装置"的美国申请的优先权,其全部内容通过引用并入本申请中。

技术领域

本申请涉及视频编码技术,尤其涉及一种控制用于解码或编码视频序列的残差编码的方法、装置、非易失性计算机可读存储介质和计算机设备。

背景技术

在高效视频编码(HEVC)中,核心变换为4点、8点、16点及32点离散余弦变换(DCT)-2。较小的DCT-2的变换核心矩阵为较大的DCT-2的一部分,如下所示。

4x4变换

{64,64,64,64}

{83,36,-36,-83}

{64,-64,-64,64}

{36,-83,83,-36}

8x8变换

{64,64,64,64,64,64,64,64}

{89,75,50,18,-18,-50,-75,-89}

{83,36,-36,-83,-83,-36,36,83}

{75,-18,-89,-50,50,89,18,-75}

{64,-64,-64,64,64,-64,-64,64}

{50,-89,18,75,-75,-18,89,-50}

{36,-83,83,-36,-36,83,-83,36}

{18,-50,75,-89,89,-75,50,-18}

16x16变换

{64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64}

{90 87 80 70 57 43 25 9 -9-25-43-57-70-80-87-90}

{89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89}

{87 57 9-43-80-90-70-25 25 70 90 80 43 -9-57-87}

{83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83}

{80 9-70-87-25 57 90 43-43-90-57 25 87 70 -9-80}

{75-18-89-50 50 89 18-75-75 18 89 50-50-89-18 75}

{70-43-87 9 90 25-80-57 57 80-25-90 -9 87 43-70}

{64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64}

{57-80-25 90 -9-87 43 70-70-43 87 9-90 25 80-57}

{50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50}

{43-90 57 25-87 70 9-80 80 -9-70 87-25-57 90-43}

{36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36}

{25-70 90-80 43 9-57 87-87 57 -9-43 80-90 70-25}

{18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18}

{9-25 43-57 70-80 87-90 90-87 80-70 57-43 25 -9}

32x32变换

{64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 6464 64 64 64 64 64 64 64 64}

{90 90 88 85 82 78 73 67 61 54 46 38 31 22 13 4 -4-13-22-31-38-46-54-61-67-73-78-82-85-88-90-90}

{90 87 80 70 57 43 25 9 -9-25-43-57-70-80-87-90-90-87-80-70-57-43-25-9 9 25 43 57 70 80 87 90}

{90 82 67 46 22 -4-31-54-73-85-90-88-78-61-38-13 13 38 61 78 88 90 8573 54 31 4-22-46-67-82-90}

{89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89 89 75 50 18-18-50-75-89-89-75-50-18 18 50 75 89}

{88 67 31-13-54-82-90-78-46 -4 38 73 90 85 61 22-22-61-85-90-73-38 446 78 90 82 54 13-31-67-88}

{87 57 9-43-80-90-70-25 25 70 90 80 43 -9-57-87-87-57 -9 43 80 90 7025-25-70-90-80-43 9 57 87}

{85 46-13-67-90-73-22 38 82 88 54 -4-61-90-78-31 31 78 90 61 4-54-88-82-38 22 73 90 67 13-46-85}

{83 36-36-83-83-36 36 83 83 36-36-83-83-36 36 83 83 36-36-83-83-36 3683 83 36-36-83-83-36 36 83}

{82 22-54-90-61 13 78 85 31-46-90-67 4 73 88 38-38-88-73 -4 67 90 46-31-85-78-13 61 90 54-22-82}

{80 9-70-87-25 57 90 43-43-90-57 25 87 70 -9-80-80 -9 70 87 25-57-90-43 43 90 57-25-87-70 9 80}

{78 -4-82-73 13 85 67-22-88-61 31 90 54-38-90-46 46 90 38-54-90-31 6188 22-67-85-13 73 82 4-78}

{75-18-89-50 50 89 18-75-75 18 89 50-50-89-18 75 75-18-89-50 50 8918-75-75 18 89 50-50-89-18 75}

{73-31-90-22 78 67-38-90-13 82 61-46-88 -4 85 54-54-85 4 88 46-61-8213 90 38-67-78 22 90 31-73}

{70-43-87 9 90 25-80-57 57 80-25-90 -9 87 43-70-70 43 87 -9-90-25 8057-57-80 25 90 9-87-43 70}

{67-54-78 38 85-22-90 4 90 13-88-31 82 46-73-61 61 73-46-82 31 88-13-90 -4 90 22-85-38 78 54-67}

{64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-64 64 64-64-6464 64-64-64 64 64-64-64 64}

{61-73-46 82 31-88-13 90 -4-90 22 85-38-78 54 67-67-54 78 38-85-22 904-90 13 88-31-82 46 73-61}

{57-80-25 90 -9-87 43 70-70-43 87 9-90 25 80-57-57 80 25-90 9 87-43-70 70 43-87 -9 90-25-80 57}

{54-85 -4 88-46-61 82 13-90 38 67-78-22 90-31-73 73 31-90 22 78-67-3890-13-82 61 46-88 4 85-54}

{50-89 18 75-75-18 89-50-50 89-18-75 75 18-89 50 50-89 18 75-75-1889-50-50 89-18-75 75 18-89 50}

{46-90 38 54-90 31 61-88 22 67-85 13 73-82 4 78-78 -4 82-73-13 85-67-22 88-61-31 90-54-38 90-46}

{43-90 57 25-87 70 9-80 80 -9-70 87-25-57 90-43-43 90-57-25 87-70 -980-80 9 70-87 25 57-90 43}

{38-88 73 -4-67 90-46-31 85-78 13 61-90 54 22-82 82-22-54 90-61-1378-85 31 46-90 67 4-73 88-38}

{36-83 83-36-36 83-83 36 36-83 83-36-36 83-83 36 36-83 83-36-36 83-8336 36-83 83-36-36 83-83 36}

{31-78 90-61 4 54-88 82-38-22 73-90 67-13-46 85-85 46 13-67 90-73 2238-82 88-54 -4 61-90 78-31}

{25-70 90-80 43 9-57 87-87 57 -9-43 80-90 70-25-25 70-90 80-43 -9 57-87 87-57 9 43-80 90-70 25}

{22-61 85-90 73-38 -4 46-78 90-82 54-13-31 67-88 88-67 31 13-54 82-9078-46 4 38-73 90-85 61-22}

{18-50 75-89 89-75 50-18-18 50-75 89-89 75-50 18 18-50 75-89 89-7550-18-18 50-75 89-89 75-50 18}

{13-38 61-78 88-90 85-73 54-31 4 22-46 67-82 90-90 82-67 46-22 -4 31-54 73-85 90-88 78-61 38-13}

{9-25 43-57 70-80 87-90 90-87 80-70 57-43 25 -9 -9 25-43 57-70 80-8790-90 87-80 70-57 43-25 9}

{4-13 22-31 38-46 54-61 67-73 78-82 85-88 90-90 90-90 88-85 82-78 73-67 61-54 46-38 31-22 13 -4}

DCT-2核心显示出对称/反对称特性,如下所列:

-特征#1:具有索引0、2、4……的偶数行与系数号N/2之前的对称点对称。

-特征#2:具有索引1、3、5、7……的奇数行与系数号N/2之前的对称点对称。

另外,N点DCT-2核心(表示为TN)为2N点DCT-2(表示为T2N)的一部分:

-特征#3:TNx,y=T2Nx,2y,其中x,y=0,1,…,N-1。

基于上面的对称/反对称特性(特征#1和特征#2)以及N点DCT-2与2N点DCT-2(特征#3)之间的关系,支持所谓的“部分蝶形”实施方式,以减少操作计算(乘,加/减,移位)的数量,且可使用部分蝶形获得矩阵乘法的相同结果。

假如每个变换基是对称的或反对称的、且N点变换为2N点变换的一部分,则将其称为“递归变换”。递归变换的实施例包括DCT-2、阿达玛变换(Hadamard transform)、DCT-1、离散正弦变换(DST)-1和DST-2。对一个递归变换的变换基进行重排序产生另一递归变换。

除了已用于HEVC的DCT-2和4x4 DST-7,还提出将自适应多重变换(AMT),或称为增强多重变换(EMT)或多重变换选择(MTS),用于帧间及帧内编码块的残差变换。除HEVC中的当前变换外,AMT还使用多个从DCT/DST系选择的变换。新引入的变换矩阵为DST-7、DCT-8、DST-1和DCT-5。表1示出了选择的DST/DCT的基函数:

表1:用于N点输入的DCT-2/4/5/8和DST-1/4/7的变换基函数

Figure BDA0002145061040000031

为了保持变换矩阵的正交性,用10位表示、而不是HEVC中的8位表示把变换矩阵量化得比HEVC中的变换矩阵更精确。为了使变换系数的中间值保持在16位范围内,水平变换后及垂直变换后,相较于用于当前HEVC变换的右移,所有系数右移2位。

AMT应用于宽度及高度均小于或等于64的编码单元(CUs),AMT是否应用受控于CU级别标志。当该CU级别标志等于0时,DCT-2应用于CU,以对残差进行编码。对于启用AMT的CU内的亮度编码块,用信号表示2个附加标志,以识别要使用的水平及垂直变换。

对于帧内残差编码,因为不同的帧内预测模式的残差统计数据不同,所以使用模式依赖的变换候选选择过程。如表2所示定义了3个变换子集,且基于帧内预测模式选择一个变换子集,如表3所指定的。

表2:3个预定义的变换候选集

Figure BDA0002145061040000041

表3:选择的用于每个帧内预测模式的水平(H)及垂直(V)变换集

Figure BDA0002145061040000042

利用子集概念,首先基于表3、使用CU级别AMT标志等于1的CU的帧内预测模式来识别一个变换子集。之后,对于水平及垂直变换中的每一个,根据表2,基于显式信号标志,选择识别的变换子集中2个变换候选之一。

然而,对于帧间预测残差,仅一个由DST-7及DCT-8构成的变换集用于所有的帧间模式,且用于水平及垂直变换。

在4种附加变换类型,即DST-7、DCT-8、DST-1和DCT-5中,最有效使用的变换类型为DST-7和DCT-8。注意,DCT-8本质上是利用符号变换使DST-7基左右翻转,因此DCT-8和DST-7基本上共用相同的变换基。

DST-7的变换核心是由基矢量构成的矩阵,还可表示如下:

4点DST-7:

a,b,c,d

c,c,0,-c

d,-a,-c,b

b,-d,c,-a

8点DST-7:

a,b,c,d,e,f,g,h

c,f,h,e,b,-a,-d,-g

e,g,b,-c,-h,-d,a,f

g,c,-d,-f,a,h,b,-e

h,-a,-g,b,f,-c,-e,d

f,-e,-a,g,-d,-b,h,-c

d,-h,e,-a,-c,g,-f,b

b,-d,f,-h,g,-e,c,-a

16点DST-7

a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p

c,f,i,l,o,o,l,i,f,c,0,-c,-f,-i,-l,-o

e,j,o,m,h,c,-b,-g,-l,-p,-k,-f,-a,d,i,n

g,n,l,e,-b,-i,-p,-j,-c,d,k,o,h,a,-f,-m

i,o,f,-c,-1,-l,-c,f,o,i,0,-i,-o,-f,c,1

k,k,0,-k,-k,0,k,k,0,-k,-k,0,k,k,0,-k

m,g,-f,-n,-a,l,h,-e,-o,-b,k,i,-d,-p,-c,j

o,c,-l,-f,i,i,-f,-l,c,o,0,-o,-c,l,f,-i

p,-a,-o,b,n,-c,-m,d,l,-e,-k,f,j,-g,-i,h

n,-e,-i,j,d,-o,a,m,-f,-h,k,c,-p,b,l,-g

l,-i,-c,o,-f,-f,o,-c,-i,l,0,-1,i,c,-o,f

j,-m,c,g,-p,f,d,-n,i,a,-k,l,-b,-h,o,-e

h,-p,i,-a,-g,o,-j,b,f,-n,k,-c,-e,m,-l,d

f,-l,o,-i,c,c,-i,o,-l,f,0,-f,l,-o,i,-c

d,-h,l,-p,m,-i,e,-a,-c,g,-k,o,-n,j,-f,b

b,-d,f,-h,j,-l,n,-p,o,-m,k,-i,g,-e,c,-a

32点DST-7

a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F

c,f,i,l,o,r,u,x,A,D,F,C,z,w,t,q,n,k,h,e,b,-a,-d,-g,-j,-m,-p,-s,-v,-y,-B,-E

e,j,o,t,y,D,D,y,t,o,j,e,0,-e,-j,-o,-t,-y,-D,-D,-y,-t,-o,-j,-e,0,e,j,o,t,y,D

g,n,u,B,D,w,p,i,b,-e,-1,-s,-z,-F,-y,-r,-k,-d,c,j,q,x,E,A,t,m,f,-a,-h,-o,-v,-c

i,r,A,c,t,k,b,-g,-p,-y,-E,-v,-m,-d,e,n,w,F,x,o,f,-c,-1,-u,-D,-z,-q,-h,a,j,s,B

k,v,F,u,j,-a,-l,-w,-E,-t,-i,b,m,x,D,s,h,-c,-n,-y,-c,-r,-g,d,o,z,B,q,f,-e,-p,-A

m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z

o,D,t,e,-j,-y,-y,-j,e,t,D,o,0,-o,-D,-t,-e,j,y,y,j,-e,-t,-D,-o,0,o,D,t,e,-j,-y

q,E,n,-c,-t,-B,-k,f,w,y,h,-i,-z,-v,-e,1,c,s,b,-o,-F,-p,a,r,D,m,-d,-u,-A,-j,g,x

s,A,h,-k,-D,-p,c,v,x,e,-n,-F,-m,f,y,u,b,-q,-c,-j,i,B,r,-a,-t,-z,-g,1,E,o,-d,-w

u,w,b,-s,-y,-d,q,A,f,-o,-c,-h,m,E,j,-k,-F,-1,i,D,n,-g,-B,-p,e,z,r,-c,-x,-t,a,v

w,s,-d,-A,-o,h,E,k,-1,-D,-g,p,z,c,-t,-v,a,x,r,-e,-B,-n,i,F,j,-m,-c,-f,q,y,b,-u

y,o,-j,-D,-e,t,t,-e,-D,-j,o,y,0,-y,-o,j,D,e,-t,-t,e,D,j,-o,-y,0,y,o,-j,-D,-e,t

A,k,-p,-v,e,F,f,-u,-q,j,B,a,-z,-l,o,w,-d,-E,-g,t,r,-i,-C,-b,y,m,-n,-x,c,D,h,-s

c,g,-v,-n,o,u,-h,-B,a,D,f,-w,-m,p,t,-i,-A,b,E,e,-x,-l,q,s,-j,-z,c,F,d,-y,-k,r

E,c,-B,-f,y,i,-v,-l,s,o,-p,-r,m,u,-j,-x,g,A,-d,-D,a,F,b,-c,-e,z,h,-w,-k,t,n,-q

F,-a,-E,b,D,-c,-C,d,B,-e,-A,f,z,-g,-y,h,x,-i,-w,j,v,-k,-u,l,t,-m,-s,n,r,-o,-q,p

D,-e,-y,j,t,-o,-o,t,j,-y,-e,D,0,-D,e,y,-j,-t,o,o,-t,-j,y,e,-D,0,D,-e,-y,j,t,-o

B,-i,-s,r,j,-A,-a,C,-h,-t,q,k,-z,-b,D,-g,-u,p,l,-y,-c,E,-f,-v,o,m,-x,-d,F,-e,-w,n

z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m

x,-q,-g,E,-j,-n,A,-c,-u,t,d,-B,m,k,-D,f,r,-w,-a,y,-p,-h,F,-i,-o,z,-b,-v,s,e,-C,1

v,-u,-a,w,-t,-b,x,-s,-c,y,-r,-d,z,-q,-e,A,-p,-f,B,-o,-g,C,-n,-h,D,-m,-i,E,-l,-j,F,-k

t,-y,e,o,-D,j,j,-D,o,e,-y,t,0,-t,y,-e,-o,D,-j,-j,D,-o,-e,y,-t,0,t,-y,e,o,-D,j

r,-C,k,g,-y,v,-d,-n,F,-o,-c,u,-z,h,j,-B,s,-a,-q,D,-l,-f,x,-w,e,m,-E,p,b,-t,A,-i

p,-F,q,-a,-o,E,-r,b,n,-D,s,-c,-m,C,-t,d,l,-B,u,-e,-k,A,-v,f,j,-z,w,-g,-i,y,-x,h

n,-B,w,-i,-e,s,-F,r,-d,-j,x,-A,m,a,-o,C,-v,h,f,-t,E,-q,c,k,-y,z,-l,-b,p,-D,u,-g

l,-x,C,-q,e,g,-s,E,-v,j,b,-n,z,-A,o,-c,-i,u,-F,t,-h,-d,p,-B,y,-m,a,k,-w,D,-r,f

j,-t,D,-y,o,-e,-e,o,-y,D,-t,j,0,-j,t,-D,y,-o,e,e,-o,y,-D,t,-j,0,j,-t,D,-y,o,-e

h,-p,x,-F,y,-q,i,-a,-g,o,-w,E,-z,r,-j,b,f,-n,v,-D,A,-s,k,-c,-e,m,-u,C,-B,t,-1,d

f,-1,r,-x,D,-C,w,-q,k,-e,-a,g,-m,s,-y,E,-B,v,-p,j,-d,-b,h,-n,t,-z,F,-A,u,-o,i,-c

d,-h,1,-p,t,-x,B,-F,c,-y,u,-q,m,-i,e,-a,-c,g,-k,o,-s,w,-A,E,-D,z,-v,r,-n,j,-f,b

b,-d,f,h,j,-l,n,p,r,-t,v,-x,z,-B,D,-F,E,-C,A,-y,w,-u,s,-q,o,-m,k,-i,g,-e,c,-a

可基于表1所示的DST-7的公式导出变量a、b、c、......、aa、ab、ac、......、cl,它们的值对于不同大小的DST-7可以是不同的。例如,对于4点及8点DST-7,“a”的值可以不同。

为了避免浮点运算,类似于HEVC中使用的DCT-2核心,DST-7的变换核心可由例如

Figure BDA0002145061040000051

Figure BDA0002145061040000052

的预定义因子进行缩放,且被取整为最接近的整数,或进一步由例如+1/-1的偏移调整。

不同于快速方法已被广泛研究的DCT-2,DST-7的实施方式仍比比DCT-2低效得多,例如矩阵乘法。

在一些视频编码标准中,已提出了从2N点DCT-2基提取N点DCT-4/DST-4基的方法,且DST-7/DCT-8分别由DST-4/DCT-4代替。以此方式,AMT中所用的变换基没有额外的存储空间,因此在存储AMT中使用的附加变换基的存储成本方面,减少了AMT的复杂度。

然而,实验显示,DST-7/DCT-8比DST-4/DCT-4显示出了更优的编码性能。为了保留DST-7/DCT-8,在减少用于存储AMT中使用的附加变换基的存储成本的同时,在一些视频编码标准中,已提出将N点DST-7/DCT-8嵌入2N点DCT-2的方法。

已提出了模式依赖的不可分离二次变换(NSST),所述NSST应用于前向核心变换与量化(在编码器上)之间、且应用于去量化与逆核心变换(在解码器上)之间。为了保持低复杂度,NSST仅在主变换后应用于低频系数。假如变换系数块的宽度(W)及高度(H)均大于或等于8,那么将8x8不可分离二次变换应用于变换系数块的左上方8x8区域。否则,假如变换系数块的W或H等于4,应用4x4不可分离二次变换,且对变换系数块的左上方min(8,W)×min(8,H)区域执行4x4不可分离二次变换。上面的变换选择规则应用于亮度及色度分量。

采用4x4输入块作为实施例,下面描述不可分离变换的矩阵乘法的实施方式。为了应用不可分离变换,将方程(1)中的4x4输入块X表示为方程(2)中的矢量

Figure BDA0002145061040000061

Figure BDA0002145061040000062

Figure BDA0002145061040000063

将不可分离变换计算为

Figure BDA0002145061040000064

其中

Figure BDA0002145061040000065

指示变换系数矢量,T为16x16变换矩阵。随后,采用对块的扫描次序(水平、垂直或对角),将16x1变换系数矢量

Figure BDA0002145061040000066

重组为4x4块。在4×4系数块中,索引较小的系数将以较小的扫描索引放置。

总共有35x3个用于4x4及8x8块大小的不可分离二次变换,35为帧内预测模式指定的变换集的数目,表示为集合,3为用于每个帧内预测模式的NSST候选的数目。在下面的表4中定义了从帧内预测模式到变换集的映射。根据表4,应用于亮度/色度变换系数的变换集由对应的亮度/色度帧内预测模式指定。对于大于34(对角预测方向)的帧内预测模式,在编码器/解码器的二次变换前/后、对变换系数块进行转置。

表4:从帧内预测模式到变换集索引的映射

Figure DA00021450610449484

对于每个变换集,所选择的不可分离二次变换候选由明确用信号表示的NSST索引进一步指定。在使用变换系数及截断的一元二进制化后,每个帧内编码块在比特流中用信号通知一次索引。就平面或DC模式而言,截断值为2,对于角帧内预测模式,截断值为3。仅当CU中存在多于一个的非零系数时,才用信号通知此NSST。当不用信号通知时,缺省值为零。此语法元素的零值指示二次变换不应用于当前编码块,值1-3指示应该应用来自集合中的哪个二次变换。

在基准集(BMS)中,NSST不用于采用变换跳过模式进行编码的块。当用信号通知编码块的NSST索引、且NSST索引不等于零时,NSST不用于在CU中采用变换跳过模式进行编码的分量的块。当具有所有分量的块的编码块采用变换跳过模式进行编码或非变换跳过模式编码块(CBs)的非零系数的数目小于2时,不用信号通知编码块的NSST索引。

发明内容

本申请实施例提供了控制用于解码或编码视频序列的残差编码的方法和装置、计算机设备及存储介质,旨在减少用于存储变换基的存储空间,以降低存储成本。

根据本申请实施例,提供一种控制残差编码的方法,所述残差编码用于解码或编码视频序列,所述方法包括:

根据视频序列的分辨率确定是否将主变换的小变换尺寸用于所述视频序列的编码块的残差编码;

如果视频序列的分辨率低于预设阈值,确定使用所述主变换的小变换尺寸,并将第一变换集识别为所述主变换,所述第一变换集包括离散正弦变换(DST)-4和离散余弦变换(DCT)-4;

如果视频序列的分辨率不低于预设阈值,确定不使用所述主变换的小变换尺寸,并将第二变换集识别为所述主变换,所述第二变换集包括DST-7和DCT-8;

使用所述识别的主变换执行所述编码块的残差编码。

根据本申请实施例,提供一种控制残差编码的装置,所述残差编码用于解码或编码视频序列,所述装置包括:第一确定模块,用于根据视频序列的分辨率确定是否将主变换的小变换尺寸用于所述视频序列的编码块的残差编码;识别模块,用于,如果确定视频序列的分辨率低于预设阈值,使用所述主变换的小变换尺寸,并将第一变换集识别为所述主变换,所述第一变换集包括离散正弦变换(DST)-4和离散余弦变换(DCT)-4;如果视频序列的分辨率不低于预设阈值,确定不使用所述主变换的小变换尺寸,并将第二变换集识别为所述主变换,所述第二变换集包括DST-7和DCT-8;执行模块,用于使用识别的主变换执行编码块的残差编码。

根据本申请实施例,提供一种非易失性计算机可读存储介质,存储有指令,当所述指令被计算机执行时,使得所述计算机执行如上所述的控制残差编码的方法。

根据本申请实施例,提供一种计算机设备,所述设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现上述控制残差编码的方法。

在本申请实施例中,由于对于应用较小块尺寸编码的低分辨率序列,DST-4/DCT-4显示出类似于/优于DST-7/DCT-8的编码性能,且对于应用较大块尺寸编码的较大分辨率序列,DST-7/DCT-8显示出比DST-4/DCT-4更好的编码性能。因此仅DST-4/DCT-4基用在用于小变换尺寸的AMT,且仅DST-7/DCT-8基用在用于较大变换尺寸的AMT,可从一个单变换核矩阵提取不同大小及类型的所有主变换基,因此通过应用AMT不需要用于存储变换基的附加存储器,从而降低存储成本。

附图说明

图1A为64点DCT-2的第二、四、六、八基矢量和32点DCT-8的第一、二、三、四基矢量的示意图;

图1B为64点DCT-2的第二、四、六、八基矢量、以及缩放的32点DCT-8的第一、二、三、四基矢量和带相反符号的缩放的32点DCT-8的翻转的第一、二、三、四基矢量的示意图;

图2为根据实施例的通信系统的简化框图;

图3为根据实施例的在流式传输环境中视频编码器和视频解码器的放置的示意图;

图4为根据实施例的视频解码器的功能性框图;

图5为根据实施例的视频编码器的功能性框图;

图6为根据一个实施例的控制用于解码或编码视频序列的残差编码的方法的流程图;

图7为根据另一实施例的控制用于解码或编码视频序列的残差编码的方法的流程图;

图8为根据一实施例的控制用于解码或编码视频序列的残差编码的装置的简化框图;

图9为根据实施例的计算机系统的示意图。

具体实施方式

在一些视频编码标准中,提出了耦接的主变换和二次变换策略,该策略将主变换和二次变换间的信令进行耦接。即,AMT和NSST共用一种语法,且给定帧内预测模式的AMT的变换选择来决定NSST变换选择。因此,无需进一步用信号通知NSST。

观察到DCT-2中的部分奇数基(奇数基指的是与奇索引相关联的基矢量,第一基与索引0相关联)与缩放的DCT-8基非常类似。

在图1A中,示出了64点DCT-2的第二、四、六、八基矢量,如实曲线所示。另外,还示出了32点DCT-8的第一、二、三、四基矢量,其由常数

Figure BDA0002145061040000091

缩放,如虚曲线所示。根据图1A,64点DCT-2的第二、四、六、八基矢量的前半部分非常接近由

Figure BDA0002145061040000092

缩放的32点DCT-8的第一、二、三、四基矢量。

基于此观察,假如2N点DCT-2的前半部分奇数基用N点缩放的DCT-8基替换、且后半部分用翻转的DCT-8基加上相反的符号进行填充,那么产生的基非常接近2N点DCT-2的原始奇数基,如图1B所示。

具体地,图1B示出了64点DCT-2的第二、四、六、八基矢量(实曲线)、缩放的32点DCT-8的第一、二、三、四基矢量(虚曲线)、带相反符号的缩放的32点DCT-8的翻转的第一、二、三、四基矢量(点划曲线)。

因此,通过将N点DCT-8(或DST-7,因为DST-7基和DCT-8基相互对称)嵌入2N点DCT-2,可导出新的正交变换,即复合正交变换(COT)。因为DCT-2的对称/反对称特性,即上面的特征#1及特征#2,生成的变换仍为正交变换。

以此方式,通过将N点DCT-8/DST-7嵌入2N点DCT-2,在两方面减少了执行AMT的复杂度:

1、可共用执行用于DCT-2和DCT-8/DST-7的变换的逻辑。

2、可减少用于存储DCT-8及DST-7的片上存储器成本,因为它们是未选择AMT时应用的变换基的一部分。

图2是根据一个实施例的通信系统(200)的简化框图。通信系统(200)包括至少两个终端(210~220),这些终端通过网络(250)互联。为了数据的单向传输,第一终端(210)可以在本地位置对视频数据进行编码以便通过网络(250)传输到其他终端(220)。第二终端(220)可以从网络(250)接收到其他终端已编码的视频数据,对已编码数据进行解码以及展示恢复的视频数据。

图2示出了为编码视频的双向传输提供支持的第二对终端(230,240),所述双向传输可例如在视频会议期间发生。对于数据的双向传输,每一个终端(230,240)可对在本地获取的视频数据进行编码以便通过网络(250)向其他终端传输。每一个终端(230,240)也可以接收其他终端传输的编码视频数据,对编码数据进行解码以及在本地显示装置上显示恢复的视频数据。

在图2中,终端(210~240)可为服务器、个人计算机和智能电话,但实施例的原理不限于此。实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(250)表示在终端(210~240)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(250)可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络(250)的架构和拓扑对于实施例的操作来说可能是无关紧要的。

根据实施例,图3示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。

流式传输系统可包括采集子系统(313),所述采集子系统可包括数码相机等视频源(301),所述视频源创建未压缩的视频样本流(302)。相较于已编码的视频比特流,样本流(302)被描绘为一条粗线,以强调高数据量,样本流(302)可由耦接到相机(301)的编码器(303)处理。编码器(303)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于样本流,已编码的视频比特流(304)被描绘为一条细线以强调较低数据量,其可存储在流式传输服务器(305)上以供将来使用。一个或多个流式传输客户端(306,308)可访问流式传输服务器(305)以检索已编码的视频比特流(304)的副本(307,309)。客户端(306)可包括视频解码器(310),视频解码器(310)对已编码的视频比特流的传入副本进行解码,且产生可在显示器(312)或另一呈现装置(未描绘)上呈现的输出视频样本流(311)。在一些流式传输系统中,可根据某些视频编码/压缩标准对视频比特流(304,307,309)进行编码。该些标准的实施例包括ITU-T H.265。正在开发的视频编码标准非正式地称为VVC,本申请可用于VVC标准的上下文中。

图4是根据实施例的视频解码器(310)的功能性框图。

接收器(410)可接收将由解码器(310)解码的一个或多个解码译码器视频序列;在同一实施例或一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(412)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(410)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器(410)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(415)可耦接在接收器(410)与熵解码器/解析器(420)(此后称为“解析器”)之间。在某些应用中,缓冲存储器(415)是视频解码器(310)的一部分。当接收器(410)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不需要配置缓冲存储器(415),或可以将所述缓冲存储器做得较小。当然,为了在互联网等业务分组网络上使用,也可能需要缓冲存储器(415),所述缓冲器可相对较大且可具有自适应性大小。

视频解码器(310)可包括解析器(420)以根据熵编码视频序列重建符号(421)。这些符号的类别包括用于管理视频解码器(310)的操作的信息,以及用以控制显示装置例如显示器(312)的潜在信息,显示器不是解码器的组成部分,但可耦接到解码器,如图4中所示。用于显示装置的控制信息可以是辅助增强信息(SEI消息)或视频可用性信息(VUI)的参数集片段(未标示)。解析器(420)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员总所周知的原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等等。解析器(420)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group ofPictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。熵解码器/解析器还可从已编码视频序列提取信息,例如变换系数、量化器参数值(QP)、运动矢量等等。

解析器(420)可对从缓冲存储器(415)接收的视频序列执行熵解码/解析操作,以便创建符号(421)。解析器(420)可接收已编码的数据,并选择性对特定符号(421)进行解码。进一步地,解析器(420)可确定是否要将特定符号(421)提供给运动补偿预测单元(453)、缩放器/逆变换单元(451)、帧内预测单元(452)、或环路滤波器单元(454)。

取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(421)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(420)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(420)与下文的多个单元之间的此类子群控制信息流。

除已经提及的功能块以外,视频解码器(310)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。

第一单元是缩放器/逆变换单元(451)。缩放器/逆变换单元(451)从解析器(420)接收作为符号(421)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(451)可输出包括样本值的块,所述样本值可输入到聚合器(455)中。

在一些情况下,缩放器/逆变换单元(451)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内预测单元(452)提供。在一些情况下,帧内预测单元(452)采用从当前(部分重建的)图片(456)提取的已重建信息生成大小和形状与正在重建的块相同的周围块。在一些情况下,聚合器(455)基于每个样本,将帧内预测单元(452)生成的预测信息添加到由缩放器/逆变换单元(451)提供的输出样本信息中。

在其它情况下,缩放器/逆变换单元(451)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(453)可访问参考图片存储器(457)以提取用于预测的样本。在根据符号(421)对提取的样本进行运动补偿之后,这些样本可由聚合器(455)添加到缩放器/逆变换单元的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿单元从参考图片存储器内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(421)的形式而供运动补偿单元使用,所述符号(421)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器提取的样本值的内插、运动矢量预测机制等等。

聚合器(455)的输出样本可在环路滤波器单元(454)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频(比特流)中的参数,且所述参数作为来自解析器(420)的符号(421)可用于环路滤波器单元(454)。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。

环路滤波器单元(454)的输出可以是样本流,所述样本流可输出到显示装置(312)以及存储在当前图片缓冲器(456),以用于后续的帧间图片预测。

一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片(通过例如解析器(420))被识别为参考图片,则当前图片缓冲器(456)可变为参考图片存储器(457)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片缓冲器。

视频解码器(310)可根据例如ITU-T H.265标准中可能记录的预定视频压缩技术执行解码操作。所述编码视频序列可以符合所用视频压缩技术或标准规定的语法,即它符合视频压缩技术文件或标准中规定的视频压缩技术或标准的语法,具体来说,还可以符合其中的配置文件。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。

在实施例中,接收器(410)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器(310)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。

图5是根据实施例的视频编码器(303)的功能性框图。

编码器(303)可从视频源(301)(并非解码器的一部分)接收视频样本,所述视频源可采集将由编码器(303)编码的视频图像。

视频源(301)可提供将由编码器(303)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适取样结构(例如Y CrCb 4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源(301)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(301)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。

根据实施例,编码器(303)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(543)。施行适当的编码速度是控制器(550)的一个功能。控制器控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(550)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器(550)的其他功能,因为它们可能涉及为特定系统设计优化的视频编码器(303)。

一些视频编码器以所属领域的技术人员容易识别为“编码环路”的方式进行操作。作为过度简化的描述,编码环路可由编码器(530)(下文为“源编码器”)的编码部分(负责基于待编码的输入图片和参考图片创建符号)和嵌入于编码器(303)中的(本地)解码器(533)构成。编码器(303)重建符号,以创建(远程)解码器也会创建的样本数据(因为在所公开的主题所考虑的视频压缩技术中、符号与已编码视频码流之间的任何压缩是无损的)。将那个重建的样本流输入到参考图片存储器(534)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,所以参考图片缓冲器内容在本地编码器与远程编码器之间也是按位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)对于所属领域的技术人员是公知的。

“本地”解码器(533)的操作可与已在上文结合图4详细描述的“远程”解码器(310)相同。然而,另外简要参考图4,当符号可用且熵编码器(545)和解析器(420)能够无损地将符号编码/解码为已编码视频序列时,包括信道(412)、接收器(410)、缓冲存储器(415)和解析器(420)在内的解码器(310)的熵解码部分,可能无法完全在本地解码器(533)中实施。

此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。

作为操作的一部分,源编码器(530)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考框架”的一个或多个先前已编码框架,所述运动补偿预测编码对输入框架进行预测性编码。以此方式,编码引擎(532)对输入框架的像素块与参考框架的像素块之间的差异进行编码,所述参考图片可被选作所述输入框架的预测参考。

本地视频解码器(533)可基于源编码器(530)创建的符号,对可指定为参考框架的已编码视频数据进行解码。编码引擎(532)的操作可为有损过程。当已编码视频数据可在视频解码器(图4中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(533)复制解码过程,所述解码过程可由视频解码器对参考框架执行,且可使重建的参考框架存储在参考图片存储器(534)中。以此方式,编码器(303)可在本地存储重建的参考框架的副本,所述副本与将由远端视频解码器获得的重建参考框架具有共同内容(不存在传输误差)。

预测器(535)可针对编码引擎(532)执行预测搜索。即,对于将要编码的新框架,预测器(535)可在参考图片存储器(534)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(535)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(535)获得的搜索结果,可确定输入图片可具有从参考图片存储器(534)中存储的多个参考图片取得的预测参考。

控制器(550)可管理视频编码器(530)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。

可在熵编码器(545)中对所有上述功能单元的输出进行熵编码。熵编码器根据本领域技术人员公知的例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。

传输器(540)可缓冲由熵编码器(545)创建的已编码视频序列,从而为通过通信信道(560)进行传输做准备,所述通信信道可以是通向可存储已编码的视频数据的存储装置的硬件/软件链路。传输器(540)可将来自视频编码器(530)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。

控制器(550)可管理编码器(303)的操作。在编码期间,控制器(550)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种框架类型:

帧内图片(I图片),其可以是不将序列中的任何其它框架用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。

预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。

双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。

源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行非预测性编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行非预测性编码。

视频编码器(303)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(303)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。

在实施例中,传输器(540)可传输附加数据和编码视频。视频编码器(530)可将此类数据纳为编码视频序列的一部分。附加数据包括时间/空间/SNR增强层、例如冗余图片和切片等的其它形式的冗余数据、辅助增强信息(SEI)消息、视频可用性信息(VUI)参数集片段等。

在此描述中,DST-4基和DCT-4基为彼此的翻转(左右)版本,加上根据DST-4和DCT-4的数学定义,对某些基进行符号变换。然而,即使消除符号变换,此类基仍可称为DST-4/DCT-4,因为符号变换不会对编码性能产生影响。而且,DST-7基和DCT-8基为彼此的翻转(左右)版本,加上根据DST-7和DCT-8的数学定义,对某些基进行符号变换。然而,即使消除符号变换,此类基仍可称为DST-7/DCT-8,因为符号变换不会对编码性能产生影响。

在此描述中,当N-点COT嵌入2N点DCT-2时,新变换核也称为COT,其为2N点变换。例如,32点COT可由16点DCT-2变换及16点DST-7/DCT-8变换构成,64点COT可由32点DCT-2及32点COT、或32点DCT-2及32点DST-7/DCT-8构成。

对于应用较小块尺寸编码的低分辨率(例如,标准清晰度)序列,DST-4/DCT-4显示出类似于/优于DST-7/DCT-8的编码性能。对于应用较大块尺寸编码的较大分辨率(例如,高清晰度)序列,DST-4/DCT-4显示出比DST-7/DCT-8更差的编码性能。例如,如果视频序列的分辨率低于预设阈值,则将小变换尺寸(即DST-4/DCT-4)用于视频序列的编码块的残差编码;如果视频序列的分辨率不低于预设阈值,则将小变换尺寸(即DST-7/DCT-8)用于视频序列的编码块的残差编码。

据此,在实施例中,仅DST-4/DCT-4基用在用于小变换尺寸的AMT,且仅DST-7/DCT-8基用在用于较大变换尺寸的AMT。可从一个单变换核矩阵(例如,一个64x64变换核矩阵)提取不同大小及类型的所有主变换基,因此通过应用AMT,不需要用于存储变换基的附加存储器。

当未选择AMT时,仅DCT-2/COT基用于主变换。在一个实施例中,对于小于或等于16点的变换尺寸,在未选择AMT时,仅DCT-2用作主变换。对于等于32点的变换尺寸,在未选择AMT时,仅COT用作主变换,该COT的变换核由16点DCT-2及16点DCT-8的基构成。对于等于64点的变换尺寸,在未选择AMT时,仅COT用作主变换,该COT的变换核由32点DCT-2及32点DCT-8的基构成。在另一实施例中,对于等于64点的变换尺寸,在未选择AMT时,仅COT用作主变换,该COT的变换核由32点DCT-8及32点COT的基构成。

小变换尺寸可包括但不限于2点、4点和/或8点。

较大的变换尺寸可包括但不限于大于或等于8点的变换尺寸。在另一实施例中,较大的变换尺寸可包括、但不限于大于或等于16点的变换尺寸。

在实施例中,仅一个变换集{DST-4,DCT-4}在AMT中用于小变换尺寸。

在实施例中,仅一个变换集{DST-7,DCT-8}在AMT中用于较大的变换尺寸。

在实施例中,仅一个变换集{DST-7,DCT-8}在AMT中用于对帧间预测残差块进行编码。

在实施例中,仅一个变换集{DST-7,DCT-8}在AMT中用于对帧内预测残差块进行编码。

在实施例中,对于一个编码块,可将DST-7或DST-4选作水平/垂直变换,可将DCT-8或DCT-4选作水平/垂直变换,该选择取决于帧内预测模式。

在一个实施例中,仅一个变换集{DST-7,DCT-8}在AMT中用于对色度帧内预测残差块进行编码。在另一实施例中,仅一个变换集{DST-7,DCT-8}在AMT中用于对色度帧间预测残差块进行编码。

在实施例中,当对主变换(AMT)及二次变换(NSST)的信令进行耦接时,将二次变换选择与用于小变换尺寸的DST-4/DCT-4进行耦接,且将二次变换选择与用于较大的变换尺寸的DST-7/DCT-8进行耦接。

所描述的相同实施例还可应用于耦接的主变换和二次变换中的主变换。

对于某些块大小,可禁用二次变换。在一个实施例中,该某些块大小包括4x4。在另一实施例中,该某些块大小包括4x8、8x4。

当将主变换和二次变换应用于相同数目的残差/系数时,可不允许二次变换。在一个实施例中,当主变换尺寸为8x8时,二次变换尺寸可仅为4x4、4x8或8x4,其应用于最低4x4、4x8或8x4变换系数区域。在另一实施例中,当主变换尺寸为4x8或8x4时,二次变换尺寸可仅为4x4。

可将2x2NSST应用于4x4块,该2x2NSST与4x4变换核矩阵相关联。

图6为根据一个实施例的控制用于解码或编码视频序列的残差编码的方法(600)的流程图。在一些实施方式中,图6的一个或多个步骤可由解码器(310)执行。在一些实施方式中,图6的一个或多个步骤可由与解码器(310)分离的或包括解码器(310)的另一设备或一组设备执行,例如编码器(303)。

参考图6,在步骤610中,方法(600)包括根据视频序列的分辨率确定是否将主变换的小变换尺寸用于所述视频序列的编码块的残差编码。

如果视频序列的分辨率低于预设阈值,确定使用主变换的小变换尺寸,610-是,在步骤620中,方法(600)包括将第一变换集识别为所述主变换,所述第一变换集包括离散正弦变换(DST)-4和离散余弦变换(DCT)-4。

如果视频序列的分辨率不低于预设阈值,确定不使用主变换的小变换尺寸,610-否,在步骤630中,方法(600)包括将第二变换集识别为所述主变换,所述第二变换集包括DST-7和DCT-8。

在步骤640中,方法(600)包括使用所述识别的主变换执行所述编码块的残差编码。

小变换尺寸可为小于等于8点的变换核心矩阵。

主变换的大变换尺寸可为大于8点的变换核心矩阵。

主变换的大变换尺寸可为大于等于16点的变换核心矩阵。

残差编码的执行可包括对帧内或帧间编码的已编码块的残差块进行编码。

图7为根据另一实施例的控制用于视频编码的解码或编码的残差编码的方法(700)。在一些实施方式中,图7的一个或多个步骤可由解码器(310)执行。在一些实施方式中,图7的一个或多个步骤可由与解码器(310)分离的或包括解码器(310)的另一设备或一组设备执行,例如编码器(303)。

参考图7,在步骤710中,方法(700)包括确定是否将二次变换用于所述编码块的残差编码,其中所述编码块的残差编码使用所述识别的主变换来执行。

如果确定使用二次变换,在步骤720中,方法(700)包括确定是否将所述二次变换的小变换尺寸用于所述编码块的残差编码。

如果确定使用二次变换的小变换尺寸,在步骤730中,将包括所述DST-4和DCT-4的第一变换集识别为所述二次变换。

如果确定不使用二次变换的小变换尺寸720-否,在步骤740中,将包括所述DST-7和DCT-8的第二变换集识别为所述二次变换。

在步骤750中,方法(700)包括使用所述识别的二次变换执行所述编码块的残差编码,所述编码块的残差编码使用所述识别的主变换来执行。

主变换可为自适应多重变换,二次变换可为不可分离二次变换。

尽管图6及7示出了方法(600)及(700)的示例性步骤,但在一些实施方式中,方法(600)及(700)可包括额外的步骤、较少的步骤、不同的步骤、或与图6及7中描述的那些排列不同的步骤。另外或可替代地,可并行执行方法(600)及(700)的两个或更多步骤。

进一步地,所提出的方法可由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在实施例中,一个或多个处理器执行存储在非易失性计算机可读介质内的程序,以执行一种或多种所提出的方法。

图8为根据实施例的、用于控制用于解码或编码视频序列的残差编码的装置(800)的简化框图。

参考图8,装置(800)包括第一确定代码(810)、识别代码(820)、执行代码(830)和第二确定代码(840)。

第一确定代码(810)用于使至少一个处理器根据视频序列的分辨率确定是否将主变换的小变换尺寸用于所述视频序列的编码块的残差编码。

如果视频序列的分辨率低于预设阈值,确定使用所述主变换的小变换尺寸,识别代码(820)用于使至少一个处理器将第一变换集识别为所述主变换,所述第一变换集包括离散正弦变换(DST)-4和离散余弦变换(DCT)-4,且如果视频序列的分辨率不低于预设阈值,确定不使用所述主变换的小变换尺寸,将第二变换集识别为所述主变换,所述第二变换集包括DST-7和DCT-8。

执行代码(830)用于使至少一个处理器使用识别的主变换执行编码块的残差编码。

小变换尺寸可为小于等于8点的变换核心矩阵。

主变换的大变换尺寸可为大于8点的变换核心矩阵。

主变换的大变换尺寸为大于等于16点的变换核心矩阵。

第二确定代码(840)用于使至少一个处理器确定是否将二次变换用于所述编码块的残差编码,其中所述编码块的残差编码使用所述识别的主变换来执行。如果确定使用所述二次变换,第一确定代码(810)进一步用于使至少一个处理器确定是否将所述二次变换的小变换尺寸用于所述编码块的残差编码。如果确定使用所述二次变换的小变换尺寸,识别代码(820)进一步用于使至少一个处理器将包括所述DST-4和DCT-4的第一变换集识别为所述二次变换,且如果确定不使用所述二次变换的小变换尺寸,将包括所述DST-7和DCT-8的第二变换集识别为所述二次变换。执行代码(830)进一步用于使至少一个处理器使用所述识别的二次变换执行所述编码块的残差编码,所述编码块的残差编码使用所述识别的主变换来执行。

主变换可为自适应多重变换,二次变换可为不可分离二次变换。

执行代码(830)可进一步用于使至少一个处理器对帧内或帧间编码的编码块的残差块进行编码。

本申请实施例还提供一种控制残差编码的装置,所述残差编码用于解码或编码视频序列,所述装置包括:第一确定模块、识别模块和执行模块。

其中,第一确定模块用于根据视频序列的分辨率确定是否将主变换的小变换尺寸用于所述视频序列的编码块的残差编码;

识别模块用于,如果视频序列的分辨率低于预设阈值,确定使用所述主变换的小变换尺寸,将第一变换集识别为所述主变换,所述第一变换集包括离散正弦变换(DST)-4和离散余弦变换(DCT)-4;如果视频序列的分辨率不低于预设阈值,确定不使用所述主变换的小变换尺寸,将第二变换集识别为所述主变换,所述第二变换集包括DST-7和DCT-8;

执行模块用于使用所述识别的主变换执行所述编码块的残差编码。

本申请实施例还提供一种计算机设备,所述设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现上述实施例所述的控制残差编码的方法。

可将上面描述的技术实现为使用计算机可读指令、且物理地存储在一个或多个计算机可读介质内的计算机软件。

执行代码(830)可进一步用于使至少一个处理器对帧内或帧间编码的编码块的残差块进行编码。

上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。

图9是根据实施例的计算机系统(900)的图。

所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。

所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。

图9所示的用于计算机系统(900)的组件本质上是示例性的,并且不旨在对实现实施例的计算机软件的使用范围或功能提出任何限制。也不应将组件的配置解释为对计算机系统(900)的示范性实施例中所说明的组件中的任一者或组合具有任何依赖性或要求。

计算机系统(900)可以包括某些人机界面输入设备。所述人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出)对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕捉不必直接与人类有意识输入相关的某些媒体,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。

机界面输入设备可包括以下中的一个或多个(仅描绘其中一个):键盘(901)、鼠标(902)、触控板(903)、触摸屏(910)、数据手套(未示出)、操纵杆(905)、麦克风(906)、扫描仪(907)、照相机(908)。

计算机系统(900)还可以包括某些人机界面输出设备。所述人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。所述人机界面输出设备可包括触觉输出设备(例如通过触摸屏(910)、数据手套(未示出)或操纵杆(905)的触觉反馈,但也可有不是输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(909)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(910),其中每个都有或没有触摸屏输入功能、触觉反馈功能——其中一些可通过如立体画面输出等手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。

计算机系统(900)还可以包括人类可访问的存储设备及其相关联介质,如包括具有CD/DVD的CD/DVD ROM/RW(920)等介质(921)的光学介质、拇指驱动器(922)、可移动硬盘驱动器或固态驱动器(923),如磁带和软盘(未示出)的传统磁介质,如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。

本领域技术人员还应当理解,结合本发明的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。

计算机系统(900)还可包括一个或多个通信网络的接口(954)。网络可例如是无线、有线、光学的。网络可进一步是局域网、广域网、城域网、车载网络及工业网络、实时网路、延迟容忍网络等的。网络的示例包括例如以太网的局域网、无线局域网、无线通信网(包括全球移动通信系统(GSM)、三代(3G)、四代(4G)、五代(5G)、长期演进(LTE)等)、电视有线或无线广域数字网络(包括有线电视、***、地面广播电视)、车载及工业网(包括CANBus的)等等。某些网络一般需要连到某些通用数据端口或***总线((949))(例如,计算机系统(900)的USB端口)的外部网络接口适配器;其它系统一般通过连到如下所述的系统总线(例如,以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络的任何一个,计算机系统(900)可与其它实体通信。此类通信可为单向的,仅用于接收(例如,广播电视)、单向的仅发送(例如,CAN总线到某些CAN总线设备))、或双向的,例如通过局域或广域数字网络通到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。

前述的人机界面设备、人类可访问存储设备和网络接口可以连接到计算机系统(900)的核心(940)。

核心(940)可包括一个或多个中央处理单元(CPU)(941)、图形处理单元(GPU)(942)、以现场可编程门阵列(FPGA)(943)形式存在的专用可编程处理单元、用于特定任务的硬件加速器(944)等。上述设备以及只读存储器(ROM)(945)、随机存取存储器(RAM)(946)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘(SSD)等)(947)等可通过系统总线(948)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(948),以便通过额外的中央处理单元、图形处理单元等进行扩展。***装置可直接附接到核心的系统总线(948),或通过***总线(949)进行连接。***总线的体系结构包括外部设备互联(PCI)、通用串行总线USB等。

CPU(941)、GPU(942)、FPGA(943)和加速器(944)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(945)或RAM(946)中。过渡数据也可以存储在RAM(946)中,而永久数据可以存储在例如内部大容量存储器(947)中。通过使用高速缓存可实现对任何存储器设备的快速存储和检索,高速缓存可与一个或多个CPU(941)、GPU(942)、大容量存储器(947)、ROM(945)、RAM(946)等紧密关联。

所述计算机可读介质上可具有用于执行各种计算机实现操作的计算机代码。介质和计算机代码可以是为实施例的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。

作为示例而非限制,具有体系结构(900)的计算机系统,特别是核心(940),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供功能,执行包含在一个或多个有形的计算机可读介质中的软件。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及具有非瞬时性质的核心(940)的特定存储器,诸如核心内部大容量存储器(947)或ROM(945)。实现各种实施例的软件可以存储在这种设备中并且由核心(940)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(940)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(946)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其他方式包含在电路(例如,加速器(944))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。实施例包括任何合适的硬件和软件组合。

虽然本发明已对多个示例性实施例进行了描述,但实施例的各种变更、置换和各种替代属于本发明的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本发明的原则,因此属于本发明的精神和范围之内。

34页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于视频编码的自适应环内滤波

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类