用于在显示流压缩(DSC)中计算失真的系统和方法与流程

文档序号:15206621发布日期:2018-08-21 09:47阅读:1170来源:国知局

本公开涉及视频译码和压缩的领域,且特定来说,涉及用于经由显示连结的发射的视频压缩,例如显示流压缩(dsc)。



背景技术:

数字视频能力可并入到广泛范围的显示器中,包含数字电视、个人数字助理(pda)、膝上型计算机、台式监测器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置和类似者。显示连结用以将显示器连接到适当源装置。显示连结的带宽要求与显示器的分辨率成比例,且因此,高分辨率显示器要求大带宽显示连结。一些显示连结不具有支持高分辨率显示器的带宽。视频压缩可用以减小带宽要求以使得较低带宽显示连结可用以将数字视频提供到高分辨率显示器。

其它技术已经尝试利用对像素数据的图像压缩。然而,此类方案有时在视觉上并非无损的或在常规显示装置中实施可为困难且昂贵的。

视频电子元件标准协会(vesa)已开发显示流压缩(dsc)作为显示连结视频压缩的标准。显示连结视频压缩技术(例如dsc)在除其它以外应提供视觉上无损的图片质量(即,图片具有使得用户无法区分压缩正在作用中的质量电平)。显示连结视频压缩技术也应提供与常规硬件实时实施起来简易且价廉的方案。



技术实现要素:

本公开的系统、方法和装置各具有若干创新方面,其中无单一者仅负责本文中所公开的合乎需要的属性。

一个创新包含一种用于对视频数据进行译码的设备。所述设备可包含存储器,其用于存储所述视频数据和关于多个译码模式的信息,所述视频数据包括多个视频块。所述设备也可包含以操作方式耦合到所述存储器的硬件处理器。所述处理器可经配置以:针对所述多个视频块中的视频块选择多个色彩空间中的一个,将一色彩变换应用于所述多个视频块中的不在所述所选色彩空间中的每一视频块,且验证所述多个视频块中的所有所述视频块都在所述所选色彩空间中,和基于所述所选色彩空间而确定所述多个视频块中的每一个的一失真值。

对于一些实施例,所述设备可经配置以:确定所述多个视频块中的各视频块的初始色彩空间,所述初始色彩空间为在应用所述色彩变换之前各视频块的所述色彩空间;确定所述多个译码模式中的哪些译码模式与所述初始色彩空间兼容;和用所述兼容译码模式对所述多个视频块中的所述视频块进行编码以提供经编码块。

对于一些实施例,所述设备可经配置以:确定所述多个译码模式中的哪些译码模式不与所述初始色彩空间兼容,所述初始色彩空间为在应用所述色彩变换之前各视频块的所述色彩空间;将所述色彩变换应用于所述初始色彩空间以提供兼容色彩块;和用不与所述初始色彩空间兼容的所述译码模式对所述兼容色彩块进行编码以提供经编码块。

在一些实施例中,所述设备可经配置以计算来自所述视频块和所述经编码块的残余块,所述残余块指示所述视频块与所述经编码块之间的差。

在一些实施例中,确定所述失真值包括确定所述残余块的失真值。

在一些实施例中,所述所选色彩空间包括明度-色度色彩空间且其中确定所述失真值包括正规化所述明度-色度色彩空间的各色度分量。

在一些实施例中,所述视频块包括数个色彩平面,且其中确定所述视频块的所述失真值包括以下各者中的至少一个:所述数个色彩平面中的各色彩平面的绝对差的总和,和所述数个色彩平面中的各色彩平面的平方误差的总和。

在一些实施例中,所述色彩变换是基于变换矩阵,所述变换矩阵由指示所述所选色彩空间的数个色彩平面的数个列界定,且其中所述硬件处理器经进一步配置以基于所述数个列中的一列的欧几里得(euclidean)范数而确定权重值。

在一些实施例中,所述经变换视频块的所述失真值是基于以下各者中的至少一个:所述数个色彩平面中的各色彩平面的绝对差的总和,其中各色彩平面乘以所述数个权重值中的相对应权重值;和所述数个色彩平面中的各色彩平面的平方误差的总和,其中各色彩平面乘以所述数个权重中的所述相对应权重。

在一些实施例中,所述所选色彩空间在明度-色度色彩空间和rgb色彩空间中的至少一个中。

在一些实施例中,确定失真值进一步包括基于以下各者而确定所述多个译码模式中的译码模式:(i)所述多个视频块中的每一个的所述失真值、(ii)λ值、和(iii)传达所述视频块的位流速率。

在一些实施例中,所述多个视频块中的各视频块指示已使用所述多个译码模式中的每一译码模式进行编码的单个视频块。

附图说明

图1a为说明可利用根据本公开中所描述的方面的技术的实例视频编码和解码系统的框图。

图1b为说明可执行根据本公开中所描述的方面的技术的另一实例视频编码和解码系统的框图。

图2为说明可实施根据本公开中说描述的方面的技术的视频编码器的实例的框图。

图3为说明失真电路的实例实施方案的框图。

图4为说明失真电路的替代性实施方案的框图。

图5为说明可实施根据本公开中所描述的方面的技术的视频解码器的实例的框图。

图6为说明用于确定编码模式的示范性方法的流程图。

具体实施方式

在本文中公开提供固定速率和视觉上无损的压缩的dsc译码器。译码器以基于块或切片的方法进行设计(例如,其中块大小为p×q),且可通过众多译码模式中的一或多个加以实施。举例来说,各块的可用译码选项包含变换模式(例如,dct、哈达马德)、块预测模式、微分脉码调制(dpcm)模式、图案模式、中点预测(mpp)模式和/或中点预测后降(mppf)模式。若干译码模式可在译码器中用以压缩不同类型的内容或图像。举例来说,文本图像可经由图案模式压缩,而从然图像可经由变换模式俘获。

尽管本文在dsc标准的上下文中描述某些实施例,但一般所属领域的技术人员将了解本文所公开的系统和方法可适用于任何适合的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多个:国际电信联盟(itu)电信标准化分会(itu-t)h.261、国际标准化组织/国际电工委员会(iso/iec)移动图片专家组-1(mpeg-1)visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual、itu-th.264(也称为iso/iecmpeg-4avc)、高效率视频译码(hevc)和此类标准的任何扩展。又,本公开中描述的技术可变为将来开发的标准的部分。换句话说,本公开中所描述的技术可适用于先前开发的视频译码标准、当前正在开发的视频译码标准和即将出现的视频译码标准。

在根据某些方面的dsc译码器中,可在多种色彩空间(例如,任何明度-色度表示,例如ycocg或ycbcr)中或在rgb或cmyk色彩空间中评估各模式的速率失真(“rd”)性能。

