CN107409221B - 编码方法、解码方法、编码装置、解码装置、计算设备以及存储介质 - Google Patents
编码方法、解码方法、编码装置、解码装置、计算设备以及存储介质 Download PDFInfo
- Publication number
- CN107409221B CN107409221B CN201680015911.9A CN201680015911A CN107409221B CN 107409221 B CN107409221 B CN 107409221B CN 201680015911 A CN201680015911 A CN 201680015911A CN 107409221 B CN107409221 B CN 107409221B
- Authority
- CN
- China
- Prior art keywords
- function
- lut
- adaptive
- shaping
- video content
- 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
Links
- 238000000034 method Methods 0.000 title claims description 156
- 238000007493 shaping process Methods 0.000 claims abstract description 248
- 230000003044 adaptive effect Effects 0.000 claims abstract description 180
- 230000006870 function Effects 0.000 claims description 291
- 230000008569 process Effects 0.000 claims description 73
- 238000013507 mapping Methods 0.000 claims description 38
- 238000011144 upstream manufacturing Methods 0.000 claims description 29
- 230000002441 reversible effect Effects 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims 4
- 238000004590 computer program Methods 0.000 claims 2
- 230000001186 cumulative effect Effects 0.000 claims 2
- 238000009877 rendering Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 17
- 238000013459 approach Methods 0.000 abstract description 7
- 230000004044 response Effects 0.000 description 36
- 238000010845 search algorithm Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 239000010410 layer Substances 0.000 description 16
- 230000000007 visual effect Effects 0.000 description 13
- 239000000470 constituent Substances 0.000 description 11
- 239000002356 single layer Substances 0.000 description 11
- 238000013139 quantization Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 239000002355 dual-layer Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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/1887—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 a variable length codeword
-
- 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
-
- 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/179—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 a scene or a shot
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
基于接收的源图像来计算统计值。基于一个或多个统计值来选择用于一个或多个源图像的自适应整形函数。基于所选择的自适应整形函数来对源视频内容的一部分进行自适应地整形以生成整形视频内容的一部分。源视频内容的该部分用一个或多个源图像表示。生成所选择的自适应整形函数的逆函数的逼近。将整形视频内容和一组自适应整形参数编码为整形视频信号,该组自适应整形参数定义所选择的自适应整形函数的逆函数的逼近。整形视频信号可以被下游接收设备处理以生成例如用于用显示设备渲染的重构源图像的版本。
Description
相关申请的交叉引用
本发明要求2015年3月20日提交的美国临时专利申请No. 62/136,402和2015年7月31日提交的美国临时专利申请No. 62/199,391的权益,这些申请整体通过引用并入本文。
技术领域
本发明总体上涉及图像处理,并且具体地涉及编码、解码和表示视频数据。
背景技术
由上游设备提供给下游设备的视频数据可以支持各种动态范围、颜色空间等。动态范围可以从高端处的10,000尼特(nit)、12,000尼特或者甚至更高的明亮度(brightness)水平变化到低端处的100尼特、 300尼特、600尼特等的明亮度水平。颜色空间可以包括,但不限于,线性颜色空间、非线性颜色空间、感知量化的颜色空间等。
另外,下游设备可能需要与用于由上游设备对视频数据进行编码的操作参数相关的元数据以生成用于对由上游设备生成的视频信号进行解码的操作参数。下游设备用于进行相对较高质量的解码操作将需要的元数据的量可能太大以至于不能被发送到下游设备中的许多个下游设备和/或被下游设备中的许多个下游设备处理。
本节中所描述的方法是可以实行的方法,但不一定是以前已经设想过的或实行过的方法。因此,除非另有指示,否则不应仅由于本节中所描述的任何方法被包括在本节中就假定该方法有资格作为现有技术。类似地,除非另有指示,否则关于一种或多种方法认定的问题不应基于本节而被假定为已经在任何现有技术中被认识到。
附图说明
本发明在附图的各图中被以示例的方式、而非限制的方式被示出,在附图中,相似的附图标记指代类似的元件,其中:
图1A示出视频编码器;
图1B示出视频解码器;
图2示出逼近整形函数的示例方法;
图3A和图3B示出用于逼近目标LUT的示例处理流程;
图4A至图4C示出用于对图像进行分类的示例算法;
图5A和图5B示出用于自适应整形和逆映射的示例处理流程;以及
图6示出在其上可以实现如本文所描述的计算机或计算设备的示例硬件平台。
具体实施方式
本文描述了与编码、解码和表示视频数据相关的示例实施例。在以下描述中,为了解释的目的,阐述了许多特定细节,以便提供本发明的透彻理解。但是,将清楚的是,可以在没有这些特定细节的情况下实施本发明。在其他情况下,众所周知的结构和设备不被详尽描述,以便避免不必要地封闭、模糊或混淆本发明。
本文根据以下大纲来描述示例实施例:
1.总体概述
2.对自适应整形视频内容进行编码
3.对自适应整形视频内容进行解码
4.用于自适应整形的幂函数
5.逼近与自适应整形相关的函数
6.示例处理流程
7.实时优化
8.实现机制——硬件概述
9.等同、扩展、替代及其他
1.总体概述
本概述呈现了本发明的示例实施例的一些方面的基本描述。应注意,本概述不是示例实施例的各方面的广泛的或详尽的总结。而且,应注意,本概述不意图被理解为识别示例实施例的任何特别重要的方面或元件,也不意图被理解为具体地描绘示例实施例的任何范围,也不意图被理解为概括地描绘本发明。本概述仅以精简和简化的格式呈现与示例实施例相关的一些概念,并且应被理解为仅仅是下面接着的对示例实施例的更详细描述的概念性序言。
在不使用如本文所描述的自适应整形的情况下,视频编解码器以可能不保留最初用相对高的深度的可用码字编码的源视频内容(例如,参考编码视频内容、PQ参考编码视频内容等)的视觉细节的方式来分配相对低的位深的可用码字(例如,双通道8位视频信号、单通道 10位视频信号等)。例如,不使用如本文所描述的自适应整形的编解码器(例如,gamma域编解码器等)可能对高亮度子范围(例如,明亮部分、高光等)过度地分配码字,而对低亮度子范围(例如,黑暗部分、黑暗区域等)不足地分配码字。结果,根据这些其他技术,感知编码的源视频内容的视觉细节可能不必要地损失。
实现如本文所描述的自适应整形技术的视频编解码器以保留多种多样的源视频内容中的视觉细节的方式来分配特定位深(例如,8位等)的可用码字。在一些实施例中,视频编解码器基于对源视频内容中的(例如,场景等中的)图像帧承载的图像内容进行分析的结果来选择/确定特定的参数值(例如,幂函数中的指数值、线性量化中的斜率、分段线性量化中的枢轴(pivot)等)。如果图像内容包括较多的高光部分或较多的亮度水平,则参数值可以被选择/确定为使高亮度子范围中的被较多地表示的亮度水平可用于编码或解码操作。如果图像内容包括较少的高光部分或较少的亮度水平,则参数值可以被选择/ 确定为使高亮度子范围中的被较少地表示的亮度水平可用于编码或解码操作。类似地,如果图像内容包括较多的黑暗部分或较多的亮度水平,则参数可以被选择/确定为使低亮度子范围中的被更多地表示的亮度水平可用于编码或解码操作。如果图像内容包括较少的黑暗部分或较少的亮度水平,则参数值可以被选择/确定为使低亮度子范围中的被较少地表示的亮度水平可用于编码或解码操作。
如本文所描述的技术可以用于支持对于包括单个层或多于一个层 (例如,双层、多层、基本层和一个或多个增强层的组合等)的视频信号(例如,编码位流等)的编码操作(例如,编码、解码、转码等)。这些技术可以用软件、硬件、软件和硬件的组合来实现,并且可以被各种计算设备、多媒体设备、移动设备等采用。技术中的至少一些可以被包装为一个或多个技术特征配置文件(profile)(例如,移动配置文件、平板配置文件、家庭娱乐系统配置文件等),这些技术特征配置文件可以独立于其他供应商、开发商、制造商等发布,或者与其他供应商、开发商、制造商等组合发布。
实现如本文所描述的用于对视频信号进行自适应整形的技术的视频编解码器可以用于支持向后兼容的(BC)视频应用、非向后兼容的 (NBC)视频应用等中的一个或多个。具有这样的视频编解码器的系统的示例可以包括,但不仅限于,以下中的任何一个:单层12位编解码器、双层8位编解码器、多层编解码器、非向后兼容的整形编解码器、向后兼容的编解码器、实现高级视频编码(AVC)中的一组设置 /要求/选项的编解码器、实现高效视频编码(HEVC)中的一组设置/ 要求/选项的编解码器等等。
本申请的受让人所拥有的于2014年3月25日提交的PCT专利申请No.PCT/US2014/031716中描述了非向后兼容的整形编解码器的一些示例,该申请的内容出于所有目的通过引用并入,就好像在本文中被充分阐述一样。本申请的受让人所拥有的于2012年11月1日提交的PCT专利申请No.PCT/US2012/062932中描述了向后兼容的整形编解码器的一些示例,该申请的内容出于所有目的通过引用并入,就好像在本文中被充分阐述一样。
在一些实施例中,如本文所描述的编解码器系统实现曲线逼近方法,该方法使用最小化总体最大误差的有限数量的多项式来逼近任意的整形函数。另外地、可选地或可替代地,该编解码器系统可以实现自适应参数选择算法,该算法确定或选择与整形函数结合使用的自适应整形参数以实现比其他方式更好的感知质量。
用于媒体节目的源视频包可以是相对大的文件大小,因为源视频包可以包括具有相对高的空间分辨率(例如,4k、8k等)、相对大的动态范围、相对宽的色域(color gamut)的源视频内容。在一些实施例中,可以至少部分基于自适应信号整形而将已经被编码在相对高位深的视频信号(例如,12位视频信号、14+位视频信号等)中的源视频内容转码为大小小得多的编码视频内容。
例如,可以用与(例如,固定的、非自适应整形的、等等的)亮度相关值或色度相关值对应的源码字而将源内容从图像到图像、从场景到场景、从媒体节目到媒体节目等等地编码在12位PQ视频信号中。
如本文所使用的术语“PQ”是指感知亮度幅度量化。人类视觉系统以非常非线性的方式对增大的光水平做出响应。人类看见刺激的能力受该刺激的亮度、该刺激的大小、构成该刺激的空间频率以及眼睛在人正在看该刺激的特定瞬间已经适应的亮度水平的影响。在实施例中,感知量化器函数将线性输入灰度水平映射到与人类视觉系统中的对比敏感度阈值更好地匹配的输出灰度水平。SMPTE ST 2084:2014 “High Dynamic Range EOTF ofMastering Reference Displays”中描述了PQ映射函数(或EOTF)的示例,该文献全文通过引用并入本文,在该文献中,给定固定的刺激大小,对于每个亮度水平(即,刺激水平),根据最敏感的适应水平和最敏感的空间频率(根据HVS 模型)来选择该亮度水平处的最小可见对比步长(contrast step)。与表示物理阴极射线管(CRT)设备的响应曲线并且巧合地可能与人类视觉系统的响应方式具有非常粗略的相似性的传统gamma曲线相比, PQ曲线使用相对简单的函数模型来模拟人类视觉系统的真实视觉响应。
被编码在12位PQ视频信号中的源内容可以具有相对高的动态范围,诸如高达12,000尼特的动态范围等。相反,可以用不一定与固定的亮度相关值或色度相关值对应的自适应整形码字将编码视频内容从图像到图像、从场景到场景、从媒体节目到媒体节目等等地编码在10 位视频信号中。可以基于可以从图像到图像、从场景到场景、从媒体节目到媒体节目等等变化的自适应整形函数而将10位码字空间中的自适应整形码字(例如,自适应地、等等地)映射到12位码字空间中的源码字。结果,编码视频内容在被编码在10位信号中时可以支持相对高的动态范围,甚至高达被编码在12位信号中的源视频内容支持的整个动态范围。自适应整形函数可以用量化曲线、查找表(LUT)、码字映射等中的一个或多个来表示。
在一些实施例中,可以将表示由上游设备使用以执行源视频信号的自适应整形的自适应整形函数的量化曲线、查找表(LUT)、码字映射等中的一些或全部作为组成元数据与被编码在10位信号中的编码视频内容一起从上游设备(例如,视频编码器、视频转码器等)直接或间接地发送到下游接收设备(例如,视频解码器、视频转码器等)。由量化曲线、查找表(LUT)、码字映射等表示的自适应整形函数可以被下游接收设备使用以从编码视频内容重构源视频内容的版本。例如,可以基于自适应整形函数或其逆函数(inverse function)来将编码视频内容中的自适应整形码字逆映射到与源视频内容中的源码字等同的一组码字(例如,在12位码字空间中等)。
包括自适应整形函数的表示的组成元数据可能太大以至于不能被发送到一些下游设备和/或被一些下游设备处理。难以处理相对大量的元数据(例如,与视频处理相关的元数据,诸如组成元数据等)的下游设备可以包括,但不仅限于以下中的任何一个:移动设备、占地面积小的设备、具有相对有限的视频处理能力的计算设备、合并具有相对有限的视频处理能力的片上系统(SoC)模块的计算设备、合并支持相对少量的元数据的发送/接收的视频信号格式、实现、设计、硬件、软件、固件等的计算设备等等。
根据如本文所描述的技术,可以用有限数量的简单的数学函数(诸如多项式、分段线性(PWL)段等)来逼近自适应整形函数。在非限制性示例实施例中,用有限数量(例如,4个、8个、12个、大于1 的不同的正整数个等)的多项式函数(例如,线性、2次等)来逼近自适应整形函数,这些多项式对每个系数使用有限数量的位,并且具有最小化的逼近误差。用有限数量的多项式函数逼近自适应整形函数中的最小化的逼近误差有益于最小化基于用有限数量的多项式函数对自适应整形函数的逼近而执行的逆映射中的误差。
可以对许多不同形式的各种视频信号和/或视频内容执行自适应整形。具体地说,如本文所描述的技术适用于逼近任何自适应整形函数,包括但不限于任意的LUT。
在一些示例实施例中,如本文所描述的机制形成媒体处理系统的一部分,媒体处理系统包括但不限于以下中的任何一个:手持设备、游戏机、电视机、膝上型计算机、上网本计算机、平板计算机、蜂窝无线电电话、电子书阅读器、销售点终端、台式计算机、计算机工作站、计算机亭(kiosk)、或各种其他种类的终端和媒体处理单元。
对本文所描述的优选实施例及一般原理和特征的各种修改对于本领域技术人员将是容易明白的。因此,本公开并不意图限于所示的实施例,而是要被赋予与本文所描述的原理和特征一致的最广泛的范围。
2.对自适应整形视频内容进行编码
图1A示出示例视频编码器102,其可以用作将用自适应整形视频内容编码的输出视频信号(或整形视频信号)递送到下游设备(下游设备中的一个可以例如是图1B的视频解码器152等)的上游设备。视频编码器(102)可以用一个或多个计算设备来实现。在一些实施例中,视频编码器(102)包括源内容解码器104、自适应内容整形器106、整形内容编码器108等。
在一些实施例中,源内容解码器(104)包括被配置为接收一个或多个源视频信号(例如,编码位流等)、将源视频信号解码为源视频内容的软件、硬件、软件和硬件的组合等。在一些实施例中,从用源视频内容编码在单个层中的单层视频信号解码源视频内容。在一些实施例中,从用源视频内容编码在多于一个层(例如,基本层和一个或多个增强层、等等)中的多层编码视频信号解码源视频内容。
在一些实施例中,自适应内容整形器(106)包括被配置为对源视频内容实施自适应整形操作以生成整形视频内容的软件、硬件、软件和硬件的组合等。源视频内容或整形内容中的一个或两个可以用于向后兼容的(BC)视频应用、非向后兼容的(NBC)视频应用等中的一个或多个。
在一些实施例中,自适应内容整形器(106)被配置为选择并且应用整形函数以将源视频内容中表示的一个或多个图像、一个或多个场景等中的源码字整形为整形视频内容中表示的一个或多个对应图像、一个或多个对应场景等中的整形码字。根据如本文所描述的技术,基于源视频内容中表示的图像、场景等中的实际内容来自适应地做出整形函数和/或整形函数中使用的自适应整形参数的选择。另外地、可选地或可替代地,可以在这些图像、场景等正在被视频编码器(102)处理的同时自适应地做出整形函数和/或整形函数中使用的自适应整形参数的选择。
自适应内容整形器(106)可以,但不限于,被配置为使用正向幂函数作为整形函数。自适应内容整形器(106)可以被配置为确定图像是否包含大的平滑的明亮区域、大的黑暗的黑色区域等、图像是否是中间色调图像、等等。基于这样的确定,可以选择自适应整形参数,诸如正向幂函数的指数值等。
在一些实施例中,自适应内容整形器(106)直接基于选择的具有所选自适应整形参数的自适应整形函数来对源视频内容中的源码字应用自适应整形操作。
在一些实施例中,自适应整形函数可以用LUT来表示,该LUT 包括多个条目,其中每个条目将用于对源视频内容进行编码的一组可用源码字中的源码字映射到用于对整形视频内容进行编码的一组可用整形码字中的整形码字。用于对源视频内容中的一个或多个第一图像进行整形的第一LUT可以不同于用于对源视频内容中的一个或多个第二图像进行整形的第二LUT。在一些实施例中,该组可用源码字对于第一图像和第二图像两者可以保持相同。例如,如果自适应内容整形器(106)确定第一图像是平滑的明亮图像,则LUT或LUT表示的自适应整形函数可以具有与明亮的亮度值对应的相对大量的可用整形码字。结果,即使当整形视频内容被编码为位深比源视频信号(例如, 12位视频信号、14+位视频信号等)低的整形视频信号(例如,双层 8位视频信号、单层10位视频信号等)时,也可以减小或避免轮廓状 /带状伪像。另一方面,如果自适应内容整形器(106)确定第二图像是平滑的黑暗图像(但不是纯黑色图像),则LUT或LUT表示的自适应整形函数可以具有与黑暗的亮度值对应的相对大量的可用整形码字。结果,黑暗区域中的图像细节可以在被编码在整形视频信号中的整形视频内容中被保留。在一些实施例中,自适应内容整形器(106) 基于LUT来对源视频内容中的源码字应用自适应整形操作,该LUT 可以基于所选择的自适应整形函数而被生成,或者该LUT本身可以被认为是所选择的自适应整形函数。
在一些实施例中,自适应内容整形器(106)确定表示或等同于整形函数的(目标)LUT的逼近。例如,自适应内容整形器(106)可以,但不仅限于,用具有具体确定的系数的多项式来逼近LUT以最小化由多项式表示的映射和由目标LUT表示的映射之间的误差。在一些实施例中,自适应内容整形器(106)基于逼近目标LUT或由LUT 表示的整形函数的多项式来对源视频内容中的源码字应用自适应整形操作。
不管视频编码器(102)可以以哪种方式应用自适应整形操作(例如,基于诸如解析(analytical)或非解析函数或分段解析函数之类的整形函数,基于可以表示或者可以不表示解析函数的LUT,基于可以基于解析函数生成或者可以不基于解析函数生成的LUT的逼近,等等),视频编码器(102)都可以被配置为生成一种或多种类型的自适应整形参数并且将该一种或多种类型的自适应整形参数中的至少一个发送到下游接收设备。
在一些实施例中,自适应内容整形器(106)被配置为确定表示整形函数的逆函数的(目标)LUT(或反向LUT)的逼近。组成元数据可以被生成并且作为由视频编码器(102)承载在整形视频信号中的总体元数据的一部分发送到下游接收设备(诸如图1B的视频解码器152 等),该组成元数据定义表示整形函数的逆函数的目标LUT的逼近。
在一些实施例中,视频解码器(152)可以被配置为接收表示整形函数的逆函数的目标LUT的逼近或者基于从整形视频信号解码/提取的组成元数据来重构该逼近。视频解码器(152)可以被配置为使用目标LUT的逼近来对从整形视频信号解码的来源于视频编码器的整形视频内容应用逆映射操作,不管自适应内容整形器(106)是基于整形函数、还是可替代地基于表示整形函数的正向LUT、还是可替代地基于正向LUT的逼近来对源视频内容中的源码字应用自适应整形操作。
另外地、可选地或可替代地,在一些实施例中,自适应内容整形器(106)被配置为生成组成元数据并且将该组成元数据作为由视频编码器(102)承载在整形视频信号中的总体元数据的一部分发送到下游接收设备(诸如图1B的视频解码器152等),该组成元数据定义表示整形函数的逆函数的目标LUT。在一些实施例中,视频解码器(152) 可以被配置为接收目标LUT或者基于从整形视频信号解码/提取的组成元数据来重构目标LUT。视频解码器(152)可以被配置为使用目标LUT来对从整形视频信号解码的来源于视频编码器的整形视频内容应用逆映射操作,不管自适应内容整形器(106)是基于整形函数、还是可替代地基于表示整形函数的正向LUT、还是可替代地基于正向 LUT的逼近来对源视频内容中的源码字应用自适应整形操作。
另外地、可选地或可替代地,在一些实施例中,自适应内容整形器(106)被配置为生成组成元数据并且将该组成元数据作为由视频编码器(102)承载在整形视频信号中的总体元数据的一部分发送到下游接收设备(诸如图1B的视频解码器152等),该组成元数据定义整形函数的逆函数。在一些实施例中,视频解码器(152)可以被配置为接收整形函数的逆函数或者基于从整形视频信号解码/提取的组成元数据来重构整形函数的逆函数。视频解码器(152)可以被配置为使用整形函数的逆函数来对从整形视频信号解码的来源于视频编码器的整形视频内容应用逆映射操作,不管自适应内容整形器(106)是基于整形函数、还是可替代地基于表示整形函数的正向LUT、还是可替代地基于正向LUT的逼近来对源视频内容中的源码字应用自适应整形操作。
在一些实施例中,整形内容编码器(108)包括被配置为将整形视频内容编码到整形视频信号中(例如,用整形视频信号编码的双层8 位视频信号、用整形视频信号编码的单层10位视频信号等)。另外地、可选地或可替代地,视频编码器(102)或其中的整形内容编码器将以下元数据作为整形视频信号的一部分输出到下游设备(例如,图1B 的视频解码器152等):该元数据包括视频编码器(102)的操作中所使用的操作参数中的一些或全部。被发送到下游设备的元数据中的操作参数包括但不限于以下中的任何一个:包括定义整形函数或其逆函数的自适应整形参数的组成元数据;定义表示整形函数或其逆函数的 LUT的组成元数据;定义整形函数或整形函数的逆函数中的一个或多个的逼近的组成元数据;色调映射参数、裁剪参数、在gamma压缩的幂函数中使用的指数值、逆映射参数、LUT、分段线性(PWL)函数中的枢轴值、非线性量化参数、非线性量化(NLQ)参数中的一个或多个等。元数据可以是在包含编码视频内容的层中承载的数据的一部分,或是总体视频位流的单独的子位流中的数据的一部分,例如,作为在视频位流中可用的补充增强信息(SEI)或其他类似的元数据容器(carriage)的一部分。示例子位流可以是由杜比实验室有限公司(DolbyLaboratories,Inc.)开发的参考处理单元(RPU)流。
如本文所使用的,术语“位深”是指在提供用以对图像数据进行编码或量化的可用码字的编码空间中提供的位数。低位深的示例是8 位;高位深的示例是12位或更高。
如本文所使用的,视频内容可以包括图像或帧的序列。如本文所使用的,“源图像”可以指以下的图像:诸如由高端图像获取设备捕获的场景参考图像、参考编码图像、PQ编码图像等。源图像可以包括相对大位深的码字空间中的可用的码字。
诸如源图像、整形图像、重构图像等的图像可以在任何颜色空间中。例如,源图像可以是YCbCr颜色空间、RGB颜色空间、XYZ颜色空间、YDzDx颜色空间、IPT颜色空间等中的12+位图像。在示例中,在图像中表示的每个像素包括用于对颜色空间(例如,YCbCr颜色空间、RGB颜色空间、XYZ颜色空间、YDzDx颜色空间、IPT颜色空间等)定义的所有通道(例如,RGB通道、亮度通道和色度通道、 XYZ通道、YDzDx通道、IPT通道等)的码字。每个码字包括用于颜色空间中的通道中的一个或多个的上采样或下采样的码字。在示例实施例中,视频编码器(102)被配置为执行与图像相关的、从第一颜色空间(例如,RGB颜色空间等)到不同的第二颜色空间(例如, YCbCr颜色空间等)的颜色空间变换。
在示例实施例中,视频编码器(102)被配置为将第一采样格式(例如,4∶4∶4采样格式等)的图像下采样或上采样为不同的第二采样格式 (例如,4∶2∶0采样格式等)。
实现信号整形和其他操作的视频编码器的示例包括,但不仅限于,以下中的任何一个:一个或多个单层12位编解码器、一个或多个双层 8位编解码器、一个或多个多层编解码器、一个或多个非向后兼容的整形编解码器、一个或多个向后兼容的编解码器、实现AVC中的一组设置/要求/选项的一个或多个编解码器、实现HEVC、 H.264/AVC/HEVC、MPEG-2、VP8、VC-1中的一组设置/要求/选项的一个或多个编解码器、等等。
3.对自适应整形视频内容进行解码
图1B示出示例视频解码器152,该视频解码器152可以用作对来自上游设备(其中的一个可以例如是图1A的视频编码器102等)的用自适应整形视频内容编码的输入视频信号(或整形视频信号)进行处理的下游设备。视频解码器(152)可以用一个或多个计算设备来实现。在一些实施例中,视频解码器(152)包括整形内容解码器154、逆映射器156、显示管理器158等。
在一些实施例中,整形内容解码器(154)包括被配置为接收一个或多个输入视频信号(例如,编码位流等)、将输入视频信号解码为整形视频内容的软件、硬件、软件和硬件的组合等。在一些实施例中,从用整形视频内容编码在单个层中的单层视频信号(例如,单通道10 位视频信号等)解码整形视频内容。在一些实施例中,从用整形视频内容编码在多于一个层(例如,基本层和一个或多个增强层等)中的多层编码视频信号(例如,双通道8位视频信号等)解码整形视频内容。
在一些实施例中,逆映射器(156)包括被配置为对整形视频内容实施逆映射操作以生成源视频内容的重构版本的软件、硬件、软件和硬件的组合等,上游设备使用该源视频内容来生成整形视频内容。重构视频内容或整形内容中的一个或两个可以用于向后兼容的(BC)视频应用、非向后兼容的(NBC)视频应用等中的一个或多个。
在一些实施例中,整形函数已经被上游设备(例如,图1A的视频编码器102等)自适应地选择以将源视频内容中表示的一个或多个图像、一个或多个场景等中的源码字整形为在整形视频内容中表示的一个或多个对应图像、一个或多个对应场景等中的整形码字。根据如本文所描述的技术,基于源视频内容中表示的图像、场景等中的实际内容来自适应地做出整形函数和/或在整形函数中所使用的自适应整形参数的选择。
整形函数的示例包括,但不仅限于,正向幂函数等。在上游设备中被应用以对图像进行整形的整形函数中使用的自适应整形参数可以由上游设备基于图像是否包含大的平滑的明亮区域、大的黑暗的黑色区域等、图像是否是中间色调图像等来确定/选择。
在一些实施例中,由视频解码器(152)接收的整形视频内容是由上游设备直接基于选择的具有所选自适应整形参数的自适应整形函数对源视频内容中的源码字应用自适应整形操作而生成的。
在一些实施例中,由视频解码器(152)接收的整形视频内容是由上游设备基于LUT(例如,正向LUT等)生成的,该LUT可以基于所选择的自适应整形函数生成,或者可以不基于所选择的自适应整形函数生成。
在一些实施例中,由视频解码器(152)接收的整形视频内容是由上游设备基于表示或等同于整形函数的(目标)LUT的逼近生成的。该逼近可以基于多项式,或者可以不基于多项式。
不管由视频解码器(152)接收的整形视频内容是由上游设备以哪种方式生成,视频解码器(152)或其中的逆映射器(156)都可以被配置为通过对组成元数据进行解码来获得自适应整形参数,该组成元数据作为由视频解码器(152)接收的输入视频信号中所承载的元数据的一部分而被发送。
在一些实施例中,基于解码的自适应整形参数,逆映射器(156) 被配置为确定表示整形函数(例如,由上游设备用来对一个或多个图像执行自适应整形的整形函数等)的逆函数的(目标)LUT(或反向LUT)的逼近。视频解码器(152)或其中的逆映射器(156)可以被配置为通过使用目标LUT的逼近对从整形视频信号解码的来源于视频编码器的整形视频内容应用逆映射操作来生成源视频内容的重构版本(其被上游设备用来生成由视频解码器152接收的整形视频内容),不管上游设备是基于整形函数、还是可替代地基于表示整形函数的正向LUT、还是可替代地基于正向LUT的逼近来对源视频内容中的源码字应用自适应整形操作。
在一些实施例中,显示管理器(158)包括被配置为对源视频内容的重构版本执行视频处理操作(诸如显示管理操作等)的软件、硬件、软件和硬件的组合等。示例显示管理操作可以包括,但不仅限于,以下中的任何一个:色调映射操作、裁剪操作、色域适应操作等。这些操作中的一些或全部可以是特定于设备的。通过这些操作,源视频内容的重构版本中所表示的图像可以被显示设备渲染(render),该显示设备可以是包括视频解码器(152)的同一个设备的一部分,可以与视频解码器(152)结合操作,等等。
在示例实施例中,视频解码器(152)被配置为将第一采样格式(例如,4∶2∶0采样格式等)的图像上采样或下采样为不同的第二采样格式 (例如,4∶4∶4采样格式等)。
实现逆映射、逆信号整形和其他操作的视频解码器的示例包括,但不仅限于,以下中的任何一个:一个或多个单层12位编解码器、一个或多个双层8位编解码器、一个或多个多层编解码器、一个或多个非向后兼容的整形编解码器、一个或多个向后兼容的编解码器、实现 AVC中的一组设置/要求/选项的一个或多个编解码器、实现HEVC、 H.264/AVC/HEVC、MPEG-2、VP8、VC-1中的一组设置/要求/选项的一个或多个编解码器、等等。
4.用于自适应整形的幂函数
在一些实施例中,可以对支持扩展动态范围(EDR)(例如,高达6,000尼特、12,000尼特、20,000+尼特等)的视频信号用例如幂函数来有效地执行自适应整形。幂函数可以用于将相对高位速率的源视频信号(诸如12+位感知量化(PQ)的视频信号等)压缩为相对低位速率的自适应成形视频信号(诸如8位或10位自适应整形视频信号等)。可以至少部分地基于源视频信号中的内容来选择最佳的自适应整形参数,以便减小或防止自适应整形视频信号中的视觉伪像。这些最佳自适应整形参数的选择可以在源视频信号中表示的当前图像、当前场景等正在被上游设备处理并且自适应地整形/压缩为在自适应整形视频信号中表示的图像、场景等时,由上游设备针对当前图像、当前场景等自动地做出。本申请的受让人所拥有的于2014年3月25日提交的PCT专利申请No.PCT/US2014/031716中描述了使用幂函数的自适应整形的一些示例,该申请的内容出于所有目的通过引用并入,就好像在本文中被充分阐述一样。
在示例实施例中,自适应整形由上游设备(诸如视频编码器等) 使用如下的正向幂函数执行:
其中,α表示指数值;vi表示从正在被视频编码器整形的源视频信号解码的源码字(例如,源亮度码字等);si表示使用正向幂函数从vi改动 /映射的自适应整形码字(例如,改动的/映射的亮度码字等);round(...) 表示圆整函数(rounding function);和分别是自适应成形码字 (例如,改动/映射的亮度码字等)的最小值和最大值;和分别是源码字(例如,源亮度码字等)的最小值和最大值。另外地、可选地或可替代地,在一些实施例中,裁剪函数可以用于确保有损压缩之后的任何超出范围的(例如,超出范围等的)码字仍可以被下游接收设备(诸如视频解码器等)逆映射到最接近的有效的重构源码字。
逆映射可以由下游接收设备(诸如视频解码器等)使用如下的反向幂函数执行:
其中,表示从整形码字逆映射的重构源码字(例如,重构源亮度码字等),这些整形码字是从已经被上游设备(诸如在本示例中的视频编码器)整形的自适应整形视频信号解码的。
在一些实施例中,在解码器中的正向幂函数和反向幂函数中,和可以被如下设置:
其中,符号“effective_codewords”表示可用于表示自适应整形码字的码字数量(例如,双层8位视频信号的511个、单层10位视频信号中的1023个、等等)。
整形函数或其逆函数(诸如正向幂函数、反向幂函数等)可以被表示为LUT,诸如一维LUT(1D-LUT)等。如本文所描述的技术可以使用表示整形函数或其逆函数的或者基于整形函数或其逆函数生成的LUT作为用于用有限数量的二次多项式进行逼近的目标LUT。在一些实施例中,系数可以是具有例如符合设备特定的约束、模块特定的约束(例如,SoC相关约束等)等的有限精度的定点数。
以诸如在表达式(1)或(2)中所示的幂函数为例,指数(例如,表达式(1)的正向幂函数中的α、表达式(2)的反向幂函数中的1/α等)可以大于一(1),使幂函数成为凸函数,或者可以小于一(1),使幂函数成为凹函数。这些不同的α值对逼近基于幂函数生成的目标LUT造成了不同的困难。
在各种实施例中,一种或多种算法可以在目标LUT的逼近中单个地使用或者组合使用。在示例中,被表示为正向搜索算法的第一算法可以用于沿着表示输入码字值的水平坐标轴、从小码字值到大码字值 (或者从左到右)逼近幂函数(其中垂直坐标轴表示映射码字值)。如本文所使用的,LUT(诸如目标LUT等)中的输入码字值可以指 LUT的键-值对中的键,而LUT中的映射码字值可以指LUT的键-值对中的值。在另一示例中,被表示为反向搜索算法的第二算法可以用于沿着水平坐标轴、从大码字值到小码字值(或者从右到左)逼近幂函数。在进一步的示例中,第一算法和第二算法两者可以被使用;来自这些算法中的一个(例如,生成更小的逼近误差、最快地收敛等) 的结果可以用于逼近幂函数。
应注意,自适应整形函数可以是正向幂函数,或者可以不是正向幂函数。另外地、可选地或可替代地,整形函数的逆函数可以是反向幂函数,或者可以不是反向幂函数。在一些实施例中,如本文所描述的整形函数的逆函数用可以从任何任意的整形函数导出或推断的最佳反向LUT(被表示为BL())来表示。整形函数可以被上游设备(诸如视频编码器等)用来执行自适应整形。在一些实施例中,自适应整形函数可以用正向LUT(被表示为FL())来表示。最佳反向LUT(或最佳BL())可以被下游设备(诸如视频解码器等)用来执行逆映射。
对于在整形视频内容中使用的每个整形码字值sc,对整形视频内容中的具有相同整形码字值sc的(例如,图像中的、相同场景的图像中的、等等的)所有像素进行编组(group)。基于整形视频内容中的这些像素,然后如下确定或识别源视频内容中的已经被整形或映射到 sc的对应源码字值vi组(set):
ω(sc)={i|FL(i)=sc} (5)
对于每个码字值sc,如果它的对应源码字值vi组是非空的,则对该组中的所有收集的源码字值求取或计算平均值。与每个码字值sc相对应的所有收集的源码字值的平均值可以用于如下构造最佳BL(sc):
其中,|ω(sc)|表示上面的表达式(5)的组中的收集的源码字值的数量。
在一些实施例中,表达式(6)中的最佳BL(sc)可以用作要被逼近 (例如,用多项式等逼近)的目标LUT。
5.逼近与自适应整形相关的函数
图2示出逼近整形函数的示例方法。一个或多个计算设备、在计算设备中至少部分地用硬件实现的一个或多个模块等可以执行该方法。例如,视频处理设备中的LUT逼近模块(诸如视频编码器中的自适应整形模块、视频解码器中的逆映射模块等)可以执行图2的方法中的动作中的一些或全部。
在方框202中,LUT逼近模块通过设置初始误差阈值t来开始目标LUT的逼近。
在方框204中,LUT逼近模块确定是否要强制执行(enforce)连续性条件。如果是,则用于逼近目标LUT的多项式要满足如下约束,在该约束下,由这些多项式形成的分段曲线是0次连续的(0th order continuous);并且该分段曲线的两个相邻多项式所表示的任何两个曲线段彼此接合。另一方面,如果将不强制执行连续性条件,则多项式不需要满足这样的约束(相邻的多项式可以彼此接合,或者可以不彼此接合)。该连续性约束的设置或不设置可以是内容依赖的。在示例中,LUT逼近模块可以确定图像或场景包含平滑的图像内容。响应于这样的确定,可以在逼近用于对这样的图像或场景进行整形或逆映射操作的目标LUT时强制执行连续性约束。这可以防止颜色带状伪像出现在相对平滑的图像内容中。在另一示例中,LUT逼近模块可以确定图像或场景包含变化相对大的图像内容(例如,就亮度值或色度值的差和变化等而言)。响应于这样的确定,在逼近用于对这样的图像或场景进行整形或逆映射操作的目标LUT时可以不强制执行连续性约束,因为颜色带状伪像不太可能出现在变化相对大的图像内容中。
在一些实施例中,LUT逼近模块可以基于是否要强制执行连续性条件或约束来在一组或多组不同的停止规则之中选择一组停止规则以应用于逼近操作中。响应于确定将不强制执行连续性条件,在方框206 中,LUT逼近模块可以被配置为选择第一组停止规则。另一方面,响应于确定将强制执行连续性条件,在方框208中,LUT逼近模块可以被配置为选择第二组停止规则。
停止规则可以指用于在逼近目标LUT时至少部分地确定是否终结段的逼近、是否停止或结束特定的计算或操作、是否移到不同的计算或操作等的规则(或复杂规则的一部分)。在一些实施例中,停止规则可以不仅包含阈值化检测器,而且还可以包含上升沿检测器、最小/最大段长度检测器等。停止规则(例如,停止规则的特定组合等) 可以用于在终结逼近段时产生比仅使用基于总体误差阈值的阈值化检测器更好的拟合精度。
在各种实施例中,可以基于图像类型、整形函数类型等来采用不同的停止规则。例如,对于由难以用多项式逼近的曲线所表示的整形函数,可以采用相对宽松的停止规则。对于相对平滑的图像,可以采用相对严格的停止规则。在一些实施例中,停止规则可以等同于逼近操作中的自由度的减少。停止规则表示的自由度越多(例如,一个自由度、两个自由度等),部分地基于停止规则而生成的目标LUT的逼近可以生成的失真越大。如果不使用停止规则或者使用相对宽松的停止规则,则可以使逼近误差最小化。但是,逼近可以包括在它们的末尾不汇合的曲线段,并且可以适合于或者可以不适合于特定的图像类型(例如,相对平滑的图像、相对不平滑的图像等)。
在示例实现中,如下定义第1号规则:
(prev_error_condition&&curr_error_condition)||
max_custom_length_condition(7)
其中,x&&y表示x和y的布尔逻辑“与”,x||y表示x和y的布尔逻辑“或”,prev_error_condition表示指示上一(last)拟合误差是否小于适用误差阈值(例如,默认误差阈值t、调整的误差阈值0.75t、进一步调整的阈值等)的谓词(predicate);curr_error_condition表示指示当前拟合误差是否小于适用误差阈值的谓词;并且max_custom_length_condition表示指示段是否已经达到预定义的最大长度的谓词。
在示例实现中,如下定义第2号规则:
(curr_error_condition&&min_custom_length_condition)||
max_custom_length_condition (8)
其中,min_custom_length_condition是指示段是否已经达到预定义的最小长度的谓词。
在示例实现中,如下定义第3号规则:
curr_error_condition&&min_custom_length_condition (9)
在一些实施例中,正向搜索和反向搜索可以使用同一组停止规则。在一些其他的实施例中,正向搜索和反向搜索可以使用不同组的停止规则。在一些实施例中,如图2的方框206中所示,当不强制执行连续性条件时,对正向搜索和反向搜索两者选择第1号规则。在一些实施例中,如图2的方框208中所示,当强制执行连续性条件时,对正向搜索选择第1号规则,而对反向搜索选择第2号规则。
在方框210中,LUT逼近模块使用正向搜索算法来执行目标LUT 的逼近。在方框212中,可以将使用正向搜索算法逼近目标LUT的结果保存在存储器中。
在方框214中,LUT逼近模块用反向搜索算法来执行目标LUT 的逼近。
在一些实施例中,正向搜索算法或反向搜索算法中的目标LUT 的逼近包括以下步骤。在对一个或多个算法设置初始误差阈值t之后,使2次多项式拟合到由目标LUT表示的整形函数或其逆函数的段。2 次多项式对段的拟合可以一个段接一个段地执行,例如在正向搜索算法中从左到右地执行,或者在反向搜索算法中从右到左地执行。每个段可以被确定或选择以使得该段和对应的逼近多项式之间的拟合误差不超过误差阈值t。如果段数等于对2次多项式的数量设置的最大数量,则曲线拟合成功地到达末尾。另一方面,如果段数少于对2次多项式的数量设置的最大数量,则减小误差阈值t(例如,t=0.75等);对于减小的误差阈值重复前述步骤直到段数等于对2次多项式的数量设置的最大数量。
在方框216中,LUT逼近模块确定使用反向搜索算法逼近目标 LUT生成的误差是否比使用正向搜索算法逼近目标LUT生成的误差大。
响应于确定使用反向搜索算法逼近目标LUT生成的误差大于使用正向搜索算法逼近目标LUT生成的误差,在方框218中,LUT逼近模块选择使用正向搜索算法逼近目标LUT作为目标LUT的(例如,最终的、等等)逼近。
响应于确定使用反向搜索算法逼近目标LUT生成的误差不大于使用正向搜索算法逼近目标LUT生成的误差,在方框220中,LUT 逼近模块选择使用反向搜索算法逼近目标LUT作为目标LUT的(例如,最终的、等等)逼近。
在方框222中,LUT逼近模块结束逼近目标LUT的操作。
已经描述了表示任意整形函数或者基于任意整形函数生成的目标 LUT的逼近可以使用正向搜索后面接着反向搜索来执行。这仅仅是为了例证的目的。在各种实施例中,表示任意整形函数或者基于任意整形函数生成的目标LUT的逼近可以用一个搜索(诸如使用正向搜索但不使用反向搜索,使用反向搜索但不使用正向搜索)来执行。另外地、可选地或可替代地,表示任意整形函数或者基于任意整形函数生成的目标LUT的逼近可以使用反向搜索后面接着正向搜索来执行。因此,可以根据如本文所描述的技术来使用逼近表示任意整形函数或者基于任意整形函数生成的目标LUT的这些及其他变型。
图3A示出用于逼近目标LUT的示例处理流程。一个或多个计算设备、计算设备中至少部分地用硬件实现的一个或多个模块等可以执行该方法。例如,视频处理设备中的LUT逼近模块(诸如视频编码器中的自适应整形模块、视频解码器中的逆映射模块等)可以执行图3A 的处理流程中的一些或全部。
在方框302中,处理流程通过对以下各项中的一个或多个进行初始化开始:枢轴相关变量;处理标志;收敛相关变量,诸如外循环中的最大迭代次数(例如,20次、30次、40次、50次、60次等)、搜索误差上界(例如,其被初始化为最大误差阈值t等);指示在迭代中是否找到有效逼近的标志(其被表示为“found_CC”)(例如,被初始化为假,等);等等。最大迭代次数、搜索误差上界t等是旨在最小化逼近整形函数中的失真的收敛约束,并且在各种实施例中可以采取不同的值(例如,系统可配置的、用户可超控的(overridable)、可基于使用图像训练组收集的统计而进行调节的(tunable)、等等)。在一些实施例中,最大迭代次数越大,处理流程最小化整形函数的逼近中的失真的尝试将越多。在一些实施例中,搜索误差上界t提供整形函数的逼近所收敛处的失真的上限(例如,使用达到或少于最大迭代次数的迭代等)。
在方框304中,处理流程使用收敛标志“converge_iter”进入外循环,收敛标志“converge_iter”在方框302中被初始化为假(0)。更具体地说,在方框304中,确定收敛标志“converge_iter”是否被设置为真(1)。
响应于确定收敛标志“converge_iter”被设置为真,在方框306 中,处理流程返回枢轴点、用于逼近目标LUT的多项式的最佳系数组。在方框308中,处理流程结束。
响应于确定收敛标志“converge_iter”被设置为假,处理流程将内循环参数(诸如内循环标志“converge”)中的一个或多个重置为假,将标志“found_CC”重置为假,将变量“num_pivot”(例如,其指示当前枢轴数量等)重置为一(1),等等,并且使用被重置为假 (0)的内循环标志“converge”进入内循环。更具体地说,在方框 310中,处理流程确定内循环标志“converge”是否被设置为真(1)。
响应于确定内循环标志“converge”被设置为假,处理流程将处理标志“found_one_seg”初始化为假(0),将内循环迭代计数“iter_cnt”初始化为一(1),并且继续执行第二处理流程以用于添加用多项式逼近的新段,并且走到图3B所示的第二处理流程的方框332。重复第二处理流程直到内循环标志“converge”在方框310中被确定为真为止。
响应于确定内循环标志“converge”被设置为真,在方框314中,处理流程确定由外循环迭代计数器“Out_iter_cnt”指示的、外循环中的迭代次数是否超过由(例如,恒定的、等等)配置值“MAX_OUT_CNT”指示的、外循环中的最大迭代次数。
响应于确定外循环中的迭代次数超过外循环中的最大迭代次数,在方框316中,收敛标志“converge_iter”被设置为真(1),并且处理流程走到方框304。
响应于确定外循环中的迭代次数没有超过外循环中的最大迭代次数,在方框318中,处理流程确定由变量“num_pivot”指示的(例如,当前的、等等)枢轴数量是否超过由(例如,恒定的、等等)配置值“MAX_NUM_PIVOT”指示的最大枢轴数量(例如,如果最大多项式数量为八个,则最多为九个枢轴,如果最大多项式数量为九个,则最多为十个枢轴,等等)。
响应于确定枢轴数量没有超过最大枢轴数量,在方框320中,表示为“max_error”的搜索误差上界被减小(例如,max_error=0.75 max_error等),并且处理流程走到方框304。
响应于确定枢轴数量超过最大枢轴数量,在方框316中,收敛标志“converge_iter”被设置为真(1),并且处理流程走到方框304。
图3B示出在图3A的方框310中可以响应于确定收敛标志“convergence”为假而被调用的示例第二处理流程。一个或多个计算设备、计算设备中至少部分地用硬件实现的一个或多个模块等可以执行该方法。例如,视频处理设备中的LUT逼近模块(诸如视频编码器中的自适应整形模块、视频解码器中的逆映射模块等)可以执行图3B 的处理流程中的一些或全部。
在方框332中,第二处理流程确定处理标志“found_one_seg”是否被设置为真(1)。响应于确定处理标志“found_one_seg”被设置为假,第二处理流程设置用于段候选的下界和上界,然后走到方框 346。
在一些实施例中,用于段候选的下界和上界的设置包括将用于段候选的下界和上界之间的水平距离设置为内循环迭代计数“iter_cnt”的当前值。结果,在多次内循环迭代情形下,只要标志“found_one_seg”保持为假(0),段候选在长度上就随着内循环迭代计数“iter_cnt”从一次内迭代到下一次内迭代递增而增长。
另一方面,响应于确定处理标志“found_one_seg”被设置为真,第二处理流程走到方框334。但是,在从方框332走到方框334之前,第二处理流程首先确定由变量“num_pivot”指示的枢轴数量是否超过由配置值“MAX_NUM_PIVOT”表示的最大枢轴数量。响应于确定枢轴数量超过最大枢轴数量,标志“found_CC”被设置为假(0),并且内循环标志“converge”被设置为真(1)。
在方框334中,第二处理流程继续确定标志“found_CC”是否被设置为真(1)。响应于确定标志“found_CC”被设置为假(0),第二处理流程返回到图3A的处理流程中的方框310。另一方面,响应于确定标志“found_CC”被设置为真(1),在方框336中,第二处理流程确定搜索方向值是指示正向搜索还是指示反向搜索。响应于确定搜索方向值指示反向搜索,在方框338中,第二处理流程对生成的枢轴点列表中的条目、系数列表中的条目等进行重新排序或者将这些条目反转,然后走到方框340。响应于确定搜索方向值指示正向搜索,第二处理流程直接走到方框340,而不对生成的枢轴点列表中的条目、系数列表中的条目等进行重新排序或者将这些条目反转。
在方框340中,第二处理流程基于使用生成的枢轴点列表中的条目、系数列表中的条目等定义的多项式来重构生成的LUT,并且计算目标LUT和生成的LUT之间的最大误差“max_diff”。在方框342 中,第二处理流程确定最大误差“max_diff”是否不大于以前的最佳最大误差“prev_best_max_error”。
响应于确定最大误差“max_diff”不大于以前的最佳最大误差“prev_best_max_error”,生成的枢轴点列表中的条目、生成的系数列表中的条目等被保存为当前最佳枢轴点、当前最佳系数等,并且第二处理流程走到图3A的处理流程中的方框310。
响应于确定最大误差“max_diff”大于以前的最佳最大误差“prev_best_max_error”,生成的枢轴点列表中的条目、生成的系数列表中的条目等不被保存为当前最佳枢轴点、当前最佳系数等,并且第二处理流程走到图3A的处理流程中的方框310。
在方框346中,第二处理流程确定连续性条件标志“continuity_condition”是否被设置为假(0)或者变量“num_pivot”是否为一(1)。当标志“continuity_condition”被设置为假时,不强制执行如前面所讨论的连续性条件或连续性约束。当标志“continuity_condition”被设置为真(1)时,强制执行如前面所讨论的连续性条件或连续性约束。
响应于确定连续性条件被强制执行并且变量“num_pivot”不是一,第二处理流程走到方框348。在一些实施例中,变量“num_pivot”在图3A的处理流程从方框304进入由方框310表示的内循环之前被初始化为一(1),其后在内循环中每次用多项式逼近的新的(例如,有效的、等等)段被确定或被选择时被递增一。因此,当变量“num_pivot”不是一时,第二处理流程在方框346中正在对以下迭代进行处理:在该迭代中用至少一个多项式逼近的至少一个段已经被确定/选择。
在一些实施例中,可以在其中水平轴表示输入码字值并且垂直轴表示映射码字值的坐标系(例如笛卡尔坐标系等)中表示将输入码字值(例如,如LUT的键-值对中的键等)映射到映射码字值(例如,如LUT的键-值对中的值等)的LUT(诸如目标LUT、非目标LUT 等)。在逼近目标LUT的上一段时使用的上一多项式可以用于基于目标LUT中的下一个条目中的输入码值(例如,坐标系中的上一段后面接着的下一个数据点等)来计算映射码字值。为了强制执行连续性条件或约束的目的,下一个条目中的输入码值及其对应的使用上一多项式计算的映射码字值的组合可以用作段候选的参考(枢轴)点。
在方框348中,第二处理流程使当前段(例如,段候选等)相对于至少部分地从逼近上一段的上一多项式生成的参考(枢轴)点居中。在方框348中使段候选居中可以通过将坐标系变换(例如,平移等) 为新的坐标系来实现,在该新的坐标系中,参考点的新的水平坐标值和垂直坐标值中的一个或两个为零。在方框350中,第二处理流程确定段候选中的数据点的数量是否不少于三(3)个。响应于确定段候选中的数据点的数量不少于三(3)个,在方框352中,第二处理流程基于来自目标LUT的段候选中的数据点来生成逼近段候选的2次多项式。响应于确定段候选中的数据点的数量少于三(3)个,在方框354 中,第二处理流程基于来自目标LUT的段候选中的数据点来生成逼近段候选的1次多项式。在方框356中,第二处理流程解析地导出当前多项式的系数(例如,在坐标系被变换为新的坐标系之前在坐标系中导出,等等)以通过将新的坐标系逆变换回坐标系来从(例如,使用新的坐标系导出的、等等)1次或2次多项式逼近段候选。
在方框346中,响应于确定在逼近目标LUT中不强制执行连续性条件或者变量“num_pivot”为一,第二处理流程走到方框358。第二处理流程在方框358、360和362中执行与方框350、352和354中的操作类似的操作。
如图3B所示,第二处理流程从方框356、360或362中的一个走到方框364。在方框364中,第二处理流程确定当前段的上界(其被表示为“下一个枢轴点”)是否是目标LUT中最后的(last)可能的 (数据)点或条目。响应于确定当前段的上界是目标LUT中最后的可能的(数据)点或条目,第二处理流程完成当前段,将标志“found_one_seg”设置为真(1),将标志“converge”设置为真(1),将标志found_CC设置为假(0)等,并且走到方框332。
响应于确定当前段的上界不是目标LUT中最后的可能的(数据) 点或条目,第二处理流程确定当前段(或段候选)是否满足针对逼近操作设置的停止规则(例如,规则1、规则2、规则3等中的零个、一个或多个)。响应于确定当前段(或段候选)满足停止规则,在方框372中,第二处理流程将变量“num_pivot”递增一,将标志“found_one_seg”设置为真(1),将标志“found_CC”设置为假(0),等等,并且走到方框332。另一方面,响应于确定当前段(或段候选) 不满足停止规则,在方框372中,第二处理流程将标志“found_one_seg”设置为假(0),将标志“found_CC”设置为假(0),并且走到方框332。
在第二处理流程从方框368、372和374中的任何一个走到方框 332之前,内循环迭代计数“iter_cnt”被递增一。当标志“found_one_seg”如方框374的情况下那样保持为假时,随着内循环迭代计数“iter_cnt”在下一次迭代开始时将被递增,用于下一次迭代的段候选的长度将随之递增。更长的段候选将在下一次迭代中用如上面所讨论的方框352、354、360或362中的多项式来逼近。
根据如本文所描述的技术的自适应整形可以用各种整形函数或其逆函数、表示解析函数或非解析函数的LUT等中的一个或多个来执行。在使用幂函数作为整形函数或其逆函数的情况下,该技术可以用于具体地选择自适应整形参数(诸如用于幂函数的指数值等)来提高感知质量。
在一些实施例中,视频内容(诸如源视频内容、中间视频内容、输出视频内容等)可以被编码在非线性颜色空间(诸如感知量化(PQ) 的颜色空间等)中。PQ颜色空间可以包括用于对视频内容进行编码的一组可用PQ码字。PQ颜色空间中的不同的PQ码字可以不与亮度值线性地缩放(scale),而是可以对应于亮度值中变化的量化步长。例如,PQ颜色空间可以在黑暗的亮度值部位中分配较多的码字,而在明亮的亮度值部位中分配较少的码字。SMPTEST 2084:2014“High Dynamic Range EOTF of Mastering Reference Displays”中描述了PQ 颜色空间、变换、映射、传递函数等的一些示例,该文献全文通过引用并入本文。
如本文所描述的技术可以用于将输入视频内容(例如,源视频内容、PQ编码视频内容、具有相对大的一组可用码字的视频内容等) 自适应地成形为用整形函数(例如,正向幂函数等)编码的、包括相对有限的一组整形码字的整形视频内容,该整形视频内容然后可以被承载在相对低位深的视频信号中。
如本文所描述的相对有限的一组整形码字可以对于相对平滑的明亮图像、相对平滑的明亮场景等(诸如包括大面积的明亮视觉特征(例如,天空、窗户、抛光金属、飞机、汽车等)的图像)在高亮度值部位中分配较多的码字。在整形函数中在高亮度值部位中分配较多码字减小或防止那些图像、场景等中的视觉伪像(诸如颜色带等)。在一些实施例中,可以对由正向幂函数表示的(例如,正向等)整形函数选择相对大的指数值。对于正向幂函数的相对大的指数值(例如,1.6、 1.7、在其处带状伪像被消除的相对大的值等)为对表示明亮区域的视频内容部分进行整形提供相对较多的码字。相反,为了基于用具有相对大的指数值的正向幂函数成形的接收的自适应成形视频信号来重构预整形视频内容的版本的目的,(例如,正向等)整形函数的逆函数 (例如,反向幂函数等)可以使用相对小的指数值,这些指数值是正向幂函数中的指数值的倒数(inverse)。
如本文所描述的相对有限的一组整形码字可以对于相对黑暗的图像、相对黑暗的场景等(诸如包括大的黑暗视觉特征(例如,阴影、星空、夜晚、低光室内等)的图像)在低亮度值部位中分配较多的码字。在整形函数中在低亮度值部位中分配较多码字帮助保留那些图像、场景等中的图像细节或特征。在一些实施例中,可以对由正向幂函数表示的(例如,正向等)整形函数选择相对小的指数值。对于正向幂函数的相对小的指数值(例如,1.0、在其处黑暗图像细节被保留的相对小的值等)为对表示黑暗区域的视频内容部分进行整形提供相对较多的码字。相反,为了基于用具有相对小的指数值的正向幂函数成形的接收的自适应成形视频信号来重构预整形视频内容的版本的目的,(例如,正向等)整形函数的逆函数(例如,反向幂函数等)可以使用相对大的指数值,这些指数值是正向幂函数中的指数值的倒数。
对于描绘中间色调中的大多数对象或特征的其他图像、场景等,可以就亮度值而言较均匀地分布整形码字。例如,正向幂函数可以使用1.3、1.4等的指数值。
应注意,所提及的指数值仅仅是出于例证的目的。在幂函数被用在整形函数的至少一部分中的情况下,可以基于各种因素来采用这些及其他指数值,其中各种因素包括但不限于图像类型等。另外地、可选地或可替代地,除了幂函数之外的函数、关系等可以被用在整形函数的至少一部分中。对于这些其他的函数,可以采用所提及的指数值和其他指数值。
各种图像处理算法中的一种或多种可以根据如本文所描述的技术而被实现以确定图像、场景等是否具有易于在该图像、场景等的重构版本中生成轮廓状/带状伪像的潜在明亮区域。在一些实施例中,图像、场景等中的每个图像可以被划分为多个不重叠的NxN块(包括NxN 个像素,其中N是正整数,诸如2、4、6、8、16等)。在这些块中的一些或全部中的每个中,可以计算/确定该块内的最小值、最大值、均值等值。图4A示出用于确定这样的图像(或帧)、场景等是否包括平滑的明亮区域的示例算法。块中的最大值和最小值之间的差值可以被计算并且与差值阈值(其被表示为Te)进行比较。如果差值小于阈值(Te),则该块可以被分类为潜在地易于产生带状伪像的平滑块。另外地、可选地或可替代地,为了量化或识别明亮区域,可以将块的均值与均值阈值(其被表示为Tb)进行比较。如果均值超过阈值(Tb),则块可以被分类为明亮块。可以基于图像、场景等中的前述分析来确定该图像、场景等中的平滑的明亮块的数量。如果图像中的平滑的明亮块的数量构成总块数的某个百分比(其被表示为Pb)以上,则该图像(或图像帧)可以被认为是具有平滑的明亮区域的图像。
各种图像处理算法中的一种或多种可以根据如本文所描述的技术被实现以确定图像(或帧)、场景等是否具有相对大的黑暗区域。图4B示出这样的算法的示例。在一些实施例中,图像、场景等中的一些或所有像素之中的具有小于亮度阈值(其被表示为Td)的亮度值的黑暗像素的总数被确定。如果黑暗像素的总数高于百分比阈值(其被表示为Pd),则图像、场景等被分类为包含大的黑暗区域。
图4C示出用于确定图像(或帧)、场景等是否具有相对大的黑暗区域的另一示例。块中的最大值和最小值之间的差值可以被计算。如果差值为0,或者可替代地在一些实施例中小于小的差值阈值,则该块可以被分类为纯黑色块并且被忽略。另一方面,如果差值为非零,或者可替代地在一些实施例中不小于小的差值阈值,则该块可以被分类为非纯黑色块。该块的均值可以被与第二均值阈值(其被表示为Ts) 进行比较。另外地、可选地或可替代地,块中的标准偏差值(standard deviation value)还可以被计算并且与标准偏差阈值(其被表示为Tstd) 进行比较。如果均值小于第二均值阈值(Ts)并且标准偏差值小于标准偏差阈值(Tstd),则块可以被分类为平滑的黑暗块。然后平滑的黑暗区域可以被识别为包括至少某个数量(例如,八个、十个、十六个、大于二的不同的正整数个等)的平滑的黑暗块的区域,该平滑的黑暗块被连接在该某个数量的平滑的黑暗块之间或之中。图像中的最大的平滑的黑暗区域可以在从该图像识别的零个、一个或多个平滑的黑暗区域之中确定。如果图像中的最大的平滑的黑暗区域中的黑暗平滑块的数量可以构成总块数的某个百分比(其被表示为Pbd)以上,则该图像(或图像帧)可以被认为是具有平滑的黑暗区域的图像。
在一些实施例中,如本文所描述的编解码器可以基于自适应整形参数的不同候选组来预先计算多个候选LUT。例如,在整形函数基于幂函数的实施例中,自适应整形参数的每个候选组可以包括源视频信号所支持的动态范围的上界、源视频信号所支持的动态范围的下界、指数值等;对应的候选LUT可以至少部分地基于自适应整形参数的该候选组而被预先计算。同样地,表示候选整形函数的逆函数的候选 LUT可以基于自适应整形参数的候选组而被预先计算。另外地、可选地或可替代地,可以预先计算多项式的一个或多个候选组、以及对应的候选多项式系数、枢轴等的一个或多个候选组以逼近可以表示整形函数和其逆函数的一个或多个目标LUT。预先计算的前述各项中的一些或全部可以被保存在存储器中。例如,要被计算的候选alpha值可以包括,但不仅限于,以下中的任何一个:0.5、0.6、0.7、0.8、0.9、 1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8、1.9等。注意,1.0的 alpha值可能不需要LUT,因为这种情况下的整形函数是线性函数。在一些实施例中,候选LUT可以包括具有不同量化步长(例如,用相邻码字值对表示等等)的LUT。在当图像正在编码器中被整形或者在解码器中被逆映射时的运行时,基于在该图像的实际内容的基础上计算的统计,可以在多个LUT之中选择候选LUT(或具有候选多项式系数、枢轴等的候选多项式)作为用于应用自适应整形或对应的逆映射的目的的LUT(或具有多项式系数、枢轴等的多项式)。
在一些实施例中,根据如本文所描述的技术的多项式系数、枢轴等中的一些或全部可以用某个数量的字节(诸如四个字节(例如,整数一个字节,小数点3个字节等等))来表达。
可以从图像到图像、从场景到场景等地自适应地确定LUT(或具有多项式系数、枢轴等的多项式)。
6.示例处理流程
图5A示出示例处理流程。在一些实施例中,一个或多个计算设备或组件可以执行该处理流程。在方框502中,视频编码器(例如,图1A的102)接收源图像序列;视频编码器(102)基于源图像序列中的一个或多个源图像来计算一个或多个统计值。
在方框504中,视频编码器(102)基于一个或多个统计值来选择用于一个或多个源图像的自适应整形函数。
在方框506中,视频编码器(102)至少部分地基于所选择的自适应整形函数来对源视频内容的一部分进行自适应地整形以生成整形视频内容的一部分,源视频内容的这一部分用一个或多个源图像表示。
在方框508中,视频编码器(102)生成所选择的自适应整形函数的逆函数的逼近。
在方框510中,视频编码器(102)将整形视频内容和一组自适应整形参数编码为整形视频信号,该组自适应整形参数定义所选择的自适应整形函数的逆函数的逼近。
在实施例中,整形视频内容的该部分包括一个或多个整形图像。
在实施例中,一个或多个源图像形成场景。
在实施例中,一个或多个统计值包括基于该一个或多个源图像中的源码字确定的以下各项中的至少一个:最大值、最小值、均值、中值、平均值、标准偏差值等。
在实施例中,所选择的自适应整形函数或所选择的自适应整形函数的逆函数中的至少一个包括以下各项中的一个或多个:解析函数、非解析函数、查找表(LUT)、S型函数(sigmoid function)、幂函数、分段函数等。
在实施例中,所选择的自适应整形函数的逆函数的逼近用一组多项式表示。
在实施例中,该组多项式中的多项式的总数量被限制为低于数量阈值。
在实施例中,用于该组多项式中的多项式的系数是基于最小化由这些多项式给出的值和目标查找表(LUT)中给出的值之间的差值而确定的,该目标查找表表示所选择的自适应整形函数的逆函数。
在实施例中,视频编码器(102)被进一步配置为基于对于所选择的自适应整形函数的逆函数确定的函数的类型来选择用于生成该组多项式的连续性条件。
在实施例中,该组多项式是在该一个或多个源图像正在被处理以用于自适应整形之前预先确定的。
在实施例中,该组多项式是在该一个或多个源图像正在被处理以用于自适应整形的同时动态地确定的。
在实施例中,视频编码器(102)被进一步配置为将该一个或多个源图像分类为以下中的一个:包括平滑的明亮区域的图像、包括平滑的黑暗区域的图像、或中间色调图像。
在实施例中,针对颜色空间的多个通道中的一个或多个通道将源视频内容的部分自适应地整形为整形视频内容的部分。
在实施例中,该一个或多个通道包括亮度相关通道。
在实施例中,整形视频信号是双通道8位视频信号或单通道10 位视频信号中的一个。
在实施例中,整形视频信号是由以下中的至少一个生成的:高级视频编码(AVC)编码器、运动图像专家组(MPEG)-2编码器、或高效视频编码(HEVC)编码器。
在实施例中,源图像序列被感知地编码。
在实施例中,在不使用所选择的自适应整形函数的任何逼近的情况下将源视频内容的部分自适应地整形为整形视频内容的部分。
图5B示出示例处理流程。在一些实施例中,一个或多个计算设备或组件可以执行该处理流程。在方框552中,视频解码器(例如,图1A的152)从整形视频信号检索整形视频内容和与自适应整形函数的逆函数相关的一组自适应整形参数,整形视频内容是由上游设备至少部分地基于自适应整形函数生成的。
在方框504中,视频解码器(152)至少部分地基于自适应整形函数的逆函数来对整形视频内容的一部分进行逆映射以生成重构视频内容的一部分。
在方框506中,视频解码器(152)至少部分地基于重构视频内容的该部分来生成重构图像序列,该重构图像序列表示由上游设备使用以生成整形视频内容的源图像序列的重构版本。
在实施例中,视频解码器(152)被进一步配置为在显示系统中渲染多个重构图像。
在实施例中,视频解码器(152)被进一步配置为执行:至少部分地基于来自整形视频信号的与自适应整形函数的逆函数相关的该组自适应整形参数来建立表示自适应整形函数的逆函数的目标查找表 (LUT)的逼近;等等。
在各种示例实施例中,编码器、解码器、转码器、系统、装置或一个或多个其他的计算设备执行所描述的前述方法中的任何一个或一部分。在实施例中,非暂时性计算机可读存储介质存储软件指令,该软件指令当被一个或多个处理器执行时使如本文所描述的方法被执行。
注意,尽管本文讨论了单独的实施例,但是本文所讨论的实施例和/或部分实施例的任何组合可以被组合来形成进一步的实施例。
7.实时优化
如早前所讨论的,用于使用2次多项式来生成整形函数的分段逼近的方法可以被总结如下:给定起始点,执行搜索以沿着整形曲线识别段。如果满足一组终止条件,则设置枢轴点,并且发起新的搜索,直到整个曲线已经被分段为止。该处理可以被细分如下:(1)对于每个枢轴点,计算用于每个段的多项式系数;(2)确定用于每个候选的逼近误差;并且(3)如果逼近误差小于目标阈值,则宣布该段为有效的,并且设置用于该段的结束枢轴点。(4)当所有段已经被识别时,可以使用更小的目标阈值来重复该处理以改进逼近多项式的精度。
从计算观点来讲,步骤(1)是最耗时的,接着是步骤(4)。如发明人意识到的,一些实施例可能需要实时实现,即使是以精度潜在地降低为代价。在本节中,呈现了用于这样的实时实现的各种改进。改进可以分为两类:a)计算每段内的多项式系数的更快速的方法,而不损失任何精度;以及b)更快速的收敛方法,也就是说,减少(根据某些准则)识别最佳逼近段所需的总体迭代次数。
没有连续性约束的快速多项式求解
不失一般性地,考虑用二次多项式逼近的曲线的第p段
其中,sp,i表示与第p多项式段相对应的标准(或更低)动态范围(SDR 或LDR)的第i整形像素值。设vi为对应的共同定位的原始高动态范围(HDR)像素值。设为对应的共同定位的预测HDR像素。设多项式的第p段具有从Sp,L(L)到Sp,H(H)的SDR值范围,其中L是当前第p段中的低枢轴索引(index),H是当前第p段中的高枢轴索引(为简单起见,p索引从L和H下降)。在实施例中,可以使用如下的最小二乘解来计算等式(10)中的多项式的参数(mp,j,对于j=0、1和2)。
可以用矢量矩阵的形式来重写等式(10)如下:
或
其中最小二乘解由以下等式给出:
mp=((Sp)T(Sp))-1((Sp)Tvp),其中
表示原始HDR像素的矢量。为了便于讨论,Bp矩阵和矢量ap也被定义为:
Bp=(Sp)T(Sp), (12)
以及
ap=(Sp)Tvp, (13)
其中
对于Bp矩阵,可以计算其每个元素如下:
对于ap矢量,给定
可以如下计算每个元素:
从等式(14),计算Bp矩阵的元素需要计算因子:
但是,sp,i值是有限的,诸如,如果被规范化,则在[0,1]内,或者如果不被规范化,则在[0,2位深-1]内,因此,在实施例中,可以通过使用如下的预先计算的查找表(LUT)来改进求解等式(11)的计算时间。
设β(beta)如下表示等式(16)的预先计算的值:
其中用于β[i,j]的索引i、j在i=[0,Max]和j=[0,4]的范围内,并且Max 表示特定的视频序列中的最大可能像素值。
从上面的LUT,对于sL和sH之间的任何值p,可以如下计算Bp矩阵:
当较低枢轴为0时,可以将L=0代入等式(14)中,并且使用以下等式来计算Bp矩阵:
在对于beta LUT进行相同处理之后,还可以如下定义alpha(α) (Max+1)x 4LUT:
然后,可以如下就alpha LUT来计算ap矢量的元素:
ap,0=αH,0-αL-1,0
ap,1=αH,1-αL-1,1 (21)
ap,2=αH,2-αL-1,2
对于L=0,等式(21)可以简化为:
概括起来,表1用伪代码示出了用于更快速计算多项式系数的步骤:
表1:在没有连续性约束的情况下快速求解多项式参数
具有连续性约束的情况下的快速多项式求解
根据连续性约束,第p多项式的起始点被强制连接到第p-1多项式的结束点,所以连接的片段是连续的。设sp-1表示用于第p-1段的结束SDR值。然后,可以如下计算对应的HDR预测值:
根据如果sp,i=sp-1、则应存在单个预测值的约束,可以如下导出预测多项式:
该等式如前可以被表达为:
注意,在正向段搜索期间,第p-1段在第p段之前,所以p-1段的结束点必须与第p段的开始点一致;但是,在反向段搜索期间,第p-1 段在第p段之后,因此p-1段的开始点必须与第p段的结束点一致。
给定等式(24),在与前面类似的方法之后,在实施例中,可以证明对于该等式的解可以遵循表2中的步骤来导出。
表2:在具有连续性约束的情况下快速求解多项式参数
用于更快速收敛的自适应终止条件
如早前所描述的,逼近算法通过连续地搜索多项式段来工作。它从起始点开始,然后沿着曲线尝试候选结束点;如果曲线中的任何一个点满足终止条件,则它将枢轴的结束设置为该点,然后开始新的搜索。如早前所描述的,用于任何段的终止条件是:
第1号规则:
(prev_error_condition&&curr_error_condition)II max_custom_length_condition
也就是说,或者
i.在两个连续的阈值化检测器之间存在上升沿,即,当前拟合误差小于误差阈值,并且使用少了一个点的拟合给出大于阈值的误差,或者
ii.段比预定义的最大长度长。
第2号规则:
(curr_error_condition&&min_custom_length_condition)II max_custom_length_condition
也就是说,或者
i.当前拟合误差小于误差阈值并且段应至少为预定义的最小长度;或者
ii.段比预定义的最大长度长。
第3号规则:
curr_error_condition&&min_custom_length_condition
也就是说:
i.当前拟合误差小于误差阈值,并且
ii.段满足预定义的最小长度。
在实施例中,误差阈值从固定值开始,并且在每次迭代结束时,将误差阈值缩小k倍(k<1,例如,k=0.75)。搜索继续进行,直到最大迭代次数(n)完成为止。
在实施例中,给定原始误差阈值(th),在每次迭代时,将阈值缩小固定百分比(例如,th=k*th,k<1)。假定最优解具有零误差的最坏情况,并且误差在每次迭代中缩小k,给定n次迭代,保证该策略产生至少kn倍更接近于最优解的解。表3提供了根据另一实施例的提供更快速的但次优的收敛的调整误差目标的示例方法。
表3:自适应误差阈值调整
观察到,较大的k值改进误差性能,但是是以速度为代价的。
还观察到,对于一些帧,误差收敛到常数值。然后,就误差性能而言,继续迭代并没有增加价值。可以通过添加一个或多个终止条件来防止这种情形。
第4号规则:
i.如果前一次迭代中的最佳误差(例如,efit(t-1))(在阈值内) 等于当前迭代中的最佳误差(例如,efit(t))(例如,|efit(t)-efit(t-1)|<th2),则终止。
添加的终止条件使算法在它发现减小误差阈值对性能没有改进时停止用额外的迭代进行搜索。观察到,该条件的增加在对图像应用反向整形函数之后没有引入任何显著的视觉伪像。
构造反向整形LUT
反向LUT使得解码器能够执行反向映射,即,将传入的整形 (SDR)值映射到原始HDR值。因为多个HDR值可以被映射到单个 SDR值,所以在实施例中,没有限制地,中间HDR值被选择。表4 用伪代码描述了反向整形LUT的快速构造。
表4——反向整形LUT的构造
8.实现机制——硬件概述
根据一个实施例,本文所描述的技术通过一个或多个专用计算设备来实现。专用计算设备可以被硬连线来执行该技术,或者可以包括数字电子设备(诸如被持久地编程为执行该技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)),或者可以包括被编程为依照固件、存储器、其他储存器或组合中的程序指令来执行该技术的一个或多个通用硬件处理器。这样的专用计算设备还可以组合具有实现该技术的自定义编程的自定义硬连线逻辑、ASIC或FPGA。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或合并实现该技术的硬连线和/或程序逻辑的任何其他设备。
例如,图6是示出在其上可以实现本发明的示例实施例的计算机系统600的框图。计算机系统600包括用于传送信息的总线602或其他通信机制、以及与总线602耦合以用于对信息进行处理的硬件处理器604。硬件处理器604可以例如是通用微处理器。
计算机系统600还包括耦合到总线602以用于存储要被处理器 604执行的指令和信息的主存储器606,诸如随机存取存储器(RAM) 或其他动态存储设备。主存储器606还可以用于存储要被处理器604 执行的指令执行期间的临时变量或其他中间信息。这样的指令在被存储在可供处理器604访问的非暂时性存储介质中时使计算机系统600 变为被定制为执行指令中所指定的操作的专用机器。
计算机系统600进一步包括耦合到总线602以用于存储用于处理器604的静态信息和指令的只读存储器(ROM)608或其他静态存储设备。存储设备610(诸如磁盘或光学盘)被提供并且被耦合到总线 602以用于存储信息和指令。
计算机系统600可以经由总线602耦合到用于向计算机用户显示信息的显示器612,诸如液晶显示器。包括字母数字键和其他键的输入设备614耦合到总线602以用于将信息和命令选择传送到处理器 604。另一种类型的用户输入设备是用于将方向信息和命令选择传送到处理器604并且用于控制显示器612上的光标移动的光标控件616,诸如鼠标、轨迹球或光标方向键。该输入设备通常具有允许设备指定平面中的位置的两个轴(第一轴(例如,x)和第二轴(例如,y)) 上的两个自由度。
计算机系统600可以使用定制硬连线逻辑、一个或多个ASIC或 FPGA、固件和/或程序逻辑来实现本文所描述的技术,该定制硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统组合而使计算机系统600成为专用机器或者将计算机系统600编程为专用机器。根据一个实施例,本文的技术由计算机系统600响应于处理器604执行主存储器606中所包含的一个或多个指令的一个或多个序列而被执行。这样的指令可以从另一个存储介质(诸如存储设备 610)被读取到主存储器606中。主存储器606中所包含的指令序列的执行使处理器604执行本文所描述的处理步骤。在替代实施例中,硬连线电路可以用来代替软件指令或者与软件指令组合使用。
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非暂时性介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光学盘或磁盘,诸如存储设备610。易失性介质包括动态存储器,诸如主存储器606。常见形式的存储介质包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM以及EPROM、 FLASH-EPROM、NVRAM、任何其他存储器芯片或盒。
存储介质不同于传输介质,但是可以与传输介质结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,这些包括包含总线602的线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外数据通信期间生成的那些。
各种形式的介质可以涉及将一个或多个指令的一个或多个序列传载到处理器604以用于执行。例如,指令可以初始承载于远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到它的动态存储器中,并且使用调制解调器来通过电话线发送指令。计算机系统600 本地的调制解调器可以接收电话线上的数据,并且使用红外发射器来将数据转换为红外信号。红外检测器可以接收红外信号中承载的数据,并且适当的电路可以将数据放置在总线602上。总线602将数据传载到主存储器606,处理器604从主存储器606检索并且执行指令。由主存储器606接收的指令可以可选地在被处理器604执行之前或之后被存储在存储设备610上。
计算机系统600还包括耦合到总线602的通信接口618。通信接口618提供耦合到网络链路620的双向数据通信,网络链路620连接到本地网络622。例如,通信接口618可以是综合服务数字网络(ISDN) 卡、电缆调制解调器、卫星调制解调器或提供到对应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口618可以是提供到可兼容LAN的数据通信连接的局域网(LAN)卡。还可以实现无线链路。在任何这样的实现中,通信接口618发送和接收传载表示各种类型的信息的数字数据流的电、电磁或光学信号。
网络链路620通常通过一个或多个网络提供与其他数据设备的数据通信。例如,网络链路620可以通过本地网络622提供与主机计算机624或由互联网服务提供商(ISP)626运营的数据装置的连接。ISP 626继而通过全球分组数据通信网络(现在常被称为“互联网”)628 来提供数据通信服务。本地网络622和互联网628两者使用传载数字数据流的电、电磁或光学信号。通过各种网络的信号以及网络链路620 上通过通信接口618(其与计算机系统600来回传载数字数据)的信号是传输介质的示例形式。
计算机系统600可以通过(一个或多个)网络、网络链路620和通信接口618来发送消息和接收数据(包括程序代码)。在互联网示例中,服务器630可以通过互联网628、ISP626、本地网络622和通信接口618来发送对应用程序的请求代码。
接收的代码可以在它被接收时被处理器604执行,和/或被存储在存储设备610或其他非易失性储存器中以用于以后执行。
9.等同、扩展、替代及其他
在前面的说明书中,已经参照可以从实现到实现有所变化的许多特定细节描述了本发明的实施例。因此,本发明是什么以及申请人意图什么是本发明的唯一的且排他的指示是根据本申请以特定形式发布的权利要求组,这样的权利要求以该特定形式发布,包括任何后续修正。本文中针对这样的权利要求中所包含的术语明确阐述的任何定义应决定这样的术语用在权利要求中的意义。因此,在权利要求中未明确记载的限制、元件、性质、特征、优点或属性不应以任何方式限制这样的权利要求的范围。说明书和附图因此要从说明性而非限制性的意义上来看待。
Claims (58)
1.一种编码方法,包括:
基于源图像序列中的一个或多个源图像来计算一个或多个统计值;
基于所述一个或多个统计值来选择用于所述一个或多个源图像的自适应整形函数,该自适应整形函数将源码字映射到整形码字;
至少部分地基于所选择的自适应整形函数来对源视频内容的一部分进行自适应地整形以生成整形视频内容的一部分,源视频内容的该部分用所述一个或多个源图像表示;
生成所选择的自适应整形函数的逆函数的逼近,包括:
确定表示所选择的自适应整形函数的逆函数的、包括键-值对的目标查找表(LUT);
通过在LUT的键-值对中执行从小键到大键的正向搜索来生成目标LUT的第一逼近;
通过在LUT的键-值对中执行从大键到小键的反向搜索来生成目标LUT的第二逼近;
通过比较分别通过正向搜索和反向搜索生成的逼近误差来选择所述第一逼近和所述第二逼近中的一个;
将整形视频内容和一组自适应整形参数编码为整形视频信号,该组自适应整形参数定义所选择的自适应整形函数的逆函数的逼近,其中所选择的自适应整形函数的逆函数的逼近由一组二次多项式表示,该方法进一步包括:
确定用于逼近目标LUT的连续性条件;
基于连续性条件,对用于逼近目标LUT的正向搜索选择第一停止规则,并且对用于逼近目标LUT的反向搜索选择第二停止规则;
至少部分地基于所述第一停止规则来生成所述第一逼近;以及
至少部分地基于所述第二停止规则来生成所述第二逼近。
2.根据权利要求1所述的方法,其中,整形视频内容的所述部分包括一个或多个整形图像。
3.根据权利要求1所述的方法,其中,所述一个或多个源图像形成场景。
4.根据权利要求1所述的方法,其中,目标LUT是由源码字值的平均值生成的最佳反向LUT,所述源码字值被映射到用于对源视频内容进行整形的多个整形码字值中的每个整形码字值。
5.根据权利要求1所述的方法,其中,所述一个或多个统计值包括基于所述一个或多个源图像中的源码字确定的以下各项中的至少一个:最大值、最小值、均值、中值、平均值或标准偏差值。
6.根据权利要求1所述的方法,其中,所选择的自适应整形函数或所选择的自适应整形函数的逆函数中的至少一个包括以下各项中的一个或多个:解析函数、非解析函数、查找表(LUT)、S型函数、幂函数或分段函数。
7.根据权利要求1所述的方法,其中,该组多项式中的多项式的总数量被限制为低于数量阈值。
8.根据权利要求1所述的方法,其中,用于该组多项式中的多项式的系数是基于最小化由多项式给出的值和在目标查找表(LUT)中给出的值之间的差值而确定的,该目标查找表表示所选择的自适应整形函数的逆函数。
9.根据权利要求1所述的方法,进一步包括基于对于所选择的自适应整形函数的逆函数确定的函数的类型来选择用于生成该组多项式的连续性条件。
10.根据权利要求1所述的方法,其中,该组多项式是在所述一个或多个源图像正在被处理以用于自适应整形之前预先确定的。
11.根据权利要求1所述的方法,其中,该组多项式是在所述一个或多个源图像正在被处理以用于自适应整形的同时动态地确定的。
12.根据权利要求1所述的方法,进一步包括将所述一个或多个源图像分类为以下项中的一个:包括平滑的明亮区域的图像、包括平滑的黑暗区域的图像、或中间色调图像。
13.根据权利要求1所述的方法,其中,针对颜色空间的多个通道中的一个或多个通道将源视频内容的所述部分自适应地整形为整形视频内容的所述部分。
14.根据权利要求13所述的方法,其中,所述一个或多个通道包括亮度相关通道。
15.根据权利要求1所述的方法,其中,整形视频信号是双通道8位视频信号或单通道10位视频信号中的一个。
16.根据权利要求1所述的方法,其中,整形视频信号是由以下项中的至少一个生成的:高级视频编码(AVC)编码器、运动图像专家组(MPEG)-2编码器、或高效视频编码(HEVC)编码器。
17.根据权利要求1所述的方法,其中,源图像序列被感知地编码。
18.根据权利要求1所述的方法,其中,在不使用所选择的自适应整形函数的任何逼近的情况下将源视频内容的所述部分自适应地整形为整形视频内容的所述部分。
19.根据权利要求1所述的方法,其中,自适应整形函数是使用两个或更多个二次多项式逼近的,并且计算第p多项式的mp系数包括:
基于用于源图像序列中的像素值的整形值的函数来确定第一(beta)查找表(LUT);
基于整形像素值和源图像中的原始像素值的函数来确定第二(alpha)LUT;
基于第一LUT来确定Bp矩阵;
基于第二LUT来确定ap矢量;以及
按照计算第p多项式的mp系数,
其中Bp=(Sp)T(Sp),ap=(Sp)Tvp,其中Sp表示与第p多项式段相对应的标准或更低动态范围的整形像素值,vp是对应的共同定位的原始高动态范围像素值。
20.根据权利要求19所述的方法,其中,对于所述第一LUT的β[k,j]元素:
β[k,j]=1,对于0≤k≤Max,j=0
对于0≤k≤Max,1≤j≤4,
其中,Max表示与源图像序列中的源图像的像素vi相对应的整形像素si的最大像素值。
21.根据权利要求19所述的方法,其中,对于所述第二LUT的α[k,j]元素,对于0≤j≤3
对于0≤k≤Max,
其中,Max表示与源图像序列中的源图像的像素vi相对应的整形像素si的最大像素值。
22.根据权利要求1所述的方法,其中,生成用于逆整形函数的LUT包括:
基于正向整形函数来生成整形值的直方图;
生成累积表,其中,该累积表中的条目包括被映射到相同整形值的原始像素值之和;以及
基于所述整形值的直方图和累积表来生成用于逆整形函数的LUT。
23.根据权利要求1所述的方法,其中,自适应整形函数是使用两个或更多个二次多项式逼近的,并且用于该两个或更多个多项式的枢轴点是根据迭代方法选择的。
24.根据权利要求23所述的方法,其中,迭代方法进一步包括:
设置初始误差阈值;
拟合自适应整形函数的段以使得所述一个或多个多项式中的每个与自适应整形函数中的对应段的拟合误差不超过初始误差阈值;
确定跨自适应整形函数的所有段的所有拟合误差的最小值;以及
对新的误差阈值重复拟合处理,其中,该新的误差阈值小于所有拟合误差的最小值。
25.根据权利要求24所述的方法,进一步包括:在当前迭代中的所有拟合误差的最小值在阈值内等于前一次迭代中的所有拟合误差的最小值时,终止迭代方法。
26.一种解码方法,包括:
从整形视频信号检索整形视频内容和定义逼近自适应整形函数的逆函数的一组二次多项式的一组自适应整形参数,自适应整形函数的逆函数将整形码字映射到重构源码字,其中整形视频信号的至少一部分是使用根据权利要求1-25中任一项所述的方法生成的;
整形视频内容是由上游设备至少部分地基于自适应整形函数生成的;
至少部分地基于逼近自适应整形函数的逆函数的所述一组二次多项式来对整形视频内容的一部分进行逆映射以生成重构视频内容的一部分;
至少部分地基于重构视频内容的所述部分来生成重构图像序列,该重构图像序列表示由上游设备用来生成整形视频内容的源图像序列的重构版本。
27.根据权利要求26所述的方法,进一步包括在显示系统中渲染多个重构图像。
28.根据权利要求26所述的方法,进一步包括:
至少部分地基于来自整形视频信号的与自适应整形函数的逆函数的逼近相关的所述一组自适应整形参数来建立表示自适应整形函数的逆函数的目标查找表(LUT)的逼近。
29.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储计算机程序,所述计算机程序当被一个或多个处理器执行时使得执行根据权利要求1-28中任一项所述的方法。
30.一种计算设备,所述计算设备包括一个或多个处理器以及一个或多个存储计算机程序的存储介质,所述计算机程序当被一个或多个处理器执行时使得执行根据权利要求1-28中任一项所述的方法。
31.一种编码装置,包括:
用于基于源图像序列中的一个或多个源图像来计算一个或多个统计值的部件;
用于基于所述一个或多个统计值来选择用于所述一个或多个源图像的自适应整形函数的部件,该自适应整形函数将源码字映射到整形码字;
用于至少部分地基于所选择的自适应整形函数来对源视频内容的一部分进行自适应地整形以生成整形视频内容的一部分的部件,源视频内容的该部分用所述一个或多个源图像表示;
用于生成所选择的自适应整形函数的逆函数的逼近的部件,包括:
用于确定表示所选择的自适应整形函数的逆函数的、包括键-值对的目标查找表(LUT)的部件;
用于通过在LUT的键-值对中执行从小键到大键的正向搜索来生成目标LUT的第一逼近的部件;
用于通过在LUT的键-值对中执行从大键到小键的反向搜索来生成目标LUT的第二逼近的部件;
用于通过比较分别通过正向搜索和反向搜索生成的逼近误差来选择所述第一逼近和所述第二逼近中的一个的部件;
用于将整形视频内容和一组自适应整形参数编码为整形视频信号的部件,该组自适应整形参数定义所选择的自适应整形函数的逆函数的逼近,
其中所选择的自适应整形函数的逆函数的逼近由一组二次多项式表示,该装置进一步包括:
用于确定用于逼近目标LUT的连续性条件的部件;
用于基于连续性条件,对用于逼近目标LUT的正向搜索选择第一停止规则,并且对用于逼近目标LUT的反向搜索选择第二停止规则的部件;
用于至少部分地基于所述第一停止规则来生成所述第一逼近的部件;以及
用于至少部分地基于所述第二停止规则来生成所述第二逼近的部件。
32.根据权利要求31所述的装置,其中,整形视频内容的所述部分包括一个或多个整形图像。
33.根据权利要求31所述的装置,其中,所述一个或多个源图像形成场景。
34.根据权利要求31所述的装置,其中,目标LUT是由源码字值的平均值生成的最佳反向LUT,所述源码字值被映射到用于对源视频内容进行整形的多个整形码字值中的每个整形码字值。
35.根据权利要求31所述的装置,其中,所述一个或多个统计值包括基于所述一个或多个源图像中的源码字确定的以下各项中的至少一个:最大值、最小值、均值、中值、平均值或标准偏差值。
36.根据权利要求31所述的装置,其中,所选择的自适应整形函数或所选择的自适应整形函数的逆函数中的至少一个包括以下各项中的一个或多个:解析函数、非解析函数、查找表(LUT)、S型函数、幂函数或分段函数。
37.根据权利要求31所述的装置,其中,该组多项式中的多项式的总数量被限制为低于数量阈值。
38.根据权利要求31所述的装置,其中,用于该组多项式中的多项式的系数是基于最小化由多项式给出的值和在目标查找表(LUT)中给出的值之间的差值而确定的,该目标查找表表示所选择的自适应整形函数的逆函数。
39.根据权利要求31所述的装置,进一步包括用于基于对于所选择的自适应整形函数的逆函数确定的函数的类型来选择用于生成该组多项式的连续性条件的部件。
40.根据权利要求31所述的装置,其中,该组多项式是在所述一个或多个源图像正在被处理以用于自适应整形之前预先确定的。
41.根据权利要求31所述的装置,其中,该组多项式是在所述一个或多个源图像正在被处理以用于自适应整形的同时动态地确定的。
42.根据权利要求31所述的装置,进一步包括用于将所述一个或多个源图像分类为以下项中的一个的部件:包括平滑的明亮区域的图像、包括平滑的黑暗区域的图像、或中间色调图像。
43.根据权利要求31所述的装置,其中,针对颜色空间的多个通道中的一个或多个通道将源视频内容的所述部分自适应地整形为整形视频内容的所述部分。
44.根据权利要求43所述的装置,其中,所述一个或多个通道包括亮度相关通道。
45.根据权利要求31所述的装置,其中,整形视频信号是双通道8位视频信号或单通道10位视频信号中的一个。
46.根据权利要求31所述的装置,其中,整形视频信号是由以下项中的至少一个生成的:高级视频编码(AVC)编码器、运动图像专家组(MPEG)-2编码器、或高效视频编码(HEVC)编码器。
47.根据权利要求31所述的装置,其中,源图像序列被感知地编码。
48.根据权利要求31所述的装置,其中,在不使用所选择的自适应整形函数的任何逼近的情况下将源视频内容的所述部分自适应地整形为整形视频内容的所述部分。
49.根据权利要求31所述的装置,其中,自适应整形函数是使用两个或更多个二次多项式逼近的,并且计算第p多项式的mp系数包括:
基于用于源图像序列中的像素值的整形值的函数来确定第一(beta)查找表(LUT);
基于整形像素值和源图像中的原始像素值的函数来确定第二(alpha)LUT;
基于第一LUT来确定Bp矩阵;
基于第二LUT来确定ap矢量;以及
按照计算第p多项式的mp系数,
其中Bp=(Sp)T(Sp),ap=(Sp)Tvp,其中Sp表示与第p多项式段相对应的标准或更低动态范围的整形像素值,vp是对应的共同定位的原始高动态范围像素值。
50.根据权利要求49所述的装置,其中,对于所述第一LUT的β[k,j]元素:
β[k,j]=1,对于0≤k≤Max,j=0
对于0≤k≤Max,1≤j≤4,
其中,Max表示与源图像序列中的源图像的像素vi相对应的整形像素si的最大像素值。
51.根据权利要求49所述的装置,其中,对于所述第二LUT的α[k,j]元素,对于0≤j≤3
对于0≤k≤Max,
其中,Max表示与源图像序列中的源图像的像素vi相对应的整形像素si的最大像素值。
52.根据权利要求31所述的装置,其中,用于生成用于逆整形函数的LUT的部件包括:
用于基于正向整形函数来生成整形值的直方图的部件;
用于生成累积表的部件,其中,该累积表中的条目包括被映射到相同整形值的原始像素值之和;以及
用于基于所述整形值的直方图和累积表来生成用于逆整形函数的LUT的部件。
53.根据权利要求31所述的装置,其中,自适应整形函数是使用两个或更多个二次多项式逼近的,并且用于该两个或更多个多项式的枢轴点是根据迭代方法选择的。
54.根据权利要求53所述的装置,其中,迭代方法进一步包括:
设置初始误差阈值;
拟合自适应整形函数的段以使得所述一个或多个多项式中的每个与自适应整形函数中的对应段的拟合误差不超过初始误差阈值;
确定跨自适应整形函数的所有段的所有拟合误差的最小值;以及
对新的误差阈值重复拟合处理,其中,该新的误差阈值小于所有拟合误差的最小值。
55.根据权利要求54所述的装置,进一步包括:用于在当前迭代中的所有拟合误差的最小值在阈值内等于前一次迭代中的所有拟合误差的最小值时,终止迭代方法的部件。
56.一种解码装置,包括:
用于从整形视频信号检索整形视频内容和定义逼近自适应整形函数的逆函数的一组二次多项式的一组自适应整形参数的部件,自适应整形函数的逆函数将整形码字映射到重构源码字,其中整形视频信号的至少一部分是使用根据权利要求1-25中任一项所述的方法生成的;
整形视频内容是由上游设备至少部分地基于自适应整形函数生成的;
用于至少部分地基于逼近自适应整形函数的逆函数的所述一组二次多项式来对整形视频内容的一部分进行逆映射以生成重构视频内容的一部分的部件;
用于至少部分地基于重构视频内容的所述部分来生成重构图像序列的部件,该重构图像序列表示由上游设备用来生成整形视频内容的源图像序列的重构版本。
57.根据权利要求56所述的装置,进一步包括用于在显示系统中渲染多个重构图像的部件。
58.根据权利要求56所述的装置,进一步包括:
用于至少部分地基于来自整形视频信号的与自适应整形函数的逆函数的逼近相关的所述一组自适应整形参数来建立表示自适应整形函数的逆函数的目标查找表(LUT)的逼近的部件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562136402P | 2015-03-20 | 2015-03-20 | |
US62/136,402 | 2015-03-20 | ||
US201562199391P | 2015-07-31 | 2015-07-31 | |
US62/199,391 | 2015-07-31 | ||
PCT/US2016/022772 WO2016153896A1 (en) | 2015-03-20 | 2016-03-17 | Signal reshaping approximation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107409221A CN107409221A (zh) | 2017-11-28 |
CN107409221B true CN107409221B (zh) | 2019-06-14 |
Family
ID=55640936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680015911.9A Active CN107409221B (zh) | 2015-03-20 | 2016-03-17 | 编码方法、解码方法、编码装置、解码装置、计算设备以及存储介质 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10080026B2 (zh) |
EP (1) | EP3272123B1 (zh) |
JP (1) | JP6374614B2 (zh) |
KR (1) | KR101844732B1 (zh) |
CN (1) | CN107409221B (zh) |
BR (1) | BR112017018552B1 (zh) |
RU (1) | RU2666234C1 (zh) |
WO (1) | WO2016153896A1 (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017003525A1 (en) * | 2015-06-30 | 2017-01-05 | Dolby Laboratories Licensing Corporation | Real-time content-adaptive perceptual quantizer for high dynamic range images |
WO2017019818A1 (en) * | 2015-07-28 | 2017-02-02 | Vid Scale, Inc. | High dynamic range video coding architectures with multiple operating modes |
US11277610B2 (en) | 2015-09-23 | 2022-03-15 | Arris Enterprises Llc | Single layer high dynamic range coding with standard dynamic range backward compatibility |
US10778983B2 (en) | 2015-09-23 | 2020-09-15 | Dolby Laboratories Licensing Corporation | Preserving texture/noise consistency in video codecs |
EP3151562B1 (en) | 2015-09-29 | 2020-06-17 | Dolby Laboratories Licensing Corporation | Feature based bitrate allocation in non-backward compatible multi-layer codec via machine learning |
US10311558B2 (en) | 2015-11-16 | 2019-06-04 | Dolby Laboratories Licensing Corporation | Efficient image processing on content-adaptive PQ signal domain |
US10223774B2 (en) * | 2016-02-02 | 2019-03-05 | Dolby Laboratories Licensing Corporation | Single-pass and multi-pass-based polynomial approximations for reshaping functions |
US10701375B2 (en) | 2016-03-23 | 2020-06-30 | Dolby Laboratories Licensing Corporation | Encoding and decoding reversible production-quality single-layer video signals |
WO2017190985A1 (en) * | 2016-05-04 | 2017-11-09 | Thomson Licensing | Method and apparatus for encoding/decoding a high dynamic range picture into a coded bistream |
UA128323C2 (uk) * | 2016-10-05 | 2024-06-05 | Долбі Леборетеріз Лайсенсінг Корпорейшн | Обмін повідомленнями з інформацією про вихідний колірний об'єм |
EP3306563B1 (en) * | 2016-10-05 | 2022-01-12 | Dolby Laboratories Licensing Corporation | Inverse luma/chroma mappings with histogram transfer and approximation |
US10264287B2 (en) | 2016-10-05 | 2019-04-16 | Dolby Laboratories Licensing Corporation | Inverse luma/chroma mappings with histogram transfer and approximation |
EP3639238B1 (en) | 2017-06-16 | 2022-06-15 | Dolby Laboratories Licensing Corporation | Efficient end-to-end single layer inverse display management coding |
US10958920B2 (en) | 2017-07-24 | 2021-03-23 | Dolby Laboratories Licensing Corporation | Single-channel inverse mapping for image/video processing |
WO2019023202A1 (en) * | 2017-07-24 | 2019-01-31 | Dolby Laboratories Licensing Corporation | REVERSE MONOCANAL MAPPING FOR IMAGE / VIDEO PROCESSING |
US10609372B2 (en) | 2017-09-29 | 2020-03-31 | Dolby Laboratories Licensing Corporation | Up-conversion to content adaptive perceptual quantization video signals |
CN117082247A (zh) * | 2018-02-14 | 2023-11-17 | 杜比实验室特许公司 | 在视频编码中利用率失真优化进行图像再成形 |
US10609424B2 (en) | 2018-03-09 | 2020-03-31 | Dolby Laboratories Licensing Corporation | Single-layer progressive coding for supporting multi-capability HDR composition |
EP3791577A1 (en) | 2018-05-11 | 2021-03-17 | Dolby Laboratories Licensing Corporation | High-fidelity full reference and high-efficiency reduced reference encoding in end-to-end single-layer backward compatible encoding pipeline |
RU2691082C1 (ru) * | 2018-09-18 | 2019-06-10 | федеральное государственное бюджетное образовательное учреждение высшего образования "Донской государственный технический университет" (ДГТУ) | Способ тоновой аппроксимации палитры монохромного полутонового изображения |
US11430095B2 (en) | 2018-09-19 | 2022-08-30 | Dolby Laboratories Licensing Corporation | Automatic display management metadata generation for gaming and/or SDR+ contents |
WO2020068666A1 (en) * | 2018-09-24 | 2020-04-02 | Dolby Laboratories Licensing Corporation | Image denoising in sdr to hdr image conversion |
CN113016182B (zh) | 2018-10-03 | 2023-07-11 | 杜比实验室特许公司 | 减少后向兼容hdr成像中的条带伪影 |
RU2703933C1 (ru) * | 2018-11-08 | 2019-10-22 | федеральное государственное бюджетное образовательное учреждение высшего образования "Кемеровский государственный университет" (КемГУ) | Способ идентификации мультисинусоидальных цифровых сигналов |
EP3900341A1 (en) | 2018-12-18 | 2021-10-27 | Dolby Laboratories Licensing Corporation | Machine learning based dynamic composing in enhanced standard dynamic range video (sdr+) |
WO2020142186A1 (en) * | 2019-01-04 | 2020-07-09 | Interdigital Vc Holdings, Inc. | Inverse mapping simplification |
WO2020180120A1 (ko) * | 2019-03-05 | 2020-09-10 | 엘지전자 주식회사 | Lmcs에 기반한 영상 코딩 방법 및 그 장치 |
US20220174295A1 (en) * | 2019-03-11 | 2022-06-02 | Lg Electronics Inc. | Luma mapping- and chroma scaling-based video or image coding |
WO2020197207A1 (ko) * | 2019-03-23 | 2020-10-01 | 엘지전자 주식회사 | 맵핑을 포함하는 필터링 기반 비디오 또는 영상 코딩 |
EP3734588B1 (en) | 2019-04-30 | 2022-12-07 | Dolby Laboratories Licensing Corp. | Color appearance preservation in video codecs |
US20220301124A1 (en) | 2019-08-15 | 2022-09-22 | Dolby Laboratories Licensing Corporation | Efficient user-defined sdr-to-hdr conversion with model templates |
TWI812874B (zh) | 2019-10-01 | 2023-08-21 | 美商杜拜研究特許公司 | 張量乘積之b平滑曲線預測子 |
JP7439251B2 (ja) | 2019-10-17 | 2024-02-27 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ビデオコーデックにおける品質と計算の複雑さとの間の調整可能なトレードオフ |
US20230039038A1 (en) * | 2019-11-27 | 2023-02-09 | Dolby Laboratories Licensing Corporation | Rate-control-aware reshaping in hdr imaging |
JP7434554B2 (ja) | 2019-12-06 | 2024-02-20 | ドルビー ラボラトリーズ ライセンシング コーポレイション | カスケード予測 |
WO2021168001A1 (en) | 2020-02-19 | 2021-08-26 | Dolby Laboratories Licensing Corporation | Joint forward and backward neural network optimization in image processing |
CN110996131B (zh) * | 2020-03-02 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备及存储介质 |
US11516429B2 (en) | 2020-04-22 | 2022-11-29 | Grass Valley Limited | System and method for image format conversion using 3D lookup table approximation |
CN115699077A (zh) * | 2020-04-22 | 2023-02-03 | 杜比实验室特许公司 | 单层hdr图像编解码器中整形函数的迭代优化 |
US20230308667A1 (en) | 2020-08-06 | 2023-09-28 | Dolby Laboratories Licensing Corporation | Adaptive streaming with false contouring alleviation |
US11792532B2 (en) * | 2020-08-17 | 2023-10-17 | Dolby Laboratories Licensing Corporation | Picture metadata for high dynamic range video |
EP4222969A1 (en) | 2020-10-02 | 2023-08-09 | Dolby Laboratories Licensing Corporation | Adaptive local reshaping for sdr-to-hdr up-conversion |
KR20220053102A (ko) * | 2020-10-21 | 2022-04-29 | 삼성디스플레이 주식회사 | 하이 다이내믹 레인지 후-처리 장치, 및 이를 포함하는 표시 장치 |
US20240007682A1 (en) * | 2020-11-11 | 2024-01-04 | Dolby Laboratories Licensing Corporation | Wrapped reshaping for codeword augmentation with neighborhood consistency |
JP2024505493A (ja) | 2021-01-27 | 2024-02-06 | ドルビー ラボラトリーズ ライセンシング コーポレイション | グローバルおよびローカル再整形を介した画像向上 |
TW202232960A (zh) * | 2021-02-03 | 2022-08-16 | 圓剛科技股份有限公司 | 網路資訊傳輸方法及網路資訊傳輸系統 |
EP4341903A1 (en) | 2021-05-21 | 2024-03-27 | Dolby Laboratories Licensing Corporation | Patch-based reshaping and metadata for volumetric video |
JP7543577B2 (ja) | 2021-06-08 | 2024-09-02 | ドルビー ラボラトリーズ ライセンシング コーポレイション | チェーンドリシェーピング関数の最適化 |
WO2023022956A1 (en) | 2021-08-16 | 2023-02-23 | Dolby Laboratories Licensing Corporation | Applying minimum and average distance constraint in video streaming |
WO2023033991A1 (en) | 2021-08-30 | 2023-03-09 | Dolby Laboratories Licensing Corporation | Reshaper for learning-based image/video coding |
EP4441697A1 (en) | 2021-11-29 | 2024-10-09 | Dolby Laboratories Licensing Corporation | Denoising for sdr-to-hdr local reshaping |
WO2023150074A1 (en) | 2022-02-01 | 2023-08-10 | Dolby Laboratories Licensing Corporation | Beta scale dynamic display mapping |
CN116468992B (zh) * | 2023-06-20 | 2023-08-22 | 北京天图万境科技有限公司 | 一种重复校正性监督空间识别与还原方法与装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014204865A1 (en) * | 2013-06-17 | 2014-12-24 | Dolby Laboratories Licensing Corporation | Adaptive reshaping for layered coding of enhanced dynamic range signals |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2009620C1 (ru) * | 1991-06-18 | 1994-03-15 | Плешивцев Василий Алексеевич | Устройство адаптивного восстановления телевизионного сигнала |
US5612900A (en) | 1995-05-08 | 1997-03-18 | Kabushiki Kaisha Toshiba | Video encoding method and system which encodes using a rate-quantizer model |
US7023580B2 (en) | 2001-04-20 | 2006-04-04 | Agilent Technologies, Inc. | System and method for digital image tone mapping using an adaptive sigmoidal function based on perceptual preference guidelines |
JP5249784B2 (ja) | 2006-01-23 | 2013-07-31 | マックス−プランク−ゲゼルシャフト・ツア・フェルデルング・デア・ヴィッセンシャフテン・エー・ファオ | 高ダイナミックレンジコーデック |
PL2835976T3 (pl) * | 2008-04-16 | 2017-04-28 | Ge Video Compression, Llc | Skalowalność głębi bitowej |
WO2010105036A1 (en) * | 2009-03-13 | 2010-09-16 | Dolby Laboratories Licensing Corporation | Layered compression of high dynamic range, visual dynamic range, and wide color gamut video |
TWI479898B (zh) | 2010-08-25 | 2015-04-01 | Dolby Lab Licensing Corp | 擴展影像動態範圍 |
JP6009538B2 (ja) | 2011-04-28 | 2016-10-19 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Hdr画像を符号化及び復号するための装置及び方法 |
MX2014003556A (es) * | 2011-09-27 | 2014-05-28 | Koninkl Philips Nv | Aparato y metodo para transformacion de intervalo dinamico de imagenes. |
TWI575933B (zh) | 2011-11-04 | 2017-03-21 | 杜比實驗室特許公司 | 階層式視覺動態範圍編碼中之層分解技術 |
KR101641523B1 (ko) | 2013-03-26 | 2016-07-21 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 다층 vdr 코딩에서의 지각적으로-양자화된 비디오 콘텐트의 인코딩 |
JP6302600B2 (ja) | 2014-09-26 | 2018-03-28 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 知覚的量子化されたビデオコンテンツの符号化および復号化 |
KR101939012B1 (ko) | 2015-03-02 | 2019-01-15 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 하이 다이내믹 레인지 이미지들을 위한 콘텐츠 적응적 지각 양자화기 |
-
2016
- 2016-03-17 KR KR1020177026400A patent/KR101844732B1/ko active IP Right Grant
- 2016-03-17 BR BR112017018552A patent/BR112017018552B1/pt active IP Right Grant
- 2016-03-17 WO PCT/US2016/022772 patent/WO2016153896A1/en active Application Filing
- 2016-03-17 JP JP2017545909A patent/JP6374614B2/ja active Active
- 2016-03-17 RU RU2017132685A patent/RU2666234C1/ru active
- 2016-03-17 CN CN201680015911.9A patent/CN107409221B/zh active Active
- 2016-03-17 EP EP16712649.9A patent/EP3272123B1/en active Active
- 2016-03-17 US US15/546,792 patent/US10080026B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014204865A1 (en) * | 2013-06-17 | 2014-12-24 | Dolby Laboratories Licensing Corporation | Adaptive reshaping for layered coding of enhanced dynamic range signals |
Also Published As
Publication number | Publication date |
---|---|
BR112017018552A2 (pt) | 2018-04-24 |
BR112017018552B1 (pt) | 2019-10-22 |
WO2016153896A1 (en) | 2016-09-29 |
CN107409221A (zh) | 2017-11-28 |
KR20170118207A (ko) | 2017-10-24 |
US20180020224A1 (en) | 2018-01-18 |
RU2666234C1 (ru) | 2018-09-06 |
US10080026B2 (en) | 2018-09-18 |
JP2018511223A (ja) | 2018-04-19 |
EP3272123A1 (en) | 2018-01-24 |
JP6374614B2 (ja) | 2018-08-15 |
KR101844732B1 (ko) | 2018-04-02 |
EP3272123B1 (en) | 2019-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107409221B (zh) | 编码方法、解码方法、编码装置、解码装置、计算设备以及存储介质 | |
JP6310017B2 (ja) | マルチレイヤvdr符号化における知覚量子化ビデオコンテンツのデコーディング | |
CN107771392B (zh) | 用于高动态范围图像的实时内容自适应感知量化器 | |
US10311558B2 (en) | Efficient image processing on content-adaptive PQ signal domain | |
WO2019169174A1 (en) | Linear encoder for image/video processing | |
EP2774370B1 (en) | Layer decomposition in hierarchical vdr coding | |
EP3433833A2 (en) | Encoding and decoding reversible production-quality single-layer video signals | |
US20240236313A9 (en) | Systems and methods for image filtering | |
CN108141599B (zh) | 在视频编解码器中保留纹理/噪声一致性 | |
KR20070046852A (ko) | 혼합된 그래픽 및 비디오 소스의 압축을 위한 시스템 및방법 | |
WO2016040255A1 (en) | Self-adaptive prediction method for multi-layer codec | |
KR20150123810A (ko) | 이미지 동적 범위 변환 오퍼레이터를 선택하는 방법 및 디바이스 | |
US9979969B2 (en) | Method and system for image compression using image block characteristics | |
CN114175647A (zh) | 电光传递函数转换和信号合法化 | |
JP7574277B2 (ja) | 電気-光伝達関数変換及び信号適法化 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1242873 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |