CN101822065A - 对视频块的经交错子块的熵译码 - Google Patents
对视频块的经交错子块的熵译码 Download PDFInfo
- Publication number
- CN101822065A CN101822065A CN200880111058A CN200880111058A CN101822065A CN 101822065 A CN101822065 A CN 101822065A CN 200880111058 A CN200880111058 A CN 200880111058A CN 200880111058 A CN200880111058 A CN 200880111058A CN 101822065 A CN101822065 A CN 101822065A
- Authority
- CN
- China
- Prior art keywords
- sub
- piece
- video blocks
- nonzero value
- syntactic element
- 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
Links
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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明描述用于对视频块进行熵译码的技术,且提出可提升译码效率的语法元素。所述语法元素可识别视频块内的非零值子块的数目,其中所述非零值子块包含所述视频块内的包括至少一个非零系数的子块。一种用于对视频块进行译码的方法可包含:对所述语法元素进行译码;产生所述视频块的所述非零值子块;以及对所述非零值子块进行熵译码。
Description
本申请案主张2007年10月12日申请的第60/979,739号美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及数字视频译码,且更特定来说,涉及视频块的系数的熵译码。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、例如无线电电话手持机的无线通信装置、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台等。数字视频装置实施例如MPEG-2、MPEG-4或H.264/MPEG-4第10部分:高级视频译码(AVC)的视频压缩技术,以较有效地发射和接收数字视频。视频压缩技术执行空间和时间预测以减少或移除视频序列中固有的冗余。
在视频译码中,视频压缩通常包括空间预测、运动估计和运动补偿。帧内译码依赖于空间预测来减少或移除给定视频帧内的视频块之间的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的连续视频帧的视频块之间的时间冗余。对于帧间译码来说,视频编码器执行运动估计以追踪两个或两个以上邻近帧之间的匹配的视频块的移动。运动估计产生运动向量,所述运动向量指示视频块相对于一个或一个以上参考帧中的对应预测视频块的位移。运动补偿使用运动向量从参考帧产生预测视频块。在运动补偿后,通过从待译码的原始视频块减去预测视频块来形成给定残余视频块。
视频编码器可应用变换、量化和熵译码过程来进一步降低与残余块的通信相关联的位速率。变换技术可包含离散余弦变换或概念上类似的过程、子波变换、或可能其它类型的变换。在离散余弦变换或概念上类似的过程中,变换过程将像素值的一集合改变为表示像素值在频域中的能量的变换系数。将量化应用于变换系数,且通常涉及限制与任何给定系数相关联的位数目的过程。熵译码包含共同地压缩经量化的变换系数的序列的一个或一个以上过程。熵译码过程的实例包括内容自适应可变长度译码(CAVLC)和上下文自适应二进制算术译码(CABAC)。
CAVLC为由ITU H.264/MPEG4,AVC标准支持的一种类型的熵译码技术。CAVLC以有效地压缩变换系数的经串行化的“游程”的方式使用可变长度译码(VLC)表。CABAC为由ITU H.264/MPEG4,AVC标准支持的另一类型的熵译码技术。CABAC可涉及若干阶段,包括二值化、上下文模型选择和二进制算术译码。还存在许多其它类型的熵译码技术,且将很可能在将来出现新的熵译码技术。
不管编码过程中所使用的熵译码的类型如何,视频解码器均可执行相反的熵译码操作以重建系数。所述视频解码器接着反量化并反变换所述系数。所述视频解码器可基于运动信息和与视频块相关联的残余信息而对视频信息解码以便产生视频信息的经解码的序列。
发明内容
一般来说,本发明描述用于视频块的熵译码的技术。本发明提出可提升熵译码效率的语法元素。所述语法元素可识别给定视频块内的非零值子块的数目,其中所述非零值子块包含给定视频块内的包括至少一个非零系数(例如,非零变换系数)的子块。相反,零值子块指给定视频块内的仅包括零值系数的子块。根据本发明,可在熵编码期间跳过零值子块,且可基于语法元素在解码器处重建这些零值子块。以此方式,可避免零值系数的译码以提升译码效率。所提出的语法元素提供用以传达一个或一个以上子块是在编码过程期间跳过的零值子块的事实的机制,借此允许解码器在无任何额外信息传递的情况下重建这些零值子块。
在一个实例中,本发明提供一种用于对视频块进行译码的方法,所述方法包含:对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数;产生视频块的非零值子块;以及对非零值子块进行熵译码。
在另一实例中,本发明提供一种包含熵译码单元的设备,所述熵译码单元经配置以:对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数;产生视频块的非零值子块;以及对非零值子块进行熵译码。
在另一实例中,本发明提供一种装置,其包含:用于对界定视频块的非零值子块的数目的语法元素进行译码的装置,其中非零值子块包括至少一个非零系数;用于产生视频块的非零值子块的装置;以及用于对非零值子块进行熵译码的装置。
在另一实例中,本发明提供一种包含熵编码单元和无线发射器的装置。熵编码单元经配置以:对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数;产生视频块的非零值子块;以及对非零值子块进行熵编码。无线发射器发送包含经熵译码的非零值子块和语法元素的位流。
在另一实例中,本发明提供一种装置,其包含:无线接收器,其接收包含经熵译码的非零值子块和语法元素的位流;以及熵解码单元,其经配置以对语法元素进行解码以确定视频块的非零值子块的数目,其中非零值子块包括至少一个非零系数。熵解码单元基于语法元素产生视频块的非零值子块,且对非零值子块进行熵解码。
可以硬件、软件、固件、或其任何组合实施本发明中所描述的技术。如果以硬件实施,则可将设备实现为集成电路、处理器、离散逻辑、或其任何组合。如果以软件实施,则软件可执行于例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)的一个或一个以上处理器中。执行所述技术的软件可初始存储于计算机可读媒体中且加载于处理器中并被执行。
因此,本发明也涵盖一种计算机可读媒体,所述计算机可读媒体包含在视频译码装置中执行后致使装置对视频块进行译码的指令,其中所述指令致使装置:对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数;产生视频块的非零值子块;以及对非零值子块进行熵译码。在一些情况下,计算机可读媒体可形成可售给制造商和/或用于视频译码装置中的计算机程序产品的部分。计算机程序产品可包括计算机可读媒体,且在一些情况下也可包括封装材料。
在附图和以下描述中阐述本发明的一个或一个以上方面的细节。将从描述和图式以及从权利要求书明白本发明中所描述的技术的其它特征、目的和优势。
附图说明
图1为说明视频译码和解码系统的示范性框图。
图2为说明与本发明一致的视频编码器的实例的框图。
图3为说明8×8视频块的锯齿形扫描的概念图。
图4为说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。
图5为说明与本发明一致的视频解码器的一实例的框图。
图6为针对示范性语法元素值四而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。
图7为针对示范性语法元素值三而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。
图8为针对示范性语法元素值二而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。
图9为针对示范性语法元素值一而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。
图10为说明与本发明一致的译码(即,编码或解码)技术的流程图。
图11为说明与本发明一致的编码技术的流程图。
图12为说明与本发明一致的解码技术的流程图。
具体实施方式
本发明描述用于视频块的熵译码的技术。视频块可形成视频帧、视频切片或其它视频单元,且本发明的技术可被应用为例如帧或切片的视频单元的序列的译码过程(例如,编码或解码)的部分。为了促进有效的熵译码,本发明提出一特定类型的语法元素。根据本发明,所述语法元素可识别给定视频块内的非零值子块的数目,其中非零值子块包含给定视频块内的包括至少一个非零系数的子块。相反,零值子块指给定视频块内的仅包括零值系数的子块。
根据本发明,可在熵编码期间跳过零值子块,且可基于语法元素在解码器处重建零值子块。以此方式,可避免零值系数的译码以提高译码效率。所提出的语法元素提供用于传达一个或一个以上子块是在编码过程期间跳过的零值子块的事实的机制,借此允许解码器在无任何额外信息传递的情况下重建这些零值子块。语法元素可界定作为零值子块的子块的数目,且在此过程中,可固有地识别这些子块在经译码的视频块中存在的地方和在视频块内界定子块(零值子块和非零值子块)的方式。
在编码器侧,可经由基于空间或基于运动的预测技术来对视频块进行编码(例如)以分别产生经帧内译码的(I)帧或经帧间译码的(P或B)帧。可在熵译码之前变换并量化视频块的残余像素值。对于熵编码来说,可扫描视频块的系数(即,经变换并量化的系数)以便界定系数的一维向量。锯齿形扫描为本文中所描述的一个实例,但也可使用其它类型的扫描,例如,垂直或水平扫描。可界定语法元素以识别存在于视频块中的非零值子块的数目。可基于语法元素交错对应于视频块的系数的经串行化的一维向量以便界定对应于非零值子块的系数的一维向量的集合。
可关于对应于非零值子块的系数的一维向量执行熵编码(例如,CAVLC、CABAC或另一熵译码方法),同时可忽略或跳过零值子块。经熵译码的非零值子块和语法元素可界定可发送到解码器的经编码的位流。
在解码器侧,接收经编码的位流。而且,位流可包括经熵译码的非零值子块和语法元素。基于界定非零值子块的数目的语法元素,解码器可识别哪些子块为经熵译码的非零值子块且哪些子块为被跳过的零值子块。即,语法元素可界定非零值子块的数目和所有系数等于零的零值子块的数目两者。举例来说,给定针对特定视频块大小的预期子块的已知数目,传达非零值子块的数目或零值子块的数目的语法元素可界定非零值子块的数目和零值子块的数目两者。因此,基于语法元素,解码器对非零值子块进行解码,且针对任何零值子块的系数产生零以便重建视频块的系数的完整集合。可接着执行反量化、反变换和基于空间的解码或基于运动的预测以便重建视频块。
图1为说明可实施本发明的技术的示范性视频编码和解码系统10的框图。如图1中所展示,系统10包括源装置12,其经由通信信道15将经编码的视频发射到接收装置16。源装置12和接收装置16可包含广泛范围的装置中的任一者。在一些情况下,源装置12和接收装置16包含无线通信装置手持机,即,所谓的蜂窝式或卫星无线电电话。然而,大体上涉及视频块的熵译码的本发明的技术不一定限于无线应用或设定。
源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23和发射器24。接收装置16可包括接收器26、调制解调器27、视频解码器28和显示装置30。根据本发明,源装置12的视频编码器22可经配置以如下文中更详细地描述而执行有效的熵译码。
图1的所说明的系统10仅为示范性的。可由支持例如内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或其它熵译码方法等广泛多种熵译码方法中的任一者的任一编码或解码装置来执行本发明的熵译码技术。源装置12和接收装置16仅为这些译码装置的实例。
本发明的技术可包括:对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数;基于语法元素产生视频块的非零值子块;以及对非零值子块进行熵译码。可由装置12在编码过程期间和/或由装置16在解码过程期间执行所述技术。
一般来说,源装置12产生用于发射到接收装置16的经译码的视频数据。然而,在一些情况下,装置12、16可以大体上对称的方式操作。举例来说,装置12、16中的每一者可包括视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如,以用于视频串流、视频回放、视频广播或视频电话。
源装置12的视频源20可包括例如摄像机等视频捕获装置、含有先前捕获的视频的视频档案、或来自视频内容提供者的视频馈送。作为另一替代方案,视频源20可产生基于计算机图形的数据作为源视频,或作为直播视频、所存档的视频与计算机产生的视频的组合。在一些情况下,如果视频源20为摄像机,则源装置12和接收装置16可形成所谓的相机电话或视频电话。在每一情况下,可由视频编码器22对经捕获、经预捕获或计算机产生的视频编码。可接着由调制解调器23根据例如码分多址(CDMA)等通信标准或另一通信标准或技术调制经编码的视频信息,且将其经由发射器24发射到接收装置16。
接收装置16的接收器26经由信道15接收信息,且调制解调器27解调所述信息。由视频解码器28执行的视频解码过程可执行熵解码以作为视频序列的重建的部分。类似于编码过程,熵解码过程使用本发明的技术以便支持经改进的数据压缩水平。显示装置28向用户显示经解码的视频数据,且可包含例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置等多种显示装置中的任一者。
在图1的实例中,通信信道15可包含任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理发射线、或无线媒体与有线媒体的任何组合。通信信道15可形成例如局域网、广域网,或全球网络(例如,因特网)等基于包的网络的部分。通信信道15一般代表用于将视频数据从源装置12发射到接收装置16的任何合适的通信媒体或不同通信媒体的集合。
视频编码器22和视频解码器28可根据支持CAVLC、CABAC或例如ITU-T H.264标准(或者被称作MPEG-4第10部分:高级视频译码(AVC))等另一熵译码方法的视频压缩标准而操作。尽管在图1中未展示,但在一些方面中,视频编码器22和视频解码器28可各自与音频编码器和解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频与视频两者的编码。如果适用,则MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
由ITU-T视频译码专家组(VCEG)与ISO/IEC运动图片专家组(MPEG)一起将ITU H.264/MPEG-4(AVC)标准制定为被称作联合视频小组(JVT)的集体合作伙伴的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264“用于通用音视频服务的高级视频译码(Advanced Video Coding for generic audiovisual services)”中描述了H.264标准,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
可将视频编码器22和视频解码器28各自实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件、或其任何组合。可将视频编码器22和视频解码器28中的每一者包括于一个或一个以上编码器或解码器中,其任一者可在相应的移动装置、订户装置、广播装置、服务器等中集成为组合的编码器/解码器(CODEC)的部分。
视频序列包括一系列视频帧。在一些情况下,可将视频序列布置为图像群组(GOP)。视频编码器22对个别视频帧内的视频块操作以便对视频数据进行编码。视频块可具有固定或变化的大小,且其大小可根据所规定的译码标准而不同。每一视频帧可包括一系列切片。每一切片可包括可布置成更小块的一系列宏块。作为一实例,ITU-T H.264标准支持各种块大小的帧内预测(例如,对于亮度分量来说为16×16、8×8或4×4,且对于色度分量来说为8×8)以及各种块大小的帧间预测(例如,对于亮度分量来说为16×16、16×8、8×16、8×8、8×4、4×8和4×4,且对于色度分量来说为对应的经缩放的大小)。视频块可(例如)在例如离散余弦变换或概念上类似的变换过程的变换过程后包含像素数据的块或变换系数的块。可量化变换系数。本发明的熵译码技术通常应用于经量化的变换系数的熵译码。
可将例如宏块的视频块划分为较小大小的视频块。较小的视频块可提供较好的分辨率,且可用于定位包括高细节水平的视频帧。一般来说,可将宏块(MB)和各种较小块全部视为视频块。另外,可认为切片为一系列视频块(例如,MB和/或较小大小的块)。每一切片可为一视频帧的可独立解码的单元。在预测后,可对8×8残余块或4×4残余块执行变换,且如果使用intra_16×16预测模式,则可将额外变换应用于色度分量或亮度分量的4×4块的DC系数。在变换后,仍可将数据称作视频块。然而,在变换后,视频块含有变换系数而非像素值。因此,经变换的视频块包含变换系数的块。术语“系数”通常指变换系数,但或者可指其它类型的系数或值。
在帧内或帧间预测译码和变换技术(例如,用于H.264/AVC中的4×4或8×8整数变换或离散余弦变换DCT)后,可执行量化。可使用例如基于子波的压缩的其它变换技术。量化通常指系数经量化以可能减少用以表示系数的数据的量的过程。量化过程可减小与所述系数中的一些或全部相关联的位深度。举例来说,可在量化期间将8位值下舍入到7位值。
在量化后,可根据本文中所描述的技术执行熵译码。特定来说,可将变换系数的视频块(例如,8×8视频块或16×16视频块)交错成4×4子块的集合。可以促进创建包含每一变换系数为零的子块的零值子块的方式界定交错。语法元素界定此交错且借此界定视频块内的子块。在熵译码期间,因为解码器可使用语法元素来重建零值子块,所以跳过零值子块。即,在熵译码过程中仅对非零值子块进行译码,且放弃零值子块且不将其包括在经编码的位流中。非零值子块指具有至少一个非零系数的子块。零值子块指所有变换系数均具有零值的子块。
图2为说明视频编码器50的实例的框图,所述视频编码器50包括在编码过程期间执行本发明的技术的熵译码单元46。视频编码器50可执行视频帧内的块的帧内译码和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测来减小或移除视频序列的邻近帧内的视频中的时间冗余。对于帧间译码来说,视频编码器50执行运动估计以追踪在两个或两个以上邻近帧之间的匹配的视频块的移动。帧内模式(I模式)可指基于空间的压缩模式且例如预测(P模式)或双向(B模式)的帧间模式可指基于时间的压缩模式。
如图2中所展示,视频编码器50接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器50包括运动估计单元32、参考帧存储件34、运动补偿单元36、块变换单元38、量化单元40、反量化单元42、反变换单元44和熵译码单元46。也可包括解块滤波器(未图示)以对块边界滤波以移除块假影。视频编码器50也包括加法器48和加法器51。图2说明用于视频块的帧间译码的视频编码器50的时间预测组件。虽然为了易于说明在图2中未展示,但视频编码器50也可包括用于一些视频块的帧内译码的空间预测组件。
运动估计单元32比较待编码的视频块与一个或一个以上邻近视频参考帧中的各个块以便确定一个或一个以上运动向量。可从参考帧存储件34检索邻近帧,所述参考帧存储件34可包含任何类型的存储器或数据存储装置以存储从先前编码的块重建的视频块。可对可变大小(例如,16×16、16×8、8×16、8×8或更小块大小)的块执行运动估计。运动估计单元32识别邻近帧中的最紧密匹配待译码的当前视频块的块,且确定块之间的位移。在此基础上,运动估计单元32产生运动向量(MV)(或在双向预测的情况下为多个MV),所述运动向量指示当前视频块与用以对当前视频块进行译码的预测块之间的位移的量值和轨迹。
运动向量可具有二分之一或四分之一像素精确度或更精细的精确度,从而允许视频编码器50追踪具有高于整数像素位置的精确度的运动,且获得较好的预测块。在使用具有分数像素值的运动向量时,在运动补偿单元36中实行内插运算。运动估计单元32识别视频块的所要的运动向量,且运动补偿单元36使用所得的运动向量通过运动补偿而形成预测视频块。
视频编码器50通过从正译码的原始视频块中减去由运动补偿单元36产生的预测视频块而形成残余视频块。加法器48执行此减法运算。块变换单元38对残余块应用例如离散余弦变换(DCT)或概念上类似的变换的变换,从而产生包含残余变换块系数的视频块。块变换单元38(例如)可执行由H.264标准定义的概念上类似于DCT的其它变换。
量化单元40量化残余变换系数以进一步减小位速率。量化单元40(例如)可限制用以对系数中的每一者进行译码的位的数目。在量化后,熵编码单元46根据例如CAVLC或CABAC等熵译码方法对经量化的变换系数进行熵编码以进一步压缩数据。
特定来说,根据本发明,熵译码单元46可将视频块(例如,8×8或16×16视频块)划分成子块(例如,4×4子块)。举例来说,视频块可包含包含64个系数的8×8视频块,且子块可包含若干4×4块,每一块包含16个系数。在另一实例中,视频块可包含包含256个系数的16×16视频块,且子块可包含包含16个系数的若干4×4块。然而,许多其它形状或大小的块和子块是与本发明一致的。在任一情况下,可将子块表征为非零值子块或零值子块。非零值子块包含具有至少一个非零系数(例如,其中至少一系数值为1、2、3或更高)的子块,而零值子块包含具有所有零值系数的子块。
熵编码单元46对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数。熵译码单元46产生非零值子块,且对非零值子块进行熵译码。举例来说,熵编码单元46可基于语法元素而交错视频块的系数以便产生子块,且此交错可促进创建零值子块。因为可在无需发射零值的情况下基于语法元素在解码器处重建零值子块,所以熵编码单元46对非零值子块进行熵译码,但跳过对零值子块的熵编码。
在由熵编码单元46进行熵译码后,可将经编码的视频发射到另一装置或经存档以用于稍后发射或检索。反量化单元42和反变换单元44分别应用反量化和反变换以重建像素域中的残余块以用作参考块。在此重建过程中使用零值子块。加法器51将经重建的残余块添加到由运动补偿单元36产生的经运动补偿的预测块以产生经重建的视频块以供存储在参考帧存储件34中。经重建的视频块由运动估计单元32和运动补偿单元36用作参考块以对后续视频帧中的块进行编码。
图3为可由熵编码单元46(或由编码器50的另一单元)执行以便将视频块80表示为系数的一维向量的锯齿形扫描的概念说明。此锯齿形扫描的扫描次序遵循穿过视频块80的箭头,且以扫描次序标注系数。特定来说,图3中所展示的数值指示连续一维向量内的系数的位置,且不表示系数的值。本发明的技术不限制于任何特定扫描次序或技术。然而,因为较高能量系数通常位于视频块80的左上角,所以例如图3所说明的锯齿形扫描可对变换系数非常有用。因此,锯齿形扫描常引起具有零值的许多较低编号的系数。虽然被描述为由熵编码单元46执行,但在编码过程中的较早阶段可执行锯齿形扫描或扫描成一维向量的其它类型的扫描(例如,水平或垂直扫描)。
图4为说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。如图4中所展示,可界定四个不同的经交错的子块且将其表示为四个不同的一维向量。每隔三个系数包括在给定子块中。因此,可将图3的视频块80表示为六十四个系数的一维向量:
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)。
可将四个不同的经交错的子块表示为四个不同的十六个系数的一维向量,如图4中所展示。在此情况下,经交错的子块1为:
(1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61)。
经交错的子块2为:
(2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62)。
经交错的子块3为:
(3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63)。
经交错的子块4为:
(4,8,12,16,20,24,28,32,36,40,44,48,52,57,60,64)。
因此,交错视频块的值以使得每隔三个变换系数组合在给定子块中,其中每一子块与下一子块偏移一。在上文和图4中所展示的子块中,数字指划分成子块的视频块内的系数的位置。根据本发明,以促进创建一个或一个以上零值视频块的方式交错视频块可为有用的。在此情况下,识别一个或一个以上零值视频块的语法元素可包含显著少于原本编码并传达零值视频块将需要的位的位。如下文更详细地论述,本文中被称作Syntax(Number of Blocks)的语法元素可用于此目的。
图5为说明视频解码器60的实例的框图,所述视频解码器60对以本文中所描述的方式编码的视频序列解码。视频解码器60包括熵解码单元52,其执行由图2的熵编码单元46执行的编码的互逆解码功能。
视频解码器60可对视频帧内的块执行帧内解码和帧间解码。在图5的实例中,视频解码器60包括熵解码单元52(上文中提及)、运动补偿单元54、反量化单元56、反变换单元58和参考帧存储件62。视频解码器60还包括加法器64。任选地,视频解码器60还可包括解块滤波器(未图示),其对加法器64的输出进行滤波。图5说明用于视频块的帧间解码的视频解码器60的时间预测组件。尽管在图5中未展示,但视频解码器60还可包括用于一些视频块的帧内解码的空间预测组件。
如所述,熵解码单元52执行由图2的熵编码单元46执行的编码的互逆解码功能。一般来说,熵解码单元52对界定视频块的非零值子块的数目的语法元素进行译码,其中非零值子块包括至少一个非零系数,基于语法元素产生视频块的非零值子块,并对非零值子块进行熵译码。
在解码侧,产生非零值子块包含基于语法元素解析位流。熵解码单元52接收位流,所述位流包含语法元素和经熵译码的非零值子块,但不包括所有系数等于零的任何零值子块。熵解码单元52可基于语法元素识别此些零值子块。熵解码单元52基于语法元素解析位流以便产生非零值子块,且接着重建任何零值子块的零值系数的集合。换句话说,从经编码的位流排除零值子块的系数,且熵解码单元52产生此些值。熵解码单元52仅使用语法元素来确定是否已排除任何零值子块,且因此需要在解码器60处产生所述零值子块。
例如,由编码器50的熵编码器46执行的交错过程(图2)可界定非零值子块和零值子块。此外,如果可能,熵译码器46可选择用以执行的交错类型以便产生零值子块。在随后的实例中,假设视频块包含系数的8×8块,且子块包含4×4块。然而,本发明不限制于任何特定大小或形状的块。子块通常为与正译码的视频块相关联的系数的子集,但视频块中的系数的实际数目和子块中的系数的数目经受广泛多种变化或实施。
可将语法元素表示为Syntax(Number of Blocks)。在可交错成四个4×4子块的8×8视频块的实例中,Syntax(Number of Blocks)可采用值1、2、3或4。作为另一实例,可将16×16视频块交错成十六个4×4子块,且在此情况下,Syntax(Number of Blocks)可采用值1、2、3、4、5、6、7、8、9、10、11、12、13、14、15或16。此外,许多其它形状和大小的视频块和子块与本发明一致。在一些情况下,对于交错成四个4×4子块的8×8视频块,Syntax(Number of Blocks)的值可限于(例如)值1或3。
图6为针对示范性语法元素值四而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。即,在图6中,Syntax(Number of Blocks)=4。在此情况下,交错与图4中所展示且上文所论述的交错相同。每隔三个系数包括在给定子块中。可将图3的视频块80表示为六十四个系数的一维向量:
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)。
可将四个不同的经交错的子块表示为四个不同的十六个系数的一维向量,如图6中所展示。在此情况下,在Syntax(Number of Blocks)=4时,经交错的子块1为:
(1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61)。
经交错的子块2为:
(2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62)。
经交错的子块3为:
(3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63)。
经交错的子块4为:
(4,8,12,16,20,24,28,32,36,40,44,48,52,57,60,64)。
Syntax(Number of Blocks)=4的图6的说明可用信号通知解码器60:所有子块为非零值子块,且子块不包含零值子块。
然而,在一些情况下,较低编号的系数中的一些(参看图3)可具有等于零的值。如果使用图4或图6中所展示的交错,则子块中的每一者将包括可具有非零值的较高编号的系数中的至少一些。在此情况下,可需要不同类型的交错以便帮助产生零值子块。如果(例如)所有系数49到64具有零值(此情形相当典型),则可需要在一子块中包括所有系数49到64,而不在多个子块中将其与其它系数交错。
图7为针对示范性语法元素值三而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。即,在图7中,Syntax(Number of Blocks)=3。在此情况下,每隔两个系数包括在给定子块中,且第四子块包含系数49到64以形成零值子块。编码器可执行此交错且使用等于三的语法元素以便将此事实传达到解码器。
在此情况下,如果将图3的块80表示为六十四个系数的一维向量:
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64),
则可将四个不同的经交错的子块表示为四个不同的十六个系数的一维向量,如图7中所展示。在此情况下,经交错的子块1为:
(1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46)。
经交错的子块2为:
(2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47)。
经交错的子块3为:
(3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48)。
子块4为:
(49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)。
因为系数49到64的所有值具有零值,所以未将子块4编码到位流中。因此,子块4为解码器经由语法元素可识别的零值子块。基本上,如图7中所展示,如果Syntax(Number of Blocks)=3,则解码器60可认为系数49到64具有零值,且子块1、2和3是经交错的。因此,可从位流消除原本需要用来传达系数49到64的信息的位以提升译码效率。
图8为针对示范性语法元素值二而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。即,在图8中,Syntax(Number of Blocks)=2。在此情况下,每隔一个系数(即,每隔一系数)包括在给定子块中,且第三和第四子块分别包含系数33到48和49到64以形成两个零值子块。
在此情况下,如果将图3的块80表示为六十四个系数的一维向量:
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64),
则可将四个不同的经交错的子块表示为四个不同的十六个系数的一维向量,如图8中所展示。在此情况下,经交错的子块1为:
(1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31)。
经交错的子块2为:
(2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32)。
子块3为:
(33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48)。
子块4为:
(49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)。
因为系数33到64的所有值具有零值,所以未将子块3和4编码到位流中。因此,子块3和4包含可由语法元素识别的零值子块。基本上,如图8中所展示,如果Syntax(Number of Blocks)=2,则解码器60可认为系数33到64具有零值,且子块1和2曾经交错。因此,在此情况下,可从位流消除原本需要用来传达系数33到64的信息的位以提升译码效率。
图9为针对示范性语法元素值一而说明图3中所展示的8×8视频块的四个不同的4×4子块的系数的表格图。
即,在图9中,Syntax(Number of Blocks)=1。在此情况下,以扫描次序界定子块,且第二、第三和第四子块包含零值子块。
在此情况下,如果将图3的块80表示为六十四个系数的一维向量:
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64),
则可将四个不同的经交错的子块表示为四个不同的十六个系数的一维向量,如图9中所展示。在此情况下,子块1为:
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)。
子块2为:
(17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)。
子块3为:
(33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48)。
子块4为:
(49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)。
因为系数17到64的所有值具有零值,所以未将子块2、3和4编码到位流中。因此,子块2、3和4包含可由语法元素识别的零值子块。基本上,如图9中所展示,如果Syntax(Number of Blocks)=1,则解码器60可认为系数17到64具有零值,且子块1被界定为系数1到16。
与本发明一致的经编码的位流包括与非零值子块相关联的经熵译码的位,且也包括所描述的语法元素,其允许解码器适当地解析位流并产生与从位流排除的任何零值子块相关联的零值。可将语法元素传达为与经编码的位流相关联的语法信息,且可在经特定界定以传达与经编码的位流相关联的此语法信息的位流的任一部分内传达所述语法元素。在一些情况下,可将语法元素传达为标头文件的部分或网络抽象层(NAL)单元。在任一情况下,解码器可经编程以理解语法信息并在解码过程中使用语法信息。
图10为说明与本发明一致的译码(即,编码或解码)技术的流程图。如图10中所展示,熵译码单元(例如,图2的熵编码单元46或图5的熵解码单元52)对语法元素进行译码以界定视频块中的非零值子块的数目(101)。非零值子块可包含包括至少一个非零系数的系数的集合。相反,零值子块可包含包括具有零值的所有系数的系数的集合。熵译码单元(例如,图2的熵编码单元46或图5的熵解码单元52)产生非零值子块(102),且对非零值子块进行熵译码(103)。
图11为说明与本发明一致的编码技术的流程图。如图11中所展示,熵编码单元46将视频块扫描成一维向量(111)。此扫描可包含锯齿形扫描(如图3中所展示)或另一类型的扫描技术(例如,水平扫描、垂直扫描、反锯齿形扫描等)。熵编码单元46对语法元素进行编码以便界定视频块中的非零值子块的数目(112),且交错对应于所述视频块的一维向量以产生对应于子块的一维向量的集合(113)。图6到图9针对交错成四个4×4子块的8×8块说明步骤112和113的实例,其中交错的类型视语法元素而定。如本文中所描述,因为可基于语法元素在解码器处重建零值子块,所以熵编码单元46对非零值子块进行熵编码(114),且可跳过对零值子块的编码。
图12为说明与本发明一致的解码技术的流程图。如图12中所展示,熵解码单元52接收包括语法元素的位流(121)。熵解码单元52基于语法元素解析位流以产生视频块中的非零值子块的数目(122)。举例来说,语法元素可向熵解码单元52通知曾由编码器使用的交错的类型。图6到图9和上文中的对应描述陈述可针对8×8系数视频块界定的语法元素值为1、2、3和4的实例。熵解码单元52可使用语法元素来确定如何解析位流以便适当地产生非零值子块。一旦产生非零值子块,熵解码单元52便对非零值子块进行熵解码(123),且产生不包括在位流中的任何零值子块的零值系数(124)。此外,语法元素向熵解码单元52通知不包括在位流中的任何此些零值子块。
再次参看图1,在一个与本发明一致的特定实例中,编码器22可应用如ITU H.264中所陈述的4×4CAVLC译码,但可仅将此4×4CAVLC译码应用于较大的经扫描的视频块的非零值子块。所描述的语法元素向解码器通知零值子块。在此情况下,编码器22应用CAVLC技术以如下方式对系数的4×4非零值子块进行编码。首先,编码器22结合“尾随的一”的数目对4×4非零值子块中的非零系数的总数进行译码。可将尾随的一的数目界定为在以相反的扫描次序读取系数向量时在遇到具有大于“一”的量值的系数之前遇到的具有量值“一”的系数的数目。用以对此信息进行译码的可变长度码是基于非零系数的预测数目,其中预测是基于先前编码的相邻块(例如,上方相邻块和左侧相邻块)中的非零系数的数目。
其次,编码器22对任何“尾随的一”的正负号进行译码。第三,编码器22对非零系数而非“尾随的一”的水平(即,量值)进行译码。第四,编码器22对最后一个非零系数之前的系数向量中的零值的数目(即,所有“游程”的和)进行译码。因为此总和值与块中的非零系数的总数之间通常存在某一关系,所以在对此总和值进行译码时所用的可变长度码可视块中的非零系数的总数而定。最终,从系数向量中的最后一个非零值开始,编码器22对在每一非零系数之前出现的游程进行译码。
可基于游程的和而选择用以对游程值进行编码的可变长度译码表。如果(例如)块具有“游程和”8,且经编码的第一游程为6,则所有剩余游程必须为0、1或2。因为可能的游程长度逐渐变短,所以可选择更有效的可变长度码来最小化需用来表示特定游程值的位的数目。
本发明的技术可实施于包括无线手持机和集成电路(IC)或IC的集合(即,芯片组)的广泛多种装置或设备中。已描述经提供以强调功能方面的任何组件、模块或单元,且其不一定需要由不同硬件单元实现。
因此,可以硬件、软件、固件、或其任何组合实施本文中所描述的技术。被描述为模块或组件的任何特征可一起实施于集成的逻辑装置中或单独实施为离散但可共同操作的逻辑装置。如果以软件实施,则可至少部分由包含指令的计算机可读媒体来实现所述技术,所述指令在执行时执行上文中所描述的方法中的一者或一者以上。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。计算机可读媒体可包含随机存取存储器(RAM),例如,同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或替代地,可至少部分由计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体载运或传送呈指令或数据结构的形式的代码且可由计算机存取、读取和/或执行。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行代码。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内,或并入于组合的视频编码器-解码器(CODEC)中。而且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
已描述本发明的各个方面。这些和其它方面处于所附权利要求书的范围内。
Claims (47)
1.一种用于对视频块进行译码的方法,所述方法包含:
对界定所述视频块的非零值子块的数目的语法元素进行译码,其中所述非零值子块包括至少一个非零系数;
产生所述视频块的所述非零值子块;以及
对所述非零值子块进行熵译码。
2.根据权利要求1所述的方法,
其中对所述语法元素进行译码包含对所述语法元素进行编码;
其中产生所述非零值子块包含基于所述语法元素交错所述视频块;以及
其中对所述非零值子块进行熵译码包含对所述非零值子块进行熵编码。
3.根据权利要求2所述的方法,其中零值子块包含所述视频块的所有系数等于零的子块,所述方法进一步包含:
跳过对所述零值子块的熵编码。
4.根据权利要求1所述的方法,其中译码包含解码,所述方法进一步包含接收包括所述语法元素的位流,
其中对所述语法元素进行译码包含对所述语法元素进行解码;
其中产生所述非零值子块包含基于所述语法元素解析所述位流;以及
其中对所述非零值子块进行熵译码包含对所述子块进行熵解码。
5.根据权利要求4所述的方法,其中所述位流不包括所有系数等于零的任何零值子块。
6.根据权利要求1所述的方法,其进一步包含:
将所述视频块扫描成系数的一维向量。
7.根据权利要求6所述的方法,其中产生所述视频块的所述非零值子块包含:
基于所述语法元素交错所述一维向量以界定对应于所述非零值子块的多个一维向量。
8.根据权利要求1所述的方法,其中所述语法元素界定非零值子块的所述数目和所有系数等于零的零值子块的数目两者,且其中所述方法进一步包含:
跳过对所述零值子块的熵译码。
9.根据权利要求1所述的方法,其中所述视频块包含包含64个系数的8×8视频块和包含256个系数的16×16视频块中的一者,且其中所述子块包含若干包含16个系数的4×4块。
10.根据权利要求9所述的方法,其中所述视频块和所述子块包含经扫描的系数的一维向量。
11.根据权利要求1所述的方法,其中对所述非零值子块进行熵译码包含对所述非零值子块的系数执行内容自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)中的至少一者。
12.一种包含熵译码单元的设备,所述熵译码单元经配置以:
对界定视频块的非零值子块的数目的语法元素进行译码,其中所述非零值子块包括至少一个非零系数;
产生所述视频块的所述非零值子块;以及
对所述非零值子块进行熵译码。
13.根据权利要求12所述的设备,其中所述熵译码单元包含熵编码单元,所述熵编码单元经配置以:
对所述语法元素进行编码;
基于所述语法元素交错所述视频块以产生所述非零值子块;以及
对所述非零值子块进行熵编码。
14.根据权利要求13所述的设备,其中零值子块包含所述视频块的所有系数等于零的子块,且其中所述熵编码单元经进一步配置以:
跳过对所述零值子块的熵编码。
15.根据权利要求12所述的设备,其中所述熵译码单元包含熵解码单元,所述熵编码单元经配置以:
接收包括所述语法元素的位流;
对所述语法元素进行解码;
基于所述语法元素解析所述位流以产生所述非零值子块;以及
对所述子块进行熵解码。
16.根据权利要求15所述的设备,其中所述位流不包括所有系数等于零的任何零值子块。
17.根据权利要求12所述的设备,其中所述熵译码单元经进一步配置以:
将所述视频块扫描成系数的一维向量。
18.根据权利要求12所述的设备,其中所述熵译码单元经进一步配置以:
基于所述语法元素交错所述一维向量以界定对应于所述非零值子块的多个一维向量。
19.根据权利要求12所述的设备,其中所述语法元素界定非零值子块的所述数目和所有系数等于零的零值子块的数目两者,且其中所述熵译码单元经进一步配置以:
跳过对所述零值子块的熵译码。
20.根据权利要求12所述的设备,其中所述视频块包含包含64个系数的8×8视频块和包含256个系数的16×16视频块中的一者,且其中所述子块包含若干包含16个系数的4×4块。
21.根据权利要求20所述的设备,其中所述视频块和所述子块包含经扫描的系数的一维向量。
22.根据权利要求12所述的设备,其中所述熵译码单元对所述非零值子块的系数执行内容自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)中的至少一者。
23.根据权利要求12所述的设备,其中所述设备包含集成电路和微处理器中的一者。
24.一种计算机可读媒体,其包含在视频译码装置中执行时致使所述装置对视频块进行译码的指令,其中所述指令致使所述装置:
对界定所述视频块的非零值子块的数目的语法元素进行译码,其中所述非零值子块包括至少一个非零系数;
产生所述视频块的所述非零值子块;以及
对所述非零值子块进行熵译码。
25.根据权利要求24所述的计算机可读媒体,其中所述指令致使所述装置:对所述语法元素进行编码;
基于所述语法元素交错所述视频块以产生所述非零值子块;以及
对所述非零值子块进行熵编码。
26.根据权利要求25所述的计算机可读媒体,其中零值子块包含所述视频块的所有系数等于零的子块,其中所述指令致使所述装置:
跳过对所述零值子块的熵编码。
27.根据权利要求24所述的计算机可读媒体,其中所述指令致使所述装置:
接收包括所述语法元素的位流;
对所述语法元素进行解码;
基于所述语法元素解析所述位流以产生所述非零值子块;以及
对所述子块进行熵解码。
28.根据权利要求27所述的计算机可读媒体,其中所述位流不包括所有系数等于零的任何零值子块。
29.根据权利要求24所述的计算机可读媒体,其中所述指令致使所述装置:
将所述视频块扫描为系数的一维向量。
30.根据权利要求29所述的计算机可读媒体,其中所述指令致使所述装置:
基于所述语法元素交错所述一维向量以界定对应于所述非零值子块的多个一维向量。
31.根据权利要求24所述的计算机可读媒体,其中所述语法元素界定非零值子块的所述数目和所有系数等于零的零值子块的数目两者,且其中所述指令致使所述装置:
跳过对所述零值子块的熵译码。
32.根据权利要求24所述的计算机可读媒体,其中所述视频块包含包含64个系数的8×8视频块和包含256个系数的16×16视频块中的一者,且其中所述子块包含若干包含16个系数的4×4块。
33.根据权利要求32所述的计算机可读媒体,其中所述视频块和所述子块包含经扫描的系数的一维向量。
34.根据权利要求24所述的计算机可读媒体,其中所述指令致使所述装置:
对所述非零值子块的系数执行内容自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)中的至少一者。
35.一种装置,其包含:
用于对界定视频块的非零值子块的数目的语法元素进行译码的装置,其中所述非零值子块包括至少一个非零系数;
用于产生所述视频块的所述非零值子块的装置;以及
用于对所述非零值子块进行熵译码的装置。
36.根据权利要求35所述的装置,
其中译码包含编码;
其中用于对所述语法元素进行译码的装置包含用于对所述语法元素进行编码的装置;
其中用于产生所述非零值子块的装置包含用于基于所述语法元素交错所述视频块的装置;以及
其中用于对所述非零值子块进行熵译码的装置包含用于对所述非零值子块进行熵编码的装置。
37.根据权利要求36所述的装置,其中零值子块包含所述视频块的所有系数等于零的子块,且其中所述装置进一步包含:
用于跳过对所述零值子块的熵编码的装置。
38.根据权利要求35所述的装置,其中译码包含解码,所述装置进一步包含用于接收包括所述语法元素的位流的装置,
其中用于对所述语法元素进行译码的装置包含用于对所述语法元素进行解码的装置;
其中用于产生所述非零值子块的装置包含用于基于所述语法元素解析所述位流的装置;以及
其中用于对所述非零值子块进行熵译码的装置包含用于对所述子块进行熵解码的装置。
39.根据权利要求38所述的装置,其中所述位流不包括所有系数等于零的任何零值子块。
40.根据权利要求35所述的装置,其进一步包含:
用于将所述视频块扫描为系数的一维向量的装置。
41.根据权利要求40所述的装置,其中用于产生所述视频块的所述非零值子块的装置包含:
用于基于所述语法元素交错所述一维向量以界定对应于所述非零值子块的多个一维向量的装置。
42.根据权利要求35所述的装置,其中所述语法元素界定非零值子块的所述数目和所有系数等于零的零值子块的数目两者,且其中所述装置进一步包含:
用于跳过对所述零值子块的熵译码的装置。
43.根据权利要求35所述的装置,其中所述视频块包含包含64个系数的8×8视频块和包含256个系数的16×16视频块中的一者,且其中所述子块包含若干包含16个系数的4×4块。
44.根据权利要求43所述的装置,其中所述视频块和所述子块包含经扫描的系数的一维向量。
45.根据权利要求35所述的装置,其中用于对所述非零值子块进行熵译码的装置包含用于对所述非零值子块的系数执行内容自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)中的至少一者的装置。
46.一种装置,其包含:
熵编码单元,其经配置以:
对界定视频块的非零值子块的数目的语法元素进行编码,其中所述非零值子块包括至少一个非零系数;
产生所述视频块的所述非零值子块;以及
对所述非零值子块进行熵编码;以及
无线发射器,其发送包含所述经熵译码的非零值子块和所述语法元素的位流。
47.一种装置,其包含:
无线接收器,其接收包含经熵译码的非零值子块和语法元素的位流;以及
熵解码单元,其经配置以:
对所述语法元素进行解码以确定视频块的非零值子块的数目,其中所述非零值子块包括至少一个非零系数;
基于所述语法元素产生所述视频块的所述非零值子块;以及
对所述非零值子块进行熵解码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97973907P | 2007-10-12 | 2007-10-12 | |
US60/979,739 | 2007-10-12 | ||
US12/247,788 US8483282B2 (en) | 2007-10-12 | 2008-10-08 | Entropy coding of interleaved sub-blocks of a video block |
US12/247,788 | 2008-10-08 | ||
PCT/US2008/079649 WO2009049260A2 (en) | 2007-10-12 | 2008-10-10 | Entropy coding of interleaved sub-blocks of a video block |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101822065A true CN101822065A (zh) | 2010-09-01 |
Family
ID=40534161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880111058A Pending CN101822065A (zh) | 2007-10-12 | 2008-10-10 | 对视频块的经交错子块的熵译码 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8483282B2 (zh) |
EP (1) | EP2218259A2 (zh) |
JP (2) | JP2011501535A (zh) |
KR (1) | KR101214148B1 (zh) |
CN (1) | CN101822065A (zh) |
TW (1) | TW200930102A (zh) |
WO (1) | WO2009049260A2 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103493494A (zh) * | 2011-04-27 | 2014-01-01 | 夏普株式会社 | 图像解码装置、图像编码装置以及编码数据的数据结构 |
CN103563378A (zh) * | 2011-06-03 | 2014-02-05 | 高通股份有限公司 | 存储器高效的上下文建模 |
CN104471934A (zh) * | 2012-07-02 | 2015-03-25 | 三星电子株式会社 | 对视频进行熵编码的方法和设备以及对视频进行熵解码的方法和设备 |
CN104471935A (zh) * | 2012-07-11 | 2015-03-25 | 高通股份有限公司 | 具有变换跳过的视频译码中的预测残余块的旋转 |
CN105210367A (zh) * | 2013-05-08 | 2015-12-30 | Lg电子株式会社 | 发射广播信号的装置、接收广播信号的装置、发射广播信号的方法和接收广播信号的方法 |
US9936201B2 (en) | 2015-01-27 | 2018-04-03 | Qualcomm Incorporated | Contexts for large coding tree units |
CN103238322B (zh) * | 2010-12-03 | 2018-05-04 | 维洛媒体国际有限公司 | 在视频译码中单独地译码视频块的最后有效系数的位置 |
CN108718415A (zh) * | 2013-04-17 | 2018-10-30 | 高通股份有限公司 | 多层视频译码中的交叉层图片类型对准的指示 |
CN112449188A (zh) * | 2019-08-28 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873932B2 (en) | 2007-12-11 | 2014-10-28 | Cisco Technology, Inc. | Inferential processing to ascertain plural levels of picture interdependencies |
US8416859B2 (en) * | 2006-11-13 | 2013-04-09 | Cisco Technology, Inc. | Signalling and extraction in compressed video of pictures belonging to interdependency tiers |
US8155207B2 (en) | 2008-01-09 | 2012-04-10 | Cisco Technology, Inc. | Processing and managing pictures at the concatenation of two video streams |
US20080115175A1 (en) * | 2006-11-13 | 2008-05-15 | Rodriguez Arturo A | System and method for signaling characteristics of pictures' interdependencies |
US8875199B2 (en) * | 2006-11-13 | 2014-10-28 | Cisco Technology, Inc. | Indicating picture usefulness for playback optimization |
US8804845B2 (en) * | 2007-07-31 | 2014-08-12 | Cisco Technology, Inc. | Non-enhancing media redundancy coding for mitigating transmission impairments |
US8958486B2 (en) * | 2007-07-31 | 2015-02-17 | Cisco Technology, Inc. | Simultaneous processing of media and redundancy streams for mitigating impairments |
CN101904170B (zh) * | 2007-10-16 | 2014-01-08 | 思科技术公司 | 用于传达视频流中的串接属性和图片顺序的方法和系统 |
US8416858B2 (en) * | 2008-02-29 | 2013-04-09 | Cisco Technology, Inc. | Signalling picture encoding schemes and associated picture properties |
KR101426272B1 (ko) * | 2008-03-10 | 2014-08-07 | 삼성전자주식회사 | 영상 부호화장치 및 영상 복호화장치 |
WO2009152450A1 (en) | 2008-06-12 | 2009-12-17 | Cisco Technology, Inc. | Picture interdependencies signals in context of mmco to assist stream manipulation |
KR20090129926A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
US8705631B2 (en) * | 2008-06-17 | 2014-04-22 | Cisco Technology, Inc. | Time-shifted transport of multi-latticed video for resiliency from burst-error effects |
US8971402B2 (en) * | 2008-06-17 | 2015-03-03 | Cisco Technology, Inc. | Processing of impaired and incomplete multi-latticed video streams |
US8699578B2 (en) * | 2008-06-17 | 2014-04-15 | Cisco Technology, Inc. | Methods and systems for processing multi-latticed video streams |
US20090323822A1 (en) * | 2008-06-25 | 2009-12-31 | Rodriguez Arturo A | Support for blocking trick mode operations |
US8363716B2 (en) * | 2008-09-16 | 2013-01-29 | Intel Corporation | Systems and methods for video/multimedia rendering, composition, and user interactivity |
US8259814B2 (en) | 2008-11-12 | 2012-09-04 | Cisco Technology, Inc. | Processing of a video program having plural processed representations of a single video signal for reconstruction and output |
US8949883B2 (en) | 2009-05-12 | 2015-02-03 | Cisco Technology, Inc. | Signalling buffer characteristics for splicing operations of video streams |
US8279926B2 (en) | 2009-06-18 | 2012-10-02 | Cisco Technology, Inc. | Dynamic streaming with latticed representations of video |
US20110002386A1 (en) * | 2009-07-06 | 2011-01-06 | Mediatek Singapore Pte. Ltd. | Video encoder and method for performing intra-prediction and video data compression |
US9161057B2 (en) * | 2009-07-09 | 2015-10-13 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
KR101474756B1 (ko) | 2009-08-13 | 2014-12-19 | 삼성전자주식회사 | 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치 |
US8976871B2 (en) * | 2009-09-16 | 2015-03-10 | Qualcomm Incorporated | Media extractor tracks for file format track selection |
JP5591932B2 (ja) * | 2009-09-22 | 2014-09-17 | クゥアルコム・インコーポレイテッド | ファイルフォーマットトラック選択のためのメディアエクストラクタトラック |
AU2015201329C1 (en) * | 2009-10-28 | 2017-01-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding residual block, and method and apparatus for decoding residual block |
KR101457894B1 (ko) * | 2009-10-28 | 2014-11-05 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
US20110222837A1 (en) * | 2010-03-11 | 2011-09-15 | Cisco Technology, Inc. | Management of picture referencing in video streams for plural playback modes |
CN113556560B (zh) | 2010-04-13 | 2024-08-20 | Ge视频压缩有限责任公司 | 显著性图和变换系数块的编码 |
KR20120009618A (ko) * | 2010-07-19 | 2012-02-02 | 에스케이 텔레콤주식회사 | 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치 |
US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
DK2768145T3 (da) | 2011-01-14 | 2016-04-04 | Ge Video Compression Llc | Entropikodnings- og afkodningssystem |
KR101888218B1 (ko) * | 2011-01-19 | 2018-08-13 | 선 페이턴트 트러스트 | 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치 |
US10397577B2 (en) | 2011-03-08 | 2019-08-27 | Velos Media, Llc | Inverse scan order for significance map coding of transform coefficients in video coding |
CN102685503B (zh) * | 2011-03-10 | 2014-06-25 | 华为技术有限公司 | 变换系数的编码方法、变换系数的解码方法,和装置 |
KR102250088B1 (ko) * | 2013-10-24 | 2021-05-10 | 삼성전자주식회사 | 비디오 스트림을 복호화하는 방법 및 장치 |
US9877048B2 (en) * | 2014-06-09 | 2018-01-23 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (DSC) |
US11350127B2 (en) * | 2016-05-13 | 2022-05-31 | Sony Corporation | Apparatus and method for image processing |
CA3035658C (en) * | 2016-09-09 | 2023-01-24 | Sharp Kabushiki Kaisha | Systems and methods for signaling of emergency alert messages |
CN108495073B (zh) * | 2018-03-29 | 2020-11-06 | 瑞芯微电子股份有限公司 | 一种视频图像帧场检测方法、存储介质及计算机 |
US10666985B1 (en) | 2018-11-18 | 2020-05-26 | Sony Corporation | Sub-block based entropy coding for image coding |
US10666986B1 (en) | 2019-03-08 | 2020-05-26 | Sony Corporation | Sub-block based entropy coding for embedded image codec |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1139352A (zh) * | 1995-03-28 | 1997-01-01 | 大宇电子株式会社 | 用在视频信号编码系统中的行程长度编码方法 |
US20050169374A1 (en) * | 2004-01-30 | 2005-08-04 | Detlev Marpe | Video frame encoding and decoding |
CN1689026A (zh) * | 2002-10-03 | 2005-10-26 | 诺基亚有限公司 | 用于自适应块变换的基于上下文的自适应可变长度编码 |
US20060078049A1 (en) * | 2004-10-13 | 2006-04-13 | Nokia Corporation | Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability |
CN101032172A (zh) * | 2004-07-09 | 2007-09-05 | 诺基亚公司 | 用于可分级视频比特流的熵编码和解码的方法和系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2785209B2 (ja) * | 1989-09-19 | 1998-08-13 | ソニー株式会社 | データ伝送装置 |
US5740283A (en) | 1995-07-06 | 1998-04-14 | Rubin, Bednarek & Associates, Inc. | Digital video compression utilizing mixed vector and scalar outputs |
JP2001215937A (ja) | 2000-02-02 | 2001-08-10 | Denso Corp | 映像信号処理装置 |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
BRPI0411663A (pt) * | 2003-06-25 | 2006-08-08 | Thomson Licensing | método e aparelho de codificação para inserção de marcas d'água em um fluxo de bits de vìdeo compactado |
US7586924B2 (en) * | 2004-02-27 | 2009-09-08 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream |
US7953155B2 (en) * | 2004-12-16 | 2011-05-31 | Tut Systems, Inc. | Methods of selecting an encoding mode |
US7599840B2 (en) * | 2005-07-15 | 2009-10-06 | Microsoft Corporation | Selectively using multiple entropy models in adaptive coding and decoding |
JP4901450B2 (ja) * | 2006-12-19 | 2012-03-21 | 株式会社東芝 | 動画像符号化装置 |
US8189676B2 (en) * | 2007-04-05 | 2012-05-29 | Hong Kong University Of Science & Technology | Advance macro-block entropy coding for advanced video standards |
AU2008263458A1 (en) * | 2007-06-12 | 2008-12-18 | Nokia Corporation | Joint coding of multiple transform blocks with reduced number of coefficients |
US8406307B2 (en) * | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
-
2008
- 2008-10-08 US US12/247,788 patent/US8483282B2/en not_active Expired - Fee Related
- 2008-10-10 WO PCT/US2008/079649 patent/WO2009049260A2/en active Application Filing
- 2008-10-10 KR KR1020107010465A patent/KR101214148B1/ko not_active IP Right Cessation
- 2008-10-10 JP JP2010529121A patent/JP2011501535A/ja not_active Withdrawn
- 2008-10-10 EP EP08838298A patent/EP2218259A2/en not_active Withdrawn
- 2008-10-10 CN CN200880111058A patent/CN101822065A/zh active Pending
- 2008-10-13 TW TW097139233A patent/TW200930102A/zh unknown
-
2013
- 2013-07-05 JP JP2013141572A patent/JP5623602B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1139352A (zh) * | 1995-03-28 | 1997-01-01 | 大宇电子株式会社 | 用在视频信号编码系统中的行程长度编码方法 |
CN1689026A (zh) * | 2002-10-03 | 2005-10-26 | 诺基亚有限公司 | 用于自适应块变换的基于上下文的自适应可变长度编码 |
US20050169374A1 (en) * | 2004-01-30 | 2005-08-04 | Detlev Marpe | Video frame encoding and decoding |
CN101032172A (zh) * | 2004-07-09 | 2007-09-05 | 诺基亚公司 | 用于可分级视频比特流的熵编码和解码的方法和系统 |
US20060078049A1 (en) * | 2004-10-13 | 2006-04-13 | Nokia Corporation | Method and system for entropy coding/decoding of a video bit stream for fine granularity scalability |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103238322B (zh) * | 2010-12-03 | 2018-05-04 | 维洛媒体国际有限公司 | 在视频译码中单独地译码视频块的最后有效系数的位置 |
CN103493494A (zh) * | 2011-04-27 | 2014-01-01 | 夏普株式会社 | 图像解码装置、图像编码装置以及编码数据的数据结构 |
CN103563378A (zh) * | 2011-06-03 | 2014-02-05 | 高通股份有限公司 | 存储器高效的上下文建模 |
CN104471934A (zh) * | 2012-07-02 | 2015-03-25 | 三星电子株式会社 | 对视频进行熵编码的方法和设备以及对视频进行熵解码的方法和设备 |
CN104796712A (zh) * | 2012-07-02 | 2015-07-22 | 三星电子株式会社 | 视频的解码方法 |
CN104471934B (zh) * | 2012-07-02 | 2018-01-23 | 三星电子株式会社 | 对视频进行熵编码的方法和设备以及对视频进行熵解码的方法和设备 |
CN104796712B (zh) * | 2012-07-02 | 2018-09-11 | 三星电子株式会社 | 视频的解码方法 |
CN104471935A (zh) * | 2012-07-11 | 2015-03-25 | 高通股份有限公司 | 具有变换跳过的视频译码中的预测残余块的旋转 |
CN104471935B (zh) * | 2012-07-11 | 2017-12-15 | 高通股份有限公司 | 具有变换跳过的视频译码中的预测残余块的旋转 |
CN108718415A (zh) * | 2013-04-17 | 2018-10-30 | 高通股份有限公司 | 多层视频译码中的交叉层图片类型对准的指示 |
CN108718415B (zh) * | 2013-04-17 | 2021-03-26 | 高通股份有限公司 | 处理视频数据的方法和装置 |
CN105210367B (zh) * | 2013-05-08 | 2019-01-01 | Lg电子株式会社 | 发射广播信号的方法与装置、接收广播信号的方法与装置 |
CN105210367A (zh) * | 2013-05-08 | 2015-12-30 | Lg电子株式会社 | 发射广播信号的装置、接收广播信号的装置、发射广播信号的方法和接收广播信号的方法 |
US9936201B2 (en) | 2015-01-27 | 2018-04-03 | Qualcomm Incorporated | Contexts for large coding tree units |
US10298930B2 (en) | 2015-01-27 | 2019-05-21 | Qualcomm Incorporated | Contexts for large coding tree units |
CN112449188A (zh) * | 2019-08-28 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
CN112449188B (zh) * | 2019-08-28 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 视频解码方法、编码方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20090097568A1 (en) | 2009-04-16 |
EP2218259A2 (en) | 2010-08-18 |
JP5623602B2 (ja) | 2014-11-12 |
KR20100072351A (ko) | 2010-06-30 |
JP2011501535A (ja) | 2011-01-06 |
KR101214148B1 (ko) | 2012-12-20 |
WO2009049260A3 (en) | 2009-05-28 |
US8483282B2 (en) | 2013-07-09 |
WO2009049260A2 (en) | 2009-04-16 |
TW200930102A (en) | 2009-07-01 |
JP2013243716A (ja) | 2013-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101822065A (zh) | 对视频块的经交错子块的熵译码 | |
WO2021079948A1 (en) | Systems and methods for signaling picture information in video coding | |
CN102172025B (zh) | 用大宏块进行视频译码 | |
CN101682771B (zh) | 视频译码中的自适应系数扫描 | |
CN102172021B (zh) | 用大宏块进行视频译码 | |
CN101637024B (zh) | 用于经译码块模式的可变长度译码技术 | |
CN102172023B (zh) | 用大宏块进行视频译码 | |
CN101690227B (zh) | 用于对子带进行熵译码的子带扫描技术 | |
CN102187671B (zh) | 基于向量化熵译码的加权预测 | |
CN101578870B (zh) | 对可缩放视频译码(svc)方案的增强层进行译码的方法和装置 | |
KR101168843B1 (ko) | 수평 및 수직 대칭에 기초한 필터 계수들의 비디오 코딩 | |
CN103703781A (zh) | 使用自适应运动向量分辨率的视频译码 | |
CN113632489B (zh) | 对视频数据进行解码的设备和方法 | |
CN102783149A (zh) | 用于视频译码的适应性运动分辨率 | |
CN102668563A (zh) | 解码器中的时间与空间视频块重排序以改善高速缓存命中 | |
CN104247420A (zh) | 转换系数译码 | |
CN103636223A (zh) | 用于视频译码的多区扫描次序 | |
WO2023085181A1 (en) | Systems and methods for signaling downsampling offset information in video coding | |
CN101523919B (zh) | 基于用于精细化系数译码的视频区块类型的可变长度译码表选择 | |
US12200266B2 (en) | Systems and methods for signaling downsampling offset information in video coding | |
CN119697385A (zh) | 用于在视频编码中发送信号通知源图片定时信息的系统和方法 | |
CN118338020A (zh) | 设备、以及对视频数据执行神经网络滤波的方法 | |
CN118283280A (zh) | 对视频数据执行神经网络滤波的方法及设备 | |
CN117917892A (zh) | 在视频编码中发送信号通知下采样偏移信息的系统和方法 | |
CN118338022A (zh) | 对视频数据执行神经网络滤波的方法、以及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100901 |