视频流编码装置及其方法

文档序号:7919730阅读:136来源:国知局
专利名称:视频流编码装置及其方法
技术领域
本发明一般涉及视频信号处理,更具体地涉及视频流编码装置及其方法。
背景技术
近年来,在视频编码应用中,对编码速度的要求越来越高。但是,传统
的编码方法例如MPEG2, H.263等难于在多处理器系统上并行化。
传统的编码处理是4巴输入的视频流的帧划分为宏块(Macro Block, MB),以宏块为单位进行运动估计(Motion Estimation, ME),然后执行离散余弦变换(DCD)、量化(Q)处理、逆量化(Q")和逆离散余弦变换(IDCT),量化处理后的数据被进行可变长度编码(VLC),最后得到编码后的凄t据流。
编码方法难于并行化的原因在于,在编码处理的一些过程之间存在相互依赖性。这在速率控制处理上尤其明显,因为为了执行速率控制,当前宏块的量化处理中的量化参数必需依赖于时间上在前的宏块的编码结果。
为了解决对视频编码的并行化问题,在"J Sca/aWe c#-/z'"e M尸EG-2 v/ofeoewcoof/wg sc/zeme g wzJf^race^o/"", Ishfaq Ahmad, Shahriar M. Akramullah:Ming L. Liou, Muhanmmad Kafil, 和"爿MP五G-2 vzWeo e"coder w/f/z/ooA;-a/2ea<ira/e coWra/", Tiwari, P. Viscito, E., Thomas J. Watson中提出了基于GOP(Group of Picture,画面组)对离线MPEG-2编码进行并行化的技术。但是,该技术仅能够离线编码,而且基于GOP的方法的速率控制精度不高。另夕卜,在"y4ra^e""/"e "尸"j/ MWow五W附"/or MPLEG附eo CW/"g", NamLing, Rajesh Advani中提出了对于单个宏块的运动估计处理进行并行化的方法。该方法以串行的方式处理多个宏块,而且其不能对于单个宏块的可变长度编码进行并行化。

发明内容
本发明的目的是提供一种对视频流进行实时并行编码的装置和方法。为此,根据本发明一个方面,提出了一种视频流编码装置,可以包括:分割部件,用于将视频流中的帧划分成多个处理单位,每个处理单位包括多
个宏块;以及编码部件,用于并行地对每个处理单位中的多个宏块进行编码。
根据本发明的另一个方面,提供了一种视频流编码方法,包括分割步骤,将视频流中的帧划分成多个处理单位,每个处理单位包括多个宏块;以及编码步骤,用于并行地对每个处理单位中的多个宏块进行编码。
根据本发明各个实施例的装置和方法,可以消除宏块之间的依赖性,并提供了与实现平台无关的通用解决方案。
另外,通过将一个处理单位中对宏块的编码处理分解为第一部分,即运动估计、离散余弦变换、量化、逆量化、逆离散余弦变换,以及第二部分,即可变长度编码,以流水线的形式对此两部分进行处理,进一步提高了编码速度。由此解决并减轻了内存非共享多核体系结构的有限本地内存的局限。
此外,扩展的双緩冲技术的应用,确保緩沖器容量对于VLC操作是足够的,且可以同时进行从可变长度编码到緩沖器的输出以及从緩沖器到另 一设备的输出,因而提高了编码性能。


通过结合附图对本发明各个实施例的详细描述,本领域的技术人员可以更好地理解本发明的上述和其它方面、特点和优点,其中在所有附图中使用相同或相似的附图标记来表示相同或者相似的部件,在附图中
图1是示出了根据本发明一个实施例的视频流编码装置的框图;图2是示出了才艮据本发明 一个实施例的处理单位的示意性图示;图3是示出了根据本发明另一个实施例的视频流编码装置的框图;图4是示出了根据本发明再一个实施例的视频流编码装置的框图;图5是示出了根据本发明一个实施例的两组协作处理元件的处理操作之间的关系的图示;
图6是示出了根据本发明一个实施例的扩展的双緩冲器工作状态图;和图7是示出了根据本发明一个实施例的视频流编码方法的流程图。
具体实施例方式
下面将结合附图详细描述本发明的具体实施例。如果考虑到对某些相关现有技术的详细描述可能会混淆本发明的要点,则不会在这里提供其详细描述。
图1示出了根据本发明一个实施例的视频流编码装置100的构成框图。
如图1所示,视频流编码装置100可以包括分割部件101和编码部件102。分割部件101用于将视频流中的帧划分成多个处理单位,其中每个处理单位可以包括多个宏块。编码部件102用于并行地对每个处理单位中的多个宏块进行编码,并输出编码后的码流。
下面将参考图2对上述处理单位进行描述。
图2是示出了根据本发明的一个实施例的处理单位的构成示意图。如图2所示,可以将视频流中的一帧分割为多个处理单位,每个处理单位中可以包括多个宏块。在本发明的实施例中,通过编码部件102对一个处理单位中所包含的各个宏块并行进行编码处理,由此获得相应的编码后的码流。在已有技术中,是以宏块为单位、按照时间顺序对视频流中的每一帧进行编码处理。而根据本发明的一个实施例,是将视频流的每一帧中按时间顺序排列的所有宏块分为若千个部分,每个部分构成一个处理单位,每个处理单位中含有连续排列的多个宏块。排列在前的处理单位称为先前处理单位,排列在后的处理单位可以称为后续处理单位。
根据本发明实施例的处理单位的大小不对本发明的技术范围构成限制,每个处理单位中可以是一个条块(slice),也可以包括多个条块,其中每个条块由一行宏块构成。每个处理单位所包括的条块的数目可以根据编码速率的控制精度的需要而任意设置。图3示出了根据本发明另一个实施例的视频流编码装置的框图。
如图3所示,根据本发明另一实施例的视频流编码装置300包括分割部件301和编码部件302。分割部件301将所输入的^L频流中的每一帧划分成多个处理单位,并将所划分的各个处理单位顺序输入到编码部件302中,其中每个处理单位中包括多个宏块。编码部件302并行地对每个处理单位中的多个宏块进行编码,并输出编码后的码流。
具体地,编码部件302可以包括多个协处理元件SPE 1~N,这里假定该多个协处理元件是N个,并且正在对第M个处理单位中的宏块(MB )进行并行处理。
在一个实施方式中,编码部件302将第M个处理单位中的多个宏块均等地分成N个组,并将所划分的组分别分配给编码部件302所包括的各个协处理元件SPE 1~N,以供该多个协处理元忏SPE 1~N对所分配的宏块并行地执行运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、以及可变长度编码等处理。
例如,第0组宏块被分配给协处理元件SPEO,由协处理元件SPEO对第O组宏块中的宏块MBOO、宏块MBOl、宏块MB02、...进行运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、以及可变长度编码;第1组宏块被分配给协处理元件SPE1,由协处理元件SPE1对第1组宏块中的宏块MBIO、宏块MBll、宏块MB12、...进行运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、以及可变长度编码等处理。类似地,第N组宏块被分配给协处理元件SPE N,由协处理元件SPE N对第N组宏块中的宏块MBnO、宏块MBnl、宏块MBn2、...进行运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、以及可变长度编码等处理。
本领域技术人员可以知道,以上的实施方式是一种优选的实施方式,也可以采用协处理元件SPE l-SPEN进行以下处理中的一种或多种运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、以及可变长度编码等,而由主处理部件或者其它部件进行其它处理,这样也可以实现并行处理的目的。甚至,可以用部分协处理元件进行上述处理中的部分处理,而用另外的协处理元件进行上述处理的其它处理。所有这些相关的变^f匕,可以实现并行处理的技术方案,并都在本发明的保护范围之内。
另外,编码部件302将第M个处理单位中的多个宏块分成N个组,每个组中的宏块的数量也可以不是均等的,同样也可以实现对宏块的并行处理。
当各个协处理元件SPE l-N对第M个处理单位中的各个宏块进行编码处理时,由緩沖器(图3中未示出,将在后面结合图6进行详细说明)存储对每个宏块进行可变长度编码的输出,获得该第M个处理单位的量化参数,以用于编码部件302对后续处理单位--例如下一个处理单位M+l——中的各个宏块进行编码处理。
在对第M个处理单位中的多个宏块进行编码处理时,在各个协处理元件SPE 1~N中对所有宏块使用相同的量化参数。也就是i兌,编码部件302对同一处理单位中的各个宏块使用相同的量化参数执行量^f匕处理。该量化参数是参考先前处理单位的编码结果而计算得到的,例如一种方法可以是,编码部件302对第M-l个处理单位中的各个宏块进行可变长度编码后,使用MPEG-2的Test Model 5中的码率控制算法,才艮据实际比特和目标比特计算虚拟緩存 的满度,然后再依据该虚拟緩沖的满度选择第M个处理单位的量化参数,即 第M个处理单位中对所有宏块使用的相同的量化参数。
因为一个处理单位中所有宏块共享相同的量化参H所以各个协处理元 件SPEO, SPE1, ..., SPEN可以并行地对所分配的宏块执行编码处理。经 各个协处理元件SPEO, SPE1, SPEN编码处理后的i见频流被合并起来 作为编码后的码流输出,而且可变长度编码后的输出净皮作为重建后的参考帧 反馈给编码部件302,用作处理后续处理单位时的参考。
例如,当前处理单位M的量化参^t是参考先前处理单位的编码结果而计 算得到的,根据本发明的一个实施例,该先前处理单位优选为M-l。但是本 发明并不局限于此,根据本发明的其它实施例,该先前处理单位也可以是 M-2, M-3等。另外,需要说明的是,每组宏块中所包含的宏块数目没有特别 限定,可以为一个或任意多个。
另外,根据本发明的另一个实施例,在分割部件301和编码部件302中 还可以包括相关的存储器或者緩沖器(未示出),以对分割部件301以及编码 部件302中的各个元件之间所传递的数据进行緩沖操作。
图4示出了根据本发明再一个实施例的视频流编码装置的框图。
如图4所示,根据本发明再一个实施例的视频流编码装置400包括分割 部件401、编码部件402、视频緩沖器403、和组间緩沖器404等。分割部件 401将所输入的视频流中的每一帧划分成多个处理单位UO、 Ul、 U2、…,并 将所划分的各个处理单位UO、 Ul、 U2、…顺序存储在^L频緩冲器403中, 其中每个处理单位中包括多个宏块。编码部件402从^L频緩沖器403中顺序 提取所存储的各个处理单位UO、 Ul、 U2、…,并且并行地对每个处理单位 中的多个宏块进行编码,并输出编码后的码流。
与图3所示的实施例不同的是,在本实施例中,4巴多个协处理元件SPE 分为两个组,即第一组和第二组。第一组包括协处理元件SPE10, SPEll,…, 第二组包括协处理元件SPE20, SPE21,…,等等。根据本实施例,第一组协 处理元件SPEIO, SPE11,...与第二组协处理元件SPE20, SPE21,…数量相 同。本领域:汰术人员可以知道,可以对所有的协处理元件^4居要求进行任意 的分组,同样也可以实现本发明。
这里假定第一组协处理元件和第二组协处理元件的数量均是N个,并且
8正在对处理单位UO中的各个宏块逬行升行处理。编码部件402将处理单位 UO中的所有宏块均等地分成N个组,将各组分配给编码部件402所包括的第 —组协处理元件SPE10, SPEll,…,以对其中的各个宏块进行并行处理。第 —组协处理元件SPE10, SPEll,…对处理单位UO中的各个宏块执行运动估 计、离散余弦变换、量化、逆量化、逆离散余弦变换中的至少一种处理。在 第一组协处理元件SPEIO, SPEll,…对处理单位UO中的各个宏块进行上述 各种处理后,将处理后的各个宏块存储在组间緩沖器404中。
第二组协处理元件SPE20, SPE21, ...乂人组间緩沖器404中读取经过第 一组协处理元件处理后的处理单位UO,并对其中的各个宏块执行可变长度编 码。也就是说,每个处理单位的全部编码操作是由第一组和第二组协处理元 件合作完成的,即首先由第一组协处理元件SPEIO, SPEll,...进行运动估计、 离散余弦变换、量化、逆量化、逆离散余弦变换等,然后再由第二组协处理 元件SPE20, SPE21,...对经过第一组协处理元件处理过的宏块进行可变长度 编码。例如,如图4所示,处理单位UO中的各个宏块首先被分配给第一组 的各个协处理元件SPE10, SPEll,…,在各个协处理元件SPEIO, SPEll,... 中并行地经过运动估计、离散余弦变换、量化、逆量化、逆离散余弦变换等 处理,然后,将处理单位UO的处理结果传递给第二组协处理元件SPE20, SPE21,...。在第二组中,处理单位UO中的各个宏块同样被分配给各个协处 理元件SPE20, SPE21,....,进而在各个协处理元件SPE20, SPE21,…中被 并行地进行可变长度编码处理。
当第二组的各个协处理元件对处理单位UO中的各个宏块进行可变长度 编码处理时,由緩沖器(图4中未示出,将在后面结合图6进行详细说明) 存储对每个宏块进行可变长度编码的输出,获得处理单位UO的量化参数, 以用于编码部件402对下一个处理单位Ul中的各个宏块进行编码处理。同 时,经过可变长度编码的视频流被输出作为输出码流。
当第二组的各个协处理元件对处理单位UO中的各个宏块进行可变长度 编码处理时,第一组中的各个协处理元件从视频緩冲器403中读取处理单位 Ul中的各个宏块,并对所读取的各个宏块并行地进行相应的处理。
在第一组协处理元件SPE10, SPEll,…对处理单4立U0中的多个宏块进 行编码时,对处理单位UO中的所有宏块使用相同的量化参数,该量化参数 来自编码部件402对处理单位UO之前的处理单位中的各个宏块进行可变长度编码后所获得的输出。更具体地,編码邵仟402对同一处理单位中的各个 宏块使用相同的量化参数执行量化处理,并且例如,对处理单位Un所使用 的量化参数来自对其之前的处理单位Un-2中的各个宏块进行可变长度编码 的输出(下面将结合图5进行详细说明)。
根据本发明的另 一个实施例,可以省略视频緩沖器403和组间緩沖器404 的使用,而在分割部件401以及编码部件402的各组协处理元件之间直接传 递各种处理数据。
由前述可知,根据本发明一个实施例的编码部件402包括两组协处理元 件,第一组协处理元件并行地对每个处理单位中的各个宏块执行运动估计、 离散余弦变换、量化、逆量化、逆离散余弦变换等中的至少一种处理,第二 组协处理元件对经第一组协处理元件处理的各个宏块并行执行可变长度编码 处理。
图5是示出了根据本发明一个实施例的两组协作处理元件的处理操作之 间的关系的图示。
如图5所示,当第一组协处理元件对处理单位UO中的各个宏块处理(运 动估计、离散余弦变换、量化、逆量化、逆离散余弦变换)完毕后,再由第 二组协处理元件对处理单位U0中的各个宏块进行可变长度编码的处理,同 时,第一组协处理元件对接下来的处理单位U1中的各个宏块进行并行处理, 即,运动估计、离散余弦变换、量化、逆量化、逆离散余弦变换,依此类推。
根据本发明的一个实施例,当第一组协处理元件处理第n个处理单位中 的各个宏块时,第二组协处理元件处理第n-l个处理单位中的各个宏块,其 中第一组协处理元件处理第n个处理单位中的各个宏块所使用的量化参数, 基于第二组协处理元件对第n-2个处理单位中的各个宏块进行可变长度编码 的输出。
具体地,例如图5所示,当第一组协处理元件处理第2个处理单位U2 中的各个宏块时,第二组协处理元件处理第1个处理单位U1中的各个宏块, 而第一组协处理元件处理第2个处理单位U2中的各个宏块所使用的量化参 数,则来自于第二组协处理元件对第0个处理单位U0中的各个宏块进行可 变长度编码的输出。
当然,本发明并不局限于此,第一组协处理元件处理第n个处理单位时 使用的量化参数,也可以基于第二组协处理元件对例如第n-3个、第n-4个处理单位的可变长度编码的输出。
在本实施例中,通过将一个处理单位中的各个宏块的编码处理分解为第 一部分即运动估计、离散余弦变换、量化、逆量化、逆离散余弦变换处理, 和第二部分即可变长度编码,以流水线的形式来对此两部分进行处理,进一
步提高了编码速度。而且,该实施方式对于内存非共享的多核体系结构特别 有利。内存非共享的多核体系结构中的各个协处理元件有各自的本地存储,
用于存储代码和数据。但是,由于协处理元件SPE的本地存储是有限的,因
此一个可执行文件甚至可能比其本地存储所能存储的还要大。在这种情况下, 传统的编码方法不能有效运行在这种内存非共享的多核体系结构中。本发明 的这个实施例通过把一个宏块的各个编码部分分解为由不同的协处理元件运
行,可以解决因有限的本地存储而带来的无法并行运行诸如MPEG2等编码 方法的不足。
在某些情况下,需要对可变长度编码的可变长度输出首先进行缓冲然后 输出到例如某存储器。根据本发明的一个实施例,本发明的编码部件还包括 经扩展的双緩冲器600。
图6示出了根据本发明一个实施例的扩展的双緩沖器的工作状态图。
如图6所示,扩展的双緩冲器600包括第一緩冲器601和第二緩沖器602 以及尾部緩冲器603。因为各个宏块的可变长度编码的输出是变化的,此扩 展的双緩沖器结构可以确保緩沖器容量对于可变长度编码(VLC)操作是足 够的。该扩展的双緩沖器结构600按如下方式运行每当完成了一个宏块的 VLC操作,就把该宏块的VLC的输出顺序地存储到该双緩沖器600,并且计 算所累积的输出长度,当所累积的输出长度超过预定阚值时,例如超过第一 緩冲器601或第二緩沖器602的长度时,则输出被填满的緩沖器中所存储的 数据,而超过的数据部分或者保持不变,或者被拷贝到适当的位置,由此交 替使用第一緩沖器601和第二緩沖器602,这样与只用一个緩沖器,需要较 多的等待时间相比,可以提高效率。
具体地,图6中的双緩沖器600如下工作在状态A中,示出了初始的 双缓沖器600的状态。接下来,在状态B中,当在双缓沖器600中累积的VLC 的输出数据长度超过了第一緩沖器601的存储容量时,将超过部分存储在第 二緩冲器602中,并把第一緩沖器601中的数据输出到其它装置,例如输出 到根据本发明实施例的编码部件的主存储器(未示出)。同时,第二緩沖器602继续接收并存储各个宏块的VLC编码的输出,并将接收到的VLC编码 输出顺序存储于第二緩冲器602中所存储的601超过部分之后,如状态C所 示。接下来,如状态D所示,当在第二緩冲器602中顺序存储的数据超过了 第二緩冲器602的存储容量时,超过的数据部分被存储到尾部緩冲器603中, 同时将第二緩冲器602中存储的数据输出到其它装置,例如输出到根据本发 明实施例的编码部件的主存储器(未示出),而且把尾部緩沖器603中存储的 数据复制到第一緩冲器601的开头部分中,这样再接收的VLC编码输出又可 以顺序存储于第一緩沖器601中所存储的602超过部分之后,由此双援冲器 600又回到了状态A的情况,并开始新一轮的循环緩冲。
本发明所提出的上述扩展的双緩冲器技术既可以解决緩冲器在寻址和数 据大小方面的限制,又可以进行从可变长度编码到緩冲器的输出以及从緩冲 器到另一存储器的输出,因而提高了性能。该扩展的双緩沖器技术可以应用 于任何需要对不同设备间传递的数椐进行緩沖的情形。
图7示出了根据本发明一个实施例的视频流编码方法的流程图。
如图7所示,根据本发明一个实施例的视频流编码方法包括步骤701, 执行分割处理,以将视频流中的帧划分成多个处理单位,其中每个处理单位 包括多个宏块;接下来在步骤702,执行编码处理,以并行地对每个处理单 位中的多个宏块进行编码。
根据本发明的另一个实施例,在编码步骤702中还包括执行量化处理的 步骤,其中对同一处理单位中的各个宏块使用相同的量化参数。该处理单位 中使用的相同量化参数来自先前处理单位中对各个宏块进行可变长度编码的 输出。
根据本发明的另一个实施例,在编码步骤702中还包括步骤将一个处 理单位中的多个宏块分配给编码部件中的多个协处理元件中的每个,以对所 分配的宏块执行以下处理中的一种或多种运动估计、离散余弦变换、量化、 去量化、逆离散余弦变换、和可变长度编码。
根据本发明的另一个实施例,在编码步骤702中还包括步骤将编码部 件中的多个协处理元件分为两个组,由第 一组协处理元件对该处理单位中的 各个宏块执行运动估计、离散余弦变换、量化、去量化、逆离散余弦变换中 的至少一种处理,由第二组协处理元件对经过第一组协处理元件处理的各个 宏块并行执行可变长度编码。根据本发明的另一个实施例,在编码步骤702中还包括步骤当第一组 多个协处理元件处理第n个处理单位中的各个宏块时,第二组多个协处理元 件处理第n-l个处理单位中的各个宏块,并且第一组多个协处理元件在处理 第n个处理单位中的各个宏块时所使用的量化参数,来自第二组多个协处理 元件对第n-2个处理单位中的各个宏块进行可变长度编码的输出。
根据本发明的另一个实施例,在编码步骤702中还包括利用扩展的双緩 冲器顺序存储对每个宏块进行可变长度编码的输出的步骤,其中该扩展的双 緩冲器包括第一緩沖器、第二緩沖器和尾部緩沖器,当存储的数据长度超过 第一緩沖器的存储容量时,该超过部分被存储在第二緩沖器中,并输出第一 緩沖器中所存储的数据,当继续存储的数据超过第二緩沖器的存储容量时, 该超过部分被存储在尾部緩沖器中,并输出第二緩沖器中存储的数据,并且 把尾部緩沖器中存储的数据转移到第一緩冲器,由此交替使用第一緩沖器和 第二緩沖器。
在根据本发明实施例的装置和方法中,同 一处理单位中的各个宏块在被 量化时使用相同的量化参数,而该量化参数是通过编码先前处理单位中的宏 块而计算得到的。因为同一处理单位中的各个宏块使用相同的量化参数,由 此在一个处理单位的内部,打破了各个宏块之间的依赖性,从而可以在一个 处理单位内部的各个宏块之间实现并行化处理。与现有技术中基于帧或者基 于画面组的方案相比,本发明的基于比帧小的处理单位的方法能够以高得多 的精度来控制比特率。
另外需要说明的是,本发明的实施例可以通过硬件、软件、固件或它们 之间结合的方式来实现,其实现方式不对本发明的技术范围构成限制。
本发明实施例中的各个元件(单元)相互之间的连接关系不对本发明的 技术范围构成限制,其中的一个或多个元件可以包括或连接于其它任意的元 件。
虽然上面已经结合附图示出并描述了本发明的一些实施例,但是本领域 的技术人员应当理解,在不偏离本发明的原则和精神的情况下,可以对这些 实施例进行变化和修改,但它们仍然落在本发明的权利要求及其等价物的范 围之内。
1权利要求
1.一种视频流编码装置,包括分割部件,用于将视频流中的帧划分成多个处理单位,每个处理单位包括多个宏块;以及编码部件,用于并行地对每个处理单位中的多个宏块进行编码。
2. 如权利要求1所述的视频流编码装置,其中所述编码部件执行量化处 理,并对同一处理单位中的各个宏块使用相同的量化参数,所述量化参数是 参考先前处理单位的编码结果而计算得到的。
3. 如权利要求1所述的视频流编码装置,其中所述编码部件包括多个协 处理元件,所述每个处理单位中的多个宏块被分别分配给所述多个协处理元运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、以及可变长度 编码。
4. 如权利要求1所述的视频流编码装置,其中所述编码部件包括两组协 处理元件,第一组协处理元件并行地对所述处理单位中的各个宏块执行运动 估计、离散余弦变换、量化、逆量化、逆离散余弦变换中的至少一种处理, 第二组协处理元件对经所述第一组协处理元件处理的各个宏块并行执行可变 长度编码。
5. 如权利要求4所述的视频流编码装置,其中当第一组处理第n个处理 单位中的各个宏块时,第二组处理第n-l个处理单位中的各个宏块,并且第 一组处理第n个处理单位中的各个宏块时所使用的量化参数,来自第二组对 第n-2个处理单位中的各个宏块进行可变长度编码的输出。
6. 如权利要求1-5中任一项所述的视频流编码装置,还包括扩展的双 緩沖器,用于顺序存储对每个宏块进行可变长度编码的输出,该扩展的双緩 冲器包括第一緩冲器、第二緩沖器和尾部,其中当存储的数据长度超过第一 緩冲器的存储容量时,该超过部分被存储在第二緩冲器中,并输出第一緩沖 器中所存储的数据,当继续存储的数据超过第二緩冲器的存储容量时,该超 过部分被存储在尾部,并输出第二緩沖器中存储的数据,且把尾部中存储的 数据转移到第 一緩冲器中,由此交替使用所述第一緩冲器和第二緩沖器。
7. —种视频流编码方法,包括分割步骤,将视频流中的帧划分成多个处理单位,每个处理单位包括多个宏块;以及编码步骤,用于并行地对每个处理单位中的多个宏块进行编码。
8. 如权利要求7所述的视频流编码方法,其中在所述编码步骤中执行量化处理,并对同一处理单位中的各个宏块使用相同的量化参数,所述量化参数是参考先前处理单位的编码结果而计算得到的。
9. 如权利要求8所述的视频流编码方法,其中在所述编码步骤中,将所述每个处理单位中的多个宏块分别分配给多个协处理元件,以并行地对所分配的宏块执行以下处理中的至少一种运动估计、离散余弦变换、量化、去量化、逆离散余弦变换、和可变长度编码。
10. 如权利要求7所述的视频流编码方法,其中在所述编码步骤中,将多个协处理元件分为两个组,由第一组协处理元件并行地对所述处理单位中的各个宏块执行运动估计、离散余弦变换、量化、去量化、逆离散余弦变换中的至少一种处理,由第二组协处理元件对经所述第一组协处理单元处理的各个宏块并行执行可变长度编码。
11. 如权利要求IO所述的视频流编码方法,其中当第一组处理第n个处理单位中的各个宏块时,第二组处理第n-l个处理单位中的各个宏块,并且第一组在处理第n个处理单位中的各个宏块时所使用的量化参数,来自第二组对第n-2个处理单位中的各个宏块进行可变长度编码的输出。
12. 如权利要求7-11中任一项所述的视频流编码方法,还包括利用扩展的双缓沖器顺序存储对每个宏块进行可变长度编码的输出的步骤,其中当存储的数据长度超过第一緩沖器的存储容量时,该超过部分被存储在第二緩沖器中,并输出第一緩冲器中所存储的数据,当继续存^^者的数据超过第二緩冲器的存储容量时,该超过部分被存储在尾部緩沖器中,并输出第二緩沖器中存储的数据,且把尾部緩冲器中存储的数据转移到第一緩沖器中,由此交替使用所述第 一緩沖器和第二緩冲器。
全文摘要
提出了一种视频流编码装置及其方法,该视频流编码装置包括分割部件,用于将视频流中的帧划分成多个处理单位,每个处理单位包括多个宏块;以及编码部件,用于并行地对每个处理单位中的多个宏块进行编码。可以在编码部件执行量化步骤中对同一处理单位中的各个块使用相同的量化参数。通过本发明的装置和方法,解除了宏块间的依赖性,在对各个宏块进行并行编码的同时,保持了高速率控制精度。
文档编号H04N7/50GK101686388SQ20081016568
公开日2010年3月31日 申请日期2008年9月24日 优先权日2008年9月24日
发明者星 刘, 刘家俊, 佳 王, 高怿之, 鹿宝生 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1