CN113228664A - 用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质 - Google Patents

用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质 Download PDF

Info

Publication number
CN113228664A
CN113228664A CN201980085861.5A CN201980085861A CN113228664A CN 113228664 A CN113228664 A CN 113228664A CN 201980085861 A CN201980085861 A CN 201980085861A CN 113228664 A CN113228664 A CN 113228664A
Authority
CN
China
Prior art keywords
data
images
temporal
image
configuration
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.)
Pending
Application number
CN201980085861.5A
Other languages
English (en)
Inventor
R·约翰逊
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.)
V-Nova Ltd
V Nova International Ltd
Original Assignee
V-Nova Ltd
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 V-Nova Ltd filed Critical V-Nova Ltd
Publication of CN113228664A publication Critical patent/CN113228664A/zh
Pending legal-status Critical Current

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/187Methods 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 scalable video layer
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]

Abstract

针对一组图像中的给定图像,获得残差数据,并且所述残差数据可由解码器用于使用所述给定图像在第一质量水平下的第二表示来重构所述给定图像在所述第一质量水平下的第一表示。所述第二表示基于所述给定图像在较低的第二质量水平下的表示。生成与所述残差数据的处理有关的配置数据,并输出所述配置数据以供所述解码器处理。所述配置数据包括时间处理参数(754、854),所述时间处理参数指定与针对所述给定图像使用所述第二表示和所述残差数据来重构所述第一表示相关联的时间处理范围,其中执行时间处理包括使用基于所述一组图像中的多个图像的数据。

Description

用于可伸缩图像编码的方法、设备、计算机程序和计算机可读 介质
技术领域
本发明涉及方法、设备、计算机程序和计算机可读介质。特别但非排他地,本发明涉及用于处理配置信息的方法、设备、计算机程序和计算机可读介质,所述配置信息涉及可用于重构图像在相对高质量水平下的表示的残差数据。
背景技术
信号的压缩和解压缩是许多已知系统中的考虑因素。许多类型的信号,例如视频,可以被压缩和编码以例如通过数据通信网络进行传输。当对这样的信号进行解码时,可能希望提高信号的质量水平和/或恢复原始信号中包含的尽可能多的信息。
一些已知的系统利用可伸缩编码技术。可伸缩编码涉及对信号以及信息进行编码,以允许例如根据解码器的能力和可用带宽重构一种或多种不同的质量水平下的信号。
关于可伸缩编码系统中的信号重构,有一些考虑因素。一个这样的考虑因素是存储、使用和/或传输的信息量。信息量可以例如根据所重构信号的期望质量水平、重构时使用的信息的性质和/或配置这种信息的方式而变化。
另一个考虑因素是解码器准确地和/或可靠地处理接收到的信息的能力。可能影响解码器可靠性的一个因素是解码器处理错误和/或处理解码器接收到的出乎意料的、修改的和/或无法识别的信息的能力。解码器能够执行重构的准确性和/或可靠性的另一个因素涉及向解码器提供指示如何重构信号的最新信息。
另一项考虑是编码器和/或解码器有效处理信息的能力。编码器和/或解码器处理信息的效率可以是编码器和/或解码器的性能水平中的因素。
发明内容
本发明的各个方面在所附权利要求书中阐述。
另外的特征和优点将从下面仅举例来说给出的、参考附图进行的优选实施方案的描述中变得显而易见。
附图说明
图1示出了根据本发明的实施方案的信号处理系统的示例的示意性框图;
图2A和图2B示出了根据本发明的实施方案的信号处理系统的另一示例的示意性框图;
图3示出了根据本发明的实施方案的数据处理技术的示例的示意图;
图4示出了根据本发明的实施方案的入口点数据的示例的示意图;
图5示出了根据本发明的实施方案的配置消息的示例的示意图;
图6是描绘根据本发明的实施方案的方法的示例的流程图;
图7示出了根据本发明的实施方案的配置消息的另一个示例的示意图;
图8示出了根据本发明的实施方案的配置消息的另一个示例的示意图;
图9示出了根据本发明的实施方案的配置消息的另一个示例的示意图;
图10是描绘根据本发明的实施方案的方法的示例的流程图;
图11是描绘根据本发明的实施方案的方法的另一示例的流程图;且
图12示出了根据本发明的实施方案的设备的示例的示意性框图。
具体实施方式
参考图1,示出了信号处理系统100的示例。信号处理系统100用于处理信号。信号类型的示例包括但不限于视频信号、图像信号、音频信号、体积信号(诸如在医学、科学或全息成像中使用的那些信号)、或其他多维信号。
信号处理系统100包括第一设备102和第二设备104。第一设备102和第二设备104可以具有客户端-服务器关系,其中第一设备102执行服务器装置的功能,并且第二设备104执行客户端装置的功能。信号处理系统100可以包括至少一个附加设备(未示出)。第一设备102和/或第二设备104可以包括一个或多个部件。一个或多个部件可以以硬件和/或软件实现。一个或多个部件可以在信号处理系统100中位于同一位置或可以彼此远离。设备类型的示例包括但不限于计算机化的装置、手持式或膝上型计算机、平板计算机、移动装置、游戏控制台、智能电视、机顶盒、增强和/或虚拟现实耳机等。
第一设备102经由数据通信网络106通信地耦合到第二设备104。数据通信网络106的示例包括但不限于互联网、局域网(LAN)和广域网(WAN)。第一设备102和/或第二设备104可以具有与数据通信网络106的有线和/或无线连接。
第一设备102包括编码器108。编码器108被配置为对包括在信号中的数据进行编码,所述数据在下文中被称为“信号数据”。例如,在信号是视频信号的情况下,编码器108被配置为编码视频数据。视频数据包括多个图像或帧的序列。编码器108除了编码信号数据之外还可以执行一个或多个其他功能。编码器108可以以各种不同的方式体现。例如,编码器108可以体现为硬件和/或软件。
尽管在该示例中,第一设备102包括编码器108,但是在其他示例中,第一设备102与编码器108分离。在这样的示例中,第一设备102通信地耦合到编码器108。第一设备102可以体现为一个或多个软件功能和/或硬件模块。
第二设备104包括解码器110。解码器110被配置为解码信号数据。解码器110除了解码信号数据之外还可以执行一个或多个其他功能。解码器110可以以各种不同的方式体现。例如,解码器110可以体现为硬件和/或软件。
尽管在该示例中,第二设备104包括解码器110,但是在其他示例中,第二设备104与解码器110分离。在这样的示例中,第二设备104通信地耦合到解码器110。第二设备104可以体现为一个或多个软件功能和/或硬件模块。
编码器108对信号数据进行编码,并且经由数据通信网络106将编码后的信号数据传输至解码器110。解码器110对接收到的编码后的信号数据进行解码,并生成解码后的信号数据。解码器110可以输出解码后的信号数据或使用解码后的信号数据导出的数据。例如,解码器110可以输出这样的数据以在与第二设备104相关联的一个或多个显示装置上显示。
在本文描述的一些示例中,编码器108将信号在给定质量水平下的表示和信息传输到解码器110,解码器110可以使用该信息来重构信号在一种或多种更高质量水平下的表示。这样的信息可以被称为“重构数据”。在一些示例中,表示的“重构”涉及获得并非原始表示的精确副本的表示。所述表示与原始表示相同的程度可能取决于各种因素,包括但不限于量化水平。信号在给定质量水平下的表示可以被认为是给定质量水平下信号中包括的数据的再现、版本或描绘。在一些示例中,重构数据被包括在由编码器108编码并且被传输到解码器110的信号数据中。例如,重构数据可以呈元数据的形式。在一些示例中,重构数据与信号数据被分开编码和传输。
解码器110用于重构信号在一种或多种更高质量水平下的表示的信息可以包括残差数据,如下文更详细地描述。残差数据是重构数据的示例。解码器110用于重构信号在一种或多种更高质量水平下的表示的信息还可以包括与残差数据的处理有关的配置数据。配置数据可以指示残差数据已被编码器108处理的方式和/或残差数据要被解码器110处理的方式。配置数据可以例如以元数据的形式用信号发送到解码器110。
参考图2A和图2B,示意性地示出了信号处理系统200的示例。信号处理系统200包括具有编码器的第一设备202和具有解码器的第二设备204。在第一设备202和第二设备204中的每一个中,在两种逻辑水平上示出了项目。这两种水平由虚线分隔。最高的第一水平上的项目与相对高质量水平下的数据有关。最低的第二水平上的项目与相对低质量水平下的数据有关。相对高和相对低的质量水平与具有多个质量水平的分层层次结构有关。在一些示例中,分层层次结构包括多于两个质量水平。在这样的示例中,第一设备202和第二设备204可以包括多于两种不同的水平。可能存在图2A和图2B中所描绘的水平之上和/或之下的一种或多种其他水平。
首先参考图2A,第一设备202获得图像在相对高质量水平下的第一表示206。给定图像的表示是包括在图像中的数据的表示。图像可以是视频的给定帧。图像在相对高质量水平下的第一表示206在下文中将被称为“输入数据”,因为在该示例中,它是作为输入被提供给第一设备202中的编码器的数据。第一设备202可以接收输入数据206。例如,第一设备202可以从至少一个其他设备接收输入数据206。第一设备202可以被配置为接收输入数据206的连续部分,例如,视频的连续帧,并对每个连续帧执行本文所述的操作。例如,视频可以包括帧F1、F2、......、FT,并且第一设备202可以依次处理这些帧中的每一个。
第一设备202基于输入数据206导出数据212。在该示例中,基于输入数据206的数据212是图像在相对低质量水平下的表示212。在该示例中,数据212通过对输入数据206执行下采样操作来导出,并且因此在下文中将被称为“下采样数据”。在其他示例中,数据212通过对输入数据206执行除下采样操作之外的操作来导出。
在该示例中,在相对低质量水平下处理下采样数据212以生成处理后的数据213。在其他示例中,不在相对低质量水平下处理下采样数据212。这样,第一设备202可以生成相对低质量水平下的数据,其中相对低质量水平下的数据包括下采样数据212或处理后的数据213。
在一些示例中,生成处理后的数据213涉及对下采样数据212进行编码。对下采样数据212进行编码会产生相对低质量水平下的经编码图像。第一设备202可以输出经编码图像,例如以用于传输到第二设备204。例如形成经编码视频的一系列经编码图像,作为用于传输到第二设备204的输出,可以被称为“基本”流。不在第一设备202中产生,而是可以通过与第一设备202分离的编码装置来产生经编码图像。经编码图像可以是H.264编码视频的一部分。生成处理后的数据213可以例如包括生成视频的连续帧,作为诸如H.264视频编码器的单独的编码装置的输出。与由单独的编码装置生成的任何中间数据对照,用于生成处理后的数据213的中间数据集可以包括这种编码器的输出。
生成相对低质量水平下的处理后的数据213可以进一步涉及对相对低质量水平下的经编码图像进行解码。如将在下面变得显而易见的,可以执行解码操作以模仿在第二设备204处的解码操作。对经编码图像进行解码会产生相对低质量水平下的经解码图像。在一些示例中,第一设备202对相对低质量水平下的经编码图像进行解码,以产生相对低质量水平下的经解码图像。在其他示例中,第一设备202例如从与第一设备202分离的编码和/或解码装置接收相对低质量水平下的经解码图像。可以使用H.264解码器对经编码图像进行解码。由单独的解码装置进行的解码可以包括:将诸如被配置为传输到远程解码装置的经编码数据流的经编码视频输入到与第一设备202一起实现的单独的黑盒解码器中,以生成视频的连续经解码帧。因此,处理后的数据213可以包括通过复杂的非线性编码和解码过程生成的视频数据帧,其中编码和解码过程可能涉及根据诸如H.264的特定编码标准对时空相关性进行建模。然而,因为将任何编码器的输出馈送到对应的解码器,所以从第一设备202有效地隐藏了这种复杂性。
在示例中,生成相对低质量水平下的处理后的数据213还涉及基于下采样数据212与第一设备202所获得的经解码图像之间的比较,例如基于下采样数据212与经解码图像之间的差异,来获得校正数据。校正数据可以用于校正在对下采样数据212进行编码和解码时引入的错误。在一些示例中,第一设备202输出校正数据以及经编码信号,所述校正数据例如用于传输到第二设备204。这允许接收者校正在对下采样数据212进行编码和解码时引入的错误。该校正数据也可以被称为“第一增强”流。由于校正数据可以是基于下采样数据212与经解码图像之间的差异,因此可以将其视为残差数据的形式(例如,与下文稍后所述的另一组残差数据不同)。
在一些示例中,生成相对低质量水平下的处理后的数据213还涉及使用校正数据来校正经解码图像。例如,作为用于传输的输出的校正数据可以被放置成适合于与经解码图像组合的形式,然后被添加到经解码图像。这可以在逐帧的基础上执行。在其他示例中,第一设备202使用下采样数据212,而不是使用校正数据来校正经解码图像。例如,在某些情况下,可以仅使用编码然后解码的数据,而在其他情况下,可以用其他处理代替编码和解码。
在一些示例中,生成处理后的数据213涉及执行除上述编码、解码、获得和校正动作以外的一个或多个操作。
第一设备202基于相对低质量水平下的数据来获得数据214。如上所述,相对低质量水平下的数据可以包括处理后的数据213或下采样数据212,其中下采样数据212不以较低水平处理。如上所述,在某些情况下,处理后的数据213可以包括使用校正数据校正的经重构视频流(例如,来自编码-解码操作)。在图2A和图2B的示例中,数据214是图像在相对高质量水平下的第二表示,图像在相对高质量水平下的第一表示是输入数据206。相对高质量水平下的第二表示可以被认为是图像在相对高质量水平下的初始或预测表示。在该示例中,第一设备202通过对相对低质量水平下的数据执行上采样操作来导出数据214。数据214在下文中将被称为“上采样数据”。然而,在其他示例中,例如在不通过对输入数据206进行下采样来导出数据212的情况下,可以使用一个或多个其他操作来导出数据214。应当注意,对相对高和相对低质量水平的引用可以对应于对第一和第二质量水平的引用,其中第二质量水平高于第一质量水平。如本文所述,在某些情况下,质量水平可以对应于不同的空间分辨率。
使用输入数据206和上采样数据214来获得残差数据216。残差数据216与图像相关联。残差数据216可以呈一组残差元素的形式。一组残差元素216中的残差元素可以与输入数据206中的相应图像元素相关联。图像元素的示例是像素。
在该示例中,通过从输入数据206中的对应图像元素的值中减去上采样数据214中的图像元素的值来获得给定的残差元素。这样,残差数据216可与上采样数据214结合使用以重构输入数据206。残差数据216还可以被称为“重构数据”或“增强数据”。在一种情况下,残差数据216可以形成“第二增强”流的一部分。
第一设备202获得与残差数据216的处理有关的配置数据。配置数据指示残差数据216已被第一设备202处理和/或生成的方式和/或残差数据216要被第二设备204处理的方式。配置数据可以包括一组配置参数。配置数据可用于控制第二设备204使用残差数据216处理数据和/或重构输入数据206的方式。配置数据可以与残差数据216的一个或多个特性有关。不同的配置数据可能导致对残差数据216和/或使用残差数据216执行不同的处理。因此,配置数据可用于使用残差数据216重构输入数据206。
在该示例中,第一设备202将基于下采样数据212的数据、基于残差数据216的数据以及配置数据传输到第二设备204,以使第二设备204能够重构输入数据206。
现在转到图2B,第二设备204接收基于下采样数据212(例如从下采样数据212导出)的数据220。第二设备204还接收基于残差数据216的数据。例如,第二设备204可以接收“基本”流(数据220)、“第一增强流”(任何校正数据)和“第二增强流”(残差数据216)。第二设备204还接收与残差数据216的处理有关的配置数据。基于下采样数据212的数据220可以是下采样数据212本身、处理后的数据213或从下采样数据212或处理后的数据213导出的数据。基于残差数据216的数据可以是残差数据216本身或从残差数据216导出的数据。
在一些示例中,接收到的数据220包括处理后的数据213,所述处理后的数据可以包括相对低质量水平下的经编码图像和/或校正数据。在一些示例中,例如在第一设备202已处理下采样数据212以生成处理后的数据213的情况下,第二设备204处理接收到的数据220以生成处理后的数据222。由第二设备204进行的这种处理可以包括对经编码图像(例如,形成“基本”经编码视频流的一部分的经编码图像)进行解码,以产生相对低质量水平下的经解码图像。在一些示例中,由第二设备204进行的处理包括使用获得的校正数据来校正经解码图像。因此,处理后的数据222可以包括第一或相对低的质量水平下的校正数据帧。在一些示例中,相对低质量水平下的经编码图像由与第二设备204分离的解码装置解码。可以使用H.264解码器对相对低质量水平下的经编码图像进行解码。
在其他示例中,接收到的数据220包括下采样数据212,并且不包括处理后的数据213。在一些这样的示例中,第二设备204不处理接收到的数据220以生成处理后的数据222。
第二设备204使用相对低质量水平下的数据来导出上采样数据214。如上所述,相对低质量水平下的数据可以包括处理后的数据222或接收到的数据220,其中第二设备204不处理相对低质量水平下的接收到的数据220。上采样数据214是图像在相对高质量水平下的初步表示。可以通过对相对低质量水平下的数据执行上采样操作来导出上采样数据214。
第二设备204获得残差数据216。残差数据216可与上采样数据214一起使用以重构输入数据206。残差数据216指示输入数据206与上采样数据214之间的比较。
第二设备204还获得与残差数据216的处理有关的配置数据。配置数据可被第二设备204用来重构输入数据206。例如,配置数据可以指示与残差数据216有关的特性或属性,所述特性或属性影响残差数据216将要使用和/或处理的方式或究竟是否将要使用残差数据216。在一些示例中,配置数据包括残差数据216。
关于这种配置数据的使用,有一些考虑因素。一个这样的考虑因素是生成、存储、传输和/或处理的信息量。使用的信息越多,处理这样的信息可能涉及的资源量就越大。这样的资源的示例包括传输资源、存储资源和处理资源。相比于一些已知的技术,本文所描述的示例允许使用相对少量的信息。这可以减少经由数据通信网络106传输的数据量。在数据与高质量视频数据有关的情况下,在已知系统中传输的信息量可能特别高的情况下,节省可能是特别有意义的。
与这种配置数据的使用有关的另一个考虑因素是适应不同类型的解码装置的能力。例如,给定的编码器可以将信息传输到多个解码器,每个解码器具有诸如处理和/或存储能力的不同特性。期望在图像重构中使用配置数据与用于执行重构的解码器装置的类型和/或能力无关。相比于一些已知技术,本文所描述的示例使得具有不同操作特性的不同类型的解码器能够可靠地处理配置数据。
与这种配置数据的使用有关的另一个考虑因素是在编码器和/或解码器处为了处理配置数据而涉及的处理量和/或相对处理复杂性。相比于一些已知技术,本文所描述的示例减少了编码器和/或解码器为了获得和/或处理配置数据而执行的处理量和/或处理复杂性。简化由编码器和/或解码器执行的处理会提高编码器和/或解码器的效率。
其他考虑因素包括解码器准确并可靠地执行图像重构的能力。准确并可靠地执行图像重构可影响所显示图像的最终视觉质量,并因此可影响观看者对图像和/或与包括图像的视频的了解。可能影响解码器可执行重构的准确性和/或可靠性的一个因素是向解码器提供与如何执行重构有关的最新和/或准确的信息。例如,配置数据可随时间变化,和/或在不同图像之间变化。如果解码器没有及时获知这种变化,则可能会影响重构图像的所得视觉质量。相比于一些已知技术,本文描述的示例允许相对频繁地将配置信息用信号发送到解码器,从而使得解码器能够在图像重构中使用相对最新的配置信息。
错误处理也是一个考虑因素。例如,解码器在处理配置数据时处理潜在错误的能力可能是解码器可靠性的一个因素。相比于一些已知技术,本文所描述的示例允许解码器处理潜在错误以及意外或无法识别的数据的接收。这可以有效地增加解码器的可靠性。
参考图3,示意性地示出了数据处理技术300的示例。数据处理技术300可由包括编码器的设备(诸如上述的第一设备102)来执行。如下面更详细描述的,数据处理技术300涉及执行配置数据的逐字节处理。
获得配置数据310。配置数据310与残差数据(例如如上所述的残差数据216)的处理有关。将理解,如图3中描绘的配置数据310是这种配置数据的内容的说明性表示。在实际使用中,配置数据可读取和/或写入为一系列的1和0,例如[01000010]。
配置数据310包括一组值320。所述一组值320对应于一组配置参数。给定配置参数的值具有给定的位长度。位长度是用于表示给定配置参数的值的位数。给定配置参数的值的位长度可以是固定的,或者可以是可变的。对于可变的位长度,用于表示给定配置参数的值的位数基于给定配置参数的值而变化。
在一些示例中,配置数据310包括对存储给定配置参数的可能值的查找表的引用。例如,配置数据310可包括可用于从查找表中获得配置参数的值的值。
配置数据310被布置成字节序列330。字节序列330包括整数个字节。在该示例中,配置参数320的值被布置成包括5个字节的字节序列,但是将理解,在其他示例中可以使用其他字节数。在该示例中,字节序列330中的给定字节包括8个位。字节序列330可以是更大的字节序列或逐字节流的一部分。将配置数据310布置成字节序列330使得能够对配置数据310执行逐字节处理。在逐字节处理中,数据是在逐字节基础上处理的。
以逐字节方式处理配置数据310可能比以逐位方式处理配置数据310更有效。逐位处理可能涉及跟踪给定字节中的哪个位是将要读取或写入的下一个位。当表示给定参数的一组位跨越字节边界时,可以执行附加处理以读取该组位并获得给定参数。在执行逐字节处理的情况下,可以减少这种处理。在一些示例中,与逐位方式相比,当以逐字节方式处理数据时,可以减少执行周期数。
在一些示例中,字节序列330被写入存储器。与以逐位方式处理配置数据310的情况相比,如果以逐字节方式处理配置数据310,则在将配置数据310存储在存储器中和/或从存储器检索配置数据310时可能涉及较少的处理。可寻址存储器的最小单元可以包含一个字节。这样,信息可以以逐字节方式存储在存储器中。因此,如果将配置数据310打包成字节序列,则在将配置数据310存储在存储器中和/或从存储器检索配置数据310时可能涉及较少的步骤。通过将配置数据310以逐字节形式提供给存储器,还可以减少用于将配置数据310打包到可寻址存储器单元中的填充量。
此外,如果将配置数据310布置成字节序列,则可以更有效地执行配置数据310经由诸如互联网的网络的传输。数据可以经由传输控制协议(TCP)在互联网上传输。TCP在协议栈的传输层中操作。TCP从流中获得数据,将数据打包到TCP片段中,并使用互联网模块(例如互联网协议(IP))将每个TCP片段经由互联网传输到接收者。数据流可以从存储器获得。TCP片段可以包括整数个字节。这样,如果TCP从逐字节流而不是从逐位流获得将被打包到TCP片段中的数据,则可能涉及较少的处理。通过将数据以逐字节形式提供给TCP,还可以减少用于将数据打包到TCP片段中的填充量。
在该示例中,在协议栈的应用层执行将配置数据310布置成字节序列330。这样,应用层可按逐字节方式而不是逐位方式来处理配置数据310。
在一些示例中,配置数据310包括具有不同位长度的多个配置参数的值。可以通过按预定顺序布置值来将配置数据310打包成字节序列330。预定顺序可以是与获得值的顺序不同的顺序。这样,值可以被重新布置。
配置参数320的值可以被布置成使得字节序列330中的给定字节被由不同位长度表示的值填充。通过用按预定顺序布置的由不同位长度表示的值来填充字节序列330中的给定字节,可以减少字节序列330中使用的填充量。这样,与不按预定顺序布置由不同位长度表示的值的情况相比,可以将数据更有效地打包成字节序列330。将数据更有效地打包成字节序列330可减少用于存储配置数据310的字节数。因此可减少要在网络上传输的信息量。
输出字节序列330以供解码器(诸如解码器110)处理,以使解码器能够使用配置数据310重构输入数据206。
参考图4,示意性地示出了入口点数据400的示例。入口点数据400可由编码器108输出,并由解码器110接收。入口点数据400是一种类型的配置数据。在一些示例中,入口点数据400形成配置数据310的一部分。在读取其他配置数据之前,入口点数据400可由解码器110读取。这样,入口点数据400可以是针对给定的接收到的视频流由解码器110处理的第一配置数据。
入口点数据400包括版本参数420。版本参数420可指示版本号。版本可以是根据其布置配置数据的语法的版本。语法可以被认为是定义要处理配置数据的方式和/或定义要包括在配置数据中的配置参数的框架。编码器108和/或解码器110可以被配置成根据由版本参数420指示的语法的版本操作。
版本参数420的值具有固定的位长度。在一些示例中,版本参数420的值具有8个位的位长度。这样,版本参数420的值可以被存储在字节序列330中的固定长度元素中。固定长度元素包括预定整数个字节。
在该示例中,入口点数据400包括扩展版本参数425。扩展版本参数425的值具有可变的位长度。扩展版本参数425的值可以被存储在字节序列330中的可变长度元素中。
可变长度元素在字节序列330中包括整数个字节。可变长度元素可以被称为“多字节”元素,但在一些示例中,可变长度元素包括单个字节。可变长度元素的一个或多个字节在字节序列330中可以是连续的。在一些示例中,可变长度元素的一个或多个字节在字节序列330中是不连续的。
可变长度元素的至少一个给定字节具有一个或多个预定位,所述一个或多个预定位被布置成指示可变长度元素是否包括至少一个给定字节的一个或多个附加字节。在一些示例中,一个或多个预定位包括单个预定位。在其他示例中,一个或多个预定位包括一个以上的预定位。在一些示例中,可变长度元素的每个字节包括一个或多个预定位。在其他示例中,可变长度元素的至少一个字节不包括一个或多个预定位。
在一个或多个预定位包括单个预定位的情况下,单个预定位可以被认为是指示在可变长度元素中是否存在一个或多个附加字节的标志。例如,如果可变长度元素包含至少一个给定字节的附加字节,则预定位的值可以被设置为1。另一方面,如果可变长度元素不包含至少一个给定字节的附加字节,则预定位的值可以被设置为0。换句话说,预定位指示可变长度元素是否扩展到至少一个给定字节之外。
一个或多个预定位可以被布置在至少一个给定字节的末尾。例如,一个或多个预定位可包括至少一个给定字节的一个或多个末位。在一些示例中,一个或多个预定位包括至少一个给定字节的一个或多个首位。在一些示例中,至少一个给定字节中的每一者包括布置成存储扩展版本参数425的值的七个位和布置成指示可变长度元素是否包括至少一个给定字节的一个或多个附加字节的一个位。
这样,可使用可变长度元素来表示扩展版本参数425的值,而不考虑扩展版本参数425的值的位长度。可变长度元素包括可用于存储扩展版本参数425的值的最小字节数。因此与使用固定长度元素的情况相比,使用可变长度元素可减少存储、处理和/或传输的信息量,所述固定长度元素的大小对应于扩展版本参数425的值的最大可能位长度。可变长度元素使得可用于表示扩展版本参数425的可能值的数目能够根据需要并以灵活的方式增加。这样,可变长度元素可用于提供对配置数据310的未来开发和/或修改,例如通过允许增加扩展版本参数425的值的位长度,而不需要对配置数据310的结构进行相对复杂的修改。
在该示例中,选择性地使用扩展版本参数425。这在图4中使用虚线描绘。如果确定固定长度版本参数420不足以存储版本号的值,则使用扩展版本参数425。在一些示例中,响应于确定版本号的值与预定阈值具有预定关系,将版本号的值存储在扩展版本参数425中。在一些示例中,预定关系包括版本号的值大于或等于预定阈值。在一些示例中,如果确定版本号的值与预定阈值没有预定关系,则将版本号的值存储在版本参数420中,而不是存储在可变长度扩展版本参数425中。与使用可变长度元素而不考虑版本号的值的情况相比,使用可变长度元素选择性地减少了使用、存储和/或传输的信息量。
在一些示例中,预定阈值与固定长度元素的位长度(即版本参数420的位长度)有关。例如,如果固定长度元素包括八个位,则可由固定长度元素表示0与255之间的值。这种情况下的预定阈值例如可以是255。这样,如果版本号的值大于255,则可以使用可变长度扩展版本参数425代替固定长度版本参数420或作为其补充,来存储版本号的值。
在一些示例中,数据被存储在版本参数420中,以指示版本号被存储在扩展版本参数425中。在一些示例中,数据包括版本参数420中的至少一个预定位。存储在版本参数420中的数据使解码器110能够确定版本号的值被存储在扩展版本参数425中。
可变长度元素的上述使用和/或这种可变长度元素的选择性包括也可应用于由编码器108输出的配置数据的其他配置参数。
作为选择性地包括对应于可变长度元素的配置参数的补充或替代,编码器108可选择性地包括对应于固定长度元素的配置参数。在一些示例中,由编码器108生成的配置数据包括参数存在指示符。参数存在指示符指定给定的一组配置参数是否包括在配置数据的给定部分中。给定的一组配置参数具有预定格式。在与上述版本号有关的示例中,参数存在指示符包括版本参数420中指示包括扩展版本参数425的预定位。参数存在指示符对应于嵌套逻辑语句,如IF语句。也就是说,如果参数存在指示符具有或被给予特定值,则给定的一组配置参数被包括在配置数据中。与不选择性地包括给定的一组配置参数的情况相比,包括给定的一组配置参数选择性地减少了使用、存储和/或传输的信息量。
参考图5,示意性地示出了配置消息500的示例。配置消息500可形成配置数据310的一部分。配置消息500可由编码器108生成。在已经接收和/或读取入口点数据400之后,解码器110可接收和/或读取配置消息500。
配置消息500包括报头部510和有效载荷部520。有效载荷部520包括一组配置参数550。所述一组配置参数550与残差数据(例如如上所述的残差数据216)的处理有关。在一些示例中,配置消息500为整数个字节长。
报头部510包括消息类型参数512。消息类型参数512指定配置消息500的消息类型。由消息类型参数500指定的消息类型可以指示将要处理配置消息500的方式。下面描述配置消息的示例类型。
消息类型参数512指示有效载荷部520具有给定有效载荷格式。可以基于配置消息500的消息类型来确定有效载荷部520的有效载荷格式。有效载荷格式可定义包括在有效载荷部520中的一组配置参数。在一些示例中,有效载荷部520的有效载荷格式定义特定处理逻辑,所述特定处理逻辑指定将要处理有效载荷部520的内容的方式。有效载荷部520具有格式大小。有效载荷部520的格式大小对应于有效载荷部520的有效载荷格式。具有给定有效载荷格式的有效载荷部的格式大小是预定的,或者可以从有效载荷部的内容确定。例如,可以基于由有效载荷格式定义的各个配置参数的组合大小来确定格式大小。格式大小可以被认为是有效载荷部520的可能大小或建议大小。
报头部510还包括有效载荷大小参数514。有效载荷大小参数514指定有效载荷部520的实际大小。有效载荷部520的实际大小可以是整数个字节。
在一些示例中,有效载荷大小参数514的值存储在固定长度元素中。存储有效载荷大小参数514的值的固定长度元素可以包括报头部510的给定字节中的预定位数。例如,有效载荷大小参数514的值可以存储在包括单字节报头部中的三个位的固定长度元素中。
在一些示例中,有效载荷大小参数514包括对有效载荷大小查找表的引用,所述有效载荷大小查找表存储有效载荷部520的实际大小的可能值。例如,有效载荷大小参数514可以包括可用于从有效载荷大小查找表中获得有效载荷部520的实际大小的值。
在一些示例中,有效载荷大小参数514的值存储在可变长度元素中。例如,当有效载荷部520的实际大小不是在有效载荷大小查找表中指定的值中的一个时,可能是这种情况。由有效载荷大小参数514指定的有效载荷部520的实际大小可以具有可变的位长度。这样,不管有效载荷大小参数514的位长度如何,都可以使用可变长度元素来表示有效载荷大小参数514。可变长度元素包括可用于存储有效载荷大小参数514的值的最小字节数。
在一些示例中,数据存储在固定长度元素中,这指示有效载荷大小参数514的值存储在可变长度元素中。例如,如果确定有效载荷大小参数514的值是一组预定值中的一个,则所述值可以存储在固定长度元素中,并且/或者固定长度元素可以包括对有效载荷大小查找表的引用。另一方面,如果确定有效载荷大小参数514的值不是一组预定值中的一个,则可以使用可变长度元素来存储所述值,并且固定长度元素可以被布置成例如经由包含在固定长度元素中的标志来指示可变长度元素正被用于存储所述值。
在该示例中,报头部510仅包含消息类型参数512和有效载荷大小参数514。在其他示例中,报头部510包括一个或多个其他参数。在一些示例中,报头部510为一个字节长。例如,消息类型参数512可以由五个位表示,并且有效载荷大小参数514可以由单字节报头部510的其余三个位表示。在其他示例中,例如在可变长度元素用于表示有效载荷部520的实际大小的情况下,报头部510包括多于一个字节。
有效载荷部520的实际大小可以与有效载荷部520的格式大小相同或不同。不管实际大小和格式大小是否相同,指定实际大小的有效载荷大小参数514都包括在配置消息500的报头部510中。
当可以从消息类型参数512推断出有效载荷部520的可能大小(即格式大小)时,包括指定有效载荷部520的实际大小的有效载荷大小参数514可能看起来效率低下和/或信息重复,尤其是当格式大小和实际大小相同时。与不包括有效载荷大小参数514的情况相比,在配置消息500中包括这样的参数涉及使用更大量数据用于配置消息500。然而,与不使用有效载荷大小参数514的情况相比,在配置消息500中包括这样的参数有助于解码器110的更有效和可靠的处理和/或改进的错误处理,如下文将更详细描述的。
参考图6,示出了处理配置数据的方法600的示例。方法600可以由包括解码器的设备(诸如上述第二设备104)执行。
在一些示例中,接收到残差数据。在该示例中,接收到的残差数据是上述残差数据216。可以从诸如编码器108的编码器接收残差数据216。
在项目610处,接收配置消息。在该示例中,接收到的配置消息是上述配置消息500。可以从编码器108接收配置消息500。
在项目620处,使用消息类型参数512和有效载荷大小参数514来处理接收到的配置消息500。处理配置消息500以获得存储在配置消息500的有效载荷部520中的一组配置参数550。
在一些示例中,处理配置消息500包括解析配置消息500的报头部510以获得消息类型参数512和有效载荷大小参数512。基于有效载荷大小参数514,确定有效载荷部520的实际大小。基于消息类型参数512,确定配置消息500的消息类型。根据所确定的消息类型和有效载荷部520的所确定的实际大小来处理配置消息500。
处理配置消息500包括解析有效载荷部520以获得配置数据550。在一些示例中,处理配置消息500包括跟踪在解析有效载荷部520时已经读取的配置消息500的字节数。如果在解析有效载荷部520时读取的字节数与有效载荷大小参数514所指定的有效载荷部520的实际大小之间确定存在差异,则解码器110可以检测到读取不足(under-read)的发生。在处理配置消息时,读取不足可能是错误的潜在来源。
在一些示例中,有效载荷大小参数514用于确定下一配置消息的开始。下一配置消息可以是解码器110接收到的配置消息序列中相对于配置消息500的下一连续配置消息。配置消息序列可以形成配置数据的一部分。配置消息500和下一配置消息可以对应于相同图像或不同图像。例如,配置消息500可以对应于图像序列中的第一图像,而下一配置消息可以对应于图像序列中不同的第二图像。
在一些示例中,处理配置消息500包括丢弃有效载荷部520的至少一部分内容。可以使用有效载荷大小参数514来丢弃有效载荷部520的至少一部分内容。例如,解码器110可以跳到下一配置消息,下一配置消息的开始已经使用有效载荷大小参数514来确定,而不处理有效载荷部520的至少一部分内容。
因此,使用有效载荷大小参数514使得解码器110能够以有效的方式处理可能的读取不足。使用有效载荷大小参数514来定位下一消息的开始还使得解码器110能够与包括多个配置消息的字节流保持正确对齐或同步。例如,即使在不通知解码器110的情况下,给定配置消息的内容和/或格式无法识别、出乎意料和/或已经更新,解码器110仍能够定位下一配置消息的开始,并且因此与字节流保持同步。此外,如果字节流变得畸形,则解码器110能够检测何时将发生过度读取并相应地做出响应。例如,解码器110可以中止当前配置消息的处理,并且将字节流重置到下一配置消息的开始的确定位置。因此,与不使用有效载荷大小参数514的情况相比,使用这样的参数来处理配置消息500提高了解码器110的可靠性和/或适应性,因为解码器110能够处理已经修改的和/或无法识别和/或出乎意料的配置消息。解码器110还能够处理潜在的读取不足和过度读取,而不会失去与字节流的同步,从而提高了解码器110处理潜在错误的能力。
在一些示例中,处理配置消息500包括解析有效载荷部520的第一内容。第一内容对应于有效载荷部520的格式大小。第一内容可包括一组配置参数550。第一内容可包括第一配置数据。处理配置消息500还可以包括使用有效载荷大小参数514来丢弃有效载荷部520的其余内容。有效载荷部520的其余内容包括有效载荷部520中未包括在第一内容中的内容。其余内容包括其他配置数据。可以通过检测有效载荷部520的格式大小与实际大小之间的差异来确定其余内容的存在。换句话说,如果确定实际大小大于格式大小,则确定有效载荷部520中存在除了基于格式大小而预期的内容之外的附加内容。
在项目630处,使用获得的一组配置参数550来重构输入数据206。可根据获得的一组配置参数550通过使用残差数据216来重构输入数据206。
在一些示例中,配置消息500的有效载荷部520包括第一有效载荷部分和第二有效载荷部分。有效载荷大小参数514可指示第一有效载荷部分和第二有效载荷部分的总大小。第一有效载荷部分和第二有效载荷部分可分别包括第一配置数据和第二配置数据。在一些示例中,第二配置数据包括补充配置数据。补充配置数据被布置成补充第一配置数据。随后可相对于第一有效载荷部分来布置第二有效载荷部分。这样,在对第二有效载荷部分进行接收、处理和/或解析之前,第一有效载荷部分可由解码器110进行接收、处理和/或解析。
在一些示例中,报头部510不指定第一有效载荷部分的大小和/或第二有效载荷部分的大小。在一些示例中,可基于由消息类型参数512指示的格式大小来确定第一有效载荷部分的大小。这样,由消息类型参数512指示的格式大小可反映第一有效载荷部分的内容,但不反映第二有效载荷部分的内容。
第一配置数据与第一组一个或多个解码器有关。第一组一个或多个解码器具有第一操作特性。操作特性的一个示例是处理能力。第二配置数据与第二组一个或多个解码器有关。第二组一个或多个解码器具有第二操作特性。配置消息500被传输到的解码器110可以包括在第一组或第二组中。生成配置消息500的编码器108可能不知道解码器110包括在哪一组解码器中。编码器108可以将配置消息500传输到两组解码器中的多个解码器。
在一些示例中,第一操作特性对应于第一版本,第一组一个或多个解码器被配置为根据所述第一版本进行操作,并且第二操作特性对应于不同的第二版本,第二组一个或多个解码器被配置为根据所述不同的第二版本进行操作。第二版本可以是相对于第一版本的较新版本。第一版本和第二版本可以是语法框架的不同版本,所述语法框架定义将要处理配置消息的方式并且/或者定义此类配置消息的内容。因此,当语法从第一版本更新为第二版本时,第二配置数据被添加到包含来自第一版本的第一配置数据的配置消息中。第二配置数据可以例如被附加到第一配置数据。
与生成新的消息类型的情况相比,将第二配置数据添加到现有消息类型的配置消息中而不是生成新的消息类型来容纳第二配置数据减少了存储、传输和/或处理的数据量。通过修改现有消息类型的配置而不是定义新消息类型,可以减少用于传达所有相关配置数据的配置消息的总数。每个配置消息具有对应的报头,所述报头可以为至少一个字节长。因此,通过减少配置消息的总数,可以减少存储、传输和/或处理的数据量。
在一些示例中,解码器110不能同时处理第一有效载荷部分和第二有效载荷部分。例如,编码器108可能已经经历了更新,根据所述更新,第二配置数据包括在配置消息500中,但是解码器110可能没有经历这种更新。换句话说,编码器108和解码器110可以根据语法的不同版本进行操作。在这样的示例中,如编码器108所解释的和如解码器110所解释的有效载荷部520的格式大小可能存在差异。例如,由于解码器110不知道附加内容和更新后的有效载荷格式,并且正在根据先前版本进行操作,因此根据编码器108的格式大小与根据解码器110的格式大小不同,所述编码器知道有效载荷部520的附加内容和版本更新之后的更新后的有效载荷格式。对于编码器108,格式大小等于更新后的有效载荷部520的实际大小,但是对于解码器110则不是这样。因此,仅格式大小可能是有效载荷部520的实际大小的不可靠指标。因此,包括指定有效载荷部520的实际大小的有效载荷大小参数514有助于解码器110的更可靠处理。
在一些示例中,例如,如果解码器110在第一组解码器中,则第一有效载荷部分被解码器110解析,而第二有效载荷部分不被解码器110解析。解析第一有效载荷部分而不解析第二有效载荷部分使得解码器110能够获得第一配置数据而不是第二配置数据。在一些示例中,例如,如果解码器110在第二组解码器中,则第二有效载荷部分被解码器110解析,而第一有效载荷部分不被解码器110解析。解析第二有效载荷部分而不解析第一有效载荷部分522使得解码器110能够获得第二配置数据而不是第一配置数据。在一些示例中,例如如果解码器110在第二组解码器中,则对第一有效载荷部分和第二有效载荷部分两者进行解析以获得第一配置数据和第二配置数据两者。
如上所述,有效载荷大小参数514可以用于确定下一配置消息的开始。在一些示例中,例如,如果解码器110在第一组解码器中,则第二有效载荷部分的内容被丢弃。可以通过使用在有效载荷大小参数514中指定的有效载荷部520的总大小来丢弃第二有效载荷部分的内容。使用有效载荷大小参数514来定位下一消息的开始使得解码器110能够保持与字节流同步,而不管解码器110是在第一组解码器中还是在第二组解码器中。
在解码器110获得第一配置数据和第二配置数据两者的情况下,使用第一配置数据和第二配置数据两者来重构图像的第一表示206。在解码器110仅处理第一有效载荷部分和第二有效载荷部分中的一个的情况下,可使用获得的第一配置数据和第二配置数据中的一个来重构图像的第一表示206。这样,使用配置消息500来重构第一表示206可以与解码器的类型无关并且/或者与解码器110被配置为根据其进行操作的版本号无关。
参考图7,示出了配置消息700的示例的示意图。配置消息700可形成配置数据310的一部分。配置消息700可由编码器108生成。图7所示的某些项目与图5所示的项目相似。因此,相似的项目使用了对应的附图标记(增加了200)。
配置消息700是配置消息500的更具体的示例。配置消息700包括报头部710和有效载荷部720。报头部710包括消息类型参数712和有效载荷大小参数714。有效载荷部720包括一组配置参数。所述一组配置参数与残差数据216的处理有关。在一些示例中,配置消息700为整数个字节长。
配置消息700的消息类型是图像集配置消息。图像集配置消息对应于一组图像中的多个图像。在一些示例中,所述一组图像包括75个图像。所述一组图像可以是视频信号的一部分。例如,所述一组图像可包括视频的连续帧。视频可以是流式视频。视频的一个示例是广播视频。例如,可经由数据通信网络106来广播视频。在一些示例中,所述一组图像被编码为图片组(GOP)。GOP是图像序列的编码,所述图像序列中的每个图像可使用完全包含在GOP内的信息来进行解码。视频可包括多个这样的GOP。
在一些示例中,图像集配置消息对应于一组图像中的每一个图像。有效载荷部720包括一组图像集配置参数。所述一组图像集配置参数具有预定格式。
在该示例中,所述一组图像集配置参数包括变换类型参数751。变换类型参数751与对残差数据216执行的变换操作有关。变换操作可以是方向分解操作。方向分解操作的一个示例是阿达马(Hadamard)变换。变换操作可利用残差数据216中的残差元素之间的空间和/或方向相关性。对残差数据216执行变换操作产生变换的残差数据。变换的残差数据可小于残差数据216。变换的残差数据可具有比残差数据216低的编码熵。这样,编码器108传输变换的残差数据可能比传输残差数据216更有效。接收变换的残差数据的解码器110然后可以对变换的残差数据执行逆变换操作以获得残差数据216。因此编码器108向解码器110发送已经由变换类型参数751对残差数据216应用了哪个变换操作的信号。在一些示例中,变换类型参数751从多个可能的变换操作中指定可应用于残差数据216的变换操作。在一些示例中,变换类型参数751的值具有固定的位长度。例如,变换类型参数751的值可具有两位的位长度。
在该示例中,一组图像集配置参数包括上采样类型参数752。上采样类型参数752与上采样操作有关。对于一组图像中的每个图像,对图像在相对低质量水平下的表示执行上采样操作。对相对低质量水平下的表示执行上采样操作以导出上采样数据214。编码器108执行这种上采样操作,以便导出残差数据216。解码器110可执行对应的上采样操作,以便重构输入数据206,即通过将上采样数据214与残差数据216组合。因此编码器108向解码器110发送要经由上采样类型参数752使用哪个上采样操作的信号。在一些示例中,上采样类型参数752从多个可能的插值操作中指定插值操作。可能的插值操作的示例包括最近邻插值、双线性插值、双三次插值和兰乔斯(Lanczos)插值。在一些示例中,上采样类型参数指定是按一维还是二维执行上采样。换句话说,上采样类型参数752可指定是否对相对低质量水平下的表示执行水平和垂直上采样中之一者或两者。在一些示例中,与上采样操作有关的配置参数可指定是对相对低质量水平下的表示执行水平上采样还是水平和垂直上采样两者。在一些示例中,上采样类型参数752的值具有固定的位长度。在一个示例中,上采样类型参数752的值具有三个位的位长度。在另一示例中,上采样类型参数752的值具有四个位的位长度。
在该示例中,一组图像集配置参数包括深度类型参数753。深度类型参数753与位深度有关。位深度与针对一组图像中的给定图像的残差数据216相关联。位深度也可以被称为颜色深度。在一些示例中,位深度指示用于指示给定图像中的给定像素的颜色的位数。这样,位深度可指示在给定图像中可如何精细地表示颜色。在一些示例中,位深度指示用于给定图像中的给定像素的每个颜色分量的位数。在一些示例中,针对给定图像的残差数据216中的给定残差元素包括多个颜色分量(例如,针对YUV或RGB数据)。位深度可指示用于给定残差元素的每个颜色分量的位数。不同的颜色分量可具有不同的位长度。在一些示例中,深度类型参数753的值具有固定的位长度。在一个示例中,深度类型参数753的值具有两个位的位长度。在另一示例中,深度类型参数753的值具有四个位的位长度。
在该示例中,一组图像集配置参数包括时间处理参数754。时间处理参数754指定与针对一组图像中的给定图像重构输入数据206相关联的时间处理范围。执行时间处理包括使用基于一组图像中的多个图像的数据。在一些示例中,一组图像中的每个图像对应于视频的不同时间样本。例如,时间处理可使用针对不同视频帧的数据(诸如从针对不同帧的残差数据导出的数据)来调整针对给定视频帧的数据,诸如从针对该帧的残差数据导出的数据。基于多个图像的数据可指示针对给定图像的残差数据与针对所述一组图像中的一个或多个其他图像的残差数据之间的时间相关性程度。相对于对应于给定图像的时间样本,一个或多个其他图像可对应于视频中的一个或多个更早的时间样本。例如,至少从与前一视频帧相关联的残差数据导出的数据可用于经由至少从与当前帧相关联的残差数据导出的数据的修改来重构当前视频帧。
在一些示例中,基于多个图像的数据包括时间相关性数据。时间相关性数据可包括基于针对给定图像的残差数据与针对一个或多个其他图像的对应残差数据之间的差异的数据。这可以是基于针对当前帧的数据和针对前一帧的数据的差异。对于表现出相对高时间相关性程度的图像序列,针对给定图像使用和/或输出时间相关性数据可能比使用和/或输出残差数据更有效。
在一些示例中,时间处理参数754的值基于优化度量。可以执行优化操作,以便确定针对给定图像是残差数据还是时间相关性数据的使用和/或输出更有效。基于优化度量,时间处理参数754的值可指导解码器110基于残差数据和时间相关性数据中的一者来重构给定的视频帧。这可以反映在对应的编码器上已执行的处理。优化操作可包括如下面更详细描述的率失真分析。
时间处理参数754的值可具有一个位的位长度。例如,这可指示例如关于给定的视频帧是否要执行时间处理(二元确定)。这样,时间处理参数754可以被存储在配置数据的给定字节中的预定位中。
在该示例中,一组图像集配置参数包括指定针对一组图像中的给定图像的输入数据206的分辨率的分辨率类型参数755。在一些示例中,分辨率类型参数755的值具有固定的位长度。在一个示例中,分辨率类型参数755的值具有七个位的位长度。
在一些示例中,一组图像集配置参数包括自定义分辨率参数756。自定义分辨率参数与输入数据206的分辨率有关。自定义分辨率参数756可选择性地包括在图像集配置消息700中。这在图7中使用虚线描绘。例如,如果确定输入数据206的分辨率不是可由分辨率类型参数755指定的一组预定值中的一者,则可以包括自定义分辨率参数756。数据可以被存储在分辨率类型参数755中,以指示自定义分辨率参数756被包括在图像集配置消息700中。这种数据可包括分辨率类型参数755中的预定位。因此预定位包括指示在图像集配置消息700中存在自定义分辨率参数756的参数存在指示符。
一组图像集配置参数可包括相比上面参考图7中的描述更多、更少或不同的参数。
图像集配置消息700对应于一组图像中的多个图像。在该示例中,图像集配置消息700对应于一组图像中的所有图像。这样,单一一组图像集配置参数可适用于一组图像中的每一个图像。图像集配置数据也可以被称为“全局配置数据”。
图像集配置消息700被输出到解码器110,以使解码器110能够针对一组图像中的每个图像使用上采样数据214和残差数据216重构输入数据206。
针对一组图像输出图像集配置消息700的次数少于所述一组图像中的图像数。针对少于一组图像中的图像数的若干个图像输出图像集配置消息700减少了在给定的时间段内传输的信息量。在该示例中,针对一组图像输出图像集配置消息700的次数是一。可以仅针对一组图像中的第一图像输出图像集配置消息700。一组图像中的第一图像可以是所述一组图像中被输出、接收、处理和/或显示的第一图像。针对一组图像中的第一图像输出图像集配置消息700可以使接收者能够尽可能早地接收图像集配置数据,和/或可以使接收者能够将图像集配置数据应用于所述一组图像中尽可能多的图像。在一些示例中,图像集配置消息700与所述一组图像中的第一图像一起或一并输出。在一些示例中,针对一组图像中除第一图像以外的图像输出图像集配置消息700。在一些示例中,针对一组图像输出图像集配置消息700的次数大于一,但小于所述一组图像中的图像数。在一个示例中,针对包括75个图像的一组图像输出一次图像集配置消息700。
在一些示例中,针对一组图像输出图像集配置消息700的次数是基于优化度量。优化度量的一个示例是率失真度量。率失真优化针对视觉质量的损失量来优化传输的数据量。图像集配置消息700的输出越不频繁,传输的数据就越少。然而,太不频繁地输出图像集配置消息700可导致不期望的质量损失,这是由于没有给解码器110提供最新的配置数据。因此,优化输出图像集配置消息700的次数,以便减少发送的数据量,同时减少视觉质量的任何损失。
在一些示例中,针对一组图像输出图像集配置消息700的次数与所述一组图像中的图像数之比小于预定阈值。预定阈值可基于优化度量,诸如上述率失真度量。
参考图8,示意性地示出了配置消息800的示例。配置消息800可形成配置数据310的一部分。配置消息800可由编码器108生成。图8所示的某些项目与图5所示的项目相似。因此,相似的项目使用了对应的附图标记(增加了300)。
配置消息800是配置消息500的更具体的示例。配置消息800包括报头部810和有效载荷部820。报头部810包括消息类型参数812和有效载荷大小参数814。有效载荷部820包括一组配置参数。所述一组配置参数与残差数据216的处理有关。在一些示例中,配置消息800为整数个字节长。
配置消息800的消息类型是图像配置消息。图像配置消息可仅对应于一组图像中的给定图像。这样,可针对一组图像中的每个图像生成和/或输出不同的图像配置消息。有效载荷部820包括一组图像配置参数。
在该示例中,所述一组图像配置参数包括残差使用参数851。残差使用参数851的值指定是否要使用针对给定图像的残差数据216来重构针对给定图像的输入数据206。如果要重构输入数据206,则在图像配置消息800中包括另一组配置参数。如果不要重构输入数据206,则在图像配置消息800中不包括另一组配置参数。因此,选择性地包括另一组配置参数。这在图8中使用虚线描绘。
在该示例中,残差使用参数851的值指示在图像配置消息800中是否包括另一组配置参数。在该示例中,残差使用参数851的值因此可指示在图像配置消息800中是否包括另一组配置参数。这样,残差使用参数851可包括参数存在指示符。残差使用参数851可由解码器110用来检测是否要使用残差数据216来重构输入数据206以及在配置消息800中是否包括另一组配置参数。
在一些示例中,当在图像配置消息800中包括另一组配置参数时,配置消息800的有效载荷部820为5个字节长。当在配置消息800中不包括另一组配置参数时,配置消息800的有效载荷部820可以为1个字节长。
在该示例中,一组图像配置参数包括量化数据852。量化数据852包括在另一组配置参数中,量化数据的包括由残差使用参数851指示。量化数据852指示可由解码器110用来针对给定图像使用上采样数据214来重构输入数据206的数据的量化水平。
量化涉及通过一组相对少的值来近似一组相对多的值,例如通过对相对大的组中的值进行舍入、阈值化或截断。量化操作的目的是与量化操作的输入数据中的数据量相比减少量化后的输出数据中的数据量。给定数据的量化水平可指示给定数据被量化的力度如何。量化水平可指示经由量化过程获得的量化后的数据的粒度。换句话说,量化水平可指示由于这种量化而损失了多少信息。例如,量化水平可指示用于量化的一个或多个阈值或箱,其指示数据被量化的方式。
在一些示例中,量化数据852指示残差数据216的量化水平。因此,可由解码器216用来重构输入数据206的数据可以是相对高质量水平下的数据。量化水平可指导解码器110如何对已经量化的残差数据216执行逆量化。例如,在解码器110上,接收到的一组残差数据216可具有第一量化范围内的值,然后在逆量化之后将其扩展到更大范围的值。量化数据852可用于执行此操作。
在一些示例中,量化数据852指示校正数据的量化水平。对于给定图像,校正数据可用于校正在对相对低质量水平下的表示进行编码和/或解码时的错误,如上面参考图2所述。因此,可由解码器110用来重构输入数据206的数据可以是相对低质量水平下的数据。
在一些示例中,量化数据852指示第一量化水平和第二量化水平。第一量化水平是应用于残差数据216的量化水平。第二量化水平是应用于校正数据的量化水平。这样,可以使用由量化数据852指示的单独定义的量化水平对残差数据216和校正数据两者进行量化。量化数据852因此可包括在编码器处对校正数据和残差数据中的一者或多者进行量化的水平(例如在如本文所述的变换之后),然后将其发送到解码器,以允许对与校正数据和残差数据相关联的原始值进行逆量化和重构(由于量化过程期间的信息损失,重构的值可能不匹配在编码器处进行量化之前的原始值)。
量化数据852可包括整数个字节。在一些示例中,量化数据852包括两个字节。在一些示例中,量化数据852包括四个字节。
在该示例中,一组图像配置参数包括图片类型参数853。图片类型参数853包括在另一组配置参数中,图片类型参数的包括由残差使用参数851指示。图片类型参数853指定给定图像是对应于帧还是场。换句话说,图片类型参数853指示给定图像是逐行扫描的(在这种情况下,图片类型参数853指定帧)还是隔行扫描的(在这种情况下,图片类型参数853指定场)。在给定图像是隔行扫描的情况下,图片类型参数853还可指定场类型,例如顶场或底场。图片类型参数853可具有一个或两个位的位长度。
在该示例中,一组图像配置参数包括时间刷新参数854。时间刷新参数854包括在另一组配置参数中,时间刷新参数的包括由残差使用参数851指示。时间刷新参数854用于指示要何时刷新时间数据。例如,时间刷新参数854的值可指定是否要清理存储时间数据的缓冲器。例如,如本文所述,针对当前视频帧的残差数据(或变换的残差数据)可基于针对前一视频帧的残差数据(或变换的残差数据)来进行修改。后一数据可以被存储在缓冲器中,并用于修改前一数据。这可针对每个帧以迭代的方式重复。在一种情况下,在编码器处,可以比较一组当前数据和缓冲器的内容,并计算差异。在解码器上,时间处理可包括将缓冲器的内容添加到接收到的数据以重构残差数据或变换的残差数据。在当前的情况下,时间刷新参数854的值可向解码器指示要清除存储在缓冲器中的与前一帧有关的数据。这可有效地指示不应用时间处理(例如添加到接收到的数据中的值0将不会修改接收到的数据)。时间数据包括可在时间处理时使用的数据,例如基于多个图像的数据。时间刷新参数854的值的位长度可以为一个位。
一组图像配置参数可包括相比上面参考图8中的描述更多、更少或不同的参数。
针对一组图像中的多个图像输出图像配置消息800。在一些示例中,多个图像中的图像数等于所述一组图像中的图像数。换句话说,可针对一组图像中的每一个图像输出图像配置消息800。在其他示例中,多个图像中的图像数少于所述一组图像中的图像数。多个图像中的图像数可基于优化度量。优化度量可以是率失真度量。
针对给定的一组图像可输出图像集配置消息700和图像配置消息800两者。针对一组图像输出图像集配置消息700的次数少于针对一组图像输出图像配置消息800的次数。例如,针对一组图像可仅输出一次图像集配置消息700,且可针对一组图像中的每一个图像输出图像配置消息800。这样,图像配置消息800比图像集配置消息700的输出更频繁。
相对频繁地输出图像配置消息800比相对不频繁地输出图像配置消息800使用更多的数据。然而,相对频繁地输出图像配置消息800向解码器110提供了最新信息,这使解码器110能够以高准确度和/或可靠性执行图像重构。存储在图像配置消息800中的一组图像配置参数可例如在不同的图像之间变化。因此在向解码器110传输的数据量与解码器110可使用接收到的数据执行重构的准确性和/或可靠性之间存在折衷。对于图像集配置消息700和图像配置消息800,这种折衷的最佳结果是图像配置消息800的发送比图像集配置消息700更频繁。因此以相对低频率发送图像集配置参数且以相对高频率发送图像配置参数可减少在给定的时间段内发送的信息量,同时使解码器110能够以预定的准确性和/或可靠性水平执行重构。
参考图9,示意性地示出了配置消息900的示例。配置消息900可形成配置数据310的一部分。配置消息900可由编码器108生成。图9所示的某些项目与图5所示的项目相似。因此,相似的项目使用了对应的附图标记(增加了400)。
配置消息900是配置消息500的更具体的示例。配置消息900包括报头部910和有效载荷部920。报头部910包括消息类型参数912和有效载荷大小参数914。有效载荷部920包括一组配置参数。所述一组配置参数与残差数据216的处理有关。在一些示例中,配置消息900为整数个字节长。
配置消息900的消息类型是经编码数据消息。经编码数据消息可对应于一组图像中的给定图像。这样,可针对一组图像中的每个图像生成和/或输出不同的经编码数据消息。
有效载荷部920包括一组配置参数950。有效载荷部920还可包括基于针对给定图像的残差数据216的数据960。基于残差数据216的数据960可包括残差数据216本身。在一些示例中,基于残差数据216的数据960包括变换的残差数据。变换的残差数据包括作为对残差数据216执行变换操作的输出的数据。变换操作可以是利用残差数据216中的残差元素之间的相关性的方向分解操作。
在一些示例中,基于残差数据216的数据960包括经编码数据。经编码数据可以是经编码的残差数据或经编码的变换的残差数据。可采用游程编码(run-length encoding)操作和哈夫曼编码(Huffman encoding)操作中的一者或两者来导出经编码数据。如上所述,可在编码之前对残差数据或变换的残差数据进行量化。
在一些示例中,如上所述,基于残差数据216的数据960被存储在各自包括整数个字节的一个或多个可变长度元素中。
在该示例中,一组配置参数950指示是使用哈夫曼编码操作、游程编码操作还是这两者来导出经编码数据。在一些示例中,一组配置参数950指示是否针对给定图像输出经编码数据。在一些示例中,一组配置参数950与经编码数据的大小有关。例如,配置参数可与经游程编码数据的大小和/或经哈夫曼编码数据的大小有关。
针对一组图像中的多个图像输出经编码数据消息900。在一些示例中,多个图像中的图像数等于所述一组图像中的图像数。换句话说,可针对一组图像中的每一个图像输出经编码数据消息900。在其他示例中,多个图像中的图像数少于所述一组图像中的图像数。多个图像中的图像数可基于优化度量。优化度量可以是率失真度量。
在一些示例中,选择性地生成和/或输出经编码数据消息900。是否针对给定图像生成和/或输出经编码数据消息可取决于是否要使用针对给定图像的残差数据216来重构针对给定图像的输入数据206。是否要重构针对给定图像的输入数据206可由针对给定图像的对应图像配置消息800的残差使用参数851来指示。与不选择性地输出经编码数据消息900的情况相比,通过选择性地输出经编码数据消息900可减少传输的信息量。
由编码器108生成的配置消息可具有除上述的那些之外的其他消息类型。另一示例消息类型是编码器元数据消息。编码器元数据消息包括与一个或多个编码器特性有关的元数据。另一示例消息类型是解码器控制消息。解码器控制消息包括用于控制解码器的指令。解码器控制消息可包括与图像抖动有关的配置参数。另一示例消息类型是研究消息。研究消息包括用于研究目的的自定义有效载荷。
参考图10,示出了处理配置数据的方法1000的示例。方法1000可由包括编码器的设备(诸如上述第一设备102)来执行。
在项目1010处,针对一组图像中的每个图像,使用图像在相对高质量水平下的第一表示来导出图像在相对低质量水平下的表示。输出相对低质量水平下的表示以供解码器110处理。
在项目1020处,针对一组图像中的一个或多个选定图像输出残差数据。残差数据可用于使用图像在相对高质量水平下的第二表示来重构第一表示,所述第二表示是基于图像在相对低质量水平下的表示。基于第一表示和第二表示来导出残差数据。
在一些示例中,一个或多个选定图像包括一组图像中的所有图像。在一些示例中,一个或多个选定图像是基于图像内容选择的。例如,如果第一图像的第一表示包含相对大量的视觉细节,则可确定要使用和/或输出针对第一图像的残差数据,以使得能够重构第一图像的第一表示。相反,如果第二图像的第一表示包含相对很少的视觉细节,例如如果第二图像对应于“黑屏”,则可确定不使用和/或输出针对第二图像的残差数据。使用残差数据来重构第二图像的第一表示可能不会大幅度地改善第二图像的显示视觉质量,这是由于缺乏其中包含的视觉细节。与不选择性地使用和/或输出残差数据相比,选择性地使用和/或输出残差数据可减少在给定的时间段内传输和/或处理的信息量。
在项目1030处,输出配置数据以供解码器110处理。配置数据使解码器110能够检测是否要使用针对一组图像中的给定图像的残差数据来重构所述给定图像的第一表示。给定图像可包括在一个或多个选定图像中。可针对一组图像中的每个图像输出配置数据。配置数据可包括图像配置消息800。配置数据可例如包括残差使用参数851。在一些示例中,配置数据包括经编码数据消息900。
在一些示例中,针对一组图像输出配置数据的次数小于所述一组图像中的图像数。配置数据可对应于一组图像中的多个图像。例如,配置数据可包括图像集配置消息700。在一些示例中,针对一组图像输出配置数据的次数是基于优化度量。
参考图11,示出了用于处理图像的表示的方法1100的示例。方法1100可由上述解码器110执行。
在项目1110处,接收可用于导出图像在相对低质量水平下的表示的数据。在由解码器110接收之前,由编码器108使用图像在相对高质量水平下的第一表示来导出相对低质量水平下的表示。在一些示例中,图像是一组图像中的一者。一组图像可以是视频信号的一部分。在一些示例中,对接收到的数据进行处理以获得相对低质量水平下的表示。例如,接收到的数据可以被解码,以获得相对低质量水平下的表示。
在项目1120处,确定是否已接收到预定的配置数据。预定的配置数据对应于图像。
如果在项目1120处确定已接收到对应于图像的预定配置数据,则在项目1130处重构图像的第一表示。使用预定的配置数据重构第一表示。使用图像在相对高质量水平下的第二表示来重构第一表示。在一些示例中,对相对低质量水平下的表示进行处理以导出第二表示。例如,可通过对相对低质量水平下的表示进行上采样来导出第二表示。可通过将第二表示与残差数据组合来重构第一表示。
在项目1135处,输出第一表示。例如,可输出第一表示以供显示装置显示。
如果在项目1120处确定尚未接收到对应于图像的预定配置数据,则不重构第一表示。而是,在项目1140处对相对低质量水平下的表示进行处理,以导出第二表示。可通过对相对低质量水平下的表示进行上采样来导出第二表示。
在项目1145处,输出第二表示。例如,可输出第二表示以供显示装置显示。
在一些示例中,如果确定尚未接收到对应于图像的预定配置数据,则不导出第二表示。例如,可输出相对低质量水平下的表示而不是第二表示。在一些示例中,输出基于相对低质量水平下的表示的数据。基于相对低质量水平下的表示的数据不同于第一表示和第二表示。
在图像是一组图像中的一者的情况下,预定配置数据可对应于一组图像中的多个图像。预定配置数据可能不会与一组图像中的每一个图像一起被接收。在一个示例中,预定配置数据仅与一组图像中的第一图像一起被接收。预定配置数据可适用于一组图像中的每一个后续图像。这样,如果一组图像中的第一图像没有被解码器110接收,则针对所述一组图像的预定配置数据也可能没有被接收。预定配置数据可以是图像集配置数据。预定配置数据可包括图像集配置消息700。
在一组图像是流式视频的一部分的情况下,解码器可在一组图像中途进入视频流。在这种情况下,尽管由于没有接收到预定配置数据而没有重构第一表示,但仍然可输出相对高质量水平下的表示,即第二表示。与不输出相对高质量水平下的表示的情况相比,输出用于显示的第二表示减少了由于没有接收到预定配置数据而导致的视觉质量的潜在损失。输出第二表示可以被认为是“最小操作模式”的一部分,这与输出第一表示形成对照,后者可以被认为是“全操作模式”的一部分。在解码器110在一组图像中途进入视频流的情况下,“最小操作模式”可用于一组图像的剩余部分。当然后接收到一组后续图像中的第一图像时,也接收到针对所述一组后续图像的预定配置数据。这样,可根据“全操作模式”对一组后续图像进行处理。
参考图12,示出了设备1200的示例的示意性框图。
在示例中,设备1200包括编码器。在另一示例中,设备1200包括解码器。
设备1200的示例包括但不限于移动计算机、个人计算机系统、无线装置、基站、电话装置、桌上型计算机、膝上型计算机、笔记本计算机、上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、应用服务器、存储装置、诸如相机的消费型电子装置、摄像机、移动装置、视频游戏控制台、手持式视频游戏装置、或大体来说任何类型的计算或电子装置。
在该示例中,设备1200包括被配置为处理信息和/或指令的一个或多个处理器1201。一个或多个处理器1201可以包括中央处理单元(CPU)。一个或多个处理器1201与总线1202耦合。由一个或多个处理器1201执行的操作可通过硬件和/或软件来实施。一个或多个处理器1201可包括多个位于同一位置的处理器或多个位于不同位置的处理器。
在该示例中,设备1200包括被配置为为一个或多个处理器1201存储信息和/或指令的计算机可用易失性存储器1203。计算机可用易失性存储器1203与总线1202耦合。计算机可用易失性存储器1203可以包括随机存取存储器(RAM)。
在该示例中,设备1200包括被配置为为一个或多个处理器1201存储信息和/或指令的计算机可用非易失性存储器1204。计算机可用非易失性存储器1204与总线1202耦合。计算机可用非易失性存储器1204可以包括只读存储器(ROM)。
在该示例中,设备1200包括被配置为存储信息和/或指令的一个或多个数据存储单元1205。一个或多个数据存储单元1205与总线1202耦合。一个或多个数据存储单元1205可以例如包括磁盘或光盘以及磁盘驱动器或固态驱动器(SSD)。
在该示例中,设备1200包括被配置为将信息传送给一个或多个处理器1201和/或从一个或多个处理器1201传送信息的一个或多个输入/输出(I/O)装置1206。一个或多个I/O装置1206与总线1202耦合。一个或多个I/O装置1206可以包括至少一个网络接口。所述至少一个网络接口可以使得设备1200能够经由一个或多个数据通信网络进行通信。数据通信网络的示例包括但不限于互联网和局域网(LAN)。一个或多个I/O装置1206可以使得用户能够经由一个或多个输入装置(未示出)向设备1200提供输入。一个或多个输入装置可以包括例如遥控器、一个或多个物理按钮等。一个或多个I/O装置1206可以使得信息能够经由一个或多个输出装置(未示出)提供给用户。一个或多个输出装置可以例如包括显示屏。
描绘了设备1200的各种其他实体。例如,当存在时,操作系统1207、数据信号处理模块1208、一个或多个其他模块1209以及数据1210被示出为驻留在计算机可用易失性存储器1203、计算机可用非易失性存储器1204和一个或多个数据存储单元1205中的一者中或者它们的组合中。数据信号处理模块1208可以通过存储在计算机可用非易失性存储器1204内的存储器位置、一个或多个数据存储单元1205内的计算机可读存储介质和/或其他有形的计算机可读存储介质中的计算机程序代码来实现。有形的计算机可读存储介质的示例包括但不限于光学介质(例如,CD-ROM、DVD-ROM或蓝光)、闪存卡、软盘或硬盘或者能够存储计算机可读指令或作为专用集成电路(ASIC)的任何其他介质,所述计算机可读指令诸如至少一个ROM或RAM或可编程ROM(PROM)芯片中的固件或微代码。
设备1200因此可以包括数据信号处理模块1208,其可以由一个或多个处理器1201执行。数据信号处理模块1208可以被配置为包括用以实现本文描述的至少一些操作的指令。在操作期间,一个或多个处理器1201启动、运行、执行、解释或以其他方式执行信号处理模块1208中的指令。
尽管本文参考附图描述的示例的至少一些方面包括在处理系统或处理器中执行的计算机过程,但是本文描述的示例还扩展到计算机程序,例如载体上或载体中的适于将示例付诸实践的计算机程序。载体可以是能够承载程序的任何实体或装置。
应该理解,设备1200可以包括与图12所描绘的部件相比更多、更少和/或不同的部件。
设备1200可以位于单个位置或可以分布在多个位置。这样的位置可以是本地或远程的。
本文描述的技术可以以软件或硬件来实现,或者可以使用软件和硬件的组合来实现。所述技术可包括将设备配置为执行和/或支持本文描述的任何或全部技术。
本文描述的示例涉及与残差数据的处理有关的配置数据的使用的语法,所述残差数据可用于图像重构。语法提供处理框架,以使编码器能够获得和输出配置数据,并使解码器能够接收和处理配置数据。语法框架有利于生成和处理诸如上述的配置消息。解码器使用接收到的配置数据来重构图像(例如,作为视频流的一部分的图像)在高质量水平下的表示。本文描述的语法框架允许解码器以相对高效率、可靠性和准确性程度来执行这种重构。
与一些已知的系统相比,本文描述的语法框架使得能够降低传输数据的开销成本。当残差数据不被用于重构给定图像在高质量水平下的表示时,本文描述的语法框架对于给定图像可涉及至多3个字节的开销。当残差数据被用于重构高质量水平下的表示时,对于给定图像,可能涉及至多43个字节的开销成本。这与一些已知的系统形成对照,所述已知的系统可能涉及每个图像在108与188个字节之间的开销成本。这样,通过使用本文描述的语法框架,在给定的时间段内生成、存储、处理和/或传输的信息量显著减少。
应当理解,关于任一个实施方案所描述的任何特征都可以单独使用,或者与所描述的其他特征结合使用,并且还可以与任何其他实施方案的一个或多个特征结合使用,或者与任何其他实施方案的任何组合结合使用。此外,在不脱离所附权利要求限定的本发明的范围的情况下,还可以采用上面未描述的等效物和修改。

Claims (31)

1.一种方法,其包括:
针对一组图像中的给定图像,获得残差数据,所述残差数据能够由解码器用来使用所述给定图像在具有多个质量水平的分层层次结构中的第一质量水平下的第二表示来重构所述给定图像在所述第一质量水平下的第一表示,所述第二表示是基于所述给定图像在所述分层层次结构中的第二较低质量水平下的表示;
生成与所述残差数据的处理有关的配置数据,所述配置数据包括时间处理参数,所述时间处理参数指定与针对所述给定图像使用所述第二表示和所述残差数据来重构所述第一表示相关联的时间处理范围,其中执行时间处理包括使用基于所述一组图像中的多个图像的数据;并且
输出所述配置数据以供所述解码器进行处理,以使所述解码器能够针对所述给定图像使用所述第二表示和所述残差数据来重构所述第一表示。
2.根据权利要求1所述的方法,其中针对所述一组图像中的每个图像输出所述时间处理参数。
3.根据权利要求2所述的方法,其中所述时间处理参数是时间刷新参数。
4.根据权利要求3所述的方法,其中所述时间刷新参数指示何时要刷新时间数据,其中所述时间数据包括能够在时间处理时使用的数据。
5.根据权利要求4所述的方法,其中所述时间刷新参数指定是否要清理存储所述时间数据的缓冲器。
6.根据权利要求3至5中任一项所述的方法,其中所述时间刷新参数的值的位长度为一个位。
7.根据权利要求1所述的方法,其中针对所述一组图像输出所述时间处理参数的次数小于所述一组图像中的图像数。
8.根据权利要求7所述的方法,其中针对所述一组图像输出所述时间处理参数的所述次数为一次。
9.根据权利要求7或权利要求8所述的方法,其中所述时间处理参数指示是否已执行时间处理。
10.根据权利要求7至9中任一项所述的方法,其中所述时间处理参数的值具有一个位的位长度。
11.根据权利要求7至10中任一项所述的方法,其中基于多个图像的所述数据指示针对所述给定图像的所述残差数据与针对所述一组图像中的一个或多个其他图像的残差数据之间的时间相关性程度。
12.根据权利要求11所述的方法,其中所述数据包括基于针对所述给定图像的所述残差数据与针对所述一组图像中的所述一个或多个其他图像的所述残差数据之间的差异的时间相关性数据。
13.根据权利要求11或权利要求12所述的方法,
其中所述一组图像中的每个图像对应于视频的不同时间样本,并且
其中相对于对应于所述给定图像的时间样本,所述一个或多个其他图像对应于所述视频中的一个或多个更早的时间样本。
14.根据权利要求1至13中任一项所述的方法,其中将所述时间处理参数存储在所述配置数据的给定字节中的预定位中。
15.一种方法,其包括:
接收与残差数据的处理有关的配置数据,所述残差数据是针对一组图像中的给定图像基于所述图像在具有多个质量水平的分层层次结构中的第一质量水平下的第一表示和所述图像在所述第一质量水平下的第二表示获得的,所述第二表示是基于所述给定图像在所述分层层次结构中的第二较低质量水平下的表示,所述残差数据能够用于使用所述第二表示来重构所述第一表示;并且
对所述配置数据进行处理以针对所述给定图像使用所述第二表示和所述残差数据来重构所述第一表示,
其中所述配置数据包括时间处理参数,所述时间处理参数指定与重构所述第一表示相关联的时间处理范围,并且
其中执行时间处理包括使用基于所述一组图像中的多个图像的数据。
16.根据权利要求15所述的方法,其中针对所述一组图像中的每个图像接收所述时间处理参数。
17.根据权利要求16所述的方法,其中所述时间处理参数是时间刷新参数。
18.根据权利要求17所述的方法,其中所述时间刷新参数指示何时要刷新时间数据,其中所述时间数据包括能够在时间处理时使用的数据。
19.根据权利要求18所述的方法,其中所述时间刷新参数指定是否要清理存储所述时间数据的缓冲器。
20.根据权利要求17至19中任一项所述的方法,其中所述时间刷新参数的值的位长度为一个位。
21.根据权利要求15所述的方法,其中针对所述一组图像接收所述时间处理参数的次数小于所述一组图像中的图像数。
22.根据权利要求21所述的方法,其中针对所述一组图像接收所述时间处理参数的所述次数为一次。
23.根据权利要求21或权利要求22所述的方法,其中所述时间处理参数指示是否已执行时间处理。
24.根据权利要求21至23中任一项所述的方法,其中所述时间处理参数的值具有一个位的位长度。
25.根据权利要求21至24中任一项所述的方法,其中基于多个图像的所述数据指示针对所述给定图像的所述残差数据与针对所述一组图像中的一个或多个其他图像的残差数据之间的时间相关性程度。
26.根据权利要求25所述的方法,其中所述数据包括基于针对所述给定图像的所述残差数据与针对所述一组图像中的所述一个或多个其他图像的所述残差数据之间的差异的时间相关性数据。
27.根据权利要求25或权利要求26所述的方法,
其中所述一组图像中的每个图像对应于视频的不同时间样本,并且
其中相对于对应于所述给定图像的时间样本,所述一个或多个其他图像对应于所述视频中的一个或多个更早的时间样本。
28.根据权利要求15至27中任一项所述的方法,其中将所述时间处理参数存储在所述配置数据的给定字节中的预定位中。
29.一种设备,其被配置成执行权利要求1至28中任一项所述的方法。
30.一种包括指令的计算机程序,所述指令在被执行时使设备执行权利要求1至28中任一项所述的方法。
31.一种计算机可读介质,其包括权利要求30所述的计算机程序。
CN201980085861.5A 2018-10-31 2019-10-30 用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质 Pending CN113228664A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1817784.0 2018-10-31
GBGB1817784.0A GB201817784D0 (en) 2018-10-31 2018-10-31 Methods,apparatuses, computer programs and computer-readable media
PCT/GB2019/053070 WO2020089618A1 (en) 2018-10-31 2019-10-30 Methods, apparatuses, computer programs and computer-readable media for scalable image coding

Publications (1)

Publication Number Publication Date
CN113228664A true CN113228664A (zh) 2021-08-06

Family

ID=64655601

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980085848.XA Pending CN113228663A (zh) 2018-10-31 2019-10-30 用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质
CN201980085861.5A Pending CN113228664A (zh) 2018-10-31 2019-10-30 用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201980085848.XA Pending CN113228663A (zh) 2018-10-31 2019-10-30 用于可伸缩图像编码的方法、设备、计算机程序和计算机可读介质

Country Status (6)

Country Link
US (3) US11671610B2 (zh)
EP (2) EP3874753A1 (zh)
CN (2) CN113228663A (zh)
EA (1) EA202191199A1 (zh)
GB (3) GB201817784D0 (zh)
WO (2) WO2020089618A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3565259A1 (en) * 2016-12-28 2019-11-06 Panasonic Intellectual Property Corporation of America Three-dimensional model distribution method, three-dimensional model receiving method, three-dimensional model distribution device, and three-dimensional model receiving device
WO2023135410A1 (en) 2022-01-11 2023-07-20 V-Nova International Ltd Integrating a decoder for hierarchical video coding
GB202205928D0 (en) 2022-04-22 2022-06-08 V Nova Int Ltd Methods, bitstreams, apparatuses, computer programs and computer-readable media

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101461248A (zh) * 2006-06-09 2009-06-17 汤姆森许可贸易公司 自适应地确定用于视频图像编码的比特预算的方法和设备
US20100020866A1 (en) * 2006-10-25 2010-01-28 Detlev Marpe Quality scalable coding
US20120183065A1 (en) * 2009-05-05 2012-07-19 Thomas Rusert Scalable Video Coding Method, Encoder and Computer Program
US20140064373A1 (en) * 2012-08-30 2014-03-06 Canon Kabushiki Kaisha Method and device for processing prediction information for encoding or decoding at least part of an image
CN103875245A (zh) * 2011-07-21 2014-06-18 卢卡·罗萨托 分层信号解码和信号重构
US20140192896A1 (en) * 2013-01-07 2014-07-10 Qualcomm Incorporated Gradual decoding refresh with temporal scalability support in video coding
US20150078435A1 (en) * 2012-04-05 2015-03-19 Newsouth Innovations Pty Limited Method and apparatus for coding of spatial data
CN104584553A (zh) * 2012-09-28 2015-04-29 英特尔公司 层间残差预测
CN105472367A (zh) * 2015-11-23 2016-04-06 浙江大学 基于gop片划分的支持空域随机访问的自适应多视点视频编码方法
CN107431819A (zh) * 2014-12-31 2017-12-01 诺基亚技术有限公司 用于可伸缩视频编码和解码的层间预测
WO2018046940A1 (en) * 2016-09-08 2018-03-15 V-Nova Ltd Video compression using differences between a higher and a lower layer
US20180115778A1 (en) * 2013-04-15 2018-04-26 V-Nova International Limited Hybrid backward-compatible signal encoding and decoding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812760A (en) * 1996-06-25 1998-09-22 Lsi Logic Corporation Programmable byte wise MPEG systems layer parser
US7106322B2 (en) * 2000-01-11 2006-09-12 Sun Microsystems, Inc. Dynamically adjusting a sample-to-pixel filter to compensate for the effects of negative lobes
JP2008516556A (ja) * 2004-10-13 2008-05-15 トムソン ライセンシング コンプレクシティスケーラブル映像符号化復号化方法及び装置
WO2007089696A2 (en) * 2006-01-31 2007-08-09 Thomson Licensing Method and apparatus for constrained prediction for reduced resolution update mode and complexity scalabilty in video encoder and decoders
US9532001B2 (en) * 2008-07-10 2016-12-27 Avaya Inc. Systems, methods, and media for providing selectable video using scalable video coding
US20100088736A1 (en) * 2008-10-07 2010-04-08 Besen Peter D Enhanced video processing functionality in auxiliary system
US8977065B2 (en) * 2011-07-21 2015-03-10 Luca Rossato Inheritance in a tiered signal quality hierarchy
US10873772B2 (en) * 2011-07-21 2020-12-22 V-Nova International Limited Transmission of reconstruction data in a tiered signal quality hierarchy
US10237565B2 (en) * 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
GB2501518A (en) * 2012-04-27 2013-10-30 Canon Kk Encoding and Decoding an Image Comprising Blocks of Pixels Including Selecting the Prediction Mode of Prediction Units
US9313495B2 (en) * 2012-05-14 2016-04-12 Luca Rossato Encoding and decoding based on blending of sequences of samples along time
CA2873487A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
CA2807404C (en) * 2012-09-04 2017-04-04 Research In Motion Limited Methods and devices for inter-layer prediction in scalable video compression
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
CN105580369B (zh) * 2013-03-11 2019-04-26 杜比实验室特许公司 使用分层编码对多格式高动态范围视频进行编解码的方法、装置及系统
US9532067B2 (en) * 2013-04-05 2016-12-27 Sharp Kabushiki Kaisha Decoding of inter-layer reference picture set and reference picture list construction
CN107925762B (zh) * 2015-09-03 2020-11-27 联发科技股份有限公司 基于神经网络的视频编解码处理方法和装置
JP6848873B2 (ja) * 2015-10-13 2021-03-24 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
GB201721847D0 (en) * 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101461248A (zh) * 2006-06-09 2009-06-17 汤姆森许可贸易公司 自适应地确定用于视频图像编码的比特预算的方法和设备
US20100020866A1 (en) * 2006-10-25 2010-01-28 Detlev Marpe Quality scalable coding
US20120183065A1 (en) * 2009-05-05 2012-07-19 Thomas Rusert Scalable Video Coding Method, Encoder and Computer Program
CN103875245A (zh) * 2011-07-21 2014-06-18 卢卡·罗萨托 分层信号解码和信号重构
US20150078435A1 (en) * 2012-04-05 2015-03-19 Newsouth Innovations Pty Limited Method and apparatus for coding of spatial data
US20140064373A1 (en) * 2012-08-30 2014-03-06 Canon Kabushiki Kaisha Method and device for processing prediction information for encoding or decoding at least part of an image
CN104584553A (zh) * 2012-09-28 2015-04-29 英特尔公司 层间残差预测
US20140192896A1 (en) * 2013-01-07 2014-07-10 Qualcomm Incorporated Gradual decoding refresh with temporal scalability support in video coding
US20180115778A1 (en) * 2013-04-15 2018-04-26 V-Nova International Limited Hybrid backward-compatible signal encoding and decoding
CN107431819A (zh) * 2014-12-31 2017-12-01 诺基亚技术有限公司 用于可伸缩视频编码和解码的层间预测
CN105472367A (zh) * 2015-11-23 2016-04-06 浙江大学 基于gop片划分的支持空域随机访问的自适应多视点视频编码方法
WO2018046940A1 (en) * 2016-09-08 2018-03-15 V-Nova Ltd Video compression using differences between a higher and a lower layer

Also Published As

Publication number Publication date
EA202191199A1 (ru) 2021-08-12
US20220014766A1 (en) 2022-01-13
WO2020089618A1 (en) 2020-05-07
GB201817784D0 (en) 2018-12-19
EP3874754A1 (en) 2021-09-08
US20210377551A1 (en) 2021-12-02
GB202107559D0 (en) 2021-07-14
CN113228663A (zh) 2021-08-06
US20240022744A1 (en) 2024-01-18
GB2594371B (en) 2023-04-19
GB2596646A (en) 2022-01-05
GB202107558D0 (en) 2021-07-14
US11825104B2 (en) 2023-11-21
WO2020089617A1 (en) 2020-05-07
US11671610B2 (en) 2023-06-06
EP3874753A1 (en) 2021-09-08
GB2594371A (en) 2021-10-27
GB2596646B (en) 2023-08-02

Similar Documents

Publication Publication Date Title
US20210314580A1 (en) Data processing apparatuses, methods, computer programs and computer-readable media
US20240022744A1 (en) Methods, apparatuses, computer programs and computer-readable media for scalable image coding
US10504246B2 (en) Distinct encoding and decoding of stable information and transient/stochastic information
US20240048738A1 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
US11831886B2 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
US11889093B2 (en) Methods, apparatuses, computer programs and computer-readable media for scalable video coding and transmission
WO2023203353A1 (en) Methods, bitstreams, apparatuses, computer programs and computer-readable media
JP2023550940A (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