CN110073663A - 使用级别图的变换系数代码化 - Google Patents

使用级别图的变换系数代码化 Download PDF

Info

Publication number
CN110073663A
CN110073663A CN201780077136.4A CN201780077136A CN110073663A CN 110073663 A CN110073663 A CN 110073663A CN 201780077136 A CN201780077136 A CN 201780077136A CN 110073663 A CN110073663 A CN 110073663A
Authority
CN
China
Prior art keywords
value
rank
coefficient
context level
lower context
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
CN201780077136.4A
Other languages
English (en)
Inventor
许耀武
韩敬宁
江劲涵
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN110073663A publication Critical patent/CN110073663A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/53Recognition of crowd images, e.g. recognition of crowd congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • G08B13/19604Image analysis to detect motion of the intruder, e.g. by frame subtraction involving reference image or background adaptation with time to compensate for changing conditions, e.g. reference image update on detection of light level change
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/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/645Methods 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 by grouping of coefficients into blocks after the transform
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于对编码的视频比特流中的变换块进行编码的方法包括:编码指示包含非零变换系数的变换块的位置的非零图;编码相应较低范围级别图;以及,编码系数残差图。较低范围级别图指示非零变换系数的哪些值等于图级别并且哪些值大于图级别。系数残差图的每个残差系数对应于具有超过最大图级别的绝对值的变换块的相应非零变换系数。还提供了一种用于解码变换块的包括处理器和存储器的装置。存储器包括指令,该指令可由处理器执行以解码非零图、解码较低范围级别图直到最大图级别以及解码系数残差图。

Description

使用级别图的变换系数代码化
背景技术
数字视频流可以使用帧或静止图像的序列来表示视频。数字视频可以用于各种应用,包括例如视频会议、高清视频娱乐、视频广告或用户生成的视频的共享。数字视频流可以包含大量数据并且消耗计算设备的大量计算或通信资源以用于视频数据的处理、传输或存储。已经提出了用于减少视频流中的数据量的各种方法,包括压缩和其他编码技术。
可以通过将帧或图像分成基于参考帧的一个或多个预测块预测的块来执行基于运动估计和补偿的编码。将块和预测块之间的差异(即,残差)变换为频域变换系数。使用上下文模型以比特流压缩和编码变换系数。解码器使用编码的变换系数和参考帧来重构帧或图像。
发明内容
本公开总体上涉及视频代码化,并且特别涉及使用级别图的变换系数代码化。
所公开的实现的一个方面是一种用于对编码的视频比特流中的变换块进行编码的方法。该方法包括:编码指示包含非零变换系数的变换块的位置的非零图,编码较低范围级别的图,以及编码系数残差图。每个较低范围级别的图具有相应图级别直到最大图级别。较低范围级别图指示非零变换系数的哪些值等于较低范围图的图级别以及非零变换系数的哪些值大于图级别。系数残差图的每个残差系数对应于具有超过最大图级别的绝对值的变换块的相应非零变换系数。
根据本公开的一种实现的用于从编码的视频比特流解码变换块的装置包括处理器和存储器。存储器包括指令,该指令可由处理器执行,以从编码的视频比特流解码非零图,解码具有相应图级别直到最大图级别的相应低范围级别图,并解码系数残差图。非零图指示变换块的哪些变换系数具有零值以及变换块的哪些变换系数具有非零值。相应较低范围级别图指示变换块的哪些变换系数等于相应图级别以及变换块的哪些变换系数大于相应图级别。系数残差图的每个残差系数对应于具有超过最大图级别的绝对值的变换块的相应变换系数。
另一种用于从编码的视频比特流解码变换块的方法包括:从以层排列的二元级别图和从编码的视频比特流重构的残差变换图重新组合变换块的变换系数,二元级别图通过将相应变换系数的值分解为一系列二元决策来形成,每个二元决策对应于相应层的图级别处的相应变换系数的量值级别,并且残差变换图包括超过二元级别图的基数的相应变换系数的值。
在以下对实施例的详细描述、所附权利要求和附图中公开了本公开的这些和其他方面。
附图说明
这里的描述参考了附图,其中,在几个视图中相同的附图标记表示相同的部件。
图1是视频编码和解码系统的示意图。
图2是可以实现发送站或接收站的计算设备的示例的框图。
图3是要编码并随后解码的视频流的图。
图4是根据本公开的实现的编码器的框图。
图5是根据本发明的实现的解码器的框图。
图6是根据本发明的实现的用于编码在编码的视频比特流中的变换块的过程的流程图。
图7是说明根据本发明的实现的使用级别图的变换系数代码化的阶段的图。
图8是根据本公开的实现的非零图中的先前编码的邻居的图。
图9是根据本公开的实现的用于确定用于编码块结束图的上下文模型的频率位置的示例的图。
图10A是根据本公开的实现的方形上下文邻居的示例的图。
图10B是根据本发明的实现的菱形上下文邻居的示例的图。
图11是根据本发明的实现的用于从编码的视频比特流解码变换块的过程的流程图。
具体实施方式
如上所述,视频块的运动向量残差被变换为变换系数的变换块。变换块在频域中,并且可以为视频块生成一个或多个变换块。变换系数被量化并被熵代码化成编码的视频比特流。解码器使用编码的变换系数和参考帧来重构块。对变换系数进行熵代码化涉及选择上下文模型(也称为概率上下文模型或概率模型),其提供用于代码化二值化变换系数的二进制码元的条件概率的估计。
当对变换系数进行熵代码化时,一些视频代码化系统使用变换块的先前代码化的变换系数作为用于选择上下文模型的上下文。先前代码化的变换系数的量值可以用作用于确定概率模型的上下文。
为了对变换块进行编码,视频代码化系统可以按扫描顺序遍历变换块,并且在遍历(即,访问)每个变换系数时对该变换系数进行编码(即,熵编码)。
在Z形扫描顺序中,首先遍历和编码变换块的左上角(也称为DC系数),遍历和编码扫描顺序中的下一个系数,并且依此类推。图7中示出了Z形扫描顺序702。在Z形扫描顺序702中,首先遍历当前变换系数(即,待编码的变换系数)的上方和左侧的一些变换系数。例如,对于位置8处的变换系数,在扫描位置0、1、2、3、4、5、6和7处的系数在位置8处的变换被编码之前被访问并因此被编码。可以使用先前访问的(即,先前编码的)变换系数中的至少一些来确定位置8处的变换系数的上下文模型。上面和左侧变换系数中的一些的量值可以用作用于确定位置8处的变换系数的概率模型的上下文。变换系数的量值通常在编码之前被二值化(即,被转换为二进制码)。
使用先前编码的变换系数的二值化量值信息可能导致难以选择的大量上下文模型。量化变换系数的二值化量值可以是0、1、2,....、215。因此,基于紧接在上方和紧邻左邻居的组合的上下文模型可以具有230(即,215×215)个不同的变化。这种模型不切实际地大。为了降低复杂性,可以使用通过将上下文分类为若干组来丢弃大部分信息的简化模型。例如,简化模型将可用上下文减少到上述邻居的五或六类上下文,并将左邻居减少到五或六类。因此,230个上下文减少到25或36个上下文类别。因此,简化模型不能充分利用左邻居和上邻居的可用信息,这可能导致熵代码化期间的压缩性能损失。另外,可以用作上下文的相邻先前编码的变换系数的数量是有限的。
当编码变换系数时,本发明的实现可通过利用来自先前代码化的相邻变换系数的更多信息而导致变换系数的更好压缩。
经由多次运行过程将变换块分解成多级别图,使得级别图将每个变换系数值的代码化分解(即,减少)为一系列二元决策,每个二元决策对应于量值级别(即,图级别)。因此,根据以下等式将变换块的变换系数分解为一系列级别二进制数和残差:
其中,
在上面的等式中,coefficient[r][c]是位置(行=r,列=c)处的变换块的变换系数,T是最大图级别,levelk是对应于图级别k的级别图,residue是系数残差图,并且sign是变换系数的符号图。在下面参考图7进一步描述这些术语。可以使用相同的等式(例如通过解码器)从编码的levelk图、残差图residue和符号图sign重新组合变换块的变换系数。
第零次运行确定非零图(也称为级别0图),其指示变换块的哪些变换系数为零并且哪些非零。以从级别1到最大图级别T的升序生成对应于运行1到最大(即,阈值)级别T(即,级别1图、级别2图、...、级别T图)的级别图。级别k的级别图(称为级别k图)指示变换块的哪些变换系数具有大于k的绝对值,以及变换块的哪些变换系数具有等于k的绝对值。对于小于k的变换系数值,在级别k图中没有条目;也就是说,级别k图中的这些位置留空。级别图是二元图。最后一次运行生成系数残差图。如果变换块包含高于最大图级别T的变换系数值,则系数残差图指示这些系数大于最大图级别T的程度(即,残差)。
当生成(即,代码化)级别k图时,需要处理仅对应于等于1(即,levelk-1[r][c]=1)的级别(k-1)图的位置(r,c)的位置(r,c)——确定级别(k-1)的其他位置小于k,并且因此,不需要为级别k图处理它们。这降低了处理复杂性并减少了二进制代码化操作的数量。
由于级别图包含二进制值,因此要编码的值的上方和左侧邻居是二进制值。可以确定基于任何数量的先前代码化的邻居的二进制值的上下文模型。上下文模型可以充分利用来自所有这些邻居的信息。先前代码化的邻居可以是在同一级别图或在前级别图(例如,紧接在前的级别图)中的邻居。级别k(例如,级别2)图的紧接在前的图是级别(k-1)(例如,级别1)图。根据本公开的上下文可以不那么复杂,从而产生用于代码化级别图的有效模型。
当对级别k图进行编码时,完全代码化的级别(k-1)图和部分代码化的级别k图被用作用于上下文建模的上下文信息。与在移动到下一变换系数之前的时间代码化一个系数值的其他视频系统的变换系数代码化相比,本公开的实现可降低参考样本集的基数。如此是因为,如本文进一步描述的,来自级别(k-1)图和部分代码化的级别k图的信息是二进制信息。二进制信息使得复杂的空间相邻模板能够用于上下文建模二进制信息。这种空间相邻模板可以更好地捕获变换块的统计特性,尤其是具有较大变换块大小的那些变换块。
在本公开的实现中,可在通过当确定用于选择上下文模型的上下文时充分利用相邻变换系数的信息来改进变换系数代码化。代替基于简化的上下文类别选择上下文模型,并且当相邻值是简单的二进制值时,可以在代码化变换系数时确定更准确的上下文模型。在首先描述其中可以实现本公开的环境之后,在此描述其他细节。
这里首先参考可以并入所述教导的系统来描述使用级别图的变换系数代码化。
图1是视频编码和解码系统100的示意图。发送站102可以是例如具有诸如图2中所描述的那个的硬件的内部配置的计算机。然而,发送站102的其他合适的实现是可能的。例如,发送站102的处理可以分布在多个设备之间。
网络104可以连接发送站102和接收站106,以用于编码和解码视频流。具体地,可以在发送站102中编码视频流,并且可以在接收站106中解码编码的视频流。网络104可以是例如因特网。网络104还可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网或将视频流从发送站102传送到在该示例中的接收站106的任何其他装置。
在一个示例中,接收站106可以是具有诸如图2中所描述的那个的硬件的内部配置的计算机。然而,接收站106的其他合适的实现是可能的。例如,接收站106的处理可以分布在多个设备之间。
视频编码和解码系统100的其他实现是可能的。例如,实现可以省略网络104。在另一实现中,视频流可以被编码然后存储以便稍后传输到接收站106或具有存储器的任何其他设备。在一种实现中,接收站106(例如,经由网络104、计算机总线和/或某些通信路径)接收编码的视频流并存储该视频流以供稍后解码。在一种示例实现中,实时传输协议(RTP)用于通过网络104传输编码的视频。在另一实现中,可以使用除RTP之外的传输协议,例如,基于超文本传输协议(HTTP)的视频的流媒体协议。
例如,当在视频会议系统中使用时,发送站102和/或接收站106可以包括如下所述的编码和解码视频流的能力。例如,接收站106可以是视频会议参与者,其从视频会议服务器(例如,发送站102)接收编码的视频比特流以解码和查看,并进一步编码其自己的视频比特流并将其发送到视频会议服务器,以用于解码和由其他参与者查看。
图2是可以实现发送站或接收站的计算设备200的示例的框图。例如,计算设备200可以实现图1的发送站102和接收站106中的一个或两个。计算设备200可以具有包括多个计算设备的计算系统的形式,或者具有单个计算设备的形式,单个计算设备例如是移动电话、平板计算机、膝上型计算机、笔记本计算机和台式计算机等。
计算设备200中的CPU 202可以是中央处理单元。或者,CPU 202可以是能够操纵或处理现在存在或以后开发的信息的任何其他类型的设备或多个设备。尽管可以用所示的单个处理器(例如CPU 202)来实现所公开的实现,但是可以使用多于一个处理器来实现速度和效率的优点。
计算设备200中的存储器204在一种实现中可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其他合适类型的存储设备可以用作存储器204。存储器204可以包括由CPU 202使用总线212访问的代码和数据206。存储器204还可以包括操作系统208和应用程序210,应用程序210包括允许CPU 202执行这里描述的方法的至少一个程序。例如,应用程序210可以包括应用1到N,其还包括执行这里描述的方法的视频代码化应用。计算设备200还可以包括辅助存储器214,其可以例如是与是移动的计算设备200使用的存储卡。因为视频通信会话可能包含大量信息,所以它们可以全部或部分地存储在辅助存储器214中并且根据需要被加载到存储器204中以用于处理。
计算设备200还可以包括一个或多个输出设备,例如显示器218。在一个示例中,显示器218可以是触敏显示器,其将显示器与可操作以感测触摸输入的触敏元件组合。显示器218可以经由总线212耦合到CPU 202。除了显示器218之外或者作为显示器218的替代,可以提供允许用户编程或否则使用计算设备200的其他输出设备。当输出设备是显示器或包括显示器时,可以以各种方式实现显示器,包括通过液晶显示器(LCD)、阴极射线管(CRT)显示器或发光二极管(LED)显示器,发光二极管(LED)显示器例如是有机LED(OLED)显示器。
计算设备200还可以包括图像感测设备220,或者与图像感测设备220进行通信,图像感测设备220例如是相机或现在存在或以后开发的任何其他图像感测设备220,该任何其他图像感测设备220可以感测图像,诸如操作计算设备200的用户的图像。可以定位图像感测设备220,使得其指向操作计算设备200的用户。在一个示例中,图像感测设备220的位置和光轴可以被配置为使得视野包括与显示器218直接相邻并且从其可以看到显示器218的区域。
计算设备200还可以包括声音感测设备222或者与声音感测设备222通信,声音感测设备222例如是麦克风或者现在存在或以后开发的可以感测计算设备200附近的声音的任何其他声音感测设备。声音感测设备222可以被定位成使得其指向操作计算设备200的用户,并且可以被配置为接收在用户操作计算设备200时由用户做出的声音,例如,语音或其他话语。
虽然图2描绘了计算设备200的CPU 202和存储器204被集成到单个单元中,但是可以使用其他配置。CPU 202的操作可以分布在多个机器(每个机器具有一个或多个处理器)上,这些机器可以直接耦合或跨局域网或其他网络耦合。存储器204可以分布在多个机器上,例如基于网络的存储器或执行计算设备200的操作的多个机器中的存储器。虽然这里被描述为单条总线,但是计算设备200的总线212可以由多条总线组成。此外,辅助存储器214可以直接耦合到计算设备200的其他组件,或者可以经由网络被访问,并且可以包括诸如存储卡的单个集成单元或诸如多个存储卡的多个单元。因此,可以以各种各样的配置实现计算设备200。
图3是要编码并随后解码的视频流300的示例的图。视频流300包括视频序列302。在下一级,视频序列302包括多个相邻帧304。虽然三个帧被描绘为相邻帧304,但视频序列302可包括任意数量的相邻帧304。然后,相邻帧304可以进一步细分为单独的帧,例如帧306。在下一级,帧306可以被分成一系列分段308或平面。例如,分段308可以是允许并行处理的帧的子集。分段308也可以是可以将视频数据分离成单独颜色的帧的子集。例如,彩色视频数据的帧306可以包括亮度平面和两个色度平面。可以以不同的分辨率对分段308进行采样。
无论帧306是否被分成分段308,帧306可以进一步细分为块310,块310可以包含对应于帧306中的例如16×16像素的数据。块310还可以被布置为包括来自像素数据的一个或多个分段308的数据。块310还可以是任何其他合适的大小,例如4×4像素、8×8像素、16×8像素、8×16像素、16×16像素或更大。
图4是根据本发明的实现的编码器400的框图。如上所述,可以例如通过提供存储在诸如存储器204的存储器中的计算机软件程序在发送站102中实现编码器400。计算机软件程序可以包括机器指令,其当由诸如CPU 202的处理器执行时,使发送站102以这里描述的方式编码视频数据。编码器400还可以实现为包括在例如发送站102中的专用硬件。编码器400具有用于在(由实线连接线示出的)前向路径中执行各种功能以使用视频流300作为输入产生编码或压缩的比特流420的以下级:帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器400还可包括(由点连接线示出的)重构路径以重构用于编码未来块的帧。在图4中,编码器400具有用于在重构路径中执行各种功能的以下级:去量化级410、逆变换级412、重构级414和环路滤波级416。编码器400的其他结构变化可以用于编码视频流300。
当呈现视频流300用于编码时,可以以块为单位处理帧306。在帧内/帧间预测级402,可以使用帧内预测(也称为帧内预测)或帧间预测(也称为帧间预测)或两者的组合来编码块。在任何情况下,都可以形成预测块。在帧内预测的情况下,可以由先前已编码和重构的当前帧中的样本形成预测块的全部或一部分。在帧间预测的情况下,可以由使用运动向量确定的一个或多个先前构建的参考帧中的样本形成预测块的全部或一部分。
接下来,仍然参考图4,可以在帧内/帧间预测级402处从当前块中减去预测块以产生残差块(也称为残差)。变换级404使用基于块的变换将残差变换为例如频域中的变换系数。这种基于块的变换包括例如离散余弦变换(DCT)和非对称离散正弦变换(ADST)。其他基于块的变换也是可能的。此外,可以将不同变换的组合应用于单个残差。在应用变换的一个示例中,DCT将残差块变换到频域,其中,变换系数值基于空间频率。最低频率(DC)系数在矩阵左上角,并且最高频率系数在矩阵右下角。值得注意的是,预测块的大小以及由此产生的残差块可以与变换块的大小不同。例如,预测块可以被分成被应用了单独变换的较小块。
量化级406使用量化器值或量化级将变换系数转换为离散量子值,其被称为量化变换系数。例如,变换系数可以除以量化器值并被截断。然后,由熵编码级408对量化的变换系数进行熵编码。可以使用包括令牌和二叉树的任何数量的技术来执行熵代码化。然后,将熵编码的系数与用于解码块的其他信息(其可以包括例如所使用的预测的类型、变换类型、运动向量和量化器值)一起输出到压缩比特流420。可以将用于解码块的信息熵编码成在压缩比特流420内的块、帧、切片和/或部分报头。压缩比特流420也可以称为编码的视频流或编码的视频比特流,并且在本文中可互换地使用这些术语。
图4中的(由虚线连接线示出的)重构路径可用于确保(下面描述的)编码器400和解码器500使用相同的参考帧和块来解码压缩比特流420。重构路径执行类似于将在下面更详细地讨论的在解码过程期间发生的功能的功能,包括在去量化级410对量化的变换系数进行去量化,并且在逆变换级412对去量化的变换系数进行逆变换以产生衍生残差块(也称为衍生残差)。在重构级414,可以将在帧内/帧间预测级402预测的预测块添加到衍生残差以创建重构块。环路滤波级416可以应用于重构块以减少诸如块伪像之类的失真。
编码器400的其他变体可以用于编码压缩比特流420。例如,基于非变换的编码器400可以对于某些块或帧在没有变换级404的情况下直接量化残差信号。在另一实现中,编码器400可以具有组合成单个级的量化级406和去量化级410。
图5是根据本发明的实现的解码器500的框图。可以例如通过提供存储在存储器204中的计算机软件程序在接收站106中实现解码器500。计算机软件程序可以包括机器指令,其当由诸如CPU 202的处理器执行时,导致接收站106以下面的图11中描述的方式解码视频数据。还可以以包括在例如发送站102或接收站106中的硬件来实现解码器500。
类似于上面讨论的编码器400的重构路径,解码器500在一个示例中包括执行各种功能以从压缩比特流420产生输出视频流516的以下级:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重构级510、环路滤波级512和去块滤波级514。解码器500的其他结构变型可用于解码压缩比特流420。
当呈现压缩比特流420用于解码时,压缩比特流420内的数据元素可由熵解码级502解码以产生一组量化变换系数。去量化级504对量化的变换系数进行去量化(例如,通过将量化的变换系数乘以量化器值),并且逆变换级506使用所选择的变换类型对去量化的变换系数进行逆变换以产生可以与由在编码器400中的逆变换级412创建的衍生残差相同的衍生残差。使用从压缩比特流420解码的报头信息,解码器500可以使用帧内/帧间预测级508来创建与在编码器400中例如在帧内/帧间预测级402处创建的相同的预测块。在重构级510,可以将预测块添加到衍生残差以创建重构块。环路滤波级512可以被应用于重构块以减少成块伪像。可以将其他滤波应用于重构块。在该示例中,去块滤波级514被应用于重构块以减少成块失真,并且结果被输出为输出视频流516。输出视频流516也可以被称为解码视频流,并且在本文中可互换使用这些术语。
解码器500的其他变体可以用于解码压缩比特流420。例如,解码器500可以在没有去块滤波级514的情况下产生输出视频流516。在解码器500的一些实现中,在环路滤波级512之前应用解块滤波级514。补充地或替代地,除了环路滤波级416之外,编码器400还包括去块滤波级。
图6是根据本发明的实现的用于对编码的视频比特流中的变换块进行编码的过程600的流程图。可以在诸如编码器400的编码器中实现过程600。编码的视频比特流可以是图4的压缩比特流420。
例如,过程600可以被实现为可以由诸如发送站102的计算设备执行的软件程序。软件程序可以包括机器可读指令,机器可读指令可以存储在诸如存储器204或辅助存储器214的存储器中,并且可以由诸如CPU 202的处理器执行,以使计算设备执行过程600。在至少一些实现中,编码器400的熵编码级408可以全部或部分地执行过程600。
可以使用专用硬件或固件来实现过程600。一些计算设备可以具有多个存储器、多个处理器或两者。可以使用不同的处理器、存储器或两者来分发过程600的步骤或操作。单数的术语“处理器”或“存储器”的使用包括具有一个处理器或一个存储器的计算设备以及具有可用于执行一些或所有所述步骤的多个处理器或多个存储器的设备。
现在参考图7解释过程600。图7是说明根据本发明的实现的使用级别图的变换系数代码化的级700的图。图7包括Z形扫描顺序702、变换块704、非零图706、级别1图707、级别2图709、块结束图726、符号图732和系数残差图734。
过程600可以接收变换块,例如图7的变换块704。可以从编码器的量化步骤(例如,图4的编码器400的量化级406)接收变换。变换块704包括零和非零变换系数。一些非零系数可以是负值。
在602处,编码非零图。非零图指示包含非零变换系数的变换块的位置。非零图也可以称为级别0图。
图6的非零图706示出了非零图。可以以诸如图7的Z形扫描顺序702的扫描顺序遍历变换块704并且在非零图706中使用二进制值指示对应的变换系数是零还是非零来生成非零图。在非零图706中,用二进制为1的值(一)指示变换块704的非零变换系数,并且用二进制为0的值(零)指示零变换系数。例如,用值714(即,二进制0)指示对应于扫描位置7的零变换系数。然而,可以反转指示(即,零指示非零变换系数,1(一)指示零变换系数)。
在一种实现中,在非零图中未指示基于变换块的扫描顺序超出最后的非零变换系数(即,在最后的非零变换系数之后)的零变换系数。例如,使用Z形扫描顺序702来扫描变换块704,对应于扫描顺序位置11的最后非零变换系数708是在非零图706中的在最后非零系数710处的最后指示的变换系数。对于与Z形扫描顺序702的扫描位置12-15相对应的变换系数(例如,值712),在非零图706中没有指示值,
在604处,过程600对相应的较低范围级别图进行编码。每个较低范围的图都具有最高达最高图级别的图级别。较低范围级别图指示非零变换系数中的哪些值等于较低范围图的图级别以及非零变换系数中d的哪些值大于该图级别。
对于每个图级别k,直到最大图级别T,编码较低范围级别图levelk。每个较低范围级别图指示变换块中的哪些值等于较低范围级别图的图级别以及变换块中的哪些值大于该图级别。因此,使用多次运行(即,每次运行对应于级别k=1、2、...、T)的过程600将变换系数的代码化分解为一系列二元决策,每个二元决策对应于一个量值级别。可以通过以下等式定义在级别k的变换块中的行和列(r,c)处的系数的二元决策:
levelk[r][c]=1如果absolute(coefficient[r][c])>k
=0如果absolute(coefficient[r][c])=k
例如,对于k=1(即,对于级别1图707),过程600针对变换块704的每个变换系数确定变换系数的绝对值是大于k(即,1)还是等于k。对于变换系数720(即,在r=0,c=0),因为-7的绝对值(即,|-7|=7)大于1,所以过程600将级别1图707的对应值722设置为1。对于最后的非零变换系数708(即,在r=2,c=2),因为-1的绝对值(即,|-1|=1)等于k(即1),所以过程600将级别1图707的对应值716设置为0。因为对应于扫描位置7的变换系数为零,所以级别1图707中的对应值(即,值718)为空。
在一种实现中,为了生成较低级别的图,过程600可以从先前级别图的最后1值开始向后扫描前一级别图。对于级别k图,前一级别图是对应于前一图级别(k-1)的级别(k-1)图。也就是说,对于k=2,前一级别图是级别1图。对于k=1,前一级别图是级别0图(即,非零图)。对于级别1图707,非零图706的扫描在最后的非零系数710处开始。对于级别2图709,级别1图707的扫描从最后的非零系数724开始。在生成级别k图时,过程600仅需要处理对应于级别(k-1)中的1值的变换系数。过程600不需要处理对应于非1值的变换系数,因为那些值已被确定为等于k-1(即,级别(k-1)图的零值)或者小于k-1(即,级别(k-1)图的空值)。
在一种实现中,可以固定最大图级别T。例如,可以将最大图级别T作为配置提供给过程600,可以在实现过程600的程序中对最大图级别T进行硬编码,或者可以基于编码的视频比特流的先前代码化的变换块或其他块统计地或自适应地设置最大图级别T。或者,由过程600确定最大图级别T。即,过程600可以测试最大图级别T的不同值(即,T=1、2、3、4、...),并确定哪个值提供最佳压缩性能。可以在视频比特流中编码导致最佳压缩的诸如图5的解码器500的解码器可以解码和使用的最大图级别T的值。与最大图级别T的其他值相比,已确定最大图级别T为2或3以提供可接受的压缩。
在606处,过程600对系数残差图进行编码。系数残差图的每个残差系数对应于具有超过最大图级别的绝对值的变换块的相应(即,共位)的非零变换系数。可以使用以下公式计算变换块的位置(r,c)处的变换系数的残差系数:
residue[r][c]=absolute(coefficient[r][c]-T (2)
图7示出了系数残差图734。在图7的示例中,最大图级别T等于2。因此,系数残差图734包含其绝对值大于2的变换块704的变换系数的残差。残差系数是变换系数的绝对值超过最大图级别T的程度。变换块704的两个值(即,变换系数720(即,|-7|=7>2)和变换系数739(即|4|=4>2))的绝对值大于最大图级别T的值(即,2)。分别地,系数残差图734包括残差736和残差738。使用等式(2),残差736被设置为5(即,absolute(-7)–2=5),并且残差738被设置为2(即,absolute(4)–2=2)。
可以使用二进制代码化在编码的视频比特流中对系数残差图734的残差系数进行编码。可以使用拟合系数残差图的残差系数的统计的概率分布。概率分布可以是几何分布、拉普拉斯分布、帕累托分布或任何其他分布。
在视频比特流中编码残差系数例如在编码变换系数的视频代码化系统上提供了若干益处。由于每个残差系数的量值小于其对应的变换系数,因此需要较少的比特来编码残差系数。另外,由于要编码的残差系数(例如,图7的系数残差图734中的2)少于非零变换系数(例如,
图7的变换块704中的7),因此可以导致额外的压缩。
在过程600的实现中,还可以编码符号图。符号图指示变换块中的哪些变换系数具有正值以及哪些变换系数具有负值。不需要在符号图中指示为零的变换系数。图7的符号图732示出了变换块704的符号图的示例。在符号图中,用-1指示负变换系数,而用1指示正变换系数。
在过程600的实现中,在602处对非零图进行编码还可以包括:生成变换块的块结束图,并且在编码的视频比特流中将非零图和块结束图交织。
块结束图指示变换块的非零变换系数是否是相对于给定扫描顺序的最后非零系数。如果非零系数不是变换块中的最后非零系数,则它可以在块结束图中用二进制为0的值(零)来指示。另一方面,如果非零系数是变换块中的最后非零系数,则它可以在块结束图中用二进制为1的值(一)来指示。
举例来说,由于变换块704的变换系数720接着另一非零变换系数(例如,对应于扫描位置2的变换系数-1),变换系数720不是最后的非零变换系数,所以它用为零的块结束值728来指示。另一方面,由于对应于扫描位置11的变换系数(即,最后的非零变换系数708)是变换块704的最后非零系数,因此它用为1(一)的块结束值730来指示。
过程600可以通过以相同扫描顺序遍历非零图和块结束图,在编码的比特流中交织来自非零图706和块结束图726的值。过程600可以使用Z形扫描顺序702或任何任意扫描顺序。对于每个位置(r,c),首先代码化非零图706的该行和列处的值(即,nz_map[r][c])。如果值nz_map[r][c]是1,则接着代码化来自块结束图726的对应值(即,eob_map[r][c])以指示变换块704的位置(r,c)是否包含最后的非零变换系数。当eob_map[r][c]等于1时或者当到达变换块中的最后位置(例如,Z形扫描顺序702中的扫描位置15)时,过程600结束非零图的代码化(过程600的602)。也就是说,当编码来自非零图706的为1的值时,该值之后是来自对应(即,共位)块结束图726的另一语法元素(即,要在编码的视频比特流中编码的值),以指示1值是否是非零图706的最后1值。
在一种实现中,在602处对非零图进行编码还可以包括确定非零图的值(即,待代码化值)的代码化上下文。在当前位置(r,c)处的待代码化值的代码化上下文可以基于非零图中的待代码化值的先前代码化的非零相邻值。代码化上下文还可以基于非零图内的待代码化值的位置。
如上所述,上下文信息可以基于当前位置的非零先前代码化的邻居的数量来确定并且可以使用下面的总和来计算。
non_zero_map_sum(r,c)=∑(r′,c′)∈nb(r,c)nz_map(r′,c′) (1)
在等式1中,non_zero_map_sum(r,c)是位置(r,c)处的非零块的待代码化值的非零先前代码化的邻居的数量,nb(r,c)是在非零图的位置(r,c)处的待代码化值的先前代码化的邻居的集合,并且nz_map(r′,c′)是非零图中的位置(r′,c′)处的值。参考图8进一步解释等式(1)。
图8是根据本公开的实现的非零图800中的先前代码化的邻居的图。图8包括待代码化值、当前值802、不可用上下文邻居806(即,上下文信息不可用的相邻值)以及代码化上下文邻居,例如代码化上下文邻居808。示出了十个代码化上下文邻居804。邻居集中包含哪些值取决于扫描顺序。例如,使用图7的Z形扫描顺序702,图8中示出的邻居集包括代码化上下文邻居808,其包括在当前值802的上方和左侧的邻居。对于当前值802,non_zero_map_sum(2,2)=5。该值(即,5)可以用作用于确定用于代码化非零图800的当前值802的概率模型的上下文信息。
如上所述,代码化上下文还可以基于在非零图内(或者等效地,在变换块内)的待代码化值的位置。变换块的位置可以分组为上下文组。例如,可以设置四个上下文组:对应于DC系数的第一组(即,r=0和c=0)、除了AC系数之外对应于顶行的第二组(即,r=0和c>0)、除了AC系数之外对应于最左列的第三组(即,r>0和c=0)以及对应于所有其他系数的第四组(即,r>0和c>0)。因此,当前值802对应于第四上下文组。
如上所述,确定用于对非零图的值进行代码化的上下文模型可以基于两个因素:如关于图8所解释的相邻信息;以及,要编码的值相对于变换块——即,相对于变换块的频率和它对应的上下文组——的相对位置。根据当前值的上下文组,为non_zero_map_sum值分配不同的上下文模型。也就是说,这两个因素可以通过1)计算non_zero_map_sum值,2)识别上下文组,以及3)基于non_zero_map_sum值确定(即,通过查找)上下文组内的上下文模型而被组合。
在一种实现中,在602处对非零图进行编码还可以包括确定块结束图的每个值的代码化上下文。过程600可以基于待编码值相对于变换块的频率信息的位置来确定块结束图的待编码值的上下文模型。也就是说,变换块中的变换系数的位置可以用作用于确定用于编码块结束图的对应(即,共位)的待编码值的上下文模型的上下文。可以将变换块划分成区域,使得每个区域对应于上下文。该划分可以基于以下原理:块结束位于变换块的DC位置处的可能性非常低但是该可能性从DC系数起进一步增加。过程600可以确定如关于图9所描述的上下文模型。
图9是根据本公开的实现的用于确定用于编码块结束图的上下文模型的频率位置900的示例的图。图9示出了被划分为9个上下文的8×8变换块。上下文0(例如,由上下文902指示)、1、2和3中的每个对应于变换块的1×1区域;上下文4(例如,由上下文904指示)、5和6中的每个对应于变换块的2×2区域;上下文7(例如,由上下文906指示)、8和9中的每个对应于变换块的4×4区域。其他变换块大小和上下文分区也是可能的。
现在一起参考图9和图7的块结束图726。首先要注意,块结束图726和对应的变换块704是4×4块,而频率位置900对应于8×8变换块。因此,只有频率位置900的上下文0-6可以与块结束图726一起使用。块结束值730落在频率位置900的上下文6内。因此,过程600将对应于上下文6的上下文模型分配给块结束值730。块结束图726的块结束值728落入图9的频率位置900的上下文0内。因此,过程600将对应于上下文2的上下文模型分配给块结束值728。每个上下文可以具有其自己的上下文模型。每个上下文模型可以适应正在处理中的、诸如图3的视频流300的视频流的视频信号或视频信号的部分。也就是说,可以在处理视频帧或块时更新上下文模型。例如,可以在处理每个帧或帧的块之后更新一些上下文的上下文模型。
在一些实现中,非零图可以是具有与变换块对应的尺寸的二元图。当对应的(即,共位的)变换系数是非零变换系数(即,变换系数不等于零)时,可以将非零图的位置设置为一(1)值。当对应的变换系数具有为0的值并且在变换块的扫描顺序中的最后非零系数之前时,非零图的位置可以被设置成为0的值。当对应的变换系数具有为0的值并且在变换块的扫描顺序中的最后非零系数之后时,可以将非零图的位置设置为无条目。
在一些实现中,较低范围级别图可以是二元图,其具有与变换块的维度相对应的维度和如上所述的图级别k。当在前级别图(即,如下所述的级别图k-1)中的对应值为一(1)并且对应的变换系数大于较低范围级别图的图级别k时,可以将较低范围级别图的位置设置为一(1)。当在前级别图中的对应值具有为1的值并且对应的变换系数等于较低范围级别图的图级别k时,可以将较低范围级别图的位置设置成为0的值。当在前级别图中的对应值具有为0的值时,较低范围级别图的位置可以没有值。
在过程600的实现中,在604处对较低范围级别图进行编码还可以包括基于较低范围级别图的扫描顺序来确定较低范围级别图的值的级别图代码化上下文。如上所述,编码较低范围级别图k的值相当于编码二进制值,即变换块的对应(即,共位)变换系数是等于k还是高于k。二进制值的编码导致简单的上下文。因此,值的多个相邻值可以用作用于确定所述值的上下文模型的上下文。
也如上所述,较低范围级别图的扫描可以以向后扫描顺序进行。因此,当对值进行编码时,将已经编码待编码值的下方和右侧的相邻值(例如,如果扫描顺序是Z形扫描顺序或图7的702)。因此,较低范围级别图中的第一相邻值(例如,下面和右侧的相邻值)可以用作上下文。另外,紧接在前级别(k-1)图中的第二相邻值(例如,顶部和左侧相邻值)也可以用作上下文。对于k>=2,较低范围级别k图的在前级别图是较低范围级别(k-1)图;并且级别1图的在前级别图是非零图。
在一种实现中,为了在较低范围级别k图的位置(r,c)处构造较低范围值的上下文信息,首先计算级别(k-1)图中的位置(r,c)的邻居和。然后,计算较低范围级别k图中的邻居触发值。可以通过检查位置(r,c)在较低范围级别k图中是否具有值为1的任何代码化邻居来设置邻居触发值。可以以多种方式选择邻居。下面描述的图10提供了非限制性示例。
可以使用任何数量的方式来确定用于代码化较低范围级别k图的上下文邻居。图10A是根据本公开的实现的方形上下文邻居的示例1000的图;并且,图10B是根据本发明的实现的菱形上下文邻居的示例1050的图。
在图10A-10B中,使用图案1004加阴影的值(即,表示级别图的值的圆圈)是待代码化值;用图案1002加阴影的值是可用上下文信息的值,因为这些值在待代码化值之前被代码化;并且用图案1006加阴影的值是不可用上下文信息的值,因为这些值在待代码化值之前未被代码化。
图10A包括级别k邻居1010、级别(k-1)邻居1020和待代码化为1的为0的值12。在示例1000中,使用每个待代码化为1的为0的值12的八(8)个邻居。对于方形上下文邻居,落在以待代码化值的位置为中心的3×3块内的任何位置都可以被认为是邻居。
用级别k邻居1010的图案1002加阴影的值可以构成用于确定待代码化为1的为0的值12的上下文的第一相邻值。如上所述,计算邻居触发值level_k_neighbor_trigger以指示待代码化值的至少一个邻居是否为1。在级别k邻居1010中,两个邻居各自具有为1的值,即为1的为0的值14和为1的为0的值16。因此,待代码化为1的为0的值12的level_k_neighbor_trigger值被设置为1。在另一实现中,可以计算具有为1的值的邻居的总数。
用级别(k-1)邻居1020的图案1002加阴影的值可以构成用于确定待代码化为1的为0的值12的上下文的第二相邻值。应当理解,待代码化的为1的为0的值12示出了级别(k-1)邻居1020本身不是待编码的值;相反,它指示级别(k-1)邻居的位置共同位于与级别k邻居1010的待代码化为1的为0的值12相同的位置。使用级别(k-1)邻居的值,可以计算级别level-(k-1)_number_sum(r,c)以指示值为1的邻居的总数。在这种情况下,level-(k-1)_number_sum(r,c)等于4(即,为1的为0的值22、1024、1026和1028)。当计算level_k_neighbor_trigger和level-(k-1)_number_sum时,如果邻居的值不可用,则该值可以被认为是零。
如上所述,level_k_neighbor_trigger和level-(k-1)_number_sum(r,c)值与待代码化为1的为0的值12的上下文组值组合,以确定用于对待代码化为1的为0的值12进行代码化的上下文模型。
现在转向图10B以示出了菱形上下文邻居。图10B包括级别k邻居1030、级别(k-1)邻居1040和待代码化为1的为0的值32。在示例1050中,使用用于待代码化为1的为0的值32的十二(12)个邻居。可以使用以待代码化位置1032为中心的与针对图10A的待代码化为1的为0的值12描述的邻居相同的3×3块与四(4)个附加相对位置;即,(-2、0)处的位置1033、(0,+2)处的位置1034、(+2、0)处的位置1035和(0,-2)处的位置1036一起形成菱形上下文邻居。使用这四个附加位置,因为已经确定它们与量化变换块中的待代码化位置处的变换系数相关。可以如关于图10A所示进行计算level_k_neighbor_trigger和level-(k-1)_number_sum并确定上下文模型。
较低范围级别k图的值的代码化上下文还可以基于待代码化级别k图值的在较低范围级别图内的位置。变换块的位置可以分组为上下文组。例如,可以设置四个上下文组:对应于DC系数的第一组(即,r=0和c=0)、除了AC系数之外对应于顶行的第二组(即,r=0和c>0)、除了AC系数之外对应于最左列的第三组(即r>0和c=0)以及对应所有其他系数的第四组(即r>0和c>0)。
因此,通过组合如参考图10A-10B描述的在较低范围级别k图中的相邻信息、如参照图10A-10B描述的在级别(k-1)图中的相邻信息以及基于较低范围级别k图的待代码化值的位置的上下文组来选择用于较低范围图的待代码化值的上下文模型。
在一种实现中,过程600可以在第一阶段对非零图706和块结束图726进行编码,在第二阶段中对级别k图(例如,级别1图707和级别2图709)进行编码,在第三阶段中对系数残差图734进行编码,并在第四阶段中对符号图732进行编码。
图11是根据本公开的实现的用于从编码的视频比特流解码变换块的过程1100的流程图。可以由诸如解码器500的解码器执行过程1100。例如,可以全部或部分地由解码器500的熵解码级502执行过程1100,并且编码的视频比特流可以是图5的压缩的比特流420。例如,可以通过将指令存储在诸如接收站106的存储器204的存储器中以由诸如CPU 202的处理器执行来执行过程1100的实现。
可以使用专用硬件或固件来实现过程1100。一些计算设备可以具有多个存储器、多个处理器或两者。可以使用不同的处理器、存储器或两者来分布过程1100的步骤或操作。为了简化说明,过程1100被描绘和描述为一系列步骤或操作。然而,可以以各种顺序和/或同时发生根据本公开的教导。另外,根据本公开的步骤可以与本文未呈现和描述的其他步骤一起发生。此外,并非所有示出的步骤或操作都可用于实现根据所公开的主题的方法。
过程1100是二进制解码的多运行过程,其重新组合(即,重构)例如通过实现图6的过程600的编码器在编码的视频比特流中分解和编码的变换块。过程1100包括:在1102处,从编码的视频比特流解码非零图;在1104,解码具有相应图级别直到最大图级别的相应较低范围级别图;并且,在1106,解码残差系数的系数残差图。
在1102处,过程1100从编码的视频比特流解码非零图。非零图指示变换块的哪些变换系数具有零值以及变换块的哪些变换系数具有非零值。在1102处,过程1100解码并生成非零图,其等效于图7的非零图706。首先,过程1100读取对应于变换块的DC系数的非零图值。DC系数是变换块的左上角,例如图7的变换系数720。即,过程1100从编码的比特流解码图7的值740。过程1100确定该值是零还是一,从编码的比特流读取下一个值,确定该值是零还是一,等等,直到通过过程1100重构等效于图7的非零图706的非零图。非零图指示变换块的哪些变换系数是非零的。
在1104处,过程1100对具有相应图级别直到最大图级别T的相应较低范围级别图进行解码。具有图级别的较低范围级别图指示变换块的哪些变换系数等于相应图级别和变换块的哪些变换系数大于相应图级别。在1104处,过程1100对来自编码的视频比特流的值进行解码,以重构如参照过程600的604所描述的编码的较低范围级别k图。
例如,为了重构级别1图,过程1100从最高非零变换系数开始向后遍历,以确定哪个变换系数等于1并且哪些大于1。即,使用图7的非零图706的重构的非零图并且从最后的非零系数710开始并向后遍历到值740,过程1100重构图7的级别1图707。对于重构的非零图的每个1值,过程1100对来自编码的视频比特流的值进行解码并重构级别1图707。由过程1100解码的值是零和一(1)值。
为了重构级别2图,过程1100使用与用于生成级别1图的过程相同的过程,除了不是遍历重构的非零图,过程1100使用重构的级别1图。过程1100重复所有步骤,直到重构最大图级别数量的级别图。
在一种实现中,过程1100和图6的过程600使用相同的最大图级别T。例如,最大图级别T可以作为配置提供给过程1100。在另一实现中,最大图级别T在编码的视频比特流中由过程600传输给过程1100。因此,过程1100从编码的视频比特流解码最大图级别T。
在1106处,过程1100对系数残差图进行解码。系数残差图的每个残差系数对应于具有超过最大图级别的绝对值的变换块的相应变换系数。在1106处,过程1100重构例如图7的系数残差图734。对于级别T图的每个一(1)值,过程1100对来自编码的比特流的对应残差值进行解码,以重构图7的系数残差图734。
在过程1100的实现中,在1102处解码非零图可以包括解码变换块的块结束图,其中,块结束图的值与非零图的值交织。如上面关于过程600所描述的,可以交织块结束图的值和非零图的值。因此,过程1100解码非零图的值。如果解码的值是1,则过程1100从编码的视频比特流中解码块结束图的值,以指示解码的非零图值是否是非零块的最后非零值。如果解码的非零值根据解码的块结束值不是最后的非零值,则过程1100解码另一个非零图值,依此类推。过程1100重复这些步骤,直到指示解码的块结束值或者直到达到变换块中的最后位置。
在过程1100的实现中,解码非零图包括确定非零图的待解码值的第一代码化上下文。第一代码化上下文可以基于待解码值的在非零图中的先前解码的非零相邻值。第一代码化上下文还可以基于非零图内的待解码值的位置。可以如上面关于图6的过程600所描述的那样确定第一代码化上下文。
对较低范围级别进行解码可以包括:基于较低范围级别图的扫描顺序,基于较低范围级别图中的第一相邻值和紧接在前的较低范围级别图中的第二个相邻值,确定较低范围级别图的待解码值的代码化上下文。可以如上面关于图6的过程600所描述的那样确定较低范围级别图的待解码值的代码化上下文。
本公开的另一实现是一种用于从编码的视频比特流解码变换块的方法。该方法包括:从以层排列的二元级别图和从编码的视频比特流重构的残差变换图重新组合变换块的变换系数。二元级别图通过将相应变换系数的值分解为一系列二元决策来形成。每个二元决策对应于相应层的图级别处的相应变换系数的量值级别。残差变换图包括超过二元级别图的基数(或上或最大图级别数)的各个变换系数的值。可以从编码的视频比特流中解码二元级别图的基数。
上述编码和解码的方面示出了一些编码和解码技术。然而,应该理解,编码和解码(就像在权利要求中使用的那些术语)可以表示对数据的压缩、解压缩、变换或任何其他处理或改变。
本文使用词语“示例”或“实现”来表示用作示例、实例或说明。本文中描述为“示例”或“实现”的任何方面或设计不必被解释为比其他方面或设计更优选或更具优势。相反,使用词语“示例”或“实现”旨在以具体方式呈现概念。如在本申请中所使用的,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文中清楚,否则“X包括A或B”旨在表示任何自然的包含性排列。也就是说,如果X包括A;X包括B;或者X包括A和B,然后在任何前述情况下满足“X包括A或B”。另外,本申请和所附权利要求中使用的冠词“一”和“一个”通常应理解为表示“一个或多个”,除非另有说明或从上下文清楚地指向单数形式。此外,除非如此描述,否则贯穿使用术语“实现”或“一种实现”并不旨在表示相同的实施例或实现。
可以用硬件、软件或其任何组合来实现发送站102和/或接收站106的实现(以及存储在其上和/或由其(包括由编码器400和解码器500)执行的算法、方法、指令等)。硬件可包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其他合适的电路。在权利要求中,术语“处理器”应该被理解为单独地或组合地包含任何前述硬件。可互换使用术语“信号”和“数据”。此外,不一定必须以相同的方式实现发送站102和接收站106的部分。
此外,在一个方面,例如,可以使用具有计算机程序的通用计算机或通用处理器来实现发送站102或接收站106,该计算机程序在被执行时执行这里描述的任何相应的方法、算法和/或指令。另外或替代地,例如,可以使用专用计算机/处理器,其可以包含用于执行本文描述的任何方法、算法或指令的其他硬件。
可以例如在视频会议系统中的计算机上实现发送站102和接收站106。或者,可以在服务器上实现发送站102,可以在诸如手持通信设备的、与服务器分开的设备上实现接收站106。在这种情况下,发送站102可以使用编码器400将内容编码为编码视频信号,并将编码的视频信号发送到通信设备。接着,通信设备然后可以使用解码器500对编码的视频信号进行解码。或者,通信设备可以解码在通信设备上本地存储的内容,例如,发送站102未发送的内容。其他发送站102和接收站106的实现方案是可用的。例如,接收站106可以是通常固定的个人计算机而不是便携式通信设备,并且/或者,包括编码器400的设备也可以包括解码器500。
此外,本公开的全部或部分实现可以采用可从例如有形计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是能够例如有形地包含、存储、通信或传输程序以供任何处理器使用或与之结合使用的任何设备。介质可以是例如电、磁、光、电磁或半导体器件。其他合适的介质也是可用的。
已经描述了上述实施例、实现和方面,以便容易理解本公开,并且上述实施例、实现和方面不限制本公开。相反,本公开旨在涵盖包含在所附权利要求范围内的各种修改和等同布置,该范围应被赋予最广泛的解释,以包含法律允许的所有这些修改和等同结构。

Claims (22)

1.一种对编码的视频比特流中的变换块进行编码的方法,包括:
对非零图进行编码,所述非零图指示包含非零变换系数的所述变换块的位置;
对相应较低范围级别图进行编码,每个相应较低范围级别图具有直到最大图级别的相应图级别,所述相应较低范围级别图指示所述非零变换系数的哪些值等于所述相应图级别并且所述非零变换系数的哪些值大于所述相应图级别;以及
对系数残差图进行编码,所述系数残差图的每个残差系数与具有超过所述最大图级别的绝对值的所述变换块的相应非零变换系数相对应。
2.根据权利要求1所述的方法,其中,对非零图进行编码包括:
生成所述变换块的块结束图;以及
在所述编码的视频比特流中交织所述非零图和所述块结束图。
3.根据权利要求1或2所述的方法,其中,对非零图进行编码还包括:
确定所述非零图的值的代码化上下文,所述代码化上下文基于所述值在所述非零图中的先前代码化的非零相邻值。
4.根据权利要求3所述的方法,其中,所述代码化上下文还基于所述值在所述非零图中的位置。
5.根据权利要求1至4中任一项所述的方法,其中:
所述相应较低范围级别图包括仅用于具有紧接在前的较低范围级别图的相应值的位置的值,所述紧接在前的较低范围级别图与在前的图级别相对应,
所述紧接在前的较低范围级别图的所述相应值指示大于所述在前的图级别的所述非零变换系数的相应值,并且
当所述相应较低范围级别图是第一较低范围级别图时,所述紧接在前的较低范围级别图是所述非零图。
6.根据权利要求1至5中任一项所述的方法,其中,对直到最大图级别的每个相应图级别的相应较低范围级别图进行编码包括:
基于所述相应较低范围级别图的扫描顺序,基于所述相应较低范围级别图中的第一相邻值和所述紧接在前的较低范围级别图中的第二相邻值,确定所述相应较低范围级别图的值的代码化上下文。
7.根据权利要求6所述的方法,其中:
所述第一相邻值与在所述值之前基于所述扫描顺序所扫描的所述相应较低范围级别图的值相对应,以及
所述第二相邻值与在所述紧接在前的较低范围级别图中的下述位置处的值相对应:该位置与在所述值之后基于所述扫描顺序所扫描的所述相应较低范围级别图的位置相对应。
8.根据权利要求1至7中任一项所述的方法,其中:
所述最大图级别包括至少为2的值,使得所述至少一个较低范围级别图包括第一较低范围级别图和第二较低范围级别图,
所述非零图是具有与所述变换块相对应的维度的二元图,所述非零图的每个位置包括以下中的一个:当对应的变换系数是所述非零变换系数之一时的为1的值、当对应的变换系数具有为0的值并且在所述变换块的扫描顺序中位于最后非零系数之前时的为0的值、或者当对应的变换系数具有为0的值并且在所述变换块的所述扫描顺序中位于所述最后非零系数之后时没有条目,
所述第一较低范围级别图是具有维度和图级别为1的二元图,所述第一较低范围级别图的每个位置包括以下中的一个:当所述非零图中的对应值为1并且所述对应的变换系数大于所述第一较低范围级别图的所述图级别时的为1的值、当所述非零图中的对应值具有为1的值并且所述对应的变换系数等于所述第一较低范围级别图的所述图级别时的为0的值、或者当所述非零图中的对应值具有为0的值时没有值,并且
所述第二较低范围级别图是具有维度和图级别为2的二元图,所述第二较低范围级别图的每个位置包括以下中的一个:当所述第一较低范围级别图中的对应值为1并且所述对应的变换系数大于所述第二较低范围级别图的所述图级别时的为1的值、当所述第一较低范围级别图中的对应值具有为1的值并且所述对应的变换系数等于所述第二较低范围级别图的所述图级别时的为0的值、或者当所述第一较低范围级别图中的对应值具有为0的值时没有值。
9.根据权利要求8所述的方法,还包括:
对所述最大图级别、所述非零图的值、所述第一较低范围级别图的值和所述第二较低范围级别图的值进行编码。
10.一种用于从编码的视频比特流解码变换块的装置,所述装置包括:
处理器;以及
包括指令的存储器,所述指令能够由所述处理器执行以用于:
从所述编码的视频比特流解码非零图,所述非零图指示变换块的哪些变换系数具有零值并且所述变换块的哪些变换系数具有非零值;
对相应较低范围级别图进行解码,所述相应较低范围级别图具有直到最大图级别的相应图级别,所述相应较低范围级别图指示所述变换块的哪些变换系数等于所述相应图级别以及所述变换块的哪些变换系数大于所述相应图级别;以及
对系数残差图进行解码,所述系数残差图的每个残差系数与具有超过所述最大图级别的绝对值的所述变换块的相应变换系数相对应。
11.根据权利要求10所述的装置,其中,用于对非零图进行解码的所述指令包括用于以下操作的指令:
对所述变换块的块结束图进行解码,其中,所述块结束图的值与所述非零图的值交织。
12.根据权利要求10或11所述的装置,其中,用于对非零图进行解码的所述指令包括用于以下操作的指令:
确定所述非零图的值的第一代码化上下文,所述第一代码化上下文基于所述值在所述非零图中的先前解码的非零相邻值。
13.根据权利要求12所述的装置,其中,所述第一代码化上下文还基于所述值在所述非零图内的位置。
14.根据权利要求10至13中任一项所述的装置,其中:
所述相应较低范围级别图包括仅用于具有紧接在前的较低范围级别图的相应值的位置的值,所述紧接在前的较低范围级别图与在前的图级别相对应,
所述紧接在前的较低范围级别图的所述相应值指示大于所述在前的图级别的所述变换块的变换系数的相应值,并且
当所述相应较低范围级别图是第一较低范围级别图时,所述紧接在前的较低范围级别图是所述非零图。
15.根据权利要求10至14中任一项所述的装置,其中,用于对相应较低范围级别图进行解码的指令包括用于以下操作的指令:
基于所述相应较低范围级别图的扫描顺序,基于所述相应较低范围级别图中的第一相邻值和所述紧接在前的较低范围级别图中的第二相邻值,确定所述相应较低范围级别图的值的代码化上下文。
16.根据权利要求15所述的装置,其中:
所述第一相邻值与在所述值之前基于所述扫描顺序所扫描的所述相应较低范围级别图的值相对应,以及
所述第二相邻值与在所述紧接在前的较低范围级别图中的下述位置处的值相对应:该位置与在所述值之后基于所述扫描顺序所扫描的所述相应较低范围级别图的位置相对应。
17.根据权利要求15或16所述的装置,其中,所述值的所述代码化上下文还基于所述值在所述相应较低范围级别图内的位置。
18.根据权利要求10至17中任一项所述的装置,其中,用于对系数残差图进行解码的所述指令包括用于以下操作的指令:
使用几何分布来对所述系数残差图的残差系数进行解码。
19.一种用于从编码的视频比特流解码变换块的方法,所述方法包括:
从以层排列的二元级别图和从所述编码的视频比特流重构的残差变换图重新组合所述变换块的变换系数,通过将相应变换系数的值分解为一系列二元决策来形成所述二元级别图,每个二元决策与相应层的图级别处的所述相应变换系数的量值级别相对应,并且所述残差变换图包括超过所述二元级别图的基数的所述相应变换系数的值。
20.根据权利要求19所述的方法,其中,所述二元级别图的所述基数从所述编码的视频比特流中解码。
21.一种用于对视频比特流的变换块执行代码化操作的装置,所述装置包括:
处理器;以及
非暂时性存储器,存储能够由所述处理器执行以执行权利要求1至9和19至20中任一项所述的方法的指令。
22.一种非暂时性计算机可读介质,包括能够由处理器执行以执行根据权利要求1至9和19至20中任一项所述的方法的指令。
CN201780077136.4A 2017-01-26 2017-10-31 使用级别图的变换系数代码化 Pending CN110073663A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/415,974 US10244261B2 (en) 2017-01-26 2017-01-26 Transform coefficient coding using level maps
US15/415,974 2017-01-26
PCT/US2017/059246 WO2018140108A1 (en) 2017-01-26 2017-10-31 Transform coefficient coding using level maps