根据某些方面,本公开中所描述的技术可提供用以(例如)在于不同色彩空间中评估各模式的情况下计算译码模式的失真的各种方法。举例来说,可在相同色彩空间中(例如)通过应用适当色彩变换来计算所有译码模式的失真。可将色彩变换应用于残余块,其中残余块表示原始视频块与经重建的视频块(在本文中也被称作经编码块或误差块)之间的差,或可在计算残余之前将色彩变换应用于原始块和经重建块两者。

视频译码标准

例如视频图像、tv图像、静态图像或由视频记录器或计算机产生的图像的数字图像可包含按水平线和垂直线排列的像素或样本。单一图像中的像素的数目通常有数万个。各像素通常含有明度和色度信息。在不压缩的情况下,待从图像编码器传达到图像解码器的信息的绝对数量将致使实时图像发射不切实际。为了减少待发射的信息的量,已开发数个不同压缩方法,例如,jpeg、mpeg和h.263标准。

视频译码标准包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual、itu-th.264(也称为iso/iecmpeg-4avc)和hevc,包含此类标准的扩展。

另外,视频译码标准(即dsc)已由vesa开发。dsc标准为可压缩经由显示连结发射的视频的视频压缩标准。随着显示器的分辨率增大,视频数据驱动显示器所需要的带宽相应地增大。一些显示连结可不具有将所有视频数据发射到此类分辨率的显示器的带宽。因此,dsc标准指定为可互操作的、经由显示连结的视觉上无损压缩的压缩标准。

dsc标准与其它视频译码标准(例如,h.264和hevc)不同。dsc包含帧内压缩,但不包含帧间压缩,此意味着时间信息可不由dsc标准用于译码视频数据。对比来说,其它视频译码标准可在其视频译码技术中采用帧间压缩。正在开发先进dsc(例如)以便提供4:1或更高的压缩比。4:1或更高的压缩比可用于移动装置,例如,用于例如4k的高分辨率显示器。

dsc中的切片

如上文所提及,切片通常指可不使用来自图像或帧中的剩余区域的信息而独立解码的图像或帧中的空间上分开的区域。各图像或视频帧可在单个切片中经编码或各图像或视频帧可在若干切片中经编码。在dsc中,经分配以编码各切片的目标位可基本固定。此对于部分切片可不同,在图像高度无法被切片高度除尽的情况下可出现此情况。举例来说,切片高度为108的大小为1280×720的图像将具有6个高度为108的切片和一个高度为72(=720-(6×108))的部分切片。

可使用变量或参数切片宽度×切片高度来指定先进dsc切片尺寸,其中切片宽度和切片高度可配置。切片高度可经配置为所要值,例如,16、32、108等。可使用参数n对切片宽度进行配置,参数n确定线中的切片的数目,且假定各切片中的每个线的像素数目相等,例如,切片宽度=图像宽度/n。图像宽度可为表示图像的宽度的变量或参数。

视频译码系统

下文参考随附图式更充分地描述新颖系统、设备和方法的各种方面。然而,本公开可以许多不同形式来体现,且不应将其解释为限于贯穿本公开所呈现的任何具体结构或功能。实情为,提供这些方面以使得本公开将为透彻且完整的,且将向所属领域的技术人员充分传达本公开的范围。基于本文中的教示,所属领域的技术人员应了解本公开的范围希望涵盖本文中公开的新颖系统、设备和方法的任何方面,不管其是独立于本公开的任何其它方面实施还是与本公开的任何其它方面组合地实施。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或可使用本文中所阐述的任何数目个方面来实践方法。另外,本公开的范围希望涵盖使用除了本文中所阐明的本公开的各种方面的外或不同于本文中所阐明的本公开的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可由权利要求书的一或多个要素来体现本文所公开的任何方面。

尽管本文中描述特定方面,但这些方面的许多变化和排列属于本公开的范围内。尽管提及优选方面的一些益处和优点,但本公开的范围不希望限于特定益处、用途或目标。实情为,本公开的方面希望可广泛适用于不同无线技术、系统配置、网络和发射协议,其中一些通过实例在诸图中且在优选方面的以下描述中加以说明。实施方式和图式仅对本公开进行说明而非限制,本公开的范围由附加权利要求书和这些效物界定。

随附图式说明实例。由随附图式中的参考数字指示的元件对应于在以下描述中由相同参考数字指示的元件。在本公开中,具有以序数词(例如,“第一”、“第二”、“第三”等等)开始的名称的元件未必暗示所述元件具有特定次序。实情为,这些序数词仅用以指相同或类似类型的不同元件。

图1a为说明可利用根据本公开中描述的方面的技术的实例视频译码系统10的框图。如本文所使用,术语“视频译码器”或“译码器”一般指视频编码器和视频解码器两者。在本公开中,术语“视频译码”或“译码”可一般指视频编码和视频解码。除了视频编码器和视频解码器之外,本申请案中所描述的方面可扩展到其它相关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)和中间框(例如,可修改、变换和/或另外操纵位流的装置)。

如图1a中所展示,视频译码系统10包含产生源视频数据13和稍后待由目的地装置14解码的经编码视频数据16的源装置12。在图1a的实例中,源装置12和目的地装置14构成单独装置。然而,应注意,源装置12与目的地装置14可在同一装置上或为同一装置的部分,如在图1b的实例中所展示。

再次参考图1a,源装置12和目的地装置14可分别包括广泛范围的装置中的任一个,包含台式计算机、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、电话手机(例如所谓的“智能型”电话、所谓的“智能型”板)、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、视频流装置、可由实体(例如,人类、动物和/或另一控制装置)佩戴(或可以可去除方式附接)的视频装置(例如护目镜和/或可佩戴计算机)、可消耗、摄入或放置于物理内的装置或设备和/或类似者。在各种实施例中,源装置12和目的地装置14可经装备以供用于无线通信。

目的地装置14可经由连结17接收待解码的经编码视频数据16。连结17可包括能够将经编码视频数据16从源装置12移动到目的地装置14的任何类型的媒体或装置。在图1a的实例中,连结17可包括使得源装置12能够实时将经编码视频数据16发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据16,且将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(rf)频谱或一或多个物理发射线。通信媒体可形成基于封包的网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或任何其它可用于有助于从源装置12到目的地装置14的通信的装备。

在图1a的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前所俘获视频的视频封存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于将计算机图形数据产生为源视频的计算机图形系统的源,或这些源的一组合。作为一个实例,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的“摄影机电话”或“视频电话”,如在图1b的实例中所说明。视频源18可输出所俘获、预先俘获或计算机产生的视频作为到视频编码器20的源视频数据13位流。然而,本公开中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。举例来说,视频源18可产生源视频数据13且经由视频源18与视频编码器20之间的连接输出源视频数据13。连接可包含任何适合的有线连接(例如,通用串列总线(usb)、firewire、thunderbolt、光峰(lightpeak)、数字视频接口(dvi)、高清晰度多媒体接口(hdmi)、视频图形阵列(vga)等)。连接也可包含任何适合的无线连接(例如,蓝牙、wi-fi、3g、4g、lte、lte先进、5g等)。

