CN108141613B - 利用后处理指示的视频译码的方法和系统 - Google Patents

利用后处理指示的视频译码的方法和系统 Download PDF

Info

Publication number
CN108141613B
CN108141613B CN201680054360.7A CN201680054360A CN108141613B CN 108141613 B CN108141613 B CN 108141613B CN 201680054360 A CN201680054360 A CN 201680054360A CN 108141613 B CN108141613 B CN 108141613B
Authority
CN
China
Prior art keywords
post
profile
processing
image data
video coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680054360.7A
Other languages
English (en)
Other versions
CN108141613A (zh
Inventor
J.博伊斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN108141613A publication Critical patent/CN108141613A/zh
Application granted granted Critical
Publication of CN108141613B publication Critical patent/CN108141613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Landscapes

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

Abstract

一种利用后处理指示的视频译码的计算机实现的方法包括下述步骤:获得图像数据;根据视频译码简档对图像数据进编码,视频译码简档具有包括简档指示符的语法,简档指示符指示视频译码标准的符合性参数并且用于经解码的视频;其中所述语法的指示符之一是一般情境解释代码,一般情境解释代码指示图像数据将要在解码之后被后处理,并且其中一般情境解释代码是最初由于除后处理之外的原因建立的已有简档指示符;以及在将要被传送给解码器的比特流中提供图像数据和语法设置以使图像数据被解码、根据一般情境解释代码的设置在解码之后被后处理,并且可用于显示图像。

Description

利用后处理指示的视频译码的方法和系统
背景技术
由于不断增加的视频分辨率和对高质量视频图像的上升的期望,对于视频的高效图像数据压缩存在高需求,而针对利用已有视频译码标准(诸如,根据来自瑞士,1211日内瓦 20,place des Nations 的国际电信联盟的ITU-T Rec. H.265, version 04/2013的H.265/HEVC (高效视频译码)标准,并且其全部内容被合并于此)进行译码的性能受到限制。这些标准使用传统方案的扩展形式解决不充分压缩/质量问题,但结果仍然不充分。
这些典型视频译码系统使用编码器,编码器产生关于视频帧的数据,所述数据能够以比特流被高效地传送给解码器并且随后被用于重构视频帧。这种数据可包括视频译码层数据(诸如,图像亮度和颜色像素值以及帧内和帧间预测数据、滤波数据、残差等),从而不必将所有帧中的每一个像素的亮度和颜色数据放置在从编码器到解码器的比特流中。所述数据还可包括非视频译码层数据或控制数据,所述非视频译码层数据或控制数据包括简档,简档指示解码器合适地将比特流解码成期望格式所需的能力和在图像数据被解码时图像数据的参数,并且能够容易地被许多不同显示装置使用。
而且,已发现:虽然一些视频内容被提供用于以极高质量格式(诸如,高动态范围(HDR))显示,但通过应用预处理功能,实现了更好的译码效率以压缩并且传送图像数据,所述预处理功能包括自适应传递函数(ATF),所述自适应传递函数(ATF)将图像数据的格式改变为更适合HEVC压缩的格式,诸如,仅举一个示例,标准动态范围(SDR)。通过在解码器处的逆后处理功能,预处理被反转以将经解码的SDR视频变换成HDR视频内容从而将HDR视频提供给例如显示器。而且,也存在其它期望的预处理功能,所述其它期望的预处理功能要求正向预处理应用,所述正向预处理应用经常需要在解码之后在后处理操作中被反转。然而,目前的HEVC标准不具有充分的实现方式来在解码器从具有预处理能力的编码器接收到视频时要求后处理以确保所获得的经解码的视频符合正确格式和参数使得视频能够按照高质量格式被观看。
附图说明
在附图中,作为示例而非作为限制图示了这里描述的材料。为了图示的简单和清楚,附图中图示的元件未必按照比例绘制。例如,为了清楚,一些元件的尺寸可相对于其它元件被夸大。另外,在认为合适的情况下,参考标签在各附图之中被重复以指示对应或类似的元件。在附图中:
图1是已知视频译码系统的说明性图;
图2是根据这里的实现方式的视频译码系统的说明性图;
图3是根据这里的实现方式的利用后处理指示的视频译码的方法的流程图;
图4是根据这里的实现方式的利用后处理指示的视频译码的方法的另一流程图;
图5A是根据这里的实现方式的利用后处理指示的视频译码的方法的详细流程图;
图5B是根据这里的实现方式的利用后处理指示的视频译码的方法的另一详细流程图;
图6是根据这里的实现方式的用于提供利用后处理指示的视频译码的方法的操作中的示例性系统的说明性图;
图7是示例性系统的说明性图;
图8是另一示例性系统的说明性图;和
图9图示全部根据本公开的至少一些实现方式布置的另一示例性装置。
具体实施方式
现在参照附图描述一个或多个实现方式。尽管讨论了特定配置和布置,但应该理解,这仅出于说明性目的而进行。相关领域技术人员将会意识到,在不脱离本描述的精神和范围的情况下,可采用其它配置和布置。对于相关领域技术人员而言将会清楚的是,这里描述的技术和/或布置也可被用在除这里描述的系统和应用之外的各种其它系统和应用中。
尽管下面的描述阐述可在诸如例如片上系统(SoC)架构之类的架构中表明的各种实现方式,但这里描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可由用于类似目的的任何架构和/或计算系统实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算装置和/或消费电子(CE)装置(诸如,机顶盒、智能电话、平板计算机、电视等)可实现这里描述的技术和/或布置。另外,尽管下面的描述可阐述许多特定细节(诸如,系统部件的逻辑实现方式、类型和相互关系、逻辑分割/集成选择等),但可在没有这种特定细节的情况下实施要求保护的主题。在其它实例中,一些材料(诸如,例如控制结构和完全软件指令序列)可不被详细示出以免模糊这里公开的材料。
这里公开的材料可被实现于硬件、固件、软件或其任何组合中。这里公开的材料还可被实现为存储在机器可读介质上的指令,所述指令可由一个或多个处理器读取并且执行。机器可读介质可包括用于以可由机器(例如,计算装置)读取的形式存储或传送信息的任何介质和/或机构。例如,机器可读介质可包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存装置;电信号、光学信号、声学信号或其它形式的传播信号(例如,载波、红外信号、数字信号等)等。按照另一形式,非暂态物品(诸如,非暂态计算机可读介质)可被用于任何上述示例或其它示例,除了非暂态物品不包括暂态信号本身之外。它包括除信号本身之外的、可按照“暂态”方式暂时地保存数据的那些元件(诸如,RAM等)。
在说明书中对“一个实现方式”、“实现方式”、“示例性实现方式”等的提及指示所描述的实现方式可包括特定特征、结构或特性,但每个实现方式可能不一定包括所述特定特征、结构或特性。此外,这种短语不一定表示同一实现方式。另外,当结合实现方式描述特定特征、结构或特性时,认为结合其它实现方式实现这种特征、结构或特性落在本领域技术人员的知识范围内,无论是否在这里明确地描述。
以下描述与根据这里的实现方式的利用后处理指示的视频译码相关的系统、物品和方法。
当在编码之前应用预处理以使用传递函数转换高动态范围(HDR)内容并且在解码之后应用对应的逆后处理时,使用HEVC标准的高动态范围(HDR)内容的视频压缩能够实现更好的译码效率。在这种系统中,对于可接受的视频质量可能要求应用使预处理功能逆反的后处理功能。即使在执行这种预处理和后处理时,核心编码和解码处理也能够相对于在HEVC中定义的已有简档而言不变。
在从编码器和向解码器传送的开销数据(overhead data)的集合中信号传送简档以指示视频序列的可允许参数和格式,以便解码器理解必须支持将哪些译码算法应用于视频比特流以对视频比特流进行解码。换句话说,所述简档使用与定义的译码工具集合关联的profile_tier_level语法中的简档语法元素(或通常被称为简档指示符代码或简档指示符),所述译码工具能够被用于创建符合该简档的比特流,并且该简档由视频译码标准的规范定义。分派给某个简档的编码器可选择使用哪些译码工具,只要该译码工具产生符合的比特流即可,而简档的解码器必须支持能够在该简档中使用的所有译码工具。profile_tier_level语法本身可包括针对级和层的代码以指示能力,所述能力可能变化或者是从级到级或从层到层的程度问题(诸如,分辨率、帧速率等)。这里所述的简档不包括比特流的非视频译码层(非VCL)中的其它控制数据,该其它控制数据用于实现与简档中的代码关联的特征。例如,参数集、SEI元数据、片头数据等不被视为简档的一部分。换句话说,高级语法(所述高级语法描述比特流的结构或提供应用于多个图片或图片内的多个译码块区域的信息)并不仅仅包括简档。以下更详细地解释简档的细节。
参照图1,示出传统HEVC视频压缩或视频译码系统100,其中视频被输入到HEVC编码器102,HEVC编码器102创建HEVC比特流104。HEVC解码器106对比特流进行解码以创建经解码的视频。解码过程中的建立经解码的视频的点被视为符合性点110,以使得符合按照一个示例在HEVC规范中定义的相同简档的所有解码器必须能够对符合该简档的比特流进行解码以创建与由基准解码器创建的经解码的视频位精确匹配的经解码的视频,所述基准解码器如该规范所定义的那样进行操作。如此解码并且符合,许多不同装置能够使用经解码的视频数据来显示视频,因为其简档(或允许的参数和/或格式)是已知的。因此,“正常”符合性点在已有HEVC规范中被定义为解码器106(或者当后处理单元被视为解码器的一部分时,“核心”视频解码器)的输出。在解码之后,已有HEVC规范包括补充增强信息(SEI)消息,所述SEI消息推荐各种后处理功能。在已有HEVC规范中,基于SEI消息的后处理功能不是标准化的(或者换句话说,不是必要的),并且不影响解码器的符合性的定义。图1示出可选的后处理单元108,后处理单元108接收具有SEI消息相关数据的元数据,并且可根据那些消息对经解码的视频进行后处理。因此,在传统系统中,即使当未提供逆后处理时(并且在这种情况下,SEI消息被忽略),一些解码器也可对经预处理的视频进行解码,或者当例如SEI元数据被丢弃时,解码器可能不知道视频将被后处理。另一方面,即使能够执行后处理的解码器接收到SEI消息并且理解应该执行后处理,解码器仍然可能省略后处理,因为解码器不具有执行推荐的后处理功能的能力。
当经预处理的视频比特流被没有后处理或者不知道该经解码的视频必须被后处理的解码器拾取时,该解码器可能按照错误或不期望的格式提供视频(诸如,当显示器期望HDR视频但它反而接收到应用了传递函数的视频时)。此外,存在更多极端问题,并且在一些情况下,除非通过比特流中所包括的参数,否则不知道在预处理期间改变视频的格式的自适应传递函数(ATF),并且如果未应用逆传递函数,则视频根本不能被合适地观看,例如颜色和亮度将会是错误的。
当前,简档不提供标准化后处理指示符。这允许定义更少的简档,这鼓励互操作性。因为用于设计符合特定简档的硬件解码器的大量开发成本,硬件实现方式受益于具有一些广泛部署的简档,而非大量小众简档。
用于解决这个问题的一种方式将是定义新的附加简档,所述新的附加简档另外复制已有简档,除了通过添加新的后处理字段来添加后处理能力,所述新的后处理字段具有指示后处理将会被应用的代码和后处理的类型。每个视频译码标准具有可用简档的列表,其中每个简档指示特定能力(诸如,位深度、色度采样格式、使用的译码工具和许多其它能力)的使用。简档的使用提供显著适应性,使得编码器和解码器能够对具有不同格式的视频进行编码以增加效率和图像的质量。然而,一旦在标准中定义了简档,则不能对该特定简档进行改变。如果允许用于添加后处理简档代码的改变,则符合该简档的传统实现方式将不再起作用。另一方面,即使在要求后处理时,仍然期望重新使用符合特定简档的传统硬件解码器实现方式。
为了更好地解决这些问题,这里公开的方法重新使用(或适配)已有简档信令,使得特定已有简档语法元素加上profile_tier_level语法中的附加信令指示:系统内符合特定简档的传统解码器实现方式包括后处理能力。它避免了定义附加简档的需要。因此,在概念上而言,这种方法有效地使信令能够指示:解码系统的符合性点是标准化后处理功能的输出,所述标准化后处理功能在已有简档的核心解码器(如传统解码器中所实现的)之后并且用于已知标准(诸如,HEVC)。
按照一个方案,通过使用视频译码标准之一的profile_tier_level语法中的一般情境解释代码来实现这一点,并且一般情境解释代码传统上被设置为0,使得包括简档数据的经译码的视频序列(CVS)的比特流被解码,但如果一般情境解释代码不是0,则CVS可能无法被解码。传统上,这些值被保留以用于未来标准化用途,诸如新规范(或新简档集合)的添加。针对一般情境解释代码的可用设置在这里被改变以接受用于解码的两个值(诸如,0和1)。当一般情境解释代码在编码器处被设置为1并且与待解码的图像数据一起传送时,被修改以识别1(或其它值)的传统解码器可根据正在使用的特定简档提供对数据的核心解码和标准化后处理。以下解释细节。
参照图2,例如,图像或视频处理系统(或视频编码解码器系统)200可被用于执行这里描述的利用后处理指示的视频译码的方法。系统200可具有图像或视频处理装置,所述图像或视频处理装置也被称为编码器装置或仅称为编码器201。编码器201可具有:预处理单元202,用于提供预处理能力,所述预处理能力包括可在解码器侧反转的过程;和编码器核心204,执行图像数据的压缩。视频序列的采用帧(也被称为图像或图片)的形式的视频例如可被输入到预处理单元202以创建经预处理的视频。预处理功能可包括这样的预处理功能:被期望以一种方式对图像进行变换,使得当使用传统编码器核心204进行译码时提高译码效率。预处理也可包括在解码器处未必需要反转的其它过程。比特流206随后可被与经编码的图像数据和控制数据一起封包,所述控制数据包括简档数据,所述简档数据指示被解码的图像应该符合的规范、格式等,并且以无线方式、以有线方式或者这二者将封包的数据传送给解码器以用于图像数据的解码和标准化后处理。
比特流206随后可被解码器或解码器装置212接收,解码器或解码器装置212具有核心解码器208用于提取图像数据和控制数据,并且对图像数据进行解码。经解码的图像数据随后可被提供给后处理单元210以执行后处理技术,所述后处理技术包括后处理的应用,所述后处理使预处理反转以按照用于显示的期望格式而非用于译码的格式提供输出视频图像。为了进行标准化过程的后处理部分,profile_tier_level语法的值的可用范围可被扩展以便在profile_tier_level语法(诸如,简档的一般情境解释代码)具有特定值(诸如,1而非0)时要求后处理。按照一个示例,所述代码是一般情境解释代码,诸如HEVC简档的general_profile_space代码。可从比特流提取指示标准化后处理的类型的其它数据。通过这个方案,在图像已被后处理之后获得所述过程的符合性点。以下描述这个过程的其它细节。
在一些示例中,视频译码系统200可包括另外的项,这些项为了清楚起见而未被示出在图2中。例如,视频译码系统200可包括处理器、射频类型(RF)收发器、分离器和/或复用器、显示器和/或天线。另外,视频译码系统200可包括另外的项,诸如扬声器、麦克风、加速度计、存储器、路由器、网络接口逻辑等。利用以下描述的系统700、800或900示出这种实现方式。
通过替代形式,执行这里的后处理指示方法的视频译码系统可被实现为图像处理器、视频处理器和/或媒体处理器的一部分,并且执行帧间预测、帧内预测、预测性译码和残差预测。在各种实现方式中,这里的系统可根据除HVEC之外的一个或多个标准或规范(诸如,例如VP9或其它基于VPX的标准)执行视频压缩和解压缩和/或实现视频编码解码器,但这里的系统也能够被应用于H.264 (MPEG-4)和其它标准,前提是这些标准相关或者这些标准被修改为与提供标准简档的系统兼容。除这里提供的简档描述之外,这里描述的系统、方案或过程未必全部总是局限于任何特定视频译码标准或规范或其扩展。
如这里所使用的,术语“译码器”可表示编码器和/或解码器。类似地,如这里所使用的,术语“译码”可表示经编码器编码和/或经解码器解码。译码器、编码器或解码器可具有编码器和解码器的部件。
参照图3,根据本公开的至少一些实现方式布置示例性过程300。通常,过程300可提供利用后处理指示的视频译码的计算机实现的方法,并且强调在编码器侧的操作。在图示的实现方式中,过程300可包括如以偶数编号的操作302至308中的一个或多个操作所示的一个或多个操作、功能或动作。作为非限制性示例,将在这里参照分别地并且在相关的情况下关于图2和7-9的示例性系统200、700、800或900讨论的操作来描述过程300。
过程300可包括“获得图像数据” 302,并且如上所述,可获得视频序列的帧的形式的图像数据。图像数据可被预处理以对图像数据进行格式化从而用于更高效的视频译码。这可包括去马赛克、去噪声等。预处理也可包括或者可不包括如下过程:转换图像数据以用于更好的译码效率,但随后应该在解码之后被反转以用于图像数据的更高效或更好质量显示。通过一个形式,这种预处理可包括:将以HDR格式捕获的图像变换成SDR以用于译码,或执行其它图像数据转换(诸如,RGB颜色空间数据至YUV图像数据值、其它色度或亮度值转换、色温转换等)。
过程300可包括“根据视频译码简档对图像数据进行编码,视频译码简档具有profile_tier_level语法,profile_tier_level语法包括简档语法元素,简档语法元素指示视频译码标准的符合性参数并且用于经解码的视频” 304,并且通过执行传统核心编码算法以使用视频译码标准压缩图像数据。因此,根据视频译码标准(诸如,按照一个示例,HEVC),并且具体地讲,根据来自所述标准的可用简档之一(诸如,Main或Main 10简档),图像数据可被编码。这更好地确保图像数据被以一种方式译码,以便使解码器能够确定要求哪些译码工具来对图像数据进行解码并且提供经解码的图像数据,该经解码的图像数据具有例如显示装置所期望的特定参数。
过程300可包括“其中profile_tier_level语法的简档语法元素之一是一般情境解释代码,一般情境解释代码指示图像数据将要在解码之后被后处理,并且其中一般情境解释代码是最初由于除后处理之外的原因建立的已有简档语法元素” 306。这个一般情境解释代码被用作后处理设置,并且按照一个可能的示例,可与HEVC的简档(诸如,Main 10)一起使用。这被执行,而非为视频译码标准建立新简档。在针对HEVC的一个示例中,一般情境解释代码是general_profile_space,general_profile_space可位于已有HEVC规范的profile_tier_level()语法结构中,并且可被设置为当general_profile_space的值被设置为00时激活核心解码,但当所述值被设置为例如01时既激活核心解码又激活后处理。
通过一个方案,当设置将要由编码器使用哪个简档时,并且通过设置HEVC简档中的general_profile_idc代码,由开发者设置一般情境解释代码。根据一般情境解释代码的值,能够指示应该应用的一个或多个后处理技术。例如,所选择的指示SDR数据将会被用于编码的一般情境解释代码e可能要求HDR图像数据被转换到SDR,然后应该在解码之后被转换回至HDR图像数据。因此,这个一般情境解释代码将会被理解为指示:SDR至HDR后处理转换是简档的要求之一。在这种情况下,对于HEVC,一般情境解释代码(诸如,general_profile_space)可被设置为1(或者更精确地讲,01)。将会理解,如以下所解释的,其它替代方案是可能的。
除0或1之外的一般情境解释代码的简档语法元素设置不被改变。当所述代码具有除0或1之外的值时,关联的译码视频序列(CVS)的解码可被解码器跳过。除0或1之外的值被保留以激活未来替代译码规范标准,所述未来替代译码规范标准可具有它们自己的简档集合。即使对于接收简档和图像数据的解码器而言简档识别码()具有有效值,解码也将会被跳过。
过程300可包括“在将要被传送给解码器的比特流中提供图像数据和profile_tier_level语法设置以使图像数据被解码,根据一般情境解释代码的设置在解码之后被后处理,并且可用于显示图像” 308。因此,图像数据被封包到数据包中并且放置在比特流中,并且简档设置,作为诸如例如参数集中的网络抽象层(NAL)单元的非视频译码层(非VCL)的一部分,也被封包并且放置在比特流中。如上所述并且如以下更详细解释的,一旦在解码器处被提取和读取,解码器将会根据一般情境解释代码的值而知道是否执行后处理。解码器也将会知道后处理的类型,后处理的类型由一般情境解释代码指示,如以下所解释的。一旦被后处理,图像数据随后可用于显示。
参照图4,根据本公开的至少一些实现方式布置示例性过程400。通常,过程400可提供利用后处理指示的视频译码的计算机实现的方法,并且强调在解码器侧的操作。在图示的实现方式中,过程400可包括如以偶数编号的操作402至408中的一个或多个操作所示的一个或多个操作、功能或动作。作为非限制性示例,将在这里分别地并且在相关的情况下参照关于图2和7-9的示例性系统200和700-900讨论的操作来描述过程400。
过程400可包括“获得经编码的图像数据和视频译码简档的profile_tier_level语法设置并且使简档语法元素指示视频译码标准的符合性参数并且用于经解码的视频”402。因此,经译码的图像数据和简档数据可被从接收的比特流提取。作为一个可能的示例,简档可以是HEVC简档(诸如,Main 10)。简档可包括与后处理相关的简档语法元素,如下所述。
过程400还可包括“其中profile_tier_level语法的一个简档语法元素指示图像数据将要在解码之后被后处理,并且其中所述一个简档语法元素是最初由于除后处理之外的原因建立的已有简档语法元素”404。因此,如针对过程300所解释的,图像数据可能已被预处理成对于译码而言高效的格式,或者可能未被预处理成对于编码而言高效的格式。无论如何,图像数据可在解码之后被变换成所期望的用于图像显示的另一格式或以前的格式,诸如按照上述示例之一,接收SDR格式的视频,所述SDR格式需要在解码之后被变换成HDR格式。如上所述,一般情境解释代码被用于指示要求后处理,并且可以是HEVC中的general_profile_space代码,并且被从所述序列或片头的非VCL NAL单元提取。对于没有后处理的解码,一般情境解释代码的值可以是0,对于具有后处理的解码,一般情境解释代码的值可以是1,并且任何别的值指示应该省略或者至少不要求对当前CVS的处理。将会理解,能够使用与0和1不同的值。
过程400还可包括“对经编码的图像数据进行解码”406,并且通过在这个示例性情况下使用HEVC标准(但可使用其它标准)的解码过程。以下提供相关细节。结果是经解码解压缩的图像的集合,所述经解码解压缩的图像可能已被预处理或者可能未被预处理,并且当被提供时准备好进行后处理。
过程400还可包括“根据所述一个简档语法元素的设置,提供将要被后处理的经解码的图像数据以使用经后处理的图像数据来显示图像” 408。因此,当情境解释代码指示应该发生后处理时,一旦经译码的图像数据被解码,其后经译码的图像数据可被提供给后处理单元。所述代码可指示将要执行特定类型的后处理,诸如SDR返回至HDR数据或者YUV数据返回至RGB数据等。将会理解,后处理单元可被视为解码器的一部分,或者可不被视为解码器的一部分。
经后处理的图像数据随后可被提供用于显示或可被存储和/或进一步传送以用于最后显示。
现在参照图5A,根据本公开的至少一些实现方式布置详细示例性后处理指示过程500。通常,过程500可提供利用后处理指示的视频译码的计算机实现的方法,并且从编码器侧的角度。在图示的实现方式中,过程500可包括一个或多个操作、功能或动作,如以偶数编号的操作502至520中的一个或多个操作所示的。作为非限制性示例,将在这里分别地并且在相关的情况下参照关于图2和7-9的示例性系统200和700-900讨论的操作来描述过程500。
过程500可包括“确定将要由编码器使用的简档”502。如上所述,每个视频译码标准具有可用简档的列表,其中每个简档指示特定能力(诸如,位深度、色度采样格式、图片尺寸和许多其它能力)的使用。简档的使用提供显著适应性,使得编码器和解码器能够对具有不同格式的视频进行译码以增加图像的效率和质量。一旦选择了简档,所述选择通常被固定,并且根据该简档执行编码和解码。
按照本示例,一个HEVC规范提供简档,所述简档被称为main、main 10、main stillpicture简档、格式范围扩展简档(包括monochrome、monochrome 12和monochrome 16简档)、main 12简档、main 4:2:2 10和main 4:2:2 12简档、main 4:4:4、main 4:4:4 10和main 4:4:4 12、main intra、main 10 intra、main 12 intra、main 4:2:2 10 intra、main4:2:2 12 intra、main 4:4:4 intra、main 4:4:4 10 intra、main 4:4:4 12 intra、main4:4:4 16 intra、main 4:4:4 still picture、main 4:4:4 16 still picture和格式范围扩展高吞吐量简档(作为一些实例,可包括高吞吐量4:4:4 16 intra简档)。main 10将会被引用用于这里提供的继续中的示例。将会理解,可使使用除HEVC之外的标准,并且可在这种情况下使用不同简档,或者HEVC可具有未在这里提及的其它简档。
开发者选择与以下各项最好地匹配的简档:能够在编码器和解码器上提供的期望能力,和在符合性点处经解码的图像数据的期望参数,在这种情况下,所述符合性点将会在后处理之后。基于这个决定,开发者可“获得将要与视频序列一起放置在比特流中的比特流简档结构” 504,所述视频序列将要被传送给解码器。更精确地讲,开发者创建简档结构或模板,所述简档结构或模板具有针对每个profile_tier_level语法设置的字段,所述字段将会具有针对个体简档的值。如下所述,所述字段随后可以针对特定简档值被填充。作为比特流编码过程的一部分,简档代码语法能够由编码器产生,或者简档代码语法可被准备并存储在编码器装置可访问它的位置,使得编码器复用器或其它比特流构造单元能够获得简档代码值并且将它们放置在视频、图片、片(或其它片段)头的NAL NON-VCL区域中的合适位置。将会理解,所述语法可由编码器在运行中产生,而非已被预先准备。
在讨论填充与后处理相关的简档代码字段之前,应该理解简档的基本结构。符合例如HEVC推荐和国际标准的简档的经译码的视频内容均使用共同语法。为了实现完整语法的子集,标记、参数和其它语法元素可被包括在比特流中,所述标记、参数和其它语法元素信号通知稍后在比特流中出现的语法元素的存在或不存在。
此外,在许多应用中,当前,实现能够处理特定简档内的语法的所有假设用途的解码器既不实际也不经济。为了处理这个问题,在每个简档内指定“层”和“级”。层和层内的级指示能力的差异,所述能力的差异是针对相同特征(诸如,图片分辨率、帧速率等)的程度或考量。通过一个方案,层的级是施加在比特流中的语法元素的值上的约束的指定集合。这些约束可以是对于值的简单限制。替代地,它们可采用对各个值的算术组合的约束的形式(例如,图片宽度乘以图片高度乘以每秒解码的图片的数量)。与针对上层指定的级相比,针对下层指定的级具有更强约束。因此,按照一个示例,仅级1至4能够被用在下层中,而级5至31可被限制于上层。简档、层和级也指定对比特流的限制,并且因此指定对解码比特流所需的能力的限制。简档、层和级也可被用于指示个体解码器实现方式之间的互操作性点。
通过使用Main 10简档并且与如以上所解释的后处理相关的HEVC示例,HEVC编码器可创建HEVC比特流以具有一般情境解释代码的非零值,在这种情况下,所述一般情境解释代码是profile_tier_level()语法结构中的简档代码general_profile_space语法元素。对于这个示例,值1(或其它值)被用于general_profile_space的非零值以指示:除了解码之外,还将要执行在后处理之后形成图像数据的符合性点的强制或标准化后处理。HEVC编码器还创建HEVC比特流以在简档代码general_profile_idc具有一定值,所述一定值指示:将要在解码器使用哪个简档(以及编码器正在使用哪个简档)。对于Main 10 HEVC简档,这个值可以是2。general_profile_idc可具有指示各种解码简档的许多不同值。
更具体地讲,HEVC的profile_tier_level()语法结构可包括语法元素general_profile_idc和general_profile_space这二者。以下是已有HEVC规范的示例性profile_tier_level()语法结构和表下方的规范中的general_profile_space和general_profile_idc的语义,并且如描述符栏下方所示,“u”表示无符号并且括号(#)里的数字表示字段或代码值的位数。
Figure 694023DEST_PATH_IMAGE001
下面是与这里使用的后处理指示方法相关的一些元素或简档代码的描述。以下的许多元素引用Annex A,Annex A是HEVC标准的简档、层和级语义,并且可在与ITU-T WP3/16和ISO/IEC JTC 1/SC 29/WG 11的视频译码联合协作小组(JCT-VC)的JCTVC-T1005对应的ISO/IEC 23008-2:2013/PDAM5 Screen Content Coding (SCC) Extensions for HighEfficiency Video Coding (HEVC)的Annex A中找到。
标准规范可被如下修改(以下划线示出),其中引用语中的语言指示简档的已有视频译码标准规范中所叙述的语言:
“general_profile_space指定general_profile_idc和针对0至31(包括0和31)的范围中的j的所有值的general_profile_compatibility_flag[j]的解释的情境。在符合这个规范的这个版本的比特流中,general_profile_space的值将会等于0或1。general_profile_space的其它值被保留以便未来由ITU-T | ISO/IEC使用。当general_profile_space不等于0或1时,解码器将忽略经译码的视频序列(CVS)”,其中带下划线的文本已被添加。
“general_tier_flag指定如Annex A中所指定的general_level_idc的解释的层情境,并且指示哪个可用层将会被提供用于正被编码的视频序列。”
“当general_profile_space等于0或1时,general_profile_idc指示如以上引用的Annex A中所指定的CVS符合的简档。例如,比特流将不包含除在Annex A中指定的那些值之外的general_profile_idc的值。general_profile_idc的其它值被保留以便未来由ITU-T | ISO/IEC使用。”添加的内容以下划线示出。再一次,这里的规范被修改以便在一般情境解释值是1时允许解码和标准化后处理。
上述general_profile_compatibility_flag[j]代码指示当前经译码的视频序列(CVS)是否符合由简档识别码(general_profile_idc)指示的简档。
过程500可包括“填充正被编码的图像数据的简档字段” 506。这可包括“填充简档识别码以及层和/或级识别码” 508。因此,这个操作可包括设置在以上的profile_tier_level语法表上提及的其它代码,所述其它代码包括例如简档选择代码(general_profile_idc)、用于设置将要使用哪个层的general_tier_flag、和general_level_idc代码。
这个操作还可包括:如果将要应用后处理,则“设置一般情境解释代码以指示需要后处理” 510。如所提及的,开发者可填充简档代码字段,包括当将要执行标准化后处理时将一般情境解释代码(general_profile_space)设置为1(或其它值)。
过程500可包括“确定将要被放置在比特流中的其它后处理信息数据” 512。这里,开发者可设置各个值,该各个值指示将要在图像数据的解码之后应用的标准化后处理的类型。这种数据可被放置在不被视为简档的一部分的NAL非VCL头部区段的其它区域中。这可被提供在SEI元数据中或作为包括VUI的参数集(PPS、SPS和/或VPS)之一的一部分,例如,这取决于哪种数据将要被后处理以及何时可提供可适应的后处理。因此,后处理可应用于各个所选择的图片、多个序列的视频中的特定序列或具有特定类型的视频序列的视频。这里的后处理可包括由一般情境解释代码表示的后处理的类型,其可以是与比特流中的信息一致的唯一后处理或者可以是在比特流中指示的后处理的多个类型中的一种类型。通过一个形式,由一般情境解释代码指示的后处理类型是标准化的或强制的,以在强制类型的后处理之后建立简档符合性点,而比特流中的其它类型的后处理的后处理数据在解码器侧可以是可选的或者可以不是可选的。当多个类型的后处理将要被视为标准化的时,一般情境解释代码可具有不同值用于指示后处理的不同标准化类型或后处理类型的不同组合。因此,例如,0可表示没有后处理的解码,1可表示具有HDR转换的解码,2可表示具有RGB转换的解码,并且3可表示具有这两种类型的后处理的解码。未分派任何数字仍然将会被视为允许解码器完全省略解码。针对诸如这些的许多不同类型的后处理的许多不同布置是可能的。
过程500可包括“获得待编码的视频序列的图像数据” 514。如所提及的,可从例如图像捕获装置获得具有原始图像数据的形式的图像数据,原始图像数据可被划分为帧。
然后,过程500可包括“对图像数据进行预处理” 516。图像数据可被预处理或者可不被预处理,并且可包括各种不同类型的预处理。这可包括噪声减小、像素线性化和阴影补偿、分辨率降低、Bayer去马赛克和/或虚光消除、时间去噪、图像锐化等。通过一个形式,图像数据被至少预处理成对于译码而言更加高效的一个或多个格式,并且其中在解码之后期望或有必要利用后处理使预处理反转,从而能够显示经解码的图像。因此,预处理可包括:将以HDR格式(诸如,10位YUV 4:2:0数据)捕获的图像变换成SDR(诸如,具有SDR动态范围表示的10位YUV 4:2:0);将RGB颜色空间值转换到YUV颜色空间值以用于译码;将图像数据从一个色度子采样标准转换到另一色度子采样标准(诸如,4:2:2至4:4:4)以用于译码;执行色温转换或其它色度和/或亮度转换。其它示例也是已知的。
过程500可包括“根据简档对图像数据进行编码” 518。编码器对例如视频的图像数据进行编码以使图像数据符合HEVC的简档(诸如,Main 10)从而创建HEVC比特流,并且HEVC比特流被修改以在一般情境解释代码包括后处理指示符,如以上所解释的。Main 10简档仅是许多HEVC或能够使用的其它标准的其它简档中的一个示例性简档,所述其它标准中的一些也在以上被列出。这种编码可包括有损(量化)和无损译码(诸如,熵译码)二者。编码的结果是经译码或压缩的图像数据,所述经译码或压缩的图像数据准备好被放置在比特流中以传送给解码器。
过程500可包括“将图像数据放置在比特流中” 520,并且按照一个示例,这通过使用复用器实现。
过程500可包括“将简档数据放置在比特流中” 522,其中按照一个示例,复用器可取回图像数据(例如,VCL数据)和对应(或关联)的简档数据(例如,非VCL头数据)以在比特流正被传送时按次序放置在比特流中。
过程500可包括“将其它后处理数据放置在比特流中” 523。如上所述,提供其它数据以指示必须或能够由解码器提供以获得符合性的后处理的类型,并且可指示哪个类型(或哪些类型)的后处理将会被视为标准化的。传统上,允许但不要求的是,比特流包含描述如下参数的信息:所述参数被用在其它自适应预处理和/或后处理功能中并且可存在于参数集(诸如,图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS))中或者可不存在于参数集中。当解码器提供多于一种类型的后处理时,如一般情境解释代码所指示的将要被视为标准化的后处理的一个或多个类型可由一般情境解释代码的值指示。在这种情况下,如上所述,后处理的每个类型或后处理类型的不同组合可针对所述代码具有不同值。例如,按照一个可能的示例,1可表示HDR转换,2可表示RGB转换,并且3可表示被包括在标准化后处理中的这二者。
过程500可包括“传送比特流” 524,并且因此,比特流或帧数据和头数据的堆栈被提供给例如传送单元以便以有线方式或以无线方式传送给解码器。以下提及能够提供这种传送的单元。
过程500可包括“更多视频序列
Figure DEST_PATH_IMAGE003
” 526。如果没有更多视频序列,则在编码器侧的过程结束。如果有更多视频序列,则该过程循环至操作514以获得将要被编码并且与对应简档数据一起放置在比特流中的更多视频序列。
参照图5B,过程550可提供利用后处理指示的视频译码的另一计算机实现的方法,并且从解码器侧的角度以及根据本公开的至少一些实现方式布置。在图示的实现方式中,过程550可包括一个或多个操作、功能或动作,如由以偶数编号的操作552至566中的一个或多个操作所示的。作为非限制性示例,并且在相关的情况下,可在这里参照关于图2和7讨论的操作描述过程550,并且可参照以下讨论的示例性系统200和700讨论过程550。
过程550可包括“接收比特流” 552。因此,解码器可具有接收器单元用于以有线方式或以无线方式接收比特流。然后,过程550可包括“提取经译码的图像数据和profile_tier_level语法数据”554,以使得解复用器例如可提取具有例如帧的形式的图像数据和非VCL数据,所述非VCL数据包括这里提及的简档语法元素代码和一般情境解释代码以及其它开销数据(诸如,SEI元数据和参数集)。
过程550可包括“读取所提取的简档以确定解码设置”556。因此,解码器读取简档的profile_tier_level语法设置以确定当解码器针对多个简档提供解码时将要符合哪个简档,或者当解码器仅提供一个简档或有限数量的简档时指示兼容简档。因此,读取简档、层和级代码以及简档中的其它代码以激活正确算法和译码工具从而获得符合的经解码的视频序列。
无论是被视为操作556的一部分还是被视为单独的操作,过程550可包括“读取最初用于非后处理目的的后处理指示符以确定是否将要执行后处理”558,并且其中按照一个示例,后处理指示符是profile_tier_level语法的一般情境解释代码。因此,将要由解码器接受的一般情境解释代码的值已被修改。这个代码在传统上被设置为0以指示解码,并且任何其它值指示不需要解码器对视频序列进行解码,如以上所解释。然而,现在,要求具有标准化后处理能力的、符合具有general_profile_idc(按照一个示例,也在profile_tier_level语法中发现)的特定简档值的简档的解码器来执行任何比特流的正常核心解码过程以及指定标准化后处理过程,所述任何比特流包含等于该简档值的general_profile_idc和等于指定非零简档空间值(诸如,1)的general_profile_space。对于这个示例,比特流被输入到HEVC Main 10简档解码器,所述HEVC Main 10简档解码器已被修改以允许general_profile_space的单个非零值,但另一方面等同于传统Main 10简档解码器。
因此,具有后处理能力的解码器将会被修改以理解图像数据将要被解码,并且应用指定后处理器功能从而在后处理之后提供用作符合性点的输出视频。这个附加的后处理能力能够被容易地添加到符合已有简档的传统解码器,并且在概念上,具有后处理能力的解码器的符合性点被改变为标准化后处理功能的输出。以两种关键方式修改解码器。首先,确定接收的比特流是否可解码的过程被改变,使得解码器能够确定它能够对具有general_profile_space的非零值的比特流进行解码。通过改变针对该简档的解码器的译码的简档syntax_tier_level区段中general_profile_space的可接受值,这被简单地执行。其次,在解码之后并且在经解码的视频输出之前应用所述标准化后处理,以使得不需要关于解码处理本身的控制的变化。
对于不具有标准化后处理能力的解码器,将会理解,这种解码器将不需要被修改。例如,即使HEVC比特流具有有效general_profile_idc值2,当一般情境解释代码是0时,没有后处理能力的传统HEVC Main 10简档解码器(诸如,传统解码器)也将会对经译码的图像数据进行解码,但根据传统的HEVC的规范,当一般情境解释代码(general_profile_space)值不等于0时,将不会要求所述解码器对经译码的图像数据进行解码。在这种情况下,对于不具有标准化后处理能力但仍然符合已有简档(诸如,按照一个示例,Main 10)的任何传统解码器而言,情况如此。
过程550可包括“如果要执行后处理,则读取后处理类型代码”560。因此,通过一个形式,当profile_tier_level语法的一般情境解释代码的设置指示将要执行标准化后处理时,当解码器提供并非全部强制的多个后处理算法时,可从其它非简档数据读取后处理的类型。其它数据可被提供在比特流(或单独的比特流)中或者可不被提供在比特流(或单独的比特流)中,所述其它数据描述用在其它自适应预处理和/或后处理功能中的参数,所述预处理和/或后处理功能根据图像数据的布置来应用并且可被应用于特定图片或甚至图片内的特点片上。这些指示符和参数可存在于或者可不存在于NAL单元的非VCL区段中的参数集(诸如,图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS))中,或者可存在于或者可不存在于补充增强信息(SEI)消息中。这种数据可被用于确定将要执行哪个类型的后处理,如一般情境解释代码所指示并且如上所述的。
还如上所提及的,可为一般情境解释代码提供多个值,使得各个值指示不同后处理类型或后处理类型的组合。以上也提供了示例。
通过上述其它选项,这种读取不是必需的,因为在解码器侧的唯一一种类型的后处理可以是标准化后处理,因为它是提供的唯一类型,或者由解码器提供的所有类型都被视为是标准化的,或者考虑到经解码的图像数据的状态或参数(或格式),由于所要求的来自解码器侧的图像数据的参数(必须通过后处理而获得),哪个后处理必须是标准化后处理是清楚的。
另外,即使解码器可被修改为理解一般情境解释代码的值1(和/或其它值)包括标准化后处理,如果经修改的解码器不具有由一般情境解释代码指示的后处理的类型,则解码器也可完全省略解码,因为解码器将不能够产生符合简档的经解码和后处理的图像数据。
关于后处理的特定类型,指定的标准化后处理器功能可能与预处理器功能逆相关。与尚未被后处理的视频相比,经后处理的视频被期望具有显著更好的主观视频质量。能够在修订的HEVC标准中完全定义后处理功能,以使得包括后处理器能力的所有符合的解码器将会被要求从与在所述标准中定义的基准解码器相同的比特流创建位精确视频输出。按照一个示例,并且如上所提及的,预处理和后处理功能可以是旨在改造高动态范围(HDR)视频内容的非线性传递函数,其中后处理功能是在特定视频译码标准和/或扩展中描述的预处理功能的逆功能。预处理功能可被定义成使得没有后处理能力的传统解码器将会输出可在SDR显示器上显示的标准动态范围(SDR)视频(诸如,在特定视频译码标准和/或扩展中描述的那些SDR视频)。与预处理对应的其它类型的后处理可包括其它图像数据转换,诸如YUV图像数据至RGB颜色空间数据值的转换、其它色度或亮度值转换、色温转换等。
过程550可包括“根据设置对经译码的图像数据进行解码”562,并且如上面已经描述的,从比特流提取的图像数据现在被用于重构图像或帧,并且符合简档代码数据。结果是经解码或解压缩的图像或帧。
过程550可包括“根据后处理指示和类型代码对经解码的图像数据执行后处理”564。因此,当简档包括标准化后处理时,至少标准化后处理被应用于经解码的图像以获得符合简档的图像数据。标准化后处理可包括单个类型的后处理或多个不同后处理操作。另外,当在其它非简档数据(诸如,例如元数据或参数集)中被指示时,不被视为标准化的后处理仍然可选地可由解码器执行,或者可由解码器执行而不管简档(诸如,缩放)如何。
过程550可包括“提供经解码的图像数据”566,其中图像现在准备好被提供给显示器,被存储,或进一步被传送给另一装置。
这里公开的方法不仅适用于编码器、解码器和比特流,而且适用于例如在能力交换和谈判中以及在会话描述协议(SDP)中利用简档指示的中间盒、视频服务器和播放器。这些可适用于HEVC标准或如上所述的其它标准。
现在参照图6,两个系统700可被用于示例性后处理指示过程600并且以操作示出,并且根据本公开的至少一些实现方式布置。在图示的实现方式中,过程600可包括一个或多个操作、功能或动作,如由以偶数编号的动作602至620中的一个或多个动作所示并且交替地或按照任何组合使用的。作为非限制性示例,将在这里参照关于这里描述的相关的任何实现方式讨论的操作描述过程600。
在图示的实现方式中,每个系统700可包括(一个或多个)处理单元720,处理单元720具有逻辑单元或逻辑电路或模块750等和/或其组合。对于一个示例,逻辑电路或模块750可包括:视频编码器730,具有类似于预处理单元202(图2)的预处理单元702、核心编码器单元704和简档处理单元752;和/或视频解码器732,具有核心解码器单元708、简档处理单元754和类似于后处理单元210(图2)的后处理单元710。为了过程600,提供两个系统700,其中一个系统700用作编码器并且另一个系统700用作解码器。虽然如图6中所示的过程600可包括与特定模块或单元关联的一组特定操作或动作,但这些操作或动作可关联于与这里图示的所述特定模块或单元不同的模块。
过程600可包括“确定将要由编码器使用的简档”602,并且这里,这表示:确定编码器具有或将会具有什么能力以及在符合性点的经解码的图像数据的期望参数,然后选择满足或最接近那些参数的简档。以上描述了这一点。
过程600可包括“根据是否期望标准化后处理而设置包括一般情境解释代码的简档语法元素值”604。如上所述,对于HEVC,所述代码是general_profile_space代码并且可被设置为0,使得解码器将会对图像数据进行解码但不要求后处理,所述代码可被设置为1以指示在图像数据的解码之后要求标准化后处理。当提供新标准但解码器不与新标准兼容时,或者当例如错误发生时,为未来标准版本保留的其它值可显露,并且在这些情况下,对于解码器而言,图像数据的解码完全是可选的。替代地,更多数字可被用于指示多个标准化后处理类型或将会成为标准化的后处理类型的组合,如以上所解释的。
过程600可包括“接收待编码的图像数据”606。一旦编码器具有它的参数集,编码器就可接收用于编码的图像数据,并且如以上已经详细描述的,数据可被预预处理,并且一些预处理可包括将要被标准化后处理反转的类型。
过程600可包括“对图像数据进行编码”608,并且根据所选择的简档压缩所述图像数据,以便随后对图像数据进行解码能够为经解码的图像数据提供符合由简档提供的那些参数的参数。
过程600可包括“将经译码的图像数据、简档数据和其它后处理数据放置在比特流中”610。因此,简档代码设置(其可以是profile_tier_level语法设置)被放置在数据包内,所述数据包具有为了该目的而指定的图像数据的NAL非VCL头区域,而压缩图像数据被放置在数据包的NAL VCL区域中,该数据包放置在比特流中。以上提供了一些细节。
过程600可包括“在比特流中传送图像数据、简档数据和其它后处理数据”611。随后从传送装置以无线方式或通过有线连接或这二者传送图像数据。也如以上所解释,可由一般情境解释代码值或者替代地在不被视为简档的一部分的数据的其它区域中(诸如,利用SEI元数据或在参数集中)指示将要作为简档的标准化部分执行的后处理的类型。也可在与图像和简档数据相同或分开的比特流中传送该后者数据。
过程600可包括“接收传送的数据”612,并且现在在解码器侧,解码器可接收比特流,并且提取数据包,并且从数据包提取图像和简档数据,并且从如这里所解释的数据的其它部分接收和提取后处理类型指示符。
过程600可包括“读取包括一般情境解释代码的简档数据”614。还如上所述,简档数据(并且具体地讲,profile_tier_level语法)被读取以确定使用哪个简档以及使用简档的哪个层和级,并且继而确定使用哪些译码工具以及按照什么设置。这可包括:确定究竟是否应该对视频序列执行解码,诸如按照一个示例当一般情境解释值不是0或1(或除1之外的其它值)时,或者当所述值是1(或其它值)但所述解码器与未修改的传统解码器一样未被修改为接受用于指示将要执行标准化后处理的非零值时。当目前解码器是如上所述的经修改的解码器时,解码器理解将要执行什么类型的标准化后处理,因为(1)一般情境解释代码的值指示哪个类型的后处理是标准化的,(2)解码器仅提供一个这种类型的后处理,(3)根据被解码的图像数据的参数,容易确定有限数量的类型的后处理中的哪个类型的后处理是标准化后处理,或(4)在解码器处提供的多个后处理类型全部被视为标准化后处理的一部分。
另外,编码器可从诸如在SEI元数据中或在参数集(诸如,如上所提及的VPS、SPS或PPS)中的与图像和简档数据一起传送的其它非简档数据确定标准化后处理的类型。
过程600可包括“根据简档对图像数据进行解码”616。因此,一旦解码器读取包括哪个简档、层和级将会被应用的profile_tier_level语法,解码器就使用合适的算法和译码工具对图像数据进行解码以便至少就对图像数据进行解压缩而言具有符合所述简档的参数。
过程600可包括“根据一般情境解释代码,应用标准化后处理”618。因此,当解码器具有所述能力并且一般情境解释代码(HEVC的general_profile_space)指示将要应用标准化后处理并且标准化后处理的类型被如上所提及那样识别时,解码器执行标准化后处理,或者将图像数据提供给执行标准化后处理的单独的单元。而且,如这里所提及的,可执行其它后处理,所述其它后处理可被视为或者可不被视为标准化后处理的一部分。结果是符合所选择的简档的经解码和后处理的图像数据。
过程600随后可包括“提供经解码和后处理的图像”620,并且将会被提供给显示器,被存储,或用于进一步传送给其它装置。
尽管示例性过程300、400、500和/或600的实现方式可包括按照图示的次序示出的全部操作的执行,但本公开在这个方面不受限制,并且在各种示例中,这里的任何过程的实现方式可包括仅示出的操作的子集的执行和/或按照与图示的次序不同的次序的操作的执行。
在实现方式中,可响应于由一个或多个计算机程序产品提供的指令执行这里描述的特征。这种程序产品可包括信号承载介质,所述信号承载介质提供指令,当所述指令由例如处理器执行时,所述指令可提供这里描述的功能。可按照一个或多个机器可读介质的任何形式提供计算机程序产品。因此,例如,包括一个或多个处理器核的处理器可响应于由一个或多个机器可读介质传达给处理器的程序代码和/或指令或指令集而执行这里描述的一个或多个特征。通常,机器可读介质可传达具有程序代码和/或指令或指令集形式的软件,所述软件可使这里描述的任何装置和/或系统实现这里描述的特征的至少一部分。如前所提及的,按照另一形式,除了非暂态物品不包括暂态信号本身之外,非暂态物品(诸如,非暂态计算机可读介质)可被用于任何上述示例或其它示例。它确实包括除信号本身之外的可按照“暂态”方式暂时地保存数据的那些元件(诸如,RAM等)。
如这里描述的任何实现方式中所使用的,术语“模块”表示被配置为提供这里描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。软件可被实现为软件包、代码和/或指令集或指令,并且如这里描述的任何实现方式中所使用的,“硬件”可单独地或按照任何组合包括例如硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可共同地或单独地被实现为电路,所述电路形成更大系统(例如,集成电路(IC)、片上系统(SoC)等)的一部分。例如,模块可被实现在逻辑电路中以用于这里讨论的译码系统的经软件、固件或硬件的实现。
如这里描述的任何实现方式中所使用的,术语“逻辑单元”表示被配置为提供这里描述的功能的固件逻辑和/或硬件逻辑的任何组合。逻辑单元可共同地或单独地被实现为电路,所述电路形成更大系统(例如,集成电路(IC)、片上系统(SoC)等)的一部分。例如,逻辑单元可被实现在逻辑电路中以用于这里讨论的译码系统的固件或硬件实现。本领域普通技术人员将会理解,由硬件和/或固件执行的操作可替代地经软件实现,所述软件可被实现为软件包、代码和/或指令集或指令,并且本领域普通技术人员也理解,逻辑单元还可利用软件的一部分实现它的功能。
如这里描述的任何实现方式中所使用的,当以上描述这些术语时,术语“部件”可表示模块或逻辑单元。因此,术语“部件”可表示被配置为提供这里描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域普通技术人员将会理解,由硬件和/或固件执行的操作可替代地经软件模块实现,所述软件模块可被实现为软件包、代码和/或指令集,并且本领域普通技术人员也理解,逻辑单元还可利用软件的一部分来实现它的功能。
参照图7,可根据本公开的至少一些实现方式布置用于提供利用后处理指示的视频译码的示例性视频译码系统700。在图示的实现方式中,系统700可包括成像装置701,或者可连接到单独的成像装置701。根据一个形式,成像装置可以是视频摄像机、静止图片摄像机或二者,并且装置700保持这种摄像机(诸如,智能电话、平板计算机等)。根据其它示例,装置700是摄像机,并且成像装置701是形成摄像机的图像捕获部件的硬件和传感器。
系统700还可包括一个或多个中央和/或图形处理单元或处理器703、显示装置705和一个或多个存储器存储装置706。中央处理单元703、存储器存储装置706和/或显示装置705可能能够经例如总线、导线或其它访问方式彼此通信。在各种实现方式中,显示装置705可被集成在系统700中,或与系统700分开地实现。
系统700还可具有用于接收或传送图像数据、简档数据和其它后处理相关数据的天线712。因此,在一些情况下,成像装置701可能不是唯一图像数据源。
如图7中所示,并且如以上所讨论的,处理单元720可具有逻辑电路750,逻辑电路750具有视频编码器730,视频编码器730具有预处理单元702和核心编码器704,或者逻辑电路750具有解码器732,解码器732具有核心解码器708和后处理单元710,或者逻辑电路750具有交替操作的编码器730和解码器732。因此,如所示的系统700可位于系统的编码器侧或解码器侧(或者可交替地用作编码器或解码器)。这些部件可分别类似于图2上的类似地命名的部件,不同之处在于:将会需要两个装置700,一个用作编码器并且另一个用作解码器。视频编码器730可具有(一个或多个)简档处理单元752,简档处理单元752用于管理简档控制数据、简档符合性和包括与后处理相关的那些特征的其它非VCL数据,并且使具有例如profile_tier_level语法的形式的简档参数连同与如上所述的后处理相关的图像数据一起被放置到比特流中。同样地,解码器732可具有(一个或多个)简档处理单元754,简档处理单元754用于接收至少与如上所述的后处理相关的、包括profile_tier_level语法的设置的提取的简档信息,并且实现根据选择的简档提供经解码的数据的译码工具和算法。将会理解,简档处理单元752和754可能不是单个模块或单元,而是可包括遍及多个单元或模块分布但与简档和profile_tier_level语法的使用和控制(并且具体地讲,标准化后处理)相关的代码或编程。
如将会理解的,图7中图示的模块可包括各种软件和/或硬件模块和/或可经软件或硬件或其组合实现的模块。例如,所述模块可经处理单元720被实现为软件,或者所述模块可经专用硬件部分实现。另外,示出的存储器存储装置706可以是针对例如处理单元720的共享存储器。图像数据、简档数据和其它后处理数据可被存储在上述任何选项上,或者可被存储在这些选项的组合上,或者可被存储在别处。此外,系统700可被以各种方式实现。例如,系统700(不包括显示装置705)可被实现为具有图形处理器、四核中央处理单元和/或存储控制器输入/输出(I/O)模块的单个芯片或装置。在其它示例中,系统700(再次不包括显示装置705)可被实现为芯片集。
(一个或多个)处理器703可包括任何合适的实现方式,包括例如(一个或多个)微处理器、多核处理器、专用集成电路、(一个或多个)芯片、芯片集、可编程逻辑器件、图形卡、集成图形、(一个或多个)通用图形处理单元等。另外,存储器存储装置706可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性示例中,存储器存储装置704也可经高速缓存实现。
参照图8,根据本公开和各种实现方式的示例性系统800可以是媒体系统,但系统800不限于这种情境。例如,系统800可被并入个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助手(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板计算机或智能电视)、移动互联网装置(MID)、消息发送装置、数据通信装置等。
在各种实现方式中,系统800包括平台802,平台802以可通信方式耦合到显示器820。平台802可从内容装置(诸如,(一个或多个)内容服务装置830或(一个或多个)内容传送装置840或其它类似内容源)接收内容。包括一个或多个导航特征的导航控制器850可被用于与例如平台802和/或显示器820交互。以下更详细地描述这些部件中的每个部件。
在各种实现方式中,平台802可包括以下各项的任何组合:芯片集805、处理器814、存储器812、存储装置811、图形子系统815、应用816和/或无线电设备818以及(一个或多个)天线810。芯片集805可提供处理器814、存储器812、存储装置811、图形子系统815、应用816和/或无线电设备818之间的相互通信。例如,芯片集805可包括能够提供与存储装置811的相互通信的存储适配器(未描绘)。
处理器814可被实现为:复杂指令集计算机(CISC)或精减指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各种实现方式中,处理器810可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器等。
存储器812可被实现为易失性存储器装置,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM (SRAM)。
存储装置811可被实现为非易失性存储装置,诸如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储装置、附接存储装置、闪存、电池支持SDRAM(同步DRAM)和/或网络可访问存储装置。在各种实现方式中,当例如包括多个硬盘驱动器时,存储装置811可包括用于针对有价值的数字介质增加存储性能增强保护的技术。
图形子系统815可执行图像(诸如,静止或视频)的处理以用于显示。图形子系统815可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可被用于以可通信方式耦合图形子系统815和显示器820。例如,所述接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD兼容技术中的任何接口。图形子系统815可被集成到处理器814或芯片集805中。在一些实现方式中,图形子系统815可以是以可通信方式耦合到芯片集805的独立卡。
这里描述的图形和/或视频处理技术可被实现在各种硬件架构中。例如,图形和/或视频功能可被集成在芯片集内。替代地,可使用分立图形和/或视频处理器。作为又另一实现方式,图形和/或视频功能可由包括多核处理器的通用处理器提供。在其它实现方式中,所述功能可被实现在消费电子装置中。
无线电设备818可包括能够使用各种合适的无线通信技术传送和接收信号的一个或多个无线电设备。这种技术可涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电设备818可根据任何版本的一个或多个适用标准操作。
在各种实现方式中,显示器820可包括任何电视类型监视器或显示器。显示器820可包括例如计算机显示屏幕、触摸屏显示器、视频监视器、电视类装置和/或电视。显示器820可以是数字的和/或模拟的。在各种实现方式中,显示器820可以是全息显示器。而且,显示器820可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是用于移动增强现实(MAR)应用的视觉重叠。在一个或多个软件应用816的控制下,平台802可在显示器820上显示用户界面822。
在各种实现方式中,(一个或多个)内容服务装置830可由任何国家、国际和/或独立服务主控,并且因此,可由平台802经例如互联网访问。(一个或多个)内容服务装置830可被耦合到平台802和/或显示器820。平台802和/或(一个或多个)内容服务装置830可被耦合到网络860以向网络860和从网络860传送(例如,发送和/或接收)媒体信息。(一个或多个)内容传送装置840也可被耦合到平台802和/或显示器820。
在各种实现方式中,(一个或多个)内容服务装置830可包括有线电视盒、个人计算机、网络、电话、能够连接互联网的装置或能够传送数字信息和/或内容的器具以及能够经网络860或直接在内容提供商和平台802和/显示器820之间单向地或双向地传送内容的任何其它类似装置。将会理解,所述内容可经网络860单向地和/或双向地传送给系统800中的部件和内容提供商中的任何一个,以及从系统800中的部件和内容提供商中的任何一个经网络860单向地和/或双向地传送内容。内容的示例可包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
(一个或多个)内容服务装置830可接收内容,诸如包括媒体信息的有线电视节目、数字信息和/或其它内容。内容提供商的示例可包括任何有线或卫星电视或无线电或互联网内容提供商。提供的示例并不意图以任何方式限制根据本公开的实现方式。
在各种实现方式中,平台802可从具有一个或多个导航特征的导航控制器850接收控制信号。例如,控制器850的导航特征可被用于与用户界面822交互。在实现方式中,导航控制器850可以是指示装置,所述指示装置可以是允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件部件(具体地讲,人类接口装置)。许多系统(诸如,图形用户界面(GUI)和电视和监视器)允许用户使用物理手势控制计算机或电视并且将数据提供给计算机或电视。
通过在显示器上显示的指示器、光标、聚焦环或其它视觉指示符的移动,控制器850的导航特征的移动可被复制在显示器(例如,显示器820)上。例如,在软件应用816的控制下,位于导航控制器850上的导航特征可被映射到例如显示在用户界面822上的虚拟导航特征。在实现方式中,控制器850可能不是单独的部件,而是可被集成到平台802和/或显示器820中。然而,本公开不限于在这里示出或描述的情境中的元件。
在各种实现方式中,驱动器(未示出)可包括这样的技术:使用户能够在初始启动之后在例如能够打开和关闭平台时利用按钮的触摸立即打开和关闭平台802(比如,电视)。即使当平台被“关闭”时,程序逻辑也可允许平台802将内容流传输给媒体适配器或(一个或多个)其它内容服务装置830或(一个或多个)内容传送装置840。另外,芯片集805可包括针对例如7.1环绕声音音响和/或高清晰度(7.1)环绕声音音响的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在实现方式中,图形驱动器可包括快速外围部件互连(PCI) 图像卡。
在各种实现方式中,系统800中示出的任何一个或多个部件可被集成。例如,平台802和(一个或多个)内容服务装置830可被集成,或者平台802和(一个或多个)内容传送装置840可被集成,或者例如平台802、(一个或多个)内容服务装置830和(一个或多个)内容传送装置840可被集成。在各种实现方式中,平台802和显示器820可以是集成单元。例如,显示器820和(一个或多个)内容服务装置830可被集成,或者显示器820和(一个或多个)内容传送装置840可被集成。这些示例并不意图限制本公开。
在各种实现方式中,系统800可被实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统800可包括适合通过无线共享介质通信的部件和接口,诸如一个或多个天线、传送器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享介质的示例可包括无线频谱的各部分(诸如,RF频谱等)。当实现为有线系统时,系统800可包括适合通过有线通信介质通信的部件和接口,诸如输入/输出(I/O)适配器、用于连接I/O适配器与对应有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可包括电线、线缆、金属引线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴线缆、光纤等。
平台802可建立用于传送信息的一个或多个逻辑或物理信道。所述信息可包括媒体信息和控制信息。媒体信息可表示代表用于用户的内容的任何数据。内容的示例可包括例如来自语音对话、视频会议、流传输视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如言语信息、静默时间段、背景噪声、舒适噪声、声调等。控制信息可表示代表用于自动系统的命令、指令或控制字的任何数据。例如,控制信息可被用于路由媒体信息通过系统,或指令节点以预定方式处理媒体信息。然而,实现方式不限于在图8中示出或描述的情境中的元素。
如上所述,系统700或800可被按照变化的物理风格或形状因数实现。图9图示可实现系统700或800的小形状因数装置900的实现方式。在实现方式中,例如,装置900可被实现为具有无线能力的移动计算装置。移动计算装置可表示具有处理系统和移动功率源或功率供应(诸如,例如一个或多个电池)的任何装置。
如上所述,移动计算装置的示例可包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助手(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板计算机或智能电视)、移动互联网装置(MID)、消息发送装置、数据通信装置等。
移动计算装置的示例还可包括被布置为由人穿戴的计算机,诸如手腕式计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂章计算机、鞋计算机、衣服计算机和其它可穿戴计算机。在各种实现方式中,例如,移动计算装置可被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然作为示例可利用实现为智能电话的移动计算装置描述一些实现方式,但可以理解,也可使用其它无线移动计算装置实现其它实现方式。在这种情境中实现方式不受限制。
如图9中所示,装置900可包括壳体902、显示器904、输入/输出(I/O)装置906和天线908。装置900还可包括导航特征912。显示器904可包括用于显示适合移动计算装置的信息的显示单元上的任何合适的屏幕910。I/O装置906可包括用于将信息输入到移动计算装置中的任何合适的I/O装置。I/O装置906的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别装置和软件等。信息也可通过麦克风(未示出)而被输入到装置900中。这种信息可被语音识别装置(未示出)数字化。在这种情境中,实现方式不受限制。
各种实现方式可被使用硬件元件、软件元件或二者的组合实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等。软件的示例可包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子程序、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件实现实现方式可根据任何数量的因素(诸如,期望计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束)而变化。
上述一个或多个方面可由存储在机器可读介质上的代表性指令实现,所述代表性指令代表处理器内的各种逻辑,当由机器读取所述代表性指令时,所述代表性指令使所述机器制造用于执行这里描述的技术的逻辑。称为“IP核”的这种表示可被存储在有形机器可读介质上并且被供应给各种顾客或制造设施以加载到实际制造所述逻辑或处理器的制造机器中。
尽管已参照各种实现方式描述了这里阐述的特定特征,但这种描述不意图在限制性意义上被解释。因此,这里描述的实现方式的各种修改以及对于本公开所属领域的技术人员而言清楚的其它实现方式被视为处于本公开的精神和范围内。
下面的示例涉及另外的实现方式。
根据一个示例,一种利用后处理指示的视频译码的计算机实现的方法包括:获得图像数据;根据视频译码简档对图像数据进行编码,视频译码简档具有profile_tier_level语法,profile_tier_level语法包括简档语法元素,简档语法元素指示视频译码标准的符合性参数并且用于经解码的视频;其中profile_tier_level语法的简档语法元素之一是一般情境解释代码,一般情境解释代码指示图像数据将要在解码之后被后处理,并且其中一般情境解释代码是最初由于除后处理之外的原因建立的已有简档语法元素;以及在将要被传送给解码器的比特流中提供图像数据和profile_tier_level语法设置以使图像数据被解码,根据一般情境解释代码的设置在解码之后被后处理,并且可用于显示图像。
根据所述方法的另一示例,所述方法还可包括:其中所述视频译码简档是高效率视频译码(HEVC)简档并且一般情境解释代码是general_profile_space代码;其中一般情境解释代码的设置替代地是用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的第二值以及用于指示对于图像数据而言可跳过解码的任何其它值;所述方法包括设置一般情境解释代码的值,使得无法访问通过使用简档代码设置的值而期望的后处理的类型的解码器不对图像数据进行解码,而能够访问通过使用所述值而期望的后处理的类型的解码器对图像数据进行解码;其中一般情境解释代码具有指示后处理的多个值,并且其中各个值指示后处理的不同类型或后处理类型的组合;其中后处理与下面各项的至少一项相关:将图像数据从标准动态范围(SDR)转换到高动态范围(HDR)、将YUV图像数据转换到RGB颜色空间图像数据以及修改图像数据的色温。
根据又另一方法,一种利用后处理指示的视频译码的计算机实现的方法包括:获得经编码的图像数据和视频译码简档的profile_tier_level语法设置并且使简档语法元素指示视频译码标准的符合性参数并且用于经解码的视频,其中profile_tier_level语法的一个简档语法元素指示图像数据将要在解码之后被后处理,并且其中所述一个简档语法元素是最初由于除后处理之外的原因建立的已有简档语法元素;对经编码的图像数据进行解码;以及根据所述一个简档语法元素的设置,提供将要被后处理的经解码的图像数据以使用经后处理的图像数据显示图像。
根据这个方法,所述方法还可包括:其中所述一个简档语法元素是一般情境解释代码;其中视频译码简档是高效率视频译码(HEVC)简档并且所述一个简档语法元素是general_profile_space代码;其中由所述一个简档语法元素指示的后处理建立标准化后处理以在图像数据的后处理之后形成简档符合性点;所述方法包括:获得非简档数据,非简档数据指示由简档代码设置指示的后处理的至少一种类型;以及当所述一个简档语法元素的设置指示图像数据将要被后处理但解码器不具有执行由简档代码设置指示的后处理的能力时,在解码器处跳过视频序列的解码。
在另一示例中,一种利用后处理指示的视频译码的计算机实现的系统包括:至少一个存储器;至少一个显示器;至少一个处理器,以可通信方式连接到所述至少一个显示器和至少一个存储器;和编码器,由所述至少一个处理器操作并且被布置为:获得图像数据;根据视频译码简档对图像数据进行编码,视频译码简档具有profile_tier_level语法,profile_tier_level语法包括简档语法元素,简档语法元素指示视频译码标准的符合性参数并且用于经解码的视频;其中profile_tier_level语法的简档语法元素之一是一般情境解释代码,一般情境解释代码指示图像数据将要在解码之后被后处理,并且其中一般情境解释代码是最初由于除后处理之外的原因建立的已有简档语法元素;以及在将要被传送给解码器的比特流中提供图像数据和profile_tier_level语法设置以使图像数据被解码,根据一般情境解释代码的设置在解码之后被后处理,并且可用于显示图像。
所述系统还可包括:其中所述视频译码简档是高效率视频译码(HEVC)简档并且一般情境解释代码是general_profile_space代码;其中一般情境解释代码替代地是用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的至少一个第二值和用于指示对于对应图像数据而言可跳过解码的任何其它值;其中一般情境解释代码具有多个后处理值,其中各个后处理值指示后处理的不同类型或后处理类型的组合;其中由所述一个简档语法元素指示的后处理建立标准化后处理以在图像数据的后处理之后形成简档符合性点。
在另一方案中,一种计算机可读介质,所述计算机可读介质上具有指令,当由计算装置执行所述指令时,所述指令使计算装置:获得经编码的图像数据和视频译码简档的profile_tier_level语法设置并且使简档语法元素指示视频译码标准的符合性参数并且用于经解码的视频,其中profile_tier_level语法的一个简档语法元素指示图像数据将要在解码之后被后处理,并且其中所述一个简档语法元素是最初由于除后处理之外的原因建立的已有简档语法元素;对经编码的图像数据进行解码;以及根据所述一个简档语法元素的设置,提供将要被后处理的经解码的图像数据以使用经后处理的图像数据显示图像。
所述介质还可包括:其中所述视频译码简档是高效率视频译码(HEVC)简档并且一般情境解释代码是general_profile_space代码;其中一般情境解释代码的设置替代地是用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的第二值和用于指示对于图像数据而言可跳过解码的任何其它值;执行的指令使计算装置通过下述步骤来操作:设置一般情境解释代码的值,使得无法访问通过使用简档代码设置的值而期望的后处理的类型的解码器不对图像数据进行解码,而能够访问通过使用所述值而期望的后处理的类型的解码器对图像数据进行解码;其中一般情境解释代码具有指示后处理的多个值,并且其中各个值指示后处理的不同类型或后处理类型的组合;其中后处理与下面各项的至少一项相关:将图像数据从标准动态范围(SDR)转换到高动态范围(HDR)、将YUV图像数据转换到RGB颜色空间图像数据以及修改图像数据的色温。
在另一示例中,至少一个机器可读介质可包括多个指令,响应于在计算装置上执行所述多个指令,所述多个指令使计算装置执行根据以上示例中任何一项所述的方法。
在又另一示例中,一种设备可包括用于执行根据以上示例中任何一项所述的方法的装置。
以上示例可包括特征的特定组合。然而,以上示例不在这个方面受到限制,并且在各种实现方式中,以上示例可包括仅执行这种特征的子集,执行不同次序的这种特征,执行这种特征的不同组合,和/或执行除明确地列出的那些特征之外的附加特征。例如,可关于示例性设备、示例性系统和/或示例性物品实现关于示例性方法描述的所有特征,并且反之亦然。

Claims (25)

1.一种利用后处理指示的视频译码的计算机实现的方法,包括:
获得图像数据;
根据视频译码简档对图像数据进行编码,所述视频译码简档具有profile_tier_level语法,所述profile_tier_level语法包括简档指示符,所述简档指示符指示视频译码标准的符合性参数并且用于经解码的视频,
其中profile_tier_level语法的所述简档指示符之一是一般情境解释代码,所述一般情境解释代码指示图像数据将要在解码之后被后处理,并且其中所述一般情境解释代码是最初由于除后处理之外的原因建立的已有简档指示符,并且所述一般情境解释代码的值是三个备选值之一:用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的第二值和用于指示对于图像数据而言可跳过解码的任何其它值;以及
在将要被传送给解码器的比特流中提供所述图像数据和profile_tier_level语法设置以使图像数据被解码,根据所述一般情境解释代码的设置在解码之后被后处理,并且可用于显示图像。
2.如权利要求1所述的方法,其中,所述视频译码简档是高效率视频译码(HEVC)简档,并且所述一般情境解释代码是general_profile_space代码。
3.如权利要求1所述的方法,包括:设置所述一般情境解释代码的值,使得无法访问通过使用简档代码设置的值而期望的后处理的类型的解码器不对图像数据进行解码,而能够访问通过使用所述值而期望的后处理的类型的解码器对图像数据进行解码。
4.如权利要求1所述的方法,其中,所述一般情境解释代码具有指示后处理的多个值,并且其中,各个值指示后处理的不同类型或后处理类型的组合。
5.如权利要求1所述的方法,其中,所述后处理与下面的至少一项相关:
将图像数据从标准动态范围(SDR)转换到高动态范围(HDR),
将YUV图像数据转换到RGB颜色空间图像数据,以及
修改图像数据的色温。
6.如权利要求1所述的方法,其中,所述视频译码简档是高效率视频译码(HEVC)简档,并且所述一般情境解释代码是general_profile_space代码;
所述方法包括设置所述一般情境解释代码的值,使得无法访问通过使用简档代码设置的值而期望的后处理的类型的解码器不对图像数据进行解码,而能够访问通过使用所述值而期望的后处理的类型的解码器对图像数据进行解码;
其中,所述一般情境解释代码具有指示后处理的多个值,并且其中,各个值指示后处理的不同类型或后处理类型的组合;
其中,所述后处理与下面的至少一项相关:
将图像数据从标准动态范围(SDR)转换到高动态范围(HDR),
将YUV图像数据转换到RGB颜色空间图像数据,以及
修改图像数据的色温。
7.一种利用后处理指示的视频译码的计算机实现的方法,包括:
获得经编码的图像数据和视频译码简档的profile_tier_level语法设置并且使简档指示符指示视频译码标准的符合性参数并且用于经解码的视频,
其中profile_tier_level语法的一个简档指示符指示图像数据将要在解码之后被后处理,并且其中所述一个简档指示符是最初由于除后处理之外的原因建立的已有简档指示符,并且所述一个简档指示符的值是三个备选值之一:用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的第二值和用于指示对于图像数据而言可跳过解码的任何其它值;
对经编码的图像数据进行解码;以及
根据所述一个简档指示符的设置,提供将要被后处理的经解码的图像数据以使用经后处理的图像数据显示图像。
8.如权利要求7所述的方法,其中,所述后处理与下面的至少一项相关:
将图像数据从标准动态范围(SDR)转换到高动态范围(HDR),
将YUV图像数据转换到RGB颜色空间图像数据,以及
修改图像数据的色温。
9.如权利要求7所述的方法,其中,所述一个简档指示符是一般情境解释代码。
10.如权利要求7所述的方法,其中,所述视频译码简档是高效率视频译码(HEVC)简档,并且所述一个简档指示符是general_profile_space代码。
11.如权利要求7所述的方法,其中,由所述一个简档指示符指示的后处理建立标准化后处理以在图像数据的后处理之后形成简档符合性点。
12.如权利要求7所述的方法,包括:获得非简档数据,所述非简档数据指示由所述一个简档指示符的设置指示的后处理的至少一种类型。
13.如权利要求7所述的方法,包括:当所述一个简档指示符的设置指示图像数据将要被后处理,但解码器不具有执行由所述一个简档指示符的设置指示的后处理的能力时,在解码器处跳过视频序列的解码。
14.如权利要求7所述的方法,其中,所述一个简档指示符是一般情境解释代码;其中,视频译码简档是高效率视频译码(HEVC)简档,并且所述一个简档指示符是general_profile_space代码;
其中,由所述一个简档指示符指示的后处理建立标准化后处理以在图像数据的后处理之后形成简档符合性点;
所述方法包括:获得非简档数据,所述非简档数据指示由所述一个简档指示符的设置指示的后处理的至少一种类型;以及
当所述一个简档指示符的设置指示图像数据将要被后处理,但解码器不具有执行由所述一个简档指示符的设置指示的后处理的能力时,在解码器处跳过视频序列的解码。
15.一种利用后处理指示的视频译码的计算机实现的系统,包括:
至少一个存储器;
至少一个显示器;
至少一个处理器,以可通信方式连接到所述至少一个显示器和至少一个存储器;和
编码器,由所述至少一个处理器操作并且被布置为:
获得图像数据;
根据视频译码简档对图像数据进行编码,所述视频译码简档具有profile_tier_level语法,所述profile_tier_level语法包括简档指示符,所述简档指示符指示视频译码标准的符合性参数并且用于经解码的视频,
其中profile_tier_level语法的所述简档指示符中的一个简档指示符是一般情境解释代码,所述一般情境解释代码指示图像数据将要在解码之后被后处理,并且其中所述一般情境解释代码是最初由于除后处理之外的原因建立的已有简档指示符,并且所述一般情境解释代码的值是三个备选值之一:用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的第二值和用于指示对于图像数据而言可跳过解码的任何其它值;以及
在将要被传送给解码器的比特流中提供所述图像数据和profile_tier_level语法设置以使图像数据被解码,根据所述一般情境解释代码的设置在解码之后被后处理,并且可用于显示图像。
16.如权利要求15所述的系统,其中,所述视频译码简档是高效率视频译码(HEVC)简档,并且所述一般情境解释代码是general_profile_space代码。
17.如权利要求15所述的系统,其中,所述后处理与下面的至少一项相关:
将图像数据从标准动态范围(SDR)转换到高动态范围(HDR),
将YUV图像数据转换到RGB颜色空间图像数据,以及
修改图像数据的色温。
18.如权利要求15所述的系统,其中,所述一般情境解释代码具有多个后处理值,其中,各个后处理值指示后处理的不同类型或后处理类型的组合。
19.如权利要求15所述的系统,其中,由所述一个简档指示符指示的后处理建立标准化后处理以在图像数据的后处理之后形成简档符合性点。
20.如权利要求15所述的系统,其中,所述视频译码简档是高效率视频译码(HEVC)简档,并且所述一般情境解释代码是general_profile_space代码;
其中,所述一般情境解释代码具有多个后处理值,其中,各个后处理值指示后处理的不同类型或后处理类型的组合;
其中,由所述一个简档指示符指示的后处理建立标准化后处理以在图像数据的后处理之后形成简档符合性点。
21.一种计算机可读介质,所述计算机可读介质上具有指令,当所述指令由计算装置执行时,使所述计算装置:
获得经编码的图像数据和视频译码简档的profile_tier_level语法设置并且使简档指示符指示视频译码标准的符合性参数并且用于经解码的视频,
其中profile_tier_level语法的一个简档指示符指示图像数据将要在解码之后被后处理,并且其中所述一个简档指示符是最初由于除后处理之外的原因建立的已有简档指示符,并且所述一个简档指示符的值是三个备选值之一:用于指示不要求后处理的解码的第一值、用于指示在解码之后需要后处理的第二值和用于指示对于图像数据而言可跳过解码的任何其它值;
对经编码的图像数据进行解码;以及
根据所述一个简档指示符的设置,提供将要被后处理的经解码的图像数据以使用经后处理的图像数据显示图像。
22.如权利要求21所述的介质,其中,所述一个简档指示符是一般情境解释代码。
23.如权利要求22所述的介质,其中,所述视频译码简档是高效率视频译码(HEVC)简档,并且所述一般情境解释代码是general_profile_space代码;
执行的指令使所述计算装置通过下述步骤来操作:设置所述一般情境解释代码的值,使得无法访问通过使用简档代码设置的值而期望的后处理的类型的解码器不对图像数据进行解码,而能够访问通过使用所述值而期望的后处理的类型的解码器对图像数据进行解码;
其中,所述一般情境解释代码具有指示后处理的多个值,并且其中,各个值指示后处理的不同类型或后处理类型的组合;
其中,所述后处理与下面的至少一项相关:
将图像数据从标准动态范围(SDR)转换到高动态范围(HDR),
将YUV图像数据转换到RGB颜色空间图像数据,以及
修改图像数据的色温。
24.一种存储介质,上面存储了多个指令,响应于在计算装置上执行所述多个指令,所述多个指令使所述计算装置执行根据权利要求1-14中任何一项所述的方法。
25.一种用于利用后处理指示的视频译码的设备,包括用于执行根据权利要求1-14中任何一项所述的方法的装置。
CN201680054360.7A 2015-10-20 2016-09-20 利用后处理指示的视频译码的方法和系统 Active CN108141613B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562244069P 2015-10-20 2015-10-20
US62/244069 2015-10-20
US15/099,506 US10798422B2 (en) 2015-10-20 2016-04-14 Method and system of video coding with post-processing indication
US15/099506 2016-04-14
PCT/US2016/052628 WO2017069892A1 (en) 2015-10-20 2016-09-20 Method and system of video coding with post-processing indication

Publications (2)

Publication Number Publication Date
CN108141613A CN108141613A (zh) 2018-06-08
CN108141613B true CN108141613B (zh) 2022-05-17

Family

ID=58524596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680054360.7A Active CN108141613B (zh) 2015-10-20 2016-09-20 利用后处理指示的视频译码的方法和系统

Country Status (5)

Country Link
US (1) US10798422B2 (zh)
EP (1) EP3366041A4 (zh)
KR (1) KR102606583B1 (zh)
CN (1) CN108141613B (zh)
WO (1) WO2017069892A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592285B (zh) * 2014-10-21 2020-04-21 华为技术有限公司 Roi视频实现方法及装置
EP3244616A1 (en) * 2016-05-13 2017-11-15 Thomson Licensing A method for encoding an input video comprising a luma component and two chroma components, the method comprising reshaping of said input video based on reshaping functions
US10015504B2 (en) * 2016-07-27 2018-07-03 Qualcomm Incorporated Compressing image segmentation data using video coding
US10083754B1 (en) * 2017-06-05 2018-09-25 Western Digital Technologies, Inc. Dynamic selection of soft decoding information
CN107590780B (zh) * 2017-08-09 2023-01-20 深圳Tcl新技术有限公司 图像显示方法、终端及计算机可读存储介质
US10474408B2 (en) * 2017-09-07 2019-11-12 Apple Inc. Image data processing pipeline bypass systems and methods
US10965866B2 (en) * 2018-03-20 2021-03-30 Panasonic Intellectual Property Management Co., Ltd. Image generation system, image display system, image generation method, and moving vehicle
US10951888B2 (en) * 2018-06-04 2021-03-16 Contrast, Inc. Compressed high dynamic range video
CN112385221B (zh) 2018-06-26 2022-08-26 华为技术有限公司 用于点云译码的高级语法设计
CN113039804B (zh) * 2018-09-13 2024-07-09 弗劳恩霍夫应用研究促进协会 比特流合并
US11172232B2 (en) * 2019-09-06 2021-11-09 Sharp Kabushiki Kaisha Systems and methods for signaling level information in video coding
CN110674072B (zh) * 2019-09-30 2020-11-03 北京航空航天大学 基于vpx总线的存储板及热插拔方法
EP4066495A4 (en) 2019-12-26 2023-02-01 ByteDance Inc. PROFILE-LEVEL-LEVEL PARAMETER SET FOR VIDEO ENCODING
US11418814B2 (en) * 2020-05-22 2022-08-16 Tencent America LLC Constraint on syntax elements for still picture profiles
US11902552B2 (en) * 2020-09-17 2024-02-13 Lemon Inc. Decoder configuration record in coded video
KR20240051251A (ko) * 2021-09-30 2024-04-19 바이트댄스 아이엔씨 비디오 처리를 위한 방법, 장치 및 매체
CN114693567B (zh) * 2022-05-30 2022-09-20 深圳思谋信息科技有限公司 图像颜色调整方法、装置、计算机设备和存储介质
US20240031431A1 (en) * 2022-07-21 2024-01-25 Kbr Wyle Services Llc System and methods for transmitting information using an electronic media

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101371297A (zh) * 2006-01-18 2009-02-18 Lg电子株式会社 用于编码和解码信号的设备和方法
CN101626512A (zh) * 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
WO2011090798A1 (en) * 2010-01-22 2011-07-28 Thomson Licensing Data pruning for video compression using example-based super-resolution
CN104704843A (zh) * 2012-10-04 2015-06-10 高通股份有限公司 视频性质的指示
WO2015140391A1 (en) * 2014-03-17 2015-09-24 Nokia Technologies Oy Method and apparatus for video coding and decoding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9807203D0 (en) 1998-04-03 1998-06-03 Nds Ltd Method and apparatus for processing a digital signal
US8311088B2 (en) 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US8237865B2 (en) 2006-12-18 2012-08-07 Emanuele Salvucci Multi-compatible low and high dynamic range and high bit-depth texture and video encoding system
KR20140101872A (ko) 2007-01-11 2014-08-20 톰슨 라이센싱 Mpeg-4 avc 하이 레벨 코딩에 있어서 cavlc 4:4:4 인트라 프로파일, high 4:4:4 인트라 프로파일, 및 high 4:4:4 예측 프로파일에 대하여 coded_block_flag 신택스 엘리먼트 및 coded_block_pattern 신택스 엘리먼트의 신택스를 사용하는 방법 및 장치
US20110299604A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Method and apparatus for adaptive video sharpening
US20120075436A1 (en) * 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
CN103780914B (zh) 2012-02-27 2017-04-12 英特尔公司 环路滤波加速电路及环路滤波方法
US9357197B2 (en) 2012-05-24 2016-05-31 Dolby Laboratories Licensing Corporation Multi-layer backwards-compatible video delivery for enhanced dynamic range and enhanced resolution formats
US9451256B2 (en) 2012-07-20 2016-09-20 Qualcomm Incorporated Reusing parameter sets for video coding
US9161039B2 (en) 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
US8866975B1 (en) 2013-05-02 2014-10-21 Dolby Laboratories Licensing Corporation Backwards-compatible delivery of digital cinema content with higher dynamic range and related preprocessing and coding methods
EP2819414A3 (en) 2013-06-28 2015-02-25 Samsung Electronics Co., Ltd Image processing device and image processing method
WO2015053120A1 (ja) * 2013-10-08 2015-04-16 シャープ株式会社 画像復号装置、画像復号方法、画像符号化装置、及び画像符号化方法
KR101797505B1 (ko) * 2013-11-13 2017-12-12 엘지전자 주식회사 Hdr 방송 서비스 제공을 위한 방송 신호 송수신 방법 및 장치
EP3829171A1 (en) 2014-02-25 2021-06-02 Apple Inc. Adaptive transfer function for video encoding and decoding
US9402083B2 (en) 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
US10200690B2 (en) 2015-09-22 2019-02-05 Qualcomm Incorporated Video decoder conformance for high dynamic range (HDR) video coding using a core video standard

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101371297A (zh) * 2006-01-18 2009-02-18 Lg电子株式会社 用于编码和解码信号的设备和方法
CN101626512A (zh) * 2009-08-11 2010-01-13 北京交通大学 一种基于相关性优化准则的多描述视频编码方法及装置
WO2011090798A1 (en) * 2010-01-22 2011-07-28 Thomson Licensing Data pruning for video compression using example-based super-resolution
CN104704843A (zh) * 2012-10-04 2015-06-10 高通股份有限公司 视频性质的指示
WO2015140391A1 (en) * 2014-03-17 2015-09-24 Nokia Technologies Oy Method and apparatus for video coding and decoding

Also Published As

Publication number Publication date
WO2017069892A1 (en) 2017-04-27
US10798422B2 (en) 2020-10-06
CN108141613A (zh) 2018-06-08
EP3366041A1 (en) 2018-08-29
US20170111661A1 (en) 2017-04-20
KR20180059440A (ko) 2018-06-04
EP3366041A4 (en) 2019-06-12
KR102606583B1 (ko) 2023-11-24

Similar Documents

Publication Publication Date Title
CN108141613B (zh) 利用后处理指示的视频译码的方法和系统
US10659777B2 (en) Cross-channel residual prediction
US10462467B2 (en) Refining filter for inter layer prediction of scalable video coding
US20150181216A1 (en) Inter-layer pixel sample prediction
US10764592B2 (en) Inter-layer residual prediction
US10165267B2 (en) Multiview video coding schemes
WO2018090367A1 (en) Method and system of video coding with reduced supporting data sideband buffer usage
US10536710B2 (en) Cross-layer cross-channel residual prediction
US20140192880A1 (en) Inter layer motion data inheritance
US9860533B2 (en) Cross-layer cross-channel sample prediction
US10979703B2 (en) Adaptive filtering for scalable video coding
WO2014168643A1 (en) Coding unit size dependent simplified depth coding for 3d video coding
US20240129496A1 (en) Method and system of video coding with handling of illegal block partitions
EP2941866A1 (en) Coding unit bit number limitation
US20130170543A1 (en) Systems, methods, and computer program products for streaming out of data for video transcoding and other applications

Legal Events

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