平行编码系统中执行速率控制的方法及平行编码系统.pdf

上传人:000****221 文档编号:470344 上传时间:2018-02-18 格式:PDF 页数:18 大小:1.26MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410089741.1

申请日:

2014.03.12

公开号:

CN104052999A

公开日:

2014.09.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 19/436申请日:20140312|||公开

IPC分类号:

H04N19/436(2014.01)I; H04N19/176(2014.01)I; H04N19/147(2014.01)I

主分类号:

H04N19/436

申请人:

广达电脑股份有限公司

发明人:

马泰奥·佛里哥; 丹尼尔·塞斯·努斯鲍姆

地址:

中国台湾桃园县龟山乡文化村文化二路188号

优先权:

2013.03.14 US 61/785,270; 2014.02.05 US 14/173,259

专利代理机构:

北京中誉威圣知识产权代理有限公司 11279

代理人:

王正茂;丛芳

PDF下载: PDF下载
内容摘要

本发明公开了一种包含多个平行编码器的平行编码系统中执行速率控制的方法及平行编码系统。此方法可包含基于多个平行编码器的平行程度决定多个平行编码器中的一个的量化参数。此方法还可包含提供量化参数至多个平行编码器中的一个以编码视频序列的分块,以基于量化参数产生编码块。

权利要求书

1.  一种包含多个平行编码器的平行编码系统中执行速率控制的方法,其特征在于,包含:
对多个平行编码器中的一个,基于有关所述多个平行编码器的平行程度决定量化参数,其中所述平行程度为对应所述多个平行编码器平行处理的视频序列的分块数量;以及
提供所述量化参数至所述多个平行编码器中的一个,基于所述量化参数对所述视频序列的分块进行编码以产生编码块。

2.
  如权利要求1所述的方法,其特征在于,所述分块数量为对应所述多个平行编码器能够平行处理的所述视频序列的分块最大数量。

3.
  如权利要求2所述的方法,其特征在于,决定所述量化参数还包含:
通过所述多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及
根据所述未完成分块数量增加所述平行程度,其中所述未完成分块数量最大为所述多个平行编码器曾经平行处理的所述分块最大数量。

4.
  如权利要求2所述的方法,其特征在于,决定所述量化参数还包含:
通过所述平行程度分割增益参数以决定所述量化参数,且将分割的结果与错误参数相乘。

5.
  如权利要求4所述的方法,其特征在于,所述方法还包含:
基于所述编码块的所需大小及实际大小,在编码所述视频序列的所述分块后更新所述错误参数。

6.
  一种平行编码系统,其特征在于,包含:
多个平行编码器,其用来编码视频序列的分块;以及
多个速率控制器,其分别用来通过下列方法执行所述多个平行编码器的速率控制:
对所述多个平行编码器中的一个,基于有关所述多个平行编码器的平行程度决定量化参数,其中所述平行程度为对应所述多个平行编码器平行处理的视频序列的分块数量;以及
提供所述量化参数至所述多个平行编码器中的一个,基于所述量化参数对所述视频序列的分块进行编码以产生编码块。

7.
  如权利要求6所述的平行编码系统,其特征在于,所述分块数量为对应所述多个平行编码器能够平行处理的所述视频序列的分块最大数量。

8.
  如权利要求7所述的平行编码系统,其特征在于,各所述多个速率控制器通过下列方法决定所述量化参数:
通过所述多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及
根据所述未完成分块数量增加所述平行程度,其中所述未完成分块数量最大为所述多个平行编码器曾经平行处理的所述分块最大数量。

9.
  如权利要求7所述的平行编码系统,其特征在于,各所述多个速率控制器通过所述平行程度分割增益参数以决定所述量化参数,且将分割的结果与错误参数相乘。

10.
  如权利要求9所述的平行编码系统,其特征在于,各所述多个速率控制器还用来基于所述编码块的所需大小及实际大小,在编码所述视频序列的所述分块后更新所述错误参数。

11.
  如权利要求6所述的平行编码系统,其特征在于,所述多个平行编码器使用下列视频编码标准中的至少一个:MPEG-1、MPEG-2、MPEG-4及H.264/AVC。

12.
  如权利要求6所述的平行编码系统,其特征在于,所述平行编码系统提供云端编码服务至多个远程使用者。

说明书

平行编码系统中执行速率控制的方法及平行编码系统
相关申请案的交互参照
本申请案主张2013年3月14日及2014年2月5日于美国专利商标局分别提出的美国专利临时申请案第61/785,270号及美国专利申请案第14/173,259号的优先权权益,其所公开的内容在此全部纳入以作为参考。
技术领域
本发明涉及一种平行编码系统中执行速率控制的方法及平行编码系统。
背景技术
除非文中另有指出,在此章节中的近似描述非本发明权利要求书的先前技术,且并非承认包含在此章节的先前技术中。
为了在有限频带传输频道传送数码视频帧(video frames),或者使用数码存储设备存储及读取视频帧,当要最小化数据质量(quality)的损失时,会采用压缩技术以降低数据带宽。举例而言,采用MPEG-2压缩技术的编码器接受原始视频帧的输入序列而后输出已编码的视频帧的序列。编码器的控制参数,传统上称为量化参数(Quantization Parameter,QP),其控制编码后的输出质量,即人眼所观看到输出的好坏。
通过熟知的MPEG-2,较低数值的量化参数QP产生较高质量的输出。此外,量化参数QP亦会影响输出的大小,所谓输出的大小为编码输出帧所需要的位数量。然而,由于输出帧的大小为量化参数QP及输入帧的复杂度 (complexity)的函数,因此仅为间接的影响。通常而言,越复杂的视频序列要求越多的位,越高品质要求越多的位。
虽然编码器通过量化参数QP而参数化,实际上很多应用不仅需施加限制在输出质量上,亦得施加限制在输出位的数量上。举例而言,若已编码的视频帧经由每秒可传送N位的网络传送,编码器必须最多每秒产生N位。由于输出位的数量亦会被输入序列的复杂度影响,量化参数QP及输出大小之间的关系为间接的。因此,设定可达成所需的输出速率的量化参数QP通常是困难的。
发明内容
有鉴于上述熟知的问题,本发明的目的就是提供一种包含多个平行编码器的平行编码系统中执行速率控制的方法,包含:对多个平行编码器中的一个,基于有关多个平行编码器的平行程度决定量化参数,其中平行程度为对应多个平行编码器平行处理的视频序列的分块数量;以及提供量化参数至多个平行编码器中的一个,基于量化参数对视频序列的分块进行编码以产生编码块。
前述的分块数量为对应多个平行编码器能够平行处理的视频序列的分块最大数量。
前述的决定量化参数还包含:通过多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及根据未完成分块数量增加平行程度,其中未完成分块数量最大为多个平行编码器曾经平行处理的分块最大数量。
前述的决定量化参数还包含:通过平行程度分割增益参数以决定量化参数,且将分割的结果与错误参数相乘。
此外,前述的方法还包含:基于编码块的所需大小及实际大小,在编码视频序列的分块后更新错误参数。
本发明还提出一种平行编码系统,包含:多个平行编码器,用来编码视频序列的分块;以及多个速率控制器,分别用来通过下列方法执行多个平行编码器的速率控制:对多个平行编码器中的一个,基于有关多个平行编码器的平行程度决定量化参数,其中平行程度为对应多个平行编码器平行处理的视频序列的分块数量;以及提供量化参数至多个平行编码器中的一个,基于量化参数对视频序列的分块进行编码以产生编码块。
前述的分块数量为对应多个平行编码器能够平行处理的视频序列的分块最大数量。
前述的多个速率控制器系通过下列方法决定量化参数:通过多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及根据未完成分块数量增加平行程度,其中未完成分块数量最大为多个平行编码器曾经平行处理的分块最大数量。
前述的多个速率控制器为通过平行程度分割增益参数以决定量化参数,且将分割的结果与错误参数相乘。
前述的多个速率控制器还用来基于编码块的所需大小及实际大小,在编码视频序列的分块后更新错误参数。
前述的多个平行编码器使用下列视频编码标准中的至少一个:MPEG-1、MPEG-2、MPEG-4及H.264/AVC。
前述的平行编码系统提供云端编码服务至多个远程使用者。
为使贵审查员对本发明的技术特征及所达到的技术效果有更进一步的了解与认识,谨佐以较佳的实施例及配合详细的说明如后。
附图说明
图1为根据本发明的至少一些实施例,在包含多个平行编码器的平行编码系统中执行速率控制的示例性过程的流程图;
图2为根据本发明的至少一些实施例,执行速率控制的示例性平行编码系统的示意图;
图3为根据本发明的至少一些实施例,包含图2的速率控制器及编码器的处理单元的详细实施例的示意图;
图4为根据本发明的至少一些实施例,使用图3的速率控制器及编码器执行速率控制的示例性过程的流程图;以及
图5为根据本发明的至少一些实施例,用来在包含多个平行编码器的平行编码系统中执行速率控制的示例性系统。
具体实施方式
在下文的详细描述中,为参照形成下文的一部份的附图。在附图中,相同符号通常表示相同元件,除非文中另有指出。描述于实施方式中的示例性实施例、附图及权利要求书非用来限制性其含义。可适用于其他实施例,且可进行其他变更,而不背离本发明的精神与范畴。将被容易地理解的是,本发明通常在文中所描述的实施例及所示的附图可以不同的型态而广泛地安排、置换、结合及设计,且皆明确地在文中公开。
本发明的全文中,编码器的示例性控制参数,如量化参数(Quantization Parameter,QP),可用来控制编码的输出质量(quality)。术语“速率控制”为表示为维持所欲的传输速率而产生的输出位所对应的量化参数QP的数值。术语“平行编码系统”表示为能够在实质上相同时间使用多个平行编码器执行多个编码操作的系统。
图1为根据本发明的至少一些实施例,在包含多个平行编码器的平行编码系统中执行速率控制的示例性过程的流程图;过程100可包含通过一个或多个结构所示的一个或多个操作、步骤或行为,如步骤110及120。不同的步骤可基于所需的实施而结合成更少的步骤、分割成额外的步骤及/或消除。
在步骤110中,量化参数QP的决定基于有关多个平行编码器的平行程度而得用于多个平行编码器中的一个。平行程度,在全文中亦表示为P,对应于平行处理的多个平行编码器的视频序列的分块(chunks)的数量。在某些实施例中,P可对应于能够平行处理的多个平行编码器视频序列的分块的最大数量。P亦可对应于曾经平行处理的多个平行编码器的视频序列的分块的最大数量。
在步骤120中,量化参数QP被提供至多个平行编码器中的一个,以基于此量化参数QP对视频序列的一个分块编码。
根据本发明的至少一些实施例,基于平行程度所决定的量化参数QP可改善在平行编码系统中的速率控制的稳定度。特别是,由于编码器为独立操作,平行程度可用于速率控制以避免或降低量化参数QP由于平行编码器的大量有效增益而未随时间收敛的可能性。
此外,图1的示例性过程可降低编码时间及增加输出速率,通过促进即时视频编码。图1的示例性过程可用于任何适合的视频应用,如视频通信、安全性、监控及娱乐,且甚至特别有利于更快速的速率控制及编码(如高画质电视(HDTV)、即时视频流串、视频点播(VOD)等)的应用。在其他实施例中,平行编码系统可提供云端编码至多个远程使用者等。
图2为根据本发明的至少一些实施例,可执行图1的速率控制的示例性平行编码系统200的示意图。平行编码系统200包含多个可同时操作的处理单元210。各个处理单元210包含相互影响的速率控制器220及编码器240,以将视频序列206的分块202编码成编码块(encoded chunks)204。
处理单元210,可使用软件、硬件或两者的组合而实施。处理单元210的数量(如N)可取决于应用及基础系统硬件等,为任何适合的数量。在各个处理单元210中,速率控制器220决定编码器240的量化参数QP222的数值,以将分块202编码成编码块204。举例而言,速率控制器1决定编码器1的量化参数QP1,以将分块基于量化参数QP1编码成编码块1等。
本发明的全文中,术语“分块(chunk)”,如分块202,通常可表示视频序 列的一部份,如视频序列206的一部份。举例而言,视频序列206包含多个帧,其更可分割成大区块(macroblocks)(通常为16×16像素,但不限于此大小)及包含任意数量大区块的切片(slices)等。实际上,分块202可为任何适合的大小,大如整个视频帧、小如大区块或任何介于二者之间的大小。当然,分块202可大于整个视频帧或小于大区块。
虽不同处理单元210的分块202以相同大小绘示,其可为不同的大小。举例而言,使用MPEG-2,分块1可为大区块,且分块N可为切片或切片的群组等。如此一来,分块的大小可视为速率控制的单元。分块202可分配至使用任何适合的分配运算方法的不同的处理单元210。
根据本发明的一些实施例,速率控制器220为基于平行编码器240的平行程度来决定量化参数QP222,在图2中平行程度以“P”表示。举例而言,平行程度P224可基于通过平行编码器240平行编码的分块的数量而决定。在平行编码系统220中的量化参数222及平行程度P之间的相互影响涉及速率控制器220及编码器240之间的控制回路的稳定度。
更详细地,在接下来的编码系统中(假设仅具有一个处理单元210的系统,即N=1),分块202为接续地编码。举例而言,当使用MPEG-2编码第i个分块时,速率控制器220设定量化参数QP[i]的数值如下所示:
QP[i]=GAIN*ERROR[i]   (1)
在公式(1)中,GAIN为适当的(通常为正值)常数且在量化参数为QP[i]的质量下执行编码器。编码器240产生大小为ACTUAL[i]位226的编码块204时,不仅取决于QP[i],亦取决于视频序列的复杂度。在编码第i个分块之后,速率控制器220便基于ACTUAL[i]226及所需的第i个分块DESIRED[i]228的大小来更新错误参数ERROR[i]。
ERROR[i+1]=ERROR[i]+(ACTUAL[i]-DESIRED[i])   (2)
ERROR[i+1]用来计算接下来的分块i+1的QP[i+1]。若编码器240有系统地输出相较于所需的更多的位(即ACTUAL[i]>DESIRED[i]),ERROR[i+1]便 随着时间而增长。如此会增加接下来的分块202的量化参数QP222的数值,造成这些分块202使用较少位以完成所需的输出速率。
相较之下,对于图2的N>1编码器的平行编码系统200,分块202(如分块1)与其他分块202(如分块N)同时编码,且不使用其他处理单元210(如处理单元N)的反馈。举例而言,分块1的量化参数QP1不基于反馈ACTUALN而决定。此举在数学上约等同于使用较接下来的步骤中大P倍的GAIN的数值,其中P为被预定来同时执行的分块的最大数量。换言之,若公式(1)中的QP[i]=GAIN*ERROR[i]的计算在各个处理单元210重复执行,系统200的有效增益约为GAIN*P。如此一来,虽GAIN可为接下来的系统的稳定数值,然而平行系统200则并非如此。
此外,下述的实施例为示意GAIN的选择的重要性。以简化及示例为目的,考虑N=1的例子。假设量化参数QP的范围为[0…10],编码器输出(10-QP)位/每分块,ERROR[0]初始为0,GAIN=2且DESIRED=5位/分块。表1显示使用公式(1)及(2)所计算的ERROR[i]、QP[i]、ACTUAL[i]于i=0,…,5的数值:
表1:由于不稳定度而造成量化参数QP的波动