源视频数据13可由视频编码器20接收且编码。经编码视频数据16可经由源装置12的输出接口22发射到目的地装置14。经编码视频数据16也可(或替代地)存储到存储装置(未图示)上以供稍后由目的地装置14或其它装置存取用于解码和/或播放。图1a和1b中说明的视频编码器20可包括图2中说明的视频编码器20或本文所描述的任何其它视频编码器。

在图1a的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28可经由连结17和/或从存储装置接收经编码视频数据16。经由连结17所传达或在存储装置上所提供的经编码视频数据16可包含由视频编码器20产生以由视频解码器(例如视频解码器30)用于对视频数据16进行解码的多种语法元素。这些语法元素可与在通信媒体上发射、存储于存储媒体上或存储于文件服务器中的经编码视频数据16包含在一起。图1a和1b中说明的视频解码器30可包括图5中说明的视频解码器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-th.263。

尽管未在图1a和1b的实例中展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成且可包含适当mux-demux单元或其它硬件和软件,以处置在共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,适用时,mux-demux单元可符合ituh.223多路复用器协议或其它协议(例如,用户数据报协议(udp))。

视频编码器20和视频解码器30各自可实施为多种适合编码器电路中的任一个,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于适合的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器执行指令以执行本公开的技术。视频编码器20和视频解码器30中的每一个可包含在一或多个编码器或解码器中,编码器或解码器中的任一个可集成为相应装置中的组合式编码器/解码器的部分。

视频译码过程

如上文所简要地提及,视频编码器20对源视频数据13进行编码。源视频数据13可包括一或多个图片。图片中的每一个为形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20对源视频数据13进行编码时,视频编码器20可产生位流。位流可包含形成视频数据16的经译码表示的一连串位。位流可包含经译码图片和相关联数据。经译码图片为图片的经译码表示。

为了产生位流,视频编码器20可对视频数据中的各图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联数据可包含译码参数的集合,例如量化参数(qp)。量化可将损耗引入到信号中且损耗量可通过由速率控制器120确定的qp控制。在图2中更详细地论述速率控制器120。可依据qp指定缩放矩阵,而非存储各qp的量化步长。可从缩放矩阵推导出各qp的量化步长,且所导出值可不必为二的幂,即,导出值也可为非二的幂。

为了产生经译码图片,视频编码器20可将图片分割成相等大小的视频块。视频块可为样本的二维阵列。译码参数可界定视频数据的每一块的译码选项(例如,译码模式)。可选择译码选项以便实现所要速率-失真性能。

在一些实例中,视频编码器20可将图片分割成多个切片。切片中的每一个可包含可在并无来自图像或帧中的剩余区域的信息的情况下经独立解码的图像(例如,帧)中的空间不同区域。各图像或视频帧可在单个切片中编码或各图像或视频帧可在若干切片中编码。在dsc中,经分配以编码各切片的目标位可基本固定。作为对图片执行编码操作的部分,视频编码器20可对图片的各切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称作“经译码切片”。

dsc视频编码器

图2为说明可实施根据本公开中描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以执行本公开的技术中的一些或全部。在一些实例中,本公开中描述的技术可在视频编码器20的各种组件当中共享。在一些实例中,另外或替代地,处理器(未展示)可经配置以执行本公开中描述的技术中的一些或全部。

出于解释的目的,本公开在dsc译码的上下文中描述视频编码器20。然而,本公开的技术可适用于其它译码标准或方法。

在图2的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含色彩空间转换器105、缓冲器110、平度检测器115、速率控制器120、预测器、量化器和重建器(pqr)组件125、失真电路188、线缓冲器130、索引式色彩历史135、熵编码器140、子流多路复用器145和速率缓冲器150。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。

色彩空间转换器105可将源视频数据13的输入色彩空间转换成用于特定译码实施方案中的色彩空间。举例来说,源视频数据13的色彩空间可在红绿蓝(rgb)色彩空间中,而可在亮度y、色度绿cg和色度橙co(ycgco)色彩空间中实施译码。色彩空间转换可由包含对视频数据的移位和添加的方法执行。应注意,可处理其它色彩空间中的输入视频数据,且也可执行对其它色彩空间的转换。在一些实施方案中,视频数据可在输入视频数据的色彩空间已针对特定译码模式在正确格式下的情况下绕过色彩空间转换器105。举例来说,如果输入色彩空间为rgb,那么视频数据可绕过色彩空间转换器105以供通过中点预测模式进行译码,中点预测模式可对呈rgb抑或明度-色度表示的视频数据进行编码。

在相关方面中,视频编码器20可包含缓冲器110、线缓冲器130和/或速率缓冲器150。举例来说,缓冲器110可在视频编码器20的其它部分使用经色彩空间转换视频数据之前保存所述视频数据。在另一实例中,视频数据可存储于rgb色彩空间中且可视需要执行色彩空间转换,这是因为经色彩空间转换数据可需要较多位。

速率缓冲器150可充当视频编码器20中的速率控制机制的一部分,下文将结合速率控制器120更详细地描述所述速率缓冲器。编码各块所耗费的位可大体上基于块的性质而高度变化。速率缓冲器150可平缓经压缩视频中的速率变化。在一些实施例中,使用恒定位速率(cbr)缓冲器模型,其中以恒定位速率从所述缓冲器取得位。在cbr缓冲器模型中,如果视频编码器20添加过多位到位流,那么速率缓冲器150可上溢。另一方面,视频编码器20必须添加足够位以便防止速率缓冲器150的下溢。

在视频解码器侧上,可按恒定位速率将位添加到视频解码器30的速率缓冲器155(见下文更详细地描述的图5),且视频解码器30可去除用于各块的可变量目个位。为了确保恰当的解码,视频解码器30的速率缓冲器155不应在经压缩位流的解码期间“下溢”或“上溢”。

在一些实施例中,缓冲器充满度(bf)可基于表示当前在缓冲器中的位数目的值buffercurrentsize和表示速率缓冲器150的大小的buffermaxsize(即,可在任何时间点处存储于速率缓冲器150中的最大位数目)来界定。下文的等式1可用以计算bf:

bf=((buffercurrentsize*100)/buffermaxsize)(1)

平度检测器115可检测从视频数据中的复杂(即,非平坦)区域到视频数据中的平面(即,简单或均一)区域的变化。术语“复杂”和“平坦”将在本文中用以大体上指代视频编码器20编码视频数据的相应区域的难度。因此,如本文所使用的术语复杂大体上描述对视频编码器20编码来说复杂的视频数据区域,且可(例如)包含纹理式视频数据、高空间频率和/或对编码来说复杂的其它特征。如本文所使用的术语平坦大体上描述对视频编码器20编码来说简单的视频数据区域,且可(例如)包含视频数据中的平缓梯度、低空间频率和/或对编码来说简单的其它特征。复杂区域与平坦区域之间的转变可由视频编码器20使用以减少经编码视频数据16中的量化伪影。明确地说,速率控制器120和pqr组件125可在识别到从复杂区域到平坦区域的转变时减少此类量化伪影。

速率控制器120确定译码参数(例如qp)的集合。qp可由速率控制器120基于速率缓冲器150的缓冲器充满度和视频数据的图像活动来加以调节,以便将目标位速率的图片质量最大化,此情况确保速率缓冲器150不上溢或下溢。速率控制器120也针对视频数据的各块选择特定译码选项(例如,特定模式)以便实现最优速率-失真性能。速率控制器120最小化经重建图像的失真以使得其满足位速率约束(即,整体实际译码速率符合目标位速率中)。因此,速率控制器120的一个目的为确定译码参数(例如,qp)的集合、译码模式等以满足对速率的瞬时和平均约束同时最大化速率-失真性能。pqr组件125可基于速率控制技术而从多个候选译码模式当中选择各块的译码模式。速率控制技术可涉及利用缓冲器模型,且编解码器的设计考量可包含确保速率缓冲器150不处于下溢(例如,在缓冲器中少于零个位)或上溢(例如,缓冲器大小已增加超过所设定/界定的最大大小)的状态中。在一个实施例中,速率控制器120可经设计以基于速率与失真之间的取舍而选择各块的最佳译码模式(例如,就成本d+λ·r来说的低成本译码选项)。在此处,参数r指代当前块的位速率,其可为在编码器20与解码器30之间发射的当前块的位的总数目;参数d指代当前块的失真,其可为原始块与经重建块(或经编码块)之间的差。可以数个不同方式计算参数d,例如,作为原始块与经重建块之间的绝对差(sad)的总和(例如,等式4、6、8、10和12)、平方误差的总和(例如,等式5、7、9、11和13)等加以计算。参数λ或λ值为可为参数r与d之间的取舍的拉格朗日参数。应注意,可以各种方式计算拉格朗日参数λ,且计算λ的所选方法可取决于上下文和应用而变化。举例来说,可基于数个因素(例如速率缓冲器(150、155)状态(即,缓冲器充满度)、块的第一线或非第一线条件等)而计算拉格朗日参数λ。甚至对于切片的非第一线条件,可针对图像内容的多个类型而选择空间预测模式。

pqr组件125可执行视频编码器20的至少三个编码操作。pqr组件125可在数个不同模式中执行预测。一个实例预测模式为经修改的中位适应性预测版本。中位适应性预测可由无损jpeg标准(jpeg-ls)实施。可由pqr组件125执行的经修改的中位适应性预测版本可允许对三个连续样本值的平行预测。另一实例预测模式为块预测。在块预测中,从线中的经先前重建像素上方或到相同线中的左边而预测样本。在一些实施例中,视频编码器20和视频解码器30可都在经重建像素上执行相同的检索以确定块预测使用,且因此不需要在块预测模式中发送位。在其它实施例中,视频编码器20可在位流中执行检索和信号块预测向量,使得视频解码器30不必执行单独检索。也可实施中点预测模式,其中使用组件范围的中点来预测样本。中点预测模式可实现对即使最差状况样本中的经压缩视频所需要的位数目的限定。pqr组件125可经配置以通过执行本公开的方法和技术来预测(例如,编码或解码)视频数据块数据块(或任何其它预测单元)。

pqr组件125也执行量化。举例来说,可经由可使用移位器实施的2的幂量化器执行量化。应注意,可代替2的幂量化器实施其它量化技术。由pqr组件125执行的量化可基于由速率控制器120确定的qp。最后,pqr组件125也执行重建,重建包含将经反量化残余添加到预测值和确保结果不属于样本值的有效范围外。在本文中,术语“残余(residual)”可与“残余(residue)”互换地使用。

应注意,由pqr组件125执行的预测、量化和重建的上述实例方法仅为说明性的,且可实施其它方法。也应注意,pqr组件125可包含用于执行预测、量化和/或重建的子组件。应进一步注意,预测、量化和/或重建可由若干单独编码器组件代替pqr组件125执行。

仍参考图2,pqr组件125可包含失真电路188。失真电路可对应于用于执行与下文所描述的功能相关的指令的计算装置。失真电路188可包含处理器(例如,视频处理单元或通用处理单元)和存储器,其集合地经配置以管理任务的传达和执行。失真电路188可接收视频数据的输入,视频数据具有多种色彩空间。举例来说,输入视频数据的色彩空间可为rgb或rct色彩空间,或明度-色度表示,例如ycbcr、ycocg或无损ycocg-r。失真电路188可计算数个译码模式在应用于输入视频数据时的失真。失真电路188可根据所计算失真和成本函数确定待用于输入视频数据的特定切片或块上的最佳译码模式,且向pqr组件125提供此信息。成本函数控制解码器处的速率-失真性能。举例来说,产生相对最少失真的译码模式可在速率过高时使得缓冲器上溢。替代地,相对高速率可为可接受的,但此以图像的质量为代价。因此,失真电路188提供使用速率控制技术确定所接收的图像数据的每一块或切片的最佳译码模式的优点,使得将图像质量和缓冲器速率维持在可接受电平处。

线缓冲器130保存来自pqr组件125的输出,使得pqr组件125和索引式色彩历史135可使用经缓冲视频数据。索引式色彩历史135存储最近使用的像素值。这些最近使用的像素值可直接由视频编码器20经由专用语法参考。

熵编码器140基于索引式色彩历史135和由平度检测器115识别的平度转变而对预测残余和从pqr组件125接收的任何其它数据(例如,由pqr组件125识别的索引)进行编码。在一些实例中,熵编码器140可每时钟每子流编码器编码三个样本。子流多路复用器145可基于无标头封包多工方案而对位流进行多工。此允许视频解码器30并行运行三个熵解码器,从而促进每时钟的三个像素解码。子流多路复用器145可优化封包次序以使得封包可由视频解码器30有效地解码。应注意,可实施可有助于每时钟进行2的幂个像素(例如,2像素/时钟或4像素/时钟)的解码的不同熵译码方法。

失真的计算

