CN106165418B - 译码视频数据的设备、方法及计算机可读媒体 - Google Patents

译码视频数据的设备、方法及计算机可读媒体 Download PDF

Info

Publication number
CN106165418B
CN106165418B CN201580018029.5A CN201580018029A CN106165418B CN 106165418 B CN106165418 B CN 106165418B CN 201580018029 A CN201580018029 A CN 201580018029A CN 106165418 B CN106165418 B CN 106165418B
Authority
CN
China
Prior art keywords
video data
current block
digit
value
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580018029.5A
Other languages
English (en)
Other versions
CN106165418A (zh
Inventor
维贾伊拉加哈万·提鲁马莱
纳坦·海姆·雅各布森
瑞珍·雷克斯曼·乔许
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106165418A publication Critical patent/CN106165418A/zh
Application granted granted Critical
Publication of CN106165418B publication Critical patent/CN106165418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods 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 characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Storage Device Security (AREA)

Abstract

根据某些方面,一种用于译码视频数据的设备包含用于存储所述视频数据的存储器和处理器。所述存储器包含缓冲器。所述处理器经配置以接收待译码的所述视频数据。所述处理器经进一步配置以不考虑所述视频数据的内容类型和与所述内容类型相关联的速率‑失真模型来确定所述视频数据的当前块的量化参数QP。所述处理器还经配置以使用所述确定的QP在位流中译码所述当前块。

Description

译码视频数据的设备、方法及计算机可读媒体
技术领域
本发明涉及视频译码和压缩的领域,且明确地说,涉及视频压缩以用于在显示链路上发射,例如,显示流压缩(DSC)。
背景技术
可将数字视频能力并入到广泛范围的显示器,包含数字电视、个人数字助理、(PDA)、膝上型计算机、台式监测器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏机、蜂窝或卫星无线电电话、视频电话会议装置和类似者。使用显示链路将显示器连接到适当源装置。显示链路的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器需要大带宽显示链路。一些显示链路不具有支撑高分辨率显示器的带宽。可使用视频压缩减少带宽要求使得可使用较低带宽显示链路将数字视频提供到高分辨率显示器。
其它人已试着利用对像素数据的图像压缩。然而,此类方案有时并不视觉上无损,或可能在常规显示装置中实施起来困难且昂贵。
视频电子学标准协会(VESA)已开发了显示流压缩(DSC)作为用于显示链路视频压缩的标准。显示链路视频压缩技术(例如,DSC)应尤其提供视觉上无损的图片质量(即,足够好,以致用户不能知道压缩在作用中)。显示链路视频压缩技术还应提供用常规硬件实时实施起来简单且廉价的方案。
发明内容
本发明的系统、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文所揭示的合乎需要的属性。
在一个方面中,一种用于译码视频数据的设备包含用于存储所述视频数据的存储器和处理器。所述存储器包含缓冲器。所述处理器经配置以接收待译码的所述视频数据。所述处理器经进一步配置以不考虑所述视频数据的内容类型和与所述内容类型相关联的速率-失真模型确定所述视频数据的当前块的量化参数(QP)。所述处理器还经配置以使用所述确定的QP在位流中译码所述当前块。
附图说明
图1A是说明可利用根据本发明中描述的方面的技术的实例视频编码和解码系统的框图。
图1B是说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。
图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。
图2B是说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。
图3是说明根据本发明中描述的方面的用于QP选择的方法的流程图。
具体实施方式
一般来说,本发明涉及用于在例如显示流压缩(DSC)的视频压缩技术的情况下选择量化参数(QP)的技术。更具体地说,本发明涉及用于不考虑速率失真模型计算QP(例如,不利用速率失真模型执行计算(或确定)来计算(或确定)QP)的系统和方法。
虽然本文中在DSC标准的情况下描述某些实施例,但所属领域的技术人员将了解,本文中揭示的系统和方法可适用于任一合适的视频译码标准。举例来说,本文中揭示的实施例可适用于以下标准中的一或多个:国际电信联盟(ITU)电信标准化部门 (ITU-T)H.261、国际标准化组织/国际电工委员会(ISO/IEC)动画专家组-1(MPEG-1) Visual、ITU-TH.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、 ITU-T H.264(亦称为ISO/IEC MPEG-4AVC)和高效率视频译码(HEVC)和此类标准的扩展。并且,本发明中描述的技术可变为将来开发的标准的部分。换句话说,本发明中描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准和即将到来的视频译码标准。
计算QP可为速率控制过程中的合乎需要步骤,且可对译码方案的速率-失真(RD)性能具有大的影响。在一个实施例中,QP经选择以优化需要经验速率-失真模型的速率- 失真关系。举例来说,QP可被计算以最佳拟合给定速率-失真经验模型。当在特定内容(例如,天然内容)下工作时,此方法可很好地起作用。然而,当在包含天然、合成、计算机图形、碎片等的若干类型的内容下工作时,建立对于不同类型的内容有效率地工作的速率-失真模型可具挑战性。举例来说,建立用于速率-失真模型的单一闭合形式表达可具挑战性。为了克服此挑战,可能需要实施计算不需要知晓速率-失真模型或不取决于速率 -失真模型的QP的方法。
为了解决这些和其它挑战,根据某些方面的技术可在不考虑速率-失真模型的情况下确定最优QP。速率-失真模型可与DSC中的一或多个译码模式或一或多个不同类型的内容相关联。速率-失真模型可基于经验数据。在一个实施例中,所述技术可基于以下各者确定QP:(1)用于当前块的位预算(例如,用于译码的分派的位数)与用于编码先前块的位数之间的差,(2)随用于当前块的位预算与用于编码先前块的位数之间的差而变的QP调整值。可进一步基于缓冲器满度、当前块的平度等调整用于当前块的确定的QP。
以此方式,所述技术可选择QP值,而不依赖于与译码模式或特定类型的内容相关联的具体速率-失真模型。由于建立速率-失真可能耗时且涉及大量精力,因此这可节省成本和/或资源。此外,所述技术可确定在不同类型的内容下良好地起作用的QP。
视频译码标准
例如视频图像、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/IEC MPEG-4AVC)和HEVC,包含此类标准的扩展。
此外,视频译码标准(即,DSC)已由VESA开发。DSC标准为可压缩视频供通过显示链路发射的视频压缩标准。随着显示器的分辨率增大,驱动显示器需要的视频数据的带宽对应地增大。针对此类分辨率,一些显示链路可不具有所述带宽来将所有视频数据发射到显示器。因此,DSC标准指定用于通过显示链路的可互操作、视觉无损压缩的压缩标准。
DSC标准不同于其它视频译码标准,例如,H.264和HEVC。DSC包含帧内压缩,但不包含帧间压缩,意味着时间信息可不由DSC标准在译码视频数据时使用。相比之下,其它视频译码标准可在其视频译码技术中使用帧间压缩。
视频译码系统
下文参看附图更充分地描述新颖系统、设备和方法的各个方面。然而,本发明可以许多不同形式来体现,且不应将其解释为限于贯穿本发明所呈现的任何特定结构或功能。相反地,提供这些方面使得本发明将透彻且完整,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围希望涵盖无论是独立于本发明的任一其它方面而实施还是与之组合而实施的本文中所揭示的新颖系统、设备和方法的任一方面。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或实践方法。此外,本发明的范围希望涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可由权利要求的一或多个要素来体现本文中所揭示的任一方面。
尽管本文描述了特定方面,但这些方面的许多变化和排列属于本发明的范围。尽管提到了优选态样的一些益处和优点,但本发明的范围不希望限于特定益处、用途或目标。相反,本发明的方面希望广泛地适用于不同无线技术、系统配置、网络和发射协议,其中的一些是借助于实例而在图中和在优选方面的以下描述中说明。具体实施方式和图式仅说明本发明,而不是限制由所附权利要求书和其等效内容定义的本发明的范围。
附图说明实例。由附图中的参考数字指示的元件对应于在以下描述中由相似参考数字指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等) 开始的元件未必暗示所述元件具有特定次序。相反,此些序数词仅用以指相同或类似类型的不同元件。
图1A为说明可利用根据本发明中描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”或“译码器”一般指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般指视频编码和视频解码。除了视频编码器和视频解码器外,本申请案中描述的方面可扩展到其它有关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)和中间框(例如,可修改、变换和/或另外操纵位流的装置)。
如图1A中所展示,视频译码系统10包含产生稍后待由目的地装置14解码的经编码视频数据的源装置12。在图1A的实例中,源装置12与目的地装置14构成单独的装置。然而,应注意,源装置12和目的地装置14可在同一装置上或为同一装置的一部分,如在图1B的实例中所展示。
再次参看图1A,源装置12和目的地装置14可分别包括广泛范围的装置中的任一者,包含台式计算机、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏机、视频流式传输装置或类似者。在各种实施例中,源装置12和目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1A 的实例中,链路16可包括通信媒体以使源装置12能够实时地将经编码视频数据发射到目的地装置14。可根据通信标准(例如,无线通信协议)调制经编码视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于分组的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换机、基站或可用以促进从源装置 12到目的地装置14的通信的任一其它设备。
在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些状况下,输出接口22可包括调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如视频捕获装置(例如,摄像机)、含有先前所捕获视频的视频存档、从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据作为源视频的计算机图形系统的来源,或此类来源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的“相机电话”或“视频电话”,如图 1B的实例中所说明。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。
经捕获、预先捕获或计算机产生的视频可由视频编码器20编码。可经由源装置12的输出接口22将经编码视频数据发射到目的地装置14。经编码视频数据还可(或替代地)存储在存储装置31上以供稍后由目的地装置14或其它装置存取,用于解码和/或回放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器20或本文中所描述的任一其它视频编码器。
在图1A的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口 28可通过链路16和/或从存储装置31接收经编码视频数据。通过链路16传达或在存储装置31上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素,用于由例如视频解码器30的视频解码器在解码视频数据时使用。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。
显示装置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-TH.264标准,替代地被称作MPEG-4第10部分AVC、HEVC或此类标准的扩展。但是,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和 ITU-T H.263。
尽管图1A和1B的实例中未展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用, MUX-DEMUX单元可遵守ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器的部分。
视频译码过程
如上文简要提到,视频编码器20编码视频数据。视频数据可包括一或多个图片。图片中的每一者为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20编码视频数据时,视频编码器20可以产生位流。位流可包含形成视频数据的经译码表示的一连串位。位流可包含经译码图片和相关联的数据。经译码图片是图片的经译码的表示。
为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联的数据可包含例如QP的译码参数的集合。为了产生经译码图片,视频编码器20可将图片分割成相等大小的视频块。视频块可为样本的二维阵列。译码参数可定义用于视频数据的每一块的译码选项(例如,译码模式)。可选择译码选项以便达成所要的速率-失真性能。
在一些实例中,视频编码器20可将图片分割成多个切片。切片中的每一个可包含可在无来自图像(例如,帧)中的其余区域的信息的情况下独立解码的在所述图像或帧中的空间上截然不同的区域。每一图像或视频帧可在单一切片中编码,或其可在若干切片中编码。在DSC中,被分派以编码每一切片的目标位可实质上恒定。作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20 对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称作“经译码切片”。
DSC视频编码器
图2A为说明可实施根据本发明中描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件当中共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的一些或全部。
出于解释的目的,本发明在DSC译码的情况下描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含色彩-空间转换器105、缓冲器110、平度检测器115、速率控制器120、预测器、量化器和重建器组件125、行缓冲器130、索引的色彩历史135、熵编码器140、子流多路复用器145和速率缓冲器150。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。
色彩-空间转换器105可将输入的色彩-空间转换到在译码实施方案中使用的色彩-空间。举例来说,在一个示范性实施例中,输入视频数据的色彩-空间在红、绿和蓝(RGB)色彩-空间中,且以亮度Y、色度绿Cg和色度橙Co(YCgCo)色彩-空间实施译码。色彩- 空间转换可通过包含移位和添加到视频数据的方法执行。应注意,可处理其它色彩-空间中的输入视频数据,且也可执行到其它色彩-空间的转换。
在有关方面中,视频编码器20可包含缓冲器110、行缓冲器130和/或速率缓冲器150。举例来说,缓冲器110可在经色彩-空间转换的视频数据由视频编码器20的其它部分使用前将其保持。在另一实例中,视频数据可存储在RGB色彩-空间中,且可按需要执行色彩-空间转换,这是由于经色彩-空间转换的数据可能需要较多位。
速率缓冲器150可充当视频编码器20中的速率控制机构的部分,这将在下文关于速率控制器120更详细地描述。在编码每一块上花费的位可基于块的本质大体上高度变化。速率缓冲器150可使经压缩视频的速率变化平稳。在一些实施例中,使用恒定位率(CBR)缓冲器模型,其中以恒定位率从缓冲器取出位。在CBR缓冲器模型中,如果视频编码器20将过多的位添加到位流,那么速率缓冲器150可溢出。另一方面,视频编码器20必须添加足够位以便防止速率缓冲器150的下溢。
在视频解码器侧上,可以恒定位率将位添加到视频解码器30的速率缓冲器155(见下文进一步详细描述的图2B),且视频解码器30可针对每一块去除可变数目个位。为了确保恰当解码,视频解码器30的速率缓冲器155在经压缩位流的解码期间不应“下溢”或“溢出”。
在一些实施例中,可基于表示当前在缓冲器中的位数的值BufferCurrentSize和表示速率缓冲器150的大小(即,在任一时间点可存储在速率缓冲器150中的最大位数)的BufferMaxSize来定义缓冲器满度(BF)。BF可计算为:
BF=((BufferCurrentSize*100)/BufferMaxSize)
平度检测器115可检测视频数据中的复杂(即,非平坦)区到视频数据中的平坦(即,简单或均匀)区的改变。术语“复杂”和“平坦”将在本文中用以大体指视频编码器20 编码视频数据的相应区域的困难。因此,如本文中使用的术语“复杂”将视频数据的区域大体描述为视频编码器20编码起来复杂或难以,且可(例如)包含纹理化的视频数据、高空间频率和/或编码起来复杂的其它特征。举例来说,当编码视频数据的区域需要的位数大于阈值时,可将所述区域确定为复杂区域。如本文中使用的术语“平坦”将视频数据的区域大体描述为视频编码器20编码起来简单,且可(例如)包含视频数据中的平滑梯度、低空间频率和/或编码起来简单的其它特征。举例来说,当编码视频数据的区域需要的位数小于阈值时,可将所述区域确定为平坦区域。
然而,取决于实施方案,给定区域复杂或平坦的确定也可基于使用的编码标准、视频编码器20中包含的具体硬件、待编码的视频数据的类型等来确定。另外,视频数据区域的某些性质可影响需要多少位来编码区域,例如,高纹理和/或高空间频率区域可比较低纹理和/或较低空间频率区域需要多的位来编码。类似地,与视频数据的更结构化区域相比,包括随机噪声的区域可需要大量位来编码。因此,在某些实施方案中,可通过将纹理和/或空间频率(例如,复杂性值)的测量与复杂性阈值比较来将视频数据的区域识别为复杂和/或平坦区域。复杂与平坦区域之间的过渡可由视频编码器20用以减少经编码视频数据中的量化伪影。具体来说,当识别到从复杂到平坦区域的过渡时,速率控制器120和预测器、量化器和重建器组件125可减少此类量化伪影。
速率控制器120判定一组译码参数,例如,QP。QP可由速率控制器120基于速率缓冲器150的缓冲器满度和视频数据的图像活动来调整,以便最大化针对目标位率的图片质量,这确保速率缓冲器150不溢出或下溢。速率控制器120还选择用于视频数据的每一块的特定译码选项(例如,特定模式),以便达成最优速率-失真性能。速率控制器120 使重构建的图像的失真最小化,使得其满足位率约束,即,总实际译码速率拟合于目标位率内。
预测器、量化器和重建器组件125可执行视频编码器20的至少三个编码操作。预测器、量化器和重建器组件125可以许多不同模式执行预测。一个实例预测模式为中值自适应预测的修改型式。中值自适应预测可由无损JPEG标准(JPEG-LS)实施。可由预测器、量化器和重建器组件125执行的中值自适应预测的修改型式可允许三个连续样本值的并行预测。另一实例预测模式为块预测。在块预测中,从先前重构建的像素向左预测样本。视频编码器20和视频解码器30可都对重构建的像素执行相同搜索以确定块预测使用,和因此,不需要在块预测模式中发送位。也可实施中点预测模式,其中使用组件范围的中点预测样本。中点预测模式可在甚至最坏情况样本中实现对于经压缩视频需要的位数的界限。
预测器、量化器和重建器组件125还执行量化。举例来说,可经由可使用移位器实施的幂2量化器执行量化。应注意,可实施其它量化技术,代替幂2量化器。由预测器、量化器和重建器组件125执行的量化可基于由速率控制器120确定的QP。最后,预测器、量化器和重建器组件125还执行重构建,包含将经反量化的残值加到经预测值和确保结果不落在样本值的有效范围之外。
应注意,以上描述的由预测器、量化器和重建器组件125执行的预测、量化和重构建的实例方法只是说明性的且可实施其它方法。还应注意,预测器、量化器和重建器组件125可包含用于执行预测、量化和/或重构建的子组件。进一步注意,预测、量化和/ 或重构建可由若干单独的编码器组件代替预测器、量化器和重建器组件125执行。
行缓冲器130保持来自预测器、量化器和重建器组件125的输出,使得预测器、量化器和重建器组件125和索引的色彩历史135可使用经缓冲视频数据。索引的色彩历史 135存储最近使用的像素值。这些最近使用的像素值可直接由视频编码器20经由专用语法参考。
熵编码器140基于索引的色彩历史135和由平度检测器115识别的平度过渡编码从预测器、量化器和重建器组件125接收的预测残余。在一些实例中,熵编码器140可每子流编码器每时钟编码三个样本。子流多路复用器145可基于无标头分组复用方案多路复用位流。这允许视频解码器30并行地运行三个熵解码器,从而有助于每时钟解码三个像素。子流多路复用器145可优化包次序使得包可由视频解码器30有效率地解码。应注意,可实施熵译码的不同方法,这可有助于每时钟幂2像素的解码(例如,2个像素 /时钟或4个像素/时钟)。
DSC视频解码器
图2B是说明可实施本发明中描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以执行本发明的技术中的一些或全部。在一些实例中,本发明中描述的技术可在视频编码器30的各种组件当中共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的一些或全部。
出于解释的目的,本发明在DSC译码的情况下描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图2B的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含速率缓冲器155、子流多路分用器160、熵解码器165、速率控制器170、预测器、量化器和重建器组件175、索引的色彩历史180、行缓冲器185和色彩-空间转换器190。视频解码器30的所说明组件类似于以上关于图2A中的视频编码器20描述的对应组件。因而,视频解码器30的组件中的每一个可以类似于如上所描述的视频编码器20的对应组件的方式操作。
DSC中的切片
如上所指出,切片大体是指可在不使用来自图像或帧中的区域中的其余者的信息的情况下独立地解码的在所述图像或帧中的空间上截然不同的区域。每一图像或视频帧可在单一切片中编码,或其可在若干切片中编码。在DSC中,被分派以编码每一切片的目标位可实质上恒定。
选择用于DSC的QP
计算QP可为速率控制过程中的所要步骤,且可对译码方案的速率-失真(RD)性能具有大的影响。在一个实施例中,QP经选择以优化需要经验速率-失真模型的速率-失真关系。举例来说,QP可被计算以最佳拟合给定速率-失真经验模型。当在特定内容(例如,天然内容)下工作时,此方法可很好地起作用。然而,当在包含天然、合成、计算机图形、碎片等的若干类型的内容下工作时,建立对于不同类型的内容有效率地工作的速率-失真模型可具挑战性。举例来说,建立用于速率-失真模型的单一闭合形式表达可具挑战性。为了克服此挑战,可能需要实施计算不需要知晓速率-失真模型或不取决于速率-失真模型的QP的方法。
为了解决这些和其它挑战,根据某些方面的技术可在不考虑速率-失真模型的情况下确定最优QP。速率-失真模型可与DSC中的一或多个译码模式或一或多个不同类型的内容相关联。速率-失真模型可基于经验数据。在一个实施例中,技术可基于以下各者确定QP:(1)用于当前块的位预算与用于编码先前块的位数之间的差,(2)为用于当前块的位预算与用于编码先前块的位数之间的差的函数的QP调整值。可进一步基于缓冲器满度、当前块的平度等调整用于当前块的确定的QP。
以此方式,所述技术可选择QP值,而不依赖于与译码模式或特定类型的内容相关联的具体速率-失真模型。由于建立速率-失真可能耗时且涉及大量精力,因此这可节省成本和/或资源。此外,所述技术可确定在不同类型的内容下良好地起作用的QP。
以下(例如)关于实例实施例解释涉及选择DSC中的QP的某些细节。贯穿本发明所使用的各种术语是具有其一般意义的广义术语。在一些实施例中,QP可指在量化过程中用以控制量化的程度的参数。举例来说,量化过程量化残余以进一步减小位率。量化过程可减小与残余中的一些或全部相关联的位深度。可通过调整量化参数来修改量化的程度。举例来说,量化参数用于确定残余的量化。所述QP值低时,可保留详细视觉信息中的多数。低QP值大体提供较低失真,但代价是较高位率。随着QP值增大,可抛弃更多位平面,这减小位率,但代价是增加的失真。在某些实施例中,所述技术可独立于速率-失真模型确定QP,不随速率-失真模型去确定QP等。根据某些方面,不考虑速率-失真模型确定QP也可被称作独立于速率-失真模型确定QP、不随速率-失真模型确定 QP等。速率-失真模型可与待译码的视频数据的内容类型相关联,可与特定模式相关联,或这两者。内容类型可不同于内容的主旨。内容类型可包含天然内容、合成内容、计算机图形、碎片等。速率-失真模型可与特定内容类型相关联,不与实际内容自身相关联。
实例实施例
在一个实施例中,提供一种设备和方法以在不知晓经验速率-失真模型的情况下计算对于不同内容类型良好地起作用的QP。对于特定译码模式(或选项),用于当前块的对应的QP值可从以下描述的步骤计算。此技术可针对每一译码模式(或选项)独立地使用,以计算与那个译码模式(或选项)相关联的QP。举例来说,对于当前块,QP值可使用以下描述的步骤针对每一译码模式计算,且(例如)在块与块之间追踪。在某些实施例中,替代计算对应于每一译码模式的QP,所述技术可计算可用以译码所有译码模式的单一 QP值。举例来说,用于当前块的单一QP值可从以下描述的步骤计算。
1.计算位预算
通过考虑切片中剩余的位数(numSliceBitsRemaining)、切片中待编码的像素的数目 (numSlicePixelsRemaining)和当前块中的像素的数目(numPixelsInBlock)来计算当前块的位预算(此处表示为bitBudget)。此外,可在计算bitBudget的同时考虑缓冲器(例如,BF) 中的位数。
●在一个实例中,通过将切片中其余的位数除以需要编码的切片中的像素的数目来计算当前块的位率。因此,bitBudget被计算为:
-bitBudget=(numSliceBitsRemaining/numSlicePixelsRemaining)*numPixelsInBlock.
●在另一实例中,可取决于切片内的当前块的位置计算bitBudget。举例来说,可按速率decBitBudget线性减小bitBudget,其中可取决于当前切片中编码的块的数目和当前切片中的块的总数来计算decBitBudget。
2.计算位预算与用于编码先前块的位数之间的差
计算针对具体模式在bitBudget与编码先前块需要的位数(表示为prevBlockBits)之间的差。此差可表示为diffBits,且可被计算为diffBits=prevBlockBits-bitBudget。另外,可将diffBits正规化为(例如)diffBits=diffBits/(numPixelsinBlock*targetBitRate)。
在一些实施例中,当单一QP将被导出且用于所有译码模式时,与用以译码先前块的译码模式无关,在译码先前块上花费的位数(表示为prevBlockBits)用以计算diffBits。
3.确定作为差的函数的QP调整值
让QpAdj表示作为在步骤2中计算的diffBits的绝对值的函数计算的调整值。随着diffBits的绝对值增大,所述函数可线性或非线性增大QpAdj的值。
●在一个实例中,可使用K个阈值将diffBits的绝对值分类到K+1个范围。举例来说,可存在K个阈值(例如,1到K),且连续两个阈值可定义范围的开始与结束。举例来说,范围1可在0与阈值1之间,范围2可在阈值1与阈值2之间等等。对于K个阈值,可存在K+1个范围。对于每一范围,存在具体QpAdj值,其中QpAdj值随范围增大而增大。
●在一些实施例中,可将QpAdj作为diffBits的函数计算,而不采用绝对值。用以分类K+1个范围的K个阈值[Threshold1,Threshold 2,…Threshold k]和相应的QpAdj值可取决于diffBits的正负号值而不同。
-在一个实例中,当diffBits>0时,可使用K个阈值将diffBits分类到K+1个范围。对于每一范围,存在具体QpAdj值,其中QpAdj值随范围增大而增大。否则,如果diffBits <=0,那么可使用J个阈值将diffBits的绝对值分类到J+1个范围。同样,对于每一范围,存在随范围增大而增大的具体QpAdj值。
-在一个实例中,当diffBits>=0时,可使用K个阈值将diffBits分类到K+1个范围。对于每一范围,存在具体QpAdj值,其中QpAdj值随范围增大而增大。否则,如果diffBits<0,那么可使用J个阈值将diffBits的绝对值分类到J+1个范围。同样,对于每一范围,可存在随范围增大而增大的具体QpAdj值。
-在一个实例中,当diffBits<=0或diffBits<0时,可使用J个阈值将diffBits分类到J+1个范围。同样,对于每一范围,存在随范围减小而减小的具体QpAdj值。在此情况下,应注意,QpAdj可采用负值。
-在一在一个实例中,当diffBits>0和diffBits<=0时,阈值的数目相同(K=J),但个别值可或可不相同。
-在一个实例中,当diffBits>=0和diffBits<0时,阈值的数目相同(K=J),但个别值可或可不相同。
-在一个实例中,甚至当对于两个情况diffBits>0和diffBits<=0,K个阈值相同时,对于diffBits>0和diffBits>=0,对于每一范围的相关联QpAdj值可或可不相同。
●在一个实例中,甚至当对于两个情况diffBits>=0和diffBits<0,K个阈值相同时,对于diffBits>=0和diffBits>0,对于每一范围的相关联的QpAdj值可或可不相同。
4.确定当前块的QP值
可基于在步骤2之diffBits、在步骤3计算之QpAdj和对应于用以译码先前块的相同模式的用以编码先前块的QP值(prevQP)来确定当前块的QP值(currQP)。更精确地,使用以下等式计算currQP:
currQP=prevQP+QPAdj*(diffBits>0?1:-1)
●在一个实例中,currQP=prevQP+QPAdj。
●在一个实施例中,当单一QP将被导出且用于所有译码模式时,与先前块的译码模式无关,将用于编码先前块的QP值(prevQP)用于计算currQP。
5.基于缓冲器满度调整当前块的QP值
取决于BF,可进一步调整currQP,以便避免缓冲器误差。更具体地说,当BF超过某一阈值时,可进一步递增currQP;此可防止缓冲器溢出。类似地,当BF在可防止下溢的某一阈值下时,可进一步递减currQP。
●在一个实施方案中,不使用单一阈值,而是可使用多个阈值。用于每一阈值,存在调整currQP的相关联的值。举例来说,让[P1,P2,…Pn]为n个阈值且[p1,p2,…pn]为相应调整值,且假定两者都按单调减少次序表示。可将currQP如下调整:
-在一个实施例中,可使用两个阈值P1和P2,和相应的调整值p1和p2
-在一个实施方案中,在以上条件中,可用大于(>)替换大于或等于(>=)。
●类似地,[Q1,Q2,…Qm]为m个阈值且[q1,q2,…qm]为相应的调整值。假定两者呈单调增加次序。可如下调整currQP:
-在一个实施例中,可使用两个阈值Q1和Q2,和相应的调整值q1和q2
-在一个实施方案中,在以上条件中,可用小于(<)替换小于或等于(<=)。
○在一个实例中,m等于n。
○在一个实例中,当m=n时,[Q1,Q2,…Qm]=[100-P1,100-P2,…100-Pn]
○在一个实例中,当m=n时,对于采用从1到n的值的所有i,qi可或可不等于 pi。
应注意,BF计算的选定方法可取决于上下文和应用而变化。
平度检测和确定QP
在一个实施例中,如果平度检测算法侦测到从视频数据的“复杂”区域到视频数据的“平坦”区域的过渡,那么可省略以上步骤1到4。在此类情况下,可将currQP设定到低值。
取决于BF,可如上(例如)关于步骤5所描述调整currQP。更精确地,当缓冲器满度超过某一阈值时,可增大currQP。
6.调整平坦当前块的QP值
如果当前块中的视觉信息为“非常平坦”(例如,具有高的平度等级或程度),那么可进一步调整currQP。计算当前块的复杂性值Ccur的选定方法可取决于上下文和应用而变化。如果Ccur小于或小于等于阈值,那么可设定currQP等于平坦块的预定QP值,例如,flatQp。
●在一个实例中,替代单一阈值,可使用多个(例如,L)个阈值,例如,按单调增加次序排列的[T1,T2,…TL]。另外,对于每一阈值,可存在相关联的QP值——可按单调增加次序排列的[flatQp1,flatQp2,…,flatQpL]。举例来说,可基于Ccur使用以下步骤确定flatQp的值:
-在一个实施例中,可使用两个阈值T1和T2,和相应的相关联的QP值flatQP1和flatQP2
●在一个实例中,替代小于或等于(<=),可在以上条件检查中使用小于(<)。
●应注意,可设定currQP等于flatQp。在一个替代方案中,可根据以下来确定currQP:currQP=(currQP>flatQp)?flatQp:currQP。
●在一个实例中,当与切片中的其余行相比时,对于切片中的第一行,flatQp和/或[flatQp1,flatQp2,…,flatQpL]可不同。此主要为了改善切片中的第一行的质量。另外,对于给定阈值,切片中的第一行的flatQp和/或[flatQp1,flatQp2,…,flatQpL]可小于切片中的其余行。
●在一个实例中,与切片中的其余行相比,对于切片中的第一行,[T1,T2,…TL] 可不同。
确定当可用位预算低时的QP
当余下非常少的位时,可将QP设定到高值,例如,预定高值。在一个实施方案中,当条件(numSliceBitsRemaining<thresholdBits&&bppRemaining<targetBpp)真时,可省略以上步骤1到4,且可将QP设定到非常高的值。此处,thresholdBits为可为可配置参数的变量,且targetBpp为每像素的目标位,且将bppRemaining计算为:bppRemaining=numSliceBitsRemaining/numSlicePixelsRemaining。
●在一个实例中,可将QP设定等于最大允许值。
确定DSC中的QP的方法
图3为说明根据本发明的实施例的用于译码视频数据的过程300的流程图。所述方法涉及选择QP。过程300的块可由视频编码器(例如,图2A中的视频编码器20)、视频解码器(例如,图2B中的视频解码器30)或其组件执行。为了说明性目的,将过程300 描述为由视频译码器(也简单地被称作译码器)执行,视频译码器可为视频编码器20、视频解码器30或另一组件。关于图3所描述的所有实施例可单独地或彼此组合地实施。以上解释了涉及过程300的某些细节。
过程开始于框301。译码器可包含用于存储视频数据的存储器。存储器可包含缓冲器。在框302,译码器接收待译码的视频数据,举例来说,经由DSC。
在框303,译码器不考虑视频数据的内容类型和与内容类型相关联的速率-失真模型确定视频数据的当前块的QP。视频数据的内容类型可包含以下中的一或多者:天然内容、合成内容、计算机图形、碎片等。
在一个实施例中,译码器至少部分基于以下各者确定QP:(1)用于当前块的位预算与用于编码先前块的位数之间的差,和(2)为用于当前块的位预算与用于编码先前块的位数之间的差的函数的用于调整QP的第一值。举例来说,用于当前块的位预算与用于编码先前块的位数之间的差可指diffBits,且(2)为用于当前块的位预算与用于编码先前块的位数之间的差的函数的用于调整QP的第一值可指QPAdj。在一个实施例中,当前块包含在切片中,且根据以下等式确定用于当前块的位预算:(切片的剩余的位数/切片中待译码的像素的数目)*当前块中的像素的数目。译码器可根据以下等式确定QP:先前块的QP+(用于当前块的位预算与用于编码先前块的位数之间的差>0?1:-1)。
在某些实施例中,译码器定义由两个或更多个阈值定义的多个范围。多个范围中的每一个与预定值相关联。译码器确定多个范围中的哪一个包含用于当前块的位预算与用于编码先前块的位数之间的差。译码器将第一值设定到与确定的范围相关联的预定值。举例来说,两个或更多个阈值和多个范围可指以上K个阈值或K+1个范围,且每一范围可与用于QPAdj的具体值相关联。
在一些实施例中,译码器确定缓冲器的满度或缓冲器满度。缓冲器满度可指BF。在一个实施例中,响应于确定缓冲器的满度大于或等于一或多个阈值,译码器用与所述一或多个阈值相关联的第二值调整确定的QP。在另一实施例中,响应于确定缓冲器的满度小于或等于一或多个阈值,译码器用与所述一或多个阈值相关联的第二值调整确定的QP。
在某些实施例中,译码器确定当前块的平度。响应于确定当前块的平度大于或等于一或多个阈值,译码器设定QP等于与所述一或多个阈值相关联的QP值。与一或多个阈值相关联的QP值可指flatQP。
在框304,译码器使用确定的QP在位流中译码当前块。译码器可使用恒定位率译码视频数据。
过程300结束于框305处。取决于实施例,可在过程300中添加及/或忽略框,且取决于实施例,过程300的框可以不同次序执行。
可分开或以其任何组合实施本发明中描述的任何特征和/或实施例。举例来说,关于图1到2和本发明的其它部分描述的任何特征和/或实施例可以与关于图3描述的任何特征和/或实施例的任何组合来实施,且反之亦然。因此,本发明的实施例不限于图3中展示的实例或不受到图3中展示的实例限制,且可在不脱离本发明的精神的情况下实施其它变化。
其它考虑
可使用多种不同技术和技艺中的任一者来表示本文中所揭示的信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能提及的数据、指令、命令、信息、信号、位、符号和码片。
结合本文揭示的实施例所描述的各种说明性逻辑块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软体的此可互换性,上文已大体就其功能性来描述了各种说明性组件、块和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以变化方式实施所描述的功能性,但此类实施决策不应被解释为引起偏离本发明的范围。
本文中所描述的技术可在硬件、软件、固件或其任一组合中实施。此类技术可实施于多种装置中的任一者中,例如,通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机及其它装置中的应用的多种用途。被描述为装置或组件的任何特征可一起实施于集成逻辑装置中或分开实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体和类似者。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码,且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA) 或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心或任何其它此配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、前述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在某些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件或硬件内,或并入组合的视频编码器-解码器(编解码器)中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种的装置或设备中实施,包含无线手持机、集成电路(IC) 或一组IC(例如,芯片组)。本发明中描述各种组件或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要由不同硬件单元实现。相反地,如上所述,各种单元可以与合适的软件和/或固件一起组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上所述的一或多个处理器。
虽然已经结合各种不同实施例描述了前文,但可在不脱离本发明的教示的情况下将来自一个实施例的特征或元件与其他实施例组合。然而,相应实施例之间的特征的组合不必限于此。已经描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。

Claims (26)

1.一种用于译码视频数据的设备,其包括:
用于存储所述视频数据的存储器,所述存储器包含缓冲器;以及
硬件处理器,其操作性地耦合到所述存储器且经配置以:
接收待译码的所述视频数据,
确定经分派用于译码所述视频数据的当前块的位数与用于编码所述视频数据的先前块的位数之间的差,
确定多个范围中所述差落在的范围,
基于所确定的范围确定用于调整量化参数QP的调整值,
基于所确定的调整值确定所述当前块的调整QP,
使用所述调整QP在位流中译码所述当前块。
2.根据权利要求1所述的设备,其中所述当前块包含在切片中,且根据以下等式确定经分派用于译码所述当前块的位数:(所述切片的剩余的位数/所述切片中待译码的像素的数目)*所述当前块中的像素的数目。
3.根据权利要求1所述的设备,其中所述处理器经配置以根据以下等式确定所述当前块的所述QP:所述先前块的QP+与所确定的范围相关联的值*(经分派用于译码所述当前块的位数与用于编码所述先前块的所述位数之间的所述差>0?1:-1)。
4.根据权利要求1所述的设备,其中由两个或更多个阈值定义所述多个范围,并且所述多个范围中的每一个与用于调整QP的各调整值相关联。
5.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
确定所述缓冲器的满度;以及
响应于确定所述缓冲器的所述满度大于或等于一或多个阈值,按与所述一或多个阈值相关联的第二调整值调整所述调整QP。
6.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
确定所述缓冲器的满度;以及
响应于确定所述缓冲器的所述满度小于或等于一或多个阈值,按与所述一或多个阈值相关联的第二调整值调整所述调整QP。
7.根据权利要求1所述的设备,其中所述处理器经进一步配置以:
确定所述当前块的平度;以及
响应于确定所述当前块的所述平度大于或等于一或多个阈值,设定所述QP等于与所述一或多个阈值相关联的QP值。
8.根据权利要求1所述的设备,其中所述处理器经进一步配置以使用恒定位率译码所述视频数据。
9.根据权利要求1所述的设备,其中所述视频数据的内容类型包括以下中的一个:天然内容、合成内容、计算机图形或碎片。
10.一种译码视频数据的方法,其包括:
将所述视频数据存储于存储器,所述存储器包含缓冲器;
接收待译码的所述视频数据;
确定经分派用于译码所述视频数据的当前块的位数与用于编码所述视频数据的先前块的位数之间的差;
确定多个范围中所述差落在的范围;
基于所确定的范围确定用于调整量化参数QP的调整值;
基于所确定的调整值确定所述当前块的调整QP;以及
使用所述调整QP在位流中译码所述当前块。
11.根据权利要求10所述的方法,其中所述当前块包含在切片中,且根据以下等式确定经分派用于译码所述当前块的位数:(所述切片的剩余的位数/所述切片中待译码的像素的数目)*所述当前块中的像素的数目。
12.根据权利要求10所述的方法,其中根据以下等式确定所述当前块的所述QP:所述先前块的QP+与所确定的范围相关联的值*(经分派用于译码所述当前块的位数与用于编码所述先前块的所述位数之间的所述差>0?1:-1)。
13.根据权利要求10所述的方法,其中由两个或更多个阈值定义所述多个范围,并且所述多个范围中的每一个与用于调整QP的各调整值相关联。
14.根据权利要求10所述的方法,其进一步包括:
确定所述缓冲器的满度;以及
响应于确定所述缓冲器的所述满度大于或等于一或多个阈值,按与所述一或多个阈值相关联的第二调整值调整所述调整QP。
15.根据权利要求10所述的方法,其进一步包括:
确定所述缓冲器的满度;以及
响应于确定所述缓冲器的所述满度小于或等于一或多个阈值,按与所述一或多个阈值相关联的第二调整值调整所述调整QP。
16.根据权利要求10所述的方法,其进一步包括:
确定所述当前块的平度;以及
响应于确定所述当前块的所述平度大于或等于一或多个阈值,设定所述QP等于与所述一或多个阈值相关联的QP值。
17.根据权利要求10所述的方法,其进一步包括使用恒定位率译码所述视频数据。
18.根据权利要求10所述的方法,其中所述视频数据的内容类型包括以下中的一个:天然内容、合成内容、计算机图形或碎片。
19.一种包括指令的非暂时性计算机可读媒体,所述指令在包括计算机硬件的处理器上执行时使所述处理器:
将视频数据存储于存储器,所述存储器包含缓冲器;
接收待译码的所述视频数据;
确定经分派用于译码所述视频数据的当前块的位数与用于编码所述视频数据的先前块的位数之间的差;
确定多个范围中所述差落在的范围;
基于所确定的范围确定用于调整量化参数QP的调整值;
基于所确定的调整值确定所述当前块的调整QP;以及
使用所述调整QP在位流中译码所述当前块。
20.根据权利要求19所述的计算机可读媒体,其中所述指令进一步使所述处理器根据以下等式确定所述当前块的所述QP:所述先前块的QP+与所确定的范围相关联的值*(经分派用于译码所述当前块的位数与用于编码所述先前块的所述位数之间的所述差>0?1:-1)。
21.根据权利要求19所述的计算机可读媒体,其中由两个或更多个阈值定义所述多个范围,并且所述多个范围中的每一个与用于调整QP的各调整值相关联。
22.根据权利要求19所述的计算机可读媒体,其中所述视频数据的内容类型包括以下中的一个:天然内容、合成内容、计算机图形或碎片。
23.一种用于译码视频信息的设备,其包括:
用于将所述视频数据存储于存储器的装置,所述存储器包含缓冲器;
用于接收待译码的所述视频数据的装置;
用于确定经分派用于译码所述视频数据的当前块的位数与用于编码所述视频数据的先前块的位数之间的差的装置;
用于确定多个范围中所述差落在的范围的装置;
用于基于所确定的范围确定用于调整量化参数QP的调整值的装置;
用于基于所确定的调整值确定所述当前块的调整QP的装置;以及
用于使用所述调整QP在位流中译码所述当前块的装置。
24.根据权利要求23所述的设备,其中所述用于确定所述QP的装置经进一步配置以根据以下等式确定所述当前块的所述QP:所述先前块的QP+与所确定的范围相关联的值*(经分派用于译码所述当前块的位数与用于编码所述先前块的所述位数之间的所述差>0?1:-1)。
25.根据权利要求23所述的设备,其中
由两个或更多个阈值定义所述多个范围,并且所述多个范围中的每一个与用于调整QP的各调整值相关联。
26.根据权利要求23所述的设备,其中所述视频数据的内容类型包括以下中的一个:天然内容、合成内容、计算机图形或碎片。
CN201580018029.5A 2014-04-15 2015-04-14 译码视频数据的设备、方法及计算机可读媒体 Active CN106165418B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461979868P 2014-04-15 2014-04-15
US61/979,868 2014-04-15
US201462034680P 2014-08-07 2014-08-07
US62/034,680 2014-08-07
US14/685,430 US9848193B2 (en) 2014-04-15 2015-04-13 System and method for selecting quantization parameter (QP) in display stream compression (DSC)
US14/685,430 2015-04-13
PCT/US2015/025742 WO2015160801A2 (en) 2014-04-15 2015-04-14 System and method for selecting quantization parameter (qp) in display stream compression (dsc)

Publications (2)

Publication Number Publication Date
CN106165418A CN106165418A (zh) 2016-11-23
CN106165418B true CN106165418B (zh) 2019-07-05

Family

ID=54266171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580018029.5A Active CN106165418B (zh) 2014-04-15 2015-04-14 译码视频数据的设备、方法及计算机可读媒体

Country Status (8)

Country Link
US (1) US9848193B2 (zh)
EP (1) EP3132602B1 (zh)
JP (1) JP6449329B2 (zh)
KR (1) KR101941760B1 (zh)
CN (1) CN106165418B (zh)
BR (1) BR112016024218A8 (zh)
MX (1) MX358538B (zh)
WO (1) WO2015160801A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10574988B2 (en) 2015-11-19 2020-02-25 Qualcomm Incorporated System and methods for reducing slice boundary visual artifacts in display stream compression (DSC)
US10432952B2 (en) * 2015-11-19 2019-10-01 Qualcomm Incorporated System and methods for fixed-point approximations in display stream compression (DSC)
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
US10555002B2 (en) * 2016-01-21 2020-02-04 Intel Corporation Long term reference picture coding
US20170280139A1 (en) 2016-03-22 2017-09-28 Qualcomm Incorporated Apparatus and methods for adaptive calculation of quantization parameters in display stream compression
US10432936B2 (en) 2016-04-14 2019-10-01 Qualcomm Incorporated Apparatus and methods for perceptual quantization parameter (QP) weighting for display stream compression
US10855989B2 (en) * 2016-06-09 2020-12-01 Qualcomm Incorporated Substream multiplexing for display stream compression
CN109996076B (zh) * 2016-10-12 2021-08-06 深圳市大疆创新科技有限公司 码率控制的方法、计算机系统和装置
CN109429069B (zh) * 2017-08-23 2021-08-24 珠海全志科技股份有限公司 一种显示流压缩编码器以及显示引擎
US11368692B2 (en) * 2018-10-31 2022-06-21 Ati Technologies Ulc Content adaptive quantization strength and bitrate modeling
US11546617B2 (en) 2020-06-30 2023-01-03 At&T Mobility Ii Llc Separation of graphics from natural video in streaming video content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103636204A (zh) * 2011-07-05 2014-03-12 高通股份有限公司 基于位预算的图像数据的选择性无损-有损压缩

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3189257B2 (ja) * 1992-05-21 2001-07-16 ソニー株式会社 画像符号器
JP2002051221A (ja) * 2000-08-01 2002-02-15 Canon Inc 画像符号化装置、画像復号化装置、システム、及びその方法並びに記憶媒体
US6831947B2 (en) * 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
US8401076B2 (en) 2006-12-12 2013-03-19 Vantrix Corporation Video rate control for video coding standards
CN101637025B (zh) * 2007-03-14 2016-03-23 日本电信电话株式会社 量化控制方法和量化控制装置
US8295344B2 (en) * 2007-10-22 2012-10-23 Broadcom Corporation Adaptive rate control for encoding of variable frame rate video sources
US8897365B2 (en) * 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
JP5197329B2 (ja) * 2008-11-28 2013-05-15 キヤノン株式会社 符号化装置及び符号化方法
JP5257215B2 (ja) * 2009-04-16 2013-08-07 ソニー株式会社 画像符号化装置と画像符号化方法
JP5342391B2 (ja) * 2009-09-25 2013-11-13 株式会社メガチップス 画像処理装置
US10812829B2 (en) 2012-10-03 2020-10-20 Avago Technologies International Sales Pte. Limited 2D block image encoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103636204A (zh) * 2011-07-05 2014-03-12 高通股份有限公司 基于位预算的图像数据的选择性无损-有损压缩

Also Published As

Publication number Publication date
KR101941760B1 (ko) 2019-01-23
WO2015160801A3 (en) 2016-02-25
US20150296206A1 (en) 2015-10-15
US9848193B2 (en) 2017-12-19
BR112016024218A8 (pt) 2021-07-13
EP3132602B1 (en) 2021-04-14
WO2015160801A2 (en) 2015-10-22
EP3132602A2 (en) 2017-02-22
MX2016013225A (es) 2017-01-18
CN106165418A (zh) 2016-11-23
JP2017515378A (ja) 2017-06-08
JP6449329B2 (ja) 2019-01-09
MX358538B (es) 2018-08-24
BR112016024218A2 (pt) 2017-08-15
KR20160145088A (ko) 2016-12-19

Similar Documents

Publication Publication Date Title
CN106165418B (zh) 译码视频数据的设备、方法及计算机可读媒体
CN106416248B (zh) 用于对视频数据进行熵编码和熵解码的方法和装置
CN106165421B (zh) 用于译码视频数据的设备、方法及计算机可读媒体
CN106256127B (zh) 用于针对显示流压缩(dsc)在块预测模式中译码的系统和方法
CN108353177A (zh) 在显示流压缩dsc中用于降低切片边界视觉假象的系统及方法
CN107409219A (zh) 用于显示流压缩的速率受限回退模式
CN107431812B (zh) 用于显示流压缩的复杂区域检测
JP6464192B2 (ja) ディスプレイストリーム圧縮(dsc)のための平坦度検出のためのシステムおよび方法
CN107534771A (zh) 用于基于复杂性量度的显示流压缩dsc的量化参数qp计算
CN108141591A (zh) 用于非4:4:4色度子采样的显示流压缩(dsc)的熵译码技术
CN106576173B (zh) 对视频数据进行译码的方法和设备及计算机可读存储介质
CN106663085A (zh) 用于再使用变换结构用于多分区变换的系统和方法
CN108353170A (zh) 用于在显示流压缩(dsc)中固定点近似的系统和方法
CN108702513A (zh) 用于在显示流压缩中量化参数的适应性计算的设备及方法
CN107431811A (zh) 用于显示流压缩的量化参数更新分类
CN106664406A (zh) 用于确定用于显示流压缩的缓冲器满度的系统和方法
CN108432249A (zh) 用于在显示流压缩(dsc)中计算失真的系统和方法
CN106233731B (zh) 用于针对显示流压缩(dsc)在图案模式中译码的系统和方法
CN108886615A (zh) 用于显示器流压缩的感知量化参数(qp)加权的设备及方法
KR20180030021A (ko) 서브픽셀 패킹을 이용한 디스플레이 스트림 압축 픽셀 포맷 확장
US10123045B2 (en) Modification to block size for transform mode in display stream compression

Legal Events

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