iERROR[i]QP[i]=GAIN*ERROR[i]ACTUAL[i]=10-QP000101510020010351004001055100

上述循环为重复极值在0及10之间波动的量化参数QP,而从未收敛至最佳(optimal)数值如QP=5。在此实施例中,结果GAIN<2的数值最终收敛至量化参数QP的稳定数值,而大于GAIN≥2则从未收敛。如此一来,若GAIN 变得太大,速率控制器220及编码器240之间的控制回路则变得不稳定。
为改善图2的平行编码系统200的稳定度,速率控制器220根据下列公式(3)以基于平行程度P224而决定量化参数QP222:
QP=(GAIN/P)*ERROR   (3)
在某些实施例中且如上所述,平行程度P可为平行编码器240能够平行处理的分块的最大数量。在图2所示的实施例中,平行程度P可高达N,即编码器240的数量。如前所述,若GAIN太大,则控制回路变得不稳定。无论P为何,得通过平行程度P来分割GAIN而达成稳定控制回路的功效。
图3为根据本发明的至少一些实施例,包含速率控制器220及编码器240的处理单元210的详细实施例的示意图。在图2及图3中,虽速率控制器220及编码器240以分别的方块显示,其应被理解的是,速率控制器220亦可为编码器240的一部份。
在图3的实施例中,速率控制器220还包含分别在分块编码执行之前及之后的BEGIN_CHUNK()310及END_CHUNK()320。与图2相同,速率控制器220基于编码器240的平行程度P而决定量化参数QP222(如QPn),以将分块202编码成编码块204。
编码器240可使用任何适合的视频编码标准,如MPEG-1、MPEG-2、MPEG-4、H.264/AVC(先进视频编码(Advanced Video Coding))等。举例而言,MPEG-2视频编码通常包含下列元件:动作估计单元330、动作补偿单元332、转换单元334、量化单元336、反向量化单元338、反向转换单元340、帧存储器单元342、可变长度编码器单元344及输出缓冲单元346。元件330至346可使用任何适合的软件、硬件或两者的组合而实施。
一般而言,视频序列包含相当大量冗余量(redundancies)在帧内部之间,如时间及空间冗余量。帧压缩(intra-frame compression)技术可通过转换编码(transform coding)降低单一帧的空间冗余量,并可通过编码预测帧及目前帧之间的差异以降低空间冗余量。在图3的实施例中,动作估计单元330根据先 前帧以搜寻最佳动作向量,动作补偿单元332用来降低时间冗余量。转换单元334执行转换编码(如离散余弦转换(discrete cosine transform))以编码不同帧的动作补偿预测,以降低空间冗余量。
转换单元334,产生的转换系数通过量化单元336以量化,其结果通过可变长度编码器单元344来编码。编码块204在传输或存储前存储在输出缓冲单元346中。反向量化单元338及反向转换单元340(如反向离散余弦转换(inverse discrete cosine transform))用来重建参照资料以作为后续使用。动作补偿单元330亦可处理参照资料以使用在动作估计单元330中。
在图3的实施例中,当编码器240为了编码分块202而将量化参数QP222的数值发至量化单元336时,编码器240呼叫BEGIN_CHUNK()310以回传量化参数QP222的数值。在编码分块202之后,编码器240呼叫END_CHUNK(ACTUAL)320,其中ACTUAL为用来编码分块202的位实际数量。BEGIN_CHUNK()310及END_CHUNK()320可通过多个分块202的不同的平行编码器240以任何顺序而同时被呼叫,但END_CHUNK()必须在相同分块202的对应的BEGIN_CHUNK()之后被呼叫。
BEGIN_CHUNK()310及END_CHUNK()320可使用任何适合的软件、硬件或两者的组合而实施。举例而言,BEGIN_CHUNK()310及END_CHUNK()320为可被编码器240执行的功能函数。表2为根据本发明的至少一些实施例,显示BEGIN_CHUNK()310及END_CHUNK()320的示例性虚拟码(pseudo-code)。变数OUTSTANDING及P(表2,第3行及第6行)在平行速率控制器220及编码器240之间被引用。
表2:BEGIN_CHUNK()310及END_CHUNK()320之虚拟码



