动态范围调整和色彩重新映射信息的计算和用信号发送的精确度的制作方法

文档序号:20013106发布日期:2020-02-22 04:43阅读:291来源:国知局
动态范围调整和色彩重新映射信息的计算和用信号发送的精确度的制作方法

本申请案主张2017年7月7日申请的美国临时申请案第62/529,968号和2018年7月5日申请的美国申请案第16/028,212号的权益,所述美国申请案的全部内容特此以引用的方式并入本文中。

本公开涉及视频译码。



背景技术:

数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、手提式或台式计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频译码技术,例如描述于以下各者中的那些技术:由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高级视频译码(avc)定义的标准、itu-th.265、高效视频译码(hevc)和这类标准的扩展。视频装置通过实施这类视频译码技术可以更有效地传输、接收、编码、解码和/或存储数字视频信息。

视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对基于块的视频译码,视频切片(例如,视频帧或视频帧的一部分)可被分割成视频块,视频块还可被称作树块、译码单元(cu)和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(i)切片中的视频块。图片的经帧间译码(p或b)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测,或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。

空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式和残余数据来编码的。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可扫描一开始按二维阵列布置的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以达成甚至更多压缩。



技术实现要素:

一般来说,本公开描述用于改进在h.265/hevc视频译码标准中指定的色彩重新映射信息(cri)sei消息的分段多项式(例如一阶)函数或如动态范围调整(dra)的类似技术的应用的技术和/或机制。具体来说,本公开描述用于增强dra和/或cri参数的计算和用信号发送的精确度的技术。

在一个实例中,一种处理视频数据的方法包含通过视频解码单元获得包含具有第一色彩特性的色彩分量的输入图片;通过所述视频解码单元获得与所述输入图片的至少一个样本的所述色彩分量相关联的多个参数,其中所述多个参数指示与关联于所述色彩分量的分段线性函数相关联的枢转点;通过所述视频解码单元确定所述多个参数中的至少一个参数的值包含负值;通过所述视频解码单元并且在所述输入图片的所述至少一个样本上应用通过具有负值的所述至少一个参数定义的所述分段线性函数;通过所述视频解码单元基于所述分段线性函数的所述应用,产生包含具有第二色彩特性的所述色彩分量的输出图片的至少一个输出样本;和通过所述视频解码单元输出所述输出图片的所述至少一个输出样本。

在另一实例中,一种经配置以处理视频数据的设备包含存储器,其经配置以存储所述视频数据的图片;和至少一个处理器,其与所述存储器通信,所述至少一个处理器经配置以:获得包含具有第一色彩特性的色彩分量的所述视频数据的输入图片;获得与所述输入图片的至少一个样本的所述色彩分量相关联的多个参数,其中所述多个参数指示与关联于所述色彩分量的分段线性函数相关联的枢转点;确定所述多个参数中的至少一个参数的值包含负值;在所述输入图片的所述至少一个样本上应用通过具有负值的所述至少一个参数定义的所述分段线性函数;基于所述分段线性函数的所述应用,产生包含具有第二色彩特性的所述色彩分量的输出图片的至少一个输出样本;和输出所述输出图片的所述至少一个输出样本。

在又另一实例中,一种经配置以处理视频数据的设备包含用于存储所述视频数据的图片的装置;和用于获得包含具有第一色彩特性的色彩分量的所述视频数据的输入图片的装置;用于获得与所述输入图片的至少一个样本的所述色彩分量相关联的多个参数的装置,其中所述多个参数指示与关联于所述色彩分量的分段线性函数相关联的枢转点;用于确定所述多个参数中的至少一个参数的值包含负值的装置;用于在所述输入图片的所述至少一个样本上应用通过具有负值的所述至少一个参数定义的所述分段线性函数的装置;用于基于所述分段线性函数的所述应用,产生包含具有第二色彩特性的所述色彩分量的输出图片的至少一个输出样本的装置;和用于输出所述输出图片的所述至少一个输出样本的装置。

在又另一实例中,一种存储指令的计算机可读存储媒体,所述指令在被执行时致使一或多个处理器经配置以处理视频数据以进行以下操作:获得包含具有第一色彩特性的色彩分量的所述视频数据的输入图片;获得与所述输入图片的至少一个样本的所述色彩分量相关联的多个参数,其中所述多个参数指示与关联于所述色彩分量的分段线性函数相关联的枢转点;确定所述多个参数中的至少一个参数的值包含负值;在所述输入图片的所述至少一个样本上应用通过具有负值的所述至少一个参数定义的所述分段线性函数;基于所述分段线性函数的所述应用,产生包含具有第二色彩特性的所述色彩分量的输出图片的至少一个输出样本;和输出所述输出图片的所述至少一个输出样本。

在附图和以下描述中阐述了一或多个实例的细节。将从所述描述和图式以及从权利要求书显而易见其它特征、目标和优势。

附图说明

图1是说明被配置成实施本公开的技术的实例视频编码和解码系统的框图。

图2是示出当应用crisei消息时供视频解码器使用的色彩重新映射信息/过程的典型结构的概念图。

图3是说明根据一些实例的色彩重新映射模型的组件的细节的框图。

图4是说明根据本公开的技术用于结合与关联于图片的色彩分量的分段线性函数相关联的参数来编码视频数据的图片的实例方法的流程图。

图5是说明根据本公开的技术用于结合与关联于图片的色彩分量的分段线性函数相关联的参数来处理视频数据的图片的实例方法的流程图。

图6是说明可实施本公开中描述的技术的实例视频编码器的框图。

图7是说明可实施本公开中描述的技术的实例视频解码器的框图。

具体实施方式

本公开涉及具有高动态范围(hdr)和宽色域(wcg)表示的视频信号的译码的领域。更具体地,本公开的技术包含用于改进在h.265/hevc视频译码标准或如动态范围调整(dra)的类似技术中指定的色彩重新映射信息(cri)sei消息的分段多项式(例如一阶)功能的应用的数种方法。本公开包含增强dra和/或cri参数的计算和用信号发送的精确度的技术和/或机构。

视频译码标准(包含混合式视频译码标准)包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual和itu-th.264(也称为iso/iecmpeg-4avc),包含其可缩放视频译码(svc)和多视图视频译码(mvc)扩展。itu-t视频译码专家组(vceg)和iso/iec运动图片专家组(mpeg)的视频译码联合合作小组(jct-vc)已完成新视频译码标准(即,hevc)的设计。bross等人的hevc草案规范“高效视频译码(hevc)文本规范草案10(针对fdis和最后调用)(highefficiencyvideocoding(hevc)textspecificationdraft10(forfdis&lastcall))”(itu-tsg16wp3和iso/iecjtc1/sc29/wg11的视频译码联合合作小组(jct-vc),瑞士日内瓦第12次会议,2013年1月14日到23日,jctvc-l1003v34)称作hevc工作草案10(wd10),可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_geneva/wg11/jctvc-l1003-v34.zip获得。定案的hevc标准被称作hevc版本1。

wang等人的缺陷报告“高效视频译码(hevc)缺陷报告(highefficiencyvideocoding(hevc)defectreport)”(itu-tsg16wp3和iso/iecjtc1/sc29/wg11的关于视频译码的联合合作小组(jct-vc),第14次会议:奥地利维也纳,2013年7月25日到8月2日,jctvc-n1003v1)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/14_vienna/wg11/jctvc-n1003-v1.zip获得。定案的hevc标准文件公布为“itu-th.265,h系列:视听和多媒体系统,视听服务基础架构-移动视频的译码-高效视频译码(itu-th.265,seriesh:audiovisualandmultimediasystems,infrastructureofaudiovisualservices-codingofmovingvideo,highefficiencyvideocoding)”(国际电信联盟(itu)的电信标准化部门,2013年4月),且定案的hevc标准的另一版本公布于2014年10月。

图1是说明可使用本公开的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,所述源装置12提供在稍后时间由目的地装置14解码的经编码视频数据。特定来说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一个,包含台式计算机、笔记型(即,手提式)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板计算机、电视机、相机、显示装置、数字媒体播放器、视频游戏机、视频流式传输装置等。在一些情况下,源装置12和目的地装置14可经装备以用于无线通信。

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

在一些实例中,可将经编码数据从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器、或用于存储经编码视频数据的任何其它适合的数字存储媒体。在另一实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取存储的视频数据。文件服务器可为能够存储经编码视频数据并将经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、ftp服务器、网络附接存储(nas)装置或本地磁盘驱动器。目的地装置14可通过包含因特网连接的任何标准数据连接来存取经编码视频数据。这可包含无线通道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的传输可为流式传输、下载传输或其组合。

本公开的技术不必限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一个的视频译码,所述多媒体应用例如空中电视广播、有线电视传输、卫星电视传输、因特网流式传输视频传输(例如,http动态自适应流式传输(dash))、数字视频被编码到数据存储媒体上,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可以经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。

在图1的实例中,源装置12包含视频源18、视频编码单元21(其包含视频预处理器19和视频编码器20),以及输出接口22。目的地装置14包含输入接口28、视频解码单元29(其包含视频解码器30和视频后处理器31),以及显示装置32根据本公开,视频预处理器19和视频后处理器31可以经配置以应用本公开中所描述的实例技术。举例来说,视频预处理器19和视频后处理器31可包含经配置以应用静态传递函数的静态传递函数单元,但具有可调适信号特性的预处理单元和后处理单元。

在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从例如外部相机的外部视频源18接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包括集成的显示装置。

图1中所说明的系统10仅为一个实例。可由任何数字视频编码和/或解码装置执行用于处理视频数据的技术。虽然本公开的技术通常通过视频编码装置执行,但所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。为易于描述,相对于在源装置12和目的地装置14的对应者中执行本公开中所描述的实例技术的视频预处理器19和视频后处理器31来描述本公开。源装置12和目的地装置14仅为源装置12在其中产生经译码视频数据以供传输到目的地装置14的这类译码装置的实例。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一个包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输以例如用于视频流式传输、视频重放、视频广播或视频电话。

源装置12的视频源18可包含视频捕获装置,例如摄像机、含有先前所捕获的视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的摄像机电话或视频电话。然而,如上文所提及,本公开中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一种情况下,所捕获、预捕获或计算机产生的视频可由视频编码单元21编码。经编码视频信息接着可通过输出接口22输出到计算机可读媒体16上。

计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可例如经由网络传输从源装置12接收经编码视频数据并且将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。

目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码单元21的视频编码器20定义的语法信息,所述语法信息也供视频解码单元29的视频解码器30使用,且包含描述块和其它经译码单元(例如图片群组(gop))的特性和/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。

如所说明,视频预处理器19从视频源18接收视频数据。视频预处理器19可经配置以处理视频数据,将其转换成可适合于用视频编码器20编码的形式。举例来说,视频预处理器19可执行本文所公开的如下技术:改进使用动态范围调整(dra)和/或色彩重新映射信息(cri)参数信号发送(在包含视频数据的位流内和/或外部)和应用,和/或相对于视频编解码器实施的给定压缩方案应用为数据预处理的其它类似技术的执行。视频编码器20可对视频预处理器19输出的视频数据执行视频编码。视频解码器30可执行视频编码器20的逆向以解码视频数据,且视频后处理器31可执行视频预处理器19的逆向以将视频数据转换成适合于显示器的形式。举例来说,视频后处理器31可执行本文所公开的如下技术:改进使用dra和/或cri信息信号发送、解析和应用,和/或应用为相对于视频编解码器实施的给定压缩方案的数据后处理的其它类似技术的执行。

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

虽然将视频预处理器19和视频编码器20说明为视频编码单元21内的单独单元,且将视频后处理器31和视频解码器30说明为视频解码单元29内的单独单元,但本公开中描述的技术不受如此限制。视频预处理器19和视频编码器20可形成为共同装置(例如同一集成电路或容纳于同一芯片或芯片封装内)。类似地,视频后处理器31和视频解码器30可形成为共同装置(例如同一集成电路或容纳于同一芯片或芯片封装内)。

在一些实例中,视频编码器20和视频解码器30根据例如以下的视频压缩标准操作:iso/iecmpeg-4visual和itu-th.264(也被称作iso/iecmpeg-4avc),包含其可缩放视频译码(svc)扩展、多视图视频译码(mvc)扩展,和基于mvc的三维视频(3dv)扩展。在一些情况下,符合基于mvc的3dv的任何位流始终含有顺应mvc配置文件(例如,立体声高配置文件)的子位流。此外,正致力于产生h.264/avc的3dv译码扩展,即基于avc的3dv。视频译码标准的其它实例包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual,以及itu-th.264,iso/iecvisual。在其它实例中,视频编码器20和视频解码器30可以经配置以根据itu-th.265、hevc标准操作。

在hevc和其它视频译码标准中,视频序列通常包含一系列图片。图片也可以称为“帧”。图片可包含三个样本阵列,标示为sl、scb和scr。sl是明度样本的二维阵列(即,块)。scb为cb色度样本的二维阵列。scr是cr色度样本的二维阵列。色度样本在本文中还可称为“色度(chroma)”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。

视频编码器20可产生一组译码树单元(ctu)。ctu中的每一个可包括明度样本的译码树块、色度样本的两个对应的译码树块,以及用于对译码树块的样本进行译码的语法结构。在单色图片或具有三个独立色彩平面的图片中,ctu可包括单个译码树块和用于对所述译码树块的样本进行译码的语法结构。译码树块可以是n×n样本块。ctu也可以被称为“树块”或“最大译码单元(lcu)”。hevc的ctu可大体上类似于其它视频译码标准(例如,h.264/avc)的宏块。然而,ctu不必限于特定大小,且可包含一或多个译码单元(cu)。切片可包含在光栅扫描中连续排序的整数数目的ctu。

本公开可使用术语“视频单元”或“视频块”来指代一或多个样本块以及用于对一或多个样本块的样本进行译码的语法结构。视频单元的实例类型可包含hevc中的ctu、cu、pu、变换单元(tu),或其它视频译码标准中的宏块、宏块分区等等。

视频编码器20可以将cu的译码块分割成一或多个预测块。预测块可为被应用相同预测的矩形(即,正方形或非正方形)样本块。cu的预测单元(pu)可包括图片的明度样本的预测块、图片的色度样本的两个对应的预测块,以及用以对预测块样本进行预测的语法结构。在单色图片或具有三个单独色彩平面的图片中,pu可以包括单个预测块和用于对预测块样本进行预测的语法结构。视频编码器20可以产生用于cu的每一pu的明度预测块、cb预测块和cr预测块的预测性明度块、cb块和cr块。

