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

用于视频的数据压缩 Download PDF

Info

Publication number
CN102835106B
CN102835106B CN201180010289.XA CN201180010289A CN102835106B CN 102835106 B CN102835106 B CN 102835106B CN 201180010289 A CN201180010289 A CN 201180010289A CN 102835106 B CN102835106 B CN 102835106B
Authority
CN
China
Prior art keywords
block
section
frame
reference section
coding
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.)
Active
Application number
CN201180010289.XA
Other languages
English (en)
Other versions
CN102835106A (zh
Inventor
L.比沃拉斯基
R.瓦芬
M.尼尔松
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 CN102835106A publication Critical patent/CN102835106A/zh
Application granted granted Critical
Publication of CN102835106B publication Critical patent/CN102835106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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/115Selection of the code volume for a coding unit prior to coding
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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)

Abstract

一种编码视频信号以用于传输的方法,包括:接收包括多个视频帧的视频信号,每个帧被分成多个图像部分;对于所述图像部分中要被编码的多个目标图像部分中的每一个,选择相应的参考部分,基于目标部分相对于相应的参考部分生成相应的残差数据;在对视频信号进行编码期间,生成通常使用的参考部分的表格并且将该表格的指示传送到解码器;以及生成包括残差数据连同通过参考所述表格中的条目识别所选的参考部分的辅助信息的编码的比特流,并且将该编码的比特流传输到解码器。

Description

