CN110870311B - 视频压缩中的编解码方法与装置 - Google Patents
视频压缩中的编解码方法与装置 Download PDFInfo
- Publication number
- CN110870311B CN110870311B CN201880045349.3A CN201880045349A CN110870311B CN 110870311 B CN110870311 B CN 110870311B CN 201880045349 A CN201880045349 A CN 201880045349A CN 110870311 B CN110870311 B CN 110870311B
- Authority
- CN
- China
- Prior art keywords
- offset
- quantization parameter
- slice
- pps
- frac
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000006835 compression Effects 0.000 title description 9
- 238000007906 compression Methods 0.000 title description 9
- 238000013139 quantization Methods 0.000 claims abstract description 355
- 230000001131 transforming effect Effects 0.000 claims abstract description 11
- 241000023320 Luma <angiosperm> Species 0.000 claims description 18
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 21
- 239000013598 vector Substances 0.000 description 18
- 230000015654 memory Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 16
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000005192 partition Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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/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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种解码方法包括:接收码流;获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量和系数;使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数,其中,所述第一中间色度量化参数具有非整数值;基于所述第一中间色度量化参数确定第二中间色度量化参数,其中,所述第二中间色度量化参数具有非整数值;基于所述第二中间色度量化参数和所述色度量化参数范围偏移量计算最终色度量化参数;使用所述最终色度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;以及将所述残差像素与预测像素进行组合,以获得重建像素。
Description
相关申请案交叉申请
本专利申请要求于2018年7月6日递交的发明名称为“视频压缩中的分数量化参数偏移量”的第16/029,132号美国非临时专利申请的在先申请优先权,该专利申请又要求于2017年7月12日由Liu Shan等人递交的发明名称为“视频压缩中的分数量化参数偏移量”的第62/531,727号美国临时专利申请的在先申请优先权,通过引用将其主旨和公开内容并入本文中。
关于由联邦政府赞助研究或开发的声明
不适用
参考缩微胶片附录
不适用
背景技术
即使是描述相对较短的视频也需要大量的视频数据量,这可能导致在流式传输或通过具有有限带宽容量的通信网络传送数据时出现困难。因此,视频数据通常在通过现代电信网络传送之前被压缩。当视频存储在存储设备上时,视频的大小也可能是一个问题,因为内存资源可能有限。视频压缩设备通常在源头使用软件和/或硬件于传输或存储之前对视频数据进行编码,从而减少表示数字视频图像所需的数据量,然后由解码视频数据的视频解压设备在目的地接收压缩数据。由于网络资源有限,而对更高视频质量的需求日益增长,因此需要改进压缩和解压缩技术,从而在几乎不牺牲图像质量的情况下,提高压缩比。
发明内容
在一个实施例中,本发明包括解码设备实现的解码方法。所述方法包括:从编码设备接收码流;使用熵解码器从所述码流中获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量和系数;使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数,其中,所述第一中间色度量化参数中的一个或多个具有非整数值;基于所述第一中间色度量化参数确定第二中间色度量化参数,其中,所述第二中间色度量化参数中的一个或多个具有非整数值;基于所述第二中间色度量化参数和所述色度量化参数范围偏移量计算最终色度量化参数;使用所述最终色度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;将所述残差像素与预测像素进行组合,以获得重建像素;以及在电子设备的显示器上显示利用所述重建像素生成的图像。
可选的,在上述任一方面,本方面的另一种实现方式中,所述第一中间色度量化参数根据以下进行计算:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+(pps_cb_qp_offset+slice_cb_qp_offset)/2)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+(pps_cr_qp_offset+slice_cr_qp_offset)/2)
其中,QpBdOffsetC=6*(bit_depth_chroma一8),57表示qPiCb和qPiCr的最大允许值,QpY表示当前条带的基本亮度量化参数,pps_cb_qp_offset、slice_cb_qp_offset、pps_cr_qp_offset以及slice_cr_qp_offset表示量化参数偏移量。
可选地,在上述任一方面,本方面的另一种实现方式中,所述量化参数偏移量包括图像参数集量化参数偏移量和条带量化参数偏移量,其中,通过将所述图像参数集量化参数偏移量和所述条带量化参数偏移量之和除以2来计算所述每个第一中间色度量化参数。
可选地,在上述任一方面,本方面的另一种实现方式中,通过使用表格将所述第一中间色度量化参数映射到所述第二中间色度量化参数,获得所述第二中间色度量化参数。
可选的,在上述任一方面,本方面的另一种实现方式中,所述第二中间色度量化参
数根据以下确定:
qPi | <29 | 29 | 29.5 | 30 | 30.5 | 31 | 31.5 | 32 | 32.5 | 33 | 33.5 | 34 | 34.5 | 35 | 35.5 |
Qp<sub>C</sub> | =qPi | 28.5 | 29 | 29 | 29.5 | 30 | 30.5 | 31 | 31.5 | 32 | 32.5 | 33 | 33 | 33.5 | 33.5 |
36 | 36.5 | 37 | 37.5 | 38 | 38.5 | 39 | 39.5 | 40 | 40.5 | 41 | 41.5 | 42 | 42.5 | 43 | >43 |
34 | 34 | 34.5 | 34.5 | 35 | 35 | 35.5 | 35.5 | 36 | 36 | 36.5 | 36.5 | 37 | 37 | 37.5 | =qPi-6 |
可选地,在上述任一方面,本方面的另一种实现方式中,所述量化参数偏移量范围为-24至+24(包括-24和+24)。
可选的,在上述任一方面,本方面的另一实现方式中,所述量化参数偏移量包括图像参数集量化参数偏移量和条带量化参数偏移量,其中,将所述图像参数集量化参数偏移量除以2得到第一商数,将所述条带量化参数偏移量除以2得到第二商数,然后对所述第一商数和所述第二商数进行求和来计算所述每个第一中间色度量化参数。
可选的,在上述任一方面,本方面的另一种实现方式中,所述第一中间色度量化参数根据以下进行计算:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset/2+slice_cb_qp_offset/2)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+(pps_cr_qp_offset/2+slice_cr_qp_offset/2)
其中,QpBdOffsetC=6*fbit_depth_chroma-8),57表示qPiCb和qPiCr的最大允许值,QpY表示当前条带的基本亮度量化参数,pps_cb_qp_offset、slice_cb_qp_offset、pps_cr_qp_offset以及slice_cr_qp_offset表示量化参数偏移量。
可选地,在上述任一方面,本方面的另一种实现方式中,所述量化参数偏移量包括图像参数集量化参数偏移量和条带量化参数偏移量,其中,所述每个图像参数集量化参数偏移量和条带量化参数偏移量分别右移1。
可选地,在上述任一方面,本方面的另一种实现方式中,所述第一中间色度量化参数和所述第二中间色度量化参数中至少一个的精度为0.5。
可选的,在上述任一方面,本方面的另一种实现方式中,所述量化步长根据以下进行计算:
Qstep(QP)=(21/6)QP-4
其中,QP表示最终色度量化参数。
在一个实施例中,本发明包括解码设备实现的解码方法。所述方法包括:从编码设备接收码流;使用熵解码器从所述码流获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量、分数量化参数偏移量和系数;使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数;基于所述第一中间色度量化参数确定第二中间色度量化参数;基于所述第二中间色度量化参数和所述分数量化参数偏移量计算分数色度量化参数;使用所述分数色度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;将所述残差像素与预测像素进行组合,以获得重建像素;以及在电子设备的显示器上显示利用所述重建像素生成的图像。
可选的,在上述任一方面,本方面的另一种实现方式中,所述分数色度量化参数根据以下确定:
QpCb_fracPrec=((QpCb)<<K+pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K)
QpCr_fracPrec=((QpCr)<<K+pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K)
其中,QpCb和QpCr表示最终色度量化参数的整数部分,K为分数色度量化参数偏移量精度,K表示分数精度级别,pps_frac_cr_qp_offset和slice_frac_cr_qp_offset表示分数量化参数偏移量。
可选的,在上述任一方面,本方面的另一种实现方式中,所述分数色度量化参数根据以下确定:
QpCb_fracPrec=F(qPi)*(1.0-(pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/ (2^K))+F(qPi+1)*(pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K),
QpCr_fracPrec=F(qPi)*(1.0-(pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/ (2^K))+F(qPi+1)*(pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K),
其中,F(qPi)表示所述第一中间色度量化参数的函数,pps_frac_cr_qp_offset和slice_frac_cr_qp_offset表示分数量化参数偏移量,K为分数色度量化参数偏移量精度。
可选地,在上述任一方面,本方面的另一种实现方式中,所述分数量化参数偏移量包括pps_frac_cb_qp_offset、slice_frac_cb_qp_offset、pps_frac_cr_qp_offset和slice_frac_cr_qp_offset。
可选的,在上述任一方面,本方面的另一种实现方式中,所述量化参数偏移量范围为0-2^K-1(包括0和2^K-1),其中,K表示分数精度级别。
在一个实施例中,本发明包括编码设备实现的编码方法。所述方法包括:将图像划分为包含原始像素的多个块;从所述原始像素中减去预测像素,以获得所述每个块的残差像素;基于分数色度权重计算不同模式下亮度和色度的率失真成本;选择所述率失真成本中的一个;基于所述选择的率失真成本,将残差像素变换为系数;按步长大小对所述系数进行量化,以获得量化系数;基于所述量化系数,使用熵编码器生成码流;以及将所述码流传输至解码设备。
可选的,在上述任一方面,本方面的另一种实现方式中,所述分数色度权重计算如下:
ChromaWeightfracPrec=F(QpY+chroma_qp_offset)*(1.0-(pps_frac_cb_qp_offset +slice_frac_cb_qp_offset)/(2^K))+F(QpY+chroma_qp_offset)*(pps_frac_cb_qp_offset+ slice_frac_cb_qp_offset)/(2^K)。
其中,F表示函数,QpY表示基本亮度量化参数,其中,chroma_qp_offset为色度量化参数偏移量,pps_frac_cb_qp_offset、slice_frac_cb_qp_offset、pps_frac_cr_qp_offset以及slice_frac_cr_qp_offset为分数量化参数偏移量,K表示分数精度级别。
在一个实施例中,本发明包括解码设备实现的解码方法。所述方法包括:从编码设备接收码流;使用熵解码器从所述码流中获取亮度量化参数、量化参数绝对值、量化参数符号和系数;基于所述量化参数绝对值和所述量化参数符号计算量化参数Δ值,其中,所述量化参数Δ值具有非整数值;将所述量化参数Δ值与所述亮度量化参数相加,计算最终亮度量化参数;使用所述最终亮度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;将所述残差像素与预测像素进行组合,以获得重建像素;以及在电子设备的显示器上显示利用所述重建像素生成的图像。
可选的,在上述任一方面,本方面的另一种实现方式中,所述量化参数Δ值根据以下进行计算:
CuQpDeltaVal=cu_qp_delta_abs*(1-2*cu_qp_delta_sign_flag)/2。
其中cu_qp_delta_abs表示量化参数绝对值,cu_qp_delta_sign_flag表示量化参数符号。
为表述清楚,在不脱离本发明范围的前提下,任何一个前述实施例都可以与任何一个或多个其它前述实施例结合以创建新的实施例。
通过以下结合附图和权利要求的详细描述,这些以及其它特征将会被更清楚地理解。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是一种可采用分数量化参数偏移技术的示例性编码***的框图;
图2是一种可实现分数量化参数偏移技术的示例性视频编码器的框图;
图3是一种可实现分数量化参数偏移技术的示例性视频解码器的框图;
图4是一种编码方法实施例;
图5是一种编码方法实施例;
图6是一种编码方法实施例;
图7是一种编码方法实施例;
图8是一种网络设备(例如,编码设备)的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的***和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
图1是一种可采用分数量化参数偏移技术的示例性编码***10的框图。如图1 所示,编码***10包括源设备12,其提供编码视频数据,其中所述编码视频数据稍后由目的设备14解码。源设备12尤其可通过计算机可读介质16向目的设备14提供所述视频数据。源设备12和目的设备14可包括各种设备中的任一种,例如,台式电脑、笔记本(即手提)电脑、平板电脑、机顶盒、所谓的“智能”手机等电话手机、所谓的“智能”平板、电视、相机、显示设备、数字媒体播放器、视频游戏控制台以及视频流设备等。某些情况下,可配备源设备12与目的设备14进行无线通讯。
目的设备14可通过计算机可读介质16接收要解码的编码视频数据。计算机可读介质16可包括能够将编码视频数据从源设备12移动到目的设备14的任何类型的介质或设备。例如,计算机可读介质16可包括通信介质,以使源设备12能够实时直接向目的设备 14传输编码视频数据。所述编码视频数据可根据通信标准,例如无线通信协议进行调制,并传输至目的设备14。所述通信介质可包括任何无线或有线通信介质,例如射频(radio frequency,简称RF)频谱或一条或多条物理传输线。所述通信介质可构成分组网络(如局域网、广域网、或如互联网的全球网络)的一部分。所述通信介质可包括路由器、交换机、基站、或其它便于源设备12到目的设备14间通信的设备。
在一些示例中,输出接口22可将编码数据输出到存储设备。类似地,可以通过输入接口28从存储设备访问编码数据。所述存储设备可以包括各种分布式或本地访问的数据存储介质中的任一种,例如硬盘驱动器、蓝光光盘、数字视频磁盘(digital video disk,简称DVD)、光盘只读存储器(Compact Disc Read-Only Memory,简称CD-ROM)、闪存、易失性或非易失性存储器,或者用于存储编码视频数据的任何其它合适的数字存储介质。在又一示例中,所述存储设备可对应文件服务器或其它可以存储源设备12生成的编码视频的中间存储设备。目的设备14可以通过流式传输或下载从所述存储设备访问存储的视频数据。所述文件服务器可以是能够存储编码视频数据并将其传输至所述目的设备14的任何类型的服务器。示例性文件服务器包括网络服务器(例如,用于网站的网络服务器)、文件传输协议(file transfer protocol,简称FTP)服务器、网络附加存储(network attached storage,简称NAS)设备或本地磁盘驱动器。目的设备14可通过包括互联网连接的任一标准数据连接访问所述编码视频数据。标准数据连接可包括无线信道(例如,Wi-Fi连接),有线连接(例如,数字用户线路(digital subscirber line,简称DSL)、光缆调制解调器等),或适于访问文件服务器上存储的编码视频数据的无线信道与有线连接的组合。来自存储设备的编码视频数据的传输可以是流式传输,下载传输,或流式传输与下载传输的组合。
本发明的技术不局限于无线应用或设置。该技术可应用于支持任一种以下多媒体应用的视频编码:如,空中电视广播、有线电视传输、***传输、因特网流视频传输,如基于HTTP的动态自适应流(dynamic adapative streaming over HTTP,简称DASH);编码至数据存储介质的数字视频、对数据存储介质上的数字视频的解码;或其它应用。在一些示例中,编码***10可用于支持单向或双向视频传输来支持视频流、视频播放、视频播报和/或视频电话等应用。
在图1的示例中,源设备12包括视频源18、视频编码器20和输出接口22。目的设备14包括输入接口28、视频解码器30和显示设备32。根据本发明,源设备12的视频编码器20和/或目的设备14的视频解码器30可用于应用双向预测技术。在其它示例中,源设备和目的设备可包括其它组件或配置。例如,源设备12可接收来自外部视频源,如外部摄像头,的视频数据。同样,目的设备14可与外部显示设备通过接口连接,而不包括集成的显示设备。
图1所示的编码***10仅是一个示例。分数量化参数偏移技术可以由任何数字视频编码和/或解码设备执行。本发明的技术一般由视频编码设备执行,也可由视频编码/解码器(通常指“CODEC”)执行。进一步地,本发明的技术也可由视频预处理器执行。视频编码器和/或解码器可以是图形处理单元(graphics processing unit,简称GPU)或类似设备。
源设备12和目的设备14仅仅是这种编码设备的示例,其中,源设备12生成编码视频数据,传输至目的设备14。在一些示例中,源设备12和目的设备14的工作方式可以大体对称,源设备12和目的设备14中的每一个都包括视频编码和解码组件。因此,编码***10可支持视频设备12与14之间的单向或双向视频传输,例如视频流、视频播放、视频播报和/或视频电话。
源设备12的视频源18可包括视频捕获设备,如摄像机、包括之前捕获视频的视频档案和/或视频馈送接口,其中所述视频馈送接口用于接收视频内容提供者的视频。进一步可选地,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频以及计算机产生的视频的组合。
在某些情况下,当视频源18是摄像机时,源设备12和目的设备14可组成所谓的拍照手机或视频电话。然而如上所述,本发明描述的技术一般可适用于视频编码,并可应用于无线和/或有线应用。在每种情况下,所述捕获、预捕获或计算机生成的视频可以由视频编码器20进行编码。然后,所述编码视频信息可以由输出接口22输出到计算机可读介质 16。
计算机可读介质16可包括瞬时介质,如无线广播或有线网络传输,或存储介质(即,非瞬时性存储介质),如硬盘、闪存盘、光盘、数字视频光盘、蓝光光盘或其它计算机可读介质。在一些示例中,网络服务器(图中未显示)可接收来自源设备12的编码视频数据,并可通过网络传输等向目的设备14提供编码视频数据。类似地,介质生产设备的计算设备,如光盘刻印设备,可接收来自源设备12的编码视频数据并产生包含所述编码视频数据的光盘。因此,可理解的是,在各种示例中,计算机可读介质16包括一个或多个各种形式的计算机可读介质。
目的设备14的输入接口28从计算机可读介质16接收信息。计算机可读介质16 的信息可以包括视频编码器20定义的语法信息。视频解码器30也使用该语法信息。该语法信息包括语法元素,所述语法元素描述块和其它编码单元(例如,图像组(group of picture,简称GOP))的特征和/或处理。显示设备32向用户显示已解码的视频数据,并可包括如下各种显示设备中的任一设备,如阴极射线管(cathode ray tube,简称CRT)、液晶显示器(liquid crystal display,简称LCD)、等离子显示器、有机发光二极管(organic lightemitting diode,简称OLED)显示器或其它类型的显示设备。
视频编码器20和视频解码器30可根据视频编码标准(如正在研发的高效视频编码(High Efficiency Video Coding,简称HEVC)标准等)工作,也可以符合HEVC测试模型(HEVC Test Model,简称HM)的标准。或者,视频编码器20和视频解码器30可以根据其它专有标准或行业标准工作,例如国际电联电信标准化部门(InternationalTelecommunications Union Telecommunication Standardization Sector,简称ITU-T)H.264标准,又称为MPEG(Motion Picture Expert Group,运动图像专家组,简称MPEG)-4第10 部分,高级视频编码(Advanced Video Coding,简称AVC),H.265/HEVC,或者这些标准的延伸。然而,本发明的技术不限定于任一特定的编码标准。其它示例性视频编码标准包括MPEG-2和ITU-T H.263。尽管图1未示出,但在某些方面,视频编码器20和视频解码器30 可以分别与音频编码器和解码器集成,并且可以包括合适的复用器-解复用器(multiplexer-demultiplexer,简称MUX-DEMUX)单元或其它硬件和软件,以处理公共数据流中或分离数据流中的音频和视频编码。若适用,MUX-DEMUX单元可遵照ITU H.223复用协议或其它协议,如用户数据报协议(user datagramprotocol,简称UDP)。
视频编码器20和视频解码器30可以分别实现为各种适合的编码电路中的一种,如一个或多个微处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现场可编程门阵列(fieldprogrammable gate array,简称FPGA)、软件、硬件、固件或其任一组合。当软件实现了部分技术时,设备可存储针对适合的非瞬时性计算机可读介质中的软件的指令,并通过由一个或多个处理器执行本发明的技术来执行硬件中的指令。视频编码器20和视频解码器30可分别包含在一个或多个编码器或解码器内,并可分别在各设备中集成为组合编码/解码器(combined encoder/decoder,简称CODEC)的一部分。包括视频编码器20和/或视频解码器30的设备可包括集成电路、微处理器和/或无线通讯设备,如蜂窝式电话。
图2是一种可实现分数量化参数偏移技术的示例性视频编码器20的框图。视频编码器20可在视频条带内执行视频块帧内和帧间编码。帧内编码依赖于空域预测来减少或去除给定视频帧或图像中视频的空域冗余。帧间编码依赖于时序预测来减少或去除视频序列的相邻帧或图像中视频的时序冗余。帧内模式(I模式)可指若干个基于空域的编码模式中的任一个模式。帧间模式,如单向预测(P模式)或双向预测(B模式),可指若干个基于时序的编码模式中的任一个模式。
如图2所示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的示例中,视频编码器20包括模式选择单元40、参考帧存储器64、加法器50、变换处理单元 52、量化单元54和熵编码单元56。其中,模式选择单元40依次包括运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。对于视频块重建,视频编码器20还包括逆量化单元58、逆变换单元60和加法器62。还可以包括解块滤波器(图2未示出),用于过滤块边界,以去除重建视频中的块效应伪迹。如果需要,解块滤波器通常过滤加法器62 的输出。除了解块滤波器之外,还可以使用其它(在环内或后环的)滤波器。为了简洁,这些滤波器并未示出,但若需要,可过滤加法器50(其作为环内滤波器)的输出。
在编码过程中,视频编码器20接收待编码的视频帧或条带。所述帧或条带可分成多个视频块。运动估计单元42和运动补偿单元44对接收的与一个或多个参考帧中的一个或多个块有关的视频块进行帧间预测编码,以提供时序预测。帧内预测单元46也可对接收的与同一帧或条带中的一个或多个相邻块有关的视频块(作为待编码的块)进行帧内预测编码,以提供空域预测。视频编码器20可执行多个编码过程,例如,为视频数据的每个块选择一个合适的编码模式。
进一步地,根据对之前编码过程中的分割方案的评估,分割单元48可将视频数据的块分割为子块。例如,分割单元48最初可将帧或条带分割为最大的编码单元(largestcoding unit,简称LCU),并根据率失真分析(如,率失真优化)将每个LCU分割为子编码单元(sub-coding unit,简称sub-CU)。模式选择单元40可进一步产生四叉树数据结构,其表示将LCU分割为sub-CU。四叉树的叶节点CU可包括一个或多个预测单元(prediction unit,简称PU)以及一个或多个变换单元(transform unit,简称TU)。
本发明使用的术语“块”指HEVC的上下文中的CU、PU或TU中的任一个,或其它标准上下文(如,H.264/AVC中的宏块和子块)中类似的数据结构。CU包括编码节点、与编码节点相关的PU和TU。CU的大小对应编码节点的大小,形状为方形。CU的大小范围可以是从8x8像素到最大像素为64x64像素或更大的树块的大小。每个CU可包括一个或多个PU以及一个或多个TU。与CU相关的语法数据可描述,例如,如何将CU分割为一个或多个PU。分割模式会随着CU是进行跳跃模式编码还是直接模式编码,帧内预测模式编码还是帧间预测模式编码的不同而不同。PU可以是非方形分割。与CU相关的语法数据也可描述,例如,如何根据四叉树将CU分割为一个或多个TU。TU可能是方形或非方形 (例如,矩形)。
模式选择单元40可选择编码模式中的一个,例如,基于错误结果的帧内编码模式或帧间编码模式,并向加法器50提供产生的帧内编码块或帧间编码块,以生成残差块数据,并向加法器62提供产生的帧内编码块或帧间编码块,以重建用作参考帧的编码块。模式选择单元40也向熵编码单元56提供语法元素,如运动矢量、帧内模式指标、分割信息,以及其它这种语法信息。
运动估计单元42和运动补偿单元44可以是高度集成的,但为方便区分概念,对其分别进行了解释。运动估计单元42执行的运动估计是个产生运动矢量的过程。该运动矢量估计视频块的运动。例如,运动矢量可指当前视频帧或图像中视频块的PU相对于参考帧(或其它编码单元)中预测块的位移或者相对于当前帧(或其它编码单元)中正在编码的当前块的位移。就像素差而言,预测块是所发现的非常接近待编码块的块,其中,像素差可由绝对差和(sum of absolute difference,简称SAD)、平方差和(sum of squaredifference,简称SSD)或其它差量度量确定。在一些示例中,视频编码器20可以计算存储在参考帧存储器64中的参考图像的子整数像素位置的值。例如,视频编码器20可以在参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置进行插值。因此,运动估计单元42可进行相对于全像素位置和分数像素位置的运动搜索并输出有分数像素精度的运动矢量。
通过比较PU的位置和参考图像的预测块的位置,运动估计单元42计算帧间编码条带中视频块的PU的运动矢量。所述参考图像可以从第一参考图像列表(List 0)或第二参考图像列表(List 1)中选择,其中每个参考图像列表识别存储在参考帧存储器64中的一个或多个参考图像。运动估计单元42将计算出的运动矢量发送至熵编码单元56和运动补偿单元44。
运动补偿单元44执行的运动补偿可涉及基于运动估计单元42确定的运动矢量获取或生成所述预测块。同样,在一些示例中,运动估计单元42和运动补偿单元44可以在功能上集成。在一个参考图像列表中,运动补偿单元44接收到当前视频块的PU的运动矢量后,可定位所述预测块的位置,其中,所述运动矢量指向所述预测块。如下描述,通过将正在编码的当前视频块的像素值减去所述预测块的像素值,加法器50产生了残差视频块以及像素差值。
一般情况下,运动估计单元42执行亮度分量有关的运动估计。运动补偿单元44 将运动矢量用于色度分量与亮度分量,其中运动矢量基于亮度分量计算得出。模式选择单元40也可产生与视频块和视频条带相关的语法元素。视频解码器30利用所述语法元素对视频条带的视频块进行解码。如上所述,帧内预测单元46可对当前块进行帧内预测,并且可替代运动估计单元42与运动补偿单元44执行的帧间预测。帧内预测单元46尤其可确定帧内预测模式,以用于编码当前块。在一些示例中,在各自的编码过程中,帧内预测单元46可通过各种帧内预测模式编码当前块,且帧内预测单元46(或一些示例中的模式选择单元 40)可从测试模式中选择要使用的合适的帧内预测模式。
例如,帧内预测单元46可通过各种测试帧内预测模式的率失真分析计算率失真值,且可从所述测试模式中选择有最优率失真特征的帧内预测模式。率失真分析一般确定了编码块和初始未编码块间的失真(或错误)量以及用于产生所述编码块的比特率(即,比特数量),其中,对所述初始未编码块进行编码得到所述编码块。帧内预测单元46可计算各种编码块的失真与率的比,以确定哪一个帧内预测模式展示了块的最优率失真值。
此外,帧内预测单元46可用于通过深度建模模式(depth modeling mode,简称DMM)编码深度图的深度块。模式选择单元40可确定可用的DMM模式(例如,使用率失真优化(rate-distortion optimization,简称RDO))是否会产生比帧内预测模式以及其它 DMM模式更好的编码结果。深度图对应的纹理图像的数据可以存储在参考帧存储器64 中。运动估计单元42和运动补偿单元44也可以用于对深度图的深度块进行帧间预测。
选择块的帧内预测模式(如,传统帧内预测模式或DMM模式的一种)之后,帧内预测单元46可向熵编码单元56提供用以指示所选择的块的帧内预测模式的信息。熵编码单元56可对指示所选择的帧内预测模式的信息进行编码。视频编码器20可包括传输的码流配置数据中。所传输的码流配置数据可包括多个帧内预测模式索引表以及多个修改过的帧内预测模式索引表(也称为码字匹配表)、多个块的编码上下文定义、最可能的帧内预测模式的标识、帧内预测模式索引表以及修改过的用于每个上下文的帧内预测模式索引表。
通过从正在编码的初始视频块中减去模式选择单元40的预测数据,视频编码器20产生了残差视频块。加法器50代表一个或多个用于执行此减法运算的组件。
变换处理单元52对所述残差块执行变换,如离散余弦变换(discrete cosinetransform,简称DCT)或概念上类似的变换,以产生包含残差变换系数值的视频块。变换处理单元52可执行概念上类似DCT的其它变换。也可采用小波变换、整数变换、子频带变换或其它类型的变换。
变换处理单元52对残差块执行变换,产生残差变换系数的块。该变换可将来自像素值域的残差信息转化为变换域,如频域。变换处理单元52可以将得到的变换系数发送给量化单元54。量化单元54对所述变换系数进行量化,以进一步降低码率。量化过程可减少与一些或所有系数相关的比特深度。通过调整量化参数可改变量化的程度。在一些示例中,量化单元54则可扫描包含量化变换系数的矩阵。或者,熵编码单元56可执行扫描。
量化之后,熵编码单元56对量化变换系数进行熵编码。例如,熵编码单元56可执行基于上下文的自适应变长编码(context adaptive variable length coding,简称CAVLC)、基于上下文的自适应二进制算术编码(context adaptive binary arithmeticcoding,简称CABAC)、基于语法的上下文自适应二元算法编码(syntax-based context-adaptive binary arithmetic coding,简称SBAC)、概率区间分割熵(probabilityinterval partitioning entropy,简称PIPE)编码或其它熵编码技术。在基于上下文的熵编码情况下,上下文可基于相邻的块。熵编码单元56进行熵编码之后,编码后的码流可传输至其它设备(如,视频解码器30)或存档以备后续的传输或检索。
逆量化单元58和逆变换单元60分别执行逆量化与逆变换,来重建像素域中的残差块,其之后可用作参考块。运动补偿单元44可以通过将所述残差块添加到参考帧存储器 64其中一帧的预测块中来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重建的残差块以计算用于运动估计的子整数像素值。加法器62将所述重建的残差块添加到运动补偿单元44产生的运动补偿预测块中,以生成重建的视频块,用于存储在参考帧存储器64中。运动估计单元42和运动补偿单元44可将所述重建的视频块作为参考块,用于对后续视频帧中的块进行码间编码。
图3是一种可实现分数量化参数偏移技术的示例性视频解码器30的框图。在图 3的示例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧存储器82和加法器80。在一些示例中,视频解码器30 可以执行解码过程。所述解码过程通常与结合视频编码器20(图2)进行描述的编码过程互逆。运动补偿单元72可基于从熵解码单元70接收的运动矢量生成预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指标生成预测数据。
在解码过程中,视频解码器30接收编码视频码流,该码流表示编码视频条带的视频块,以及来自视频编码器20的相关语法元素。视频解码器30的熵解码单元70解码码流,以产生量化系数、运动矢量或帧内预测模式指标以及其它语法元素。熵解码单元70将所述运动矢量和其它语法元素转发至运动补偿单元72。视频解码器30可以接收视频条带级别和/或视频块级别的语法元素。
当视频条带被编码为帧内编码(I)条带时,基于标示的帧内预测模式以及之前解码的当前帧或图像的块的数据,帧内预测单元74可产生当前视频条带中视频块的预测数据。当视频帧被编码为帧间编码(即,B、P或GPB)条带时,运动补偿单元72基于运动矢量和从熵解码单元70接收的其它语法元素,为当前视频条带中的视频块产生预测块。所述预测块可以从一个所述参考图像列表中的一个所述参考图像中产生。使用基于存储在参考帧存储器82中的参考图像的默认构建技术,视频解码器30可构建参考帧列表:List 0和List 1。
运动补偿单元72通过解析运动矢量和其它语法元素确定当前视频条带中视频块的预测信息,并使用所述预测信息产生正在解码的当前视频块的预测块。例如,运动补偿单元72使用一些接收到的语法元素来确定用于编码视频条带的视频块的预测模式(如,帧内或帧间预测)、帧间预测条带类型(如,B条带、P条带、或GPB条带)、条带的一个或多个参考图像列表的构建信息、条带的每个帧间编码视频块的运动矢量、条带的每个帧间编码视频块的帧间预测状态,以及其它用于解码当前视频条带中视频块的信息。
运动补偿单元72也可以基于插值滤波器执行插值。运动补偿单元72可使用插值滤波器计算参考块的子整数像素的内插值。视频编码器20在编码视频块的过程中也使用了所述插值滤波器。此时,运动补偿单元72可从接收的语法元素中确定视频编码器20使用的插值滤波器,并使用该插值滤波器来产生预测块。
深度图对应的纹理图像的数据可以存储在参考帧存储器82中。运动补偿单元72也可以用于对深度图的深度块进行帧间预测。
如本领域人员所理解的,图1的编码***10适于实现各种视频编码或压缩技术。视频编码的其中一个方面为量化流程。这对于所有混合视频编解码器来说都是常见的。量化参数(quantization parameter,简称QP)是基本编解码器参数之一,用于计算实际的量化步长。在视频质量降低合理的情况下,量化流程允许减少传输信息量。
对于H.264/AVC和H.265/HEVC,量化参数为输入编解码器量化参数,其允许编解码器引入的失真和码流的码率之间的权衡有所不同。其中,量化参数为[0,51]范围内的整数参数,其中,0表示无失真,51表示编码过程引入的最大失真。基于量化参数值,计算亮度和色度的量化步长。然而,在一些情况下,为色度指定不同的量化参数是有用的。为了在不传输每个色度面的另一个整体值的情况下处理这种情况,在当前视频压缩标准下,两种色度分量中引入了色度量化参数偏移量。所述色度量化参数偏移量允许基于亮度量化参数指定一定的色度量化参数值。
在一个实施例中,除非本发明的上下文另有定义,否则以下术语具有以下含义。序列参数集(sequence parameter set,简称SPS)是为一系列图像传输的一组编码参数。SPS包含所述系列图像中所有图像共有的数据。图像参数集(picture parameter set,简称PPS) 是为一个或多个图像传输的一组编码参数。PPS包含所述整个图像共有的数据。条带头 (slice header,简称SH)是属于每个特定条带的编码信息。ChromaArrayType是指定色度子采样类型的变量,其中0表示单色,1表示4:2:0色度子采样,2表示4:2:2色度子采样,3表示4:4:4色度子采样。
在HEVC标准中,色度量化参数偏移量在PPS和条带头中标示。所述语法表如下:
pps_cb_qp_offset | se(v) |
pps_cr_qp_offset | se(v) |
pps_slice_chroma_qp_offsets_present_flag | u(1) |
以及
上述语法元素对应的语义如下:
pps_cb_qp_offset和pps_cr_qp_offset分别指定用于导出Qp′Cb和Qp′Cr的亮度量化参数Qp′Y的偏移量。pps_cb_qp_offset和pps_cr_qp_offset的取值范围为-12至+12(包括- 12和+12)。当ChromaArrayType=0时,解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,且解码器忽略它们的值。
pps_slice_chroma_qp_offsets_present_flag等于1表示相关条带头中存在slice_cb_qp_offset和slice_cr_qp_offset语法元素。pps_slice_chroma_qp_offsets_present_flag 等于0表示相关条带头中不存在这些语法元素。
当确定Qp′Cb量化参数的值时,slice_cb_qp_offset指定pps_cb_qp_offset的值要增加的差值。slice_cb_qp_offset的取值范围为-12至+12(包括-12和+12)。当 slice_cb_qp_offset不存在时,推断其等于0。pps_cb_qp_offset+slice_cb_qp_offset的取值范围为-12至+12(包括-12和+12)。
当确定Qp′Cr量化参数的值时,slice_cr_qp_offset指定pps_cr_qp_offset的值要增加的差值。slice_cr_qp_offset的取值范围为-12至+12(包括-12和+12)。当 slice_cr_qp_offset不存在时,推断其等于0。pps_cr_qp_offset+slice_cr_qp_offset的取值范围为-12至+12(包括-12和+12)。
Cb和Cr的量化参数可称为第一中间色度量化参数。后续其计算方式为:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset+slice_cb_qp_offset)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+pps_cr_qp_offset+slice_cr_qp_offset),
其中,
QpBdOtfsetC=6*(bit_depth_chroma-8),
57表示qPiCb和qPiCr的最大允许值;
QpY是当前条带的基本亮度量化参数。
基于表1中的映射,使用计算出的qPiCb和qPiCr确定QpCb和QpCr,其中,qPiCb和qPiCr可称为第一中间色度量化参数,QpCb和QpCr可称为第二中间色度量化参数。表1 中,第一中间色度量化参数(qPiCb和qPiCr)统称为索引qPi,第二中间色度量化参数(QpCb和QpCr)统称为索引QpC。
表1:Qpc作为qPi函数的规格说明
qPi | <30 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | >43 |
Qp<sub>C</sub> | =qPi | 29 | 30 | 31 | 32 | 33 | 33 | 34 | 34 | 35 | 35 | 36 | 36 | 37 | 37 | =qPi-6 |
因此,Cb和Cr分量的最终色度量化参数Qp′Cb和Qp′Cr导出如下:
Qp′Cb=qPCb+QpBdOffsetC
Qp′Cr=qPCr+QpBdOffsetC
其中,qPCb等于来自表1的QpC的Cb分量,qPCr是来自表1的QpC的Cr分量,QpBdOffsetC是从码流中获得的色度量化参数范围偏移量。
量化参数定义了残差标量量化器的量化步长。在HEVC中,使用以下公式确定量化步长:
Qstep(QP)=(21/6)QP-4
其中,QP表示计算的最终量化参数。
由于上述编码过程限于色度量化参数的整数值,因此编码精度有限。此处公开了一组启用分数色度QP偏移量的方法,可实现与亮度质量相关的更精细的色度质量调整。本发明还提供了在编码块级别启用亮度分量的分数ΔQP偏移量的方法,可实现对本地块和区域的更精细的质量调整。
HEVC标准中的现有解决方案只标示整数色度QP偏移量。然而,在一些情况下,可能需要更精细的色度QP偏移量来实现更平衡的亮度和色度编码质量。本发明提供了一组方法,允许标示和使用分数色度QP偏移量。
在第一种方法中,语法表可以与上述现有解决方案相同,但语义和解码计算过程修改如下。在第一实施例中,采用如下方式:
pps_cb_qp_offset和pps_cr_qp_offset分别指定用于导出Qp′Cb和Qp′Cr的亮度量化参数Qp′Y的偏移量。pps_cb_qp_offset和pps_cr_qp_offset的取值范围为-24至+24(包括- 24和+24)。当ChromaArrayType=0时,解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,且解码器忽略它们的值。
当确定Qp′Cb量化参数的值时,slice_cb_qp_offset指定pps_cb_qp_offset的值要增加的差值。slice_cb_qp_offset的取值范围为-24至+24(包括-24和+24)。当 slice_cb_qp_offset不存在时,推断其等于0。pps_cb_qp_offset+slice_cb_qp_offset的取值范围为-24至+24(包括-24和+24)。
当确定Qp′Cr量化参数的值时,slice_cr_qp_offset指定pps_cr_qp_offset的值要增加的差值。slice_cr_qp_offset的取值范围为-24至+24(包括-24和+24)。当 slice_cr_qp_offset不存在时,推断其等于0。pps_cr_qp_offset+slice_cr_qp_offset的取值范围为-24至+24(包括-24和+24)。
后续在解码过程中,Cb和Cr的量化参数计算方式为:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+(pps_cb_qp_offset+slice_cb_qp_offset)/2)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+(pps_cr_qp_offset+slice_cr_qp_offset)/2)
这里参数qPiCb和qPiCr可以为非整数,57代表qPiCb和qPiCr的最大允许值。在本例中,精度达到0.5。因此,上述表1修改如下,如表2所示:
表2:Qpc作为qPi函数的规格说明
qPi | <29 | 29 | 29.5 | 30 | 30.5 | 31 | 31.5 | 32 | 32.5 | 33 | 33.5 | 34 | 34.5 | 35 | 35.5 |
Qp<sub>C</sub> | =qPi | 28.5 | 29 | 29 | 29.5 | 30 | 30.5 | 31 | 31.5 | 32 | 32.5 | 33 | 33 | 33.5 | 33.5 |
36 | 36.5 | 37 | 37.5 | 38 | 38.5 | 39 | 39.5 | 40 | 40.5 | 41 | 41.5 | 42 | 42.5 | 43 | >43 |
34 | 34 | 34.5 | 34.5 | 35 | 35 | 35.5 | 35.5 | 36 | 36 | 36.5 | 36.5 | 37 | 37 | 37.5 | =qPi_6 |
Cb和Cr分量的最终色度量化参数Qp′Cb和Qp′Cr导出与之前一样:
Qp′Cb=qPCb+QpBdOffsetC
Qp′Cr=qPCr+QpBdOffsetC
在一个实施例中,使用如下:
pps_cb_qp_offset和pps_cr_qp_offset分别指定用于导出Qp′Cb和Qp′Cr的亮度量化参数Qp′Y的偏移量。pps_cb_qp_offset>>1和pps_cr_qp_offset>>1的取值范围为-12至 +12(包括-12和+12)。当ChromaArrayType=0时,解码过程中不使用pps_cb_qp_offset和 pps_cr_qp_offset,且解码器忽略它们的值。
当确定Qp′Cb量化参数的值时,slice_cb_qp_offset指定pps_cb_qp_offset的值要增加的差值。slice_cb_qp_offset>>1的取值范围为-12至+12(包括-12和+12)。当slice_cb_qp_offset不存在时,推断其等于0。pps_cb_qp_offset>>1+slice_cb_qp_offset>>1的取值范围为-12至+12(包括-12和+12)。
当确定Qp′Cr量化参数的值时,slice_cr_qp_offset指定pps_cr_qp_offset的值要增加的差值。slice_cr_qp_offset>>1的取值范围为-12至+12(包括-12和+12)。当slice_cr_qp_offset不存在时,推断其等于0。pps_cr_qp_offset>>1+slice_cr_qp_offset>>1的取值范围为-12至+12(包括-12和+12)。
后续在解码过程中,Cb和Cr的量化参数计算方式为:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset/2+slice_cb_qp_offset/2)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+pps_cr_qp_offset/2+slice_cr_qp_offset/2)
与上述实施例类似,参数qPiCb和qPiCr可以为非整数,57代表qPiCb和qPiCr 的最大允许值。
图4是一种解码方法400的实施例流程图。解码方法400可以由解码器执行,例如图1的视频解码器30。例如,当编码需要更精细的非整数级的精度时,可以执行该方法。
在框402中,从编码设备(例如,图1中的视频编码器20)接收码流。在框404 中,使用熵解码器(例如,图3中的熵解码单元70)从所述码流中获得色度量化参数范围偏移量(例如,QpBDOffsetC)、亮度量化参数(例如,QpY)、量化参数偏移量(例如, pps_cb_qp_offset、slice_cb_qp_offset、pps_cr_qp_offset和slice_cr_qp_offset)以及系数。
在框406中,使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数(例如,qPiCb和qPiCr)。在一个实施例中,所述第一中间色度量化参数中的一个或多个具有非整数值(例如,0.5、0.25和0.1等)。在框408 中,基于所述第一中间色度量化参数确定第二中间色度量化参数(例如,QPCb和QPCr)。在一个实施例中,所述第二中间色度量化参数中的一个或多个具有非整数值。
在框410中,基于所述第二中间色度量化参数和所述色度量化参数范围偏移量计算最终色度量化参数(例如,Q′PCb和Q′PCr)。在框412中,使用所述最终色度量化参数计算量化步长。在框414中,使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素。
在框416中,将所述残差像素与预测像素进行组合,以获得重建像素。在一个实施例中,从所述码流中获得所述预测像素。在一个实施例中,所述预测像素基于先前编码的图片或图像。在框418中,在电子设备的显示器上显示利用所述重建像素生成的图像。
上述实施例中的一些为示例,其假设色度QP偏移量的范围在[-12,12]之间(包括-12和+12),且分数精度支持高达1/2。这些方法可以推广到其它色度QP偏移量范围和分数精度。在一个示例中,上述描述中的“/2”可替换为“/K”,“-24”和“+24”可修改为“-(12*K)”和“+(12*K)”。在此示例中,色度QP偏移量可达到的分数精度为1/K。在另一个示例中,上述描述中的“/2”可替换为“/K”,“-24”和“+24”可修改为“-N”和“+N”。
此外,可以在序列参数集(sequence parameter set,简称SPS)、图像参数集(picture parameter set,简称PPS)或条带头(slice header,简称SH)中标示标志,以指示是否允许分数色度QP偏移量,例如,分别对当前序列、图像和条带启用或禁用所述分数色度QP偏移量。如果该标志为ON,则语法元素的含义,例如语义,以及色度QP偏移量的计算使用本发明提供的方法。此外,还可以对分数色度QP偏移量的精度(K)进行标示。否则,如果所述标志为OFF,则语法元素的含义,例如语义,以及色度QP偏移量的计算使用现有解决方案,例如HEVC。下面提供了几个示例性语法表。
在上面的语法表中,PPS中增加了一个标志: pps_fractional_chroma_qp_offset_enabled_flag。该标志等于1表示分数色度QP偏移量可用于当前图像或与该PPS相关的图像。该标志等于0表示分数色度QP偏移量不可用于(例如,只有整数色度QP偏移量可用于)当前图像或与该PPS相关的图像。
在上述语法表中,条带头中增加了一个标志: slice_fractional_chroma_qp_offset_enabled_flag。该标志等于1表示分数色度QP偏移量可用于当前条带。该标志等于0表示分数色度QP偏移量不可用于当前条带(例如,只能使用整数色度QP偏移量)。当该标志不存在时,推断其等于0。
或者,仅当pps_fractional_chroma_qp_offset_enabled_flag为ON时,才会对标志“slice_fractional_chroma_qp_offset_enabled_flag”进行标示。即,在当前图像允许所述分数色度QP偏移量的情况下,只有当前条带允许所述分数色度QP偏移量。当该标志不存在时,推断其等于0。
此外,给出了具有分数色度QP偏移量的变形精度的语法表。
在上面的语法表中,PPS中增加了一个标志: pps_fractional_chroma_qp_offset_precision。该字段定义了分数色度QP偏移量的精度(K),所述精度(K)可用于当前图像或与该PPS相关的图像。该字段等于0表示分数色度QP偏移量不可用于(即,只有整数色度QP偏移量可用于)当前图像或与该PPS相关的图像。当该语法元素未被标示时,其值被推断为等于0。在一个实施例中,该语法元素通过各种长度编码进行编码。所述值0被赋予最短码字(1bin)。
在上述语法表中,条带头中增加了一个标志: slice_fractional_chroma_qp_offset_precision。该字段定义了分数色度QP偏移量的精度(K),其可用于当前条带。该字段等于0表示分数色度QP偏移量不可用于当前条带(例如,只能使用整数色度QP偏移量)。
或者,仅当slice_fractional_chroma_qp_offset_enabled_flag为ON时,才会对标志“slice_fractional_chroma_qp_offset_precision”进行标示。即,在当前条带允许分数色度QP 偏移量时,只对当前条带的条带级别分数色度QP偏移量精度进行标示。当该语法元素未被标示时,其值被推断为等于0。在一个实施例中,该语法元素通过各种长度编码进行编码。所述值1被赋予最短码字(1bin),表示1/2精度。
在另一种方法中,量化参数QpC的整数部分使用现有解决方案,例如HEVC,推导出。为了得到分数QpC精度,可以在PPS或条带头级别上标示和使用其它语法元素,例如pps_slice_chroma_frac_qp_offsets_precision、pps_frac_cb_qp_offset、 pps_frac_cr_qp_offset、slice_frac_cb_qp_offset和slice_frac_cr_qp_offset。下面提供了几个示例性语法表。
以及
上述语法元素对应的语义如下:
pps_chromafrac_qp_offsets_precision指定当前图像或与该PPS关联的图像使用的分数色度qp偏移量的精度。当该语法元素不存在时,推断其值等于0,表示整数色度QP偏移量精度。值K大于0表示分数色度QP偏移量精度等于1/(2^K)。
pps_frac_cb_qp_offset和pps_frac_cr_qp_offset分别指定量化参数QpC整数部分的分数偏移量,用于推导出最终值Qp′Cb和Qp′Cr。pps_frac_cb_qp_offset和 pps_frac_cr_qp_offset的取值范围为0至2^K-1(包括0和2^K-1)。当ChromaArrayType=0 时,解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,且解码器忽略它们的值。
pps_slice_chroma_frac_qp_offsets_present_flag等于1表示相关条带头中存在 slice_frac_cb_qp_offset_offset和slice_frac_cr_qp_offset语法元素。 pps_slice_chroma_frac_qp_offsets_present_flag等于0表示相关条带头中不存在这些语法元素。当该标志不存在时,推断其值等于0。
当确定Qp′Cb量化参数的最终值时,slice_frac_cb_qp_offset指定pps_frac_cb_qp_offset的值要增加的差值。slice_frac_cb_qp_offset的取值范围为0至2^K-1 (包括0和2^K-1)。当slice_frac_cb_qp_offset不存在时,推断其等于0。 pps_cb_qp_offset+slice_cb_qp_offset的取值范围为0至2^K-1(包括0和2^K-1)。
当确定Qp′Cb量化参数的最终值时,slice_frac_cr_qp_offset指定pps_frac_cr_qp_offset的值要增加的差值。slice_frac_cr_qp_offset的取值范围为0至2^K-1 (包括0和2^K-1)。当slice_frac_cr_qp_offset不存在时,推断其等于0。 pps_cr_qp_offset+slice_cr_qp_offset的取值范围为0至2^K-1(包括0和2^K-1)。
QpCb_fracPrec=((QpCb)<<K+pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K)
QpCr_fracPrec=((QpCr)<<K+pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K)
在该示例中,色度qp偏移量的分数部分可以达到(2^K)-1。
这里假设浮点表示QpCb_fracPrec。然后,为了定义量化步长,仍可使用通用公式:
Qstep(QP)=(21/6)QP-4
在上述语法表中,假设图像级别和条带级别的分数QP偏移量使用pps_slice_chroma_frac_qp_offsets_precision指定的相同分数精度(K)。需要说明的是,图像和条带级别偏移量可使用不同的精度。在这种情况下, pps_slice_chroma_frac_qp_offsets_present_flag替换为 pps_slice_chroma_frac_qp_offsets_precision。此外,可使用二进制标志而非精度字段来指示某个默认的精度值(例如,K=2)。
图5是一种解码方法500的实施例流程图。解码方法500可以由解码器(例如图 1的视频解码器30)执行。例如,当编码需要更精细的非整数级的精度时,可以执行该方法。
在框502中,从编码设备(例如图1中的视频编码器20)接收码流。在框504 中,使用熵解码器(例如图3中的熵解码单元70)从所述码流中获得色度量化参数范围偏移量(例如,QpBDOffsetC)、亮度量化参数(例如,QpY)、量化参数偏移量(例如, pps_cb_qp_offset、slice_cb_qp_offset、pps_cr_qp_offset和slice_cr_qp_offset)、分数量化参数偏移量(例如,pps_frac_cb_qp_offset、slice_frac_cb_qp_offset、pps_frac_cr_qp_offset和slice_frac_cr_qp_offset)以及系数。
在框506中,使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数(例如,qPiCb和qPiCr)。在框508中,基于所述第一中间色度量化参数确定第二中间色度量化参数(例如,QPCb和QPCr)。在框510中,基于所述第二中间色度量化参数和所述分数量化参数偏移量计算分数色度量化参数(例如, QPCb_facPrec和QPCr_fracPrec)。
在框512中,使用所述分数色度量化参数计算量化步长。在框514中,使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素。
在框516中,将所述残差像素与预测像素进行组合,以获得重建像素。在框518 中,在电子设备的显示器上显示利用所述重建像素生成的图像。
在另一种方法中,通过表1中的索引qPi和量化参数QpC之间的对应关系获取量化参数的分数精度。记住,QpC是qPi(QpC=F(qPi))的函数。因此,qPi的导出与上述传统方法相同。具有分数精度的Qpc是表1的当前值和下一个值的加权和。
QpCb_fracPrec=F(qPi)*(1.0-(pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/ (2^K))+F(qPi+1)*(pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K),
QpCr_fracPrec=F(qPi)*(1.0-(pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/ (2^K))+F(qPi+1)*(pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K),
其中,K为分数精度级别。
图6是一种编码方法600的实施例流程图。编码方法600可以由编码器(例如图1的视频编码器20)执行。例如,当编码需要更精细的非整数级的精度时,可以执行该方法。
在框602中,将图像划分为包含原始像素的多个块。在框604中,从原始像素中减去预测像素,以获得每个块的残差像素。在框606中,基于分数色度权重计算不同模式下亮度和色度的率失真成本。在框608中,选择其中一个率失真成本。
在框610中,基于所选择的其中一个率失真成本,将残差像素变换为系数。在框612中,通过步长大小对系数进行量化以获得量化系数。在框614中,基于量化系数,使用熵编码器(例如,图2中的熵编码单元56)生成码流。在框616中,所述码流传输至解码设备(例如,图1中的视频解码器30)。
在另一种方法中,在使用现有(例如,HEVC)解决方案的编码过程中,可以启用分数色度量化参数偏移量。在率失真优化程序中,通常使用亮度和色度失真的不等权重。色度失真的权重由亮度量化参数和色度QP偏移量控制:
色度权重=F(QpY+chroma_qp_offset)
在当前的编码技术中,QpY和chroma_qp_offset可以仅为整数精度。为了获得更精确的分数位置上的色度权重(例如,0.5、0.25和0.1等),建议使用函数“F”的当前整型参数和下一个整型参数的加权和:
ChromaWeightfracPrec=F(QpY+chroma_qp_offset)*(1.0-(pps_frac_cb_qp_offset +slice_frac_cb_qp_offset)/(2^K))+F(QpY+chroma_qp_offset)*(pps_frac_cb_qp_offset+ slice_frac_cb_qp_offset)/(2^K)。
需要说明的是,上述色度权重修改可应用于所有编码工具和模式、基于率失真优化准则的选择环路以及包括样本自适应偏移(sample adaptive offset,简称SAO)、自适应环路滤波(adaptive loop filtering,简称ALF)等环内滤波器在内的特殊编码工具等。
在另一种方法中,提议允许在编码块级别对亮度分量使用分数ΔQP。在一个实施例中,块级别(例如,编码单元)的ΔQP精度可以为1/2。下面示出了示例性语法表。
需要说明的是,在上述示例性语法表中,“transform_unit”通常可以替换为编码单元或编码块。在上述示例性语法表中,当启用分数ΔQP时,在一个实施例中, cu_qp_delta_abs指定当前编码单元的亮度量化参数与其两倍预测之间的差值CuQpDeltaVal 的绝对值。此外,CuQpDeltaVal的符号由cu_qp_delta_sign_flag指定如下:
如果cu_qp_delta_sign_flag等于0,则对应的CuQpDeltaVal具有正值。
否则(如果cu_qp_delta_sign_flag等于1),则对应的CuQpDeltaVal具有负值。
当cu_qp_delta_sign_flag不存在时,则推断其等于0。当存在cu_qp_delta_abs时,变量IsCuQpDeltaCoded和CuQpDeltaVal推导如下:
IsCuQpDeltaCoded=1
CuQpDeltaVal=cu_qp_delta_abs*(1-2*cu_qp_delta_sign_flag)/2
这意味着这里的CuQpDeltaVal可以是分数。
这些方法可以很容易地推广到值CuQpDeltaVal的分数精度。在一个示例中,上述描述中的“/2”可以替换为“/K”,其中精度值K可以在PPS中传输。示例如下:
图7是一种解码方法700的实施例流程图。解码方法700可以由解码器(例如,图1的视频解码器30)执行。例如,当编码需要更精细的非整数级的精度时,可以执行该方法。
在框702中,从编码设备(例如,图1中的视频编码器20)接收码流。在框704 中,使用熵解码器(例如,图3中的熵解码单元70)从所述码流中获得亮度量化参数(例如,QpY)、量化参数绝对值(例如,cu_qp_delta_abs)、量化参数符号(例如, cu_qp_delta_sign_flag)和系数。在框706中,基于所述量化参数绝对值和所述量化参数符号计算量化参数Δ值(例如,CuQpDeltaVal)。量化参数Δ值可具有非整数值。
在框708中,通过将量化参数Δ值(例如,CuQpDeltaVal)与亮度量化参数(例如,QpY)相加来计算最终亮度量化参数(例如,Q′pY)。在框710中,使用所述最终亮度量化参数计算量化步长。在框712中,使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素。
在框714中,将所述残差像素与预测像素进行组合,以获得重建像素。在框716 中,在电子设备的显示器上显示利用所述重建像素生成的图像。
综上所述,应当认识到,现有解决方案仅允许标示并使用整数色度QP偏移量,而本发明的解决方案允许启用分数色度QP偏移量,从而可实现与亮度质量相关的更精细的色度质量调整。现有解决方案仅允许标示并使用整数块级别ΔQP,而本发明的解决方案允许在编码块级别为亮度分量启用分数ΔQP偏移量,从而可实现对本地块和区域的更精细的质量调整。
图8为本发明实施例提供的网络设备800(例如,编码设备)的示意图。网络设备800适于实现如本文所述的公开的实施例。所述网络设备800包括入端口810;接收器单元(receiver unit,简称Rx)820,用于接收数据;处理器、逻辑单元或中央处理器(centralprocessing unit,简称CPU)830,用于处理数据;发送器单元(transmitter unit,简称Tx)840和出端口850,用于发送数据;存储器860,用于存储数据。网络设备800还可以包括光电(optical-to-electrical,简称OE)组件和电光(electrical-to-optical,简称EO)组件,所述组件耦合到入端口810、接收器单元820、发送器单元840和出端口850,用于光或电信号的出入。
处理器830通过硬件和软件来实现。所述处理器830可作为一个或多个CPU芯片、核心(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,简称FPGA)、专用集成电路(application specific integrated circuit,简称ASIC)和数字信号处理器(digital signal processor,简称DSP)来实现。处理器830与入端口810、接收器单元 820、发送器单元840、出端口850和存储器860通信。所述处理器830包括编码模块870。所述编码模块870实施上述公开的实施例。例如,编码模块870实现、处理、准备或提供各种编码操作。因此,编码模块870的包含大大改善了网络设备800的功能,并实现了网络设备800不同状态的变换。或者,编码模块870作为指令实现,存储在所述存储器860并由所述处理器830执行。
所述存储器860包括一个或多个磁盘、磁带驱动器和固态硬盘,且可用作溢出数据存储设备:当程序被选择执行时,存储此类程序;并存储程序执行过程中读出的指令和数据。存储器860可以是易失性和/或非易失性的,并且可以是只读存储器(read-onlymemory,简称ROM)、随机存取存储器(random access memory,简称RAM)、三重内容寻址内存(ternary content-addressable memory,简称TCAM)和/或静态随机存取存储器 (staticrandom-access memory,简称SRAM)。
在一个实施例中,解码方法由解码装置实现。所述方法包括:从编码装置接收码流;使用熵解码器从所述码流中获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量和系数;使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数,其中,所述第一中间色度量化参数中的一个或多个具有非整数值;基于所述第一中间色度量化参数确定第二中间色度量化参数,其中,所述第二中间色度量化参数中的一个或多个具有非整数值;基于所述第二中间色度量化参数和所述色度量化参数范围偏移量计算最终色度量化参数;使用最终色度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;将所述残差像素与预测像素进行组合,以获得重建像素;以及在电子装置的显示装置上显示利用所述重建像素生成的图像。
在一个实施例中,解码方法由解码装置实现。所述方法包括:从编码装置接收码流;使用熵解码器从所述码流获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量、分数量化参数偏移量和系数;使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数;基于所述第一中间色度量化参数确定第二中间色度量化参数;基于所述第二中间色度量化参数和所述分数量化参数偏移量计算分数色度量化参数;通过使用所述分数色度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;将所述残差像素与预测像素进行组合,以获得重建像素;以及在电子装置的显示装置上显示利用所述重建像素生成的图像。
在一个实施例中,提供了一种编码装置实现的编码方法。所述方法包括:将图像划分为包含原始像素的多个块;从所述原始像素中减去预测像素,以获得所述每个块的残差像素;基于分数色度权重计算不同模式下亮度和色度的率失真成本;选择其中一个率失真成本;基于所选择的其中一个率失真成本,将残差像素变换为系数;按步长大小对所述系数进行量化,以获得量化系数;基于所述量化系数,使用熵编码装置生成码流;以及将所述码流传输至解码装置。
在一个实施例中,解码方法由解码装置实现。所述方法包括:从编码装置接收码流;使用熵解码器从所述码流中获取亮度量化参数、量化参数绝对值、量化参数符号和系数;基于所述量化参数绝对值和所述量化参数符号计算量化参数Δ值,其中,所述量化参数Δ值具有非整数值;将所述量化参数Δ值与所述亮度量化参数相加,计算最终亮度量化参数;使用所述最终亮度量化参数计算量化步长;使用所述量化步长对所述系数进行量化以产生量化系数,并将所述量化系数变换为残差像素;将所述残差像素与预测像素进行组合,以获得重建像素;以及在电子装置的显示装置上显示利用所述重建像素生成的图像。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的***和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一***中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、***、子***和方法可以与其它***、模块、技术或方法进行组合或集成。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
Claims (16)
1.一种解码设备实现的解码方法,其特征在于,包括:
从编码设备接收码流;
使用所述解码设备的熵解码器从所述码流中获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量和系数,其中所述量化参数偏移量包括图像参数集量化参数偏移量和条带量化参数偏移量;
使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数,其中,所述第一中间色度量化参数中的一个或多个具有非整数值,其中通过将所述图像参数集量化参数偏移量和所述条带量化参数偏移量除以2来计算所述第一中间色度量化参数;
基于所述第一中间色度量化参数确定第二中间色度量化参数,其中,所述第二中间色度量化参数中的一个或多个具有非整数值;
基于所述第二中间色度量化参数和所述色度量化参数范围偏移量计算最终色度量化参数;
使用所述最终色度量化参数计算量化步长;
使用所述量化步长对所述系数进行逆量化以产生量化系数,并将所述量化系数逆变换为残差像素;以及
将所述残差像素与预测像素进行组合,以获得重建像素。
2.根据权利要求1所述的方法,其特征在于,所述第一中间色度量化参数根据以下进行计算:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+(pps_cb_qp_offset+slice_cb_qp_offset)/2)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+(pps_cr_qp_offset+slice_cr_qp_offset)/2)
3.根据权利要求1所述的方法,其特征在于,通过将所述图像参数集量化参数偏移量和所述条带量化参数偏移量之和除以2来计算所述第一中间色度量化参数。
4.根据权利要求1所述的方法,其特征在于,通过使用表格将所述第一中间色度量化参数映射到所述第二中间色度量化参数,获得所述第二中间色度量化参数。
5.根据权利要求1所述的方法,其特征在于,所述第二中间色度量化参数根据以下确定:
。
6.根据权利要求1所述的方法,其特征在于,所述量化参数偏移量范围为–24至+24(包括–24和+24)。
7.根据权利要求1所述的方法,其特征在于,将所述图像参数集量化参数偏移量除以2得到第一商数,将所述条带量化参数偏移量除以2得到第二商数,然后对所述第一商数和所述第二商数进行求和来计算所述第一中间色度量化参数。
8.根据权利要求1所述的方法,其特征在于,所述第一中间色度量化参数根据以下进行计算:
qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset/2+slice_cb_qp_offset/2)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+pps_cr_qp_offset/2+slice_cr_qp_offset/2)
9.根据权利要求1所述的方法,其特征在于,所述图像参数集量化参数偏移量和条带量化参数偏移量分别右移1。
10.根据权利要求1所述的方法,其特征在于,所述第一中间色度量化参数和所述第二中间色度量化参数中至少一个的精度为0.5。
11.根据权利要求1所述的方法,其特征在于,所述量化步长根据以下进行计算:
Qstep(QP)=(21/6)QP-4
其中,QP表示最终色度量化参数。
12.一种解码设备实现的解码方法,其特征在于,包括:
从编码设备接收码流;
使用所述解码设备的熵解码器从所述码流中获取色度量化参数范围偏移量、亮度量化参数、量化参数偏移量、分数量化参数偏移量和系数,其中所述量化参数偏移量包括图像参数集量化参数偏移量和条带量化参数偏移量;
使用所述色度量化参数范围偏移量、所述亮度量化参数和所述量化参数偏移量计算第一中间色度量化参数,其中通过将所述图像参数集量化参数偏移量和所述条带量化参数偏移量除以2来计算所述第一中间色度量化参数;
基于所述第一中间色度量化参数确定第二中间色度量化参数;
基于所述第二中间色度量化参数和所述分数量化参数偏移量计算分数色度量化参数;
使用所述分数色度量化参数计算量化步长;
使用所述量化步长对所述系数进行逆量化以产生量化系数,并将所述量化系数逆变换为残差像素;以及
将所述残差像素与预测像素进行组合,以获得重建像素。
13.根据权利要求12所述的方法,其特征在于,所述分数色度量化参数根据以下确定:
QpCb_fracPrec=((QpCb)<<K+pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K)
QpCr_fracPrec=((QpCr)<<K+pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K)
其中,QpCb和QpCr表示最终色度量化参数的整数部分,K为分数色度量化参数偏移量精度,K表示分数精度级别,pps_frac_cr_qp_offset和slice_frac_cr_qp_offset表示分数量化参数偏移量。
14.根据权利要求12所述的方法,其特征在于,所述分数色度量化参数根据以下确定:
QpCb_fracPrec=F(qPi)*(1.0–(pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K))+F(qPi+1)*(pps_frac_cb_qp_offset+slice_frac_cb_qp_offset)/(2^K),
QpCr_fracPrec=F(qPi)*(1.0–(pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K))+F(qPi+1)*(pps_frac_cr_qp_offset+slice_frac_cr_qp_offset)/(2^K),
其中,F(qPi)表示所述第一中间色度量化参数的函数,pps_frac_cr_qp_offset和slice_frac_cr_qp_offset表示分数量化参数偏移量,K为分数色度量化参数偏移量精度。
15.根据权利要求12所述的方法,其特征在于,所述分数量化参数偏移量包括pps_frac_cb_qp_offset、slice_frac_cb_qp_offset、pps_frac_cr_qp_offset和slice_frac_cr_qp_offset。
16.根据权利要求12所述的方法,其特征在于,所述量化参数偏移量范围为0-2^K–1(包括0和2^K–1),其中,K表示分数精度级别。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762531727P | 2017-07-12 | 2017-07-12 | |
US62/531,727 | 2017-07-12 | ||
US16/029,132 US11019339B2 (en) | 2017-07-12 | 2018-07-06 | Fractional quantization parameter offset in video compression |
US16/029,132 | 2018-07-06 | ||
PCT/CN2018/095180 WO2019011245A1 (en) | 2017-07-12 | 2018-07-10 | SHIFTING FRACTIONAL QUANTIFICATION PARAMETER IN VIDEO COMPRESSION |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110870311A CN110870311A (zh) | 2020-03-06 |
CN110870311B true CN110870311B (zh) | 2021-02-12 |
Family
ID=64999276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880045349.3A Active CN110870311B (zh) | 2017-07-12 | 2018-07-10 | 视频压缩中的编解码方法与装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11019339B2 (zh) |
EP (1) | EP3646591A4 (zh) |
CN (1) | CN110870311B (zh) |
WO (1) | WO2019011245A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543826A (zh) * | 2017-09-21 | 2019-03-29 | 杭州海康威视数字技术股份有限公司 | 一种基于深度神经网络的激活量量化方法及装置 |
JP7016660B2 (ja) * | 2017-10-05 | 2022-02-07 | キヤノン株式会社 | 符号化装置、その制御方法、および制御プログラム、並びに撮像装置 |
JP7073495B2 (ja) * | 2018-04-01 | 2022-05-23 | エルジー エレクトロニクス インコーポレイティド | 量子化パラメータ導出に基づく映像コーディング装置及び方法 |
EP3554074A1 (en) * | 2018-04-13 | 2019-10-16 | Thomson Licensing | Methods and apparatus for depth encoding and decoding |
US11076152B2 (en) * | 2019-03-18 | 2021-07-27 | Sony Group Corporation | Quantization step parameter for point cloud compression |
KR20200132762A (ko) * | 2019-05-15 | 2020-11-25 | 현대자동차주식회사 | 색차블록을 복원하는 방법 및 영상 복호화 장치 |
CN114208175B (zh) * | 2019-06-11 | 2023-06-13 | Lg电子株式会社 | 基于色度量化参数数据的图像解码方法及其设备 |
CN114208169A (zh) * | 2019-06-11 | 2022-03-18 | Lg电子株式会社 | 用于色度分量的图像解码方法及其装置 |
US20210058620A1 (en) * | 2019-08-23 | 2021-02-25 | Qualcomm Incorporated | Chroma quantization parameter (qp) derivation for video coding |
WO2021051044A1 (en) | 2019-09-14 | 2021-03-18 | Bytedance Inc. | Quantization parameter offset for chroma deblocking filtering |
WO2021055138A1 (en) | 2019-09-20 | 2021-03-25 | Alibaba Group Holding Limited | Quantization parameter signaling in video processing |
CN114208172A (zh) * | 2019-09-24 | 2022-03-18 | 北京达佳互联信息技术有限公司 | 执行用于调色板模式的率失真分析的方法和装置 |
WO2021072177A1 (en) | 2019-10-09 | 2021-04-15 | Bytedance Inc. | Cross-component adaptive loop filtering in video coding |
JP2022552338A (ja) | 2019-10-14 | 2022-12-15 | バイトダンス インコーポレイテッド | クロマ残差の共同コーディング及びビデオ処理におけるフィルタリング |
EP4055827A4 (en) | 2019-12-09 | 2023-01-18 | ByteDance Inc. | USING QUANTIFICATION GROUPS IN VIDEO CODING |
CN114902657A (zh) | 2019-12-31 | 2022-08-12 | 字节跳动有限公司 | 视频编解码中的自适应颜色变换 |
CN117544777A (zh) * | 2020-01-01 | 2024-02-09 | 字节跳动有限公司 | 用于视频编解码的跨分量自适应环路滤波 |
KR20220138864A (ko) * | 2020-02-26 | 2022-10-13 | 에이치에프아이 이노베이션 인크. | 이미지 또는 비디오 프로세싱 시스템에서의 루프 필터 파라미터 시그널링 방법 및 장치 |
US11558616B2 (en) * | 2020-03-05 | 2023-01-17 | Qualcomm Incorporated | Methods for quantization parameter control for video coding with joined pixel/transform based quantization |
EP4104438A4 (en) | 2020-03-11 | 2023-08-16 | Beijing Bytedance Network Technology Co., Ltd. | ADAPTIVE LOOP FILTERING |
US11381820B2 (en) * | 2020-04-13 | 2022-07-05 | Tencent America LLC | Method and apparatus for video coding |
CN115699769A (zh) | 2020-05-31 | 2023-02-03 | 抖音视界有限公司 | 使用通用约束信息语法元素的约束信令 |
US11381830B2 (en) | 2020-06-11 | 2022-07-05 | Tencent America LLC | Modified quantizer |
US11557025B2 (en) * | 2020-08-17 | 2023-01-17 | Netflix, Inc. | Techniques for training a perceptual quality model to account for brightness and color distortions in reconstructed videos |
US11532077B2 (en) | 2020-08-17 | 2022-12-20 | Netflix, Inc. | Techniques for computing perceptual video quality based on brightness and color components |
CN116601672A (zh) * | 2021-03-12 | 2023-08-15 | 深圳市大疆创新科技有限公司 | 点云属性解码方法和点云属性编码方法 |
US11652996B2 (en) * | 2021-05-25 | 2023-05-16 | Tencent America LLC | Method and apparatus for video coding |
CN114051140B (zh) * | 2022-01-07 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备及存储介质 |
WO2023198074A1 (en) * | 2022-04-12 | 2023-10-19 | Zhejiang Dahua Technology Co., Ltd. | Video processing method, electronic device, and computer-readable storage medium |
CN116132679A (zh) * | 2022-11-18 | 2023-05-16 | 杭州海康威视数字技术股份有限公司 | 图像编解码方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103210647A (zh) * | 2010-11-08 | 2013-07-17 | 联发科技股份有限公司 | 高效视频编码的Delta量化参数处理方法及装置 |
CN104584559A (zh) * | 2012-07-02 | 2015-04-29 | 微软公司 | 用于色度qp值的扩展的范围 |
CN105284112A (zh) * | 2013-04-05 | 2016-01-27 | 佳能株式会社 | 用于确定量化参数的值的方法和装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8218624B2 (en) | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
EP1761069A1 (en) | 2005-09-01 | 2007-03-07 | Thomson Licensing | Method and apparatus for encoding video data using block skip mode |
US8243797B2 (en) * | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
US8526495B2 (en) | 2010-11-22 | 2013-09-03 | Mediatek Singapore Pte. Ltd. | Apparatus and method of constrained partition size for high efficiency video coding |
US9049452B2 (en) | 2011-01-25 | 2015-06-02 | Mediatek Singapore Pte. Ltd. | Method and apparatus for compressing coding unit in high efficiency video coding |
US9788019B2 (en) | 2011-03-09 | 2017-10-10 | Hfi Innovation Inc. | Method and apparatus of transform unit partition with reduced complexity |
EP3624451A1 (en) | 2011-06-17 | 2020-03-18 | HFI Innovation Inc. | Method and apparatus for coding of intra prediction mode |
US9769472B2 (en) | 2011-08-17 | 2017-09-19 | Mediatek Singapore Pte. Ltd. | Method and apparatus for Intra prediction using non-square blocks |
BR112013014374B8 (pt) | 2011-09-13 | 2022-08-30 | Mediatek Singapore Pte Ltd | Método e aparelho para codificação de modo intra em hevc |
WO2013106986A1 (en) | 2012-01-16 | 2013-07-25 | Mediatek Singapore Pte. Ltd. | Methods and apparatuses of intra mode coding |
US9451258B2 (en) | 2012-04-03 | 2016-09-20 | Qualcomm Incorporated | Chroma slice-level QP offset and deblocking |
US20130272390A1 (en) * | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Uniform granularity for quantization matrix in video coding |
US9591302B2 (en) | 2012-07-02 | 2017-03-07 | Microsoft Technology Licensing, Llc | Use of chroma quantization parameter offsets in deblocking |
SG11201504504YA (en) | 2012-12-18 | 2015-07-30 | Sony Corp | Image processing device and image processing method |
WO2014166381A1 (en) | 2013-04-09 | 2014-10-16 | Mediatek Singapore Pte. Ltd. | Method and apparatus for non-square intra mode coding |
JP6367359B2 (ja) | 2014-03-27 | 2018-08-01 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 色空間を切り替えるときの量子化/スケーリング及び逆量子化/スケーリングの調整 |
US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
US20150373327A1 (en) * | 2014-06-20 | 2015-12-24 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
JP6194427B2 (ja) * | 2014-10-06 | 2017-09-06 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 量子化パラメータのコーディング及び導出 |
US9883184B2 (en) * | 2014-10-07 | 2018-01-30 | Qualcomm Incorporated | QP derivation and offset for adaptive color transform in video coding |
WO2016199409A1 (en) * | 2015-06-07 | 2016-12-15 | Sharp Kabushiki Kaisha | Systems and methods for optimizing video coding based on a luminance transfer function or video color component values |
WO2017138352A1 (en) * | 2016-02-08 | 2017-08-17 | Sharp Kabushiki Kaisha | Systems and methods for transform coefficient coding |
US10448011B2 (en) | 2016-03-18 | 2019-10-15 | Mediatek Inc. | Method and apparatus of intra prediction in image and video processing |
US10230961B2 (en) | 2016-06-03 | 2019-03-12 | Mediatek Inc. | Method and apparatus for template-based intra prediction in image and video coding |
US20170374369A1 (en) | 2016-06-24 | 2017-12-28 | Mediatek Inc. | Methods and Apparatuses of Decoder Side Intra Mode Derivation |
US10448056B2 (en) * | 2016-07-15 | 2019-10-15 | Qualcomm Incorporated | Signaling of quantization information in non-quadtree-only partitioned video coding |
US10277895B2 (en) * | 2016-12-28 | 2019-04-30 | Arris Enterprises Llc | Adaptive unequal weight planar prediction |
-
2018
- 2018-07-06 US US16/029,132 patent/US11019339B2/en active Active
- 2018-07-10 CN CN201880045349.3A patent/CN110870311B/zh active Active
- 2018-07-10 EP EP18832299.4A patent/EP3646591A4/en not_active Ceased
- 2018-07-10 WO PCT/CN2018/095180 patent/WO2019011245A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103210647A (zh) * | 2010-11-08 | 2013-07-17 | 联发科技股份有限公司 | 高效视频编码的Delta量化参数处理方法及装置 |
CN104584559A (zh) * | 2012-07-02 | 2015-04-29 | 微软公司 | 用于色度qp值的扩展的范围 |
CN105284112A (zh) * | 2013-04-05 | 2016-01-27 | 佳能株式会社 | 用于确定量化参数的值的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190020875A1 (en) | 2019-01-17 |
EP3646591A1 (en) | 2020-05-06 |
US11019339B2 (en) | 2021-05-25 |
EP3646591A4 (en) | 2020-05-06 |
CN110870311A (zh) | 2020-03-06 |
WO2019011245A1 (en) | 2019-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110870311B (zh) | 视频压缩中的编解码方法与装置 | |
CN110622508B (zh) | 视频压缩中的双向预测方法及装置 | |
US10477237B2 (en) | Decoder side motion vector refinement in video coding | |
EP3815377B1 (en) | Video encoder, video decoder, and corresponding encoding and decoding methods | |
US20180367818A1 (en) | Block Partition Structure in Video Compression | |
US10728548B2 (en) | Processing reference samples used for intra-prediction of a picture block | |
JP7513693B2 (ja) | ルマ・イントラ・モード・シグナリング | |
US20190110052A1 (en) | Bidirectional intra prediction | |
US11889079B2 (en) | Constrained prediction mode for video coding | |
CN113632494B (zh) | 用于视频译码的变换单元分割方法 | |
WO2019072210A1 (en) | RESTRICTION ON SUB-BLOCK SIZE DEDUCTION FOR AFFINE INTERPREDITION |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |