处理设备及其控制方法

文档序号:1652345 发布日期:2019-12-24 浏览:19次 >En<

阅读说明:本技术 处理设备及其控制方法 (Processing apparatus and control method thereof ) 是由 罗尚权 俞基源 于 2018-02-20 设计创作,主要内容包括:提供了一种处理设备。所述处理设备包括:存储器,存储视频内容;以及处理器,用于将形成视频内容的帧划分为多个编码单元,并通过针对多个编码单元中的每个编码单元执行编码来生成编码帧,并且处理器可以将包括运动矢量的信息添加到编码帧,其中所述运动矢量是在针对多个编码单元中的每个编码单元的编码过程中获得的。(A processing apparatus is provided. The processing apparatus includes: a memory storing video content; and a processor for dividing a frame forming the video content into a plurality of coding units and generating a coded frame by performing coding for each of the plurality of coding units, and the processor may add information including a motion vector obtained in the coding process for each of the plurality of coding units to the coded frame.)

处理设备及其控制方法

技术领域

本公开涉及处理设备及其控制方法,并且更具体地,涉及执行帧间编码和帧内编码的处理设备及其控制方法。

背景技术

在预定时间内,无线视频内容传输可能会在数据传输过程中出现分组丢失和错误。特别地,在实时和低延时很重要的视频镜像的情况下,通过分组重传的恢复可能受到限制。

作为恢复该传输错误的方法,使用帧/子帧复制方法和基于内容的错误隐藏/恢复方法等。

帧/子帧复制方法可以包括通过循环冗余校验(CRC)来确定是否已经发生了错误,并且如果已经发生了错误,则重复输出最后的正常发送图像(帧),或者拷贝错误图像的区域(子帧)的一部分并将其输出到与最后的正常发送图像相对应的区域。

同时,帧/子帧复制方法由于恢复精度低而在视图质量劣化方面显著并且由于前一图像的重复播放而在冻结伪像方面显著,并且帧或子帧单位的比特流的CRC校验过程中总是伴随着传输延迟。特别地,在连续帧发生错误的情况下,存在由于连续重复再现相同帧而导致冻结伪影增加的问题。

基于上下文的错误隐藏/恢复方法使用相邻块的模式和像素信息来预测和恢复丢失区域的像素。这里,相邻块的运动矢量(MV)和正常恢复后的帧的像素信息用于预测和恢复丢失区域的像素、或模式、相邻块的像素,并且通过解码器中的运动预测过程来利用前一正常恢复帧的像素信息预测和恢复丢失区域的像素。

然而,基于上下文的错误隐藏/恢复方法具有以下问题:精度降低,这是以为内仅通过周围MV来生成参考MV;以及将不正确恢复图像的错误传播到最后一帧。另外,使用解码器侧的相邻像素的MV校正技术需要很高的计算复杂度,并且当没有可用的相邻像素或MV信息时,以串行方式将恢复质量的劣化传播到使用错误恢复数据的过程中。

因此,已经开发了用于根据视频内容的无线传输来恢复错误(即使在时间限制下)的方法,以提供高质量的图像。

发明内容

【技术问题】

因此,本公开的目的是提供一种处理设备及其控制方法,所述处理设备提高在形成视频内容的帧中发生错误的像素区域的恢复效率。

【技术方案】

根据一个实施例,一种处理设备包括:存储器,存储视频内容;以及处理器,用于将形成视频内容的帧划分为多个编码单元,并通过针对多个编码单元中的每个编码单元执行编码来生成编码帧,并且处理器可以将包括运动矢量的信息添加到编码帧,其中所述运动矢量是在针对多个编码单元中的每个编码单元的编码过程中获得的。

附加信息可以包括多个编码单元中的所有编码单元的运动矢量。

附加信息可以包括在与编码帧相对应的标头的保留区域中。

处理器可以从包括当前编码单元的当前帧和基于当前帧的预定数量的相邻帧中搜索与当前编码单元相对应的运动矢量,并且将与在当前帧和相邻帧中搜索到的运动矢量相对应的像素区域的至少一个帧的标识信息添加到附加信息。

处理器可以搜索与当前编码单元相对应的运动矢量,并且基于与搜索到的运动矢量相对应的像素区域和当前编码单元之间的对应位置的像素值满足预设条件,将使用当前编码单元的相邻编码单元的运动矢量的信息添加到附加信息。

基于至少两个编码单元的运动矢量在一个帧中是相同的,处理器可以将关于该至少两个编码单元的位置信息和该至少两个编码单元中的一个编码单元的运动矢量添加到附加信息。

基于检测到多个编码单元中的所有编码单元的运动矢量之间的规律性,处理器可以将与检测到的规律性相对应的信息添加到附加信息。

根据一个实施例,处理设备包括:存储器,存储编码视频内容;以及处理器,用于通过以编码单元为单位针对形成编码视频内容的编码帧执行解码来生成解码帧,并且可以将包括运动矢量的附加信息添加到编码视频内容,其中运动矢量是在形成编码帧的多个编码单元中的每个编码单元的编码过程中由每个编码帧获得的,并且基于无法对当前编码单元进行解码,处理器可以通过从附加信息中获得当前编码单元的运动矢量和用与所获得的运动矢量相对应的像素区域替换当前编码单元来执行解码。

附加信息可以包括多个编码单元中的所有编码单元的运动矢量。

附加信息可以包括在与编码帧相对应的标头的保留区域中。

附加信息可以包括包含与运动矢量相对应的像素区域的至少一个帧的标识信息,并且基于无法对当前编码单元进行解码,处理器可以通过从附加信息中获得当前编码单元的运动矢量和标识信息并用在与所获得的标识信息相对应的帧中的与所获得的运动矢量相对应的像素区域替换当前编码单元来执行解码。

附加信息可以包括使用当前编码单元的相邻编码单元的运动矢量的信息,并且基于无法对当前编码单元进行解码,处理器可以通过以下操作来执行解码:从附加信息中获得使用当前编码单元的相邻编码单元的运动矢量的信息;并且基于所获得的信息用与相邻编码单元的运动矢量相对应的像素区域替换当前编码单元。

附加信息可以包括具有相同运动矢量的至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量,并且基于无法对当前编码单元进行解码,处理器可以通过基于位置信息用与至少两个编码单元的运动矢量相对应的像素区域替换当前编码单元来执行解码。

附加信息可以包括与多个编码单元中的所有编码单元的运动矢量之间的规律性相对应的信息,并且基于无法对当前编码单元进行解码,处理器可以通过以下操作来执行解码:基于与规律性相对应的信息获得与当前编码单元相对应的运动矢量,并用与所获得的运动矢量相对应的像素区域替换当前编码单元。

根据一个实施例,一种处理设备的控制方法包括:将形成视频内容的帧划分为多个编码单元;以及通过针对多个编码单元中的每个编码单元执行编码来生成编码帧,并且所述生成编码帧可以包括将包括运动矢量的信息添加到编码帧,其中所述运动矢量是在多个编码单元中的每个编码单元的编码过程中获得的。

附加信息可以包括多个编码单元中的所有编码单元的运动矢量。

附加信息可以包括在与编码帧相对应的标头的保留区域中。

所述生成编码帧可以包括:从包括当前编码单元的当前帧和基于当前帧的预定数量的相邻帧中搜索与当前编码单元相对应的运动矢量,并且将与在当前帧和相邻帧中搜索到的运动矢量相对应的像素区域的至少一个帧的标识信息添加到附加信息。

所述生成编码帧可以包括:搜索与当前编码单元相对应的运动矢量,并且基于与搜索到的运动矢量相对应的像素区域和当前编码单元之间的对应位置的像素值满足预设条件,将使用当前编码单元的相邻编码单元的运动矢量的信息添加到附加信息。

根据一个实施例,处理设备的控制方法包括:以编码单元为单位针对形成编码视频内容的编码帧执行解码并通过沿预设方向设置经解码的多个编码单元来生成解码帧;以及将包括运动矢量的附加信息添加到编码视频内容,其中所述运动矢量是在形成编码帧的多个编码单元中的每个编码单元的编码过程中由每个编码帧获得的;以及基于无法对当前编码单元执行解码,执行解码可以包括通过从附加信息中获得当前编码单元的运动矢量和用与所获得的运动矢量相对应的像素区域替换当前编码单元来执行解码。

【有益效果】

如上所述,根据各种实施例,处理设备将形成帧的多个编码单元中的每个编码单元的运动矢量添加到编码帧,并且如果发生错误,则处理设备使用运动矢量来提高恢复效率。

附图说明

图1是示出了执行编码的处理设备的框图,以促进对本公开的理解;

图2是示出了执行解码的处理设备的框图,以促进对本公开的理解;

图3是描述了根据一个实施例的执行编码的处理设备的简化框图;

图4是描述了根据一个实施例的用于生成附加信息的方法的视图;

图5是描述了根据另一实施例的用于生成附加信息的方法的视图;

图6a和图6b是描述了根据一个实施例的发生堵塞的情况的视图;

图7是描述了根据一个实施例的用于减少附加信息的数据量的方法的视图;

图8是描述了根据一个实施例的执行解码的处理设备的简化框图;

图9是描述了根据一个实施例的执行编码的处理设备的控制方法的流程图;以及

图10是描述了根据一个实施例的执行解码的处理设备的控制方法的流程图。

具体实施方式

在下文中,将参考附图更详细地描述本公开。

图1是为了更好地理解本公开而示出的执行编码的处理设备100的配置的框图。如图1中所示,处理设备100可以包括运动预测器111、运动补偿器112、帧内预测器120、开关115、减法器125、变换器130、量化器140、熵编码器150、逆量化器160、逆变换器170、加法器175、滤波器180和参考帧缓冲器190。这里,每个功能单元可以实现为至少一个硬件形式(例如,至少一个处理器),但是也可以实现为至少一个软件或程序形式。

处理设备100是对视频内容进行编码并将视频内容转换为另一信号形式的设备。这里,视频内容包括多个帧,并且每个帧可以包括多个像素。例如,处理设备100可以是用于压缩未经处理的原始数据的设备。备选地,处理设备100可以是将预编码的数据改变为另一信号形式的设备。

处理设备100可以将每个帧划分为多个块以执行编码。处理设备100可以以块为单位通过时间或空间预测、变换、量化、滤波、熵编码等来执行编码。

预测是指生成与要编码的目标块相似的预测块。这里,可以将要编码的目标块的单元定义为预测单元(PU),并且可以将预测分为时间预测和空间预测。

时间预测是指画面之间的预测(帧间预测)。处理设备100可以存储与当前要编码的帧具有高相关性的一些参考帧,并且使用参考帧来执行帧间预测。也就是说,处理设备100可以根据在前一时刻进行编码之后恢复的参考帧来生成预测块。在这种情况下,可以说处理设备100执行帧间编码。

在帧间编码的情况下,运动预测器111可以在参考帧中搜索与目标块具有最高时间相关性的块,其中参考帧存储在参考帧缓冲器190中。运动预测器111可以对参考帧进行插值,并且在插值后的帧中搜索与目标块具有最高时间相关性的块。

这里,参考帧缓冲器190是用于存储参考帧的空间。参考帧缓冲器190仅在执行帧间预测时使用,并且可能已经存储了与当前要编码的帧具有较高相关性的一些参考帧。参考帧可以是通过依次对稍后要描述的残差块进行变换、量化、逆量化、逆变换和滤波而生成的帧。也就是说,参考帧可以是在编码之后恢复的帧。

运动补偿器112可以基于与在运动预测器111中找到的目标块具有最高时间相关性的块的运动信息来生成预测块。这里,运动信息可以包括运动矢量、参考帧索引等。

空间预测是指帧内预测。帧内预测器120可以根据当前帧中在编码之后恢复的相邻像素执行空间预测,以生成目标块的预测值。在这种情况下,可以称处理设备100执行帧内编码。

可以以编码单元(CU)为单位来确定帧间编码或帧内编码。这里,编码单元可以包括至少一个预测单元。当确定用于编码预测的方法时,可以改变开关115的位置以对应于编码预测方法。

在时间预测中进行编码之后恢复的参考帧可以是对其应用滤波的帧,但是在空间预测中进行编码之后恢复的相邻像素可以是没有对其应用滤波的像素。

减法器125可以通过计算目标块与根据时间预测或空间预测获得的预测块之间的差异来生成残差块。残差块可以是已经通过预测过程从中消除很多冗余的块,但是由于预测不能完美地进行,因此残差块可以是包括要编码的信息的块。

变换器130可以在帧内预测或帧间预测之后对残差块进行变换,以去除空间冗余并输出频域的变换系数。此时,变换的单元是变换单元(TU),并且可以独立于预测单位来确定。例如,可以独立于预测单元而将包括多个残差块的帧分为多个变换单元,并且变换器130可以对各个变换单元执行变换。可以根据比特率优化来确定变换单元的划分。

实施例不限于此,并且可以结合编码单元和预测单元中的至少一个来确定变换单元。

变换器130可以执行变换以将每个变换单元的能量集中到特定频域。例如,变换器130可以针对每个变换单元执行基于离散余弦变换(DCT)的变换,并且将数据集中到低频域中。备选地,变换器130可以基于离散傅里叶变换(DFT)或离散正弦变换(DST)执行变换。

量化器140可以对变换系数执行量化,并且将变换系数近似为预定数量的代表值。换言之,量化器140可以将特定范围内的输入值映射到一个代表值。在该处理中,可以去除人不易识别的高频信号,并且可能发生信息丢失。

量化器140可以根据输入数据的概率分布或量化目的来使用均匀量化方法和非均匀量化方法之一。例如,当输入数据的概率分布均匀时,量化器140可以使用均匀量化方法。备选地,当输入数据的概率分布不均匀时,量化器140可以使用非均匀量化方法。

熵编码器150可以通过相对于从量化器140输入的数据根据符号的出现概率可变地分配符号的长度来减少数据量。也就是说,熵编码器150可以通过基于概率模型将输入数据表示为具有由0和1组成的可变长度的比特串,来生成比特流。

例如,熵编码器150可以将少量的比特分配给具有高出现概率的符号并将大量的比特分配给具有低出现概率的符号,来表示输入数据。因此,可以减小输入数据的比特串的大小,并且可以提高视频编码的压缩性能。

熵编码器150可以通过诸如霍夫曼编码和指数哥伦布编码或算术编码的可变长度编码来执行熵编码。

逆量化器160和逆变换器170可以接收量化后的变换系数,以对每个量化后的变换系数进行逆量化并生成恢复的残差块。

加法器175可以通过将恢复的残差块与根据时间预测或空间预测获得的预测块相加来生成恢复的块。

滤波器180可以向恢复的图像应用去块滤波、样本自适应偏移(SAO)和自适应环路滤波(ALF)中的至少一个。可以将经滤波的恢复帧存储在参考帧缓冲器190中并将其用作参考帧。

图2是示出了执行解码的处理设备200的框图,以促进对本公开的理解。如图2所示,处理设备200包括熵解码器210、逆量化器220、逆变换器230、加法器235、帧内预测器240、运动补偿器250、开关255、滤波器260和参考帧缓冲器270。

执行解码的处理设备200可以接收由执行编码、执行解码和重构视频的处理设备100生成的比特流。处理设备200可以通过熵编码、逆量化、逆变换、滤波等对块单元执行解码。

熵解码器210可以对输入比特流执行熵解码以生成量化后的变换系数。在这种情况下,熵解码方法可以是逆应用由图1的熵解码器150所用方法的方法。

逆量化器220可以通过接收量化后的变换系数来执行逆量化。也就是说,根据量化器140和逆量化器220的操作,将特定范围的输入值改变为特定范围内的任何一个参考输入值。在该过程中,可能会出现与输入值和任何一个参考输入值之差一样大的错误。

逆变换器230对从逆量化器220输出的数据进行逆变换,并且可以通过以逆向方式应用由变换器130所用方法来执行逆变换。逆变换器230可以通过执行逆变换来生成恢复的残差块。

加法器235可以通过将恢复的残差块与预测块相加来生成恢复的块。这里,预测块可以是通过帧间编码或帧内编码而生成的块。

在帧间解码的情况下,运动补偿器250可以从执行编码的处理设备100接收或导出(根据相邻块导出)关于要解码的目标块的运动信息,并且基于接收到的或导出的运动信息来生成预测块。这里,运动补偿器250可以根据存储在参考帧缓冲器270中的参考帧来生成预测块。运动信息可以包括针对与目标块具有最高时间相关性的块的运动矢量、参考帧索引等。

这里,参考帧缓冲器270可以存储与要解码的帧具有较高相关性的参考帧的一部分。参考帧可以是通过对上述恢复的块进行滤波而生成的帧。也就是说,参考帧可以是恢复在执行编码的处理设备100中生成的比特流的帧。另外,在执行解码的处理设备200中使用的参考帧可以与在执行编码的处理设备100中使用的参考帧相同。

在帧内解码的情况下,帧内预测器240可以根据当前帧中的恢复后的相邻像素来执行空间预测,并且生成目标块的预测值。

可以根据用于对目标块进行解码的预测方法来改变开关255的位置。

滤波器260可以将去块滤波、SAO或ALF中的至少一个应用于恢复后的帧。可以将滤波后的恢复帧存储在参考帧缓冲器270中并将其用作参考帧。

同时,处理设备200还可以包括解析器(未示出),所述解析器对包括在比特流中的与编码帧有关的信息进行解析。解析器可以包括熵解码器210,并且可以包括在熵解码器210中。

如上所述,执行编码的处理设备100可以通过编码处理来压缩视频的数据,并且将压缩后的数据发送给执行解码的处理设备200。执行解码的处理设备200可以通过对压缩后的数据进行解码来重构视频内容。

图3是描述了根据一个实施例的执行编码的处理设备100的简化框图。

如图3中所示,处理设备100包括存储器310和处理器320。

存储器310可以与处理器320分开设置,并且可以被实现为硬盘、非易失性存储器、易失性存储器等。存储器310可以被实现为处理器320的内部存储器。

存储器310可以存储视频内容、参考帧等。这里,参考帧可以是由处理器320编码的帧的恢复帧。

同时,存储器310可以存储所有视频内容,或者可以实时地存储从外部服务器等流式传输的视频内容的一部分。在这种情况下,存储器310可以仅存储实时接收的一部分视频内容,并且删除已经完成编码的视频内容的数据。

处理器320控制处理设备100的整体操作。

处理器320可以将形成视频内容的帧划分为多个编码单元,并且可以通过针对多个编码单元中的每个编码单元执行编码来生成编码帧。

这里,多个编码单元可以是最大编码单元(LCU)。实施例不限于此,并且处理器320可以将帧划分为不同大小的任意数量的多个编码单元。此外,多个编码单元的大小可以彼此不同。

处理器320可以将包括运动矢量的附加信息添加到编码帧,其中运动矢量是在多个编码单元中的每个编码单元的编码过程中获得的。

具体地,处理器320可以针对当前编码单元执行时间预测和空间预测。处理器320可以基于时间预测的错误和空间预测的错误来确定针对当前编码单元执行帧内编码还是帧间编码。

不管当前编码单元的编码方法如何,处理器320都可以单独地生成包括当前编码单元的运动矢量的附加信息。例如,处理器320可以将附加信息包括在与编码帧相对应的标头的保留区域中。这里,标头可以是补充增强信息(SEI)标头。

备选地,处理器320可以将附加信息包括在单独的存储区域中而不是标头中。例如,处理器320可以通过生成除了标头和数据区域之外的附加区域来存储附加信息。在这种情况下,稍后将描述的执行解码的处理设备200也可以存储关于存储附加信息的位置的信息。

即使当前编码单元是帧内编码的,处理器320也可以单独生成包括当前编码单元的运动矢量的附加信息。在现有技术中,如果当前编码单元是帧内编码的,则不单独存储和删除当前编码单元的运动矢量。

