CN104255033B - 用于lm模式计算的简化查找表 - Google Patents
用于lm模式计算的简化查找表 Download PDFInfo
- Publication number
- CN104255033B CN104255033B CN201380006005.9A CN201380006005A CN104255033B CN 104255033 B CN104255033 B CN 104255033B CN 201380006005 A CN201380006005 A CN 201380006005A CN 104255033 B CN104255033 B CN 104255033B
- Authority
- CN
- China
- Prior art keywords
- block
- lmdiv
- prediction
- luma samples
- video codec
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
本发明介绍了一个含有处理器的视频编解码器,所述处理器用于为一个色度块生成一个预测块,预测块由多个预测色度样本组成,其中每一个预测色度样本包含位于相应重建亮度块上的第一批重建亮度样本、位于重建亮度块的相邻块上的第二批重建亮度样本以及一个查找表,所述查找表的索引根据第二批重建亮度样本得来,查找表的索引值不超过63个。
Description
本发明要求2012年1月19日由刘凌志(Lingzhi Liu)递交的发明名称为用于LM模式计算的简化查找表(Reduced Look-Up Table for LM Mode Calculation)的第61/588399号美国临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文本中,如全文再现一般。
关于由联邦政府赞助的研究或开发的声明
不适用。
缩微平片附件的引用
不适用。
背景技术
使在影片相对较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中流过或以其他方式传送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中传送。视频压缩设备通常在源处使用软件和/或硬件,以在传送之前对视频数据进行编码,从而减少用来表示视频帧或图像所需的数据量。接着,压缩的数据在目的地处由视频解压设备接收,该视频解压设备用于对视频帧进行解码。由于网络资源有限,最好发展压缩和解压技术,所述改进的技术基本上无需牺牲视频质量就可以提高压缩比和/或减少实现复杂性。
发明内容
在一项实例中,本发明包括一个含有处理器的视频编解码器,所述处理器用于为一个色度块生成一个预测块,预测块由多个预测色度样本组成,其中每一个预测色度样本包含位于相应重建亮度块上的第一批重建亮度样本、位于重建亮度块的相邻块上的第二批重建亮度样本以及一个查找表,所述查找表的索引根据第二批重建亮度样本得来,查找表的索引值不超过63个。
在另一项实例中,本发明包括一种用于视频编码的方法,所述方法用于为一个色度块生成一个预测块,预测块由多个预测色度样本组成,其中每一个预测色度样本包含位于相应重建亮度块上的第一批重建亮度样本、位于重建亮度块的相邻块上的第二批重建亮度样本以及一个查找表,所述查找表的索引根据第二批重建亮度样本得来,查找表的索引值不超过63个。
在又一项实施例中,本发明包括一种含有处理器的视频编解码器,所述处理器用于为一个色度块生成一个预测块,预测块由多个预测色度样本组成,其中每一个预测色度样本包含位于相应重建亮度块上的第一批重建亮度样本、位于相应重建亮度块的相邻块上的第二批重建亮度样本和位于色度块的相邻块上的一批重建色度样本。生成一批预测色度样本的过程包括基于第二批重建亮度样本来计算第一个中间变量(表示为a2s),从第一个中间变量推导出第二个中间变量(表示为a3)。如果第一个中间变量小于8,则第二个中间变量设置为0。
在又一项实施例中,本发明包括一种含有处理器的视频编解码器,所述处理器用于为一个色度块生成一个预测块,预测块由一个预测色度样本组成,所述预测色度样本包含位于相应重建亮度块上的第一个重建亮度样本、位于相应重建亮度块的一个相邻块上的第二个重建亮度样本和一个涉 及输入索引和中间变量的方程式。输入索引基于第二个重建亮度样本得出,输入索引值的数量小于63。
结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本发明,现可参考以下简要描述、结合附图和详细描述,其中相同参考标号表示相同部分:
图1是视频编码器的实施例的示意图。
图2是视频解码器的实施例的示意图。
图3是在所述从亮度到色度的LM模式下帧内预测方法的实施例的示意图。
图4是通用计算机系统的示意图。
具体实施方式
首先应该理解的是,尽管下面提供了一种或多种实施例的示例性实施方式,本发明公开的系统和/或方法可通过多种当前已知的或存在的技术实施。本发明决不应限于下文所说明的所述说明性实施方案、图式和技术,包含本文所说明并描述的示范性设计和实施方案,而是可以在所附权利要求书的范围以及其均等物的完整范围内修改。
通常情况下,视频媒体可涉及相对较快地连续显示一系列静态图像或帧,从而让观察者感觉到运动。每个帧可以包含多个图像元素或像素,每个图像元素或像素可以表示帧中的单个参考点。在数字处理期间,每个像素可以被分配一个整数值(例如,0、1、…或255),所述整数值表示对应参考 点住的图像质量或颜色。颜色空间可以由三个元件体现,分别是一个亮度(luma或Y)元件和两个色度(chroma)元件,所述色度元件分别表示为Cb和Cr(或者有时为U和V)。一个亮度或色度整数值通常以二进制形式使用比特存储并处理。用于指定亮度或数量值的位数量可以被称为位深或色深。
在使用中,图像或视频帧可以包含大量的像素(例如,在1920x1080的帧中包含2,073,600个像素),因此对每个像素进行独立的编码和解码(下文中简称为编码)可能是繁琐且低效的。为了提高编码效率,通常将视频帧分成多个矩形块或宏块,每个矩形块或宏块都可以用作编码、预测、变换以及量化等处理的基本单元。例如,典型的NxN的块可以包括N2个像素,其中N是整数,并且通常是四的倍数。在YUV或YCbCr颜色空间中,每个亮度(Y)块对应两个色度块,分别是Cb块和Cr块。Cb块与Cr块也相互对应。色度块和它们对应的亮度块可以位于一个视频帧、片段或区域的同一相对位置。
在视频编码中,可以使用不同的采样率对YCbCr元件进行编码。一个Cb块、其对应的Cr块、和/或对应的Y块的大小根据采样率可以相同或者不同。例如,当采样率为4:2:0时,每个NxN色度(Cb或Cr)块都可对应一个2Nx2N亮度块。在这种情况下,色度块的宽或高是相应亮度块的一半。色度元件采样采用缩减像素采样或者二次采样的方式,因为人眼对色度元件的敏感度比亮度元件低。再例如,当采样率为4:4:4时,每个NxN色度(Cb或Cr)块都可对应一个NxN亮度块。在这种情况下,较高的视频保真度得以保留,但是需要编码更多的数据。也可以使用其他采样率,例如4:2:2和4:2:1等。
在一个视频帧里,一个块在空间上可与同个帧内的其他块密切相关,这样跨块的像素值只有极小不同和/或表现出重复的纹理(texture)。现代的视 频压缩方法使用可统称为帧内预测的各种技术来利用这些空间相关性。当使用帧内预测对一个当前块进行编码时,会基于一个或多个已编码的参考块生成一个预测块或者预测单元。预测块可以是当前块的一个估计版本。残余块可以通过从预测块减去当前块生成,残余块可以表示预测残差或误差。由于用来表示预测残差所需的数据量通常可能小于用来表示原始块所需的数据量,因此可以对残余块而非当前块进行编码以实现较高的压缩比。
帧内预测可通过一个视频解码器或编码器(下文中简称视频编解码器)实现。在编码器中,在被并入一个解码数据流之前,通过帧内预测生成的残余块可以先被变换、量化并扫描。一收到解码数据流,解码器将一个重建的残余块加入到一个独立生成的预测块,然后重新生成当前块。虽然重新生成的当前块因为量化等原因只是原始当前块的一个不完整版本,但它们之间的差别对人眼来说几乎不可感知。因此,在没有降低重建图像质量的情况下减少了大量的比特。
在一个视频区域中,相邻的块完全相同或几乎相同,使用帧内预测会导致由许多零像素值或近零像素值组成的一个残余块。进一步,残余块的变换、量化和/或扫描会把编码好的数据流中的许多0和/或近0系数移除,对视频数据进行进一步压缩。因此,对原始图像的准确预测可带来较高的编码效率。为了提高帧内预测的准确性,视频/图像编码标准可利用多种帧内预测模式。例如,在高性能视频编码(HEVC)中多达六种帧内预测模式适用于色度元件,HEVC有望成为下一个由国际电信联盟(ITU)电信标准化部门(ITU-T)和国际标准化组织(ISO)的视频编码联合组(JCT-VC)/国际电工技术委员会(IEC)运动图像专家组(MPEG)发布的视频标准。
色度元件的六种帧内预测模式包括chroma from luma预测模式(被称为线性模型或方法(LM)模式),垂直预测模式,水平预测模式,对角线模式, 直流(DC)预测模式,和从亮度元件推导出来的直接模式(DM)。各种算法可被用于决定一个色度块的最优帧内预测模式。例如,一个编码器可以使用部分或全部可用模式来测试一个实施帧内预测的色度块,然后计算出每个预测模式的绝对误差和(SAE)。得到最小SAE的预测模式被选为最优模式。应注意,在要发布的最终HEVC标准中,色度元件使用的帧内预测模式可以不同于前述的六种模式。本发明主要涉及LM模式。
名为“WD5:高性能视频编码工作草案5(文档编号:JCTVC-G1103_d9)”的HEVC工作草案在此以引用的方式并入本文中,根据该工作草案,当前LM模式的设计利亮度样本或像素来生成色度样本。特别是当通过实现一种LM模式来为一个当前色度(Cb或Cr)块生成一个预测块时,LM模式包括获取从一个对应于当前色度块的亮度块插入的先前重建亮度样本的线性组合。LM模式还包括获取来自与相应亮度块相邻亮度块的先前重建亮度样本的线性组合。另外,LM模式还包括获取来自与当前色度块相邻色度块的先前重建色度样本。
根据JCTVC-G1103_d9,使用以下段落所描述的算法或方程式(1)到(19)可以推导出相同的色度预测块样本值。获取方程式之前,在此首先给出用在方程式中的变量的定义。
对于一个四边上有2nS(nS为正整数)亮度样本的一个重建亮度块,[x,y]表示重建亮度块中一个亮度样本的位置或索引,其中整数x和y的取值范围都为0~2nS-1。recSamplesL[x,y]表示一个位于[x,y]的亮度样本。在HEVC工作草案(如文档JCTVC-G1103_d9)中,recSamplesL[x,y]有时也表示为PLM[x,y]。在此处的方程式中,m=n..k的写法用于表示一系列值,m开始于n(包括n),结束于k(包括k),其中m,n和k都是整数。例如,取值范围为0~2nS-1的x和y可写作“x,y=0..2nS-1”。
如上所述,左侧和顶部的相邻亮度块中的重建亮度样本也可用在LM模式下来预测当前的色度块。[x,-1]表示在邻接于相应亮度块左侧一列(下文中简称为左相邻列)的亮度样本的位置或索引,[-1,y]表示在邻接于相应亮度块顶部一行(下文中简称为上相邻行)的亮度样本的位置,其中x和y的取值范围都为0~2nS-1。进一步,recSamplesL[x,-1]表示一个位于[x,-1]的亮度样本,recSamplesL[-1,y]表示一个位于[-1,y]的亮度样本。
当采样率为4:2:0时,重建的2nS×2nS相应亮度块首先被滤波为一个nS×nS亮度块,然后经滤波的亮度块用作一个为当前色度块做帧内预测的参考块。对于经滤波的四边都有nS个亮度样本的亮度块,pY′[x,y]表示一个位于[x,y]的经滤波的亮度样本,其中x和y的取值范围都为0~nS-1。类似地,亮度样本组成的左相邻列和上相邻行也可以先被滤波然后在作为LM模式下的参考块。在经滤波之后,pY′[x,-1]表示一个位于[x,-1]的经滤波的亮度样本,pY′[-1,y]表示一个位于[-1,y]的经滤波的亮度样本的值,其中x和y的取值范围都为0~nS-1。
如上所述,在左侧和顶部相邻色度块中的先前编码色度样本也可用在LM模式下。在相邻色度块中,[x,-1]表示在当前色度块的左相邻列中一个色度样本的索引,[-1,y]表示在当前色度块的上相邻行中一个色度样本的索引,其中x和y的取值范围都为0~nS-1。进一步,p[x,-1]表示位于[x,-1]的一个色度样本,p[-1,y]表示位于[-1,y]的一个色度样本,其中x和y的取值都为0到nS-1。
对于要计算的色度预测块,predSamples[x,y]表示一个位于[x,y]的预测或被预测的色度样本,其中x和y的取值范围都为0~nS-1。BitDepthC表示用于色度元件(Cr或Cb)的位数(即位深)。例如,在HEVC中,BitDepthC可以等于8或10(或其他任何合适的值)。当BitDepthC=8时,色度样本比 如p[x,y]和predSamples[x,y]最多可以有8位。在使用中,亮度元件的位深通常与色度元件的位深相同,因此经滤波的亮度样本如pY′[x,y]也和p′[x,y]具有相同的最大位数。
在LM模式下,要生成预测的色度样本,首先要对冲击亮度样本进行滤波。方程式(1)将一个带有[121]系数的3抽头滤波器应用于2nS个位于左相邻列的重建亮度样本,然后得出了nS个经滤波的亮度样本。方程式(2)将一个2抽头平均滤波器应用于2nS个位于上相邻行的重建亮度样本,然后得出了nS个经滤波的亮度样本。方程式(3)将一个2抽头平均滤波器应用于2nS×2nS个位于相应亮度块上的重建亮度样本,然后得出了nS×nS个经滤波的亮度样本。
pY′[x,-1]=(recSamplesL[2x-1,-1]+2*recSamplesL[2x,-
1]+recSamplesL[2x+1,-1]+2)>>2(1) 其中x=0..nS-1
pY′[-1,y]=(recSamplesL[-1,2y]+recSamplesL[-1,2y+1])>>1(2) 其中
y=0..nS-1
pY′[x,y]=(recSamplesL[2x,2y]+recSamplesL[2x,2y+1])>>1 (3) 其中
x,y=0..nS-1
接下来,预测的色度样本(即predSamples[x,y],其中x,y=0..nS-1)可以通过中间变量计算,分别表示为α和β,计算方程式包括:
predSamples[x,y]=alpha*pY′[x,y]+beta,with x,y=0..nS-1 (6)
从方程式(4)到(6),应注意一个预测色度样本的最终值取决于已经编码的亮度和色度元件。在亮度元件中,左相邻列、上相邻行和相应亮度块上的经滤波的亮度样本都被考虑在内。在色度元件中,左相邻列和上相邻行上的重建色度样本都被考虑在内。
方程式(4)中的α和方程式(5)中β的计算实现过于复杂,因此在实践中使用方程式(1)到(3)得到经滤波的亮度样本(即pY′[x,y])之后,引入更多的中间变量来推导预测的色度样本(即predSamples[x,y])。进一步,进行的是整数和/或逐位运算而不是分区运算。例如,中间变量k3、L、C、LL、LC和k2通过以下运算方程式推导出:
k3=Max(0,BitDepthC+log2(nS)–14) (7)
k2=log2((2*nS)>>k3) (12)
接下来,通过以下伪代码推导出更多中间变量a1、a2、k1、a1s、a2s、 a3、a、k和b:
a1=(LC<<k2)–L*C (13)
a2=(LL<<k2)–L*L (14)
k1=Max(0,log2(abs(a2))–5)–Max(0,log2(abs(a1))–14)+2 (15)
a1s=a1>>Max(0,log2(abs(a1))–14) (16)
a2s=abs(a2>>Max(0,log2(abs(a2))–5)) (17)
a3=a2s<1?0:Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1) (18)
a=a3>>Max(0,log2(abs(a3))–6) (19)
k=13–Max(0,log2(abs(alpha))–6) (20)
b=(C–((a*L)>>k)+(1<<(k2–1)))>>k2 (21)
方程式(19)中的变量a可代表α,方程式(21)中的变量b可代表β。得出a,b和k之后,通过以下方程式算出预测的色度样本:
predSamples[x,y]=Clip1C(((pY′[x,y]*a)>>k)+b),with x,y=0..nS-1 (22)
其中,函数Clip1C(x)定义为:
Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)
其中,函数Clip3(x,y,z)定义为:
在以上伪代码中,通过方程式(17)算出的a2s用作一个查找表的索引或键来算出lmDiv的值,lmDiv的值用在方程式(18)中。表1列出了lmDiv查找表的规格,这个规格在工作草案JCTVC-G1103_d9中被列为Table8-9。虽然 在表1中有64个a2s表项,实际只有63个a2s表项,其取值范围为1~63,a2s表项可用于LM模式的运算中。
a2s | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
lmDiv | 32768 | 16384 | 10923 | 8192 | 6554 | 5461 | 4681 | 4096 | 3641 | 3277 | 2979 | 2731 | 2521 |
a2s | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
lmDiv | 2341 | 2185 | 2048 | 1928 | 1820 | 1725 | 1638 | 1560 | 1489 | 1425 | 1365 | 1311 | 1260 |
a2s | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
lmDiv | 1214 | 1170 | 1130 | 1092 | 1057 | 1024 | 993 | 964 | 936 | 910 | 886 | 862 | 840 |
a2s | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
lmDiv | 819 | 799 | 780 | 762 | 745 | 728 | 712 | 697 | 683 | 669 | 655 | 643 | 630 |
a2s | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | |
lmDiv | 618 | 607 | 596 | 585 | 575 | 565 | 555 | 546 | 537 | 529 | 520 | 512 |
表1 JCTVC-G1103_d9中lmDiv查找表规格
因为lmDiv是变量a2s的一个函数,表1中lmDiv的每个表项都可以通过以下伪代码计算(其中i=a2s):
UInt lmDiv[63];
for(Int i=1;i<64;i++)
lmDiv[i]=((1<<15)+i/2)/i (23)
虽然表1可以用于生成预测色度样本,按照目前的构成,查找表包括63个a2s或lmDiv值,相对来说比较多。如果使用方程式(23)而非查找表来计算,迭代循环包括63次计算。
本文公开的是用于提高LM模式下的帧内预测的系统和方法。公开的LM模式可以在一个视频编解码器中实现。在公开的LM模式下,可通过一 个含有少于63个lmDiv值或有效表项的查找表来算出中间变量lmDiv。在一项实施例中,查找表只有56或32个有效lmDiv表项。与现有技术相比,减少表项可节约编解码器上的存储空间。如果不使用查找表,也可通过另一个中间变量a2s来算出lmDiv,lmDiv的值可用于计算出另一个一个中间变量a3。在一项实施例中,当a2s小于8时,a3应等于0。在这种情况下,不需要计算lmDiv,简化了LM模式运算。在另一项实例中,当a2s小于32时,a3应等于0,进一步简化了LM模式运算。通过公开的lmDiv查找表或简化的运算,公开的LM模式可提高编码性能,比如HEVC中的编码性能。
图1是一个支持公开LM模式的视频编码器100的一项实施例。视频编码器100包括比率失真优化(RDO)模块110、预测模块120、变换模块130、量化模块140、熵编码器150、去量化模块160、逆变换模块170和重建模块180,各模块布局如图1所示。在运行中,视频编码器100可收到由一系列视频帧(或片段)组成的视频输入。本文中,一个“帧”可以指一个预测的帧(P帧)、帧内编码帧(I帧)或双向预测帧(B帧)中的任意一个。同样地,一个“片段”可以指一个P片段、I片段或B片段中的任意一个。
可以配置RDO模块110为一个或多个其他模块进行协调或作出逻辑决定。例如,基于一个或多个先前编码帧,RDO模块110可确定正被编码的一个当前帧(或片段)如何被划分成多个编码单元(CU),一个CU如何被划分成一个或多个预测单元(PU)和交换单语(TU)。CU、PU和TU是在HEVC中使用的不同块的类型。另外,RDO模块110还可确定将如何预测当前帧。当前帧可通过帧间和/或帧内预测得出。对于帧内预测,HEVC中有许多可用预测模式或方向(如适用于Y元件的34种模式和适用于U或V元件的6种模式,包括LM模式),RDO模块110来确定最优模式。例如,RDO模块110可用计算出每个预测模式的SAE并选出SAE最小的预测模式。
预测模块120可利用参考帧或者当前帧的参考像素进行帧内预测。在一项实施例中,预测模块120通过一个公开LM模式从输入视频中为当前色度块生成一个预测块。该预测块由许多预测的色度样本组成,每个色度样本都可基于相应重建亮度块上的第一批重建亮度样本、相应重建亮度块的相邻块上的第二批重建亮度样本和色度块的相邻块上的重建色度样本生成。在一项实施例中,生成一批预测的色度样本包括基于第二批重建亮度样本来计算中间变量a2s,运算中使用前文所述的方程式,例如方程式(17)。生成一批预测的色度样本还包括通过查找表和a2s推导出中间变量lmDiv。在一项实施例中,一个查找表包含的a2s值不超过63个。
一旦当前色度块的预测块生成,就可以通过预测块减去色度块来生成一个残余块。残余块可被送入变换模块130,变换模块130通过二维正交变换如离散余弦变换(DCT)将残余色度样本转换为一个变换系数矩阵。然后在被送入熵编码器150之前,变换系数矩阵会被量化模块140量化。量化模块140改变变换系数的规模然后将它们舍入整数,减少了非零变换系数,进而增加了压缩比。熵编码器150可扫描量化过的变换系数并将其编码进比特流。为促进色度块的连续编码,也可将量化过的变换系数送入去量化模块160来恢复变换系数的原始规模。然后逆变换模块170执行与变换模块130完全相反的操作并生成原始残余块的一个嘈杂版本。然后有损残余块可被送入重建模块180,重建模块180生成重建亮度和/或色度样本进行后续色度块的帧内预测。如果需要,在进行帧内预测之前,可对重建样本进行滤波。
应注意,图1只是一个视频编码器的简化示意图,因此它只包括存在于视频编码器的一部分模块。其他模块(例如,滤波器、扫描器和发射器)在图1上没有显示,但本领域技术人员会认识到这些模块有助于视频编码。另外,根据编码方案不同,可略过视频编码器的一些模块。例如,在特定视频内容的无损编码中,不允许任何信息丢失,因此可略过量化模块140和去量 化模块160。再例如,如果残余块不被转换为变换系数而是直接编码,可略过变换模块130和逆变换模块170。此外,优先于从编码器传输,编码比特流可包含其他信息,比如视频分辨率、帧速率、块的分区信息(大小和坐标)以及预测模式等等,这样视频解码器可以将视频帧的编码序列正常解码。
图2是一个支持公开LM模式的视频解码器200的一项实施例。视频解码器200对应于视频编码器100,包括熵解码器210、区量化模块220、逆变换模块230、预测模块240和重建模块250,各模块布局如图2所示。在运行中,熵解码器210在收到一个含有一系列视频帧信息的编码比特流之后会将比特流解码为非压缩格式。量化后生成的变换系数矩阵被送入去量化模块220,该去量化模块220与图1的去量化模块160相同或相仿。去量化模块220的输出被送入逆变换模块230,逆变换模块230将变换系数转换为一个残余块的残余值。另外,当前块包含预测模式(如LM模式)的信息也会被熵解码器210解码,根据预测模式的不同,预测模块240为当前块生成一个预测块。
在一项实施例中,预测模块240通过一个公开LM模式为当前色度块生成一个预测块。该预测块由许多预测的色度样本组成,每个色度样本都可基于相应重建亮度块(已解码)上的第一批重建亮度样本、相应重建亮度块的相邻块(已解码)上的第二批重建亮度样本和色度块的相邻块(已解码)上的重建色度样本生成。在一项实施例中,生成一批预测的色度样本包括基于第二批重建亮度样本来计算中间变量a2s。生成一批预测的色度样本还包括通过查找表和a2s推导出中间变量lmDiv。在一项实施例中,一个查找表包含的a2s值不超过63个。
一旦当前色度块的预测块生成后,重建模块250可将残余色度块与预测块结合起来生成一个重建色度块。另外,为促进连续解码,重建色度块的一 些色度样本也可作为参考像素用于同帧中后续色度块的帧内预测。
在一个视频编解码器(如视频编码器100或视频解码器200)中,为简化用于帧内预测的LM模式,引入了另一个中间变量avgY′来表示经滤波的相邻亮度样本的平均值。在一项实施例中,变量avgY′定义为:
基于avgY′,可通过以下方程式来计算每个经滤波的相邻亮度样本与平均值之间的差值,其中ΔpY'[-1,y]表示位于[-1,y]的亮度样本与上相邻行之间的差值,ΔpY'[x,-1]表示位于[x,-1]的亮度样本与左相邻列之间的差值。
ΔpY'[-1,y]=pY'[-1,y]-avgY' (25)
ΔpY'[x,-1]=pY'[x,-1]-avgY' (26)
基于前文所述方程式,可进行以下推导:
根据用于视频编码的预配置参数,变量a2大于或等于特定值。例如,在HEVC中,一个色度块(表示为nS)的大小范围为4~32(即4≤nS≤32)。进一步,一个亮度位深可以为8或10。
在方程式(27)中,如果亮度位深为8且4≤nS≤32,则pY′[x,-1]和pY′[-1,y]最多有8位。在这种情况下,根据方程式(7)可以推导出k3=0。如果亮度位深为10且4≤nS≤16,也可以推导出k3=0。相应地,当k3=0时,方程式(27)可被重写为:
通过方程式(28)可以看出,如果任意两个亮度样本不相等(即至少一个ΔpY'≠0),a2始终大于等于8。因为相邻亮度样本数目较大(例如,一个32x32色度块有65个),至少有两个不相等的亮度样本很普遍。通过方程式(17)可以看出,如果a2大于等于8,a2s等于a2。换句话说,a2s始终大于等于8。因为a2s是lmDiv查找表的索引,表项数量因此减7(即63-56)。在一项实例中,表2用于查询lmDiv值。
a2s | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
lmDiv | 4096 | 3641 | 3277 | 2979 | 2731 | 2521 | 2341 | 2185 | 2048 | 1928 | 1820 | 1725 | 1638 |
a2s | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
lmDiv | 1560 | 1489 | 1425 | 1365 | 1311 | 1260 | 1214 | 1170 | 1130 | 1092 | 1057 | 1024 | 993 |
a2s | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
lmDiv | 964 | 936 | 910 | 886 | 862 | 840 | 819 | 799 | 780 | 762 | 745 | 728 | 712 |
a2s | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
lmDiv | 697 | 683 | 669 | 655 | 643 | 630 | 618 | 607 | 596 | 585 | 575 | 565 | 555 |
a2s | 60 | 61 | 62 | 63 | |||||||||
lmDiv | 546 | 537 | 529 | 520 |
表2 lmDiv查找表规格
与原始的包含63个lmDiv表项的lmDiv查找表(表1)相比,公开的表2只包含56个表项。表项数量的减少可节约一个编解码器上的存储空间。表2中lmDiv的值是基于以下伪代码算出(其中,i=a2s):
UInt lmDiv[56];
for(Int i=8;i<64;i++)
lmDiv[i]=((1<<15)+i/2)/i (29)
应注意,方程式(29)与方程式(23)类似,除了变量i的起始值从1变为了8。如果i或a2s的值已知,只需要一次计算即可得出lmDiv,而不需要经过56次迭代循环的计算。
在一项替代实施例中,没有使用方程式(29),而是根据以下方程式推导出lmDiv[i](其中,i=a2s):
lmDiv[i]=(1<<(BitDepthC+4)+i/2)/i.
实际上,表2和方程式(29)都可用于计算lmDiv的值。在一项实施例中使用了表2,案例方程式(30)代替了方程式(18),其他方程式保持不变。方程式(30)的使用简化了LM模式的运算过程,因为a2s的比较阈值从1提高到了8,结果对于取值范围为1~7的a2s,a3应等于0,无需基于a1s和lmDiv进行进一步计算。a3因此通过以下计算得出:
a3=a2s<8?0:Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1) (30)
在一项实施例中,在方程式(30)中得到相乘部分(即a1s*lmDiv[a2s])的操作也可用以下代码描述:
返回方程式(28),可以看出,如果任意亮度像素与平均值之间的差值大于1(即至少一个ΔpY'≥2),或者至少任意四个亮度像素与平均值之间的差值大于0(即至少四个ΔpY'≠0),那么a2始终大于等于32。因为相邻亮度像素数量较大(例如,一个32x32色度块有65个),该场景经常发生。通过方程式(17)可以看出,如果a2大于等于32,a2s等于a2换句话说,a2s始终大于等于32。因为a2s是lmDiv查找表的索引,表项数量因此减31(即63-32)。在一项实例中,表3用于查询lmDiv值。
a2s | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
lmDiv | 1024 | 993 | 964 | 936 | 910 | 886 | 862 | 840 | 819 | 799 | 780 | 762 | 745 |
a2s | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
lmDiv | 728 | 712 | 697 | 683 | 669 | 655 | 643 | 630 | 618 | 607 | 596 | 585 | 575 |
a2s | 58 | 59 | 60 | 61 | 62 | 63 | |||||||
lmDiv | 565 | 555 | 546 | 537 | 529 | 520 |
表3 lmDiv查找表规格
与原始的包含63个lmDiv表项的lmDiv查找表(表1)相比,公开的表3只包含32个表项。表项数量的减少可节约一个编解码器上的存储空间。表3中lmDiv的值是基于以下代码算出(其中,i=a2s):
UInt lmDiv[32];
for(Int i=32;i<64;i++)
lmDiv[i]=((1<<15)+i/2)/i (31)
应注意,方程式(31)与方程式(23)类似,除了变量i的起始值从1变为了32。如果i或a2s的值已知,只需要一次计算即可得出lmDiv,而不需要经过32次迭代循环的计算。
实际上,表3和方程式(31)都可用于计算lmDiv的值,lmDiv是a2s的一个函数。在一项实施例中使用了表3,案例方程式(32)代替了方程式(18),其他方程式保持不变。方程式(31)的使用简化了LM模式的运算过程,因为a2s的比较阈值从1提高到了32,结果对于取值范围为1~31的a2s,a3应等于0,无需基于a1s和lmDiv进行进一步计算。a3因此通过以下计算得出:
a3=a2s<32?0:Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1) (32)
在一项实施例中,在方程式(32)中得到相乘部分(即a1s*lmDiv[a2s])的操作也可用以下代码描述:
在一项实施例中,预测的色度样本可以通过经滤波的亮度样本和重建色度样本生成,生成使用以下方程式和/或伪代码(其中,lmDiv的值从一个32个表项的查找表中查询得到):
k3=Max(0,BitDepthC+log2(nS)–14)
pY′[x,-1]=(recSamplesL[2x-1,-1]+2*recSamplesL[2x,-1]+recSamplesL[2x+1,-1]+2)>>2其中x=0..nS-1
pY′[-1,y]=(recSamplesL[-1,2y]+recSamplesL[-1,2y+1])>>1其中y=0..nS-1
pY′[x,y]=(recSamplesL[2x,2y]+recSamplesL[2x,2y+1])>>1其中x,y=0..nS-1
k2=log2((2*nS)>>k3)
a1=(LC<<k2)–L*C
a2=(LL<<k2)–L*L
k1=Max(0,log2(abs(a2))–5)–Max(0,log2(abs(a1))–14)+2
a1s=a1>>Max(0,log2(abs(a1))–14)
a2s=abs(a2>>Max(0,log2(abs(a2))–5))
a3=a2s<32?0:Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1) (32)
alpha=a3>>Max(0,log2(abs(a3))–6)
k=13–Max(0,log2(abs(alpha))–6)
beta=(C–((a*L)>>k)+(1<<(k2–1)))>>k2
predSamples[x,y]=Clip1C(((pY′[x,y]*alpha)>>k)+beta)其中
x,y=0..nS-1
应注意,本文描述涉及的方程式、代码和/或伪代码可通过任意编码或编程语言实现,例如C/C++语言、Java、Perl、Python、Matlab、Verilog、超高速集成电路硬件描述语言(VHDL)、任意其他语言、或其任意组合。进一步,本文所用的中间变量可能有或没有一个对应的物理量。变量符号可更改,而不会违背本发明的原则。在实施方式中,如果一个变量的计算不依赖于另一个变量,则该变量的计算在另一个变量之前或之后都可以。如果一个变量的计算依赖于另一个变量,则该变量必须在另一个变量之后计算。此外,可能有多种生成预测色度样本的方法,这些方法可使用相同或不同的中 间变量和算法。例如,在确定lmDiv的值时,一部分伪代码可变为通过方程式(31)来计算,而不使用查找表(如表3)。在一个实施例中,以上伪代码中的方程式(32)可替换为下面的方程式(33)和(34),伪代码的其他部分保持不变。
lmDiv=(1<<15+a2s/2)/a2s (33)
a3=a2s<32?0:Clip3(-215,215-1,a1s*lmDiv+(1<<(k1–1))>>k1) (34)
如上所述,YUV采样率4:2:0要求使用重建亮度样本作为参考样本之前要进行滤波,其他不要求滤波或二次采样的采样率或者有不同的滤波方案。例如,当采样率为4:4:4时,每个重建亮度样本都可以直接作为参考样本,无需进一步滤波或缩减像素采样。在这种情况下,当前色度块和其对应的亮度块大小相同,皆为nS×nS(根据情况需要,或者是2nS×2nS)。进一步,pY′[x,y]=recSamplesL[x,y],其中x,y=-1..nS-1。或者,因为不再需要滤波,可直接略过pY′[x,y],在后续计算中直接改用recSamplesL[x,y]。
在一项编码快采样率为4:4:4的LM模式实施例中,预测的色度样本可以通过重建亮度样本和色度样本生成,生成使用以下方程式和/或伪代码(其中,lmDiv的值从一个32个表项的查找表中查询得到):
k3=Max(0,BitDepthC+log2(nS)–14)
k2=log2((2*nS)>>k3)
a1=(LC<<k2)–L*C
a2=(LL<<k2)–L*L
k1=Max(0,log2(abs(a2))–5)–Max(0,log2(abs(a1))–14)+2
a1s=a1>>Max(0,log2(abs(a1))–14)
a2s=abs(a2>>Max(0,log2(abs(a2))–5))
a3=a2s<32?0:Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1)
alpha=a3>>Max(0,log2(abs(a3))–6)
k=13–Max(0,log2(abs(alpha))–6)
beta=(C–((a*L)>>k)+(1<<(k2–1)))>>k2
predSamples[x,y]=Clip1C(((recSamplesL[x,y]*alpha)>>k)+beta)其中
x,y=0..nS-1
应注意,在实施方式中,部分方程式和/或伪代码可更改,而不会违背本发明的原则。例如,在生成一个预测的色度样本时,lmDiv的值可通过以上所述的方程式确定,而无需使用lmDiv查找表。
在使用中,可以测试公开的lmDiv查找表的实施例并将其与HEVC测试 模型(HM)锚点进行比较。将lmDiv查找表表项数量从63减少到56或32之后,要评估编码性能,在内部高效(HE)配置下分别使用具有56个表项和32个的lmDiv查找表进行了模拟测试。测试结果包括颜色空间的三个元件的分辨率分类(A、B、C、D、E和F)的平均百分比BD(BjontegaardDelta)率,以及加密(Enc)和解密(Dec)次数。在A类中,只测试输入位深为8的视频序列。在模拟测试中,比较了使用公开LM模式与用在HM5.0锚点中的LM模式的帧内预测BD率,其中LM模式使用一个含有63个表项的lmDiv查找表。
表4比较了使用含有56个表项lmDiv查找表和用在HM5.0锚点中的帧内预测。结果显示测试用例的平均BD率几乎没有变化。例如,在全内部HE模式下,U元件的A、B、C、D和E类平均BD率减小了0.01%,V元件的A、B、C、D和E类平均BD率增大了0.03%。进一步,与HM5.0锚点相比,测试用例的编码(Enc)时间相同,解码(Dec)时间增加了大约1%。
表4含有56个表项的查找表V.S.HM5.0锚点的测试结果
表5比较了使用含有32个表项lmDiv查找表和用在HM5.0锚点中的帧内预测。结果显示测试用例的平均BD率几乎没有变化。例如,在全内部HE模式下,U元件和V元件的A、B、C、D和E类平均BD率都减小了0.01%。BD率的减小说明在视频失真相同的情况下需要更低的比特率,标志着视频编码的质量稍有提高。进一步,与HM5.0锚点相比,测试用例的编码(Enc)时间相同,解码(Dec)时间减少了大约1%。
表5含有32个表项的查找表V.S.HM5.0锚点的测试结果
表4和表5的模拟测试结果表明,lmDiv查找表表项减少可以得到与HM5.0锚点相似的编码性能,又节约了存储空间。
图3是一个使用公开LM模式的帧内预测方法300的流程图。帧内预测方法300可通过视频编码器(例如,图1中的视频编码器100)或视频解码器(例如,图2中的视频编码器200)实现。方法300从步骤310开始,在该步骤中可收到由一个当前色度块组成的视频帧或片段。视频帧也可包含已编码的块,包括一个对应于当前色度块的重建亮度块、与相应亮度块相邻的重建亮度样本以及一个与当前色度块相邻的重建色度样本。相应的亮度块由许多重建亮度样本组成。
接下来,在步骤320中,重建亮度样本经过滤波或缩减像素采样来生成经滤波的亮度样本,这些亮度样本会用作参考样本。在滤波之后,相应重建亮度块的宽带被减半至与当前色度块的宽度相等。例如,在采样率4:2:0下需要对亮度元件进行滤波或缩减像素采样。在其他采样率(例如,4:4:4)下,重建亮度样本无需滤波或缩减像素采样,可直接用作参考样本。在这种情况下,可略过步骤320。
接下来,在步骤330中,中间变量如L、C、LL和LC的计算可以基于经滤波的亮度样本以及重建色度样本。中间变量可使用本文介绍的方程式和/或伪代码计算得出。接下来,在步骤340中,中间变量包括a2s可基于先前计算出的中间变量计算得出。然后,在步骤350中,中间变量lmDiv的值可从a2s确定或推导出。lmDiv的推导可基于lmDiv查找表,该表可包括56或23个a2s或lmDiv表项。在一项实施例中,如果a2s小于8,不需推导lmDiv。相反,一个取决于lmDiv的附加变量a3应等于0。在另一项实施例中,如果a2s小于32,量a3应等于0。
接下来,在步骤360中,预测的色度样本可基于先前确定的中间变量计算得出。预测的色度样本组成了当前色度块的预测块。应理解,方法300可能仅包含需要完成LM模式的一部分中间变量,因此其他中间变量,例如k、k1、k2、k3、α和β等可以在必要的地方并入到帧内预测过程中。中间变量符号可更改,而不会违背本发明的原则。
上文所述的方案可以在任意通用计算机系统上实施,例如,计算机或网络组件,其具有足够的处理能力、存储资源以及网络吞吐能力以处理其上的必要工作量。图4是通用计算机系统400的示意图,该计算机系统400适用于实施本文所公开的方法的一个或多个实施例,例如,视频编码器100、视频解码器200以及帧内预测方法300。计算机系统400包含处理器402(也可 称为中央处理单元或CPU),所述处理器与包含以下项的存储设备通信:辅助存储器404、只读存储器(ROM)406、随机存取存储器(RAM)408以及输入/输出(I/O)设备412。虽然处理器402作为单个处理器进行描述,但其并不限于此而是可以包括多个处理器。处理器402可以实施为一个或多个CPU芯片、核(如多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC),和/或数字信号处理器(DSP),并且/或者可以是一个或多个ASIC的一部分。处理器402可以用于实施本文所述的任何方案,包括伪代码的实现,例如本文中描述的视频编码器100、视频解码器200以及帧内预测方法300。处理器402可以使用硬件或软硬件的组合来实施。
辅助存储器404通常包括一个或多个磁盘驱动器或磁带驱动器,用于数据的非易失性存储,而且如果RAM408的容量不足以存储所有工作数据,所述辅助存储器则用作溢流数据存储设备。辅助存储器404可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM408中。ROM406用于存储在程序执行期间读取的指令以及可能读取的数据。ROM406为非易失性存储设备,其存储容量相对于辅助存储器404的较大存储容量而言通常较小。RAM408用于存储易失性数据,还可能用于存储指令。对ROM406和RAM408二者的存取通常比对辅助存储器404的存取快。
发射器/接收器410可用作视频编解码器400的输出和/或输入设备。例如,如果发射器/接收器410用作发射器,则其可将数据传出计算机系统400。如果发射器/接收器410用作接收器,其可将数据传入计算机系统400。发射器/接收器410可采用以下形式:调制解调器、调制解调器银行、以太网卡、通用串行总线(USB)接口卡、串行接口、令牌环卡、光纤分布式数据接口(FDDI)卡、无线局域网(WLAN)卡、无线收发器卡例如码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、和/或其他空中接口协议无线收发器卡,以及其他 公知的网络设备。这些网络连接设备1092可使处理器1082与因特网或者一个或多个内网通信。
I/O设备412可包括视频监控器、液晶显示器(LCD)、触屏显示器或其它类型的用于显示视频的视频显示器,也可包含捕获视频的视频录像设备。I/O设备412可包括一个或多个键盘、鼠标、轨迹球或其他公知的输入设备。
应理解,通过将可执行指令编程和/或加载至计算机系统400,处理器402、辅RAM408和ROM406中的至少之一被改变,将计算机系统400的一部分转换成特定机器或装置(如本发明宣扬的具有全新功能的视频编解码器)。加载可执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件设计更为昂贵。一般来说,稳定及大规模生产的设计更适于在如专用集成电路(ASIC)这样的硬件中实施,因为运行硬件实施的大规模生产比软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过公知设计规则变换成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。由新ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
本发明公开至少一项实施例,且本领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。本发明公开至少一项实施例,且本领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。本发明公开至少一项实施例,且本领域的普通技术人员对所述实施例和 /或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。例如,每当公开具有下限Rl和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,特别公开所述范围内的以下数字:R=Rl+k*(Ru-Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%、……、70%、71%、72%、……、95%、96%、97%、98%、99%或100%。此外,还特此公开了,上文定义的两个R值所定义的任何数值范围。除非另有说明,否则术语“约”是指随后数字的±10%。相对于权利要求的某一要素,术语“可选择”的使用表示该要素可以是“需要的”,或者也可以是“不需要的”,二者均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由…组成”、“基本上由…组成”以及“大体上由…组成”等较窄术语的支持。因此,保护范围不受上文所述的限制,而是由所附权利要求书定义,所述范围包含所附权利要求书的标的物的所有等效物。每项和每条权利要求作为进一步公开的内容并入说明书中,且权利要求书是本发明的实施例。所述揭示内容中的参考的论述并不是承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的公开内容在此以引用的方式并入本文本中,其对本发明提供示例性、程序性或其他细节补充。
虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其他多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离 散或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦接或直接耦接或通信的其他项也可以采用电方式、机械方式或其他方式通过某一接口、装置或中间部件间接地耦接或通信。其他变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。
Claims (34)
1.一种视频编解码器,其特征在于,所述视频编解码器包括:
一种处理器和存储器,所述处理器被配置为:
为一个色度块生成一个预测块,其中预测块包括一个预测的色度样本,所述预测的色度样本基于:
位于相应重建亮度块上的第一个重建亮度样本;
位于相应重建亮度块的一个相邻块上的第二个重建亮度样本;以及
一个查找表,所述查找表的索引值基于第二个重建亮度样本,其中索引值数量小于63;
所述查找表的索引值,表示为a2s,决定所述查找表中的一个中间变量的值,表示为lmDiv,其中所述查找表中索引的数量为56,其中包括取值范围为8~63的56个a2s表项;或者,其中查找表中索引的数量为32,其中包括取值范围为32~63的32个a2s表项;
所述存储器用于存储查找表。
2.根据权利要求1所述的视频编解码器,其特征在于,当查找表中索引数量为56,表中有取值范围为8~63的56个a2s表项,并且a2s的值小于8时,lmDiv为0。
3.根据权利要求1所述的视频编解码器,其特征在于,当所述查找表中索引数量为32,表中有取值范围为32~63的32个a2s表项,并且a2s的值小于32时,lmDiv为0。
4.根据权利要求3所述的视频编解码器,其特征在于,所述查找表为:
。
5.根据权利要求1所述的视频编解码器,其特征在于,所述色度块的宽度是所述相应重建亮度块宽度的一半。
6.根据权利要求1所述的视频编解码器,其特征在于,生成预测的色度样本包括:
对第一批重建亮度样本进行滤波以生成第一个经滤波的亮度样本;以及
对第二批重建亮度样本进行滤波以生成第二个经滤波的亮度样本。
7.根据权利要求3所述的视频编解码器,其特征在于,生成所述预测的色度样本进一步包括通过以下方程式计算一个中间变量,表示为a3:
a3=a2s<32?0:
Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1),
其中,其他中间变量a1s和k1的值取决于第二个重建亮度样本以及位于色度块的相邻块上的一个重建色度样本。
8.根据权利要求7所述的视频编解码器,其特征在于,中间变量C、L、a、k、k2、α和β的值取决于至少第二个重建亮度样本和重建色度样本中的一个,其中基于第一个重建亮度样本生成的一个经滤波的亮度样本表示为p[x,y],预测的色度样本表示为predSamples[x,y],所述预测的色度样本的生成通过以下方程式完成:
alpha=a3>>Max(0,log2(abs(a3))–6);
k=13–Max(0,log2(abs(alpha))–6);
beta=(C–((a*L)>>k)+(1<<(k2–1)))>>k2;以及
predSamples[x,y]=Clip1C(((pY′[x,y]*alpha)>>k)+beta),with
x,y=0..nS-1,
其中,函数Clip1C(x)定义为:
Clip1C(x)=Clip3(0,(1<<BitDepthC)–1,x),
其中,BitDepthC表示色度块的一个输入位深。
9.根据权利要求8所述的视频编解码器,其特征在于,所述输入位深等于8或10。
10.根据权利要求7所述的视频编解码器,其特征在于,所述色度块的宽度不小于4且不大于16。
11.根据权利要求3所述的视频编解码器,其特征在于,所述色度块的宽度等于所述相应重建亮度块的宽度。
12.根据权利要求2所述的视频编解码器,其特征在于,生成一批预测的色度样本进一步包括:
通过以下方程式计算一个中间变量a3:
a3=a2s<8?0:
Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1)
其中,其他中间变量a1s和k1的值取决于第二个重建亮度样本以及位于色度块的相邻块上的一个重建色度样本。
13.根据权利要求12所述的视频编解码器,其特征在于,所述查找表为:
。
14.根据权利要求3所述的视频编解码器,其特征在于,处理器被进一步配置为:
接收所述色度块;
生成代表色度块与预测块之间差值的残余块;以及
熵编码残余块以生成一个编码的残余块,
其中,视频编解码器还包括一个与处理器耦合的发射器,所述发射器被配置用来传送编码的残余块。
15.根据权利要求3所述的视频编解码器,其特征在于,所述视频编解码器还包括:
一个与处理器耦合的接收器,所述接收器被配置用来接收编码的残余块;
所述处理器进一步被配置为:
将编码的残余块解码以生成一个解码的残余块;以及
将解码的残余块与预测块结合起来以生成色度块。
16.一种用于视频编码的方法,其特征在于,所述方法包括:
为色度块生成预测块,其中预测块包括预测的色度样本,所述预测的色度样本基于:
位于相应重建亮度块上的第一个重建亮度样本;
位于相应重建亮度块的一个相邻块上的第二个重建亮度样本;以及
查找表,所述查找表的索引值基于第二个重建亮度样本,其中索引值数量小于63;
所述查找表的每一索引值,表示为a2s,决定一个中间变量的值,表示为lmDiv,所述查找表中索引的数量为56,其中包括取值范围为8~63的56个a2s表项;或者,所述查找表中索引的数量为32,其中包括取值范围为32~63的32个a2s表项。
17.根据权利要求16所述的方法,其特征在于,当查找表中索引数量为56,表中有取值范围为8~63的56个a2s表项,并且a2s的值小于8时,lmDiv为0。
18.根据权利要求16所述的方法,其特征在于,当所述查找表中索引数量为32,表中有取值范围为32~63的32个a2s表项,并且a2s的值小于32时,lmDiv为0。
19.根据权利要求18所述的方法,其特征在于,所述查找表为:
。
20.根据权利要求18所述的方法,其特征在于,生成预测的色度样本包括:
通过以下方程式计算一个中间变量a3:
a3=a2s<32?0:
Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1),
其中,其他中间变量a1s和k1的值取决于第二个重建亮度样本以及位于色度块的相邻块上的一个重建色度样本。
21.根据权利要求18所述的方法,其特征在于,所述色度块的宽度是所述相应重建亮度块宽度的一半。
22.根据权利要求16所述的方法,其特征在于,所述方法还包括:
接收色度块;
生成代表色度块与预测块之间差值的残余块;
熵编码残余块以生成一个编码的残余块;以及
传送编码的残余块。
23.根据权利要求16所述的方法,其特征在于,所述方法还包括:
接收一个编码的残余块;
将编码的残余块解码以生成一个解码的残余块;以及
将解码的残余块与预测块结合起来以生成色度块。
24.一种视频编解码器,其特征在于,所述视频编解码器包括:
处理器和存储器,所述处理器被配置为:
为色度块生成预测块,其中预测块包括一批预测的色度样本,每一个所述预测的色度样本都基于:
位于相应重建亮度块上的第一批重建亮度样本;
位于相应重建亮度块的相邻块上的第二批重建亮度样本;以及
位于色度块的相邻块上的一批重建色度样本;
其中,预测的色度样本的生成包括:
基于第二批重建亮度样本计算第一个中间变量;
根据第一个中间变量推导出第二个中间变量,其中如果第一个中间变量小于8,所述第二个中间变量被设为0;或者,如果第一个中间变量小于32,将第二个中间变量设为0;
所述存储器用于存储查找表。
25.根据权利要求24所述的视频编解码器,其特征在于,所述第二个中间变量,表示为lmDiv,是基于第一个中间变量,表示为i,推导出来的过程如下:
UInt lmDiv[32];
for(Int i=32;i<64;i++)
lmDiv[i]=((1<<15)+i/2)/i。
26.根据权利要求24所述的视频编解码器,其特征在于,所述第二个中间变量,表示为lmDiv,基于第一个中间变量,表示为i,推导出来的过程如下:
UInt lmDiv[32];
for(Int i=32;i<64;i++)
lmDiv[i]=(1<<(BitDepthC+4)+i/2)/i,
其中,BitDepthC表示色度块的输入位深。
27.根据权利要求24所述的视频编解码器,其特征在于,第一个中间变量表示为a2s,第二个中间变量表示为a3,使用以下方程式进行推导:
a3=a2s<32?0:
Clip3(-215,215-1,a1s*lmDiv[a2s]+(1<<(k1–1))>>k1),
其中,其他中间变量a1s和k1的值取决于第二批重建亮度样本以及位于色度块的相邻块上的一批重建色度样本。
28.根据权利要求24所述的视频编解码器,其特征在于,生成一批预测的色度样本进一步包括:
对第一批重建亮度样本进行滤波以生成第一批经滤波的亮度样本;以及
对第二批重建亮度样本进行滤波以生成第二批经滤波的亮度样本。
29.一种视频编解码器,其特征在于,所述视频编解码器包括:
处理器和存储器,所述处理器被配置为:
为色度块生成预测块,其中预测块包括预测的色度样本,所述预测的色度样本基于:
位于相应重建亮度块上的第一个重建亮度样本;
位于相应重建亮度块的一个相邻块上的第二个重建亮度样本;以及
与输入索引相关的方程式和一个中间变量,所述输入索引是基于第二个重建亮度样本得到的,方程式的输入索引数量小于63;
其中,当所述输入索引数量为56,其中包括取值范围为8~63的56个输入索引i,并且i的值小于8时,lmDiv为0;或者,当所述输入索引数量为32,其中包括取值范围为32~63的32个输入索引i,并且i的值小于32时,lmDiv为0;
所述存储器用于存储查找表。
30.根据权利要求29所述的视频编解码器,其特征在于,方程式为:lmDiv[i]=((1<<15)+i/2)/i;输入索引,表示为i,的每个值都决定了中间变量,表示为lmDiv,的值,方程式中输入索引的数量为56,其取值范围为8~63。
31.根据权利要求29所述的视频编解码器,其特征在于,方程式为:lmDiv[i]=((1<<15)+i/2)/i;输入索引,表示为i,的每个值都决定了中间变量,表示为lmDiv,的值,方程式中输入索引的数量为32,其取值范围为32~63。
32.根据权利要求31所述的视频编解码器,其特征在于,方程式的输入索引i数量为32,其取值范围为32~63,lmDiv推导如下:if(i<32),lmDiv=0。
33.根据权利要求32所述的视频编解码器,其特征在于,lmDiv推导如下:if(i>=32),lmDiv[i]=((1<<15)+i/2)/i。
34.根据权利要求32所述的视频编解码器,其特征在于,lmDiv推导如下:if(i>=32),lmDiv[i]=(1<<(BitDepthC+4)+i/2)/i其中,
BitDepthC表示色度块的一个输入位深。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261588399P | 2012-01-19 | 2012-01-19 | |
US61/588,399 | 2012-01-19 | ||
PCT/US2013/022159 WO2013109901A1 (en) | 2012-01-19 | 2013-01-18 | Reduced look-up table for lm mode calculation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104255033A CN104255033A (zh) | 2014-12-31 |
CN104255033B true CN104255033B (zh) | 2018-02-06 |
Family
ID=47720722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380006005.9A Active CN104255033B (zh) | 2012-01-19 | 2013-01-18 | 用于lm模式计算的简化查找表 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9438904B2 (zh) |
EP (2) | EP3416388A1 (zh) |
CN (1) | CN104255033B (zh) |
WO (1) | WO2013109901A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11553211B2 (en) * | 2013-01-03 | 2023-01-10 | Disney Enterprises, Inc. | Heuristic detection of potential digital media artifacts and defects in digital media assets |
CN104871537B (zh) * | 2013-03-26 | 2018-03-16 | 联发科技股份有限公司 | 色彩间帧内预测的方法 |
WO2015131330A1 (en) * | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths |
MX365498B (es) | 2014-03-04 | 2019-06-05 | Microsoft Technology Licensing Llc | Conmutacion adaptativa de espacios de color, frecuencias de muestreo de color y/o profundidades de bits. |
CN105432077B (zh) | 2014-03-27 | 2017-12-29 | 微软技术许可有限责任公司 | 在切换色彩空间时调整量化/缩放和逆量化/缩放 |
CN105960802B (zh) * | 2014-10-08 | 2018-02-06 | 微软技术许可有限责任公司 | 切换色彩空间时对编码和解码的调整 |
JP6937695B2 (ja) * | 2015-01-30 | 2021-09-22 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | カラー・ピクチャを符号化および復号する方法および装置 |
EP3113496A1 (en) | 2015-06-30 | 2017-01-04 | Thomson Licensing | Method and device for encoding both a hdr picture and a sdr picture obtained from said hdr picture using color mapping functions |
US10477240B2 (en) * | 2016-12-19 | 2019-11-12 | Qualcomm Incorporated | Linear model prediction mode with sample accessing for video coding |
US11190762B2 (en) * | 2017-06-21 | 2021-11-30 | Lg Electronics, Inc. | Intra-prediction mode-based image processing method and apparatus therefor |
UA126871C2 (uk) * | 2018-02-14 | 2023-02-15 | Долбі Лабораторіс Лайсензін Корпорейшн | Перетворення зображення в кодуванні відео з використанням оптимізації залежності викривлення від швидкості передачі |
CN110858903B (zh) * | 2018-08-22 | 2022-07-12 | 华为技术有限公司 | 色度块预测方法及装置 |
CN110876061B (zh) * | 2018-09-03 | 2022-10-11 | 华为技术有限公司 | 色度块预测方法及装置 |
KR102708719B1 (ko) * | 2018-10-12 | 2024-09-24 | 삼성전자주식회사 | 교차성분 선형 모델을 이용한 비디오 신호 처리 방법 및 장치 |
EP3861728A4 (en) * | 2018-11-06 | 2022-04-06 | Beijing Bytedance Network Technology Co., Ltd. | COMPLEXITY REDUCTION IN A DERIVATION OF PARAMETERS FOR AN INTRA PREDICTION |
CN113170122B (zh) | 2018-12-01 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 帧内预测的参数推导 |
CN113396591A (zh) * | 2018-12-21 | 2021-09-14 | Vid拓展公司 | 针对用于基于模板的视频译码的改进的线性模型估计的方法、架构、装置和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494782A (zh) * | 2008-01-25 | 2009-07-29 | 三星电子株式会社 | 视频编码方法和设备以及视频解码方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101789634B1 (ko) | 2010-04-09 | 2017-10-25 | 엘지전자 주식회사 | 비디오 데이터 처리 방법 및 장치 |
CN103918265B (zh) * | 2011-11-07 | 2018-09-18 | 英特尔公司 | 跨通道残余预测 |
-
2012
- 2012-12-31 US US13/732,249 patent/US9438904B2/en active Active
-
2013
- 2013-01-18 EP EP18186470.3A patent/EP3416388A1/en not_active Withdrawn
- 2013-01-18 CN CN201380006005.9A patent/CN104255033B/zh active Active
- 2013-01-18 WO PCT/US2013/022159 patent/WO2013109901A1/en active Application Filing
- 2013-01-18 EP EP13704647.0A patent/EP2805503A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494782A (zh) * | 2008-01-25 | 2009-07-29 | 三星电子株式会社 | 视频编码方法和设备以及视频解码方法和设备 |
Non-Patent Citations (1)
Title |
---|
WD5: Working Draft 5 of High-Efficiency Video Coding;Benjamin Bross et al.;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting》;20111130;第1-238页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2013109901A1 (en) | 2013-07-25 |
EP3416388A1 (en) | 2018-12-19 |
CN104255033A (zh) | 2014-12-31 |
US20130188696A1 (en) | 2013-07-25 |
EP2805503A1 (en) | 2014-11-26 |
US9438904B2 (en) | 2016-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104255033B (zh) | 用于lm模式计算的简化查找表 | |
CN104380741B (zh) | 用于lm帧内预测的参考像素缩减 | |
CN104718759B (zh) | Lm模式的简化 | |
CN104205845B (zh) | 具有统一位宽乘法器的lm模式 | |
CN108028919B (zh) | 一种视频或者图像编解码的方法及装置 | |
CN104702962B (zh) | 帧内编解码方法、编码器和解码器 | |
CN103650496B (zh) | 用于在hevc中编码的基于像素的帧内预测 | |
CN103797800B (zh) | 推导参考模式值以及编码和解码表示预测模式的信息 | |
CN104185989B (zh) | 用于帧内预测残差的二值化方案和hevc中无损编码中的改进帧内预测 | |
CN104041035B (zh) | 用于复合视频的无损编码及相关信号表示方法 | |
CN104247422B (zh) | 用于改进帧内预测的新的角度表的方法和装置 | |
KR101868247B1 (ko) | 영상 부호화, 복호화 방법 및 장치 | |
CN106170092A (zh) | 用于无损编码的快速编码方法 | |
CN104350752B (zh) | 用于高性能视频编码中的无损编码模式的环内滤波的装置 | |
CN107087170A (zh) | 编码设备、编码方法、解码设备和解码方法 | |
KR102598789B1 (ko) | 비디오 코딩에서의 필터링을 위한 장치 및 방법 | |
CN107113438A (zh) | 帧内编码模式 | |
CN104704826B (zh) | 两步量化和编码方法和装置 | |
CN116320417A (zh) | 视频编码方法和装置 |
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 |