CN103703776A - 在视频译码中的系数扫描 - Google Patents

在视频译码中的系数扫描 Download PDF

Info

Publication number
CN103703776A
CN103703776A CN201280035704.1A CN201280035704A CN103703776A CN 103703776 A CN103703776 A CN 103703776A CN 201280035704 A CN201280035704 A CN 201280035704A CN 103703776 A CN103703776 A CN 103703776A
Authority
CN
China
Prior art keywords
sub
block
scanning
coefficient
conversion coefficient
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
CN201280035704.1A
Other languages
English (en)
Other versions
CN103703776B (zh
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103703776A publication Critical patent/CN103703776A/zh
Application granted granted Critical
Publication of CN103703776B publication Critical patent/CN103703776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

在实例中,本发明的方面涉及一种用于在视频解码过程中解码变换系数的方法,所述方法包含:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。

Description

在视频译码中的系数扫描
本申请案主张以下申请案的优先权:2011年7月19日申请的第61/509,522号美国临时申请案、2011年7月20日申请的第61/509,926号美国临时申请案、2011年10月24日申请的第61/550,829号美国临时申请案,以及2011年11月1日申请的第61/554,292号美国临时申请案,所述申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更具体来说,涉及用于扫描和译码通过视频译码过程产生的变换系数的技术。
背景技术
可将数字视频能力并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型计算机或台式计算机、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等等。数字视频装置实施视频压缩技术以更有效率地发射、接收和存储数字视频信息,视频压缩技术例如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))定义的标准、目前在开发中的高效率视频译码(HEVC)标准和这些标准的扩展中所描述的视频压缩技术。
视频压缩技术包含空间预测和/或时间预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,可将视频图片或切片分割成块。可进一步分割每一块。使用相对于同一图片或切片中的相邻块中的参考样本的空间预测来编码经帧内译码(I)帧或切片中的块。经帧间译码(P或B)帧或切片中的块可使用相对于同一图片或切片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。空间或时间预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。
根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,所述残余变换系数接着可经量化。可按特定次序扫描最初布置成二维阵列的经量化变换系数,以便产生变换系数的一维向量从而用于熵译码。
发明内容
一股来说,本发明描述用于在视频译码过程中译码与残余视频数据的块相关联的变换系数的装置和方法。在译码期间,可将变换系数的块划分成子集,所述子集可采取多个子块的形式。接着可扫描和译码所述子块。举例来说,关于视频编码器,可扫描来自所述子块的变换系数的二维阵列以形成变换系数的一维阵列,接着编码所述变换系数。关于视频解码器,可接收和解码变换系数的一维阵列,且接着使用所述系数来重建构二维子块。
本发明的技术大体上涉及扫描和译码变换系数的子块。举例来说,如本文中所描述,系数扫描次序可描述在残余数据的块的子块内扫描和译码变换系数的次序。子块扫描次序可描述扫描和译码子块自身的次序。根据本发明的方面,系数扫描次序可具有与子块扫描次序(即,扫描子块的次序)相同的定向,以接着在残余数据的块内扫描每一子块内的系数。即,根据本发明的方面,所述子块扫描次序的扫描型样/方向/次序可匹配每一子块内的系数扫描次序的扫描型样/方向/次序。或者或另外,本发明的技术包含基于多种准则适应性地确定系数扫描次序和/或子块扫描次序。因此,在一些实例中,系数扫描次序可不同于子块扫描次序。
在实例中,本发明的方面涉及一种在视频解码过程中解码变换系数的方法,所述方法包括:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
在另一实例中,本发明的方面涉及一种用于在视频解码过程中解码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
在另一实例中,本发明的方面涉及一种用于在视频解码过程中解码变换系数的设备,所述设备包括:用于解码变换系数的一维阵列的装置;以及用于根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块的装置,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
在另一实例中,本发明的方面涉及一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:解码变换系数的一维阵列;以及根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块,其中子块扫描次序包括扫描块内的多个子块中的每一子块的次序,且其中系数扫描次序包括扫描对应于多个子块中的每一子块的变换系数的次序。
在另一实例中,本发明的方面涉及一种用于在视频编码过程中编码变换系数的方法,所述方法包括:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及编码变换系数的一维阵列。
在另一实例中,本发明的方面涉及一种用于在编码过程中编码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及编码变换系数的一维阵列。
在另一实例中,本发明的方面涉及一种用于在视频编码过程中编码变换系数的设备,所述设备包括:用于将变换系数的块划分成多个子块的装置;用于根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列的装置,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及用于编码变换系数的一维阵列的装置。
在另一实例中,本发明的方面涉及一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:将变换系数的块划分成多个子块;根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列,其中子块扫描次序包括扫描多个子块中的每一者的次序,且其中系数扫描次序包括扫描多个子块中的每一者内的变换系数的次序;以及编码变换系数的一维阵列。
一个或一个以上实例的细节阐述于随附图式和以下描述中。其它特征、目标和优点将从描述和图式以及从权利要求书显而易见。
附图说明
图1为说明可经配置以执行本发明的技术的实例视频译码系统的框图。
图2为说明可经配置以执行本发明的技术的实例视频编码器的框图。
图3为说明可经配置以执行本发明的技术的实例视频解码器的框图。
图4为说明有效性映射译码过程的概念图。
图5A为说明用于变换系数译码的实例扫描型样和方向的概念图。
图5B为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
图5C为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
图5D为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
图5E为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
图5F为说明用于变换系数译码的实例扫描型样和方向的另一概念图。
图6为说明视频数据的块的变换系数的上下文自适应译码的实例的概念图。
图7为说明将变换系数的块划分成子块的实例的概念图。
图8A为说明经划分成子块的变换系数的块的实例Z字形子块扫描次序的概念图。
图8B为说明经划分成子块的变换系数的块的实例水平子块扫描次序的概念图。
图8C为说明经划分成子块的变换系数的块的实例垂直子块扫描次序的概念图。
图8D为说明经划分成子块的变换系数的块的实例对角线子块扫描次序的概念图。
图8E为说明经划分成子块的变换系数的块的实例对角线子块扫描次序的概念图,其为图8D中所展示的扫描的逆向扫描。
图9A和9B说明子块的变换系数的实例对角线系数扫描次序和子块的对角线子块扫描次序。
图10A和10B说明相对于图9A和9B中所展示的扫描的子块的变换系数的实例逆向对角线系数扫描次序和子块的逆向对角线子块扫描次序。
图11A和11B说明子块的变换系数的实例逆向垂直系数扫描次序和子块的逆向垂直子块扫描次序。
图12A和12B说明子块的变换系数的实例逆向水平系数扫描次序和子块的逆向水平子块扫描次序。
图13为说明对视频数据的子块的变换系数进行上下文自适应译码的实例的概念图。
图14为说明对视频数据的子块的变换系数进行上下文自适应译码的另一实例的概念图。
图15为说明根据本发明的技术的实例视频编码过程的流程图。
图16为说明根据本发明的技术的实例视频解码过程的流程图。
图17为说明用于对视频数据的子块的变换系数进行上下文自适应译码的实例方法的流程图。
具体实施方式
视频译码装置可通过利用空间和时间冗余来压缩视频数据。举例来说,视频编码器可通过相对于相邻的先前经译码块而译码视频数据的块来利用空间冗余。同样地,视频编码器可通过相对于先前经译码图片(还称为图片)的视频数据而译码视频数据的块来利用时间冗余。明确地说,视频编码器可从空间相邻者的数据或从先前经译码图片的数据预测当前块。视频编码器接着可将块的残余计算为块的实际像素值与块的经预测像素值之间的差。即,块的残余可包含在像素(或空间)域中的逐像素差值。
因此,为了译码块(例如,视频数据的预测单元),首先导出块的预测值。可经由帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)导出预测值(还称为预测性块)。因此,可使用相对于同一图片(或切片)中的相邻参考块中的参考样本的空间预测来帧内译码(I)一些预测单元,且可相对于其它先前经译码图片(或切片)中的参考样本的参考块来单向帧间译码(P)或双向帧间译码(B)其它预测单元。参考样本可包含参考块中的实际像素和/或(例如)通过内插产生的合成的参考样本。在每一情况下,参考样本可用以形成待译码的块的预测性块。
为了进一步压缩块的残余值,视频编码器可将残余值变换成将尽可能多的数据(还被称为“能量”)压紧成尽可能少的系数的变换系数集合。变换(例如)使用离散余弦变换(DCT)、整数变换、卡忽南拉维(Karhunen-Loeve,K-L)变换或另一变换将残余值从空间域中的像素等级(例如,明度和/或色度等级)转换到变换域中的变换系数。变换系数对应于大小通常与原始块相同的二维变换系数矩阵。换句话说,通常存在恰好与原始块中的像素一样多的变换系数。然而,由于变换,变换系数中的许多变换系数可具有等于零的值。
视频编码器接着可量化变换系数以进一步压缩视频数据。量化大体上涉及将相对大范围内的值映射到相对小范围中的值,因此减少表示经量化变换系数所需要的数据量。视频编码器可通过根据预定义算法应用量化参数(QP)来量化变换系数。在量化之后,变换系数中的一些变换系数可具有零值。另外,在例如变换跳跃模式的某些视频译码模式中,变换可不存在且可将量化直接应用于预测残余。
熵译码器接着将熵译码(例如,上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率间隔分割熵译码(PIPE)或其类似者)应用于经量化变换系数。为了熵译码经量化变换系数的块,通常执行扫描过程使得根据特定扫描次序将块中的经量化变换系数的二维(2D)阵列重布置成变换系数的有序一维(1D)阵列(即,向量)。将熵译码应用于变换系数的向量。经量化变换系数的扫描使变换系数的2D阵列串行化以用于熵译码器。
根据一些实例,可在编码变换系数的值(其可被称为变换系数的“等级”)之前编码视频块中的有效系数(即,非零变换系数)的位置。译码有效系数的位置的过程可被称为有效性映射译码。有效性映射包含指示有效系数的位置的二进制值的二维阵列。
举例来说,视频数据的块的有效性映射可包含1和0的2D阵列,其中1指示块内的有效变换系数的位置,且0指示块内的非有效(零值)变换系数的位置。1和0可被称为“有效系数旗标”。另外,在一些实例中,有效性映射可包含1和0的另一2D阵列,其中1指示根据与块相关联的扫描次序在块内的最后有效系数的位置,且0指示块内的所有其它系数的位置。在此情况下,1和0被称为“最后有效系数旗标”。在其它实例中,不使用这些最后有效系数旗标。更确切来说,可在发送有效性映射的剩余部分之前首先译码块中的最后有效系数。在任何情况下,视频数据的块的有效性映射译码可消耗用以译码块的显著百分比的视频位速率。
在扫描、译码有效性映射之后,视频译码器可扫描和译码每一变换系数的等级。举例来说,视频译码器可将每一非零变换系数的绝对值(即,等级)转换成二进制形式。以此方式,可(例如)使用一元码或其它码产生一个或一个以上位或“二进位(bin)”以表示变换系数来使每一非零变换系数的等级“二进制化”。另外,可包含数个其它二进制化的语法元素以允许视频解码器解码视频数据。
在一些实例中,有效性映射的扫描次序可不同于系数等级的扫描次序。在其它实例中,可协调变换系数的扫描次序使得系数等级的扫描与有效性映射的扫描相同,即,扫描方向和扫描型样相同。另外,如上文所注明,可反向执行针对系数等级和有效系数的扫描,即,如从块中的最后有效系数进行到块中的第一系数(DC分量)的反向扫描。为了促进反向扫描,视频译码器可在扫描之前识别最后有效系数。一旦识别到块中的最后有效系数,那么可针对有效性映射和系数等级两者应用反向扫描次序。
在扫描之后,由于较高频率下的减少的能量且由于可使一些非零系数在位深度减小之后变为零值系数的量化效应,通常将取决于扫描方向而在1D阵列的一端处对数个零系数进行分组。可在熵译码器设计中利用串行化的1D阵列中的系数分布的这些特性以改进译码效率。换句话说,如果非零系数可经由某一适当扫描次序有效地布置于1D阵列的一部分中,那么由于许多熵译码器的设计可预期优选译码效率。举例来说,熵译码可译码一连串零值系数,从而提供更有效率的符号以用于译码。
作为实例,在将DCT应用于变换系数时,常常存在非零系数接近2D变换单元的左上角(即,低频率区)的较高概率。因此,如果从左上角开始扫描变换系数,那么熵译码效率可能增加,此情形可增加在串行化的一连串系数的相对开始处将非零系数分组在一起的概率。另外,可接近串行化阵列的彼端将零值系数分组在一起,此情形可增加熵译码效率。
在所提议的HEVC标准中采用对角线(或波前)扫描次序以用于扫描经量化变换系数。如上文所提及,对于变换为DCT的实例,经由变换和量化,非零变换系数可位于接近块的左上区的低频率区域处。结果,在可首先遍历左上区的对角线扫描过程之后,非零变换系数可更有可能位于1D阵列之前部分中。对于首先从右下区遍历的对角线扫描过程,非零变换系数通常更有可能位于1D阵列之后部分中。
虽然上文的实例涉及对角线扫描以实现将更多非零系数置于1D阵列的一端处的目标,但可在视频译码器(例如,视频编码器或视频解码器)译码变换系数时使用不同扫描次序。在一些情况下,对角线扫描可为有效的。在其它情况下,例如Z字形、垂直或水平扫描的不同类型的扫描可更为有效。所实施的特定扫描可取决于各种准则,例如速率失真度量。
可以多种方式产生不同扫描次序。一个实例为,对于变换系数的每一块,可从数个可用扫描次序选择“最佳”扫描次序。视频编码器接着可针对每一块将通过相应索引表示的一组扫描次序当中的最佳扫描次序的索引的指示提供到解码器。可通过应用若干扫描次序和选择在将非零系数置于1D向量的开始或结尾附近方面最有效的扫描次序来确定最佳扫描次序的选择,从而促进有效率的熵译码。
在另一实例中,可基于与相关预测单元的译码有关的各种因素(例如,预测模式(I、B、P)、块大小、变换或其它因素)确定当前块的扫描次序。在一些情况下,因为可在编码器侧和解码器侧两者处推断相同信息(例如,预测模式),所以可能不需要将扫描次序索引的指示提供到解码器。而事实上,视频解码器可存储在知晓块的预测模式情况下指示适当扫描次序的配置数据和将预测模式映射到特定扫描次序的一个或一个以上准则。
为了进一步改进译码效率,可用扫描次序可能并非总是恒定的。而事实上,可启用某一调适使得(例如)基于已译码的系数来适应性地调整扫描次序。一股来说,可以特定方式进行扫描次序调适使得根据选定扫描次序,零系数和非零系数更有可能分组在一起。
在一些视频译码器中,初始可用扫描次序可呈极规则形式,例如纯水平、垂直、对角线或Z字形扫描。或者,扫描次序可经由训练过程导出且因此可看似有些随机。训练过程可涉及将不同扫描次序应用于块或一系列块,以识别(例如)在非零值系数和零值系数的有效放置方面产生合乎需要的结果的扫描次序,如上文所提及。
如果从训练过程导出扫描次序或如果可选择多种不同扫描次序,那么可在编码器侧和解码器侧两者处存储特定扫描次序。指定这些扫描次序的数据量可为相对大的。举例来说,对于32×32变换块,扫描次序可含有1024个变换系数位置。因为可存在不同大小的块且对于变换块的每一大小可存在数个不同扫描次序,所以需要节省的总数据量不可忽略。
相比之下,例如对角线、水平、垂直或Z字形次序的规则扫描次序可不需要存储,或可需要最少存储。然而,例如前向水平或垂直扫描的规则扫描将从左方或顶部一直到右方或底部来扫描行/列,接着返回到左方或顶部以扫描下一行/列。对于大块,扫描次序的此类“强”定向可能效率不高,这是因为在行/列的结尾处的变换系数与下一行/列的开始处的变换系数之间可存在极小相关。
在一些实例中,为了改进效率和/或简化实施,可将变换系数的块划分成子集,所述子集可采取多个子块的形式。举例来说,对于软件或硬件视频译码器来说,对例如32×32的大块实施Z字形或对角线扫描可为负担重的(例如,计算效率低的)。因此,在将块划分成子块之后,接着可扫描和译码子块。关于视频编码器,可扫描来自子块的变换系数的二维阵列以形成变换系数的一维阵列,接着编码所述变换系数。关于视频解码器,可接收且解码变换系数的一维阵列,接着使用所述系数来重建构二维子块。
本发明的技术大体上涉及扫描和译码变换系数的子块。举例来说,如本文中所描述,系数扫描次序可描述在子块内扫描和译码变换系数的次序。子块扫描次序可描述扫描和译码子块自身的次序。根据本发明的方面,系数扫描次序可具有与子块扫描次序相同的定向。举例来说,如本文中所描述,扫描定向可大体上指代扫描方向、型样或总扫描次序。即,Z字形型样(例如,如关于图5A所展示和描述)可被称为具有Z字形定向。另外,方向为对角线的扫描(例如,如关于图5D-5F所展示和描述)可被称为具有对角线定向。根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。
举例来说,根据本发明的方面,视频译码器可将大于预定子块大小的块再分成子块。在一些实例中,视频译码器可将块划分成4×4子块,但还可使用多种其它子块大小(例如,2×2、8×8、16×16等等)。如果视频译码器针对图片(或切片)的所有块使用相同子块大小,那么可由于子块大小的均匀性在硬件实施方面实现增益。然而,均匀子块大小并非进行本发明的技术所必要的。
在将变换系数的块划分成子块之后,视频译码器可按系数扫描次序扫描子块的变换系数,以及按子块扫描次序扫描子块自身。根据本发明的方面,系数扫描次序和子块扫描次序可具有相同定向(例如,相同扫描型样、方向或次序)。即,例如,视频译码器可按系数扫描次序以对角线方式扫描子块的变换系数中的每一者(例如,包含有效性、正负号、等级等等)。视频译码器还可按子块扫描次序跨越子块以对角线方式进行扫描。为了说明,扫描子块的次序可指定:首先扫描子块内的系数,其次接着扫描第二子块内的系数,等等,而系数扫描的次序指定扫描给定子块内的系数的次序。
在其它实例中,根据本发明的方面,系数扫描次序可不同于子块扫描次序。即,例如,视频译码器可执行对角线子块扫描次序和Z字形系数扫描次序。如下文更详细所描述,视频译码器可基于(例如)速率失真度量适应性地确定子块和系数扫描次序。
在一些实例中,视频译码器可逆向地执行扫描。另外,根据一些方面,视频译码器可顺序地扫描和译码子块。即,视频译码器可在按子块扫描次序移到下一子块之前按系数扫描次序扫描和译码当前子块的变换系数。
本发明的方面还涉及使用子块自适应扫描次序执行扫描(例如,CABAC中的有效性映射扫描或系数等级扫描)以用于熵译码。在一个实例中,对于相对大的块大小(例如,32×32或16×16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。然而,以下技术可用于可再分的任何大小块。如上文所注明,自适应扫描可帮助将块的非零变换系数分组在一起。
在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文熵译码时)。举例来说,在使用对角线扫描在子块内进行扫描时,子块内的左上系数的上下文可取决于经处理的先前系数(例如,定位于当前变换系数下方的变换系数)。上下文相依性可在熵译码时强加不合需要的延迟。为了避免此相依性且因此增强并行化,本发明的方面涉及修改可导出上下文的位置,所述位置可被称为上下文支持邻域。举例来说,本发明的技术包含确定移除两个连续系数的相依性的上下文支持邻域,从而允许视频译码器并行地处理两个二进位。在一些实例中,相依性移除可从两个连续系数增加到三个、四个或四个以上连续系数。在那些状态下,可修改每一位置处的上下文支持邻域以在给定特定扫描次序的情况下在邻域中移除上下文相依性。
图1为说明根据本发明的实例的实例视频编码和解码系统10的框图,所述视频编码和解码系统10可经配置以利用用于译码变换系数的技术。如图1中所展示,系统10包含经由通信信道16将经编码视频发射到目的地装置14的源装置12。经编码视频还可存储于存储媒体34或文件服务器36上且可在需要时通过目的地装置14存取。源装置12和目的地装置14可包括广泛多种装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的智能电话的电话手机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台或其类似者。在许多情况下,可配备这些装置以用于无线通信。
因此,通信信道16可包括适合用于经编码视频数据的发射的无线信道、有线信道或无线和有线信道的组合,例如射频(RF)频谱或一个或一个以上物理发射线,或无线和有线媒体的任何组合。通信信道16可形成基于包的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信信道16大体上表示用于将视频数据从源装置12发射到目的地装置14的任何合适通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。
根据本发明的实例的用于译码变换系数的技术可适用于支持例如以下各者的多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视发射、卫星电视发射、流式视频发射(例如,经由因特网)、编码数字视频以存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频流式发射、视频播放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22和发射器24。在源装置12中,视频源18可包含例如以下各者的源:视频捕获装置(例如,视频摄像机)、含有先前捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一个实例,如果视频源18为视频摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码且可适用于无线和/或有线应用。
可由视频编码器20来编码所捕获、预捕获或计算机产生的视频。经编码视频信息可根据通信标准(例如,无线通信协议)通过调制解调器22调制且经由发射器24发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器和一个或一个以上天线。
还可将通过视频编码器20编码的所捕获、预捕获或计算机产生的视频存储到存储媒体34或文件服务器36上以供稍后消耗。存储媒体34可包含蓝光(Blu-ray)光盘、DVD、CD-ROM、快闪存储器或用于存储经编码视频的任何其它合适的数字存储媒体。接着可通过目的地装置14存取存储于存储媒体34上的经编码视频以用于解码和播放。
文件服务器36可为能够存储经编码视频且将彼经编码视频发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,针对网站)、FTP服务器、网络附接存储(NAS)装置、本地磁盘驱动器或能够存储经编码视频数据且将其发射到目的地装置的任何其它类型的装置。经编码视频数据从文件服务器36的发射可为流式发射、下载发射或两者的组合。文件服务器36可经由包含因特网连接的任何标准数据连接通过目的地装置14存取。此情形可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器、以太网、USB等)或两者的组合。
在图1的实例中,目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调制所述信息以产生用于视频解码器30的经解调制位流。经由信道16传达的信息可包含通过视频编码器20产生的供视频解码器30在解码视频数据时使用的多种语法信息。此语法还可包含于存储于存储媒体34或文件服务器36上的经编码视频数据内。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成式显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一股来说,显示装置32向用户显示经解码视频数据,且可包括例如以下各者的多种显示装置中的任一者:液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据例如目前在开发中的高效率视频译码(HEVC)标准的视频译码标准操作,且可遵照HEVC测试模型(HM)。HEVC的最新工作草案(WD)(且在下文中被称为HEVC WD7)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v5.zip获得,其中更近版本可从http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zip获得,所述两个版本的全文特此如同在本文中所阐述股以引用的方式并入。或者,视频编码器20和视频解码器30可根据例如ITU-T H.264标准的其它专属或工业标准或这些标准的扩展而操作,ITU-T H.264标准替代地被称为MPEG-4第10部分(高级视频译码(AVC))。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。
ITU-T H.264/MPEG-4(AVC)标准由ITU-T视频译码专家群(VCEG)连同ISO/IEC动画专家群(MPEG)一起制定为称为联合视频小组(JVT)的集体合作的产品。在一些方面中,本发明中所描述的技术可应用于大体遵照H.264标准的装置。H.264标准由ITU-T研究小组且在日期为2005年3月描述于ITU-T推荐H.264(用于一股视听服务的高级视频译码)中,其在本文中可被称为H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
JCT-VC致力于开发HEVC标准。HEVC标准化努力是基于视频译码装置的演进模型,其被称为HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-TH.264/AVC的现有装置的若干额外能力。举例来说,H.264提供9个帧内预测编码模式,而HM可提供多达33个帧内预测编码模式。
HEVC标准将视频数据的块称为译码单元(CU)。一股来说,CU具有与根据H.264译码的宏块相似的目的,除CU不会具有大小区别之外。因此,可将CU分裂成子CU。一股来说,在本发明中对CU的参考可指代图片的最大译码单元(LCU)或LCU的子CU。举例来说,位流内的语法数据可定义LCU,LCU依据像素数目为最大译码单元。可将LCU分裂成子CU,且可将每一子CU分裂成子CU。位流的语法数据可定义LCU可分裂的最大次数,其被称为最大CU深度。因此,位流还可定义最小译码单元(SCU)。
LCU可与阶层式四叉树数据结构相关联。一股来说,四叉树数据结构包含每个CU一个节点,其中根节点对应于LCU。如果将CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于子CU中的一者。四叉树数据结构的每一节点可为对应CU提供语法数据。举例来说,在四叉树中的节点可包含分裂旗标,其指示是否将对应于节点的CU分裂成子CU。CU的语法元素可递归地定义,且可取决于是否将CU分裂成子CU。
未被分裂的CU可包含一个或一个以上预测单元(PU)。一股来说,PU表示对应CU的全部或一部分,且包含用于检索PU的参考样本的数据。举例来说,在PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,在PU经帧间模式编码时,PU可包含定义PU的运动向量的数据。举例来说,定义运动向量的数据可描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考列表(例如,列表0或列表1)。举例来说,定义PU的用于CU的数据还可描述将CU分割成一个或一个以上PU。分割模式可在CU是未经译码、经帧内预测模式编码还是经帧间预测模式编码之间而为不同的。
具有一个或一个以上PU的CU还可包含一个或一个以上变换单元(TU)。在使用PU的预测之后,视频编码器可计算CU的对应于PU的部分的残余值。可对残余值进行变换、量化和扫描。TU未必限于PU的大小。因此,对于同一CU来说,TU可大于或小于对应PU。在一些实例中,TU的最大大小可为对应CU的大小。本发明还使用术语“块”来指代CU、PU或TU中的任一者。
视频编码器20可实施本发明的技术中的任一者或全部以在视频译码过程中改进变换系数的编码。同样地,视频解码器30可实施这些技术中的任一者或全部以在视频译码过程中改进变换系数的解码。如本发明中所描述的视频译码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样地,视频译码可指代视频编码或视频解码。
根据本发明的方面,视频编码器20和/或视频解码器30可处理多个子块中的块(例如,TU)的变换系数。子块的大小可相同或不同。视频编码器20和/或视频解码器30可按系数扫描次序扫描子块的变换系数且可按子块扫描次序扫描子块自身。即,子块扫描次序可指定:首先扫描第一子块中的系数,其次扫描第二子块中的系数,第三个扫描第三子块中的系数,等等。系数扫描次序接着可指定扫描每一子块内的系数的次序。根据本发明的方面,视频编码器20和/或视频解码器30可针对系数扫描次序和子块扫描次序使用相同定向(例如,扫描型样、方向或次序)。即,根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。在其它实例中,子块扫描次序可不同于系数扫描次序(例如,在适应性地确定子块扫描次序和系数扫描次序的实例中)。
举例来说,在将变换系数的块划分成子块(或接收变换系数的子块)之后,视频编码器20和/或视频解码器30可按系数扫描次序扫描子块的变换系数,以及按子块扫描次序扫描子块自身。即,例如,视频编码器20和/或视频解码器30可按系数扫描次序以对角线方式扫描子块的变换系数中的每一者。视频编码器20和/或视频解码器30还可按子块扫描次序跨越子块以对角线方式进行扫描。在一些实例中,视频编码器20和/或视频解码器30可逆向地执行扫描。另外,根据一些方面,视频编码器20和/或视频解码器30可顺序地扫描和译码子块。即,视频编码器20和/或视频解码器30可在按子块扫描次序移到下一子块之前按系数扫描次序扫描和译码当前子块的变换系数(例如,包含有效性、正负号、等级等等)。
根据一些方面,视频编码器20和/或视频解码器30可执行自适应子块扫描次序。在一个实例中,对于相对大的块大小(例如,32×32或16×16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。视频编码器20和/或视频解码器30可基于块大小、块的预测模式(例如,帧内/帧间预测模式)、相邻块的信息(预测模式、运动信息、扫描索引)和/或从编码器处的全速率失真决策和来自解码器处的经编码位流的语法而自适应地确定块的子块扫描次序和系数扫描次序。
尽管未在图1中展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以处置共同数据流或单独数据流中的音频和视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30各自可实施为例如以下各者的多种合适编码器电路中的任一者:一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将软件指令存储于合适的非暂时性计算机可读媒体中,且使用一个或一个以上处理器以硬件执行指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中的任一者可作为组合式编码器/解码器(CODEC)的部分而集成在相应装置中。
图2为说明可使用如本发明中所描述的用于译码变换系数的技术的视频编码器20的实例的框图。虽然可出于说明的目的而在图2中关于所提议的HEVC译码来描述视频编码器20的某些方面,但应理解可执行本发明的技术而无关于可需要扫描变换系数的其它译码标准或方法的限制。
在图2的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、帧内预测单元46、参考图片缓冲器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。图2中所说明的变换处理单元52为将实际变换应用于残余数据的块的单元,且将不与可被称为CU的变换单元(TU)的变换系数的块混淆。对于视频块重建构,视频编码器20还包含反量化单元58、反变换处理单元60和求和器62。还可包含解块滤波器(图2中未展示)以对块边界进行滤波从而从经重建构视频移除块效应伪像。在需要时,解块滤波器通常将对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频图片或切片。可将图片或切片划分成多个视频块,例如,最大译码单元(LCU)。运动估计单元42和运动补偿单元44执行所接收视频块相对于一个或一个以上参考图片中的一个或一个以上块的帧间预测性译码,以提供时间压缩。帧内预测单元46可执行所接收视频块相对于在与待译码的块相同的图片或切片中的一个或一个以上相邻块的帧内预测性译码,以提供空间压缩。
模式选择单元40可(例如)基于针对每一模式的速率失真分析来选择译码模式(帧内或帧间)中的一者,且将所得经帧内译码或经帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建构经编码块以用于参考图片中。可将一些视频图片指定为I帧,其中I帧中的所有块是在帧内预测模式下编码。在一些情况下,帧内预测单元46可(例如)在通过运动估计单元42执行的运动搜索不产生对块的充分预测时执行P或B帧中的块的帧内预测编码。
运动估计单元42和运动补偿单元44可高度集成,但为概念性目的而分别说明。运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前图片中的预测单元相对于参考图片的参考样本的位移。参考样本可为被发现在像素差方面紧密匹配包含经译码的PU的CU的部分的块,像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量确定。通过运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测单元的值。此外,在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。
运动估计单元42通过比较预测单元与存储于参考图片缓冲器64中的参考图片的参考样本来计算经帧间译码图片的预测单元的运动向量。在一些实例中,视频编码器20可计算存储于参考图片缓冲器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可计算参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置和分数像素位置的运动搜索且输出具有分数像素精度的运动向量。运动估计单元42将经计算运动向量发送到熵编码单元56和运动补偿单元44。通过运动向量识别的参考图片的部分可被称为参考样本。参考样本可定义像素值以用于形成待译码的当前块的预测性像素值。运动补偿单元44可(例如)通过检索由PU的运动向量识别的参考样本来计算当前CU的预测单元的预测值。
作为通过运动估计单元42和运动补偿单元44执行的帧间预测的替代,帧内预测单元46可帧内预测编码所接收块。假定块的编码次序是从左向右、从上而下,帧内预测单元46可相对于相邻的先前经译码块(例如,在当前块上方的块、在当前块右上方的块、在当前块左上方的块或在当前块左方的块)编码所接收块。帧内预测单元46可通过多种不同帧内预测模式来配置。举例来说,帧内预测单元46可基于经编码的CU的大小而通过特定数目个方向性预测模式(例如,33个方向性预测模式)来配置。
帧内预测单元46可通过(例如)计算各种帧内预测模式的误差值和选择产生最低误差值的模式而选择帧内预测模式。方向性预测模式可包含用于组合空间上相邻像素的值且将组合值应用于PU中的一个或一个以上像素位置的功能。一旦计算出PU中的所有像素位置的值,帧内预测单元46便可基于PU与待编码的所接收块之间像素差而计算预测模式的误差值。帧内预测单元46可继续测试帧内预测模式直到发现产生可接受误差值的帧内预测模式为止。帧内预测单元46接着可将PU发送到求和器50。
视频编码器20通过从经译码的原始视频块减去通过运动补偿单元44或帧内预测单元46计算的预测数据而形成残余块。求和器50表示执行此减法运算的一个或一个以上组件。残余块可对应于像素差值的二维矩阵,其中残余块中的值的数目与对应于残余块的PU中的像素的数目相同。残余块中的值可对应于PU中与待译码的原始块中的共置像素的值之间的差(即,误差)。所述差可取决于经译码的块的类型而为色度或明度差。
变换处理单元52可从残余块形成一个或一个以上变换单元(TU)。变换处理单元52将例如离散余弦变换(DCT)、方向性变换或概念上类似的变换的变换应用于TU,产生包括变换系数的视频块。变换处理单元52可将所得变换系数发送到量化单元54。在例如变换跳跃模式的某些视频译码模式中,变换处理单元52可将残余块直接发送到量化单元54而不执行变换。在这些例子中,尽管实际上未将变换应用于残余值,但残余值在本文中仍可被称为“变换系数”。
量化单元54接着可量化变换系数。熵编码单元56接着可根据指定扫描次序执行对矩阵中的经量化变换系数的扫描。本发明将熵编码单元56描述为执行扫描。然而,应理解,在其它实例中,例如变换处理单元52、量化单元54或视频编码器20中的另一单元的其它处理单元可执行扫描。
根据本发明的方面,熵编码单元56可扫描使用多个子块的2D TU的变换系数。举例来说,熵编码单元56可按系数扫描次序扫描子块的变换系数且可按子块扫描次序扫描子块自身。根据本发明的方面,熵编码单元56可针对系数扫描次序和子块扫描次序使用相同定向(例如,扫描型样、方向或次序)。即,根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。在其它实例中,子块扫描次序可不同于系数扫描次序(例如,在适应性地确定子块扫描次序和系数扫描次序的实例中)。
举例来说,熵编码单元56可产生变换系数的TU。在扫描TU以使TU串行化之前,熵编码单元56可将TU划分成多个子块。熵编码单元56接着可按系数扫描次序扫描子块的变换系数,以及按子块扫描次序扫描子块自身。即,在实例中,出于说明的目的,熵编码单元56可按系数扫描次序以对角线方式扫描子块的变换系数中的每一者。熵编码单元56还可按子块扫描次序跨越子块以对角线方式进行扫描(扫描子块自身)。在一些实例中,熵编码单元56可逆向地执行扫描。另外,根据一些方面,熵编码单元56可顺序地扫描和译码子块。即,熵编码单元56可在按子块扫描次序移到下一子块之前按系数扫描次序扫描和译码与当前子块的变换系数相关联的所有二进位。在其它实例中,熵编码单元56可在译码下一二进位之前译码整个TU(包含所有子块)的特定二进位。
根据一些方面,熵编码单元56可执行自适应子块扫描次序。在一个实例中,对于相对大的块大小(例如,32×32或16×16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。熵编码单元56可基于块大小、块的预测模式(例如,帧内/帧间预测模式)、相邻块的信息(预测模式、运动信息、扫描索引)和/或从编码器处的全速率失真决策和来自解码器处的经编码位流的语法而适应性地确定块的子块扫描次序和系数扫描次序。
一旦扫描了变换系数(或在扫描期间),那么熵编码单元56可将例如CAVLC、PIPE或CABAC的熵译码应用于系数。另外,熵编码单元56可编码运动向量(MV)信息和用于在视频解码器30处解码视频数据的多种其它语法元素中的任一者。语法元素可包含有效性映射,所述有效性映射具有指示特定系数是否有效(例如,非零)的有效系数旗标和指示特定系数是否为最后有效系数的最后有效系数旗标(在一些实例中,最后有效系数位置可能未经译码)。视频解码器30可使用这些语法元素来重建构经编码视频数据。在通过熵编码单元56进行熵译码之后,可将所得经编码视频发射到另一装置(例如,视频解码器30)或将其存档以供稍后发射或检索。
在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文信息熵译码时)。举例来说,在使用对角线扫描在子块内进行扫描时,针对子块内的左上系数的特定二进位(例如,有效性映射二进位)的上下文可取决于经处理的先前系数(例如,定位于当前变换系数下方的变换系数)。上下文相依性可在熵译码时强加不合需要的延迟。为了避免此相依性且因此增强并行化,熵编码单元56可修改上下文支持邻域。举例来说,熵编码单元56可确定移除两个连续系数的上下文相依性的上下文支持邻域,从而允许熵编码单元56并行地编码两个二进位。即,根据本发明的方面,可移除来自通常将用以导出上下文的位置集合(即,上下文支持邻域)的一个或一个以上位置,从而建立减小的上下文集合。在一些实例中,熵编码单元56可将相依性移除从两个连续系数增加到三个、四个或四个以上连续系数。在那些状态下,可修改每一位置处的上下文支持邻域以在给定特定扫描次序的情况下在邻域中移除上下文相依性。
反量化单元58和反变换处理单元60分别应用反量化和反变换以在像素域中重建构残余块(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块与参考图片缓冲器64的图片中的一者的预测性块相加来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建构残余块以计算子整数像素值,从而用于在运动估计中使用。求和器62将经重建构残余块与通过运动补偿单元44产生的经运动补偿预测块相加以产生经重建构视频块,从而用于存储于参考图片缓冲器64中。经重建构视频块可通过运动估计单元42和运动补偿单元44用作为参考块以帧间译码后续视频图片中的块。
图3为说明视频解码器30的实例的框图,所述视频解码器30解码经编码视频序列。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考图片缓冲器82和求和器80。
熵解码70在可为由图2的熵编码单元56使用的过程的反向过程中熵解码经编码视频。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据。帧内预测单元74可基于用信号发送的帧内预测模式和来自当前图片的先前经解码块的数据而产生当前图片的当前块的预测数据。
在一些实例中,熵解码单元70(或反量化单元76)可使用匹配通过视频编码器20的熵编码单元56(或量化单元54)使用的扫描次序的扫描来扫描所接收值。尽管可在反量化单元76中执行系数的扫描,但出于说明的目的,扫描将描述为通过熵解码单元70执行。另外,尽管出于说明的容易起见展示为单独功能单元,但熵解码单元70、反量化单元76和视频解码器30的其它单元的结构和功能性可彼此高度集成。
视频解码器30可从经编码位流接收识别通过视频编码器20使用的扫描次序的信令。或者或另外,可通过视频解码器30基于经译码视频的特性(例如,预测模式、块大小、变换或其它特性)来推断扫描次序。作为另一实例,视频编码器20和视频解码器30可针对所有使用情况使用预定扫描次序和上下文,且因而将不需要经编码位流中的信令。
根据本发明的技术,通过视频解码器30确定的扫描次序可包含子块扫描次序和系数扫描次序,所述扫描次序定义如何将来自1D向量的变换系数扫描到经划分成多个子块的2D块中。解码器可基于2D块的大小推断变换系数的块的子块的数目和/或大小。在其它实例中,可在经编码视频位流中指示子块的数目和/或大小。
不管如何确定扫描次序,熵解码单元70皆使用通过编码器使用的扫描次序的反向次序来将1D向量扫描到2D阵列中。根据本发明的技术,熵解码单元70可执行将变换系数从1D向量的区段扫描到2D块的多个子块中的扫描过程。此过程可为上文参看图2所描述的过程的反向过程。
举例来说,根据本发明的方面,熵解码单元70可解码且反向扫描在多个子块中的TU。即,熵解码单元70可按系数扫描次序扫描子块的变换系数且可按子块扫描次序扫描子块自身。根据本发明的方面,熵解码单元70可针对系数扫描次序和子块扫描次序使用相同定向(例如,扫描型样、方向或次序)。即,根据本发明的方面,子块扫描次序的定向可匹配系数扫描次序的定向。在其它实例中,子块扫描次序可不同于系数扫描次序(例如,在适应性地确定子块扫描次序和系数扫描次序的实例中)。
举例来说,熵解码单元70可接收与TU相关联的变换系数的串行化阵列。熵解码单元70可扫描子块中的变换系数以重建构2D TU。即,熵解码单元70可按系数扫描次序扫描变换系数,以及按子块扫描次序扫描子块自身。在一实例中,出于说明的目的,熵解码单元70可按系数扫描次序以对角线方式扫描所接收变换系数中的每一者以重建构2D子块。
熵解码单元70还可按子块扫描次序以对角线方式扫描经重建构子块(在产生子块时)以重建构TU。在一些实例中,熵解码单元70可逆向地执行扫描。另外,根据一些方面,熵解码单元70可顺序地扫描和译码子块。即,熵解码单元70可在按子块扫描次序移到下一子块之前按系数扫描次序扫描且解码与当前子块的变换系数相关联的所有二进位。在其它实例中,熵解码单元70可在解码下一二进位之前解码整个TU(包含所有子块)的特定二进位。
根据一些方面,熵解码单元70可执行自适应子块扫描次序。在一个实例中,对于相对大的块大小(例如,32×32或16×16块大小),可代替强水平和垂直扫描次序而使用子块自适应扫描次序,如上文所描述。熵解码单元70可基于块大小、块的预测模式(例如,帧内/帧间预测模式)、相邻块的信息(预测模式、运动信息、扫描索引)和/或从编码器处的全速率失真决策和来自解码器处的经编码位流的语法而自适应地确定块的子块扫描次序和系数扫描次序。
在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文信息熵译码时)。举例来说,当使用对角线扫描在子块内进行扫描时,子块内的左上系数的上下文可取决于经处理的先前系数(例如,定位于当前变换系数下方的变换系数)。上下文相依性可在熵译码时强加不合需要的延迟。为了避免此相依性且因此增强并行化,熵解码单元70可使用经修改的上下文支持邻域。举例来说,熵解码单元70可使用移除两个连续系数的上下文相依性的上下文支持邻域,从而允许熵解码单元70并行地解码两个二进位。在一些实例中,熵解码单元70可将相依性移除从两个连续系数增加到三个、四个或四个以上连续系数。在那些情况下,可修改每一位置处的上下文支持邻域以在给定特定扫描次序的情况下在邻域中移除上下文相依性。
通过熵解码单元70产生的变换系数的2D阵列可经量化,且大体上可匹配通过视频编码器20的熵编码单元56扫描的变换系数的2D阵列以产生变换系数的1D向量。反量化单元76反量化(即,解量化)位流中所提供且通过熵解码单元70解码的经量化变换系数。反量化过程可包含常规过程,例如,类似于针对HEVC提议或通过H.264解码标准定义的过程。反量化过程可包含使用通过视频编码器20针对CU所计算的量化参数QP,以确定量化的程度,且同样地确定应所述要应用的反量化的程度。反量化单元76可在变换系数从1D向量转换到2D阵列之前或之后反量化所述系数。
反变换单元58应用反变换,例如,反DCT、反整数变换、反KLT、反旋转变换、反方向性变换或另一反变换。在一些实例中,反变换处理单元78可基于来自视频编码器20的信令或通过从一个或一个以上译码特性(例如,块大小、译码模式或其类似者)推断变换来确定反变换。在一些实例中,反变换处理单元78可基于在包含当前块的LCU的四叉树的根节点处的用信号发送的变换来确定应用于当前块的变换。在一些实例中,反变换处理单元78可应用级联(cascaded)反变换。在使用所谓的跳跃模式译码所接收系数的实例中,反变换单元58可未应用变换。
运动补偿单元72产生经运动补偿块,从而可能基于内插滤波器来执行内插。待用于以子像素精度执行运动估计的内插滤波器的识别符可包含于语法元素中。运动补偿单元72可使用如通过视频编码器20在视频块的编码期间使用的内插滤波器,以计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收语法信息来确定通过视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
在HEVC实例中,运动补偿单元72和帧内预测单元74可使用语法信息(例如,通过四叉树提供)中的一些来确定用以编码经编码视频序列的图片的LCU的大小。运动补偿单元72和帧内预测单元74还可使用语法信息来确定描述如何分裂经编码视频序列的图片的每一CU(且同样地,如何分裂子CU)的分裂信息。语法信息还可包含指示如何编码每一分裂的模式(例如,帧内或帧间预测,且对于帧内预测为帧内预测编码模式)、每一经帧间编码PU的一个或一个以上参考图片(和/或含有参考图片的识别符的参考列表)和用以解码经编码视频序列的其它信息。
求和器80将残余块与通过运动补偿单元72或帧内预测单元74产生的对应预测块组合以形成经解码块。举例来说,求和器80可将预测性像素值(例如,明度和/或色度)与残余像素差值组合以重建构像素值。在需要时,还可应用解块滤波器来对经解码块进行滤波以便移除块效应伪像。接着将经解码视频块存储于参考图片缓冲器82中,参考图片缓冲器82提供参考块以供后续运动补偿且还产生经解码视频以供在显示装置(例如,图1的显示装置32)上呈现。
图4为大体上说明有效性映射的译码的概念图。举例来说,如上文所注明,视频编码器(例如,视频编码器20)可在编码系数的值(等级)之前编码变换块(例如,TU)中的有效系数(即,非零变换系数)的位置。译码有效性映射的过程可被称为有效性映射译码,其要求相对大百分比的位速率。视频解码器(例如,视频解码器30)可接收有效性映射且确定有效变换系数的位置。
图4的实例展示经量化变换系数的4×4块100,其在第一行中具有三个有效系数,在第二行中具有四个有效系数,在第三行中具有两个有效系数,且在第四行中无有效系数。有效性映射102包含在有效变换系数的每一位置中的(1)和在零值变换系数的每一位置中的(0)。一股来说,在确定有效性变换系数的位置之后,视频编码器20可串行化且编码有效性映射102。同样地,视频解码器30可接收串行化的有效性映射102以重建构有效系数的位置。
用于译码有效性映射的实例过程描述于D.Marpe,H.Schwarz和T.Wiegand的“H.264/AVC视频压缩标准中的基于上下文的自适应二进制算术译码(Context-BasedAdaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard)”(用于视频技术的IEEE传输电路和系统(IEEE Trans.Circuits and Systems for VideoTechnology),第13卷,第7期,2003年7月)中。在此过程中,如果如通过译码块旗标(CBF)所指示在块中存在至少一个有效系数,那么译码有效性映射,译码块旗标(CBF)可定义为:
译码块旗标:coded_block_flag为一位符号,其指示在变换系数的单个块内部是否存在有效(即,非零)系数,对于有效系数,译码块型样指示非零项。如果coded_block_flag为零,那么对于相关块,不发射其它信息。
如果在块中存在有效系数,那么通过遵循块中的变换系数的扫描次序编码有效性映射,变换系数的扫描次序如下:
变换系数的扫描:首先使用给定扫描型样将子块的变换系数等级的二维阵列映射到一维列表中,对于所述子块,coded_block_flag指示非零项。换句话说,根据扫描型样扫描具有有效系数的子块。
在给定扫描型样的情况下,可如下扫描有效性映射:
有效性映射:如果coded_block_flag指示块具有有效系数,那么编码二进制值有效性映射。对于按扫描次序的每一变换系数,发射一位符号significant_coeff_flag。如果significant_coeff_flag符号为1,即,如果在此扫描位置处存在非零系数,那么发送另一个一位符号last_significant_coeff_flag。此符号指示当前有效系数是否为块内部的最后一个有效系数,或其后是否跟随有其它有效系数。如果到达最后扫描位置且尚未通过具有值1的last_significant_coeff_flag终止有效性映射编码,那么显而易见,最后系数必须为有效的。
其它视频译码标准可使用不同过程来译码有效性信息。举例来说,所提议的HEVC标准使用类似于上文所描述的过程的过程,但未译码最后有效系数旗标。而事实上,根据HEVC,可识别最后有效系数,且扫描可按逆向次序从最后有效系数进行到第一有效系数。
根据本发明的方面,有效性映射102可形成较大有效性映射的部分。即,例如,有效性映射102可为针对有效性旗标的较大块的有效性旗标的子块。在这些实例中,根据本发明的方面,视频译码器可使用具有相同定向的扫描来扫描有效性映射102和较大有效性映射。除有效性映射102之外,如下文更详细所描述,还可按与有效性映射102相同或不同的定向扫描多种其它二进位(例如,正负号、等级等等)。
图5A-5F大体上说明用于译码变换系数的扫描型样和方向。举例来说,图5A-5F中所展示的扫描型样可通过视频编码器(例如,视频编码器20)在使变换系数(例如,有效性、等级、正负号等等)的2D阵列串行化时用作系数扫描次序。在另一实例中,扫描型样可通过视频解码器(例如,视频解码器30)在从经译码变换系数的所接收串行化阵列重建构变换系数的块时用作系数扫描次序。
在一些实例中,图5A-5F中所展示的扫描型样和方向可通过视频译码器在扫描有效性映射(例如,图4中所展示的有效性映射102)以及变换系数等级时实施。举例来说,图5A说明用于扫描视频数据的块的变换系数(例如,与TU相关联的变换系数)的前向Z字形扫描型样110。一股来说,Z字形扫描型样110以交替的45度角从块的左上方到块的右下方来遍历块。即,在图5A中所展示的实例中,第一系数112为定位于块的左上角处的DC分量,而待扫描的最后系数114定位于块的右下角处。
图5B说明用于扫描视频数据的块的变换系数的前向水平扫描型样120。一股来说,前向水平扫描型样120从左向右且从上而下遍历块。即,在图5B中所展示的实例中,第一系数122为定位于块的左上角处的DC分量,而待扫描的最后系数124定位于块的右下角处。前向水平扫描型样120从第一系数122从左向右跨越块的顶部进行。从左向右扫描每一后续行直到到达最后系数124为止。
图5C说明用于扫描视频数据的块的变换系数的前向垂直扫描型样130。一股来说,前向垂直扫描型样130从上而下且从左向右遍历块。即,在图5C中所展示的实例中,第一系数132为定位于块的左上角处的DC分量,而待扫描的最后系数134定位于块的右下角处。前向垂直扫描型样130从第一系数132朝向块的相对底部向下进行。从上而下扫描每一后续列直到到达最后系数134为止。
图5D说明用于扫描视频数据的块的变换系数的对角线扫描型样140。一股来说,对角线扫描型样140以45度角从右上方到左下方来遍历块(例如,块的左上角到块的右下角)。即,在图5D中所展示的实例中,第一系数142为定位于块的左上角处的DC分量,而待扫描的最后系数144定位于块的右下角处。对角线扫描型样140中的对角线中的每一者以45度角从块的右上角到块的左下角来遍历块。
图5E说明用于扫描视频数据的块的变换系数的另一对角线扫描型样150。一股来说,对角线扫描型样150以45度角从右上方到左下方来遍历块(例如,块的左上角到块的右下角)。即,在图5E中所展示的实例中,第一系数152为定位于块的左上角处的DC分量,而待扫描的最后系数154定位于块的右下角处。然而,对角线扫描型样150以与对角线扫描型样140相反的方向进行。对角线扫描型样150中的对角线中的每一者以45度角从块的左下角到块的右上角遍历块。
图5A-5E中所展示的扫描中的每一者以前向(即,从变换块的左上角中的较低频率变换系数到变换块的右下角中的较高频率变换系数)进行。或者,扫描中的每一者可以逆向或反向(即,从块的右下角到左上角)进行。在此实例中,如上文所注明,零值变换系数可定位于串行化阵列的开始处。
举例来说,图5F说明如图5E中所展示的扫描型样的逆向对角线扫描型样。即,图5F说明用于扫描视频数据的块的变换系数(例如,与TU相关联的变换系数)的逆向对角线扫描型样160。一股来说,逆向对角线扫描型样160以45度角从右向左且从下而上来遍历块。即,在图5F中所展示的实例中,第一系数162定位于块的右下角处,而待扫描的最后系数164定位于块的左上角处。换句话说,对角线扫描型样160中的对角线中的每一者以45度角从块的右上角到块的左下角来遍历块。DC系数可保留于块的左上角中,其中高频系数在块的右下角中。
应理解,仅出于说明的目的而提供图5A-5F中所展示的扫描型样。另外,可使用不同定向的扫描来扫描与变换系数相关联的不同分量(例如,有效性、正负号、等级等等)。可通过语法元素扫描和译码系数等级,语法元素指示系数是否具有大于1的等级和大于2的等级以及剩余等级(例如,大于2)。在一些例子中,可以变换系数等级(例如,与系数等级相关联的一个或一个以上语法元素)的相反方向来扫描有效性信息(例如,有效性旗标)。在其它例子中,可实施统一扫描型样,使得以相同方向扫描和译码有效性信息和变换系数等级。
虽然根据本发明的方面且如下文更详细描述,图5A-5F中所展示的扫描大体上被描绘为针对整个块执行,但可在变换系数的子块内且跨越所述子块使用这些扫描。即,作为实例,可将图5F中所展示的逆向对角线扫描型样160用作用于扫描子块内的变换系数的系数扫描次序,以及用于扫描子块自身的子块扫描次序。
图6为说明针对以对角线方式定向的扫描路径的上下文支持邻域的实例的概念图。举例来说,图6说明变换系数的块170和穿过当前正经译码的变换系数位置172的以对角线方式定向的扫描线171。另外,图6的实例展示具有五个元素的上下文支持邻域174A-174E(统称为上下文支持邻域174)。
举例来说,如上文所注明,可使用二进位的指示二进位具有给定值(例如,“0”或“1”)的可能性的概率估计来译码视频数据的块的每一二进位,不管所述二进位是对应于块的残余变换系数等级还是有效性映射信息。概率估计包含于还被称为“上下文模型”的概率模型内。通过确定二进位的可通过上下文支持邻域识别的上下文来选择概率模型。即,上下文支持邻域可识别可用于熵译码与变换系数相关联的特定符号或旗标的语法元素的相对位置。上下文(例如,位于上下文邻域位置中的实际值)确定概率模型。
在图6中所展示的实例中,可并行地译码沿扫描型样线171的变换系数中的任一者。此扫描型样可被称为“并行友好的”。即,可并行地译码沿扫描线171的位置,这是因为在扫描线171中无一位置包含取决于扫描线171中的另一位置的上下文支持邻域。因此,扫描线171允许并行地计算多个有效性旗标的上下文,从而实现上下文预提取以供有效性旗标译码。此扫描线还可使用推测计算来促进多个有效性旗标的译码。
然而,如下文关于图11和12更详细描述,在一些实例中,将变换系数的块划分成子块可在子块内建立上下文相依性(例如,在使用上下文熵译码时)。即,子块中的某些位置的上下文支持邻域可依赖于来自子块的按扫描次序在先前的系数。因此,本发明的方面涉及针对允许并行地译码一个以上有效性旗标的子块扫描确定上下文支持邻域(例如,可针对子块中的一个以上位置预提取上下文)。
图7大体上说明将变换系数的块180划分成呈子块184A-184P(统称为子块184)的形式的子集。举例来说,视频译码器(例如,视频编码器20或视频解码器30)可在扫描且熵译码块180时将块180划分成子块184。
根据本发明的方面,如下文更详细描述,可按系数扫描次序扫描子块184内的变换系数。另外,可按子块扫描次序扫描子块184中的每一者。在一些实例中,根据本发明的方面,系数扫描次序可匹配子块扫描次序者。
在一些实例中,视频译码器可在一个以上遍次中译码子块184的有效性信息和系数等级。举例来说,视频译码器可执行第一遍次以译码有效性信息。视频译码器接着可执行另一遍次以译码变换系数等级的二进位1(例如,大于1),执行另一遍次以译码变换系数等级的二进位2(例如,大于2),执行另一遍次以译码变换系数等级的剩余二进位(例如,剩余等级),且执行另一遍次以译码变换系数等级的正负号。然而,仅出于实例的目的而提供上文所描述的五个遍次,且可使用不同译码系统。
根据本发明的一些方面,视频译码器可顺序地译码子块184中的每一者。即,视频译码器可按变换系数扫描次序执行上文针对子块184A所描述的五个译码遍次。视频译码器接着可按子块扫描次序移到下一子块且按变换系数扫描次序执行相同的五个译码遍次。在其它实例中,可在移到下一译码遍次之前针对整个块180执行一译码遍次。即,视频译码器可针对子块184的所有变换系数按变换系数扫描次序且针对所有子块184按子块扫描次序来执行块180的第一译码遍次。视频译码器接着可以相同方式执行块180的下一译码遍次直到已完成所有译码遍次为止。
在一些实例中,视频译码器可使用统一扫描来扫描子块184的变换系数。举例来说,视频译码器可使用具有相同定向的扫描(例如,对角线扫描)来扫描有效性信息和系数等级。在其它实例中,视频译码器可使用逆向扫描或具有其它定向的扫描来扫描变换系数的分量(例如,有效性、正负号、等级等等)。举例来说,视频译码器最初可按前向扫描来扫描有效性映射信息。视频译码器接着可按逆向扫描来扫描一个或一个以上系数等级二进位。
虽然在图7中所展示的实例中,块180的大小为16×16变换系数,但还应理解,可类似地划分较大或较小块。此外,虽然子块184的大小为4×4,但应理解,可使用较大或较小子块。即,在其它实例中,子块的大小可为2×2、8×8、16×16或n×n,只要子块大小小于或等于原始块大小即可。可基于块的大小来预先确定如何再分变换系数的特定块。因而,视频解码器可基于块的大小来推断如何再分块。在其它实例中,可通过编码器在经编码视频位流中指示子块的数目和/或大小。
图8A-8E大体上说明用于译码变换系数的子块的扫描型样和方向。举例来说,图8A-8E中所展示的扫描型样可通过视频编码器(例如,视频编码器20)在串行化变换系数(例如,有效性、等级、正负号等等)的2D阵列时用作子块扫描次序。在另一实例中,扫描型样可通过视频解码器(例如,视频解码器30)在从经译码变换系数的所接收串行化阵列重建构变换系数的块时用作子块扫描次序。
举例来说,图8A大体上说明用于跨越变换系数的块的子块(用较粗边界展示的4×4子块)进行扫描之前向Z字形子块扫描次序190。一股来说,前向Z字形子块扫描次序190从块的相对顶部到块的相对底部以交替的45度角、从块的左上角中的相对第一子块192到块的右下角中的最后子块194来遍历子块中的每一者。
图8B大体上说明用于跨越变换系数的块的子块(用较粗边界展示的4×4子块)进行扫描之前向水平子块扫描次序196。一股来说,前向水平子块扫描次序196以从左向右和从上而下的一系列水平线从块的左上角中的相对第一子块198到右下角中的最后子块200来遍历子块中的每一者。即,在图8B中所展示的实例中,前向水平子块扫描次序从第一子块198从左向右跨越块的顶部进行。接着从左向右扫描每一后续行直到到达最后子块200为止。
图8C说明用于跨越变换系数的块的子块(用较粗边界展示的4×4子块)进行扫描之前向垂直子块扫描次序204。一股来说,前向垂直子块扫描次序204以从上而下和从左向右的一系列垂直线从块的左上角中的相对第一子块206到右下角中的最后子块208来遍历子块中的每一者。即,在图8C中所展示的实例中,前向垂直子块扫描次序从第一子块206朝向块的相对底部向下进行。从上而下扫描每一后续列直到到达最后子块208为止。
图8D大体上说明用于跨越变换系数的块的子块(用较粗边界展示的4×4子块)进行扫描的对角线子块扫描次序210。一股来说,对角线子块扫描次序210从左向右且从下而上以45度角、从块的左上角中的相对第一子块212到块的右下角中的最后子块214来遍历子块中的每一者。即,在图8D中所展示的实例中,对角线子块扫描次序210以从第一子块212到最后子块214的连续对角线、从块的左下角到块的右上角以45度角来遍历块。
图8A-8D中所展示的子块扫描中的每一者以前向(即,从变换块的左上角中的较低频率变换系数到变换块的右下角中的较高频率变换系数)进行。或者,扫描中的每一者可以逆向或反向(即,从块的右下角到左上角)进行。在此实例中,如上文所注明,零值变换系数可定位于串行化阵列的开始处。如果在位流中显式地译码最后系数的位置,那么逆向子块扫描可从含有相对于前向扫描的最后有效系数的子块开始。又,在此子块内,扫描可从最后有效系数(针对等级译码)或按反向扫描次序在最后有效系数之后的系数开始。或者,可总是扫描所有子块和所有系数,但可推断关于前向扫描在最后有效系数之后的系数为0。
举例来说,图8E大体上说明用于按与图8D中所展示的子块扫描次序逆向的次序跨越变换系数的块的子块(用较粗边界展示的4×4子块)进行扫描的逆向对角线子块扫描次序216。一股来说,逆向对角线子块扫描次序216从右向左且从上而下以45度角、从块的右下角中的相对第一子块217到块的左上角中的最后子块218来遍历子块中的每一者。即,在图8E中所展示的实例中,逆向对角线子块扫描次序216以从第一子块217到最后子块218的连续对角线、从块的右上角到块的左下角以45度角来遍历块。
应理解,仅出于说明的目的而提供图8A-8E中所展示的子块扫描型样。另外,可使用不同定向的扫描来扫描与变换系数相关联的不同分量(例如,有效性、正负号、等级等等)。举例来说,在一些例子中,可以变换系数等级的相反方向来扫描有效性信息(例如,有效性旗标)。在其它例子中,可实施统一扫描型样,使得以相同方向扫描有效性信息和变换系数等级。
根据本发明的方面,图8A-8E中所展示的子块扫描次序可匹配用以扫描子块中的每一者内的变换系数的相应系数扫描次序。即,用于扫描子块中的每一者内的系数的系数扫描次序可与用于扫描子块自身的子块扫描次序相同。
根据本发明的其它方面,系数扫描次序和/或子块扫描次序可为自适应的。即,视频译码器(例如,视频编码器20或视频解码器30)可基于块大小、帧内/帧间预测模式、相邻块的信息(预测模式、运动信息、扫描索引)或其它视频译码特性来选择块的子块扫描次序和/或系数扫描次序。在另一实例中,可在视频编码器20处从速率失真分析确定子块扫描次序和系数扫描次序。在此情况下,可在经编码视频位流中用信号发送指示子块扫描次序和系数扫描次序的语法(例如,来自下文所展示的表1的块扫描索引)以供在解码器处使用。
因此,可根据相同或不同扫描次序扫描图8A-8E中所展示的每一子块内的变换系数。即,可使用Z字形、水平、对角线或垂直扫描次序来扫描每一子块内的变换系数。此外,这些扫描次序中的每一者可呈前向或反向。系数扫描次序可与子块扫描次序不同或相同。另外,对于变换系数的块中的每一子块,系数扫描次序可相同,或可单独地选择每一子块的系数扫描次序。举例来说,如果子块扫描次序和系数扫描次序两者使用三种扫描(即,对角线、水平和垂直),那么如下文表1中所展示,块的潜在扫描的总数目为3×3=9。
表1-扫描次序组合
块扫描索引 子块扫描 系数扫描
0 对角线 对角线
1 对角线 水平
2 对角线 垂直
3 水平 对角线
4 水平 水平
5 水平 垂直
6 垂直 对角线
7 垂直 水平
8 垂直 垂直
应理解,仅出于实例的目的而提供表1,且其它扫描可用于在自适应扫描确定期间选择。举例来说,Z字形扫描、以上扫描中的任一者或全部的逆向扫描或其它定向的扫描还可用于选择。如别处所提及,本发明的扫描技术可适用于用于CAVLC、CABAC或其它熵译码技术的扫描过程。举例来说,前述扫描技术可适用于使用有效性映射和系数等级扫描以用于CABAC。
图9A和9B大体上更详细说明按系数扫描次序扫描多个子块的变换系数以及按子块扫描次序扫描多个子块。举例来说,关于图9A,根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可在译码块220时将块220划分成子块222A、222B、222C和222D(统称为子块222)。即,视频编码器20可在使块220的变换系数串行化时将块220划分成子块222。或者,视频解码器30可使用子块222重建构块220的变换系数。
在任何情况下,图9A中所展示的实例大体上说明用于扫描块220的变换系数的对角线系数扫描次序,而图9B大体上说明用于扫描子块222的类似定向的对角线子块扫描次序。因此,如图9A和9B中所展示,视频译码器可扫描与定位于块220的左上角中的第一子块222A相关联的变换系数。视频译码器接着可扫描与定位于块220的左下角中的第二子块222B相关联的变换系数,其后接着扫描与定位于块220的右上角中的第三子块222C和定位于块220的右下角中的第四子块222D相关联的变换系数。
如上文所注明,在一些实例中,视频译码器可在一个以上遍次中译码子块222的有效性信息和系数等级。根据本发明的一些方面,视频译码器可顺序地译码子块222中的每一者。即,视频译码器可按变换系数扫描次序执行子块222A的所有译码遍次。视频译码器接着可移到子块222B,其后接着子块222C和子块222D,在移到下一子块之前完成子块中的系数的译码。
在其它实例中,可在移到下一译码遍次之前针对整个块220执行多个译码遍次中的一个译码遍次。即,视频译码器可针对子块222的所有变换系数按变换系数扫描次序且针对所有子块222按子块扫描次序来执行块220的第一译码遍次。视频译码器接着可以相同方式执行块222的下一译码遍次直到已完成所有译码遍次为止。
在一些实例中,视频译码器可使用统一扫描来扫描子块222的变换系数。举例来说,视频译码器可使用具有图9A和9B中所展示的对角线定向的扫描来扫描有效性信息(例如,有效性旗标)和系数等级。在其它实例中,视频译码器可使用逆向扫描或具有其它定向的扫描来扫描块222的变换系数的分量(例如,有效性、正负号、等级等等)。举例来说,视频译码器最初可按前向扫描来扫描有效性映射信息。视频译码器接着可按逆向扫描来扫描一个或一个以上系数等级二进位。
虽然图9A和9B中所展示的实例大体上说明对角线扫描型样,如上文关于图5A和5B所注明,但可使用多种其它扫描型样,例如Z字形型样、自适应扫描次序、水平型样、垂直型样等等。另外,虽然图9A和9B中所展示的实例说明具有4×4子块的变换系数的8×8块,但应理解,本发明的技术可适用于其它大小的块以及其它大小的子块。举例来说,子块可包含变换单元(TU)的变换系数的任何n×n块(或在子块不为正方形的例子中,n×m块),其中n×n小于或等于TU的大小。另外,如图9A和9B中所展示,相等大小的子块可帮助实现硬件效率(例如,硬件可在固定子块大小情况下优化工作)。然而,在其它实例中,本发明的技术可适用于具有不同大小的子块。
图10A和10B还大体上更详细说明按系数扫描次序扫描多个子块的变换系数以及按子块扫描次序扫描多个子块。举例来说,关于图10A,根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可在译码块224时将块224划分成子块226A、226B、226C和226D(统称为子块226)。即,视频编码器20可在使块224的变换系数串行化时将块224划分成子块226。或者,视频解码器30可使用子块226重建构块224的变换系数。
图10A中所展示的实例大体上说明用于扫描块224的变换系数的逆向对角线系数扫描次序(相对于图9A中所展示的对角线扫描次序),而图10B大体上说明用于扫描子块222的类似定向的逆向对角线子块扫描次序(相对于图9B中所展示的对角线扫描次序)。因此,如图10A和10B中所展示,视频译码器最初可扫描与定位于块224的右下角中的第一子块226A相关联的变换系数。视频译码器接着可扫描与定位于块224的右上角中的第二子块226B相关联的变换系数,其后接着扫描与定位于块224的左下角中的第三子块226C和定位于块224的左上角中的第四子块226D相关联的变换系数。
图11A和11B还大体上更详细说明按系数扫描次序扫描多个子块的变换系数,以及按子块扫描次序扫描多个子块。举例来说,关于图11A,根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可在译码块228时将块228划分成子块230A、230B、230C和230D(统称为子块230)。即,视频编码器20可在使块228的变换系数串行化时将块228划分成子块230。或者,视频解码器30可使用子块230重建构块228的变换系数。
图11A中所展示的实例大体上说明用于扫描块228的变换系数的逆向垂直系数扫描次序,而图11B大体上说明用于扫描子块230的类似定向的逆向垂直子块扫描次序。因此,如图11A和11B中所展示,视频译码器最初可扫描与定位于块228的右下角中的第一子块230A相关联的变换系数。视频译码器接着可扫描与定位于块228的右上角中的第二子块230B相关联的变换系数,其后接着扫描与定位于块228的左下角中的第三子块230C和定位于块228的左上角中的第四子块230D相关联的变换系数。
因此,图11A和11B中所展示的实例包含扫描定向,所述扫描定向具有逆向垂直定向使得执行对块228的扫描包含:在多个子块中的每一者内按从下而上和从右向左的系数扫描次序垂直地扫描多个子块230中的每一者的变换系数,以及按块228的从下而上和从右向左的子块扫描次序跨越多个子块中的每一者垂直地进行扫描。
图12A和12B还大体上更详细说明按系数扫描次序扫描多个子块的变换系数以及按子块扫描次序扫描多个子块。举例来说,关于图12A,根据本发明的方面,视频译码器(例如,视频编码器20或视频解码器30)可在译码块234时将块234划分成子块236A、236B、236C和236D(统称为子块236)。即,视频编码器20可在使块234的变换系数串行化时将块234划分成子块236。或者,视频解码器30可使用子块236重建构块234的变换系数。
图12A中所展示的实例大体上说明用于扫描块234的变换系数的逆向水平系数扫描次序,而图12B大体上说明用于扫描子块236的类似定向的逆向垂直子块扫描次序。因此,如图12A和12B中所展示,视频译码器最初可扫描与定位于块234的右下角中的第一子块236A相关联的变换系数。视频译码器接着可扫描与定位于块234的右上角中的第二子块236B相关联的变换系数,其后接着扫描与定位于块234的左下角中的第三子块236C和定位于块234的左上角中的第四子块236D相关联的变换系数。
因此,图12A和12B中所展示的实例包含扫描定向,所述扫描定向具有逆向水平定向使得执行对块234的扫描包括:在多个子块236中的每一者内按从右向左和从下而上的系数扫描次序水平地扫描多个子块236中的每一者的变换系数,以及按块234的从右向左和从下而上的子块扫描次序跨越多个子块中的每一者水平地进行扫描。
为了促进图10A-12B中所展示的反向扫描,在一些实例中,视频译码器首先可识别相应块的最后有效系数,以及每一相应子块的最后有效系数。即,虽然如上文所描述图10A-12B中所展示的实例大体上说明扫描所有变换系数位置,但视频译码器仅可扫描有效系数。因此,视频译码器可确定子块中的每一者中的最后有效系数,且按从每一子块的最后有效系数到每一子块的相对第一有效系数(例如,DC系数)的系数扫描次序来扫描子块中的每一者。另外,视频译码器可确定块的最后有效系数,且按从块的最后有效系数到块中的相对第一有效系数(例如,DC系数)的子块扫描次序来扫描子块。因此,如果子块中的一者或一者以上不含有有效系数,那么可不扫描这些变换系数和/或子块。
图13为说明对视频数据的子块的变换系数进行上下文自适应译码的实例的概念图。举例来说,图13说明已划分成多个子块(用较粗边界展示的4×4子块)的变换系数的块240和穿过当前正经译码的变换系数位置244(实心块)的在子块内的以对角线方式定向的系数扫描次序。图13中所展示的实例包含具有四个上下文支持元素(阴影块)的上下文支持邻域246。相对于图6中所展示的上下文支持邻域,上下文支持邻域246具有移除位置248。即,例如,用于译码当前正经译码的变换系数244的有效性旗标的上下文不包含来自移除位置248的数据。
如上文所注明,可使用二进位的指示二进位具有给定值(例如,“0”或“1”)的可能性的概率估计来译码视频数据的块的每一二进位,不管所述二进位是对应于块的残余变换系数等级还是有效性信息。通过确定二进位的可通过上下文支持邻域识别的上下文来选择概率模型。即,上下文支持邻域可识别用以导出用于熵译码与变换系数相关联的特定符号或旗标的上下文的先前经译码语法元素的相对位置。上下文(例如,位于上下文邻域位置中的语法元素的实际值)确定概率模型。
在图6中所展示的实例中,可并行地译码沿扫描型样线171的变换系数中的任一者,这是因为在扫描线171中无一位置包含取决于扫描线171中的另一位置的上下文支持邻域(假定针对所有位置使用相同上下文支持邻域)。因此,扫描线171允许并行地计算多个有效性旗标的上下文,从而实现上下文预提取以供有效性旗标译码。
然而,在将Z字形或对角线扫描应用于相对大的块(例如,图6中所展示的块)时,可同时提取若干系数,从而增加硬件实施中的负担。即,沿扫描线171在当前正经译码的变换系数之前和之后处理的变换系数并不定位在与当前正经译码的变换系数相同的列或行中。常规地,按照列和行来对变换系数进行定序和存储。因此,为了能够检索连续数据,可能需要处理变换系数的一条以上对角线。在一些例子中,基于软件的单指令多数据(SIMD)实施可在使这些大规模扫描并行化时面临类似问题。引入子块的区域性可帮助减轻此问题。即,较小子块可允许以更有效方式检索数据。
虽然将变换系数的块划分成子块可帮助减轻上文所描述的问题,但子块还可在子块内建立上下文相依性(例如,在使用上下文熵译码时)。即,子块中的一些位置的上下文支持邻域可依赖于子块中的其它位置。作为出于说明的目的且在图13中展示的实例,在使用Z字形或前向对角线系数扫描次序在子块内进行扫描时,第一变换系数位置(即,在块的左上角中的当前正经译码的位置244)的上下文支持邻域通常可包含在当前正经译码的位置244正下方的位置(例如,使用图6中所展示的五个位置的上下文支持邻域)。然而,此相依性可在熵译码时强加不合需要的延迟。即,可能必须译码定位成紧挨在当前正经译码的位置244之前的子块的变换系数,以便导出当前正经译码的位置的上下文。为了避免此相依性且因此增强并行化,本发明的方面涉及修改在子块中导出上下文的位置,即,子块内的位置的上下文支持邻域。
根据本发明的方面,可从子块内的某些位置的上下文支持邻域移除一个或一个以上位置。即,在图13中所展示的实例中,视频译码器可在译码当前位置244时从上下文支持邻域移除所述移除位置248,从而提供减小的上下文支持邻域。移除位置248定位成按系数扫描次序紧接在当前位置244之前。通过在译码期间不检索与移除位置248相关联的数据,消除上文所描述的相依性。因此,视频译码器可并行地译码当前位置244和移除位置248两者(例如,可针对子块中的一个以上位置预提取上下文)。关于图13所展示和描述的上下文支持邻域移除技术可取决于并行地扫描和译码的变换系数的数目而从两个位置扩展到三个或三个以上位置。即,例如,如果并行地译码三个变换系数,那么视频译码器可移除所述移除位置248以及按扫描次序紧接在移除位置之前的位置(例如,紧接在当前位置244右边的位置)。
在一些实例中,为了执行本发明的方面,在给定系数的基于块的位置的情况下,视频译码器可按系数的扫描次序导出位置。可用以确定位置的过程如下(例如,对于8×8子块和对角线扫描的情况,用C代码表示):
Figure BDA0000458369870000321
Figure BDA0000458369870000331
其中uiPosLastX和uiPosLastX为针对块中的变换系数的X和Y位置的输入,uiWidth为块的宽度和高度(出于实例的目的,假定块为正方形)且uiScanPosLast为识别系数在子块扫描次序中的位置的输出。在已知变换系数的位置之后,视频译码器可确定是否存在任何上下文相依性。如果这些上下文相依性确实存在,那么视频译码器可从上下文支持邻域移除一个或一个以上位置,如上文所描述。
根据本发明的方面,可能不移除一些上下文支持邻域位置。举例来说,DC位置(例如,在块的左上角中)仍可使用已从图13中所展示的实例移除的上下文位置。关于是否从上下文支持邻域移除位置的确定可基于通过包含上下文支持邻域中的所有位置得到的译码效率(例如,由于当前位置为“1”或“0”的更准确估计)与通过包含所有的位置引入的时延的平衡。此外,如下文关于图14所描述,并非子块的所有位置都会遭受关于图13所描述的相同时延问题。
图14为说明对视频数据的子块的变换系数进行上下文自适应译码的另一实例的概念图。举例来说,图14说明已划分成多个子块(用较粗边界展示的4×4子块)的变换系数的块250和穿过当前正经译码的变换系数位置254(黑色实心块)的在子块内的以对角线方式定向的系数扫描次序。图14中所展示的实例包含具有五个上下文支持元素(阴影块)的上下文支持邻域256。即,图14中的上下文支持邻域包含所有五个位置。
图14中所展示的上下文支持邻域254可包含所有五个上下文支持邻域位置,这是因为关于图13所描述的上下文相依性问题不再存在。举例来说,在上下文支持邻域256中不包含紧接在当前位置254之前扫描和译码的位置。因此,上文所描述的上下文相依性问题和相关联的封闭环路时延不存在。因此,在如上文所注明的一些实例中,视频译码器可在从上下文支持邻域移除位置之前确定当前正经译码的变换系数的位置。
图15为说明用于编码变换系数的实例视频编码过程的流程图。可通过图1和2的视频编码器20执行此方法。虽然关于视频编码器20描述,但应理解,关于图15所描述的技术可通过多种其它处理器、处理单元、例如编码器/解码器(CODEC)的基于硬件的译码单元等等执行。
视频编码器20可将变换系数的块划分成多个子块(280)。在一些实例中,子块的大小可为4×4变换系数。在其它实例中,视频编码器20可形成较大或较小子块。即,在其它实例中,子块的大小可为2×2、8×8、16×16或n×n,只要子块大小小于或等于原始块大小即可。视频编码器20可基于块的大小来确定如何划分块。在此实例中,视频解码器(例如,视频解码器30)可基于块的大小来推断如何再分块。在其它实例中,视频编码器20可在经编码位流中(例如,在标头、参数集或其类似者中)指示子块的数目和/或大小。
视频编码器20还可确定多个子块的子块扫描次序和多个子块中的每一者内的变换系数的系数扫描次序(282)。一股来说,子块扫描次序可为扫描多个子块中的每一者的次序。系数扫描次序可为扫描多个子块中的每一者内的变换系数的次序。子块扫描次序和系数扫描次序可包含扫描型样和扫描方向两者(例如,具有特定方向的对角线扫描型样)。举例来说,子块扫描次序可为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,和反向对角线扫描。同样地,系数扫描次序可为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,和反向对角线扫描。
根据本发明的方面,视频编码器20可确定匹配用以扫描子块中的每一者内的变换系数的系数扫描次序的子块扫描次序。即,视频编码器20可使用与用于扫描子块自身的子块扫描次序相同的用于扫描子块中的每一者内的系数的系数扫描次序。在一实例中,出于说明的目的,如关于图10A和10B所描述,视频编码器20可确定子块扫描次序和系数扫描次序的逆向对角线定向。在此实例中,扫描按从子块的右下角到子块的左上角的系数扫描次序来遍历子块,且按从块的右下子块到块的左上子块的子块扫描次序跨越子块中的每一者以对角线方式进行扫描。
根据本发明的其它方面,视频编码器20可适应性地确定系数扫描次序和/或子块扫描次序。即,视频编码器20可基于块大小、帧内/帧间预测模式、相邻块的信息(预测模式、运动信息、扫描索引)或其它视频译码特性来选择块的子块扫描次序和/或系数扫描次序。在另一实例中,视频编码器20可基于速率失真分析来确定子块扫描次序和系数扫描次序。在此情况下,视频编码器20可将指示子块扫描次序和系数扫描次序的语法(例如,块扫描索引,例如上文在表1中所展示的块扫描索引)包含于经编码位流中以供在解码器处使用。
视频编码器20还可根据子块扫描次序和系数扫描次序执行对变换系数的块的扫描以产生变换系数的一维阵列(284)。视频编码器20还可译码变换系数的一维阵列(286)。在一些实例中,变换系数的扫描和译码可交错。即,可在扫描变换系数时译码变换系数(例如,而非在译码之前扫描块的所有变换系数)。
应理解,作为仅一个实例而提供关于图15所展示和描述的步骤。即,图15的方法的步骤无需必定按图15中所展示的次序执行,且可执行较少、额外或替代步骤。
图16为说明实例视频解码过程的流程图。在一些实例中,可通过图1和3的视频解码器30执行图16的方法。虽然关于视频解码器30描述,但应理解,关于图16所描述的技术可通过多种其它处理器、处理单元、例如编码器/解码器(CODEC)的基于硬件的译码单元等等执行。
视频解码器30可接收变换系数的一维阵列(300)。根据一些实例,可根据多个子块来译码变换系数的阵列。举例来说,子块的大小可为4×4变换系数。在其它实例中,子块可为2×2、8×8、16×16或n×n,只要子块大小小于或等于原始块大小即可。在一些实例中,视频解码器30可基于所接收块的大小(例如,基于指示块的大小的所接收语法)来推断子块的大小。在其它实例中,视频解码器30可在经编码位流中(例如,在标头、参数集或其类似者中)接收关于子块的数目和/或大小的指示。
在任何情况下,视频解码器30可确定多个子块的子块扫描次序和多个子块中的每一者内的变换系数的系数扫描次序(302)。子块扫描次序和系数扫描次序可包含扫描型样和扫描方向两者(例如,具有特定方向的对角线扫描型样)。举例来说,子块扫描次序可为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,和反向对角线扫描。同样地,系数扫描次序可为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,和反向对角线扫描。
根据本发明的方面,视频解码器30可确定匹配用以扫描子块中的每一者内的变换系数的系数扫描次序的子块扫描次序。即,视频解码器30可使用与用于扫描子块自身的子块扫描次序相同(例如,在型样和方向上)的用于扫描子块中的每一者内的系数的系数扫描次序。在实例中,出于说明的目的,如关于图10A和10B所描述,视频解码器30可确定子块扫描次序和系数扫描次序的逆向对角线定向。在此实例中,扫描按从子块的右下角到子块的左上角的系数扫描次序来遍历子块,且按从块的右下子块到块的左上子块的子块扫描次序跨越子块中的每一者以对角线方式进行扫描。
根据本发明的其它方面,视频解码器30可适应性地确定系数扫描次序和/或子块扫描次序。即,视频解码器30可基于块大小、帧内/帧间预测模式、相邻块的信息(预测模式、运动信息、扫描索引)或其它视频译码特性来选择块的子块扫描次序和/或系数扫描次序。在另一实例中,视频解码器30可在经编码位流中接收指示子块扫描次序和系数扫描次序的一个或一个以上语法元素。
视频解码器30还可根据子块扫描次序和系数扫描次序执行对变换系数的一维阵列的扫描以产生变换系数的块(304)。即,视频解码器可按系数扫描次序扫描所接收变换系数以重建构子块且按子块扫描次序扫描子块自身以重建构通过视频编码器译码的变换系数的二维块。接着,视频解码器30可反量化变换系数的二维块且将反变换应用于其以产生残余值。视频解码器接着可将残余值与预测值相加以重建构经译码块的像素。
应理解,作为仅一个实例而提供关于图16所展示和描述的步骤。即,图16的方法的步骤无需必定按图16中所展示的次序执行,且可执行较少、额外或替代步骤。
图17说明用于对视频数据的子块的变换系数进行上下文自适应译码的实例方法。在图17中所展示的实例中,视频译码器(例如,视频编码器20或视频解码器30)最初可按子块扫描次序确定当前正经译码的变换系数的位置(320)。即,视频译码器可确定当前正经译码的变换系数的相对位置,以及用以扫描变换系数的扫描的特定定向。
基于扫描次序的位置和定向,视频译码器可确定在用于对当前正经译码的变换系数进行上下文译码的上下文支持邻域中是否存在任何上下文相依性(322)。举例来说,如上文关于上文图11和12所描述,在一些例子中,子块中的变换系数位置的上下文支持邻域可依赖于紧接在当前正经译码的变换系数之前译码的位置。
根据本发明的方面,视频译码器可基于并行上下文计算参数(例如,并行地译码的变换系数的数目)来移除上下文相依性(324)。即,如上文图13的实例中所展示,在并行地译码两个变换系数的例子中,视频译码器可从上下文支持邻域移除紧接在当前正经译码的变换系数之前的位置。在其它实例中,可从上下文支持邻域移除三个或三个以上位置。视频译码器接着可使用经确定上下文支持邻域(其中上下文相依性经移除)来熵译码当前正经译码的变换系数(326)。
应理解,作为仅一个实例而提供关于图17所展示和描述的步骤。即,图17的方法的步骤无需必定按图17中所展示的次序执行,且可执行较少、额外或替代步骤。
此外,应理解,取决于实例,本文中所描述的方法中的任一者的某些动作或事件可按不同序列执行,可经添加、合并或一起省去(例如,为了实现方法的实践的目的,并非所有所描述的动作或事件为必要的)。此外,在某些实例中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序执行。另外,虽然出于清楚的目的,本发明的某些方面经描述为通过单个模块或单元执行,但应理解,本发明的技术可通过与视频译码器相关联的单元或模块的组合执行。
在一个或一个以上实例中,可以硬件、软件、固件或其任何组合来实施本发明中所描述的功能。如果以软件实施,那么可通过执行呈计算机可读指令或代码的形式的软件的基于硬件的处理单元(例如,一个或一个以上处理器)执行功能。这些指令或代码可存储于计算机可读媒体上或经由计算机可读媒体发射且通过基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体的有形非暂时性媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、快闪存储器、CD-ROM或包含光盘存储器、磁盘存储器或其它磁性存储装置的任何其它固态、光学或磁性数据存储媒体,或可用以存储呈指令或数据结构的形式的所要代码且可由计算机存取的任何其它媒体。又,将任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电和微波)而从网站、服务器或其它远程源发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包含于媒体的定义中。然而,应理解,有形计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂态媒体,而是有关非暂态有形存储媒体。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式呈现数据,而光盘通过激光以光学方式呈现数据。以上各物的组合还应包含于计算机可读媒体的范围内。
可通过例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一个或一个以上处理器来执行指令。因此,如本文中所使用,术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。又,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可通过广泛多种装置或设备执行,所述装置或设备包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的智能电话的电话手机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台或其类似者。在许多情况下,可配备这些装置以用于无线通信。另外,可通过集成电路(IC)或IC的集合(例如,芯片组)实施这些技术。经配置以执行本发明的技术的装置可包含上文提及的装置中的任一者,且在一些情况下,可为可通过硬件、软件和固件的组合形成的视频编码器或视频解码器或组合式视频编码器解码器(即,视频CODEC)。可在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能性方面,但未必需要通过不同硬件单元实现。更确切来说,如上文所描述,可将各种单元组合于编解码器硬件单元中或由交互操作的硬件单元的集合(包含如上文所描述的一个或一个以上处理器)结合合适软件和/或固件来提供所述单元。
已描述各种实例。这些和其它实例在随附权利要求书的范围内。

