CN101505429B - 对视频数据进行内编码的方法和设备 - Google Patents
对视频数据进行内编码的方法和设备 Download PDFInfo
- Publication number
- CN101505429B CN101505429B CN2009101289198A CN200910128919A CN101505429B CN 101505429 B CN101505429 B CN 101505429B CN 2009101289198 A CN2009101289198 A CN 2009101289198A CN 200910128919 A CN200910128919 A CN 200910128919A CN 101505429 B CN101505429 B CN 101505429B
- Authority
- CN
- China
- Prior art keywords
- sub
- piece
- pattern
- video
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Abstract
提供简化的预测方法,以在多种预测模式下,对要编码的视频数据宏块的4×4子块的像素值进行预测。此外,提供预测方法,以在多种预测模式下,对要编码的视频数据宏块的非4×4 M×N子块的像素值进行预测,包括8×8、8×4和4×8子块。本发明可以在视频设备的编码器和/或解码器中实现。
Description
本申请为2005年2月28日提交的题为“对视频数据进行内编码的方法和设备”的中国申请03820368.5的分案申请。
相关申请
本申请是2000年12月6日提交的题为“对视频数据进行内编码(intracoding)的系统和方法”的美国专利申请号09/732,522的部分继续申请。
本申请还要求以下临时申请的优先权:
a)申请号60/394,524,2002年7月8日提交,题为“用于内预测的低复杂性对角线模式”;
b)申请号60/414,210,2002年9月27日提交,题为“减少内预测的像素相关性”;
c)申请号60/415,447,2002年10月1日提交,题为“利用改变块大小减少内预测的像素相关性”;
这些申请的说明通过引用完全结合于本文中。
发明背景
技术领域
本发明涉及对传输或存储的视频数据进行压缩和对显示的视频数据进行解压的视频系统。更具体地说,本发明涉及对视频数据进行内编码的视频系统和方法。
背景技术
视频系统传输、处理和存储大量视频数据。为创建视频显示,如视频电影,渲染视频系统将视频数据显示为多个数字图像,也称为“帧”,由此模拟运动。为实现具有可接受的视频质量的视频显示,或使能够完全传输和存储,常规的视频系统在传输或存储之前修改视频数据。例如,视频系统对视频数据进行压缩和编码,以减少用于存储和传输的比特率。
在常规的视频系统中,使用视频编码器对视频数据进行压缩和编码,并使用视频解码器对视频数据进行解压和解码。视频编码器输出比特率降低和冗余减少的视频数据。也就是说,视频压缩技术可以去除视频帧内的空间冗余或连续视频帧之间的时间冗余。
视频编码器和视频解码器可以配置为应用两类编码之一压缩视频流,即内编码和间编码(intercoding)。这两类编码以视频帧的统计特性为基础。当使用内编码对视频帧进行编码时,压缩基于通过使用帧内的空间冗余而包含在单个帧(要压缩的帧)中的信息。因此,内编码与任何其它帧无关。相反,间编码使用至少一个其它帧作为参考,并对要压缩的帧和参考帧之间的差异进行编码。因此,间编码基于视频数据中连续帧之间的时间冗余。
视频压缩领域受国际标准的限制,如定义视频编码和解码统一要求的各种国际电信同盟(ITU)标准。通常,这些标准的发展基于来自行业的影响。此外,视频编码器和解码器的制造商也会根据国际标准修改或建立,并实现视频压缩的附加专有技术。
尽管存在着国际标准和专有技术,但是仍然有改进视频压缩技术的需要。例如,由于显示的视频电影的质量直接取决于所用的视频压缩技术,所以视频压缩技术的任何改进均可使视频电影的观众更为满意。
附图说明
通过阅读以下的详细说明并参考附图,本发明的这些和其它方面、优点和新颖特点将变得非常明显。
图1是具有编码端和解码端的视频应用系统的高级框图。
图2是一个帧及其在宏块和子块中分割的高级说明。
图3是一个说明方向的子块,根据该方向可以对子块进行编码,其中每个方向表示根据本发明的八种预测模式之一。
图4是根据本发明的一个选择预测模式的实施例的流程图。
图5显示三个相邻的子块,其中两个子块用于对第三个子块进行编码。
图6显示一个具有编码器和解码器的视频装置,根据一个实施例结合了本发明的编码/解码理论。
图7显示一个具有可记录媒体的制造产品,包含本发明的编码器/解码器的软件实现,设计用于根据一个实施例对装置进行编程以使其配备有本发明的编码/解码能力。
图8显示一个具有视频发送装置和视频接收装置的系统,根据一个实施例结合本发明的编码/解码理论。
图9a-9c显示根据三个备选实施例用于分别预测8×8、8×4和4×8子块的周围像素。
具体实施方式
在以下说明中,参照构成其部分的附图,附图中通过举例说明的方式给出一些可实施本发明的具体实施例。应当理解,可采用其它实施例并可在不脱离本发明的范围的情况下做出结构上的更改。如有可能,在所有附图中将使用相同的标号表示相同或相似的元件。阐明了大量具体的详细资料,以便透彻地理解本发明。但是,本领域的技术人员将十分清楚,本发明可以无需这些具体详细资料或使用某些与此处说明同等的备选装置和方法实现。在其它情况下,对众所周知的方法、过程、元件和装置不作详细说明,以免不必要地混淆本发明的各个方面。
各种操作将以一种有助于理解本发明的方式依次被描述为多个分立步骤,但是,描述的顺序不应被理解为意味着这些操作一定是顺序相关的。具体地说,这些操作不需要按介绍的顺序执行。
短语“在一个实施例中”被反复使用。但是,该短语一般不表示同一个实施例,但它也可能表示同一个实施例。术语“包含”、“具有”和“包括”是同义词,除非在上下文中另有说明。
图1是视频压缩和解压系统1(以下称作“视频系统1”)的高级框图,具有编码设备3以及通过介质9连接到编码设备3的解码设备5。编码设备3包含视频编码器2、模式选择器14和缓冲器8。解码设备5包含缓冲器10、视频解码器12和模式选择器16。编码设备3接收视频序列20(视频输入),并对视频序列20进行编码以许多可能格式之一产生编码并由此压缩的显示。格式可以是适合于编码显示的“现场”流的隔行扫描格式。格式也可以是单个文件格式,其中每个编码显示存储在一个文件内的毗连块中。
输入到编码设备3的视频序列20可以是现场信号,例如由摄像机提供的,或以预定格式预先录制的序列。视频序列20包括数字视频的帧、由数字音频组成的音频片断、视频、图形、文本和/或音频(多媒体应用程序)的组合,或上述的模拟形式。如有必要,可以转换各种类型的输入信号,如模拟视频或先前压缩和编码的视频,以产生到编码设备3的适当输入。在一个实施例中,编码设备3可以接收RGB或YUV格式的视频。但是,只要提供适当的转换机制,编码设备3可以适合接收任何输入格式。用于将一种格式的信号转换为另一种格式的信号的转换机制在本领域是众所周知的。
介质9可以是存储装置或传输介质。在一个实施例中,视频系统1可以在计算机上实现。编码设备3将编码的视频流(显示)发送到实现为存储装置的介质9。存储装置可以是视频服务器、硬盘驱动器、CD刻录机、读/写DVD驱动或任何其它能存储并允许检索编码的视频数据的装置。存储装置连接到可以选择性地从存储装置读取并对编码的视频序列解码的解码设备5。在解码设备5对选定的一个编码视频序列进行解码时,它会生成视频序列20的再现,例如用于在计算机监视器或屏幕上显示。
在另一个实施例中,介质9提供到另一台计算机的连接,该计算机可以是接收编码视频序列的远程计算机。介质9可以是网络连接,如LAN、WAN、因特网等等。远程计算机内的解码设备5对其中包含的编码显示进行解码,并可以在远程计算机屏幕或监视器上生成视频序列20的再现。
可以结合和补充图1所示和上述的视频系统1的方面,以实现其它实施例。有许多其它实现符合本发明的范围。此类其它实现无需限制于视频,而可以包括音频或其它媒体形式。
先有的视频编码技术通常将一帧(画面)分解成称为宏块的较小像素块。每个宏块可以由一个像素矩阵组成,通常是16×16的矩阵,定义进行编码的信息单元。因此,像素矩阵被称为16×16的宏块。这些视频编码技术通常将每个16×16宏块进一步分解为更小的像素矩阵,例如8×8像素矩阵或4×4像素矩阵。以下将此类矩阵称为子块。
在本发明的一个实施例中,一个16×16宏块被分为16个4×4子块。在另一个实施例中,一个16×16宏块被分为8×8子块、8×4子块或4×8子块。本领域的技术人员将理解到,本发明同样适用于或轻易适合于使用其它子块或仅使用16×16宏块而无需将其分解为子块的系统。
此外,先有的编码技术利用运动矢量提供运动补偿和运动估计。动作矢量描述通过x分量和y分量表示的方向以及16×16宏块或其各自子块的运动量,并作为比特流的一部分发送到解码器。如本领域已知,运动矢量用于双向编码的画面(B画面)和预测的画面(P画面)。
视频编码器2进行离散余弦变换(DCT)对视频序列20进行编码和压缩。简言之,视频编码器2将视频序列20从空间、时间域转换为频域。视频编码器2的输出是被称为“DCT系数”的一组信号幅度。量化器接收DCT系数,并在编码期间为每个DCT系数值范围(或步长)分配一个值,如小的整数。量化允许更紧密地表示数据,但是导致了某些数据的丢失。在较精密标度上的量化导致较不紧密的表示(较高比特率),但丢失的数据也较少。在较粗略标度上的量化导致较紧密的表示(较低比特率),但丢失的数据也较多。模式选择器14与视频编码器2通信,并监视和控制视频序列20的编码。模式选择器14依照本发明确定预测模式,根据该预测模式视频编码器2对视频序列20进行编码。模式选择器14可以是处理器或一个或多个配置为依照本发明的方法操作的软件模块。为便于说明,图1将模式选择器14显示为与视频编码器2分离的组件。本领域的技术人员将理解到,模式选择器14的功能性可以和视频编码器2的功能性相结合。
编码设备3的缓冲器8从视频编码器2接收编码和压缩的视频序列(以下称作“编码的视频序列”),并在将编码的视频序列发送到介质9之前调整其比特率。可能需要缓冲,因为各个视频图像可能包含不同数量的信息,导致从图像到图像的编码效率有所不同。由于缓冲器8的大小有限,所以可以使用到量化器的反馈环路以避免缓冲器8的溢出或下溢。表示的比特率是为了提供实时表示所必需处理的表示数据的比率。
解码设备5执行编码设备3的相反功能。缓冲器10还用于调整输入的编码视频序列的比特率。视频解码器12结合模式选择器16对输入的视频序列进行解码和解压,重建视频序列。模式选择器16确定预测模式,根据该预测模式视频编码器2对输入的视频序列进行编码。解码设备5输出解码和解压的视频序列24,表示为“视频输出”(以下称作“解码的视频序列24”)。
视频解码器12从缓冲器10接收表示编码的视频序列的比特流(图1)。在一个实施例中,视频解码器是包含解码器控制器、VLC解码器(可变长编码,VLC)和重建模块的常规视频解码器,如MEPG-x解码器。本领域的技术人员了解这些元件的操作和功能。本领域的技术人员了解这些元件,并且这些元件在通常可得到的MPEG文档和出版物中描述了。
图2是说明视频序列20的一部分视频帧30的图表。如上所述,已知的视频编码技术通常将视频帧30分解为宏块36、36a、36b、36c、36d。例如,视频帧30被分为16×16宏块36、36a、36b、36c、36d的矩阵。视频系统1从上到下从左到右对宏块36、36a、36b、36c、36d逐行进行编码,如通过虚线34所示,说明了例如内编码的次序。在所示的实施例中,虚线34在宏块36a即下一个要编码的宏块处结束。所有之前的宏块36、36b、36c、36d均已编码。
宏块36a,作为所有宏块36、36a、36b、36c、36d的代表,在视频帧30下面更详细地示出了。视频系统1的视频编码技术将每个宏块36、36a、36b、36c、36d进一步分解为像素矩阵38,以下称作子块38。
在一个实施例中,子块38是一个4×4的像素矩阵,其中16个像素标记为a、b、c、...、p(以“行先”的方式)。位于宏块36a的子块38正上方的邻近宏块36b的相邻子块的边界像素,被标记为A、B、C、D。此外,位于子块38右上方的宏块36b的子块的边界像素,被标记为E、F、G、H。同样,位于宏块36a的子块38正左侧的邻近宏块36c的相邻子块的边界像素,被标记为I、J、K、L。位于子块38左下方的宏块36c的子块的边界像素,被标记为M、N、O、P。位于宏块36a的子块38左上方的宏块36d的子块的边界像素,被标记为Q。
本发明的视频系统1将每个宏块36编码为内宏块。内宏块在没有运动补偿预测的情况下被转换编码。因此,内宏块不涉及之前或之后帧的解码数据。I帧是指完全由内宏块组成的帧。因此,I帧在不涉及之前或之后帧的情况下编码。I帧也称为“帧内”。
图3是说明可能方向的子块38,根据该可能方向可以对子块38进行编码。根据本发明,可以对宏块36、36a、36b、36c、36d的子块以下面列出的九种模式(模式0、模式1、...、模式9)之一进行内编码。也就是说,特定子块38可以从当前解码的当前子块上方的子块预测(“垂直预测”)、从当前子块的左侧子块预测(“水平预测”)或同时从左侧和上方子块预测(“对角线预测”)。模式1-8按预定的方向预测子块,并且模式0使用统一的平均,不按预定的方向预测。在图3中,每个方向表示根据本发明的八种预测模式之一。
模式0:
在此模式中,每个像素a-p通过下面的公式预测:
预期在此模式及以下模式中,“除法”表示将结果向“负无穷大”(-∞)舍入。例如,在模式0中,“+4”确保除法产生最接近整数的舍入。这也适用于其它模式。
如果像素a-p的四个在当前编码的当前画面(帧)之外,则使用其余四个像素的平均进行预测。如果所有八个像素均在画面之外,则这个子块中所有像素的预测是128。因此在模式0中总是可以对子块进行预测。
模式1:
如果像素A、B、C、D在当前画面之内,则以垂直方向预测像素a-p,如图3所示。也就是说,按以下方式预测像素a-p:
a,e,i,m | = | A |
b,f,j,n | = | B |
c,g,k,o | = | C |
d,h,l,p | = | D |
模式2:
如果像素I、J、K、L在当前画面之内,则以水平方向预测像素a-p。也就是说,按以下方式预测像素a-p:
a,b,c,d | = | I |
e,f,g,h | = | J |
i,j,k,l | = | K |
m,n,o,p | = | L |
模式3:
如果所有像素a-p均在当前画面之内,则使用此模式。此模式对应于以对角线方向预测,如图3所示。按以下方式预测像素a-p:
m | = | (J+2K+L+2)/4 |
i,n | = | (I+2J+K+2)/4 |
e,j,o | = | (Q+2I+J+2)/4 |
a,f,k,p | = | (I+2Q+A+2)/4 |
b,g,l | = | (Q+2A+B+2)/4 |
c,h | = | (A+2B+C+2)/4 |
d | = | (B+2C+D+2)/4 |
模式4:
如果所有像素a-p均在当前画面之内,则使用此模式。这也是对角线预测。
a | = | (A+2B+C+I+2J+K+4)/8 |
b,e | = | (B+2C+D+J+2K+L+4)/8 |
c,f,i | = | (C+2D+E+K+2L+M+4)/8 |
d,g,j,m | = | (D+2E+F+L+2M+N+4)/8 |
h,k,n | = | (E+2F+G+M+2N+O+4)/8 |
l,o | = | (F+2G+H+N+2O+P+4)/8 |
p | = | (G+H+O+P+2)/4 |
模式5:
如果所有像素a-p均在当前画面之内,则使用此模式。这也是对角线预测。
a,j | = | (Q+A+1)/2 |
b,k | = | (A+B+1)/2 |
c,l | = | (B+C+1)/2 |
d | = | (C+D+1)/2 |
e,n | = | (I+2Q+A+2)/4 |
f,o | = | (Q+2A+B+2)/4 |
g,p | = | (A+2B+C+2)/4 |
h | = | (B+2C+D+2)/4 |
i | = | (Q+2I+J+2)/4 |
m | = | (I+2J+K+2)/4 |
模式6:
如果所有像素a-p均在当前画面之内,则使用此模式。这是对角线预测。
a | = | (2A+2B+J+2K+L+4)/8 |
b,i | = | (B+C+1)/2 |
c,j | = | (C+D+1)/2 |
d,k | = | (D+E+1)/2 |
l | = | (E+F+1)/2 |
e | = | (A+2B+C+K+2L+M+4)/8 |
f,m | = | (B+2C+D+2)/4 |
g,n | = | (C+2D+E+2)/4 |
h,o | = | (D+2E+F+2)/4 |
p | = | (E+2F+G+2)/4 |
模式7:
如果所有像素a-p均在当前画面之内,则使用此模式。这是对角线预测。
a | (B+2C+D+2I+2J+4)/8 | |
b | = | (C+2D+E+I+2J+K+4)/8 |
c,e | = | (D+2E+F+2J+2K+4)/8 |
d,f | = | (E+2F+G+J+2K+L+4)/8 |
g,i | = | (F+2G+H+2K+2L+4)/8 |
h,j | = | (G+3H+K+2L+M+4)/8 |
k,m | = | (G+H+L+M+2)/4 |
l,n | = | (L+2M+N+2)/4 |
o | = | (M+N+1)/2 |
p | = | (M+2N+O+2)/2 |
模式8:
如果所有像素a-p均在当前画面之内,则使用此模式。这是对角线预测。
a,g | = | (Q+I+1)/2 |
b,h | = | (I+2Q+A+2)/4 |
c | = | (Q+2A+B+2)/4 |
d | = | (A+2B+C+2)/4 |
e,k | = | (I+J+1)/2 |
f,l | = | (Q+2I+J+2)/4 |
i,o | = | (J+K+1)/2 |
j,p | = | (I+2J+K+2)/4 |
m | = | (K+L+1)/2 |
n | = | (J+2K+L+2)/2 |
在本发明的一个实施例中,模式选择算法确定选择九种模式之一的标准。然后按照所选的模式对子块38进行编码。下面详细说明模式选择算法。
图4是一个说明根据本发明的方法的过程流程图,其对包含视频帧流的视频数据进行编码,并选择一种预测模式(模式0-8)。在一个实施例中,该方法对视频帧的亮度部分(Y)进行编码。
在步骤28中,例如当用户启动视频系统1时,该过程初始化视频系统1。初始化过程包括例如确定编码设备3是否运行以及是否正确连接以接收视频帧流。
在步骤30中,该过程接收视频帧流,并将每个视频帧分为多个子块的矩阵,其中每个子块包含多个像素。如上所述,多个子块的矩阵可以包括宏块的一部分的4×4子块38。
在步骤32中,该过程定义九种预测模式(模式0-8),其中每种预测模式确定对目前的子块进行编码的模式。例如,该过程可以执行子程序以计算并定义模式(模式0-8)。
在步骤34中,该过程选择九种预测模式(模式0-8)之一以对目前的子块38进行编码。在一个实施例中,该过程为每种模式计算误差值,确定提供最小误差值的模式并选择该模式对目前的子块38进行编码。
一旦该过程选择了“最好的”预测模式对目前的子块38的像素进行编码,该过程就对最小误差值进行编码,并将压缩的比特流内的编码的最小误差值发送到解码器。最小误差值表示目前子块的预测像素与子块的原始像素之间的差异。差异可以使用如本领域已知的DCT、系数量化和可变长编码进行编码。解码器使用预测的像素和与原始像素的差异来准确地重建视频帧。该过程在步骤36结束。
该过程提供了依照九种预测模式(模式0-8)之一对每个4×4子块38进行编码。由于如果直接编码这可能需要相当数量的比特,所以根据本发明的视频系统1可以应用更有效的方式对模式信息进行编码。子块的预测模式与相邻子块的预测模式相关。
图5通过三个示范子块A、B、C说明这一点。子块C是要在预测模式已知的子块A、B的帮助下进行编码(预测)的子块。子块A位于子块C上方,而子块B位于子块C左侧。在这种情况下,给出了子块C的最可能、次最可能等的预测模式的排序。下面列出了这种排序表的一个示例。该表分为十个分组(分组1-分组10)。在每个分组中,子块A的各自预测模式是恒定的(如在分组2中子块A的模式0是恒定的),而子块B的预测模式改变。也就是说,一个分组内子块A的(恒定的)预测模式可以与该分组内子块B的九种预测模式之一相结合。
对于子块A和B的每个预测模式组合,给出了一个九个数字的序列,一个数字对应于九种模式0-9中的一种。例如在分组3中,如果子块A和子块B的预测模式都是模式1,则字符串“1 6 2 5 3 0 4 8 7”指示模式1即字符串中的第一数字是子块C的最可能的模式。模式6即字符串中的第二数字是下一个最可能的模式。在示范字符串中,模式7是最不可能的,因为数字7是字符串中的最后一个数字。该字符串将是表示编码的视频序列的比特流的一部分。
因此,比特流包含表示子块C所用的模式的信息(Prob0=1)(见表1)。例如,该信息可能指出下一个最可能的内预测模式是模式6。注意,表中的“-”表示这种情况不会出现。表1中使用的术语“外部”指“帧外”。如果子块A或B在帧内,但不是内编码(如在P帧中,子块C可能是内编码,但子块A或子块B可以不是内编码),则没有预测模式。本发明过程假定对此类子块使用模式0。
B | A外部 | |
外部 | 0-------- | |
模式 | 0 2------- |
模式1 | --------- | |
模式2 | 2 0------- | |
模式3 | --------- | 分组1 |
模式4 | --------- | |
模式5 | --------- | |
模式6 | --------- | |
模式7 | --------- | |
模式8 | --------- | |
B | A:模式0 | |
外部 | 0 1------- | |
模式0 | 0 2 1 6 4 8 5 7 3 | |
模式1 | 1 0 2 6 5 4 3 8 7 | |
模式2 | 2 8 0 1 7 4 3 6 5 | |
模式3 | 2 0 1 3 8 5 4 7 6 | 分组2 |
模式4 | 2 0 1 4 6 7 8 3 5 | |
模式5 | 0 1 5 2 6 3 8 4 7 | |
模式6 | 0 1 6 2 4 7 5 8 3 | |
模式7 | 2 7 0 1 4 8 6 3 5 | |
模式8 | 2 8 0 1 7 3 4 5 6 |
B | A模式1 | |
外部 | 1 0------- | |
模式0 | 1 2 5 6 3 0 4 8 7 | |
模式1 | 1 6 2 5 3 0 4 8 7 |
模式2 | 2 1 7 6 8 3 5 0 4 | |
模式3 | 1 2 5 3 6 8 4 7 0 | 分组3 |
模式4 | 1 6 2 0 4 5 8 7 3 | |
模式5 | 1 5 2 6 3 8 4 0 7 | |
模式6 | 1 6 0 2 4 5 7 3 8 | |
模式7 | 2 1 7 6 0 8 5 4 3 | |
模式8 | 1 2 7 8 3 4 5 6 0 | |
B | A=模式2 | |
外部 | --------- | |
模式0 | 0 2 1 8 7 6 5 4 3 | |
模式1 | 1 2 0 6 5 7 4 8 3 | |
模式2 | 2 8 7 1 0 6 4 3 5 | |
模式3 | 2 0 8 1 3 7 5 4 6 | 分组4 |
模式4 | 2 0 4 1 7 8 6 3 5 | |
模式5 | 2 0 1 5 8 4 6 7 3 | |
模式6 | 2 0 6 1 4 7 8 5 3 | |
模式7 | 2 7 8 1 0 5 4 6 3 | |
模式8 | 2 8 7 1 0 4 3 6 5 |
B | A模式3 | |
外部 | --------- | |
模式0 | 0 2 1 3 5 8 6 4 7 | |
模式1 | 1 0 2 5 3 6 4 8 7 | |
模式2 | 2 8 1 0 3 5 7 6 4 |
模式3 | 3 2 5 8 1 4 6 7 0 | 分组5 |
模式4 | 4 2 0 6 1 5 8 3 7 | |
模式5 | 5 3 1 2 8 6 4 0 7 | |
模式6 | 1 6 0 2 4 5 8 3 7 | |
模式7 | 2 7 0 1 5 4 8 6 3 |
模式8 | 2 8 3 5 1 0 7 6 4 | |
B | A模式4 | |
外部 | --------- | |
模式0 | 2 0 6 1 4 7 5 8 3 | |
模式1 | 1 6 2 0 4 5 3 7 8 | |
模式2 | 2 8 7 6 4 0 1 5 3 | |
模式3 | 4 2 1 0 6 8 3 5 7 | 分组6 |
模式4 | 4 2 6 0 1 5 7 8 3 | |
模式5 | 1 2 5 0 6 3 4 7 8 | |
模式6 | 6 4 0 1 2 7 5 3 8 | |
模式7 | 2 7 4 6 0 1 8 5 3 | |
模式8 | 2 8 7 4 6 1 3 5 0 |
B | A模式5 | |
外部 | --------- | |
模式0 | 512368047 | |
模式1 | 1 5 6 3 2 0 4 8 7 | |
模式2 | 2 1 5 3 6 8 7 4 0 |
模式3 | 5 3 1 2 6 8 4 7 0 | 分组7 |
模式4 | 1 6 2 4 5 8 0 3 7 | |
模式5 | 5 1 3 6 2 0 8 4 7 | |
模式6 | 1 6 5 2 0 4 3 7 8 | |
模式7 | 2 7 1 6 5 0 8 3 4 | |
模式8 | 2 5 1 3 6 8 4 0 7 |
B | A=模式6 | |
外部 | --------- | |
模式0 | 1 6 2 0 5 4 3 7 8 | |
模式1 | 1 6 5 4 2 3 0 7 8 | |
模式2 | 2 1 6 7 4 8 5 3 0 | |
模式3 | 2 1 6 5 8 4 3 0 7 | 分组8 |
模式4 | 6 4 1 2 0 5 7 8 3 | |
模式5 | 1 6 5 2 3 0 4 8 7 | |
模式6 | 6 1 4 0 2 7 5 3 8 | |
模式7 | 2 7 4 6 1 5 0 8 3 | |
模式8 | 2 1 6 8 4 7 3 5 0 |
B | A模式7 | |
外部 | --------- | |
模式0 | 2 0 4 7 6 1 8 5 3 | |
模式1 | 6 1 2 0 4 7 5 8 3 | |
模式2 | 2 7 8 0 1 6 4 3 5 |
模式3 | 2 4 0 8 3 1 7 6 5 | 分组9 |
模式4 | 4 2 7 0 6 1 8 5 3 | |
模式5 | 2 1 0 8 5 6 7 4 3 | |
模式6 | 2 6 4 1 7 0 5 8 3 | |
模式7 | 2 7 4 0 8 6 1 5 3 | |
模式8 | 2 8 7 4 1 0 3 6 5 |
B | A=模式8 | |
外部 | --------- | |
模式0 | 2 0 8 1 3 4 6 5 7 | |
模式1 | 1 2 0 6 8 5 7 3 4 | |
模式2 | 2 8 7 1 0 3 6 5 4 | |
模式3 | 8 3 2 5 1 0 4 7 6 | 分组10 |
模式4 | 2 0 4 8 5 1 7 6 3 | |
模式5 | 2 1 0 8 5 3 6 4 7 | |
模式6 | 2 1 6 0 8 4 5 7 3 | |
模式7 | 2 7 8 4 0 6 1 5 3 |
模式8 | 2 8 3 0 7 4 1 6 5 |
表1.
关于预测模式的信息可通过将两个子块38的预测模式信息结合在一个码字中,进行有效地编码。然后,比特流包含结果码字,其中每个码字表示两个子块的预测模式。表2列出了0和80之间的编码号(Code No.)的示范二进制码字。第一子块的模式的可能性表示为Prob0,而第二子块的模式的可能性表示为Prob1。
编码号 | Prob0 | Prob1 | 码字 |
0 | 0 | 0 | 1 |
1 | 0 | 1 | 001 |
2 | 1 | 0 | 011 |
3 | 1 | 1 | 00001 |
4 | 0 | 2 | 00011 |
5 | 2 | 0 | 01001 |
6 | 0 | 3 | 01011 |
7 | 3 | 0 | 0000001 |
8 | 1 | 2 | 0000011 |
9 | 2 | 1 | 0001001 |
10 | 0 | 4 | 0001011 |
11 | 4 | 0 | 0100001 |
12 | 3 | 1 | 0100011 |
13 | 1 | 3 | 0101001 |
14 | 0 | 5 | 0101011 |
15 | 5 | 0 | 000000001 |
16 | 2 | 2 | 000000011 |
17 | 1 | 4 | 000001001 |
18 | 4 | 1 | 000001011 |
编码号 | Prob0 | Prob1 | 码字 |
19 | 0 | 6 | 000100001 |
20 | 3 | 2 | 000100011 |
21 | 1 | 5 | 000101001 |
22 | 2 | 3 | 000101011 |
23 | 5 | 1 | 010000001 |
24 | 6 | 0 | 010000011 |
25 | 0 | 7 | 010001001 |
26 | 4 | 2 | 010001011 |
27 | 2 | 4 | 010100001 |
28 | 3 | 3 | 010100011 |
29 | 6 | 1 | 010101001 |
30 | 1 | 6 | 010101011 |
31 | 7 | 0 | 00000000001 |
32 | 0 | 8 | 00000000011 |
33 | 5 | 2 | 00000001001 |
34 | 4 | 3 | 00000001011 |
35 | 2 | 5 | 00000100001 |
36 | 3 | 4 | 00000100011 |
37 | 1 | 7 | 00000101001 |
38 | 4 | 4 | 00000101011 |
39 | 7 | 1 | 00010000001 |
40 | 8 | 0 | 00010000011 |
41 | 6 | 2 | 00010001001 |
42 | 3 | 5 | 00010001011 |
43 | 5 | 3 | 00010100001 |
44 | 2 | 6 | 00010100011 |
45 | 1 | 8 | 00010101001 |
46 | 2 | 7 | 00010101011 |
47 | 7 | 2 | 01000000001 |
编码号 | Prob0 | Prob1 | 码字 |
48 | 8 | 1 | 01000000011 |
49 | 5 | 4 | 01000001001 |
50 | 4 | 5 | 01000001011 |
51 | 3 | 6 | 01000100001 |
52 | 6 | 3 | 01000100011 |
53 | 8 | 2 | 01000101001 |
54 | 4 | 6 | 01000101011 |
55 | 5 | 5 | 01010000001 |
56 | 6 | 4 | 01010000011 |
57 | 2 | 8 | 01010001001 |
58 | 7 | 3 | 01010001011 |
59 | 3 | 7 | 01010100001 |
60 | 6 | 5 | 01010100011 |
61 | 5 | 6 | 01010101001 |
62 | 7 | 4 | 01010101011 |
63 | 4 | 7 | 0000000000001 |
64 | 8 | 3 | 0000000000011 |
65 | 3 | 8 | 0000000001001 |
66 | 7 | 5 | 0000000001011 |
67 | 8 | 4 | 0000000100001 |
68 | 5 | 7 | 0000000100011 |
69 | 4 | 8 | 0000000101001 |
70 | 6 | 6 | 0000000101011 |
71 | 7 | 6 | 0000010000001 |
72 | 5 | 8 | 0000010000011 |
73 | 8 | 5 | 0000010001001 |
74 | 6 | 7 | 0000010001011 |
75 | 8 | 6 | 0000010100001 |
76 | 7 | 7 | 0000010100011 |
编码号 | Prob0 | Prob1 | 码字 |
77 | 6 | 8 | 0000010101001 |
78 | 8 | 7 | 0000010101011 |
79 | 7 | 8 | 0001000000001 |
80 | 8 | 8 | 0001000000011 |
表2
在九种预测模式(表1)和模式可能性(表1、表2)中,模式选择算法确定预测特定子块所根据的模式。在本发明的一个实施例中,该算法使用像素a-p和原始帧中的相应像素之间的绝对差之和(SAD)和上述模式可能性,来选择模式。SAD和可能性表用于为特定子块38选择模式。该算法对九种可能模式(模式0-8)的每一种计算参数uError。提供最小uError的模式即为子块38选择的模式。
按照如下方式计算uError:
uError=SAD({a,...,p},{原始帧})+rd_quant[uMBQP]*uProb,
其中SAD({a,...,p},{原始帧})是像素a-p和原始帧中的相应像素之间的绝对差之和,
其中rd_quant[uMBQP]是由量化参数uMBQP索引的恒值表。uMBQP由下式给出
const U8 rd_quarzt[32]=
{1,1,1,1,1,1,2,2,2,2,3,3,3,4,4,5,5,6,7,7,8,9,11,12,13,15,17,19,21,24,27,30};以及
其中uProb是模式出现的可能性,由在模式可能性表(表1)中的位置而定。
例如,子块A的预测模式是模式1,且子块B的预测模式是模式1。字符串“1 6 2 5 3 0 4 8 7”表示模式1也是子块C的最可能模式。模式6是第二最可能的模式等等。这样,在该算法计算模式0的uError时,可能性uProb为5。此外,对于模式1,可能性uProb为0,对于模式2,可能性uProb为2,对于模式3,可能性uProb为4,以此类推。
除对视频帧的亮度部分(Y)进行编码之外,本发明的视频系统1还可以预测视频帧的色度部分(U、V)。色度部分可以视为色度平面(U面和V面)。通常,色度平面(U面和V面)是亮度平面的四分之一大小。因此,在16×16宏块中,相应的8×8像素块同时存在于U面和V面中。这些8×8的块被分成4×4的块。一般来讲,对色度块不传送单独的预测模式。而是将为Y面块传送的模式用作为U面和V面块的预测模式。
图6示出了根据一个实施例结合本发明的理论的视频装置。如图所示,视频装置600包含编码器610和解码器620,分别连接到装置的输入和输出。如之前所述,编码器610设计用于接收视频帧数据,将各自的帧数据分为宏块和子块,并如上所述对子块进行选择性地内编码。解码器620设计用于接收内编码的子块,并还原视频帧数据,如上所述。
编码器610和解码器620与如上所述的编码设备1和解码设备5的构成相似。在各种实施例中,编码器610和解码器620可以共享至少部分其构成表和编码/解码逻辑(如编码器610和解码器620的交叉块所示的)。
在各种实施例中,视频装置600可以是无线移动电话、手掌大小的计算装置如个人数字助理、膝上型计算装置、台式计算装置、服务器以及其它类似的计算装置。在其它实施例中,视频装置600可以是电路板元件,如视频“附加”电路板(也称为子电路板)、母板以及其它类似的电路板。
在另一些其它实施例中,而不是同时具有编码器610和解码器620,视频装置600可以只包含编码器610,如在视频摄像机的情况下,或只包含解码器620,如在DVD播放机、电视机、显示监视器或机顶盒的情况下。
图7显示了包含可记录媒体700的制造产品,该可记录媒体700具有实现上述编码设备1和/或解码设备5的软件实施例的编程指令。编程指令设计用于对视频装置710进行编程,以使视频装置710配备有本发明的编码和解码能力。
对于该实施例,视频装置710包含存储媒体712以存储至少部分实现编码设备1和/或解码设备5的软件实施例的工作备份,以及至少一个连接到存储媒体712的处理器714以执行编程指令。
视频装置712可以是任何一个之前列举的示范装置或其它类似的视频装置。产品710可以是例如磁盘、光盘(CD)、DVD或其它类似的计算机可读媒体。在其它实施例中,产品710可以是分发服务器,通过专用和/或公共网络如因特网在线分发编码设备1和/或解码设备5。在一个实施例中,产品710是网页服务器。
图8显示具有相互通信连接的视频发送器802和视频接收器804的示范系统,视频发送器802依照本发明的理论对视频进行编码,并将编码的视频提供给视频接收器802,而视频接收器802又对编码的视频进行解码以再现视频。视频发送器802和视频接收器804分别配备有上述编码设备1和解码设备5。
视频发送器802的一个实例是视频服务器,而视频接收器的实例是连接到视频发送器802的客户装置。
在各种备选实施例中,模式4和6的编码被简化,在预测要编码的子块的像素值中只使用要编码的子块上方的相邻子块的像素。更确切地说,在模式4和6下,要编码的子块的像素值按以下方式预测:
简化的模式4
a =(A+2*B+C+2)/4;
b,e =(B+2*C+D+2)/4;
c,f,i =(C+2*D+E+2)/4;
d,g,j,m=(D+2*E+F+2)/4;
h,k,n =(E+2*F+G+2)/4;
l,o =(F+2*G+H+2)/4;
p =(G+3*H+2)/4;
简化的模式6
a =(A+B+1)/2;
b,i =(B+C+1)/2;
c,j =(C+D+1)/2;
d,k =(D+E+1)/2;
l =(E+F+1)/2;
e =(A+2*B+C+2)/4;
f,m =(B+2*C+D+2)/4;
g,n =(C+2*D+E+2)/4;
h,o =(D+2*E+F+2)/4;
p =(E+2*F+G+2)/4;
此外,模式7的编码被简化,在预测要编码的子块的像素值中只使用要编码的子块左侧的相邻子块的像素。更确切地说,要编码的子块的像素值按以下方式预测:
简化的模式7
a =(I+J+1)/2;
b =(I+2*J+K+2)/4;
c,e =(J+K+1)/2;
d,f =(J+2*K+L+2)/4;
g,i =(K+L+1)/2;
h,j =(K+2*L+L+2)/4;
l,n,k,
m,o,p =L;
在另一些其它实施例中,宏块可以分为M×N子块,其中M×N可以是8×8、8×4或4×8代替。为了便于这部分的说明,如图9a-9c所示,M×N子块的像素将被称为pij,其中下标i表示子块的行位置,并且在8×8和8×4子块的情况下可以假定为1到8的值,或在4×8子块的情况下假定为1到4的值,而下标j表示子块的列位置,并且同样在8×8和4×8子块的情况下可以假定为1到8的值,或在8×4子块的情况下假定为1到4的值。
如图所示,要编码的子块上方的相邻子块的预测器像素被称为t0到t15,而要编码的子块左侧的相邻子块的预测器像素被称为l0到l15。
对于模式0-2,M×N子块的像素值,无论M×N是8×8、8×4还是4×8,均按以下方式预测:
模式0
如t0-tN和l0-lM可用,
pij=(t0+...+tN+l0+...+lM+N/2+M/2)/(M+N);
否则,如只有t0-tN可用,
pij=(t0+...+tN+N/2)/N;
否则,如只有l0-lM可用,
pij=(l0+...+lM+M/2)/M;
否则
pij=128;
i=0-(N-1),j=0-(M-1)。
模式1
如t0-tN可用
pij=tj;
i=0-(N-1),j=0-(M-1)。
模式2
如l0-lN可用
pij=li;
i=0-(N-1),j=0-(M-1)。
对于模式3-8,M×N子块的像素值按以下方式预测:
模式3
如所有t0-tN和l0-lM均可用于预测
4x8子块 | 8x4子块 | 8x8子块 | 预测 |
- | p07 | p07 | (t5+t6<<1+t7+2)>>2 |
- | p06,p17 | p06,p17 | (t4+t5<<1+t6+2)>>2 |
- | p05,p16,p27 | p05,p16,p27 | (t3+t4<<1+t5+2)>>2 |
- | p04,p15,p26,p37 | p04,p15,p26,p37 | (t2+t3<<1+t4+2)>>2 |
p03 | p03,p14,p25,p36 | p03,p14,p25,p36,p47 | (t1+t2<<1+t3+2)>>2 |
p02,p13 | p02,p13,p24,p35 | p02,p13,p24,p35,p46,p57 | (t0+t1<<1+t2+2)>>2 |
p01,p12,p23 | p01,p12,p23,p34 | p01,p12,p23,p34,,p45,p56,p67 | (q+t0<<1+t1+2)>>2 |
p00,p11,p22,p33 | p00,p11,p22,p33 | p00,p11,p22,p33,p44,p55,p66,p77 | (10+q<<1+t0+2)>>2 |
p10,p21,p32,p43 | p10,p21,p32 | p10,p21,p32,,p43,p54,p65,p76 | (11+10<<1+q+2)>>2 |
p20,p31,p42,p53 | p20,p31 | p20,p31,p42,p53,p64,p75 | (12+11<<1+10+2)>>2 |
p30,p41,p52,p63 | p30 | p30,p41,p52,p63,p74 | (13+12<<1+11+2)>>2 |
p40,p51,p62,p73 | - | p40,p51,p62,p73 | (14+13<<1+12+2)>>2 |
p50,p61,p72 | - | p50,p61,p72 | (15+14<<1+13+2)>>2 |
p60,p71 | - | p60,p71 | (16+15<<1+14+2)>>2 |
p70 | - | p70 | (17+16<<1+15+2)>>2 |
模式4
如所有t0-tN和l0-lM均可用于预测
4x8子块 | 8x4子块 | 8x8子块 | 预测 |
p00 | p00 | p00 | (t2+t1<<1+t0+2)>>2 |
p01,p10 | p01,p10 | p01,p10 | (t3+t2<<1+t1+2)>>2 |
p02,p11,p20 | p02,p11,p20 | p02,p11,p20 | (t4+t3<<1+t2+2)>>2 |
p03,p12,p21,p30 | p03,p12,p21,p30 | p03,p12,p21,p30 | (t5+t4<<1+t3+2)>>2 |
p13,p22,p31,p40 | p04,p13,p22,p31 | p04,p13,p22,p31,p40 | (t6+t5<<1+t4+2)>>2 |
p23,p32,p41,p50 | p05,p14,p23,p32 | p05,p14,p23,p32,p41,p50 | (t7+t6<<1+t5+2)>>2 |
p33,p42,p51,p60 | p06,p15,p24,p33 | p06,p15,p24,p33,p42,p51,p60 | (t8+t7<<1+t6+2)>>2 |
p43,p52,p61,p70 | p07,p16,p25,p34 | p07,p16,p25,p34,p43,p52p61,p70 | (t9+t8<<1+t7+2)>>2 |
p53,p62,p71 | p17,p26,p35 | p17,p26,p35,,p44,p53,p62,p71 | (t20+t9<<1+t8+2)>>2 |
p63,p72 | p27,p36 | p27,p36,p45,p54,p63,p72 | (t11+t10<<1+t9+2)>>2 |
p73 | p37 | p37,p46,p55,p64,p73 | (t12+t11<<1+t10+2)>>2 |
- | - | p47,p56,p55,p74 | (t13+t12<<1+t11+2)>>2 |
- | - | p57,p66,p75 | (t14+t13<<1+t12+2)>>2 |
- | - | p67,p76 | (t15+t14<<1+t13+2)>>2 |
- | - | p77 | (t15+t15<<1+t14+2)>>2 |
模式5
如所有t0-tN和l0-lM均可用于预测,则
4x8子块 | 8x4子块 | 8x8子块 | 预测 |
- | p07 | p07 | (t6+t7+1)>>1 |
- | p17 | p17 | (t5+t6<<1+t7+2)>>2 |
- | p06,p27 | p06,p27 | (t5+t6+1)>>1 |
- | p16,p37 | p16,p37 | (t4+t5<<1+t6+2)>>2 |
- | p05,p26 | p05,p26,p47 | (t4+t5+1)>>1 |
- | p15,p36 | p15,p36,p57 | (t3+t4<<1+t5+2)>>2 |
- | p04,p25 | p04,p25,p46,p67 | (t3+t4+1)>>1 |
- | p14,p35 | p14,p35,p56,p77 | (t2+t3<<1+t4+2)>>2 |
p03 | p03,p24 | p03,p24,p45,p66 | (t2+t3+1)>>1 |
p13 | p13,p34 | p13,p34,p55,p76 | (t1+t2<<1+t3+2)>>2 |
p02,p23 | p02,p23 | p02,p23,p44,p65 | (t1+t2+1)>>1 |
p12,p33 | p12,p33 | p12,p33,p54,p75 | (t0+t1<<1+t2+2)>>2 |
p01,p22,p43 | p01,p22 | p01,p22,p43,p64 | (t0+t1+1)>>1 |
p11,p32,p53 | p11,p32 | p11,p32,p53,p74 | (q+t0<<1+t1+2)>>2 |
p00,p21,p42,p63 | p00,p21 | p00,p21,p42,p63 | (q+t0+1)>>1 |
p10,p31,p52,p73 | p10,p31 | p10,p31,p52,p73 | (10+q<<1+t0+2)>>2 |
p20,p41,p62 | p20 | p20,p41,p62 | (11+10<<1+q+2)>>2 |
p30,p51,p72 | p30 | p30,p51,p72 | (12+11<<1+10+2)>>2 |
p40,p61 | - | p40,p61 | (13+12<<1+11+2)>>2 |
p50,p71 | - | p50,p71 | (14+13<<1+12+2)>>2 |
p60 | - | p60 | (15+14<<1+13+2)>>2 |
p70 | - | p70 | (16+15<<1+14+2)>>2 |
模式6
如所有t0-tN和l0-lM均可用于预测
4x8子块 | 8x4子块 | 8x8子块 | 预测 |
p00 | p00 | p00 | (t0+t1+1)>>1 |
p10 | p10 | p10 | (t0+t1<<1+t2+2)>>2 |
p02,p20 | p01,p20 | p01,p20 | (t1+t2+1)>>1 |
p11,p30 | p11,p30 | p11,p30 | (t1+t2<<1+t3+2)>>2 |
p02,p21,p40 | p02,p21 | p02,p21,p40 | (t2+t3+1)>>1 |
p12,p31,p50 | p12,p31 | p12,p31,p50 | (t2+t3<<1+t4+2)>>2 |
p03,p22,p41,p60 | p03,p22 | p03,p22,p41,p60 | (t3+t4+1)>>1 |
p13,p32,p51,p70 | p13,p32 | p13,p32,p51,p70 | (t3+t4<<1+t5+2)>>2 |
p23,p42,p61 | p04,p23 | p04,p23,p42,p61 | (t4+t5+1)>>1 |
p33,p52,p71 | p14,p33 | p14,p33,p52,p71 | (t4+t5<<1+t6+2)>>2 |
p43,p62 | p05,p24 | p05,p24,p43,p62 | (t5+t6+1)>>1 |
p53,p72 | p15,p34 | p15,p34,p53,p72 | (t5+t6<<1+t7+2)>>2 |
p63 | p06,p25 | p06,p25,p44,p63 | (t6+t7+1)>>1 |
p73 | p16,p35 | p16,p35,p54,p73 | (t6+t7<<1+t8+2)>>2 |
- | p07,p26 | p07,p26,p45,p64 | (t7+t8+1)>>1 |
- | p17,p36 | p17,p36,p55,p74 | (t7+t8<<1+t9+2)>>2 |
- | p27 | p27,p46,p65 | (t8+t9+1)>>1 |
- | p37 | p37,p56,p75 | (t8+t9<<1+t10+2)>>2 |
- | - | p47,p66 | (t9+t10+1)>>1 |
- | - | p57,p76 | (t9+t10<<1+t11+2)>>2 |
- | - | p67 | (t10+t11+1)>>1 |
- | - | p77 | (t10+t11<<1+t12+2)>>2 |
模式7
如所有t0-tN和l0-lM均可用于预测
4x8子块 | 8x4子块 | 8x8子块 | 预测 |
p00 | p00 | p00 | (10+11+1)>>1 |
p01 | p01 | p01 | (10+11<<1+12+2)>>2 |
p10,p02 | p10,p02 | p10,p02 | (11+12+1)>>1 |
p11,p03 | p11,p03 | p11,p03 | (11+12<<1+13+2)>>2 |
p20,p12 | p20,p12,p04 | p20,p12,p04 | (12+13+1)>>1 |
p21,p13 | p21,p13,p05 | p21,p13,p05 | (12+13<<1+14+2)>>2 |
p30,p22 | p30,p22,p14,p06 | p30,p22,p14,p06 | (13+14+1)>>1 |
p31,p23 | p31,p23,p15,p07 | p31,p23,p15,p07 | (13+14<<1+15+2)>>2 |
p40,p32 | p32,p24,p16 | p40,p32,p24,p16 | (14+15+1)>>1 |
p41,p33 | p33,p25,p17 | p41,p33,p25,p17 | (14+15<<1+16+2)>>2 |
p50,p42 | p34,p26 | p50,p42,p34,p26 | (15+16+1)>>1 |
p51,p43 | p35,p27 | p51,p43,p35,p27 | (15+16<<1+17+2)>>2 |
p60,p52 | p36 | p60,p52,p44,p36 | (16+17+1)>>1 |
p61,p53 | p37 | p61,p53,p45,p37 | (16+17<<1+17+2)>>2 |
p70,p62,p71,p63,p72,p73 | - | p70,p71,p72,p73,p74,p75,p76,p77,p62,p63,p64,p65,p66,p67,p54,p55,p56,p57,p46,p47 | 17 |
模式8
如所有t0-tN和l0-lM均可用于预测,则
4x8子块 | 8x4子块 | 8x8子块 | 预测 |
- | p07 | p07 | (t4+t5<<1+t6+2)>>2 |
- | p06 | p06 | (t3+t4<<1+t5+2)>>2 |
- | p05,p17 | p05,p17 | (t2+t3<<1+t4+2)>>2 |
- | p04,p16 | p04,p16 | (t1+t2<<1+t3+2)>>2 |
p03 | p03,p15,p27 | p03,p15,p27 | (t0+t1<<1+t2+2)>>2 |
p02 | p02,p14,p26 | p02,p14,p26 | (q+t0<<1+t1+2)>>2 |
p01,p13 | p01,p13,p25,p37 | p01,p13,p25,p37 | (10+q<<1+t0+2)>>2 |
p00,p12 | p00,p12,p24,p36 | p00,p12,p24,p36 | (q+10+1)>>1 |
p10,p22 | p10,p22,p34 | p10,p22,p34,p46 | (10+11+1)>>1 |
p11,p23 | p11,p23,p35 | p11,p23,p35,p47 | (q+10<<1+11+2)>>2 |
p20,p32 | p20,p32 | p20,p32,p44,p56 | (11+12+1)>>1 |
p21,p33 | p21,p33 | p21,p33,p45,p57 | (10+11<<1+12+2)>>2 |
p30,p42 | p30 | p30,p42,p54,p66 | (12+13+1)>>1 |
p31,p43 | p31 | p31,p43,p55,p67 | (11+12<<1+13+2)>>2 |
p40,p52 | - | p40,p52,p64,p76 | (13+14+1)>>1 |
p41,p53 | - | p42,p53,p65,p77 | (12+13<<1+14+2)>>2 |
p50,p62 | - | p50,p62,p74 | (14+15+1)>>1 |
p51,p63 | - | p51,p63,p75 | (13+14<<1+15+2)>>2 |
p60,p72 | - | p60,p72 | (15+16+1)>>1 |
p61,p73 | - | p61,p73 | (14+15<<1+16+2)>>2 |
p70 | - | p70 | (16+17+1)>>1 |
p71 | - | p71 | (15+16<<1+17+2)>>2 |
总结和后记
因此,从上述说明中可以看出,已经描述了一种对视频帧数据进行内编码和解码的新颖方法,包括编码器、解码器以及结合该方法的装置和系统。
虽然根据以上实施例和应用实例对本发明进行了描述,但本领域的技术人员必须认识到,本发明并不限于所述实施例和应用实例。在所附权利要求的思想和范围之内,可以对本发明进行修改和变更。具体地说,本发明的部分或全部(如各种操作逻辑)可以在专用集成电路(ASIC)中实现。
因此,描述应被视为说明性的而不是对本发明的限制。
Claims (7)
1.一种处理视频的方法,包括:
至少执行(a)对视频数据的多个宏块进行内编码和(b)对视频数据的多个内编码的宏块进行解码中选择的一项,其中多个内编码的宏块的至少其中一个包含在第一预测模式下预测的像素值的第一4×4子块,其中所述第一4x4子块的像素值的对角线依照以下中选择的一项进行预测:
a =(A+2*B+C+2)/4;
b,e =(B+2*C+D+2)/4;
c,f,i =(C+2*D+E+2)/4;
d,g,j,m =(D+2*E+F+2)/4;
h,k,n =(E+2*F+G+2)/4;
l,o =(F+2*G+H+2)/4;以及
p =(G+3*H+2)/4;
其中a-d是给定的4×4子块的第一行的预测像素值,
e-h是给定的4×4子块的第二行的预测像素值,
i-l是给定的4×4子块的第三行的预测像素值,
m-p是给定的4×4子块的第四行的预测像素值,以及
A-H是给定的4×4子块的正上方以及给定的4×4子块的右上方的相邻子块的底部侧的边界像素的像素值。
2.如权利要求1所述的方法,其中,多个内编码的宏块的至少其中一个包含在第二预测模式下预测的像素值的第二4×4子块,其中所述第二4x4子块的像素的对角线依照以下中选择的一项进行预测:
a =(A+B+1)/2;
b,i =(B+C+1)/2;
c,j =(C+D+1)/2;
d,k =(D+E+1)/2;
l =(E+F+1)/2;
e =(A+2*B+C+2)/4;
f,m =(B+2*C+D+2)/4;
g,n =(C+2*D+E+2)/4;
h,o =(D+2*E+F+2)/4;以及
p =(E+2*F+G+2)/4。
3.如权利要求2所述的方法,其中,多个内编码的宏块的至少其中一个包含在第三预测模式下预测的像素值的第三4×4子块,其中所述第三4x4子块的像素的对角线依照以下中选择的一项进行预测:
a =(I+J+1)/2;
b =(I+2*J+K+2)/4;
c,e =(J+K+1)/2;
d,f =(J+2*K+L+2)/4;
g,i =(K+L+1)/2;
h,j =(K+2*L+L+2)/4;
l,n,k,
m,o,p =L;
其中I-L是第三4×4子块左侧的相邻子块的右侧的边界像素的像素值。
4.如权利要求1所述的方法,其中,多个内编码的宏块的至少其中一个包含在第二预测模式下预测的像素值的第二4×4子块,其中所述第二4x4子块的像素的对角线依照以下中选择的一项进行预测:
a =(I+J+1)/2;
b =(I+2*J+K+2)/4;
c,e =(J+K+1)/2;
d,f =(J+2*K+L+2)/4;
g,i =(K+L+1)/2;
h,j =(K+2*L+L+2)/4;
l,n,k,
m,o,p =L;
其中I-L是第二4×4子块左侧的相邻子块的右侧的边界像素的像素值。
5.一种处理视频的方法,包括:
至少执行(a)对视频数据的多个宏块进行内编码和(b)对视频数据的多个内编码的宏块进行解码中选择的一项,其中多个内编码的宏块的至少其中一个包含在第一预测模式下预测的像素值的第一4×4子块,其中所述第一4x4子块的像素值的对角线依照以下中选择的一项进行预测:
a =(A+B+1)/2;
b,i =(B+C+1)/2;
c,j =(C+D+1)/2;
d,k =(D+E+1)/2;
l =(E+F+1)/2;
e =(A+2*B+C+2)/4;
f,m =(B+2*C+D+2)/4;
g,n =(C+2*D+E+2)/4;
h,o =(D+2*E+F+2)/4;
p =(E+2*F+G+2)/4;
其中a-d是给定的4×4子块的第一行的预测像素值,
e-h是给定的4×4子块的第二行的预测像素值,
i-l是给定的4×4子块的第三行的预测像素值,
m-p是给定的4×4子块的第四行的预测像素值,以及
A-G是给定的4×4子块的正上方以及给定的4×4子块的右上方的相邻子块的底部侧的边界像素的像素值。
6.如权利要求5所述的方法,其中,多个内编码的宏块的至少其中一个包含在第二预测模式下预测的像素值的第二4×4子块,其中所述第二4x4子块的像素的对角线依照以下中选择的一项进行预测:
a =(I+J+1)/2;
b =(I+2*J+K+2)/4;
c,e =(J+K+1)/2;
d,f =(J+2*K+L+2)/4;
g,i =(K+L+1)/2;
h,j =(K+2*L+L+2)/4;
l,n,k,
m,o,p =L;
其中I-L是第二4×4子块左侧的相邻子块的右侧的边界像素的像素值。
7.一种处理视频的方法,包括:
至少执行(a)对视频数据的多个宏块进行内编码和(b)对视频数据的多个内编码的宏块进行解码中选择的一项,其中多个内编码的宏块的至少其中一个包含在第一预测模式下预测的像素值的第一4×4子块,其中所述第一4x4子块的像素的对角线依照以下中选择的一项进行预测:
a =(I+J+1)/2;
b =(I+2*J+K+2)/4;
c,e =(J+K+1)/2;
d,f =(J+2*K+L+2)/4;
g,i =(K+L+1)/2;
h,j =(K+2*L+L+2)/4;
l,n,k,
m,o,p =L;
其中a-d是第一4×4子块的第一行的预测像素值,
e-h是第一4×4子块的第二行的预测像素值,
i-l是第一4×4子块的第三行的预测像素值,
m-p是第一4×4子块的第四行的预测像素值,以及
I-L是第一4×4子块左侧的相邻子块的右侧的边界像素的像素值。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/732,522 US6765964B1 (en) | 2000-12-06 | 2000-12-06 | System and method for intracoding video data |
US39452402P | 2002-07-08 | 2002-07-08 | |
US60/394524 | 2002-07-08 | ||
US41412002P | 2002-09-27 | 2002-09-27 | |
US60/414120 | 2002-09-27 | ||
US41544702P | 2002-10-01 | 2002-10-01 | |
US60/415447 | 2002-10-01 | ||
PCT/US2003/018963 WO2004006587A1 (en) | 2000-12-06 | 2003-06-12 | Intra coding video data methods and apparatuses |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038203685A Division CN100481955C (zh) | 2000-12-06 | 2003-06-12 | 对视频数据进行内编码的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101505429A CN101505429A (zh) | 2009-08-12 |
CN101505429B true CN101505429B (zh) | 2011-06-08 |
Family
ID=36033904
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038203685A Expired - Fee Related CN100481955C (zh) | 2000-12-06 | 2003-06-12 | 对视频数据进行内编码的方法和设备 |
CN2009101289198A Expired - Fee Related CN101505429B (zh) | 2000-12-06 | 2003-06-12 | 对视频数据进行内编码的方法和设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038203685A Expired - Fee Related CN100481955C (zh) | 2000-12-06 | 2003-06-12 | 对视频数据进行内编码的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7606312B2 (zh) |
EP (1) | EP1649697B1 (zh) |
JP (1) | JP4491349B2 (zh) |
KR (1) | KR100952892B1 (zh) |
CN (2) | CN100481955C (zh) |
AU (1) | AU2003243595A1 (zh) |
WO (1) | WO2004006587A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266150B2 (en) | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
AU2013200690B2 (en) * | 2002-06-28 | 2013-06-27 | Dolby Laboratories Licensing Corporation | Region sizing for macroblocks |
KR101204788B1 (ko) * | 2004-06-03 | 2012-11-26 | 삼성전자주식회사 | 영상의 공간 예측 부호화 방법, 부호화 장치, 복호화 방법및 복호화 장치 |
KR100813958B1 (ko) * | 2004-06-07 | 2008-03-14 | 세종대학교산학협력단 | 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치 |
KR100678911B1 (ko) | 2005-07-21 | 2007-02-05 | 삼성전자주식회사 | 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치 |
JP4571069B2 (ja) * | 2005-11-28 | 2010-10-27 | 三菱電機株式会社 | 動画像符号化装置 |
CN100426869C (zh) * | 2006-07-21 | 2008-10-15 | 北京中星微电子有限公司 | 一种视频预测编码方法和解码方法 |
FR2910768A1 (fr) * | 2006-12-21 | 2008-06-27 | Thomson Licensing Sas | Procede et dispositif d'attribution d'un type de codage, et procede et dispositif de codage et de transcodage associes. |
WO2009032255A2 (en) * | 2007-09-04 | 2009-03-12 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
EP2106148A3 (en) * | 2008-03-28 | 2010-11-03 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding information about intra-prediction mode of video |
JP4584324B2 (ja) * | 2008-05-22 | 2010-11-17 | ルネサスエレクトロニクス株式会社 | データ処理システム、及びコンポーネント管理方法 |
WO2010017166A2 (en) | 2008-08-04 | 2010-02-11 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
WO2010038212A2 (en) * | 2008-10-01 | 2010-04-08 | Nxp B.V. | Embedded video compression for hybrid contents |
US9704177B2 (en) | 2008-12-23 | 2017-07-11 | International Business Machines Corporation | Identifying spam avatars in a virtual universe (VU) based upon turing tests |
US9697535B2 (en) | 2008-12-23 | 2017-07-04 | International Business Machines Corporation | System and method in a virtual universe for identifying spam avatars based upon avatar multimedia characteristics |
US8537219B2 (en) | 2009-03-19 | 2013-09-17 | International Business Machines Corporation | Identifying spatial locations of events within video image data |
US8553778B2 (en) * | 2009-03-19 | 2013-10-08 | International Business Machines Corporation | Coding scheme for identifying spatial locations of events within video image data |
US8656476B2 (en) | 2009-05-28 | 2014-02-18 | International Business Machines Corporation | Providing notification of spam avatars |
US20110090954A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Video Codes with Directional Transforms |
US9025661B2 (en) | 2010-10-01 | 2015-05-05 | Qualcomm Incorporated | Indicating intra-prediction mode selection for video coding |
US8913662B2 (en) * | 2011-01-06 | 2014-12-16 | Qualcomm Incorporated | Indicating intra-prediction mode selection for video coding using CABAC |
KR101824241B1 (ko) * | 2011-01-11 | 2018-03-14 | 에스케이 텔레콤주식회사 | 인트라 부가정보 부호화/복호화 장치 및 방법 |
US20120183064A1 (en) | 2011-01-14 | 2012-07-19 | Sony Corporation | Codeword assignment for intra chroma mode signaling for hevc |
JP2013015912A (ja) * | 2011-06-30 | 2013-01-24 | Toshiba Corp | データ転送装置及びデータ転送方法 |
US9398300B2 (en) * | 2011-10-07 | 2016-07-19 | Texas Instruments Incorporated | Method, system and apparatus for intra-prediction in video signal processing using combinable blocks |
US9979970B2 (en) | 2014-08-08 | 2018-05-22 | Qualcomm Incorporated | System and method for determining buffer fullness for display stream compression |
JP2016126037A (ja) | 2014-12-26 | 2016-07-11 | ソニー株式会社 | 信号処理装置、および信号処理方法、並びにプログラム |
JP2018533871A (ja) * | 2015-11-11 | 2018-11-15 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1126408A (zh) * | 1994-06-14 | 1996-07-10 | 大宇电子株式会社 | 用于并行解码数字视频信号的装置 |
US5677735A (en) * | 1992-03-03 | 1997-10-14 | Kabushiki Kaisha Toshiba | Motion picture coding apparatus |
US6130912A (en) * | 1998-06-09 | 2000-10-10 | Sony Electronics, Inc. | Hierarchical motion estimation process and system using block-matching and integral projection |
US6141449A (en) * | 1997-04-14 | 2000-10-31 | Kokusai Denshin Denwa Kabushiki Kaisha | Coding mode determination system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4951139A (en) * | 1988-03-30 | 1990-08-21 | Starsignal, Inc. | Computer-based video compression system |
US5247355A (en) * | 1992-06-11 | 1993-09-21 | Northwest Starscan Limited Partnership | Gridlocked method and system for video motion compensation |
US6031937A (en) * | 1994-05-19 | 2000-02-29 | Next Software, Inc. | Method and apparatus for video compression using block and wavelet techniques |
US5946044A (en) * | 1995-06-30 | 1999-08-31 | Sony Corporation | Image signal converting method and image signal converting apparatus |
JP3788823B2 (ja) * | 1995-10-27 | 2006-06-21 | 株式会社東芝 | 動画像符号化装置および動画像復号化装置 |
JP3157144B1 (ja) * | 1996-05-28 | 2001-04-16 | 松下電器産業株式会社 | 画像予測復号化方法 |
JP2003199111A (ja) * | 2001-12-27 | 2003-07-11 | Matsushita Electric Ind Co Ltd | 予測装置、符号化装置、逆予測装置、復号装置、及び、演算装置 |
-
2003
- 2003-06-12 KR KR1020057000286A patent/KR100952892B1/ko active IP Right Grant
- 2003-06-12 CN CNB038203685A patent/CN100481955C/zh not_active Expired - Fee Related
- 2003-06-12 JP JP2004562614A patent/JP4491349B2/ja not_active Expired - Lifetime
- 2003-06-12 WO PCT/US2003/018963 patent/WO2004006587A1/en active Application Filing
- 2003-06-12 US US10/525,164 patent/US7606312B2/en not_active Expired - Lifetime
- 2003-06-12 AU AU2003243595A patent/AU2003243595A1/en not_active Abandoned
- 2003-06-12 CN CN2009101289198A patent/CN101505429B/zh not_active Expired - Fee Related
- 2003-06-12 EP EP03762992A patent/EP1649697B1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677735A (en) * | 1992-03-03 | 1997-10-14 | Kabushiki Kaisha Toshiba | Motion picture coding apparatus |
CN1126408A (zh) * | 1994-06-14 | 1996-07-10 | 大宇电子株式会社 | 用于并行解码数字视频信号的装置 |
US6141449A (en) * | 1997-04-14 | 2000-10-31 | Kokusai Denshin Denwa Kabushiki Kaisha | Coding mode determination system |
US6130912A (en) * | 1998-06-09 | 2000-10-10 | Sony Electronics, Inc. | Hierarchical motion estimation process and system using block-matching and integral projection |
Also Published As
Publication number | Publication date |
---|---|
US20060056518A1 (en) | 2006-03-16 |
JP2005532768A (ja) | 2005-10-27 |
WO2004006587A1 (en) | 2004-01-15 |
CN100481955C (zh) | 2009-04-22 |
KR20050021445A (ko) | 2005-03-07 |
JP4491349B2 (ja) | 2010-06-30 |
EP1649697A1 (en) | 2006-04-26 |
EP1649697B1 (en) | 2008-09-17 |
KR100952892B1 (ko) | 2010-04-16 |
CN1679342A (zh) | 2005-10-05 |
US7606312B2 (en) | 2009-10-20 |
CN101505429A (zh) | 2009-08-12 |
AU2003243595A1 (en) | 2004-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505429B (zh) | 对视频数据进行内编码的方法和设备 | |
US10250885B2 (en) | System and method for intracoding video data | |
CN102316320B (zh) | 处理视频图像的方法 | |
CN101448162B (zh) | 处理视频图像的方法 | |
KR101017094B1 (ko) | 인트라 코딩에 기반한 공간 예측 | |
CN100586183C (zh) | 位平面编码和解码方法 | |
CN104041040A (zh) | 用于无损视频编码的预测残差编码 | |
US20070242753A1 (en) | Coding and decoding method and apparatus using plural scanning patterns | |
CN103270700A (zh) | 使用平面表达的增强帧内预测编码 | |
CN103458241A (zh) | 用于多层视频编码的速率控制方法和设备 | |
CN107005706B (zh) | 用于再编码图像的方法及其装置 | |
EP1750452B1 (en) | Apparatus for intra coding video data | |
KR100775019B1 (ko) | 복수개의 주사 패턴을 이용한 부호화 방법, 복호화 방법,및 그 장치 | |
JP2023520314A (ja) | ビデオ復号方法、ビデオ符号化方法、装置、媒体、及び電子機器 | |
KR100813989B1 (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 | ||
ASS | Succession or assignment of patent right |
Owner name: INTEL CORP . Free format text: FORMER OWNER: REALNETWORKS INC. Effective date: 20130424 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20130424 Address after: California, USA Patentee after: Intel Corporation Address before: Washington State Patentee before: Realnetworks Inc. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110608 Termination date: 20210612 |
|
CF01 | Termination of patent right due to non-payment of annual fee |