当当前编码单元是帧间编码的时,处理器320可以将帧间编码的当前编码单元和运动矢量存储在数据区域中,并且可以单独生成包括当前编码单元的运动矢量的附加信息。也就是说,当当前编码单元是帧间编码的时,处理器320可以将当前编码单元的运动矢量存储两次。

处理器320可以单独生成包括多个编码单元中的所有编码单元的运动矢量的附加信息。处理器320可以逐帧生成附加信息,但是实施例不限于此。例如,处理器320可以基于切片来生成附加信息。在这种情况下,处理器320可以单独生成包括用于切片中包括的多个编码单元中的所有编码单元的运动矢量的附加信息,并且可以将生成的附加信息包括在切片的标头中。

备选地,处理器320可以以多个帧为单位来生成附加信息。对于包括在由处理器320生成的一个附加信息中的用于多个编码单元的运动矢量的数量没有限制。然而,当编码内容被实时发送时,处理器320可以基于通信状态来生成附加信息。

处理器320可以从包括当前编码单元的当前帧和基于当前帧的预定数量的相邻帧中搜索与当前编码单元相对应的运动矢量,并且将包括与在当前帧和相邻帧中搜索到的运动矢量相对应的像素区域的至少一个帧的标识信息添加到附加信息。

例如,处理器320可以在针对当前编码单元的时间预测中搜索相邻帧以及包括当前编码单元的当前帧中的运动矢量。在这种情况下,仅利用运动矢量,就可以不显示认为与当前编码单元最相似的像素区域。因此,处理器320可以生成包括运动矢量和帧的标识信息的附加信息,其中所述帧包括与找到的运动矢量相对应的像素区域。

处理器320可以搜索与当前编码单元相对应的运动矢量,并且如果当前编码单元与和搜索到的运动矢量相对应的像素区域之间的对应位置的像素值满足预设条件,则处理器320可以将使用当前编码单元的相邻编码单元的运动矢量的信息添加到附加信息。

例如,可能由于诸如人在帧内的特定区域中的运动的原因而发生堵塞,并且可能临时改变特定编码单元的像素数据。特别地,如果在时间预测帧和当前编码单元的区域中存在限制,则可以搜索像素数据与当前编码单元的差异较大的区域。当发生错误时,以下描述的执行解码的处理设备200用与包括在附加信息中的运动矢量相对应的像素区域来替换当前编码单元,并且当当前编码单元和与运动矢量相对应的像素区域之间的像素数据值的差异较大时,观看者可能会感到差异感。因此,在这种情况下,使用当前编码单元的***像素区域而不是搜索到的像素区域可以是减小差异感的方法。因此,当与对应于搜索到的运动矢量和当前编码单元的像素区域相对应的位置的所有像素值的总和值大于预定值时,有可能将信息添加到附加信息,以使用当前编码单元的相邻编码单元的运动矢量,而不是当前编码单元的运动矢量。

同时,如果至少两个编码单元的运动矢量在一个帧内相同,则可以将至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量添加到附加信息。也就是说,处理器320可以通过如上所述的操作来压缩附加信息的大小。

当预设范围的区域中的至少两个编码单元的运动矢量在一个帧内是相同的时,处理器320可以将至少两个编码单元的位置信息和至少两个编码单元中的一个运动矢量添加到附加信息。例如,如果至少两个连续编码单元的运动矢量相同,则处理器320可以将至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量添加到附加信息。在这种情况下,处理器320可以改善压缩效率,这是因为仅将关于从第一个编码单元到最后一个编码单元中具有相同运动矢量的编码单元的信息添加到附加信息。

当包括至少两个编码单元的运动矢量和与运动矢量相对应的像素区域的帧在一个帧中相同时,处理器320可以将至少两个编码单元的位置信息、至少两个编码单元中的一个编码单元的运动矢量、以及包括与运动矢量相对应的像素区域的帧的标识信息添加到附加信息。

当检测到多个编码单元中的所有编程单元的运动矢量之间的规律性时,处理器320可以将与检测到的规律性相对应的信息添加到附加信息。例如,当检测到多个编码单元中的所有编码单元的运动矢量之间的规律性时,处理器320可以将与检测到的规律性相对应的表或方程式的信息添加到附加信息。也就是说,处理器320可以通过如上所述的操作来压缩附加信息的大小。

实施例不限于此,并且处理器320可以针对多个编码单元中的一部分编码单元而不是多个编码单元中的所有编码单元来检测运动矢量之间的规律性。

尽管未在图3中示出,但是处理设备100还包括接口(未示出),并且可以与处理设备200通信以通过接口进行解码,这将在稍后描述。处理器320可以通过接口将编码比特流、运动矢量和附加信息等发送给处理设备200以执行解码。

接口可以使用有线/无线局域网(LAN)、广域网(WAN)、以太网、蓝牙、Zigbee、电气和电子工程师协会(IEEE)1394、Wi-Fi或电力线通信(PCL)等与处理设备200执行通信以执行解码。

图4是描述了根据一个实施例的用于生成附加信息的方法的视图。

如图4的上部所示,处理器320可以将形成视频内容的帧划分为多个编码单元。例如,处理器320可以将帧划分为12个编码单元。然而,这只是一个实施例,并且处理器320可以针对每个帧将划分不同数量的多个编码单元。

处理器320可以将包括运动矢量的附加信息添加到编码帧,其中运动矢量是在多个编码单元中的每个编码单元的编码过程期间获得的。例如,如图4的底部所示,处理器320可以将附加信息包括在与编码帧相对应的标头的保留区域中。这里,包括在标头的保留区域中的附加信息可以包括多个编码单元中的所有编码单元的运动矢量MV1-MV12。

同时,处理器320可以仅将大于或等于多个编码单元的预定大小的编码单元的运动矢量包括到附加信息。例如,处理器320可以仅将多个编码单元中的第一个编码单元和最后一个编码单元的运动矢量MV1和MV12包括到附加信息,其中第一个编码单元和最后一个编码单元大于多个编码单元的预定大小。

也就是说,处理器320还可以仅存储可以被观看者的眼睛识别的大小的编码单元的运动矢量,而不存储难以被观看者的眼睛识别的较小大小的编码单元的运动矢量。当不可能对较小大小的编码单元进行解码时,执行解码的处理设备200可以恢复可能无法根据现有技术进行解码的编码单元。在这种情况下,因为无法进行解码的编码单元的大小非常小,因此观看者可能不会感觉到差异感。相反,如果不可能对大小大于或等于预定大小的编码单元进行解码,则用于执行解码的处理设备200可以恢复不能够通过使用存储在附加信息中的运动矢量来执行解码的编码单元。在这种情况下,与现有技术相比,恢复性能得以改善,因此可以使用户感觉到的差异感最小化。

处理器320可以将超过多个编码单元的预定大小的编码单元的运动矢量的比特流包括到标头中。除了以上示例之外,处理器320可以将MV1和MV12的比特串包括在标头中,而无需单独编码单元的标识符。在这种情况下,执行解码的处理设备200可以基于存储在标头中的多个编码单元的大小信息来确定比特串中的第一运动矢量是MV1且第二运动矢量是MV12。

图5是描述了根据另一实施例的用于生成附加信息的方法的视图。

处理器320可以在当前帧和基于当前帧的预设数量的相邻帧中搜索与当前编码单元相对应的运动矢量,并且可以将包括与当前帧和相邻帧中的运动矢量相对应的像素区域的至少一个帧的标识信息添加到附加信息。

在时间预测中,要搜索的帧越多,搜索的精度就会越高。因此,处理器320可以将包括当前编码单元的帧的前一帧或后一帧作为搜索目标,而不是仅针对包括当前编码单元的帧的前一帧。在这种情况下,当仅存储搜索到的像素区域的运动矢量时,可能会发生错误,并且处理器320可以将包括搜索到的像素区域的帧的标识信息附加地包括在附加信息中。

处理器320可以顺序地将第一编码单元的运动矢量、包括与第一运动矢量相对应的像素区域的帧、第二运动矢量、包括与第二运动矢量相对应的像素区域的帧、......、第n运动矢量、包括与第n运动矢量相对应的像素区域的帧包括在附加信息中。实施例不限于此,并且处理器320可以按任何数量的不同顺序来生成附加信息。

图6a和图6b是描述了根据一个实施例的发生堵塞的情况的视图。如上所述,当发生堵塞时,可能是有效的是使用当前编码单元的***像素区域而不是搜索到的像素区域。

如图6a中所示,处理器320可以将当前编码单元T和与当前编码单元T相对应的搜索到的像素区域A进行比较。另外,处理器320可以计算当前编码单元T与搜索到的像素区域A之间的对应位置的像素值之差。例如,处理器320可以计算左上像素的像素值之差A1-T1并计算其余像素的像素值之差。

处理器320可以将四个像素区域的所有像素值之差相加,并且如果总和大于预定值,则处理器320可以确定当前编码单元T与搜索到的像素区域A之间的差异较大。在这种情况下,如图6b中所示,处理器320可以将使用当前编码单元T的相邻编码单元620-690的运动矢量的信息添加到附加信息。

另外,当像素区域A和与搜索到的运动矢量相对应的当前编码单元T之间的对应位置的像素值满足预设条件时,处理器320可以将当前编码单元T与当前编码单元T的相邻编码单元620-690中的每个相邻编码单元进行比较。比较方法可以与将当前编码单元T与搜索到的像素区域A进行比较的方法相同。

例如,处理器320可以计算当前编码单元T与相邻编码单元620之间的对应位置的像素值之差,并且计算所有计算出的差之和。另外,处理器320可以针对其余的相邻编码单元630-690重复相同的计算。最后,处理器320可以计算八个和,并且确定与八个和中的最小和相对应的相邻编码单元。处理器320可以将使用多个相邻编码单元620-690中的所确定的相邻编码单元的运动矢量而不是使用当前编码单元T的运动矢量的信息添加到附加信息。

图7是描述了根据一个实施例的用于减少附加信息的数据量的方法的视图。

当至少两个编码单元的运动矢量在一帧中相同时,处理器320可以将关于至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量添加到附加信息。

例如,如图7中所示,处理器320可以将MV4和十个编码单元中具有与MV4相同的运动矢量的三个编码单元的位置信息添加到附加信息。

当至少两个连续编码单元的运动矢量相同时,处理器320可以将关于至少两个连续编码单元的位置信息和至少两个连续编码单元中的一个编码单元的运动矢量添加到附加信息。

当至少两个编码单元的运动矢量即使在多个帧而不是一个帧中也相同时,处理器320可以将至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量添加到附加信息。

当检测到多个编码单元中的所有编程单元的运动矢量之间的规律性时,处理器320可以将与检测到的规律性相对应的信息添加到附加信息。

例如,当检测到多个编码单元中的所有编码单元的运动矢量中的线性关系时,处理器320可以将表示线性关系的方程添加到附加信息并将关于应用所添加的方程的编码单元的信息添加到附加信息。

实施例不限于此,并且处理器320可以生成表并将该表添加到附加信息中。

处理器320可以对形成整个帧的多个编码单元重复以上过程,并且生成附加信息。

图8是描述了根据一个实施例的执行解码的处理设备200的简化框图。

如图8中所示,处理设备200包括存储器810和处理器820。

存储器810可以与处理器820分开设置,并且可以被实现为硬盘、非易失性存储器、易失性存储器等。

存储器810可以存储编码视频内容、参考帧等。这里,参考帧可以是由处理器820进行编码的帧的恢复帧。

存储器810可以实时存储从执行编码的处理设备100等流式传输的全部编码视频内容或一部分编码视频内容。在这种情况下,存储器810可以存储实时接收的一部分编码视频内容,并且删除所显示的视频内容的数据。

处理器820控制处理设备100的整体操作。

处理器820可以通过针对形成编码视频内容的编码帧以编码单元为单位执行解码来生成解码帧。这里,编码视频内容可以是针对每个编码帧添加附加信息的内容,其中所述附加信息包括在针对形成编码帧的多个编码单元中的每个编码单元的编码过程中获得的运动矢量。

当无法对当前编码单元进行解码时,处理器820可以从附加信息获得当前编码单元的运动矢量,并且通过用与所获得的运动矢量相对应的像素区域替换当前编码单元来执行解码。

例如,当无法对当前编码单元进行解码时,比如在通信暂时中断且未接收到特定数据或特定数据受损的情况下,处理器820可以从附加信息中获得当前编码单元的运动矢量,并且用与所获得的运动矢量相对应的像素区域替换当前编码单元,并且执行解码。

这里,附加信息可以包括多个编码单元中的所有编码单元的运动矢量。实施例不限于此,并且附加信息可以包括多个编码单元中的一部分编码单元的运动矢量。另外,附加信息可以包括关于多个编码单元中处于变形状态的所有编码单元的运动矢量的信息。

附加信息可以被包括在与编码帧相对应的标头的保留区域中。实施例不限于此,并且一旦分开包括附加信息与数据区域,则任何区域都是可用的。也就是说,包括在附加信息中的运动矢量可以与帧间编码过程中存储的运动矢量分开存储。另外,也可以针对帧内编码的编码单元分开存储运动矢量。

附加信息可以包括包含与运动矢量相对应的像素区域的至少一个帧的标识信息,并且当无法对当前编码单元进行解码时,处理器820可以从附加信息中获得当前编码单元的运动矢量和标识信息,用从与所获得的标识信息相对应的帧中获得的与运动矢量相对应的像素区域替换当前编码单元,并执行解码。

附加信息可以包括使用当前编码单元的相邻编码单元的运动矢量的信息,并且当无法对当前编码单元进行解码时,处理器820可以从附加信息中获得使用当前编码单元的相邻编码单元的运动矢量的信息;基于所获得的信息用与相邻编码单元的运动矢量相对应的像素区域替换当前编码单元,并执行解码。

同时,附加信息可以包括具有相同运动矢量的至少两个编码单元的位置信息和至少两个编码单元中的一个运动矢量,并且当无法对当前编码单元进行解码时,处理器820可以通过基于位置信息用与至少两个编码单元的一个运动矢量相对应的像素区域替换当前编码单元来执行解码。

附加信息可以包括与多个编码单元中的所有编码单元的运动矢量之间的规律性相对应的信息,并且如果无法对当前编码单元进行解码,则处理器820可以通过以下操作来执行解码:基于与规律性相对应的信息获得与当前编码单元相对应的运动矢量,并用与所获得的运动矢量相对应的像素区域替换当前编码单元。

尽管未在图9中示出,但是处理设备200还可以包括接口(未示出),并且通过接口与执行解码的处理设备100通信。处理器820可以通过接口从执行编码的处理设备100接收编码比特流、运动矢量、附加信息等。

接口可以使用有线/无线LAN、WAN、以太网、蓝牙、Zigbee、IEEE 1394、Wi-Fi、PLC等来与执行编码的处理设备100通信。

图9是描述了根据一个实施例的执行编码的处理设备的控制方法的流程图。这里,处理设备包括存储器和处理器。

在步骤S910中,将形成视频内容的帧划分为多个编码单元。在步骤S920中,通过针对多个编码单元中的每个编码单元执行编码,生成编码帧。

在步骤S920中生成编码帧的步骤可以将包括运动矢量的附加信息添加到编码帧,其中运动矢量是在多个编码单元中的每个编码单元的编码过程期间获得的。

这里,附加信息可以包括多个编码单元中的所有编码单元的运动矢量。附加信息可以被包括在与编码帧相对应的标头的保留区域中。

在步骤S920中生成编码帧可以包括:在包括当前编码单元的当前帧和基于当前帧的预定数量的相邻帧中搜索与当前编码单元相对应的运动矢量;并且将包括在当前帧和相邻帧中的与搜索到的运动矢量相对应的像素区域的至少一个帧的标识添加到附加信息。

在步骤S920中生成编码帧可以包括:搜索与当前编码单元相对应的运动矢量,并且基于与搜索到的运动矢量相对应的像素区域和当前编码单元之间的对应位置的像素值满足预设条件,将使用当前编码单元的相邻编码单元的运动矢量的信息添加到附加信息。

备选地,当至少两个编码单元的运动矢量在一个帧中相同时,在步骤S920中生成编码帧可以包括将至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量添加到附加信息。

备选地,基于检测到多个编码单元的所有编码单元的运动矢量之间的规律性,在步骤S290中生成编码帧可以包括将与检测到的规律性相对应的信息添加到附加信息。

图10是描述了根据一个实施例的执行解码的处理设备的控制方法的流程图。这里,处理设备包括存储器和处理器。

针对形成编码视频内容的编码帧,在步骤S1010中在以编码单元为单位来执行解码。通过沿预定方向设置对其执行解码的多个编码单元,在步骤S1020中生成了解码帧。这里,在编码视频内容中,可以针对每个编码帧添加包括运动矢量的附加信息,其中所述运动矢量是在形成编码帧的多个编码单元的每个编码单元的编码过程中获得的。

在步骤S1010中执行解码的步骤可以包括通过以下操作来执行解码:当无法对当前编码单元进行解码时,从附加信息中获得当前编码单元的运动矢量;以及用与所获得的运动矢量相对应的像素区域替换当前编码单元。

这里,附加信息可以包括多个编码单元中的所有编码单元的运动矢量。此外,附加信息可以被包括在与编码帧相对应的标头的保留区域中。

同时,附加信息可以包括包含与运动矢量相对应的像素区域的至少一个帧的标识,并且在步骤S1010中执行解码的步骤可以通过以下操作来执行解码:从附加信息中获得当前编码单元的运动矢量和标识信息;以及用从与所获得的标识信息相对应的帧中获得的与运动矢量相对应的像素区域来替换当前编码单元。

备选地,附加信息可以包括使用当前编码单元的相邻单元的运动矢量的信息,并且在步骤S1010中执行解码的步骤可以包括:当无法对当前编码单元进行解码时,可以通过从附加信息中获得使用当前编码单元的相邻编码单元的运动矢量的信息,以及基于所获得的信息用与相邻编码单元的运动矢量相对应的像素区域替换当前编码单元来执行解码。

备选地,附加信息可以包括具有相同运动矢量的至少两个编码单元的位置信息和至少两个编码单元中的一个编码单元的运动矢量,并且当无法对当前编码单元进行解码时,在步骤S1010中执行解码的步骤可以通过基于位置信息用与至少两个编码单元的一个运动矢量相对应的像素区域替换当前编码单元来执行解码。

备选地,附加信息可以包括与多个编码单元中的所有编码单元的运动矢量之间的规律性相对应的信息,并且在步骤S1010中执行解码的步骤可以包括:如果无法对当前编码单元进行解码,则通过基于与规律性相对应的信息获得与当前编码单元相对应的运动矢量,并用与所获得的运动矢量相对应的像素区域替换当前编码单元,来执行解码。

根据各种实施例,当发生错误时,处理设备可以将形成帧的多个编码单元中的每个编码单元的运动矢量添加到编码帧,并且使用其来提高恢复效率。

根据各种实施例的方法可以被编程并存储在多种存储介质中。因此,根据上述各种实施例的方法可以由执行存储介质的各种类型的电子设备来实现。

可以提供存储有用于依次执行根据实施例的控制方法的程序的非易失性计算机可读介质。

非暂时性计算机可读存储介质不是被配置为临时存储数据的介质(例如,寄存器、缓存器或存储器),而是被配置为半永久性地存储数据的装置可读介质。具体地,非暂时性装置可读介质可以是压缩盘(CD)、数字多功能盘(DVD)、硬盘、蓝光盘、通用串行总线(USB)、存储卡、只读存储器(ROM)等。

尽管已经参考附图描述了一个或多个实施例,但是本领域普通技术人员应当理解,在不脱离所附权利要求及其等同物限定的精神和范围的情况下,可以进行形式和细节上的多种改变。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:形成音频换能器膜片的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类