Claims (80)

1.一种用于在视频解码过程中解码变换系数的方法,其包括:
解码变换系数的一维阵列;以及
根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
2.根据权利要求1所述的方法,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
3.根据权利要求2所述的方法,其中所述扫描定向包括逆向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
4.根据权利要求2所述的方法,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
5.根据权利要求2所述的方法,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的所述系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的所述子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
6.根据权利要求1所述的方法,其中执行所述扫描包括在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
7.根据权利要求1所述的方法,其中执行所述扫描包括按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
8.根据权利要求1所述的方法,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
9.根据权利要求1所述的方法,其中执行所述扫描包括在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
10.根据权利要求9所述的方法,其中扫描所述当前子块的变换系数包括按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
11.根据权利要求1所述的方法,其中执行所述扫描包括在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
12.根据权利要求1所述的方法,其进一步包括:
确定所述多个子块的所述子块扫描次序;以及
确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
13.根据权利要求1所述的方法,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
14.根据权利要求13所述的方法,其中执行所述扫描进一步包括基于以下各项中的一者适应性地选择所述子块扫描次序和所述系数扫描次序:速率失真度量、块大小、预测模式,以及与相邻块相关联的信息。
15.根据权利要求1所述的方法,其中编码对变换系数的所述一维阵列进行上下文自适应二进制算术解码。
16.根据权利要求15所述的方法,其进一步包括:
确定用于并行地解码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
17.一种用于在视频解码过程中解码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:
解码变换系数的一维阵列;以及
根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
18.根据权利要求17所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
19.根据权利要求18所述的设备,其中所述扫描定向包括反向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
20.根据权利要求18所述的设备,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
21.根据权利要求18所述的设备,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的所述系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
22.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
23.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
24.根据权利要求17所述的设备,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
25.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
26.根据权利要求25所述的设备,其中为了扫描所述当前子块的变换系数,所述一个或一个以上处理器经配置以按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
27.根据权利要求17所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
28.根据权利要求17所述的设备,其中所述一个或一个以上处理器经进一步配置以执行以下步骤:
确定所述多个子块的所述子块扫描次序;以及
确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
29.根据权利要求17所述的设备,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
30.根据权利要求29所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以基于以下各项中的一者适应性地选择所述子块扫描次序和所述系数扫描次序:速率失真度量、块大小、预测模式,以及与相邻块相关联的信息。
31.根据权利要求17所述的设备,其中为了解码变换系数的所述一维阵列,所述一个或一个以上处理器经配置以对变换系数的所述一维阵列进行上下文自适应二进制算术解码。
32.根据权利要求31所述的设备,其中所述一个或一个以上处理器进一步经配置以执行以下步骤:
确定用于并行地解码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
33.一种用于在视频解码过程中解码变换系数的设备,所述设备包括:
用于解码变换系数的一维阵列的装置;以及
用于根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块的装置,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
34.根据权利要求33所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
35.根据权利要求33所述的设备,其中用于解码的装置包括用于对变换系数的所述一维阵列进行上下文自适应二进制算术解码的装置。
36.根据权利要求35所述的设备,其进一步包括:
用于确定用于并行地解码与所述变换系数相关联的有效性信息的上下文的装置,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
37.一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:
解码变换系数的一维阵列;以及
根据子块扫描次序和系数扫描次序执行对变换系数的所述一维阵列的扫描以产生变换系数的块,其中所述子块扫描次序包括扫描所述块内的多个子块中的每一子块的次序,且其中所述系数扫描次序包括扫描对应于所述多个子块中的每一子块的所述变换系数的次序。
38.根据权利要求37所述的计算机可读存储媒体,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
39.根据权利要求37所述的计算机可读存储媒体,其中所述指令进一步使所述一个或一个以上处理器对变换系数的所述一维阵列进行上下文自适应二进制算术解码。
40.根据权利要求39所述的计算机可读存储媒体,其进一步包括:
使所述一个或一个以上处理器确定用于并行地解码与所述变换系数相关联的有效性信息的上下文的指令,其中所述上下文基于当前正经解码的变换系数在所述块中的位置而变化。
41.一种用于在视频编码过程中编码变换系数的方法,其包括:
将变换系数的块划分成多个子块;
根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及
编码变换系数的所述一维阵列。
42.根据权利要求41所述的方法,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
43.根据权利要求42所述的方法,其中所述扫描定向包括逆向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
44.根据权利要求42所述的方法,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
45.根据权利要求42所述的方法,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的所述系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的所述子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
46.根据权利要求41所述的方法,其中执行所述扫描包括在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
47.根据权利要求41所述的方法,其中执行所述扫描包括按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
48.根据权利要求41所述的方法,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
49.根据权利要求41所述的方法,其中执行所述扫描包括在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
50.根据权利要求49所述的方法,其中扫描所述当前子块的变换系数包括按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
51.根据权利要求41所述的方法,其中执行所述扫描包括在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
52.根据权利要求41所述的方法,其进一步包括:
确定所述多个子块的所述子块扫描次序;以及
确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
53.根据权利要求41所述的方法,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
54.根据权利要求53所述的方法,其中执行所述扫描进一步包括基于以下各项中的一者适应性地选择所述子块扫描次序和所述系数扫描次序:速率失真度量、块大小、预测模式,以及与相邻块相关联的信息。
55.根据权利要求41所述的方法,其中编码包括上下文自适应二进制算术编码。
56.根据权利要求55所述的方法,其进一步包括:
确定用于并行地编码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
57.一种用于在编码过程中编码变换系数的设备,所述设备包括经配置以执行以下步骤的一个或一个以上处理器:
将变换系数的块划分成多个子块;
根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及
编码变换系数的所述一维阵列。
58.根据权利要求57所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
59.根据权利要求58所述的设备,其中所述扫描定向包括逆向对角线定向使得执行对所述块的所述扫描包括:按从所述多个子块中的每一者的右下角到左上角的所述系数扫描次序以对角线方式逆向扫描所述多个子块中的每一者的变换系数,以及按从所述块的右下子块到所述块的左上子块的所述子块扫描次序跨越所述多个子块中的每一者以对角线方式进行扫描。
60.根据权利要求58所述的设备,其中所述扫描定向包括逆向水平定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从右向左和从下而上的所述系数扫描次序水平地扫描所述多个子块中的每一者的变换系数,以及按所述块的从右向左和从下而上的所述子块扫描次序跨越所述多个子块中的每一者水平地进行扫描。
61.根据权利要求58所述的设备,其中所述扫描定向包括逆向垂直定向使得执行对所述块的所述扫描包括:在所述多个子块中的每一者内按从下而上和从右向左的系数扫描次序垂直地扫描所述多个子块中的每一者的变换系数,以及按所述块的从下而上和从右向左的子块扫描次序跨越所述多个子块中的每一者垂直地进行扫描。
62.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在所述多个子块中的含有变换系数的所述阵列的最后有效系数的子块中开始所述扫描。
63.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以按所述系数扫描次序从最后有效系数在所述多个子块中的每一者中开始所述扫描。
64.根据权利要求57所述的设备,其中所述子块扫描次序和所述系数扫描次序具有不同定向。
65.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在按所述子块扫描次序扫描与所述多个子块中的下一子块的变换系数相关联的二进位之前扫描与所述多个子块中的当前子块的变换系数相关联的所有二进位。
66.根据权利要求65所述的设备,其中为了扫描所述当前子块的变换系数,所述一个或一个以上处理器经配置以按所述系数扫描次序扫描有效性二进位和变换系数等级二进位。
67.根据权利要求57所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以在扫描所述块的变换系数等级二进位之前扫描所述块的有效性二进位。
68.根据权利要求57所述的设备,其中所述一个或一个以上处理器经进一步配置以执行以下步骤:
确定所述多个子块的所述子块扫描次序;以及
确定所述多个子块中的每一者内的变换系数的所述系数扫描次序。
69.根据权利要求57所述的设备,其中所述子块扫描次序和所述系数扫描次序为以下各项中的一者:前向Z字形扫描、前向水平扫描、前向垂直扫描、前向对角线扫描、反向Z字形扫描、反向水平扫描、反向垂直扫描,以及反向对角线扫描。
70.根据权利要求69所述的设备,其中为了执行所述扫描,所述一个或一个以上处理器经配置以基于速率失真度量适应性地选择所述子块扫描次序和所述系数扫描次序。
71.根据权利要求57所述的设备,其中为了编码,所述一个或一个以上处理器经配置以对变换系数的所述一维阵列进行上下文自适应二进制算术编码。
72.根据权利要求71所述的设备,其中所述一个或一个以上处理器经进一步配置以执行以下步骤:
确定用于并行地编码与所述变换系数相关联的有效性信息的上下文,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
73.一种用于在视频编码过程中编码变换系数的设备,所述设备包括:
用于将变换系数的块划分成多个子块的装置;
用于根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列的装置,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及
用于编码变换系数的所述一维阵列的装置。
74.根据权利要求73所述的设备,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
75.根据权利要求73所述的设备,其中用于编码的装置包括用于对变换系数的所述一维阵列进行上下文自适应二进制算术编码的装置。
76.根据权利要求75所述的设备,其进一步包括:
用于确定用于并行地编码与所述变换系数相关联的有效性信息的上下文的装置,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
77.一种计算机可读存储媒体,其上存储有在执行时使一个或一个以上处理器执行以下步骤的指令:
将变换系数的块划分成多个子块;
根据子块扫描次序和系数扫描次序执行对变换系数的所述块的扫描以产生变换系数的一维阵列,其中所述子块扫描次序包括扫描所述多个子块中的每一者的次序,且其中所述系数扫描次序包括扫描所述多个子块中的每一者内的所述变换系数的次序;以及
编码变换系数的所述一维阵列。
78.根据权利要求77所述的计算机可读存储媒体,其中所述子块扫描次序和所述系数扫描次序具有相同扫描定向。
79.根据权利要求77所述的计算机可读存储媒体,其中所述指令进一步使所述一个或一个以上处理器对变换系数的所述一维阵列进行上下文自适应二进制算术编码。
80.根据权利要求79所述的计算机可读存储媒体,其进一步包括:
使所述一个或一个以上处理器确定用于并行地编码与所述变换系数相关联的有效性信息的上下文的指令,其中所述上下文基于当前正经编码的变换系数在所述块中的位置而变化。
CN201280035704.1A 2011-07-19 2012-07-18 在视频译码中的系数扫描 Active CN103703776B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161509522P 2011-07-19 2011-07-19
US61/509,522 2011-07-19
US201161509926P 2011-07-20 2011-07-20
US61/509,926 2011-07-20
US201161550829P 2011-10-24 2011-10-24
US61/550,829 2011-10-24
US201161554292P 2011-11-01 2011-11-01
US61/554,292 2011-11-01
US13/551,458 2012-07-17
US13/551,458 US9756360B2 (en) 2011-07-19 2012-07-17 Coefficient scanning in video coding
PCT/US2012/047220 WO2013012930A1 (en) 2011-07-19 2012-07-18 Coefficient scanning in video coding

