CN107431811A - 用于显示流压缩的量化参数更新分类 - Google Patents

用于显示流压缩的量化参数更新分类 Download PDF

Info

Publication number
CN107431811A
CN107431811A CN201680018523.6A CN201680018523A CN107431811A CN 107431811 A CN107431811 A CN 107431811A CN 201680018523 A CN201680018523 A CN 201680018523A CN 107431811 A CN107431811 A CN 107431811A
Authority
CN
China
Prior art keywords
current block
technology
values
degree
filling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680018523.6A
Other languages
English (en)
Inventor
维贾伊拉加哈万·提鲁马莱
纳坦·海姆·雅各布森
瑞珍·雷克斯曼·乔许
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN107431811A publication Critical patent/CN107431811A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

本发明公开用于显示流压缩DSC的量化参数QP更新分类技术。在一个方面中,一种用于确定量化参数QP值的方法包含确定当前块是否包含从平坦区域到复合区域的过渡或是否为平坦块及确定前一块是否包含从平坦区域到复合区域的过渡或是否为平坦块。所述方法还可包含基于所述前一块及所述当前块是否包含从平坦区域到复合区域的过渡或是否为平坦块而选择用于计算所述当前块的QP调整值的默认技术或替代技术。

Description

用于显示流压缩的量化参数更新分类
技术领域
本公开涉及视频译码及压缩的领域,且具体来说,涉及用于通过显示链接的发射的视频压缩,例如显示流压缩(DSC)。
背景技术
数字视频性能可并入到广泛范围的显示器中,包含数字电视、个人数字助理(PDA)、膝上型计算机、台式监测器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似者。显示链接用于将显示器连接到适合的源装置。显示链接的带宽要求与显示的分辨率成比例,且因此,高分辨率显示要求大带宽显示链接。一些显示链接不具有支持高分辨率显示的带宽。视频压缩可用于减小带宽要求以使得更低带宽显示链接可用于将数字视频提供到高分辨率显示。
其它人已经尝试利用对像素数据的图像压缩。然而,此类方案有时在视觉上无损或在常规的显示装置中实施可为困难的并且昂贵的。
视频电子元件标准协会(VESA)已经开发显示流压缩(DSC)作为用显示链接视频压缩的标准。显示链接视频压缩技术(例如DSC)应除其它以外还提供视觉上无损的图片质量(即,具有使得用户无法区分压缩在作用中的质量等级的图片)。显示链接视频压缩技术还应提供与常规的硬件实时实施起来简易并便宜的方案。
发明内容
本公开的***、方法及装置各具有若干创新方面,其中无单一方面单独负责本文中所公开的合乎需要的属性。
在一个方面中,用于确定量化参数(QP)值的方法包括确定当前块是否包含从平坦区域到复合区域的过渡或当前块是否为平坦块;确定前一块是否包含从平坦区域到复合区域的过渡或是否为平坦块;及响应于确定当前块确实包含从平坦区域到复合区域的过渡中的至少一个或为平坦块而选择用于计算当前块的QP调整值的默认技术。所述方法可进一步包含:响应于确定:i)当前块不包含从平坦区域到复合区域的过渡或不为平坦块,及ii)前一块包含从平坦区域到复合区域的过渡抑或为平坦块,选择用于计算当前块的QP调整值的替代技术。所述方法可进一步包含经由所选择技术计算当前块的QP调整值及基于所述QP调整值确定当前块的QP值。
在另一方面中,用于确定用于使用固定速率缓冲器译码视频数据的量化参数(QP)值的方法包括确定缓冲器的充满度是否(i)大于或等于第一充满度上阈值,或(ii)小于或等于第一充满度下阈值;响应于确定缓冲器的充满度大于或等于第一充满度上阈值而选择用于计算当前块的QP调整值的第一技术;响应于确定缓冲器的充满度小于或等于第一充满度下阈值而选择用于计算当前块的QP调整值的第二技术;经由所选择技术计算当前块的QP调整值;及基于所述QP调整值确定当前块的QP值。
在另一方面中,用于确定量化参数(QP)值的装置包括存储器,其经配置以存储包含前一块及当前块的视频数据;及至少一个处理器电路,其经耦合到所述存储器并经配置以:确定当前块是否包含从平坦区域到复合区域的过渡或是否为平坦块;确定前一块是否包含从平坦区域到复合区域的过渡或是否为平坦块;响应于确定当前块确实包含从平坦区域到复合区域的过渡中的至少一个或为平坦块而选择用于计算当前块的QP调整值的默认技术;响应于确定:i)当前块不包含从平坦区域到复合区域的过渡或不为平坦块,及ii)前一块包含从平坦区域到复合区域的过渡抑或为平坦块,选择用于计算当前块的QP调整值的替代技术;经由所选择技术计算当前块的QP调整值;及基于所述QP调整值确定当前块的QP值。
在又一方面中,用于确定用于译码视频数据的量化参数(QP)值的装置包括固定速率缓冲器电路;存储器,其经配置以存储包含当前块的视频数据;及至少一个处理器电路,其经耦合到存储器并经配置以:确定缓冲器电路的充满度是否(i)大于或等于第一充满度上阈值,或(ii)小于或等于第一充满度下阈值;响应于确定缓冲器的充满度大于或等于第一充满度上阈值而选择用于计算当前块的QP调整值的第一技术;响应于确定缓冲器的充满度小于或等于第一充满度下阈值而选择用于计算当前块的QP调整值的第二技术;经由所选择技术计算当前块的QP调整值;及基于所述QP调整值确定当前块的QP值。
附图说明
图1A为说明可利用根据本公开中描述的方面的技术的实例视频编码及解码***的框图。
图1B为说明可执行根据本公开中描述的方面的技术的另一实例视频编码及解码***的框图。
图2A为说明可实施根据本公开中描述的方面的技术的视频编码器的实例的框图。
图2B为说明可实施根据本公开中描述的方面的技术的视频解码器的实例的框图。
图3展示确定量化参数(QP)调整值的实例方法。
图4说明从平坦区域到图像内的复合区域的实例过渡。
图5说明用于计算QP的实例技术。
图6说明用于计算QP的另一实例技术。
图7说明用于计算QP的又一实例技术。
图8展示计算QP调整值的实例方法。
图9展示计算QP调整值的另一实例方法。
图10展示计算QP调整值的又一实例方法。
图11为说明根据本公开中描述的方面的用于计算QP调整值的方法的流程图。
图12为说明根据本公开中描述的方面的用于计算QP调整值的方法的流程图。
具体实施方式
一般来说,本公开涉及改进视频压缩技术(例如,显示流压缩(DSC))的方法。更具体来说,本公开涉及用于经由选择用于计算QP调整值的适当技术而改进量化参数(QP)的更新的***及方法。
尽管本文在DSC标准的上下文中描述某些实施例,但所属领域的一般技术人员将理解,本文所公开的***及方法可适用于任何合适的视频译码标准。举例来说,本文所公开的实施例可适用于以下标准中的一或多个:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)运动图片专家组-1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-TH.264(也称为ISO/IEC MPEG-4 AVC)、高效率视频译码(HEVC)及此类标准的任何扩展。本文所描述的技术可特别适用于并入固定比特率(CBR)缓冲器模型的标准。又,本公开中描述的技术可成为将来开发的标准的一部分。换句话说,本公开中描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准及即将出现的视频译码标准。
视频译码方法可通过使用QP调整值更新先前所计算的QP值而计算QP值。可基于前一块与当前块之间的差(例如,译码前一块所需要的位与其中译码当前块的目标数目个位之间的差)来计算QP调整值。
然而,由常规技术确定的QP调整值可导致译码的低效率或可在某些情况下产生明显的伪影。举例来说,用于确定QP调整值的常规技术对于用于从图像的平坦区域到复合区域的过渡可能不够激进(例如,QP调整值可小于将导致更好的译码效率而无明显伪影的更合乎需要的QP调整值)。将在下文更详细地描述平坦区域及复合区域的概念。
另外,当缓冲器的充满度在空阈值或全阈值内时,用于计算QP调整值的常规技术可过于激进,以导致通过解码器重构的图像中的伪影。举例来说,通过常规技术所计算的QP调整值可大于将遮蔽伪影以使其在经重构图像中不明显的更合乎需要的QP调整值。
因此,本公开的方面是针对解决至少上文所指示的问题。在某些方面中,此可经由检测或确定可与上述所指示的问题相关联的条件,及在所检测到的条件下应用用于计算QP调整值的一或多个替代技术来实现。
视频译码标准
例如视频图像、TV图像、静态图像或由视频记录器或计算机产生的图像的数字图像可包含按水平线及竖直线排列的像素或样本。单一图像中的像素的数目通常有数万个。每一像素通常含有明度及色度信息。在不压缩的情况下,待从图像编码器传送到图像解码器的信息的绝对数量将致使实时图像发射不切实际。为了减少待发射的信息的量,已开发许多不同压缩方法,例如,JPEG、MPEG及H.263标准。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264(也称为ISO/IECMPEG-4 AVC),及包含此类标准的扩展的HEVC。
另外,视频译码标准(即DSC)已由VESA开发。DSC标准为可压缩用于在显示链接上发射的视频的视频压缩标准。随着显示器的分辨率增大,视频数据驱动显示器所需要的带宽相应地增大。一些显示链接可不具有将所有视频数据发射到此类分辨率的显示器的带宽。因此,DSC标准指定压缩标准为显示链接上的可互操作的、视觉上无损的压缩。
DSC标准与其它视频译码标准(例如,H.264及HEVC)不同。DSC包含帧内压缩,但不包含帧间压缩,意味着时间信息可不由DSC标准用于译码视频数据。相反地,其它视频译码标准可采用其视频译码技术中的帧间压缩。
视频译码***
在下文中参考随附图式更完整地描述新颖***、设备及方法的各种方面。然而,本公开可以许多不同形式来体现,且不应将其解释为限于贯穿本公开所呈现的任何具体结构或功能。实情为,提供这些方面,使得本公开将为透彻且完整的,且将向所属领域的技术人员充分传达本公开的范围。基于本文中的教示,所属领域的技术人员应了解,本公开的范围意图涵盖本文所公开的新颖***、设备及方法的任何方面,不管是独立于本公开的任何其它方面或与本公开的任何其它方面组合地实施。举例来说,可使用本文中所阐明的任何数目个方面来实施设备或实践方法。另外,本公开的范围意图涵盖使用其它结构、功能性或除本文中所阐明的本公开的各种方面之外或不同于本文中所阐明的本公开的各种方面的结构与功能性来实践的此类设备或方法。应理解,可通过权利要求的一或多个要素来体现本文所公开的任何方面。
虽然本文中描述特定方面,但这些方面的许多变化及排列属于本公开的范围内。尽管提及了优选方面的一些益处及优点,但本公开的范围不希望限于特定益处、用途或目标。相反地,本公开的方面意图广泛适用于不同无线技术、***配置、网络及发射协议,其中一些以实例的方式在诸图中及对优选方面的以下描述中加以说明。详细描述及图式仅说明本公开而非限制本公开,本公开的范围由所附权利要求书及其等效物来定义。
随附图式说明实例。由随附图式中的参考数字指示的元件对应于在以下描述中由相同参考数字指示的元件。在本公开中,名称以序数词(例如,“第一”、“第二”、“第三”等等)开始的元件未必暗示所述元件具有特定次序。相反,这些序数词仅用以指代相同或类似类型的不同元件。
图1A为说明可利用根据本公开中描述的方面的技术的实例视频译码***10的框图。如本文所使用,术语“视频译码器”或“译码器”一般是指视频编码器及视频解码器两者。在本公开中,术语“视频译码”或“译码”一般可指视频编码及视频解码。除了视频编码器及视频解码器外,本申请案中描述的方面可扩展到其它相关装置,例如,代码转换器(例如,可解码位流且重新编码另一位流的装置)及中间盒(例如,可修改、变换及/或另外操纵位流的装置)。
如图1A中所展示,视频译码***10包含源装置12,其产生在稍后时间由目的地装置14解码的经编码视频数据。在图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不应在经压缩位流的解码期间“下溢”或“上溢”。
在一些实施例中,缓冲器充满度(BF)可基于表示当前在缓冲器中的位数的值BufferCurrentSize及表示速率缓冲器150的大小的BufferMaxSize(即,可在任何时间点存储于速率缓冲器150中的最大位数)来定义。BF可计算为:
BF=((BufferCurrentSize*100)/BufferMaxSize)
应注意,上文计算BF的方法仅为例示性的,且可取决于特定实施或上下文以任何数目个不同方式来计算BF。
平坦度检测器115可检测从视频数据中的复合(即,非平坦)区域到视频数据中的平坦(即,简单或均匀)区域的变化,及/或反之亦然。术语“复合”及“平坦”将在本文中用以大体上指代视频编码器20编码视频数据的相应区域的难度。因此,如本文所使用的术语“复合”大体上将视频数据区域描述为视频编码器20难以对其进行编码,且可(例如)包含纹理化视频数据、高空间频率及/或难以编码的其它特征。如本文所使用的术语“平坦”大体上将视频数据区域描述为视频编码器20容易对其进行编码,且可(例如)包含视频数据中的平滑梯度、低空间频率及/或容易编码的其它特征。从复合区域到平坦区域的过渡可由视频编码器20使用以减小经编码视频数据中的量化伪影。具体来说,速率控制器120及预测器、量化器及重构器组件125可减小当识别到从复合区域到平坦区域的过渡时的此类量化伪影。类似地,从平坦到复合区域的过渡可由视频编码器20使用以增加QP以便减小所预期的译码当前块所需要的速率。
速率控制器120确定译码参数(例如QP)的集合。可由速率控制器120基于速率缓冲器150的缓冲器充满度及视频数据的图像活动(例如,从复合区域到平坦区域的过渡或平坦区域到复合区域的过渡)来调整QP,以便将确保速率缓冲器150不上溢或下溢的目标比特率的图片质量。速率控制器120还针对视频数据的每一块选择特定译码选项(例如,特定模式)以便实现最佳速率失真性能。速率控制器120将经重构图像的失真最小化以使得其满足比特率约束条件(即,整体实际译码速率适应目标比特率)。因此,速率控制器120的一个目的是确定译码参数(例如,QP、译码模式等)的集合以满足对速率的瞬时及平均约束,同时最大化速率失真性能。
预测器、量化器及重构器组件125可执行视频编码器20的至少三个编码操作。预测器、量化器及重构器组件125可在多个不同模式中执行预测。一个实例预测模式为中值自适应预测的经修改版本。中值自适应预测可由无损JPEG标准(JPEG-LS)实施。可由预测器、量化器及重构器组件125执行的中值自适应预测的经修改版本可允许三个连续样本值的并行预测。另一实例预测模式为块预测。在块预测中,根据线中的经先前重构像素预测在同一线上方或左边的样本。在一些实施例中,视频编码器20及视频解码器30可均对经重构像素执行相同的搜寻以确定块预测使用,且因此不需要在块预测模式中发送位。在其它实施例中,视频编码器20可在位流中执行搜寻及信号块预测向量,使得视频解码器30不必执行独立搜寻。还可实施中点预测模式,其中使用组件范围的中点来预测样本。中点预测模式可使得能够限定甚至是最坏样本中的经压缩视频所需要的位数。
预测器、量化器及重构器组件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的对应组件类似的方式操作。
QP计算
在一种方法中,可使用以下方程式导出或计算当前块的QP(表示为currQP):
currQP=prevQ+QpAdj*(diffBits>0?1:-1),
其中prevQP为与前一块相关联的QP,diffBits表示previousBlockBits与targetBits之间的差,QpAdj为基于diffBits的幅度所计算的QP偏移值(例如,QP调整值),previousBlockBits表示用于译码前一块的位数,且targetBits表示分配到当前块的目标位数。当previousBlockBits>targetBits时,diffBits为正,且可通过将偏移值QpAdj添加到prevQP值而导出当前块QP。换句话说,当diffBits为正时,QP值在值方面不从prevQP值减小。当previousBlockBits≤targetBits时,diffBits为负或零,且currQP不从prevQP值增大。应注意,可(例如)以QpAdj随着diffBits的幅度增大而单调增大的方式计算作为diffBits函数的偏移值QpAdj。
在本文中被称作默认技术的用于计算QP调整值QpAdj的一个技术现将参考图3来描述。图3提供包含其上绘制以零开始的diffBits的值的轴线的曲线图50。在默认技术中,当diffBits>0时,diffBits可使用K个阈值被分类成K+1个范围。这些阈值由标记阈值1、阈值2、阈值3、…及阈值K说明,且范围由标记范围1、范围2、范围3、…及范围K+1说明。在图3的默认技术中,展示使用K个阈值将diffBits分段成K+1个范围的一个方法。每一范围可与特定QpAdj值相关联,其中QpAdj值随着范围索引的增大而增大。当diffBits≤0时,可使用J个阈值(未说明)将diffBits的绝对值分类成J+1个范围,且可存在为J+1个范围中的每一个指定的特定QpAdj值。
在其它方面中,可基于缓冲器的充满度调整currQP值(可以缓冲器充满度BF表示),以便防止缓冲器的下溢及/或上溢。具体来说,当BF超出某一阈值(例如,P1)时,currQP可按固定偏移值(例如,p1)递增。举例来说,currQP可调整如下:currQP+=p1。此外,当BF下降到低于某一阈值(例如,Q1)时,currQP可按q1递减,例如,currQP-=q1。在某些方面中,可采用多个阈值,且对于每一阈值,可存在对应偏移值以调整currQP。
最终,当识别从复合区域到平坦区域的过渡或当识别平坦区域时,currQP可经设定成低值(例如,低于所定义currQP值的值)。
用于基于平坦到复合区域检测确定量化参数(QP)的技术
参考图4,可利用用于DSC的一或多个技术以检测从平坦/平滑区域到复合区域的过渡。无论哪个技术用于检测到复合区域的过渡,当检测到此类过渡时,所使用的QP可在过渡块或所述过渡块之后的下一块处增大(相较于前一平坦块)以便减小所预期的译码当前/下一块所需要的速率。然而,应注意,由于过渡块含有平坦区域及复合区域两者,过渡块处的QP值不可过高(例如,超出所定义的QP值)。举例来说,当过渡块的QP值超出所定义QP值时,可在块的平坦部分中产生伪影,其可在从过渡块重构的图像内显而易见。
图4说明可为帧或其部分(例如,帧的切片)的所关注的实例区域200。区域200可包含三个连续块205、210及215。在此实例中,块205对应于区域200的平坦区域/部分,块210对应于区域200的过渡区域/部分,且块215对应于区域200的复合区域/部分。如图所示,块205的内容为平坦的、平滑的或均匀的。块215的内容经纹理化且展现并非全部均匀的图案。块210包含从均匀内容到不均匀内容的过渡。如下文所描述,针对块205、210及215中的每一个执行复杂度计算。
如本文所使用,平坦块可指具有低于复杂度阈值的复杂度值的块。块经确定为平坦的阈值可基于各种设计准则(例如,译码块所需要的位数)来设定。类似地,非平坦或复合块可指代并不平坦的块,例如,具有大于或等于复杂度阈值的复杂度值。可基于相关联的块复杂度采用块的各种其它分类,且此类分类可为由块的复杂度值中的阈值定义的范围。
术语“平坦”及“复合”还可适用于除块外的区域。在此情形下,虽然区域可不与块的大小相同,例如,区域可不为离散编码/解码的大小,区域还可基于区域的复杂度而分类为平坦的或复合的。举例来说,如果区域内的每一块为平坦块,那么区域可被称为平坦区域。然而,平坦区域可不具有与其中所含的块相同的边界,且可在整个区域上计算区域的复杂度。可类似地定义复合区域。因此,可通过将区域的复杂度值与可与块的复杂度阈值不同的复杂度阈值相比较而将区域分类为平坦的或复合的。此外,因为可将区域划分成块以用于译码,可在概念上于本文中使用术语“区域”以促进理解本公开的各个方面。
如上文所描述,为了将块分类为平坦的或复合的,可确定块的复杂度值。只要复杂度值表示编码块的难度(例如,译码块而不引入可见伪影可需要的位数),可根据各种技术确定块的复杂度值。在一个方面中,可通过进行块中的像素的频率变换(例如,离散余弦变换(DCT)、哈达马(Hadamard)变换等)计算块的复杂度。频率变换可产生多个频率系数,所述频率系数可经求和以产生复杂度值。在某些方面中,直流电(DC或零频率)系数及/或一或多个低频系数可不包含于总和中。还可应用用于确定复杂度值(例如,在频率变换之前应用色彩变换)的各种其它技术。
如上文在“QP计算”部分下论述,在当前块为平坦块或含有从平坦区域到复合区域的过渡的块时,currQP可减小到低值(例如,低于所定义currQP值的值)。当下一块并不平坦时,currQP可取决于diffBits的幅度而增大或减小。举例来说,当编码器正在处理含有高度纹理化或高频内容的区域(例如,复合区域)时,当平坦块位于此区域内时,编码器可减小QP值。开始于平坦块之后的块,由于所述区域的高复杂度,编码器可再一次增大QP值。然而,由于QP值在平坦块处减小到低值,其可采取多个块以返回到对于此高复杂度区域来说合乎需要的高QP值。换句话说,更新QP值的速率可不够激进而无法防止位被浪费,例如,译码具有低于合乎需要的QP值的复合块可要求为了维持所需要的译码质量所必要的更多数目个位。
此外,还如“QP计算”部分中所提及,currQP可基于缓冲器的充满度进一步递增或递减达固定偏移值。递增或递减QP值达固定值可不合乎需要,这是因为currQP可递增或递减相对大的值(例如,大于阈值的值),所述相对大的值可引起连续块之间的QP值的大差异。此可导致经重构图像中的明显的伪影。
本文所公开的技术可应用于利用或实施使用CBR缓冲器的速率控制的任何图像或视频译码器,且可用于解决至少两个上文所描述的问题。
检测到平坦区域后的QP更新技术
在一种方法中,变量isFlat可指示给定块B是否为平坦块。另一变量isFlatToComplex可指示给定块B是否含有从平坦区域到复合区域的过渡。取决于所述实施,编码器20或解码器30可明确地确定每一块B的变量isFlat及/或isFlatToComplex,然而,编码器20或解码器30还可在未明确确定变量isFlat及/或isFlatToComplex的情况下隐含地确定块B是否为平坦的或是否包含从平坦区域到复合区域的过渡。为清楚起见,本公开将论述这些变量,如同其由编码器20及/或解码器30所确定。
在一项实施方案中,当对于前一块,isFlat为正且对于当前块,isFlat为假时,替代技术(例如,激进技术)可用于减小或更新QP值。即,当前一块为平坦且当前块为复合时,编码器20及/或解码器30可推断当前块包含从平坦区域到复合区域的过渡并应用用于更新QP值的替代技术来代替默认技术。
可应用替代技术的一个条件为当对于前一块,isFlat为真,且对于当前块,isFlat为假。在此位置(例如,当前块处),可利用替代技术(本文中也可被称作技术F)来代替默认技术来计算QpAdj。上文结合图3描述默认技术。应注意,可存在替代默认技术的一或多个技术。
在一项实例中,可针对N个连续块使用替代技术,例如,对于N个连续块,基于技术F计算或确定QpAdj,且在译码N个块之后,速率控制可切换回默认技术。在此,N为正整数。
在另一实例中,如果在下N个连续块中发现所述块中的任一个为平坦的,那么速率控制可切换回默认技术或将QP设定为低值。因此,无论哪个首先发生,可针对N个连续块应用技术F或直到检测/击中N个连续块中的平坦块。
图5说明包含多个块300的实例,所述块300包含块A-E,其中N=5。在图5中展示的此情形下,由于块E为平坦的,技术F用于块B、C及D,即仅用于3个块。
表1中的以下实例伪码展示可用于确定QP更新技术的实施方案:
表1
在一个替代技术中,当isFlat对于前一块为真且当前块具有从平坦到复合区域的过渡时,技术F不可立即应用以计算当前块的QP。实情为,替代技术可在下一块开始时应用。在图6中展示此情形的实例,其包含多个块310,所述块310包含块A-D。在图6的实例中,对于块A,isflat=真,且对于块B,isflat=假(因此,块B含有从平坦区域到复合区域的过渡,例如isFlatToComplex=真)。在这些条件下,替代技术可用于从块C开始计算QP。
因此,表2的以下实例伪码可用于确定QP更新技术:
表2
在另一替代方案中,当(isFlat||isFlatToComplex)对于前一块为真且(isFlat||isFlatToComplex)对于当前块为假时,例如,前一块为平坦块或含有从平坦到复合区域的过渡且当前块不为平坦块并不含有从平坦区域到复合区域的过渡,可利用替代技术减小或更新QP。
在又一替代方案中,在针对其应用替代技术的N个连续块中,如果块中的任一个为平坦的或含有从平坦到复合区域的过渡,速率控制可切换回默认技术。
因此,表3中的以下实例伪码可用于确定待实施的技术:
表3
在另一替代方案中,当(isFlatToComplex)对于前一块为真且(isFlatToComplex)对于当前块为假时(例如,无论前一块是否为平坦,选择特定QP技术的决策基于isFlatToComplex),可利用替代技术来减小或更新QP。
在另一替代方案中,针对其应用替代技术的N个连续块中,如果发现块中的任一个含有从平坦区域到复合区域的过渡,那么速率控制可切换回默认技术。
因此,表4中的以下实例伪码可用于确定待实施的技术:
表4
在一种方法中,可就在检测isFlat=真之前存储块的QP值,且当isFlat=假时,所存储的QP值可用于导出块的QP值。在此实施方案中,平坦区域之前的块的复杂度可用于估计平坦区域之后的块的复杂度。图7包含多个块320,所述多个块320包含块A-D,且图7说明其中块A的QP值可用于根据当前方法导出块D的QP值的情形。
在一个方面中,块D的QP值可与块A的QP值相同。在另一方面中,块D的QP值可基于技术F来调整。在又一方面中,块D的QP值可基于默认技术来调整。在再一方面中,块A的QP值可递增达固定偏移且可被用作块D的QP值。
在另一方面中,块A的QP值可递减达固定偏移且可被用作块D的QP值。
在另一方法中,伪码线:表1到4中的每一个的distCount<=N可由伪码线distCount<N替换。在又一方法中,N可由N-1替换。
根据一项实施例,在下文中描述两个区域(i)diffBits>0及(ii)diffBits<=0的QpAdj的计算。
情况(i):diffBits>0
在一项实施方案中,对于diffBits的给定值,技术F的QpAdj值严格大于(>)默认技术的对应QpAdj值。图8展示默认技术及替代技术的一个实施方案的说明。图8的曲线图包含两条线:默认技术410及替代技术405。在图8的实例中,△Qp经展示为用于默认技术410及技术F(例如,替代技术405)的diffBits的函数。对于技术F 405,对于给定diffBits>0,技术F405的QpAdj值(或△Qp)大于或等于默认技术410的对应QpAdj值(或△Qp)。应注意,当函数重叠时(例如,在实线与虚线函数重叠的情况下),QpAdj的值可相同。
在一项实施方案中,当相同K个阈值如默认技术410中所使用(如上文结合图3所描述)用于分类K+1个范围时,对于每一范围,技术F 405的QpAdj可严格大于默认技术410的对应QpAdj值。
再次参考图8的实例,相同阈值可用于分类两个技术的范围(x轴)。在一个替代方案中,严格大于(>)可由大于或等于(>=)替换。
情况(ii):diffBits<=0
在一项实施方案中,对于diffBits的给定值,技术F 405的QpAdj值严格小于默认技术410的对应QpAdj值。如图8中所展示,对于diffBits<=0的给定值,技术F 405的QpAdj(或|△Qp|)严格小于默认技术410的对应QpAdj(或|△Qp|)。更确切来说,当diffBits<=0(例如,previousBlockBits<=targetBits)时,对于技术F 405,相较于默认技术410,当前块的QP更保守地减小:currQP=prevQP-QpAdj。此将节省少许位,因为QP并未立即减小到低值。
在一个方面中,当相同J个阈值如默认技术410中所使用而用于分类J+1个范围时,对于每一范围,技术F 405的QpAdj(或|△Qp|)严格小于默认技术410的对应QpAdj值。继续参考图8中展示的实例,相同阈值可用于分类范围。在相关方面中,严格小于(<)可由小于或等于(<=)替换。
应注意,图8中所展示的实例仅出于说明的目的,且每一技术的diffBits与△Qp之间的实际关系可取决于特定实施方案或上下文而不同。
在一个方面中,对于diffBits<=0,默认技术410可用于计算QpAdj,且对于diffBits>0,技术F 405可用于计算QpAdj。在相关方面中,对于diffBits>0,默认技术410可用于计算QpAdj,且对于diffBits<=0,技术F 405可用于计算QpAdj。
当缓冲器超出阈值上限或降低到阈值下限以下时的QP更新技术
当BF超出阈值上限时,代替使用默认技术计算QpAdj且接着添加固定偏移值,可使用替代技术计算QpAdj。换句话说,可基于BF及diffBits经由替代技术计算QpAdj。当BF降低到下阈值以下时可实施类似调整。
缓冲器充满度超出阈值限制
使[P1,P2,…Pn]为n个阈值且[技术P1,技术P2,…技术Pn]为可用于计算QpAdj的相应替代技术。速率控制可基于下文从替代技术选择特定技术且所选择技术将用于计算QpAdj:
If(缓冲器充满度>=P1)
技术P1用于计算QpAdj;
else if(缓冲器充满度>=P2)
技术P2用于计算QpAdj;
else if(缓冲器充满度>=Pn)
技术Pn用于计算QpAdj。
即,缓冲器的充满度(例如,BF)可与多个逐渐减小的阈值P1到Pn相比较。当BF大于阈值中的一个(例如,Pi)时,对应的技术(技术Pi)可用于确定QP调整值QpAdj。
情况(i):diffBits>0
在一个实施方案中,对于diffBits的给定值,技术P1的QpAdj值>=技术P2的QpAdj值>=…技术Pn的QpAdj值>=默认技术的QpAdj值。
图9展示默认技术及替代技术(技术P1)的一个实施方案的说明。图9的曲线图包含两条线:默认技术420及技术P1415,其中对于diffBits的给定值>0,技术P1415的QpAdj值>=默认技术420的QpAdj值。
在一个实施方案中,相同K个阈值可如默认技术420中所使用(如上文结合图3所描述)而用于分类K+1个范围,对于每一范围,技术P1415的QpAdj值>=技术P2的QpAdj值>=…技术Pn的QpAdj值>=默认技术420的QpAdj值。
在一个方面中,参考图9的实例,相同阈值可用于分类范围。在另一方面中,大于或等于(>=)可由严格大于(>)替换。在又一方面中,默认技术420可为唯一用于计算QpAdj的技术。
情况(ii):diffBits<=0
在一个实施方案中,对于diffBits的给定值,技术P1415的QpAdj值<=技术P2的QpAdj值<=…技术Pn的QpAdj值<=默认技术420的QpAdj值。
继续参考图9的实例,对于diffBits的给定值<=0,当与默认技术420的对应QpAdj(或|△Qp|)相比较时,技术P1415的QpAdj(或|△Qp|)严格较小。
在一个实施方案中,相同J个阈值可如默认技术420中所使用而用于分类J+1个范围,且对于每一范围,技术P1415的QpAdj值<=技术P2的QpAdj值<=…技术Pn的QpAdj值<=默认技术420的QpAdj值。
在一个方面中,小于或等于(<=)可由严格小于(<)替换。在另一方面中,默认技术420可为用于计算QpAdj的单一技术。
缓冲器充满度降低到阈值限制以下
使[Q1,Q2,…Qm]为m个阈值且使[技术Q1,技术Q2,…技术Qm]为用于计算QpAdj的相应替代技术。换句话说,速率控制可基于下文从替代技术选择特定技术且所选择的技术将用于计算QpAdj:
If(缓冲器充满度<=Q1)
技术Q1用于计算QpAdj;
else if(缓冲器充满度<=Q2)
技术Q2用于计算QpAdj;
else if(缓冲器充满度<=Qm)
技术Qm用于计算QpAdj;
即,缓冲器的充满度(例如,BF)可与多个逐渐增大的阈值Q1到Qn相比较。当BF小于阈值中的一个(例如Qi)且大于前一阈值(例如Qi-1)时,对应技术(技术Qi)可用于确定QP调整值QpAdj。
情况(i):diffBits>0
在一个实施方案中,对于diffBits的给定值,默认技术的QpAdj值>=技术Q1的QpAdj值>=…技术Q2的QpAdj值>=技术Qm的QpAdj值。
图10展示默认技术及两个替代技术(技术Q1及技术Q2)的一个实施方案的说明。图10的曲线图展示其中△Qp为默认技术425、技术Q1430及技术Q2435的diffBits的函数的实例。参考图10,展示其中m=2的关系,且对于diffBits的给定值>0,默认技术425的QpAdj值>=技术Q1430的QpAdj值>=技术Q2430的QpAdj值。
在一个实施方案中,当相同K个阈值如默认技术中所使用(如上文结合图3所论述)而用于分类K+1个范围时,对于每一范围,默认技术425的QpAdj值>=技术Q1430的QpAdj值>=技术Q2435的QpAdj值>=…技术Qm的QpAdj值。
在一个方面中,大于或等于(>=)可由严格大于(>)替换。在另一方面中,默认技术425可为唯一用于计算QpAdj的技术。
情况(ii):diffBits<=0
在一个实施方案中,对于diffBits的给定值,默认技术425的QpAdj值<=技术Q1430的QpAdj值<=技术Q2 435的QpAdj值…<=技术Qm的QpAdj值。
参考图10,应注意,当函数重叠时(例如,在实线与虚线重叠的情况下),QpAdj的值相同。
在一个实施方案中,当相同J个阈值如默认技术425中所使用而用于分类J+1个范围时,对于每一范围,默认技术425的QpAdj值<=技术Q1 430的QpAdj值<=技术Q2 435的QpAdj值…<=技术Qm的QpAdj值。
在一个方面中,小于或等于(<=)可由严格小于(<)替换。应注意,图9到10中展示的实例仅出于说明的目的,且用于基于每一技术的diffBits导出△Qp的实际技术或函数可取决于特定实施方案或上下文而不同。在另一方面中,默认技术425可为唯一用于计算QpAdj的技术。
最终,应注意,本文所描述的技术可应用于(1)明确的QP导出及/或(2)隐式QP导出。举例来说,在明确QP导出中,可在编码器20处导出QP并在位流中明确地传信到解码器30。在隐式QP导出中,编码器20及解码器30两者可导出QP。然而,解码器30可利用额外信息导出QP,例如(例如)可在位流中通过编码器20传信的QP技术的类型。可用以辅助解码器30导出QP值的其它信息可取决于实施方案而在位流中通过编码器20传信。
在第一实例中,本文所提出的技术可由编码器20使用以通过选择适当QP适应曲线而计算QP。编码器20可明确地传信QP,例如,经由传信当前块QP与前一块QP之间的差。编码器20还可传信所选择的QP适应曲线。
在第二实例中,本文中所提出的技术可由编码器20及解码器30两者使用。QP适应曲线的类型可由编码器20选择且可在位流中明确地传信。
用于确定量化参数(QP)值的实例流程图
参考图11,将描述用于确定QP值的实例程序。图11为说明根据本公开的实施例的用于译码视频数据的方法500的流程图。图11中说明的步骤可通过视频编码器(例如,图2A中的视频编码器20)、视频解码器(例如,图2B中的视频解码器30)或其组件来执行。为方便起见,方法500经描述为由视频译码器(也简称为译码器)执行,所述视频译码器可为视频编码器20、视频解码器30或另一组件。
译码器或其组件可实施于包含由包含缓冲器的多个可编程计算单元共享的整合式全局存储器的装置上,其中所述缓冲器可包含先进先出(FIFO)缓冲器。所述装置可进一步包含集成电路(IC),其可包含至少一个处理器(例如,中央处理单元(CPU))及/或图形处理单元(GPU),其中所述GPU可包含一或多个可编程计算单元。
方法500开始于块501。在块505处,译码器确定当前块是否包含从平坦区域到复合区域的过渡或是否为平坦块。在某些实施方案中,此确定可包含确定前一块、当前块及下一块中的每一个的复杂度值,并将所述复杂度值与复杂度阈值相比较。如果译码器确定当前块包含从平坦区域到复合区域的过渡或为平坦块,那么方法行进到块515。如果译码器确定当前块不包含从平坦区域到复合区域的过渡且不为平坦块,那么方法500行进到块510。在块510处,译码器确定前一块是否包含从平坦区域到复合区域的过渡或是否为平坦块。如果译码器确定前一块包含从平坦区域到复合区域的过渡或为平坦块,那么方法500行进到块520。如果译码器确定前一块不包含从平坦区域到复合区域的过渡且不为平坦块,那么方法500行进到块535。虽然未说明,但在某些实施方案中,如果译码器确定前一块不包含从平坦区域到复合区域的过渡或不为平坦块,那么方法可行进到块515。在块515处,译码器响应于确定当前块包含从平坦区域到复合区域的过渡抑或为平坦块而选择用于计算当前块的QP调整值的默认技术。
在块520处,译码器至少部分地响应于确定当前块不包含从平坦区域到复合区域的过渡或不为平坦块而选择用于计算当前块的QP调整值的替代技术。译码器还可至少部分地响应于确定前一块包含从平坦区域到复合区域的过渡抑或为平坦块而选择用于计算当前块的QP调整值的替代技术。在块525处,译码器经由所选择的技术计算当前块的QP调整值。在块530处,译码器基于所述QP调整值确定当前块的QP值。方法结束于块535。
在方法500中,可去除(例如,不执行)图11中所展示的块中的一或多个及/或可切换所述方法执行的次序。在一些实施例中,可将额外块添加到方法500。本公开的实施例不限于图11中展示的实例或不受到图11中展示的实例限制,且可在不脱离本公开的精神的情况下实施其它变化。
参考图12,将描述用于确定QP值的另一实例程序。图12为说明根据本公开的实施例的用于译码视频数据的方法600的流程图。图12中说明的步骤可通过视频编码器(例如,图2A中的视频编码器20)、视频解码器(例如,图2B中的视频解码器30)或其组件来执行。为方便起见,方法500经描述为由视频译码器(也简称为译码器)执行,所述视频译码器可为视频编码器20、视频解码器30或另一组件。
方法600开始于块601。在块605处,译码器确定缓冲器的充满度是否大于或等于第一充满度上阈值。如果译码器确定缓冲器的充满度大于或等于第一充满度上阈值,那么方法600行进到块615。如果译码器确定缓冲器的充满度小于第一充满度上阈值,那么方法行进到块610。在块610处,译码器确定缓冲器的充满度是否小于或等于第一充满度下阈值。如果译码器确定缓冲器的充满度小于或等于第一充满度下阈值,那么方法600行进到块620。如果译码器确定缓冲器的充满度大于第一充满度下阈值,那么方法600行进到块635。
在块615处,译码器响应于确定缓冲器的充满度大于或等于第一充满度上阈值而选择用于计算当前块的QP调整值的第一技术。在某些实施方案中,译码器可响应于确定缓冲器的充满度小于第一充满度上阈值且大于第一充满度下阈值而选择用于计算当前块的QP调整值的默认技术。在这些实施方案中,方法600可从块610行进到块625。
在块620处,译码器响应于确定缓冲器的充满度小于或等于第一充满度下阈值而选择用于计算当前块的QP调整值的第二技术。在块625处,译码器经由所选择的技术计算当前块的QP调整值。在块630处,译码器基于所述QP调整值确定当前块的QP值。方法600结束于块635。
在方法600中,可去除(例如,不执行)图12中所展示的块中的一或多个及/或可切换方法执行的次序。在一些实施例中,可将额外块添加到方法600。本公开的实施例不限于图12中展示的实例或不受到图12中展示的实例限制,且可在不脱离本公开的精神的情况下实施其它变化。
其它考虑因素
应注意,已经从编码器(例如,图2A中的视频编码器20)的视角描述了本公开的方面。然而,所属领域的技术人员将了解,与上文所描述的那些操作相反的操作可应用于解码由(例如)图2B中的视频解码器30产生的位流。
可使用多种不同技术及技艺中的任何技术及技艺来表示本文中公开的信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合表示遍及以上描述可能参考的数据、指令、命令、信息、信号、位、符号及码片。
结合本文中所公开的实施例而描述的各种说明性逻辑块及算法步骤可被实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体在其功能性方面描述了各种说明性组件、块及步骤。此功能性被实施为硬件还是软件取决于特定应用及强加于总体***的设计约束。所属领域的技术人员可针对每一特定应用而以不同方式来实施所描述功能性,但这些实施决策不应被解释为导致脱离本公开的范围。
因此,本文中描述的技术可以硬件、软件、固件或其任何组合实施。此类技术可以多种装置中的任一个实施,例如,通用计算机、无线通信装置手持机、或集成电路装置,所述集成电路装置具有包含无线通信装置手持机、汽车、电气设备、可佩戴装置及/或其它装置中的应用的多个用途。可将描述为装置或组件的任何特征一起实施于整合式逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分地由包括包含当经执行时执行以上描述的方法中的一或多个的指令的代码的计算机可读数据存储媒体实现。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM),例如,同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及其类似者。另外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,所述计算机可读通信媒体载送或传达呈指令或数据结构的形式且可由计算机存取、读取及/或执行的代码,例如,传播的信号或波。
代码可由可包含一或多个处理器的处理器执行,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效整合式或离散逻辑电路。此处理器可经配置以执行本公开中所描述的技术中的任何技术。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构、前述结构的任何组合或适合于实施本文中描述的技术的任何其它结构或设备中的任一者。此外,在一些方面中,本文中描述的功能性可提供于经配置用于编码及解码的专用软件或硬件内,或并入于组合式视频编码器-解码器(编解码器)中。又,所述技术可完全实施于一或多个电路或逻辑元件中。
本公开的技术可实施于各种装置或设备中,包含无线手持机、IC或IC的集合(例如,芯片集合)。在本公开中描述各种组件或单元以强调经配置以执行所公开技术的装置的功能方面,但未必需要通过不同硬件单元实现。实情为,如上文所描述,各种单元可组合于编解码器硬件单元中,或结合合适软件及/或固件通过互操作性硬件单元(包含如上所述的一或多个处理器)的集合来提供。
虽然已经结合各种不同实施例描述了前文,但可在不脱离本公开的教示的情况下将来自一项实施例的特征或元件与其它实施例组合。然而,相应实施例之间的特征的组合未必限于此。已描述了本公开的各种实施例。这些及其它实施例在所附权利要求书的范围内。

