CN102804775A - 用于视频的数据压缩 - Google Patents

用于视频的数据压缩 Download PDF

Info

Publication number
CN102804775A
CN102804775A CN2011800100451A CN201180010045A CN102804775A CN 102804775 A CN102804775 A CN 102804775A CN 2011800100451 A CN2011800100451 A CN 2011800100451A CN 201180010045 A CN201180010045 A CN 201180010045A CN 102804775 A CN102804775 A CN 102804775A
Authority
CN
China
Prior art keywords
frame
piece
block
reference block
candidate
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.)
Granted
Application number
CN2011800100451A
Other languages
English (en)
Other versions
CN102804775B (zh
Inventor
L.比沃拉斯基
M.尼尔松
R.瓦芬
S.V.安德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Skype Ltd Ireland
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Skype Ltd Ireland filed Critical Skype Ltd Ireland
Publication of CN102804775A publication Critical patent/CN102804775A/zh
Application granted granted Critical
Publication of CN102804775B publication Critical patent/CN102804775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种选择用于视频信号的当前块的帧内或帧间预测编码的参考块的方法,每个参考块通过以下操作来选择:(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及(ii)基于不同于第一度量的第二度量选择所述候选块中的一个作为参考块,第二度量涉及在编码的比特流中编码残差块和识别相应参考块的边信息所需的多个比特。

Description

用于视频的数据压缩
技术领域
本发明涉及视频流的编码和传输。
背景技术
在视频流的传输中,正不断地努力来减少需要被传输的数据的量,同时仍然允许移动的图像在传输的接收端处适当地被重新创建。视频编码器接收包括要被编码的“原始”视频帧序列的输入视频流,每个视频帧表示在相应时刻的图像。该编码器然后将每个输入帧编码成两种类型编码的帧之一:内帧(intra frame)(也被称为关键帧)或间帧(inter frame)。编码的目的是压缩视频数据,以便当视频数据通过传输介质传输或存储在存储介质上时招致更少的比特。
使用仅来自正被编码的当前视频帧的数据、典型地使用帧内预测(intra frame prediction)编码(coding)来压缩内帧,由此该帧内的一个图像部分相对于同一帧内的另一个图像部分被编码并被发信号传递(signal)。这类似于静态图像编码。另一方面,使用先前帧(参考帧)的知识来压缩间帧,并且该间帧仅允许参考帧与在时间上紧随它的当前帧之间的差的传输。这允许高效得多的压缩,特别是当场景具有相对较少的变化时。帧间预测(inter fame prediction)典型地使用运动估计依据(in terms of)描述帧之间的图像部分的移动的运动向量来编码并发信号传递该视频,并且然后使用运动补偿来基于用信号传递的向量在接收器处预测该运动。用于视频通信的各种国际标准,比如MPEG 1、2&4和H.261、H.263&H.264,采用基于在规则的块的基础上的源帧的划分的运动估计和补偿。根据分辨率、帧速率、比特率和场景,内帧可以达到间帧的20到100倍大。另一方面,间帧将依赖关系施加到高达最近的内帧的先前的间帧。如果任意一个帧遗漏,则解码当前间帧可能导致错误和伪影。
这些技术例如被用在H.264/AVC标准中(参见T.Wiegand,G.J.Sullivan,G.Bjontegaard,A.Luthra:“Overview of the H.264/AVC video coding standard,” in IEEE Transactions on Circuits and Systems for Video Technology,Volume:13,Issue:7,page(s):560-576,July 2003)。
图7图示用于例如根据H.264/AVC的基本编码结构将视频流编码成间帧和交错的内帧的流的已知的视频编码器。编码器接收包括要被编码的帧序列的输入视频流(每个帧被分成组成宏块并被细分成块),并且输出随后可以被传输到解码器的量化的变换系数和运动数据。该编码器包括用于接收视频图像的输入宏块的输入端70、减法级(stage)72、正变换级74、正量化级76、逆量化级78、逆变换级80、帧内预测编码级82、运动估计&补偿级84和熵编码器86。
减法级72被设置成接收包括一系列输入宏块的输入信号,每个输入宏块对应于帧的一部分。减法级72从每一个宏块减去该宏块的预测,以便生成残差(residual)信号(有时也被称为预测误差)。在帧内预测的情况下,从帧内预测级82基于相同帧的一个或多个相邻区域提供块的预测(在经由逆量化级78和逆变换级80反馈之后)。在帧间预测的情况下,从运动估计&补偿级84基于先前帧的所选区域提供块的预测(再次在经由逆量化级78和逆变换级80反馈之后)。对于运动估计,借助描述先前帧中的所选区域的位置与在当前帧中正被编码的宏块之间的偏移的运动向量来识别所选区域。
然后,正变换级74例如借助离散余弦变换(DCT)将块的残差从空间域表示变换为变换域表示。也就是说,它将每个残差块从在不同的笛卡尔x和y坐标处的一组像素值变换为表示具有不同波数kx和ky(具有1/波长的大小)的不同的空间频率项的一组系数。然后,正量化级76量化变换系数,并且输出要经由熵编码器86被编码成视频流的残差信号的量化且变换的系数,从而形成用于传输到一个或多个接受者终端的编码的视频信号的一部分。
而且,正量化级76的输出也经由逆量化级78和逆变换级80反馈。逆变换级80将残差系数从频域变换回空间域值,其中它们被提供给帧内预测级82(用于内帧)或运动估计&补偿级84(用于间帧)。这些级使用逆变换的和逆量化的残差信号连同输入视频流的知识,以便产生内帧和间帧的局部预测(包括如在解码器处看到的已被正和逆变换和量化的扭曲效应)。该局部预测被反馈到减法级72,其产生表示输入信号与局部帧内预测级82或局部运动估计&补偿级84的输出之间的差的残差信号。在变换之后,正量化级76量化该残差信号,从而生成量化的、变换的残差系数以用于输出到熵编码器86。运动估计级84还经由熵编码器86输出运动向量以包括在编码的比特流中。
当执行帧内编码时,思想是仅编码并传输关于帧内的图像数据部分多么不同于同一帧内的另一个部分的测量(measure)。该部分然后可以在解码器处预测(给定一些用于开始的绝对数据),并且因此,仅需要传输预测数据与实际数据之间的差而非实际数据自身。该差信号典型地在量级方面更小,所以采用更少的比特来编码。
在帧间编码的情况下,代替帧内预测级82,运动补偿级84被切换到反馈路径中,并且反馈回路因此被创建在一个帧与另一个帧的块之间,以便相对于先前帧的块来编码该间帧。与内帧相比,这典型地采用甚至更少比特来编码。
图8图示了相应的解码器,其包括用于接收进入接受者终端的编码的视频流的熵解码器90、逆量化级92、逆变换级94、帧内预测级96和运动补偿级98。帧内预测级和运动补偿级的输出在求和级100处被求和。
存在许多已知的运动估计技术。一般地,它们依靠对块与来自先前帧(参考帧)的一个或多个其他图像部分的比较。从与块相同尺寸和形状的、但在水平和竖直方向上偏移任意数量的像素或者甚至分数数量的像素的区域预测每个块。所使用的区域的身份以运动向量的形式作为开销(“边信息”)被发信号传递。良好的运动估计技术必须平衡低复杂度与高质量视频图像的需求。还期望他不需要太多开销信息。
在上文所述的标准***中,应当注意,帧内预测编码和帧间预测编码(运动估计)在非量化的空间域中被执行。
最近,在变换域中操作的运动估计技术已经引起注意。然而,现有技术都不能够以低复杂度执行(从而减少计算开销),同时还实现(deliver)高质量。因此,当前实践中,对于运动估计不使用频域技术。
VC-1视频编码解码器具有在频域中操作的帧内预测模式,其中DCT(离散傅立叶变换)域中AC系数的第一列和/或第一行是根据紧接地位于处理的块左边或上面的DCT块的第一列(或第一行)预测的。也就是说,位于一个块边缘的系数是根据邻近块中直接空间邻居预测的。为了参考,参见“The VC-1 and H.264 Video Compression Standards for Broadband Video Services”, AvHari Kalva,Jae-Beom Lee,pp.251。
发明内容
根据本发明的一个方面,提供一种压缩视频数据的方法,包括:接收包括多个视频帧的视频信号,每个帧表示在不同的相应时间处的图像,并且每个帧包括相应图像的多个组成块;对于视频信号的帧内要被编码的多个当前块中的每一个,选择相应的参考块,并且生成当前块相对于相应参考块的差数据;以及生成包括该差数据连同识别所选参考块的边信息的编码比特流,并且将该比特流输出到传输介质和存储介质之一以提供给解码器;其中每个所述参考块通过以下操作来选择:(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及(ii)基于涉及在编码的比特流中编码所述差数据和识别所述候选作为参考块的边信息所需的多个比特的度量(metric),来选择所述候选块中的一个作为参考块。
在优选实施例中,步骤(i)可以包括搜索一组块以基于除了空间接近当前块之外的第一度量选择候选块的子集(subset),从而选择除了当前块的紧接邻近的空间邻居之外至少一些其他候选块的子集;并且步骤(ii)可以包括基于不同于第一度量的第二度量选择所述候选块中的一个作为参考块,第二度量涉及在编码的流中编码所述差数据和将该候选识别为参考块的边信息所需的多个比特。
在预测编码中除了使用预定的空间邻居用于参考之外,本发明允许其他块变成用作参考块的候选。例如,本发明可以基于一些其他属性(比如块能量或结构)的相似性选择候选。这潜在地是有益的,因为实际上非空间邻近块可以证明是用于预测编码的更合适的参考,即可能更相似于当前块,并且因此导致更小的残差,其可以利用更少比特来编码。例如来自帧的另一边的块可能碰巧导致更小的残差并且因此需要更少的比特来编码。
然而,这意味着最佳候选的位置也需要作为比特流中的边信息被发信号传递解码器。因为被发信号传递的块可潜在地处于帧内的任何位置处,所以其位置可能需要相对较大的数量的比特来编码并且因此边信息潜在地较大。
因此,根据本发明,由边信息和残差两者引起的比特的数量方面的成本被计算。当边信息的成本和减少的残差的益处二者均被考虑时,本发明因此提供了一种选择在预测编码中使用的参考模块的改进的方法,其有利地导致减少的整体比特率。
而且,在特别有利的实施例中,步骤(i)可以针对多个所述参考块执行一次,使得多个参考块选自相同子集的候选块。用于帧间和帧内预测的参考块可以选自相同子集的候选。
迄今为止,没有可以用于间帧和内帧二者的可用技术。
在特别有利的实施例中,步骤(i)可以包括搜索至少一个帧的所有块。因此,本发明优选地使用全面、穷尽搜索,这意味着帧中的任何块可以是候选。
在另一个实施例中,每个块包括多个系数,并且所述差数据可以基于该参考块的所有系数而针对当前块的所有系数而被生成。这不同于VC-1,其仅适用块内的第一行和/或列系数。
在另一个实施例中,编码的比特流的生成可以包括熵编码差数据和边信息。在这种情况下,本发明在熵编码前(例如,在霍夫曼(Huffman)编码或算术编码前)提供改进的冗余移除。
在另一个实施例中,步骤(ii)可以包括选择在编码的比特流中需要最少比特以编码差数据和将候选识别为参考块的边信息的候选块。
第一度量可以是块能量的测量。步骤(i)可以包括基于候选块的块能量相对于当前块的块能量来选择候选块的子集。所述块能量的测量可以包括下述之一:块中的零系数的数量、块中的多个非零系数的数量以及块中系数的模的平均值或总和。
该方法可以包括:在选择参考块之前,将一个或多个帧的块从空间域表示变换成变换域表示,由此生成针对每个块的相应组的变换域系数,其中差数据可以基于变换域系数而生成。
可以相对于变换域系数评估第一度量。可以基于变换域系数评估块能量。
步骤(ii)可以包括将包括当前帧的一组块排序成根据第一度量的顺序,以及基于与排序的组内当前帧的接近性选择候选块的子集。
步骤(ii)可以包括选择排序的组内当前块的预定窗口内的候选块的子集。
第二度量可以包括编码差数据和将候选识别为参考块的边信息二者所需的比特率。
第二度量可以涉及在编码的比特流中用于对差数据和边信息的所述熵编码所需的比特的数量。
该比特率可以通过用于表示差数据和边信息的多个不同的可能符号的概率的log2的和来确定。
该方法可以包括在所述预测之前量化每个帧的块。
对于在视频信号的当前帧内要被编码的多个当前块中的每一个,所述选择可以包括选择当前帧中的相应参考块,并且相应的差数据可以根据通过参考当前帧中的参考块而对当前块的帧内预测来生成,在当前帧中对所述参考块中的每一个的选择通过步骤(i)和(ii)来完成。
步骤(i)可以包括搜索当前帧的所有块。
对于在视频信号的当前帧内要被编码的多个当前块中的每一个,所述选择可以包括选择先前帧中的相应参考块,并且相应的差数据可以根据通过参考先前帧中的参考块而对当前块的帧间预测来生成,在先前帧中对所述参考块中的每一个的选择通过步骤(i)和(ii)来完成。
步骤(i)可以包括搜索先前帧的所有块。
编码的比特流中的边信息可以识别先前帧。编码的比特流中的边信息可以借助相对于帧中固定点的位置而不是相对于相应当前块的向量来识别每一个所选的参考块。
根据本发明的另一个方面,提供一种用于压缩视频信号的计算机程序产品,该计算机程序产品体现在计算机可读介质上并且包括代码,其被配置成当其在处理器上被执行时使得:接收包括多个视频帧的视频信号,每个帧表示在不同的相应时间处的图像,并且每个帧包括相应图像的多个组成块;对于视频信号的帧内要被编码的多个当前块中的每一个,选择相应的参考块,并且生成当前块相对于相应参考块的差数据;以及生成包括该差数据连同识别所选参考块的边信息的编码比特流,并且将该比特流输出到传输介质和存储介质之一以提供给解码器;其中该计算机程序产品被配置成通过以下操作来选择每个所述参考块:(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及(ii)基于涉及在编码的比特流中编码所述差数据和将所述候选识别为参考块的边信息所需的多个比特的度量,来选择所述候选块中的一个作为参考块。
在实施例中,该计算机程序产品可以进一步被配置成使得当前其被执行时执行上述方法特征的任意一个。
根据本发明的另一个方面,提供一种用于压缩视频信号的编码器,该视频信号包括多个视频帧,每个帧表示在不同相应时间处的图像,并且每个帧包括相应图像的多个组成块;该编码器包括:预测编码模块,其被设置成对于视频信号的帧内要被编码的多个当前块中的每一个,选择相应的参考块并生成当前块相对于参考块的差数据;以及输出模块,其被设置成生成包括该差数据连同识别所选参考块的边信息的编码比特流,并且将该比特流输出到传输介质和存储介质之一以提供给解码器;其中该预测编码模块被配置成通过以下操作来选择每个所述参考块:(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及(ii)基于涉及在编码的比特流中编码所述差数据和将所述候选识别为参考块的边信息所需的多个比特的度量,来选择所述候选块中的一个作为参考块。
在实施例中,该编码器可以进一步根据上述任意方法特征来配置。
根据本发明的其他方面,可以提供一种体现在诸如网络设备的传输介质或存储介质之类的物理介质上的相应比特流。还可以提供一种相应的解码器和解码器程序产品。
附图说明
为了更好地理解本发明并且示出本发明可以如何实施,现在将通过示例参考附图,在附图中:
图1是视频流的两个帧的示意性图示,
图1a示出空间域中表示的块的像素值,
图1b示出在频域中表示的块的系数,
图2是示出编码方法的流程图,
图3是示出排序的块列表的曲线图,
图3a图示了块排序的示例,
图3b图示了块匹配预测的示例,
图4是编码器的示意性框图,
图5A是帧内预测的示意性示例,
图5B是帧间预测的示意性示例,
图6是解码器的示意图,
图7是编码器的示意性框图,
图8是解码器的示意性框图,
图9是对用于块匹配的候选的选择的示意性图示;
图10是编码方法的流程图;以及
图11是解码方法的流程图。
具体实施方式
在下文中,描述一种用于在视频传输***中数据压缩的方法和***。
图1示意性图示了在两个相应的时刻t和t+1处视频图像的两个连续帧ft和ft+1。为了帧间预测的目的,第一帧ft可以被认为是参考帧,即在编码器处刚好已经根据移动序列被编码的帧,或者在解码器处刚好已经被解码的帧。第二帧ft+1可以被认为是目标帧,即为了编码或解码的目的其运动被设法估计的当前帧。为了说明的目的,示出了具有两个移动对象的示例。
运动估计本身在本领域中是已知的,并且因此在本文中仅在为本发明提供合适背景所必需的程度上被描述。根据用于视频通信的国际标准(比如MPEG-1、2&4和H.261、H.263&H.264),运动估计基于对源帧的基于块的划分。例如,每个块可以包括4×4像素的阵列,或者在各种其他标准中的4×8、8×4、8×8、16×8、8×16或16×16像素的阵列。在图1中,用Bi表示示例性块。每块的像素数可以根据所需的精度和解码速率来选择。每个像素可以通过多种不同的方式来表示,这取决于根据标准采用的协议。在本文的示例中,每个像素由色度(U和V)和亮度(Y)值来表示(但是其他可能的颜色空间表示在本领域中也是已知的)。在该特定示例中,色度值由块中的四个像素共享。宏块MBi典型地包括四个块,例如对于4×4块而言的8×8像素的阵列,或者对于8×8块而言的16×16像素的阵列。每个像素具有相关联的比特率,该比特率是传输关于该像素的信息所需要的数据的量。
图2是根据本发明的优选实施例的数据压缩方法的示意性流程图。该方法优选地使用基于客观度量(objective metrics)的块匹配。即,将要被编码的当前目标块的一个或多个度量与多个其他块的对应度量进行比较,并且基于这些度量的相似性的测量来选择参考块。然后,该参考块形成用于借助预测编码(coding)来编码当前块的基础,该预测编码为在参考块来自相同帧ft+1的情况下的帧内编码或者在参考块来自先前帧ft(或甚至ft-1或ft-2等)的帧间编码。块匹配背后的思想是在当前块被相对于参考块而编码时选择将导致小残差信号的参考块(即,使得实际的当前块与预测之间的差在根据所选的参考块预测时将是小的),从而仅需要较小数量的比特来编码。
该技术的特别优选的方面是,在频域中实施块匹配,即基于块的变换的表示的一个或多个度量的比较来实施。
因此,在步骤S1处,在多个帧的每一个的图像的每一个部分上(例如在每个块上)执行频域变换。每个块最初被表达为空间域表示,由此该块的色度和亮度被表示为空间x和y坐标的函数,U(x,y)、V(x,y)和Y(x,y)(或其他合适的颜色空间表示)。即,每个块由在不同的空间x和y坐标处的一组像素值表示。然后将数学变换应用于每个块以变换成变换域表示,由此该块的色度和亮度(或类似)被表示为诸如具有1/波长的大小的波数kx和ky之类变量的函数,即U(kx,ky)、V(kx,ky)和Y(kx,ky)。即,该块被变换为表示可以被认为构成了该块的不同空间频率项的幅度的一组系数。这样的变换的可能性包括离散余弦变换(DCT)、卡-洛变换(KLT)或其他变换。例如,对于在块内离散的x和y坐标处N×M像素的块,DCT将会将亮度Y(x,y)变换成一组频域系数Y(kx,ky):
相反地,x和y表示Y(x,y)可以根据在kx和ky上求和的频域项的和来确定。因此,每个块可以被表示为具有相应幅度系数Y(kx,ky)的一个或多个不同的空间频率项的和(且对于U和V类似)。变换域可以被称为频域(在该情况下是指空间频率)。
在本发明的一些实施例中,可以在三维中应用所述变换。短的帧序列有效地形成三维立方体或长方体U(x,y,t)、V(x,y,t)和Y(x,y,t)。在三维变换的情况下,这些将变换成U(kx,ky,f)、V(kx,ky,f)和Y(kx,ky,f)。术语“频域”在本文中可以用于指依据从空间域变换的空间频率(1/波长的域)和/或从时间域变换的时间频率(1/时间周期的域)的任何变换域表示。
一旦块被变换成频域,通过比较当前块的变换的频域系数与多个其他块的变换的频域系数来执行块匹配。然后,用于当前块的预测编码的参考块(帧内或帧间)可以基于根据频域系数确定的块相似性的测量来选择。
在频域中块匹配的优点在于,该变换倾向于将块的能量压(compact)成仅一些非零(或不可忽略的)系数,并且因此现在可以仅基于仅一些频率系数而非块中的所有系数进行比较。即,由于频率变换将能量浓缩成仅一些重要系数,则可以仅通过考虑这些少量的重要系数来执行高效的块匹配(或甚至其他处理)。该技术因此提供了针对在视频传输中数据压缩问题的独特方法。尽管在比较模式(pattern)时不是每一个像素都需要被直接比较,但是可以实现完全搜索。
例如,考虑如图1a和1b中所示的说明性情况。这里,块在频域中的表示是通过一种变换实现的,该变换将空间域像素值转换成空间频率。图1a示出空间域中四个8×8块的一些示例像素值,例如其可以包括在块内不同的像素位置x和y处各个像素的亮度值Y(x,y)。图1b是在变换和量化之后在频域中的等价物。例如,在图1b中,这样的系数可以表示可以以和的形式出现的不同的可能频域项的幅值Y(kx,ky)。空间域和频域中块的尺寸是相同的,即在该情况下为8×8值或系数。然而,由于这些变换的属性的缘故,于是块的能量被压成频域中的仅少量系数,因此整个块可以仅通过仅处理这些少量系数来考虑。
如从该示例可以看出,仅需要处理四个值以在频域中找到针对这四个块的匹配,而在空间域中,存在需要被处理的256个值。因此,不同于现有技术,本发明可以允许执行完整真实的搜索,而无需“触动”块中的每个像素,即无需处理每个单独的像素。
应当领会,尽管本文中提及了块和宏块,但是这些技术可以类似地用在图像中可定义的其他部分上。块和/或部分中频域分离可能取决于变换的选择。例如,在块变换的情况下,如离散余弦变换(DCT)和卡-洛变换(KLT)及其他变换,目标块或部分变成固定或可变大小的阵列。每个阵列包括一组变换的量化的系数。例如,在图5A的更详细的示例中,16×16像素的每个宏块MB可以在频域中用16个亮度块和8个色度块表示;每个块b0…b23具有量化的系数的4×4阵列。
根据本发明的另一个优选方面,块匹配可以基于反映块的相对重要性的索引值而在排序的列表内执行。在此情况下,匹配块的选择可以基于用于重要性索引的值的聚合来执行。现在将参考图2的步骤S2到S6和图5A的示例块来描述优选示例。
在步骤S2处,频域中的每个块b0…b23被分配索引值,该索引值是从其频域系数中的一个或多个得出的。例如,索引值可以表示块的能量。例如,这可以包括在块的系数上的聚合(例如零系数的数量、非零系数的数量或每个块中系数的模的平均或总和)。
在步骤S3处,来自至少一个帧的块然后基于索引值而被排序。这可能涉及生成排序的列表,其中条目表示根据它们的索引值(例如它们的块能量)排序的块。
在步骤S4处,通过基于索引值确定搜索范围或阈值Δ来从排序的阵列识别候选块的子集。候选块将是潜在的匹配,作为用在对要被编码的当前块的预测编码(coding)中的参考块。在图3中图示了这一点。例如,这可以通过从要被编码的当前块确定能量范围+/-Δ并且确定当前块的该范围内的所有块是用于作为参考块的潜在选择的候选(即,为了预测编码(coding)的目的用于“匹配”当前块的候选)来实现。
在步骤S5处,然后针对相似性评估候选块。例如,优选地基于比特率确定块相似性,其中比特率是需要传输的比特数的测量以便限定在根据每个候选块预测的情况下的当前块的残差。这方面的示例不久将更详细地讨论。
在步骤S6处,最佳匹配候选基于其相似性来确定,并且当前目标块相对于该匹配候选而被编码。该编码包括从当前块的频域系数减去参考块的频域系数以便生成残差信号,以及然后将当前块的残差连同相应的所选参考块的身份编码成编码的比特流(而不是编码目标块的实际的绝对系数)。该参考块因此被用作当前块的预测。该残差是当前块的频域系数与参考块的频域系数之间的差,这需要编码更少的比特并且因此该编码导致压缩的视频信号。与对其他这样的候选而言所需的比特率相比,用作参考块的最佳候选优选地通过基于候选加上识别候选块的开销信息计算传输当前块的残差所需的比特率来选择。应当容易领会,匹配并不暗示相同的块,而是足够相似的块,使得残差可以以较低比特率传输。
图3是图示排序的阵列的布置的曲线图。在水平轴上示出排序的块的列表,而在竖直轴上示出块能量索引值。该块能量索引值是从块的系数得出的客观度量的示例。
如上所述,选择具有在某搜索范围或阈值Δ内的索引的最佳匹配参考块。因此,根据一个优选方面,本发明提供一种在多个块中基于它们索引的相似性搜索匹配的方法。通过利用它们的能量索引或类似物搜索匹配,这有利地将匹配的潜能扩展到该帧或另一个帧内的任何地方。因此,该匹配不需要被限制于目标块的邻近区域。例如,具有相似能量的块即使在位于帧的相对侧上的情况下也可以实现良好的匹配,例如在该帧中不同位置处出现的相似背景区域的块。
根据本发明的另一个优选方面,通过首先基于第一度量(例如索引值)选择候选块的子集,接着基于第二度量(例如比特率成本)从该子集内选择匹配候选块,来执行块匹配。然后该匹配块在对要被编码的当前块的预测编码中被用作参考块。基于第一度量、特别是基于诸如块能量之类的聚合度量使可能的匹配缩减到候选的初步(preliminary)子集的一个优点在于,不太可能的候选可以在早期被排除,而不引起显著的处理负担。即,该排序可以用于丢弃不太可能的候选。因此,基于第二度量的更处理器密集的比较,比如比特率比较,仅需要针对相对较少数量的预审查(pre-vetted)的候选来执行,从而减少了由块匹配算法引起的处理负担。例如,具有非常不同的块能量的块不太可能是良好的匹配并因此它不太可能值得比较它们的潜在比特率贡献的处理成本。为了最小化处理,在步骤S6中对匹配块的选择优选地在列表内的小邻域内执行(搜索范围+/-Δ)。
不过,注意到,该排序仅给出了匹配的某种可能性并且也可以依据性能考虑来选择。选择较小的Δ导致更低的处理成本,但导致更少的候选,从而冒着找不到最佳的可能匹配的风险。另一方面,选择较大的Δ引起更高的处理成本,但是将包括更多的候选,并且因此具有找到最佳匹配的更好机会。在实施例中,Δ甚至可以基于一个或多个性能因素(比如可用的上行或下行链路带宽或可用的处理资源)而被动态地适配。还注意到,不一定需要在+Δ方向上使用与-Δ方向上相同的Δ值。
应当领会,在步骤S3处,可以针对宏块(如图5A的示例中所示)、针对单个帧(用于帧内数据压缩)或针对当前目标帧和一个或多个参考帧(用于帧间运动估计)来生成排序的阵列。
在一个特别有利的实施例中,相同的排序的列表用于(通过确定该相同列表内候选的相应子集)匹配多个目标块。而且,如果该列表包含来自当前帧和一个或多个先前帧的块,则该相同列表甚至可以用于在相同的排序列表内的帧间和帧内匹配。例如,当处理特定的目标帧时,也许在该帧内找不到良好的匹配,在此情况下,该方法可以指望其他帧,因为复杂度低且匹配方法相同。根据本发明的优选实施例,与用于帧内的帧内匹配相比,不需要使用不同的方法用于找到帧之间的帧间匹配。
通过用针对整个帧或甚至多个帧执行一次的单个排序取代针对每个块执行的穷尽的、重复的搜索,匹配块的选择可以使用排序的列表在小邻域中执行。优选地,该排序针对多个帧被执行一次,使得帧间匹配和帧内匹配两者可以通过相同的排序的列表在相同的级处被处理。例如,这可能涉及在当前帧的排序的列表内寻找匹配,并且如果没有找到满意的匹配,检查一个或多个其他帧的排序的列表以找到更好的匹配。
因此,本发明的上述方面提供压缩视频数据的方法,其可以适用于帧内压缩和帧间运动估计。在过去,对于帧间数据压缩和帧内数据压缩,算法采用不同的方式。另一方面,本发明可以有利地提供用于帧内和帧间预测两者的统一技术。
该方法的另一个益处是,由于其低复杂度的缘故,与现有算法相比,所使用的参考帧的数量可能明显更高。
而且,注意到,常规运动估计预测来自在水平或竖直方向上偏移任意数量的像素或甚至分数个像素的区域的每个块,而本发明所使用的方式不同在于通过将预测限制于仅执行块到块匹配。即,在逐块的基础上的匹配,从而块被匹配到另一个整块(而非需要指定任意数量像素或分数个像素的运动向量的任意偏移区域)。在特征的特别有利的组合中,块到块匹配可以在频域中执行,其中可以通过仅预测两个或更多块之间的频域系数的子集得出效率。
一旦在步骤S6处选择了匹配块并且已经相对于该匹配块编码了当前目标块,频域系数的残差经由熵编码器而被输出以用于包括在编码的比特流中。此外,边信息包括在比特流中,以便识别参考块,每个编码的块将在解码器处根据该参考块而被预测。每个块可以通过其位置来识别,即通过其地址或在特定帧内的位置。每个帧可以通过帧号来识别。由于上述差别,注意到,识别所选的参考块的边信息可以依据整体数量的块以识别参考块的位置的块地址的形式在比特流中被发信号传递。这可以采取绝对块地址的形式,即相对于帧中固定点的位置。可替代地,它可以采取相对地址的形式。如果候选可以从多个不同的潜在帧中选择,则该边信息还可以识别所选的参考块的帧。
这不同于常规的运动向量,其以相对于当前块的小向量的形式被发信号传递,该向量是任意数量的像素或分数个像素。
如上所述,VC-1视频编码解码器具有帧内预测模式,其中DCT域中AC系数的第一列和/或第一行是根据紧接地位于被处理块的左边或上面的DCT块的第一列(或第一行)预测的。然而,这不同于本发明的各方面中使用的方式,其不同之处在于它被限于仅使用用于帧内预测的预定的空间邻近的系数。VC-1不允许针对所选的参考块的帧内匹配,例如基于块能量和/或比特率贡献选择的参考块(并且因此VC-1还涉及向解码器发信号传递所选的参考块的身份)。
图4是示出根据本发明的一个实施例的编码技术的架构的示意性框图。原始输入视频流由正变换级2接收。该级的输出被提供给正量化级4。正变换级2将空间或空间-时间变换应用到频域中作为第一编码(coding)步骤。正量化级2应用量化并且为每个块生成频域中的一组量化系数。在输入视频流的时间域中每个内帧的来自正量化级2的变换系数被提供给帧内预测级6。
该帧内预测级6操作来使用上述方法定位在每个帧内用于预测的候选块。从正量化级4向帧间预测级8提供间帧的变换系数,如上所述,这分离了用于预测目标帧的候选块。帧内预测级和帧间预测级8的输出被提供给熵编码器10,其编码数据以提供用于传输的编码流。该编码流包含信息序列,对于每个块而言,该信息序列包括一组系数(实际的或残差的)、限定该块是否要被预测的数据,以及如果是则包括要根据其预测该块的参考块的指示。参考块的身份可以在编码的比特流中被表示为帧内的绝对块位置(即通过引用固定点),而非相对于当前块的位置。可替代地,该位置可以在编码的比特流中被表示为当前块与被根据来预测该当前块的块之间的位置差异。不管怎样,块位置依据整体块的多个间隔来表达,即表达为块地址,并且因此获得了益处,因为与以像素或甚至分数像素表达偏移的常规运动向量相比,这需要少得多的编码开销。
注意到,该布置不涉及如在图7的标准编码器中的回到空间域的回路。因此,在变换的频域中基于频域系数执行块匹配。
还注意到,在优选实施例中,对参考块的选择在量化的域中执行,即非扭曲、无损的环境。因此,在执行选择之前,没有附加的扭曲被应用于候选块或当前块。
图5A示意性图示了预测示例,图5A中图示的情况是:其中该技术用于在一个帧中的相同宏块的不同块之间的帧内预测。图5A在左侧图示了被变换成宏块(16×16像素)的频域的亮度和色度数据。频率变换的系数被组织成块b0、b1等,每个块包括4×4系数的阵列。块b0到b15表示宏块的亮度数据(y),并且块b16到b23表示宏块的色度数据(u,v)。
存在用于处理色度和亮度通道的不同方案。普通的方式是4:2:0格式,这暗示色度通道在水平和竖直方向上被降低采样1/2。
在所示的示例中,块b0包含16个系数:一个DC(在坐标0,0处的第一个)和15个AC系数(该块的其余)。该DC表示亮度(对于“Y”块)和色度(对于“U”和“V”块)的所谓“恒定”值,并且这些AC形成可变部分,其意指对每个像素它们的贡献是不同的。DC和所有AC的组合被用于表示在基于所使用的变换解码之后每个像素的值。该16×16亮度频域系数“Y”被完全用于表示16×16空间域像素。在上述解释中,色度“U”被二次采样。该格式已知为YUV 4:2:0,其意指Y像素的每个2×2正方形的四个亮度像素分别共享一个“U”和一个“V”像素。
还存在已知为YUV 4:2:2或YUV 4:4:4的其他格式,其中在YUV 4:4:4中色度根本未被二次采样,或者其中色度具有是4:2:2中数据的两倍。本发明可以针对这些格式的任意一个工作。
在所述示例中,宏块的块b0到b23基于块能量或活力的测量(索引值)而被排序。图3a图示了块排序的示例。用于排序块的块能量可以以多种不同方式测量。根据一种技术,该排序基于块中零值系数的数量。在另一种技术中,使用非零系数的模数的平均值来实施该排序。使用块能量的测量Δ,在如图3中所示的排序的列表内建立搜索范围以识别候选块(图2的步骤S4)。然后如上所述基于比特率评估建立用于预测的最佳候选(图2的步骤S6)。
在图5A中的右首图图示了这些预测的效应。块b12被标记P1以将其表示为第一预测块。取代传输块b12中的实际系数,表示块b12与b10之间的差异的系数(残差)连同在传输的数据块12中已被根据参考块10预测的信息一起被传输。参考块10的指示也被传输,例如由其帧号和帧中的位置来识别。这在图5A的右首侧上的列表中示意性示出,其中P1表示预测1,在亮度块中块12减去块b10。下一个要选择的候选是标记为P2的块20,其根据块b21预测。该过程继续,并且在此情况下导致7个预测块。这导致要被传输的系数的数量减少了9(从132到123)。在特定示例中,当视频数据被编码以用于在箱(bin)中传输时,这具有如下效应:箱122和1008被移除,同时箱224和288的内容增加。在图5A中,箭头表示预测块与被根据来预测该预测块的块之间的关系。
图5B示出用于两个帧的不同宏块的不同块之间的运动预测的预测示例。
图6是用于解码已经经受上述技术的块预测的视频流的解码器的示意性框图。除了编码的系数之外,该视频流包括限定预测块的数据、已经被根据来预测这些预测块的块的身份、以及预测这些预测块的顺序。编码流被提供给熵解码器12,其针对输入数据确定要被解码的块是用于重构内帧还是重构间帧。用于重构内帧的块被传递到帧内重构级14,而用于重构间帧的块被传递到帧间重构级16。预测的块通过将残差添加到预测它所根据的块中的相应定位的系数来重构。重构级14和16的输出被提供给逆量化级18并且然后被提供给逆变换级20,其中量化系数被作为解码流而从频域变换成时域。
现在更详细地讨论用于基于比特率贡献匹配块的优选技术的细节。该技术借助量化的域中的块预测降低了视频压缩中的比特率。该方法的输入是例如一片(slice)变换的且量化的系数(例如,来自H.264的残差)的块或其一组这样的片。片意指一群宏块,所以每帧一片意指该帧中的所有宏块属于该片。对于当前片中的每个变换且量化的块,来自先前编码的片的块和当前片中的块(然后必须注意确保可解码流)是要被用于预测的潜在候选,以便减小比特率(与块自身的直接熵编码相比)。下文描述预测器的示例实施例和要被用于预测并需要边信息以识别该块的块的“最优”选择(需要用于解码器中重构的描述)。该边信息连同残差被熵编码器10熵编码成编码的比特流。
在优选实施例中,本发明使用两类度量执行块匹配:一类基于块的聚合或模式(例如能量、结构等),而第二类基于比特率。这两个度量被用在两个分开的级:用于排序的第一级和用于RD回路的第二级。在特别优选的实施例中,该RD回路速率目标不仅是找到可以根据速率接近地预测彼此的两个块,而且是同时针对块群解决该问题。一个简单示例可以是下面的模式--(a)1,2,1,2,1,2,1,2和(b)46,47,46,47,46,47,46,47,其将导致(a)1,2,1,2,1,2,1,2和(b)45,45,45,45,45,45,45,45。即,多个块可以根据相同的候选块的排序列表来匹配,潜在地包括帧间和帧内预测都基于相同的排序列表来执行。
由于在熵编码器10中算术或霍夫曼(Huffman)编码器(coder)之前改进的冗余移除的缘故,这些优点是改进的熵编码。与VC-1[1,pp.251]相比,存在多个潜在优点:(i)块中的所有系数被用在预测中并且不仅仅是第一行和/或列;(ii)帧/片中的所有块作为用于预测的候选块而非仅仅左边或顶部的块;(iii)广义预测结构,例如加权的预测或来自多个块的预测;以及(iv)显示速率估计以用于找到用于预测的最佳块(考虑用于边信息的成本)。
让X(m,n)表示在时间-实例n处量化的系数(例如量化的DCT系数)的块,m∈M(总共M个块构成一个帧/片)。这些块通常被馈送到熵编码器10(在H.264中更具体地为上下文自适应可变长编码器或上下文自适应二进制算术编码器)。即,从具有X(m,n)这一点,执行无损压缩,即扭曲是固定的。该方法设法借助预测器在算术编码器之前移除剩余的冗余(且由此减少速率)。在一个实施例中,该预测被形成为当前块与参考块之间的减法。用于预测当前块X(m,n)的最优索引(o opt p opt )基于速率计算/估计来选择,即:
其中R(X(m,n)-X(o,p))表示预测残差的比特率,且R(o,p)表示边信息的比特率(即,用于传输帧p的预测块索引o的比特率)。该速率估计可以例如从算术编码(coding)例程部件提供,其中符号概率取log2的和可以用于估计该速率。从例如计算方面来看,它可能还有益于通过使用与该速率良好关联的另一个测量来近似在公式[1]中的标准。一般地,可以使用以某种方式相关于在编码的比特流中编码残差块和识别相应参考块的边信息所需的(即对于在候选被选择为参考块的情况下对每个候选而言所需的)多个比特的任何度量,而不论该度量是直接测量的比特数或比特速率还是与数量/速率相关联的度量。
可以通过预先排序候选以使得潜在的良好候选位于排序的阵列中特定位置附近来使得对最优预测器的搜索在计算上更高效。现在,让Y(k,n)表示根据某测量的帧n的块系数m∈M的M维排序的阵列中的元素k。例如,块X(m,n)m∈M可以根据它们的上升的能量(或一些其他信号相关属性)来排序。
为了找到预测器,我们例如从光栅扫描顺序(或者从速率或计算复杂度观点上有益的一些其他顺序)中的当前帧/片中第一块开始,并且在当前帧的排序的阵列Y(n)和先前处理的帧的(重新)排序的阵列Y(n-NumRef),…,Y(n-1)中找到它的位置。NumRef是参考帧的数量,即这里为已被处理并可以用于帧间预测的先前量化的帧的数量。作为来自当前帧/片的预测候选,我们选择位于排序的阵列中当前索引周围+/-W范围内的候选,即***表达式(1)中的“帧内”预测候选是对应于排序的索引Y(q(n)-W,n),…,Y(q(n)-1,n)和Y(q(n)+1,n),…,Y(q(n)+W,n)的块;其中,q表示排序的阵列中当前块的位置。注意到,必须特别小心以避免循环预测,即避免在块n已根据块m被预测的情况下根据块n预测块m,从而使得解码不可行。还应当提及,残差的直接编码(即,没有预测)也被作为用于速率估计的候选包括在内。
与选择帧内预测的候选相似,帧间预测候选被选择为Y(q(n-i)-W,n-i),…,Y(q(n-i)+W,n-i)i=1;NumRef
根据公式(1)评估所有帧内和帧间候选,并且选择最优索引对。针对帧/片中的所有块重复该过程。所得的预测残差(变量/索引差)连同所需的用于解码的边信息例如被算术地编码并被发送到解码器。
参考图10,由解码器执行的该方法的一个实施例如下:
步骤T1:根据某个测量排序帧中的所有块。
步骤T2:设置块索引为m=0。
步骤T3:在排序的列表中找到块索引m的等效位置q(当前的和先前的量化的帧,即找到q(n),…,q(n-NumRef))。
步骤T4:帧内和帧间预测候选分别选择为:
Y(q(n)-W,n),…,Y(q(n)-1,n);
Y(q(n)+1,n),…,Y(q(n)+W,n);以及
Y(q(n-i)-W,n-i),…,Y(q(n-i)+W,n-i)i=1;NumRef
搜索范围W的尺寸是性能与计算复杂度之间的权衡。
步骤T5:根据表达式[1]找到最佳候选或其某个近似。
步骤T6:向算术编码器发送最优预测残差连同边信息(例如帧内残差块的位置和被用于预测的块的位置(例如空间和时间))。
步骤T7:增加块索引m=m+1并且转到步骤T3,直到m=M,此时该方法移到下一个帧n=n+1。
参考图11,由解码器执行该方法的一个实施例如下:
步骤U1:解码所有预测残差和边信息(这给出了预测残差的帧连同对每一个块而言如何撤销预测的描述)。
步骤U2:重构所有不依赖未重构的块的所有块(即撤销预测)。
步骤U3:重复步骤U2,直到所有块被重构。
上述示例实施例可以以若干方式被扩展。例如,它可能有益于使用加权预测或根据多个块的预测。附加的边信息将需要被传输,该边信息对于加权预测和使用多个块的预测而言将是预测权重和块位置/地址。
图9中示出编码器中预测的图示。这给出了编码器中块预测的高阶图示。预测残差连同边信息被发送到熵编码器。在解码器中,执行逆过程,即首先重构残差帧,然后重构给定边信息的帧。
现在,更详细地讨论在频域中发信号传递用于预测的帧内和帧间预测信息的优选方法的细节。
如所提及,根据本发明的一个方面,块仅被匹配到另一个整块,而非如在更常规块匹配技术中那样匹配偏移任意数量的像素的块大小区域。因此,本发明的发信号传递算法发送块地址而非运动向量,即依据全部数量的块而非像素偏移表示。然而,注意到,尽管在本文中可以使用术语“块”,但是在其最一般的意义下,这并不旨在暗示特定尺寸、形状或级别细分。应当领会,在不同的方案中,各种不同的分割和细分可以通过诸如宏块、块和子块等之类的术语指代,但是如本文最一般地使用的术语“块”可以对应于这些中任意一种或者甚至对应于作为与多个像素相对应的视频帧的分割的任何其他组成图像部分。无论使用什么分割方式,根据本发明,用于预测的参考部分的地址作为整体数量的多像素部分而非像素偏移而被发信号传递。
在实施例中,比特流还可以包含一个或多个预测方法标志,其指示要被解码器使用的预测方法(对应于被编码器使用的预测方法)。
而且,比特流可以包含参考块的帧号,因为用于预测的参考块可以从多个不同的帧的任何一个中选择。
在一个特别优选的实施例中,在比特流中被向解码器发信号传递的边信息包括:帧号、加法或减法标志、绝对值标志、宏块地址、宏块内的块地址以及块内的子块地址。该边信息的信令结构在下表中示出。
Figure DEST_PATH_IMAGE003
对于每个分辨率,预测索引可被编码如下。这示出信令结构尺寸和针对多个不同分辨率的编码。
Figure 737770DEST_PATH_IMAGE004
该改进的预测方案比当前预测方案更有效,当前预测方案使用更高比特率发信号传递该改进方案可以传输的信息的仅仅一部分。流线型的帧间和帧内预测允许简化发信号传递的方法。图3b示出实现比特节省的块匹配预测示例。下表示出有效的边信息和用于多个分辨率的编码。
编码器元素2、4、6、8和10;以及解码器元素12、14、16、18和20中的每一个优选地在存储在如硬盘或闪存之类的存储介质上并设置用于在处理器上执行的软件模块中实现。然而,在其他实施例中,这些元素中的一些或所有可以至少部分地在专用硬布线电路中实现。
在一个可能的实施例中,本发明可以实现为现有的编码器(比如ISO标准H.264)的插件。即,到图4中的量化器4的输入将是来自诸如H.264编码器之类的标准编码器的输出。
本发明的上述实施例可以提供若干优点。匹配块是通过检查块之间的差异来定位以确定最后传输的视频数据的比特率相对于用于发送这些块的系数的比特率将得到减少。而且,该预排序已经识别了发生该比较所在的候选块。这些块不必是图像帧中的物理邻居,相反它们是基于与块关联的(比如表示能量的)索引值排序的。这允许从帧的任意部分(或者甚至不同帧)选择最佳匹配块。当选择最佳候选时,比特率的比较可以考虑需要被传输以识别该块是预测块并识别被根据来预测该块的块的开销信息。被根据来预测该块的块的身份可以以被表达为整体块的多个间隔的帧内的位置(即块地址)的形式而非以被表达为根据多个像素或者甚至分数个像素的偏移的运动向量的形式而被提供给解码器。
所述方法在借助块预测在压缩的数字视频流中量化之前和/或之后移除了时间域和频域中的冗余。该方法的输入是输入视频流的时间域中一组帧的一组变换的和/或量化的变换系数。该输入视频流帧可以被分离成块和块群。块的群不受加入该群的各个块的位置的限制。该预测在当前帧(帧内)的块之间执行并且不受块的位置的限制但是受到块相似性因素的限制。相同的技术可以用于帧间预测。帧间块匹配也不受位置的约束。块相似性根据比特率减少的观点来确定。
而且,如所解释的,在优选的实施例中,在频域中实施处理,其中所述变换已经压缩目标对象的能量以使得现在可以使用一些频域系数而不是整个图像来实施比较。在这些实施例中,该方法的两个组件,即频域中的处理和排序相对搜索,降低了复杂度,同时保持了非常高的质量。该方法的另一个益处在于,由于所涉及的计算的低复杂度的缘故,所使用的用于帧间运动补偿的参考帧的数量与现有算法相比可能明显更高。另一个主要益处在于,由于低复杂度的缘故,可以在若干级别的子块分割上进行匹配。即,图像部分可以是宏块、块或甚至比块更小数量的像素。这是因为所述方法实现了低复杂度并且因此引起更少的时钟循环,其必要时意指所节省的复杂度中的一些然后可以耗费用于搜索子块(诸如4×4或2×2子块)而非仅仅搜索块。可替代地,该搜索可以在例如16×16、32×32和64×64聚合块的更高级别处执行,这将节省在编码流中发信号传递它们所必需的边信息。
特定的优点产生于频域中的处理。尽管存在频域处理模型,但是不存在如在下面的实施例中所述的方法中的探测冗余减少的模型;特别地其提供一组独特的益处,包括复杂度减少、保留并改进视频质量以及同时降低编码的视频流的比特率。
该方法不需要回路滤波器或回到空间域的回路以用于运动估计,这是因为以下事实引起的:所有处理现在集中在频域中。这是相对于现有视频编码方法的主要优点和复杂度的显著降低点。
另一个优点在于,对所有颜色分量的处理可以同时进行。即,在亮度通道中进行的处理可以影响在色度通道中进行的处理。
在频域中处理的另一个优点涉及位于帧或子帧的片的边缘上的块。即,位于帧的边缘上的块(或者如果使用多个片中的子帧分离,则为在片的边缘上的块)可以被高效地预测。当根据相似性对块分组时,该方法允许块或片以任何顺序分组,并且因此在预测位于片或帧的边缘上的块的过程中不存在惩罚(penalty)。与在如MPEG-4 AVC/H.264的当前标准中当前的FMO(灵活的宏块排序)相比,这是重要的改进。
本文所描述的本发明的实施例的另一个优点在于,深子块子分割可以被利用,而没有过多的处理器负载。
应当领会,上述实施例仅通过示例描述。
例如,注意到,尽管本文中使用了术语“块”,但是在其最一般的意义下,这不旨在暗示特定尺寸、形状和级别细分。应当领会,在不同的方案中,各种不同的分割和细分可以通过诸如宏块、块和子块等之类的术语指代,但是如本文最一般地使用的术语“块”可以对应于这些中任意一种或者甚至对应于作为视频帧的分割的任何其他组成图像部分。
而且,本发明的不同的优选方面不一定需要相互结合地被使用。例如,可以在频域中执行块匹配,而不使用基于块能量或其他这样的索引的排序列表的附加技术。对于帧内和/或帧间块匹配,还可以使用可替代的块匹配技术,例如通过基于关联的测量或最小误差的测量的匹配。相反地,可以使用用于块匹配的排序技术,而无需频域变换,例如通过基于空间域系数确定块能量的测量(尽管这是较不优选的,因为它将倾向于在计算上更密集)。
而且,在排序被作为一种确定搜索范围Δ内的候选的子集的方法的情况下,注意到不一定需要重新布置存储器中的列表条目。更一般地,针对候选的搜索可以通过识别具有在期望范围内的能量或其他索引的块的任意方法来执行。
而且,排序索引不一定需要是块能量的测量。另一个可能性将是涉及块的结构的度量,比如结构相似性索引(SSIM)。在其他实施例中,多个度量可以被组合,以便确定用于排序的索引。而且,一旦该列表被排序,则本发明的各方面不一定需要被限于基于比特率贡献从候选中找到最佳匹配。其他第二度量可以用于此目的,例如在H.264中使用的基于更常规的运动的匹配。
而且,尽管已经参考变换到频域的离散余弦变换的示例描述上文,但是应当领会可以使用诸如KLT或其他之类的其他变换(其中一些可能不表示依据空间频率系数而依据一些其他变换域系数的变换域)。
而且,尽管依据表示目标块的系数与参考块的系数之间相减的差的残差描述了上文,但是这不是用于相对于参考块的系数或值编码目标块的系数或值的唯一可能性。例如,在其他可能的实施例中,所述差可以依据目标块与参考块之间的关联的参数表示和发信号传递以使得该目标可以根据该关联预测,或者依据可以应用于参考块以预测目标块的滤波器的系数而被表示和发信号传递。在这些情况下,该预测可以不必像减法差情况那样是无损的,而是可以是有损的,使得所述差不表示精确差。如本文所使用的术语“差”不限于减法差,也不限于精确差。
本发明不限于以任何特定标准的实现,也不限于作为任何特定标准的插件,并且可以实现为新的独立编码解码器、现有编码解码器的插件或者实现为对现有编码解码器的修改。
对本领域技术人员而言,给定本文的公开,其他变体可能是显而易见的。本发明不受所描述的实施例的限制,而是仅由所附权利要求限定。

Claims (29)

1. 一种压缩视频数据的方法,包括:
接收包括多个视频帧的视频信号,每个帧表示在不同的相应时间处的图像,并且每个帧包括相应图像的多个组成块;
对于视频信号的帧内要被编码的多个当前块中的每一个,选择相应的参考块,并且生成当前块相对于相应参考块的差数据;以及
生成包括该差数据连同识别所选参考块的边信息的编码比特流,并且将该比特流输出到传输介质和存储介质之一以提供给解码器;
其中每个所述参考块通过以下操作来选择:
(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及
(ii)基于涉及在编码的比特流中编码所述差数据和将候选识别为参考块的边信息所需的多个比特的度量,来选择所述候选块中的一个作为参考块。
2. 如权利要求1所述的方法,其中:
步骤(i)包括搜索一组块以基于除了空间接近当前块之外的第一度量选择候选块的子集,以便选择包括除了当前块的紧接邻近的空间邻居之外的至少一些其他候选块的子集;并且
步骤(ii)包括基于不同于第一度量的第二度量选择所述候选块中的一个作为参考块,第二度量涉及在编码的流中编码所述差数据和将候选识别为参考块的边信息所需的多个比特。
3. 如权利要求2所述的方法,其中针对多个所述参考块执行步骤(i)一次,使得多个参考块选自相同子集的候选块。
4. 如权利要求2或3所述的方法,其中步骤(i)包括搜索至少一个帧的所有块。
5. 如任一前述权利要求所述的方法,其中每个块包括多个系数,并且所述差数据基于该参考块的所有系数针对当前块的所有系数而生成。
6. 如任一前述权利要求所述的方法,其中步骤(ii)包括选择在编码的比特流中编码差数据和将候选识别为参考块的边信息需要最少比特的候选块。
7. 如权利要求2或从属于其的任一权利要求所述的方法,其中第一度量是块能量的测量。
8. 如权利要求7所述的方法,其中步骤(i)包括基于候选块的块能量相对于当前块的块能量来选择候选块的子集。
9. 如权利要求7或8所述的方法,其中每个块包括多个系数,并且块能量的所述测量包括下述之一:块中的零系数的数量、块中的非零系数的数量以及块中系数的模的平均值或总和。
10. 如任一前述权利要求所述的方法,其中该方法包括:在选择参考块之前,将一个或多个帧的块从空间域表示变换成变换域表示,由此为每个块生成相应组的变换域系数,所述差数据基于变换域系数而生成。
11. 如权利要求10所述的方法,其中相对于变换域系数评估第一度量。
12. 如权利要求7和11所述的方法,其中基于变换域系数评估块能量。
13. 如权利要求2或从属于其的任一权利要求所述的方法,其中步骤(ii)包括将包括当前帧的一组块排序成根据第一度量的顺序,以及基于在排序的组内对当前帧的接近性选择候选块的子集。
14. 如权利要求13所述的方法,其中步骤(ii)包括在排序的组内选择当前块的预定窗口内的候选块的子集。
15. 如任一前述权利要求所述的方法,其中步骤(ii)的度量包括编码差数据和将候选识别为参考块的边信息二者所需的比特率。
16. 如任一前述权利要求所述的方法,其中编码的比特流的生成包括对差数据和边信息进行熵编码。
17. 权利要求16的方法,其中步骤(ii)的度量涉及在编码的比特流中针对差数据和边信息的所述熵编码所需的比特的数量。
18. 如权利要求15和17所述的方法,其中所述比特率通过用于表示差数据和边信息的多个不同的可能符号的概率的log2之和来确定。
19. 如任一前述权利要求所述的方法,包括在所述预测之前量化每个帧的块。
20. 如任一前述权利要求所述的方法,其中对于在视频信号的当前帧内要被编码的多个当前块中的每一个,所述选择包括选择当前帧中的相应参考块,并且相应的差数据可以根据通过参考当前帧中的参考帧而对当前块的帧内预测来生成,在当前帧中对所述参考块中的每一个的选择通过步骤(i)和(ii)来完成。
21. 如权利要求4和20所述的方法,其中步骤(i)包括搜索当前帧的所有块。
22. 如任一前述权利要求所述的方法,其中对于在视频信号的当前帧内要被编码的多个当前块中的每一个,所述选择包括选择先前帧中的相应参考块,并且相应的差数据根据通过参考先前帧中的参考帧而对当前块的帧间预测来生成,在先前帧中对所述参考块中的每一个的选择通过步骤(i)和(ii)来完成。
23. 如权利要求4和22所述的方法,其中步骤(i)包括搜索先前帧的所有块。
24. 如权利要求22或23所述的方法,其中所述边信息识别先前帧。
25. 如权利要求3、20和22或从属于其的任一权利要求所述的方法,其中用于帧内和帧间预测两者的参考块从相同子集的候选中选择。
26. 一种用于压缩视频信号的编码器程序产品,该计算机程序产品体现在计算机可读介质上并且包括软件,其被配置成当其被执行在处理器上时使得:
接收包括多个视频帧的视频信号,每个帧表示在不同的相应时间处的图像,并且每个帧包括相应图像的多个组成块;
对于视频信号的帧内要被编码的多个当前块中的每一个,选择相应的参考块,生成当前块相对于相应参考块的差数据;以及
生成包括该差数据连同识别所选参考块的边信息的编码比特流,并且将该比特流输出到传输介质和存储介质之一以提供给解码器;
其中该计算机程序产品被配置成通过以下操作来选择每个所述参考块:
(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及
(ii)基于涉及在编码的比特流中编码所述差数据和将候选识别为参考块的边信息所需的多个比特的度量,来选择所述候选块中的一个作为参考块。
27. 如任一前述权利要求所述的计算机程序产品,进一步被配置成使得当其被执行时执行权利要求2-25中任一项所述的方法特征。
28. 一种用于压缩视频信号的编码器,该视频信号包括多个视频帧,每个帧表示在不同相应时间处的图像,并且每个帧包括相应图像的多个组成块;该编码器包括:
预测编码模块,其被设置成对于视频信号的帧内要被编码的多个当前块中的每一个,选择相应的参考块并生成当前块相对于参考块的差数据;以及
输出模块,其被设置成生成包括该差数据连同识别所选参考块的边信息的编码比特流,并且将该比特流输出到传输介质和存储介质之一以提供给解码器;
其中该预测编码模块被配置成通过以下操作来选择每个所述参考块:
(i)确定包括除了当前块的紧接邻近的空间邻居之外的至少一些候选块的候选块组群;以及
(ii)基于涉及在编码的比特流中编码所述差数据和将候选识别为参考块的边信息所需的多个比特的度量,来选择所述候选块中的一个作为参考块。
29. 如权利要求28所述的编码器,其中该编码器进一步被配置成执行根据权利要求2-25中任一项所述的操作。
CN201180010045.1A 2010-02-19 2011-02-18 用于视频的数据压缩 Active CN102804775B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US30640610P 2010-02-19 2010-02-19
US61/306406 2010-02-19
US61/306,406 2010-02-19
US12/838,124 2010-07-16
US12/838,124 US9609342B2 (en) 2010-02-19 2010-07-16 Compression for frames of a video signal using selected candidate blocks
US12/838124 2010-07-16
PCT/EP2011/052460 WO2011101449A1 (en) 2010-02-19 2011-02-18 Data compression for video

Publications (2)

Publication Number Publication Date
CN102804775A true CN102804775A (zh) 2012-11-28
CN102804775B CN102804775B (zh) 2016-12-14

Family

ID=

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015176225A1 (en) * 2014-05-20 2015-11-26 Mediatek Singapore Pte. Ltd. Improved intra-block copy searching methods
CN105684443A (zh) * 2013-09-04 2016-06-15 三星电子株式会社 屏幕图像编码方法及其装置和屏幕图像解码方法及其装置
CN109565597A (zh) * 2016-07-15 2019-04-02 古鲁洛吉克微***公司 采用量化的编码器、解码器和方法
WO2019183986A1 (zh) * 2018-03-31 2019-10-03 华为技术有限公司 一种图像块的帧内模式预测方法及装置
CN110651479A (zh) * 2017-05-17 2020-01-03 株式会社Kt 用于视频信号处理的方法和装置
CN110870312A (zh) * 2017-05-12 2020-03-06 2236008安大略有限公司 用于视频压缩中的帧内编码的方法和设备
CN111432220A (zh) * 2014-06-19 2020-07-17 Vid拓展公司 采用块向量导出的帧内块复制编码的方法和***
CN111654709A (zh) * 2019-07-11 2020-09-11 谷歌有限责任公司 基于先前帧的误差来压缩帧

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061722A (zh) * 2004-10-14 2007-10-24 英特尔公司 采用自适应搜索策略的快速多帧运动估计
CN101133650A (zh) * 2005-04-01 2008-02-27 松下电器产业株式会社 图像解码装置以及图像解码方法
JP2009509408A (ja) * 2005-09-16 2009-03-05 ソニー エレクトロニクス インク 適応的な動き検索範囲

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101061722A (zh) * 2004-10-14 2007-10-24 英特尔公司 采用自适应搜索策略的快速多帧运动估计
CN101133650A (zh) * 2005-04-01 2008-02-27 松下电器产业株式会社 图像解码装置以及图像解码方法
JP2009509408A (ja) * 2005-09-16 2009-03-05 ソニー エレクトロニクス インク 適応的な動き検索範囲

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105684443A (zh) * 2013-09-04 2016-06-15 三星电子株式会社 屏幕图像编码方法及其装置和屏幕图像解码方法及其装置
CN105684443B (zh) * 2013-09-04 2019-10-18 三星电子株式会社 屏幕图像编码方法及其装置和屏幕图像解码方法及其装置
WO2015176225A1 (en) * 2014-05-20 2015-11-26 Mediatek Singapore Pte. Ltd. Improved intra-block copy searching methods
CN111432220A (zh) * 2014-06-19 2020-07-17 Vid拓展公司 采用块向量导出的帧内块复制编码的方法和***
CN109565597A (zh) * 2016-07-15 2019-04-02 古鲁洛吉克微***公司 采用量化的编码器、解码器和方法
CN109565597B (zh) * 2016-07-15 2023-10-27 古鲁洛吉克微***公司 采用量化的编码器、解码器和方法
CN110870312A (zh) * 2017-05-12 2020-03-06 2236008安大略有限公司 用于视频压缩中的帧内编码的方法和设备
CN110870312B (zh) * 2017-05-12 2023-10-03 黑莓有限公司 用于视频压缩中的帧内编码的方法和设备
CN110651479B (zh) * 2017-05-17 2023-07-28 株式会社Kt 用于视频信号处理的方法和装置
CN110651479A (zh) * 2017-05-17 2020-01-03 株式会社Kt 用于视频信号处理的方法和装置
US11706446B2 (en) 2017-05-17 2023-07-18 Kt Corporation Method and device for video signal processing
WO2019183986A1 (zh) * 2018-03-31 2019-10-03 华为技术有限公司 一种图像块的帧内模式预测方法及装置
US11457222B2 (en) 2018-03-31 2022-09-27 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction of picture block
CN111654709B (zh) * 2019-07-11 2023-08-11 谷歌有限责任公司 基于先前帧的误差来压缩帧
CN111654709A (zh) * 2019-07-11 2020-09-11 谷歌有限责任公司 基于先前帧的误差来压缩帧

Also Published As

Publication number Publication date
EP2520093B1 (en) 2019-11-27
EP2520093A1 (en) 2012-11-07
WO2011101449A1 (en) 2011-08-25
US9609342B2 (en) 2017-03-28
US20110206117A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
CN102893604A (zh) 用于视频的数据压缩
CN102792688A (zh) 用于视频的数据压缩
KR101857672B1 (ko) 비디오 신호 처리 방법 및 장치
KR101748620B1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
CN103299621B (zh) 用于视频译码中的一般化p/b帧的参考图片列表构造
EP2520093B1 (en) Data compression for video
KR101435560B1 (ko) 영상 정보 복호화 방법 및 컴퓨터 판독 가능한 기록매체
CN104602023A (zh) 帧间预测编码方法
CN108432248A (zh) 用于对视频信号进行熵编码和解码的方法和设备
CN103563389A (zh) 具有方向性分区的帧内预测模式译码
CN103181169A (zh) 使用联合上下文模型对系数进行熵译码
KR20110085896A (ko) 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN104303502A (zh) 用于3d-hevc的视差向量建构方法
CN102948149A (zh) 视频编码/解码设备和方法
CN103959775A (zh) 帧内模式视频译码
KR101973568B1 (ko) 영상 변환 부호화/복호화 방법 및 장치
CN103380622A (zh) 帧内预测模式编码/解码方法和用于其的设备
CN103250417A (zh) 编码和解码图像的方法及使用该方法的设备
CN103947205A (zh) 帧内模式译码中的参考模式选择
CN104067524A (zh) 具有精简的初始化值集合的上下文自适应熵译码
CN104429076A (zh) 用于可缩放视频译码和3d视频译码的一般化残差预测
Song et al. Unified depth intra coding for 3D video extension of HEVC
CN102804775B (zh) 用于视频的数据压缩
JP6935553B2 (ja) 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置
CN102792687A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200330

Address after: Redmond, Washington, USA

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Ai Erlandubailin

Patentee before: Skype