图4为根据本发明的至少一些实施例,使用图2及图3的速率控制器220及编码器240执行速率控制的示例性过程400的流程图。过程400可包含通过一个或多个方块所示的一个或多个操作、步骤或动作,如通过编码器240执行的步骤410至434,及通过速率控制器220执行的步骤412至418及步骤432至434。虽步骤以不同顺序描述,这些步骤亦可同时执行,及/或以文中所述的不同顺序执行。此外,不同的步骤可基于所需的实施而结合成更少的步骤、分割成额外的步骤及/或消除。步骤410至434可针对每一个由编码器240 编码的分块202而重复执行。
在图4的步骤410中,平行编码系统200的编码器240(如编码器n)引发(invoke)BEGIN_CHUNK(),以获得量化参数QP(如QPn)的数值。
在图4的步骤412至418中,速率控制器220(如速率控制器n)执行BEGIN_CHUNK()。在步骤412中(涉及表2的第1至3行及第21行),计数器OUTSTANDING表示编码已经开始但尚未完成的分块的数量,在每次BEGIN_CHUNK()被呼叫时增加(increased)。在步骤414中(涉及表2的第4至6行及第22行),平行程度P初始值为1,且根据OUTSTANDING而增加。举例而言,若有5个平行编码器240,速率控制器220根据OUTSTANDING增加平行程度P的数值,最多增加至最大值5。在步骤416及418中(涉及表2的第23至24行),速率控制器220使用公式(3)决定量化参数QP,并且提供结果至编码器240。
在图4的步骤420中,编码器240(如编码器n)基于通过速率控制器220(如速率控制器n)提供的量化参数QP(如QPn)来编码分块202以产生编码块204。举例而言,如参照图3的解释,可使用动作估计单元330、动作补偿单元332、转换单元334、量化单元336、反向量化单元338、反向转换单元340、帧存储器单元342、可变长度编码器单元344及输出缓冲单元346。
在图4的步骤430中,编码器240(如编码器n)在产生编码块204之后引发END_CHUNK(ACTUAL)。
在步骤432及434中,速率控制器220(如速率控制器n)执行END_CHUNK(ACTUAL)。在步骤432中(涉及表2的第33行),速率控制器220(如速率控制器n)基于编码块204的ACTUAL之大小(size)及DESIRED的大小(size)更新ERROR。在步骤434中(涉及表2之第36行),速率控制器220(如速率控制器n)减少(decrease)计数器OUTSTANDING以指出目前分块的编码处理的完成。如436所指出,由于OUTSTANDING为分享于多个速率控制器220之中的参数(涉及表2的第3行),当下次被引发时,BEGIN_CHUNK()将使用 OUTSTANDING的最新数值。
必须说明的是,任何适合的平行计算技术可用来在各个处理单元210的速率控制器220中实施BEGIN_CHUNK()及END_CHUNK()。举例而言,处理单元210可作为称之为线程(thread)的平行程序来实施。再者,由于BEGIN_CHUNK()及END_CHUNK()可通过多个编码器240而同时呼叫,闩锁L用来提供互斥锁(见表2的第18、25、31、37行)。一般而言,闩锁为程序化语言结构,其允许一个编码器240控制变数且预防其他编码器240读取或写入。举例而言,若一个编码器240锁住变数OUTSTANDING及P,没有其他编码器240可对其更新,以避免资料错误。
上述实施例可通过硬件、软件或固件或其组合而实施。图5为根据本发明的至少一些实施例,用来在操作系统中执行网络内部状态监控(network introspection)的示例性系统。示例性系统500可包含处理器510、存储器520、网络介面装置540及在这些所示的元件及其他元件之中促进连通的总线530。
处理器510执行参照图1至图4在文中所述的过程。虽显示一个处理器510,然而多个处理器510亦可用来实施参照图2及图3所解释的平行编码系统200。存储器520可存储参照图1至图4所述的平行编码系统200中执行速率控制所需的任何信息,如平行编码器240的平行程度(P)及在表2中的其他参数等。存储器520还可存储可通过处理器510执行的机器可读取指令524,以使处理器执行参照图1至图4所述的过程。
文中所述的方法、过程及单元可通过硬件(包含硬件逻辑电路)、软件或固件或其组合而实施。术语“处理器”广泛地解释为包含处理单元ASIC、逻辑单元或可程序化门极阵列等。
上述所介绍的技术可在特殊目的固线式电路(special-purpose hardwired circuitry)、与可程序化电路连接的软件及/或固件或其组合中实施。特殊目的固线式电路可例如为一个或多个特定应用集成电路(application-specific integrated circuits,ASICs)、可程序化逻辑装置(programmable logic devices, PLDs)、可程序化逻辑门阵列(field-programmable gate arrays,FPGAs)及其他的形式。
前文的详细描述已提出经由使用结构图、流程图及/或实施例的装置及/或过程的各种不同的实施例。在此包含一个或多个功能及/或操作的结构图、流程图及/或实施例的范围中,将被本领域技术人员理解的是,在此结构图、流程图或实施例中的各个功能及/或操作可通过广泛地硬件、软件、固件或任何其实际上的组合而独立地及/或合并地实施。
本领域技术人员将理解的是,文中所公开的实施例的整体或部分的某些方面,可在集成电路如在一个或多个电脑上执行的一个或多个计算机程序(如在一个或多个电脑系统上执行的一个或多个程序)、固件或任何其实际上的组合而等同实施,且电路的设计及/或软件及/或固件的代码的编写包含在本发明所公开的范围中。
实施文中所述的技术的软件及/或固件可存储在非暂态电脑可读取存储媒介,且可通过一个或多个通用或特殊目的可程序化微处理器而执行。文中所使用的术语“电脑可读取存储媒介”包含任何以机器(如电脑、网络装置、个人数码助理(PDA)、移动装置、制造工具、一个或多个处理器所构成的任何装置)可存取的形式提供(即存储即/或传输)数据的任何机构。举例而言,电脑可读取存储媒介包含可记录/不可记录媒介(如只读内存read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟存储媒介、光学存储媒介、闪速存储器装置等)。
附图仅为实施例的说明,其中附图中所示的单元或程序并非实施本发明的必要基础。本领域技术人员将理解的是,实施例中的装置的单元可安排在文中所述的实施例的装置中,或者可选择性地位于不同于实施例的一个或多个装置中。所述的实施例中的单元可结合成一个组件或更可分割成多个次单元。
本领域技术人员应当理解,可由上述实施例进行各种变动及/或修改,而 不背离本发明的广泛的范畴。因此,本发明的实施例考虑到所说明的所有方面而不为其所限。

