CN110324639A - 用于视频数据的高效熵编码的技术 - Google Patents

用于视频数据的高效熵编码的技术 Download PDF

Info

Publication number
CN110324639A
CN110324639A CN201910247313.XA CN201910247313A CN110324639A CN 110324639 A CN110324639 A CN 110324639A CN 201910247313 A CN201910247313 A CN 201910247313A CN 110324639 A CN110324639 A CN 110324639A
Authority
CN
China
Prior art keywords
data
array
block
nonzero value
zero
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910247313.XA
Other languages
English (en)
Other versions
CN110324639B (zh
Inventor
K·K·林
M·H·奥斯里克
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN110324639A publication Critical patent/CN110324639A/zh
Application granted granted Critical
Publication of CN110324639B publication Critical patent/CN110324639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/93Run-length coding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明题为“用于视频数据的高效熵编码的技术”。公开了熵编码/解码技术,其中数据被交替地编码成一系列非零值和零值,直到所传输的数据被消耗。非零值可以通过以下方式被编码:首先通过传输标识在扫描顺序中出现的连续非零值的数量的数据,然后传输非零值本身。然后,如果还有其他数据要传输,则可以传输标识在扫描顺序中接下来出现的连续零值的数量的数据,然后传输在扫描顺序中遇到的下一个非零值。通过将非零值作为组来传输,预期所提议的熵编码过程将实现比竞争技术更高的效率。

Description

用于视频数据的高效熵编码的技术
背景技术
用于压缩视频的各种编码方案是已知的。许多此类方案是基于块变换(例如,基于DCT)的,并且是通过将视频的每个帧组织成二维块来操作。每个块的DCT系数然后以定义的模式被放置在一维阵列中,通常是按“之”字形顺序通过所述块。也就是说,每个块以独立于彼此块的方式进行处理,并且该DCT系数逐块进行分组。然后根据预定扫描方向使用标准运行长度编码对系数进行编码;每个经编码的块以块末端码字来终止。在对视频流进行解码时,解码器使用块末端码字来标识新块何时被解码。
其他技术通过根据扫描模式组合来自多个经编码块的数据来对视频数据进行熵编码,该扫描模式连续地遍历该多个块的同类系数位置、然后前进到新的系数位置并且连续地遍历该多个块的同类系数位置。
常规熵编码技术通常根据迭代模式来传输数据,该迭代模式首先标识在扫描方向(通常称为“运行”)中遇到的零值系数的数量,然后传输标识该零值系数之后第一个非零系数的值的数据。如果连续遇到若干非零系数,则常规熵编码技术首先需要传输码字,该码字指示在第一个非零系数之前不存在任何零值系数,然后是传输非零系数本身的值。
附图说明
图1示出了根据本公开的一个方面的视频交换系统。
图2是根据本公开的一个方面的用于编码和解码视频的系统的简化框图。
图3A、图3B、图3C、图4A、图4B和图5各自示出了阵列扫描过程的示例性操作。
图6示出了根据本公开的一个方面的熵编码方法。
图7示出了根据本公开的一个方面的熵解码方法。
图8示出了可以根据表1定义的语法进行的终端设备之间的通信流。
图9是根据本公开的一个方面的编码系统的功能框图。
图10是根据本公开的一个方面的解码系统的功能框图。
具体实施方式
本公开的各方面提供熵编码技术,其中数据被交替地编码成一系列非零值和零值,直到所传输的数据被消耗。可以通过传输标识在扫描顺序中出现的连续非零值的数量的数据、然后传输非零值本身而首先编码非零值。然后,如果还有其他数据要传输,则可以传输标识在扫描顺序中接下来出现的连续零值的数量的数据,然后传输在扫描顺序中遇到的下一个非零值。通过为每个非零值序列标识被传输的值的数量的计数,所提出的技术避免了其他技术的低效率,这些其他技术需要传输标识在连续非零值之间出现的零值的数量的数据,即使没有也要传输。
发明人已经确定有可能具有长的非零系数值序列,这可能导致上文所述常规熵编码技术的低效率。在本文提出的熵编码技术下,当在扫描方向上遇到连续非零值的序列时,熵编码器可以传输表示所遇到的非零值的数量的计数值,然后传输该值本身。这种方法预期会提高编码效率,因为它避免了传输指示不存在非零系数值的码字。
图1示出了根据本公开的一个方面的视频交换系统100。系统100可以包括由信道130互连的一对终端110、120。终端110、120可以在它们之间交换经编码的视频。例如,第一终端110可以生成源视频,通过带宽压缩对源视频进行编码,并且将经编码的视频传输给第二终端120。第二终端120可以通过反转第一终端110所应用的编码操作来解压缩所述经编码的视频,这产生经解码的视频数据。然后,第二终端120可以例如通过显示或将其本地地存储在终端120处来使用经解码的视频。
经编码的视频的交换可以在多种应用中发生。例如,第一终端110可以编码数据,以根据存储转发分配模型按需递送给其他终端120。在此类应用中,第一终端110可以编码该视频并将其存储在本地,直到被另一终端120请求。在另一应用中,第一终端110可以捕获视频,以在单播或广播分配模型中实时递送给终端120。另选地,终端110、120可以参与视频的双向交换,如例如在视频会议中可能发生的;对于双向视频交换,每个终端110、120会对视频进行编码并将经编码的视频递送给其他终端110、120,该经编码的视频在那里会被解码。因此,本公开的原理可以应用于期望视频数据交换的多种使用情形。
尽管终端110、120分别被图示为服务器和智能电话,但本公开的原理可以应用于多种计算装备。本公开的原理可应用于各种类型的计算机(台式计算机、膝上型计算机、和平板电脑)、计算机服务器、媒体播放器、专用视频会议装备和/或专用视频编码装备。
信道130表示用于在终端110、120之间递送经编码的视频数据的多个不同通信结构中的任意者。在图1所示的示例中,信道130可以由通信网络140,例如由有线和/或无线通信网络形成。通信网络140可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网、局域网、广域网和/或互联网。在其他分配模型中,信道130可以由存储介质(例如,光、电、或磁的计算机可读存储介质)形成。示例性存储介质包括硬盘驱动器存储器、闪存存储器、软盘存储器、光学编码存储器(例如,光盘、DVD-ROM、DVD.+-.R、CD-ROM、CD.+-.R、全息盘、高清存储介质)、热机械存储器、或任何其他类型的计算机可读(机器可读)存储介质。出于本论述的目的,除非另外指明,否则信道130的架构和拓扑结构对本公开的操作是无关紧要的。
图2是根据本公开的一个方面的用于编码和解码视频的系统200的简化框图。系统200可以包括被设置成通过信道230彼此通信的编码器210和解码器220。如上所述,编码器210可以对源图像240进行编码并将经编码的图像递送给信道230。解码器220可以从该信道接收经编码的图像,对其解码,并由此生成经解码的图像250。
图2示出了涉及本公开所提出的熵编码的编码器210的部件。它们包括变换处理器212、量化处理器214、片扫描系统216和熵编码器218。变换处理器212可以将所选择的变换应用于图像数据,诸如离散余弦变换(通常称为“DCT”),所选择的变换将图像数据从像素域转换到变换域。量化处理器214可以对变换处理器214所输出的变换系数应用量化。通常,每个变换系数除以各自的量化参数,这可以减少表示变换系数所需要的数据量,并且在一些情况下,可以将变换系数减小到零。片扫描系统216可以将经量化的系数排列成预定顺序,以供熵编码器218进行处理。熵编码器218可以如本文所讨论的那样对经排序的系数进行编码。熵编码器218所输出的经编码的视频数据可以被提供给信道230。
图2也示出了涉及本公开所提出的熵编码的解码器220的部件。它们包括逆变换处理器222、逆量化处理器224、逆片扫描系统226和熵解码器228。正如其名称所暗示的,这些部件222-228可以反转编码器210中其对应部件212-218所执行的编码操作。特别地,熵解码器228可以如本文所讨论的那样对经编码的视频数据进行解码。熵解码器228可以输出经量化的系数,该经量化的系数被逆片扫描系统226进行重组。逆量化处理器224可以通过将经量化的系数乘以由编码器210的量化处理器214所应用的相同量化参数来执行逆量化。在实践中,量化和逆量化是有损过程;因此,由解码器220处逆量化处理器224所输出的变换系数可能将类似于但不匹配被输入到编码器210的量化处理器214的变换系数。逆变换处理器222可以反转由编码器210的变换处理器212所应用的变换过程。逆变换处理器222可以输出像素域中的图像数据。经解码的图像250可以由解码器220所输出的像素数据来生成。
如所讨论的,图2是编码器210和解码器220的部件的简化图。实践中,编码器210和解码器220常常包括其他用于处理视频数据的部件。例如,许多现代视频编码系统采用预测来利用视频数据中的空间和/或时间冗余。不是将源图像数据240直接输入给变换处理器212,源图像数据240可以相对于预测数据差分地被编码。在这种情况下,变换处理器212可以接收表示源图像240和预测数据(未示出)之间像素级差异的输入数据。类似地,可以在解码器220处使用预测。逆变换处理器222所输出的像素数据可以被加到该预测数据(未示出)以生成经解码的图像250。此类操作在图2的框图中未被示出,通常被提供用于处理其他类型的数据诸如音频数据的部件在图2的框图中也未被示出。
如所讨论的,片扫描系统216表示重组经量化的系数数据以供熵编码器218处理的过程。图3示出了一个此类重组过程的示例。图3A示出了被组织成x列和y行的经量化系数数据的示例性块。在这个示例中,x和y均为8,这生成经量化系数数据的具有64个位置的块。图3B示出了按以下顺序扫描系数位置的示例性扫描操作:0,1,8,9,2,3,10,11,16,17,24,25,18,19,26,27,4,5,12,20,13,6,7,14,21,28,29,22,15,23,30,31,32,33,40,48,41,34,35,42,49,56,57,50,43,36,37,44,51,58,59,52,45,38,39,46,53,60,61,54,47,55,62,63。片扫描系统216可以将图3A所示的二维阵列组织成图3B中所示扫描顺序所表示的串行数据流。以此类方式进行重组之后,系数数据可以被熵编码系统处理。
图3A和图3B中所示的操作可应用于多种视频编码系统。常规地,变换处理器(图2)被应用于已被解析成预定尺寸的像素块的图像数据。因此,每个像素块表示输入图像的二维区域,并且变换处理器212将像素数据(或像素残差)变换到变换域中。片扫描系统216(图2)可以将各个块的经量化系数重组成串行数据流,如图3A和图3B所示。在这个示例中,片扫描过程生成具有x·y个系数的数据流。
本公开的原理可应用于比纯粹像素块大的图像数据阵列。例如,如图4A和图4B所示,来自多个块的图像数据可以被合并并且形成串行数据流,以供熵编码器218(图2)进行处理。在图4A的示例中,多个像素块被图示成被布置成三维阵列,其中同类系数对齐(例如,位置0、1、2、…、63处的所有系数彼此对齐)。在图4B中,相同数据被图示成二维结构,其中每个块的数据占用单行,并且列保持同类系数位置的对齐。在这个示例中,片扫描过程生成具有x·y·z个系数的数据流。
在一个方面,片扫描系统216可以在单个编码操作中遍历多个块的系数。扫描开始于第一系数位置(比方说,位置0),并且在那个位置在所有块(比方说,图4B的块0-3)上扫描。扫描前进到下一系数位置(比方说,位置1),并且在该位置在所有块上扫描。扫描逐渐地前进到后续位置(比方说,顺序地前进到位置8、9、2和3),并且在每个扫描位置处,片扫描系统可以在这些位置中的每一者中在前进到下一个后续位置之前在所有块上扫描。
在操作期间,由于阵列存储经量化的变换系数,因此可能的是,这些系数位置中多个系数位置处的值将是零。如果在图4B的阵列中在块之间存在图像内容的显著冗余,则零值系数可能在阵列的多个列之间聚集。因此,与零值系数的运行长度编码耦合的片扫描过程可以相比于单独地在块上操作的扫描系统(图3A,图3B)产生经提高的编码效率,因为片扫描系统将产生长得多的零值系数运行。
作为具体示例,图4B中所示的块可以是宏块的亮度分量块。每个分量位置0-63处每个块的变换系数可以按图4B中所示的顺序存储在变换系数阵列中。熵编码器218(图2)然后可以通过将每个块中相同位置处的系数一起处理来编码系数。也就是说,可以首先处理第一列中的系数(0位置系数),然后处理第二列(位置1)中的系数,依此类推。通常,可以首先处理低频系数。
本公开的原理延伸至其他扫描方向。另一扫描方案在图3C中示出。
图4A和图4B的原理可以容易地应用于将图像数据首先解析成宏块(16像素乘16像素阵列)、然后将宏块在正交的基础上划分为从属块(常常每个为8x8)的编码系统。因此,每个宏块通常包括四个从属块。这些从属块可以如图4A和图4B所示进行组织和扫描。
本公开的原理可以延展到更大的块组。例如,如图5所示,来自n个宏块的数据被图示成被重组成用于由熵编码器处理的公共数据流。在这个示例中,片扫描过程可以生成x·y·z·n个系数的阵列。
图6示出了根据本公开的一个方面的熵编码方法600。熵编码器218、930(图2、图9)可以根据图6的方法600操作。方法600可以通过传输表示正被方法的当前实例处理的系数的数量的数据来开始(框610)。在其中系数的数量通过其他方式(例如,通过由管控编码协议预先确定)对于解码器是已知的应用中可以省略框610的操作。方法600然后可以进行用于传输电平和计数的迭代过程,按由片扫描过程所建立的扫描顺序在数据阵列上工作。迭代可以通过确定是否已经到达系数阵列的末端来开始,或者在第一迭代,通过确定阵列的所有剩余系数是否都为零来开始(框615)。如果任一种情况发生,则方法600可以结束。然而,如果不是,则方法600可以确定在扫描顺序中接下来的非零系数的数量(框620)并传输标识所确定数量的非零系数的数据(框625)。方法600也可以传输标识非零系数中每一者的数据(框630)。
在传输了在框630处确定的最后一个非零系数之后,方法600可以确定是否已经到达系数阵列的末端或者阵列中的所有剩余系数是否都为零(框640)。如果是,则方法600可以结束。如果不是,则方法600可以确定在扫描顺序中接下来的零值系数的数量(框645),并且可以传输标识零值系数的数量的数据(框650)。方法600可以传输标识扫描顺序中下一非零系数(框655)并返回到框615的操作。
与其他熵编码过程相比,方法600的操作预期提供编码效率。如所讨论的,现代熵编码过程迭代地传输标识连续出现的零值系数的数量的数据,然后传输跟着的非零系数的值。当多个非零系数连续地出现时,现有技术过程需要传输标识每个非零系数与其紧接的下一非零系数之间没有出现任何零值系数的码字。这些编码过程引起低效率,因为按扫描顺序连续地出现大量非零系数是常见的,尤其是在数据速率高的应用中。预期图6中所示方法600的操作将通过以下方式来提供提高的效率:以按扫描顺序出现的连续非零系数的计数的标识、然后接着那些非零系数的值(框625-630)来开始编码。可以避免指示不存在零值系数的码字的传输。
图6中示出的方法600将非零值系数的计数和非零系数值的传输(框625-630)描述成在传输零值系数的计数和下一非零系数(框650、655)之前发生。在实践中,许多扫描顺序预期在非零系数值比零值系数更可能出现的位置开始。在其他具体实施中(图6中未示出),零值系数的计数和下一非零系数的传输可以在非零值系数的计数和非零系数值的传输之前。此类具体实施在扫描顺序开始于相比于非零值系数更可能具有零值系数的系数位置的应用中可以是适当的。
本公开的原理适应图6中所示方法600的变型形式。如上所讨论,方法600在系数数量通过其它方式来确定的应用中不需要传输标识系数数量的数据(框610)。例如,系数的数量可以由管控编码协议预定为固定数。返回图5,例如,在n=8且z=1的情况下,每个扫描操作可以跨八个8x8块的系数数据,总共512个系数。如果系数的数量对于该方法的每次迭代是固定的,则可以省略系数数量的标识。在另一实施方案中,系数的数量可以取决于经编码的数据中所提供的其他编码参数,例如编码单元的大小。在此类应用中,尽管每个扫描操作的系数数量可以变化,但这个数量可以从其他编码参数来推导,因此可以避免框610所示的系数数量的显式传输。
在另一方面,编码器不需要在框650中零值系数的运行的传输之后执行框655的操作。在此类方面(图6中以虚线示出),方法600可以从框650前进到框620,并且方法600可以确定阵列中按扫描顺序接下来出现的非零系数的数量。
图7示出了根据本公开的一个方面的熵解码方法700。熵解码器228、1020(图2、图10)可以根据图7的方法700操作。方法700可以处理从信道接收的经熵编码的数据的数据流。如所讨论的,熵解码基本上反转在熵编码期间所执行的过程。方法700可以通过从信道提取表示经熵编码的数据阵列中系数的数量和数据大小的数据来开始(框710)。如结合图6所讨论的,不需要从信道数据提取表示系数数量的数据,如果这个值通过其他方式对于解码器是已知的话。方法700然后可以进行用于恢复零值系数和非零系数的迭代过程,按片扫描过程所建立的扫描顺序在数据阵列上工作。迭代可以通过确定是否已经到达经压缩数据的末端来开始(框715)。如果是,则方法700可以结束,如下所讨论的。然而,如果不是,则方法700可以从信道数据中标识在扫描顺序中接下来的非零系数的数量(框720)。方法700也可以从信道数据提取非零系数(框725)。
在提取最后一个非零系数之后,方法700可以确定是否已经到达经压缩数据的末端(框730)。如果是,则方法700可以将剩余系数(如果有的话)设置为零(框735),并且方法700可以结束。如果不是,则方法700可以从信道数据中提取标识在扫描顺序中接下来的零值系数的数量的数据(框740)。所述方法可以生成对应于由信道数据标识的数量的多个零值系数(框745)。方法700可以从信道提取标识扫描顺序中下一非零系数的数据(框750),并且可以返回到框715的操作。
在框715或730处,如果方法700确定已经到达经压缩数据的末端,则方法700可以为数据阵列中的所有剩余系数位置设定零值(框735)。然后,方法700可以结束。
图7中示出的方法700将非零值系数的计数的标识和非零系数值的提取(框720-725)描述成在零值系数的运行的标识和下一非零系数的提取(框740、750)之前发生。如所讨论的,许多扫描顺序预期在非零系数值比零值系数更可能出现的位置开始。然而,在其他具体实施中(图7中未示出),零值系数的计数的标识和下一非零系数的提取可以在非零值系数的计数的标识和非零系数值的提取之前。此类具体实施在扫描顺序开始于相比于非零值系数更可能具有零值系数的系数位置的应用中可以是适当的。
与图6的方法600一样,本公开的原理适应图7中所示方法700的变型形式。如上所讨论,方法700在系数的数量通过其它方式来确定的应用中不需要提取标识系数数量的数据(框710)。同样,如果系数的数量被设定为预先确定的固定数,或者如果系数的数量要从其他编码参数来推导,则不需要如框710所示从信道数据提取系数的数量。
另外,解码器不需要在框745中从所标识的运行生成零值系数之后执行框750的操作。在另选方面中(图7中以虚线示出),方法700可以从框745前进到框720。这个方面与在上文段落[36]中所描述的方法600的变型形式(图6)对应。
许多编码协议将数据表示成被集成到串行编码数据流中的可变长度代码。因此,方法700分别在框710、720、725、740、和750中执行的提取操作可以限定在提取操作之后的数据元素的语境。也就是说,在框720中标识非零系数的数量的可变长度代码可以限定在框725中执行的非零系数的提取的语境。此外,框725中第一非零系数的提取可以限定也在框725中执行的下一非零系数的标识和提取的语境。
例如,表1提供了可以被用于根据图6和图7的实施方案的熵编码和解码的语法。在这个示例中,可以对由dataSize值表示的比特数量执行熵编码。
表1:熵编码的示例性语法
如图所示,编码可以通过传输表示被编码的数据阵列中第一DC系数的值的first_dc_coeff值来开始。然后,编码可以在由被编码的块的数量(numBlocks)表示的循环中处理,其中剩余块的DC系数相对于先前传输的DC系数差分地被编码(dc_coeff_difference)。
编码可以在其中表示非零系数的数量(level_count)和零系数的数量(zero_run_length_minus_1)的数据以交替方式被传输的循环中被处理。具体地讲,在传输非零系数时,level_count参数可以标识非零系数的数量,并且可以然后标识表示这些非零系数自身的值的数据(abs_level_minus_1和sign)。然后,zero_run_length_minus_1可以标识零系数的数量,并且可以然后标识表示下一非零系数的值的数据(再次,abs_level_minus_1和sign)。
图8示出了可以根据表1定义的语法进行的终端设备110、120之间的通信流。如所指出的那样,传输终端110可以传输第一DC系数(消息810),然后以差分方式传输其他块的DC系数(消息820)。传输终端110然后能够以交替方式传输电平运行长度和零运行长度,直到到达数据阵列的末端。具体地,传输终端110可以传输level_count参数(消息830)(其标识随后的非零系数的数量)、和非零系数本身(消息840)。如果还没有到达数组阵列的末端,则传输终端110然后可以传输标识zero_run_length的数据(消息850)和随后的下一非零系数(消息860)。如果还没有到达数据阵列的末端,则传输终端110可以传输新的level_count参数和新的一组非零系数(消息830、840)。
在某个点,传输终端110将到达数据阵列的末端,在那个点,传输终端110可以传输指示阵列末端的数据(消息870)。
如所讨论的,本公开的原理可应用于预测编码系统中,其中输入数据相对于为输入数据生成的预测数据差分地被编码。图9和图10示出了片扫描系统和熵编码器应用于一个此类预测编码系统。
图9是根据本公开的一个方面的编码系统900的功能框图。系统900可以包括像素块编码器910、片扫描系统920、熵编码器930,像素块解码器940、回路滤波器系统950、基准画面存储库960、预测器970、控制器980和语法单元990。像素块编码器和解码器910、940和预测器970可以迭代地在输入帧的各个像素块上操作。通常,像素块将通过将帧解析成用于编码的更小单元来生成。预测器970可以预测用于在新呈现的像素块的编码期间使用的数据。像素块编码器910可以相对于来自预测器970的预测数据差分地编码新像素块。片扫描系统920可以将经编码的像素块数据组织成数据阵列,以供熵编码器930编码。熵编码器930可以将熵编码应用于数据阵列并且将经编码的块数据输出给语法单元990,该经编码的块数据在那里可以被格式化以传输给信道(未示出)。
像素块解码器940可以解码来自像素块编码器910的经编码的像素块数据,由此产生经解码的像素块数据。回路滤波器950可以对从由像素块解码器940获得的经解码像素块聚集的经解码画面执行各种滤波操作。经滤波画面可以被存储在基准画面存储库960中,其中其可以被用作稍后接收的像素块的预测的源。
像素块编码器910可以包括减法器912、变换处理器914、和量化处理器916。像素块编码器910可以在减法器912处接受输入数据的像素块。减法器912也可以接收来自预测器970的预测像素块,并由此生成表示输入像素块和预测像素块之间在每个像素位置处的差异的像素残差的阵列。变换单元914可以对从减法器912输出的像素残差应用变换,以将数据从像素域转换到变换系数域。
变换单元914可以操作在控制器980所确定的多种变换模式中。例如,变换单元914可以应用离散余弦变换(DCT)、离散正弦变换(DST)、Walsh-Hadamard变换、Haar变换、Daubechies小波变换等。在一个方面,控制器980可以选择变换单元915要应用的编码模式M,可以相应地配置变换单元915,并且可以显式地或隐式地在经编码的视频数据中以信号通知编码模式M。
量化处理器916可以执行变换单元914所输出的变换系数的量化。量化处理器916可以根据控制器980所提供的量化参数QP来操作。在一个方面,量化参数QP可以作为多值量化参数被应用于变换系数,多值量化参数例如在变换域像素块内的不同系数位置上可以改变。因此,量化参数QP可以被提供成量化参数阵列。但是在另一方面,量化参数可以是被应用于所有变换系数的均一值。量化处理器916可以输出已向下舍入到整数值的经量化系数。对于某些系数,量化可以将经量化系数减小到零。
片扫描系统920可以重组从像素块编码器910输出的系数,以供熵编码进行处理。就这一点而言,片扫描系统920可以根据图3至图5的原理操作,如上文所讨论。
熵编码器930如其名称所暗示的,可以执行从片扫描系统920输出的数据的熵编码。其可以根据图6至图8和表1所描述的原理操作,如上文所述。
像素块解码器940可以反转像素块编码器910的编码操作。例如,像素块解码器940可以包括去量化处理器942、逆变换单元944、和加法器946。像素块解码器940可以从量化处理器916的输出获取其输入数据。去量化处理器942可以反转像素块编码器910的量化处理器916的操作。去量化处理器942可以执行量化参数QP所指定的均一或非均一去量化。类似地,逆变换单元944可以反转变换单元914的操作。去量化处理器942和逆变换单元944可以使用与像素块编码器910中其对应部件相同的量化参数QP和变换模式M。量化操作可能将在各个方面截断数据,因此,在与被呈现给像素块编码器910中的量化处理器916的数据相比时,去量化处理器942所恢复的数据可能将具有编码误差。
加法器946可以反转减法器912所执行的操作。它可以接收与减法器912在生成残差信号中所使用相同的来自预测器970的预测像素块。加法器946可以将预测像素块加到逆变换单元944所输出的所重构残差值,并且可以输出所重构的像素块数据。
回路滤波器950可以对由所恢复的像素块数据构建的帧数据执行各种滤波操作。例如,回路滤波器950可以包括解块滤波器952和样本自适应偏移(“SAO”)滤波器953。解块滤波器952可以对所重构的像素块之间接缝处的数据进行滤波,以减少由于编码而产生的像素块之间的不连续。SAO滤波器可例如基于边缘方向/形状和/或像素/颜色分量水平,根据SAO“类型”将偏移添加到像素值。图9没有示出可以被用于回路滤波的滤波器的穷举性集合;在其他方面,回路滤波器950可以执行自适应环路滤波(ALF)、基于最大似然(ML)的滤波方案、去振铃、除带、锐化、分辨率缩放等等。要被回路滤波器950应用的滤波器的选择可以由控制器980所选择的参数来确定。
基准画面存储库960可以存储经滤波的帧数据以供在其他像素块的后续预测中使用。使不同类型的预测数据可供预测器970使用以用于不同预测模式。例如,对于输入像素块,帧内预测从输入像素块所位于的相同画面的经解码数据获取预测基准。因此,基准画面存储库960可以存储在编码时每个画面的经解码的像素块数据。对于相同的输入像素块,帧间预测可以从被指定为基准画面的先前编码和解码的画面获取预测基准。因此,基准画面存储库960可以存储这些经解码的基准画面。
如所讨论,预测器970可以将预测数据提供给像素块编码器910以在生成残差中使用。预测器970可以包括帧间预测器972、帧内预测器973和模式决策单元972。帧间预测器972可以接收表示要编码的新像素块的像素块数据,并且可以对于基准画面的像素块数据从存储库960搜索基准画面数据,以用于在对输入像素块进行编码中使用。帧间预测器972可以支持多种预测模式,诸如P模式编码和B模式编码。帧间预测器972可以选择帧间预测模式以及提供与被编码的输入像素块最接近匹配的候选预测基准数据的标识。帧间预测器972可以生成预测基准元数据,诸如运动向量,以标识哪些基准画面的哪个(哪些)部分被选择作为输入像素块的预测源。
帧内预测器973可以支持帧内(I)模式编码。帧内预测器973可以从来自与被编码像素块相同的画面的像素块数据中进行搜索,这提供与输入像素块的最接近匹配。帧内预测器973也可以生成预测基准指示符以标识画面的哪个部分被选择作为输入像素块的预测源。
模式决策单元972可以选择要应用于输入像素块的最终编码模式。通常,如上所述,在给定目标比特率的情况下,模式决策单元972选择在解码视频时将实现最低失真的预测模式。当编码模式被选择为满足编码系统900所遵循的其他策略,诸如满足特定信道行为、或支持随机接入或数据刷新策略时,可能出现例外。在模式决策选择最终编码模式时,模式决策单元972可以将从存储库960所选择的基准块输出给像素块编码器和解码器910、940,并且可以向控制器980提供所选择的预测模式的标识以及对应于所选择模式的预测基准指示符。
控制器980可以控制编码系统900的整个操作。控制器980可以基于输入像素块的分析以及还有外部约束(诸如编码比特率目标和其他操作参数)来选择像素块编码器910和预测器970的操作参数。与本讨论相关,在选择量化参数QP、均一或非均一量化处理器的使用、和/或变换模式M时,可以将那些参数提供给语法单元990,该语法单元可以将表示那些参数的数据包括在系统900所输出的经编码的视频数据的数据流中。控制器980也可以在系统可以用以生成基准图像的不同操作模式之间进行选择,并且可以包括标识为经编码的数据的每个部分选择的模式的元数据。
在操作期间,控制器980可以以图像数据的不同粒度,要么以每个像素块为基础要么在更大粒度(例如,每画面、每片、每个最大编码单元(“LCU”)或另一区域),来修改量化处理器916和变换单元915的操作参数。在一个方面,量化参数可以在经编码的画面内以每像素为基础进行修改。
另外,如所讨论的,控制器980可以控制回路滤波器950和预测单元970的操作。此类控制对于预测单元970可以包括模式选择(λ、待测模式、搜索窗口、失真策略等),并且对于回路滤波器950可以包括选择滤波器参数、重新排序参数、加权预测等。
图10是根据本公开的一个方面的解码系统1000的功能框图。解码系统1000可以包括语法单元1010、熵解码器1020、逆片扫描系统1030、像素块解码器1040、回路滤波器1050、基准画面存储库1060、预测器1070、控制器1080和重新格式化单元1070。语法单元1010可以接收经编码的视频数据流,并且可以将经编码的数据解析成其组成部分。表示编码参数的数据可以被提供给控制器1080,而经熵编码的数据可以被输出给熵解码器1020。熵解码器1020可以应用熵解码,其由此产生所恢复的系数。逆片扫描系统1030可以将所恢复的系数重新组织成像素块,该像素块可以被输入给像素块解码器1040。像素块解码器1040可以反转像素块编码器910(图9)所提供的编码操作,由此生成所恢复的像素数据。回路滤波器1050可以对由所恢复的像素块数据聚集的帧进行滤波。经滤波的帧可以作为所恢复的帧数据被从解码系统1000输出。
所恢复的画面也可以被存储在预测缓冲器1060中以用于在预测操作中使用。预测器1070可以向像素块解码器1040提供预测数据,所述预测数据由经编码的视频数据流中接收的编码数据确定。
像素块解码器1040可以包括逆量化处理器1042、逆变换处理器1044和加法器1046。逆量化处理器1042可以反转像素块编码器910的量化处理器916的操作(图9)。类似地,逆变换处理器1044可以反转变换处理器914的操作(图9)。它们可以使用在经编码的视频数据流中提供的量化参数QP和变换模式M。由于量化可能要截断数据,因此逆量化处理器1042所恢复的数据在与被呈现给像素块编码器910中其对应量化处理器916的输入数据(图9)进行比较时可能将具有编码误差。
加法器1046可以反转像素块编码器910的减法器912的操作(图9)。它可以接收来自预测器1070的预测像素块,该预测像素块由经编码的视频数据流中的预测基准所确定。加法器1046可以将预测像素块加到由逆变换处理器1044输出的所重构残差值,并且可以输出所重构的像素块数据。
回路滤波器1050可以对所重构的像素块数据执行各种滤波操作。如图所示,回路滤波器1050可以包括解块滤波器1052和SAO滤波器1054。解块滤波器1052可以对所重构的像素块之间接缝处的数据进行滤波,以减少由于编码而产生的像素块之间的不连续。SAO滤波器1054可以根据SAO类型,例如基于边缘方向/形状和/或像素电平对像素值添加偏移。也可以以类似的方式使用其他类型的回路滤波器。解块滤波器1052和SAO滤波器1054的操作理想地将模拟编码系统900中其对应部分的操作(图9)。因此,在不存在传输误差或其他异常的情况下,从解码系统1000的回路滤波器1050获得的经解码画面将与从编码系统900的回路滤波器910获得的经解码画面(图9)相同;这样,编码系统900和解码系统1000应在它们各自的基准画面存储库940、1060中存储同一组基准画面。
与图9一样,图10没有示出可以被用于回路滤波的滤波器的穷举性集合;在其他方面,回路滤波器1050可以执行自适应环路滤波(ALF)、基于最大似然(ML)的滤波方案、去振铃、除带、锐化、分辨率缩放等等。要被回路滤波器1050应用的滤波器的选择可以由经编码的视频数据中所提供的参数来确定。
基准画面存储库1060可以存储经滤波的像素数据以供在其他像素块的后续预测中使用。基准画面存储库1060可以存储在被编码时每个画面的经解码的像素块数据以供在帧内预测中使用。基准画面存储库1060也可以存储经解码的基准画面。
如所讨论的,预测器1070可以将经变换的基准块数据提供给像素块解码器1040。预测器1070可以提供由经编码的视频数据流中所提供的预测基准指示符确定的所预测的像素块数据。
控制器1080可以控制编码系统1000的整个操作。控制器1080可以基于在经编码的视频数据流中接收的参数来设定像素块解码器1040和预测器1070的操作参数。与本讨论相关,这些操作参数可以包括逆量化处理器1042的量化参数QP和逆变换单元1010的变换模式M。如所讨论,所接收的参数可以按照图像数据的各种粒度被设定,例如,以每像素块为基础、以每画面为基础、以每片为基础、以每LCU为基础、或者基于为输入图像定义的其他类型的区域。
虽然以上描述已经描述了在视频编码系统的上下文中操作的本文所提出的熵编码技术,但本公开的原理不受此限制。熵编码过程通常应用于多种数据,包括静态图像数据(例如,JPEG)和音频数据。实际上,本公开的原理可应用于编码由零值数据项和非零值数据项填充以用于串行传输的任何种类的数据集,并减小此类数据项的传输带宽。
前述讨论已在视频编码器和解码器的上下文中描述了本公开各个方面的操作。这些部件常常作为电子设备来提供。视频解码器和/或控制器可以被嵌入在集成电路中,诸如专用集成电路、现场可编程门阵列和/或数字信号处理器。另选地,它们可以被嵌入到在相机设备、个人计算机、笔记本电脑、平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序通常存储在物理存储介质诸如电子、磁性和/或基于光学的存储设备中,在那里它们被读取到处理器并且被执行。解码器常常被封装在消费电子设备中,诸如智能电话、平板电脑、游戏系统、DVD播放器、便携式媒体播放器等;并且,它们也可以被封装在消费软件应用程序中,诸如视频游戏、媒体播放器、媒体编辑器等。并且,当然,这些部件可以被提供作为根据需要在专用硬件部件和经编程的通用处理器上分配功能的混合系统。
视频编码器和解码器可以多种方式通过信道来交换视频。它们可以经由通信和/或计算机网络彼此通信,如图1所示。在其他应用中,视频编码器可以将视频数据输出给存储设备,诸如电、磁和/或光学存储介质,所述存储设备可以在稍后某个时候被提供给解码器。在此类应用中,解码器可以从存储设备检索所编码的视频数据并对其进行解码。
本文具体示出和/或描述了本发明的若干实施方案。然而,应当理解,在不脱离本发明的实质和预期范围的情况下,本发明的修改和变型由上述教导内容涵盖并且在所附权利要求的范围内。

Claims (30)

1.一种用于数据阵列的熵编码方法,包括迭代地进行以下操作:
a.传输标识阵列中的连续非零值的数量的数据,之后传输所标识数量的非零值;以及
b.传输标识所述阵列中接下来的零值的数量的数据。
2.根据权利要求1所述的方法,其中在第一迭代中步骤a在步骤b之前。
3.根据权利要求1所述的方法,其中在第一迭代中步骤b在步骤a之前。
4.根据权利要求1所述的方法,其中当有另外的非零值要传输时,所述方法从第一迭代的步骤b直接前进到第二迭代的步骤a。
5.根据权利要求1所述的方法,其中当有另外的非零值要传输时,所述方法包括:
传输所述阵列的下一个非零值,以及
前进到所述方法的第二迭代的步骤a。
6.根据权利要求1所述的方法,其中当到达所述阵列的末端时所述方法终止。
7.根据权利要求1所述的方法,其中当到达所述阵列的如下位置时所述方法终止,从所述位置开始,扫描顺序中的所有剩余系数具有零值。
8.根据权利要求1所述的方法,其中步骤a和步骤b以预先确定的扫描顺序在所述阵列上进行。
9.根据权利要求1所述的方法,其中所述阵列包含从视频编码获得的系数。
10.根据权利要求1所述的方法,其中所述阵列包含来自多个经编码的像素块的数据。
11.根据权利要求10所述的方法,其中步骤a和步骤b在所述阵列上利用预先确定的扫描顺序进行,其中所述扫描顺序在进行到其他变换系数之前在所述多个经编码的像素块的同类变换系数上进行。
12.一种视频编码器,包括:
像素块编码器,所述像素块编码器具有用于已经被划分成相应像素块的输入帧的像素数据的输入端和用于表示所述像素块的系数数据的输出端,
片扫描系统,所述片扫描系统具有用于所述像素块的所述系数数据的输入端和用于由所述像素块的所述系数数据聚集的数据阵列的输出端,和
熵编码器,所述熵编码器在所述数据阵列的值编码和零编码之间交替,其中:
在所述值编码期间,所述熵编码器输出标识所述阵列中的连续非零值的数量的第一数据项,之后输出所标识数量的非零值的数据项;以及
在所述零编码期间,所述熵编码器输出标识所述阵列中接下来的零值的数量的另一数据项。
13.根据权利要求12所述的视频编码器,其中所述像素块编码器具有用于所述相应像素块的预测数据的输入端。
14.一种用于数据阵列的熵解码方法,包括迭代地进行以下操作:
在所述方法的第一部分中:
从经编码的视频数据中提取所述阵列中连续非零值的数量的标识符,
提取所标识数量的非零值,以及
将所提取的非零值放置在输出数据序列中;以及
在所述方法的第二部分中:
从所述经编码的视频数据中提取零值的数量的标识符,
将所标识数量的零值放置在所述输出数据序列中。
15.根据权利要求14所述的方法,其中在所述方法的第一迭代中所述第一部分在所述第二部分之前。
16.根据权利要求14所述的方法,其中在所述方法的第一迭代中所述第二部分在所述第一部分之前。
17.根据权利要求14所述的方法,其中在所述方法的第一迭代之后,当在所述经编码的视频数据中存在另外的非零值时,所述方法从所述方法的第一迭代的第二部分直接前进到所述方法的第二迭代的第一部分。
18.根据权利要求14所述的方法,其中在所述方法的第一迭代之后,当在所述经编码的视频数据中存在另外的非零值时,所述方法包括:
从所述经编码的视频数据中提取下一个非零值,
将所述下一个非零值放置在所述输出数据序列中,以及
前进到所述方法的另一迭代的第一部分。
19.根据权利要求14所述的方法,其中当到达所述阵列的末端时所述方法终止。
20.根据权利要求14所述的方法,其中当到达所述阵列的如下位置时所述方法终止,从所述位置开始,扫描顺序中的所有剩余系数具有零值。
21.根据权利要求14所述的方法,其中所述输出数据序列包含从视频编码获得的系数。
22.根据权利要求14所述的方法,其中所述输出数据序列包含来自多个经编码的像素块的数据。
23.根据权利要求14所述的方法,还包括:
将所述输出数据序列组织成表示多个像素块的经编码的视频数据,以及
对每个像素块的所述经编码的视频数据进行解码。
24.一种视频解码器,包括:
熵解码器,所述熵解码器具有用于经编码的视频数据的输入端,所述熵解码器在数据值和零值的解码之间交替,其中:
在值解码期间,以及响应于所述经编码的视频数据中标识连续非零值的数量的第一数据项,所述熵解码器从所述经编码的视频数据中提取所标识数量的非零值并将所提取的非零值放置到输出数据中;以及
在零解码期间,以及响应于所述经编码的视频数据中标识接下来的零值的数量的另一数据项,所述熵解码器
将所标识数量的零值放置到所述输出数据中,以及
从所述经编码的视频数据中提取另一非零值并将其放置在所述输出数据中;
片扫描系统,所述片扫描系统具有用于所述输出数据的输入端和用于表示所述输出数据的像素块数据阵列的输出端;和
像素块解码器,所述像素块解码器具有用于所述像素块数据阵列的输入端和用于重构的像素块数据的输出端。
25.根据权利要求24所述的视频解码器,其中所述像素块解码器具有用于所述相应像素块的预测数据的输入端。
26.根据权利要求24所述的视频解码器,其中所述经编码的视频数据的数据项包括:
DC系数的指示,
之后是连续非零值的数量,
之后是非零值的指示,
之后是零值的数量。
27.一种存储有根据方法生成的经熵编码的视频数据的计算机可读介质,所述方法包括:
传输标识阵列中连续非零值的数量的数据项,之后传输表示所标识数量的非零值的其他数据项;以及
传输标识所述阵列中接下来的零值的数量的数据项,然后传输表示所述阵列中的下一非零值的另一数据项。
28.根据权利要求27所述的介质,其中所述经编码的视频数据的数据项包括:
DC系数的指示,
之后是连续非零值的数量,
之后是非零值的指示,
之后是零值的数量。
29.一种存储有程序指令的计算机可读介质,所述程序指令在由处理设备执行时使所述设备执行方法,所述方法包括:
传输标识阵列中连续非零值的数量的数据项,之后传输表示所标识数量的非零值的其他数据项;以及
传输标识所述阵列中接下来的零值的数量的数据项,之后传输表示所述阵列中下一非零值的另一数据项。
30.根据权利要求29所述的介质,其中所述经编码的视频数据的数据项包括:
DC系数的指示,
之后是连续非零值的数量,
之后是非零值的指示,
之后是零值的数量。
CN201910247313.XA 2018-03-29 2019-03-29 用于视频数据的高效熵编码的技术 Active CN110324639B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/939,747 2018-03-29
US15/939,747 US10873765B2 (en) 2018-03-29 2018-03-29 Techniques for high efficiency entropy coding of video data

Publications (2)

Publication Number Publication Date
CN110324639A true CN110324639A (zh) 2019-10-11
CN110324639B CN110324639B (zh) 2021-11-26

Family

ID=66041140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910247313.XA Active CN110324639B (zh) 2018-03-29 2019-03-29 用于视频数据的高效熵编码的技术

Country Status (4)

Country Link
US (1) US10873765B2 (zh)
EP (1) EP3547689A1 (zh)
CN (1) CN110324639B (zh)
AU (2) AU2019201683A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187369A (zh) * 2020-09-30 2021-01-05 深圳市灵明光子科技有限公司 传感器数据编码方法和装置、电子设备及存储介质
CN113495683A (zh) * 2020-03-19 2021-10-12 西部数据技术公司 归一化服务质量的熵驱动耐久性

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3124673B1 (fr) * 2021-06-24 2023-09-29 Valeo Vision Procédé de gestion d'une image dans un dispositif d'éclairage automobile et dispositif d'éclairage automobile

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276525A (en) * 1991-03-22 1994-01-04 Bell Communications Research, Inc. Two-dimensional block scanning for subband image and video coding
US5298992A (en) * 1992-10-08 1994-03-29 International Business Machines Corporation System and method for frame-differencing based video compression/decompression with forward and reverse playback capability
US20080253463A1 (en) * 2007-04-13 2008-10-16 Apple Inc. Method and system for video encoding and decoding
CN101390398A (zh) * 2006-01-09 2009-03-18 诺基亚公司 用于精细粒度可伸缩视频编码中的熵编码的方法和装置
CN104272736A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 用于对游长编码变换系数进行熵编码的上下文确定
CN105765974A (zh) * 2013-10-14 2016-07-13 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN107347155A (zh) * 2011-11-07 2017-11-14 杜比国际公司 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
CN107580224A (zh) * 2017-08-08 2018-01-12 西安理工大学 一种面向hevc熵编码的自适应扫描方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969040A (en) 1989-10-26 1990-11-06 Bell Communications Research, Inc. Apparatus and method for differential sub-band coding of video signals
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
KR20120009618A (ko) * 2010-07-19 2012-02-02 에스케이 텔레콤주식회사 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
US8934540B2 (en) 2010-07-20 2015-01-13 Cisco Technology, Inc. Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
US9288496B2 (en) * 2010-12-03 2016-03-15 Qualcomm Incorporated Video coding using function-based scan order for transform coefficients
US10547872B2 (en) * 2015-09-10 2020-01-28 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding method and decoding method thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276525A (en) * 1991-03-22 1994-01-04 Bell Communications Research, Inc. Two-dimensional block scanning for subband image and video coding
US5298992A (en) * 1992-10-08 1994-03-29 International Business Machines Corporation System and method for frame-differencing based video compression/decompression with forward and reverse playback capability
CN101390398A (zh) * 2006-01-09 2009-03-18 诺基亚公司 用于精细粒度可伸缩视频编码中的熵编码的方法和装置
US20080253463A1 (en) * 2007-04-13 2008-10-16 Apple Inc. Method and system for video encoding and decoding
CN107347155A (zh) * 2011-11-07 2017-11-14 杜比国际公司 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
CN104272736A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 用于对游长编码变换系数进行熵编码的上下文确定
CN105765974A (zh) * 2013-10-14 2016-07-13 微软技术许可有限责任公司 用于视频和图像编码和解码的帧内块复制预测模式的特征
CN107580224A (zh) * 2017-08-08 2018-01-12 西安理工大学 一种面向hevc熵编码的自适应扫描方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113495683A (zh) * 2020-03-19 2021-10-12 西部数据技术公司 归一化服务质量的熵驱动耐久性
CN112187369A (zh) * 2020-09-30 2021-01-05 深圳市灵明光子科技有限公司 传感器数据编码方法和装置、电子设备及存储介质

Also Published As

Publication number Publication date
AU2019201683A1 (en) 2019-10-17
AU2021200431A1 (en) 2021-02-25
US20190306535A1 (en) 2019-10-03
CN110324639B (zh) 2021-11-26
AU2021200431B2 (en) 2022-12-01
EP3547689A1 (en) 2019-10-02
US10873765B2 (en) 2020-12-22

Similar Documents

Publication Publication Date Title
US11659169B2 (en) Affine Linear Weighted Intra Predictions
CA2498384C (en) Context-based adaptive variable length coding for adaptive block transforms
CN106851270B (zh) 执行帧内预测的编码设备和解码设备
US9706226B2 (en) Image encoding apparatus and image decoding apparatus employing intra preciction and direction transform matrix
JP2022048351A (ja) 最後の有意係数フラグのコーディング
WO2015078422A1 (zh) 图像编码、解码方法及装置
CN105100814B (zh) 图像编码、解码方法及装置
CN104469378A (zh) 用于对系数组中的最后一个非零变换系数的位置数据进行编码
CN104581177B (zh) 一种结合块匹配和串匹配的图像压缩方法和装置
JP2011125038A (ja) 適応係数スキャン順序付け
US9210435B2 (en) Video encoding method and apparatus for estimating a code amount based on bit string length and symbol occurrence frequency
CN108848387A (zh) 推导参考预测模式值的方法
AU2021200431B2 (en) Techniques for high efficiency entropy coding of video data
KR20110114524A (ko) 화상 예측 부호화 장치, 방법 및 프로그램, 화상 예측 복호 장치, 방법 및 프로그램, 및 부호화·복호 시스템 및 방법
WO2011046446A1 (en) Methods for video coding and decoding
CN110636313A (zh) 变换、二次变换矩阵训练方法、编码器及相关装置
EP3813372A1 (en) Sparse matrix representation using a boundary of non-zero coefficients
CN114025166A (zh) 视频压缩方法、电子设备及计算机可读存储介质

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