CN104662905B - 使用多个假设估计因子的帧间预测方法及其装置 - Google Patents
使用多个假设估计因子的帧间预测方法及其装置 Download PDFInfo
- Publication number
- CN104662905B CN104662905B CN201380049000.4A CN201380049000A CN104662905B CN 104662905 B CN104662905 B CN 104662905B CN 201380049000 A CN201380049000 A CN 201380049000A CN 104662905 B CN104662905 B CN 104662905B
- Authority
- CN
- China
- Prior art keywords
- sub
- pixel
- unit
- coding
- hypothesis
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及视频编码和视频解码,更具体地讲,涉及一种运动估计方法和运动补偿方法,所述运动估计方法和所述运动补偿方法涉及通过使用以子像素为单位的多个假设估计因子像素来确定运动矢量,其中,所述运动估计方法和所述运动补偿方法被执行以用于在视频编码和解码期间被执行的帧间预测。使用运动矢量估计因子的运动补偿方法可包括以下操作:获得在编码单元中所包括的预测单元的运动矢量并获得编码单元的假设估计模式信息;基于所述假设估计模式信息来确定预定子像素距离和预定直线方向的组合,其中,所述预定子像素距离是在两个或更多个子像素距离中选择的,所述预定直线方向是在两个或更多个直线方向中选择的;通过使用分别包括所述预定直线方向上与当前估计因子像素相距所述预定子像素距离的两个假设估计因子像素的块来确定参考块,其中,当前估计因子像素由当前运动矢量指示。
Description
技术领域
本公开涉及视频编码和解码,更具体地讲,涉及用于在视频编码和解码中执行运动估计和运动补偿的方法和设备。
背景技术
随着用于再现和存储高分辨率或高质量视频内容的硬件的开发和提供,对于用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。根据传统的视频编解码器,基于具有预定尺寸的宏块,根据受限的编码方法来对视频进行编码。
空间域的图像数据经由频率变换被变换为频率域的系数。根据视频编解码器,将图像划分为预定尺寸的块,对每个块执行离散余弦变换(DCT),并以块为单位对频率系数进行编码,以进行频率变换的快速计算。与空间域的图像数据相比,频率域的系数容易被压缩。具体地,由于根据经由视频编解码器的帧间预测或帧内预测的预测误差来表示空间域的图像像素值,因此当对预测误差执行频率变换时,大量数据可被变换为0。根据视频编解码器,可通过使用小量数据来代替连续并重复产生的数据,来减少数据量。
发明内容
技术问题
本公开涉及视频编码和解码,更具体地讲,涉及一种运动估计方法和运动补偿方法,其中,这些方法涉及通过使用以子像素为单位的多个假设估计因子(hypotheticalestimator)像素来确定参考块,并涉及使用最少的信息以确定假设估计因子像素,其中,所述运动估计方法和运动补偿方法被执行以用于在视频编码和解码期间执行的帧间预测。
解决方案
根据本公开的实施例的运动估计方法涉及:通过不仅使用以整像素为单位的运动矢量而且使用以子像素为单位的多个假设估计因子来确定运动矢量;对指示在多个假设估计因子中选择的最优假设估计因子的信息执行熵编码。根据本公开的实施例的运动补偿方法涉及:通过对指示假设估计因子的信息执行熵解码来确定以子像素为单位的假设估计因子;通过使用将当前运动矢量和假设估计因子结合而确定的最终参考块来执行运动补偿。
有益效果
本公开提供运动估计方法的一个或更多个实施例,所述运动估计方法通过另外地使用与当前估计因子像素相距子像素距离的假设估计因子来确定参考块,以便提高帧间预测的精确度。所述运动估计方法仅允许具有高概率的组合作为假设估计因子像素相对于当前估计因子像素所位于的方向和子像素距离的组合,从而可快速地选择假设估计因子像素。此外,关于选择的假设估计因子像素的信息的传输比特数被减少到最低限度,从而可提高包括假设估计模式信息的编码符号的比特率。
附图说明
图1是根据本公开的实施例的基于根据树结构的编码单元的视频编码设备的框图。
图2是根据本公开的实施例的基于根据树结构的编码单元的视频解码设备的框图。
图3是用于描述根据本公开的实施例的编码单元的构思的示图。
图4是根据本公开的实施例的基于编码单元的图像编码器的框图。
图5是根据本公开的实施例的基于编码单元的图像解码器的框图。
图6是示出根据本公开的实施例的根据深度的较深层编码单元以及分区的示图。
图7是用于描述根据本公开的实施例的编码单元和变换单元之间的关系的示图。
图8是用于描述根据本公开的实施例的与编码深度相应的编码单元的编码信息的示图。
图9是根据本公开的实施例的根据深度的较深层编码单元的示图。
图10至图12是用于描述根据本公开的实施例的编码单元、预测单元和变换单元之间的关系的示图。
图13是用于描述根据表1的编码模式信息的编码单元、预测单元和变换单元之间的关系的示图。
图14是根据本公开的实施例的运动估计设备的框图。
图15是根据本公开的实施例的运动补偿设备的框图。
图16a和图16b示出根据本公开的实施例的假设估计模式的类型。
图17示出根据本公开的实施例的由假设估计模式指示的方向、符号值和距离的组合。
图18示出根据本公开的实施例的作为关于率失真(RD)代价的测试目标的假设估计模式。
图19示出根据本公开的实施例的运动估计方法的流程图。
图20示出根据本公开的实施例的运动补偿方法的流程图。
图21示出根据本公开的实施例的存储程序的盘的物理结构。
图22示出通过使用盘来记录和读取程序的盘驱动器。
图23示出提供内容分配服务的内容供应***的整体结构的示图。
图24和图25示出根据本公开的实施例的应用了视频编码方法和视频解码方法的移动电话的外部结构和内部结构。
图26示出根据本公开的实施例的应用通信***的数字广播***。
图27示出根据本公开的实施例的使用视频编码设备和视频解码设备的云计算***的网络结构。
最佳实施方式
根据本公开的实施例的运动估计方法涉及:不仅通过使用以整像素为单位的运动矢量还通过使用以子像素为单位的多个假设估计因子来确定运动矢量;对指示从所述多个假设估计因子中选择的最佳假设估计因子的信息执行熵编码。根据本公开的实施例的运动补偿方法涉及:通过对指示以子像素为单位的假设估计因子的信息执行熵解码来确定所述假设估计因子;通过使用将当前运动矢量和所述假设估计因子结合而确定的最终参考块来运动补偿。
根据本公开的一方面,提供一种使用运动矢量估计因子的运动补偿方法,所述运动补偿方法包括以下操作:获得在编码单元中所包括的预测单元的运动矢量,并获得编码单元的假设估计模式信息;基于所述假设估计模式信息来确定预定子像素距离和预定直线方向的组合,其中,所述预定子像素距离是在两个或更多个子像素距离中选择的,所述预定直线方向是在两个或更多个直线方向中选择的;通过使用分别包括所述预定直线方向上与当前估计因子像素相距所述预定子像素距离的两个假设估计因子像素的块来确定参考块,其中,当前估计因子像素由当前运动矢量指示。
获得所述假设估计模式信息的操作可包括以下操作:获得所述假设估计模式信息和运动矢量差值信息,其中,运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值;获得当前预测单元和参考块之间的残差数据,其中,确定参考块的操作可包括以下操作:通过将所述残差数据和参考块合并来产生当前预测单元的恢复块。
获得所述假设估计模式信息的操作可包括以下操作:获得针对在当前编码单元中所包括的预测单元而共同确定的假设估计模式信息。
所述两个或更多个子像素距离可包括1/4像素距离和1/2像素距离,所述两个或更多个直线方向可包括具有0度角、90度角、135度角和45度角的方向,所述假设估计模式信息可包括在所述两个或更多个子像素距离中选择的一个子像素距离和在所述两个或更多个直线方向中选择的一个直线方向的8种组合。
确定所述组合的操作可包括以下操作:根据编码单元的深度来确定所述假设估计模式信息的上下文模型;通过使用与当前编码单元的深度相应的4个上下文模型对所述假设估计模式信息执行熵解码;基于熵解码的假设估计模式信息,针对当前运动矢量确定子像素距离和直线方向的组合。
根据本公开的另一方面,提供一种使用运动矢量估计因子的运动估计方法,所述运动估计方法包括以下操作:在编码单元中所包括的预测单元中,确定用于当前预测单元的帧间预测的当前运动矢量;通过使用分别包括预定直线方向上的以当前估计因子像素为中心的两个假设估计因子像素的块来确定参考块,其中,所述两个假设估计因子像素在与当前估计因子像素相距预定子像素距离的多个假设估计因子像素之中,并且其中,当前估计因子像素由当前运动矢量指示;输出编码单元的假设估计模式信息,并输出预测单元的运动矢量差值信息,其中,所述假设估计模式信息指示预定子像素距离和预定直线方向的组合,其中,预定子像素距离是在两个或更多个子像素距离中选择的,预定直线方向是在两个或更多个直线方向中选择的。
输出所述假设估计模式信息并输出所述运动矢量差值信息的步骤可包括以下操作:输出所述假设估计模式信息和所述运动矢量差值信息,其中,所述运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值;输出当前预测单元和参考块之间的残差数据。
输出所述假设估计模式信息的操作可包括以下操作:输出针对在当前编码单元中所包括的预测单元而共同确定的假设估计模式信息。
所述两个或更多个子像素距离可包括1/4像素距离和1/2像素距离,所述两个或更多个直线方向包括具有0度角、90度角、135度角和45度角的方向,并且所述假设估计模式信息可包括在所述两个或更多个子像素距离中选择的一个子像素距离和在所述两个或更多个直线方向中选择的一个直线方向的8种组合。
输出所述假设估计模式信息的操作可包括:根据编码单元的深度确定所述假设估计模式信息的上下文模型;通过使用与当前编码单元的深度相应的4个上下文模型对所述假设估计模式信息执行熵编码。
确定参考块的操作可包括以下操作:通过使用在具有0度角、90度角、135度角和45度角的直线方向中的每个直线方向上与当前估计因子像素相距1/4像素距离的假设估计因子像素来计算率失真(RD)代价;通过使用在产生RD代价中的最小RD代价的方向上与当前估计因子像素相距1/2像素距离的假设估计因子像素来计算RD代价;确定产生RD代价中的最小RD代价所在的直线方向和子像素距离;确定参考块,其中,所述参考块是分别包括基于产生RD代价中的最小RD代价所在的直线方向和子像素距离而确定的假设估计因子像素的块的平均块。
根据本公开的另一方面,提供一种使用运动矢量估计因子的运动补偿设备,所述运动补偿设备包括:信息获得器,获得在编码单元中所包括的预测单元中的当前预测单元的残差数据和当前运动矢量,并获得编码单元的假设估计模式信息;假设估计模式确定器,基于所述假设估计模式信息来确定预定子像素距离和预定直线方向的组合,其中,所述预定子像素距离是在两个或更多个子像素距离中选择的,所述预定直线方向是在两个或更多个直线方向选择的;运动补偿器,通过使用分别包括所述预定直线方向上与当前估计因子像素相距所述预定子像素距离的两个假设估计因子像素的块来确定参考块,并通过将残差数据和参考块合并来产生当前预测单元的恢复块,其中,当前估计因子像素由当前运动矢量指示。
根据本公开的另一方面,提供一种使用运动矢量估计因子的运动估计设备,所述运动估计设备包括:运动估计器,在编码单元中包括的预测单元中,确定用于当前预测单元的帧间预测的当前运动矢量,并通过使用分别包括预定直线方向上的以当前估计因子像素为中心的两个假设估计因子像素的块来确定参考块,其中,所述两个假设估计因子像素在与当前估计因子像素相距预定子像素距离的多个假设估计因子像素之中,并且其中,当前估计因子像素由当前运动矢量指示;信息输出单元,输出编码单元的假设估计模式信息,输出预测单元的运动矢量差值信息,其中,所述假设估计模式信息指示预定子像素距离和预定直线方向的组合,其中,预定子像素距离是在两个或更多个子像素距离中选择的,预定直线方向是在两个或更多个直线方向中选择的。
根据本公开的另一方面,提供一种记录有用于执行所述运动补偿方法的计算机程序的计算机可读记录介质。
根据本公开的另一方面,提供一种记录有用于执行所述运动估计方法的计算机程序的计算机可读记录介质。
具体实施方式
在下文中,参照图1至图13,将描述基于具有树结构的编码单元的视频编码和解码方案。在下文中,术语“图像”可指示静止图像或运动画面(即,视频本身)。此外,参照图14至图20,将描述用于通过使用多个假设来执行运动估计和运动补偿的方法和设备,所述运动估计和运动补偿用于在基于具有树结构的编码单元的视频编码和解码方法中执行的帧间预测。
首先,参照图1至图13,将描述基于具有树结构的编码单元的视频编码和解码方案。
图1是根据本公开的实施例的基于根据树结构的编码单元的视频编码设备100的框图。
基于根据树结构的编码单元进行视频预测的视频编码设备100包括编码单元确定器120和输出单元130。在下文中,为了便于描述,基于根据树结构的编码单元进行视频预测的视频编码设备100被称为“视频编码设备100”。
编码单元确定器120可基于图像的当前画面的最大编码单元来划分当前画面。如果当前画面大于最大编码单元,则可将当前画面的图像数据划分为至少一个最大编码单元。根据本公开的实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度和长度为2的若干次方的正方形。图像数据可根据至少一个最大编码单元被输出到编码单元确定器120。
根据本公开的实施例的编码单元可由最大尺寸和深度表征。深度表示编码单元从最大编码单元被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分到最小编码单元。最大编码单元的深度为最高深度,最小编码单元的深度为最低深度。由于随着最大编码单元的深度加深,与每个深度相应的编码单元的尺寸减小,因此与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。
如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为最大编码单元,并且每个最大编码单元可包括根据深度被划分的较深层编码单元。由于根据深度对根据本公开的实施例的最大编码单元进行划分,因此可根据深度对包括在最大编码单元中的空间域的图像数据进行分层分类。
可预先确定编码单元的最大深度和最大尺寸,其中,所述最大深度和最大尺寸限制最大编码单元的高度和宽度被分层划分的总次数。
编码单元确定器120对通过根据深度对最大编码单元的区域进行划分而获得的至少一个划分区域进行编码,并且根据所述至少一个划分区域来确定用于输出最终编码的图像数据的深度。换言之,编码单元确定器120通过根据当前画面的最大编码单元以根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。因此,最终输出与确定的编码深度相应的编码单元的编码图像数据。此外,与编码深度相应的编码单元可被视为编码的编码单元。将确定的编码深度和根据确定的编码深度的编码的图像数据输出到输出单元130。
基于与等于或低于最大深度的至少一个深度相应的较深层编码单元,对最大编码单元中的图像数据进行编码,并且基于每个较深层编码单元比较对图像数据进行编码的结果。在对较深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
随着编码单元根据深度而被分层地划分以及随着编码单元的数量增加,最大编码单元的尺寸被划分。另外,即使在一个最大编码单元中编码单元与同一深度相应,仍通过分别测量每个编码单元的图像数据的编码误差来确定是否将与同一深度相应的每个编码单元划分到更低深度。因此,即使图像数据被包括在一个最大编码单元中,图像数据根据深度被划分为多个区域,并且编码误差可根据所述一个最大编码单元中的区域而不同,因此编码深度可根据图像数据中的区域而不同。因此,可在一个最大编码单元中确定一个或更多个编码深度,并且可根据至少一个编码深度的编码单元来对最大编码单元的图像数据进行划分。
因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据本公开的实施例的“具有树结构的编码单元”包括在最大编码单元中包括的所有较深层编码单元中的与被确定为编码深度的深度相应的编码单元。可根据最大编码单元的相同区域中的深度来分层地确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,可从另一区域的编码深度独立地确定当前区域中的编码深度。
根据本公开的实施例的最大深度是与从最大编码单元到最小编码单元所执行划分的次数相关的索引。根据本公开的实施例的第一最大深度可表示从最大编码单元到最小编码单元所执行划分的总次数。根据本公开的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度等级的总数。例如,当最大编码单元的深度是0时,对最大编码单元划分一次的编码单元的深度可被设置为1,对最大编码单元划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次后的编码单元,则存在深度0、1、2、3和4的5个深度等级,并因此第一最大深度可被设置为4,第二最大深度可被设置为5。
可根据最大编码单元执行预测编码和变换。还根据最大编码单元,基于根据等于或小于最大深度的深度的较深层编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。
由于每当根据深度对最大编码单元进行划分时,较深层编码单元的数量增加,因此将对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于解释,在最大编码单元中,现在将基于当前深度的编码单元来描述预测编码和变换。
视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择不同于编码单元的数据单元,以便对编码单元中的图像数据执行预测编码。
为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与更低深度相应的编码单元的编码单元)来执行预测编码。以下,不再被划分且成为用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过划分预测单元获得的分区可包括预测单元以及通过对预测单元的高度和宽度中的至少一个进行划分而获得的数据单元。分区是通过对编码单元的预测单元进行划分而获得的数据单元,并且预测单元可以是具有与编码单元相同的尺寸的分区。
例如,当2N×2N(其中,N是正整数)的编码单元不再被划分并成为2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高度或宽度进行对称地划分而获得的对称分区、通过对预测单元的高度或宽度进行非对称地划分(诸如,1:n或n:1)而获得的分区、通过对预测单元进行几何地划分而获得的分区、以及具有任意形状的分区。
预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。另外,可仅对2N×2N的分区执行跳过模式。可对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
视频编码设备100不仅可基于用于对图像数据进行编码的编码单元还可基于与编码单元不同的变换单元,来对编码单元中的图像数据执行变换。为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的变换单元可包括帧内模式的变换单元和帧间模式的数据单元。
类似于根据本实施例的基于树结构的编码单元,编码单元中的变换单元可被递归地划分为更小尺寸的区域,并且可基于根据变换深度的具有树结构的变换单元,对编码单元中的残差数据进行划分。
根据本公开的实施例,还可在变换单元中设置变换深度,其中,变换深度指示通过对编码单元的高度和宽度进行划分而达到变换单元所执行的划分次数。例如,在当前编码单元的变换单元的尺寸是2N×2N时,变换深度可被设置为0,当变换单元的尺寸是N×N时,变换深度可被设置为1。另外,当变换单元的尺寸是N/2×N/2时,变换深度可被设置为2。也就是说,还可根据变换深度设置根据树结构的变换单元。
根据与编码深度相应的编码单元的编码信息不仅要求关于编码深度的信息,还要求与预测编码和变换相关的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式以及用于变换的变换单元的尺寸。
随后将参照图10至图21详细描述根据本公开的实施例的最大编码单元中的根据树结构的编码单元和预测单元/分区以及确定变换单元的方法。
编码单元确定器120可通过使用基于拉格朗日乘数的率失真优化,来测量根据深度的较深层编码单元的编码误差。
输出单元130在比特流中输出最大编码单元的图像数据和关于根据编码深度的编码模式的信息,其中,所述最大编码单元的图像数据基于由编码单元确定器120确定的至少一个编码深度被编码。
可通过对图像的残差数据进行编码来获得编码图像数据。
关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于在预测单元中的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。
可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,根据深度的划分信息指示是否对更低深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则对当前编码单元中的图像数据进行编码并输出,因此可将划分信息定义为不将当前编码单元划分到更低深度。可选地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,并因此可将划分信息定义为对当前编码单元进行划分来获得更低深度的编码单元。
如果当前深度不是编码深度,则对被划分到更低深度的编码单元的编码单元执行编码。由于更低深度的至少一个编码单元存在于当前深度的一个编码单元中,因此对更低深度的每个编码单元重复执行编码,并因此可对具有相同深度的编码单元递归地执行编码。
由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,所以可针对一个最大编码单元确定关于至少一个编码模式的信息。另外,由于根据深度对图像数据进行分层划分,因此最大编码单元的图像数据的编码深度可根据位置而不同,因此可针对图像数据设置关于编码深度和编码模式的信息。
因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
根据本公开的实施例的最小单元是通过将构成最低深度的最小编码单元划分为4份而获得的矩形数据单元。可选择地,最小单元可以是被包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中的具有最大尺寸的最大矩形数据单元。
例如,通过输出单元130输出的编码信息可被分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息、以及关于帧内模式的插值方法的信息。
此外,根据画面、条带或GOP定义的关于编码单元的最大尺寸的信息和关于最大深度的信息可被***到比特流的头、序列参数集(SPS)或画面参数集(PPS)中。
另外,还可通过比特流的头、SPS或PPS来输出关于可允许用于当前视频的变换单元的最大尺寸的信息、以及关于变换单元的最小尺寸的信息。
在视频编码设备100中,较深层编码单元可以是通过将更高深度的编码单元(更高一层)的高度或宽度划分成两份而获得的编码单元。换言之,当当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是N×N。另外,尺寸为2N×2N的当前深度的编码单元可包括最多4个所述更低深度的编码单元。
因此,视频编码设备100可基于考虑当前画面的特征而确定的最大编码单元的尺寸和最大深度,通过针对每个最大编码单元确定具有最优形状和最优尺寸的编码单元来形成具有树结构的编码单元。另外,由于可通过使用各种预测模式和变换中的任意一个对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特征来确定最优编码模式。
因此,如果以传统宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块的数量极度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩的信息,且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像的尺寸的同时增加编码单元的最大尺寸,并同时在考虑图像的特征的同时调整编码单元,因此可提高图像压缩效率。
图2是根据本公开的实施例的基于树结构的编码单元的视频解码设备200的框图。
基于根据树结构的编码单元的视频解码设备200包括符号获得器220和图像数据解码器230。在下文中,为了便于描述,使用基于根据树结构的编码单元的视频预测的视频解码设备200将被称为“视频解码设备200”。
用于视频解码设备200的解码操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图1和视频编码设备100描述的定义相同。
符号获得器220接收和解析编码视频的比特流。符号获得器220从解析的比特流,针对每个编码单元提取编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。符号获得器220可从关于当前画面的头、SPS或PPS提取关于当前画面的编码单元的最大尺寸的信息。
另外,符号获得器220从解析的比特流,根据每个最大编码单元,提取关于具有树结构的编码单元的编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换言之,比特流中的图像数据被划分为最大编码单元,使得图像数据解码器230针对每个最大编码单元对图像数据进行解码。
可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。另外,根据深度的划分信息可被提取为关于编码深度的信息。
由符号获得器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是这样的关于编码深度和编码模式的信息:该信息被确定为在编码器(诸如,视频编码设备100)根据每个最大编码单元对根据深度的每个较深层编码单元重复地执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。
由于关于编码深度和编码模式的编码信息可被分配给相应的编码单元、预测单元和最小单元中的预定数据单元,因此符号获得器220可根据预定数据单元,提取关于编码深度和编码模式的信息。被分配了关于编码深度和编码模式的相同信息的预定数据单元可被推断为包括在相同最大编码单元中的数据单元。
图像数据解码器230基于关于根据最大编码单元的编码深度和编码模式的信息,通过对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换言之,图像数据解码器230可基于提取出的关于包括在每个最大编码单元中的具有树结构的编码单元之中的每个编码单元的分区类型、预测模式和变换单元的信息,对编码的图像数据进行解码。解码处理可包括预测(包含帧内预测和运动补偿)和逆变换。根据逆正交变换或逆整数变换来执行逆变换。
图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式,执行帧内预测或运动补偿。
此外,针对每个最大编码单元的逆变换,图像数据解码器230可针对每个编码单元读取根据树结构的变换单元信息以确定每个编码单元的变换单元,并基于每个编码单元的变换单元来执行逆变换。经过逆变换,可恢复编码单元的空间域的像素值。
图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度中不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于用于与编码深度相应的每个编码单元的预测单元的分区类型、预测模式和变换单元的尺寸的信息,对当前最大编码单元中的与每个编码深度相应的至少一个编码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。
换言之,可通过观察被分配给编码单元、预测单元和最小单元中的预定数据单元的编码信息集来收集包含包括相同划分信息的编码信息的数据单元,并且收集的数据单元可被认为是将由图像数据解码器230以相同编码模式进行解码的一个数据单元。针对如上所述被确定的每个编码单元,可获得关于编码模式的信息以对当前编码单元进行解码。
视频解码设备200可获得关于当对每个最大编码单元递归地执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换言之,可对在每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,编码单元的最大尺寸在考虑分辨率和图像数据量的情况下被确定。
因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式,有效地对图像数据进行解码和恢复,其中,通过使用从编码器接收到的关于最优编码模式的信息,根据图像数据的特征自适应地确定所述编码单元的尺寸和编码模式。
图3是用于描述根据本公开的实施例的编码单元的构思的示图。
编码单元的尺寸可被表示为宽度×高度,并且可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64或32×32的分区,32×32的编码单元可被划分为32×32、32×16、16×32或16×16的分区,16×16的编码单元可被划分为16×16、16×8、8×16或8×8的分区,8×8的编码单元可被划分为8×8、8×4、4×8或4×4的分区。
在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16,最大深度为1。图10中示出的最大深度表示从最大编码单元到最小编码单元的划分总次数。
如果分辨率高或数据量大,则编码单元的最大尺寸可能较大,从而不仅提高编码效率,而且准确地反映图像的特征。因此,具有比视频数据330更高分辨率的视频数据310和320的编码单元的最大尺寸可以是64。
由于视频数据310的最大深度是2,因此由于通过对最大编码单元划分两次,深度加深至两层,因此视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元和长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此由于通过对最大编码单元划分一次,深度加深至一层,因此视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元和长轴尺寸为8的编码单元。
由于视频数据320的最大深度是3,因此由于通过对最大编码单元划分三次,深度加深至3层,因此视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元和长轴尺寸为32、16和8的编码单元。随着深度加深,详细信息可被精确地表示。
图4是根据本公开的实施例的基于编码单元的图像编码器400的框图。
图像编码器400执行视频编码设备100的编码单元确定器120的操作来对图像数据进行编码。换言之,帧内预测器410对当前帧405中的帧内模式下的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的帧间模式下的编码单元执行帧间估计和运动补偿。
从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化后的变换系数。量化后的变换系数通过反量化器460和逆变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490后处理之后被输出为参考帧495。量化后的变换系数可通过熵编码器450被输出为比特流455。
为了在视频编码设备100中应用图像编码器400,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元执行操作。
具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
图5是根据本公开的实施例的基于编码单元的图像解码器500的框图。
解析器510从比特流505解析将被解码的编码图像数据和解码所需的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过逆变换器540被恢复为空间域中的图像数据。
针对空间域中的图像数据,帧内预测器550对帧内模式下的编码单元执行帧内预测,运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。
通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580后处理之后输出为恢复帧595。另外,通过去块单元570和环路滤波单元580后处理的图像数据可输出为参考帧585。
为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解码器500可执行在解析器510执行操作之后执行的操作。
为了在视频解码设备200中应用图像解码器500,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)针对每个最大编码单元基于具有树结构的编码单元执行操作。
具体地,帧内预测器550和运动补偿器560针对具有树结构的每个编码单元基于分区和预测模式执行操作,逆变换器540针对每个编码单元基于变换单元的尺寸执行操作。
图6是示出根据本公开的实施例的根据深度的较深层编码单元以及分区的示图。
视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特征。可根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据预定的编码单元的最大尺寸确定根据深度的较深层编码单元的尺寸。
根据本公开的实施例,在编码单元的分层结构600中,编码单元的最大高度和最大宽度均是64,最大深度是3。在此情况下,最大深度是指编码单元从最大编码单元到最小编码单元被划分的总次数。由于深度沿着分层结构600的垂直轴加深,因此较深层编码单元的高度和宽度均被划分。另外,预测单元和分区沿着分层结构600的水平轴被示出,其中,所述预测单元和分区是对每个较深层编码单元进行预测编码的基础。
换言之,在分层结构600中,编码单元610是最大编码单元,其中,深度为0,尺寸(即,高度乘宽度)为64×64。深度沿着垂直轴加深,存在尺寸为32×32和深度为1的编码单元620、尺寸为16×16和深度为2的编码单元630、尺寸为8×8和深度为3的编码单元640。尺寸为8×8和深度为3的编码单元640是具有最低深度的最小编码单元。
编码单元的预测单元和分区根据每个深度沿着水平轴被排列。换言之,如果尺寸为64×64和深度为0的编码单元610是预测单元,则可将预测单元划分成包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
类似地,可将尺寸为32×32和深度为1的编码单元620的预测单元划分成包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
类似地,可将尺寸为16×16和深度为2的编码单元630的预测单元划分成包括在编码单元630中的分区,即,包括在编码度单元630中的尺寸为16×16的分区、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。
类似地,可将尺寸为8×8和深度为3的编码单元640的预测单元划分成包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。
为了确定构成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
随着深度加深,包括具有相同范围和相同尺寸的数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元来覆盖包括在与深度1相应的一个编码单元中的数据。因此,为了根据深度比较对相同数据进行编码的结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。
为了针对多个深度之中的当前深度执行编码,可沿着分层结构600的水平轴,通过对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度,选择最小编码误差。可选地,可通过随着深度沿着分层结构600的垂直轴加深,针对每个深度执行编码来比较根据深度的最小编码误差,以搜索最小编码误差。在编码单元610中的具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
图7是用于描述根据本公开的实施例的编码单元710和变换单元720之间的关系的示图。
视频编码设备100或视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元,对图像进行编码或解码。可基于不大于相应编码单元的数据单元,来选择用于在编码期间进行变换的变换单元的尺寸。
例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的每个变换单元执行变换,来对尺寸为64×64的编码单元710的数据进行编码,然后可选择具有最小编码误差的变换单元。
图8是用于描述根据本公开的实施例的与编码深度相应的编码单元的编码信息的示图。
视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810以及关于变换单元尺寸的信息820进行编码,并将信息800、信息810和信息820作为关于编码模式的信息来发送。
信息800指示关于通过对当前编码单元的预测单元进行划分获得的分区的形状的信息,其中,分区是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2N×2N的当前编码单元CU_0可划分为尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808中的任意一种。这里,关于分区类型的信息800设置为指示尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808之一。
信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。
视频解码设备200的符号获得器220可根据每个较深层编码单元,提取并使用用于解码的信息800、810和820。
图9是根据本公开的实施例的根据深度的较深层编码单元的示图。
划分信息可用来指示深度的改变。划分信息指示当前深度的编码单元是否被划分成更低深度的编码单元。
用于对深度为0和尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括以下分区类型的分区:尺寸为2N_0×2N_0的分区类型912、尺寸为2N_0×N_0的分区类型914、尺寸为N_0×2N_0的分区类型916和尺寸为N_0×N_0的分区类型918。图9仅示出了通过对称地划分预测单元910而获得的分区类型912至918,但是分区类型不限于此,并且预测单元910的分区可包括非对称分区、具有预定形状的分区和具有几何形状的分区。
根据每种分区类型,对尺寸为2N_0×2N_0的一个分区、尺寸为2N_0×N_0的两个分区、尺寸为N_0×2N_0的两个分区和尺寸为N_0×N_0的四个分区重复地执行预测编码。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0×2N_0的分区执行跳过模式下的预测编码。
对包括分区类型912至918中的预测编码的编码的误差进行比较,并在分区类型中确定最小编码误差。如果在分区类型912至916中的一个分区类型中编码误差最小,则可不将预测单元910划分到更低深度。
如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920中划分分区类型918,并对深度为2和尺寸为N_0×N_0的编码单元930重复地执行编码来搜索最小编码误差。
用于对深度为1和尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930进行预测编码的预测单元940可包括以下分区类型的分区:尺寸为2N_1×2N_1的分区类型942、尺寸为2N_1×N_1的分区类型944、尺寸为N_1×2N_1的分区类型946以及尺寸为N_1×N_1的分区类型948。
如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950中划分分区类型948,并对深度为2和尺寸为N_2×N_2的编码单元960重复执行编码来搜索最小编码误差。
当最大深度是d时,根据每个深度的划分操作可被执行直到深度变成d-1,并且划分信息可被编码直到深度是0到d-2之一。换句话说,当编码被执行直到在与d-2的深度相应的编码单元在操作970中被划分之后深度是d-1时,用于对深度为d-1和尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预测编码的预测单元990可包括以下分区类型的分区:尺寸为2N_(d-1)×2N(d-1)的分区类型992、尺寸为2N_(d-1)×N(d-1)的分区类型994、尺寸为N_(d-1)×2N(d-1)的分区类型996和尺寸为N_(d-1)×N(d-1)的分区类型998。
可对分区类型992至998中的尺寸为2N_(d-1)×2N_(d-1)的一个分区、尺寸为2N_(d-1)×N_(d-1)的两个分区、尺寸为N_(d-1)×2N_(d-1)的两个分区、尺寸为N_(d-1)×N_(d-1)的四个分区重复地执行预测编码,以搜索具有最小编码误差的分区类型。
即使当分区类型998具有最小编码误差时,由于最大深度是d,因此深度为d-1的编码单元CU_(d-1)也不再被划分到更低深度,用于构成当前最大编码单元900的编码单元的编码深度被确定为d-1,并且当前最大编码单元900的分区类型可被确定为N_(d-1)×N(d-1)。此外,由于最大深度是d,并且具有最低深度d-1的最小编码单元980不再被划分到更低深度,因此不设置最小编码单元980的划分信息。
数据单元999可以是用于当前最大编码单元的“最小单元”。根据本公开的实施例的最小单元可以是通过将最小编码单元980划分成4份而获得的矩形数据单元。通过重复地执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并将相应分区类型和预测模式设置为编码深度的编码模式。
这样,在所有深度1至d中对根据深度的最小编码误差进行比较,并且具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息被编码并发送。另外,由于编码单元从0的深度被划分到编码深度,因此仅将编码深度的划分信息设置为0,并且将除了编码深度以外的深度的划分信息设置为1。
视频解码设备200的符号获得器220可提取并使用关于编码单元900的编码深度和预测单元的信息,来对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息,将划分信息为0的深度确定为编码深度,并且使用关于相应深度的编码模式的信息来进行解码。
图10至图12是用于描述根据本公开的实施例的在编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
编码单元1010是最大编码单元中的与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是每个编码单元1010中的预测单元的分区,变换单元1070是每个编码单元1010的变换单元。
当在编码单元1010中最大编码单元的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。
在预测单元1060中,通过划分编码单元1010中的编码单元来获得一些编码度单元1014、1016、1022、1032、1048、1050、1052和1054。换句话说,编码单元1014、1022、1050和1054中的分区类型的尺寸是2N×N,编码单元1016、1048和1052中的分区类型的尺寸是N×2N,编码单元1032的分区类型的尺寸为N×N。编码单元1010的预测单元和分区小于或等于每个编码单元。
在小于编码单元1052的数据单元中的变换单元1070中,对编码单元1052的图像数据执行变换或逆变换。另外,在尺寸和形状方面,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052不同于预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052。换句话说,视频编码设备100和视频解码设备200可对同一编码单元中的数据单元独立地执行帧内预测、运动估计、运动补偿、变换和逆变换。
因此,对最大编码单元的每个区域中的具有分层结构的每个编码单元递归地执行编码来确定最优编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
[表1]
视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的符号获得器220可从接收到的比特流提取关于具有树结构的编码单元的编码信息。
划分信息指示是否将当前编码单元划分成更低深度的编码单元。如果当前深度d的划分信息是0,则当前编码单元不再被划分成更低深度的深度是编码深度,从而可针对所述编码深度来定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深度的四个划分编码单元独立地执行编码。
预测模式可以是帧内模式、帧间模式和跳过模式中的一种。可针对所有分区类型定义帧内模式和帧间模式,仅在尺寸为2N×2N的分区类型中定义跳过模式。
关于分区类型的信息可指示通过对称地划分预测单元的高度或宽度而获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过非对称地划分预测单元的高度或宽度而获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的非对称分区类型。可通过按1:3和3:1来划分预测单元的高度来分别获得尺寸为2N×nU和2N×nD的非对称分区类型,可通过按1:3和3:1来划分预测单元的宽度来分别获得尺寸为nL×2N和nR×2N的非对称分区类型。
可将变换单元的尺寸设置成帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,即当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。另外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型时,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是非对称分区类型,则变换单元的尺寸可以是N/2×N/2。
关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括包含相同编码信息的预测单元和最小单元中的至少一个。
因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否被包括在与编码深度相应的同一编码单元中。另外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,并因此可确定最大编码单元中的编码深度的分布。
因此,如果基于邻近数据单元的编码信息来对当前编码单元进行预测,则可直接参考并使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
可选地,如果基于邻近数据单元的编码信息来对当前编码单元进行预测,则使用与当前编码单元邻近的数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并可参考搜索到的邻近编码单元以对当前编码单元进行预测。
图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区和变换单元之间的关系的示图。
最大编码单元1300包括多个编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是一个编码深度的编码单元,因此划分信息可以被设置成0。可将关于尺寸为2N×2N的编码单元1318的分区类型的信息设置成以下分区类型中的一种:尺寸为2N×2N的分区类型1322、尺寸为2N×N的分区类型1324、尺寸为N×2N的分区类型1326、尺寸为N×N的分区类型1328、尺寸为2N×nU的分区类型1332、尺寸为2N×nD的分区类型1334、尺寸为nL×2N的分区类型1336以及尺寸为nR×2N的分区类型1338。
变换单元的划分信息(TU(变换单元)尺寸标记)是一种类型的变换索引。与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或分区类型而改变。
例如,当分区类型被设置成对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的划分信息(TU尺寸标记)是0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记是1,则设置尺寸为N×N的变换单元1344。
当分区类型被设置成非对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记是0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记是1,则设置尺寸为N/2×N/2的变换单元1354。
参照图20,TU尺寸标记是具有值0或1的标记,但是TU尺寸标记不限于1比特,并且变换单元可在TU尺寸标记从0开始增加时被分层划分为具有树结构。变换单元的划分信息(TU尺寸标记)可以是变换索引的示例。
在这种情况下,根据本公开的实施例,可通过使用变换单元的TU尺寸标记以及变换单元的最大尺寸和最小尺寸来表示实际上已使用的变换单元的尺寸。根据本公开的实施例,视频编码设备100能够对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码的结果可被***SPS。根据本公开的实施例,视频解码设备200可通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记来对视频进行解码。
例如,(a)如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32×32,则(a-1)当TU尺寸标记为0时,变换单元的尺寸可以是32×32,(a-2)当TU尺寸标记为1时,变换单元的尺寸可以是16×16,(a-3)当TU尺寸标记为2时,变换单元的尺寸可以是8×8。
作为另一示例,(b)如果当前编码单元的尺寸是32×32并且最小变换单元尺寸是32×32,则(b-1)当TU尺寸标记为0时,变换单元的尺寸可以是32×32。这里,由于变换单元的尺寸不能够小于32×32,因此TU尺寸标记不能够被设置为除了0以外的值。
作为另一示例,(c)如果当前编码单元的尺寸是64×64并且最大TU尺寸标记为1,则TU尺寸标记可以是0或1。这里,TU尺寸标记不能够被设置为除了0或1以外的值。
因此,当TU尺寸标记为0时,如果定义最大TU尺寸标记为“MaxTransformSizeIndex”,最小变换单元尺寸为“MinTransformSize”,变换单元尺寸为“RootTuSize”,则可通过等式(1)来定义可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”:
CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))…(1)
与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,当TU尺寸标记为0时,变换单元尺寸“RootTuSize”可指示在***中可选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”指示当TU尺寸标记为0时,变换单元尺寸“RootTuSize”被划分了与最大TU尺寸标记相应的次数时的变换单元尺寸,“MinTransformSize”指示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中较小的值可以是可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。
根据本公开的实施例,最大变换单元尺寸RootTuSize可根据预测模式的类型而改变。
例如,如果当前预测模式是帧间模式,则可通过使用以下的等式(2)来确定“RootTuSize”。在等式(2)中,“MaxTransformSize”指示最大变换单元尺寸,“PUSize”指示当前预测单元尺寸:
RootTuSize=min(MaxTransformSize,PUSize)……(2)
也就是说,如果当前预测模式是帧间模式,则当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中较小的值。
如果当前分区单元的预测模式是帧内模式,则可通过使用以下的等式(3)来确定“RootTuSize”。在等式(3)中,“PartitionSize”指示当前分区单元的尺寸:
RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
也就是说,如果当前预测模式是帧内模式,则当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分区单元的尺寸之中较小的值。
然而,根据分区单元中的预测模式的类型而改变的当前最大变换单元尺寸“RootTuSize”仅是示例,本公开的一个或更多个实施例不限于此。
根据参照图1至图13描述的基于具有树结构的编码单元的视频编码方法,针对树结构的每个编码单元对空间域的图像数据进行编码。根据基于具有树结构的编码单元的视频解码方法,针对每个最大编码单元执行解码以恢复空间域的图像数据。因此,可恢复画面和作为画面序列的画面视频。恢复后的视频可由再现设备来再现,可被存储在存储介质中,或可通过网络被发送。
在下文中,参照图14至图20,将描述使用多个假设的运动估计方法和运动补偿方法,其中,所述运动估计方法和运动补偿方法用于在基于具有树结构的编码单元的视频解码方法和视频编码方法中执行的帧间预测。
帧间预测利用当前图像和另一图像之间的相似性。从在当前图像之前被恢复的参考图像检测与当前图像的当前区域相似的参考区域。当前区域和参考区域之间在坐标上的距离被表示为运动矢量,当前区域的像素值和参考区域的像素值之间的差被表示为残差数据。因此,通过对当前区域执行帧间预测,可输出指示参考图像的索引、运动矢量和残差数据,而不直接输出当前区域的图像信息。
用于帧间预测的操作可普遍被分类为运动估计操作和运动补偿操作,其中,运动估计操作用于确定用于当前图像的参考图像、运动矢量和残差数据,运动补偿操作用于通过使用参考图像、运动矢量和残差数据来恢复当前图像。将参照图14来描述运动估计设备1400的操作,将参照图15来描述运动补偿设备1500的操作。
运动估计设备1400和运动补偿设备1500可针对每个图像的每个块执行帧间预测。块的类型可以是方形、矩形或任意几何图形。块的类型不限于具有预定尺寸的数据单元。
用于帧间预测的数据块可以是预测单元(或分区)。如上所述,在具有树结构的编码单元中,可将每个最大编码单元划分为多个编码单元,并可将所述多个编码单元中的每个编码单元划分为一个或更多个预测单元。虽然在一个编码单元中包括多个预测单元,但是可根据预测单元来执行运动估计,从而可根据预测单元来确定运动矢量、残差数据等。
因此,现在将参照图14和图15详细地描述由运动估计设备1400和运动补偿设备1500进行的操作,其中,运动估计设备1400和运动补偿设备1500对具有树结构的编码单元和预测单元执行帧间预测。
图14是根据本公开的实施例的运动估计设备1400的框图。
运动估计设备1400包括运动估计器1410和信息输出单元1420。
运动估计器1410可根据包括在图像的具有树结构的每个编码单元中的预测单元来执行运动估计。
运动估计器1410可确定当前运动矢量,以对包括在编码单元中的预测单元之中的当前预测单元执行帧间预测。为了在运动估计处理期间确定运动矢量,可执行用于搜索与当前预测单元最相似的块的操作。运动矢量可被确定为指示搜索到的块的位置和当前预测单元的位置之间的差的矢量。
为了进一步精确地确定关于由当前运动矢量指示的当前估计因子像素的运动矢量,信息输出单元1420除了可使用当前估计因子像素之外,还可使用假设估计因子像素。
在本实施例中,可以以具有预定精度的像素为单位来确定由当前运动矢量指示的当前估计因子像素。在参考图像的子像素***值以用于帧间预测的情况下,可以以子像素为单位来确定运动矢量。在当前估计因子像素是子像素时,可在与当前估计因子像素邻近的子像素中确定假设估计因子像素。可选择在预定方向上的以当前估计因子像素为中心的两个或更多个假设估计因子像素。
例如,在按照1/4像素单位的精度对参考图像的宽度和高度进行插值的情况下,当前估计因子像素可指示位于插值的参考图像的每个1/4像素距离处的子像素。因此,可按照1/4像素单位来确定当前估计因子像素的x坐标值和y坐标值。在本实施例中,可将假设估计因子像素确定为与当前估计因子像素相距1/4像素距离或1/2像素距离的子像素。通过使用与运动矢量相距子像素距离的假设估计因子(其中,该运动矢量指示根据子像素单位***值的参考图像),可从根据子像素单位***值的参考图像中确定最相似的参考块。
由当前预测单元的运动矢量指示的假设估计因子像素可以是参考块的代表像素。例如,假设估计因子像素可以是参考块的左上方像素。因此,当假设估计因子像素被确定时,可确定包括假设估计因子像素的并具有与预测单元相同尺寸的参考块。因此,当针对当前估计因子像素确定假设估计因子像素时,可确定包括假设估计因子像素的参考块。
此外,运动估计器1410可从与当前估计因子像素相距子像素距离的多个假设估计因子像素中确定估计因子像素。此外,运动估计器1410可通过合并多个假设估计因子像素来产生一个估计因子像素。
运动估计器1410可选择这样的假设估计因子像素:所述假设估计因子像素在直线上以当前估计因子像素为中心彼此相对,并在与当前估计因子像素相距子像素距离的假设估计因子像素中。
例如,运动估计器1410可选择这样的两个假设估计因子像素:所述两个假设估计因子像素在直线上以当前估计因子像素为中心,并在与当前估计因子像素相距子像素距离的假设估计因子像素中,并且,运动估计器1410可通过使用选择的两个假设估计因子像素来确定估计因子像素。
运动估计器1410可确定这样的估计因子像素:所述估计因子像素指示选择的两个假设估计因子像素的运动矢量的平均位置。因此,选择的第一假设估计因子像素表示包括第一假设估计因子像素的第一参考块,选择的第二假设估计因子像素表示包括第二假设估计因子像素的第二参考块。因此,由估计因子像素指示的参考块可以是由根据第一参考块和第二参考块的像素位置的像素值的平均值所形成的块。
因此,运动估计器1410可通过使用在预定直线方向上与当前估计因子像素相距子像素距离的两个假设估计因子像素来最终确定参考块。
运动估计器1410可产生当前预测单元和确定的参考块之间的残差数据。
信息输出单元1420可输出运动矢量差值信息,其中,运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值。运动矢量差值信息可按每个预测单元被输出。信息输出单元1420可根据预测单元输出当前预测单元和参考块之间的残差数据。
信息输出单元1420不仅可输出包括在编码单元中的预测单元的运动矢量差值信息,还可输出编码单元的假设估计模式信息。
假设估计模式信息可包括这样的信息:所述信息指示从以当前估计因子像素为中心的假设估计因子像素中选择的两个假设估计因子像素。
由于信息输出单元1420选择在预定直线方向上与当前估计因子像素相距子像素距离的假设估计因子像素,因此信息输出单元1420可产生指示被选择以便确定估计因子像素的直线方向和子像素距离的组合的信息。
例如,可产生并可输出这样的假设估计模式信息:所述假设估计模式信息指示在两个或更多个子像素距离中选择的预定子像素距离以及在两个或更多个直线方向中选择的预定直线方向的组合。
信息输出单元1420可根据编码单元确定假设估计模式。可将假设估计模式信息共同应用于包括在编码单元中的预测单元。因此,可将假设估计模式等同地应用于包括在编码单元中的每个预测单元。
因此,信息输出单元1420可根据预测单元输出运动矢量差值信息,并可根据编码单元输出假设估计模式信息。
例如,当编码单元包括第一预测单元和第二预测单元时,信息输出单元1420可首先输出关于第一预测单元的运动矢量差值信息,可输出关于编码单元的假设估计模式信息,然后可输出关于第二预测单元的运动矢量差值信息。
作为另一示例,在输出关于编码单元的假设估计模式信息之后,可针对第一预测单元和第二预测单元依次输出两条运动矢量差值信息。
两个或更多个子像素距离可包括1/4像素距离和1/2像素距离。1/4像素距离和1/2像素距离可分别表示通过将两个邻近整数像素之间的距离四等分而获得的点之间的最小距离和通过将两个邻近整数像素之间的距离二等分而获得的点之间的最小距离。两个或更多个直线方向可包括0度、90度、135度和45度的角。
由于所述假设估计模式由在两个子像素距离之中选择的子像素距离和在两个直线方向之中选择的直线方向的组合形成,因此所述假设估计模式可包括总共8个组合。
信息输出单元1420可对假设估计模式信息执行熵编码。例如,为了通过使用基于上下文自适应二进制算术编码(CABAC)方法执行熵编码,信息输出单元1420可确定用于假设估计模式信息的每个二进制位(bin)的上下文模型。例如,如果假设估计模式信息具有4个比特,则可针对每4个二进制位确定上下文模型,从而可确定4个上下文模型。
此外,信息输出单元1420可根据当前编码单元的深度来确定假设估计模式信息的上下文模型。例如,如果存在具有3个深度的编码单元,则3个深度中的每一个都需要用于假设估计模式信息的4个上下文模型,从而信息输出单元1420可确定用于假设估计模式信息的总共12个上下文模型。
信息输出单元1420可选择3个上下文模型,并通过使用选择的上下文模型对假设估计模式信息执行熵编码,其中,这3个上下文模型与当前编码单元的深度相应,并且在假设估计模式信息的基于先前上下文被先前确定的上下文模型之中。
如上所述,信息输出单元1420可对通过对视频进行编码而产生的符号执行熵编码,从而信息输出单元1420可产生并输出比特流。
运动估计器1410可通过使用在具有0度、90度、135度和45度的直线方向中的每个直线方向上与当前估计因子像素相距1/4像素距离的假设估计因子像素来计算率失真(RD)代价。运动估计器1410还可通过使用在计算出的RD代价之中RD代价最小的方向上与当前估计因子像素相距1/2像素距离的假设估计因子像素,来计算RD代价。由于在每个直线方向上按1/4像素距离计算4次RD代价,并且在预定直线方向上按1/2像素距离计算一次RD代价,因此可计算5次RD代价。
可从根据方向和子像素距离的组合而计算出的RD代价之中确定最小RD代价,并且可选择与最小RD代价相应的直线方向和子像素距离的组合。然后,可通过使用在选择的组合的直线方向上与当前估计因子像素相距子像素距离的两个假设估计因子像素来确定估计因子像素。可将分别包括预定直线方向上与当前估计因子像素相距子像素距离的两个假设估计因子像素的块的平均块确定为参考块。
运动估计设备1400可包括通常控制运动估计器1410和信息输出单元1420的中央处理器(未示出)。可选地,运动估计器1410和信息输出单元1420可分别由它们各自的处理器(未示出)来进行驱动,并且由于处理器(未示出)彼此交互操作,因此运动估计设备1400可进行操作。可选地,运动估计器1410和信息输出单元1420可由运动估计设备1400的外部处理器(未示出)进行控制。
运动估计设备1400可包括用于存储运动估计器1410和信息输出单元1420的输入数据和输出数据的至少一个数据存储单元(未示出)。运动估计设备1400可包括用于控制所述至少一个数据存储单元的数据输入和输出的存储器控制单元(未示出)。
如上所述,运动估计设备1400通过使用当前运动矢量并另外使用与当前估计因子像素相距子像素距离的假设估计因子像素来确定参考块,从而可提高帧间预测的精度。此外,运动估计设备1400仅允许具有高概率的组合作为为假设估计因子像素相对于当前估计因子像素所位于的方向和子像素距离的组合,从而可快速地选择假设估计因子像素。此外,关于选择的假设估计因子像素的信息的传输比特数被减少到最低限度,从而可提高包括假设估计模式信息的编码符号的比特率。
图15是根据本公开的实施例的运动补偿设备1500的框图。
运动补偿设备1500包括信息获得器1510、假设估计模式确定器1520和运动补偿器1530。
信息获得器1510可根据包括在编码单元中的预测单元来获得当前预测单元的当前运动矢量和残差数据。可根据预测单元来获得运动矢量差值信息,而不是当前运动矢量。
当信息获得器1510接收到编码符号的比特流时,信息获得器1510可通过从比特流解析符号来获得多条编码信息。信息获得器1510可通过解析比特流从比特流获得编码单元的假设估计模式信息。
运动补偿设备1500可接收被熵编码的比特流。在此情况下,信息获得器1510可对比特流执行熵解码,从而信息获得器1510可获得编码单元的假设估计模式信息,并可获得预测单元的运动矢量差值信息和残差数据。这里,可经由反量化和逆变换操作将从比特流获得的残差数据恢复成空间域的残差数据。
在另一示例中,为了产生用于另一图像的运动估计的参考图像,如果先前编码图像的以下信息被存储在存储器中:编码单元的假设估计模式信息和预测单元的运动矢量差值信息,则运动补偿设备1500可从存储器获得编码单元的假设估计模式信息和预测单元的运动矢量差值信息。可以以对量化后的变换系数执行反量化和逆变换的形式来存储残差数据。
运动补偿设备1500获得关于当前编码单元的一条假设估计模式信息,从而可将假设估计模式信息共同应用于包括在当前编码单元中的预测单元。
假设估计模式确定器1520可基于获得的假设估计模式信息,确定在两个或更多个子像素距离中选择的预定子像素距离和在两个或更多个直线方向中选择的预定直线方向的组合。
子像素距离包括1/4像素距离和1/2像素距离,直线方向包括0度、90度、135度和45度角,从而可从假设估计模式信息得到子像素距离和直线方向的8个组合。
因此,假设估计模式确定器1520可通过参考假设估计模式信息从以下组合中确定一个组合:组合(1/4像素距离和0°角方向)、组合(1/4像素距离和90°角方向)、组合(1/4像素距离和135°角方向)、组合(1/4像素距离和45°角方向)、组合(1/2像素距离和0°角方向)、组合(1/2像素距离和90°角方向)、组合(1/2像素距离和135°角方向)、组合(1/2像素距离和45°角方向)。
此外,假设估计模式确定器1520可通过对已被熵编码的假设估计模式信息执行熵解码来读取假设估计模式信息。
假设估计模式确定器1520可通过使用CABAC方法对假设估计模式信息执行熵解码,从而假设估计模式确定器1520可从假设估计模式信息解释子像素距离和直线方向的当前组合。
假设估计模式确定器1520可确定用于假设估计模式信息的每个比特的上下文模型。因此,可针对具有4比特的假设估计模式信息确定4个上下文模型。
假设估计模式确定器1520可通过使用与当前编码单元的深度相应的4个上下文模型,对假设估计模式信息执行熵解码。假设估计模式确定器1520可基于熵解码的假设估计模式信息,确定用于当前运动矢量的子像素距离和直线方向的组合。
根据确定的组合,可从4个直线方向和2个子像素距离中选择预定直线方向和预定子像素距离。运动补偿器1530可确定在预定直线方向上与当前估计因子像素相距预定子像素距离的两个假设估计因子像素,其中,当前估计因子像素由当前运动矢量来指示。运动补偿器1530可通过使用分别包括所述两个假设估计因子像素的块来确定参考块。运动补偿器1530可通过将获得的残差数据和确定的参考块进行合并来产生当前预测单元的恢复块。可用预测单元的恢复块来恢复编码单元。
运动补偿设备1500可通过另外地使用与当前运动矢量相距子像素距离的假设估计因子像素来确定参考块,从而可提高运动补偿的精度。此外,运动补偿设备1500可根据由假设估计模式信息指示的方向和子像素距离的组合来快速地选择假设估计因子像素。
以上参照图1至图13描述的基于具有树结构的编码单元的视频编码设备100和视频解码设备200可包括由运动估计设备1400进行的操作和由运动补偿设备1500进行的操作。
图1的视频编码设备100中的编码单元确定器120可执行由运动估计设备1400的运动估计器1410进行的操作和由运动补偿设备1500的假设估计模式确定器1520和运动补偿器1530进行的操作。视频编码设备100的输出单元130可执行由运动估计设备1400的信息输出单元1420进行的操作。
图2中示出的视频解码设备200的符号获得器220可执行由运动补偿设备1500的信息获得器1510和假设估计模式确定器1520进行的操作,视频解码设备200的图像数据解码器230可执行由运动补偿设备1500的运动补偿器1530进行的操作。
图4中示出的图像编码器400的运动估计器420可执行由运动估计设备1400的运动估计器1420进行的操作,图像编码器400的运动补偿器425可执行由运动补偿设备1500的假设估计模式确定器1520和运动补偿器1530进行的操作。图像编码器400的熵编码器450可执行由运动估计设备1400的信息输出单元1420进行的操作。
图5中示出的图像解码器500的解析器510可执行由运动补偿设备1500的信息获得器1510进行的操作,熵解码器520可执行由信息获得器1510进行的熵解码操作。图像解码器500的运动补偿器560可执行由假设估计模式确定器1520进行的操作,以便解释假设估计模式信息,并可执行由运动补偿器1530进行的运动补偿操作。
图16a和图16b示出根据本公开的实施例的假设估计模式的类型。
当前预测单元的当前运动矢量指示当前估计因子像素1600。根据本公开的实施例的运动估计设备1400和运动补偿设备1500通过仅使用除了当前运动矢量之外的模式信息来确定以子像素为单位的参考块,其中,该模式信息指示假设估计因子像素与当前运动矢量相距子像素距离所沿的方向并指示该子像素距离。在下文中,现在将描述由运动估计设备1400和运动补偿设备1500执行以便确定假设估计因子像素的操作。
在本实施例中,假设估计因子像素可指示在直线方向上与当前估计因子像素1600相距1/2像素距离和1/4像素距离的子像素。此外,假设估计因子像素可指示在0°、45°、90°和134°角方向上与当前估计因子像素1600分离的子像素。
因此,在本实施例中,可从在具有0°、45°、90°和135°角的直线方向上与当前估计因子像素1600相距1/2像素距离和1/4像素距离的子像素1611、1612、1621、1622、1631、1632、1641、1642、1651、1652、1661、1662、1671、1672、1681和1682中确定由假设估计因子指示的像素,即,假设估计因子像素。
为了确定参考块,可将在子像素1611、1612、1621、1622、1631、1632、1641、1642、1651、1652、1661、1662、1671、1672、1681和1682中的多个子像素确定为假设估计因子像素。
例如,可从子像素1611、1612、1621、1622、1631、1632、1641、1642、1651、1652、1661、1662、1671、1672、1681和1682选择一对假设估计因子像素。例如,可选择这样的一对假设估计因子像素:所述一对假设估计因子像素以当前估计因子像素1600为中心彼此相对,并在具有0°、45°、90°和135°角的直线方向上与当前估计因子像素1600相距1/2像素距离和1/4像素距离的子像素1611、1612、1621、1622、1631、1632、1641、1642、1651、1652、1661、1662、1671、1672、1681和1682中。
更详细地,可将第一组1610确定为假设估计因子像素组,其中,第一组1610包括在具有0°角的直线方向上位于1/4像素距离处并以当前估计因子像素1600为中心彼此相对的子像素1611和1612。类似地,可将第二组1620、第三组1630、第四组1640、第五组1650、第六组1660、第七组1670和第八组1680确定为假设估计因子像素组,其中,第二组1620包括在具有0°角的直线方向上位于1/2像素距离处的子像素1621和1622,第三组1630包括在具有90°角的直线方向上位于1/4像素距离处的子像素1631和1632,第四组1640包括在具有90°角的直线方向上位于1/2像素距离处的子像素1641和1642,第五组1650包括在具有135°角的直线方向上位于1/4像素距离处的子像素1651和1652,第六组1660包括在具有135°角的直线方向上位于1/2像素距离处的子像素1661和1662,第七组1670包括在具有45°角的直线方向上位于1/4像素距离处的子像素1671和1672的,第八组1680包括在具有45°角的直线方向上位于1/2像素距离处的子像素1681和1682。
运动估计设备1400和运动补偿设备1500可将参考块最终确定为由包括在假设估计因子像素组中的子像素指示的参考块的平均块。
例如,当第七组1670被选为假设估计因子像素组时,如果子像素1671指示第一参考块,第二子像素1672指示第二参考块,则可产生由根据第一参考块和第二参考块的像素位置的像素值的平均值形成的平均块,然后可将所述平均块确定为当前像素的参考块。
在本实施例中,假设估计模式信息可指示从假设估计因子像素组(即第一组至第七组1610、1620、1630、1640、1650、1660、1670和1680)中选择的组。此外,由于假设估计因子像素组包括在特定直线方向上与当前估计因子像素1600相距特定子像素距离的子像素,因此假设估计模式信息可指示所述特定直线方向和所述特定子像素距离的组合。
例如,可将假设估计模式信息表示为“模式N”。模式1与第一组1610相应,从而模式1可指示0°角方向和1/4像素距离的组合。类似地,模式2与第三组1630相应,从而模式2可指示90°角方向和1/4像素距离的组合。模式3与第五组1650相应,从而模式3可指示135°角方向和1/4像素距离的组合。模式4与第七组1670相应,从而模式4可指示45°角方向和1/4像素距离的组合。模式5与第二组1620相应,从而模式5可指示0°角方向和1/2像素距离。模式6与第四组1640相应,从而模式6可指示90°角方向和1/2像素距离的组合。模式7与第六组1660相应,从而模式7可指示135°角方向和1/2像素距离的组合。模式8与第八组1680相应,从而模式8可指示45°角方向和1/2像素距离的组合。
图17示出根据本公开的实施例的由假设估计模式指示的方向、符号值和距离的组合。
例如,图17示出关于假设估计因子像素的方向和子像素距离的组合,其中,所述组合分别与假设估计模式信息的模式相应,并且图17还示出分别与所述模式相应的比特符号。
模式0不与任何值相应。模式0可被应用于以子像素为单位的假设估计因子像素不被用于确定参考块的情况。模式1至模式4可被应用于子像素距离是1/4像素距离的假设估计因子像素的组,模式5至8可被应用于子像素距离是1/2像素距离的假设估计因子像素的组。
此外,在指示相同子像素距离的多条假设估计模式信息中,模式值可以以0°角(水平)、90°角(垂直)、135°角(右-下)和45°角(左-下)的顺序增加。
除了模式0之外,图17中示出的表中的分别被应用于多个模式的多个符号值被定义为4比特。现在将描述模式符号值的最左侧的比特。在模式符号值的第一比特指示1的情况下,该情况可表示模式0。在模式符号值的第一比特指示0的情况下,该情况可表示除了模式0之外的模式。模式符号值的第二比特可指示子像素距离是1/4像素距离还是1/2像素距离。模式符号值的第三比特可指示方向是对角方向还是非对角方向。模式符号值的第四比特可指示关于水平方向或垂直方向的确定,或可指示具有135°角或45°角的对角方向。
因此,当运动估计设备1400的信息输出单元1420输出假设估计模式信息时,信息输出单元1420可根据由运动估计器1410确定的假设估计因子像素确定假设估计模式信息的模式值,并可根据图17的表输出与确定的模式值相应的符号值的比特流。
此外,运动补偿设备1500的假设估计模式确定器1520可依次读取包括在由信息获得器1510解析出的假设估计模式信息中的比特流的第一比特至第四比特。根据读取第一比特至第四比特的结果的顺序,能够确定假设估计模式是否为模式0,子像素距离是1/4像素距离还是1/2像素距离,方向是否为对角方向,以及所述方向是水平方向还是垂直方向或者所述方向是具有135°角的对角方向还是45°角的对角方向。
运动估计设备1400的信息输出单元1420可对假设估计模式信息执行熵编码。例如,可通过使用CABAC方法对假设估计模式信息进行熵编码。为了执行CABAC方法,可通过将假设估计模式信息进行二值化来产生比特流,并可针对比特流的每个二进制位确定上下文模型。因此,可针对具有4比特的假设估计模式信息确定4个上下文模型。可根据每个编码单元确定假设估计模式信息。此外,可根据编码单元的深度来确定上下文模型。针对具有相同深度的编码单元的多条假设估计模式信息,可通过使用相同上下文模型来执行熵编码。
运动估计设备1400可针对64×64、32×32和16×16的编码单元执行帧间预测。在此情况下,存在编码单元的3个深度,并且根据3个深度中的每一个,针对假设估计模式信息确定4个上下文模型,从而运动估计设备1400可确定用于多条假设估计模式信息的12个上下文模型。
运动补偿设备1500可通过对解析出的假设估计模式信息执行熵解码来恢复符号值。在此情况下,可根据编码单元的深度来单独使用上下文模型,并且可将不同的上下文模型用于假设估计模式信息的每个二进制位。
如上所述,可针对一个编码单元确定一条假设估计模式信息。例如,运动估计设备1400的信息输出单元1420可首先发送当前编码单元的预测单元中的第一预测单元的运动矢量差值信息,可发送当前编码单元的假设估计模式信息,然后可发送第二预测单元的运动矢量差值信息。在此情况下,运动补偿设备1500的信息获得器1510可首先解析当前编码单元的第一预测单元的运动矢量差值信息,可解析当前编码单元的假设估计模式信息,然后可解析第二预测单元的运动矢量差值信息。
然而,被分配给编码单元的假设估计模式信息的发送不限于上述方式。
图18示出根据本公开的实施例的作为关于RD代价的测试目标的假设估计模式。
运动估计设备1400的运动估计器1410可从多个假设估计因子像素组中选择假设估计因子像素组,其中,在选择的假设估计因子像素组中产生最小RD代价,然后运动估计器1410可根据选择的假设估计因子像素组的方向和子像素距离的组合来确定假设估计模式。
例如,可确定从在涉及使用与模式0相应的假设估计因子像素的第一组1610的运动估计的编码操作中产生的RD代价到在涉及使用与模式8相应的假设估计因子像素的第八组1680的运动估计的编码操作中产生的RD代价,然后可根据多个模式来比较RD代价,从而可选择产生最小RD代价的模式。
如上所述,可根据每个子像素距离以及具有4个角度的方向中的每一个来确定假设估计因子像素的组合,从而可针对8个假设估计因子像素组比较RD代价。
在另一实施例中,运动估计设备1400可首先针对靠近当前估计因子像素1600的与当前估计因子像素1600相距1/4像素距离的假设估计因子像素的组确定RD代价。此后,根据具有1/4像素距离的多个模式中的产生最小RD代价的模式的方向,运动估计设备1400可另外地针对位于1/2像素距离处的假设估计因子像素的组确定RD代价。
参照图18的表,作为确定和比较关于在1/4像素距离处的模式1、2、3和4的RD代价的结果,当在模式1中产生最小RD代价时,可针对模式5另外地确定RD代价,其中,模式5是在与模式1相同的方向上位于1/2像素距离处的一组假设估计因子像素。因此,可从模式1的RD代价和模式5的RD代价中最终选择产生更小RD代价的模式。
类似地,作为比较在1/4像素距离处的RD代价的结果,当模式2被选择时,可另外地确定模式6的RD代价,然后可再次执行比较。当模式3被首先选择时,可进一步将模式7的RD代价与模式3的RD代价进行比较。当模式4被首先选择时,可进一步将模式8的RD代价与模式4的RD代价进行比较。
因此,根据另一实施例的运动估计设备1400可确定并比较关于在1/4像素距离处的4个模式和在1/2像素距离处的另一模式的5个假设估计因子像素组的RD代价,从而运动估计设备1400可确定最佳假设估计因子像素组和最佳假设估计模式。
图19示出根据本公开的实施例的运动估计方法的流程图。
在操作1910,可针对包括在编码单元中的多个预测单元中的当前预测单元的帧间预测确定当前运动矢量。可获得被先前确定的运动矢量。
在操作1920,可确定这样的两个假设估计因子像素:所述两个假设估计因子像素在预定直线方向上以当前估计因子像素为中心,并在与当前估计因子像素相距预定子像素距离的假设估计因子像素中,其中,当前估计因子像素由当前运动矢量指示。
可在1/4像素距离和1/2像素距离中选择一个子像素距离,并且可在具有0°、90°、45°和135°角的直线方向中选择一个方向。可根据选择的子像素距离和选择的方向的组合来确定所述两个假设估计因子像素。
首先,可通过分别使用在具有0°、90°、45°和135°角的直线方向上与当前估计因子像素相距1/4像素距离的假设估计因子像素来计算RD代价。此后,可通过使用这样的假设估计因子像素来另外地计算RD代价:所述假设估计因子像素在产生在1/4像素距离处计算的RD代价之中的最小RD代价的方向上位于1/2像素距离处。可最终确定假设估计因子像素中的计算出在计算的5个RD代价之中的最小RD代价的直线方向和子像素距离。
可通过使用分别包括确定的两个假设估计因子像素的块来确定参考块。可确定指示当前预测单元和参考块之间的位置差的运动矢量。可确定作为当前预测单元的像素值和参考块的像素值之间的差的残差数据。
在操作1930,可输出编码单元的假设估计模式信息,其中,所述假设估计模式信息指示从两个或更多个子像素距离中选择的预定子像素距离和从两个或更多个直线方向中选择的预定直线方向的组合。
在本实施例中,假设估计模式是从两个子像素距离中选择的一个子像素距离和从两个直线方向中选择的直线方向的组合,从而可从8个组合中选择假设估计模式。
在另一实施例中,可输出运动矢量差值信息,而不输出运动矢量,其中,运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值。
在另一实施例中,可输出编码单元的假设估计模式信息以及包括在编码单元中的预测单元的运动矢量差值信息和残差数据。
为了对假设估计模式信息执行熵编码,可根据编码单元的深度来确定假设估计模式信息的上下文模型。此外,可通过使用与当前编码单元的深度相应的4个上下文模型对假设估计模式信息进行熵编码。
图20示出根据本公开的实施例的运动补偿方法的流程图。
在操作2010,可获得包括在编码单元中的预测单元的运动矢量以及编码单元的假设估计模式信息。
在另一实施例中,可获得运动矢量差值信息和编码单元的假设估计模式信息,其中,运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值。此外,可根据预测单元获得每个预测单元和参考块之间的残差数据。可根据预测单元获得量化后的变换系数,然后可对量化后的变换系数执行反量化和逆变换,从而可获得残差数据。
在本实施例中,可通过使用根据编码单元的深度确定的假设估计模式信息的上下文模型来确定与当前编码单元的深度相应的4个上下文模型,并可通过使用相应上下文模型对具有4比特的假设估计模式信息的每个二进制位执行熵解码。
在操作2020,根据假设估计模式信息,可确定从两个或更多个子像素距离中选择的预定子像素距离和从两个或更多个直线方向中选择的预定直线方向的组合。
根据假设估计模式信息,可确定从1/4像素距离和1/2像素距离中选择的子像素距离和从具有0°、90°、135°和45°角的直线方向中选择的方向的组合。
在操作2030,可通过使用包括预定直线方向上与当前估计因子像素相距预定子像素距离的两个假设估计因子像素的块来确定参考块,其中,当前估计因子像素由当前运动矢量指示。
可将在操作2010获得的残差数据和在操作2030确定的参考块合并,从而可产生当前预测单元的恢复块。
根据参照图6至图19所描述的基于具有树结构的编码单元的视频编码方法,针对树结构的每个编码单元对空间域的图像数据进行编码。根据基于具有树结构的编码单元的视频解码方法,针对每个最大编码单元执行解码,以恢复空间域的图像数据。因此,可恢复画面和作为画面序列的视频。恢复后的视频可由再现设备来再现,可被存储在存储介质中,或可通过网络被发送。
根据本公开的实施例可被编写为计算机程序,并可被实现在使用计算机可读记录介质执行所述程序的通用数字计算机中。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)、光记录介质(例如,CD-ROM或DVD)等。
虽然已参照本公开的示例性实施例具体示出并描述了本公开,但是本领域的普通技术人员将理解,在不脱离根据由权利要求限定的本公开的精神和范围的情况下,可在示例性实施例中做出形式和细节上的各种改变。
用于执行参照图1至图20描述的多视点运动估计方法、运动补偿方法、视频编码设备和视频解码设备中的每一个的一个或更多个实施例的程序被存储在计算机可读存储介质中,从而独立计算机***可容易地执行根据存储在存储介质中的实施例的操作。
为了便于描述,已参照图1至图20描述的包括运动估计方法和运动补偿方法的视频编码方法将被统称为“根据本公开的视频编码方法”。另外,已参照图1至图20描述的包括运动补偿方法的视频解码方法将被称为“根据本公开的视频解码方法”。
已参照图1至图20描述的包括视频编码设备100、视频编码器400、运动估计设备1400或运动补偿设备1500的视频编码设备将被称为“根据本公开的视频编码设备”。另外,已参照图1至图18描述的包括视频解码设备200、图像解码器500或运动补偿设备1500的视频解码设备将被称为“根据本公开的视频解码设备”。
现在将详细描述根据本公开的实施例的存储程序的计算机可读记录介质(例如,盘26000)。
图21示出根据本公开的实施例的存储程序的盘26000的物理结构。作为存储介质的盘26000可以是硬盘驱动器、致密盘只读存储器(CD-ROM)盘、蓝光盘或数字多功能盘(DVD)。盘26000包括多个同心磁道Tr,每个同心磁道Tr沿盘26000的圆周方向被划分成特定数量的扇区Se。在盘26000的特定区域中,可分配并存储执行以上所描述的运动估计方法、运动补偿方法、视频编码方法和视频解码方法的程序。
现在将参照图22来描述使用存储用于执行如上所述的视频编码方法和视频解码方法的程序的存储介质来实现的计算机***。
图22示出通过使用盘26000来记录并读取程序的盘驱动器26300。计算机***26500可经由盘驱动器26300将执行根据本公开的实施例的视频编码方法和视频解码方法中的至少一个的程序存储在盘26000中。为了在计算机***26500中运行存储在盘26000中的程序,可通过使用盘驱动器26300从盘26000读取程序并将程序发送到计算机***26500。
执行根据本公开的实施例的视频编码方法和视频解码方法中的至少一个的程序不仅可被存储在图21和图22中示出的盘26000中,还可被存储在存储卡、ROM卡带或固态驱动器(SSD)中。
以下将描述应用以上所描述的视频编码方法和视频解码方法的***。
图23示出提供内容分布服务的内容供应***11000的整体结构。将通信***的服务区域划分成预定尺寸的小区,并将无线基站11700、11800、11900和12000分别安装在这些小区中。
内容供应***11000包括多个独立装置。例如,诸如计算机12100、个人数字助理(PDA)12200、视频相机12300和移动电话12500的多个独立装置经由互联网服务提供商11200、通信网络11400和无线基站11700、11800、11900和12000连接到互联网11100。
然而,内容供应***11000不限于如图23中所示,并且装置可选择性地被连接到内容供应***11000。多个独立装置可不经由无线基站11700、11800、11900和12000而直接连接到通信网络11400。
视频相机12300是能够捕捉视频图像的成像装置,例如,数字视频相机。移动电话12500可利用各种协议(例如,个人数字通信(PDC)、码分多址(CDMA)、宽带码分多址(W-CDMA)、全球移动通信***(GSM)和个人手持电话***(PHS))中的至少一种通信方法。
视频相机12300可经由无线基站11900和通信网络11400连接到流服务器11300。流服务器11300允许经由视频相机12300从用户接收到的内容经由实时广播被流传输。可使用视频相机12300或流服务器11300来对从视频相机12300接收到的内容进行编码。通过视频相机12300捕捉到的视频数据可经由计算机12100被发送到流服务器11300。
通过相机12600捕捉到的视频数据也可经由计算机12100被发送到流服务器11300。与数码相机类似,相机12600是能够捕捉静止图像和视频图像两者的成像装置。可使用相机12600或计算机12100对通过相机12600捕捉到的视频数据进行编码。可将对视频执行编码和解码的软件存储在可由计算机12100访问的计算机可读记录介质(例如,CD-ROM盘、软盘、硬盘驱动器、SSD或存储卡)中。
如果视频数据通过内置在移动电话12500中的相机被捕捉到,则可从移动电话12500接收视频数据。
还可通过安装在视频相机12300、移动电话12500或相机12600中的大规模集成电路(LSI)***来对视频数据进行编码。
根据本公开的实施例,内容供应***11000可对由用户使用视频相机12300、相机12600、移动电话12500或另一成像装置所记录的内容数据(例如,在音乐会期间记录的内容)进行编码,并将编码后的内容数据发送到流服务器11300。流服务器11300可将编码后的内容数据以流传输内容的类型发送到请求内容数据的其它客户端。
客户端是能够对编码后的内容数据进行解码的装置,例如,计算机12100、PDA12200、视频相机12300或移动电话12500。因此,内容供应***11000允许客户端接收并再现编码后的内容数据。此外,内容供应***11000允许客户端实时接收编码后的内容数据并对编码后的内容数据进行解码和再现,从而能够进行个人广播。
包括在内容供应***11000中的多个独立装置的编码和解码操作可类似于根据本公开的实施例的视频编码设备和视频解码设备的编码和解码操作。
现在将参照图24和图25更加详细地描述包括在根据本公开的实施例的内容供应***11000中的移动电话12500。
图24示出根据本公开的实施例的应用视频编码方法和视频解码方法的移动电话12500的外部结构。移动电话12500可以是智能电话,所述智能电话的功能不受限,并且所述智能电话的大多数功能可被改变或扩展。
移动电话12500包括可与图25的无线基站12000交换射频(RF)信号的内部天线12510,并包括用于显示由相机12530捕捉到的图像或经由天线12510被接收并被解码的图像的显示屏12520(例如,液晶显示器(LCD)或有机发光二极管(OLED)屏幕)。智能手机12500包括包含有控制按钮和触摸面板的操作面板12540。如果显示屏12520是触摸屏,则操作面板12540还包括显示屏12520的触摸感测面板。移动电话12510包括用于输出语音和声音的扬声器12580或另一类型声音输出器、以及用于输入语音和声音的麦克风12550或另一类型声音输入单元。移动电话12510还包括用于捕捉视频和静止图像的相机12530,诸如电荷耦合器件(CCD)相机。移动电话12510还可包括:存储介质12570,用于存储通过相机12530捕捉到的、经由电子邮件接收到的、或根据各种方式获得的编码/解码数据(例如,视频或静止图像);插槽12560,存储介质12570经由插槽12560被装入移动电话12500中。存储介质12570可以是闪存,例如,包括在塑料壳中的安全数字(SD)卡或电可擦和可编程只读存储器(EEPROM)。
图25示出根据本公开的实施例的移动电话12500的内部结构。为了***地控制包括显示屏12520和操作面板12540的移动电话12500的部件,供电电路12700、操作输入控制器12640、图像编码单元12720、相机接口12630、LCD控制器12620、图像解码单元12690、复用器/解复用器12680、记录单元/读取单元12670、调制单元/解调单元12660以及声音处理器12650经由同步总线12730被连接到中央控制器12710。
如果用户操作电源按钮,并从“电源关闭”状态设置为“电源开启”状态,则供电电路12700从电池组向移动电话12500的所有部件供电,从而将移动电话12500设置为操作模式。
中央控制器12710包括中央处理器(CPU)、ROM和随机存取存储器(RAM)。
在移动电话12500将通信数据发送到外部的同时,在中央控制器的控制下,在移动电话12500中产生数字信号。例如,声音处理器12650可产生数字声音信号,图像编码单元12720可产生数字图像信号,并且消息的文本数据可经由操作面板12540和操作输入控制器12640被产生。当在中央控制器12710的控制下数字信号被传送到调制单元/解调单元12660时,调制单元/解调单元12660对数字信号的频带进行调制,并且通信电路12610对频带调制后的数字声音信号执行数模转换(DAC)和频率转换。从通信电路12610输出的发送信号可经由天线12510被发送到语音通信基站或无线基站12000。
例如,当移动电话12500处于通话模式时,在中央控制器12710的控制下,经由麦克风12550获得的声音信号通过声音处理器12650被变换成数字声音信号。数字声音信号可经由调制单元/解调单元12660和通信电路12610被变换成变换信号,并可经由天线12510被发送。
当文本消息(例如,电子邮件)在数据通信模式下被发送时,文本消息的文本数据经由操作面板12540被输入,并经由操作输入控制器12640被发送到中央控制器12610。在中央控制器12610的控制下,文本数据经由调制单元/解调单元12660和通信电路12610被变换成发送信号,并经由天线12510被发送到无线基站12000。
为了在数据通信模式下发送图像数据,由相机12530捕捉到的图像数据经由相机接口12630被提供给图像编码单元12720。捕捉到的图像数据可经由相机接口12630和LCD控制器12620被直接显示在显示屏12520上。
图像编码单元12720的结构可与以上描述的视频编码设备100的结构相应。图像编码单元12720可根据由以上描述的视频编码设备100或图像编码器400采用的视频编码方法,将从相机12530接收到的图像数据变换为压缩和编码后的图像数据,并然后将编码后的图像数据输出到复用器/解复用器12680。在相机12530的记录操作期间,由移动电话12500的麦克风12550获得的声音信号可经由声音处理器12650被变换成数字声音数据,并且数字声音数据可被传送到复用器/解复用器12680。
复用器/解复用器12680对从图像编码单元12720接收到的编码后的图像数据与从声音处理器12650接收到的声音数据一起进行复用。对数据进行复用的结果可经由调制单元/解调单元12660和通信电路12610被变换成发送信号,然后可经由天线12510被发送。
当移动电话12500从外部接收通信数据时,可对经由天线12510接收到的信号执行频率恢复和ADC以将信号变换成数字信号。调制单元/解调单元12660对数字信号的频带进行调制。根据频带调制后的数字信号的类型将频带调制后的数字信号发送到视频解码单元12690、声音处理器12650或LCD控制器12620。
在通话模式下,移动电话12500对经由天线12510接收到的信号进行放大,并通过对放大后的信号执行频率转换和ADC来获得数字声音信号。在中央控制器12710的控制下,接收到的数字声音信号经由调制单元/解调单元12660和声音处理器12650被变换成模拟声音信号,并且模拟声音信号经由扬声器12580被输出。
当在数据通信模式下时,接收在互联网网站上访问的视频文件的数据,经由调制单元/解调单元12660将经由天线12510从无线基站12000接收到的信号输出为复用数据,并将复用数据发送到复用器/解复用器12680。
为了对经由天线12510接收到的复用数据进行解码,复用器/解复用器12680将复用数据解复用成编码后的视频数据流和编码后的音频数据流。经由同步总线12730,编码后的视频数据流和编码后的音频数据流分别被提供给视频解码单元12690和声音处理器12650。
图像解码单元12690的结构可与以上描述的视频解码设备200的结构相应。图像解码单元12690可根据由以上描述的视频解码设备200或图像解码器500采用的视频解码方法,对编码后的视频数据进行解码来获得恢复的视频数据,并经由LCD控制器12620将恢复的视频数据提供给显示屏12520。
因此,可将在互联网网站上访问的视频文件的数据显示在显示屏12520上。同时,声音处理器12650可将音频数据变换成模拟声音信号,并将模拟声音信号提供给扬声器12580。因此,也可经由扬声器12580再现在互联网网站上访问的视频文件中包含的音频数据。
移动电话12500或另一类型的通信终端可以是包括根据本公开的实施例的视频编码设备和视频解码设备两者的收发终端,可以是仅包括视频编码设备的收发终端,或者可以是仅包括视频解码设备的收发终端。
根据本公开的通信***不限于以上参照图24描述的通信***。例如,图26示出根据本公开的实施例的采用通信***的数字广播***。图26的数字广播***可通过使用根据本公开的实施例的视频编码设备和视频解码设备来接收经由卫星或地面网络发送的数字广播。
更详细地,广播站12890通过使用无线电波将视频数据流发送到通信卫星或广播卫星12900。广播卫星12900发送广播信号,广播信号经由***12860被发送到卫星广播接收器。在每个房屋中,可通过TV接收器12810、机顶盒12870或另一装置对编码后的视频流进行解码并再现。
当根据本公开的实施例的视频解码设备被实现在再现设备12830中时,再现设备12830可对记录在存储介质12820(诸如用于恢复数字信号的盘或存储卡)上的编码后的视频流进行解析和解码。因此,可在例如监视器12840上再现恢复的视频信号。
在被连接到用于卫星/地面广播的天线12860或用于接收有线电视(TV)广播的线缆天线12850的机顶盒12870中,可安装根据本公开的实施例的视频解码设备。从机顶盒12870输出的数据也可被再现在TV监视器12880上。
如另一示例,可将根据本公开的实施例的视频解码设备安装在TV接收器12810中,而不是机顶盒12870中。
包括适当天线12910的汽车12920可接收从卫星12900或无线基站11700发送的信号。可在安装在汽车12920中的汽车导航***12930的显示屏上再现解码后的视频。
视频信号可由根据本公开的实施例的视频编码设备来编码,然后可被存储在存储介质中。具体地,可由DVD记录器将图像信号存储在DVD盘12960中,或可由硬盘记录器12950将图像信号存储在硬盘中。如另一示例,可将视频信号存储在SD卡12970中。如果硬盘记录器12950包括根据本公开的实施例的视频解码设备,则记录在DVD盘12960、SD卡12970或另一存储介质上的视频信号可在TV监视器12880上被再现。
汽车导航***12930可不包括图23的相机12530、相机接口12630和图像编码单元12720。例如,计算机12100和TV接收器12810可不包括在图23的相机12530、相机接口12630和图像编码单元12720中。
图27示出根据本公开的实施例的使用视频编码设备和视频解码设备的云计算***的网络结构。
云计算***可包括云计算服务器14000、用户数据库(DB)14100、多个计算资源14200和用户终端。
响应于来自用户终端的请求,云计算***经由数据通信网络(例如,互联网)提供多个计算资源14200的点播外包服务。在云计算环境下,服务提供商通过使用虚拟技术组合位于不同的物理位置的数据中心处的计算资源,来为用户提供想要的服务。服务用户不必将计算资源(例如,应用、存储器、操作***(OS)和安全软件)安装在他/她拥有的终端中以使用它们,但可在想要的时间点在通过虚拟技术产生的虚拟空间中从服务中选择和使用想要的服务。
被指定的服务用户的用户终端经由包括互联网和移动通信网络的数据通信网络被连接到云计算服务器14100。可从云计算服务器14100向用户终端提供云计算服务,特别是视频再现服务。用户终端可以是能够被连接到互联网的各种类型的电子装置,例如,桌上型PC 14300、智能TV 14400、智能电话14500、笔记本计算机14600、便携式多媒体播放器(PMP)14700、平板PC 14800等。
云计算服务器14100可组合分布在云网络中的多个计算资源14200,并向用户终端提供组合的结果。所述多个计算资源14200可包括各种数据服务,并可包括从用户终端上载的数据。如上所描述的,云计算服务器14100可通过根据虚拟技术组合分布在不同区域中的视频数据库来向用户终端提供想要的服务。
将关于已经订购云计算服务的用户的用户信息存储在用户DB 14100中。用户信息可包括用户的注册信息、地址、姓名和个人信用信息。用户信息还可包括视频的索引。这里,所述索引可包括已经被再现的视频的列表、正在被再现的视频的列表,之前正在被再现的视频的暂停点等。
可在用户装置之间共享存储在用户DB 14100中的关于视频的信息。例如,当响应于来自笔记本计算机14600的请求将视频服务提供给笔记本计算机14600时,视频服务的再现历史被存储在用户DB 14100中。当从智能电话14500接收到用于再现此视频服务的请求时,云计算服务器14100基于用户DB 14100搜索并再现此视频服务。当智能电话14500从云计算服务器14100接收到视频数据流时,通过对视频数据流进行解码来再现视频的处理与以上参照图27描述的移动电话12500的操作类似。
云计算服务器14100可参考存储在用户DB 14100中的想要的视频服务的再现历史。例如,云计算服务器14100从用户终端接收用于再现存储在用户DB 14100中的视频的请求。如果此视频被再现过,则由云计算服务器14100执行的对此视频进行流传输的方法可根据来自用户终端的请求(即,根据是将从视频的起点还是视频的暂停点开始再现视频)而不同。例如,如果用户终端请求从视频的起点开始再现视频,则云计算服务器14100将从视频的第一帧开始的视频的流数据发送到用户终端。如果用户终端请求从视频的暂停点开始再现视频,则云计算服务器14100将从与暂停点相应的帧开始的视频的流数据发送到用户终端。
在此情况下,用户终端可包括如以上参照图1至图20描述的视频解码设备。如另一示例,用户终端可包括如以上参照图1至图20描述的视频编码设备。可选地,用户终端可包括如以上参照图1至图20描述的视频解码设备和视频编码设备两者。
以上参照图21至图27描述了以上参照图1至图20描述的根据本公开的实施例的视频编码方法、视频解码方法、视频编码设备和视频解码设备的各种应用。然而,根据本公开的各种实施例的将视频编码方法和视频解码方法存储在存储介质中的方法或者将视频编码设备和视频解码设备实现在装置中的方法不限于以上参照图21至图27描述的实施例。
Claims (13)
1.一种使用运动矢量估计因子的运动补偿方法,所述运动补偿方法包括:
获得在编码单元中所包括的预测单元的当前运动矢量,并获得编码单元的假设估计模式信息;
基于所述假设估计模式信息来确定子像素距离和直线方向的组合,其中,所述子像素距离是在两个或更多个预定子像素距离中选择的,所述直线方向是在两个或更多个预定直线方向中选择的;
通过使用分别包括两个假设估计因子像素的两个块来确定参考块,
其中,所述两个假设估计因子像素在所选择的直线方向上以当前估计因子像素为中心在直线上彼此相对,并且与当前估计因子像素相距所选择的子像素距离,
当前估计因子像素由当前运动矢量指示,
其中,假设估计模式信息指示在所述两个或更多个预定子像素距离中选择的一个子像素距离和在所述两个或更多个预定直线方向中选择的一个直线方向的多种组合中的一种组合,
获得编码单元的假设估计模式信息的步骤包括:通过使用与编码单元的深度相应的上下文模型对假设估计模式信息执行熵解码,
确定子像素距离和直线方向的组合的步骤包括:基于熵解码的假设估计模式信息,针对当前运动矢量确定子像素距离和直线方向的组合。
2.如权利要求1所述的运动补偿方法,其中,获得所述假设估计模式信息的步骤包括:
获得所述假设估计模式信息和运动矢量差值信息,其中,运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值;
获得当前预测单元和参考块之间的残差数据,
其中,所述运动补偿方法还包括:通过将所述残差数据和参考块合并来产生当前预测单元的恢复块。
3.如权利要求1所述的运动补偿方法,其中,获得所述假设估计模式信息的步骤包括:获得针对在当前编码单元中所包括的预测单元而共同确定的假设估计模式信息。
4.如权利要求1所述的运动补偿方法,其中,所述两个或更多个预定子像素距离包括1/4像素距离和1/2像素距离,所述两个或更多个预定直线方向包括具有0度角、90度角、135度角和45度角的方向,
其中,所述假设估计模式信息指示在所述两个或更多个预定子像素距离中选择的一个子像素距离和在所述两个或更多个预定直线方向中选择的一个直线方向的8种组合中的一种组合。
5.如权利要求1所述的运动补偿方法,其中,获得编码单元的假设估计模式信息的步骤包括:
根据编码单元的深度来确定所述假设估计模式信息的上下文模型;
通过使用与当前编码单元的深度相应的4个上下文模型对所述假设估计模式信息执行熵解码。
6.一种使用运动矢量估计因子的运动估计方法,所述运动估计方法包括:
在编码单元中所包括的预测单元中,确定用于当前预测单元的帧间预测的当前运动矢量;
通过使用分别包括两个假设估计因子像素的两个块来确定参考块,其中,所述两个假设估计因子像素在从两个或更多个预定直线方向中选择的直线方向上以当前估计因子像素为中心在直线上彼此相对,所述两个假设估计因子像素在与当前估计因子像素相距从两个或更多个预定子像素距离中选择的子像素距离的多个假设估计因子像素之中,并且其中,当前估计因子像素由当前运动矢量指示;
输出编码单元的假设估计模式信息,并输出当前预测单元的运动矢量差值信息,其中,所述假设估计模式信息指示从两个或更多个预定子像素距离之中选择的子像素距离和从两个或更多个预定直线方向中选择的直线方向的组合,
其中,假设估计模式信息指示在所述两个或更多个预定子像素距离中选择的一个子像素距离和在所述两个或更多个预定直线方向中选择的一个直线方向的多种组合中的一种组合,
输出编码单元的假设估计模式信息的步骤包括:通过使用与编码单元的深度相应的上下文模型对假设估计模式信息执行熵编码。
7.如权利要求6所述的运动估计方法,其中,输出所述假设估计模式信息并输出所述运动矢量差值信息的步骤包括:
输出所述假设估计模式信息和所述运动矢量差值信息,其中,所述运动矢量差值信息指示当前运动矢量和在当前预测单元之前被编码的预测单元的运动矢量之间的差值;
输出当前预测单元和参考块之间的残差数据。
8.如权利要求6所述的运动估计方法,其中,输出所述假设估计模式信息的步骤包括:输出针对在当前编码单元中所包括的预测单元而共同确定的假设估计模式信息。
9.如权利要求6所述的运动估计方法,其中,所述两个或更多个预定子像素距离包括1/4像素距离和1/2像素距离,所述两个或更多个预定直线方向包括具有0度角、90度角、135度角和45度角的方向,
其中,所述假设估计模式信息指示在所述两个或更多个预定子像素距离中选择的一个子像素距离和在所述两个或更多个预定直线方向中选择的一个直线方向的8种组合中的一种组合。
10.如权利要求6所述的运动估计方法,其中,输出所述假设估计模式信息的步骤包括:
根据编码单元的深度确定所述假设估计模式信息的上下文模型;
通过使用与当前编码单元的深度相应的4个上下文模型对所述假设估计模式信息执行熵编码。
11.如权利要求6所述的运动估计方法,其中,确定参考块的步骤包括:
通过使用在具有0度角、90度角、135度角和45度角的直线方向中的每个直线方向上与当前估计因子像素相距1/4像素距离的假设估计因子像素来计算率失真RD代价;
通过使用在产生RD代价中的最小RD代价的方向上与当前估计因子像素相距1/2像素距离的假设估计因子像素来计算RD代价;
确定产生RD代价中的最小RD代价所在的直线方向和子像素距离;
确定参考块,其中,所述参考块是分别包括基于产生RD代价中的最小RD代价所在的直线方向和子像素距离而确定的假设估计因子像素的块的平均块。
12.一种使用运动矢量估计因子的运动补偿设备,所述运动补偿设备包括:
信息获得器,获得在编码单元中所包括的预测单元中的当前预测单元的残差数据和当前运动矢量,并获得编码单元的假设估计模式信息;
假设估计模式确定器,基于所述假设估计模式信息来确定子像素距离和直线方向的组合,其中,所述子像素距离是在两个或更多个预定子像素距离中选择的,所述直线方向是在两个或更多个预定直线方向中选择的;
运动补偿器,通过使用分别包括两个假设估计因子像素的两个块来确定参考块,并通过将残差数据和参考块合并来产生当前预测单元的恢复块,
其中,所述两个假设估计因子像素在所选择的直线方向上以当前估计因子像素为中心在直线上彼此相对,并且与当前估计因子像素相距所选择的子像素距离,
当前估计因子像素由当前运动矢量指示,
其中,假设估计模式信息指示在所述两个或更多个预定子像素距离中选择的一个子像素距离和在所述两个或更多个预定直线方向中选择的一个直线方向的多种组合中的一种组合,
信息获得器通过使用与编码单元的深度相应的上下文模型对假设估计模式信息执行熵解码,
假设估计模式确定器基于熵解码的假设估计模式信息针对当前运动矢量确定子像素距离和直线方向的组合。
13.一种使用运动矢量估计因子的运动估计设备,所述运动估计设备包括:
运动估计器,在编码单元中所包括的预测单元中,确定用于当前预测单元的帧间预测的当前运动矢量,并通过使用分别包括两个假设估计因子像素的两个块来确定参考块,其中,所述两个假设估计因子像素在从两个或更多个预定直线方向中选择的直线方向上以当前估计因子像素为中心在直线上彼此相对,所述两个假设估计因子像素在与当前估计因子像素相距从两个或更多个预定子像素距离中选择的子像素距离的多个假设估计因子像素之中,并且其中,当前估计因子像素由当前运动矢量指示;
信息输出单元,输出编码单元的假设估计模式信息,并输出当前预测单元的运动矢量差值信息,其中,所述假设估计模式信息指示两个或更多个预定子像素距离中选择的子像素距离和在两个或更多个预定直线方向中选择的直线方向的组合,
其中,假设估计模式信息指示在所述两个或更多个预定子像素距离中选择的一个子像素距离和在所述两个或更多个预定直线方向中选择的一个直线方向的多种组合中的一种组合,
信息输出单元通过使用与编码单元的深度相应的上下文模型对假设估计模式信息执行熵编码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2013/006039 WO2015005507A1 (ko) | 2013-07-08 | 2013-07-08 | 다수의 가설 추정자들을 이용하는 인터 예측 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104662905A CN104662905A (zh) | 2015-05-27 |
CN104662905B true CN104662905B (zh) | 2019-06-11 |
Family
ID=52280175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380049000.4A Expired - Fee Related CN104662905B (zh) | 2013-07-08 | 2013-07-08 | 使用多个假设估计因子的帧间预测方法及其装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104662905B (zh) |
WO (1) | WO2015005507A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112544082B (zh) | 2018-07-18 | 2023-12-15 | 寰发股份有限公司 | 一种视频编解码的帧间预测方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026758A (zh) * | 2006-02-24 | 2007-08-29 | 三星电子株式会社 | 视频代码转换方法和设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559514B2 (en) * | 2006-07-27 | 2013-10-15 | Qualcomm Incorporated | Efficient fetching for motion compensation video decoding process |
KR101403343B1 (ko) * | 2007-10-04 | 2014-06-09 | 삼성전자주식회사 | 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치 |
KR101386891B1 (ko) * | 2007-12-13 | 2014-04-18 | 삼성전자주식회사 | 영상 보간 방법 및 장치 |
KR101505815B1 (ko) * | 2009-12-09 | 2015-03-26 | 한양대학교 산학협력단 | 서브 픽셀 정밀도를 갖는 모션 추정 방법 및 장치, 이를 이용한 비디오 인코더 |
KR101847072B1 (ko) * | 2010-04-05 | 2018-04-09 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
SI2744204T1 (sl) * | 2011-09-14 | 2019-02-28 | Samsung Electronics Co., Ltd., | Postopek dekodiranja enote za napovedovanje (PU) na podlagi njene velikosti |
-
2013
- 2013-07-08 CN CN201380049000.4A patent/CN104662905B/zh not_active Expired - Fee Related
- 2013-07-08 WO PCT/KR2013/006039 patent/WO2015005507A1/ko active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026758A (zh) * | 2006-02-24 | 2007-08-29 | 三星电子株式会社 | 视频代码转换方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104662905A (zh) | 2015-05-27 |
WO2015005507A1 (ko) | 2015-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104754356B (zh) | 用于在视频编码或解码中的运动矢量确定的方法和设备 | |
CN104365101B (zh) | 用于确定用于帧间预测的参考图像的方法及设备 | |
CN104488272B (zh) | 用于预测用于对视频进行编码或用于对视频进行解码的运动矢量的方法和设备 | |
CN104081779B (zh) | 用于帧间预测的方法及其装置和用于运动补偿的方法及其装置 | |
CN105308966B (zh) | 视频编码方法及其设备以及视频解码方法及其设备 | |
CN103918255B (zh) | 对多视点视频数据的深度图进行编码的方法和装置以及对编码的深度图进行解码的方法和装置 | |
CN103931184B (zh) | 用于对视频进行编码和解码的方法和装置 | |
CN104471938B (zh) | 根据彩色分量共享sao参数的对视频进行编码的方法和设备 | |
CN105144713B (zh) | 用于解码器设置的对视频进行编码的方法及其装置以及基于解码器设置对视频进行解码的方法及其装置 | |
CN104869413B (zh) | 视频解码设备 | |
CN105325004B (zh) | 基于用信号传输样点自适应偏移参数的视频编码方法和设备以及视频解码方法和设备 | |
CN105103552B (zh) | 用于补偿亮度差的对层间视频进行编码的方法及其装置以及用于对视频进行解码的方法及其装置 | |
CN104365104B (zh) | 用于多视点视频编码和解码的方法和设备 | |
CN105594212B (zh) | 用于确定运动矢量的方法及其设备 | |
CN106031175B (zh) | 使用亮度补偿的层间视频编码方法及其装置、以及视频解码方法及其装置 | |
CN106416256B (zh) | 用于对深度图像进行编码或解码的方法和设备 | |
CN105308961B (zh) | 用于补偿亮度差的层间视频编码方法和设备以及层间视频解码方法和设备 | |
CN105308970B (zh) | 针对整数像素的位置对视频进行编码和解码的方法和设备 | |
CN105532005B (zh) | 用于层间编码的方法和设备以及用于使用残差预测对视频进行层间解码的方法和设备 | |
CN105340273B (zh) | 用于预测用于层间视频解码的视差矢量的方法以及编码方法和设备 | |
CN104662905B (zh) | 使用多个假设估计因子的帧间预测方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190611 Termination date: 20210708 |