视频编码器20可使用帧内预测或帧间预测来产生用于pu的预测性块。如果视频编码器20使用帧内预测产生pu的预测块,那么视频编码器20可基于与pu相关联的图片的经解码样本产生pu的预测块。

在视频编码器20产生cu的一或多个pu的预测性明度块、cb块和cr块之后,视频编码器20可产生cu的明度残余块。cu的明度残余块中的每一样本指示cu的预测性明度块中的一个中的明度样本与cu的原始明度译码块中对应的样本之间的差异。另外,视频编码器20可以产生cu的cb残余块。cu的cb残余块中的每一样本可以指示cu的预测性cb块中的一个中的cb样本与cu的原始cb译码块中对应的样本之间的差异。视频编码器20还可产生cu的cr残差块。cu的cr残差块中的每一样本可指示cu的预测性cr块中的一个中的cr样本与cu的原始cr译码块中的对应样本之间的差异。

此外,视频编码器20可使用四叉树分割将cu的明度、cb和cr残余块分解成一或多个明度、cb和cr变换块。变换块可为被应用相同变换的矩形样本块。cu的变换单元(tu)可包括明度样本的变换块、色度样本的两个对应变换块,以及用以对变换块样本进行变换的语法结构。在单色图片或具有三个单独色彩平面的图片中,tu可包括单个变换块和用以对变换块样本进行变换的语法结构。因此,cu的每一tu可与明度变换块、cb变换块和cr变换块相关联。与tu相关联的明度变换块可为cu的明度残余块的子块。cb变换块可为cu的cb残差块的子块。cr变换块可为cu的cr残余块的子块。

视频编码器20可以将一或多个变换应用到tu的明度变换块从而为tu产生明度系数块。系数块可以是变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于tu的cb变换块以产生tu的cb系数块。视频编码器20可将一或多个变换应用于tu的cr变换块,以产生用于tu的cr系数块。

在产生系数块(例如,明度系数块、cb系数块或cr系数块)之后,视频编码器20可量化系数块。量化大体是指对变换系数进行量化以可能地减少用以表示变换系数的数据量从而提供进一步压缩的过程。此外,视频编码器20可逆量化变换系数且将逆变换应用于变换系数,以重构图片的cu的tu的变换块。视频编码器20可使用cu的tu的经重构变换块以及cu的pu的预测性块来重构cu的译码块。通过重构图片的每一cu的译码块,视频编码器20可重构图片。视频编码器20可将经重构图片存储在经解码图片缓冲器(dpb)中。视频编码器20可使用dpb中的经重构图片进行帧间预测和帧内预测。

在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(cabac)。视频编码器20可在位流中输出经熵编码语法元素。

视频编码器20可输出包含位序列的位流,所述位序列形成经译码图片和相关联数据的表示。所述位流可包括网络抽象层(nal)单元序列。nal单元中的每一个包含nal单元标头且封装原始字节序列有效负载(rbsp)。nal单元标头可包含指示nal单元类型代码的语法元素。由nal单元的nal单元标头指定的nal单元类型代码指示nal单元的类型。rbsp可为含有包封在nal单元内的整数数目个字节的语法结构。在一些情况下,rbsp包含零个位。

不同类型的nal单元可包封不同类型的rbsp。举例来说,第一类型的nal单元可包封用于图片参数集(pps)的rbsp,第二类型的nal单元可包封用于经译码切片的rbsp,第三类型的nal单元可包封用于补充增强信息(sei)的rbsp,等等。举例来说,nal单元可包封用于crisei消息的rbsp。pps为可含有适用于零或多个完整经译码图片的语法元素的语法结构。包封视频译码数据的rbsp(与参数集和sei消息的rbsp相对)的nal单元可被称为视频编码层(vcl)nal单元。包封经译码切片的nal单元在本文中可被称作经译码切片nal单元。经译码切片的rbsp可包含切片标头和切片数据。

视频解码器30可接收位流。另外,视频解码器30可解析位流以从位流对语法元素进行解码。视频解码器30可至少部分地基于从位流解码的语法元素重构视频数据的图片。重构视频数据的过程可与由视频编码器20执行的过程大体互逆。举例来说,视频解码器30可使用pu的运动向量确定用于当前cu的pu的预测性块。视频解码器30可使用pu的一或多个运动向量来产生pu的预测性块。

另外,视频解码器30可以逆量化与当前cu的tu相关联的系数块。视频解码器30可以对系数块执行逆变换以重构与当前cu的tu相关联的变换块。视频解码器30可通过将当前cu的pu的预测性样本块的样本添加到当前cu的tu的变换块的对应样本来重构当前cu的译码块。通过重构用于图片的每一cu的译码块,视频解码器30可重构图片。视频解码器30可将经解码图片存储在经解码图片缓冲器中以供输出和/或用于解码其它图片。

下一代视频应用预期对表示具有高动态范围(hdr)和宽色域(wcg)的所捕获的景物的视频数据进行操作。举例来说,颜色(或“色彩”)重新映射信息(cri)提供用于实现输出图片的经重构色彩样本的重新映射的信息。色彩重新映射信息可直接应用于经解码样本值,而不考虑这些经解码样本值是处于明度和色度域还是处于rgb域。目前经由用于avc标准和hevc标准的补充增强信息(sei)消息提供cri。目前,sei消息不是必选的(例如,sei消息可携载对于解码由解码装置接收的位流来说可能并非必要的信息)。然而,通过研究观察到在编码器之前(例如,在编码过程之前)恰当应用cri和/或dra并且在解码器之后(例如,在解码过程之后)恰当应用对应的逆cri和/或dra确实改进hdr/wcg内容的译码效率。更一般地说,cri/dra的恰当应用改进不处于典型sdr/bt.709容器中的内容的译码效率。因此,预期如cri和/或dra等技术,所述cri和/或dra是下一代视频编解码器的规范性部分,即压缩过程自身的部分(例如,作为编解码器的部分)。因此,重要的是恰当地定义和改进用于压缩的此技术。

动态范围通常定义为视频信号的最大亮度和最小亮度之间的比率。也可依据“f制光圈(f-stop)”来测量动态范围,其中一个f制光圈对应于双倍的信号动态范围。在mpeg的定义中,hdr内容是以大于16个f制光圈表示亮度变化的特征的内容。在一些方面中,10与16个f制光圈之间的层级被视为中间动态范围,但在其它定义中被视为hdr。在一些实例中,hdr视频内容可为与传统使用的具有标准动态范围的视频内容(例如,由itu-rrec.bt.709规定的视频内容)相比具有较高动态范围的任何视频内容。同时,人类视觉系统(hvs)能够感知大得多的动态范围。然而,hvs包含使所谓的同时范围变窄的自适应机制。

当前视频应用和服务受rec.709调控,并且提供sdr,通常支持每平方米(m2)约0.1到100坎德拉(candela,cd)(通常称为“尼特(nit)”)的亮度(例如,明度)范围,从而导致小于10个f制光圈。期望下一代视频服务提供高达16个f制光圈的动态范围。虽然目前正在开发详细规范,但已在smptest.2084和rec.2020中指定一些初始参数。

补充增强信息(sei)消息包含于视频位流中,通常为了载送对于解码器解码所述位流来说可能并非必要的信息。此信息可用于改进经解码输出的显示或处理;例如,这类信息可由解码器侧实体用来改进内容的可观看性。

如上所述,目前经由sei消息接发来提供cri。使用hevc标准中定义的crisei消息传达用以出于例如将输出图片转换成更适于给定显示器的特性的的表示的目的,将一个色彩空间中的图片映射到另一色彩空间的信息。crisei消息的信息(例如,参数或语法)可定义色彩重新映射模型。举例来说,crisei消息(例如,色彩重新映射模型)的语法包含三个部分:第一组三个1d查找表(预lut),随后是3×3矩阵,随后是第二组三个1d查找表(后lut)。对于每一色彩分量,例如r、g、b或y、cb、cr,定义用于预lut和后lut两者的相应的独立lut。

图2示出供crisei消息使用的色彩重新映射信息/过程的典型结构。所述组3个预lut可用于动态范围调整。在一些实施方案中,可在sei消息(例如,crisei消息)内和/或包含经译码视频数据(例如,旨在用于呈现的视频内容)的位流内用信号发送(例如,传达、指示或传输)此信息(例如,cri和/或dra)。下文关于图3描述预lut、色彩重新映射矩阵和后lut的细节。可通过视频解码单元(例如,视频解码单元29),通过从视频解码单元接收输出所述从另一源接收视频内容的视频播放器,通过显示装置,或通过任何其它合适的客户端装置实施色彩重新映射模型。在一些情况下,色彩重新映射模型包含可通过客户端装置应用的元数据。在一个说明性实例中,一旦经编码图片在客户端装置处被接收且经解码,客户端装置或另一装置便可当呈现经解码内容时应用色彩重新映射模型的元数据。

通到色彩重新映射模型的输入包含视频内容。视频内容可包含经解码视频图片、经译码(经压缩)视频图片,或尚未压缩的视频内容。视频内容可具有包含至少一第一色彩特性的一或多个色彩特性。色彩重新映射模型232的输出包含经重新映射视频内容,其包含从第一色彩特性重新映射到第二色彩特性的视频内容的视频图片。

图片的色彩特性可包含色彩空间、动态范围、传递函数,或可跨不同视频内容变化的任何其它色彩特性。图片的色彩特性的一个实例可包含色彩空间。色彩空间的实例包含具有明度(y)分量、蓝色差异(cb)色度分量和红色差异(cr)色度分量的ycbcr色彩空间、具有红色(r)分量、绿色(g)分量和蓝色(b)分量的红色-绿色-蓝色(rgb)色彩空间、具有明度(y)和色彩(u、v)分量的yuv色彩空间,或其它合适的色彩空间。例如crisei消息的色彩重新映射模型可用以通过从第一色彩空间转换到第二色彩空间(例如,从ycbcr色彩空间转换到rgb色彩空间)来执行色彩空间转换。图片的色彩特性的另一实例可包含动态范围,其可包含标准动态范围(sdr)、高动态范围(hdr),或其它合适的动态范围。色彩重新映射模型可用于执行从第一动态范围到第二动态范围的色调映射。在一个说明性实例中,用hdr/wcg控制的源内容可经变换以供在具有较小色彩体积的显示器(例如sdr显示器)呈现。图片的色彩特性的另一实例可包含传递函数,其允许例如用于具有某些特性的某些视频内容(例如,hdr视频、sdr视频,或其它类型的视频)的显示。传递函数的实例包含伽马传递函数、感知量化器(pq)传递函数,或其它合适的传递函数。在一个说明性实例中,pq传递函数可允许具有高达10,000cd/m2的明度量的hdr视频的显示并且可与bt.2020色彩空间一起使用。色彩重新映射模型可用于从一或多个第一传递函数映射到一或多个第二传递函数。所属领域的一般技术人员应了解,色彩重新映射模型可用以映射除本文中提及的那些色彩特性以外的其它色彩特性。

图3示出色彩重新映射模型232的预lut234、色彩重新映射矩阵236、后lut238的实例细节。预lut234可包含针对视频内容230的图片的每一色彩分量,例如针对rgb色彩空间的r、g和b分量中的每一个,针对ycbcr色彩空间的y、cb和cr分量中的每一个,针对yuv色彩空间的y、u和v分量中的每一个,或针对任何其它合适的色彩空间的色彩分量定义的独立预lut。预lut[c1]242可针对第一色彩分量c1定义,预lut[c2]244可针对第二色彩分量c2定义,且预lut[c3]246可针对第三色彩分量c3定义。

预lut中的每一个可为一维(1d)lut并且可包含用于图片的一或多个样本的每一色彩分量(例如,图片的每一像素)的第一分段线性函数(或变换)。举例来说,预lut[c1]242的分段线性函数可变换具有第一色彩特性的输入图片的色彩分量c1。在一个说明性实例中,预lut[c1]242可压缩或解压缩具有y、cb和cr色彩分量的样本的y色彩分量。在某些视频内容中,一或多个色彩分量可占用归因于所使用的容器而为小的值范围(例如,映射局限于bt.2020容器中的bt.709色域的内容可产生与允许的值范围相比占据较小范围的分量);在编码器处使用分段线性函数映射此视频范围以增加分量的值范围可有助于改进译码效率。当执行这类映射时,预lut和其中定义的分段线性映射函数可用于在客户端装置处将这些分量映射回到原始值范围。

在一些实例中,色彩重新映射矩阵236可包含线性模型,例如当存在三个色彩分量时的3×3矩阵。在一个说明性实例中,色彩重新映射矩阵236包含具有色彩重新映射系数的3×3矩阵。色彩重新映射矩阵236在每一图片样本的所有色彩分量上应用并且用以映射色彩分量的系数。举例来说,色彩重新映射矩阵236可用于从一个色彩空间(例如ycbcr)转换到另一色彩空间(例如rgb),从一个色彩体积(例如,hdr)转换到另一色彩体积(例如,sdr)等。在一个说明性实例中,色彩重新映射矩阵236可应用于经映射色彩分量以补偿色彩分量之间的去相关。色彩分量之间的去相关可增加译码效率。举例来说,压缩经去相关的ycbcr色彩空间中的多个序列比压缩rgb色彩空间中的序列更高效。转换到ycbcr域的内容可需要转换回到rgb域且色彩重新映射矩阵236可应用于执行此转换。

类似于预lut234,后lut238可包含针对在应用色彩重新映射矩阵236之后应用于每一所得的色彩分量(经重新映射视频内容240的图片的每一色彩分量)定义的独立后lut。举例来说,后lut[c1]252可针对第一色彩分量c1定义,后lut[c2]254可针对第二色彩分量c2定义,且后lut[c3]256可针对第三色彩分量c3定义。每一后lut可为1dlut,其包含用于图片的一或多个样本的每一色彩分量的第二分段线性函数(或变换)。举例来说,后lut[c1]252的分段线性函数可变换具有第二色彩特性的经重新映射输出图片的色彩分量c1。在一个说明性实例中,后lut[c1]252可压缩或解压缩具有r、g和b色彩分量的样本的r色彩分量,其中所述样本是从ycbcr色彩空间映射到rgb色彩空间的图片的部分。在另一实例中,可执行r、g、b色彩分量中的一或多个的解压缩以补偿可在编码器处执行的压缩,从而改进译码效率;在一些视频内容中,占据r、g、b色彩分量中的一或多个的某一值范围的样本值可对应于可能不影响序列的视觉质量的内容且这些值范围可经压缩以改进译码效率。在另一实例中,后lut还可用以应用与视频内容相关联的传递函数;传递函数通常独立地应用于每一r、g、b分量。用于显示过程的输出图片的色彩重新映射(其在hevc规范的范围外部)是任选的且不影响在hevc规范中指定的解码过程。然而,应用标准可将色彩重新映射过程定义为必选的以遵守所述特定标准。

分段线性函数由间隔[xi;xi+1]定义并且在每一间隔中是线性的。预lut234和后lut238的分段线性函数的参数以及色彩重新映射矩阵236的参数是基于特定crisei消息的目的确定的(例如,用于从hdr转换为sdr内容,用于从一个色彩空间转换到另一色彩空间,用于从一个传递函数映射到另一传递函数,或任何其它合适的目的)。在crisei消息的语法和语义中定义所述参数。如普通技术人员已知,这些参数可如由应用crisei消息的目的所针对的特定应用标准或视频译码标准定义而确定。

在下表1中复制crisei消息的实例语法表。如上所述,虽然所述表说明含于“crisei消息”内的示范性语法(例如,参数、值、信息),但所述语法的部分(例如,与3个预lut相关联的信息)也被称作(或被视为)动态范围调整(dra)信息。

举例来说,如下文所示,语法元素pre_lut_num_val_minus1[c]、pre_lut_coded_value[c][i]和pre_lut_target_value[c][i]可用以表示预lut。“c”术语指示到图片的色彩分量的索引。举例来说,在rgb色彩空间中和ycbcr色彩空间中存在三个色彩分量。在一个说明性实例中,c等于0是指第一分量(例如,ycbcr色彩空间中的y、rgb色彩空间中的g等),c等于1是指第二分量(例如,cb、b等),且c等于2是指第三分量(例如,cr、r等)。用于特定色彩分量的预lut的分段线性曲线可将色彩分量从(输入图片的)值x映射到(可为cri过程中的中间图片的目标图片的)值y。分段线性曲线可用线性连接的枢转点构造。线性内插用以映射两个枢转点之间的值。每一枢转点由语法元素pre_lut_coded_value[c][i]和pre_lut_target_value[c][i]定义。举例来说,语法元素pre_lut_num_val_minus1[c]指示用于第c色彩分量的分段线性重新映射函数中的枢转点的数目,所述语法元素pre_lut_coded_value[c][i]指定输入图片的第c分量的第i枢转点的值,且语法元素pre_lut_target_value[c][i]指定目标图片的第c分量的第i枢转点的值。

语法元素log2_matrix_denom和colour_remap_coeffs[c][i]可用以表示矩阵。语法元素log2_matrix_denom指定所有矩阵系数的分母的以2为底的对数。语法元素colour_remap_matrix_present_flag指定色彩重新映射矩阵系数的值。语法元素colour_remap_matrix_present_flag指示是否存在矩阵语法元素。举例来说,colour_remap_matrix_present_flag等于1可用以指示存在语法元素log2_matrix_denom和colour_remap_coeffs[c][i]且0值可指示不存在所述语法元素。

语法元素post_lut_num_val_minus1[c]、post_lut_coded_value[c][i]和post_lut_target_value[c][i]可用以表示后lut。类似于预lut,后lut包含分段线性曲线。曲线的每一枢转点由语法元素post_lut_coded_value[c][i]和post_lut_target_value[c][i]定义,且线性内插用以映射两个枢转点之间的值。语法元素post_lut_num_val_minus1[c]指示用于第c色彩分量的分段线性重新映射函数中的枢转点的数目,语法元素post_lut_coded_value[c][i]指定输入图片的第c分量的第i枢转点的值,且语法元素post_lut_target_value[c][i]指定目标图片的第c分量的第i枢转点的值。

表1-crisei消息

下文描述有助于本文献的描述的crisei消息的一些语义。完整语义可在hevc标准的第d.3.32部分获得(可在h.265:高效视频译码(hevc)http://www.itu.int/rec/t-rec-h.265-201504-i/en处获得)。

色彩重新映射信息sei消息提供用以实现输出图片的经重构色彩样本的重新映射的信息。色彩重新映射信息可直接应用于经解码样本值,而不考虑这些经解码样本值是处于明度和色度域还是处于rgb域。用于色彩重新映射信息sei消息中的色彩重新映射模型由应用于每一色彩分量(由本文中的语法元素的“预”集合所指定)的第一分段线性函数、应用于三个色彩分量的三乘三矩阵以及应用于每一色彩分量(由本文中的语法元素的“后”集合所指定)的第二分段线性函数组成。应注意,用于显示的输出图片的色彩重新映射是任选的并且不影响本规范中所指定的解码过程。

colour_remap_id含有可用于识别色彩重新映射信息的用途的识别号。colour_remap_id的值应在0到232-2的范围内,包含0和232-2。

可使用如由应用确定的从0到255和从512到231-1的colour_remap_id值。从256到511(包含256和511)且从231到232-2(包含231和232-2)的colour_remap_id值经保留以供itu-t|iso/iec将来使用。解码器应忽略含有在256到511的范围内(包含256和511)或在231到232-2的范围内(包含231和232-2)的colour_remap_id值的所有色彩重新映射信息sei消息,且位流不应含有这类值。

colour_remap_id可用于支持适合于不同显示场景的不同色彩重新映射过程。举例来说,不同colour_remap_id值可对应于由显示器支持的不同的经重新映射色彩空间。

colour_remap_matrix_coefficients具有如用于matrix_coeffs语法元素的第e.3.1条中指定的相同语义,不同之处在于colour_remap_matrix_coefficients指定经重新映射的经重构图片的色彩空间,而非用于clvs的色彩空间。当不存在时,推断colour_remap_matrix_coefficients的值等于matrix_coeffs的值。

colour_remap_input_bit_depth指定相关联图片的明度和色度分量或rgb分量的位深度,以用于解释色彩重新映射信息sei消息的目的。当存在任何色彩重新映射信息sei消息时,其中colour_remap_input_bit_depth值不等于经译码明度和色度分量的位深度或经译码rgb分量的位深度,sei消息是指经执行以将经译码视频转换成位深度等于colour_remap_input_bit_depth的经转换视频的转码操作的假设结果。

colour_remap_input_bit_depth值应在8到16的范围内(包含8和16)。从0到7(包含0和7)且从17到255(包含17和255)的colour_remap_input_bit_depth值经保留以供itu-t|iso/iec将来使用。解码器应忽略含有在0到7的范围内(包含0和7)或在17到255的范围内(包含17和255)的colour_remap_input_bit_depth的所有色彩重新映射sei消息,且位流不应含有这类值。

colour_remap_bit_depth指定由色彩重新映射信息sei消息描述的色彩重新映射函数的输出的位深度。colour_remap_bit_depth值应在8到16范围内(包含8和16)。从0到7(包含0和7)且从17到255(包含17和255)的colour_remap_bit_depth值经保留以供itu-t|iso/iec将来使用。解码器应忽略含有从0到7(包含0和7)或在17到255的范围内(包含17和255)的colour_remap_bit_depth值的所有色彩重新映射sei消息。

pre_lut_num_val_minus1[c]加1指定用于第c个分量的分段线性重新映射函数中的枢转点的数目,其中c等于0是指明度或g分量,c等于1是指cb或b分量,且c等于2是指cr或r分量。针对第c分量,当pre_lut_num_val_minus1[c]等于0时,输入值的默认端点是0和2colour_remap_input_bit_depth-1,且输出值的对应默认端点是0和2colour_remap_bit_depth-1。在遵守本规范的此版本的位流中,pre_lut_num_val_minus1[c]值应在0到32(包含0和32)的范围内。

pre_lut_coded_value[c][i]指定第c个分量的第i枢转点的值。用以表示pre_lut_coded_value[c][i]的位的数目为((colour_remap_input_bit_depth+7)>>3)<<3。

pre_lut_target_value[c][i]指定第c分量的第i枢转点的值。用以表示pre_lut_target_value[c][i]的位的数目为((colour_remap_bit_depth+7)>>3)<<3。

colour_remap_matrix_present_flag等于1指示针对在0到2(包含0和2)的范围内的c和i,存在语法元素log2_matrix_denom和colour_remap_coeffs[c][i]。colour_remap_matrix_present_flag等于0指示针对在0到2(包含0和2)的范围内的c和i,存在语法元素log2_matrix_denom和colour_remap_coeffs[c][i]。

log2_matrix_denom指定所有矩阵系数的分母的以2为底的对数。log2_matrix_denom值应在0到15的范围内(包含0和15)。当不存在时,推断log2_matrix_denom的值等于0。

colour_remap_coeffs[c][i]指定三乘三色彩重新映射矩阵系数的值。colour_remap_coeffs[c][i]的值应在-215到215-1的范围内(包含-215和215-1)。当不存在colour_remap_coeffs[c][i]时,在c等于i的情况下推断colour_remap_coeffs[c][i]等于1,且在其它情况下推断colour_remap_coeffs[c][i]等于0。当colour_remap_matrix_present_flag等于0时,推断色彩重新映射矩阵等于大小为3×3的单位矩阵。

如下导出针对c=0、1和2的可变matrixoutput[c]:

roundingoffset=log2_matrix_denom==0?0:1<<

(log2_matrix_denom-1)

matrixoutput[c]=clip3(0,(1<<colour_remap_output_bit_depth)-1,

(colour_remap_coeffs[c][0]*matrixinput[0]+

colour_remap_coeffs[c][1]*

matrixinput[1]+colour_remap_coeffs[c][2]*matrixinput[2]+

roundingoffset)

>>log2_matrix_denom)

(d-1)

其中matrixinput[c]是第c色彩分量的输入样本值,且是第c色彩分量的输出样本值。

post_lut_num_val_minus[]、post_lut_coded_value[][]和post_lut_target_value[][]的语义分别类似于re_lut_num_val_minus[]、pre_lut_coded_value[][]和pre_lut_target_value[][]的语义;用以表示post_lut_coded_value[][]和post_lut_target_value[][]的位的数目等于colour_remap_bit_depth。

然而,上文所描述的色彩重新映射信息(cri)sei消息在其指示(例如,用信号发送或传达或包含)预lut和后lut中的分段映射的精确度的能力方面可存在一或多个缺点,所述预lut和后lut通常在其中例如可能不使用浮点数的位深度上受限。

作为缺点的一个实例,lut经译码值和目标值定义(例如,指示或识别)分段线性函数的每一范围的端点。对于给定点,lut经译码值指示输入(例如,输入帧)的给定色彩分量的样本值且lut目标值指示目标帧中的相同色彩分量的对应样本值。这些经译码值和目标值是整数值,其可限制映射的精确度。在各种实施例中,lut经译码值对应于输入值(即,与输入值相关联)。在各种实例中,经译码值可为输入值的表示(即,基于输入值或随输入值而变)。举例来说,经译码值可基于输入值,使得经译码值的位深度基于相关联输入值的位深度(例如,相对于相关联输入值的位深度进行修改)。

作为另一实例,目前,lut目标值和经译码值局限于为正值,因此限制分段线性函数的斜率。这类约束条件(即,限制因素)的一个实例是分段线性函数的第一范围一定是正值。

作为又一实例,在输入数据位深度或输出数据位深度上执行对包含于crisei消息内的cri的处理。这些位深受系统设计和/或现有视频格式限制(例如,在允许的位深度值上受约束)。在一些译码情境中,在中间步骤中具有这类有限的(即,基于被执行cri的处理的数据的受限制(或受约束)位深度进行限制)精确度引起非最佳执行。

作为缺点的另一实例,cri预lut和cri后lut表征为针对预lut的输出值、输入值(且因此相关联的经译码值)和输出值(且因此相关联的目标值)具有相等位深度,而不管cri预lut和cri后lut预期在不同色彩空间上操作并且可彼此用于不同目的的事实。

根据本公开的一或多种技术,在努力改进使用参数的dra和/或cri信号发送(在包含视频数据的位流内和/或外部)和应用,和/或相对于视频编解码器实施的给定压缩方案应用为数据的预处理和/或后处理的其它类似技术的执行的过程中,本公开描述用于增加dra和/或cri用信号发送的参数和使用这类用信号发送的参数的处理的精确度的方法。应理解,本公开的技术中的一或多种可独立应用,或结合其它技术应用,不过不明确论述所有组合。

根据本公开的一或多种技术,视频译码单元(例如,视频编码单元21和/或视频解码单元29)可用信号发送例如crisei消息内的经修改的和/或额外的参数,使得crisei消息传送相对于某些参数增强的精确度表情允许对这些参数的更精确处理。应了解,可另外或替代地与dra信息结合用信号发送根据本公开的经修改的和/或额外的参数,使得可同样地以相对于某些参数的增强的精确度传达dra信息且进而实现这些参数的更精确处理。

举例来说,在本公开的各种实施例中,视频译码单元可使经译码值和目标值的位深度与输入值和输出值的位深度解除联系(例如,解除关联),进而允许针对中间结果在外部定义的(例如,用户定义的或用户指定的)精确度。根据本公开,经译码值、目标值、输入值和输出值的位深度可用相对于位深度的所有组合表达。举例来说,在一个实施例中,经译码值、目标值、输入值和输出值中的每一个的位深度可不同于彼此。在本公开的又一实施例中,目标值的位深度和经译码值的位深度在位流中用信号发送并且与输入信号和输出信号的位深度相比可具有较高值。替代地或另外,在本公开的各种实施例中,可针对预lut和后lut将经译码值和目标值的位深度解除联系。

替代地或另外,根据本公开的一或多种技术,视频译码单元可指示重新映射矩阵输入和输出的位深度特性或假设(例如,经配置用于)来自预lut的目标位深度和后lut的经译码位深度的参数的位深度特性的导出过程。

替代地或另外,根据本公开的一或多种技术,视频译码单元可指示(例如,用信号发送)或假设(例如,经配置以使用以下增量或用以下增量操作)在cri计算的中间步骤期间利用的位深度(递增位深度)的增量。以此方式,根据本公开配置的视频译码单元可以较高精确度执行例如cri和/或dra的中间步骤,因此实现更好的执行。

替代地或另外,根据本公开的一或多种技术,视频译码单元可启用(例如,可以经配置以启用以下值和/或可以经配置以使用以下值进行操作)为负值的lut经译码值和lut目标值。类似地,根据本公开,视频译码单元可允许经译码值和目标值超出输入位深度和/或输出位深度允许的最大值(包括高于/大于所述最大值的值)。本公开的此技术准许(例如,实现)针对分段线性函数的范围用信号发送较大斜率。替代地,在本公开的一些实施例中,视频译码单元可以经配置以仅允许第一个和最后一个经译码值和目标值以此方式扩展(例如,超出对应的输入位深度和/或输出位深度允许的最大值)。

通过实现lut经译码参数值和lut目标参数值的灵活性,本公开提供更精确且准确地表示内容创建者关于在例如经重新映射色彩空间中的输出图片的极暗和/或极亮区内呈现的色彩细节的意图的机制。

如上所述,目前经由sei消息接发提供cri。使用hevc标准中定义的crisei消息传达用以用于例如将输出图片转换为更适于给定显示器的特性的表示的目的将一个色彩空间中的图片映射到另一色彩空间的信息。

在本公开的各种实施方案中,通过视频译码单元用信号发送经译码值范围中的两个值v1和v2和目标值范围中的两个值v3和v4,以指示分别在输入值范围于经译码值范围以及输出值范围与目标值范围之间的映射。当用信号发送比例尺值需要最大值在输入位深度和/或输出位深度的允许值范围“外部”(即,不所述允许值范围内)时需要这类用信号发送。

根据本公开的一或多种技术,在各种实施例中,视频译码单元可用信号发送(或接收)指示经译码值和目标值的位深度的colour_remap_lut_bit_depth参数。举例来说,输入信号和输出信号可具有位深度10(即,10位)(即,可使用位深度10用信号发送输入信号和输出信号的值),而经译码值和目标值可具有如由colour_remap_lut_bit_depth参数指示的12位的位深度。视频译码单元利用colour_remap_lut_bit_depth参数会提供针对每一范围内的对应线性函数的斜率和偏移的更大精确度。在这类实施例中,colour_remap_input_bit_depth顶部上的(例如,除了colour_remap_input_bit_depth之外还有)colour_remap_lut_bit_depth的额外的位(例如,2位的额外位深度)用以指示输入和输出值的非整数(例如分数)部分。举例来说,经译码值的2个lsb可指示0、0.25、0.5或0.75,而10个msb指示整数部分(从0到1023)。

以下伪码展示具有10位精确度的输入数据(例如,与输入信号相关联的输入值)和12位精确度的经译码/目标值的本公开的实施例的实例:

其中<<是左移位逐位操作

另外或替代地,根据本公开的一或多种技术,视频译码单元可使用(例如,用信号发送和/或接收)新语法元素colour_remap_increment_bit_depth。在这类实施例中,用等于colour_remap_lut_bit_depth+colour_remap_increment_bit_depth的位深度表达第一lut的输出。以此方式,视频译码单元经过配置以保持(即,维持)第一lut之后的精确度,而不会将第一lut之后的位深度削减回到较低位深度。在较高位深度处应用例如cri的以下步骤(例如,3×3矩阵和后lut)。在后lut的输出处,数据的位深度设置为(例如,修改为或转换为)等于colour_remap_output_bit_depth值的位深度。

以下伪码展示实施colour_remap_increment_bit_depth语法元素的本公开的实施例的实例:

其中<<是左移位逐位操作,且iclip是第一变量参数到第二变量参数给定的最小值且到第三变量参数给定的最大值的限幅函数。

另外或替代地,根据本公开的一或多种技术,在各种实施例中,视频译码单元可以经配置以实现作为(例如,预lut和/或后lut)的lut的部分的为负值的第一点的信号发送。此外,或替代地,视频译码单元可以经配置以用信号发送lut的具有负值的其它点。下文所示的实例语法可实施本公开的使得视频译码单元能够处理(例如,用信号发送或接收)lut的为负值的第一点的技术。

以下实例语法说明上文展示的表1的语法(crisei消息语法)的改变。使用带下划线的文字指示差异(文字改变的实例)。具体地,已添加语法元素“pre_lut_coded_value[c][0]”和“pre_lut_target_value[c][0]”且“for循环”现在开始于i=1。描述符“se(v)”指示语法元素pre_lut_coded_value[c][0]和pre_lut_target_value[c][0]分别可包括左位排第一的带正负号的整数0阶指数-哥伦布经译码语法元素。

图4是说明根据本公开的技术用于结合与关联于图片的色彩分量的分段线性函数相关联的参数来编码视频数据的图片的实例方法的流程图。出于解释的目的,图4的方法在下文描述为由(例如,图1中所说明的)视频编码单元21和其组件执行,不过图4的方法可由其它视频编码单元执行。

视频编码单元21可接收视频数据的图片(402)。举例来说,视频编码器20可接收包含具有来自视频预处理器19的第一色彩特性的色彩分量的输入图片的样本。视频编码单元21可在位流中编码视频数据的输入图片的样本值(404)。举例来说,视频编码器20可使用帧间编码模式和帧内编码模式的任何组合编码视频数据的当前图片的样本/像素值。在一些实例中,视频编码器20可使用h.265/hevc编码样本。

视频编码单元21可例如在位流中并且针对视频数据的输入图片的至少一个样本,编码与输入图片的至少一个样本的色彩分量相关联的多个参数(406)。举例来说,视频编码单元21将所述多个参数中的至少一个参数的编码为负值。视频编码单元21将所述多个参数编码为与关联于色彩分量的分段线性函数相关联的指示性枢转点,使得使用至少一个参数的负值定义分段线性函数。应用分段线性函数会引起产生包含表征不同于第一色彩特性的第二色彩特性(或与所述第二色彩特性相关联)的色彩分量的输出图片的至少一个输出样本。

图5是说明根据本公开的技术用于结合与关联于图片的色彩分量的分段线性函数相关联的参数来处理(例如,解码)视频数据的图片的实例方法的流程图。出于解释的目的,图5的方法在下文描述为由(例如,图1中所说明的)视频解码单元29和其组件执行,不过图9的方法可由其它视频解码单元执行。

视频解码单元29获得包含具有第一色彩特性的色彩分量的输入图片(502)。视频解码单元另外获得与输入图片的至少一个样本的色彩分量相关联的多个参数(504)。所述多个参数指示与关联于色彩分量的分段线性函数相关联的枢转点。视频解码单元确定所述多个参数中的至少一个参数的值包含负值(506)。视频解码单元在输入图片的至少一个样本上应用通过具有负值的所述至少一个参数定义的分段线性函数(508)。视频解码单元基于分段线性函数的应用产生包含具有第二色彩特性的色彩分量的输出图片的至少一个输出样本(510)。视频解码单元输出输出图片的至少一个输出样本(512)。

图6是说明视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来减小或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的相邻帧或图片内的视频中的时间冗余。帧内模式(i模式)可指代若干基于空间的译码模式中的任一个。例如单向预测(p模式)或双向预测(b模式)的帧间模式可指若干基于时间的译码模式中的任一个。

如图6中所示,视频编码器20接收待编码的视频帧内的当前视频块。在图6的实例中,视频编码器20包含模式选择单元40、参考图片存储器64(也可被称作经解码图片缓冲器(dpb))、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60和求和器62。还可包含解块滤波器(图6中未示出)以便对块边界进行滤波,从从经重构视频移除成块假影。在需要时,解块滤波器将通常对求和器62的输出进行滤波。除了解块滤波器外,还可使用额外滤波器(回路中或回路后)。为简洁起见未示出这类滤波器,但是必要时,这类滤波器可对求和器50的输出进行滤波(作为环路内滤波器)。

在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可划分成多个视频块。运动估计单元42和运动补偿单元44执行所接收的视频块相对于一或多个参考帧中的一或多个块的帧间预测性编码以提供时间预测。帧内预测单元46可替代地执行对接收到的视频块相对于与待译码块相同的帧或切片中的一或多个相邻块的帧内预测性编码以提供空间预测。视频编码器20可执行例如多个译码遍次,以针对每一视频数据块选择适当的译码模式。

此外,分割单元48可基于前述译码遍次中的前述分割方案的评估,将视频数据块分割成子块。举例来说,分割单元48可一开始将帧或切片分割成ctu,且基于速率-失真分析(例如,速率-失真优化)将ctu中的每一个分割成子cu。模式选择单元40可以进一步产生指示ctu分割成子cu的四叉树数据结构。四叉树的叶节点cu可包含一或多个pu和一或多个tu。

模式选择单元40可例如基于误差结果选择预测模式(帧内或帧间)中的一个,并且将所得经预测块提供给求和器50以产生残余数据并且提供给求和器62以重构经编码块以供用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它这类语法信息)提供给熵编码单元56。

运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的pu相对于参考图片(或其它经译码单元)内的预测性块相对于当前图片(或其它经译码单元)内正被译码的当前块的位移。预测性块是被发现就像素差来说与待译码块紧密匹配的块,其可通过绝对差总和(sad)、平方差总和(ssd)或其它差度量来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以相对于整数像素位置和分数像素位置执行运动搜索,并且输出具有分数像素精确度的运动向量。

运动估计单元42通过比较pu的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的pu的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述参考图片列表中的每一个识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来提取或产生预测性块。再次,在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。在接收到当前视频块的pu的运动向量后,运动补偿单元44可在参考图片列表中的一个中定位所述运动向量指向的预测性块。如下文所论述,求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。一般来说,运动估计单元42相对于明度分量执行运动估计,并且运动补偿单元44对于色度分量和明度分量两者使用基于明度分量计算的运动向量。模式选择单元40也可产生与视频块和视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。

作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。特定来说,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可例如在单独编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测单元46(或在一些实例中,模式选择单元40)可从本公开中所述的经测试模式和/或帧内预测模式中选择要使用的适当的帧内预测模式。

举例来说,帧内预测单元46可使用速率-失真分析计算各种经测试帧内预测模式的速率-失真值,并在所述经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可从各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率-失真值。

在选择用于块的帧内预测模式后,帧内预测单元46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20可在所传输的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(还被称作码字映射表)、编码各种块的上下文的定义,以及用于所述上下文中的每一个的最可能帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。

视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据来形成残余视频块。求和器50表示执行此减法运算的一或多个组件。变换处理单元52将例如离散余弦变换(dct)或概念上相似的变换的变换应用于残余块,从而产生包括变换系数值的视频块。可使用小波变换、整数变换、子带变换、离散正弦变换(dst)或其它类型的变换来替代dct。在任何情况下,变换处理单元52将变换应用于残余块,从而产生变换系数块。所述变换可将残余信息从像素域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可以通过调整量化参数来修改量化程度。

在量化之后,熵编码单元56对经量化变换系数进行熵译码。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流传输到另一装置(例如,视频解码器30),或将经编码位流存档以供稍后传输或检索。

逆量化单元58和逆变换单元60分别应用逆量化和逆变换以重构像素域中的残余块。特定来说,求和器62将经重构残余块添加到较早由运动补偿单元44或帧内预测单元46产生的经运动补偿预测块以产生经重构视频块以存储于参考图片存储器64中。经重构视频块可供运动估计单元42和运动补偿单元44用作参考块以帧间译码后续视频帧中的块。

图7是说明视频解码器30的实例的框图。在图7的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82和及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图6)描述的编码遍次大体互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。

在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频块的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符以及其它语法元素。熵解码单元70将运动向量和其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级接收语法元素。

当视频切片译码为经帧内译码(i)切片时,帧内预测单元74可基于用信号发送的内部预测模式以及来自当前帧或图片的先前经解码块的数据,产生当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,b或p)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量和其它语法元素,产生用于当前视频切片的视频块的预测性块。可从参考图片列表中的一个内的参考图片中的一个产生预测性块。视频解码器30可基于存储在参考图片存储器82中的参考图片,使用默认构建技术构建参考帧列表,即列表0和列表1。运动补偿单元72通过解析运动向量和其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收的语法元素中的一些确定用以对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片或p切片)、用于切片的参考图片列表中的一或多个的构建信息、用于切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,以及用以对当前视频切片中的视频块进行解码的其它信息。

运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可从接收的语法元素确定供视频编码器20使用的内插滤波器并使用所述内插滤波器产生预测性块。

逆量化单元76逆量化(即,解量化)在位流中提供且由熵解码单元70解码的经量化变换系数。逆量化过程可以包含将由视频解码器30计算出的量化参数qpy用于视频切片中的每一视频块以确定量化的程度,以及同样地应当应用的逆量化的程度。

逆变换单元78将逆变换(例如,逆dct、逆整数变换或概念上类似的逆变换过程)应用于变换系数以便产生像素域中的残余块。

在运动补偿单元72基于运动向量和其它语法元素产生当前视频块的预测性块后,视频解码器30通过对来自逆变换单元78的残余块与由运动补偿单元72产生的对应预测性块求和,形成经解码视频块。求和器80表示执行此求和运算的一或多个组件。必要时,解块滤波器还可应用于对经解码块进行滤波以便移除成块效应假象。还可使用其它环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式提高视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,所述参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以用于稍后呈现在显示装置(例如,图1的显示装置32)上。

应认识到,取决于实例,本文中所描述的技术中的任一种的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。

在一或多个实例中,所描述功能可用硬件、软件、固件或其任何组合来实施。如果在软件中实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体或通信媒体的有形媒体,所述通信媒体包含例如根据通信协议有助于将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。

通过举例而非限制的方式,这类计算机可读存储媒体可以包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器、或可以用于以指令或数据结构的形式存储期望的程序代码并且可以被计算机访问的任何其它媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、dsl或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各个的组合也应包含在计算机可读媒体的范围内。

指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一个。此外,在一些方面中,本文中所描述的功能性可在经配置以用于编码和解码或并入在组合编解码器中的专用硬件和/或软件模块内提供。并且,所述技术可完全实施于一或多个电路或逻辑元件中。

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

已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

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