Publications (2)

Publication Number Publication Date
CN103703776A true CN103703776A (zh) 2014-04-02
CN103703776B CN103703776B (zh) 2017-09-15

Family

ID=46582083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280035704.1A Active CN103703776B (zh) 2011-07-19 2012-07-18 在视频译码中的系数扫描

Country Status (15)

Country Link
US (1) US9756360B2 (zh)
EP (1) EP2735151A1 (zh)
JP (2) JP2014525200A (zh)
KR (2) KR101814308B1 (zh)
CN (1) CN103703776B (zh)
AU (1) AU2012284103B2 (zh)
BR (1) BR112014001056B1 (zh)
CA (1) CA2841957C (zh)
IL (1) IL230254A (zh)
MX (1) MX347063B (zh)
MY (1) MY166576A (zh)
RU (1) RU2604421C2 (zh)
TW (1) TWI507017B (zh)
WO (1) WO2013012930A1 (zh)
ZA (1) ZA201401155B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108605133A (zh) * 2016-02-12 2018-09-28 华为技术有限公司 选择扫描顺序的方法和装置
CN109417638A (zh) * 2016-05-28 2019-03-01 世宗大学校产学协力团 视频信号的编码或解码方法及装置
CN109842803A (zh) * 2018-09-19 2019-06-04 华为技术有限公司 一种图像压缩的方法及装置
CN110999293A (zh) * 2017-07-31 2020-04-10 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
US10798390B2 (en) 2016-02-12 2020-10-06 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
CN114513661A (zh) * 2022-04-20 2022-05-17 宁波康达凯能医疗科技有限公司 一种基于方向检测的帧内图像模式决策方法与系统

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441903B1 (ko) * 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9497472B2 (en) 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in 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
KR101600615B1 (ko) * 2011-07-22 2016-03-14 구글 테크놀로지 홀딩스 엘엘씨 비디오 코딩에서 직사각형 변환을 스캐닝하기 위한 장치 및 방법
GB2561487B (en) * 2011-10-18 2019-01-02 Kt Corp Method for encoding image, method for decoding image, image encoder, and image decoder
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
US20130114687A1 (en) * 2011-11-07 2013-05-09 Sharp Laboratories Of America, Inc. Fixed intra run-level mode for cavlc in hevc
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
US9860527B2 (en) 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US9654139B2 (en) 2012-01-19 2017-05-16 Huawei Technologies Co., Ltd. High throughput binarization (HTB) method for CABAC in HEVC
US9363510B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US11025922B2 (en) * 2012-06-13 2021-06-01 Texas Instruments Incorporated Inverse transformation using pruning for video coding
US9350998B2 (en) 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
WO2014084656A1 (ko) * 2012-11-29 2014-06-05 엘지전자 주식회사 복수의 레이어를 지원하는 영상 부호화/복호화 방법 및 장치
WO2014110652A1 (en) * 2013-01-16 2014-07-24 Blackberry Limited Context determination for entropy coding of run-length encoded transform coefficients
WO2014110651A1 (en) * 2013-01-16 2014-07-24 Blackberry Limited Transform coefficient coding for context-adaptive binary entropy coding of video
US20140269896A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Multi-Frame Compression
JP6033725B2 (ja) * 2013-03-28 2016-11-30 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US9554152B2 (en) 2013-07-12 2017-01-24 Qualcomm Incorporated Concurrent processing of horizontal and vertical transforms
AU2013395426B2 (en) 2013-07-24 2017-11-30 Microsoft Technology Licensing, Llc Scanning orders for non-transform coding
GB2518823A (en) * 2013-09-25 2015-04-08 Sony Corp Data encoding and decoding
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
CN104581173A (zh) * 2015-01-13 2015-04-29 中国电子科技集团公司第三十二研究所 软解码验证模型平台
US10158874B2 (en) * 2015-09-30 2018-12-18 Apple Inc. Parallel bypass and regular bin coding
US11722677B2 (en) 2016-05-06 2023-08-08 Interdigital Madison Patent Holdings, Sas Method and system for decoder-side intra mode derivation for block-based video coding
US10798375B2 (en) * 2016-11-01 2020-10-06 Samsung Electronics Co., Ltd. Encoding method and device therefor, and decoding method and device therefor
WO2018135520A1 (ja) * 2017-01-20 2018-07-26 日本電気株式会社 量子化装置、量子化方法および記録媒体
US10244261B2 (en) * 2017-01-26 2019-03-26 Google Llc Transform coefficient coding using level maps
EP3606077A4 (en) * 2017-03-22 2021-01-06 Industry - University Cooperation Foundation Hanyang University LOOP FILTERING PROCESS ACCORDING TO AN ADAPTIVE PIXEL CLASSIFICATION STANDARD
KR102424411B1 (ko) * 2017-04-13 2022-07-25 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2019050299A1 (ko) * 2017-09-06 2019-03-14 가온미디어 주식회사 변화계수 서브그룹 스캐닝 방법에 따른 부/복호화 방법 및 장치
US11523128B2 (en) * 2018-12-27 2022-12-06 Lg Electronics Inc. Video decoding method and apparatus using residual rearrangement in video coding system
JP7436663B2 (ja) * 2019-11-26 2024-02-21 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ サンプルブロックの変換済み表現についてのコーディングコンセプト
US11765370B2 (en) * 2021-07-27 2023-09-19 Mediatek Inc. Video residual decoding apparatus using neighbor storage device with smaller storage size to store neighbor data for context selection and associated method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155302A (zh) * 2006-09-25 2008-04-02 张燕生 一种基于对图像块数据旋转及变换的视频编解码装置及方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821119A (en) 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
KR0181032B1 (ko) 1995-03-20 1999-05-01 배순훈 인터리빙을 이용한 물체 기반 부호화방법 및 장치
ITRM20010088A1 (it) 2001-02-21 2002-08-21 Idi Irccs Peptide in grado di inibire l'attivita' del fattore di crescita derivato dalle piastrine (pdgf-bb) e del fattore di crescita derivato dai fi
US6870963B2 (en) 2001-06-15 2005-03-22 Qualcomm, Inc. Configurable pattern optimizer
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
KR100472381B1 (ko) 2002-07-18 2005-03-10 삼성에스디에스 주식회사 티켓 낱장 인출장치
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
JP2007096479A (ja) 2005-09-27 2007-04-12 Nippon Telegr & Teleph Corp <Ntt> 階層間予測符号化方法および装置,階層間予測復号方法および装置,並びにそれらのプログラムおよび記録媒体
CN101292537B (zh) * 2005-11-08 2010-10-20 松下电器产业株式会社 运动图像编码方法、运动图像解码方法以及装置
JPWO2008120434A1 (ja) * 2007-03-28 2010-07-15 パナソニック株式会社 復号化回路、復号化方法、符号化回路及び符号化方法
US8619874B2 (en) 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
US8428133B2 (en) 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
US7710296B2 (en) 2007-09-19 2010-05-04 Texas Instruments Incorporated N-bin arithmetic coding for context adaptive binary arithmetic coding
KR20090097013A (ko) 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR101591825B1 (ko) 2008-03-27 2016-02-18 엘지전자 주식회사 비디오 신호의 인코딩 또는 디코딩 방법 및 장치
US8902972B2 (en) 2008-04-11 2014-12-02 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (CAVLC)
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US7932843B2 (en) 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
WO2010070897A1 (ja) * 2008-12-16 2010-06-24 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
EP2216998A1 (en) 2009-02-10 2010-08-11 Panasonic Corporation Hierarchical coding for intra
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US20110243220A1 (en) * 2010-04-05 2011-10-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
DK3435674T3 (da) 2010-04-13 2023-08-21 Ge Video Compression Llc Kodning af signifikanskort og transformationskoefficientblokke
KR102574591B1 (ko) 2010-05-12 2023-09-06 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 통합된 유효성 맵 코딩을 위한 방법 및 장치
PL3104616T3 (pl) * 2010-07-09 2017-10-31 Samsung Electronics Co Ltd Urządzenie do entropijnego dekodowania współczynników przekształcenia
DE102010035510A1 (de) 2010-08-25 2012-03-01 Areva Np Gmbh Verfahren zur Druckentlastung eines Kernkraftwerks, Druckentlastungssystem für ein Kernkraftwerk sowie zugehöriges Kernkraftwerk
US9154801B2 (en) * 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
SG191869A1 (en) * 2011-01-07 2013-08-30 Agency Science Tech & Res Method and an apparatus for coding an image
US9414056B2 (en) * 2011-01-13 2016-08-09 Samsung Electronics Co., Ltd. Video-encoding method and apparatus for same and video-decoding method and apparatus for same using a selective scan mode
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US8446301B2 (en) * 2011-04-15 2013-05-21 Research In Motion Limited Methods and devices for coding and decoding the position of the last significant coefficient
EP2727355A1 (en) * 2011-06-29 2014-05-07 Motorola Mobility LLC Methods and system for using a scan coding pattern during intra coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155302A (zh) * 2006-09-25 2008-04-02 张燕生 一种基于对图像块数据旋转及变换的视频编解码装置及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
J. SOLE: "Parallel Processing of Residual Data in HE", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *
J. SOLE等: "Unified scans for the significance map and coefficient level coding in high coding efficiency", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *
MARTIN WINKEN等: "Description of video coding technology proposal by Fraunhofer HHI", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *
YUE YU等: "Adaptive Scan for Large Blocks for HEVC", 《JOINT CLLABORATIVE TEAM ON VIDEO CODING(JCT-VC)》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582455B2 (en) 2016-02-12 2023-02-14 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
CN108605133A (zh) * 2016-02-12 2018-09-28 华为技术有限公司 选择扫描顺序的方法和装置
US10798390B2 (en) 2016-02-12 2020-10-06 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
CN108605133B (zh) * 2016-02-12 2020-10-23 华为技术有限公司 选择扫描顺序的方法和装置
CN109417638B (zh) * 2016-05-28 2022-02-08 世宗大学校产学协力团 视频信号的编码或解码方法及装置
CN109417638A (zh) * 2016-05-28 2019-03-01 世宗大学校产学协力团 视频信号的编码或解码方法及装置
CN110999293A (zh) * 2017-07-31 2020-04-10 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
CN115442607A (zh) * 2017-07-31 2022-12-06 韩国电子通信研究院 对图像编码和解码的方法及存储比特流的计算机可读介质
CN115442606A (zh) * 2017-07-31 2022-12-06 韩国电子通信研究院 对图像编码和解码的方法及存储比特流的计算机可读介质
CN115460403A (zh) * 2017-07-31 2022-12-09 韩国电子通信研究院 对图像编码和解码的方法及存储比特流的计算机可读介质
CN115474043A (zh) * 2017-07-31 2022-12-13 韩国电子通信研究院 对图像编码和解码的方法及存储比特流的计算机可读介质
CN109842803A (zh) * 2018-09-19 2019-06-04 华为技术有限公司 一种图像压缩的方法及装置
CN114513661A (zh) * 2022-04-20 2022-05-17 宁波康达凯能医疗科技有限公司 一种基于方向检测的帧内图像模式决策方法与系统
CN114513661B (zh) * 2022-04-20 2022-09-06 宁波康达凯能医疗科技有限公司 一种基于方向检测的帧内图像模式决策方法与系统

Also Published As

Publication number Publication date
AU2012284103A1 (en) 2014-02-13
JP2014525200A (ja) 2014-09-25
JP6193446B2 (ja) 2017-09-06
EP2735151A1 (en) 2014-05-28
US9756360B2 (en) 2017-09-05
MX347063B (es) 2017-04-11
CA2841957A1 (en) 2013-01-24
BR112014001056B1 (pt) 2022-11-01
TW201313028A (zh) 2013-03-16
KR20160052789A (ko) 2016-05-12
ZA201401155B (en) 2019-10-30
TWI507017B (zh) 2015-11-01
RU2014106068A (ru) 2015-08-27
US20130051475A1 (en) 2013-02-28
MX2014000718A (es) 2014-02-27
RU2604421C2 (ru) 2016-12-10
KR20140037264A (ko) 2014-03-26
WO2013012930A9 (en) 2014-09-18
CA2841957C (en) 2017-10-10
IL230254A (en) 2017-09-28
CN103703776B (zh) 2017-09-15
KR101814308B1 (ko) 2018-01-02
JP2016189598A (ja) 2016-11-04
MY166576A (en) 2018-07-17
WO2013012930A1 (en) 2013-01-24
AU2012284103B2 (en) 2016-03-10
BR112014001056A2 (pt) 2017-02-21

