CN104205845A - 具有统一位宽乘法器的lm模式 - Google Patents
具有统一位宽乘法器的lm模式 Download PDFInfo
- Publication number
- CN104205845A CN104205845A CN201380015504.4A CN201380015504A CN104205845A CN 104205845 A CN104205845 A CN 104205845A CN 201380015504 A CN201380015504 A CN 201380015504A CN 104205845 A CN104205845 A CN 104205845A
- Authority
- CN
- China
- Prior art keywords
- chroma
- reconstruction
- block
- luma samples
- intermediate variable
- 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
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本发明包括一种视频编解码器,包括,一种处理器,用于根据位于对应重建亮度块的邻近块中并与对应重建亮度块相邻的多个重建亮度样本,和位于色度块的邻近块中并与色度块相邻的多个重建色度样本,为色度块生成预测的色度样本,其中,生成预测的色度样本包括计算多个乘法器,多个乘法器中的每个乘法器的位宽不大于色度块的输入位深,生成预测的亮度样本无需位宽大于色度块的输入位深的任何乘法器。
Description
相关申请案交叉申请
本发明要求2012年4月12日由刘凌志(Lingzhi Liu)递交的发明名称为“具有统一位宽乘法器的LM模式(LM Mode with Uniform Bit-WidthMultipliers)”的第61/623249号美国临时专利申请案的在先申请优先权,以及2013年3月13日由Lingzhi Liu递交的发明名称为“具有统一位宽乘法器的LM模式(LM Mode with Uniform Bit-Width Multipliers)”的第13/802525号美国专利申请案的在先申请优先权。这些在先申请的内容以全文引入的方式并入本文中。
关于由联邦政府赞助的
研究或开发的声明
不适用。
缩微平片附件的引用
不适用。
背景技术
即使在影片相对较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中流过或以其他方式传送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中传送。视频压缩装置通常在源处使用软件和/或硬件,以在传送之前对视频数据进行编码,从而减少用来表示数字视频图像所需的数据量。接着,压缩数据在目的地处由视频解压装置接收,该视频解压装置用于对视频数据进行解码。由于网络资源有限,因此需要能提高压缩比和/或降低实施复杂性但大体上不会降低图像质量的压缩和解压技术。例如,亮度预测模式(通常称为线性模型或方法(LM)模式)中的现有色度算法需要许多复杂的计算。因此,需要降低LM模式的计算复杂性。
发明内容
在一项实施例中,本发明包含一种视频编解码器(编码器和/或解码器),包括,一种处理器,用于基于位于对应重建亮度块的邻近块中并与对应重建亮度块相邻的多个重建亮度样本和位于色度块的邻近块中并和色度块相邻的多个重建色度样本,为色度块生成预测的色度样本,其中,生成预测的色度样本包括计算多个乘法器,多个乘法器中的每个乘法器的位宽不大于色度块的输入位深,生成预测的色度样本无需位宽大于色度块的输入位深的任何乘法器。
在另一项实施例中,本发明包含一种在视频编码中使用的方法,包括,基于位于对应重建亮度块的邻近块中并与对应重建亮度块相邻的多个重建亮度样本和位于色度块的邻近块中并与色度块相邻的多个重建色度样本,为色度块生成预测的色度样本,其中,生成预测的色度样本包括计算多个乘法器,多个乘法器中的每个乘法器的位宽不大于色度块的输入位深,生成预测的色度样本无需位宽大于色度块的输入位深的任何乘法器。
在又一项实施例中,本发明包含一种在视频编码中使用的装置,包括,一种处理器,用于计算位于对应色度块的邻近块中并与色度块相邻的多个重建色度样本的均值的地板函数,计算位于对应重建亮度块的邻近块中并与对应重建亮度块相邻的多个重建亮度样本的均值的地板函数,其中第一和第二地板函数为第一及第二乘法器,计算多个额外的乘法器,至少一些乘法器基于多个重建色度样本和多个重建亮度样本,和基于所有的乘法器为色度块计算预测的色度样本,其中,每个乘法器的位宽不大于色度块的输入位深,计算预测的色度样本无需位宽大于色度块的输入位深的任何乘法器。
结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表示相同部分。
图1是视频编码系统的实施例的示意图。
图2是视频解码系统的实施例的示意图。
图3为所揭示的线性方法(LM)模式中的帧内预测方法的实施例的流程图。
图4A和4B示出了所揭示的算法与高性能视频编码(HEVC)测试模型(HM)6.0锚点的比率失真(RD)曲线。
图5是通用计算机系统的示意图。
具体实施方式
首先应该理解的是,尽管下面提供了一种或多种实施例的示例性实现方式,本发明公开的系统和/或方法可通过多种其他已知的或存在的技术实现。本发明决不应限于下文所说明的所述说明性实施方案、图式和技术,包含本文所说明并描述的示范性设计和实施方案,而是可以在所附权利要求书的范围以及其均等物的完整范围内修改。
通常,视频媒体涉及相对较快地连续显示一系列静态图像或帧,从而使观察者感觉到运动。每个帧可以包括多个图像元素或像素,每个图像元素或像素可以表示帧中的单个参考点。在数字处理期间,每个像素可以被分配一个整数值(例如,0、1、……、255),所述整数值表示对应参考点处的图像质量或颜色。颜色空间可由三个分量表示,包含一个亮度(luma或者Y)分量和两个表示为Cb和Cr(或者有时为U和V)的色度(chroma)分量。通常使用位以二进制形式存储和处理亮度或者色度整数值。用来表示亮度或者色度值的位数可称为位深或者色深。
在使用中,图像或视频帧可以包括大量像素(例如,在1920x1080的帧中包括2,073,600个像素),因此对每个像素进行独立的编码和解码(下文一般称为编码)可能是繁琐且低效的。为了提高编码效率,通常将视频帧分成多个矩形块或宏块,每个矩形块或宏块都可以用作编码、预测、变换以及量化等处理的基本单元。例如,典型的NxN的块可以包括N2个像素,其中N是大于1的整数,并且通常是4的倍数。在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等其他采样率。
视频帧中的块可以与同一个帧内的其他块空间相关,使得一些块内的像素值可略有不同和/或者呈现出重复的纹理。现代视频压缩方法使用各种技术来利用这些空间相关性,这些技术可以统称为帧内部预测(或简称为帧内预测)。当使用帧内预测对当前块进行编码时,基于一个或多个先前编码的参考块来生成预测块或者预测单元。预测块可以是当前块的估计版本。残差块可以通过从预测块中减去当前块生成,或者从当前块中减去预测块生成,该残差块可以表示预测残差或误差。由于用来表示预测残差所需的数据量可能通常小于用来表示原始块所需的数据量,因此可以对残差块进行编码而不是对当前块进行编码,以实现较高的压缩比。
视频编码器或者解码器(下文一般称为编解码器)可以实现帧内预测。在编码器中,由帧内预测生成的残差块在合入编码数据流之前可进行变换、量化以及扫描。在接收已编码的数据流之后,解码器可将重建残差块添加到单独产生的预测块上,以重新创建当前块。虽然重建的当前块可能是例如由于量化导致的原始当前块的非完美版本,但是它们的差异可能是人眼几乎无法察觉的。因此,可以节省大量的位,而不会显著降低重建图像的质量。
在邻近块完全相同或近乎完全相同的视频区域中,使用帧内预测可能产生包含许多零和/或接近零的像素值的残差块。此外,残差块的变换、量化和/或扫描可以从已编码的数据流中移除许多零和/或接近零的系数,从而进一步压缩视频数据。因此,对原始图像进行更精确的预测可以得到更高的编码效率。为了提高帧内预测的精确性,视频/图像编码标准可以使用多个帧内预测模式。例如,对于色度分量(包含Cr和Cb)而言,在HEVC中可以使用多达六个帧内预测模式,HEVC将准备作为由国际电信联盟(ITU)电信标准化部门(ITU-T)和国际标准化组织(ISO)/国际电工技术委员会(IEC)活动图像专家组(MPEG)的视频编码联合协作小组(JCT-VC)发布的下一个视频标准。
对于色度分量而言,六个帧内预测模式可以包含来自亮度分量的亮度预测模式(通常称为LM模式)、垂直预测模式、水平预测模式、对角模式、直流(DC)预测模式、直接模式(DM)的色度。可以使用各种算法为色度块确定最佳帧内预测模式。例如,编码器可以使用一些或所有可用模式测试帧内预测色度块,然后针对每个预测模式来计算绝对误差之和(SAE)。可以选择产生最小SAE的预测模式作为最佳模式。应注意,在待发布的最终HEVC标准中,用于色度分量的帧内预测模式可以不同于上述六种模式。本发明主要涉及LM模式。
根据文件号为JCTVC-G1103_d9、标题为“WD5:高性能视频编码的工作草案5(WD5:Working Draft 5 of High-Efficiency Video Coding)”的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×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)
–1]+recSamplesL[2x+1,–1]+2)>>2,with x=0...nS–1
pY'[–1,y]=(recSamplesL[–1,2y]+recSamplesL[–1,2y+1])>>1,with
(2)
y=0...nS–1
pY'[x,y]=(recSamplesL[2x,2y]+recSamplesL[2x,2y+1])>>1,with x,
(3)
y=0...nS–1
之后,通过表示alpha(α)和beta(β)的中间变量,使用以下等式可以计算预测的色度样本(即,predSamples[x,y],其中x,y=0...nS–1):
predSamples[x,y]=alpha*p'Y[x,y]+beta,with x,y=0...nS-1 (6)
等式(4)到(6)中,注意预测色度样本的最终值取决于已经编码的亮度和色度分量。在亮度分量中,要考虑左侧邻近列、顶部邻近行及对应亮度块中的过滤的亮度样本。在色度分量中,要考虑左侧邻近列和顶部邻近行中的重建色度样本。
计算等式(4)中的alpha和等式(5)中的beta非常复杂,因此,实践上,使用等式(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*1mDiv[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可以代表alpha,等式(21)中的变量b可以代表beta。获取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后,使用a2s作为查找表的索引或键值获取lmDiv的值,lmDiv的值随后在等式(18)中使用。
表1所示为lmDiv查找表的规格,所述lmDiv查找表列为工作草案JCTVC-G1103_d9中的表8-9。尽管表1中列出了64个a2s条目,实际上,在LM模式计算中,可能仅使用值为1-63的63个a2s条目。
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)
尽管可以使用以上等式生成预测的色度样本,由于在推导过程中存在具有大且不同位宽的乘法器(可以定义术语“乘法器”为一个变量或量乘以另一变量或量),算法的复杂性可能很高。例如,根据HEVC测试模型(HM)的配置,当前色度块的大小可以是nS,取值范围为4≤nS≤16,亮度和色度分量的输入位深可以是8或10。假设,例如,输入位深为8(可以以类似方式分析位深10),邻近的过滤的亮度样本的位宽(pY'[–1,y]和pY'[x,–1])及邻近的重建色度样本(p[–1,y]和p[x,–1])都为8。由于HM中最大nS为16(即,24),等式(8)中计算的中间变量L可以最多有13位(即,8+4+1)。类似地,等式(9)中计算的中间变量C也可以最多有13位。
在等式(10)中,计算LL使用具有最多8位的2*nS个无符号乘法器(即,pY'[–1,y]和pY'[x,–1])。因此,LL可以最多有21(即,2*8+4+1)位。类似地,在等式(11)中,LC也可以最多有21位。随后,在等式(13)中,计算a1涉及LC的位移以及L和C的乘法运算。由于乘法器L和C可以最多有13位,L*C的乘积可以最多有26位。因此,等式(13)可以具有13位乘法器(即,L和C)以及26位减法器(即,L*C)。类似地,等式(14)中a2的计算可以涉及13位乘法器(即,L)以及26位减法器(即,L*L)。
根据等式(12),由于k2可以最多有5位,所以a1和a2可以最多有26位(不包含可能符号位)。随后,使用a1计算a1s,a1s可以最多有15位,使用a2计算a2s,随后使用a2s作为lmDiv查找表的索引来确定lmDiv。随后使用a1s和a2s计算等式(18)中的a3。在实施方式中,a3可以看作a1/a2的整数运算版本。在等式(18)中,有符号乘法器a1s和无符号乘法器lmDiv都可以最多有15位。由于乘法器中有大量的位数,等式(18)可以是LM模式中运算最复杂的。总体而言,可以看出,先前LM模式涉及不同的乘法器,所述不同的乘法器的位宽不同。在实施方式中,具有大量不同位宽的乘法器可能会增加运算复杂性。
通过在运算中引入大量新参数,本文公开了用于提高LM模式中的帧内预测的系统和方法,运算中可以为计算中使用的乘法器统一大量位。公开的LM模式可以在视频编解码器中实施。在所述公开的LM模式中,可以计算位于当前色度块的邻近块中的重建色度样本的均值的函数(如,地板函数)。此外,在4:4:4取样中,也可以计算位于对应的重建亮度块的邻近块中的重建亮度样本的均值的函数。或者,在例如4:2:0取样中,可以计算位于邻近块中的过滤的亮度样本的均值的函数。进一步地,也可以计算由均值的向下取整导致的取整误差。通过使用这些参数,在LM模式计算中使用的所有乘法器的位宽可以不大于色度块的输入位深。通过使用公开的算法,可以降低LM模式的实施复杂性。
图1示出了视频编码器100的一项实施例,所述视频编码器中可以使用公开的LM模式。所述视频编码器100可以包括如图1所示的比率失真优化(RDO)模块110、预测模块120、变换模块130、量化模块140、熵编码器150、去量化模块160、逆变换模块170以及重建模块180。在操作时,视频编码器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模式为来自输入视频的当前色度块生成预测块。预测块包括多个预测的色度样本,基于位于对应的重建亮度块中的第一多个重建亮度样本、位于对应的重建亮度块的邻近块中的第二多个重建亮度样本、以及位于色度块的邻近块中的多个重建色度样本,可以生成多个预测的色度样本中的每个样本。在一项实施例中,生成多个预测的色度样本包含使用如早前描述的等式(17)计算中间变量a2s,a2s基于第二多个重建亮度样本。生成多个预测的色度样本进一步包含使用查找表从a2s中推导中间变量lmDiv。在实施例中,所述查找表可以包括少于63个a2s值。
在为当前色度块生成预测块时,可以从当前色度块中减去预测块,或者从预测块中减去当前色度块,以生成残差块。可以将残差块送入变换模块130中,该模块可以将残差色度样本转换为变换系数的矩阵。随后,变换系数的矩阵在被送入熵编码器150之前,可以由量化模块140进行量化。量化模块140可以改变变换系数的标度,并将系数四舍五入为整数,这可以减少非零变换系数的数目。因此,可提高压缩比。量化的变换系数可以由熵编码器150扫描并编码成编码比特流。进一步地,为了有助于色度块的连续编码,量化的变换系数也可以被送入到去量化模块160中,以恢复变换系数的原始标度。随后,逆变换模块170可以执行变换模块130的逆变换,并且生成原始残差块的噪音版本。随后,有损残差块可以被送入重建模块180中,重建模块180可以生成用于未来色度块的帧内预测的重建亮度和/或色度样本。如果需要,则可以在帧内预测之前对重建样本执行过滤。
应注意,图1可能是视频编码器的简化的图示,因此其可能只包含视频编码器中呈现的部分模块。所述领域的技术人员知道其他模块(例如,滤波器、扫描仪以及发射器)虽然未在图1中示出,但是也可以包含在内以协助视频编码。另外,根据编码方案,可以跳过视频编码器中的一些模块。例如,在对某个视频内容进行无损编码,不允许信息丢失,因此可以跳过量化模块140和去量化模块160。再例如,如果直接编码残差块而不将残差块转换为变换系数,可以跳过变换模块130和逆变换模块170。另外,在从编码器处进行传送之前,编码比特流可以配置成包含其他信息,例如视频分辨率、帧率、块分区信息(大小、坐标)、预测模式等,因此可以对视频帧的编码序列适当地进行解码。
图2示出了视频解码器200的一项实施例,所述视频解码器中可以使用公开的LM模式。视频解码器200可以对应于视频编码器100,而且可以包括如图2所示布置的熵解码器210、去量化模块220、逆变换模块230、预测模块240,以及重建模块250。在操作时,含有视频帧序列信息的编码比特流可以由熵解码器210接收,该熵解码器可以将比特流解码成未压缩格式。可以生成量化的变换系数的矩阵,随后该矩阵被送入去量化模块220中,所述去量化模块220可以与图1中的去量化模块160相同或者类似。随后,去量化模块220的输出可以被送入到逆变换模块230中,所述逆变换模块230可以将变换系数转换为残差块的残差值。此外,熵解码器210也可以对含有当前块的预测模式(例如,LM模式)的信息进行解码。基于所述预测模式,预测模块240可以生成当前块的预测块。
在一项实施例中,预测模块240用于使用公开的LM模式为当前色度块生成预测块。预测块包括多个预测的色度样本,基于位于对应的重建亮度块(已解码)中的第一多个重建亮度样本、位于对应的重建亮度块的邻近块(已解码)中的第二多个重建亮度样本、以及位于色度块的邻近块(已解码)中的多个重建色度样本,可以生成多个预测的色度样本中的每个样本。在一项实施例中,生成多个预测的色度样本包含计算基于第二多个重建亮度样本的中间变量a2s。生成多个预测的色度样本进一步包含使用查找表从a2s中推导中间变量lmDiv。在实施例中,所述查找表可以包括少于63个a2s值。
在为当前色度块生成预测块时,重建模块250可以合并残差色度块和预测块以生成重建色度块。另外,为了协助连续解码,重建色度块的一些色度样本也可以用作对同一帧中的未来块的帧内预测的参考像素。
在视频编解码器中(例如,视频编码器100或者解码器200),本文引入其他参数或者中间变量以简化帧内预测中使用的LM模式。在一项实施例中,在生成色度块的预测块时,计算位于对应的重建亮度块的邻近块中的过滤的亮度样本的均值的函数和位于色度块的邻近块中的重建色度样本的均值的整数函数。过滤的亮度样本的均值的函数表示为avgC,而重建色度样本的均值的函数表示为avgC。整数函数可以为地板函数、取整函数、或者其他合适的函数。
在一项实施例中,两个函数都为地板函数。在这种情况下,根据以下等式计算avgY'和avgC。
可以看出,avgY'具有和亮度分量的输入位深相同的最大位宽。例如,如果输入位深为8,avgY'可以最多有8位。例如,如果输入位深为10,avgY'可以最多有10位。和avgY'类似,向下取整的均值avgC可以具有和色度分量(U或V)的输入位深相等或相同的最大位宽。
在一项实施例中,可以以LM模式计算表示为RErrY'和RErrC的两个额外参数或中间变量。RErrY'可以表示第二多个过滤的亮度样本的均值和avgY'的差值,RErrC可以表示多个重建色度样本的均值和avgC的差值。由于这些差值可以由均值的向下取整导致,这些差值还可以称为取整误差。可以使用以下等式计算RErrY'和RErrC(在等式中,“&”代表逻辑运算符“AND”):
从等式(26)中可以看出,取整误差RErrY'为非负整数。数学论证如下:
进一步地,可以看出RErrY'具有和log2(2*nS)相同的最大位宽。例如,如果nS为16,16可为HEVC中允许的最大值,RErrY'可以最多有5位。和RErrY'类似,可以看出取整误差RErrC也可以是非零整数,具有和log2(2*nS)(U或V)相等的最大位宽。
当引入中间变量RErrY'和RErrC时,可以降低公开的LM模式的算法复杂性。与等式(1)到(19)中的原始算法相比,一些中间变量的计算被简化,如以下数学方式所示。例如,可以如下计算中间变量a1:
忽略取整误差RErrY'*RErrC的乘积,该乘积的值相对较小,a1由a1'取代:
在等式(29)中,可以看出包含了avgY'、avgC、RErrY'及RErrC的无符号乘法器的最大位宽等于或小于亮度和色度分量的输入位深。例如,如果输入位深(例如,BitDepthC)为8,计算a1'仅需要最多8位的乘法器。如果输入位深为10,计算a1'仅需要最多10位的乘法器。和使用较大乘法器L和C来计算a1的原始算法相比,计算a1'的计算复杂性相对较低。
类似地,可以如下计算中间变量a2:
忽略取整误差RErrY'*RErrC的乘积,该乘积的值相对较小,a2由a2'取代:
在等式(31)中,可以看出无符号乘法器avgY'和RErrY'的最大位宽等于亮度和色度分量的输入位深。例如,如果输入位深(例如,BitDepthC)为8,计算a2'仅需要最多8位的乘法器。如果输入位深为10,计算a2'仅需要最多10位的乘法器。和使用较大乘法器L来计算a2的原始算法相比,计算a2'的计算复杂性相对较低。
等式(4)中的alpha可以由alpha'取代,alpha'可以使用如下等式通过a1'和a2'来计算:
等式(32)表示所有无符号乘法器avgY'、avgC、RErrY'及RErrC的最大位宽等于亮度和色度分量的输入位深。如果输入位深为8,计算alpha'无需超过8位的乘法器。
本领域技术人员认识到在如等式(32)的除法运算中,将取消分子和分母中的常见术语。因此,也可以使用a1'和a2'的替代定义,例如,如下:
a1'=LC-(2*nS*avgY'*avgC+avgY'*RErrC+RErrY'*avgC)
a2'=LL-(2*nS*avgY'2+2*avgY'*RErrY')
在实施中,除法运算可以转换成整数运算,如位移,因此,可以通过以下伪代码计算alpha',所述伪代码可以替代等式(15)-(18):
k1=Max(0,log2(abs(a1'))–BitDepthC+1) (33)
k2=Max(0,log2(abs(a2'))–6) (34)
k3=k2–k1+BitDepthC–13 (35)
a1s=a1'>>k1 (36)
a2s=a2'>>k2 (37)
a2t=a2s<1?0:(lmDiv[a2s]+(1<<(15–BitDepthC–1)))>>(15–BitDepthC)) (38)
a2t=Clip1C(a2t) (39)
a3=Clip3(-215,215–1,(k3>0?(a1s*a2t)>>k3:(a1s*a2t)<<(–k3))) (40)
在等式(40)中,使用两个乘法器a1s和a2t。等式(36)表示a1s的值可限制在(–(1<<(BitDepthC–1)),(1<<(BitDepthC–1))–1)范围中。例如,如果BitDepthC=8,则取值范围为(–128,127)。如果BitDepthC=10,则取值范围为(–512,511)。类似地,等式(38)和(39)表示a2t的值可限制在(0,(1<<BitDepthC)–1)范围中。例如,如果BitDepthC=8,则取值范围为(0,255)。如果BitDepthC=10,则取值范围为(0,1023)。因此,可以看出a1s和a2t两个乘法器和输入位深对齐。
和alpha类似,使用参数avgY'、RErrY'、avgC和RErrC,等式(5)中的beta的原始计算可改写为:
在等式(41)中,由于取整误差RErrC和RErrC分别通常可远小于2*nS*avgC和2*nS*avgC,分子的两个取整误差可以忽略。因此,在等式(41)中,alpha由alpha'取代,beta由beta'取代,计算如下:
在等式(42)中,无符号乘法器alpha'和avgY'的最大位宽都等于亮度和色度分量的输入位深。例如,如果输入位深(例如,BitDepthC)为8,计算beta'仅需要最多8位的乘法器。如果输入位深为10,计算beta'仅需要最多10位的乘法器。和等式(21)中使用较大乘法器L来计算beta的原始算法相比,计算beta'的计算复杂性相对较低。另外,不再需要位移来计算beta'。
通过上述描述,可以看出通过引进参数avgY'、RErrY'和avgC以及统一位宽a1s和a2t,计算alpha'和beta'都涉及其位宽不大于亮度和色度分量的输入深度的乘法器。也就是说,alpha'和beta'无需位宽大于亮度和色度分量的输入位深的任何乘法器。具体而言,一些色彩相关的乘法器(包含avgY'、avgC、alpha'以及beta')的位宽可等于输入深度。
可修改等式(1)-(3)和(7)-(22)中所示的原始算法以并入新引入的参数。在一项实施例中,通过以下等式和/伪代码使用过滤的亮度样本和重建色度样本可生成预测的色度样本(即,predSamples[x,y]),其中lmDiv值从63条目查找表中查找而来(如,表1):
pY'[x,–1]=(recSamplesL[2x–1,–1]+2*recSamplesL[2x,
–1]+recSamplesL[2x+1,–1]+2)>>2,with x=0…nS–1
pY'[–1,y]=(recSamplesL[–1,2y]+recSamplesL[–1,2y+1])>>1,with
y=0...nS–1
pY'[x,y]=(recSamplesL[2x,2y]+recSamplesL[2x,2y+1])>>1,with x,
y=0...nS–1
k0=Log2((2*nS))
avgY'=L>>k0
RErrY'=L&((1<<k0)–1)
avgC=C>>k0
RErrC=C&((1<<k0)–1)
a1=LC–(2*nS*avgY'*avgC+avgY'*RErrC+avgC*RErrY')
a2=LL–(2*nS*avgY'2+2*avgY'*RErrY')
k1=Max(0,log2(abs(a1))–BitDepthC+2)
k2=Max(0,log2(abs(a2))–5)
k3=k2–k1+BitDepthC–13
a1s=a1>>k1
a2s=a2>>k2
a2t=a2s<1?0:(lmDiv[a2s]+(1<<(15–BitDepthC–1)))>>(15–BitDepthC)) (43)
a2t=Clip1C(a2t)
a3=Clip3(-215,215–1,(k3>0?(a1s*a2t)>>k3:(a1s*a2t)<<(–k3)))
k4=log2(a3<0?abs(a3)–1:abs(a3))–6
a=(a3>=–26&&a3<=26–1)?a3:(a3>>k4)
k=13–((a3>=–26&&a3<=26–1)?0:k4)
b=avgC–((a*avgY')>>k) (44)
predSamples[x,y]=Clip1C(((pY'[x,y]*a)>>k)+b),with x,y=0...nS–1 (45)
在上述等式和/或伪代码中,所有乘法器都是非零整数并且其最大位宽不大于亮度和色度分量的输入深度。例如,如果输入位深(如,BitDepthC)为8,一些色彩相关的乘法器(包含avgY'、avgC、alpha'以及beta')可最多有8位。如果输入位深为10,一些色彩相关的乘法器可最多有10位。凭借统一的位宽,相对原始算法,所公开的LM的计算复杂性可被简化。
应注意,本文公开的算法可不取决于lmDiv查找表中的条目数目。因此,虽然在上述伪代码中可使用63条目查找表确定lmDiv,查找表中的条目可能少于63条(即,32条目。)此外,可通过等式而不是查找表确定lmDiv。在一项实施例中,可使用包括32条目的lmDiv查找表,在此情况下,上述的等式(43)可由如下等式或等效物替代,同时保持其他等式完整:
a2t=a2s<32?0:(lmDiv[a2s]+(1<<(15–BitDepthC–1)))>>(15–BitDepthC))
使用如C/C++、Java、Perl、Python、Matlab、verilog、超高速集成电路硬件描述语言(VHDL)、任意其他语言或其组合等合适编码或编程语言,可实施本文描述的等式、代码和/或伪代码。此外,本文所使用的中间变量可以或不可以具有对应的物理量。在不背离本发明的原则的情况下,可改变变量的符号。在实施中,如果第二变量不依赖于第一变量,那么可在第一变量之前或者之后计算第二变量。否则,如果第二变量依赖于第一变量,那么在第一变量之后计算第二变量。此外,可能存在各种生成预测色度样本的方法,所述方法可使用相同或不同的中间变量和算法。例如,可改变部分伪代码以使用等式确定lmDiv值而不是使用查找表(如,表3)。
当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模式的实施例中,通过以下的等式和/或伪代码使用重建亮度和色度样本可以生成预测的色度样本。
k0=Max(0,BitDepthC+log2(nS)–14)
k1=Log2((2*nS)>>k0)
avgY'=L>>k1
RErrY'=L&((1<<k1)–1)
avgC=C>>k1
RErrC=C&((1<<k1)–1)
a1=LC–(2*nS*avgY'*avgC+avgY'*RErrC+avgC*RErrY')
a2=LL–(2*nS*avgY'2+2*avgY'*RErrY')
k2=(a1==0)?0:Max(0,Floor(Log2(Abs(a1)))-BitDepthC+2)
k3=(a2==0)?0:Max(0,Floor(Log2(Abs(a2)))-5)
k4=k3-k2+BitDepthC-2
a1s=a1>>k2
a2s=a2>>k3
lmDiv=(1<<(BitDepthC+4)+a2s/2)/a2s
a2t=(a2s<32)?0:lmDiv
a2t=Clip1C(a2t)
if(a2s<32)
a3=0
else if(a2s>=32&&k4>=0)
a3=(a1s*a2t)>>k4)
else
a3=(a1s*a2t)<<(-k4)
a4=Clip3(-28,28–1,a3)
a5=a4<<7
k5=(a5==0)?0:k5=Floor(Log2(Abs(a5)+(Sign2(a5)–1)/2))–5
k=13-k5
a=a5>>k5
b=avgC–((a*avgY')>>k)
predSamples[x,y]=Clip1C(((pY'[x,y]*a)>>k)+b),with x,y=0...nS–1
应注意,在实施中,在不背离本发明的原则的情况下,可改变部分的等式和/或伪代码。例如,在生成预测的色度样本时,不使用等式,而是通过上述的查找表可以确定lmDiv的值。
图3是使用所公开的LM模式的帧内预测方法300的流程图。在视频编解码器(如,图1中的视频编码器100)中可实施方法300。方法300始于步骤310,其中可接收包括当前色度块的视频帧或切片。视频帧还可以包括已编码的块。已编码的块包含与当前色度块对应的重建亮度块、邻近对应亮度块的重建亮度样本及邻近当前色度块的重建色度样本。对应的亮度块包括多个重建亮度样本。
其次,在步骤320中,可过滤或下采样重建亮度样本以生成过滤的亮度样本,随后,此亮度样本可以用作参考样本。过滤后,可将对应的重建亮度块的宽度减半,其宽度等于当前色度块的宽度。在如采样率为4:2:0时,可能需要过滤或下采样亮度分量。在如4:4:4等其他采样率时,可以无需任何过滤或下采样直接使用重建亮度样本作为参考样本。在此情况下,可跳过步骤320。
其次,在步骤330中,基于过滤的亮度样本以及重组色度样本可计算包含avgY'、avgC、RErrY'及RErrC的中间变量。可使用本文所呈现的等式和/或伪代码计算中间变量。其次,在步骤340中,基于先前计算的中间变量可计算包含alpha(有时表示为a)和beta(有时表示为b)的中间变量。计算alpha和beta可包含确定lmDiv值,lmDiv值可以基于lmDiv查找表或等式。
其次,在步骤350中,基于已计算的alpha和beta值可以计算预测的色度样本,alpha和beta值作为运用到位于对应的亮度块中的过滤的亮度样本的线性系数。预测的色度样本组成了当前色度块的预测块。应了解,方法300可包含需要完成LM模式的部分中间变量,因此,在适当的地方,如k、k1、k2、k3等其他中间变量也可以并入帧内预测过程。在不背离所公开的LM模式的原则的情况下,可改变中间变量的符号。
在使用中,使用公开的统一乘法器的LM模式中的帧内预测可被测量并与HEVC测试模型(HM)锚点。为了在统一乘法器的位宽后评估编码性能,在所有帧内高效率(HE)和所有帧内主要配置下进行模拟测试。测试结果包含针对色彩空间(Y、U和V)的三个分量的多个分辨率级别(级别A、B、C、D、E和F)的平均百分比Bjontegaard Delta(BD)率以及加密(Enc)和加密(Dec)次数。在模拟中,比较使用所公开的LM模式的帧内预测的BD率和解码器的HM6.0锚点中使用的LM模式,所述解码器使用位宽不同的乘法器。
表2示出了与所有帧内HE配置的HM6.0锚点比较,使用所公开的算法的帧内预测的相对性能。结果表明测试案例的平均BD率无变化或呈小幅增加。例如,针对U分量,级别A、B、C、D和E的平均BD率保持相同,针对所有帧内HE中的V分量,增加0.1%。针对U分量,级别F的BD率增加0.2%,针对V分量,增加0.4%。进一步地,与HM6.0锚点相比,测试案例的编码(Enc)与解码(Dec)次数保持相同。
表2所公开的算法与HM6.0锚点所有帧内HE的测试结果
表3示出了与所有帧内主要配置的HM6.0锚点比较,使用所公开的算法的帧内预测的相对性能。结果表明色度分量的平均BD率呈小幅增加。例如,针对U分量,级别A、B、C、D和E的平均BD率增加0.3%,针对V分量,增加0.1%。针对U分量,级别F的BD率增加0.2%,针对V分量,增加0.4%。进一步地,与HM6.0锚点相比,测试案例的编码(Enc)与解码(Dec)次数保持相同。
表3所公开的算法与HM6.0锚点所有帧内主要的测试结果
表3与表2比较,可以看出,针对级别A,BD率在所有帧内主要中的增加要比所有帧内HE中的更大。在针对级别A的视频序列测试中,SteamLocomotive序列的BD率增加最大,这显示了Y增加了0.0%,U增加了2.58%,及V增加了2.42%。因此,为了评估更加完整,模拟了额外量化参数(QP)值以进一步比较性能。图4A示出了所公开的曲线与在U分量中针对SteamLocomotive序列的HM6.0锚点所有帧内主要的比率失真(RD)曲线。横轴表示比特率,纵轴表示峰值信噪比(PSNR)。“ANCH”表示锚点和“PREP”表示所提出的方法。类似地,图4B示出了所公开的算法与在V分量中针对SteamLocomotive序列的HM6.0锚点所有帧内主要的RD曲线。图4A和4B表明所公开的算法与色度分量中的HM6.0锚点相比几乎拥有相同的性能。
在模拟测试中,发现,在普通测试情况下,针对在表3中测试的QP值{22,27,32,37}的SteamLocomotive序列的亮度峰值信噪比(PSNR)值相对大于相同QP值下的其他序列的Y-PSNR值。表明,用来比较所公开的算法和HM6.0锚点,这些QP值可能不是最佳的选择。因此,针对除了SteamLocomotive和Nebuta序列的所有视频序列计算专用QP的平均Y-PSNR值。获取{42.34dB,39.06dB,36.07dB,33.13dB}的值。相应地,为SteamLocomotive序列选择QP值{25,34,42,48},因为选择的QP值的对应的Y-PSNR值接近所有视频序列的平均值。表4示出了使用QP值{25,34,42,48}的所有帧内主要配置的HM6.0锚点比较,使用所公开的算法的帧内预测的相对性能。结果表明针对所有YUV分量,平均BD率降低。例如,针对Y分量,平均BD率降低0.1%,U分量降低0.9%,V分量降低3.1%。
表4所公开的算法与使用一组QP的HM6.0锚点所有帧内主要的测试结果
由于在所有帧内主要配置中,10位序列的性能不同,无需级别A的两个10位序列进一步进行测试。因此,测试中仅包含8位序列。表5示出了与所有帧内主要配置的HM6.0锚点比较,使用所公开的算法的帧内预测的相对性能。结果表明色度分量的平均BD率无变化或呈小幅增加。例如,针对U分量,级别A、B、C、D和E的平均BD率增加0.1%,针对V分量,保持相同。针对U分量,级别F的BD率增加0.2%,针对V分量,增加0.4%。进一步地,与HM6.0锚点相比,测试案例的编码(Enc)与解码(Dec)次数保持相同。在所有帧内主要中将10位序列移出级别A后,可以看出,测试结果可与表2中示出的所有帧内HE配置的结果相比较。
表5所公开的算法与不含级别A的10位序列的HM6.0锚点的测试结果
上述的方案可在任何通用网络系统上实施,例如计算机或特定网络组件,其具有足够的处理能力、存储资源以及网络吞吐能力来处理其上的必要工作量。图5示出了通用计算机系统500的示意图,其适用于实施本文所公开的方法的一项或多项实施例,例如,视频编码器100、视频解码器200和帧内预测方法300。计算机系统500包含处理器502(可以称为中央处理器单元或CPU),所述处理器与包含以下项的存储装置通信:辅助存储器504、只读存储器(ROM)506、随机存取存储器(RAM)508、发射器/接收器510、输入/输出(I/O)设备512。尽管处理器502被图示为单个处理器,但是它并非受到此类限制而是可以包括多个处理器。处理器502可以实施为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC),和/或数字信号处理器(DSP),并且/或者可以是一个或多个ASIC的一部分。处理器502可以用于实施本文中所述的包含实施伪代码的任何方案,例如,视频编码器100、视频解码器200和帧内预测方法300。处理器502可以使用硬件、软件或这两者来实施。例如,处理器502可以包括专用DSP或ASIC,其根据等式(44)和(45),经配置或优化用于计算预测的色度样本,其中所有的乘法器都是非零整数并且其最大位宽不大于亮度和色度分量的输入深度。
辅助存储器504通常包括一个或多个磁盘驱动器或磁带驱动器,用于数据的非易失性存储,而且如果RAM508的容量不足以存储所有工作数据,所述辅助存储器则用作溢流数据存储装置。辅助存储器504可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM508中。ROM506用于存储在程序执行期间读取的指令以及可能读取的数据。ROM506为非易失性存储设备,其存储容量相对于辅助存储器504的较大存储容量而言通常较小。RAM508用于存储易失性数据,还可能用于存储指令。对ROM506和RAM508二者的存取通常比对辅助存储器504的存取快。
发射器/接收器510可用作视频编解码器500的输入和/或输出设备。例如,如果发射器/接收器510用作发射器,其可将数据传出计算机系统500。如果发射器/接收器510用作接收器,其可将数据传入计算机系统500。发射器/接收器510可采用以下形式:调制解调器、调制解调器银行、以太网卡、通用串行总线(USB)接口卡、串行接口、令牌环卡、光纤分布式数据接口(FDDI)卡、无线局域网(WLAN)卡和无线收发器卡例如码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMAX)和/或其他空中接口协议无线收发器卡,以及其他公知网络设备。发射器/接收器510可使处理器502与因特网或者一个或多个内网通信。I/O设备512可包含视频监控器,液晶显示器(LCD),触屏显示器,或其它类型用于显示视频的视频显示器,也可包含捕获视频的视频录像设备。I/O设备512可包含一个或多个键盘、鼠标、轨迹球或其他公知输入设备。
应理解,通过将可执行指令编程和/或加载至计算机系统500,处理器502、RAM508和ROM506中的至少之一被改变,将计算机系统500的一部分转换成特定机器或装置(如,本发明宣扬的拥有新颖功能的视频编解码器)。加载可执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件设计更为昂贵。一般来说,稳定及大规模生产的设计更适于在如专用集成电路(ASIC)这样的硬件中实施,因为运行硬件实施的大规模生产较软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过公知设计规则转变成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。由新ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。应当理解的是,本发明已明确阐明了数值范围或限制,此类明确的范围或限制应包括涵盖在上述范围或限制(如从大约1至大约10的范围包括2、3、4等;大于0.10的范围包括0.11、0.12、0.13等)内的类似数量级的迭代范围或限制。例如,每当公开具有下限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 (20)
1.一种视频编解码器,其特征在于,包括:
处理器,用于:
根据以下项为色度块生成预测的色度样本:
位于对应重建亮度块的邻近块中并与所述对应重建亮度块相邻的多个重建亮度样本;以及
位于所述色度块的邻近块中并和所述色度块相邻的多个重建色度样本,
其中所述生成预测的色度样本包括计算多个乘法器,所述多个乘法器中的每个乘法器的位宽不大于所述色度块的输入位深,所述生成预测的色度样本无需位宽大于所述色度块的输入位深的任何乘法器。
2.根据权利要求1所述的视频编解码器,其特征在于,所述生成预测的色度样本进一步包括:通过过滤所述多个重建亮度样本生成多个过滤的亮度样本,其中所述多个乘法器包括:
所述多个过滤的亮度样本的均值的第一地板函数;以及
所述多个重建色度样本的均值的第二地板函数。
3.根据权利要求2所述的视频编解码器,其特征在于,所述第一和第二地板函数是分别表示为avgY'和avgC的第一和第二中间变量,其中所述多个乘法器进一步包括:
表示为RErrY'的第三中间变量,代表所述多个过滤的亮度样本的总和与2*nS*avgY'的差值;以及
表示为RErrC的第四中间变量,代表所述多个重建色度样本的总和与2*nS*avgC的差值,所述nS表示所述色度块的宽度,其等于所述多个过滤的亮度样本的数目。
4.根据权利要求3所述的视频编解码器,其特征在于,所述生成预测的色度样本进一步包括:
使用第一、第二、第三及第四中间变量计算表示为a1的中间变量;
使用第一和第三中间变量计算表示为a2的中间变量;以及
计算a1和a2的整数除法以生成表示为alpha的中间变量,其中所述预测的色度样本根据alpha生成。
5.根据权利要求3所述的视频编解码器,其特征在于,所述生成预测的色度样本进一步包括根据以下等式计算表示为a1和a2的中间变量:
a1=LC–(2*nS*avgY'*avgC+avgY'*RErrC+avgC*RErrY');and
a2=LL–(2*nS*avgY'2+2*avgY'*RErrY').
其中LC和LL为由所述多个重建色度样本和所述多个过滤的亮度样本确定的中间变量,所述预测的色度样本根据a1和a2生成。
6.根据权利要求5所述的视频编解码器,其特征在于,BitDepthC表示所述色度块的输入位深,pY'[x,y]表示所述多个过滤的亮度样本中的每个过滤的亮度样本,x和y是表示位置的整数,p[x,y]表示所述多个重建色度样本中的每个重建色度样本,其中,所述生成预测的色度样本进一步包括通过以下等式确定LL和LC
等式:
k3=Max(0,BitDepthC+log2(nS)–14);
或者等式:
7.根据权利要求5所述的视频编解码器,其特征在于,计算avgY'、avgC、RErrY'和RErrC使用以下等式:
k0=Log2((2*nS));
avgY'=L>>k0;
RErrY'=L&((1–k0)–1);
avgC=C>>k0;and
RErrC=C&((1–k0)–1),
其中C表示所述多个重建色度样本的总和,L表示所述多个过滤的亮度样本的总和。
8.根据权利要求5所述的视频编解码器,其特征在于,BitDepthC表示所述色度块的输入位深,所述多个乘法器进一步包括表示为a1s的中间变量,计算a1s使用以下等式:
k1=Max(0,log2(abs(a1))–BitDepthC+2);and
a1s=a1>>k1.
9.根据权利要求8所述的视频编解码器,其特征在于,所述多个乘法器进一步包括表示为a2t的中间变量,使用以下等式根据中间变量a2s计算a2t:
等式:
a2t=a2s<1?0:(lmDiv[a2s]+(1<<(15–BitDepthC–1)))>>(15–BitDepthC));
and
a2t=Clip1C(a2t),
或者等式:
a2t=a2s<32?0:(lmDiv[a2s]+(1<<(15–BitDepthC–1)))>>(15–BitDepthC));
and
a2t=Clip1C(a2t).
10.根据权利要求5所述的视频编解码器,其特征在于,所述输入位深等于8或10,所述色度块的宽度不小于4不大于16。
11.根据权利要求3所述的视频编解码器,其特征在于,所述处理器进一步用于:
生成表示所述预测的色度样本和所述色度块中对应的色度样本的差值的残差样本;以及
熵编码所述残差样本以生成编码的残差样本。
12.根据权利要求3所述的视频编解码器,其特征在于,所述处理器进一步用于:
解码编码的残差样本以生成解码的残差样本;以及
合并解码的残差样本和所述预测的色度样本以生成所述色度块中对应的色度样本。
13.一种用在视频编码中的方法,其特征在于,包括:
根据以下项为色度块生成预测的色度样本:
位于对应重建亮度块的邻近块中并与所述对应重建亮度块相邻的多个重建亮度样本;以及
位于所述色度块的邻近块中并和所述色度块相邻的多个重建色度样本,
其中所述生成预测的色度样本包括计算多个乘法器,所述多个乘法器中的每个乘法器的位宽不大于所述色度块的输入位深,所述生成预测的色度样本无需位宽大于所述色度块的输入位深的任何乘法器。
14.根据权利要求13所述的方法,其特征在于,生成预测的色度样本进一步包括:通过过滤所述多个重建亮度样本生成多个过滤的亮度样本,其中所述多个乘法器包括:
所述多个过滤的亮度样本的均值的第一地板函数;以及
所述多个重建色度样本的均值的第二地板函数。
15.根据权利要求14所述的方法,其特征在于,所述第一和第二地板函数是分别表示为avgY'和avgC的第一和第二中间变量,其中所述多个乘法器进一步包括:
表示为RErrY'的第三中间变量,代表所述多个过滤的亮度样本的总和与2*nS*avgY'的差值;以及
表示为RErrC的第四中间变量,代表所述多个重建色度样本的总和与2*nS*avgC的差值,所述nS表示所述色度块的宽度,其等于所述多个过滤的亮度样本的数目。
16.根据权利要求15所述的方法,其特征在于,所述生成预测的色度样本进一步包括:
使用第一、第二、第三及第四中间变量计算表示为a1的中间变量;
使用第一和第三中间变量计算表示为a2的中间变量;以及
计算a1和a2的整数除法以生成表示为alpha的中间变量,其中所述预测的色度样本根据alpha生成。
17.根据权利要求15所述的方法,其特征在于,所述生成预测的色度样本进一步包括根据以下等式计算表示为a1和a2的中间变量:
a1=LC–(2*nS*avgY'*avgC+avgY'*RErrC+avgC*RErrY');and
a2=LL–(2*nS*avgY'2+2*avgY'*RErrY').
其中LC和LL为由所述多个重建色度样本和所述多个过滤的亮度样本确定的中间变量,所述预测的色度样本根据a1和a2生成。
18.根据权利要求17所述的方法,其特征在于,BitDepthC表示色度块的输入位深,所述多个乘法器进一步包括表示为a1s的中间变量,计算a1s使用以下等式:
k1=Max(0,log2(abs(a1))–BitDepthC+2);and
a1s=a1>>k1.
19.一种用在视频编码中的装置,其特征在于,包括:
处理器,用于:
计算位于色度块的邻近块中并与所述色度块相邻的多个重建色度样本的均值的地板函数;
计算位于对应重建亮度块的邻近块中并与素数对应重建亮度块相邻的多个重建亮度样本的均值的地板函数,所述第一和第二地板函数是第一和第二乘法器;
计算额外乘法器的数目,至少部分所述额外乘法器基于所述多个重建色度样本和所述多个重建亮度样本;以及
根据所有乘法器为所述色度块计算预测的色度样本,所述乘法器中的每个乘法器的位宽不大于所述色度块的输入位深,计算所述预测的色度样本无需乘法器的位宽大于所述色度块的所述输入位深。
20.根据权利要求19所述的装置,其特征在于,所述第一和第二地板函数分别表示为avgC和avgY,所述额外乘法器包括:
表示为RErrC的第三乘法器,代表所述多个重建色度样本的总和与2*nS*avgC的差值;以及
表示为RErrY的第四乘法器,代表所述多个过滤的亮度样本的总和与2*nS*avgY的差值,所述nS表示所述色度块的宽度,其等于所述多个过滤的亮度样本的数目。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261623249P | 2012-04-12 | 2012-04-12 | |
US61/623,249 | 2012-04-12 | ||
US13/802,525 US9438905B2 (en) | 2012-04-12 | 2013-03-13 | LM mode with uniform bit-width multipliers |
US13/802,525 | 2013-03-13 | ||
PCT/US2013/036347 WO2013155398A2 (en) | 2012-04-12 | 2013-04-12 | Lm mode with uniform bit-width multipliers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104205845A true CN104205845A (zh) | 2014-12-10 |
CN104205845B CN104205845B (zh) | 2017-09-12 |
Family
ID=49325060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380015504.4A Active CN104205845B (zh) | 2012-04-12 | 2013-04-12 | 具有统一位宽乘法器的lm模式 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9438905B2 (zh) |
CN (1) | CN104205845B (zh) |
WO (1) | WO2013155398A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018018486A1 (en) * | 2016-07-28 | 2018-02-01 | Mediatek Inc. | Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure |
CN110858903A (zh) * | 2018-08-22 | 2020-03-03 | 华为技术有限公司 | 色度块预测方法及装置 |
WO2020073864A1 (en) * | 2018-10-08 | 2020-04-16 | Huawei Technologies Co., Ltd. | Intra prediction method and device |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104718759B (zh) * | 2012-01-24 | 2019-01-18 | 华为技术有限公司 | Lm模式的简化 |
CA2896637C (en) * | 2013-03-26 | 2018-02-13 | Mediatek Inc. | Method of cross color intra prediction |
US20150049821A1 (en) * | 2013-08-16 | 2015-02-19 | Qualcomm Incorporated | In-loop depth map filtering for 3d video coding |
US10477240B2 (en) * | 2016-12-19 | 2019-11-12 | Qualcomm Incorporated | Linear model prediction mode with sample accessing for video coding |
US11190799B2 (en) * | 2017-06-21 | 2021-11-30 | Lg Electronics Inc. | Intra-prediction mode-based image processing method and apparatus therefor |
EP3861736A4 (en) * | 2018-11-06 | 2022-03-30 | Beijing Bytedance Network Technology Co., Ltd. | POSITION DEPENDENT INTRAPREDICTION |
WO2020108591A1 (en) | 2018-12-01 | 2020-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation for intra prediction |
CN113383547A (zh) * | 2019-02-01 | 2021-09-10 | 北京字节跳动网络技术有限公司 | 环路整形和帧间编解码工具之间的相互作用 |
SG11202108209YA (en) * | 2019-02-22 | 2021-08-30 | Beijing Bytedance Network Technology Co Ltd | Neighbouring sample selection for intra prediction |
WO2020192614A1 (en) | 2019-03-23 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on adaptive-loop filtering parameter sets |
US11509910B2 (en) * | 2019-09-16 | 2022-11-22 | Tencent America LLC | Video coding method and device for avoiding small chroma block intra prediction |
US11962781B2 (en) * | 2020-02-13 | 2024-04-16 | Ssimwave Inc. | Video encoding complexity measure system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011126348A2 (en) * | 2010-04-09 | 2011-10-13 | Lg Electronics Inc. | Method and apparatus for processing video data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288500B2 (en) * | 2011-05-12 | 2016-03-15 | Texas Instruments Incorporated | Luma-based chroma intra-prediction for video coding |
-
2013
- 2013-03-13 US US13/802,525 patent/US9438905B2/en active Active
- 2013-04-12 CN CN201380015504.4A patent/CN104205845B/zh active Active
- 2013-04-12 WO PCT/US2013/036347 patent/WO2013155398A2/en active Application Filing
-
2016
- 2016-02-23 US US15/050,928 patent/US20160173907A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011126348A2 (en) * | 2010-04-09 | 2011-10-13 | Lg Electronics Inc. | Method and apparatus for processing video data |
Non-Patent Citations (1)
Title |
---|
LINGZHI LIU,GUICHUN LI,YONGBING LIN.: "Non-CE6a: Remove the large multiplier for LM mode calculation", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC),JCTVC-H0491》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018018486A1 (en) * | 2016-07-28 | 2018-02-01 | Mediatek Inc. | Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure |
US10681351B2 (en) | 2016-07-28 | 2020-06-09 | Mediatek Inc. | Methods and apparatuses of reference quantization parameter derivation in video processing system |
CN110858903A (zh) * | 2018-08-22 | 2020-03-03 | 华为技术有限公司 | 色度块预测方法及装置 |
WO2020073864A1 (en) * | 2018-10-08 | 2020-04-16 | Huawei Technologies Co., Ltd. | Intra prediction method and device |
Also Published As
Publication number | Publication date |
---|---|
US20130272396A1 (en) | 2013-10-17 |
US20160173907A1 (en) | 2016-06-16 |
WO2013155398A3 (en) | 2014-07-10 |
CN104205845B (zh) | 2017-09-12 |
WO2013155398A2 (en) | 2013-10-17 |
US9438905B2 (en) | 2016-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205845A (zh) | 具有统一位宽乘法器的lm模式 | |
CN104718759B (zh) | Lm模式的简化 | |
CN104380741B (zh) | 用于lm帧内预测的参考像素缩减 | |
CN104255033B (zh) | 用于lm模式计算的简化查找表 | |
CN105379283B (zh) | 数据编码和解码 | |
CN104702962B (zh) | 帧内编解码方法、编码器和解码器 | |
CN105103453B (zh) | 数据编码和解码 | |
US20200162749A1 (en) | Image Processing Method, Device, and System | |
TWI471013B (zh) | 轉換式數位媒體編解碼器之計算複雜度及精確性控制 | |
CN113068032B (zh) | 图像编解码方法、编码器、解码器以及存储介质 | |
CN105103549A (zh) | 根据重要系数的参数的重要系数编码和解码 | |
CN104185989A (zh) | 用于帧内预测残差的二值化方案和hevc中无损编码中的改进帧内预测 | |
CN103650496A (zh) | 用于在hevc中编码的基于像素的帧内预测 | |
CN104247422A (zh) | 用于改进帧内预测的新的角度表 | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
CN104919798A (zh) | 量化矩阵编码的方法和装置 | |
CN104272739A (zh) | 用于不同颜色取样格式的基于模式的系数扫描和对角变换 | |
US9877025B2 (en) | Video encoding and decoding with prediction at higher precision | |
CN104885463A (zh) | 编码/解码图像的方法和使用其的设备 | |
CN114830663A (zh) | 变换方法、编码器、解码器以及存储介质 | |
KR101312632B1 (ko) | N-bit 영상 데이터 부호화/복호화 장치 및 방법 | |
CN110708547B (zh) | 针对变换模式的有效熵编码组分组方法 | |
KR20100013142A (ko) | 프레임 메모리 압축방법 | |
CN116320417A (zh) | 视频编码方法和装置 | |
CN117856794A (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 |