Claims (30)

1.一种用于确定量化参数QP值的方法,其包括:
确定当前块是否包含从平坦区域到复合区域的过渡或是否为平坦块;
确定前一块是否包含从平坦区域到复合区域的过渡或是否为平坦块;
响应于确定所述当前块包含从平坦区域到复合区域的过渡中的至少一个或为平坦块而选择用于计算所述当前块的QP调整值的默认技术;
响应于确定:i)所述当前块不包含从平坦区域到复合区域的过渡或不为平坦块,及ii)所述前一块包含从平坦区域到复合区域的过渡或为平坦块,选择用于计算所述当前块的所述QP调整值的替代技术;
经由所述所选择技术计算所述当前块的所述QP调整值;以及
基于所述QP调整值确定所述当前块的所述QP值。
2.根据权利要求1所述的方法,其进一步包括:
确定所述前一块、所述当前块及所述下一块中的每一个的复杂度值,
其中所述确定所述当前块是否包含从平坦区域到复合区域的过渡是基于所述前一块、所述当前块及所述下一块的所述复杂度值。
3.根据权利要求2所述的方法,其中所述确定所述当前块是否包含从平坦区域到复合区域的过渡是基于(i)所述前一块的所述复杂度值小于复杂度阈值,及(ii)所述当前块的所述复杂度值大于或等于所述复杂度阈值。
4.根据权利要求1所述的方法,其进一步包括:
响应于确定:i)所述当前块不包含从平坦区域到复合区域的过渡或不为平坦块,及ii)所述前一块包含至少包含从平坦到复合区域的过渡中的一个或为平坦块,经由所述替代技术确定所定义数目个连续块的多个QP调整值。
5.根据权利要求4所述的方法,其进一步包括:
确定所述所定义数目个连续块中的一个是否为平坦块或是否含有从复合区域到平坦区域的过渡;以及
响应于确定所述所定义数目个连续块中的所述一个为平坦块或含有从复合区域到平坦区域的过渡,终止经由所述替代技术对所述所定义数目个连续块的所述QP调整值的所述确定。
6.根据权利要求1所述的方法,所述方法进一步包括:
确定译码所述前一块所需要的位数与用于所述当前块的目标位数的差,
其中对于所述位数的正差,经由所述替代技术计算的所述QP调整值大于经由所述默认技术计算的所述QP调整值。
7.根据权利要求6所述的方法,其中对于所述位数的负差或零差,通过所述替代技术计算的所述QP调整值小于通过所述默认技术计算的所述QP调整值。
8.一种用于确定用于使用固定速率缓冲器译码视频数据的量化参数QP值的方法,其包括:
确定所述缓冲器的充满度是否(i)大于或等于第一充满度上阈值,或(ii)小于或等于第一充满度下阈值;
响应于确定所述缓冲器的所述充满度大于或等于所述第一充满度上阈值而选择用于计算当前块的QP调整值的第一技术;
响应于确定所述缓冲器的所述充满度小于或等于所述第一充满度下阈值而选择用于计算所述当前块的所述QP调整值的第二技术;
经由所述所选择技术计算所述当前块的所述QP调整值;以及
基于所述QP调整值确定所述当前块的所述QP值。
9.根据权利要求8所述的方法,其进一步包括响应于确定所述缓冲器的所述充满度小于所述第一充满度阈值且大于第二充满度阈值而选择用于计算所述当前块的所述QP调整值的默认技术。
10.根据权利要求8所述的方法,其进一步包括:
确定所述缓冲器的所述充满度是否大于或等于多个逐渐增大的充满度上阈值,所述充满度上阈值分别对应于第一类型的多个技术;以及
确定译码前一块所需要的位数与为所述当前块分配的目标位数的差,
其中响应于所述位数的所述差大于零,通过所述第一技术按所述对应充满度上阈值逐渐增大的次序来计算逐渐增大的所述QP调整值。
11.根据权利要求10所述的方法,其中响应于所述位数的所述差小于或等于零,通过所述第一技术按所述对应充满度上阈值逐渐增大的次序来计算所述逐渐减小的QP调整值。
12.根据权利要求8所述的方法,其进一步包括:
确定所述缓冲器的所述充满度是否大于或等于多个逐渐减小的充满度下阈值,所述充满度下阈值分别对应于第二类型的多个技术;以及
确定译码前一块所需要的所述位数与用于所述当前块的目标位数的差,
其中响应于所述位数的所述差大于零,通过所述第二技术按所述对应充满度下阈值逐渐减小的次序来计算所述逐渐增大的QP调整值。
13.根据权利要求12所述的方法,其中响应于所述位数的所述差小于或等于零,通过所述第二技术按所述对应充满度下阈值逐渐减小的次序来计算所述逐渐减小的QP调整值。
14.根据权利要求8所述的方法,其中用于所述当前块的所述QP值的所述确定进一步包括:
接收用于前一块的QP值;
确定译码前一块所需要的所述位数与用于所述当前块的目标位数的差;
响应于译码所述前一块所需要的所述位数与用于所述当前块的所述目标位数的所述差大于零而基于所述前一块的所述QP值与所述QP调整值的和而确定所述当前块的所述QP值;以及
响应于译码所述前一块所需要的所述位数与用于所述当前块的所述目标位数的所述差不大于零而基于用于所述前一块的所述QP值与所述QP调整值的差而确定所述当前块的所述QP值。
15.根据权利要求8所述的方法,其进一步包括:
将所述缓冲器的所述充满度分类成介于所述第一充满度上阈值与最大缓冲器充满度之间的多个上限;
将所述缓冲器的所述充满度分类成介于所述第一充满度下阈值与最小缓冲器充满度之间的多个下限;以及
确定所述缓冲器的所述充满度对应于所述上限或下限中的哪一个,
其中所述当前块的所述QP调整值的所述计算进一步基于所述所确定的上限或下限。
16.根据权利要求8所述的方法,其进一步包括:
确定译码前一块所需要的所述位数与用于所述当前块的目标位数的差,
其中所述当前块的所述QP调整值的所述计算进一步基于译码所述前一块所需要的所述位数与用于所述当前块的所述目标位数的所述差。
17.一种用于确定量化参数QP值的装置,其包括:
存储器,其经配置以存储包含前一块及当前块的视频数据;以及
至少一个处理器电路,其经耦合到所述存储器且经配置以:
确定所述当前块是否包含从平坦区域到复合区域的过渡或是否为平坦块;
确定所述前一块是否包含从平坦区域到复合区域的过渡或是否为平坦块;
响应于确定所述当前块确实包含从平坦区域到复合区域的过渡中的至少一个或为平坦块而选择用于计算所述当前块的QP调整值的默认技术;
响应于确定:i)所述当前块不包含从平坦区域到复合区域的过渡或不为平坦块,及ii)所述前一块包含从平坦区域到复合区域的过渡或为平坦块,选择用于计算所述当前块的所述QP调整值的替代技术;
经由所述所选择技术计算所述当前块的所述QP调整值;以及
基于所述QP调整值确定所述当前块的所述QP值。
18.根据权利要求17所述的装置,其中所述处理器电路进一步经配置以:
确定所述前一块、所述当前块及所述下一块中的每一个的复杂度值,
其中所述确定所述当前块是否包含从平坦区域到复合区域的过渡是基于所述前一块、所述当前块及所述下一块的所述复杂度值。
19.根据权利要求18所述的装置,其中所述处理器电路经进一步配置以确定所述当前块是否包含从平坦区域到复合区域的过渡是基于(i)所述前一块的所述复杂度值小于复杂度阈值,及(ii)所述当前块的所述复杂度值大于或等于所述复杂度阈值。
20.根据权利要求17所述的装置,其中所述处理器电路进一步经配置以:
响应于确定:i)所述当前块不包含从平坦区域到复合区域的过渡或不为平坦块,及ii)所述前一块包含至少包含从平坦到复合区域的过渡中的一个或为平坦块,经由所述替代技术确定所定义数目个连续块的多个QP调整值。
21.根据权利要求20所述的装置,其中所述处理器电路进一步经配置以:
确定所述所定义数目个连续块中的一个是否为平坦块或是否含有从复合区域到平坦区域的过渡;以及
响应于确定所述所定义数目个连续块中的所述一个为平坦块或含有从复合区域到平坦区域的过渡,终止经由所述替代技术对所述所定义数目个连续块的所述QP调整值的所述确定。
22.根据权利要求17所述的装置,其中所述处理器电路进一步经配置以:
确定译码所述前一块所需要的位数与用于所述当前块的目标位数的差,
其中对于所述位数的正差,经由所述替代技术计算的所述QP调整值大于经由所述默认技术计算的所述QP调整值。
23.一种用于确定用于译码视频数据的量化参数QP值的装置,其包括:
固定速率缓冲器电路;
存储器,其经配置以存储包含当前块的所述视频数据;以及
至少一个处理器电路,其经耦合到所述存储器且经配置以:
确定所述缓冲器电路的充满度是否(i)大于或等于第一充满度上阈值,或(ii)小于或等于第一充满度下阈值;
响应于确定所述缓冲器的所述充满度大于或等于所述第一充满度上阈值而选择用于计算所述当前块的QP调整值的第一技术;
响应于确定所述缓冲器的所述充满度小于或等于所述第一充满度下阈值而选择用于计算所述当前块的所述QP调整值的第二技术;
经由所述所选择技术计算所述当前块的所述QP调整值;以及
基于所述QP调整值确定所述当前块的所述QP值。
24.根据权利要求23所述的装置,其中所述处理器电路经进一步配置以响应于确定所述缓冲器的所述充满度小于所述第一充满度阈值且大于第二充满度阈值而选择用于计算所述当前块的所述QP调整值的默认技术。
25.根据权利要求23所述的装置,其中所述处理器电路进一步经配置以:
确定所述缓冲器的所述充满度是否大于或等于多个逐渐增大的充满度上阈值,所述充满度上阈值分别对应于第一类型的多个技术;以及
确定译码前一块所需要的所述位数与为所述当前块分配的目标位数的差,
其中响应于所述位数的所述差大于零,所述处理器电路经进一步配置以通过所述第一技术按所述对应充满度上阈值逐渐增大的次序计算所述逐渐增大的QP调整值。
26.根据权利要求25所述的装置,其中响应于所述位数的所述差小于或等于零,所述处理器电路经进一步配置以通过所述第一技术按所述对应充满度上阈值逐渐增大的次序计算所述逐渐减小的QP调整值。
27.根据权利要求23所述的装置,其中所述处理器电路进一步经配置以:
确定所述缓冲器的所述充满度是否大于或等于多个逐渐减小的充满度下阈值,所述充满度下阈值分别对应于第二类型的多个技术;以及
确定译码前一块所需要的位数与用于所述当前块的目标位数的差,
其中响应于所述位数的所述差大于零,所述处理器电路经进一步配置以通过所述第二技术按所述对应充满度下阈值逐渐减小的次序计算所述逐渐增大的QP调整值。
28.根据权利要求27所述的装置,其中响应于所述位数的所述差小于或等于零,所述处理器电路经进一步配置以通过所述第二技术按所述对应充满度下阈值逐渐减小的次序计算所述逐渐减小的QP调整值。
29.根据权利要求23所述的装置,其中所述处理器电路进一步经配置以:
接收前一块的QP值;
确定译码前一块所需要的位数与用于所述当前块的目标位数的差;
响应于译码所述前一块所需要的所述位数与用于所述当前块的所述目标位数的所述差大于零,基于所述前一块的所述QP值与所述QP调整值的和而确定所述当前块的所述QP值;以及
响应于译码所述前一块所需要的所述位数与用于所述当前块的所述目标位数的所述差不大于零,基于所述前一块的所述QP值与所述QP调整值的差而确定所述当前块的所述QP值。
30.根据权利要求23所述的装置,其中所述处理器电路进一步经配置以:
将所述缓冲器的所述充满度分类成介于所述第一充满度上阈值与最大缓冲器充满度之间的多个上限;
将所述缓冲器的所述充满度分类成介于所述第一充满度下阈值与最小缓冲器充满度之间的多个下限;以及
确定所述缓冲器的所述充满度对应于所述上限或下限中的哪一个,
其中所述处理器电路进一步经配置以基于所述所确定上限或下限而计算所述当前块的所述QP调整值。
CN201680018523.6A 2015-04-13 2016-04-07 用于显示流压缩的量化参数更新分类 Pending CN107431811A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562146898P 2015-04-13 2015-04-13
US62/146,898 2015-04-13
US15/092,407 2016-04-06
US15/092,407 US10356428B2 (en) 2015-04-13 2016-04-06 Quantization parameter (QP) update classification for display stream compression (DSC)
PCT/US2016/026490 WO2016168060A1 (en) 2015-04-13 2016-04-07 Quantization parameter (qp) update classification for display stream compression (dsc)

Publications (1)

Publication Number Publication Date
CN107431811A true CN107431811A (zh) 2017-12-01

Family

ID=57112949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680018523.6A Pending CN107431811A (zh) 2015-04-13 2016-04-07 用于显示流压缩的量化参数更新分类

Country Status (7)

Country Link
US (1) US10356428B2 (zh)
EP (1) EP3284254A1 (zh)
JP (1) JP2018515015A (zh)
KR (1) KR20170137093A (zh)
CN (1) CN107431811A (zh)
TW (1) TW201703522A (zh)
WO (1) WO2016168060A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US9936203B2 (en) 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10432952B2 (en) 2015-11-19 2019-10-01 Qualcomm Incorporated System and methods for fixed-point approximations in display stream compression (DSC)
US11546611B2 (en) * 2018-08-01 2023-01-03 Samsung Display Co., Ltd. Rate control for fixed rate foveated display compression

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870753A (zh) * 2005-05-27 2006-11-29 中国科学院自动化研究所 一种低复杂度的积分码率控制方法
CN1922886A (zh) * 2004-02-20 2007-02-28 日本电气株式会社 图像编码方法及其设备和其控制程序
CN101184221A (zh) * 2007-12-06 2008-05-21 上海大学 基于视觉关注度的视频编码方法
CN101233761A (zh) * 2005-06-13 2008-07-30 诺基亚公司 在编码器中提供一次性速率控制的***和方法
CN102210151A (zh) * 2008-11-07 2011-10-05 三菱电机株式会社 图像编码装置以及图像解码装置
JP2012191500A (ja) * 2011-03-11 2012-10-04 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN103179405A (zh) * 2013-03-26 2013-06-26 天津大学 一种基于多级感兴趣区域的多视点视频编码方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4922273A (en) 1987-04-02 1990-05-01 Konica Corporation Compression method of halftone image data
JP2507215B2 (ja) 1991-09-02 1996-06-12 松下電器産業株式会社 画像符号化装置
JP3152765B2 (ja) 1991-10-31 2001-04-03 株式会社東芝 画像符号化装置
US5398078A (en) 1991-10-31 1995-03-14 Kabushiki Kaisha Toshiba Method of detecting a motion vector in an image coding apparatus
JPH06245199A (ja) 1993-02-19 1994-09-02 Sharp Corp 画像符号化装置
US5933451A (en) 1994-04-22 1999-08-03 Thomson Consumer Electronics, Inc. Complexity determining apparatus
US6160846A (en) 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US7016413B2 (en) 1998-03-20 2006-03-21 International Business Machines Corporation Adaptively encoding a picture of contrasted complexity having normal video and noisy video portions
FI116819B (fi) 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
DE10048735A1 (de) 2000-09-29 2002-04-11 Bosch Gmbh Robert Verfahren zur Codierung und Decodierung von Bildsequenzen sowie Einrichtungen hierzu
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
KR100540655B1 (ko) 2003-01-23 2006-01-10 삼성전자주식회사 비디오 코딩시의 비트율 제어 방법 및 장치
DE102004037584B4 (de) * 2004-08-03 2008-05-08 Bayerische Motoren Werke Ag Verfahren zum Betreiben einer Antriebseinheit
JP4074868B2 (ja) 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US8363717B2 (en) 2005-05-17 2013-01-29 Canon Kabushiki Kaisha Image processing apparatus
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
KR101348365B1 (ko) 2006-08-02 2014-01-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
US8787445B2 (en) 2007-03-15 2014-07-22 Nvidia Corporation Allocation of available bits to represent different portions of video frames captured in a sequence
KR101172430B1 (ko) * 2007-08-17 2012-08-08 삼성전자주식회사 비트율 제어 방법 및 그 장치
JP5427785B2 (ja) 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
US8363719B2 (en) 2007-10-29 2013-01-29 Canon Kabushiki Kaisha Encoding apparatus, method of controlling thereof, and computer program
JP5111128B2 (ja) 2008-01-22 2012-12-26 キヤノン株式会社 符号化装置、符号化装置の制御方法及びコンピュータプログラム
KR100952340B1 (ko) 2008-01-24 2010-04-09 에스케이 텔레콤주식회사 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치
CN102067610B (zh) 2008-06-16 2013-07-10 杜比实验室特许公司 基于视频编码的切片依赖性的码率控制模型适配
KR101539045B1 (ko) 2008-09-26 2015-07-23 에스케이 텔레콤주식회사 양자화 계수 결정 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
US8897365B2 (en) 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
WO2010077333A1 (en) 2008-12-29 2010-07-08 Thomson Licensing Method and apparatus for rate control for compression of video frames
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
KR101282193B1 (ko) 2009-11-10 2013-07-04 한국전자통신연구원 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
KR20110060181A (ko) 2009-11-30 2011-06-08 한국전자통신연구원 무손실/준무손실 영상 압축 장치 및 방법
US8848801B2 (en) 2010-01-08 2014-09-30 Nokia Corporation Apparatus, a method and a computer program for video processing
US20120026394A1 (en) 2010-07-30 2012-02-02 Emi Maruyama Video Decoder, Decoding Method, and Video Encoder
MX2013003868A (es) 2010-10-05 2013-06-24 Gen Instrument Corp Metodo y aparatoo para codificacion de video basado en las caracteristicas.
CN103503458B (zh) 2011-01-07 2017-09-22 诺基亚技术有限公司 视频编码中的运动预测
WO2012170910A1 (en) 2011-06-10 2012-12-13 Bytemobile, Inc. Macroblock-level adaptive quantization in quality-aware video optimization
EP2795899A4 (en) 2011-12-23 2016-01-27 Intel Corp CONTENTSADAPTIVE HIGHLY PRECISE MACROBLOCK RATES CONTROL
JP5988577B2 (ja) 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
WO2013145642A1 (ja) 2012-03-28 2013-10-03 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法及び送信プログラム、並びに画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
US9299166B2 (en) 2012-12-13 2016-03-29 Qualcomm Incorporated Image compression method and apparatus for bandwidth saving
US9538190B2 (en) 2013-04-08 2017-01-03 Qualcomm Incorporated Intra rate control for video encoding based on sum of absolute transformed difference
US9565440B2 (en) 2013-06-25 2017-02-07 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
GB2523736B (en) 2014-02-19 2020-03-25 Advanced Risc Mach Ltd Rate control in video encoding
US9661329B2 (en) 2014-04-30 2017-05-23 Intel Corporation Constant quality video coding
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US9936203B2 (en) 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1922886A (zh) * 2004-02-20 2007-02-28 日本电气株式会社 图像编码方法及其设备和其控制程序
CN1870753A (zh) * 2005-05-27 2006-11-29 中国科学院自动化研究所 一种低复杂度的积分码率控制方法
CN101233761A (zh) * 2005-06-13 2008-07-30 诺基亚公司 在编码器中提供一次性速率控制的***和方法
CN101184221A (zh) * 2007-12-06 2008-05-21 上海大学 基于视觉关注度的视频编码方法
CN102210151A (zh) * 2008-11-07 2011-10-05 三菱电机株式会社 图像编码装置以及图像解码装置
JP2012191500A (ja) * 2011-03-11 2012-10-04 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN103179405A (zh) * 2013-03-26 2013-06-26 天津大学 一种基于多级感兴趣区域的多视点视频编码方法

Also Published As

Publication number Publication date
TW201703522A (zh) 2017-01-16
EP3284254A1 (en) 2018-02-21
US10356428B2 (en) 2019-07-16
US20160301939A1 (en) 2016-10-13
KR20170137093A (ko) 2017-12-12
WO2016168060A1 (en) 2016-10-20
JP2018515015A (ja) 2018-06-07

Similar Documents

Publication Publication Date Title
CN107409219A (zh) 用于显示流压缩的速率受限回退模式
CN106165418B (zh) 译码视频数据的设备、方法及计算机可读媒体
CN106416248B (zh) 用于对视频数据进行熵编码和熵解码的方法和装置
CN107431812B (zh) 用于显示流压缩的复杂区域检测
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN106165421B (zh) 用于译码视频数据的设备、方法及计算机可读媒体
CN104041035B (zh) 用于复合视频的无损编码及相关信号表示方法
CN107534771A (zh) 用于基于复杂性量度的显示流压缩dsc的量化参数qp计算
CN110024398A (zh) 针对屏幕远程处理场景的局部的基于散列的运动估计
CN108141591A (zh) 用于非4:4:4色度子采样的显示流压缩(dsc)的熵译码技术
CN108353177A (zh) 在显示流压缩dsc中用于降低切片边界视觉假象的***及方法
CN107431811A (zh) 用于显示流压缩的量化参数更新分类
CN106256127B (zh) 用于针对显示流压缩(dsc)在块预测模式中译码的***和方法
CN106170092A (zh) 用于无损编码的快速编码方法
CN108353170A (zh) 用于在显示流压缩(dsc)中固定点近似的***和方法
CN109196866A (zh) 用于显示流压缩的子流多路复用
CN106165420A (zh) 用于显示流压缩(dsc)的平度检测的***及方法
CN108702513A (zh) 用于在显示流压缩中量化参数的适应性计算的设备及方法
CN106576173B (zh) 对视频数据进行译码的方法和设备及计算机可读存储介质
CN106663085A (zh) 用于再使用变换结构用于多分区变换的***和方法
CN107431805A (zh) 编码方法和装置以及解码方法和装置
TWI705693B (zh) 用於顯示串流壓縮之基於向量之熵寫碼的裝置及方法
CN108432249A (zh) 用于在显示流压缩(dsc)中计算失真的***和方法
CN106664406A (zh) 用于确定用于显示流压缩的缓冲器满度的***和方法
CN106233731B (zh) 用于针对显示流压缩(dsc)在图案模式中译码的***和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171201