Publications (1)

Publication Number Publication Date
CN110073663A true CN110073663A (zh) 2019-07-30

Family

ID=60473609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780077136.4A Pending CN110073663A (zh) 2017-01-26 2017-10-31 使用级别图的变换系数代码化

Country Status (4)

Country Link
US (2) US10244261B2 (zh)
EP (1) EP3533226A1 (zh)
CN (1) CN110073663A (zh)
WO (1) WO2018140108A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135856A1 (zh) * 2019-12-31 2021-07-08 腾讯科技(深圳)有限公司 视频编解码方法、装置、设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
CN109788290A (zh) * 2017-11-13 2019-05-21 慧荣科技股份有限公司 影像处理装置及利用帧内预测的无损影像压缩方法
US10694205B2 (en) * 2017-12-18 2020-06-23 Google Llc Entropy coding of motion vectors using categories of transform blocks
US11006150B2 (en) * 2018-09-24 2021-05-11 Tencent America LLC Method and apparatus for video coding
KR102631361B1 (ko) * 2018-10-11 2024-01-31 엘지전자 주식회사 변환 계수 코딩 방법 및 장치
CN112399181B (zh) 2019-08-19 2022-08-26 华为技术有限公司 图像编解码的方法、装置和存储介质
EP4000266A4 (en) * 2019-08-20 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. RESIDUAL CODING FOR TRANSFORM SKIP BLOCKS
CN111310538B (zh) * 2019-11-18 2020-11-17 万金芬 基于大数据服务器的内容管理系统
EP4062645A4 (en) * 2019-11-21 2023-08-16 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND DEVICE FOR TRANSFORMATION AND COEFFICIENT SIGNALING

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101411196A (zh) * 2006-03-27 2009-04-15 高通股份有限公司 用于对与视频压缩相关联的信息进行编码及解码的方法及系统
CN103262534A (zh) * 2010-10-14 2013-08-21 汤姆逊许可公司 改进熵编码和解码的方法及装置
CN104780370A (zh) * 2009-10-28 2015-07-15 三星电子株式会社 对残差块编码的方法和设备、对残差块解码的方法和设备
US9197890B2 (en) * 2011-03-08 2015-11-24 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
CN105828077A (zh) * 2010-07-09 2016-08-03 三星电子株式会社 用于对变换系数进行熵编码/熵解码的方法和设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4447886A (en) 1981-07-31 1984-05-08 Meeker G William Triangle and pyramid signal transforms and apparatus
DE50305419D1 (de) * 2002-05-02 2006-11-30 Fraunhofer Ges Forschung Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern
US7583849B2 (en) 2005-07-25 2009-09-01 Microsoft Corporation Lossless image compression with tree coding of magnitude levels
PL2559166T3 (pl) * 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
WO2012092662A1 (en) * 2011-01-04 2012-07-12 Research In Motion Limited Coding of residual data in predictive compression
US10142637B2 (en) * 2011-03-08 2018-11-27 Texas Instruments Incorporated Method and apparatus for parallelizing context selection in video processing
CN103650510B (zh) * 2011-07-15 2018-05-22 谷歌技术控股有限责任公司 用于变换系数级编码的上下文建模技术
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
GB201119180D0 (en) * 2011-11-07 2011-12-21 Sony Corp Data encoding and decoding
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US9008189B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Methods and devices for context modeling to enable modular processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101411196A (zh) * 2006-03-27 2009-04-15 高通股份有限公司 用于对与视频压缩相关联的信息进行编码及解码的方法及系统
CN104780370A (zh) * 2009-10-28 2015-07-15 三星电子株式会社 对残差块编码的方法和设备、对残差块解码的方法和设备
CN105828077A (zh) * 2010-07-09 2016-08-03 三星电子株式会社 用于对变换系数进行熵编码/熵解码的方法和设备
CN103262534A (zh) * 2010-10-14 2013-08-21 汤姆逊许可公司 改进熵编码和解码的方法及装置
US9197890B2 (en) * 2011-03-08 2015-11-24 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JOEL SOLE ET AL: "Transform Coefficient Coding in HEVC", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135856A1 (zh) * 2019-12-31 2021-07-08 腾讯科技(深圳)有限公司 视频编解码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2018140108A1 (en) 2018-08-02
US20180213258A1 (en) 2018-07-26
US10735767B2 (en) 2020-08-04
US10244261B2 (en) 2019-03-26
EP3533226A1 (en) 2019-09-04
US20190215533A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
CN110073663A (zh) 使用级别图的变换系数代码化
CN110268715A (zh) 变换核选择与熵编译
CN110710217B (zh) 用于对最后有效系数标志进行代码化的方法和设备
JP6761033B2 (ja) 前フレーム残差を用いた動きベクトル予測
CN113287306A (zh) 使用机器学习的图像和视频压缩中的改进熵代码化
CN110622515A (zh) 定向帧内预测代码化
CN109891894A (zh) 使用域变换递归滤波器的视频编译恢复
CN111614956B (zh) Dc系数符号代码化方案
EP3662665A1 (en) Scan order adaptation for entropy coding of blocks of image data
CN107667532A (zh) 用于非基带信号代码化的变换选择
CN107231557A (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排
US11917156B2 (en) Adaptation of scan order for entropy coding
CN111866505A (zh) 在算术代码化中的有效率场境应对
CN107302700A (zh) 自适应方向环路滤波器
US10630974B2 (en) Coding of intra-prediction modes
US20170164007A1 (en) Mixed boolean-token ans coefficient coding
CN110710219B (zh) 用于系数代码化的上下文推导的方法和设备
WO2021092531A1 (en) Probability estimation for entropy coding

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190730

WD01 Invention patent application deemed withdrawn after publication