CN110419222A - 用于对视频数据进行编码和解码的方法、设备和系统 - Google Patents

用于对视频数据进行编码和解码的方法、设备和系统 Download PDF

Info

Publication number
CN110419222A
CN110419222A CN201880017854.7A CN201880017854A CN110419222A CN 110419222 A CN110419222 A CN 110419222A CN 201880017854 A CN201880017854 A CN 201880017854A CN 110419222 A CN110419222 A CN 110419222A
Authority
CN
China
Prior art keywords
subband
video
bit stream
maximum coding
code
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.)
Pending
Application number
CN201880017854.7A
Other languages
English (en)
Inventor
克里斯托弗·詹姆斯·罗斯沃恩
安德鲁·J·朵莱尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kato Corp
Original Assignee
Kato Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kato Corp filed Critical Kato Corp
Publication of CN110419222A publication Critical patent/CN110419222A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种用于从视频位流中解码视频数据的分区的最大编码行索引值的集合的系统和方法,所述视频数据的分区包括一个或多个子带。所述方法包括:从所述视频位流中解码各子带的最大编码行索引预测模式;使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。

Description

用于对视频数据进行编码和解码的方法、设备和系统
相关申请的交叉引用
本申请根据公约优先权要求2017年3月15日提交的澳大利亚专利申请2017201760的提交日期的权益,其通过引用而如同充分阐述一样全部包含于此。
技术领域
本发明通常涉及数字视频信号处理,尤其涉及用于对视频数据进行编码和解码的方法、设备和系统。本发明还涉及包括记录有用于对视频数据进行编码和解码的计算机程序的计算机可读介质的计算机程序产品。
背景技术
当前存在包括用于传输和存储视频数据的应用的许多视频编码用的应用。还开发了许多视频编码标准并且其它视频编码标准当前正在开发中。视频压缩研究的重点针对“分发编解码器”,即用于将压缩视频数据分发至地理上分散的受众的编解码器。然而,新兴的研究领域针对“夹层编解码器(mezzanine codec)”。夹层编解码器用于高度本地化的分发、即在广播工作室内,其特点是对超低延迟的要求、通常远低于一帧,并且与传统的视频编解码器相比,大大降低了编码器和解码器这两者的复杂度。还已知为联合图像专家组(JPEG)的国际标准化组织/国际电工委员会联合技术委员会1/小组委员会29/工作组1(ISO/IEC JTC1/SC29/WG1)内的在这样的编码方面的最新进展已得到命名为“JPEG XS”的标准化工作项。JPEG XS的目标是产生具有不超过32行视频数据的端到端延迟以及用于在相对适度的实现技术(例如,来自诸如等的厂商的中档FPGA)内实现的能力的编解码器。JPEG XS的延迟要求强制使用严格的速率控制技术,以确保编码数据相对于承载压缩视频数据的通道的容量不会过度改变。
在广播工作室,视频可以在经历数次变换之前由照相机拍摄,其中这些变换包括实时编辑、图形和覆盖插入、以及将不同的内容源混合到一个最终输出中。一旦对视频进行了充分处理,就使用分发编码器来对视频数据进行编码以便最终分发至终端消费者。在工作室内,视频数据通常以未压缩格式传输。传输未压缩视频数据需要使用非常高速的链路。串行数字接口(SDI)协议的变体可以传输不同的视频格式。例如,(利用3Gbps电气链路工作的)3G-SDI可以针对各样本按30fps和8位传输1080p HDTV(1920×1080分辨率)。具有固定位率的接口适合于传输具有恒定位率(CBR)的数据。未压缩视频数据通常是CBR,并且压缩视频数据在超低延迟编码的情况下通常预计也是CBR。
随着位率的增加,可实现的布线长度减小,这对于通过工作室的线缆路由而言成为问题。UHDTV(3840×2160)与1080p HDTV相比在带宽上需要4倍增加,这意味着12Gbps接口。增加单个电气通道的数据速率使可实现的布线长度减小。在3Gbps时,线缆布设通常不能超过150m,这是工作室应用的最小可用长度。实现更高速率链路的一个方法是通过复制布线、例如通过使用四个3G-SDI链路、利用帧平铺或一些其它复用方案。然而,布线复制方法增加了线缆路由的复杂度,需要更多的物理空间,并且与使用单个线缆相比可能使可靠性降低。因而,按行业需要在保持“视觉无损”(即,与原始视频数据相比没有可感知的伪影)的性能水平的同时、可以按相对较低的压缩比(例如,4:1)进行压缩的编解码器。压缩比也可被表示为提供给压缩流的“每像素位数”(bpp),同时注意到转换回到压缩比需要了解未压缩信号的位深度以及色度格式。例如,8b 4:4:4视频数据占用24bpp未压缩,因此4bpp意味着6:1的压缩比。
视频数据包括一个或多个颜色通道。通常,存在一个主要颜色通道和两个次要颜色通道。主要颜色通道通常被称为“亮度”通道,并且次要颜色通道通常被称为“色度”通道。使用诸如“YCbCr”或“RGB”等的颜色空间来表示视频数据。一些应用需要对计算机显卡的输出的视觉无损压缩、或者从平板电脑中的片上系统(SOC)向平板电脑中的LCD面板的传输。来自显卡或SOC的内容由于使用了绘制小部件、文本、图标等因而通常具有与从照相机拍摄到的内容不同的统计特性。关联的应用可被称为“画面内容应用”。对于画面内容应用,通常使用“RGB”,这是因为“RGB”是通常用于驱动LCD面板的格式。最大信号强度存在于“G”(绿色)通道中,因而通常使用主要颜色通道来对G通道进行编码,并且使用次要颜色通道来对其余通道(即,“B”和“R”)进行编码。该配置可被称为“GBR”。在“YCbCr”颜色空间处于使用中的情况下,使用主要颜色通道来对“Y”通道进行编码,并且使用次要颜色通道来对“Cb”通道和“Cr”通道进行编码。
还使用特定色度格式来表示视频数据。按在4:4:4色度格式处于使用中的情况下的相同空间密度来对主要颜色通道和次要颜色通道进行空间采样。对于画面内容,常用的色度格式是4:4:4,这是因为通常LCD面板按4:4:4色度格式来提供像素。位深度定义了各个颜色通道中的样本的位宽度,这意味着可用样本值的范围。通常,所有的颜色通道都具有相同的位深度,尽管这些颜色通道可以可选地具有不同的位深度。其它色度格式也是可以的。例如,如果(与亮度通道相比)在水平方向上按一半的速率对色度通道进行采样,则认为4:2:2色度格式处于使用中。此外,如果(与亮度通道相比)在水平方向和垂直方向上按一半的速率对色度通道进行采样,则认为4:2:0色度格式处于使用中。这些色度格式利用人类视觉系统的对强度的敏感度高于对颜色的敏感度这一特征。如此,可以在不会引起不适当的视觉影响的情况下减少颜色通道的采样。然而,减少颜色通道的采样不太适用于多代的编码和解码常见的工作室环境。此外,对于画面内容,使用除4:4:4以外的色度格式由于向子像素绘制(或“反锯齿”)的文本和锐利的对象边缘引入了失真因而可能成为问题。
帧数据也可以包含画面内容和照相机拍摄内容的混合。例如,计算机画面可以包括各种窗口、图标和控制按钮、文本,并且还包含正播放的视频或正查看的图像。就计算机画面整体而言,内容可被称为“混合内容”。此外,内容的细节级别(或“纹理”)在帧内改变。通常,详细纹理的区域(例如,叶片、文本)或(例如,来自照相机传感器的)包含噪声的区域很难进行压缩。详细纹理仅能以低压缩比编码而不会丢失细节。相反,细节少的区域(例如,平坦区域、天空、来自计算机应用的背景)可以以高压缩比编码,而几乎不会丢失细节。
在低复杂度方面,一个流行的解决方案是跨图像以层级方式应用的“小波”变换的应用。小波变换在JPEG2000图像编码标准的背景下得到了很好的研究。跨图像的小波变换应用不同于诸如H.264/AVC等的跨各帧的空间范围应用大量离散余弦变换(DCT)的基于块的编解码器。使用各种方法其中之一来预测H.264/AVC中的各块,从而由于需要进行模式决策而以增加编码器复杂度为代价实现了高度的局部适应性。相比之下,小波变换应用于宽空间区域,因而基于块的编解码器可用的预测模式通常不可用,这导致编码器和解码器的复杂度的差异性大大降低。
在基于小波的压缩技术的背景下,跨包含多个类型的内容(混合)的帧实现高视觉质量成为问题。在需要严格的本地速率控制以满足超低延迟要求时,跨具有混合内容的帧实现高视觉质量可能特别成为问题。
发明内容
本发明的目的是大致克服或至少改进现有配置的一个或多个缺点。
本发明的一个方面提供一种用于从视频位流中解码视频数据的分区的最大编码行索引值的集合的方法,所述视频数据的分区包括一个或多个子带,所述方法包括:从所述视频位流中解码各子带的最大编码行索引预测模式;使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种用于将视频数据的分区的最大编码行索引值的集合编码到视频位流中的方法,所述视频数据的分区包括一个或多个子带,所述方法包括:将各子带的最大编码行索引预测模式编码到所述视频位流中;以及使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种存储有程序的计算机可读介质,所述程序用于从视频位流中解码视频数据的分区的最大编码行索引值的集合,所述视频数据的分区包括一个或多个子带,所述程序包括:用于从所述视频位流中解码各子带的最大编码行索引预测模式的代码;用于使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值的代码;以及用于使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值的代码。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种存储有程序的计算机可读介质,所述程序用于将视频数据的分区的最大编码行索引值的集合编码到视频位流中,所述视频数据的分区包括一个或多个子带,所述程序包括:用于将各子带的最大编码行索引预测模式编码到所述视频位流中的代码;以及用于使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中的代码。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种系统,用于从视频位流中解码视频数据的分区的最大编码行索引值的集合,所述视频数据的分区包括一个或多个子带,所述系统包括:存储器,用于存储数据和计算机可读介质;以及处理器,其连接至所述存储器,用于执行计算机程序,所述计算机程序具有用于进行以下操作的指令:从所述视频位流中解码各子带的最大编码行索引预测模式;使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种系统,用于将视频数据的分区的最大编码行索引值的集合编码到视频位流中,所述视频数据的分区包括一个或多个子带,所述系统包括:存储器,用于存储数据和计算机可读介质;以及处理器,其连接至所述存储器,用于执行计算机程序,所述计算机程序具有用于进行以下操作的指令:将各子带的最大编码行索引预测模式编码到所述视频位流中;以及使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种解码器,其被配置为:从视频位流接收视频数据的分区,所述视频数据的分区包括一个或多个子带;从所述视频位流中解码各子带的最大编码行索引预测模式;使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种视频编码器,其被配置为:接收视频数据的分区,所述视频数据的分区包括一个或多个子带;将各子带的最大编码行索引预测模式编码到视频位流中;以及使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中。
根据另一方面,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
本发明的另一方面提供一种用于从视频位流生成视频数据的分区的方法,所述视频数据的分区包括一个或多个子带,所述方法包括:从所述视频位流解码偏移表,所述偏移表定义非均匀量化偏移的集合,所述非均匀量化偏移的集合中的各量化偏移应用于所述视频数据的一组子带数据,其中生成所述偏移表,以相对于所述子带的包含相对较低的幅值系数的部分降低提供给所述子带的包含较大幅值系数的部分的子带系数的精度;通过应用解码得到的偏移表来从所述视频位流解码子带的一组子带系数,以基于所述一组子带系数的量化偏移来确定针对各系数所要读取的位数;以及将逆小波变换应用于解码得到的一组子带系数,以生成所述视频数据的分区。
在另一方面,将所述偏移表应用于从固定级别一直到级别0的子带。
在另一方面,所述偏移表被约束为针对各个所述量化偏移使用偏移值0或1。
在另一方面,将所述偏移表作为固定长度的位序列存储在所述视频位流中,其中针对各偏移存在一个位。
在另一方面,通过测试偏移值并生成误差来生成所述偏移表。
在另一方面,所述偏移表的生成涉及应用存在已知包含高频能量的内容的区域的正偏移。
在另一方面,所述偏移映射生成对于提供给所述分区的整体位率敏感。
本发明的另一方面提供一种存储有程序的计算机可读介质,所述程序用于从视频位流生成视频数据的分区,所述视频数据的分区包括一个或多个子带,所述程序包括用于进行以下操作的代码:从所述视频位流解码偏移表,所述偏移表定义非均匀量化偏移的集合,所述非均匀量化偏移的集合中的各量化偏移应用于所述视频数据的一组子带数据,其中生成所述偏移表,以相对于所述子带的包含相对较低的幅值系数的部分降低提供给所述子带的包含较大幅值系数的部分的子带系数的精度;通过应用解码得到的偏移表来从所述视频位流解码子带的一组子带系数,以基于所述一组子带系数的量化偏移来确定针对各系数所要读取的位数;以及将逆小波变换应用于解码得到的一组子带系数,以生成所述视频数据的分区。
本发明的另一方面提供一种用于从视频位流生成视频数据的分区的系统,所述视频数据的分区包括一个或多个子带,所述系统包括:存储器,用于存储数据和计算机可读介质;以及处理器,其连接至所述存储器,用于执行计算机程序,所述程序具有用于进行以下操作的指令:从所述视频位流解码偏移表,所述偏移表定义非均匀量化偏移的集合,所述非均匀量化偏移的集合中的各量化偏移应用于所述视频数据的一组子带数据,其中生成所述偏移表,以相对于所述子带的包含相对较低的幅值系数的部分降低提供给所述子带的包含较大幅值系数的部分的子带系数的精度;通过应用解码得到的偏移表来从所述视频位流解码子带的一组子带系数,以基于所述一组子带系数的量化偏移来确定针对各系数所要读取的位数;以及将逆小波变换应用于解码得到的一组子带系数,以生成所述视频数据的分区。
本发明的另一方面提供一种视频解码器,其被配置为:接收视频位流,其中所述视频位流的视频数据的分区包括一个或多个子带;从所述视频位流解码偏移表,所述偏移表定义非均匀量化偏移的集合,所述非均匀量化偏移的集合中的各量化偏移应用于所述视频数据的一组子带数据,其中生成所述偏移表,以相对于所述子带的包含相对较低的幅值系数的部分降低提供给所述子带的包含较大幅值系数的部分的子带系数的精度;通过应用解码得到的偏移表来从所述视频位流解码子带的一组子带系数,以基于所述一组子带系数的量化偏移来确定针对各系数所要读取的位数;以及将逆小波变换应用于解码得到的一组子带系数,以生成所述视频数据的分区。
还公开了其它方面。
附图说明
现在将参考以下的附图和附录来说明本发明的至少一个实施例,其中:
图1是示出子帧延迟视频编码和解码系统的示意框图;
图2A和2B构成可以实践图1的视频编码和解码系统的其中一个或这两者的通用计算机系统的示意框图;
图3是示出视频编码器的功能模块的示意框图;
图4是示出视频解码器的功能模块的示意框图;
图5A是示出用于分区(precinct)的小波子带分解的示意框图;
图5B是示出小波分析滤波器组的示意框图;
图5C是利用固定截断阈值示出用于位流中的表示的子带系数分组的示意框图;
图5D是示出用于分区的位流分解的示意框图;
图6是利用可变截断阈值示出用于位流中的表示的子带系数分组的示意框图;
图7是示出在子带内利用可变截断偏移对位流进行编码的方法的示意流程图;
图8是示出在子带内利用可变截断偏移对位流进行解码的方法的示意流程图。
具体实施方式
在任一个或多个附图中参考具有相同附图标记的步骤和/或特征的情况下,除非出现相反意图,否则这些步骤和/或特征为了本说明书的目的而具有相同的功能或操作。
图1是示出子帧延迟视频编码和解码系统100的功能模块的示意框图。系统100可以使用空间局部化系数编码方法以通过减少局部位率消耗来提高整体视觉质量,其中这样的消耗在视觉上不太显著。
速率控制和缓冲器管理机制确保了对于向着视频编码器114的传入视频数据未发生(例如,由于可能模式的编码器搜索所需的复杂度和时间的变化引起的)缓冲器欠载和由此导致的传送解码视频失败,使得根据传送视频帧所经由的接口的定时来传送来自视频解码器134的解码视频帧。传送视频帧所经由的接口例如可以是SDI。诸如SDI等的接口具有包括水平消隐周期和垂直消隐周期的与时钟源同步的采样定时。如此,需要根据SDI链路的帧定时来传送解码视频的样本。为了经由SDI传输而格式化的视频数据也可以经由以太网例如使用如SMPTE ST.2022-6中所指定的方法来输送。在没有根据所需定时传送样本的情况下,将产生明显的视觉伪影(例如,由下游装置将无效数据解释为样本值)。因此,速率控制机制确保了没有发生缓冲器过载和由此导致的不能处理传入的视频数据。对于向视频编码器114的传入SDI链路存在类似的约束,该约束需要根据到达定时对样本进行编码,并且可能不会例如由于用于对帧的不同区域进行编码的处理要求改变而停止向视频编码器114的传入视频数据。
如上所述,视频编码和解码系统100具有小于一帧视频数据的延迟。特别地,一些应用要求从视频编码器114的输入到视频解码器134的输出的不超过32行视频数据的延迟。延迟可以包括在视频数据的输入/输出以及部分编码的视频数据在通信信道上传输之前和之后的存储所需的时间。通常,视频数据以光栅扫描顺序例如通过SDI链路发送和接收。将各帧分割成“分区”,各分区的高度通常是两行亮度样本并且其宽度等于帧的宽度。然后,应用一个或多个分区的速率平滑窗口来设置当前分区的目标速率。将位流写入缓冲器,使得在传输之前将一个压缩分区的数据组装到缓冲器中。
系统100包括源装置110和目的地装置130。通信信道120用于从源装置110向目的地装置130通信编码视频信息。在一些配置中,源装置110和目的地装置130包括诸如覆盖插入和实时编辑模块等的各个广播工作室设备,在这种情况下,通信信道120可以是SDI链路。通常,通信信道120是“CBR”信道。因此,通信信道120对可用带宽提供固定的限制。对于未压缩视频数据,简单地设置通信信道120的带宽以匹配未压缩视频数据的带宽。对于压缩视频数据,所需的带宽通常在时间上改变,其中允许各分区在由数个分区的速率控制超前窗口所设置的限制内在压缩大小上改变。通过对多个分区求平均,必须维持固定大小。缺少速率控制超前窗口的较低复杂度实现针对视频数据的各压缩分区使用固定大小。视频数据的压缩分区通过通信信道120输送。通信信道120可以利用意图用于输送未压缩数据的接口(诸如SDI或HDMI等),尽管在系统100中输送压缩数据。
在其它配置中,源装置110和目的地装置130包括显卡驱动器作为(例如,在智能电话、平板电脑或膝上型计算机中找到的)片上系统(SOC)和LCD面板的一部分。在SOC配置中,通信信道120通常是诸如PCB轨迹和关联的连接器等的有线信道。此外,源装置110和目的地装置130可以包括范围广泛的任意装置,其中这些装置包括支持空中电视广播、有线电视应用、因特网视频应用以及在一些存储介质或文件服务器上捕获编码视频数据的应用的装置。源装置110还可以是拍摄视频并以提供视觉无损压缩的压缩格式输出视频数据的数字照相机,因为这样的性能可被视为等同于真正无损格式(例如,未压缩)。
如图1所示,源装置110包括视频源112、视频编码器114和发送器116。视频源112通常包括未压缩视频数据113的源。视频源112例如可以是摄像传感器、存储在非暂时性记录介质上的先前拍摄到的视频序列、或者来自远程摄像传感器的视频馈送。按照视频数据的传送的固定定时,将未压缩视频数据113从视频源112通过CBR信道发送至视频编码器114。视频数据通常利用用以在行(“水平同步”)和帧(“垂直同步”)之间描述的信令以光栅扫描格式传送。视频源112也可以是计算机显卡的输出,例如显示操作系统和在计算装置(例如,平板计算机)上执行的各种应用的视频输出。从显卡输出的内容是“画面内容”的示例。可以包括摄像传感器作为视频源112的源装置110的示例包括智能电话、视频摄录机和网络视频照相机。由于画面内容可以包括平滑绘制图形和各种区域中的自然内容的重放,因此画面内容通常也是“混合内容”的形式。如将参考图3进一步所述,视频编码器114将来自视频源112的未压缩视频数据113转换成编码视频数据。
视频编码器114对传入的未压缩视频数据113进行编码。要求视频编码器114实时地对传入的视频数据进行编码。也就是说,如果例如处理传入数据的速率将降至低于输入数据速率,则视频编码器114不能停止传入未压缩视频数据113。视频编码器114以恒定位率输出压缩视频数据115(“位流”)。在典型的视频流应用中,整个位流未存储在任一位置中。相反,压缩视频数据的分区由视频编码器114连续产生,并且例如在(CBR)通信信道120中利用中间存储由视频解码器134消耗。CBR流压缩视频数据由发送器116通过通信信道120(例如,SDI链路)发送。在其它配置中,压缩视频数据存储在诸如“闪速”存储器或硬盘驱动器等的非暂时性存储装置122中,直到随后通过通信信道120发送或者作为通过通信信道120的发送的代替。
目的地装置130包括接收器132、视频解码器134和显示装置136。接收器132从通信信道120接收编码视频数据并将所接收到的视频数据133发送至视频解码器134。然后,视频解码器134将解码后的帧数据输出至显示装置136。显示装置136的示例包括阴极射线管、液晶显示器(诸如在智能电话中等)、平板计算机、计算机监视器、或者单机型电视机。在其它配置中,将源装置110和目的地装置130各自的功能体现在单个装置中。将装置110和130的功能体现在单个装置上的示例配置包括移动电话手机和平板计算机、或者包括覆盖插入单元的广播工作室内的设备。
尽管以上说明了示例装置,但源装置110和目的地装置130各自通常经由硬件组件和软件组件的组合可以配置在通用计算机系统内。图2A示出如下的这种计算机系统200,该计算机系统200包括:计算机模块201;诸如键盘202、鼠标指示器装置203、扫描器226、可被配置为视频源112的照相机227、以及麦克风280等的输入装置;以及包括打印机215、可被配置为显示装置136的显示装置214、以及扬声器217等的输出装置。计算机模块201可以使用外部调制器-解调器(调制解调器)收发器装置216来经由接线221与通信网络220进行通信。可以表示通信信道120的通信网络220可以是广域网(WAN),诸如因特网、蜂窝远程网络或私有WAN等。在接线221是电话线的情况下,调制解调器216可以是传统的“拨号上网”调制解调器。可选地,在接线221是高容量(例如,线缆)接线的情况下,调制解调器216可以是宽带调制解调器。还可以使用无线调制解调器来进行向通信网络220的无线连接。收发器装置216可以提供发送器116和接收器132的功能,并且通信信道120可以体现在接线221中。
计算机模块201通常包括至少一个处理器单元205和存储器单元206。例如,存储器单元206可以具有半导体随机存取存储器(RAM)和半导体只读存储器(ROM)。计算机模块201还包括多个输入/输出(I/O)接口,其中这多个输入/输出(I/O)接口包括:音频-视频接口207,其连接至视频显示器214、扬声器217和麦克风280;I/O接口213,其连接至键盘202、鼠标203、扫描器226、照相机227以及可选的操纵杆或其它人机接口装置(未示出);以及外部调制解调器216和打印机215所用的接口208。从音频-视频接口207向计算机监视器214的信号通常是计算机显卡的输出并且提供“画面内容”的示例。在一些实现中,调制解调器216可以内置于计算机模块201内,例如内置于接口208内。计算机模块201还具有本地网络接口211,其中该本地网络接口211允许计算机系统200经由接线223连接至已知为局域网(LAN)的局域通信网络222。如图2A所示,局域通信网络222还可以经由接线224连接至广域网220,其中该局域通信网络222通常包括所谓的“防火墙”装置或具有相似功能的装置。本地网络接口211可以包括以太网(EthernetTM)电路卡、蓝牙(BluetoothTM)无线配置或IEEE 802.11无线配置;然而,对于接口211,可以实践多种其它类型的接口。本地网络接口211还可以提供发送器116和接收器132的功能,并且通信信道120也可以体现在局域通信网络222中。
I/O接口208和213可以提供串行连接和并行连接中的任一个或这两者,其中前者通常根据通用串行总线(USB)标准来实现并且具有相应的USB连接器(未示出)。设置有存储装置209,并且存储装置209通常包括硬盘驱动器(HDD)210。还可以使用诸如软盘驱动器和磁带驱动器(未示出)等的其它存储装置。通常设置有光盘驱动器212以用作数据的非易失性源。可以使用例如光盘(例如,CD-ROM、DVD、蓝光盘(Blu-ray DiscTM))、USB-RAM、便携式外部硬盘驱动器和软盘等的便携式存储器装置作为向计算机系统200的数据的适当源。通常,HDD 210、光盘驱动器212、网络220和222中的任意还可被配置成作为视频源112进行工作、或者作为为了经由显示器214进行再现所要存储的解码视频数据的目的地而进行工作。系统100的源装置110和目的地装置130、或者系统100的源装置110和目的地装置130可以体现在计算机系统200中。
计算机模块201的组件205~213通常经由互连总线204并且以得到相关领域技术人员已知的计算机系统200的传统操作模式的方式进行通信。例如,处理器205使用接线218连接至系统总线204。同样,存储器206和光盘驱动器212通过接线219连接至系统总线204。可以实践所述配置的计算机的示例包括IBM-PC和兼容机、Sun SPARCstation、Apple MacTM或相似的计算机系统。
在适当或期望的情况下,可以使用计算机系统200来实现视频编码器114和视频解码器134以及以下所述的方法,其中可以将视频编码器114、视频解码器134和要说明的方法作为在计算机系统200内可执行的一个或多个软件应用程序233来实现。特别地,利用在计算机系统200内执行的软件233中的指令231(参见图2B)来实现视频编码器114、视频解码器134和所述方法的步骤。可以将软件指令231形成为各自用于进行一个或多个特定任务的一个或多个代码模块。还可以将软件分割成两个单独部分,其中第一部分和相应的代码模块进行所述方法,并且第二部分和相应的代码模块管理第一部分和用户之间的用户界面。
例如,可以将软件存储在包括以下所述的存储装置的计算机可读介质中。将软件从计算机可读介质载入计算机系统200,然后由计算机系统200来执行。具有这样的软件的计算机可读介质或者该计算机可读介质上所记录的计算机程序是计算机程序产品。在计算机系统200中使用该计算机程序产品优选地实现了用于实施视频编码器114、视频解码器134和所述方法的有利设备。
通常将软件233存储在HDD 210或存储器206中。将该软件从计算机可读介质载入计算机系统200,并且由计算机系统200来执行。因而,例如,可以将软件233存储在光盘驱动器212所读取的光学可读盘存储介质(例如,CD-ROM)225上。
在一些实例中,将应用程序233以编码在一个或多个CD-ROM 225上并且经由相应的驱动器212进行读取的方式供给至用户,或者可选地,可以由用户从网络220或222读取应用程序233。更进一步地,还可以将软件从其它计算机可读介质载入计算机系统200。计算机可读存储介质是指将所记录的指令和/或数据提供至计算机系统200以供执行和/或处理的任何非暂时性有形存储介质。这种存储介质的示例包括软盘、磁带、CD-ROM、DVD、蓝光盘(Blu-ray DiscTM)、硬盘驱动器、ROM或集成电路、USB存储器、磁光盘、或者诸如PCMCIA卡等的计算机可读卡等,而与这些装置在计算机模块201的内部还是外部无关。还可以参与将软件、应用程序、指令和/或视频数据或编码视频数据提供至计算机模块401的暂时性或非有形计算机可读传输介质的示例包括:无线电或红外线传输通道及向着其它计算机或联网装置的网络接线、以及包括电子邮件发送和网站上所记录的信息等的因特网或内联网。
可以执行上述的应用程序233的第二部分和相应的代码模块来实现要绘制或以其它方式呈现在显示器214上的一个或多个图形用户界面(GUI)。通过典型地对键盘202和鼠标203进行操作,计算机系统200的用户和应用可以以在功能上可适用的方式对界面进行操作,以将控制命令和/或输入提供至与这些GUI相关联的应用程序。还可以实现在功能上可适用的其它形式的用户界面,诸如利用经由扬声器217所输出的语音提示和经由麦克风280所输入的用户声音命令的音频界面等。
图2B是处理器205和“存储器”234的详细示意框图。存储器234表示图2A中的计算机模块201可以访问的(包括HDD 209和半导体存储器206的)所有存储器模块的逻辑聚合。
在初始对计算机模块201通电的情况下,执行上电自检(power-on self-test,POST)程序250。通常将POST程序250存储在图2A的半导体存储器206的ROM 249中。有时将诸如存储有软件的ROM 249等的硬件装置称为固件。POST程序250检查计算机模块201内的硬件以确保适当工作,并且通常检查处理器205、存储器234(209,206)和通常还存储在ROM249中的基本输入-输出系统软件(BIOS)模块251,以进行正确操作。一旦POST程序250成功运行,BIOS 251启动图2A的硬盘驱动器210。启动硬盘驱动器210使得经由处理器205执行驻留在硬盘驱动器210上的引导装入程序252。这样将操作系统253载入RAM存储器206,其中在该RAM存储器206上,操作系统253开始工作。操作系统253是处理器205可执行的系统级应用程序,以实现包括处理器管理、存储器管理、装置管理、存储管理、软件应用接口和通用用户界面等的各种高级功能。
操作系统253管理存储器234(209,206),以确保计算机模块201上运行的各处理或应用程序具有在不会与分配至其它处理的内存冲突的情况下执行的充足内存。此外,需要适当使用图2A的计算机系统200中可用的不同类型的存储器,以使得各处理可以高效地运行。因此,聚合存储器234并不意图例示如何分配存储器的特定区段(除非另外说明),而是提供计算机系统200可访问的存储器的概述图以及如何使用该存储器。
如图2B所示,处理器205包括多个功能模块,其中这多个功能模块包括控制单元239、算术逻辑单元(ALU)240和有时称为高速缓冲存储器的本地或内部存储器248。高速缓冲存储器248在寄存器区段中通常包括多个存储寄存器244~246。一个或多个内部总线241从功能上使这些功能模块相互连接。处理器205通常还具有用于使用接线218经由系统总线204与外部装置进行通信的一个或多个接口242。存储器234使用接线219连接至总线204。
应用程序233包括可以包含条件分支指令和循环指令的指令序列231。程序233还可以包括执行程序233时所使用的数据232。将指令231和数据232分别存储在存储器位置228、229、230和235、236、237中。根据指令231和存储器位置228~230的相对大小,如存储器位置230中示出的指令所描述的,可以将特定指令存储在单个存储器位置中。可选地,如存储器位置228和229中示出的指令段所描述的,可以将指令分割成各自被存储在单独的存储器位置的多个部分。
通常,向处理器205赋予一组指令,其中在该处理器205内执行该组指令。处理器205等待随后输入,其中处理器205通过执行另一组指令来对该随后输入作出反应。可以从多个源中的一个或多个源提供各输入,其中该输入包括输入装置202、203中的一个或多个所生成的数据、从外部源经由网络220、202其中之一所接收到的数据、从存储装置206、209其中之一所检索到的数据或者从插入相应的读取器212内的存储介质225所检索到的数据(所有这些均在图2A中示出)。执行一组指令在一些情况下可能会导致输出数据。执行还可能涉及将数据或变量存储至存储器234。
视频编码器114、视频解码器134和所述方法可以使用存储器234内的相应存储器位置255、256、257中所存储的输入变量254。视频编码器114、视频解码器134和所述方法产生存储器234内的相应存储器位置262、263、264中所存储的输出变量261。可以将中间变量258存储在存储器位置259、260、266和267中。
参考图2B的处理器205,寄存器244、245、246、算术逻辑单元(ALU)240和控制单元239一起工作以进行微操作序列,其中这些微操作序列是针对构成程序233的指令集中的各指令进行“提取、解码和执行”周期所需的。各提取、解码和执行周期包括:
(a)提取操作,用于从存储器位置228、229、230提取或读取指令231;
(b)解码操作,其中在该解码操作中,控制单元239判断提取了哪个指令;以及
(c)执行操作,其中在该执行操作中,控制单元239和/或ALU 240执行该指令。
之后,可以执行针对下一指令的进一步提取、解码和执行周期。同样,可以进行存储周期,其中通过该存储周期,控制单元239将值存储至或写入存储器位置232。
要说明的图7和8的方法中的各步骤或子处理与程序233的一个或多个区段相关联,并且通常通过处理器205中的寄存器部244、245、247、ALU 240和控制单元239一起工作以针对程序233的所述区段的指令集中的各指令进行提取、解码和执行周期,来进行该步骤或子处理。
图3是示出视频编码器114的功能模块的示意框图。图4是示出视频解码器134的功能模块的示意框图。如图2A和2B所示,可以使用通用计算机系统200来实现视频编码器114和视频解码器134,其中可以通过计算机系统200内的专用硬件、通过在计算机系统200内可执行的软件(诸如驻留在硬盘驱动器205上并且由处理器205控制其执行的软件应用程序233的一个或多个软件代码模块等)、或者可选地通过在计算机系统200内可执行的专用硬件和软件的组合,来实现各种功能模块。可选地,可以在诸如进行所述方法的功能或子功能的一个或多个集成电路等的专用硬件中实现视频编码器114、视频解码器134和所述方法。这种专用硬件可以包括图形处理器、数字信号处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者一个或多个微处理器和关联存储器。特别地,视频编码器114包括模块310、314、315、318、320、324、328和330,并且视频解码器134包括模块410、414、418、422、426和430。视频编码器114和视频解码器134的各个模块各自可被实现为软件应用程序233的一个或多个软件代码模块、或者FPGA“位流文件”,其中该FPGA“位流文件”配置FPGA中的内部逻辑块以实现视频编码器114和视频解码器134。
尽管图3的视频编码器114是低延迟视频编码器的示例,但还可以使用其它视频编解码器来进行这里所述的处理阶段。视频编码器114接收诸如一系列帧(各帧包括一个或多个颜色通道)等的所拍摄帧数据。
参考图3,变换模块310从视频源112接收未压缩视频数据113,并使用一组分析滤波器组进行层级小波前向变换。通常,使用5/3Le Gall小波,尽管可以使用诸如Haar小波或Cohen-Daubechies-Feauveau 9/7小波等的其它小波变换。变换模块310产生小波系数。根据小波分解结构将小波系数分组成子带。变换模块310输出分组后的小波系数312。以下参考图5A和5B来进一步说明小波分解结构。
由于超低延迟要求,因此垂直方向上的分解的级别数量受到高度限制,通常不大于两个级别(通常是仅一个级别,因为两个级别减少了速率控制超前可用的分区的数量)。在水平方向上,分解的级别数量相对不受约束,其中通常使用五个级别。考虑到一个级别的垂直分解的情况,在各子带内是作为在高度上为一个系数且在宽度上为多个系数的阵列所配置的一组系数。系数的该配置可被视为列表,并与诸如JPEG2000等的编解码器中的典型使用形成对比,其中各子带中的系数通常是方形阵列。然后可以扫描各子带内的系数列表。然而,首先应用分组运算,即为了熵编码的目的而将各子带分割成一组大小相等的系数组。尽管可以使用各种组大小、并且组大小在所有子带之间不必是恒定的,但针对所有子带为4的固定的组大小通常在各种测试数据下接近最佳的性能。因而,变换模块产生分组系数312。
分组系数312被传递到最大编码行索引(GCLI)提取器模块314。分组系数312被编码为一系列位平面(或“行”),即组内的各系数的位“n”由模块314编码为四位的单位。首先,确定包含系数组内的系数的最高有效位的位平面的位平面索引。位平面索引被称为最大编码行索引(GCLI)。整体上(即,在所有系数组和子带之间),这些索引形成最大编码行索引(GCLI)316。GCLI 316被传递到GCLI预测模块315。模块315在分区中的所有子带之间针对GCLI选择预测模式319。在替代配置中,可以针对各子带独立地确定单独的GCLI预测模式。在针对各子带确定GCLI预测模式的配置中,在编码位流115中单独表示各子带的GCLI预测模式。可用的预测模式包括水平预测模式、垂直预测模式和原始预测模式(无预测)。其它预测模式也是可用的,这些其它预测模式包括“HSIG”和“VSIG”模式,由此表示连串的连续零值GCLI。其它配置可以使用在子带之间工作的“Z树”预测模式,这使得能够根据针对上方分解级别的子带存在的零值GCLI来预测针对下方分解级别的子带的零值GCLI。如果针对各子带可利用单独的GCLI预测模式,则GCLI预测模式搜索受到约束,使得所有子带都使用Z树预测或者无子带使用Z树预测。
作为GCLI预测的结果,模块315产生GCLI增量值317。预测模式319和GCLI增量值317被传递到熵编码器模块318以编码到编码位流115中。GCLI预测模块315也产生GCLI编码成本327。GCLI编码成本表示对GCLI增量值317进行编码的位成本。参考图5C来进一步论述将子带内的系数组表示为一组位平面。
分组系数312还被输入至偏移导出器模块330。偏移导出器模块330导出偏移表332。偏移表332使得能够在子带内的系数组的最小位平面上发生变化。子带内变化允许降低较低质量可接受的特定集合的系数组的编码成本。降低一些系数组的编码成本为分区中的其余系数组提供整体更高的速率。偏移表332包括偏移列表,各偏移应用于特定子带级别和低于该特定子带级别的系数组。偏移表(也称为偏移映射)有效地定义了还称为量化偏移的一组偏移。各个偏移应用于一组子带系数。量化偏移通常是不均匀的。大于特定子带级别的系数不受影响。较高的子带级别具有较少的系数,因此降低较高子带级别的系数的精度与降低较低子带级别的系数的精度相比对节省位率的贡献相对较小。偏移表332一般应用在整个分区上,其中各偏移应用于特定子带级别的系数、以及在重叠滤波器支持的意义上并置的较低子带级别的系数。例如针对5/3Le Gall小波可以从真正滤波器支持方面定义了滤波器支持方面的重叠。可选地,即使使用5/3Le Gall小波,也可以从Haar小波的更简单支持方面定义重叠,从而实现效果基本相同的降低的复杂度。
速率控制模块320接收偏移表332和GCLI编码成本327,并确定分区的速率控制参数322。根据分区维度和针对各像素值的目标位来向分区提供特定位预算。此外,可以使用数个分区上的平滑窗口来确定分区的位预算。对于超低延迟操作,平滑窗口的大小受到严重约束,例如在一个级别的垂直分解的情况下,仅四个分区可用于平滑窗口,同时满足32行视频数据的端到端延迟。将从GCLI预测模块315接收到的GCLI编码成本327从分区位预算中扣除,其中剩余的位预算可用于系数组位平面的编码。然后,选择速率控制参数322,使得使用该分区的最大量的位预算。速率控制参数322包括两个参数:“场景”和“细化”参数。场景和细化参数这两者都用于分组系数312的量化。小波系数的截断是不超过目标位预算的机制。“场景”针对所有子带设置整体截断点。所有子带的全局截断提供了粗略机制。然后,通过“细化”级别提供更精细粒度的速率控制。细化级别指定了还对比“场景”所指示的位低的一位进行编码的子带数量。细化级别消耗尽可能多的剩余位预算,直到剩余位预算对于要编码的细化位平面的附加子带而言不够为止。
在选择场景和细化参数时,包括以下信息来导出编码成本。首先,确定分区的GCLI的编码成本,其中剩余预算可用于系数组位平面编码。GCLI编码成本受到场景参数选择的影响,因为提高场景会导致未编码位平面的较高“下限(floor)”(如参考图5C进一步所述)。对于所有有效位平面都低于下限的系数组,不对位平面进行编码。因而,跳过系数组的信令受到所选择的场景影响。然后,根据系数组的GCLI值和系数组的修改最大截断行索引(GTLI)值来确定各系数组的位平面的成本,其中根据来自偏移表332的相应偏移来调整从候选场景产生的GTLI。速率控制参数322被提供至量化器模块324和打包器模块328,并被编码到编码位流115中。
量化器模块324根据速率控制参数322(即,子带的场景和细化)和偏移表332对来自各组的小波系数进行量化。子带中的系数的截断点由场景和细化来设置,并被称为“最大截断行索引”(GTLI)。通过添加从偏移表332中选择的偏移来进一步修改GTLI。
应用偏移表332,使得一个偏移应用于多个子带上的小波系数(仅考虑水平方向的分解)。从固定级别(例如,级别N)一直到级别零应用偏移映射。例如,对于大于级别N的子带级别,不应用偏移,然后对于级别N的子带,针对各系数组应用一个偏移,并且对于低于级别N级的子带(例如,在级别M),各偏移应用于2N-M个系数组。例如,如果在(五个级别中的)级别2生成偏移映射,则将一个偏移应用于级别2的一个系数组并将同一偏移应用于级别零的四个系数组。在根据最终GTLI截断系数之前,应用舍入偏移,使得截断系数值更接近截断之前的值。通常,均匀舍入在低复杂度下提供良好的性能。最后,量化器模块324将截断系数组326输出至打包器模块328。
熵编码器模块318接收和编码GCLI增量317和GCLI预测模式319。可利用用于预测GCLI值的数个模式,其中将所选择的模式应用于分区内的所有子带上的所有系数组。GCLI预测模式的示例包括水平预测和垂直预测,其中在该水平预测中,预测器是子带内的左方相邻系数组,以及在该垂直预测中,预测器是上方相邻系数组、即来自上方分区的相应子带中的系数组。还可利用“原始”模式,其中在不使用预测器的情况下对各系数的GCLI值进行编码。由于系数组的数量从所选择的小波分解和分区维数中是已知的,因此GCLI316是使用GCLI增量的一系列一元编码幅值来编码的,并且包括GCLI增量的符号的附加位。使用各值的一元码和符号位将如此得到的一组编码GCLI增量317写入编码位流115。
打包器模块328将包括来自各系数组的要编码的位平面的数据打包到编码位流115中。针对各系数组,将从指示的GCLI一直到修改的GTLI的位平面打包到编码位流115中。对于修改后的GTLI已增加得超过如来自速率控制参数322的场景所示的GTLI的情况,使得系数位平面数据的编码成本降低。速率控制模块320已考虑了降低的编码成本,并且作为位率节省的结果,可能已选择了附加的子带进行细化或者选择了更高的场景。
将如此得到的编码位流115作为接收位流133经由发送器116、通信信道120和接收器132发送至视频解码器134。如此得到的编码位流115也可以存储在非暂时性存储器122中。除通信信道12之外,非暂时性存储器也可以存在,或者非暂时性存储器可以代替通信信道120或作为通信信道120的一部分而存在。
参考图4,熵解码器模块410接收了接收位流133。首先,模块410对帧头部进行解码。帧头部表示包括帧维度和编码分区大小的项。然后,从帧头部开始对分区进行解码。
对于各分区,从接收位流313解码如由速率控制模块320确定的场景和细化。根据场景和细化,可以确定分区的剩余编码结构。另外,对于各分区,偏移提取器模块418从接收位流133解码或确定与偏移表332相对应的偏移表420。熵解码器模块410对增量GCLI值412和GCLI预测模式413进行解码。增量GCLI值412和GCLI预测模式413被输出到GCLI重建器模块414。GCLI重建器模块414根据如从接收位流133获得的分区的GCLI预测模式413来重建GCLI值416。在各子带具有独立的GCLI预测模式的配置中,针对各子带对单独的GCLI预测模式进行解码。然后,对于各系数组,根据子带的GCLI预测模式来确定预测GCLI,并且添加GCLI增量以重建系数组的GCLI值。
使用GCLI值416和偏移表420,解包器模块422工作以提取针对分区内的子带的系数组的位平面作为解码系数424。解量化器模块426对解码系数424进行逆量化以产生小波系数428。逆量化运算涉及应用适当的逆量化步长以将解码系数转换成(适合于由合成小波滤波器组使用的)小波系数。根据基于来自偏移表420的相应偏移而针对子带中的各系数组修改后的子带的GTLI来确定逆量化步长。以下的等式[1]可用于导出量化步长大小,其中“gtli”包括来自偏移表420的偏移。由于来自偏移表的偏移影响了量化步长大小,因此该偏移也可称为“量化偏移”。
然后,逆变换模块430将合成小波滤波器组应用于小波系数428以产生解码视频135。
图5A是示出针对视频数据的分区500的小波子带分解的示意框图。图5B是示出小波分析滤波器组550的示意框图。在图5B中,将分区的视频样本552供给至诸如与水平分解的级别0~5相对应的滤波器553、554、556、558和560等的小波分析滤波器集合。小波分析滤波器组550中的各滤波器产生低通系数(“L”)和高通系数(“H”)这两个系数集合。低通系数L被传递至滤波器组550中的下一级别(即,从级别N传递至级别N+1)。低通系数“L”在滤波器组550的下一级别被进一步分解为“H”和“L”的集合,直到两个“H”和“L”系数都被输出的最后一个级别(即,图5B中的级别4)为止。整体上,这些系数集合被输出为子带系数570。图5B示出五个级别的水平分解。因而,子带系数570包括六个子带。
如图5A所示,一个级别的垂直分解添加另两个子带的系数。各系数集合由用于产生该集合的滤波器的级别来标识,并被表示为“H”或“L”,从而形成不同的子带。使用单独的滤波器来处理各颜色分量的样本,从而使子带的数量增至三倍(假定在所有的颜色分量之间使用相同的分解结构)。此外,尽管图5B示出一个维度的小波分解,但在视频数据上工作通常需要在垂直方向和水平方向上进行分解。然后,各子带被识别为紧接着分解级别之后的表示垂直和水平维度上的“H”和“L”集合的两个字母序列。图5A中的子带配置502示出视频处理系统100中的针对视频数据的分区的子带标识。子带配置502示出一个级别的垂直分解和五个级别的水平分解,这样得到颜色分量的八个子带。因而,在使用4:4:4色度格式、并针对各颜色分量应用子带配置502的情况下,子带总数是24。如图5A所示,根据各子带内所包含的系数数量来对该子带调整大小,并且一起示出这些子带,从而占据与提供至分析滤波器组550(图5B)的样本的空间区域匹配的空间区域。将从一个级别的垂直分解得到的两个子带示出为“LH 0”和“HH 0”,并且将从五个级别的水平分解得到的六个子带示出为“HL0”、“HL 1”、“HL 2”、“HL 3”、“HL 4”和“LL 4”。
图5C利用固定截断阈值示出用于位流中的表示的子带系数分组。子带的部分5100包括排列成一系列组(例如,图5C中的组5104、5106和5108)的多个系数5102。各个组包含固定数量的系数,例如四个系数。针对所示的部分5100还示出各系数的二进制表示。还示出部分5100的位平面集合510。为了对各系数进行编码,导出GCLI值。如从图5C看出,组5104、5106和5108分别包含在位平面5、4和7中得到有效位的系数。在图5C的示例中,示出水平预测方案,这得到分别是-1和+3的增量GCLI值5120和5122。各组中的GCLI位平面上方的位平面仅包含零值(表示为位5110)且未被编码。认为位5110不重要且未被编码。对于子带内的系数组,存在特定的GTLI阈值5114。GTLI阈值5114是应用于分区内的所有子带的场景的结果、用于控制不同子带之间的位的相对加权的子带宽级别偏移、以及通过将子带包括在“细化”过程中来对额外位平面进行编码的可能性。
细化过程导致针对子带的子集的GTLI阈值5114的降低。该子集从细化顺序表导出,并且将细化应用于细化顺序表中的开头零个或多个条目。使用细化过程与场景选择机制相比允许更精细粒度的速率控制,并由此减少了给定分区中的未使用位的量。此外,应用来自偏移表的针对各系数组的偏移,这允许针对子带内的不同系数组的GTLI阈值5114的改变。如从图5C看出,组5108的GTLI阈值相对于组5104和5106的GTLI阈值提高了一个位平面。低于所考虑的系数组的GTLI阈值的系数位平面(即,位5116)重要(位包含有用信息),但未被编码因而丢失。因此,仅位5112(由连续线包围的各个组5104、5106和5108的位)重要并被编码。考虑到视频处理系统100不能保留所有有效位(即,场景不能总是指示位0),优选地,分配对解码视频数据(视频数据135)的主观质量贡献较大的位。GTLI阈值5114可能导致系数组中没有要编码的有效位平面,从而影响GCLI增量值,其中对针对系数组没有编码位平面的情况进行特殊处理。因而,场景选择对GCLI编码成本有影响。也可以向各子带应用独立的子带“增益”。子带增益的集合已知为权重表。
也可以利用被定义为“visual”和“psnr”的两个公共权重来调整子带之间的GTLI阈值的权重。“psnr”权重补偿了在小波分解的各级别注意到的增益的差异,这样得到具有均匀的影响的各系数,由此使解码位流的PSNR达到最大。“visual”权重为向被认为对视觉质量的贡献较大的子带提供更大的精度,其代价是其它子带被认为从视觉上不太重要。使用加权方案的缺点是在整个子带上均匀应用,因此在分区上均匀应用。利用子带内精确度确定GTLI偏移映射,这在分区的子带的不同部分中存在明显不同的小波系数统计的情况下提供更高程度的适应性并减轻不利的速率控制行为。
考虑增益表值(“gain[sb_idx]”)和细化表值(“priority[sb_idx]”)。如以下的等式[2]所示确定GTLI阈值5114:
GTLI(sb_idx)=MAX(0,scenario+offset_table[map_offsets[coeff_group_idx]]–gain[sb_idx]–((priority[sb_idx]<refinement)?1:0)) 等式[2]
在等式[2]中,coeff_group_idx标识所考虑的子带内的系数组,并且map_offsets将系数组索引转换成偏移表索引。在给定的分解级别(例如,级别3),map_offsets是1:1映射,然后在较低的分解级别(例如,级别2),map_offsets将每2个系数组索引映射到单个偏移表索引,等等。然后,offset_table是如在图7的步骤706中确定的并在图8的步骤802中解码的偏移表或映射。对于较高的分解级别(例如,级别4),不使用偏移表并且忽略等式[2]中的offset_table。通过根据所考虑的级别和生成偏移表的级别之间的分解级别的差异使系数组索引位移位来实现map_offsets关系。因此,map_offsets关系不需要显式表查找。该map_offsets关系许可多个级别的小波分解之间使用在图7的步骤706中所生成的单个偏移表。图5D示出编码分区5202的位流5200分解。编码分区5202按照如下使用特定排序和分组来对小波子带进行编码。将各颜色分量的水平分解子带(即,LL4、HL4、HL3、HL2、HL1和HL0)分组成子包5208,并且将各颜色分量的垂直分解子带(即,LH0和HH0)分组成子包5210。因此,子包5208包括十八(18)个子带的系数数据,并且子包5210包括六(6)个子带的系数数据。将子带系数数据配置在编码分区5202中的其它方法也是可以的。在各子包(即,5208和5210)内,针对所有的关联子带,存在编码GCLI增量5214和系数数据5216。
编码分区5202包括编码速率控制参数5204、编码偏移表5206和编码GCLI 5208。速率控制参数5204定义针对分区中的子带的场景和细化。速率控制参数5204与编码偏移表5206相组合地允许确定针对分区的各子带中的各系数组的GTLI。偏移表5206许可GTLI在子带内的系数组之间改变,这样使得特定系数组的编码成本降低。然后,使用编码GCLI 5208,确定针对分区中的各系数组的编码位平面的数量,并将该数量编码为系数数据5210。由于速率控制参数5204、编码GCLI 5208和系数数据5210不太可能占据编码分区5202的全部,因此通常还存在未使用数据部分5212。由于选择了合适的速率控制参数5204(例如,通过选择与编码分区5202的大小的约束内可实现的一样多的细化所用的子带),未使用数据部分5212的大小被最小化。
图6示出位流的表示600。该表示600利用可变截断阈值示出用于位流中的表示的子带系数分组。示例的空间域602代表帧中的像素数据,并且包括一些示例文本614和具有更精细细节的一些区域616,诸如一些纹理视频数据(例如,诸如草或树等的一些自然内容)等。由于更精细细节616不是平滑区域(例如,无云天空,其在内容上具有非常平滑的变化,因而主要占据低频率或更高子带系数能量),因此在小波域中存在值得保留的一些高频信息以在解码器处维持高视觉质量。文本614包括小波域中的多个子带上的大系数幅值,由此消耗提供给所考虑的分区的位率的很大一部分。
图6示出5个子带,即LL4 604、LH4 606、LH3 608、LH2 610和LH1 612。对于各个子带604、606、608、610和612,示出具有将系数划分成系数组的标记的轴。对于各个子带604、606、608、610和612,将系数幅值示出为整个子带中的系数幅值变化(为了说明的目的,示出连续线,而实际上各系数具有离散的幅值和符号,并且在各系数组内存在固定数量的系数)。各系数组包含固定数量的系数,并且用于较高级别的小波分解的标记之间的更宽间隔(例如,对于子带604、606)反映出存在较少的系数,并且与较低级别的小波分解(例如,对于子带610、612)相比,各系数在空间域602中具有较大的支持。对于各子带,示出各系数组的GCLI的阈值,例如子带610的阈值620。由于GCLI是针对各系数组设置的,因此GCLI阈值(例如,620)的变化仅在所考虑的子带的系数组边界处发生(这对于图6所示的各个子带604、606、608、610和612显而易见)。此外,对于各子带,示出各系数组的GTLI的阈值,例如子带610的622。
如图6所示,GTLI阈值在整个子带中改变。GCLI阈值620和GTLI阈值622之间的间隙表示位平面编码成本和子带内的所考虑的系数组的精度。如从图6看出,子带610和612中的一系列系数组被施加了正偏移。该偏移与跨越所有子带的系数之间的增加的小波系数能量一致,从而在空间上与文本614相对应。宽(增加)的光谱能提高了关联系数组的GCLI,并且在子带上具有固定GTLI也将由此提高系数组的系数的量化级别。提高量化级别降低了高能量系数的精度,这导致结果降低了编码成本。编码成本可被可视化为GCLI阈值620和GTLI阈值622之间的间隙。由于在偏移表中应用正偏移因而子带的一部分的编码成本降低,这使得速率控制模块320能够提供子带上整体的精度提高(GTLI阈值622的降低)。特别地,具有低能量的子带的一部分经受较低的GTLI阈值,由此提高这些低能量部分的精度。低能量部分从视觉上显著,因为低能量部分可能包含否则将会丢失或损坏的细节。
由于整个分区的编码成本不能超过位预算,因此在不存在系数组的提高的GTLI阈值的情况下,将对组的其它系数的较少有效位进行编码,因而将向其它系数提供较低精度。精度对其它系数的视觉质量的贡献更大。例如,将需要对较少子带进行细化过程,从而提高受影响子带的GTLI值。在一些实例中,将需要选择更高的场景,从而提高所有子带的GTLI阈值。如在与纹理细节616一致的系数中所示,提高子带(例如,子带612)的GTLI阈值将大大降低编码系数的精度,因为与细节616一致的系数幅值较小,因此相应的GCLI变低,并且位平面的损失在视觉上具有相对较大的影响。在子带内应用非均匀GTLI偏移表可被视为使整体子带的系数的精度平均。
图7是示出在子带内对具有可变截断偏移的位流进行编码的方法700的示意流程图。方法700可被实现为应用233的一个或多个模块(诸如图3的模块等),存储在存储器206中并通过处理器205的执行来控制。
方法700的执行导致编码位流115(图1)在具有更高能量的子带的部分中的系数的精度降低,结果导致更差的量化。精度降低使得子带中的其它位置处(和其它子带中)的系数的精确度得以提高。执行方法700应用了启发法以确定用于按给定级别的分解来调整子带中的各系数组的GTLI阈值的偏移表。方法700从小波分析变换步骤702开始。
在小波分析变换步骤702中,变换模块310在处理器205的控制下,向视频数据的分区应用小波滤波器或小波变换(诸如5/3Le Gall小波变换等)。对于超低延迟操作,分区在大小上被约束为两个视频行的高度和帧的全宽。步骤702执行以产生小波系数的集合,其中如参考图5A和5B所述,这些集合根据小波分解被分组成子带。模块314执行以通过确定各子带的各系数组的GCLI位平面来在步骤702中确定GCLI(诸如GCLI 316等)。然后,处理器205中的控制使方法700进入系数能量检测步骤704。
在系数能量检测步骤704中,偏移导出器模块330在处理器205的控制下,生成分区系数能量指示。该分区系数能量指示将分区在空间上分割成通常是相等大小的区段(section)。分区上的区段计数可以与特定级别N(例如,(五个级别的分解中的)级别2)的水平小波分解的系数组的数量相对应。在各区段中,导出局部系数能量指示。局部系数能量指示是通过考虑分区的数个子带(例如,从级别N一直到级别0)中的系数的幅值所导出的。在级别N,考虑与区段(例如,区段i)相对应的单个系数组的系数。在级别N-1,考虑与区段2i~2i+1相对应的系数组的系数,并且在级别N-2,考虑与区段4i~4i+3相对应的系数组的系数,等等。因此,给定区段的能量指示与如利用来自在空间上与该区段重叠的较低级别的分解的小波系数的总和所表示的总高频能量相关联。针对5/3Le Gall小波的五个样本的支持意味着与区段的相邻系数组的一些附加重叠,然而对于偏移表生成的目的而言不需要进行考虑。
所考虑的子带通常处于较低级别的分解,因此具有空间支持较小的系数。所考虑的系数在传入的视频数据113中捕获高频能量(锐边)。高能量集中在多个子带上,这表示视频数据113中空间上的锐边,这样产生相对较高的GCLI值。然后,将多个子带上的相对较高能量的区段标记为高能量区段。具有相对较低的幅值系数或者具有多个子带上不太明显的杂散能量的区段被标记为低能量区段。将分区分类成高能量区段和低能量区段使得能够生成偏移表。然后,处理器205中的控制使方法700进入子带内偏移表生成步骤706。
在子带内偏移表生成步骤706中,偏移导出器模块330在处理器205的控制下执行以生成分区的偏移表(诸如表332等)。通过将分类平滑为连串的偏移或偏移集合,根据将分区分类成高能量和低能量的区域来生成偏移表。首先通过应用阈值将来自步骤704的各区段分类为局部低能量或局部高能量。该第一分类得到“噪声”分类,这在区段的主要是低能量组中的高能量区段的假性检测中是可能的,反之亦然。为了产生更平滑的分类,应用水平滤波器。在应用水平滤波器时,根据空间相邻区段的分类(在水平方向上,因为评价仅限于针对各分区工作)来重新评价各分区的分类。例如,可以应用大多数(5个中的3个)滤波器,从而在很大程度上消除分类中的假性转变。该滤波器可被实现为例如具有均匀系数的五抽头FIR滤波器,之后进行阈值运算。择多滤波器用于具有间歇性中断的高系数能量的区域,例如在单词之间存在间距的文本。
然后,向低能量的区段分配零值偏移,并且向高能量的区域分配正整数偏移。应用平滑函数可使偏移值受限于0和1的值,使得间歇性高能量的区域接收偏移值1。另外,持续高能量分类的区域可以接收偏移值2。例如,除先前的滤波规则之外,5/5择多滤波器可以得到偏移2。步骤706工作以生成偏移表,从而降低相对于具有较低幅值系数的子带的部分而提供到具有较大幅值系数的子带的部分的精度。GCLI预测模块315可作为步骤706的一部分执行以确定GCLI增量值。GCLI预测模块315选择用于预测各GCLI值的预测模式。对于各系数组,例如从相邻系数组生成预测GCLI。然后,对增量GCLI进行编码以产生所需GCLI。然后,处理器205中的控制使方法700进入场景选择步骤708。
在场景选择步骤708中,速率控制模块320在处理器205的控制下选择“场景”来对分区进行编码。该场景设置可应用于分区中的所有子带的基本GTLI阈值,使得该场景指定了不会导致超出分区的位预算的系数位平面编码的最低位平面。在确定编码成本时考虑到步骤706的偏移表的影响。然后,处理器205中的控制使方法700进入细化选择步骤710。
在细化选择步骤710中,速率控制模块320在处理器205的控制下选择“细化”来对分区进行编码。该细化是用于指定要针对多少个子带来编码一个附加位平面的整数。选择不会导致超过在步骤708之后剩余的位预算的最大细化。子带的“优先级列表”建立了要考虑子带而进行细化的顺序。对于给定的细化值,选择优先级列表中的开头零个以上的子带来进行细化。然后,处理器205中的控制使方法700进入系数量化步骤712。
在系数量化步骤712中,量化器模块324在处理器205的控制下,根据量化阈值对系数组312进行量化,以产生截断系数组326。根据场景和细化来确定各子带的量化阈值。根据偏移表中的相应条目来进一步调整应用于特定系数组的量化阈值。由于低于量化阈值的位平面的截断导致数据损失,因此应用偏移以确保均匀分布的舍入。使用非均匀舍入以考虑系数相对于有效量化器步长大小(即,2~量化阈值的幂)的统计分布,其它偏移也是可以的。然后,处理器205中的控制使方法700进入编码偏移表步骤714。
在编码偏移表步骤714中,熵编码器模块318在处理器205的控制下将偏移表编码到编码位流115中。对于各分区的固定数量的“n”个区段、以及约束为值0和1的偏移表,偏移表可被编码为n位的固定长度序列。由于偏移表趋于具有相对较长的一连串0或1(或者在许可大于2的偏移的情况下为其它值),因此可以使用偏移表的行程长度编码。行程长度编码得到更紧凑的表示,尽管如此得到的位串将具有可变长度。然后,处理器205中的控制使方法700进入编码有效位平面步骤716。
在编码有效位平面步骤716中,打包器模块328在处理器205的控制下将系数数据编码到编码位流115中。对于各系数组,将根据偏移表中的相应条目修改后的从GCLI值一直到GTLI的位平面编码(或“打包”)到编码位流115中。如此,跨越多个子带并包含相对较高能量(因而更高GCLI值)的系数组具有相对于所考虑的子带中的其它系数组被截断的最低位平面中的一个或多个。该附加截断得到步骤708和710中所利用的针对这些系数组的降低编码成本,以针对分区选择整体更高质量。换句话说,位已被分配得远离分区中的位对视觉质量的贡献相对较小的部分、并且向着分区中的位可以对整体视觉质量作出相对较大贡献的其它部分。因此,可以提高具有混合内容的帧上的视觉质量。然后方法700终止。
图8是示出在子带内对具有可变截断偏移的位流进行解码的方法800的示意流程图。方法800可被实现为应用233的一个或多个模块(诸如图4的模块等),存储在存储器206中并通过处理器205的执行来控制。方法800从解码偏移表步骤802开始。
在解码偏移表步骤802中,熵解码器模块410、偏移提取器模块418在处理器205的控制下从接收位流133解码偏移表。根据图7的步骤714的编码方法来对偏移表进行解码。偏移表指定为了针对所考虑的分区的一个或多个子带中的各系数组设置GTLI阈值的目的的偏移集合。在图7的步骤706中导出的该偏移集合降低了更高能量小波系数的集合的编码成本,从而为分区中的其它位置的系数提供更高的速率。因此,相对于使用从分区的场景和细化值产生的恒定阈值,整体视觉质量得到提高。然后,处理器205中的控制使方法800进入解码系数组步骤803。
在解码GCLI步骤803中,熵解码器模块410和GCLI重建器模块414在处理器205的控制下从接收位流133解码GCLI预测模式和GCLI增量,以产生GCLI值416。然后,处理器205中的控制使方法800进入解码系数组步骤804。
在解码系数组步骤804中,解包器模块422在处理器205的控制下从来自接收位流133的系数组解码(或“解包”)位平面,以产生系数组的解码系数424。从位流来解包根据来自针对系数组的偏移表的偏移修改后的从系数组的GCLI值一直到GTLI阈值的位平面。然后,处理器205中的控制使方法800进入系数解量化步骤806。
在系数解量化步骤806中,解量化器模块426在处理器205的控制下对各系数组内的系数进行逆量化。逆量化运算要求(如参考等式[1]所述)利用逆量化步长大小缩放解码系数,其中该逆量化步长大小是根据子带的GTLI值导出的、并且是根据来自与所考虑的系数组相对应的偏移表的偏移调整后的。步骤804和806一起工作,以通过应用偏移表来从位流解码子带的一组子带系数,从而基于该组子带系数的偏移来确定针对各系数所读取的位数。然后,处理器205中的控制使方法800进入小波合成滤波器步骤808。
在小波合成滤波器步骤808中,逆变换模块430在处理器205的控制下,通过应用小波合成滤波器组将小波系数428变换成解码视频135,从而反转在小波分析滤波器组中(即,在变换模块310中)发生的分解。步骤808应用在图7的步骤702中应用的前向小波变换的逆变换。作为执行步骤808的结果,生成所考虑的分区中的各像素的样本,由此这些样本可用于来自视频解码器134的输出。然后,方法800终止。
视频处理系统100的偏移映射允许对子带的最低有效编码位平面进行部分编码。在映射到偏移表中的非零偏移的任何系数组(相对于针对具有偏移值0的系数组进行编码的最低有效位平面)具有未编码的一个或多个最低有效位平面的意义上,对位平面进行部分编码。相比之下,JPEG2000图像编码标准尽管具有位平面编码,但通常使用如行程长度编码或算术编码那样的用以实现压缩的技术来解析位平面整体。视频处理系统100的低复杂度性质阻止了使用算术编码。此外,系数组中的系数分组提供了四位的原子数据单元,这便于例如在FPGA中进行高速实现。
方法700描述了与步骤706有关的用于导出偏移表的启发式方法,从而允许低复杂度实现。对于提高的编码效率比低复杂度具有更高优先级的其它应用,可以使用搜索功能导出偏移表。在方法700的配置中,通过逐步测试特定偏移值(例如,0和1)并进行搜索来生成偏移表。并非进行将会抑制复杂度的全面搜索,而是可以利用通过表的渐进搜索。在使用渐进搜索的配置中,在测试各偏移时,进行合成小波并产生误差。使用使所产生的误差最小化的偏移,并且搜索进入下一偏移。
另外,视频源112可以是通过存在描述不同内容类型的位置的元数据的方式产生的。例如,装置可以将文本覆盖到其它内容上。文本区域可被视为在重叠分区中的其它位置所需的过度消耗率。在方法700的配置中,用元数据的接收来补充或替换系数能量检测步骤704。然后,偏移表的生成涉及应用正偏移,其中存在已知包含过高频率能量的内容区域。部分或完全与指定区域重叠的小波系数可以接收偏移1。可选地,与指定区域部分重叠的小波系数可以接收偏移1,而与指定区域完全重叠的小波系数可以接收偏移2。
在方法700的另一配置中,偏移映射导出(例如,步骤706)也对(除小波系数312以外的)提供给该分区的总位率敏感。在偏移映射生成对提供给分区的总位率敏感的配置中,对于高数据速率操作(例如,每像素速率的位超过8BPP),偏移表被部分偏置以完全朝向零偏移。这些配置在丰富的压缩位率可用于位流的情况下,减少了小波系数的额外截断。
产业上的可利用性
所述的配置可应用于计算机和数据处理行业,并且特别可应用于对低延迟(子帧)视频编码系统的诸如视频信号等的信号进行编码或解码的数字信号处理行业。通过应用子带内的系数的可变量化,可以提高具有混合内容的帧上的视觉质量。所述的方法可用于改善低延迟系统中的具有混合内容的帧的视觉内容。
前述仅说明本发明的一些实施例,并且可以在没有背离本发明的范围和精神的情况下对本发明进行修改和/或改变,其中这些实施例仅是示例性而非限制性的。