平行编码系统中执行速率控制的方法及平行编码系统.pdf_第1页
第1页 / 共18页
平行编码系统中执行速率控制的方法及平行编码系统.pdf_第2页
第2页 / 共18页
平行编码系统中执行速率控制的方法及平行编码系统.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《平行编码系统中执行速率控制的方法及平行编码系统.pdf》由会员分享,可在线阅读,更多相关《平行编码系统中执行速率控制的方法及平行编码系统.pdf(18页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104052999A43申请公布日20140917CN104052999A21申请号201410089741122申请日2014031261/785,27020130314US14/173,25920140205USH04N19/436201401H04N19/176201401H04N19/14720140171申请人广达电脑股份有限公司地址中国台湾桃园县龟山乡文化村文化二路188号72发明人马泰奥佛里哥丹尼尔塞斯努斯鲍姆74专利代理机构北京中誉威圣知识产权代理有限公司11279代理人王正茂丛芳54发明名称平行编码系统中执行速率控制的方法及平行编码系统57摘要本发明公开了一。

2、种包含多个平行编码器的平行编码系统中执行速率控制的方法及平行编码系统。此方法可包含基于多个平行编码器的平行程度决定多个平行编码器中的一个的量化参数。此方法还可包含提供量化参数至多个平行编码器中的一个以编码视频序列的分块,以基于量化参数产生编码块。30优先权数据51INTCL权利要求书2页说明书10页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图5页10申请公布号CN104052999ACN104052999A1/2页21一种包含多个平行编码器的平行编码系统中执行速率控制的方法,其特征在于,包含对多个平行编码器中的一个,基于有关所述多个平行编码器的平行程度。

3、决定量化参数,其中所述平行程度为对应所述多个平行编码器平行处理的视频序列的分块数量;以及提供所述量化参数至所述多个平行编码器中的一个,基于所述量化参数对所述视频序列的分块进行编码以产生编码块。2如权利要求1所述的方法,其特征在于,所述分块数量为对应所述多个平行编码器能够平行处理的所述视频序列的分块最大数量。3如权利要求2所述的方法,其特征在于,决定所述量化参数还包含通过所述多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及根据所述未完成分块数量增加所述平行程度,其中所述未完成分块数量最大为所述多个平行编码器曾经平行处理的所述分块最大数量。4如权利要求2所述的方法,其特征在于,决定所述。

4、量化参数还包含通过所述平行程度分割增益参数以决定所述量化参数,且将分割的结果与错误参数相乘。5如权利要求4所述的方法,其特征在于,所述方法还包含基于所述编码块的所需大小及实际大小,在编码所述视频序列的所述分块后更新所述错误参数。6一种平行编码系统,其特征在于,包含多个平行编码器,其用来编码视频序列的分块;以及多个速率控制器,其分别用来通过下列方法执行所述多个平行编码器的速率控制对所述多个平行编码器中的一个,基于有关所述多个平行编码器的平行程度决定量化参数,其中所述平行程度为对应所述多个平行编码器平行处理的视频序列的分块数量;以及提供所述量化参数至所述多个平行编码器中的一个,基于所述量化参数对所。

5、述视频序列的分块进行编码以产生编码块。7如权利要求6所述的平行编码系统,其特征在于,所述分块数量为对应所述多个平行编码器能够平行处理的所述视频序列的分块最大数量。8如权利要求7所述的平行编码系统,其特征在于,各所述多个速率控制器通过下列方法决定所述量化参数通过所述多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及根据所述未完成分块数量增加所述平行程度,其中所述未完成分块数量最大为所述多个平行编码器曾经平行处理的所述分块最大数量。9如权利要求7所述的平行编码系统,其特征在于,各所述多个速率控制器通过所述平行程度分割增益参数以决定所述量化参数,且将分割的结果与错误参数相乘。10如权利要求。

6、9所述的平行编码系统,其特征在于,各所述多个速率控制器还用来基于所述编码块的所需大小及实际大小,在编码所述视频序列的所述分块后更新所述错误参数。11如权利要求6所述的平行编码系统,其特征在于,所述多个平行编码器使用下列视权利要求书CN104052999A2/2页3频编码标准中的至少一个MPEG1、MPEG2、MPEG4及H264/AVC。12如权利要求6所述的平行编码系统,其特征在于,所述平行编码系统提供云端编码服务至多个远程使用者。权利要求书CN104052999A1/10页4平行编码系统中执行速率控制的方法及平行编码系统0001相关申请案的交互参照0002本申请案主张2013年3月14日及。

7、2014年2月5日于美国专利商标局分别提出的美国专利临时申请案第61/785,270号及美国专利申请案第14/173,259号的优先权权益,其所公开的内容在此全部纳入以作为参考。技术领域0003本发明涉及一种平行编码系统中执行速率控制的方法及平行编码系统。背景技术0004除非文中另有指出,在此章节中的近似描述非本发明权利要求书的先前技术,且并非承认包含在此章节的先前技术中。0005为了在有限频带传输频道传送数码视频帧VIDEOFRAMES,或者使用数码存储设备存储及读取视频帧,当要最小化数据质量QUALITY的损失时,会采用压缩技术以降低数据带宽。举例而言,采用MPEG2压缩技术的编码器接受原。

8、始视频帧的输入序列而后输出已编码的视频帧的序列。编码器的控制参数,传统上称为量化参数QUANTIZATIONPARAMETER,QP,其控制编码后的输出质量,即人眼所观看到输出的好坏。0006通过熟知的MPEG2,较低数值的量化参数QP产生较高质量的输出。此外,量化参数QP亦会影响输出的大小,所谓输出的大小为编码输出帧所需要的位数量。然而,由于输出帧的大小为量化参数QP及输入帧的复杂度COMPLEXITY的函数,因此仅为间接的影响。通常而言,越复杂的视频序列要求越多的位,越高品质要求越多的位。0007虽然编码器通过量化参数QP而参数化,实际上很多应用不仅需施加限制在输出质量上,亦得施加限制在输。

9、出位的数量上。举例而言,若已编码的视频帧经由每秒可传送N位的网络传送,编码器必须最多每秒产生N位。由于输出位的数量亦会被输入序列的复杂度影响,量化参数QP及输出大小之间的关系为间接的。因此,设定可达成所需的输出速率的量化参数QP通常是困难的。发明内容0008有鉴于上述熟知的问题,本发明的目的就是提供一种包含多个平行编码器的平行编码系统中执行速率控制的方法,包含对多个平行编码器中的一个,基于有关多个平行编码器的平行程度决定量化参数,其中平行程度为对应多个平行编码器平行处理的视频序列的分块数量;以及提供量化参数至多个平行编码器中的一个,基于量化参数对视频序列的分块进行编码以产生编码块。0009前述。

10、的分块数量为对应多个平行编码器能够平行处理的视频序列的分块最大数量。0010前述的决定量化参数还包含通过多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及根据未完成分块数量增加平行程度,其中未完成分块数量最大为多说明书CN104052999A2/10页5个平行编码器曾经平行处理的分块最大数量。0011前述的决定量化参数还包含通过平行程度分割增益参数以决定量化参数,且将分割的结果与错误参数相乘。0012此外,前述的方法还包含基于编码块的所需大小及实际大小,在编码视频序列的分块后更新错误参数。0013本发明还提出一种平行编码系统,包含多个平行编码器,用来编码视频序列的分块;以及多个速率控。

11、制器,分别用来通过下列方法执行多个平行编码器的速率控制对多个平行编码器中的一个,基于有关多个平行编码器的平行程度决定量化参数,其中平行程度为对应多个平行编码器平行处理的视频序列的分块数量;以及提供量化参数至多个平行编码器中的一个,基于量化参数对视频序列的分块进行编码以产生编码块。0014前述的分块数量为对应多个平行编码器能够平行处理的视频序列的分块最大数量。0015前述的多个速率控制器系通过下列方法决定量化参数通过多个平行编码器决定已编码开始但尚未完成的未完成分块数量;以及根据未完成分块数量增加平行程度,其中未完成分块数量最大为多个平行编码器曾经平行处理的分块最大数量。0016前述的多个速率控。

12、制器为通过平行程度分割增益参数以决定量化参数,且将分割的结果与错误参数相乘。0017前述的多个速率控制器还用来基于编码块的所需大小及实际大小,在编码视频序列的分块后更新错误参数。0018前述的多个平行编码器使用下列视频编码标准中的至少一个MPEG1、MPEG2、MPEG4及H264/AVC。0019前述的平行编码系统提供云端编码服务至多个远程使用者。0020为使贵审查员对本发明的技术特征及所达到的技术效果有更进一步的了解与认识,谨佐以较佳的实施例及配合详细的说明如后。附图说明0021图1为根据本发明的至少一些实施例,在包含多个平行编码器的平行编码系统中执行速率控制的示例性过程的流程图;0022。

13、图2为根据本发明的至少一些实施例,执行速率控制的示例性平行编码系统的示意图;0023图3为根据本发明的至少一些实施例,包含图2的速率控制器及编码器的处理单元的详细实施例的示意图;0024图4为根据本发明的至少一些实施例,使用图3的速率控制器及编码器执行速率控制的示例性过程的流程图;以及0025图5为根据本发明的至少一些实施例,用来在包含多个平行编码器的平行编码系统中执行速率控制的示例性系统。具体实施方式0026在下文的详细描述中,为参照形成下文的一部份的附图。在附图中,相同符号通常说明书CN104052999A3/10页6表示相同元件,除非文中另有指出。描述于实施方式中的示例性实施例、附图及权。

14、利要求书非用来限制性其含义。可适用于其他实施例,且可进行其他变更,而不背离本发明的精神与范畴。将被容易地理解的是,本发明通常在文中所描述的实施例及所示的附图可以不同的型态而广泛地安排、置换、结合及设计,且皆明确地在文中公开。0027本发明的全文中,编码器的示例性控制参数,如量化参数QUANTIZATIONPARAMETER,QP,可用来控制编码的输出质量QUALITY。术语“速率控制”为表示为维持所欲的传输速率而产生的输出位所对应的量化参数QP的数值。术语“平行编码系统”表示为能够在实质上相同时间使用多个平行编码器执行多个编码操作的系统。0028图1为根据本发明的至少一些实施例,在包含多个平行。

15、编码器的平行编码系统中执行速率控制的示例性过程的流程图;过程100可包含通过一个或多个结构所示的一个或多个操作、步骤或行为,如步骤110及120。不同的步骤可基于所需的实施而结合成更少的步骤、分割成额外的步骤及/或消除。0029在步骤110中,量化参数QP的决定基于有关多个平行编码器的平行程度而得用于多个平行编码器中的一个。平行程度,在全文中亦表示为P,对应于平行处理的多个平行编码器的视频序列的分块CHUNKS的数量。在某些实施例中,P可对应于能够平行处理的多个平行编码器视频序列的分块的最大数量。P亦可对应于曾经平行处理的多个平行编码器的视频序列的分块的最大数量。0030在步骤120中,量化参。

16、数QP被提供至多个平行编码器中的一个,以基于此量化参数QP对视频序列的一个分块编码。0031根据本发明的至少一些实施例,基于平行程度所决定的量化参数QP可改善在平行编码系统中的速率控制的稳定度。特别是,由于编码器为独立操作,平行程度可用于速率控制以避免或降低量化参数QP由于平行编码器的大量有效增益而未随时间收敛的可能性。0032此外,图1的示例性过程可降低编码时间及增加输出速率,通过促进即时视频编码。图1的示例性过程可用于任何适合的视频应用,如视频通信、安全性、监控及娱乐,且甚至特别有利于更快速的速率控制及编码如高画质电视HDTV、即时视频流串、视频点播VOD等的应用。在其他实施例中,平行编码。

17、系统可提供云端编码至多个远程使用者等。0033图2为根据本发明的至少一些实施例,可执行图1的速率控制的示例性平行编码系统200的示意图。平行编码系统200包含多个可同时操作的处理单元210。各个处理单元210包含相互影响的速率控制器220及编码器240,以将视频序列206的分块202编码成编码块ENCODEDCHUNKS204。0034处理单元210,可使用软件、硬件或两者的组合而实施。处理单元210的数量如N可取决于应用及基础系统硬件等,为任何适合的数量。在各个处理单元210中,速率控制器220决定编码器240的量化参数QP222的数值,以将分块202编码成编码块204。举例而言,速率控制器。

18、1决定编码器1的量化参数QP1,以将分块基于量化参数QP1编码成编码块1等。0035本发明的全文中,术语“分块CHUNK”,如分块202,通常可表示视频序列的一部份,如视频序列206的一部份。举例而言,视频序列206包含多个帧,其更可分割成大区块MACROBLOCKS通常为1616像素,但不限于此大小及包含任意数量大区块的切片说明书CN104052999A4/10页7SLICES等。实际上,分块202可为任何适合的大小,大如整个视频帧、小如大区块或任何介于二者之间的大小。当然,分块202可大于整个视频帧或小于大区块。0036虽不同处理单元210的分块202以相同大小绘示,其可为不同的大小。举例。

19、而言,使用MPEG2,分块1可为大区块,且分块N可为切片或切片的群组等。如此一来,分块的大小可视为速率控制的单元。分块202可分配至使用任何适合的分配运算方法的不同的处理单元210。0037根据本发明的一些实施例,速率控制器220为基于平行编码器240的平行程度来决定量化参数QP222,在图2中平行程度以“P”表示。举例而言,平行程度P224可基于通过平行编码器240平行编码的分块的数量而决定。在平行编码系统220中的量化参数222及平行程度P之间的相互影响涉及速率控制器220及编码器240之间的控制回路的稳定度。0038更详细地,在接下来的编码系统中假设仅具有一个处理单元210的系统,即N1。

20、,分块202为接续地编码。举例而言,当使用MPEG2编码第I个分块时,速率控制器220设定量化参数QPI的数值如下所示0039QPIGAINERRORI10040在公式1中,GAIN为适当的通常为正值常数且在量化参数为QPI的质量下执行编码器。编码器240产生大小为ACTUALI位226的编码块204时,不仅取决于QPI,亦取决于视频序列的复杂度。在编码第I个分块之后,速率控制器220便基于ACTUALI226及所需的第I个分块DESIREDI228的大小来更新错误参数ERRORI。0041ERRORI1ERRORIACTUALIDESIREDI20042ERRORI1用来计算接下来的分块I1。

21、的QPI1。若编码器240有系统地输出相较于所需的更多的位即ACTUALIDESIREDI,ERRORI1便随着时间而增长。如此会增加接下来的分块202的量化参数QP222的数值,造成这些分块202使用较少位以完成所需的输出速率。0043相较之下,对于图2的N1编码器的平行编码系统200,分块202如分块1与其他分块202如分块N同时编码,且不使用其他处理单元210如处理单元N的反馈。举例而言,分块1的量化参数QP1不基于反馈ACTUALN而决定。此举在数学上约等同于使用较接下来的步骤中大P倍的GAIN的数值,其中P为被预定来同时执行的分块的最大数量。换言之,若公式1中的QPIGAINERRO。

22、RI的计算在各个处理单元210重复执行,系统200的有效增益约为GAINP。如此一来,虽GAIN可为接下来的系统的稳定数值,然而平行系统200则并非如此。0044此外,下述的实施例为示意GAIN的选择的重要性。以简化及示例为目的,考虑N1的例子。假设量化参数QP的范围为010,编码器输出10QP位/每分块,ERROR0初始为0,GAIN2且DESIRED5位/分块。表1显示使用公式1及2所计算的ERRORI、QPI、ACTUALI于I0,5的数值0045表1由于不稳定度而造成量化参数QP的波动0046说明书CN104052999A5/10页8IERRORIQPIGAINERRORIACTUAL。

23、I10QP0001015100200103510040010551000047上述循环为重复极值在0及10之间波动的量化参数QP,而从未收敛至最佳OPTIMAL数值如QP5。在此实施例中,结果GAIN2的数值最终收敛至量化参数QP的稳定数值,而大于GAIN2则从未收敛。如此一来,若GAIN变得太大,速率控制器220及编码器240之间的控制回路则变得不稳定。0048为改善图2的平行编码系统200的稳定度,速率控制器220根据下列公式3以基于平行程度P224而决定量化参数QP2220049QPGAIN/PERROR30050在某些实施例中且如上所述,平行程度P可为平行编码器240能够平行处理的分块。

24、的最大数量。在图2所示的实施例中,平行程度P可高达N,即编码器240的数量。如前所述,若GAIN太大,则控制回路变得不稳定。无论P为何,得通过平行程度P来分割GAIN而达成稳定控制回路的功效。0051图3为根据本发明的至少一些实施例,包含速率控制器220及编码器240的处理单元210的详细实施例的示意图。在图2及图3中,虽速率控制器220及编码器240以分别的方块显示,其应被理解的是,速率控制器220亦可为编码器240的一部份。0052在图3的实施例中,速率控制器220还包含分别在分块编码执行之前及之后的BEGIN_CHUNK310及END_CHUNK320。与图2相同,速率控制器220基于编。

25、码器240的平行程度P而决定量化参数QP222如QPN,以将分块202编码成编码块204。0053编码器240可使用任何适合的视频编码标准,如MPEG1、MPEG2、MPEG4、H264/AVC先进视频编码ADVANCEDVIDEOCODING等。举例而言,MPEG2视频编码通常包含下列元件动作估计单元330、动作补偿单元332、转换单元334、量化单元336、反向量化单元338、反向转换单元340、帧存储器单元342、可变长度编码器单元344及输出缓冲单元346。元件330至346可使用任何适合的软件、硬件或两者的组合而实施。0054一般而言,视频序列包含相当大量冗余量REDUNDANCIE。

26、S在帧内部之间,如时间及空间冗余量。帧压缩INTRAFRAMECOMPRESSION技术可通过转换编码TRANSFORMCODING降低单一帧的空间冗余量,并可通过编码预测帧及目前帧之间的差异以降低空间冗余量。在图3的实施例中,动作估计单元330根据先前帧以搜寻最佳动作向量,动作补偿单元332用来降低时间冗余量。转换单元334执行转换编码如离散余弦转换DISCRETECOSINETRANSFORM以编码不同帧的动作补偿预测,以降低空间冗余量。说明书CN104052999A6/10页90055转换单元334,产生的转换系数通过量化单元336以量化,其结果通过可变长度编码器单元344来编码。编码块。

27、204在传输或存储前存储在输出缓冲单元346中。反向量化单元338及反向转换单元340如反向离散余弦转换INVERSEDISCRETECOSINETRANSFORM用来重建参照资料以作为后续使用。动作补偿单元330亦可处理参照资料以使用在动作估计单元330中。0056在图3的实施例中,当编码器240为了编码分块202而将量化参数QP222的数值发至量化单元336时,编码器240呼叫BEGIN_CHUNK310以回传量化参数QP222的数值。在编码分块202之后,编码器240呼叫END_CHUNKACTUAL320,其中ACTUAL为用来编码分块202的位实际数量。BEGIN_CHUNK310及。

28、END_CHUNK320可通过多个分块202的不同的平行编码器240以任何顺序而同时被呼叫,但END_CHUNK必须在相同分块202的对应的BEGIN_CHUNK之后被呼叫。0057BEGIN_CHUNK310及END_CHUNK320可使用任何适合的软件、硬件或两者的组合而实施。举例而言,BEGIN_CHUNK310及END_CHUNK320为可被编码器240执行的功能函数。表2为根据本发明的至少一些实施例,显示BEGIN_CHUNK310及END_CHUNK320的示例性虚拟码PSEUDOCODE。变数OUTSTANDING及P表2,第3行及第6行在平行速率控制器220及编码器240之间被。

29、引用。0058表2BEGIN_CHUNK310及END_CHUNK320之虚拟码00590060说明书CN104052999A7/10页100061说明书CN104052999A108/10页110062图4为根据本发明的至少一些实施例,使用图2及图3的速率控制器220及编码器240执行速率控制的示例性过程400的流程图。过程400可包含通过一个或多个方块所示的一个或多个操作、步骤或动作,如通过编码器240执行的步骤410至434,及通过速率控制器220执行的步骤412至418及步骤432至434。虽步骤以不同顺序描述,这些步骤亦可同时执行,及/或以文中所述的不同顺序执行。此外,不同的步骤可基。

30、于所需的实施而结合成更少的步骤、分割成额外的步骤及/或消除。步骤410至434可针对每一个由编码器240编码的分块202而重复执行。0063在图4的步骤410中,平行编码系统200的编码器240如编码器N引发INVOKEBEGIN_CHUNK,以获得量化参数QP如QPN的数值。说明书CN104052999A119/10页120064在图4的步骤412至418中,速率控制器220如速率控制器N执行BEGIN_CHUNK。在步骤412中涉及表2的第1至3行及第21行,计数器OUTSTANDING表示编码已经开始但尚未完成的分块的数量,在每次BEGIN_CHUNK被呼叫时增加INCREASED。在步。

31、骤414中涉及表2的第4至6行及第22行,平行程度P初始值为1,且根据OUTSTANDING而增加。举例而言,若有5个平行编码器240,速率控制器220根据OUTSTANDING增加平行程度P的数值,最多增加至最大值5。在步骤416及418中涉及表2的第23至24行,速率控制器220使用公式3决定量化参数QP,并且提供结果至编码器240。0065在图4的步骤420中,编码器240如编码器N基于通过速率控制器220如速率控制器N提供的量化参数QP如QPN来编码分块202以产生编码块204。举例而言,如参照图3的解释,可使用动作估计单元330、动作补偿单元332、转换单元334、量化单元336、反。

32、向量化单元338、反向转换单元340、帧存储器单元342、可变长度编码器单元344及输出缓冲单元346。0066在图4的步骤430中,编码器240如编码器N在产生编码块204之后引发END_CHUNKACTUAL。0067在步骤432及434中,速率控制器220如速率控制器N执行END_CHUNKACTUAL。在步骤432中涉及表2的第33行,速率控制器220如速率控制器N基于编码块204的ACTUAL之大小SIZE及DESIRED的大小SIZE更新ERROR。在步骤434中涉及表2之第36行,速率控制器220如速率控制器N减少DECREASE计数器OUTSTANDING以指出目前分块的编码处。

33、理的完成。如436所指出,由于OUTSTANDING为分享于多个速率控制器220之中的参数涉及表2的第3行,当下次被引发时,BEGIN_CHUNK将使用OUTSTANDING的最新数值。0068必须说明的是,任何适合的平行计算技术可用来在各个处理单元210的速率控制器220中实施BEGIN_CHUNK及END_CHUNK。举例而言,处理单元210可作为称之为线程THREAD的平行程序来实施。再者,由于BEGIN_CHUNK及END_CHUNK可通过多个编码器240而同时呼叫,闩锁L用来提供互斥锁见表2的第18、25、31、37行。一般而言,闩锁为程序化语言结构,其允许一个编码器240控制变数且。

34、预防其他编码器240读取或写入。举例而言,若一个编码器240锁住变数OUTSTANDING及P,没有其他编码器240可对其更新,以避免资料错误。0069上述实施例可通过硬件、软件或固件或其组合而实施。图5为根据本发明的至少一些实施例,用来在操作系统中执行网络内部状态监控NETWORKINTROSPECTION的示例性系统。示例性系统500可包含处理器510、存储器520、网络介面装置540及在这些所示的元件及其他元件之中促进连通的总线530。0070处理器510执行参照图1至图4在文中所述的过程。虽显示一个处理器510,然而多个处理器510亦可用来实施参照图2及图3所解释的平行编码系统200。。

35、存储器520可存储参照图1至图4所述的平行编码系统200中执行速率控制所需的任何信息,如平行编码器240的平行程度P及在表2中的其他参数等。存储器520还可存储可通过处理器510执行的机器可读取指令524,以使处理器执行参照图1至图4所述的过程。0071文中所述的方法、过程及单元可通过硬件包含硬件逻辑电路、软件或固件或其组合而实施。术语“处理器”广泛地解释为包含处理单元ASIC、逻辑单元或可程序化门极阵说明书CN104052999A1210/10页13列等。0072上述所介绍的技术可在特殊目的固线式电路SPECIALPURPOSEHARDWIREDCIRCUITRY、与可程序化电路连接的软件及。

36、/或固件或其组合中实施。特殊目的固线式电路可例如为一个或多个特定应用集成电路APPLICATIONSPECIFICINTEGRATEDCIRCUITS,ASICS、可程序化逻辑装置PROGRAMMABLELOGICDEVICES,PLDS、可程序化逻辑门阵列FIELDPROGRAMMABLEGATEARRAYS,FPGAS及其他的形式。0073前文的详细描述已提出经由使用结构图、流程图及/或实施例的装置及/或过程的各种不同的实施例。在此包含一个或多个功能及/或操作的结构图、流程图及/或实施例的范围中,将被本领域技术人员理解的是,在此结构图、流程图或实施例中的各个功能及/或操作可通过广泛地硬件、。

37、软件、固件或任何其实际上的组合而独立地及/或合并地实施。0074本领域技术人员将理解的是,文中所公开的实施例的整体或部分的某些方面,可在集成电路如在一个或多个电脑上执行的一个或多个计算机程序如在一个或多个电脑系统上执行的一个或多个程序、固件或任何其实际上的组合而等同实施,且电路的设计及/或软件及/或固件的代码的编写包含在本发明所公开的范围中。0075实施文中所述的技术的软件及/或固件可存储在非暂态电脑可读取存储媒介,且可通过一个或多个通用或特殊目的可程序化微处理器而执行。文中所使用的术语“电脑可读取存储媒介”包含任何以机器如电脑、网络装置、个人数码助理PDA、移动装置、制造工具、一个或多个处理。

38、器所构成的任何装置可存取的形式提供即存储即/或传输数据的任何机构。举例而言,电脑可读取存储媒介包含可记录/不可记录媒介如只读内存READONLYMEMORY,ROM、随机存取存储器RANDOMACCESSMEMORY,RAM、磁碟存储媒介、光学存储媒介、闪速存储器装置等。0076附图仅为实施例的说明,其中附图中所示的单元或程序并非实施本发明的必要基础。本领域技术人员将理解的是,实施例中的装置的单元可安排在文中所述的实施例的装置中,或者可选择性地位于不同于实施例的一个或多个装置中。所述的实施例中的单元可结合成一个组件或更可分割成多个次单元。0077本领域技术人员应当理解,可由上述实施例进行各种变动及/或修改,而不背离本发明的广泛的范畴。因此,本发明的实施例考虑到所说明的所有方面而不为其所限。说明书CN104052999A131/5页14图1说明书附图CN104052999A142/5页15图2说明书附图CN104052999A153/5页16图3说明书附图CN104052999A164/5页17图4说明书附图CN104052999A175/5页18图5说明书附图CN104052999A18。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1