在某些实施例中,视频编码器20的失真电路188可计算相同色彩空间中的所有译码模式的失真。举例来说,失真电路可通过应用适当的色彩变换来计算相同色彩空间中的所有译码模式的失真。适当色彩变换可指代上文所公开的各种色彩变换。色彩变换的实例包含将输入rgb信号转换成明度-色度表示和将明度-色度表示转换成rgb信号。在一个实施方案中,失真电路188可对一组残余块340a到340n执行色彩变换,其中残余块340a到340n表示原始块(310、315)与经重建块330(或经编码块)之间的差。举例来说,原始块(310、315)可为已在编码之前分割成数个块或切片的输入帧的经分割表示。经重建块330可表示使用多个译码模式325经编码的数个不同色彩空间中的原始块中的一者。在另一实施方案中,失真电路188可在计算残余块340a到340n之前对原始块(310、315)和经重建块330两者执行色彩变换。

图3说明图2的失真电路188的实例实施方案。失真电路包含多个功能组件。失真电路的功能组件包含块编码器320、差计算335a到335n组件和失真计算345a到345n组件。在其它实例中,失真电路188可包含更多、更少或不同功能组件。

仍参考图3,失真电路188可从缓冲器110接收源视频数据13,以及从色彩空间转换器105输出的视频数据。当源视频数据13的格式呈rgb色彩空间时,色彩空间转换器105可使用线性色彩变换对数据进行去相关。色彩空间转换器105可使用各种色彩变换。例如,将rgb转换成明度-色度表示(例如,用于jpeg中的ycbcr、ycocg或rct)的变换。又,使用rgb到ycocg的有损(ycocg)和无损(ycocg-r)版本的色彩变换。在一个实施方案中,色彩空间转换器105与源视频数据13色彩空间(例如,ycocg-r)的可逆版本兼容,使得色彩变换不引入任何损耗。可逆变换可能需要用于色度分量的额外数据位。举例来说,对于8位rgb,明度分量或信道需要8个位,且色度分量(co和cg)中的每一个需要9个位。ycocg-r之前向色彩变换可给定为:

ycocg-r的反向色彩变换可给定为:

在上述实例等式中,rgb和ycocg色彩空间各自包含三个色彩平面(即r、g和b;或y、co和cg)。在视频编码器20中,可在ycocg抑或在rgb色彩空间中评估各模式的速率失真(“rd”)性能。举例来说,视频编码器20可使用图案、mpp和mpp后降模式评估rgb色彩空间中的rd性能,而明度-色度色彩空间中的rd性能可使用其它模式。从视频编码器20接收的源视频数据13和从色彩空间转换器105接收的经色彩变换数据可皆分割成块或切片。在一个实施例中,可在由失真电路188接收之前在任何点处(例如,在视频源18处)分割源视频数据13。在另一实施例中,失真电路188可分割源视频数据13以产生rgb块310和ycocg块315。

仍参考图3,失真电路188也可包含块编码器320。块编码器320可包含处理器(例如,视频处理单元或通用处理单元)和存储器,其集合地经配置以存储指令和执行任务。块编码器320可基于各块的色彩空间将数个译码模式325(在本文中也被称作“模式1”、“模式2”或“模式n”)应用于各块。举例来说,各块(310、315)的译码模式325可包含变换模式(例如,dct、哈达马德(hadamard))、块预测模式、微分脉码调制(dpcm)模式、图案模式、中点预测(mpp)模式和/或中点预测后降(mppf)模式。块编码器320可接收rgb块310和ycocg块315,且用数个译码模式325中的任一个对各块进行编码。在一个实施例中,块编码器320通过适合于与各所接收块相关联的色彩空间的所有译码模式来对各所接收块进行编码。块编码器320可输出数个经重建块330,经重建块330表示使用数个模式所编码的所接收块(310、315)中的一者。举例来说,可使用来自译码模式325的中点预测模式和变换模式来对rgb块310中的块1进行编码。块编码器320可输出对应于块1的两个块,所述块各自通过中点预测模式抑或变换模式进行编码,各经编码块为rgb块310中的块1的经编码表示。块编码器320产生数个经重建块330,使得失真电路188可针对各模式计算如所接收的rgb块310和ycocg块315两者与经重建块330之间的差。

仍参考图3,失真电路188可进一步包含差计算335a到335n组件。差计算335a到335n组件可包含处理器(例如,视频处理单元或通用处理单元)和存储器,其集合地经配置以存储指令和执行任务。差计算335a到335n组件可计算经重建块330与其相对应原始块(310、315)之间的差。举例来说,块编码器320可使用来自译码模式325的中点预测模式和变换模式来对rgb块310中的块1进行编码。块编码器320可输出对应于块1的两个块,所述块各自通过中点预测模式抑或变换模式进行编码,各经编码块为rgb块310中的块1的经编码表示。差计算335a模块可计算rgb块310中的块1与经重建块330的相对应经编码块模式1(即,通过中点预测模式所编码)之间的差。差计算335b模块可计算rgb块310中的块1与经重建块330的相对应经编码块模式2(即,通过变换模式所编码)之间的差。差计算335a到335n可产生残余块340a到340n,其中残余块340a到340n表示rgb块310和ycocg块315与其相对应经重建块330之间的差。

仍参考图3,失真电路188可执行失真计算345a到345n。失真计算345a到345n可计算各残余块340a到340n的失真。失真计算345a到345n可包含在计算残余块340a到340n的失真之前将所接收残余块340a到340n转换成均一色彩空间的色彩空间变换函数。失真电路188可基于所计算失真而确定特定块的最佳模式,且将通过最佳模式所编码的块输出到pqr组件125。举例来说,如果输入到失真电路188中的源视频数据13在rgb色彩空间中,那么块编码器320可使用中点预测模式两者对rgb色彩空间310中的块1进行编码,由此产生rgb色彩空间中的块1的一个经编码版本。然而,多个译码模式325中的某些译码模式仅可对在明度-色度色彩空间中的视频块进行编码。因此,色彩空间转换器105可将源视频数据13的色彩空间从rgb色彩空间转换成明度-色度表示(例如ycocg)。块编码器320可通过变换模式和图案模式两者对ycocg色彩空间315中的块1进行编码,由此产生ycocg色彩空间中的块1的两个经编码版本。差计算335a到335n可在各模式中产生块1的残余块340a到340n。失真计算345a到345n可对rgb色彩空间中的残余块340a到340n或ycocg色彩空间中的残余块340a到340n执行色彩空间变换函数,使得可在相同色彩空间中计算在块1上所使用的各模式的失真。

在一个实例中,对于所有模式,失真电路188可在rgb色彩空间抑或明度-色度色彩空间中执行失真计算345a到345n,其中失真计算包含sad(绝对差的总和)或sse(平方误差的总和)。举例来说,当ycocg-r变换用作色彩空间以计算失真时,可将色度分量的失真正规化为考虑一个额外位。举例来说,ycocg-r可每明度分量使用8个位,且针对色度分量中的每一个使用9个位。可如下在等式4中计算ycocg色彩空间中的sad:

sadycocg=sad(y)+(sad(co)+sad(cg)+offset)>>1(4)

其中:

sad(y):块的明度分量的绝对差总和,

sad(co):块的co色度分量的绝对差总和,

sad(cg):块的cg色度分量的绝对差总和,且

offset:可用以舍入为最近整数的可选值,例如,偏移可为值0或1。

应注意,明度分量(y)或明度平面和色度分量(co、cg)或色度平面表示正分析的块或切片中的每一像素的明度和色度值。举例来说,将等式4应用于含有16个像素的块将导致计算16个样本的明度值、16个样本的co值和16个样本的cg值中的每一个的sad。所得sadycocg值向右移位1以有效地将色度分量正规化为在各分量中考虑一个额外位。

当sse用作用以计算失真的度量时,可使用等式5:

sseycocg=sse(y)+(sse(co)+sse(cg)+offset)>>1(5)

其中:

sse(y):块的明度分量的平方误差总和,

sse(co):块的co色度分量的平方误差总和

sse(cg):块的cg色度分量的平方误差总和,且

offset:可用以舍入为最近整数的可选值,例如,偏移可为值0或1。

应注意,明度分量(y)或明度平面和色度分量(co、cg)或色度平面表示正分析的块或切片中的每一像素的明度和色度值。举例来说,将等式5应用于含有16个像素的块将导致计算16个样本的明度值、16个样本的co值和16个样本的cg值中的每一个的sse。所得sseycocg值向右移位1以有效地将色度分量正规化为在各分量中考虑一个额外位。

替代地,失真电路188可将权重应用于ycocg色彩空间中的各色彩平面,以有效地考虑人类对比视觉敏感度。因为人类视觉可能相比色度更敏感于明度,所以失真电路188可将较大权重应用于明度分量,且相对于明度分量将较小权重应用于色度分量。举例来说,sad的计算如下:

其中wy、wco和wcg为应用于相应明度和色度分量的权重。可在sse用作失真度量时使用类似视觉权重:

举例来说,失真电路188可从等式2和3的色彩变换矩阵推导出权重,而非在失真计算345a到345n中将色彩变换应用于残余块340a到340n,且各明度和色度分量中的失真可经加权以计算失真。此方法避免在失真计算345a到345n中所执行的色彩变换的计算,由此简化过程。失真电路188可基于变换矩阵中的三列值中的每一个的列范数(例如,l2范数(欧几里得范数))而计算各分量的权重。举例来说,当在rgb色彩空间中计算译码模式的失真时,如下在等式8和9中的任一个中使用等式3的变换矩阵来计算在ycocg色彩空间中操作的译码模式的失真:

在此处,权重表示反向变换矩阵(ycocg到rgb)中的列的l2范数。

sseycocg=3ssey+0.5sseco+0.75ssecg(9)

在此处,权重(3,0.5,0.75)表示反向变换矩阵(ycocg到rgb)中的相应列的l2范数的平方。此外,可使用固定点计算以计算失真,而非使用浮点计算。举例来说,权重可通过8位分率精确度表示为

替代地,当ycocg色彩空间设定为用于计算失真的色彩空间时,可基于前向变换矩阵的列而推导出权重以便为r、g和b失真加权。举例来说,sad可计算为:

sadrgb=wr*sad(r)+wg*sad(g)+wb*sad(b)(10)

其中wr、wg和wb为应用于相应明度和色度分量的权重。可在sse用作失真度量时使用类似视觉权重:

ssergb=wr*sse(r)+wg*sse(g)+wb*sse(b)(11)

应注意,r分量(r)、g分量(g)和b分量(b)表示正分析的块或切片中的每一像素的红、绿和蓝值。举例来说,将等式10和11应用于含有16个像素的块将导致计算16个样本的红色值、16个样本的绿色值和16个样本的蓝色值中的每一个的sad和sse。可基于前向变换矩阵中的三列值中的每一个的列范数(例如,l2范数(欧几里得范数))而计算各分量的权重。举例来说,当在ycocg色彩空间中计算译码模式的失真时,可如下在等式12和13中的任一个中使用等式2之前向变换矩阵来计算在rgb色彩空间中操作的译码模式的失真:

在此处,权重表示前向变换矩阵(rgb到ycocg)中的列的l2范数。

在此处,权重表示反向变换矩阵(rgb到ycocg)中的相应列的l2范数的平方。此外,可使用固定点计算以计算失真,而非使用浮点计算。

上文所描述的技术和方法并非仅限于rgb到ycocg无损色彩变换,且其可应用于任何线性色彩变换,例如,ycbcr、ycocg有损变换。以此方式,所述技术可使用相同色彩空间以便针对各种译码模式(例如,所有译码模式)计算失真。使用相同色彩空间可使计算更具有效率且提高性能。取决于实施例,本公开中所描述的实例和实施例可单独地或以组合实施。取决于实施例,可省略或改变实例和实施例的某些特征,且可将其它特征添加到所述实例和实施例。

图4说明大体上类似于图3的失真电路188的替代性实施例。在此实施例中,可在差计算335a到335n和残余块340a到340n的产生之前将色彩变换和失真计算345a到345n应用于原始块和经重建块两者。图3中的失真电路188的所有其它功能块以类似于图4的失真电路188的功能块的方式起作用。应注意,尽管图4说明基于失真计算345a到345n所进行的差计算335a到335n,但替代性实施例可包含以类似于图3的方式进行的差计算。

dsc视频解码器

图5为说明可实施根据本公开中描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以执行本公开的技术中的一些或全部。在一些实例中,本公开中描述的技术可在视频解码器30的各种组件当中共享。在一些实例中,另外或替代地,处理器(未展示)可经配置以执行本公开中描述的技术中的一些或全部。

出于解释的目的,本公开在dsc译码的上下文中描述视频解码器30。然而,本公开的技术可适用于其它译码标准或方法。

在图5的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含速率缓冲器155、子流多路分用器160、熵解码器165、速率控制器170、预测器、量化器和重建器(pqr)组件175、索引式色彩历史180、线缓冲器185和色彩空间转换器190。视频解码器30的所说明组件类似于上文结合图2a中的视频编码器20所描述的相对应组件。由此,视频解码器30的组件中的每一个可以与上文所描述的视频编码器20的相对应组件类似的方式操作。

仍参考图5,视频解码器30的速率缓冲器155可为用以存储从图1b的输入接口28接收的经压缩视频数据的物理存储器的一部分。速率缓冲器155可按某一位速率接收经压缩视频数据,且按某一恒定位速率输出经压缩视频流。为了确保恰当的解码,视频解码器30的速率缓冲器155不应在经压缩位流的解码期间“下溢”或“上溢”。在一些实施例中,可基于表示当前在缓冲器中的位的数目的值buffercurrentsize和表示速率缓冲器150的大小的(即,在任何时间点处可存储于速率缓冲器150中的最大位数目,如上文的等式1所提及)buffermaxsize而界定缓冲器充满度(bf)。速率缓冲器155可平缓经压缩视频中的速率变化。速率缓冲器155可充当视频解码器30中的速率控制机制的一部分,将在下文结合速率控制器170更详细地描述所述速率缓冲器。

可以其它方式计算bf,且bf计算的所选方法可取决于上下文和应用而变化。在另一实例中,可通过将bf除以100来将bf正规化为从0到1。正规化bf值可用以计算λ值。可基于以下等式而计算基于缓冲器充满度的λ值:

其中{λ,a1,b1,c1,d1}为可调谐参数。x∈[0,1]和x被计算为其中bf在此处表示为百分比(例如,缓冲器中所占用的位的百分比)。

仍参考图5,子流多路分用器160可包含从速率缓冲器155接收经压缩视频数据且使用连接到熵解码器165的数个输出线输出数据的集成电路装置,输出线由选择输入确定。子流多路分用器160可经布置以将所接收经压缩视频数据划分成一或多个多路分用器位流以供通过一或多个信道发射。一或多个位流可输出到一或多个熵解码器165以供解码。子流多路分用器160可用作用于对来自视频编码器20的子流多路复用器145的经多工数据输出进行解多工的互补装置。

仍参考图5,熵解码器165可包含电子电路,例如,视频处理单元或通用处理单元。熵解码器165可从子流多路分用器160接收经压缩视频数据。熵解码单元165可解析经压缩视频数据以从位流获得语法元素。熵解码单元165可对经熵编码语法元素进行熵解码。所接收经压缩视频数据可包含经译码切片数据。作为解码位流的部分,熵解码单元165可从经译码切片数据提取语法元素并对其进行熵解码。经译码切片中的每一个可包含切片标头和切片数据。切片标头可含有涉及切片的语法元素。熵解码器165可将运动向量和其它语法元素递送到pqr组件175。视频解码器30可在视频切片层级和/或视频块层级处接收语法元素。熵解码器165可用作用于对由视频编码器20的熵编码器140编码的数据进行解码的互补装置。pqr组件175可基于从位流提取的语法元素而产生经解码视频数据。

仍参考图5,速率控制器170可包含电子电路,例如,视频处理单元或通用处理单元。速率控制器170可从熵解码器165接收经熵解码位流作为输入。速率控制器170确定译码参数(例如,qp)的集合。qp可由速率控制器170基于速率缓冲器155的缓冲器充满度和视频数据的图像活动来加以调节,以便将目标位速率的图片质量最大化,此情况确保速率缓冲器155不上溢或下溢。速率控制器170也针对视频数据的各块选择特定译码选项(例如,特定模式)以便实现最优速率-失真性能。速率控制器170最小化经重建图像的失真以使得其满足位速率约束(即,整体实际译码速率符合目标位速率中)。换句话说,速率控制器通过防止块速率压垮可用资源来防止缓冲器故障。

仍参考图5,索引式色彩历史180可包含电子电路,例如视频处理单元或通用处理单元,所述处理单元中的任一个包含存储器。索引式色彩历史180可从一或多个熵解码器165接收经压缩视频的位流,且也可从pqr组件175接收数据。索引式色彩历史180可存储最近使用的像素值。这些最近使用的像素值可直接由pqr组件175经由专用语法参考。使用索引式色彩历史180的优点包含管理数字图像的色彩以加速显示再新和数据传送。

仍参考图5,线缓冲器185可包含电子电路,例如,实施于集成电路上的存储装置。线缓冲器185保存来自pqr组件175的输出,使得pqr组件175和索引式色彩历史180可使用经缓冲视频数据。索引式色彩历史180存储最近使用的像素值。这些最近使用的像素值可直接由视频解码器30经由专用语法参考。

仍参考图5,pqr组件175可包含电子电路,例如,视频处理单元或通用处理单元。pqr组件175可执行视频解码器30的至少三个编码操作。举例来说,pqr组件175可在数个不同模式中执行预测。举例来说,如果视频切片经译码为经帧内译码切片,那么pqr组件175可基于所信令帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。在另一实例中,如果视频帧经译码为经帧间译码切片,那么pqr组件175可基于运动向量和从熵解码器165接收的其它语法元素而产生当前视频切片的视频块的预测性块。预测处理可将所得经帧内或帧间译码块提供到求和器或重建器以产生残余块数据并重建经解码块。

pqr组件175也执行量化。可经由反量化确定残余块。举例来说,反量化处理量化(即,解量化)位流中所提供且由熵解码器165解码的经量化变换系数。反量化过程可包含将由视频编码器20计算的量化参数用于视频切片中的各视频块以确定量化程度,且同样地确定应应用的反量化的程度。pqr组件175可包含将反变换(例如,反dct、反整数变换或概念上类似的反变换过程)应用于变换系数以便在像素域中产生残余块的反变换过程。pqr组件175可用作用于反量化来自视频编码器20的pqr组件125的数据输出的互补装置。

pqr组件175也执行重建。pqr组件175可重建像素域中的残余块以供稍后用作参考块。举例来说,在明度-色度表示中,重建器可使用来自与译码单元(cu)的变换单元(tu)相关联的明度、cb和cr变换块,和cu的pu的预测单元(pu)明度、cb和cr块的残余值(即,在适用时,帧内预测数据抑或帧间预测数据)以重建cu的明度、cb和cr译码块。举例来说,pqr组件175的重建器可将明度、cb和cr变换块的样本添加到预测性明度、cb和cr块的相对应样本以重建cu的明度、cb和cr译码块。

再次参考图5,色彩空间转换器190可包含电子电路,例如,视频处理单元或通用处理单元。色彩空间转换器190可将用于译码实施方案中的色彩空间转换成用于显示实施方案中的色彩空间。举例来说,由色彩空间转换器190接收的色彩空间可在由译码实施方案使用的明度y、色度绿cg和色度橙co(ycgco)色彩空间中,且显示实施方案可包含红绿蓝(rgb)色彩空间。色彩空间转换可通过各种方法予以执行,包含上文的等式2和3中所提及的对视频数据进行移位和添加。应注意,可处理其它色彩空间中的输入视频数据,且也可执行对其它色彩空间的转换。

在相关方面中,视频解码器30可包含速率缓冲器155和/或线缓冲器185。举例来说,速率缓冲器155可在视频解码器30的其它部分使用经色彩空间转换视频数据之前保存所述视频数据。在另一实例中,视频数据可存储于明度-色度色彩空间中且可视需要执行色彩空间转换,这是因为经色彩空间转换数据可需要较多位。

图6为说明用于确定第一视频块(310、315)的译码模式的过程400的实例的流程图。在块405处,视频编码器20的失真电路188在至少一个色彩空间中接收第一视频块(310、315)。在一些实施方案中,可在数个不同色彩空间中接收第一视频块(310、315)。举例来说,可在rgb色彩空间和明度-色度色彩空间中接收第一视频块(310、315)。

仍参考图6,在块410处,失真电路188的块编码器320产生多个经重建视频块330。多个经重建视频块330指示使用多个译码模式325所编码的第一视频块(310、315)。换句话说,多个经重建视频块330中的每一个为已使用数个译码模式中的一个所重建的第一视频块(310、315)的复本。在一些实施方案中,块编码器320可使用与第一视频块(310、315)的色彩空间兼容的数个译码模式来对第一视频块(310、315)进行编码。举例来说,块编码器320可使用中点预测模式对rgb色彩空间310中的第一视频块进行编码。块编码器320也可使用变换模式对ycocg色彩空间315中的第一视频块进行编码。在此实例中,块编码器320产生多个经重建视频块330,其中多个经重建视频块330在不同色彩空间中加以表示,且指示第一视频块(310、315)。

仍参考图6,在块415处,失真电路188选择多个色彩空间中的一个色彩空间。在一个实施中,失真电路188可从多个经重建视频块330确定rgb色彩空间中的数个经重建块和明度-色度表示中的数个经重建块。失真电路188可在块420处通过选择表示经重建视频块330的大部分的色彩空间来减少计算。在另一实施方案中,用户可选择色彩空间,或失真电路188可经预编程以选择特定色彩空间。

仍参考图6,在块420处,失真电路188将色彩变换应用于多个经重建视频块330中的不在所选色彩空间中的每一经编码视频块。色彩变换可包含等式2和3的色彩变换矩阵,其中色彩变换矩阵包含等于色彩空间中的色彩平面数目的列数目。在一个实施方案中,失真电路188将色彩变换应用于数个残余块340a到340n,其中各残余块表示第一视频块(310、315)与多个经重建视频块330中的每一个之间的差。在另一实施方案中,失真电路188在计算残余块340a到340n之前将色彩变换应用于第一视频块(310、315)和多个经重建视频块330中的每一个两者。

仍参考图6,在块425处,失真电路188确定多个残余块340a到340n中的每一个的失真值。在另一实施方案中,失真电路188确定多个经重建视频块330中的每一个的失真值。在任一实施方案中,失真电路188可计算rgb色彩空间抑或明度-色度色彩空间中的失真值,其中失真值可为(i)经重建块330中的每一个抑或(ii)残余块340a到340n中的每一个的sad或sse。在另一实施方案中,当所选色彩空间为明度-色度色彩空间时,失真电路188可将经计算失真值正规化为考虑色度分量中的额外位。举例来说,失真电路188可使由sad或see计算的失真值向右移位1。在又一实施方案中,失真电路188可在明度-色度色彩空间中应用sad和sse计算的加权值。举例来说,失真电路188可基于色彩变换矩阵中的各列的列范数或欧几里得范数而计算明度-色度色彩空间中的各色彩平面的权重。

仍参考图6,在块430处,失真电路188基于考虑位速率和失真值两者的成本函数而确定多个译码模式325中的最佳译码模式。在一个实施方案中,失真电路188使用成本值函数确定译码模式。举例来说,失真电路188可依据成本函数:d+λ×r而基于位速率与失真之间的取舍来确定最佳译码模式。在此处,参数r指代第一视频块(310、315)的位速率,位速率可为在编码器20与解码器30之间发射的第一视频块(310、315)的总位数目。参数d指代第一视频块(310、315)的失真。参数λ为可为参数r与d之间的取舍的拉格朗日参数。应注意,可以各种方式计算拉格朗日参数λ,且λ计算的所选方法可取决于上下文和应用而变化。举例来说,视频编码器可基于数个因素(例如速率缓冲器(150、155)状态、第一视频块(310、315)的条件等)而计算拉格朗日参数λ。

仍参考图6,在块435处,视频编码器20将第一经编码视频块传达到目的地装置,第一经编码视频块指示使用经确定最佳译码模式所编码的第一视频块(310、315)。

其它考虑因素

应注意,已经从编码器(例如,图2中的视频编码器20)的视角描述了本公开的方面。然而,所属领域的技术人员将了解,与那些上文所描述的操作相反的操作可经应用以解码由(例如)图5中的视频解码器30产生的位流。

可使用多种不同技术和技艺中的任一个来表示本文中公开的信息和信号。举例来说,可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示遍及以上描述可能参考的数据、指令、命令、信息、信号、位、符号和芯片。

结合本文中所公开的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤可被实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体在其功能性方面描述了各种说明性组件、块和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统上的设计约束。对于每一特定应用来说,所属领域的技术人员可以变化的方式实施所描述的功能性,但不应将所述实施决策解释为导致脱离本公开的范围。

因此,本文中描述的技术可以硬件、软件、固件或其任何组合实施。可以例如通用计算机、无线通信装置手机或具有多种用途的集成电路装置的多种装置中的任一个实施此类技术。可将描述为装置或组件的任何特征一起实施于集成式逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分由包括包含当经执行时执行以上描述方法中的一或多个的指令的程序代码的计算机可读数据存储媒体实现。计算机可读数据存储媒体可形成计算机程序产品的部分,计算机程序产品可包含包装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(ram),例如同步动态随机存取存储器(sdram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可抹除可编程只读存储器(eeprom)、快闪存储器、磁性或光学数据存储媒体和类似者。所述技术另外或替代地可至少部分由计算机可读通信媒体实现,所述计算机可读通信媒体携载或传达呈指令或数据结构的形式且可由计算机存取、读取和/或执行的程序代码,例如,传播的信号或波。

程序代码可由可包含一或多个处理器的处理器执行,例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成式或离散逻辑电路。此处理器可经配置以执行本公开中所描述的技术中的任一个。通用处理器可为微处理器;但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器,或任何其它此配置。因此,如本文中所使用的术语“处理器”可指前述结构、前述结构的任何组合或适合于实施本文中描述的技术的任何其它结构或设备中的任一个。另外,在一些方面中,本文中描述的功能性可提供于经配置用于编码和解码的专用软件或硬件内,或并入于组合的视频编码器-解码器(编解码器)中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。

本公开的技术可在广泛多种装置或设备中予以实施,包含无线手机、集成电路(ic)或一组ic(例如,芯片组)。在本公开中描述各种组件或单元以强调经配置以执行所公开技术的装置的功能方面,但未必需要通过不同硬件单元实现。实情为,如上所述,各种单元可与适合的软件和/或固件一起组合在编码解码器硬件单元中或由互操作硬件单元的集合提供,硬件单元包含如上文所描述的一或多个处理器。

虽然已经结合各种不同实施例描述了前文,但可在不脱离本公开的教示的情况下将来自一项实施例的特征或元件与其它实施例组合。然而,相应实施例之间的特征的组合未必限于此。已描述了本公开的各种实施例。这些和其它实施例在以下权利要求书的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1