Claims (16)

1.一种用于从视频位流中解码视频数据的分区的最大编码行索引值的集合的方法,所述视频数据的分区包括一个或多个子带,所述方法包括:
从所述视频位流中解码各子带的最大编码行索引预测模式;
使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及
使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。
2.根据权利要求1所述的方法,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
3.一种用于将视频数据的分区的最大编码行索引值的集合编码到视频位流中的方法,所述视频数据的分区包括一个或多个子带,所述方法包括:
将各子带的最大编码行索引预测模式编码到所述视频位流中;以及
使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中。
4.根据权利要求3所述的方法,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
5.一种存储有程序的计算机可读介质,所述程序用于从视频位流中解码视频数据的分区的最大编码行索引值的集合,所述视频数据的分区包括一个或多个子带,所述程序包括:
用于从所述视频位流中解码各子带的最大编码行索引预测模式的代码;
用于使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值的代码;以及
用于使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值的代码。
6.根据权利要求5所述的计算机可读介质,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
7.一种存储有程序的计算机可读介质,所述程序用于将视频数据的分区的最大编码行索引值的集合编码到视频位流中,所述视频数据的分区包括一个或多个子带,所述程序包括:
用于将各子带的最大编码行索引预测模式编码到所述视频位流中的代码;以及
用于使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中的代码。
8.根据权利要求7所述的计算机可读介质,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
9.一种系统,用于从视频位流中解码视频数据的分区的最大编码行索引值的集合,所述视频数据的分区包括一个或多个子带,所述系统包括:
存储器,用于存储数据和计算机可读介质;以及
处理器,其连接至所述存储器,用于执行计算机程序,所述计算机程序具有用于进行以下操作的指令:
从所述视频位流中解码各子带的最大编码行索引预测模式;
使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及
使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。
10.根据权利要求9所述的系统,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
11.一种系统,用于将视频数据的分区的最大编码行索引值的集合编码到视频位流中,所述视频数据的分区包括一个或多个子带,所述系统包括:
存储器,用于存储数据和计算机可读介质;以及
处理器,其连接至所述存储器,用于执行计算机程序,所述计算机程序具有用于进行以下操作的指令:
将各子带的最大编码行索引预测模式编码到所述视频位流中;以及
使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中。
12.根据权利要求11所述的系统,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
13.一种视频解码器,其被配置为:
从视频位流接收视频数据的分区,所述视频数据的分区包括一个或多个子带;
从所述视频位流中解码各子带的最大编码行索引预测模式;
使用各子带的最大编码行索引预测模式来从所述视频位流中解码该子带的多个最大编码行索引增量值;以及
使用各子带的多个最大编码行索引增量值和最大编码行索引预测模式来产生该子带的最大编码行索引值。
14.根据权利要求13所述的视频解码器,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
15.一种视频编码器,其被配置为:
接收视频数据的分区,所述视频数据的分区包括一个或多个子带;
将各子带的最大编码行索引预测模式编码到视频位流中;以及
使用各子带的最大编码行索引预测模式来将该子带的多个最大编码行索引增量值编码到所述视频位流中。
16.根据权利要求15所述的视频编码器,其中,各最大编码行索引值表示编码在所述视频位流中的一组系数中的最高有效位平面。
CN201880017854.7A 2017-03-15 2018-02-09 用于对视频数据进行编码和解码的方法、设备和系统 Pending CN110419222A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2017201760 2017-03-15
AU2017201760A AU2017201760B2 (en) 2017-03-15 2017-03-15 Method, apparatus and system for encoding and decoding video data
PCT/AU2018/000019 WO2018165695A1 (en) 2017-03-15 2018-02-09 Method, apparatus and system for encoding and decoding video data

Publications (1)

Publication Number Publication Date
CN110419222A true CN110419222A (zh) 2019-11-05

Family

ID=63521621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880017854.7A Pending CN110419222A (zh) 2017-03-15 2018-02-09 用于对视频数据进行编码和解码的方法、设备和系统

Country Status (7)

Country Link
US (1) US11323745B2 (zh)
EP (1) EP3596927A4 (zh)
JP (1) JP6979075B2 (zh)
CN (1) CN110419222A (zh)
AU (1) AU2017201760B2 (zh)
TW (2) TWI733986B (zh)
WO (2) WO2018165694A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114765009A (zh) * 2020-12-31 2022-07-19 乐金显示有限公司 显示设备和显示设备的驱动方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018114813A1 (en) 2016-12-19 2018-06-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding or decoding using a subband dependent prediction adaption for gcli entropy coding
WO2020007848A1 (en) * 2018-07-02 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Bilateral high frequency boost
US11170481B2 (en) * 2018-08-14 2021-11-09 Etron Technology, Inc. Digital filter for filtering signals
WO2020153506A1 (ko) * 2019-01-21 2020-07-30 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
CN113796076A (zh) * 2019-03-26 2021-12-14 Vid拓展公司 用于视频译码的内容自适应变换精度
US10931293B1 (en) 2019-12-27 2021-02-23 Seagate Technology Llc Transform domain analytics-based channel design
CN114286106B (zh) * 2021-12-29 2024-02-13 苏州长风航空电子有限公司 一种基于MPSoC的多路SDI视频极低延时编码系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2773122A1 (en) * 2013-03-01 2014-09-03 intoPIX s.a. Method and device for display stream compression
US20140247999A1 (en) * 2013-03-01 2014-09-04 intoPIX SA Method and device for display stream compression
CN110383835A (zh) * 2016-12-19 2019-10-25 弗劳恩霍夫应用研究促进协会 使用用于gcli熵编码的子带相关预测适应进行编码或解码的装置和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865291B1 (en) * 1996-06-24 2005-03-08 Andrew Michael Zador Method apparatus and system for compressing data that wavelet decomposes by color plane and then divides by magnitude range non-dc terms between a scalar quantizer and a vector quantizer
US6411740B1 (en) * 1998-11-04 2002-06-25 Sharp Laboratories Of America, Incorporated Method for non-uniform quantization in a resolution hierarchy by use of a nonlinearity
US6658162B1 (en) * 1999-06-26 2003-12-02 Sharp Laboratories Of America Image coding method using visual optimization
US7903734B2 (en) 2003-04-24 2011-03-08 Canon Kabushiki Kaisha Moving image decoding apparatus, moving image decoding method, image decoding method, and image decoding apparatus
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7822281B2 (en) 2003-10-31 2010-10-26 Canon Kabushiki Kaisha Digital video compression
WO2011013192A1 (ja) * 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
GB2510167B (en) * 2013-01-28 2017-04-19 Jaguar Land Rover Ltd Vehicle path prediction and obstacle indication system and method
JP6528679B2 (ja) 2013-03-05 2019-06-12 日本電気株式会社 信号処理装置、信号処理方法および信号処理プログラム
WO2018041840A1 (en) 2016-08-29 2018-03-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Improvements for greatest common line index (gcli) video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2773122A1 (en) * 2013-03-01 2014-09-03 intoPIX s.a. Method and device for display stream compression
US20140247999A1 (en) * 2013-03-01 2014-09-04 intoPIX SA Method and device for display stream compression
CN110383835A (zh) * 2016-12-19 2019-10-25 弗劳恩霍夫应用研究促进协会 使用用于gcli熵编码的子带相关预测适应进行编码或解码的装置和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
INTOPIX: "《intoPIX Codec Submission for JPEG-XS CfP, Design description V0.1》", 《JPEG MEETING;14-10-2016 – 21-10-2016; CHENGDU;NO. WG1M73019》 *
JBIG和JPEG工作组: "《JPEG XS Core Experiments #2》", 《74. JPEG MEETING;15-1-2017- 20-1-2017; GENEVA; NO. WG1N74033》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114765009A (zh) * 2020-12-31 2022-07-19 乐金显示有限公司 显示设备和显示设备的驱动方法
CN114765009B (zh) * 2020-12-31 2024-03-22 乐金显示有限公司 显示设备和显示设备的驱动方法
US11991374B2 (en) 2020-12-31 2024-05-21 Lg Display Co., Ltd. Display apparatus and driving method thereof

Also Published As

Publication number Publication date
WO2018165694A1 (en) 2018-09-20
EP3596927A1 (en) 2020-01-22
TW201836354A (zh) 2018-10-01
EP3596927A4 (en) 2020-05-13
US11323745B2 (en) 2022-05-03
TW201836353A (zh) 2018-10-01
JP6979075B2 (ja) 2021-12-08
TWI733986B (zh) 2021-07-21
US20200014956A1 (en) 2020-01-09
WO2018165695A1 (en) 2018-09-20
AU2017201760B2 (en) 2023-03-09
JP2020515113A (ja) 2020-05-21
AU2017201760A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
CN110419222A (zh) 用于对视频数据进行编码和解码的方法、设备和系统
US9232226B2 (en) Systems and methods for perceptually lossless video compression
AU2020210276B2 (en) Method, apparatus and system for encoding and decoding video data
JP2021100270A (ja) 動画符号化における彩度量子化
CN102263950B (zh) 编码设备和编码方法以及解码设备和解码方法
CN108055544B (zh) Sao编码方法和设备以及sao解码方法和设备
US9877048B2 (en) Entropy coding techniques for display stream compression (DSC)
CA3000020C (en) Entropy coding techniques for display stream compression (dsc) of non-4:4:4 chroma sub-sampling
CN108271024A (zh) 图像编码、解码方法及装置
CN104952470A (zh) 用于数字视频记录器的视频格式
US6993199B2 (en) Method and system for improving coding efficiency in image codecs
CN110300301A (zh) 图像编解码方法和装置
CN113660489B (zh) 用于帧内子划分的解码方法、装置、解码器和存储介质
CN109151471A (zh) 视频编码装置和视频解码装置
AU2017201971A1 (en) Method, apparatus and system for encoding and decoding image data
AU2017201933A1 (en) Method, apparatus and system for encoding and decoding video data
JPH10215454A (ja) 符号化装置及び符号化方法
CN114531953A (zh) 使用多参考行帧内预测的最可能模式信令
AU2017204642A1 (en) Method, apparatus and system for encoding and decoding video data

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191105