Similar Documents

Publication Publication Date Title
CN103703776A (zh) 在视频译码中的系数扫描
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN104221377B (zh) 一种视频译码方法、装置和计算机可读存储媒体
CN104025457B (zh) 用于最后有效系数位置译码的上下文最优化
CN103636224B (zh) 用于视频压缩中的系数等级译码的上下文
CN104025603A (zh) 最后有效系数的位置的渐进式译码
CN103999460A (zh) 在变换跳过模式中译码有效系数信息
CN105191307A (zh) 在视频译码过程中用于系数级别译码的莱斯参数更新
CN105474641A (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN103238323A (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN103250413A (zh) 视频译码中的并行上下文计算
CN103959779A (zh) 在视频译码中用于自适应环路滤波和样本自适应偏移的基于最大译码单元(lcu)或分区的语法
CN105519116A (zh) 产生用于增强层中的运动预测的经调适运动向量候选者列表的可缩放hevc装置和方法
CN103339935A (zh) 运动向量预测
CN103959775A (zh) 帧内模式视频译码
CN103563378A (zh) 存储器高效的上下文建模
CN103843347A (zh) 用于视频译码的运动向量预测值候选剪裁移除
CN103959785A (zh) 在视频译码中用于色度分量的变换单位分割
CN103238322A (zh) 在视频译码中单独地译码视频块的最后有效系数的位置
CN103931182A (zh) 帧内预测视频译码中的非正方形变换
CN103988505A (zh) 在视频数据的波前并行处理中的受约束参考图片集合
CN103891279A (zh) 用于帧内预测译码的最大概率变换
CN103444178A (zh) 用于视频译码的变换系数的译码
CN103609123A (zh) 统一合并模式和自适应运动向量预测模式候选者选择
CN104221374A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1191487

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1191487

Country of ref document: HK