CN106416248B - 用于对视频数据进行熵编码和熵解码的方法和装置 - Google Patents

用于对视频数据进行熵编码和熵解码的方法和装置 Download PDF

Info

Publication number
CN106416248B
CN106416248B CN201580027978.XA CN201580027978A CN106416248B CN 106416248 B CN106416248 B CN 106416248B CN 201580027978 A CN201580027978 A CN 201580027978A CN 106416248 B CN106416248 B CN 106416248B
Authority
CN
China
Prior art keywords
group
sample
piece
value
decoding
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.)
Active
Application number
CN201580027978.XA
Other languages
English (en)
Other versions
CN106416248A (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 CN106416248A publication Critical patent/CN106416248A/zh
Application granted granted Critical
Publication of CN106416248B publication Critical patent/CN106416248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • 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/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明揭示用于显示流压缩DSC的熵译码技术。在一个方面中,一种对视频数据进行熵译码的方法包含至少部分地基于所述视频数据的块的译码模式,将所述块分区成多个样本群组。所述方法进一步包含响应于所述群组中的至少一者中的所有所述样本均等于预定值,经由对所述至少一个群组执行逐群组跳过来对所述块进行熵译码。

Description

用于对视频数据进行熵编码和熵解码的方法和装置
技术领域
本发明涉及视频译码和压缩的领域,且明确地说,涉及视频压缩以用于在显示链路上发射,例如,显示流压缩(DSC)。
背景技术
可将数字视频能力并入到广泛范围的显示器,包含数字电视、个人数字助理(PDA)、膝上型计算机、台式监测器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝或卫星无线电电话、视频电话会议装置和类似者。显示链路用于将显示器连接到适当的源装置。显示链路的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器需要大带宽显示链路。一些显示链路不具有支撑高分辨率显示器的带宽。可使用视频压缩减少带宽要求使得可使用较低带宽显示链路将数字视频提供到高分辨率显示器。
其他人已尝试利用对像素数据的图像压缩。然而,此类方案有时并不能视觉上无损,或可能在常规显示装置中实施起来困难且昂贵。
视频电子学标准协会(VESA)已开发了显示流压缩(DSC)作为用于显示链路视频压缩的标准。例如DSC的显示链路视频压缩技术应(尤其)提供视觉无损的图片品质(即,图片具有质量等级,使得用户不能断定压缩为作用中的)。显示链路视频压缩技术还应提供用常规硬件实时实施起来简单且廉价的方案。
发明内容
本发明的系统、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文所揭示的合乎需要的属性。
在一个方面中,一种对视频数据进行熵编码的方法包括:至少部分地基于所述视频数据的块的译码模式,将所述块分区成多个样本群组;以及响应于至少一个群组中的所有样本具有等于预定值的值,经由对所述多个群组中的至少一者执行逐群组跳过,来对所述块进行熵编码,所述逐群组跳过包括发信号通知逐群组跳过,且制止对至少一个群组中样本进行编码。
在另一方面,一种用于对视频数据进行熵编码的装置包括:存储器,其经配置以存储所述视频数据;以及处理器,其与所述存储器通信且经配置以:至少部分地基于所述视频数据的块的译码模式来将所述块分区成多个样本群组;且响应于所述至少一个群组中的所有样本具有等于预定值的值,经由对所述多个群组中的至少一者执行逐群组跳过来对所述块进行熵编码,所述逐群组跳过包括发信号通知逐群组跳过值,且制止对至少一个群组中的样本进行编码。
在另一方面,一种对视频数据进行熵解码的方法包括:接收表示所述视频数据的块的位流,所述块包括多个样本群组,所述位流包含至少一个逐群组跳过值,其指示所述块的样本的对应群组不包含于所述位流中;至少部分地基于所述逐群组跳过值,经由对所述位流进行熵解码产生所述多个样本群组;以及至少部分基于所述多个样本群组以及所述块的译码模式来重构所述块。
在又一方面中,一种对视频数据进行熵解码的装置包括:存储器,其经配置以存储表示所述视频数据的块的位流,所述块包括多个样本群组,所述位流包含至少一个逐群组跳过值,其指示所述块的样本的对应群组不包含于所述位流中;以及处理器,其与所述存储器通信且经配置以:至少部分地基于所述逐群组跳过值,经由对所述位流进行熵解码来产生所述多个样本群组;以及至少部分地基于所述多个样本群组以及所述块的译码模式来重构所述块。
附图说明
图1A是说明可利用根据本发明中描述的方面的技术的实例视频编码和解码系统的框图。
图1B是说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。
图2A是说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。
图2B是说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。
图3是说明根据本发明中描述的方面的对块进行分区来用于预测译码模式的方法的图。
图4到7是说明根据本发明中描述的方面的对块进行分区来用于变换系数译码模式的方法的图。
图8是说明根据本发明中描述的方面的对块进行分区来用于变换系数译码模式的另一方法的图。
图9到11是说明根据本发明中描述的方面的对块进行分区的方法的图。
图12为说明根据本发明中描述的方面的用于对视频数据进行熵编码的方法的流程图。
图13是说明根据本发明中描述的方面的用于对视频数据进行熵解码的方法的流程图。
具体实施方式
一般来说,本发明涉及改进例如显示流压缩(DSC)等视频压缩技术的方法。更具体地说,本发明涉及用于熵译码的系统和方法,包含将视频数据块分区成多个样本群组。
虽然本文中在DSC标准的上下文中描述某些实施例,但所属领域的技术人员将了解,本文中所公开的系统和方法可适用于任何合适的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)移动图像专家组-1(MPEG-1)视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉、ITU-T H.264(也称为ISO/IEC MPEG-4AVC)、高效率视频译码(HEVC),以及此类标准的任何扩展。并且,本发明中描述的技术可变为将来开发的标准的一部分。换句话说,本发明中描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准和即将到来的视频译码标准。
熵译码是对信息进行译码的方法,其通常包含用可变长度码字来表示所述信息的每一唯一符号。在熵译码中,通常使用较短的码字来表示较常见的符号。因此,由于基于使用较短码字而使用较少的位来表示较常见的符号,因此可压缩所述信息。
版本1.0的DSC标准提出增量大小单位-可变长度译码(DSU-VLC)语义。在版本1.0的DSC标准中,每一DSU-VLC单元使用前缀和后缀部分对像素群组的残差值进行译码。本发明的至少一个方面涉及将熵译码原理并入到DSU-VLC型译码语义中(下文通常将其与DSU-VLC互换参考)。因此,本发明的至少一个方面可将与熵译码相关联的译码效率整合到DSU-VLC语义中。
存在若干流行的熵译码技术,例如霍夫曼、算术、指数-哥伦布、莱斯码等。然而,这些技术通常具有1样本/时钟的受限通过量,其对于例如高分辨率显示器和面板等某些应用程序来说可能过低。就是说,常规译码硬件可不具有能够利用流行的熵译码技术同时维持视觉上无损的译码速率的充分时钟速率,如在例如DSC标准等某些译码标准中合意的那样。因此,本发明的至少一个方面涉及熵译码技术,其具有较高的通过量,例如4样本/时钟的通过量。
视频译码标准
例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像的数字图像可包含布置成水平和垂直线的像素或样本。单个图像中的像素的数目通常有数万个。每一像素通常含有亮度和色度信息。在无压缩的情况下,将从图像编码器传达到图像解码器的信息的绝对量将使实时图像发射变得不可行。为了减少待发射的信息的量,已开发出例如JPEG、MPEG和H.263标准等数种不同压缩方法。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉、ITU-T H 264(也称为ISO/IEC MPEG-4AVC),以及包含此类标准的扩展的HEVC。
另外,VESA已开发视频译码标准(即,DSC)。DSC标准为可压缩视频以供经由显示链路传输的视频压缩标准。随着显示器的分辨率增大,驱动显示器需要的视频数据的带宽对应地增大。针对此类分辨率,一些显示链路可不具有所述带宽来将所有视频数据发射到显示器。因此,DSC标准指定用于显示链路上的可互操作、视觉无损压缩的压缩标准。
DSC标准不同于其它视频译码标准,例如,H.264和HEVC。DSC包含帧内压缩,但不包含帧间压缩,这意味着DSC标准在译码视频数据时不可使用时间信息。相比之下,其它视频译码标准可在其视频译码技术中使用帧间压缩。
视频译码系统
下文参考附图更充分地描述新颖系统、设备和方法的各个方面。然而,本发明可以许多不同形式来体现,且不应将其解释为限于贯穿本发明所呈现的任何特定结构或功能。相反地,提供这些方面以使得本发明将透彻且完整,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖无论是独立于本发明的任何其它方面而实施还是与之组合而实施的本文中所揭示的新颖系统、设备和方法的任何方面。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所公开的任何方面。
尽管本文描述了特定方面,但这些方面的许多变化和排列在本发明的范围内。尽管提到了优选方面的一些益处和优点,但本发明的范围无意限于特定益处、用途或目标。而是,本发明的方面既定广泛地适用于不同无线技术、系统配置、网络和发射协议,其中的一些是借助于实例而在图中以及在优选方面的以下描述中说明。具体实施方式和图式仅说明本发明,而不是限制由所附权利要求书和其等效物界定的本发明的范围。
附图说明若干实例。由附图中的参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等等)开始的元件未必暗示所述元件具有特定次序。而是,此些序数词仅用于指代相同或类似类型的不同元件。
图1A为说明可利用根据本发明中所描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”或“译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码和视频解码。除了视频编码器和视频解码器外,本申请案中描述的方面可扩展到其它相关装置,例如转码器(例如,可解码位流且重新编码另一位流的装置)以及中间框(例如,可修改、变换和/或另外操纵位流的装置)。
如图1A中所示,视频译码系统10包含产生稍后待由目的地装置14解码的经编码视频数据的源装置12。在图1A的实例中,源装置12与目的地装置14构成单独的装置。然而,应注意,源装置12和目的地模块14可在同一装置上或为同一装置的一部分,如在图1B的实例中所示出。
再次参考图1A,源装置12和目的地装置14可分别包括多种裝置中的任一者,包含桌上型计算机、笔记本型(例如膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话,所谓的“智能”垫)、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、视频流式传输裝置、可由实体(例如人、动物和/或另一控制装置)佩戴(或可移除地附接)的裝置,例如护目镜和/或可消耗、摄取或放置在实体内的可穿戴计算机、裝置或设备,和/或类似物。在各种实施例中,源装置12和目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1A的实例中,链路16可包括使源装置12能够实时将经编码视频数据发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码的视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于分组的网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换机、基站或任一其它设备。
在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如视频捕获装置(例如,摄像机)、含有先前所捕获视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据以作为源视频的计算机图形系统等源,或此类源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的“相机电话”或“视频电话”,如图1B的实例中所说明。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。
视频编码器20可对所捕获、预捕获或计算机产生的视频进行编码。可经由源装置12的输出接口22将经编码视频数据发射到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置31上以供稍后由目的地装置14或其它装置存取以用于解码和/或重放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器20或本文中所描述的任何其它视频编码器。
在图1A的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28可经由链路16和/或从存储装置31接收经编码视频数据。经由链路16传送或在存储装置31上提供的经编码视频数据可包含由视频编码器20所产生的多种语法元素以供由例如视频解码器30等视频解码器用于解码视频数据。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。图1A和1B中说明的视频解码器30可包括图2B中说明的视频解码器30或本文中所描述的任何其它视频解码器。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,并且还经配置以与外部显示装置界接。在其它实例中,目的地装置14可为显示装置。一般来说,显示器装置32将经解码视频数据显示给用户,且可包括多种显示器装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示器装置。
在相关方面中,图1B示出实例性视频编解码系统10′,其中源装置12和目的地装置14在装置11上或为装置11的部分。装置11可为电话手持机,例如“智能”电话等等。装置11可包含与源装置12和目的地装置14可操作通信的处理器/控制器装置13(任选地存在)。图1B的视频译码系统10′及其组件在其它方面类似于图1A的视频译码系统10及其组件。
视频编码器20和视频解码器30可根据视频压缩标准(例如,DSC)操作。或者,视频编码器20和视频解码器30可根据其它专属或行业标准(例如,ITU-T H.264标准,或者被称为MPEG-4第10部分AVC、HEVC或此类标准的扩展)来操作。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管图1A和1B的实例中未示出,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一个或一个以上处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器的部分。
视频译码过程
如上文简要提到,视频编码器20对视频数据进行编码。视频数据可包括一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20对视频数据进行编码时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的一连串位。位流可包含经译码图片和相关联的数据。经译码的图片是图片的经译码表示。
为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联数据可包含一组译码参数,例如量化参数(QP)。为了产生经译码图片,视频编码器20可将图片分割成大小相等的视频块。视频块可为样本的二维阵列。译码参数可定义用于视频数据的每一块的译码选项(例如,译码模式)。可选择译码选项以便实现所要的速率失真性能。
在一些实例中,视频编码器20可将图片分区成多个切片。切片中的每一者可包含图像(例如,帧)中的空间相异区,所述区可在无来自所述图像或帧中的其余区的信息的情况下独立地解码。每一图像或视频帧可在单一切片中编码,或每一图像或视频帧可在若干切片中编码。在DSC中,被分配来编码每一切片的目标位可大体上恒定。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称作“经译码切片”。
DSC视频编码器
图2A是说明可实施根据本发明中描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的一些或全部。
出于解释的目的,本发明在DSC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含:色彩-空间转换器105;缓冲器110;平度检测器115;速率控制器120;预测器、量化器和重构器组件125;线缓冲器130;经编索引的色彩历史135;熵编码器140;子流多路复用器145和速率缓冲器150。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。
色彩-空间转换器105可将输入的色彩-空间转换为在译码实施方案中使用的色彩-空间。举例来说,在一个示范性实施例中,输入视频数据的色彩-空间在红、绿和蓝(RGB)色彩-空间中,且以亮度Y、色度绿Cg和色度橙Co(YCgCo)色彩-空间实施译码。色彩-空间转换可通过包含移位和添加到视频数据的方法执行。应注意,可处理其它色彩空间中的输入视频数据,且也可执行到其它色彩空间的转换。
在相关方面中,视频编码器20可包含缓冲器110、线缓冲器130和/或速率缓冲器150。举例来说,缓冲器110可在其由视频编码器20的其它部分使用之前保持色彩-空间转换视频数据。在另一实例中,视频数据可存储于RGB色彩空间中,且色彩空间转换可按需要执行,因为经色彩空间转换的数据可需要更多位。
速率缓冲器150可充当视频编码器20中的速率控制机制的部分,其将在下文中结合速率控制器120更详细地被描述。花在编码每一块上的位可大体上基于所述块的性质而变化较大。速率缓冲器150可使经压缩视频中的速率变化平滑。在一些实施例中,使用恒定位率(CBR)缓冲器模型,其中以恒定位率从缓冲器取出位。在CBR缓冲器模型中,如果视频编码器20将过多的位添加到位流,那么速率缓冲器150可溢出。另一方面,视频编码器20必须添加足够位以便防止速率缓冲器150的下溢。
在视频解码器侧上,可以恒定位率将位添加到视频解码器30的速率缓冲器155(见下文进一步详细描述的图2B),且视频解码器30可针对每一块去除可变数目个位。为了确保恰当解码,视频解码器30的速率缓冲器155在经压缩位流的解码期间不应“下溢”或“溢出”。
在一些实施例中,可基于表示当前在缓冲器中的位数的值BufferCurrentSize和表示速率缓冲器150的大小(即,在任一时间点可存储在速率缓冲器150中的最大位数)的BufferMaxSize来定义缓冲器满度(BF)。BF可计算为:
BF=((BufferCurrentSize*100)/BufferMaxSize)
平度检测器115可检测视频数据中的复杂(即,非平坦)区到视频数据中的平坦(即,简单或均匀)区的改变。术语“复杂”和“平坦”将在本文中用以大体指视频编码器20编码视频数据的相应区的困难。因此,如本文中使用的术语“复杂”将视频数据的区域大体描述为视频编码器20编码起来复杂,且可(例如)包含纹理化的视频数据、高空间频率和/或编码起来复杂的其它特征。如本文中使用的术语“平坦”将视频数据的区域大体描述为视频编码器20编码起来简单,且可(例如)包含视频数据中的平滑梯度、低空间频率和/或编码起来简单的其它特征。视频编码器20可使用复杂区域与平坦区域之间的过渡来减少经编码视频数据中的量化假影。具体来说,当识别到从复杂区域到平坦区域的过渡时,速率控制器120以及预测器、量化器和重构器组件125可减少此类量化假影。
速率控制器120确定一组译码参数,例如QP。QP可由速率控制器120基于速率缓冲器150的缓冲器满度和视频数据的图像活动来调整,以便最大化针对目标位率的图片质量,这确保速率缓冲器150不溢出或下溢。速率控制器120还选择用于视频数据的每一块的特定译码选项(例如,特定模式),以便达成最优率失真性能。速率控制器120使重建的图像的失真最小化,使得其满足位率约束,即,总实际译码速率拟合于目标位率内。
预测器、量化器和重构器组件125可执行视频编码器20的至少三个编码操作。预测器、量化器和重构器组件125可在多种不同模式下执行预测。一种实例预测模式为中值自适应预测的经修改版本。中值自适应预测可由无损JPEG标准(JPEG-LS)实施。可由预测器、量化器和重构器组件125执行的中值自适应预测的经修改版本可允许三个连续样本值的并行预测。另一实例预测模式为块预测。在块预测中,从上方线路或同一线路左方中的先前经重构像素预测样本。在一些实施例中,视频编码器20和视频解码器30两者都可对经重构像素执行相同搜索,以确定块预测使用情况,且因此,不需要在块预测模式中发送位。在其它实施例中,视频编码器20可执行搜索并在所述位流中发信号通知块预测向量,使得视频解码器30无需执行单独搜索。也可实施中点预测模式,其中使用组件范围的中点来预测样本。中点预测模式可在甚至最坏情况样本中实现对经压缩视频需要的位数的限界。如下文参考图3到6进一步论述,预测器、量化器和重构器组件125可经配置以通过执行图3到6中所说明的方法来预测(例如,编码或解码)视频数据块(或任何其它预测单元)。
预测器、量化器和重构器组件125还执行量化。举例来说,可经由可使用移位器实施的幂2量化器执行量化。应注意,可实施其它量化技术,代替幂2量化器。预测器、量化器和重构器组件125执行的量化可基于由速率控制器120确定的QP。最终,预测器、量化器和重构器组件125还执行重构,所述重构包含将逆量化残差添加到预测值并且确保结果不落在样本值的有效范围之外。
应注意,以上描述的由预测器、量化器和重构器组件125执行的预测、量化和重构的实例方法只是说明性的且可实施其它方法。还应注意,预测器、量化器和重构器组件125可包含用于执行预测、量化和/或重构的一或多个子组件。进一步注意,预测、量化和/或重构可由若干单独的编码器组件代替预测器、量化器和重构器组件125执行。
线缓冲器130保持来自预测器、量化器和重构器组件125的输出,使得预测器、量化器和重构器组件件125和经编索引的色彩历史135可使用经缓冲视频数据。经编索引的色彩历史135存储最近使用的像素值。视频编码器20可经由专用语法直接引用这些最近使用的像素值。
熵编码器140基于经编索引的色彩历史135和由平度检测器115识别的平度过渡编码预测残差以及从预测器、量化器和重构器组件组件125接收的任何其它数据(例如,由预测器、量化器和重构器组件125识别的索引)。在一些实例中,熵编码器140可每时钟每子流编码器编码三个样本。子流多路复用器145可基于无标头分组复用方案来多路复用位流。这允许视频解码器30并行地运行三个熵解码器,从而有助于每时钟解码三个像素。子流多路复用器145可最优化分组顺序,使得可通过视频解码器30有效地解码分组。应注意,可实施熵写码的不同方法,所述方法可有助于每时钟幂2像素(例如,2个像素/时钟或4个像素/时钟)的解码。
DSC视频解码器
图2B是说明可实施根据本发明中描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
出于解释的目的,本发明在DSC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图2B的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含:速率缓冲器155;子流多路分用器160;熵解码器165;速率控制器170;预测器、量化器和重构器组件175;经编索引的色彩历史180;线缓冲器185以及色彩-空间转换器190。视频解码器30的所说明的组件类似于上文结合图2A中的视频编码器20所描述的对应组件。因而,视频解码器30的组件中的每一者可以类似于如上文所描述的视频编码器20的对应组件的方式操作。
DSC中的切片
如上所指出,切片大体指可在不使用来自图像或帧中的区域中的其余者的信息的情况下独立地解码的在所述图像或帧中的空间上截然不同的区域。每一图像或视频帧可在单一切片中编码,或每一图像或视频帧可在若干切片中编码。在DSC中,被分配来编码每一切片的目标位可大体上恒定。
量化参数(QP)
如上文所描述,视频译码可包含例如经由预测器、量化器和重构器组件125来量化视频数据。量化可将损失引入信号中,且损失的量可由速率控制器120所确定的QP控制。并非为每一QP存储量化步长,而是可随所述QP而变来指定按比例缩放矩阵。每一QP的量化步长可从按比例缩放矩阵导出,且所导出的值可不必为二的幂,即所导出的值也可为非二的幂。
跳过模式
当给定块中的单一色彩坐标的所有值均为零时,那么可使用跳过模式来有效地译码所述块的色彩坐标值。在跳过模式译码的某些实施方案中,可将1位旗标或跳过值发信号通知到解码器,以指示当前块的色彩分量的值是使用跳过模式来译码(如果当前块的色彩分量的所有值均为零)或不在跳过模式中(如果当前块的色彩分量的所述值中的至少一者是非零)。在跳过模式中,当当前块的色彩分量的所有值均为零时,可将1位旗标发信号通知到解码器,且译码器可制止译码所述块的色彩分量的值(即,可跳过译码所述块的色彩分量的值)。还可将跳过模式应用于具有小于块的大小的色彩分量的一组值或应用于一组多个块。跳过模式还可单独应用于块的每一色彩分量,例如当当前块的色彩分量的所有值均为零时,可将跳过模式应用于当前块的色彩分量的值。在一些实施方案中,可将跳过模式应用于一组或块的所有色彩分量。如下文更详细地描述,跳过模式还可应用于小于块的单元。
DSC v1.0中的熵译码
如上文所论述,在DSC v1.0中,已提出DSU-VLC。在DSU-VLC中,使用前缀和后缀部分来译码每一单元(包含一个群组的色彩分量的样本的单元,其中每一群组具有3个像素)的残差值。所述前缀部分指示跟在后缀部分中残差值的大小(例如位数),且所述后缀部分指示所述单元中的三个样本的实际残差值。使用如由前缀部分指示的相同位数来在二的补码中译码所述群组中的所有三个残差值。
对于前缀部分,代替于译码当前单元的残差值的实际大小,预测性地译码前缀值,其中基于同一分量的先前单元的残差值的大小并且还通过考虑当前单元与先前单元之间的量化参数的变化来预测当前单元的残差值的大小。举例来说,令值requiredSize[0]、requiredSize[1]和requiredSize[2]分别表示先前群组的经量化残差值的所需大小。由此,课将经预测大小计算为:
predictedSize=(requiredSize[0]+requiredSize[1]+2*requiredSize[2]+2)>>2
通过考虑当前单元与先前单元之间的量化参数的差异,可将经预测大小调整为:
adjPredictedSize=CLAMP(predictedSize-qLevelChange,0,maxSize-1)
此处,值maxSize是当前色彩坐标的最大可能残差值,且将CLAMP函数定义为:
CLAMP(X,MIN,MAX)((X)>(MAX)?(MAX):((X)<(MIN)?(MIN):(X)).
最后,当前单元的残差的大小与经预测大小之间的非负差可经一元译码。通过译码零值来指示负差,例如残差的大小无变化。
在此上下文中,现有熵译码技术,例如霍夫曼、算术、指数-哥伦布、莱斯码等,具有1个样本/时钟的受限通过量,其对于某些应用程序(例如,高分辨率显示器和面板)来说可能过低。就是说,对于使用常规硬件的高分辨率显示器和面板(例如4K显示器)来说,视频数据的视觉无损熵译码可能在经济上是不可行的。
为了用针对DSC的现有方法来克服上述问题,本发明在下文描述改进。在本发明中,下文描述的技术和方法可单独或彼此以任何组合来使用。
根据本发明一或多个方面,本文描述的是提供较高通过量(例如4个样本/时钟)的熵译码技术。然而,还可基于特定实施方案来实现其它通过量值。
与在DSC v1.0中实施的DSU-VLC相比,本发明的熵译码技术的特征可包含(但不限于)以下特征。
经量化块残差的译码:跳过和DSU-VLC译码的原理可以使得每一群组仅在每一群组具有至少一个非零值时才经DSU-VLC译码的方式来组合。
变换系数的译码:可通过首先从经量化变换系数构建群组,且接着使用DSU-VLC的类似原理来译码每一群组,来译码每一块的经量化变换系数(例如离散余弦变换(DCT))。另外,可组合跳过与DSU-VLC译码,来译码每一群组的经量化变换系数。
前缀预测:可例如仅基于先前群组的最大所需大小来预测当前群组的大小。另外,在预测所述大小时,熵译码技术可监视、考虑和/或纳入QP的效应,尤其在量化步长不是2的幂时。
前缀译码:可译码当前大小与经预测大小的负和正差两者。
下文进一步提供关于以上方面的进一步细节。注意,本文所述的熵译码技术可例如独立地应用于译码块中的每一色彩分量。
经量化块残差的译码
图3是说明根据本发明中描述的方面的对块进行分区来用于预测译码模式(例如块预测模式或差分脉冲代码调制(DPCM)模式)的方法的图。在图3的实例中,所述块包含十六个样本201到231,其中每一样本例如为经量化残差。在一个实施方案中,所述块中的经量化残差201到231的每一分量可例如根据以下步骤来熵译码。图3中所说明的图还可适用于基于用于预测译码模式的多个经分区群组来重构所述块。
所述块中的样本201到231可分区成4个群组,如图3的实例中所说明。然而,所述块可具有任意数目的样本,其可分区成任意数目的群组。另外,本发明中描述的熵译码技术的通过量可与所述块中的群组的数目有关。取决于所述实施方案,样本201到231可例如为1D预测残差,和/或块预测残差,和/或帧内预测残差,和/或2D中值自适应经预测残差。然而,取决于实施例,所述样本可表示任何其它类型的残差。
尽管图3的实例中说明均匀分组策略,但在进一步相关方面中,可建构不均匀分组策略,其中每一群组中的样本的数目是不相同的。
在以下描述中,说明包围在括号中的样本群组。在图3中示出的实例中,分别用样本{201到207}、{209到215}、{217到223}和{225到231}来建构群组1、2、3和4。在另一实例(未说明)中,可分别用样本{201到203}、{205到209}、{211到219}和{221到231}来建构群组1、2、3和4。在又一个实例(未说明)中,可分别用样本{201}、{203到207}、{209到217}和{219到231}来建构群组1、2、3和4。在又一实例(未说明)中,可分别用样本{201}、{203和205}、{207到217}和{219到231}来建构群组1、2、3和4。在又一实例(未说明)中,可分别用样本{201}、{203到209}、{211到219}和{221到231}来建构群组1、2、3和4。然而,上文所列的样本的分组仅为实例,且可执行将所述块分区成多个群组的其它方法。
尽管上文的描述已说明并描述了可用于对块进行分区的若干分组技术,但当重构所述块时,可应用逆向技术。举例来说,当已将块分区成如图3中所示的四个样本群组时,可重构所述块以包含样本201到231。这还应用于在每一群组中具有不同数目的样本的其它上述分组策略。
当与所述块中的特定色彩坐标相关联的所有样本具有值零时,那么可使用跳过模式来译码与所述块的色彩坐标相关联的那些样本,例如可发信号通知每块(每色彩坐标)1位旗标,以指示所述块中的当前色彩坐标是否是使用跳过模式来编码。因此,可为所述块的每一色彩坐标发信号通知1位旗标,以指示所述块的对应色彩坐标是否是使用跳过模式来译码。在其它实施方案中,可为所述块中的所有色彩坐标发信号通知单个1位旗标。在本发明中,经由跳过模式来编码所述块中的当前色彩坐标被称作逐块跳过模式。
举例来说,逐块跳过模式可不适用于所有三个色彩坐标。在一个实施方案中,将逐块跳过模式应用于色度色彩坐标而非用于亮度色彩坐标。
在一些实施方案中,当至少一个非零值包含在所述块中的一个色彩坐标内时,那么熵译码技术可涉及仅在所述群组具有一个非零值时才使用DSU-VLC来译码每一群组。举例来说,可发信号通知与群组相关联的1位旗标或群组跳过值,以指示所述群组是否是使用跳过模式来编码。在本发明中,经由跳过模式编码每一群组被称作逐群组跳过模式。类似地,1位旗标或群组跳过值的解码还可被称作逐群组跳过模式。
在一些实施方案中,对于每一群组,进行搜索来确定所述群组内的样本的所有值是否为零。在一个实例中,当所述群组中的所有值为零时,那么可经由指示相关联群组中的样本的所有值均等于零的对应旗标(例如上文所提到的1位旗标)来将值(例如值“1”)发信号通知解码器。当所述群组中的至少一个样本具有非零值时,那么可经由对应旗标来将值(例如值“0”)发信号通知到解码器,接着是所述群组的DSU-VLC译码。换句话说,可用指示所述群组内的至少一个样本拥有非零值的值来发信号通知与所述群组相关联的对应旗标。在另一实例中,当所述群组内的样本的所有值均为零时,可发信号通知值“0”,且当所述群组含有具有非零值的至少一个样本时,可发信号通知值“1”。然而,取决于实施例,可以任何其它合适的方式来发信号通知逐群组跳过模式是否已用于当前群组的发信号通知,举例来说,通过经由多个位来发信号通知当前群组是否已使用逐群组跳过的指示。
变换系数的译码
图4到7是说明根据本发明中描述的方面的对块进行分区来用于变换系数译码模式的实例技术的图。在图4的实例中,所述块包含十六个样本201到231,其中每一样本例如为帧内预测残差或块预测残差。可将变换应用于样本201到231,以获得多个变换系数C00到C15。在一个实施方案中,所述块中的经量化变换系数的每一分量可例如根据以下步骤来熵译码。尽管图4到7中说明的图通常是依据对块进行分区来用于变换译码模式来描述,但还可在解码所说明的变换系数群组时执行逆向程序。
单个分量的所述块中的经量化变换系数可分区为N个群组。在一个实例中,N是4,从而产生1x16的块大小。可使用单个1x16DCT变换(图4的元件300)来变换所述块,或可使用不同的变换大小(例如1x8DCT变换或1x4DCT变换(见图5到7)来变换所述块。在这些实施方案中的每一者中,下文说明N=4群组的建构。然而,在其它实施例中,可将群组N的数目选择为变换系数的任何合适的分区。
注意,图4中的十六个样本201到231可表示帧内预测残差或块预测残差。
图4中示出根据本发明中描述的方面的对块进行分区来用于变换系数译码模式的实施例。在图4的实例中,从十六个块样本201到231建构四个群组,其是使用1x16DCT变换300来变换的。在一些实施方案中,应用于所述样本的变换可为任何合适的变换,例如阿达马(Hadamard)变换。
如图4中所示,DCT变换产生多个变换系数C00到C15。在一些实施方案中,变换系数从直流电(DC)系数C00(其是零频系数)开始到最高频率系数C15来排序。如图4中所示,将所述变换系数分区或分组成四个群组。如本文所使用,术语“分区”和“分组”通常指代将样本或变换系数一起关联到群组中的过程,且不必包含物理上分离所述样本或变换系数。除非另外说明,否则在本发明中,类似排序可用于表示变换系数,其中群组1中的第一系数表示DC值,所述多个变换系数之中的最后一个变换系数与最高频率分量相关联,且剩余变换系数是在DC值与最高频率分量之间从低到高(相对于相关联的频率分量)排序。在图4的实例中,群组1包含变换系数C00、群组2包含变换系数C01到C03,群组3包含变换系数C04到C07,且群组4包含变换系数C08到C15。由此,与在值方面“接近”的频率分量相关联的频率变换系数可分组在一起。举例来说,可通过包含表示处于与对应群组相关联的频率范围内的频率分量的变换系数来定义每一群组。哪些频率分量分组在一起(即,哪些变换系数分组在一起)的选择可基于各种准则来选择,例如测试以确定导致较高效率译码的分组。
图5是说明根据另一实例的变换系数的分区(或分组)的图。在图5的实例中,将两1x8DCT变换301和303应用于块样本201到231。然而,如上文所论述,可在不脱离本发明的各方面的情况下,应用其它类型的变换。
第一1x8DCT变换301产生第一多个变换系数C00到C07,且第二1x8DCT变换303产生第二多个变换系数C10到C17。在位置次序中,因每一1x8DCT变换而产生的对应变换系数可与同一频率分量相关联。举例来说,变换系数C00和C10可均为DC系数,且变换系数C07和C17可与最高频率分量相关联。在图5的实例中,群组1包含变换系数C00和C10,群组2包含变换系数C01、C02、C11和C12,群组3包含变换系数C03、C04、C13和C14,且群组4包含变换系数C05到C07以及C15到C17。
图6是说明根据另一实例的变换系数的分区的图。在图6的实例中,将四个1x4DCT变换305和311应用于块样本201到231。然而,如上文所论述,可在不脱离本发明的各方面的情况下,应用其它类型的变换。
第一1x4DCT变换305产生第一多个变换系数C00到C03,第二1x4DCT变换307产生第二多个变换系数C10到C13,第三1x4DCT变换309产生第三多个变换系数C20到C23,且第四1x4DCT变换311产生第四多个变换系数C30到C33。来自每一1x4DCT变换305到311的对应变换系数可与相同频率相关联。举例来说,变换系数C00、C10、C20和C30可为DC系数,且变换系数C03、C13、C23和C33可与最高频率系数相关联。在图6的实例中,群组1包含变换系数C00、C10、C20和C30,群组2包含变换系数C01、C11、C21和C31,群组3包含变换系数C02、C12、C22和C32,且群组4包含变换系数C03、C13、C23和C33。
图7是说明根据另一实例的变换系数的分区或分组的图。在图7的实例中,将两个1x4DCT变换305和307以及一个1x8DCT变换303应用于块样本201到231。然而,如上文所论述,可在不脱离本发明的各方面的情况下,应用其它类型的变换。
第一1x4DCT变换305产生第一多个变换系数C00到C03,第二1x4DCT变换307产生第二多个变换系数C10到C13,且1x8DCT变换303产生第三多个变换系数C20到C27。来自每一DCT变换305到307的对应变换系数可具有相同或类似的频率。举例来说,变换系数C00、C10和C20可为DC系数。在图7的实例中,群组1包含变换系数C00、C10和C20,群组2包含变换系数C01、C11、C21和C22,群组3包含变换系数C02、C12、C23和C24,且群组4包含变换系数C03、C13、C25、C26和C27。
尽管已结合图5到7描述了某些实例,但还可实施变换系数的其它变换和分区。举例来说,可依次应用1x8、1x4和1x4变换,例如[8 4 4],或可依次应用1x4、1x8和1x4变换,例如[4 8 4]。另外,可使用类似于图7的实例的方法来建构所述群组。
在其它实施方案中,可使用线性分组方法来建构四个群组,其中每一群组可具有每组4个变换系数。举例来说,在图4的实例的替代方案中,在应用1x16DCT变换200之后,群组1可含有前四个变换系数C0到C3,且群组2可含有接下来的四个变换系数C4到C7,等等。在图5的实例的替代方案中,在应用1x8DCT变换301和303之后,可通过从每一组变换系数C00到C07以及C10到C17取两个系数来建构每一群组。举例来说,群组1可含有C00、C10、C01和C11,群组2可含有C02、C03、C12和C13,等等。在图7的实例的替代方案中,在应用1x4DCT变换305和307以及1x8DCT变换303之后,可通过各自从两组变换系数C00到C03以及C10到C13取一个系数且从所述组变换系数C20到C27取2个系数,来建构每一群组。举例来说,群组1可含有C00、C10、C20和C21,群组2可含有C01、C11、C22和C23,等等。可实施类似的分组策略,来建构其它分区变换选项的群组,例如[8 4 4]、[4 8 4]等。
虽然已结合图4到7描述了用于编码的若干分组技术,但可以参考图4到7描述的编码技术的反次序来执行所述群组的解码。举例来说,变换系数的群组可基于应用于样本201到231的变换的数目而重新组织,且相同数目的逆变换可应用于所述重新组织的变换系数。所述重新组织可基于例如每一群组中的变换系数的数目,或应用于产生变换系数的变换的类型和数目的信令。
在一些实施方案中,在分组构建之后,可以逆向扫描次序来寻找含有至少一个非零值的群组的索引,例如搜索依次进行通过群组4、3、2和1。可将含有至少一个非零值的群组的索引(其也可被称作“重要”群组)发信号通知到解码器。在一个实例中,可使用2位固定长度码来发信号通知所述索引。在另一实例中,可使用可变长度码(VLC),例如霍夫曼或所构造的VLC码,例如指数哥伦布或莱斯码。
可使用利用前缀和后缀部分的DSU-VLC来译码其余群组(包含具有一个非零值的群组),其中所述前缀指示跟随的后缀的大小。在后缀部分中,所述群组中的系数可例如使用相同数目的位来译码。
在另一方法中,上文的替代方法或除上文的方法之外,可使用逐群组跳过模式来对所述群组进行译码,其中为每一群组发信号通知跳过旗标或跳过值,且每一群组仅在所述群组具有至少一个非零值时才经DSU-VLC译码。
在另一方法中,以上方法中的一或多者的组合可与逐块跳过模式组合,其中可仅在十六个系数C00到C15中的至少一者含有非零值时才应用上文所阐述的技术。
在一个实例中,逐块跳过模式不适用于所有三个色彩坐标。在另一实例中,仅将逐块跳过模式应用于色度色彩坐标而非应用于亮度色彩坐标。
在又一方法中,在应用以上步骤之前,首先识别最后一个重要变换系数位置(例如其中变换系数的绝对值大于或等于1的位置)。可将到位置信息明确地发信号通知到解码器。此外,最后一个重要位置的绝对值可减1。举例来说,令C表示对应于最后一个重要位置的系数值的量值。所述系数可由Cnew=(|C|-1)*sign(C)代替,其中记号(C)表示系数C的记号值。可发信号通知对应于最后一个重要位置的记号信息记号(C)。接着,可使用逐群组跳过模式来从第一系数开始到最后一个有效系数位置(包含第一系数和最后一个有效系数位置)来译码所有样本。其后,如果所述群组内的样本中的至少一者为非零,那么所述群组可经DSU-VLC译码。如果所述群组内的无样本为非零,那么可使用逐群组跳过模式来译码所述群组。注意,当最后一个有效系数位置并不与群组边界重叠时,仅译码所述群组内的样本的子集,直到最后一个有效系数位置为止,而不译码其余样本(具有值零)。在解码器处,可直接从最后一个有效系数位置推断其余样本(具有值零)。
在一个实例中,可仅在最后一个有效系数值的绝对值减1等于零,即|C|-1==0时,才发信号通知对应于最后一个重要位置的记号信息,其中C表示对应于最后一个重要位置的系数值的量值。可使用2的补码来译码所述系数,例如,可使用N个位来表示-(2N-1)到+(2N-1-1)的值。
在一个方面中,可使用固定长度码来译码最后一个重要位置,其中将位数设定成等于log2(numberOfSamplesInBlock)。
在另一方面,可使用可变长度码来译码最后一个重要位置,例如指数-哥伦布码、霍夫曼码、莱斯和指数-哥伦布码的混合物等。在又一方面,可在将应用使用可变长度码的技术来译码最后一个重要位置之前,可应用上文所述的逐块跳过模式。
在又一方法中,在应用使用可变长度码的技术来译码最后一个重要位置之前,不应用逐块跳过模式。在所述块中的所有样本均为零的情形中,可将最后有效位置的默认值发信号通知到解码器。
在一个实例中,默认最后有效位置为零,其表示群组1中的第一样本位置。在发信号通知(零的)默认最低有效位置之后,如果块中的所有样本为零,那么可使用逐群组跳过模式来译码群组1。另一方面,如果默认最低有效位置处的值为非零,那么可使用DSU-VLC译码原理来译码群组1中的第一样本。
在另一实例中,对应于默认最低有效位置的绝对值不减1。因为系数值不减1,所以不发信号通知对应于默认最低有效位置的记号信息。
在又另一实例中,对应于默认最低有效位置的绝对值可减1。举例来说,可存在两种情况:(i)在默认最低有效位置处存在非零值;以及(ii)默认位置处的值为零。因为最低有效系数值减1,所以当|C|-1==0时,可发信号通知对应于默认最低有效位置的记号信息,其中C表示对应于最低有效位置的系数值的量值。
注意,在其中最低有效位置与默认位置(零)不同的情形中,可应用使用可变长度码来译码最低有效位置的技术。
前缀预测
在一个实施方案中,可如下所述来预测每一分量的前缀值。
值prevBits和currBits可分别表示译码先前群组和当前群组所需的位的数目(例如分别为先前群组的前缀值和当前群组的前缀值)。值prevQP和currQP可分别表示用以译码先前群组(为正在跳过模式中译码的先前群组)和当前群组的量化参数。
可基于值currQP与prevQP之间的差来调整值prevBits(此处表示为值adjPrevBits),如下:
delSize=|curQp-prevQp|>>k
delSize=(curQp>prevQp)?-delSize∶delSize
adjPrevBits=prevBits+delSize
adjPrevBits=Max(1,adjPrevBits)
此处,k可为任何正整数。在一个实例中,k等于3。
在另一实例中,不基于值currQP与prevQP之间的差来调整值prevBits,即值prevBits用于前缀预测而无任何调整。
在译码变换系数时,可基于先前使用变换模式来译码的块的相同群组索引(和相同分量)的前缀值来预测当前群组前缀值(例如值currBits)。就是说,可基于先前经译码变换块中的相应群组i(i∈{1,2,3,4})的前缀值(和相应量化参数)来预测来自群组i(i∈{1,2,3,4})的值currBits。如果使用逐块跳过模式来译码先前块中的相应色彩分量,那么可考虑具有未使用逐块跳过模式译码的相同色彩分量的变换块的最后一次出现来进行预测。如果在逐群组跳过模式下译码先前块中的特定群组i,那么可使用值prevBits=1和/或值adjPrevBits=1。
在前缀预测中,可使用与当前块使用相同模式来译码的先前块的前缀值。在一个实例中,如果当前块直接译码残差而不使用变换,那么可考虑不使用变换(也不使用逐块模式)来译码的先前块的前缀值和量化参数来用于预测。明确地说,在四个前缀值(所述块内的每一群组一个)之中,对应于不使用逐群组跳过模式来译码的群组的最后一次出现的前缀值可用于预测。
在另一实例中,可为每一译码模式维持单独的前缀预测函数,例如如果在应用变换之后译码当前块,那么与用所述变换译码的块的先前出现相关联的前缀值用于预测。以类似方式,如果当前块残差表示从块预测产生的残差,那么使用与含有块预测残差的块的先前出现相关联的前缀值。
在又另一实例中,前缀预测函数可跨所述模式共享,其方式为使得为用变换译码的块维持一个函数,且可为表示所述残差的块维持另一函数,所述残差例如为1D预测残差,和/或块预测残差,和/或帧内预测残差,和/或2D中值自适应经预测残差。
在再一实例中,可基于先前经译码块中的单个前缀值来预测当前块中的所有群组的前缀值。单一前缀值可与4个群组中的任一者相关联。在一种方法中,单个前缀值可与最后一个群组相关联,例如在先前块中,i=4。如果使用逐群组跳过模式来译码先前块中的最后一个群组,那么使用与不使用逐群组跳过模式译码的群组i-1相关联的前缀值。在另一方法中,如果使用逐群组跳过模式来译码最后一个群组或任何特定群组,那么使用prevBits=1和/或adjPrevBits=1。
在其中无法识别具有与当前块相同的译码模式的先前块的情形中,预测可基于值prevBits=1和/或值adjPrevBits=1的默认值,连同量化参数设定成等于编码器的默认初始值。
前缀译码
在前缀译码的一个实施方案中,对于每一分量,可使用一元译码来译码值currBits与值adjPrevBits之间的绝对差,且记号可由额外的1位指示。注意,记号位可例如仅在所述绝对差绝对地大于零时才发信号通知。
在另一个实施方案中,对于每一分量,可使用一元译码来译码值currBits与值prevBits之间的绝对差,且记号可由额外的1位指示。
在又一实施方案中,对于每一分量,可使用一元码来译码值currBits而无任何预测。
在又另一实施方案中,对于每一分量,可使用一元码来译码值currBits-1,而无任何预测。
在另一个实施方案中,代替于直接译码前缀值(例如值currBits-1),可将前缀值映射到值(例如使用映射函数或表),且可译码所映射的值。可以平均预期译码长度较小(例如小于所定义的码长度值)的方式来设计所述表/函数。可通过以递减次序对前缀值(例如值currBits-1)进行分类,并指派特定值使得最可能的前缀值映射到码长度较小的值,且最不可能的前缀值映射到码长度较大(例如等于或大于所定义的码长度值)的值,来进行前缀值的译码。
在又一实施方案中,代替于一元码,可使用VLC,例如霍夫曼或经构造VLC码,例如指数哥伦布、莱斯码。
在再一实施方案中,固定长度码可用于前缀译码。
对2D块的扩展
在此子部分中,揭示对2D块大小P×Q的熵译码的扩展,其中P和Q分别表示块高度和块宽度。
关于经量化块残差的译码,经量化块残差一般来说指代通过将经预测块从原始块减去并在残差块之上应用量化而产生的残差。可从空间相邻样本开始进行预测。空间预测的实例包含块预测、中值自适应预测(MAP)、帧内预测和/或中点预测。应注意,变换不应用于经量化块残差的译码。
2D块P×Q的经量化块残差的每一分量可分割成N个群组,其中N为正整数。在一个实例中,将N设定成4。
可形成所述群组,使得每一经量化残差样本属于一个且仅一个群组。
每一群组中的样本的数目可相等,例如每一群组可具有(P×Q)/N个样本。可通过将所述块P×Q分区成(P×Q)/N个分区来建构所述群组,且每一分区中的样本可被认为是一个群组。在一个实例中,所述分区可仅在垂直方向上进行,例如每一分区大小是P×(Q/N)。在另一实例中,所述分区可仅在水平方向上完成,其中每一分区大小为(P/N)×Q。在另一实例中,所述分区可在垂直和水平方向两者上进行。作为一实例,每一分区大小可为(P/(N/2))×(Q/(N/2))。
在另一实例中,每一群组中的样本的数目是不相等的,其中分区成若干子块可以不均匀方式进行。
在构建所述群组之后,可使用上文在关于“经量化块残差的译码”的部分中所述的技术来译码所述群组。
关于经量化变换系数的译码,大小为P×Q的2D块的所述经量化变换系数的每一分量可分区成N个群组,其中N为正整数。在一个实例中,将N设定成4。
可形成所述群组,使得每一经量化系数样本属于仅一个群组。
每一群组中的样本的数目可不等。表示类似频率的经量化变换系数可形式一个群组。
图8是说明根据本发明的各方面的用于针对变换系数译码模式来对块进行分区的另一实例技术的图。图8说明当块大小是4×4时,将样本的2D块分区成若干群组的实例。在图8中,P=4且Q=4,且群组的数目为N=4。举例来说,第一阴影表示包含变换系数C00的第一群组。第二阴影表示包含C01、C02、C04和C08的第二群组。第三阴影表示包含C05、C06、C09和C10的第三群组。第四阴影表示包含C03、C07、C11、C12、C13、C14和C15的第四群组。
注意,图8中所示的分组建构仅为说明本文所述的技术的方面的实例,且存在大量其它方式来为大小为P×Q的给定块建构群组。
在另一方法中,可以特定扫描次序来扫描所述系数,且可将所得1D系数扫描分区为N个群组。举例来说,可以z字形次序执行所述扫描。在另一实例中,可使用垂直和/或水平扫描次序。
当应用变换分区(例如将变换应用于所述块内的每一子块)时,表示跨不同分区的类似频率的变换系数可包含于同一群组中。举例来说,可考虑对应于所述块内的不同分区的DC值来用于形成第一群组。
在另一方法中,每一群组中的样本的数目可相等,且可使用上文在关于“经量化块残差的译码”的部分中所述的技术来建构所述群组。
在建构所述群组之后,可使用上文在标题为“变换系数的译码”的部分中所述的技术来译码所述群组。
下文描述用于根据另一示范性方法来建构群组的技术的实施方案。
为了说明性目的,块大小可为P×Q,其中P=2且Q=8,且群组的数目为N=4。此处,可如上文所述来定义P、Q和N。
图9到11是说明根据本发明中描述的方面的对块进行分区的方法的图。
如上文的标题为“经量化块残差的译码”的部分中所描述,可经由对块进行垂直分区来进行经量化块残差的分组,其中大小为2×2的每一子块被认为是一个群组,如图9中所示。注意,在此实施例中,不应用变换。
如上文的标题为“经量化变换系数的译码”的部分中所描述,可如图10中所示建构大小为2x8的块的经量化变换系数的分组。在图10的实例中,应用2x8变换313。
当应用变换分区时(例如当将两个2x4变换315和317应用于2x8的块大小时),可如中图11所述建构群组。
用于熵编码的实例流程图
参看图12,将描述用于熵编码的实例程序。图12是说明根据本发明的实施例的用于编码视视频数据的方法400的流程图。图12中所说明的步骤可由视频编码器(例如,图2A中的视频编码器20)或其一或多个组件执行。为方便起见,将方法400描述为由视频译码器(也简称为译码器)执行,所述视频译码器可为视频编码器20或另一组件。
方法400开始于框401处。在框405处,译码器至少部分地基于视频数据的译码模式来将视频数据块分区(或分组)成多个样本群组。举例来说,视频数据的译码模式可为经量化块残差译码模式、变换系数译码模式或另一译码模式。另外,所述视频数据块的所述样本可包含多个色彩坐标,且每一色彩坐标的样本可至少部分地基于所述色彩坐标的译码模式而分区成多个样本群组。
在框410处,译码器响应于至少一个群组中的所有样本等于预定值,经由对所述群组中的至少一者执行逐群组跳过来对所述块进行熵编码。所述逐群组跳过可包括制止编码所述至少一个群组中的样本。在一些实施方案中,使用DSU-VLC译码来译码块。所述方法在框415处结束。
在方法400中,图12中所示的框中的一或多者可去除(例如,不执行)和/或方法执行的次序可切换。在一些实施例中,可将额外块添加到方法400。本发明的实施例不限于图12中所示的实例或不受到图12中所示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
用于熵解码的实例流程图
参看图13,将描述用于熵编码的实例程序。图13是说明根据本发明的实施例的用于解码视视频数据的方法500的流程图。图13中所说明的步骤可由视频解码器(例如,图2B中的视频解码器30)或其一或多个组件执行。为方便起见,将方法500描述为由视频译码器(也简称为译码器)执行,所述视频译码器可为视频解码器30或另一组件。
方法500开始于框501。在框505处,所述译码器接收表示所述视频数据的块的位流。所述块可包含多个样本群组。所述位流可包含至少一个逐群组跳过值,其指示所述块的对应样本群组不包含于所述位流中。
在框510处,所述译码器至少部分地基于所述逐群组跳过值,经由对所述位流进行熵解码来产生所述多个样本群组。在框515处,所述译码器至少部分基于所述多个样本群组和所述块的译码模式来重构所述块。举例来说,视频数据的译码模式可为经量化块残差译码模式、变换系数译码模式或另一译码模式。另外,所述视频数据块的所述样本可包含多个色彩坐标,且每一色彩坐标的样本可至少部分地基于所述色彩坐标的译码模式而分区成多个样本群组。方法500在框520处结束。
在方法500中,可去除(例如,不执行)图13中所示的框中的一或多者,和/或可交换执行方法的次序。在一些实施例中,可将额外块添加到方法500。因此,本发明的实施例不限于图13中示出的实例或不受到图13中所示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
其它考虑
应注意,已从编码器(例如图2A中的视频编码器20)的角度来描述本发明的各方面。然而,所属领域的技术人员将了解,可应用上文所述的那些操作的逆操作,通过例如图2B中的视频解码器30来解码所产生的位流。
可使用多种不同技术和技法中的任一者来表示本文中所揭示的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
结合本文揭示的实施例所描述的各种说明性逻辑块、电路和算法步骤可实施为电子硬件、计算机软件,或两者的组合。为了清楚地说明硬件与软件的这种可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块和步骤。将此功能性实施为硬件还是软件取决于特定应用以及强加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起偏离本发明的范围。
本文中所描述的技术可在硬件、软件、固件或其任一组合中实施。此类技术可在多种裝置中的任一者中实施,例如通用计算机、无线通信装置手持机或具有多种用途的集成电路裝置,包含无线通信装置手持机、汽车、器具、可穿戴的东西和/或其它装置中的应用程序。被描述为装置或组件的任何特征可一起实施于集成逻辑装置中或分开实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存器、磁性或光学数据存储媒体等等。另外或作为替代,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器结合DSP核心,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在某些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(编解码器)中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件或单元是为了强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可配合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
虽然已经结合各种不同实施例描述了前文,但可在不脱离本发明的教示的情况下将来自一项实施例的特征或元件与其他实施例组合。然而,相应实施例之间的特征的组合不必限于此。已经描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。

Claims (28)

1.一种对视频数据进行熵编码的方法,其包括:
从多个译码模式中,为所述视频数据的第一块选择第一译码模式;
从所述多个译码模式中,为所述视频数据的第二块选择第二译码模式;
响应于针对所述第一块的所选择的译码模式是所述第一译码模式,经由第一分区技术将所述视频数据的所述第一块分区成第一多个样本群组;
响应于针对所述第二块的所选择的译码模式是所述第二译码模式,经由第二分区技术将所述视频数据的所述第二块分区成第二多个样本群组,其中所述第一分区技术和所述第二分区技术是不同的;以及
针对所述第一块和所述第二块中的每一者:
响应于所述第一块或所述第二块的所述多个样本群组中的一个群组中的所有所述样本具有等于预定值的值,跳过编码所述一个群组中的样本;以及
响应于相应剩余群组中的所述样本中的至少一者具有不等于所述预定值的值,使用指示所述相应剩余群组的样本的值的后缀和指示所述后缀的大小的前缀来译码所述第一块或所述第二块的所述多个样本群组中的剩余群组中的每一者。
2.根据权利要求1所述的方法,其中所述第一块和所述第二块中的每一者的所述样本包含多个色彩坐标,其中所述视频数据的所述块的所述分区包括:
至少部分地基于其色彩坐标来分离所述第一块或所述第二块的所述样本;以及
对于每一色彩坐标,将所述第一块或所述第二块的具有相同色彩坐标的所述样本分区成所述多个样本群组。
3.根据权利要求2所述的方法,其中所述第一块和所述第二块中的每一者的所述分区进一步包括:对于每一色彩坐标,响应于所述第一块或所述第二块的所述第一译码模式或所述第二译码模式为预测译码模式而将所述第一块或所述第二块分区成具有相同样本数目的所述多个群组,所述预测译码模式包括块预测模式或差分脉冲代码调制DPCM模式。
4.根据权利要求3所述的方法,其中所述第一块或所述第二块的所述熵编码进一步包括:响应于与所述第一块或所述第二块中的所述相同色彩坐标相关联的所有所述样本具有等于所述预定值的值,对所述第一块或所述第二块中具有所述相同色彩坐标的所述样本执行逐块跳过,所述逐块跳过包括制止编码与所述第一块或所述第二块中的所述相同色彩坐标相关联的所述样本。
5.根据权利要求2所述的方法,其中所述第一块的所述分区进一步包括:对于每一色彩坐标,响应于所述第一块的所述第一译码模式为变换模式,将所述块分区成第一群组和第二群组,所述第一和第二群组具有不同数目的样本。
6.根据权利要求5所述的方法,其进一步包括:
经由将至少一个变换应用于所述第一块来产生所述多个样本,所述样本中的每一者表示与对应频率相关联的不同频率系数;以及
通过收集与在对应频率范围内的频率相关联的样本来形成每一第一群组。
7.根据权利要求6所述的方法,其中与最低频率相关联的样本群组包含比与最高频率相关联的样本群组少的样本。
8.根据权利要求6所述的方法,其进一步包括:
基于所述相关联频率从最低到最高频率来对所述样本进行排序;
确定不等于预定值的与所述最高频率相关联的样本;以及
发信号通知不等于所述预定值的与所述最高频率相关联的所述样本的位置。
9.根据权利要求8所述的方法,其进一步包括经由以下等式来调整不等于所述预定值的与最高频率相关联的所述样本的所述值:
Cnew=(|C|-1)*sign(C),
其中Cnew是所述经调整的值,C是不等于所述预定值的与最高频率相关联的所述样本的所述值,且记号(C)是不等于所述预定值的与最高频率相关联的所述样本的所述记号值。
10.根据权利要求9所述的方法,其进一步包括在所述经调整的值Cnew等于零时,发信号通知不等于所述预定值的与最高频率相关联的所述样本的所述记号值。
11.一种对视频数据进行熵编码的装置,其包括:
存储器,其经配置以存储所述视频数据;以及
处理器,其与所述存储器通信且经配置以:
从多个译码模式中,为所述视频数据的块选择译码模式;
响应于所选择的译码模式是第一译码模式,经由第一分区技术将所述视频数据的所述块分区成多个样本群组;
响应于所选择的译码模式是第二译码模式,经由第二分区技术将所述块分区成所述多个样本群组,其中所述第一分区技术和所述第二分区技术是不同的;
响应于所述多个样本群组中的一个群组中的所有样本具有等于预定值的值,跳过编码所述一个群组中的样本;以及
响应于相应剩余群组中的样本中的至少一者具有不等于所述预定值的值,使用指示所述相应剩余群组的样本的值的后缀和指示所述后缀的大小的前缀来译码所述多个样本群组中的剩余群组中的每一者。
12.根据权利要求11所述的装置,其中所述块的所述样本包含多个色彩坐标,其中所述处理器进一步经配置以:
至少部分地基于其色彩坐标来分离所述块的所述样本;以及
对于每一色彩坐标,将所述块的具有相同色彩坐标的所述样本分区成所述多个样本群组。
13.根据权利要求11所述的装置,其中所述处理器进一步经配置以:对于每一色彩坐标,响应于所述块的所选择的所述译码模式为块预测模式或差分脉冲代码调制DPCM模式,将所述块分区成具有相同数目的样本的所述多个群组。
14.根据权利要求13所述的装置,其中所述处理器进一步经配置以:响应于与所述块中的所述相同色彩坐标相关联的所有所述样本具有等于所述预定值的值,对所述块中具有所述相同色彩坐标的所述样本执行逐块跳过,所述逐块跳过包括发信号通知逐块跳过值,以及制止编码与所述块中的所述相同色彩坐标相关联的所述样本。
15.根据权利要求12所述的装置,其中所述处理器进一步经配置以:对于每一色彩坐标,响应于所述块的所选择的所述译码模式为变换模式,将所述块分区成第一群组和第二群组,所述第一和第二群组具有不同数目的样本。
16.根据权利要求15所述的装置,其中所述处理器经进一步配置以:
经由将至少一个变换应用于所述块来产生所述多个样本,所述样本中的每一者表示与对应频率相关联的不同频率系数;以及
通过收集与在对应频率范围内的频率相关联的样本来形成每一群组。
17.根据权利要求16所述的装置,其中与最低频率相关联的样本群组包含比与最高频率相关联的样本群组少的样本。
18.根据权利要求16所述的装置,其中所述处理器经进一步配置以:
基于所述相关联频率从最低到最高频率来对所述样本进行排序;
确定不等于所述预定值的与所述最高频率相关联的样本;以及
发信号通知不等于所述预定值的与所述最高频率相关联的所述样本的位置。
19.一种对视频数据进行熵解码的方法,其包括:
接收表示所述视频数据的第一块和第二块的位流,所述第一块包括第一多个样本群组且所述第二块包括第二多个样本群组,所述位流包含一个逐群组跳过值,其指示所述第一块或所述第二块的相应样本群组不包含于所述位流中;
经由至少部分地基于所述逐群组跳过值熵解码所述位流来产生所述第一多个样本群组和所述第二多个样本群组;
确定所述第一多个样本群组是经由第一译码模式编码的且所述第二多个样本群组是经由第二译码模式编码的;
响应于针对所述第一多个样本群组的所述译码模式是所述第一译码模式,使用第一分组技术将所述第一多个样本群组分组进所述第一块;
响应于针对所述第二多个样本群组的所述译码模式是所述第二译码模式,使用第二分组技术将所述第二多个样本群组分组进所述第二块,其中所述第一分组技术和所述第二分组技术是不同的。
20.根据权利要求19所述的方法,其中所述第一块和所述第二块中的每一者的所述样本包含多个色彩坐标,所述方法进一步包括:
至少部分地基于其色彩坐标来分组所述多个样本群组;以及
经由组合所述多个样本群组来重构所述第一块或所述第二块。
21.根据权利要求19所述的方法,其进一步包括响应于所述第一块的所述第一译码模式为变换模式,来将至少一个逆变换应用于所述样本,所述多个样本群组的第一群组具有与所述多个样本群组的第二群组不同数目的样本。
22.根据权利要求19所述的方法,其进一步包括产生所述样本群组中对应于所述逐群组跳过值的所述样本中的每一者以具有预定值。
23.根据权利要求22所述的方法,其进一步包括:
接收不等于所述预定值的与最高频率相关联的样本的位置;以及
产生所述多个样本群组的不等于所述预定值的与高于最高频率的频率相关联的所述样本以具有所述预定值。
24.一种对视频数据进行熵解码的装置,其包括:
存储器,其经配置以存储表示所述视频数据的块的位流的至少一部分,所述块包括多个样本群组,所述位流包含至少一个逐群组跳过值,其指示所述块的相应样本群组不包含于所述位流中;以及
处理器,其与所述存储器通信且经配置以:
经由至少部分地基于所述逐群组跳过值熵解码所述位流来产生所述多个样本群组;
确定所述多个样本群组是经由多个译码模式中的一个译码模式编码的;
响应于所述译码模式是第一译码模式,使用第一分组技术将所述多个样本群组分组进所述块;以及
响应于所述译码模式是第二译码模式,使用第二分组技术将所述多个样本群组分组进所述块,其中所述第一分组技术和所述第二分组技术是不同的。
25.根据权利要求24所述的装置,其中所述块的所述样本包含多个色彩坐标,其中所述处理器进一步经配置以:
至少部分地基于其色彩坐标来分组所述多个样本群组;以及
经由组合所述多个样本群组来重构所述块。
26.根据权利要求24所述的装置,其中所述处理器进一步经配置以响应于所述块的所述译码模式为变换模式,将至少一个逆变换应用于所述样本,所述多个样本群组中的第一群组具有与所述多个样本群组中的第二群组不同数目的样本。
27.根据权利要求24所述的装置,其中所述处理器进一步经配置以产生所述样本群组中对应于所述逐群组跳过值的所述样本中的每一者以具有预定值。
28.根据权利要求27所述的装置,其中所述处理器进一步经配置以:
接收不等于所述预定值的与最高频率相关联的样本的位置;以及
产生所述多个样本群组的不等于所述预定值的与高于所述最高频率的频率相关联的所述样本以具有所述预定值。
CN201580027978.XA 2014-06-09 2015-06-09 用于对视频数据进行熵编码和熵解码的方法和装置 Active CN106416248B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462009838P 2014-06-09 2014-06-09
US62/009,838 2014-06-09
US201462034084P 2014-08-06 2014-08-06
US62/034,084 2014-08-06
US201562146060P 2015-04-10 2015-04-10
US62/146,060 2015-04-10
US14/733,722 2015-06-08
US14/733,722 US9877048B2 (en) 2014-06-09 2015-06-08 Entropy coding techniques for display stream compression (DSC)
PCT/US2015/034837 WO2015191535A2 (en) 2014-06-09 2015-06-09 Entropy coding techniques for display stream compression (dsc)

Publications (2)

Publication Number Publication Date
CN106416248A CN106416248A (zh) 2017-02-15
CN106416248B true CN106416248B (zh) 2019-11-01

Family

ID=54770605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580027978.XA Active CN106416248B (zh) 2014-06-09 2015-06-09 用于对视频数据进行熵编码和熵解码的方法和装置

Country Status (8)

Country Link
US (1) US9877048B2 (zh)
EP (1) EP3152905A2 (zh)
JP (1) JP6518701B2 (zh)
KR (2) KR102229045B1 (zh)
CN (1) CN106416248B (zh)
BR (1) BR112016028604A8 (zh)
CA (1) CA2951384C (zh)
WO (1) WO2015191535A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160044314A1 (en) * 2014-08-08 2016-02-11 Qualcomm Incorporated System and method for reusing transform structure for multi-partition transform
US9955168B2 (en) * 2015-02-11 2018-04-24 Arris Enterprises Llc Constraining number of bits generated relative to VBV buffer
US10362310B2 (en) * 2015-10-21 2019-07-23 Qualcomm Incorporated Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling
US10448024B2 (en) * 2016-01-11 2019-10-15 Qualcomm Incorporated System and methods for calculating distortion in display stream compression (DSC)
US10542267B2 (en) * 2016-01-21 2020-01-21 Samsung Display Co., Ltd. Classification preserving image transform compression
US10666984B2 (en) * 2016-03-08 2020-05-26 Qualcomm Incorporated Apparatus and method for vector-based entropy coding for display stream compression
US10743032B2 (en) 2017-05-24 2020-08-11 Qualcomm Incorporated Substream multiplexing for display stream compression
CN110915218B (zh) * 2017-07-10 2022-03-15 弗劳恩霍夫应用研究促进协会 对变换系数编码和解码的方法及用于其的编码器和解码器
US10250899B1 (en) 2017-09-22 2019-04-02 Qualcomm Incorporated Storing and retrieving high bit depth image data
US10547843B1 (en) 2018-07-24 2020-01-28 Samsung Display Co., Ltd. Prefix coding method for high-throughput entropy coder in display interface compression
US10728555B1 (en) * 2019-02-06 2020-07-28 Sony Corporation Embedded codec (EBC) circuitry for position dependent entropy coding of residual level data
US10904532B2 (en) * 2019-05-20 2021-01-26 Samsung Display Co., Ltd. Differential prefix coding for high throughput entropy coder in display compression
US11398833B2 (en) * 2019-10-02 2022-07-26 Apple Inc. Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
KR102564189B1 (ko) * 2019-10-11 2023-08-04 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치
CN113473139A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种图像处理方法和图像处理装置
CN112437300B (zh) * 2020-11-23 2022-04-15 武汉理工大学 一种基于自适应区间重叠因子的分布式视频编码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619901A2 (en) * 2004-07-22 2006-01-25 Samsung Electronics Co, Ltd Context adaptive binary arithmetic coding with reduced complexity
CN103039073A (zh) * 2010-06-07 2013-04-10 数码士有限公司 编码/解码高分辨率图像的方法和执行该方法的装置
CN103096053A (zh) * 2011-11-04 2013-05-08 华为技术有限公司 一种变换模式的编解码方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100196838B1 (ko) 1995-12-23 1999-06-15 전주범 블럭벌 상관 관계에 의한 부호화 장치
EP1445955A4 (en) 2001-11-16 2009-10-28 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
JP2006295796A (ja) 2005-04-14 2006-10-26 Nec Electronics Corp 画像データ復号装置及び画像データ復号方法
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
US9813711B2 (en) * 2012-10-03 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Hybrid transform-based compression
US9451250B2 (en) * 2012-10-03 2016-09-20 Broadcom Corporation Bounded rate compression with rate control for slices
US10091512B2 (en) * 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619901A2 (en) * 2004-07-22 2006-01-25 Samsung Electronics Co, Ltd Context adaptive binary arithmetic coding with reduced complexity
CN103039073A (zh) * 2010-06-07 2013-04-10 数码士有限公司 编码/解码高分辨率图像的方法和执行该方法的装置
CN103096053A (zh) * 2011-11-04 2013-05-08 华为技术有限公司 一种变换模式的编解码方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Overview of the High Efficiency Video Coding (HEVC) Standard;G.J. HAN ET AL;《IEEE Transactions on Circuits and Systems for Video Technology》;20121231;第22卷(第12期);第1649-1668页 *

Also Published As

Publication number Publication date
BR112016028604A8 (pt) 2021-07-13
JP2017523656A (ja) 2017-08-17
EP3152905A2 (en) 2017-04-12
CN106416248A (zh) 2017-02-15
JP6518701B2 (ja) 2019-05-22
WO2015191535A3 (en) 2016-02-04
CA2951384C (en) 2019-08-06
KR102229045B1 (ko) 2021-03-16
WO2015191535A2 (en) 2015-12-17
KR20170016849A (ko) 2017-02-14
BR112016028604A2 (pt) 2017-08-22
US20150358645A1 (en) 2015-12-10
CA2951384A1 (en) 2015-12-17
US9877048B2 (en) 2018-01-23
KR20190029796A (ko) 2019-03-20

Similar Documents

Publication Publication Date Title
CN106416248B (zh) 用于对视频数据进行熵编码和熵解码的方法和装置
TWI705697B (zh) 在視訊寫碼中調色板區塊大小之限制
US10362310B2 (en) Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling
CN106165418B (zh) 译码视频数据的设备、方法及计算机可读媒体
CN106165421B (zh) 用于译码视频数据的设备、方法及计算机可读媒体
CN106256127B (zh) 用于针对显示流压缩(dsc)在块预测模式中译码的系统和方法
CN107431812B (zh) 用于显示流压缩的复杂区域检测
CN108028925A (zh) 用于显示流压缩(dsc)的块预测模式的可变分区大小
CN107409219A (zh) 用于显示流压缩的速率受限回退模式
JP2018531556A6 (ja) 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法
CN107534771A (zh) 用于基于复杂性量度的显示流压缩dsc的量化参数qp计算
CN106576173B (zh) 对视频数据进行译码的方法和设备及计算机可读存储介质
CN106165420A (zh) 用于显示流压缩(dsc)的平度检测的系统及方法
CN106663085A (zh) 用于再使用变换结构用于多分区变换的系统和方法
CN109479150A (zh) 用于显示器调适的色彩重映射信息sei消息发信号
CN107431811A (zh) 用于显示流压缩的量化参数更新分类
CN109644277A (zh) 用于回路内样本处理的视频译码工具
CN108702520A (zh) 用于显示流压缩的基于向量的熵译码的设备及方法
CN108432249A (zh) 用于在显示流压缩(dsc)中计算失真的系统和方法
CN106233731B (zh) 用于针对显示流压缩(dsc)在图案模式中译码的系统和方法
CN108886615A (zh) 用于显示器流压缩的感知量化参数(qp)加权的设备及方法
JP2018525901A (ja) ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant