CN108353170A - 用于在显示流压缩(dsc)中固定点近似的系统和方法 - Google Patents
用于在显示流压缩(dsc)中固定点近似的系统和方法 Download PDFInfo
- Publication number
- CN108353170A CN108353170A CN201680065701.0A CN201680065701A CN108353170A CN 108353170 A CN108353170 A CN 108353170A CN 201680065701 A CN201680065701 A CN 201680065701A CN 108353170 A CN108353170 A CN 108353170A
- Authority
- CN
- China
- Prior art keywords
- slice
- value
- video data
- buffer
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/192—Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/19—Methods 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 using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供用于使用固定点代替浮点技术,以便计算用于对视频数据译码的各种参数的系统和方法,所述参数包含目标速率、QP调整、缓冲器充满度、位速率的拉格朗日参数和/或所述缓冲器的所述充满度的拉格朗日参数。通过使用固定点确定所述参数中的一或多者,可降低硬件实施成本。
Description
技术领域
本发明涉及视频译码和压缩的领域,且特定来说,涉及用于经由显示链路的发射的视频压缩,例如显示流压缩(DSC)。
背景技术
数字视频能力可并入到广泛范围的显示器中,包含数字电视、个人数字助理(PDA)、手提式计算机、台式监视器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主机、蜂窝式或卫星无线电电话、视频电话会议装置等。显示链路用于将显示器连接到适合的源装置。显示链路的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器要求大带宽显示链路。一些显示链路不具有支持高分辨率显示器的带宽。视频压缩可用于减小带宽要求以使得可使用较低带宽显示链路将数字视频提供到高分辨率显示器。
其它人已经尝试利用对像素数据的图像压缩。然而,此类方案有时并非在视觉上为无损的,或在常规显示装置中实施起来可为困难且昂贵的。
视频电子标准协会(VESA)已经开发显示流压缩(DSC)作为用于显示链路视频压缩的标准。显示链路视频压缩技术(例如DSC)应尤其提供视觉上无损的图片质量(即,图片具有使得用户无法区分压缩在作用中的质量等级)。显示链路视频压缩技术还应提供用常规硬件实时实施起来简易且便宜的方案。
发明内容
本发明的系统、方法和装置各具有若干创新方面,其中无单一者单独负责本文中所公开的合乎需要的属性。
在一个方面中,提供一种用于对视频数据译码的设备。所述设备可包含用于存储所述视频数据的存储器,所述存储器包含缓冲器。所述设备还可包含以操作方式耦合到所述存储器的硬件处理器。所述处理器可经配置以接收所述待译码视频数据。所述处理器可经进一步配置以针对待译码块确定以下项中的一或多者:目标速率、平度量化参数(QP)、所述缓冲器的充满度、位速率的拉格朗日参数,或所述缓冲器的所述充满度的拉格朗日参数,所述确定至少部分基于一或多个固定点近似运算。
在另一方面中,提供一种对视频数据译码的方法。所述方法可包含将所述视频数据存储于存储器中,所述存储器包含缓冲器。所述方法还可包含接收所述待译码视频数据。所述方法可进一步包含针对待译码块,确定以下项中的一或多者:目标速率、平度量化参数(QP)、所述缓冲器的充满度、位速率的拉格朗日参数,或所述缓冲器的所述充满度的拉格朗日参数,所述确定至少部分基于一或多个固定点近似运算。
在另一方面中,提供一种用于对视频数据译码的设备。所述设备包括用于存储所述视频数据的存储器,所述存储器包含缓冲器。所述设备进一步包括硬件处理器,其以操作方式耦合到所述存储器,且经配置以基于视频数据切片内的像素总数目确定且存储比例参数。所述硬件处理器经进一步配置以确定且存储将多个输入值与其倒数值相关联的数据结构。所述硬件处理器经进一步配置以接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片。所述硬件处理器经进一步配置以基于所述所存储比例参数确定阈值。所述硬件处理器经进一步配置以针对所述切片的待译码块,响应于所述切片中的剩余像素数目小于所述阈值的确定,更新所述比例参数,且基于所述比例因子确定经更新阈值。所述硬件处理器经进一步配置以执行一或多个固定点近似运算,以基于与所述剩余像素数目相关联的基于所述比例因子按比例缩放的倒数值而确定所述块的目标速率,其中所述倒数值是使用所述所存储数据结构进行确定。
在另一方面中,提供一种用于确定对视频数据的块译码的目标速率的计算机实施方法。所述方法包括基于视频数据切片内的像素总数目确定且存储比例参数。所述方法进一步包括确定且存储将多个输入值与其倒数值相关联的数据结构。所述方法进一步包括接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片。所述方法进一步包括基于所述所存储比例参数确定阈值。所述方法进一步包括针对所述切片的待译码块,响应于所述切片中的剩余像素数目小于所述阈值的确定,更新所述比例参数,且基于所述比例因子确定经更新阈值。所述方法进一步包括执行一或多个固定点近似运算,以基于与所述剩余像素数目相关联的基于所述比例因子按比例缩放的倒数值,确定所述块的目标速率,其中所述倒数值是使用所述所存储数据结构进行确定。
在另一方面中,提供一种设备,其包括用于基于视频数据切片内的像素总数目确定且存储比例参数的装置。所述设备进一步包括用于确定且存储将多个输入值与其倒数值相关联的数据结构的装置。所述设备进一步包括用于接收所述待译码视频数据的装置,所述视频数据包括划分成多个块的至少一个切片。所述设备进一步包括用于基于所述所存储比例参数确定阈值的装置。所述设备进一步包括用于针对所述切片的待译码块,响应于所述切片中的剩余像素数目小于所述阈值的确定,更新所述比例参数且基于比例因子确定经更新阈值的装置。所述设备进一步包括用于执行一或多个固定点近似运算,以基于与所述剩余像素数目相关联的基于所述比例因子按比例缩放的倒数值,确定所述块的目标速率的装置,其中所述倒数值是使用所述所存储数据结构进行确定。
在另一方面中,提供一种非暂时性计算机可读存储媒体。所述存储媒体上存储有与图像的切片有关的视频数据,所述切片包括一或多个块。所述存储媒体上进一步存储有指令,所述指令在被执行时,使得装置的处理器基于视频数据切片内的像素总数目确定且存储比例参数。所述存储媒体上进一步存储有使得所述处理器确定且存储将多个输入值与其倒数值相关联的数据结构的指令。所述存储媒体上进一步存储有使得所述处理器接收所述待译码视频数据的指令,所述视频数据包括至少一个切片。所述存储媒体上进一步存储有使得所述处理器基于所述所存储比例参数确定阈值的指令。所述存储媒体上进一步存储有使得所述处理器执行以下操作的指令:针对所述切片的待译码块,响应于所述切片中的剩余像素数目小于所述阈值的确定,更新所述比例参数,且基于比例因子确定经更新阈值。所述存储媒体上进一步存储有使得所述处理器执行以下操作的指令:执行一或多个固定点近似运算,以基于与所述剩余像素数目相关联的基于所述比例因子按比例缩放的倒数值,确定所述块的目标速率,其中所述倒数值是使用所述所存储数据结构进行确定。
在另一方面中,提供一种用于对视频数据译码的设备。所述设备包括用于存储所述视频数据的存储器,所述存储器包含缓冲器。所述设备进一步包括以操作方式耦合到所述存储器的硬件处理器。所述硬件程序经配置以基于最大缓冲器大小的倒数确定且存储第一参数值。所述硬件处理器经进一步配置以接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片。所述硬件处理器经进一步配置以针对所述切片的待译码块,基于指示用以表示缓冲器充满度的位数目的第一值和指示计算缓冲器充满度所用的精确度的第二值,按比例缩放所述第一参数。所述硬件处理器经进一步配置以执行一或多个固定点近似运算,以基于所述经按比例缩放的第一参数确定所述块的一缓冲器充满度值。
在另一方面中,提供一种用于对视频数据译码的设备。所述设备包括用于存储所述视频数据的存储器,所述存储器包含缓冲器。所述设备进一步包括以操作方式耦合到所述存储器的硬件处理器。所述硬件程序经配置以确定且存储将缓冲器充满度值与量化参数(QP)调整值相关联的数据结构。所述硬件处理器经进一步配置以接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片。所述硬件处理器经进一步配置以针对所述切片的待译码块,确定所述块是否含有复杂区域与平坦区域之间的转变,其中复杂区域与平坦区域相比具有较高复杂性。所述硬件处理器经进一步配置以响应于所述块含有转变的确定,基于用以对缓冲器充满度值译码的位数目和用以对QP调整值译码的位数目将所述缓冲器充满度值移位。所述硬件处理器经进一步配置以执行一或多个固定点近似运算,以基于所述所存储数据结构和所述经移位缓冲器充满度值确定所述块的QP调整值。所述硬件处理器经进一步配置以将所述块的QP设定为所述经确定QP调整值。
在另一方面中,提供一种用于对视频数据译码的设备。所述设备包括用于存储所述视频数据的存储器。所述设备进一步包括以操作方式耦合到所述存储器的硬件处理器。所述硬件程序经配置以基于可用以对视频数据块译码的位的最大数目,确定且存储第一比例参数。所述硬件处理器经进一步配置以确定且存储将用以对视频数据块译码的位数目与位速率的拉格朗日参数相关联的数据结构。所述硬件处理器经进一步配置以接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片。所述硬件处理器经进一步配置以针对所述切片的待译码块,执行一或多个固定点近似运算,基于对所述块译码的通过所述第一比例参数调整的位数目,使用所述数据结构确定所述块的位速率的拉格朗日。
在另一方面中,提供一种用于对视频数据译码的设备。所述设备包括用于存储所述视频数据的存储器,所述存储器包含缓冲器。所述设备进一步包括以操作方式耦合到所述存储器的硬件处理器。所述硬件程序经配置以确定且存储将缓冲器充满度值与缓冲器充满度值的拉格朗日值相关联的数据结构。所述硬件处理器经进一步配置以接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片。所述硬件处理器经进一步配置以针对所述切片的待译码块,基于指示用以对所述缓冲器充满度值译码的位数目的第一参数和指示用以对所述数据结构的索引译码的位数目的第二参数,按比例缩放所述块的所计算的缓冲器充满度值。所述硬件处理器经进一步配置以执行一或多个固定点近似运算,以使用所述所存储数据结构和所述经按比例缩放缓冲器充满度值确定所述缓冲器充满度值的一拉格朗日值。
附图说明
图1A为说明可利用根据本发明中描述的方面的技术的实例视频编码和解码系统的框图。
图1B为说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。
图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。
图2B为说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。
图3说明展示倒数函数的曲线,其中n1具有值6(1<<n1为64)。
图4说明根据一些实施例的用于使用固定点近似确定块的目标速率的实例方法的流程图。
图5说明根据一些实施例的用于使用固定点近似确定块的平度QP的实例方法的流程图。
图6说明在切片的块被译码时,bufAdjSize可如何改变。
图7说明根据一些实施例的用于确定缓冲器充满度的实例程序的流程图。
图8说明根据一些实施例的用于确定位速率的拉格朗日参数的实例程序的流程图。
图9说明根据一些实施例的用于确定缓冲器充满度的拉格朗日参数的程序的流程图。
具体实施方式
大体来说,本发明涉及改进视频压缩技术(例如,显示流压缩(DSC))的方法。更确切来说,本发明涉及用于速率控制参数的固定点近似的系统和方法。
尽管本文在DSC标准的上下文中描述某些实施例,但所属领域的一般技术人员将理解本文所公开的系统和方法可适用于任何合适的视频译码标准。举例来说,本文所公开的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准化部门(ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)动画专业团体-1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IECMPEG-4Visual、ITU-T H.264(还称为ISO/IEC MPEG-4AVC)、高效率视频译码(HEVC)和此类标准的任何扩展。而且,本发明中描述的技术可变为将来开发的标准的部分。换句话说,本发明中描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准和即将出现的视频译码标准。
在DSC中,可使用一或多个除法或除法运算确定某些速率控制参数,例如缓冲器充满度和基于缓冲器充满度的λ值。除法或除法运算可指涉及除法运算符(例如,“/”)的运算。然而,除法运算的使用可导致硬件实施复杂且困难。
为解决这些和其它挑战,本发明中描述的技术可使用固定点近似确定或计算各种速率控制参数。速率控制参数的实例可包含(但不限于):目标速率、平度QP、缓冲器充满度、位速率的λ值、缓冲器充满度的λ值等等。λ值还可被称作拉格朗日(Lagrangian或lagrangrian)参数。通过使用固定点近似,所述技术可减少或消除除法运算在计算速率控制参数中的使用,其可减少硬件实施的复杂性和成本。
视频译码标准
例如视频图像、TV图像、静态图像或由视频记录器或计算机产生的图像的数字图像可包含按水平行和垂直行布置的像素或样本。单一图像中的像素的数目通常有数万个。每一像素通常含有明度和色度信息。在不压缩的情况下,待从图像编码器传送到图像解码器的信息的绝对数量将致使实时图像发射不切实际。为了减少待发射的信息的量,已开发多种不同压缩方法,例如JPEG、MPEG和H.263标准。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264(还称为ISO/IECMPEG-4AVC),和包含这些标准的扩展的HEVC。
另外,VESA已开发视频译码标准(即DSC)。DSC标准为可压缩视频以供经由显示链路发射的视频压缩标准。随着显示器的分辨率增加,驱动显示器所需的视频数据的带宽相应地增加。一些显示链路可不具有将所有视频数据发射到此类分辨率的显示器的带宽。因此,DSC标准规定用于在显示链路上的可互操作的、视觉上无损的压缩的压缩标准。
DSC标准与其它视频译码标准(例如,H.264和HEVC)不同。DSC包含帧内压缩,但不包含帧间压缩,意谓着DSC标准在译码视频数据时不可使用时间信息。对比来说,其它视频译码标准可在其视频译码技术中采用帧间压缩。正在开发高级DSC,例如,以便提供4:1或更高的压缩比。4:1或更高的压缩比可用于移动装置,例如,用于例如4K的高分辨率显示器。
视频译码系统
在下文中参考随附图式更完整地描述新颖系统、设备和方法的各种方面。然而,可以许多不同形式体现本发明,且不应将本发明解释为限于贯穿本发明所呈现的任何特定结构或功能。实情为,提供这些方面以使得本发明将为详尽且完整的,且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围打算涵盖本文中公开的新颖系统、设备和方法的任何方面,而不管其是独立于本发明的任何其它方面实施还是与本发明的任何其它方面组合地实施。举例来说,可使用本文中所阐明的任何数目个方面来实施设备或可使用本文中所阐明的任何数目个方面来实践方法。另外,本发明的范围打算涵盖使用除本文中所阐明的本发明的各种方面之外的或不同于本文中所阐明的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此类设备或方法。应理解,可通过权利要求书的一或多个要素来体现本文中所公开的任何方面。
虽然本文中描述特定方面,但这些方面的许多变化和置换落在本发明的范围内。尽管提及优选方面的一些益处和优点,但本发明的范围不打算限于特定益处、用途或目标。实情为,本发明的方面打算可广泛适用于不同无线技术、系统配置、网络和发射协议,其中一些通过实例在诸图中且在优选方面的以下描述中加以说明。实施方式和图式仅仅说明本发明而非限制,本发明的范围由所附权利要求书和其等效物定义。
附图对实例进行说明。由随附图式中的参考数字指示的元件对应于在以下描述中由相同参考数字指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等等)开始的元件未必暗示所述元件具有特定次序。相反,这些序数词仅用以指代相同或类似类型的不同元件。
图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)
平度检测器115可检测从视频数据中的复杂(即,非平坦)区到视频数据中的平坦(即,简单或均一)区的改变。术语“复杂”和“平坦”将在本文中用以大体上指代视频编码器20对视频数据的相应区域进行编码的难度。因此,本文所使用的术语复杂将视频数据的区域大体上描述为视频编码器20编码起来复杂,且可(例如)包含纹理化的视频数据、高空间频率和/或编码起来复杂的其它特征。本文所使用的术语平坦将视频数据的区域大体上描述为视频编码器20编码起来简单,且可(例如)包含视频数据中的平滑梯度、低空间频率和/或编码起来简单的其它特征。视频编码器20可使用复杂区域与平坦区域之间的转变减小经编码视频数据中的量化伪影。具体来说,当识别到从复杂区域到平坦区域的转变时,速率控制器120以及预测器、量化器和重构建器组件125可减小此类量化伪影。
速率控制器120确定译码参数(例如QP)的集合。速率控制器120可基于速率缓冲器150的缓冲器充满度和视频数据的图像活动来调整QP,以便针对确保速率缓冲器150不上溢或下溢的目标位速率将图片质量最大化。速率控制器120还选择用于视频数据的每一块的特定译码选项(例如,特定模式)以便实现最佳速率-失真性能。速率控制器120将经重构建图像的失真最小化以使得其满足位率约束条件(即,实际总译码速率符合在目标位速率内)。
预测器、量化器和重构建器组件125可执行视频编码器20的至少三个编码操作。预测器、量化器和重构建器组件125可以多个不同模式执行预测。一个实例预测模式为中值自适应预测的经修改版本。中值自适应预测可由无损JPEG标准(JPEG-LS)实施。可由预测器、量化器和重构建器组件125执行的中值自适应预测的经修改版本可允许三个连续样本值的并行预测。另一实例预测模式为块预测。在块预测中,从上方行中或同一行中左边的先前经重构建像素预测样本。在一些实施例中,视频编码器20和视频解码器30两者都可对经重构建像素执行相同的搜索以确定块预测使用情况,且因此不需要在块预测模式中发送位。在其它实施例中,视频编码器20可执行搜索并在位流中用信号发送块预测向量,使得视频解码器30不必执行独立搜索。还可实施中点预测模式,其中使用分量范围的中点来预测样本。中点预测模式即使在最差情况样本中仍可实现对经压缩视频所需要的位数目的限定。预测器、量化器和重构建器组件125可经配置以通过执行本发明的方法和技术来预测(例如,编码或解码)视频数据块(或预测的任何其它单元)。
预测器、量化器和重构建器组件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)
如上文所描述,视频译码可包含经由(例如)预测器、量化器和重构建器组件125对视频数据的量化。量化可将耗损引入到信号中且可通过由速率控制器120确定的QP控制耗损的量。并非存储每一QP的量化步长,而是可指定随QP变化而变化的缩放矩阵。可从缩放矩阵推导出每一QP的量化步长,且导出值可不必为2的幂,即,导出值还可为非2的幂。
DSC中的切片
如上所述,切片通常指图像或帧中的空间不同区域,其可在不使用来自所述图像或帧中的剩余区域的信息的情况下独立地解码。每一图像或视频帧可在单个切片中编码,或每一图像或视频帧可在若干切片中编码。在DSC中,经分配以对每一切片进行编码的目标位可大体上恒定。这对于部分切片可不同,其可在图像高度无法被切片高度除尽的情况下出现。举例来说,切片高度为108的大小为1280×720的图像将具有6个高度为108的切片和一个高度为72的部分切片(=720-(6*108))。
高级DSC切片尺寸可使用变量或参数切片宽度×切片高度来指定,其中切片宽度和切片高度可配置。切片高度可经配置为所要值,举例来说,16、32、108等。切片宽度可使用确定行中的切片数目的参数N进行配置,且假定每一切片中每行的像素数目相等,(例如)切片宽度=图像宽度/N。图像宽度可为表示图像的宽度的变量或参数。
速率控制参数的固定点近似
显示流压缩v1.x标准支持平均压缩比3:1,且最近已由VESA定案和批准。然而,由于显示器分辨率与物理发射协议可支持的相比更快地增加,因此,DSC v1.x可能不适用于许多类型的内容(例如,10bpp下的4K视频、120Hz下的4K视频,和任何位深度或刷新率下的8K视频)。为支持此使用案例,可提供平均压缩速率为至少4:1的视觉上无损的编解码器。在某些实施例中,编解码器可被称为高级DSC编解码器(“ADSC”)。
根据某些方面,所提议的DSC编解码器是基于块的,且包含多种译码模式,其中每一者旨在压缩不同类型的内容。模式选择可通过速率控制机构处置,其旨在通过考虑模式的速率和失真两者来选择用于每一块的最佳模式。速率控制机构可受HRD缓冲器模型支持,且编解码器的设计要求可为:所述缓冲器从不处于下溢(例如,在缓冲器中少于零个位)或上溢(例如,缓冲器大小已增加到超过设定的最大大小)的状态中。
在DSC中,可使用一或多个除法或除法运算确定某些速率控制参数,例如缓冲器充满度和基于缓冲器充满度的λ值。除法或除法运算可指涉及除法运算符(例如,“/”)的运算。然而,除法运算的使用可导致硬件实施复杂且困难(例如,涉及除以任意数字的除法运算等)。复杂函数或计算的使用还可导致硬件实施复杂且困难。
为解决这些和其它挑战,本发明中描述的技术可消除或减少除法运算和其它复杂计算在确定或计算各种速率控制参数中的使用。举例来说,所述技术可使用固定点近似来确定或计算各种速率控制参数。速率控制参数的实例可包含(但不限于):目标速率、平度QP、缓冲器充满度、位速率的λ值、缓冲器充满度的λ值等等。λ值还可被称作拉格朗日(Lagrangian或lagrangrian)参数。通过使用固定点近似,所述技术可减少或消除除法运算和/或其它复杂运算在计算速率控制参数中的使用,这可减少硬件实施的复杂性和成本。举例来说,可预计算许多值,且可仅使用乘法、加法和位移位以简化运算。还可使用查找表(LUT)以简化运算。如此处所使用,术语LUT可用以指代可用以存储预计算值的任何类型的数据结构。下文提供与某些方面相关的细节。
在相关方面中,本文公开提供低成本、固定速率视觉无损压缩的DSC译码器。译码器基于一基于块的方法设计(例如具有块大小P×Q)且可用多种译码模式中的一或多者来实施。举例来说,用于每一块的可用的译码选项包含变换模式(例如DCT、哈达玛(Hadamard))、块预测模式、差分脉码调制(DPCM)模式、图案模式、中点预测(MPP)模式和/或中点预测回降(mid-point predication fall back;MPPF)模式。若干译码模式可用于译码器中以压缩不同类型的内容或图像。举例来说,文本图像可经由图案模式压缩,而自然图片可经由变换模式俘获。
在进一步相关的方面中,可基于用于通过考虑候选模式的速率和失真两者来选择用于每一块的最佳模式的速率控制技术,从多个候选译码模式中选择译码模式并将其用于每一块。速率控制技术可涉及利用缓冲器模型,且编解码器的设计考虑因素可包含确保缓冲器不处于下溢(例如,在缓冲器中少于零个位)或上溢(例如,缓冲器大小已增加到超过设定/限定的最大大小)的状态中。
缓冲器充满度计算
在以全文引用的方式并入本文中的于2015年8月6日申请的美国专利申请案第14/820,404号(代理人案号:QVID.260A/146525)中,已公开一种计算缓冲器充满度(BF)的方法。特定来说,根据某些方面,在对切片中的某一固定数目个块译码之后,BF以恒定速率线性减小,以此方式,在切片末端,如果BufferCurrentSize=maxBufferBitsAtSliceEnd,那么BF为100%,其中maxBufferBitsAtSliceEnd表示可在切片末端包括于速率缓冲器中的位的最大数目。更精确来说,BF计算为:
其中:
●bufferAdjSize=BufferMaxSize–offset
●offset=((bufferRateReductionPerBlock)·(numBlocksCoded–numBlocksTh))
此处,numBlocksCoded表示迄今在切片中经译码的块的数目,且numBlocksTh为可配置的阈值参数。每块线性地调整缓冲器的速率计算为:
其中diffSize=BufferMaxSize-maxBufferBitsAtSliceEnd。
基于缓冲器充满度的λ
拉格朗日参数(还被称作λ或λ值)可用以计算组合速率和失真的成本函数。举例来说:
成本=失真+(λ×速率)
可基于编解码器的状态(例如,缓冲器充满度值)调整拉格朗日参数的值,这是因为失真与速率之间的取舍可针对不同区域而不同。举例来说,速率缓冲器越满(高缓冲器充满度),可损失的特定模式的速率越高,这是因为缓冲器可能无法容纳对译码来说代价更高的块。在一些实施例中,拉格朗日还可随着块的位速率变化而变化(例如,损失随着块的位速率变化而日益增加)。
在以全文引用方式并入本文中的于2015年4月13日申请的美国专利申请案第14/685,453号(代理人案号:QVID.222A/144569)中,可基于以下方程式计算基于缓冲器充满度的λ或拉格朗日值:
其中{Λ,a1,b1,c1,d1}为可调谐参数。x∈[0,1]和x计算为其中BF在此处表示为百分数,例如,缓冲器中所占用的位的百分数。然而,所述方程式并非可易于实施于硬件中,这是因为其需要除法。
固定点近似
虽然软件算法贯于使用浮点算术将上方术语(例如,缓冲器充满度BF、λ和/或其类似者)计算到高精度,但这些类型的计算可更加难以实施于基于硬件和ASIC的设计上。根据一些方面,本发明的技术打算减低ADSC编解码器的硬件实施成本。如上文所论述,计算形式a/b的任意除法或如同的复杂函数是困难的,且通常需要浮点算术。为解决这些和其它挑战,所述技术可用可易于在硬件中计算而无需除法函数、根函数和/或其它潜在复杂浮点函数的计算的固定点近似替换这些计算。
在一项实例中,所述技术可在ADSC编解码器中提供如下五个固定点算法改变:
●目标速率:改变为此数量得以计算的方式
●平度QP:改变为此数量得以计算的方式
●缓冲器充满度:改变为此数量得以计算的方式
●λbitrate:预计算λ值且存储于查找表(LUT)中
●λBF:使用固定点近似计算λ
在另一实例中,可切换计算两个λ函数的方法。举例来说,LUT可用以获得λBF,而固定点近似可用于λbitrate。在第一实例中,LUT用于λbitrate,这是由于λBF可每块仅仅计算一次,而λbitrate可针对每一模式每块计算一次(例如,使用当前在ADSC中受支持的模式,每块6次)。因此,以较多存储作为交换可能需要总体稍微较少算术(例如,较少运算)的LUT方法可能更加适合。在另一方面,可针对λBF提供或使用较多运算,这是由于不需太频繁地计算所述λBF。
目标速率
在一些实施例中,可使用固定点近似确定目标速率,如下文所述。先前,使用下方展示的浮点比计算目标速率,其中#bits为切片中剩余的位数目,且#px为切片中剩余的像素数目。使用所计算的浮点比,切片中剩余的位可均匀分布于切片中剩余的块/像素上方。由于目标速率是每块(例如,16像素/块)而非每像素进行计算,因此使用因子16,但应理解,在其它实施例中,每一块可具有除16之外的像素数目。
然而,这涉及介于两个大整数之间的浮点计算。另外,因为#px指示随着切片内的像素被处理,所述切片中剩余的像素数目改变,所以对所述计算进行预计算可能不切实际。
为避免此浮点计算,所述计算可使用固定点除法器实施,其可表示为TR0。另外,在确定固定点目标速率近似TR0之后,次要LUT可用以基于缓冲器充满度的当前状态调整目标速率近似TR0:
TRfixed=TR0+δ(BF)
可以与1991年计算机算术第十次会议的论文集(Proceedings of the TenthSymposium on Computer Arithmetic)第186-190页Robert Alverson的“IntegerDivision Using Reciprocals”中所描述的类似的方式计算TR0的固定点近似。给定以下参数:
●B0:分配到切片的总位
●P0:切片中的总像素
●n0:用以定义LUT的粒度的位
●n1:LUT项用n1个额外精确度位进行存储
在一些实施例中,用于计算TR0的算法可如下:
1.预计算比例因子N且存储于编解码器的参数列表中。如下文所说明,比例因子N可基于切片P0中的像素总数目。
因为切片中的像素总数目(P0)为已知恒定值,所以比例因子N还为可在执行时间之前经预计算且存储的恒定值。
2.使用项预计算倒数函数的LUT(LUTreciprocal),其中p可对应于切片P中剩余的位数目的经按比例缩放版本。此LUT使用n1个精确度位进行存储,从而每一项实际上给出比在一些实施例中,LUTreciprocal可包括针对特定范围的p值(例如,介于1/2与1之间的p值)的p的倒数值。举例来说,n1可经配置使得到LUTreciprocal的输入将始终介于1/2与1之间。图3说明倒数函数的曲线,其中n1和n0两者均具有值6(1<<n1为64)。
3.当计算TR0时,随着切片的像素得以译码,比例因子N的值可按某些阈值间隔递减。N将递减的下一阈值可计算为:
4.在每一块时间,给出编解码器的当前状态的目标速率(B为切片中剩余的位数目,P为切片中剩余的像素数目)可如下计算:
a.首先,更新比例因子:
如上所说明,随着切片中的位被处理,当剩余位的数目P降到阈值τ的下时,比例因子N递减。另外,阈值τ可基于经递减比例因子N更新到新的较低值。随后,当剩余位数目P再次达到阈值τ时,比例因子N和阈值τ可再次进行更新。
b.如下计算目标速率:
举例来说,在特定实施例中,切片中剩余的总位可为B=1244160,而切片中剩余的像素数目为P=207360。就此而论,预计算的比例因子N可计算为
用以描述倒数LUT的粒度的位的数目(n0)和LUT项经存储为的额外精确度位的数目(n1)两者可都为6。因此,可针对范围为32到63(其可在移位之后变为0到31)的值定义LUT。举例来说,如下文所示,p-shift具有值19,所述值在被输入到LUT中时产生值LUT[19]=80。这对应于就此而论,LUT能够针对1/x(其中x=0.8)确定具有6位精确度的经按比例缩放值。
就此而论,目标速率可计算为:
一旦初始目标速率TR0得以近似,通过基于缓冲器充满度的当前状态,加上调整因子来计算每一块的目标速率。举例来说,如果缓冲器为几乎空的,那么应增加目标速率,且如果缓冲器为几乎充满的,那么应降低目标速率。
可预计算且存储调整LUT(δ(BF)),其将缓冲器充满度值BF与调整值δ(BF)相关联。可基于许多编解码器参数(例如,位速率、切片大小、色彩空间、色度格式等)对调整LUT进行调谐或调整。大体来说,优选存储使用精确度m0和具有项的调整LUT。由于缓冲器充满度可使用m1个位进行存储(下文进一步描述),因此可通过将缓冲器充满度向下移位所需数目个位(例如,使用舍入)来获得正确的调整LUT项。举例来说:
可组合此两个术语(初始目标速率TR0和调整值δ(BF)),以给出对目标速率的固定点近似:
如上文所论述,可使用可有效实施于硬件中的完全固定点算术来计算固定点目标速率。举例来说,确定目标速率所需的计算可包含加法、减法、位移位,和LUT查找,而无需任何除法或指数函数。
在一些状况下,需要将额外速率分配给块,所述块原本可能译码起来成本高或昂贵。举例来说,切片中的第一行内的块可能译码起来成本高,这归因于不具有可用于预测的可用垂直相邻者。就此而论,这些块的译码效率可能降低,从而导致较高的预期速率要求。在此状况下,可通过固定上文的调整值δ来调整每一块的速率。作为一实例,假定标称目标速率为96位/块。为将FLS(切片第一行)内的块增加到192位/块,可将偏移δ=96仅用于所述FLS。在此偏移之后,对于NFLS(切片的非第一行)内的块,目标速率可恢复为计算成TR0+δ(BF)。
在另一实施例中,目标速率可考虑FLS和缓冲器充满度两者。举例来说:
图4说明根据一些实施例的用于使用固定点近似确定块的目标速率的方法的流程图。在块302处,预计算且存储比例因子。比例因子可对应于常量N。在一些实施例中,可使用比例因子确定对应于切片中剩余的像素数目的阈值,接着比例因子可递减。
在块404处,可预计算且存储用于计算倒数的LUT。在一些实施例中,可使用预期值范围内(例如,介于1/2与1之间)的n1个精确度位存储LUT。在一些实施例中,块402和404可对应于可在对视频数据译码之前执行的预计算步骤。举例来说,比例因子N和倒数LUT可存储于视频编解码器的参数列表中。
在译码期间,可计算切片的每一块的目标值。在块406处,可关于切片中待译码的剩余像素数目是否小于阈值进行确定。可基于比例因子N确定阈值(例如,基于N的位移位)。
如果切片中的剩余像素小于阈值,那么在块408处,可更新比例因子N。在一些实施例中,比例因子可递减。另外,可基于经更新的比例因子确定新的阈值。
在块410处,使用固定点近似、使用比例因子N和倒数LUT估计块的目标速率。在一些实施例中,可基于以缓冲器充满度的电平为基础的调整值δ(BF)进一步修改经估计目标速率。举例来说,如果缓冲器充满度高,那么目标速率可减小。在另一方面,如果缓冲器充满度低,那么目标速率可增加。在一些实施例中,可基于当前块是否为切片的第一行块的部分进一步调整目标值。在一些实施例中,可针对切片的每一块重复块406到410。
就此而论,通过预计算且存储一或多个常量(例如,比例因子N)和/或使用LUT的一或多个函数(例如,倒数LUT),可使用固定点近似计算例如目标速率的参数,从而通过避免例如除法和指数函数的复杂计算而允许这些计算更易于在硬件中执行。
随着缓冲器充满度变化而变化的平度QP
如上文在先前章节中所论述,目标速率的调整LUT(δ(BF))对应于依据缓冲器充满度对编解码器的每块目标速率的调整。使用此技术,目标速率可在速率缓冲器几乎充满时较低,且在速率缓冲器几乎为空时较高。
以相同或类似方式,所述技术可依据缓冲器充满度调整平度QP。在某些实施例中,平度QP可指基于(例如)具有变化复杂性的区域之间的平度检测而执行的QP值(例如,从复杂区域到平坦区域的转变,从平坦区域到复杂区域的转变,等等)。举例来说,平度QP可类似于2015年4月13日申请的美国专利申请案第14/685,479号(代理人案号:QVID.221A/144568)中描述的QP或平度QP或与其相同,所述申请案以全文引用的方式并入本文中,且一般QP调整方案可类似于2015年4月13日申请的美国临时申请案第62/146,898号(代理人案号:QVID.270PR1/153027P1)中论述的QP调整方案或与其相同,所述申请案以全文引用的方式并入本文中。
特定来说,当从平坦区域转变到复杂区域或从复杂区域转变到平坦区域时,可调整QP使得视觉伪影不会出现在这些边界处。然而,编解码器所改变到的QP可取决于缓冲器充满度。举例来说,在极困难或复杂区域中,可能需要使用中等QP值,这是因为速率缓冲器处于负担较重的状态中。根据某些方面,值得注意,可选择中等QP值,从而不在从平坦到复杂(或反的还然)的转变处引入视觉伪影。在另一方面,如果速率缓冲器几乎为空的,那么可以较高速率为代价而使用极低QP来最小化失真。可预计算且存储将缓冲器充满度值与QP调整值相关联的LUTflatnessQP。
以类似于上文δ(BF)的方式,缓冲器充满度可向下移位(m1-m0)个位,其中m1为缓冲器充满度的位数目,且m0为用以定义平度QP调整LUT的位数目。可调谐或调整LUT的位数目m0和包括于LUT中的值,此取决于编解码器的配置。举例来说,其可取决于例如以下因子而改变:经压缩位率、RGB/YCbCr输入、色度次采样等等。以此方式,可使用固定点近似确定平度QP。
图5说明根据一些实施例的用于使用固定点近似确定块的平度QP的方法的流程图。在块502处,预计算且存储将缓冲器充满度值与QP调整值相关联的LUT或其它数据结构。在块504处,在切片的特定块的译码时间期间,关于块是否含有平坦区域与复杂区域之间的转变进行确定。在一些实施例中,可通过确定与块相关联的复杂度值,且将经确定复杂度值与一或多个阈值进行比较来进行所述确定。在一些实施例中,还可考虑一或多个相邻块的复杂度值。如果确定块内不存在转变,那么可一般性地设定块的QP值,而非设定成平度QP调整值。程序接着可针对待译码的视频数据的后续块返回到块504。
在另一方面,如果确定块内存在转变,那么可能需要确定平度QP调整。在块506处,基于用于缓冲器充满度的位数目和用以定义QP调整值的位数目将当前缓冲器充满度值移位。在块506处,使用经预计算LUT和经移位缓冲器充满度值来确定QP调整值。另外,QP调整值可经削剪介于0与用以定义QP调整值的位数目的最大值之间。
在块510处,可将与块相关联的QP值设定成经确定QP调整值。程序接着可针对待译码的视频数据的后续块返回到块504。
尽管图5说明在确定平度QP调整值之前确定块是否含有转变,但应理解,在其它实施例中,可在分析块的复杂性之前确定平度QP调整值。
缓冲器充满度
基于上文方程式(1)计算的缓冲器充满度并非可易于实施于硬件中,这是因为其需要除法运算。特定来说,方程式(1)中的分母值bufAdjSize的值取决于切片中的块的位置而改变。就此而论,预计算用于计算缓冲器充满度的除法值可能不切实际。举例来说,图6说明在切片的块被译码时,bufAdjSize可如何改变。举例来说,对于高达numBlocksTh阈值的块数目,bufAdjSize可与BufferMaxSize相同(例如,offset=0)。然而,在阈值数目个块得以译码之后,bufAdjSize可在额外块得以译码时减小。
为了易于在硬件中计算缓冲器充满度,offset值可从分母移动到分子,使得分母bufferAdjSize变为BufferMaxSize,所述BufferMaxSize在整个切片上为常量。举例来说,方程式(1)修改为:
方程式(3)中的offset值是以与上文关于方程式(1)所描述的相同的方式进行计算。在一项替代例中,可省略方程式(3)的分子中的(BufferMaxSize>>1)。当在切片末端BufferCurrentSize=maxBufferBitsAtSliceEnd时,基于方程式(3)计算缓冲器充满度的经修改方法将产生100%缓冲器充满度。
应理解,虽然方程式(3)并非等效于方程式(1),但如用方程式(3)所计算的BF的一般行为将很大程度上类似于针对切片内的不同块的方程式(1)的一般行为。
因为方程式(3)中的分母可在整个切片上为恒定值,所以可使用固定点近似计算缓冲器充满度BF。举例来说,可如在下文方程式(4)中确定方程式(3)的固定点近似。可预计算基于恒定值BufferMaxSize的因子a,且将其存储于(例如)编解码器的图片参数集(PPS)中。
给定以下参数的集合,
●BfRangeBits:用以表示缓冲器充满度的位数目
●BfScaleBits:用以计算缓冲器充满度的精确度
范围介于0到(2^BfRangeBits)-1的缓冲器充满度的整数值(表示为BFi)可计算为:
其中其可存储于编解码器的参数集中。
在方程式(4)的一项替代例中,在向右移位之前,可在分子处加上值(BfScaleBits>>1),以便舍入到最接近的整数。在一些实施例中,参数BfRangeBits和/或BfScaleBits可为可按比例缩放的,从而可调整用于计算缓冲器充满度的位数目和精确度。举例来说,a可经预计算为且接着基于BfRangeBits和BfScaleBits的值使其位移位。
图7说明根据一些实施例的用于确定缓冲器充满度的程序的流程图。在块702处,可预计算且存储最大缓冲器大小的倒数。举例来说,所述倒数可存储为视频编解码器的参数集的部分。
在块704处,可基于用于表示缓冲器充满度的位数目和/或用于计算缓冲器充满度的精确度值而按比例缩放最大缓冲器大小的倒数。在一些实施例中,位数目和精确度可为常量,且可在块702处用最大缓冲器大小的倒数进行预计算。
在块706处,可基于当前缓冲器大小和最大缓冲器大小的经按比例缩放倒数确定缓冲器充满度。通过偏置最大缓冲器大小而非经调整缓冲器大小上的缓冲器充满度测量结果(如在方程式(1)中),可使用固定点近似而非浮点近似来计算缓冲器充满度,从而允许更易于实施于硬件中。
位速率的拉格朗日参数-λ(位速率)
如上文所论述,可依据给定块的位速率(例如,在某一模式中对块译码所需的位数目)调整λ或拉格朗日参数。在一个实施例中,如下文所述,可使用固定点近似确定位速率的拉格朗日参数。先前,拉格朗日参数可计算为:
其中{a,b,c,d}为可调谐或可调整参数,且其中bits为用以对块译码的位数目(还被称作块的位速率,且其可基于目标速率、QP值和/或其它参数),且maxBits为最差状况位/块。此计算可使用浮点算术完成,所述计算并不非常适合于硬件实施。
为使用固定点算术依据位速率计算拉格朗日参数,可使用LUT(LUTλ)。另外,可预计算比例因子c,且将其存储于编解码器的参数集中。比例因子可用以将分母maxBits(例如,每块的最大位)变换为2的幂,从而可使用位移位而非除法。
给定以下参数:
●n3:用于λ计算的总精确度
●n4:LUTλ有大小(1<<n4)
用于计算λ(bitrate)的算法如下:
1.使用上述指数函数预计算LUTλ。
a.在一个实施例中,函数可经均匀采样以便产生LUT。
b.在另一实施例中,可非均匀地采样函数,从而对函数中具有较高动态范围的区较密集地进行采样,而对具有较低范围的区较稀疏地进行采样。
2.将比例因子c预计算为:
3.最终,查找LUT中的λ值:
在对上文的替代性方法中,LUT可存储有经减少数目个项(例如,16,而非64),且接着可使用双线性内插将值近似。这可能需要稍微更多逻辑来确定λ值;然而,可使用固定点内插,其将限制最差状况复杂性。取舍将为添加逻辑,以作为对LUT表的经减少存储的交换。
图8说明根据一些实施例的用于确定位速率的拉格朗日参数的程序的流程图。在块802处,预计算比例因子c。比例因子c可经配置为常量,通过c按比例缩放的maxBits将为2的幂,从而允许使用位移位运算执行除以maxBits。
在块804处,将用以对块译码的位数目与位速率拉格朗日相关联的LUT或其它数据结构。在一些实施例中,可基于比例因子c、精确度因子,和LUT或数据结构的大小的指示按比例缩放位数目。
在译码时间期间,在块806处,基于用以对块译码的位数目,和经预计算LUT和比例因子c确定块的位速率拉格朗日。
缓冲器充满度的拉格朗日参数-λ(BF)
如上文所论述,可基于缓冲器充满度度量调整块的拉格朗日参数。根据某些方面,缓冲器充满度的范围(BFi)为:BFi∈[0,(2BfRangeBits)-1]。因此,在方程式(2)中计算为的x可重写为:
使用上文,方程式2可如下进行修改:
为增加精确度,上文方程式可乘以恒定比例因子2ScaleBits,其中ScaleBits为正整数。在一些实施例中,可使用固定点近似确定缓冲器充满度的λ值或拉格朗日参数,如下文所述。
在一个实施例中,为使用固定点算术计算基于缓冲器充满度的λ,可使用查找表(LUT)方法。举例来说,如果方程式(5)中的d1并非为2的幂,那么可使用LUT。在一项实例中,可通过使用lb位对BFi进行线性采样,来使用方程式(5)构建LUT,以产生大小为2^(lb)的LUT。一旦LUT得以构建,便可使用计算为index=(BFi+offset)>>scale的索引从LUT推断缓冲器充满度λ,其中scale=BfRangeBits-lb且offset=1<<(scale-1)。在一些实施例中,索引可计算为index=(BFi)>>scale。最后,在一些实施例中,必要时,所计算的index值可经削剪到与0的相应最大和最小值,以便确保LUT中的有效项。
在另一实例中,可基于非线性采样而构建LUT,其中可用不均匀步长大小对BFi进行采样。在一项实例中,可在较低范围下对LUT较粗略地进行采样,且在较高范围下对LUT较密集地进行采样,(例如),步长在移动离开零时增加。在另一实例中,较密集采样可在较低范围下,且粗略采样在较高范围下。
在另一替代例中,可修改方程式(5),使得可易于用较少运算计算λ,从而可实时地(on the fly)计算λ。举例来说,方程式可进行修改,使其仅仅涉及整数乘法、移位运算(右移位和左移位两者),以及加法。换句话说,经修改方程式并不含有任何除法运算。此方法的优点在于其可减少LUT存储且消除用LUT进行的存储器存取操作。在一项实例中,如果d1为2的幂,那么函数λ(x)可易于使用固定点算术进行计算。
以此方式,所述技术可(例如)通过使用固定点近似减少或消除导致硬件实施中的复杂性、困难和/或增加的成本的运算的使用。这些运算可涉及除法、复杂或复杂函数或计算、浮点算术等等。可使用上文固定点近似显著减少所提议ADSC编解码器或模型的硬件复杂性。
本发明中描述的所有实例和实施例可单独地或以组合方式实施,此取决于实施例。可省略或改变实例和实施例的某些特征,且可将其它特征添加到所述实例和实施例,此取决于实施例。
图9说明根据一些实施例的用于确定缓冲器充满度的拉格朗日参数的程序的流程图。在块902处,预计算且存储LUT或其它数据结构。LUT或其它数据结构可将缓冲器充满度(BFi)与缓冲器充满度的拉格朗日参数相关联。
在块904处,在译码时间期间,可基于用以表示缓冲器充满度值的像素数目和/或LUT或数据结构的大小的指示(例如,LUT索引的像素数目)按比例缩放所计算的缓冲器充满度值(例如,使用图7中所说明的程序)。在块906处,将经按比例缩放的缓冲器充满度值用作到LUT或数据结构(例如,LUT索引)的输入,以确定缓冲器充满度的拉格朗日参数。
其它考虑因素
应注意,已经从编码器(例如,图2A中的视频编码器20)的视角描述了本发明的方面。然而,所属领域的技术人员将了解,与那些上文所描述的操作相反的操作可应用于解码由(例如)图2B中的视频解码器30产生的位流。
可使用多种不同技术和技艺中的任何者来表示本文中公开的信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示在整个以上描述中可参考的数据、指令、命令、信息、信号、位、符号和码片。
结合本文中所公开的实施例而描述的各种说明性逻辑块和算法步骤可被实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体在其功能性方面描述了各种说明性组件、块和步骤。将此类功能性实施为硬件抑或软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但这些实施决策不应被解释为引起偏离本发明的范围。
因此,本文中描述的技术可以硬件、软件、固件或其任何组合实施。此类技术可以多种装置中的任一者实施,例如,通用计算机、无线通信装置手机、或集成电路装置,所述集成电路装置具有包含无线通信装置手机、汽车的装置、电气设备、可穿戴装置和/或其它装置中的应用的多个用途。可将描述为装置或组件的任何特征一起实施于集成式逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分由包括包含当经执行时执行以上描述方法中的一或多者的指令的程序代码的计算机可读数据存储媒体实现。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。所述技术另外或替代地可至少部分由计算机可读通信媒体实现,所述计算机可读通信媒体携载或传递呈指令或数据结构的形式且可由计算机存取、读取和/或执行的程序代码,例如,传播的信号或波。
程序代码可由可包含例如以下的一或多个处理器的处理器执行:一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成式或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构、前述结构的任何组合或适合于实施本文中描述的技术的任何其它结构或设备中的任一者。此外,在一些方面中,本文中描述的功能性可提供于经配置用于编码和解码的专用软件或硬件内,或并入于组合的视频编码器-解码器(编解码器)中。再者,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在多种装置或设备中实施,所述装置或设备包含无线手机、集成电路(IC)或IC组(例如,芯片组)。在本发明中描述各种组件或单元以强调经配置以执行所公开技术的装置的功能方面,但未必需要通过不同硬件单元实现。实情为,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适软件和/或固件来提供所述单元。
虽然已经结合各种不同实施例描述了前文,但可在不脱离本发明的教示的情况下将来自一个实施例的特征或元件与其它实施例组合。然而,相应实施例之间的特征的组合不必限于此。已描述了本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。
Claims (29)
1.一种用于对视频数据译码的设备,其包括:
存储器,其用于存储所述视频数据,所述存储器包含缓冲器;和
硬件处理器,其以操作方式耦合到所述存储器且经配置以:
基于视频数据切片内的像素的总数目确定且存储比例参数;
确定且存储将多个输入值与其倒数值相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片;
基于所述所存储比例参数确定阈值;
针对所述切片的待译码块,响应于所述切片中的剩余像素的数目小于所述阈值的确定,更新所述比例参数,且基于比例因子确定经更新阈值;和
执行一或多个固定点近似运算,以基于与剩余像素的所述数目相关联的基于所述比例因子按比例缩放的倒数值而确定所述块的目标速率,其中所述倒数值是使用所述所存储数据结构进行确定。
2.根据权利要求1所述的设备,其中所述数据结构包括查找表LUT。
3.根据权利要求1所述的设备,其中所述硬件处理器经进一步配置以基于缓冲器充满度度量将所述经确定目标速率调整一量。
4.根据权利要求3所述的设备,其中所述调整量是基于使用查找表LUT进行确定。
5.根据权利要求1所述的设备,其中所述硬件处理器经进一步配置以基于所述块是否定位于所述切片的第一行上而调整所述经确定目标速率。
6.根据权利要求1所述的设备,其中所述硬件处理器经进一步配置以基于所述切片中的剩余位的数目按比例缩放所述倒数值。
7.一种用于确定对视频数据块译码的目标速率的计算机实施方法,其包括:
基于视频数据切片内的像素的总数目确定且存储比例参数;
确定且存储将多个输入值与其倒数值相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片;
基于所述所存储比例参数确定阈值;
针对所述切片的待译码块,响应于所述切片中的剩余像素的数目小于所述阈值的确定,更新所述比例参数,且基于比例因子确定经更新阈值;和
执行一或多个固定点近似运算,以基于与剩余像素的所述数目相关联的基于所述比例因子按比例缩放的倒数值而确定所述块的目标速率,其中所述倒数值是使用所述所存储数据结构进行确定。
8.根据权利要求7所述的计算机实施方法,其中所述数据结构包括查找表LUT。
9.根据权利要求7所述的计算机实施方法,其进一步包括基于缓冲器充满度度量将所述经确定目标速率调整一量。
10.根据权利要求9所述的计算机实施方法,其中所述调整量是基于使用查找表LUT进行确定。
11.根据权利要求7所述的计算机实施方法,其进一步包括基于所述块是否定位于所述切片的第一行上而调整所述经确定目标速率。
12.根据权利要求7所述的计算机实施方法,其进一步包括基于所述切片中的剩余位的数目按比例调整所述倒数值。
13.一种设备,其包括:
用于基于视频数据切片内的像素的总数目确定且存储比例参数的装置;
用于确定且存储将多个输入值与其倒数值相关联的数据结构的装置;
用于接收所述待译码视频数据的装置,所述视频数据包括划分成多个块的至少一个切片;
用于基于所述所存储比例参数确定阈值的装置;
用于针对所述切片的待译码块,响应于所述切片中的剩余像素的数目小于所述阈值的确定,更新所述比例参数,且基于比例因子确定经更新阈值的装置;和
用于执行一或多个固定点近似运算,以基于与剩余像素的所述数目相关联的基于所述比例因子按比例缩放的倒数值而确定所述块的目标速率的装置,其中所述倒数值是使用所述所存储数据结构进行确定。
14.根据权利要求13所述的设备,其中所述数据结构包括查找表LUT。
15.根据权利要求13所述的设备,其进一步包括用于基于缓冲器充满度度量将所述经确定目标速率调整一量的装置。
16.根据权利要求15所述的设备,其中所述调整量是基于使用查找表LUT进行确定。
17.根据权利要求13所述的设备,其进一步包括用于基于所述块是否定位于所述切片的第一行上而调整所述经确定目标速率的装置。
18.根据权利要求13所述的设备,其进一步包括用于基于所述切片中的剩余位的数目按比例调整所述倒数值的装置。
19.一种上面存储有与图像的切片有关的视频数据的非暂时性计算机可读存储媒体,所述切片包括一或多个块,其中所述存储媒体上进一步存储有指令,所述指令在被执行时使得装置的处理器:
基于视频数据切片内的像素的总数目确定且存储比例参数;
确定且存储将多个输入值与其倒数值相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括至少一个切片;
基于所述所存储比例参数确定阈值;
针对所述切片的待译码块,响应于所述切片中的剩余像素的数目小于所述阈值的确定,更新所述比例参数,且基于比例因子确定经更新阈值;和
执行一或多个固定点近似运算,以基于与剩余像素的所述数目相关联的基于所述比例因子按比例缩放的倒数值而确定所述块的目标速率,其中所述倒数值是使用所述所存储数据结构进行确定。
20.根据权利要求19所述的非暂时性计算机可读存储媒体,其中所述数据结构包括查找表LUT。
21.根据权利要求19所述的非暂时性计算机可读存储媒体,其中所述存储媒体上进一步存储有指令,所述指令在被执行时使得所述处理器基于缓冲器充满度度量将所述经确定目标速率调整一量。
22.根据权利要求21所述的非暂时性计算机可读存储媒体,其中所述调整量是基于使用查找表LUT进行确定。
23.根据权利要求19所述的非暂时性计算机可读存储媒体,其中所述存储媒体上进一步存储有指令,所述指令在被执行时使得所述处理器基于所述块是否定位于所述切片的第一行上而调整所述经确定目标速率。
24.根据权利要求19所述的非暂时性计算机可读存储媒体,其中所述存储媒体上进一步存储有指令,所述指令在被执行时,使得所述处理器基于所述切片中的剩余位的数目按比例调整所述倒数值。
25.一种用于对视频数据译码的设备,其包括:
存储器,其用于存储所述视频数据,所述存储器包含缓冲器;和
硬件处理器,其以操作方式耦合到所述存储器且经配置以:
基于最大缓冲器大小的倒数确定且存储第一参数值;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片;
针对所述切片的待译码块,基于指示用以表示缓冲器充满度的位的数目的第一值和指示计算缓冲器充满度所用的精确度的第二值,按比例缩放所述第一参数;
和
执行一或多个固定点近似运算,以基于所述经按比例缩放的第一参数、所述缓冲器的当前大小、基于所述切片内的所述块的位置的缓冲器偏移值以及指示计算缓冲器充满度所用的精确度的所述第二值,确定用于所述块的缓冲器充满度值。
26.根据权利要求25所述的设备,其中所述硬件处理器经进一步配置以执行以下操作:
确定且存储将缓冲器充满度值与缓冲器充满度值的拉格朗日值相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一切片;
针对所述切片的待译码块,基于指示用以对所述缓冲器充满度值译码的位数目的第一参数和指示用以对所述数据结构的索引译码的位数目的第二参数,按比例缩放所述块的所计算的缓冲器充满度值;和
执行一或多个固定点近似运算,以使用所述所存储数据结构和所述经按比例缩放缓冲器充满度值确定所述缓冲器充满度值的拉格朗日值。
27.一种用于对视频数据译码的设备,其包括:
存储器,其用于存储所述视频数据,所述存储器包含缓冲器;和
硬件处理器,其以操作方式耦合到所述存储器且经配置以:
确定且存储将缓冲器充满度值与量化参数QP调整值相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片;
针对所述切片的待译码块,确定所述块是否含有复杂区域与平坦区域之间的转变,其中复杂区域与平坦区域相比具有较高复杂性;
响应于所述块含有转变的确定,基于用以对缓冲器充满度值译码的位的数目和用以对QP调整值译码的位的数目将所述缓冲器充满度值移位;
执行一或多个固定点近似运算,以基于所述所存储数据结构和所述经移位缓冲器充满度值确定所述块的QP调整值;和
将所述块的QP设定为所述经确定QP调整值。
28.一种用于对视频数据译码的设备,其包括:
存储器,其用于存储所述视频数据;和
硬件处理器,其以操作方式耦合到所述存储器且经配置以:
基于可用以对视频数据块译码的位的最大数目,确定且存储第一比例参数;
确定且存储将用以对视频数据块译码的位数目与位速率的拉格朗日参数相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片;
针对所述切片的待译码块,执行一或多个固定点近似运算,基于对所述块译码的通过所述第一比例参数调整的位的数目,使用所述数据结构确定所述块的位速率的拉格朗日。
29.一种用于对视频数据译码的设备,其包括:
存储器,其用于存储所述视频数据,所述存储器包含缓冲器;和
硬件处理器,其以操作方式耦合到所述存储器且经配置以:
确定且存储将缓冲器充满度值与缓冲器充满度值的拉格朗日值相关联的数据结构;
接收所述待译码视频数据,所述视频数据包括划分成多个块的至少一个切片;
针对所述切片的待译码块,基于指示用以对所述缓冲器充满度值译码的位的数目的第一参数和指示用以对所述数据结构的索引译码的位的数目的第二参数,按比例缩放所述块的所计算的缓冲器充满度值;和
执行一或多个固定点近似运算,以使用所述所存储数据结构和所述经按比例缩放缓冲器充满度值确定所述缓冲器充满度值的拉格朗日值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010628586.1A CN111726628B (zh) | 2015-11-19 | 2016-11-17 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562257604P | 2015-11-19 | 2015-11-19 | |
US62/257,604 | 2015-11-19 | ||
US201562264067P | 2015-12-07 | 2015-12-07 | |
US62/264,067 | 2015-12-07 | ||
US201662305314P | 2016-03-08 | 2016-03-08 | |
US62/305,314 | 2016-03-08 | ||
US15/353,468 | 2016-11-16 | ||
US15/353,468 US10432952B2 (en) | 2015-11-19 | 2016-11-16 | System and methods for fixed-point approximations in display stream compression (DSC) |
PCT/US2016/062455 WO2017087626A1 (en) | 2015-11-19 | 2016-11-17 | System and methods for fixed-point approximations in display stream compression (dsc) |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010628586.1A Division CN111726628B (zh) | 2015-11-19 | 2016-11-17 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108353170A true CN108353170A (zh) | 2018-07-31 |
CN108353170B CN108353170B (zh) | 2020-07-07 |
Family
ID=57485923
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010628586.1A Active CN111726628B (zh) | 2015-11-19 | 2016-11-17 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
CN201680065701.0A Active CN108353170B (zh) | 2015-11-19 | 2016-11-17 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010628586.1A Active CN111726628B (zh) | 2015-11-19 | 2016-11-17 | 用于在显示流压缩(dsc)中固定点近似的系统和方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10432952B2 (zh) |
EP (1) | EP3378230B1 (zh) |
JP (1) | JP6772266B2 (zh) |
KR (1) | KR102101107B1 (zh) |
CN (2) | CN111726628B (zh) |
AU (1) | AU2016355664B2 (zh) |
BR (1) | BR112018010137A8 (zh) |
TW (1) | TWI721042B (zh) |
WO (1) | WO2017087626A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246443A (zh) * | 2018-11-28 | 2019-01-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种直播流切片同步方法及系统 |
CN113812159A (zh) * | 2019-05-14 | 2021-12-17 | 北京字节跳动网络技术有限公司 | 视频编解码中的缩放方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11546611B2 (en) | 2018-08-01 | 2023-01-03 | Samsung Display Co., Ltd. | Rate control for fixed rate foveated display compression |
US20220046257A1 (en) * | 2020-08-05 | 2022-02-10 | Facebook, Inc. | Quality metrics accelerator with inline scalers |
CN112437300B (zh) * | 2020-11-23 | 2022-04-15 | 武汉理工大学 | 一种基于自适应区间重叠因子的分布式视频编码方法 |
CN118077196A (zh) * | 2021-09-22 | 2024-05-24 | 北京达佳互联信息技术有限公司 | 用于解码器侧帧内模式推导的方法和设备 |
KR102611423B1 (ko) * | 2022-07-01 | 2023-12-07 | 주식회사 네패스 | 이미지 스케일링 장치 및 이미지 스케일링 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100124279A1 (en) * | 2008-11-19 | 2010-05-20 | Nvidia Corporation | Video rate control processor for a video encoding process |
CN102037729A (zh) * | 2006-06-26 | 2011-04-27 | 高通股份有限公司 | 前向和逆向离散余弦变换的高效定点近似法 |
CN102067610A (zh) * | 2008-06-16 | 2011-05-18 | 杜比实验室特许公司 | 基于视频编码的切片依赖性的码率控制模型适配 |
US20140092960A1 (en) * | 2012-10-03 | 2014-04-03 | Broadcom Corporation | Bounded Rate Compression With Rate Control For Slices |
WO2015160826A2 (en) * | 2014-04-15 | 2015-10-22 | Qualcomm Incorporated | System and method for lagrangian parameter calculation for display stream compression (dsc) |
WO2015160803A2 (en) * | 2014-04-15 | 2015-10-22 | Qualcomm Incorporated | System and method for flatness detection for display stream compression (dsc) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1513350A1 (en) * | 2003-09-03 | 2005-03-09 | Thomson Licensing S.A. | Process and arrangement for encoding video pictures |
US7697608B2 (en) | 2004-02-03 | 2010-04-13 | Sony Corporation | Scalable MPEG video/macro block rate control |
EP2293583A1 (en) * | 2008-06-24 | 2011-03-09 | Panasonic Corporation | Recording medium, reproducing device, integrated circuit, reproducing method, and program |
CA2839345A1 (en) * | 2011-06-14 | 2012-12-20 | Zhou Wang | Method and system for structural similarity based rate-distortion optimization for perceptual video coding |
US20140192266A1 (en) * | 2013-01-04 | 2014-07-10 | Qualcomm Incorporated | Method and apparatus of reducing compression noise in digital video streams |
US9936200B2 (en) * | 2013-04-12 | 2018-04-03 | Qualcomm Incorporated | Rice parameter update for coefficient level coding in video coding process |
US9848193B2 (en) * | 2014-04-15 | 2017-12-19 | Qualcomm Incorporated | System and method for selecting quantization parameter (QP) in display stream compression (DSC) |
US10356428B2 (en) | 2015-04-13 | 2019-07-16 | Qualcomm Incorporated | Quantization parameter (QP) update classification for display stream compression (DSC) |
-
2016
- 2016-11-16 US US15/353,468 patent/US10432952B2/en active Active
- 2016-11-17 EP EP16806381.6A patent/EP3378230B1/en active Active
- 2016-11-17 BR BR112018010137A patent/BR112018010137A8/pt not_active IP Right Cessation
- 2016-11-17 KR KR1020187013793A patent/KR102101107B1/ko active IP Right Grant
- 2016-11-17 AU AU2016355664A patent/AU2016355664B2/en not_active Ceased
- 2016-11-17 WO PCT/US2016/062455 patent/WO2017087626A1/en active Application Filing
- 2016-11-17 CN CN202010628586.1A patent/CN111726628B/zh active Active
- 2016-11-17 CN CN201680065701.0A patent/CN108353170B/zh active Active
- 2016-11-17 JP JP2018525779A patent/JP6772266B2/ja active Active
- 2016-11-18 TW TW105137961A patent/TWI721042B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102037729A (zh) * | 2006-06-26 | 2011-04-27 | 高通股份有限公司 | 前向和逆向离散余弦变换的高效定点近似法 |
CN102067610A (zh) * | 2008-06-16 | 2011-05-18 | 杜比实验室特许公司 | 基于视频编码的切片依赖性的码率控制模型适配 |
US20100124279A1 (en) * | 2008-11-19 | 2010-05-20 | Nvidia Corporation | Video rate control processor for a video encoding process |
US20140092960A1 (en) * | 2012-10-03 | 2014-04-03 | Broadcom Corporation | Bounded Rate Compression With Rate Control For Slices |
WO2015160826A2 (en) * | 2014-04-15 | 2015-10-22 | Qualcomm Incorporated | System and method for lagrangian parameter calculation for display stream compression (dsc) |
WO2015160803A2 (en) * | 2014-04-15 | 2015-10-22 | Qualcomm Incorporated | System and method for flatness detection for display stream compression (dsc) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246443A (zh) * | 2018-11-28 | 2019-01-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种直播流切片同步方法及系统 |
CN109246443B (zh) * | 2018-11-28 | 2021-03-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种直播流切片同步方法及系统 |
CN113812159A (zh) * | 2019-05-14 | 2021-12-17 | 北京字节跳动网络技术有限公司 | 视频编解码中的缩放方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111726628A (zh) | 2020-09-29 |
TW201722155A (zh) | 2017-06-16 |
US20170150158A1 (en) | 2017-05-25 |
CN111726628B (zh) | 2022-03-22 |
JP2018538742A (ja) | 2018-12-27 |
KR102101107B1 (ko) | 2020-04-14 |
JP6772266B2 (ja) | 2020-10-21 |
AU2016355664A1 (en) | 2018-04-26 |
BR112018010137A2 (pt) | 2018-11-13 |
EP3378230A1 (en) | 2018-09-26 |
KR20180083861A (ko) | 2018-07-23 |
US10432952B2 (en) | 2019-10-01 |
CN108353170B (zh) | 2020-07-07 |
EP3378230B1 (en) | 2020-12-16 |
WO2017087626A1 (en) | 2017-05-26 |
AU2016355664B2 (en) | 2020-05-28 |
TWI721042B (zh) | 2021-03-11 |
BR112018010137A8 (pt) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108353170A (zh) | 用于在显示流压缩(dsc)中固定点近似的系统和方法 | |
CN106165418B (zh) | 译码视频数据的设备、方法及计算机可读媒体 | |
CN106165421B (zh) | 用于译码视频数据的设备、方法及计算机可读媒体 | |
CN106416248B (zh) | 用于对视频数据进行熵编码和熵解码的方法和装置 | |
US10362310B2 (en) | Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling | |
CN106256127B (zh) | 用于针对显示流压缩(dsc)在块预测模式中译码的系统和方法 | |
CN107409219A (zh) | 用于显示流压缩的速率受限回退模式 | |
CN107431812B (zh) | 用于显示流压缩的复杂区域检测 | |
CN108353177A (zh) | 在显示流压缩dsc中用于降低切片边界视觉假象的系统及方法 | |
CN107534771A (zh) | 用于基于复杂性量度的显示流压缩dsc的量化参数qp计算 | |
CN106165420A (zh) | 用于显示流压缩(dsc)的平度检测的系统及方法 | |
CN108702513A (zh) | 用于在显示流压缩中量化参数的适应性计算的设备及方法 | |
CN107431811A (zh) | 用于显示流压缩的量化参数更新分类 | |
CN108432249A (zh) | 用于在显示流压缩(dsc)中计算失真的系统和方法 | |
CN106664406A (zh) | 用于确定用于显示流压缩的缓冲器满度的系统和方法 | |
KR20180030021A (ko) | 서브픽셀 패킹을 이용한 디스플레이 스트림 압축 픽셀 포맷 확장 | |
CN106233731B (zh) | 用于针对显示流压缩(dsc)在图案模式中译码的系统和方法 | |
CN108886615A (zh) | 用于显示器流压缩的感知量化参数(qp)加权的设备及方法 | |
US10123045B2 (en) | Modification to block size for transform mode in display stream compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |