掌桥专利:专业的专利平台
掌桥专利
首页

用于图像编码的方法、电子设备、存储介质和记录介质

文献发布时间:2024-04-18 19:59:31


用于图像编码的方法、电子设备、存储介质和记录介质

本公开总体上涉及计算机领域,并且更具体地,涉及用于图像编码的方法、电子设备、存储介质和记录介质。

随着短视频应用的普及,每天有很多用户在短视频平台上下载短视频并将其分享到其他社交平台,为了保护短视频创作者的版权和短视频公司权益,需要在用户下载的短视频码流上贴上水印来标识创作者的信息和公司版权信息相关的水印。然而,常规的用于水印插入的视频转码通常计算复杂度较高,并且转码还有可能造成视频图像质量的下降。

发明内容

本公开的实施例提出了一种用于图像编码的方案。

根据本公开的第一方面,提出了一种用于图像编码的方法。该方法包括:获取针对第一图像中的第一编码单元的第一编码信息,第一编码信息指示第一编码单元在第一图像的第一码流中的编码方式;基于从第一图像得到的第二图像中的目标区域与第二图像中的第二编码单元的相对位置关系,确定第二编码单元关于第一编码信息的复用模式,第二编码单元与第一编码单元相对应,目标区域指示第二图像中与第一图像不同的区域;基于复用模式,确定针对第二编码单元的第二编码信息;以及基于第二编码信息,生成针对第二图像的第二码流。

根据本公开的实施例的方法,通过在对局部被编辑的图像进行转码时,依据编码单元与被编辑区域之间的相对位置关系来确定编码单元关于原编码信息的复用模式,从而基于对原编码信息的复用来对被编辑的图像进行编码。通过这种方式,与已知的传统方法相比,可以 有效地降低转码的计算复杂度,并且可以避免编码性能和质量的下降。

根据本公开的第二方面,提出了一种电子设备。该电子设备包括:处理器;以及存储器,与处理器耦合,并且具有存储在存储器上的指令,指令在被处理器执行时使电子设备执行根据本公开的第一方面的方法。

根据本公开的第三方面,提出了一种存储指令的非暂态计算机可读存储介质,指令使处理器执行根据本公开的第一方面的方法。

根据本公开的第四方面,提出了一种存储视频的码流的非暂态计算机可读记录介质,视频的码流通过根据本公开的第一方面的方法而被生成,其中该方法由视频处理设备执行。

提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。

通过以下参考附图的详细描述,本公开的示例实施例的上述和其他的目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。

图1示出了根据本公开的一些实施例的示例视频编码系统的框图;

图2示出了图示根据本公开的一些实施例的第一示例视频编码器的框图;

图3示出了图示根据本公开的一些实施例的示例视频解码器的框图;

图4A和图4B示出了在视频中加入透明度掩码的对比示意图,其中图4A示出了只插入水印的图像,并且图4B示出了插入水印并添加透明度掩码的图像;

图5示出了传统的插入水印的过程的示意图;

图6示出了传统的插入标志的分区示意图;

图7示出了传统的插入标志的转码示意图;

图8示出了传统的离散余弦变换(DCT)域的水印插入快速转码的示意图;

图9示出了根据本公开的一些实施例的插入水印的示意图;

图10示出了根据本公开的一些实施例的水印插入快速转码的流程图;

图11示出了根据本公开的一些实施例的用于图像编码的方法的流程图;以及

图12示出了可以在其中实现本公开的各种实施例的计算设备的框图。

在所有附图中,相同或相似的附图标记通常指代相同或相似的元件。

现在将参考一些实施例来描述本公开的原理。应当理解,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容可以以各种方式实施。

在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科技术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。

本公开中提及的“一个实施例”、“实施例”、“示例实施例”等表示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。

应当理解,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素 可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。

本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时,表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。

示例环境

图1是图示可以利用本公开的技术的示例视频编码系统100的框图。如图所示,视频编码系统100可以包括源设备110和目的设备120。源设备110也可以称为视频编码设备,并且目的设备120也可以称为视频解码设备。在操作中,源设备110可以被配置为生成经编码的视频数据,并且目的设备120可以被配置为对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。

视频源112可以包括诸如视频捕获设备之类的源。视频捕获设备的示例包括但不限于从视频内容提供商接收视频数据的接口、用于生成视频数据的计算机图形系统和/或其组合。

视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成码流。码流可以包括形成视频数据的编码表示的位序列。码流可以包括编码图片和相关联的数据。编码图片是图片的编码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器和/或发送器。经编码的视频数据可以通过网络130A经由I/O接口116直接传输至目的设备120。经编码的视频数据也可以存储在存储介质/服务器130B上,以供目的设备120访问。

目的设备120可以包括I/O接口126、视频解码器124和显示设 备122。I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130B获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口。

视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编码(HEVC)标准、多功能视频编码(VVC)标准和其他现有和/或将来的标准。

图2是示出根据本公开的一些实施例的视频编码器200的示例的方框图,视频编码器200可以是图1所示的系统100中的视频编码器114的示例。

视频编码器200可以被配置为实现本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。

在一些实施例中,视频编码器200可以包括分割单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重构单元212、缓冲器213和熵编码单元214,该预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。

在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所位于的图片。

此外,尽管一些组件(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些组件在图2的示例中被分离地示出。

分割单元201可以将图片分割成一个或多个视频块。视频编码器 200和视频解码器300可以支持各种视频块大小。

模式选择单元203可以例如基于错误结果选择编码模式(帧内编码或帧间编码)中的一种编码模式,并且将所产生的帧内编码块或帧间编码块提供给残差生成单元207以生成残差块数据,并且提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动向量的分辨率(例如,亚像素或整数像素精度)。

为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的、除了与当前视频块相关联的图片之外的图片的解码样本,来确定针对当前视频块的预测视频块。

运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。如本文中使用的,“I条带”可以指由宏块组成的图片的一部分,所有宏块均基于同一图像内的宏块。此外,如本文中使用的,在一些方面中,“P条带”和“B条带”可以指由独立于同一图像中的宏块的宏块组成的图片的部分。

在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片以寻找针对当前视频块的参考视频块。运动估计单元204然后可以生成指示包含参考视频块的列表0或列表1中的参考图片的参考索引、以及指示在当前视频块与参考视频块之间的空间位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前视频块的预测视频块。

备选地,在其他示例中,运动估计单元204可以对当前视频块执 行双向预测。运动估计单元204可以搜索列表0中的参考图片以寻找针对当前视频块的参考视频块,并且还可以搜索列表1中的参考图片以寻找针对当前视频块的另一参考视频块。运动估计单元204然后可以生成指示列表0和列表1中的参考图片的参考索引,列表0和列表1包含参考视频块和指示在参考视频块与当前视频块之间的空间位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量以作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成针对当前视频块的预测视频块。

在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元204可以参考另一视频块的运动信息来发信号通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。

在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。

在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动向量差(MVD)。运动向量差指示在当前视频块的运动向量与所指示的视频块的运动向量之间的差。视频解码器300可以使用所指示的视频块的运动向量以及运动向量差来确定当前视频块的运动向量。

如上所述,视频编码器200可以预测性地发出运动向量的信号。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动向量预测(AMVP)和合并模式信令。

帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的解码样本生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块和各种语法元素。

残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样本的不同样本部分的残差视频块。

在其他示例中,例如在跳过模式下,当前视频块可以不存在当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。

变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来为当前视频块生成一个或多个变换系数视频块。

在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。

反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以从变换系数视频块重构残差视频块。重构单元212可以将经重构的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前视频块相关联的重构视频块,以用于存储在缓冲器213中。

在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪像。

熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并且输出包括该熵编码数据的码流。

图3是示出根据本公开的一些实施例的视频解码器300的示例的方框图,视频解码器300可以是图1所示系统100中的视频解码器124的示例。

视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。

在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与所描述的关于视频编码器200(图2)的编码过程相对的解码过程。

熵解码单元301可以检索经编码的码流。经编码的码流可以包括熵编码的视频数据(例如,经编码的视频数据块)。熵解码单元301可以对经熵编码的视频数据进行解码,并且运动补偿单元302可以从经熵解码的视频数据确定运动信息,运动信息包括运动向量、运动向量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和合并模式来确定该信息。AMVP被使用,包括基于相邻PB的数据和参考图片得出数个最可能的候选。运动信息通常包括水平和竖直运动向量位移值、一个或两个参考图片索引,并且在B条带中的预测区域的情况下,还包括哪个参考图片列表与每个索引相关联的标识。如本文所使用的,在一些方面中,“合并模式”可以指从空间或时间上相邻的块中导出运动信息。

运动补偿单元302可以产生运动补偿块,可能地基于内插滤波器来执行内插。用于以亚像素精度使用的内插滤波器的标识符可以被包括在语法元素中。

运动补偿单元302可以使用由视频编码器20在视频块编码期间使用的内插滤波器来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息确定由视频编码器200使用的内插滤波器,并且运动补偿单元302可以使用内插滤波器来产生预测块。

运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的帧和/或条带的块的大小、描述经编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、针对每个帧间编码块的一个或多个参考帧(和参考帧列表)以及对编码视频序列进行解码的其他信息。如本文所使用的,在一些方面,“条 带”可以指在熵编码、信号预测和残差信号重构方面可以独立于同一图片的其他条带进行解码的数据结构。条带可以是整幅图片,也可以是图片的一个区域。

帧内预测单元303可以使用例如在码流中接收的帧内预测模式,以从空间相邻的块形成预测块。反量化单元303反量化(即去量化)在码流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元303应用反变换。

重构单元306可以例如通过将残差块与运动补偿单元202或帧内预测单元303生成的相应预测块相加来获得解码块。如果需要的话,还可以应用去块滤波器以对经解码的块进行滤波,以便去除块效应伪像。经解码的视频块随后被存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且缓冲器307还产生经解码的视频以在显示设备上呈现。

下文将详细描述本公开的一些示例性实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考多功能视频编码或其他特定视频编解码器描述了某些实施例,但是所公开的技术也适用于其他视频编码技术。此外,尽管一些实施例详细描述了视频编码步骤,但是应当理解,解除编码的相应步骤解码将由解码器实现。此外,术语“视频处理”包括视频编码或压缩、视频解码或解压缩以及视频代码转换,在视频处理中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩比特率表示。

I.概述

随着短视频应用的普及,每天有很多用户在短视频平台上下载短视频并将其分享到其他社交平台,为了保护短视频创作者的版权和短视频公司权益,需要在用户下载的短视频码流上贴上水印来标识创作者的信息和公司版权信息相关的水印。另外,为了凸显水印,在插入水印之前对视频做滤波操作,视觉上加上一层非均匀变化的透明度掩 码(gray mask),比如在水印区域背景变暗,这样水印本身更加明显,参见图4B中,画面从中间到上下边缘,亮度渐渐变暗。

传统的水印插入转码方案是先解码原始码流得到视频图像(YUV),然后在解码得到的视频图像上插入水印,最后重新编码视频图像得到带水印的码流,过程参见图5。该方案需要重新编码添加水印后的视频图像,一方面由于需要重新编码所以计算复杂度较高;另一方面由于只有解码重构的视频图像没有原始视频图像,在重新编码过程中没有很好的质量参考,所以有可能在重新编码过程中将原来码流中编码产生的噪声也当成要编码的信息,造成转码中编码效率下降(比如码率升高),为解决水印插入转码中的问题,已经有了一系列的研究和探索。

在一种常规的转码方案中,将对原始压缩视频的改变最小化。该方案主要包含四个步骤,见图6。

第一步,对标志(logo)部分先解码再用H.264编码。

第二步,标志影响的部分1指的是直接受到标志区域内容影响的区域,鉴于标志的引入改变了标志部分的内容,标志影响的部分1如果直接复用原始码流的信息会导致画面内容发生变化,解决方案是帧内条带(intra slice)采用无损编码,帧间条带(inter slice)则重新编码,以确保画面内容不受标志部分的影响。

第三步,标志影响的部分2指的是受到编码依赖影响的区域。由于标志影响的部分1的运动矢量(MV)相比原始码流里的MV发生了变化,因此标志影响的部分2的MV需要重新编码,使其和原始码流里的MV相同,确保不影响标志未影响的部分。

第四步,标志未影响的部分则直接拷贝原始码流。

该方案的缺点在原文中也有提到,如果码流的熵编码方式是上下文自适应二进制算术编码(CABAC),第四步中复制码流的操作是不可行的。另外,对于透明度掩码处理后的视频,因为需要转码的视频图像已经整个改变而不是只是一个标志区域改变,所以该方法不可行。

在一种常规的转码方案中,对输入的原始码流进行部分解码到反量化部分进而得到DCT域(DCT-domain)的数据,在该数据上叠加标志DCT变换后的数据,然后进行后续的编码工作。整个方案因为是在DCT域进行转码,有两个方面会产生误差传播(error propagation)影响,一个是DCT域的帧间预测MC操作,DCT域的运动补偿(MC)和像素域的MC操作不会完全一样,会有误差,而整个预测误差会由于帧间预测进行传播;另一个是编码中的环内滤波,如去块效应滤波(deblocking)等,DCT域和像素域滤波操作也不完全一样,所以在DCT域滤波会产生误差并传播。该方法对质量要求比较高的场合不太适合。

II.常规方案存在的问题

前面所提到的智能转码方案可以在某些情况下有效降低转码的计算复杂度,但是仍然存在若干问题:

1.非水印区域拷贝码流的方式,在CABAC熵编码方式下会不可避免的引入误差并扩散。

2.非水印区域拷贝码流的方式对透明度掩码处理后的视频不适用。

3.DCT域转码会产生误差并扩散,导致编码性能和主观质量下降。

III.本公开的实施例

下面具体描述的本公开的实施例应被认为是示例以解释一般概念。这些实施例不应以狭义的方式解释。此外,这些实施例可以以任何方式组合。

本公开的实施例提出一种快速转码方法,用于转码过程中对输入的图像需要做局部或者全局的调整(比如:局部加入水印,或者加入灰度信息)的情况。

在一些实施例中,提出了一种基于位置信息的编码信息复用模式决策算法。编码信息复用模式包括以下中的至少一种:

1)模式#1:全复用模式(一个块的所有编码信息都复用);

2)模式#2:部分复用模式(一个块的部分编码信息复用,部分信息可以灵活变化);

3)模式#3:完全不复用模式(需要重新进行编码信息决策)。

1.对每个编码单元(比如每个宏块,每个编码单元(coding unit)/编码块(coding block)/预测单元(prediction unit)/预测块(prediction block)/转换单元(transform unit)/转换块(transform block)),依据其所在位置,决定其编码信息复用模式。

a.更进一步,同时利用其运动信息来综合决定其编码信息复用模式。

2.对于模式#2,复用的信息可包括:预测模式(如:帧内预测,或帧间预测),编码模式(比如跳过(skip)/合并(merge)/高级运动矢量预测(AMVP)/帧内(intra)/块内复制(IBC)等)块划分,运动信息(如:参考帧、运动矢量等),量化参数

a.更进一步,不可复用的信息可包括:残差信息

3.对于模式#2,复用的信息可包括:预测模式(如:帧内预测,或帧间预测),部分编码模式(比如intra/IBC等),块划分,量化参数

a.更进一步,不可复用的信息可包括:运动信息,skip模式,残差信息

i.比如:如果是skip模式,需要重新决策是否转变为direct模式

ii.比如:如果是skip模式,需要重新决策是否转变为merge模式

iii.比如:如果是skip模式,需要重新决策是否转变为AMVP模式

1.更进一步,运动信息(比如AMVP候选项索引(AMVP candidate index),运动矢量差值(MVD))等需要 重新决策

iv.比如:如果残差块的所有系数均为零系数(如:CBF=0),需要重新决策残差系数,也包括编码块标志(CBF)的设置。

4.对于模式#2,复用的信息可包括:预测模式(如:帧内预测,或帧间预测),部分编码模式(比如intra/IBC等),运动矢量信息,块划分,量化参数

a.更进一步,不可复用的信息可包括MVD。

i.比如:如果当前编码单元是skip/direct模式,则将其转换为AMVP模式,MVD更改为其运动矢量信息减去运动矢量预测值(MVP)。

5.如果当前编码单元的运动信息指向了局部修改的区域(比如添加水印的区域),那么模式#2所对应的上述方法将生效。

i.比如:如果当前编码单元里任何一个像素点(例如:四个角的位置)的预测位置落入局部修改区域,那么上述方法将生效。

ii.比如:如果当前编码单元里M个像素点(例如:四个角的位置)的预测位置落入局部修改区域,N个像素点的预测位置在局部修改区域之外,那么上述方法将生效。

6.如果当前编码单元的与局部修改的区域(比如添加水印的区域)相邻且是帧内预测模式,那么模式#2所对应的上述方法将生效。

7.对于模式#3,所有编码信息都需要重新决策。

a.更进一步,如果当前编码单元处于局部修改区域,则上述完全不复用的方法生效

b.更进一步,如果当前编码单元里任何一个像素点(例如:四个角的位置)的预测位置落入局部修改区域,那么上述方法将生效。

c.更进一步,如果当前编码单元里M个像素点(例如:四个角的位置)的预测位置落入局部修改区域,N个像素点的 预测位置在局部修改区域之外,那么上述方法将生效。

IV.实施案例

鉴于加入水印以后,水印区域的图像内容发生变化,其他区域的视频内容和原始视频保持一致,据此,本公开的实施例提出了基于解码信息复用的快速转码方案。该方案主要分为三部分:(1)对输入的原始264码流进行解码,得到重建视频图像和编码信息;(2)对水印区域重新编码;(3)水印外的区域直接复用解码信息中的宏块(MB)划分,MB模式,帧内预测模式,参考帧,MV,量化参数(QP),CBF等,参考图10。

本公开的实施例提出两种快速转码方案,一种用于只插入水印的转码,一种用于插入水印和同时加掩码的转码。

方法一:针对只有水印插入的转码方案

1.解码H.264编码的码流,并在解码的过程提取编码信息,包括:

a.每一帧的帧类型,I/B/P,以及是不是瞬时解码刷新(IDR)帧。

b.每一帧的QP;

c.每个inter帧的direct_spatial_mv_pred;

d.每个inter帧的加权预测模式(weighted prediction mode)和相关系数。

e.每个MB的预测类型(帧内预测intra/帧间预测inter);

f.每个MB的划分方式

g.每个MB的QP;

h.每个MB的CBF;

i.每个帧内预测(intra)类型MB以及其sub_MB的intra模式;

j.每个帧间预测(inter)类型MB以及其sub_MB的模式(skip/direct/inter),参考帧和运动信息(MV)。

解码完成得到视频图像YUV,在视频图像的每一帧上将水印 根据指定的位置叠加到图像上得到更改后的图像YUV_watermark,并记录水印在当前图像中的位置信息。

2.对YUV_watermark进行转码编码,复用步骤1中提取的数据,跳过一些高复杂度的运算过程。在编码每一帧的时候,按照以下步骤进行:

a.跳过帧类型决策过程,复用解码过程中提取的对应帧的帧类型。

b.跳过帧级别的码率控制,复用解码过程中提取的对应帧的QP。

c.对于inter帧,跳过direct_spatial_mv_pred的决策,复用解码过程中提取的对应帧的direct_spatial_mv_pred。

d.对于inter帧,复用解码过程中提取的对应帧的加权预测模式和相关系数,并据此生成对应的参考帧。

e.接下来编码MB,对每个MB按照以下步骤进行:

i.若MB为水印区域的MB,则交由编码器正常编码。

ii.若MB为非水印区域的MB,处理步骤为:

1.跳过MB的类型决策,复用解码过程中提取的对应MB的类型(Intra/Inter)。

2.跳过MB、级别的码率控制,复用解码过程中提取的对应MB的QP。

3.跳过MB的四叉树划分决策,复用解码过程中提取的对应MB的划分方式和类型(Intra/Inter)。

4.跳过intra MB及其sub_MB的intra模式决策,复用解码过程中提取的对应MB的sub_MB的intra模式。

5.跳过inter MB的模式决策,复用解码过程中提取的对应MB的模式。

6.跳过inter MB的参考帧选择决策,复用解码过程中提取的对应MB的参考帧。

7.跳过inter MB及其sub_MB的MV搜索过程,复用 解码过程中提取的对应MB及其sub_MB的MV。

8.若该MB为inter块且CBF为0,则需要判断该MB的MV是否指向了水印区域,若指向了水印区域,则编码该MB的残差;否则跳过该MB的CBF的计算,复用解码过程中提取的对应MB的CBF。

iii.若MB为水印邻近区域的MB,则需要按照以下步骤处理:

1.跳过MB的类型决策,复用解码过程中提取的对应MB的类型(Intra/Inter)。

2.跳过MB级别的码率控制,复用解码过程中提取的对应MB的QP。

3.跳过MB的四叉树划分决策,复用解码过程中提取的对应MB的划分方式和类型(Intra/Inter)。

4.跳过intra MB及其sub_MB的intra模式决策,复用解码过程中提取的对应MB的sub_MB的intra模式。注意水印区域的像素值和原始码流解码得到的YUV不同,若水印邻近区域的MB有可能会利用水印区域的像素进行帧内预测,若此时复用CBF有可能导致马赛克现象,因此CBF不复用。

5.水印区域重新编码会导致水印邻近部分的MVP和原始码流中的MVP不同,如果该区域的编码为skip模式或者direct模式,复用该模式会导致花屏,并且MVP的不一致性会扩散下去。对此,在本公开的一些实施例中,skip和direct模式统一按照inter模式进行处理,且CBF不复用。

6.跳过inter MB的参考帧选择决策,复用解码过程中提取的对应MB的参考帧。

7.跳过inter MB及其sub_MB的MV搜索过程,复用解码过程中提取的对应MB及其sub_MB的MV。

3.为了提高编码效率,如果MB之前编码采用帧间预测并且参考了水印区域,可以通过小区域运动估计并且和帧内预测进行比较,选取最优预测类型进行重新编码。如果MB之前使用了帧内预测并且参考了水印区域,可以重新选取帧内预测模式并进行编码。最优模式选取方法是率失真代价最小化。熵编码,生成带水印的H.264码流。熵编码的方式可以自行选择基于上下文的可变长度编码(CAVLC)/CABAC。

方法二:针对透明度掩码+水印插入的转码方案

1.解码预编码的H.264视频码流,并在解码的过程提取解码信息,包括:

a.每一帧的帧类型,I/B/P,以及是不是瞬时解码刷新(IDR)帧。

b.每一帧的QP;

c.每个inter帧的direct_spatial_mv_pred;

d.每个inter帧的加权预测模式和相关系数。

e.每个MB的预测类型(intra/inter);

f.每个MB的划分方式

g.每个MB的QP;

h.每个MB的CBF;

i.每个intra类型MB以及其sub_MB的intra模式;

j.每个inter类型MB以及其sub_MB的模式(skip/direct/inter),参考帧和MV。

解码完成得到YUV,在YUV的每一帧上将水印叠加到YUV上得到YUV_watermark,并记录水印的在YUV上的位置信息。

2.对YUV_watermark进行H.264转码编码,复用步骤1中提取的编码信息,跳过一些运算过程。在编码每一帧的时候,按照以下步骤进行:

a.跳过帧类型决策过程,复用解码过程中提取的对应帧的帧类型。

b.跳过帧级别的码率控制,复用解码过程中提取的对应帧的QP。

c.对于inter帧,跳过direct_spatial_mv_pred的决策,复用解码过程中提取的对应帧的direct_spatial_mv_pred。

d.对于inter帧,复用解码过程中提取的对应帧的加权预测模式和相关系数,并据此生成对应的参考帧。

e.接下来编码MB,对每个MB按照以下步骤进行:

i.若MB为水印区域的MB,则交由编码器正常编码。

ii.若MB为非水印区域的MB,处理步骤为:

1.跳过MB的类型决策,复用解码过程中提取的对应MB的类型(Intra/Inter)。

2.跳过MB级别的码率控制,复用解码过程中提取的对应MB的QP。

3.跳过MB的四叉树划分决策,复用解码过程中提取的对应MB的划分方式和类型(Intra/Inter)。

4.跳过intra MB及其sub_MB的intra模式决策,复用解码过程中提取的对应MB的sub_MB的intra模式。

5.跳过inter MB的模式决策,复用解码过程中提取的对应MB的模式。

6.跳过inter MB的参考帧选择决策,复用解码过程中提取的对应MB的参考帧。

7.跳过inter MB及其sub_MB的MV搜索过程,复用解码过程中提取的对应MB及其sub_MB的MV。

另外因为透明度掩码是事先知道的,可以通过编码中的MV检测当前块的透明度掩码和参考块的透明度掩码是否有比较大的变化,比如计算当前块和参考块绝对差的总和(SAD)方法来衡量变化量。如果变化大,可以对已有MV进行进一步优化,比如以MV起点的邻近区域进行运动矢量搜索,以提高预测效率。

8.由于加入非均匀的透明度掩码调整画面的亮度情况,此时若复用CBF会导致画面亮度呈现出斑驳的情况,主观质量变差。因此为了防止该情况的发生,CBF不复用。

iii.若MB为水印邻近区域的MB,则需要按照以下步骤处理:

1.跳过MB的类型决策,复用解码过程中提取的对应MB的类型(Intra/Inter)。

2.跳过MB级别的码率控制,复用解码过程中提取的对应MB的QP。

3.跳过MB的四叉树划分决策,复用解码过程中提取的对应MB的划分方式和类型(Intra/Inter)。

4.跳过intra MB及其sub_MB的intra模式决策,复用解码过程中提取的对应MB的sub_MB的intra模式。CBF不复用。

5.skip和direct模式统一按照inter模式进行处理,且CBF不复用。

6.跳过inter MB的参考帧选择决策,复用解码过程中提取的对应MB的参考帧。

7.跳过inter MB及其sub_MB的MV搜索过程,复用解码过程中提取的对应MB及其sub_MB的MV。

iv.另外,针对转码质量要求更高的场景,可以做以下优化:

1.在复用intra模式时,若该模式为角度模式时,可以在该模式左右做小范围的微调(refinement)。

2.计算复用该MV的成本(cost),如果该成本大于指定的阈值,则在该MV的周围进行小范围的搜索以优化MV。

3.若解码过程中提取的对应MB及其sub_MB的MV指向了水印区域,则计算该块编码成intra模式的成本, 选择成本较小的方式(inter/intra)。

3.熵编码,生成带水印的H.264码流。熵编码的方式可以自行选择CAVLC/CABAC。

V.拓展

1.本公开的实施例适用于插入多个水印,或者加马赛克(遮挡一个或者多个区域)的场景。

2.本公开的实施例适用于同分辨率下的画质增强的转码场景。

3.本公开的实施例可用于HEVC,VVC,VP-8,以及AV1等其他视频编码标准。

4.本公开的实施例也可用于变码率转码,取消QP和CBF的复用,根据目标码率调整QP。

在下文中,结合图11进一步描述根据本公开的各实施例的方法。图11示出了根据本公开的一些实施例的用于图像编码的方法1100的流程图。方法1100包括:获取1102针对第一图像中的第一编码单元的第一编码信息,第一编码信息指示第一编码单元在第一图像的第一码流中的编码方式。方法1100还包括:基于从第一图像得到的第二图像中的目标区域与第二图像中的第二编码单元的相对位置关系,确定1104第二编码单元关于第一编码信息的复用模式,第二编码单元与第一编码单元相对应,目标区域指示第二图像中与第一图像不同的区域。此外,方法1100还包括:基于复用模式,确定1106针对第二编码单元的第二编码信息;以及基于第二编码信息,生成1108针对第二图像的第二码流。

根据本公开的实施例的方法,通过在对局部被编辑的图像进行转码时,依据编码单元与被编辑区域之间的相对位置关系来确定编码单元关于原编码信息的复用模式,从而基于对原编码信息的复用来对被编辑的图像进行编码。通过这种方式,与已知的传统方法相比,可以有效地降低转码的计算复杂度,并且可以避免编码性能和质量的下降。

在一些实施例中,目标区域可以指示第二图像相对于第一图像被 添加水印区域。在一些实施例中,目标区域可以指示第二图像相对于第一图像被添加马赛克区域。在一些实施例中,目标区域可以指示第二图像相对于第一图像被添加透明度掩码区域。在一些实施例中,目标区域可以指示第二图像相对于第一图像被添加水印区域、马赛克区域和/或透明度掩码区域。应当理解的是,第二图像还可以相对于第一图像以其它任何合适的方式被编辑,本公开的范围在此方面不受限制。

在一些实施例中,确定复用模式可以包括:如果第二编码单元与目标区域相邻,确定第二编码信息部分地复用第一编码信息。示例性地,电子设备可以根据第二编码单元与目标区域的坐标指示的边界框来确定第二编码单元与目标区域是否相邻。

在一些实施例中,确定复用模式包括:如果第二编码单元与目标区域间隔开,基于第二编码单元的运动信息来确定复用模式。示例性地,电子设备可以根据第二编码单元与目标区域的坐标指示的边界框来确定第二编码单元与目标区域是否间隔开。

在一些实施例中,第二编码单元的运动信息指示参考图像中的参考编码单元,并且其中基于第二编码单元的运动信息来确定复用模式包括:如果参考编码单元与参考图像中被编辑的区域至少部分重叠,确定第二编码信息部分地复用第一编码信息。示例性地,如果第二编码单元的运动矢量所指示的参考帧中参考块位于该参考帧的水印部分中,则电子设备可以确定第二编码信息部分地复用第一编码信息。

在一些实施例中,第二编码单元中的一个像素点的运动信息指示参考图像中的参考编码单元,并且其中基于第二编码单元的运动信息来确定复用模式包括:如果参考编码单元与参考图像中被编辑的区域至少部分重叠,确定第二编码信息部分地复用第一编码信息。

在一些实施例中,复用模式指示第二编码信息部分地复用第一编码信息,并且其中确定第二编码信息包括针对第二编码信息复用第一编码信息的可复用信息集合中的至少一项,可复用信息集合包括:预测模式、块划分、以及量化参数。

在一些实施例中,确定第二编码信息包括:基于第二编码单元, 确定针对第二编码单元的运动信息或残差信息中的至少一项。示例性地,电子设备不复用第一编码信息中的运动信息和残差信息,而是基于第二编码单元重新确定针对第二编码单元的运动信息和残差信息。

在一些实施例中,第二编码单元的运动信息指示参考图像中的参考编码单元,并且其中确定第二编码信息还包括:对第二编码单元执行运动估计,以获得针对第二编码单元的运动矢量;以及如果针对第二编码单元的运动矢量与针对第一编码单元的运动矢量相同、第一编码信息指示第一编码单元基于跳过模式而被编入第一码流、并且参考编码单元与参考图像中被编辑的区域至少部分重叠,则将针对第二编码单元的编码模式设置为直接模式或合并模式。通过这种方式,可以重新计算针对第二编码单元的残差信息,以保证编码质量。

在一些实施例中,第二编码单元的运动信息指示参考图像中的参考编码单元,并且其中确定第二编码信息还包括:对第二编码单元执行运动估计,以获得针对第二编码单元的运动矢量;以及如果针对第二编码单元的运动矢量不同于针对第一编码单元的运动矢量、第一编码信息指示第一编码单元基于跳过模式而被编入第一码流、并且参考编码单元与参考图像中被编辑的区域至少部分重叠,则将针对第二编码单元的编码模式设置为高级运动矢量预测AMVP模式。通过这种方式,可以重新计算针对第二编码单元的残差信息,以保证编码质量。

在一些实施例中,确定第二编码信息还包括:基于第二编码单元,确定针对第二编码单元的运动矢量差值MVD或AMVP候选项索引中的至少一项。

在一些实施例中,针对第二编码单元的编码块标志CBF被设置为1,并且其中确定第二编码信息还包括:基于针对第二编码单元的运动矢量,确定针对第二编码单元的残差系数。

在一些实施例中,复用模式指示第二编码信息部分地复用第一编码信息,并且其中确定第二编码信息包括针对第二编码信息复用第一编码信息的可复用信息集合中的至少一项,可复用信息集合包括:预测模式、块划分、量化参数、以及运动矢量。

在一些实施例中,确定第二编码信息还包括:基于针对第一编码单元的运动矢量,确定针对第二编码单元的MVD。

在一些实施例中,确定第二编码信息还包括:如果第一编码信息指示第一编码单元基于跳过模式或直接模式而被编入第一码流,将针对第二编码单元的编码模式设置为AMVP模式。

在一些实施例中,确定第二编码信息还包括:基于针对第二编码单元的运动矢量和运动矢量预测值MVP,确定针对第二编码单元的MVD。

在一些实施例中,复用模式指示第二编码信息部分地复用第一编码信息,并且其中确定第二编码信息包括针对第二编码信息复用第一编码信息的可复用信息集合中的至少一项,可复用信息集合包括:预测模式、块划分、量化参数、运动矢量、编码模式、以及运动信息。

在一些实施例中,针对第二编码单元的运动信息指示参考编码单元,并且其中确定第二编码信息还包括:基于第二编码单元和参考编码单元,确定针对第二编码单元的残差信息。

在一些实施例中,确定复用模式包括:如果第二编码单元和目标区域相邻、并且第一编码单元基于帧内预测模式而被编入第一码流,确定第二编码信息部分地复用第一编码信息。

在一些实施例中,确定复用模式包括:如果第二编码单元位于目标区域中,确定第二编码信息完全不复用第一编码信息。

在一些实施例中,第二编码单元中的一个像素点的运动信息指示参考图像中的参考编码单元,并且其中确定复用模式包括:如果参考编码单元位于参考图像中被编辑的区域中,确定第二编码信息完全不复用第一编码信息。

在一些实施例中,确定复用模式包括:如果第二编码单元与目标区域间隔开,确定第二编码信息完全复用第一编码信息。

本公开的实施方式还可以根据以下条款进行描述,这些条款的特征可以通过任何合理的方式被组合。

条款1.一种用于图像编码的方法,包括:

获取针对第一图像中的第一编码单元的第一编码信息,所述第一编码信息指示所述第一编码单元在所述第一图像的第一码流中的编码方式;

基于从所述第一图像得到的第二图像中的目标区域与所述第二图像中的第二编码单元的相对位置关系,确定所述第二编码单元关于所述第一编码信息的复用模式,所述第二编码单元与所述第一编码单元相对应,所述目标区域指示所述第二图像中与所述第一图像不同的区域;

基于所述复用模式,确定针对所述第二编码单元的第二编码信息;以及

基于所述第二编码信息,生成针对所述第二图像的第二码流。

条款2.根据条款1所述的方法,其中确定所述复用模式包括:

如果所述第二编码单元与所述目标区域相邻,确定所述第二编码信息部分地复用所述第一编码信息。

条款3.根据条款1或2所述的方法,其中确定所述复用模式包括:

如果所述第二编码单元与所述目标区域间隔开,基于所述第二编码单元的运动信息来确定所述复用模式。

条款4.根据条款3所述的方法,其中所述第二编码单元的运动信息指示参考图像中的参考编码单元,并且其中基于所述第二编码单元的运动信息来确定所述复用模式包括:

如果所述参考编码单元与所述参考图像中被编辑的区域至少部分重叠,确定所述第二编码信息部分地复用所述第一编码信息。

条款5.根据条款3所述的方法,其中所述第二编码单元中的一个像素点的运动信息指示参考图像中的参考编码单元,并且其中基于所述第二编码单元的运动信息来确定所述复用模式包括:

如果所述参考编码单元与所述参考图像中被编辑的区域至少部分重叠,确定所述第二编码信息部分地复用所述第一编码信息。

条款6.根据条款1至5中任一项所述的方法,其中所述复用模式指示所述第二编码信息部分地复用所述第一编码信息,并且其中确定所述第二编码信息包括:

针对所述第二编码信息复用所述第一编码信息的可复用信息集合中的至少一项,所述可复用信息集合包括:预测模式、块划分、以及量化参数。

条款7.根据条款1至5中任一项所述的方法,其中确定所述第二编码信息包括:

基于所述第二编码单元,确定针对所述第二编码单元的运动信息或残差信息中的至少一项。

条款8.根据条款6或7所述的方法,其中所述第二编码单元的运动信息指示参考图像中的参考编码单元,并且其中确定所述第二编码信息还包括:

对所述第二编码单元执行运动估计,以获得针对所述第二编码单元的运动矢量;以及

如果针对所述第二编码单元的运动矢量与针对所述第一编码单元的运动矢量相同、所述第一编码信息指示所述第一编码单元基于跳过模式而被编入所述第一码流、并且所述参考编码单元与所述参考图像中被编辑的区域至少部分重叠,则将针对所述第二编码单元的编码模式设置为直接模式或合并模式。

条款9.根据条款6至8中任一项所述的方法,其中所述第二编码单元的运动信息指示参考图像中的参考编码单元,并且其中确定所述第二编码信息还包括:

对所述第二编码单元执行运动估计,以获得针对所述第二编码单元的运动矢量;以及

如果针对所述第二编码单元的运动矢量不同于针对所述第一编码单元的运动矢量、所述第一编码信息指示所述第一编码单元基于跳过模式而被编入所述第一码流、并且所述参考编码单元与所述参考图像中被编辑的区域至少部分重叠,则将针对所述第二编码单元的编码 模式设置为高级运动矢量预测AMVP模式。

条款10.根据条款9所述的方法,其中确定所述第二编码信息还包括:

基于所述第二编码单元,确定针对所述第二编码单元的运动矢量差值MVD或AMVP候选项索引中的至少一项。

条款11.根据条款8至10中任一项所述的方法,其中针对所述第二编码单元的编码块标志CBF被设置为1,并且其中确定所述第二编码信息还包括:

基于针对所述第二编码单元的运动矢量,确定针对所述第二编码单元的残差系数。

条款12.根据条款6所述的方法,其中所述可复用信息集合还包括运动矢量。

条款13.根据条款12所述的方法,其中确定所述第二编码信息还包括:

基于针对所述第一编码单元的运动矢量,确定针对所述第二编码单元的MVD。

条款14.根据条款12或13所述的方法,其中确定所述第二编码信息还包括:

如果所述第一编码信息指示所述第一编码单元基于跳过模式或直接模式而被编入所述第一码流,将针对所述第二编码单元的编码模式设置为AMVP模式。

条款15.根据条款12至14中任一项所述的方法,其中确定所述第二编码信息还包括:

基于针对所述第二编码单元的运动矢量和运动矢量预测值MVP,确定针对所述第二编码单元的MVD。

条款16.根据条款12所述的方法,其中所述可复用信息集合还包括:编码模式和运动信息。

条款17.根据条款16所述的方法,其中针对所述第二编码单元的运动信息指示参考编码单元,并且其中确定所述第二编码信息还包 括:

基于所述第二编码单元和所述参考编码单元,确定针对所述第二编码单元的残差信息。

条款18.根据条款1所述的方法,其中确定所述复用模式包括:

如果所述第二编码单元和所述目标区域相邻、并且所述第一编码单元基于帧内预测模式而被编入所述第一码流,确定所述第二编码信息部分地复用所述第一编码信息。

条款19.根据条款1至18中任一项所述的方法,其中确定所述复用模式包括:

如果所述第二编码单元位于所述目标区域中,确定所述第二编码信息完全不复用所述第一编码信息。

条款20.根据条款1至3中任一项所述的方法,其中所述第二编码单元中的一个像素点的运动信息指示参考图像中的参考编码单元,并且其中确定所述复用模式包括:

如果所述参考编码单元位于所述参考图像中被编辑的区域中,确定所述第二编码信息完全不复用所述第一编码信息。

条款21.根据条款1或2所述的方法,其中确定所述复用模式包括:

如果所述第二编码单元与所述目标区域间隔开,确定所述第二编码信息完全复用所述第一编码信息。

条款22.根据条款1至21中任一项所述的方法,其中所述目标区域指示所述第二图像相对于所述第一图像被添加以下至少一个区域:水印区域、马赛克区域或透明度掩码区域。

条款23.一种电子设备,包括:

处理器;以及

存储器,与所述处理器耦合,并且具有存储在所述存储器上的指令,所述指令在被所述处理器执行时使所述电子设备执行根据条款1至22中任一项所述的方法。

条款24.一种存储指令的非暂态计算机可读存储介质,所述指令 使处理器执行根据条款1至22中任一项所述的方法。

条款25.一种存储视频的码流的非暂态计算机可读记录介质,所述视频的所述码流通过根据条款1至22中任一项所述的方法而被生成,其中所述方法由视频处理设备执行。

示例设备

图12示出了可以在其中实现本公开的各种实施例的计算设备1200的框图。计算设备1200可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。

应当理解的是,图12中示出的计算设备1200仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。

如图12所示,计算设备1200包括通用计算设备1200。计算设备1200可以至少包括一个或多个处理器或处理单元1210、存储器1220、存储单元1230、一个或多个通信单元1240、一个或多个输入设备1250以及一个或多个输出设备1260。

在一些实施例中,计算设备1200可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和外围设备或其任何组合。可以设想的是,计算设备1200可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。

处理单元1210可以是物理处理器或虚拟处理器,并且可以基于 存储在存储器1220中的程序实现各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以便改善计算设备1200的并行处理能力。处理单元1210也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。

计算设备1200通常包括各种计算机存储介质。这样的介质可以是由计算设备1200可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器1220可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元1230可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备1200中被访问的介质。

计算设备1200还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图12中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。

通信单元1240经由通信介质与另一计算设备通信。另外,计算设备1200中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备1200可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。

输入设备1250可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备1260可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元1240,计算设备1200还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算 设备1200还可以与一个或多个使用户能够与计算设备1200交互的设备通信,或任何使计算设备1200能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。

在一些实施例中,计算设备1200的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。

在本公开的实施例中,计算设备1200可以被用于实现视频编码/解码。存储器1220可以包括具有一个或多个程序指令的一个或多个视频编码模块1225。这些模块能够由处理单元1210访问和执行,以执行本文描述的各种实施例的功能。

在执行视频编码的示例实施例中,输入设备1250可以接收视频数据作为待编码的输入1270。视频数据可以由例如视频编码模块1225处理,以生成经编码的码流。经编码的码流可以经由输出设备1260作为输出1280提供。

在执行视频解码的示例实施例中,输入设备1250可以接收经编码的码流作为输入1270。经编码的码流可以由例如视频编码模块1225处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设 备1260作为输出1280提供。

虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。

相关技术
  • 污泥高温好氧发酵设备及工艺
  • 污泥高温好氧发酵设备及工艺
技术分类

06120116524785