用于视频的数据压缩
技术领域
本发明涉及视频流的编码和传输。
背景技术
在视频流的传输中,正不断地努力来减少需要被传输的数据的量,同时仍然允许移动的图像在传输的接收端处适当地被重新创建。视频编码器接收包括要被编码的“原始”视频帧序列的输入视频流,每个视频帧表示在各自时刻的图像。该编码器随后将每个输入帧编码成两种类型编码的帧之一:内帧(intraframe)(也被称为关键帧)或间帧(interframe)。编码的目的是压缩视频数据,以便当视频数据通过传输介质传输或存储在存储介质上时产生更少的比特。
使用仅来自正被编码的当前视频帧的数据来压缩内帧,典型地使用帧内预测编码,从而该帧内的一个图像部分相对于同一帧内的另一个图像部分被编码并被信令发送(signal)。这类似于静态图像编码。另一方面,使用先前帧(参考帧)的知识来压缩间帧,并且该间帧允许仅传输参考帧与在时间上跟随它的当前帧之间的差别。这允许更加高效的压缩,特别是当场景具有相对较少的变化时。帧间预测典型地使用运动估计依据(intermsof)描述帧之间的图像部分的移动的运动向量来编码并发信号传输该视频,并且随后使用运动补偿来基于用信号传输的向量在接收器处预测该运动。用于视频通信的各种国际标准,比如MPEG1、2&4和H.261、H.263&H.264,采用基于在规则的块的基础上的源帧的划分的运动估计和补偿。根据分辨率、帧速率、比特率和场景,内帧可以达到间帧的20到100倍大。另一方面,间帧将依赖关系施加到先前的间帧,一直到最近的内帧。如果任意一个帧遗漏,则解码当前间帧可能导致错误和伪影。
这些技术例如被用在H.264/AVC标准中(参见T.Wigand,G.J.Sullivan,G.Bjontegaard,A.Luthra:“OverviewoftheH.264/AVCvideocodingstandard,”inIEEETransactionsonCircuitsandSystemsforVideoTechnology,Volume:13,Issue:7,page(s):560-576,July2003)。
图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输出运动向量以包括在编码的比特流中。
当执行帧内编码时,思想是仅编码并传输关于帧内的图像数据部分如何不同于同一帧内的另一个部分的度量。该部分随后可以在解码器处预测(给定一些用于开始的绝对数据),并且因此,仅需要传输预测数据与实际数据之间的差而非实际数据自身。该差信号典型地在量级方面更小,所以采用更少的比特来编码。
在帧间编码的情况下,代替帧内预测级82,运动补偿级84被切换到反馈路径中,并且反馈回路因此被创建在一个帧与另一个帧的块之间,以便相对于先前帧的块来编码该间帧。与内帧相比,这典型地采用甚至更少比特来编码。
图8图示了相应的解码器,其包括用于接收进入接收者终端的编码的视频流的熵解码器90、逆量化级92、逆变换级94、帧内预测级96和运动补偿级98。帧内预测级和运动补偿级的输出在求和级100处被求和。
存在许多已知的运动估计技术。一般地,它们依靠对块与来自先前帧(参考帧)的一个或多个其他图像部分的比较。从与块相同大小和形状的、但在水平和竖直方向上偏移任意数量的像素或者甚至分数数量的像素的区域预测每个块。所使用的区域的身份被以运动向量的形式作为开销(“辅助信息”)而被用信号传输。良好的运动估计技术必须平衡低复杂度与高质量视频图像的需求。还期望它不需要太多开销信息。
在上文所述的标准系统中,应当注意,帧内预测编码和帧间预测编码(运动估计)在未量化的空间域中被执行。
最近,在变换域中操作的运动估计技术已经引起注意。然而,现有技术都不能够在以低复杂度执行(从而减少计算开销)的同时还输送(deliver)高质量。因此,当前实践中,对于运动估计不使用频域技术。
VC-1视频编码解码器具有在频域中操作的帧内预测模式,其中DCT(离散傅立叶变换)域中AC系数的第一列和/或第一行是从直接地位于处理的块左边或上面的DCT块的第一列(或第一行)预测的。也就是说,位于一个块边缘的系数是从邻近块中的直接空间邻居预测的。为了参考,参见“TheVC-1andH.264VideoCompressionStandardsforBroadbandVideoServices”,AvHariKalva,Jae-BeomLee,pp.251。
发明内容
根据本发明的一个方面,提供一种编码视频信号以用于传输的方法,包括:接收包括多个视频帧的视频信号,每个帧被分成多个图像部分;对于要被编码的所述图像部分的多个目标图像部分中的每一个,选择相应的参考部分,并且生成目标图像部分相对于相应的参考部分的差异数据;在对视频信号进行编码期间,生成识别通常使用的参考部分的子集的表格并且将该表格的指示传送到解码器;以及生成包括差异数据连同通过参考所述表格中的条目识别所选的参考部分的辅助信息的编码的比特流,并且将该编码的比特流传输到解码器。
在任何给定的方案中,每个图像部分可以被称为块、宏块或子块,但是这些术语不旨在限制到任何特定尺寸、形状或细分。
因此,本发明可以生成具有最经常(频繁)使用的块特性的预测块的表格,所述块特性例如在块匹配在频域中被执行的情况下是最经常使用的块系数。表格中的块然后可以被参考来取代帧中的块。在编码期间确定最常见的块的群组并且该群组将被动态地更新以用于传输到解码器。换言之,编码器生成特设(adhoc)码本以用于信令发送参考块。该技术有利地导致更高效的编码方案。
在实施例中,该方法可以包括在进行编码期间周期性地更新表格,并且可以包括周期性地将更新的表格传输到解码器。每个表格的指示可以作为比特流的一部分而被传输。
所述部分的每一个可以包括多个系数,并且所传输的表格的指示可以包括所述子集参考块的系数。
参考部分的所述子集中的一个或多个可以是人工部分,而非来自帧的实际部分。人工部分可以从一个或多个帧的一个或多个实际块经过取平均、内插或外插而得到。参考部分的所述子集中的一个或多个还可以是来自一个或多个帧的实际部分。
该选择可以包括:将图像部分从空间域系数变换成变换域系数,并且基于它们的变换域系数的相似性为每一个目标部分选择相应参考部分。差异数据可以包括参考部分与目标图像部分的变换域系数之间的差。
该方法可以进一步包括将相应的索引值分配给目标图像部分和多个参考部分中的每一个;其中为每一个目标图像部分选择参考部分包括选择索引值在目标图像部分的预定范围内的候选部分的子集,并且从候选部分之中选择相应的参考部分。
例如,索引值可以是相应部分的能量的度量。该能量可以包括下述之一:相应部分中非零变换域系数的数量,以及相应部分中变换域系数的模量的平均值或总和。
参考部分的选择可以基于关于在编码的比特流中编码目标部分所需的比特数的确定。
从候选块之中选择参考部分可以基于关于将在编码的比特流中相对于候选部分的每一个编码目标部分所需的比特数的确定。
关于编码目标部分所需的比特数的确定可以考虑差异数据所需的比特数和辅助信息所需的比特数。
在实践中,该方法可能有时有用,有时没用。因此,在实施例中,比特流可以包括指示参考部分(例如参考块)是否通过参考所述表格而被信令发送的标志。
在一个应用中,参考部分的所述子集的一个或多个包括超分辨率方案的一个或多个较低分辨率单元,其中较高分辨率图像可以在解码器处基于较低分辨率单元的实际的或模拟的运动的信令来重构。
在另一个应用中,参考部分的所述子集的一个或多个用于预测目标图像部分的缩放或旋转。
根据本发明的另一个方面,提供一种用于编码视频信号以用于传输的编码器,包括:输入端,用于接收包括多个视频帧的视频信号,每个帧被分成多个图像部分;处理装置,被配置成对于要被编码的所述图像部分的多个目标图像部分中的每一个,选择相应的参考部分,并且生成目标图像部分相对于相应的参考部分的差异数据;其中处理装置被进一步配置成在对视频信号进行编码期间,生成识别通常使用的参考部分的子集的表格并且将该表格的指示传送到解码器;以及该编码器进一步包括输出模块,其被配置成生成包括差异数据连同通过参考所述表格中的条目识别所选的参考部分的辅助信息的编码的比特流,并且将该编码的比特流传输到解码器。
在实施例中,该编码器可以进一步被配置成根据上述方法特征的任意一个来操作。
根据本发明的另一个方面,可以提供一种用于编码视频信号以用于传输的编码器程序产品,该编码器程序产品包括体现在计算机可读介质上的软件,并且该软件被配置成当期在处理器上运行时:接收包括多个视频帧的视频信号,每个帧被分成多个图像部分;对于要被编码的所述图像部分的多个目标图像部分中的每一个,选择相应的参考部分,并且生成目标图像部分相对于相应的参考部分的差异数据;在对视频信号进行编码期间,生成识别通常使用的参考部分的子集的表格并且将该表格的指示传送到解码器;以及生成包括差异数据连同通过引用所述表格中的条目识别所选的参考部分的辅助信息的编码的比特流,并且输出该编码的比特流以传输到解码器。
在实施例中,该编码器程序产品可以被进一步配置成使得当其被运行时根据上述方法特征的任何一个来操作。
根据本发明的另一个方面,可以提供一种编码包括多个视频帧的视频信号的比特流,每个帧被分成多个图像部分,该比特流包括:要从相应参考部分预测的多个所述部分的差异数据;识别通常使用的参考部分的子集的表格的指示;以及辅助信息,其参考表格中的条目来识别参考部分。
在实施例中,该比特流可以包括多个更新的表格的指示,其中每一个指示对比特流的相应时段通常使用的参考部分的子集,每个时段对应于多个所述图像部分,其中每个时段中的辅助信息参考相应的更新的表格中的条目来识别参考部分。
在其他实施例中,比特流可以根据上述方法特征的任何一个而被编码。
根据本发明的另一个方面,可以提供一种网络设备,其包括携带根据上述特征的任何一个编码的比特流的传输介质。
根据本发明的另一个方面,可以提供一种解码编码的视频信号的方法,包括:接收根据上述特征的任何一个编码的视频流;以及基于辅助信息和所述表格识别每个目标部分的相应参考部分,并且根据相应参考部分和差异数据确定目标部分。
根据本发明的另一个方面,可以提供一种用于解码编码的视频信号的解码器,该解码器包括:输入端,用于接收根据上述特征的任何一个编码的视频流;以及处理装置,其被配置成基于辅助信息和所述表格识别每个目标部分的相应参考部分,并且根据相应参考部分和差异数据确定目标部分。
根据本发明的另一个方面,可以提供用于解码编码的视频信号的解码器程序产品,该解码器程序产品包括体现在计算机可读介质上的代码,并且该代码被配置成当其被运行时:接收根据上述特征的任何一个编码的视频流;以及基于辅助信息和所述表格识别每个目标部分的相应参考部分,并且根据相应参考部分和差异数据确定目标部分。
附图说明
为了更好地理解本发明并且示出本发明可以如何实施,现在将通过示例参考附图,在附图中:
图1是视频流的两个帧的示意性图示,
图1a示出空间域中表示的块的像素值,
图1b示出在频域中表示的块的系数,
图2是示出编码方法的流程图,
图3是示出排序的块列表的曲线图,
图3a图示了块排序的示例,
图3b图示了块匹配预测的示例,
图4是编码器的示意性框图,
图5A是帧内预测的示意性示例,
图5B是帧间预测的示意性示例,
图6是解码器的示意图,
图7是编码器的示意性框图,
图8是解码器的示意性框图,
图9是对用于块匹配的候选的选择的示意性图示;
图10是编码方法的流程图;以及
图11是解码方法的流程图。
图12是传输的比特流的示意性表示,
图13a是块缩放的示意性图示,
图13b是块旋转的示意性图示,
图13c是块旋转的另一个示意性图示,
图13d是块旋转的另一个示意性图示,
图13e是示出在块旋转中使用的计算的图,
图14a示意性图示了两个帧直接的运动移位,
图14b是运动移位的另一个示意性图示,以及
图14c示意性示出使用运动移位来减少数据传输。
具体实施方式
在下文中,描述一种用于在视频传输系统中数据压缩的方法和系统。首先,描述在频域中执行的块匹配的示例性技术,其用于选择要在目标块的预测编码(coding)中使用的参考块。接下来,描述用于用信令发送(signaling)在视频预测编码(coding)中使用的参考块的身份的一些示例性技术。而后,描述在频域中以被有利地执行的一些示例性图像处理技术,以及用于进一步降低传输的视频流的比特率的方案。在特别优选的实施例中,这些技术可以组合,但是可替代地它们可以独立使用。
块匹配
图1示意性图示了在两个相应时刻t和t+1处视频图像的两个连续帧ft和ft+1。为了帧间预测的目的,第一帧ft可以被认为是参考帧,即在编码器处刚好从移动序列被编码的帧,或者在解码器处刚好被解码的帧。第二帧ft+1可以被认为是目标帧,即为了编码或解码的目的其运动被设法估计的当前帧。为了说明的目的,示出了具有两个移动对象的示例。
运动估计本身在本领域中是已知的,并且因此在本文中仅在为本发明提供合适背景所必需的程度上被描述。根据用于视频通信的国际标准,比如MPEG1、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是根据本发明的优选实施例的数据压缩方法的示意性流程图。该方法优选地使用基于客观量度(objectivemetrics)的块匹配。即,将要被编码的当前目标块的一个或多个量度与多个其他块的对应量度进行比较,并且基于那些量度的相似性的度量来选择参考块。随后,该参考块形成用于借助预测编码来编码当前块的基础,该预测编码为在参考块来自相同帧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处,通过基于索引值确定搜索范围或阈值Δ来从排序的阵列识别候选块的子组。候选块将是潜在的匹配,作为用在对要被编码的当前块的预测编码中的参考块。在图3中图示了这一点。例如,这可以通过从要被编码的当前块确定能量范围+/-Δ并且确定当前块的该范围内的所有块是用于作为参考块的潜在选择的候选(即,为了预测编码的目的用于“匹配”当前块的候选)来实现。
在步骤S5处,随后评估候选块的相似性。例如,优选地基于比特率确定块相似性,其中比特率是需要传输的比特数的度量以便限定在从每个候选块预测的情况下用于当前块的残差。这方面的示例不久将更详细地讨论。
在步骤S6处,最佳匹配候选基于其相似性来确定,并且当前目标块相对于该匹配候选而被编码。该编码包括从当前块的频域系数减去参考块的频域系数以便生成残差信号,以及随后将当前块的残差连同相应所选参考块的身份编码到编码比特流中(而不是编码目标块的实际的绝对系数)。该参考块因此被用作当前块的预测。该残差是当前块的频域系数与参考块的频域系数之间的差,这需要编码更少的比特并且因此该编码导致压缩的视频信号。与对其他这样的候选而言所需的比特率相比,用作参考块的最佳候选优选地通过基于候选加上识别候选块的开销信息计算传输用于当前块的残差所需的比特率来选择。应当容易领会,匹配并不暗示相同的块,而是足够相似的块,使得残差可以以较低比特率传输。
图3是图示排序的阵列的布置的曲线图。在水平轴上示出排序的块的列表,而在竖直轴上示出块能量索引值。该块能量索引值是从块的系数得出的客观量度的示例。
如上所述,选择具有在某搜索范围或阈值Δ内的索引的最佳匹配参考块。因此,根据一个优选方面,本发明提供一种在多个块中基于它们索引的相似性搜索匹配的方法。通过利用它们的能量索引或类似物搜索匹配,这有利地将匹配的可能性扩展到该帧或另一个帧内的任何地方。因此,该匹配不需要被限制于目标块的邻近区域。例如,具有相似能量的块即使在位于一个帧的相对侧上的情况下也可以实现良好的匹配,例如在该帧中不同位置处出现的相似背景区域的块。
根据本发明的另一个优选方面,通过首先基于第一量度(例如索引值)选择候选块的子组,接着基于第二量度(例如比特率成本)从该子组内选择匹配候选块,来执行块匹配。随后该匹配块在对要被编码的当前块的预测编码中被用作参考块。基于第一量度、特别是基于诸如块能量之类的聚集量度将可能的匹配缩减到候选的初步(preliminary)子组的一个优点在于,在不引起显著处理负担的情况下,较早地消除不太可能的候选。即,该排序可以用于丢弃不太可能的候选。因此,基于第二量度的更处理器-密集的比较,比如比特率比较,仅需要针对相对较少数量的预审查(pre-vetted)的候选来执行,从而减少了由块匹配算法引起的处理负担。例如,具有非常不同的块能量的块不太可能是良好的匹配并因此它不太可能值得比较它们的潜在比特率贡献的处理成本。为了最小化处理,在步骤S6中对匹配块的选择优选地在列表内的小邻域内执行(搜索范围+/-Δ)。
不过,注意到,该排序仅给出了匹配的某种可能性并且也可以依据性能考虑来选择。选择较小的Δ导致更低的处理成本,但导致更少的候选,从而存在找不到最佳的可能匹配的风险。另一方面,选择较大的Δ引起更高的处理成本,但是将包括更多的候选,并且因此具有找到最佳匹配的更好机会。在实施例中,Δ甚至可以基于一个或多个性能因素而被动态地调适,这些因素比如可用的上行或下行链路带宽或可用的处理资源。还注意到,Δ的相同的值不一定需要像在-Δ方向上使用那样而在+Δ方向上使用。
应当领会,在步骤S3处,可以针对宏块(如图5A的示例中所示)、针对单个帧(用于帧内数据压缩)或针对当前目标帧和一个或多个参考帧(用于帧间运动估计)来生成排序的阵列。
在一个特别有利的实施例中,相同的排序的列表用于(通过确定该相同列表内候选的相应子组)匹配多个目标块。而且,如果该列表包含来自当前帧和一个或多个先前帧的块,则该相同列表甚至可以用于在相同的排序列表内帧间和帧内匹配。例如,当处理特定的目标帧时,也许在该帧内找不到良好的匹配,在此情况下,该方法可以指望其他帧,因为复杂度低且匹配方法相同。根据本发明的优选实施例,与用于帧内的帧内匹配相比,不需要使用不同的方法用于找到帧之间的帧间匹配。
通过用针对整个帧或甚至多个帧执行一次的单个排序取代针对每个块执行的详尽的、重复的搜索,匹配块的选择可以使用排序的列表在小邻域中执行。优选地,该排序针对多个帧被执行一次,使得帧间和帧内匹配可以通过相同的排序的列表在相同的级处被处理。例如,这可能涉及寻找当前帧的排序的列表内的匹配,并且如果没有找到满意的匹配,观察一个或多个其他帧的排序的列表以找到更好的匹配。
因此,本发明的上述方面提供压缩视频数据的方法,其可以适用于帧内压缩和帧间运动估计。在过去,算法针对帧间相对于帧内数据压缩采用不同的方式。另一方面,本发明可以有利地提供用于帧内和帧间预测的统一技术。
该方法的另一个益处是,由于其低复杂度的缘故,与现有算法相比,所使用的参考帧的数量可能明显更高。
而且,注意到,常规运动估计预测来自在水平或竖直方向上偏移任意数量的像素或甚至分数个像素的区域的每个块,而本发明所使用的方式的不同在于限制预测而仅执行块到块匹配。即,在逐块的基础上的匹配,其中块被匹配到另一个整块(而非需要制定任意数量像素或分数个像素的运动向量的任意偏移区域)。在特征的特别有利的组合中,逐块的匹配可以在频域中执行,其中可以通过仅预测两个或更多块之间的频域系数的子组得出效率。
一旦在步骤S6处选择了匹配块并且已经相对于该匹配块编码了当前目标块,频域系数的残差经由熵编码器而被输出以用于包括在编码的比特流中。此外,辅助信息包括在比特流中,以便识别参考块,每个编码的块将在解码器处根据该参考块而被预测。每个块可以通过其位置来识别,即通过其地址或在特定帧内的位置。每个帧可以通过帧号来识别。由于上述差别,注意到,识别所选的参考块的辅助信息可以以块地址的形式在比特流中被发信号传送,所述块地址以块的整体数量来识别该参考块的位置。这可以采取绝对块地址的形式,即相对于帧中固定点的位置。可替代地,它可以采取相对地址的形式。如果候选可以从多个不同的潜在帧中选择,则该辅助信息还可以识别所选的参考块的帧。
这不同于常规的运动向量,其以相对于当前块的小向量的形式被信令发送,该向量是任意数量的像素或分数个像素。
如上所述,VC-1视频编解码器具有帧内预测模式,其中DCT域中AC系数的第一列和/或第一行是从直接地位于处理的块左边或上面的DCT块的第一列(或第一行)预测的。然而,这不同于本发明的方面中使用的方式,其不同之处在于它被限于仅使用用于帧内预测的预定的空间邻近的系数。VC-1不允许针对所选的参考块的帧内匹配,例如基于块能量和/或比特率贡献选择的参考块(并且因此VC-1还涉及向解码器信令发送所选的参考块的身份)。
图4是示出根据本发明的一个实施例的编码技术的架构的示意性框图。原始输入视频流由正变换级2接收。该级的输出被提供给正量化级4。正变换级2将空间或空间-时间变换应用到频域中作为第一编码步骤。正量化级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格式,这暗示色度通道在水平和竖直方向上都以因子2被下采样。
在所示的示例中,块b0包含16个系数:一个DC(在坐标0,0处的第一个)和15个AC系数(该块的其余)。该DC表示亮度(对于“Y”块)和色度(对于“U”和“V”块)的所谓“常数”值,并且这些AC形成可变部分,其意指对每个像素它们的贡献是不同的。DC和所有AC的组合被用于表示在基于所使用的变换来解码之后每个像素的值。该16×16亮度频域系数“Y”被充分利用来表示16×16空间域像素。在上述解释中,色度“U”被二次采样。该格式被称为YUV4:2:0,意味着,Y像素的每个2×2正方形的四个亮度像素分别共享一个“U”和一个“V”像素。
还存在被称为YUV4:2:2或YUV4:4:4的其他格式,其中在YUV4: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)的最优索引(Oopt,Popt)基于速率计算/估计来选择,即:
其中R(X(m,n)-X(o,p))表示预测残差的比特率,且R(o,p)表示辅助信息的比特率(即,用于传输帧p的预测块索引o的比特率)。该速率估计可以例如从算术编码例程的部分提供,其中符号概率取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中示出编码器中预测的图示。这给出了编码器中块预测的高水平图示。预测残差连同辅助信息被发送到熵编码器。在解码器中,执行逆过程,即首先重构残差帧,随后重构给定辅助信息的帧。
本发明的上述实施例可以提供若干优点。匹配块是通过检查块之间的差异来定位,以确定最后传输的视频流的比特率将相对于用于发送这些块的系数的比特率而减少。而且,该预排序已经识别了发生该比较所在的候选块。这些块无须是图像帧中的物理邻居,反而它们是基于与块关联的索引值排序的,比如表示能量的索引值。这允许从帧的任意部分(或者甚至不同帧)选择最佳匹配块。当选择最佳候选时,比特率的比较可以考虑需要被传输以识别该块是预测块并识别根据其预测它的块的开销信息。根据其预测的块的身份可以以帧内的位置(被表达为整体块的间隔数目,即块地址)的形式而非以运动向量(被表达为根据像素数量或者甚至分数个像素的偏移)的形式而被提供给解码器。
上述方法在借助块预测在压缩的数字视频流中量化之前和/或之后移除了时间域和频域中的冗余。该方法的输入是输入视频流的时间域中一组帧的一组变换的和/或量化的变换系数。该输入视频流帧可以被分离成块和块群。块的群不受参与该群的各个块的位置的限制。该预测在当前帧(帧内)的块之间执行并且不受块的位置的限制但是受到块相似性因素的限制。相同的技术可以用于帧间预测。帧间块匹配也不受位置的约束。块相似性是从比特率减少的观点来确定的。
而且,如所解释的,在优选的实施例中,在频域中实施处理,其中所述变换已经压缩目标对象的能量以使得现在可以使用一些频域系数取代整个图像实施比较。在这些实施例中,该方法的两个组件,即频域中的处理以及排序和搜索,降低了复杂度,而同时保持了非常高的质量。该方法的另一个益处在于,由于所涉及的计算的低复杂度的缘故,所使用的用于帧间运动补偿的参考帧的数量显著高于现有算法。另一个主要益处在于,由于低复杂度的缘故,可以在若干级别的子块分割上进行匹配。即,图像部分可以是宏块、块或甚至比块更小数量的像素。这是因为所述方法实现了低复杂度并且因此引起更少的时钟循环,这意味着,如果期望的话所节省的复杂度中的一些随后可以消耗用于搜索诸如4×4或2×2子块的子块而非仅仅搜索块。可替代地,该搜索可以在例如更高级别的16×16、32×32和64×64的聚集块上执行,这将节省在编码流中信令发送它们所必需的辅助信息。
特定的优点产生于频域中的处理。尽管存在频域处理模型,但是不存任何频域处理模型采用了如在下面的实施例中所述的方法中的冗余减少;特别地其提供一组独特的益处,包括复杂度减少、保留并改进视频质量以及同时降低编码的视频流的比特率。
该方法不需要回路滤波器或回路到空间域进行运动估计,这是因为以下事实引起的:所有处理现在集中在频域中。这是相对于现有编码方法和复杂度的显著降低这一点的主要优点。
另一个优点在于,对所有颜色分量的处理可以同时进行。即,在亮度通道中进行的处理可以影响在色度通道中进行的处理。
在频域中处理的另一个优点涉及位于帧或子帧的片的边缘上的块。即,位于帧的边缘上的块(或者如果使用多个片中子帧分离,则为在片的边缘上的块)可以被高效地预测。当根据相似性对块分组时,该方法允许块或片以任何顺序分组,并且因此在位于片或帧的边缘上的块的预测过程中不存在惩罚(penalty)。与在如MPEG-4AVC/H.264的当前标准中当前的FMO(灵活的宏块排序)相比,这是重要的改进。
本文所描述的本发明的所述实施例的另一个优点在于,深子块子分割可以被利用,而没有过多的处理器负载。
注意到,本发明的不同的优选方面不一定需要相互结合地被使用。例如,可以在频域中执行块匹配,而不是用基于块能量或其他这样的索引的排序列表的附加技术。对于帧内和/或帧间块匹配,还可以使用可替代的块匹配技术,例如通过基于关联的度量或最小错误的度量匹配。相反地,可以使用用于块匹配的排序技术,而无需频域变换,例如通过基于空间域系数确定块能量的度量(尽管这是较不优选的,因为它将倾向于在计算上更密集)。
而且,在排序被作为一种确定搜索范围Δ内的候选的子集的方法时,注意到不一定需要重新布置存储器中的列表条目。更一般地,针对候选的搜索可以通过识别具有在期望范围内的能量或其他索引的块的任意方法来执行。
而且,排序索引不一定需要是块能量的度量。另一个可能性将是涉及块的结构的量度,比如结构相似性索引(SSIM)。在其他实施例中,多个量度可以被组合,以便确定用于排序的索引。而且,一旦该列表被排序,则本发明的各方面不一定需要被限于基于比特率贡献从候选中找到最佳匹配。其他第二量度可以用于此目的,例如在H.264中使用的基于更常规的运动的匹配。
通过地址信令发送块
上文描述了从帧中选择参考块的特别有利的方法;但是不管如何从帧中选择块,本发明提供了编码参考块的身份以用于传输到解码器的改进的方法。现在更详细地讨论信令发送用于在频域中预测的帧内和帧间预测信息的方法的示例性细节。
如所提及,根据本发明的一个方面,块仅被匹配到另一个整块,而非如在更多常规快匹配技术那样匹配偏移任意数量的像素的块大小区域。因此,本发明的信令发送算法发送块地址而非运动向量,即用全部数量的块而非像素偏移表示的。然而,注意到,尽管在本文中可以使用术语“块”,但是在其最一般的意义下,这并不旨在暗示特定大小、形状或级别细分。应当领会,在不同的方案中,各种不同的分割和细分可以通过诸如宏块、块和子块等之类的术语指代,但是如本文最一般地使用的术语“块”可以对应于这些中任意一种或者甚至对应于作为对应于多个像素的视频帧的分割的任何其他组成图像部分。无论使用什么分割方式,根据本发明,用于预测的参考部分的地址作为多像素部分的整体数量而非像素偏移而被信令发送。
在实施例中,比特流还可以包含一个或多个预测方法标志,其指示要被解码器使用的预测方法(对应于被编码器使用的预测方法)。
而且,比特流可以包含参考块的帧号,因为用于预测的参考块可以从多个不同的帧的任何一个中选择。
在一个特别优选的实施例中,在比特流中被向解码器信令发送的辅助信息包括:帧号、加法或减法标志、绝对值标志、宏块地址、宏块内的块地址以及块内的子块地址。该辅助信息的信令结构在下表中示出。
对于每个分辨率,预测索引可被编码如下。这示出信令结构大小和针对多个不同分辨率的编码。
该改进的预测方案比当前预测方案更有效,当前预测方案使用更高比特率信令发送该改进方案可以传送的信息的仅仅一部分。流水线的帧间和帧内预测允许简化信令发送的方法。图3b示出实现比特节省的块匹配预测示例。下面的表示出有效的辅助信息和用于多个分辨率的编码。
借助“全局块列表”信令发送块
下文描述了编码参考块的身份以用于传输到解码器的第二改进方法。同样,不管如何从帧中选择块,都可以使用该方法。而且,在实施例中,该方法可以扩展可用的候选以包括某些“概念性的”或“人工的”块(而非仅仅包括在实际帧中出现的实际块)。
如参考图12所讨论的,根据本发明的该方面,编码器生成具有最经常(频繁)使用的块特性的预测块(即在预测中使用的参考块)的表格。表格中的块然后可以在编码的信号中被参考,来取代帧中的块。在编码期间,确定最常见的块的表格,并且该表格将被动态地更新以用于传输到解码器。因此,编码器生成特设码本以用于将参考块信令发送到解码器。
例如,诸如图1b、5A或5B中所示的某些块会在要被编码的某个帧、帧序列或帧的一部分内更经常出现(即更多数量的情况)。如果某些块(即块系数的某些集合或近似的集合)出现地足够频繁,则动态地保持并向解码器传输这些经常遇到的块的查找表并且然后通过参考查找表中的条目来指示在预测编码中使用的参考块的身份将会变得更加高效,而非通过某些其他手段(比如运动向量或块位置地址)来识别块。
表条目#块定义
0Ba(…)
1Bb(…)
2Bc(…)
3Bd(…)
4Be(…)
等…。
每个块定义指示块系数的某个相应的经常遇到的集合(或近似集合)。
优选地,表格被周期性地更新和传输,并每个更新的表格可以被交织在编码的数据流中(但是不排除分开传输的其他方法),如图12所示。因此,在某个表Ln-在比特流中被传输到解码器之后,然后一个或多个后续的编码块(n,1)、(n,2)等(其中每一个编码块基于另一个参考块通过预测编码而被编码)中的每一个连同指示查找表中的相应条目的辅助信息Sn,1、Sn,2被传输。当查找表被更新且被重传时(Ln+1)然后后续的辅助信息Sn+1,1于是可以通过指示更新的表中的条目来指示在预测中使用的参考块。解码器将存储在比特流中被接收到的最近的查找表L的副本且使用它结合辅助信息S来识别在预测要被解码的当前块时使用的参考块(并且将预测的块与相应的残差数据组合)。
当在频域中执行块匹配时,该技术特别有用,这是因为每个块的能量压成仅少量的非零系数,例如参考图1b。在此情况下,在块匹配过程中某些块有可能被足够频繁地选择,使得保持和传输动态的查找表成为高效的技术选择。尽管如此,所描述的技术不限于频域处理,也不限于基于块排序的选择,并且还可以用于编码其他块匹配技术的结果。
注意到,在最实用的实施例中,查找表将不是详尽的,即一些参考块不会被块匹配过程非常经常选择,并且这些块将不包括在查找表中。这样的参考块可以通过不同的方法在编码的比特流中被信令发送,例如优选地以标识(identify)帧中的绝对块位置的块地址或当前块与相应参考块之间的相对块地址的形式。即,利用多像素块的整体数量来表达块位置(而不是如在传统的运动向量中那样的任意数量的像素或分数个像素)。
在实施例中,最有规律的参考块的实际系数可以在查找表L中被信令发送到解码器(但是对于编码器和解码器而言可替代的方案是在任一端处预先存储那些潜在地在表格中被信令发送的所有可能的块定义)。
因此,根据上述技术,频繁地出现在匹配块的多个帧中的块的子集将在群组中分开地被传输到解码器。在特别优选的实施例中,该群组可以不仅包括现有块,而且可以包括具有帮助预测过程并根据输入流中的块计算的系数的集合的“人工”块。即,该群组中的一些或所有块不需要是帧的实际块,但取而代之可以是概念性块,其包括可以由系统设计者设置或由编码器计算(例如通过从在视频中经常找到的其他实际块取平均、内插或外插)的预定义的“人工”块。在优选实施例中,这些人工块将包括在排序的列表中或者在块匹配过程中作为候选。
例如,假设具有经常处于某个范围(例如200到210)内的特定频域系数的多个块经常出现。在这种情况下,编码器可以利用在该范围(例如205)内的平均值或内插幅度创建具有相应系数的人工块。这样,相对于该人工块编码的经常的相似块将仅导致小残差,例如典型地尺寸不超过5,从而降低了编码该残差所需的比特率。特定系数的该示例是为了说明而被考虑的,但是注意到,当具有多个系数的相似模式的块经常出现时将会实现该方案的最大益处,在此情况下,可以生成具有接近多个这些块的近似模式的人工参考块(单个系数的情况无论如何可能在熵编码器中被良好地处理)。这些多系数块倾向于引起编码的信号的大多数比特率。
填充该查找表的块的群组在本文中可以被称为“全局群组”,其可以包括人工块和/或从视频的一个或多个实际帧中提取的实际块。如上所述,全局群组基于在预测编码中使用的规律性被动态地更新。
最佳候选优选地被选择为最低比特率贡献者,其选自全局群组中的块组和任何组合中帧中的实际块。
该算法的一个独特方面在于应用块的全局群组以辅助预测过程的措施。现存块到全局群组的提取将进一步降低比特率。
该群组的成员将在编码过程期间被定义并且将基于速率计算(即在编码的比特流中将需要多少比特),从而创建为针对帧的一个或多个片中的一组块的最佳预测者的一组系数,且不必是现存块。
由于该过程的速率预测性质,于是不必寻求完美匹配,而是速率降低,其允许找到最接近的匹配而非确切模式。
帧中的所有块或仅作为全局列表提交的块可以以此方式被移位,产生了另一个机会来进行比特率降低。而且,帧的片可以与全局群组一样被移位。
通过允许解码器从表格中丢弃(drop)将不再需要的块以及利用来自输入流的新的块更新它们,将可以对查找表进行周期更新。
在实践中,查找表可能不总是信令发送参考块的有用方式,例如如果编码器确定很少或没有块被远超过任何其他块而被选择。在这种情况下,查找表也许不会实际上节省比特流中的比特,因为它将很少被参考,同时它自身引起在开销方面的多个比特。因此,在特别有利的实施例中,编码器可以被配置成检测某个比特节省阈值,并且如果该节省很小或者甚至是负的时,则它将停止使用查找表方法(并且停止发送更新),并且取而代之将通过其他方式来指示参考块,例如,利用参考块在流内的地址来识别参考块的位置。为了通知解码器所使用的是哪一种编码方法,编码器也将在比特流中包含一个标志来指示查找表方法当前是否正被使用。该标志也可以被周期性地发送,或者基于特设(ad-hoc)且当编码器决定改变模式时。
本文描述的算法是无损的。可以使该编码和解码过程成为非常低复杂度的算法,因为该过程在频域中在非常小的系数组上操作(与复杂度按指数方式更高的空间域过程相比)。
缩放和旋转
在空间域中执行运动估计的常规编码解码器的一个缺点是它们需要高计算复杂度以便基于非横向(非平移)运动(即缩放或选择)处理预测。缩放发生在相机镜头拉近或拉远,或物体更靠近或更远离相机移动,或者事实上如果该物体膨胀或收缩时。旋转发生在相机和物体或背景相对于彼此旋转时。
在频域中执行运动估计的优点是大大降低了处理缩放和旋转类型预测的复杂度。
例如,考虑图13a的说明性示例。在左手侧上表示某时间点处的块B,包括频域系数C。即,该块可以被认为包括频域项,比如振幅为C的正弦曲线,该振幅在整个块上以某个波长而变化,例如表示块上的色度或亮度的变化。在图13a的左上示出色度或亮度的正弦变化的示例,并且用于表示块的对应的系数阵列在左下示出。当然,其他频域项也可以存在,但是为了说明的目的,这里仅示出了一个。
现在,当相机从所讨论的物体或场景拉远镜头(或者该物体已经向远处移动或收缩)时,考虑在稍后的时间点处的对应的块“B”。如在图13a的右上所示,这意味着频域项的波长减少。为了说明性的示例,假设镜头移动导致波长减半:块的频域表示中的效果是系数C从一个位置移动另一个位置,如图13b的右下所示。即,块的能量从块的一个频域系数被重新分配到另一个频域系数。实际上,不太可能存在突然的镜头拉远到确切地一半波长,但是镜头移动仍然可能导致块能量从一些系数到其他系数的逐渐“消退”的转变(transition),即表示较低频域项的振幅的系数将逐渐减小,而表示较高频率项的系数逐渐增大。例如,在图13a中的第二(右手)位置处的系数将逐渐增大,其以第一(左手)位置处的系数为代价。相似的效果将发生在用于镜头拉近的相反方向(或物体更靠近地移动或膨胀)。
给定这种情境,一个块的缩放运动可以从另一个块来预测,并且可以仅使用很少的比特相对于该块而被编码。由于块的变换的表示,允许该预测和编码以低比特率和低计算负担实现,这是因为在频域中,该缩放将典型地仅涉及频域项的非常低复杂度的转变。
在一个情境中,该缩放可以仅按照一个块与另一个块的频域系数之间的差来编码,其依据是:当块的能量从一个频域系数到另一个频域系数逐渐消退时,一个块到下一个块之间的残差将是小的。然而,根据本发明的另一方面,该编码器可以估计缩放的某个参数并且将该参数作为编码的比特流中的辅助信息指示给解码器。例如,该参数可以包括缩放因子的指示,该缩放因子指示目标块可以通过按照某个因子+/-S(例如某百分比的镜头拉近或拉远)缩放所选的参考块来预测。该缩放可以在编码器中通过合适的图像分析算法来估计或通过相机的自动对焦特征来估计。
在缩放因子的估计被用在编码中的情况下,残差将近表示缩放的预测与实际的目标块之间的差,并且将甚至更小,因此需要甚至更少的比特来编码。即,编码器估计要被用于所选的参考块的缩放的本地预测,从目标块的频域系数中减去缩放后的参考块的频域系数,以便生成残差(在实践中,这仅涉及比较该块内来自各移位位置的系数),并且然后以残差、缩放参数的指示和参考块的指示的形式来编码该目标块。被信令发送的缩放参数使得解码器能够确定移位或转变,以应用到参考块的频域参数,以便重新创建预测的版本。然后,在解码器处添加频域残差重新创建目标块。可替代地,在非无损的情况下,该残差可以从编码和解码完全省略。
可以通过在频域中预测旋转来实现相似的低复杂度比特率节省。在图13b中示出说明性示例。
在该示例中,左手侧再次表示在某个时间点处的块B,具有频域系数C,其表示频域项,比如振幅为C的正弦曲线,该正弦曲线在块的水平或竖直方向上以某个波长而变化(例如表示块上的色度或亮度的变化)。在图13b的左上示出色度或亮度的正弦变化的示例,并且用于表示块的对应的系数阵列在左下示出。在此情况下,第一块B中的系数C表示在块水平方向上的某个变化。再次注意到,其他频域项也可以存在,但是为了说明的目的,这里仅示出了一个。
现在考虑,当相机或物体旋转了900时在稍后的时间点处的对应的块B’。如在图13b的右上所示,这意味着频域项从水平向竖直取向被翻转(flip)。块的频域表示中的效果是系数C关于从一个位置到另一个位置的对角线轴被翻转,如图13b的右下所示。即,块的能量从块的一个频域系数被重新分配到另一个对应的系数,其表示相同的频率项按在横向方向上跨越块。
实际上,不太可能存在突然的直角旋转。然而,该效果可以被概括成其他旋转角度。这利用以下事实:块或宏块倾向于近似地具有旋转时相同的总能量或平均能量,即所讨论的物体没有发射更多的光,仅改变相对于相机的取向。如图13c所示,在概括的旋转中,某个稍后帧F’的目标块(中心)可以基于来自较早帧F的参考块来预测,并且对来自邻居的块能量的贡献可以被近似为小(贡献在图13c中用黑色阴影示出)和/或类似于到来自其他区域的邻居的能量损失。
因此,当图像旋转时,块的能力将逐渐在系数之间消退。即,来自在一个位置处系数的能量逐渐被重新分配给它的对角线对应部分(counterpart)。例如,在下面的旋转中,因子“a”和“b”通过图13e所示的计算给出。
即,a=sin(α)且b=cos(α),其中α是旋转的角度。优选地,编码器将使用一组在计算上相对低复杂度的旋转(比如300、450、600和900)之一作为最佳近似来估计旋转。
对于300,a=1/2,b=(√3)/2
对于450,a=1/(√2)且b=1/(√2)
对于600,a=(√3)/2,b=1/2
然后,残差可以编码近似的预测旋转与实际块之间的差。
在一个情境中,该旋转可以仅依据一个块与另一个的频域系数之间的差来编码,其基础是:随着块的能量从一个频域系数到另一个频域系数逐渐消退,则一个块与下一个块之间的残差将是小的。然而,在本发明的另一个方面,编码器可以估计旋转的某个参数并且将该参数作为编码的比特流中的辅助信息信令发送给解码器。例如,该参数可以包括旋转角度,其指示目标块可以通过将所选的参考块旋转指定角度来预测。该旋转可以在编码器中通过图像分析算法来确定或通过相机被封装在其中的移动终端的陀螺仪传感器来确定。
在旋转角度的估计被用在编码中的情况下,残差将仅表示旋转的预测与实际的目标块之间的差,并且将甚至更小,因此需要甚至更少的比特来编码。即,编码器生成要被应用于所选的参考块的旋转的本地预测,从目标块的频域系数减去旋转后的参考块的频域系数,以便生成残差(在实践中,这仅涉及比较系数的行与列,且反之亦然),并且然后以残差、旋转角度的指示和参考块的指示的形式编码目标块。被信令发送的旋转参数使得解码器能够确定翻转或转变,以应用到参考块的频域系数,以便重新创建预测的版本。然后,在解码器处添加频域残差重新创建目标块。可替代地,在非无损的情况下,该残差可以从编码和解码中完全省略。
在实施例中,编码器将可以选择去使用横向、缩放和旋转类型的运动预测来编码任意给定的目标块。在这种情况下,提供一种机制来选择针对每个目标块要使用的预测类型是有用的。对于潜在的参考块群组,一个这样的机制是编码器根据类型层次轮流尝试每种类型的预测。优选地,编码器首先基于每一个候选尝试横向(即平移)类型预测(这典型地是最小计算复杂度类型的运动预测)。如果找到了将导致在最大阈值内的比特率贡献的匹配,则基于该匹配使用横向类型的预测,并且匹配过程在这里停止,使得对于该目标块而言甚至不用考虑缩放和旋转类型预测。即,如果使用横向类型预测发现基于最佳匹配参考块编码残差加上用于目标块的辅助信息所需的比特数处于某个阈值内,则使用横向预测且忽略其他类型,以便尝试避免浪费不必要的机器周期。然而,如果使用横向类型预测没有找到将提供在阈值内的比特率贡献的匹配,则可以尝试缩放或旋转类型预测。例如,层次中的下一个可以是缩放。因此,编码器基于列表中的每一个候选尝试缩放类型预测,并且如果使用缩放替代横向预测,则测试最佳匹配候选是否落入最大比特率贡献阈值内。如果是,则它使用缩放类型运动预测基于最佳匹配参考块编码目标块,并且停止针对该目标块的块匹配过程。然而,如果不是,则编码器随后针对列表中的每一个候选尝试旋转类型预测,并且使用旋转类型预测测试最佳匹配是否落入比特率贡献阈值内。如果是,它相应地编码目标块。如果没有找到在最大比特率贡献阈值内的匹配候选,则编码器可以接受糟粕中的精华,或者可以扩展候选的列表,或者可以通过传统的帧内编码或绝对值的编码来进行编码。
在其他实施例中,所述层次可以是不同的,例如横向、旋转、缩放。可替代方案将是一起比较所有类型的预测,而非按层次。然而,这将引起高处理负担并且不太可能是直播视频流所期望的。
编码器可以用信号发送编码的比特率中预测类型的指示,以使解码器知道应用什么类型的预测。如所提及的,编码器也可以信令发送运动的参数。在旋转的情况下,信令发送的信息可以指示旋转角度。在缩放的情况下,信令发送的信息可以指示缩放因子。该信息允许解码器基于信令发送的旋转重构目标块的预测。
参照图13d,如上所讨论的,频域中的旋转的预测可能在与从排序的列表中选择参考块选择的特征结合时是特别有利的。图13d示出屏幕或视频窗口50。如图所示,如果大区域(area)被旋转,则实际上可以在屏幕或观察窗口50内大距离远处发现针对目标块B’的旋转类型预测的紧密匹配候选B。仅基于图像的空间邻近区域预测块的传统的编码解码器将遗漏这种情形。然而,根据本发明的某些方面使用排序的列表,来自屏幕的任何部分的块都可以变成用于预测的候选。特别地,当该列表根据块能量排序时,则相互的旋转非常相似的各个块将在排序的列表中变得非常接近(不管相互间的距离),因为旋转典型地涉及总块能量的少许变化。因此,基于块能量的相似性识别候选的排序列表特别可能找到用于旋转类型预测的良好候选。
缩放和旋转类型的预测也可以使用根据上文所讨论的种类的全局块列表信令发送参考块的特征来有利地实现。在这种实现方式中,全局块列表中的参考块可以包括缩放的和旋转的模式的表示。例如,可以生成人工参考块,其适合于根据多个不同类型的预测对多个目标块预测编码。
例如,考虑具有被浓缩到下述两个非零系数中的能量的人工参考块:
这可以用于根据下述预测的任何一个以降低的比特率编码4×4目标块。
900旋转
450旋转
镜头拉远
其中适用缩放的空间相关的示例采用4:2:0和4:2:2格式的颜色表示,其中缩放由颜色采样来定义。
由于每个块正在覆盖的模式的相似性,该方法允许预测缩放或旋转的块。该旋转或缩放在相同的块中将被表达为系数的重排序。由于该过程的速率预测性质,然后不必寻求完美的匹配,相反寻求允许找到最接近的匹配而非确切的模式的速率降低。
超分辨率
如图14a和14b所示,当在接收器处重构图像时,有可能叠加相互偏移分数像素的帧以便实现更高分辨率。该思想可以被称为“超分辨率”。
图14a图示了具有由相机的像素大小限定的某特定分辨率的像素网格(光栅)。当帧被捕获时,图像具有每网格单元一个像素值的分辨率,即每像素一个值(限定单个像素所需的每统计,例如在YUV颜色空间中每像素一个Y值、一个U值和一个V值)。现在假设像素网格向右偏移大约半个像素并且向下偏移大约半个像素,要么因为相机稍稍移动,要么因为正被捕获的场景或物体相对于相机移动。如果该移动是已知的或者可以被估计,则有可能通过叠加从两个偏移网格捕获的值来重构更高分辨率的图像。在图14a的示例中,这导致针对相机的传感器阵列的每个实际物理像素的四个“超分辨率”像素A、B、C和D。每个超分辨率像素值可以例如通过对其作出贡献的两个重叠的真实像素值之间的内插来确定。
图14b更详细地图示了所述思想。为了说明,假设存在具有仅2×2传感器阵列的四个像素的相机,并且在某时刻处的第一帧中,仅捕获在顶部的两个像素中出现而没有在底部的两个像素中出现的物体。因此,在第一帧中,该物体仅贡献于顶部两个像素而非底部两个像素。然后,假设在稍后的时刻处通过第二帧,物体向下移动半个像素,或者相机向上移动半个像素。当现在物体在第二帧中被捕获时,该物体的不同区域在所有四个像素中出现,并且因此他贡献于所有四个像素值。
在像素网格中叠加分数移位的思想在过去已经被用于增加例如卫星图像的分辨率。如所提及,该思想可以被成“超分辨率”,或者有时在卫星图像的背景下被称为“遥感”。然而,该技术在过去仅被用于增加分辨率以超越所讨论的相机或检测器的固有的物理分辨率。例如,一些卫星检测器仅具有量级为1km的分辨率的一个“像素”,并且依靠该技术来大大地改进卫星检测器的分辨率。
然而,先前没有人考虑过以下潜能:故意传输具有比相机的固有分辨率更低的分辨率的视频图像,然后使用超分辨率方案来在接收器处重构具有更接近相机的固有分辨率的分辨率的图像。该思想是本发明的另一个方面的主题。优点在于所传输的视频帧每单位时间需要更少的比特。即,取代使用真实大小的像素的分数移位来提升分辨率超越相机的自然分辨率,本发明的一个方面取而代之地使用超分辨率技术来传输更大图像单元的平均值(每个单元对应于多个真实像素)(因此该平均单元具有比真实相机分辨率更低的分辨率)并且随后在接收器处重构真实相机分辨率(或者至少比平均单元更高的分辨率)。
相对于图14c讨论了一个示例。这里,捕获了具有更高分辨率值A到P的图像的区域:
在一些实施例中,这些更高分辨率值可以对应于从相机的传感器阵列的各个像素中捕获的值。然而,在其他实施例中,这些更高分辨率值不一定需要对应于相机的像素的实际物理尺寸,而是可以表示将被所讨论的编码器在某特定操作模式中使用的最小尺寸单元。要点是:下面的编码器将以甚至更低的分辨率来编码帧,即通过对更高分辨率值的群组取平均或以另外方式组合来创建由相应的更低分辨率值表示的更大的、更低分辨率的单元。在图14c的示例中,更低分辨率单元是更高分辨率值的2×2群组,但是应当领会,其他方案同样可以被很好地使用。
在序列中的初始帧(帧0)处,编码器对较高分辨率值F、G、J和K取平均(或者以其他方式组合它们,例如求和)。该平均值为覆盖四个较小的较高分辨率单元的相应群组的区域的单个、较大、较低分辨率单元提供了单个总的较低分辨率值。对邻近的群组执行类似的取平均,从而生成由相应较低分辨率值表示的较大尺寸单元的较低分辨率网格。编码器随后仅基于平均值的较低分辨率网格进行编码并传输该帧。
注意到,在实施例中,图像仍然可以被分成块和/或宏块,其中每个块或宏块包括多个较低分辨率单元(但是少于在较高分辨率出表示情况下)。在这种情况下,作为编码过程的一部分,多个较低分辨率单元组成的块仍然可以被变换到频域中,但是根据本发明的特定方面该变换可以被认为是可选的。无论哪种方式,超分辨率算法在空间域中操作(即,如果存在频域变换,则该超分辨率算法发生在编码器处的变换之前和在解码器处的逆变换之后)。
在序列的第一后续帧(帧1)处,编码器将较低分辨率单元较低分辨率网格向上和向左移位一个较高分辨率单元。该编码器随后对较高分辨率值A、B、E和F取平均以为覆盖四个较小的较高分辨率单元的相应群组的区域的单个、较大、较低分辨率单元创建单个总的较低分辨率值,因此现在在水平和竖直方向中每一个上偏移一个较高分辨率单元,这意指较低分辨率网格的分数偏移。再次对邻近群组执行类似的取平均,从而生成均由相应较低分辨率值表示的较大尺寸单元的较低分辨率网格,但是这次包括所描述的偏移。该编码器然后仅使用平均值的偏移较低分辨率网格来编码并传输该帧(同样可以结合多个这样的单元的块到频域的变换,如果在所讨论的实施例中适当的话)。
注意到,接收器现在已经被提供有借助帧0与1的较低分辨率单元之间的分数重叠而覆盖较高分辨率单元F的两个较低分辨率单元,从而允许接收器生成用于F的单独的较高分辨率值。然而,为了重新创建完全的较高分辨率网格,将需要进一步的后续帧2-5。
在序列的第二后续帧(帧2)处,相对于初始帧0,编码器将较低分辨率网格向上和向右移位一个较高分辨率单元。该编码器随后对较高分辨率值C、D、G和H取平均以获得用于相应的较低分辨率单元的相应较低分辨率值,对于周围单元也进行类似处理,从而生成较低分辨率值的另一个偏移网格,其被编码并传输到接收器。现在,接收器具有足够的信息来借助帧0与2之间的分数重叠重新创建较高分辨率单元G。
在序列的第三后续帧(帧3)处,相对于初始帧0,编码器将较低分辨率网格向下和向右移位一个较高分辨率单元,并且随后对较高分辨率值K、L、O和P取平均以获得用于另一个的较低分辨率单元的相应较低分辨率值。作为类似偏移较低分辨率单元的网格的一部分,这被编码并传输到接收器,现在允许接收器借助帧0与3的较低分辨率单元之间的分数重叠重新创建较高分辨率单元K。
该序列随后继续道第四后续帧(帧4),其中对较高分辨率单元I、J、M和N取平均并在较低分辨率网格中将其编码并传输,从而允许接收器借助帧0与4的较低分辨率单元之间的分数重叠重新创建较高分辨率单元J。
一旦完成了在帧0到5的序列上应用的分数移位的模式,可以在接收器处重构完整的较高分辨率网格。
然而,应当领会,上文仅仅是一个可能的示例。在其他实现方式中,可以使用较高与较低分辨率单元尺寸的不同比率,并且/或者可以使用其他移位模式。例如,仅需要四帧循环的另一个可能的移位模式将传输:
Av(B,C,F,G)
Av(E,F,I,J)
Av(J,K,N,O)
Av(G,H,K,L)
在一个实施例中,不一定存在相机或物体的实际移动。取而代之,编码器可以生成要在解码器处应用以创建较高分辨率的人工移位或移位模式的指示。也就是说,为了减少传输的比特率的唯一目的,所述“移动”仅可以人工地生成。
可替代地,该移位可以基于实际移动。在这种情况下,该移动可以通过使用相机被封装在其中的移动终端的陀螺仪传感器从而检测相机的移动来检测,或者通过使用运动估计技术检测正被捕获的场景或物体的移动来检测。
与帧0到5的编码的较低分辨率单元一起,编码器还在编码的数据流中传输一些辅助信息,指示作为该方案的一部分所应用的移位或移位模式。该指示可以采取用于序列中每个帧的单独移位指示;或更优选地,在人工生成的移位的情况下,该指示可以采取用于整个序列的单个指示符的形式,其是指用于该序列的预定移位模式。在稍后的情况下,预定的模式可以被预先存储在传输器侧和接收器侧的编码器处。例如,编码解码器可以在由不同的相应移位模式和/或分辨率比率限定的一个或多个不同的超分辨率模式中操作(并且优选地,该编码解码器还将具有不使用超分辨率的更传统的模式)。不同模式的性质将被传输器侧的编码器和接收器侧的解码器二者理解,并且从传输器信令发送的辅助信息可以指示已在传输侧被编码器使用的模式。
因此,本发明独特地使用超分辨率方案来故意降级正在视频帧中传输的分辨率,以便降低比特率,并且随后在接收器处再次重构较高分辨率图像。当然,不可能得到“免费数据”,但是该思想是用重构时间来折中比特率,因为该方案将需要多个帧以便在接收器处重构较高分辨率图像,从而相比于在每一帧中简单地以较高分辨率传输数据,会花费更长时间来获得更高的分辨率。
为此原因,上述特征可能不适合非常快的运动,但是它对编码较慢但更详细的运动可能是有用的。在特别有利的实施例中,因为在逐块的基础上编码块,所以有可能以不同方式编码同一视频的不同区域。例如,基于对视频图像的运动估计分析,可以使用较低分辨率单元编码慢移动背景,同时可以使用较高分辨率编码在相同图像中的较快移动前景;或者甚至反之亦然。在这种情况下,可以在逐块的基础上信令发送移位信息,其中每个块包括多个较低分辨率单元(或者在逐宏块的基础上,等)。
特别优选的是,使用该思想结合上面所述的全局块列表。即,一些帧或一些块或帧内的区域可以使用上述全局块列表特征来编码,同时其他帧或者相同帧内的其他块或区域可以使用在该节中描述的超分辨率特征来编码。例如,全局块列表可以用于编码相对静止的区域中的块,同时超分辨率可以用于编码正发生更详细的运动的其他区域中的块(以便减小这种运动否则可能导致的比特率的峰值);或者该全局块列表可以用于编码大物体的较快运动,同时超分辨率特性可以用于编码正发生较小运动的区域(这是因为由于重构较高分辨率图像所需的时间,它较不适合于快速运动)。
在其他实施例中,全局块列表可以可替代地用于信令发送参考块以用于使用更传统的超分辨率方法编码并解码视频,以便增加分辨率超过相机固有的分辨率。
除了缩放和旋转,上文允许在频域和空间域算法的编辑中实现超分辨率方法。在该方法中,每隔一个帧在可以被传送到解码器的特定模式中被移动像素的1/2或1/4。尽管以此方式编码,但是有可能通过在否则将被漏掉的运动方向上找到匹配来导出像素或单元的1/2或1/4的下列较小运动移位。此外,该重构可以在空间域中经由像素重新采样来完成。图14a示出一个示例,其中两个帧之间的1/2像素移位允许在原始帧中的一个像素之外创建四个新像素(A、B、C和D)。
移位方向可以来自采集系统作为编码输入,或被创建以减少比特率作为逆可缩放性,例如发送CIF分辨率取代VGA。
实现方式
编码器元件2、4、6、8和10;以及解码器元件12、14、16、18和20中的每一个优选地以存储在存储介质中并被设置用于在处理器上运行的软件模块中实现,该存储介质比如硬盘驱动器或闪存。然而,在其他实施例中,这些元件中的一些或所有可以至少部分地在专用硬连线电路中实现。
在一个可能的实施例中,本发明可以被实现为诸如ISO标准H.264之类的现有编码器的附加组件。即,到图4中的量化器4的输入将是来自诸如H.264编码器之类的标准编码器的输出。
应当领会,仅通过示例描述了上述实施例。
例如,注意到,尽管在本文使用了术语“块”,但是在其最一般的意义下,这不旨在暗示特定尺寸、形状或级别细分。应当领会,在不同的方案中,各种不同的分割和细分可以通过诸如宏块、块和子块等之类的术语指代,但是如本文最一般地使用的术语“块”可以对应于这些中任意一种或者甚至对应于作为视频帧的划分的任何其他组成图像部分。
而且,尽管参考到频域中的离散余弦变换的示例描述了上文,但是应当领会,诸如KLT或其他之类的其他变换可以使用(其中一些可以不是用空间频率系数来表示变换域,而是用一些其他变换域系数来表示)。
而且,尽管依据表示目标块的系数与参考块的系数之间相减的差的残差描述了上文,但是这不是用于相对于参考块的系数或值编码目标块的系数或值的唯一可能性。例如,在其他实施例中,所述差可以用目标块与参考块之间的相关性的参数来表示和信令发送,以使得该目标可以从该相关性预测,或者用可以应用于参考块来预测目标块的滤波器的系数来表示和信令发送。在这些情况下,该预测可以不必像减法差情况那样是无损的,而是可以是有损的,使得所述差不表示精确差。如本文所使用的术语“差”不限于减法差,也不限于精确差。
而且,本发明不限于以任何特定标准实现,也不限于作为任何特定标准的附加组件而实现,或者可以被实现为新的独立的编码解码器、现有编码解码器的附加组件或实现为对现有编码解码器的修改。
对本领域技术人员而言,给定本文的公开,其他变体可能是显而易见的。本发明不受所描述的实施例的限制,而是仅由所附权利要求限定。

Claims (28)

1.一种编码视频信号以用于传输的方法,包括:
接收包括多个视频帧的视频信号,每个帧被分成多个图像部分;
对于所述图像部分中要被编码的多个目标图像部分中的每一个,选择相应的参考部分,并且生成目标图像部分相对于相应的参考部分的差异数据;
在对视频信号进行编码期间,生成识别通常使用的参考部分的子集的表格并且将该表格的指示传输到解码器;以及
生成包括差异数据连同通过参考所述表格中的条目识别所选的参考部分的辅助信息的编码的比特流,并且将该编码的比特流传输到解码器。
2.权利要求1的方法,包括在进行编码期间周期性地更新表格。
3.权利要求1或2的方法,包括在进行编码期间周期性地将更新的表格的指示传输到解码器。
4.权利要求1或2的方法,其中每个表格的指示作为比特流的一部分被传输。
5.权利要求1或2的方法,其中所述部分的每一个包括多个系数,并且所传输的表格的指示包括参考部分的所述子集的系数。
6.权利要求1或2的方法,其中参考部分的所述子集中的一个或多个可以是人工部分,而非来自帧的实际部分。
7.权利要求6的方法,包括通过对来自一个或多个所述帧的一个或多个实际图像部分进行取平均、内插或外插来确定所述一个或多个人工参考部分。
8.权利要求1或2的方法,其中参考部分的所述子集中的一个或多个是来自一个或多个所述帧的实际图像部分。
9.权利要求1或2的方法,其中所述选择包括:将图像部分从空间域系数变换成变换域系数,并且基于它们的变换域系数的相似性为每一个目标部分选择相应的参考部分。
10.权利要求9的方法,其中所述差异数据包括参考部分与目标图像部分的变换域系数之间的差。
11.权利要求1或2的方法,包括将相应的索引值分配给目标图像部分和多个参考部分中的每一个;
其中为每一个目标图像部分选择参考部分包括选择那些具有在目标图像部分的预定范围内的索引值的候选部分的子集,并且从候选部分之中选择相应的参考部分。
12.权利要求11的方法,其中所述索引值是相应的部分的能量的度量。
13.权利要求12的方法,其中所述能量包括下述之一:相应部分中非零变换域系数的个数,在相应部分中具有零值的变换域系数的个数以及相应部分中变换域系数的模量的平均值或总和。
14.权利要求1或2的方法,其中参考部分的选择基于关于为编码目标图像部分而在编码的比特流中所需的比特数的确定。
15.权利要求11的方法,其中从候选部分之中选择参考部分基于关于为了相对于每个候选部分编码目标图像部分而在编码的比特流中所需的比特数的确定。
16.权利要求14的方法,其中关于编码目标部分所需的比特数的确定考虑差异数据所需的比特数和辅助信息所需的比特数。
17.权利要求1或2的方法,包括:将指示参考部分是否通过参考所述表格而被信令发送的标志包括在所述比特流中。
18.权利要求1或2的方法,其中所述图像部分的每一个是块、宏块或子块。
19.权利要求1或2的方法,其中所述视频信号的一些图像部分借助查找表来编码,并且所述视频信号的其他图像部分借助超分辨率方案来编码,在超分辨率方案中较高分辨率图像可以在解码器处基于较低分辨率单元的实际的或模拟的运动的信令来重构。
20.权利要求1或2的方法,其中参考部分的所述子集的一个或多个用于预测目标图像部分的缩放或旋转。
21.一种用于编码视频信号以用于传输的编码器,包括:
输入端,用于接收包括多个视频帧的视频信号,每个帧被分成多个图像部分;
处理装置,被配置成对于所述图像部分中要被编码的多个目标图像部分中的每一个,选择相应的参考部分,并且生成目标图像部分相对于相应的参考部分的差异数据;
其中所述处理装置被进一步配置成在对视频信号进行编码期间,生成识别通常使用的参考部分的子集的表格并且将该表格的指示传输到解码器;以及
该编码器进一步包括输出模块,其被配置成生成包括差异数据连同通过参考所述表格中的条目识别所选的参考部分的辅助信息的编码的比特流,并且将该编码的比特流传输到解码器。
22.根据权利要求21的编码器,进一步被根据权利要求2-20中任一项的方法来配置。
23.一种解码编码的视频信号的方法,包括:
接收比特流,该比特流包括:要从相应参考部分预测的多个所述部分的差异数据;识别通常使用的参考部分的子集的表格的指示;以及辅助信息,其通过从参考表格中的条目识别参考部分;以及
基于辅助信息和所述表格来识别每个目标部分的相应参考部分,并且根据相应参考部分和差异数据确定目标部分。
24.权利要求23的方法,其中比特流包括多个更新的表格的指示,其中每一个标识针对比特流的相应时段而被普遍使用的参考部分的子集,每个时段对应于多个图像部分,其中每个时段中的辅助信息通过参考相应的更新的表格中的条目来识别参考部分。
25.权利要求23的方法,其中比特流按照权利要求2-20中任一项进行编码。
26.一种用于解码编码的视频信号的解码器,该解码器包括:
输入端,用于接收比特流,该比特流包括:要从相应参考部分预测的多个所述部分的差异数据;识别通常使用的参考部分的子集的表格的指示;以及辅助信息,其通过从参考表格中的条目识别参考部分;以及
处理装置,其被配置成基于辅助信息和所述表格识别每个目标部分的相应参考部分,并且根据相应参考部分和差异数据确定目标部分。
27.权利要求26的解码器,其中比特流包括多个更新的表格的指示,其中每一个标识针对比特流的相应时段而被普遍使用的参考部分的子集,每个时段对应于多个图像部分,其中每个时段中的辅助信息通过参考相应的更新的表格中的条目来识别参考部分。
28.权利要求26的解码器,其中比特流按照权利要求2-20中任一项进行编码。
CN201180010289.XA 2010-02-19 2011-02-18 用于视频的数据压缩 Active CN102835106B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US30641010P 2010-02-19 2010-02-19
US61/306410 2010-02-19
US61/306,410 2010-02-19
US12/838,139 2010-07-16
US12/838,139 US20110206132A1 (en) 2010-02-19 2010-07-16 Data Compression for Video
US12/838139 2010-07-16
PCT/EP2011/052464 WO2011101453A2 (en) 2010-02-19 2011-02-18 Data compression for video

Publications (2)

Publication Number Publication Date
CN102835106A CN102835106A (zh) 2012-12-19
CN102835106B true CN102835106B (zh) 2016-08-03

Family

ID=44476471

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201180010214.1A Active CN102893604B (zh) 2010-02-19 2011-02-18 用于视频的数据压缩
CN201180010289.XA Active CN102835106B (zh) 2010-02-19 2011-02-18 用于视频的数据压缩
CN2011800100907A Pending CN102835105A (zh) 2010-02-19 2011-02-18 用于视频的数据压缩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201180010214.1A Active CN102893604B (zh) 2010-02-19 2011-02-18 用于视频的数据压缩

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2011800100907A Pending CN102835105A (zh) 2010-02-19 2011-02-18 用于视频的数据压缩

Country Status (4)

Country Link
US (3) US20110206132A1 (zh)
EP (3) EP2522142A2 (zh)
CN (3) CN102893604B (zh)
WO (3) WO2011101454A2 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US20110206132A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US9609342B2 (en) * 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9819358B2 (en) * 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US20110206118A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
CN106131569B (zh) 2010-10-06 2018-09-07 株式会社Ntt都科摩 图像预测解码装置、图像预测解码方法
EP2448265A1 (en) 2010-10-26 2012-05-02 Google, Inc. Lip synchronization in a video conference
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9445093B2 (en) * 2011-06-29 2016-09-13 Qualcomm Incorporated Multiple zone scanning order for video coding
US9210302B1 (en) * 2011-08-10 2015-12-08 Google Inc. System, method and apparatus for multipoint video transmission
EP2563038A1 (en) 2011-08-26 2013-02-27 Streamtainment Systems OÜ Method for transmitting video signals from an application on a server over an IP network to a client device
WO2013056200A1 (en) * 2011-10-14 2013-04-18 Brightsentry, Inc. Method and apparatus for video compression of stationary scenes
US9930360B2 (en) * 2011-11-08 2018-03-27 Texas Instruments Incorporated Method, system and apparatus for intra-refresh in video signal processing
BR112014011413B1 (pt) 2011-11-11 2023-03-28 Ge Video Compression, Llc Predição eficaz utilizando codificação de partição
EP4161078A1 (en) 2011-11-11 2023-04-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
EP2777286B1 (en) 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
KR102036175B1 (ko) 2011-11-11 2019-10-24 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
US10089127B2 (en) 2011-11-15 2018-10-02 Nicira, Inc. Control plane interface for logical middlebox services
AU2011253779A1 (en) * 2011-12-01 2013-06-20 Canon Kabushiki Kaisha Estimation of shift and small image distortion
US9087260B1 (en) * 2012-01-03 2015-07-21 Google Inc. Hierarchical randomized quantization of multi-dimensional features
JP6085620B2 (ja) * 2012-03-05 2017-02-22 トムソン ライセンシングThomson Licensing 超解像度処理のための方法、システム及び装置
US8917309B1 (en) 2012-03-08 2014-12-23 Google, Inc. Key frame distribution in video conferencing
US8897586B2 (en) * 2012-06-15 2014-11-25 Comcast Cable Communications, Llc Dynamic generation of a quantization matrix for compression of a digital object
US8791982B1 (en) 2012-06-27 2014-07-29 Google Inc. Video multicast engine
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
US20140119456A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Encoding video into lower resolution streams
US9185437B2 (en) 2012-11-01 2015-11-10 Microsoft Technology Licensing, Llc Video data
US20140119446A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Preserving rounding errors in video coding
US20140118460A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Video Coding
GB2509323B (en) 2012-12-28 2015-01-07 Glide Talk Ltd Reduced latency server-mediated audio-video communication
US10757437B2 (en) 2014-07-17 2020-08-25 Apple Inc. Motion estimation in block processing pipelines
US9215468B1 (en) * 2014-08-07 2015-12-15 Faroudja Enterprises, Inc. Video bit-rate reduction system and method utilizing a reference images matrix
US9762919B2 (en) * 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
US9800641B2 (en) * 2015-05-04 2017-10-24 Google Inc. Pre-fetched encoding for application streaming
US9331712B1 (en) 2015-05-11 2016-05-03 Qualcomm Incorporated Compressed caching in a virtual memory system
US9609275B2 (en) 2015-07-08 2017-03-28 Google Inc. Single-stream transmission method for multi-user video conferencing
CN113810712A (zh) 2016-04-29 2021-12-17 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
WO2018023554A1 (en) * 2016-08-04 2018-02-08 SZ DJI Technology Co., Ltd. System and methods for bit rate control
CN106454349B (zh) * 2016-10-18 2019-07-16 哈尔滨工业大学 一种基于h.265视频编码的运动估计块匹配方法
WO2018142159A1 (en) * 2017-02-03 2018-08-09 Tv One Limited Method of video transmission and display
US10630994B2 (en) * 2017-06-28 2020-04-21 Agora Lab, Inc. Specific operation prediction in video compression
US10368071B2 (en) * 2017-11-03 2019-07-30 Arm Limited Encoding data arrays
EP3762895A4 (en) * 2018-04-02 2021-04-21 Huawei Technologies Co., Ltd. VIDEO ENCODING WITH CONSECUTIVE CODECS
CN109495756B (zh) * 2018-05-24 2022-11-01 曜科智能科技(上海)有限公司 基于旋转缩放的自适应运动搜索方法
EP3847814A4 (en) 2018-11-06 2021-07-14 Beijing Bytedance Network Technology Co. Ltd. POSITION DEPENDENT STORAGE, MOVEMENT INFORMATION
US10886943B2 (en) 2019-03-18 2021-01-05 Samsung Electronics Co., Ltd Method and apparatus for variable rate compression with a conditional autoencoder
CN112449140B (zh) 2019-08-29 2021-09-14 华为技术有限公司 视频超分辨率处理方法及装置
US11303496B2 (en) * 2020-03-30 2022-04-12 Rovi Guides, Inc. Systems and methods for inserting supplemental content into a quadrature amplitude modulation signal using existing bandwidth
CN112468815B (zh) * 2021-01-28 2021-06-15 浙江智慧视频安防创新中心有限公司 视频编解码的方法、装置、电子设备及存储介质
CN113179450B (zh) * 2021-03-23 2022-06-03 重庆扬成大数据科技有限公司 一种用于大数据环境下分析城市运营管理的工作方法
CN113393377B (zh) * 2021-05-18 2022-02-01 电子科技大学 一种基于视频编码的单帧图像超分辨率方法
CN114726891A (zh) * 2022-03-28 2022-07-08 慧之安信息技术股份有限公司 一种基于物联网的视频传输上报方法
CN117880520B (zh) * 2024-03-11 2024-05-10 山东交通学院 一种用于机车乘务员值乘标准化监控的数据管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1256049A (zh) * 1998-02-13 2000-06-07 皇家菲利浦电子有限公司 视频编码方法和装置
CN1262496A (zh) * 1999-01-27 2000-08-09 松下电器产业株式会社 使用正交变换域中的块匹配进行运动估测的方法和装置
CN1805544A (zh) * 2005-01-13 2006-07-19 普诚科技股份有限公司 频域内用于位移估算的区块匹配

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1691147A (en) * 1928-11-13 Habsy nyqtjist
US4833535A (en) * 1987-02-04 1989-05-23 Kabushiki Kaisha Toshiba Image transmission apparatus
JPH0799658A (ja) 1993-08-03 1995-04-11 Sony Corp 動きベクトル検出装置
JPH07170521A (ja) * 1993-12-15 1995-07-04 Canon Inc 画像処理装置
JP3013698B2 (ja) 1994-04-20 2000-02-28 松下電器産業株式会社 ベクトル量子化符号化装置と復号化装置
WO1996008114A1 (en) * 1994-09-02 1996-03-14 David Sarnoff Research Center, Inc. Method and apparatus for global-to-local block motion estimation
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
CN100361536C (zh) * 1996-05-28 2008-01-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
US6091767A (en) * 1997-02-03 2000-07-18 Westerman; Larry Alan System for improving efficiency of video encoders
GB9712651D0 (en) * 1997-06-18 1997-08-20 Nds Ltd Improvements in or relating to encoding digital signals
US6188777B1 (en) * 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6937659B1 (en) * 1997-11-14 2005-08-30 Ac Capital Management, Inc. Apparatus and method for compressing video information
JP3540142B2 (ja) * 1998-01-30 2004-07-07 株式会社東芝 動きベクトル検出回路および動きベクトル検出方法
US6697427B1 (en) * 1998-11-03 2004-02-24 Pts Corporation Methods and apparatus for improved motion estimation for video encoding
EP1157559A4 (en) 1998-11-03 2002-01-23 Bops Inc METHOD AND DEVICE FOR BETTER ESTIMATION OF MOVEMENTS FOR VIDEO CODE
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US7003038B2 (en) * 1999-09-27 2006-02-21 Mitsubishi Electric Research Labs., Inc. Activity descriptor for video sequences
US6650782B1 (en) 2000-02-24 2003-11-18 Eastman Kodak Company Visually progressive ordering of compressed subband bit-planes and rate-control based on this ordering
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.
US6856651B2 (en) * 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
US6668020B2 (en) * 2000-11-04 2003-12-23 Vivotek Inc. Method for motion estimation in video coding
JP2004532540A (ja) * 2001-03-05 2004-10-21 インタービデオインコーポレイテッド 誤り耐性のある符号化のためのシステム及び方法
JP2002315004A (ja) * 2001-04-09 2002-10-25 Ntt Docomo Inc 画像符号化方法及び装置、画像復号方法及び装置、並びに画像処理システム
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction
JP2003006643A (ja) * 2001-06-25 2003-01-10 Canon Inc 画像処理装置及びその方法、プログラム
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
KR100555820B1 (ko) * 2002-06-28 2006-03-03 가부시끼가이샤 도시바 재활용 가능성 평가 프로그램을 저장한 저장 매체 및 재활용 가능성 평가 방법
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
CN101039427B (zh) * 2002-07-15 2010-06-16 株式会社日立制作所 动态图像的解码方法
US7075987B2 (en) * 2002-09-23 2006-07-11 Intel Corporation Adaptive video bit-rate control
EP1445958A1 (en) * 2003-02-05 2004-08-11 STMicroelectronics S.r.l. Quantization method and system, for instance for video MPEG applications, and computer program product therefor
US20090080788A1 (en) * 2003-04-17 2009-03-26 Droplet Technology, Inc. Multiple Technique Entropy Coding System And Method
KR100750110B1 (ko) * 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
KR20050041293A (ko) * 2003-10-30 2005-05-04 삼성전자주식회사 움직임 예측 장치 및 방법
US7430329B1 (en) * 2003-11-26 2008-09-30 Vidiator Enterprises, Inc. Human visual system (HVS)-based pre-filtering of video data
US7139015B2 (en) * 2004-01-20 2006-11-21 Polycom, Inc. Method and apparatus for mixing compressed video
EP1714484A4 (en) * 2004-01-30 2009-03-18 Panasonic Corp BILDCODE AND DECODE PROCESSING; DEVICE AND PROGRAM THEREFOR
US20050229200A1 (en) * 2004-04-08 2005-10-13 International Business Machines Corporation Method and system for adjusting a display based on user distance from display device
WO2006001485A1 (ja) * 2004-06-29 2006-01-05 Sony Corporation 動き予測補償方法及び動き予測補償装置
US7609765B2 (en) * 2004-12-02 2009-10-27 Intel Corporation Fast multi-frame motion estimation with adaptive search strategies
US20060104352A1 (en) * 2004-11-17 2006-05-18 Princeton Technology Corporation Block matching in frequency domain for motion estimation
JP4774736B2 (ja) * 2004-12-27 2011-09-14 カシオ計算機株式会社 画像拡大装置および撮像装置
US20060153295A1 (en) * 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
US8588304B2 (en) * 2005-03-31 2013-11-19 Panasonic Corporation Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
WO2007011851A2 (en) 2005-07-15 2007-01-25 Texas Instruments Incorporated Filtered and warped motion compensation
JP4549260B2 (ja) 2005-08-25 2010-09-22 キヤノン株式会社 記録再生装置、記録再生方法、及びコンピュータプログラム
US7805012B2 (en) * 2005-12-09 2010-09-28 Florida State University Research Foundation Systems, methods, and computer program products for image processing, sensor processing, and other signal processing using general parametric families of distributions
KR100867995B1 (ko) * 2006-01-07 2008-11-10 한국전자통신연구원 동영상 데이터 인코딩/디코딩 방법 및 그 장치
US20070177671A1 (en) * 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
US8009923B2 (en) * 2006-03-14 2011-08-30 Celestial Semiconductor, Inc. Method and system for motion estimation with multiple vector candidates
BRPI0719860B1 (pt) * 2006-10-18 2021-09-08 Interdigital Vc Holdings, Inc. Aparelhos, métodos e meio de armazenamento não transitório para compensação de iluminação e cor local sem sinalização explícita
US20080123750A1 (en) * 2006-11-29 2008-05-29 Michael Bronstein Parallel deblocking filter for H.264 video codec
KR101366242B1 (ko) * 2007-03-29 2014-02-20 삼성전자주식회사 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
US8150172B2 (en) * 2007-05-04 2012-04-03 Qualcomm Incorporated Video coding mode selection using estimated coding costs
KR101366249B1 (ko) * 2007-06-28 2014-02-21 삼성전자주식회사 스케일러블 영상 부호화장치 및 방법과 그 영상 복호화장치및 방법
US8437564B2 (en) * 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
JP4876048B2 (ja) * 2007-09-21 2012-02-15 株式会社日立製作所 映像送受信方法、受信装置、映像蓄積装置
US8848787B2 (en) * 2007-10-15 2014-09-30 Qualcomm Incorporated Enhancement layer coding for scalable video coding
KR101365597B1 (ko) * 2007-10-24 2014-02-20 삼성전자주식회사 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
US8228990B2 (en) * 2008-01-16 2012-07-24 Sony Corporation Template matching scheme using multiple predictors as candidates for intra-prediction
JP4998287B2 (ja) * 2008-01-25 2012-08-15 ソニー株式会社 画像処理装置および方法、並びにプログラム
US8295356B2 (en) * 2008-03-07 2012-10-23 International Business Machines Corporation Method and system for coding mode selection in video compression systems
US8363727B2 (en) * 2008-09-30 2013-01-29 Microsoft Corporation Techniques to perform fast motion estimation
US8559109B2 (en) * 2008-12-24 2013-10-15 Panasonic Corporation Method for producing diffractive optical element, and diffractive optical element, including a diffraction grating and molded optical adjusting layer
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
CN101511014B (zh) * 2009-04-10 2011-12-07 杭州华三通信技术有限公司 一种视频编码的方法和设备
US8660261B2 (en) * 2009-06-04 2014-02-25 Mediatek Singapore Pte. Ltd. System and apparatus for integrated video/image encoding/decoding and encryption/decryption
US20110206132A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US9313526B2 (en) * 2010-02-19 2016-04-12 Skype Data compression for video
US20110206118A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US9609342B2 (en) * 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9819358B2 (en) * 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1256049A (zh) * 1998-02-13 2000-06-07 皇家菲利浦电子有限公司 视频编码方法和装置
CN1262496A (zh) * 1999-01-27 2000-08-09 松下电器产业株式会社 使用正交变换域中的块匹配进行运动估测的方法和装置
CN1805544A (zh) * 2005-01-13 2006-07-19 普诚科技股份有限公司 频域内用于位移估算的区块匹配

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Efficient Cost Measures for Motion Estimation at Low Bit Rates》;Dzung T. Hoang,et.al;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;19980831;第8卷(第4期);V489-V492 *
《LIBRARY-BASED IMAGE CODING》;Nuno Vasconcelos,et.al;《Proceedings of ICASSP》;19941231;488-500 *

Also Published As

Publication number Publication date
US20110206110A1 (en) 2011-08-25
EP2522143A2 (en) 2012-11-14
US8681873B2 (en) 2014-03-25
CN102893604B (zh) 2017-04-26
US20110206113A1 (en) 2011-08-25
WO2011101454A3 (en) 2011-11-17
CN102835105A (zh) 2012-12-19
WO2011101454A2 (en) 2011-08-25
EP2522142A2 (en) 2012-11-14
CN102893604A (zh) 2013-01-23
WO2011101453A3 (en) 2011-10-27
WO2011101453A2 (en) 2011-08-25
US8913661B2 (en) 2014-12-16
EP2522141B1 (en) 2019-04-24
EP2522141A1 (en) 2012-11-14
WO2011101451A1 (en) 2011-08-25
US20110206132A1 (en) 2011-08-25
CN102835106A (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
CN102835106B (zh) 用于视频的数据压缩
CN102792688B (zh) 用于视频的数据压缩
CN101204094B (zh) 可缩放地编码和解码视频信号的方法
US9313526B2 (en) Data compression for video
CN105706450A (zh) 根据基于散列的块匹配的结果的编码器决定
CN104041048A (zh) 利用跳过模式进行视频编码和解码的方法和设备
CN107810635A (zh) 图像编译系统中基于照度补偿预测块的方法和设备
KR20110062516A (ko) 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
CN102077599B (zh) 用于视频编码器中的高质量帧内模式预测的设备和方法
CN105659602A (zh) 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
KR20090058954A (ko) 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
CN102187668B (zh) 编码图像或图像序列的方法和装置及其解码方法和装置
CN101001374A (zh) 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
CN101112103A (zh) 有效地预测基于多层的视频帧的方法、及使用该方法的视频编码方法和设备
CN101005620B (zh) 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
US20150078446A1 (en) Method and apparatus for inter-layer intra prediction
KR20100079037A (ko) 비디오 영상 부호화 방법 및 장치
CN109155852A (zh) 利用可变内预测方向集合进行内编码和解码
CN102792687B (zh) 用于视频的数据压缩
CN114007078A (zh) 一种运动信息候选列表的构建方法、装置及其设备
CN102804775B (zh) 用于视频的数据压缩
KR20140124438A (ko) 밝기 보상을 이용한 비디오 부호화/복호화 방법 및 장치

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: 20200331

Address after: Redmond, Washington, USA

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Ai Erlandubailin

Patentee before: Skype