Processing

Please wait...

Settings

Settings

Goto Application

1. CN110099281 - Method of block vector prediction for intra block copy mode coding

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ ZH ]
用于块内复制模式编码的块向量预测方法


【交叉引用】
本申请要求申请日为2014年5月6日,美国临时申请号为61/989,055的美国临时申请案和申请日为2014年6月23日,美国临时申请号为62/015,711的美国临时申请案的优先权,上述临时申请案的内容一并并入本申请。
【技术领域】
本发明有关于使用块内复制(Intra-block copy,简写为IntraBC)模式的视频编码。具体地,本发明有关于用于改进用于屏幕内容编码或视频编码的块内复制(IntraBC)编码模式的性能的技术。
【背景技术】
在当前针对高效率视频编码(High Efficiency Video Coding,简写为HEVC)标准的范围扩展(range extension,简写为RExt)或屏幕内容编码的开发中,一些工具由于其对于屏幕内容的编码效率的改进而已经被采用。对于帧内块(Intra block),使用基于来自相邻块的重构像素的预测来执行根据常规方法的帧内预测(Intra prediction)。帧内预测可从一组帧内模式中选择帧内模式,帧内模式包括垂直模式、水平模式和各种角度预测模式。对于HEVC范围扩展和屏幕内容编码,已经使用了称为块内复制(IntraBC)的新的帧内编码模式。2013年4月18-26日,韩国仁川举行的视频编码联合协作小组(Joint CollaborativeTeam on Video Coding,简写为JCT-VC)ITU-TSG16WP3和ISO/IECJTC1/SC29/WG11第13次会议中,Budagavi在AHG8:使用帧内运动补偿的视频编码(Video coding using Intramotion compensation)中最初提出的IntraBC技术,文献:JCTVC-M0350(以下称为JCTVC-M0350)。图1中示出了根据JCTVC-M0350的范例,其中使用帧内运动补偿(motioncompensation,简写为MC)(即块内复制(IntraBC))对当前编码单元(CU,110)进行编码。预测块(120)由当前CU和位移向量(displacement vector)(112)来定位。在该示例中,搜索区域限于当前编码树单元(coding tree unit,简写为CTU)、左CTU和左左CTU。从已经重构的区域获得预测块。然后,对当前CU的位移向量(也称为运动向量(motion vector,简写为MV))和残差进行编码。众所周知,HEVC采用CTU和CU块结构作为用于对视频数据进行编码的基本单元。每个图像被分成CTU,并且每个CTU被简单地划分成CU。在预测阶段期间,每个CU可以被划分为多个块,称为预测单元(prediction unit,简写为PU),用于执行预测处理。在针对每一CU形成预测残余之后,将与每一CU相关联的残余划分为多个块,称为变换单元(transform unit,简写为TU)以应用变换(例如离散余弦变换(discrete cosinetransform,简写为DCT))。
在JCTVC-M0350中,在至少以下区域,其中使用帧内运动补偿与帧间预测的运动补偿不同:
·对于帧内运动补偿(即,水平或垂直),MV被限制为1-D,而帧间预测使用2-D运动估计。
·对于帧内运动补偿,二进制化是固定长度,而帧间预测使用哥伦布指数(exponential-Golomb)。
·帧内运动补偿引入了一个新的语法元素来指示MV是水平还是垂直。
基于JCTVC-M0350,在2013年7月25日-8月2日,在维也纳举行的JCT-VCITU-TSG16WP3和ISO/IECJTC1/SC29/WG11第14次会议中,在Non-RCE3:具有2-D MV的帧内运动补偿(Intra Motion Compensation with 2-DMVs)中,Pang等人公开了一些修改,文件:JCTVC-N0256(以下称为JCTVC-N0256)。首先,帧内MC被扩展以支持2-D MV,使得两个MV分量可以同时是非零的。这为帧内MC提供了比原始方法更多的灵活性,其中MV被限制为严格水平或垂直。
在JCTVC-N0256中,公开了两种MV编码方法:
方法1:运动向量预测。选择左或上MV作为MV预测值,并对所得到的运动向量差(motion vector difference,简写为MVD)进行编码。使用标志来指示MVD是否为零。当MVD不为零时,使用3阶的哥伦布指数码来对MVD的剩余绝对水平(remaining absolute level)进行编码。另一个标志用于对符号进行编码。
方法2:无运动向量预测。MV使用用于HEVC中的MVD的哥伦布指数码来编码。
JCTVC-N0256中公开的另一个差异是,2-D帧内运动补偿进一步与流水线友好方法组合:
1.不使用插值滤波器,
2.MV搜索区域受到限制。公开了两种情况:
a.搜索区域是当前CTU和左CTU或
b.搜索区域是当前CTU和左CTU的最右边4列样本。
在JCTVC-N0256中提出的方法中,在新版本草案标准中采用2-D帧内运动补偿、去除插值滤波器和对当前CTU和左CTU的搜索区域约束。
在IntraBC模式编码中,对于每个IntraBC模式编码块,必须用信号发送块向量(block vector,简写为BV),并且与BV信令相关联的数据量可以是巨大的。期望开发用于BV的有效编码方法。
【发明内容】
根据本发明,公开了一种用于视频编码系统中的块内复制模式编码块的块向量(BV)预测的方法。多个块向量候选列表从当前块的相邻块导出。选择块向量候选列表作为当前块的块向量的块向量预测值。基于根据当前块的块向量定位的帧内参考块来对当前块进行编码。
在一个实施例中,多个块向量候选列表对应于第一块向量候选列表和第二块向量候选列表。根据第一位置相关优先级顺序从所选择的第一位置中的一个或多个第一相邻块产生第一块向量候选列表,并且根据第二位置相关优先级顺序从所选择的第二位置中的一个或多个第二相邻块产生第二块向量候选列表。第一块向量候选列表由来自使用块内复制模式编码的第一可用第一相邻块的BV填充,并且第二块向量候选列表由使用块内复制模式编码的第一可用第二相邻块的BV填充。例如,第一相邻块可以对应于当前块的左下(LB)位置处的单个第一空间相邻块,并且第二相邻块可以对应于在右上方(LB)位置处的单个第二空间相邻块(AR)位置。在两个块向量候选列表的情况下,索引对应于在第一块向量候选列表和第二块向量候选列表之间选择的1比特位代码。
当在第二块向量候选列表生成之前生成第一块向量候选列表,并且如果第一块向量候选列表不能从所选择的第一位置中的第一相邻块填充,则所选择的第二位置中的第二相邻块用于填充第一块向量候选列表。如果从所选择的第一位置中的第一相邻块或者所选择的第一位置中的第一相邻块和所选择的第二位置中的第二相邻块两者中找不到可用的BV候选,则默认BV用于第一块向量候选列表。此外,如果从所选择的第二位置中的第二相邻块没有找到用于第二块向量候选列表的可用BV候选,则默认BV用于第二块向量候选列表。
每个块向量候选列表根据位置相关的优先级顺序从所选位置中的相邻块生成。如果在与块向量候选列表相关联的所选位置中没有相邻块可用于填充块向量候选列表,则默认BV可以用于块向量候选列表。例如,默认BV可以从包括(0,0)、(-2w,0)、(-w,0)、(0,-2w)和(0,-w)的组中选择,其中w对应于块宽度。
在另一个实施例中,如果在与块向量候选列表相关联的所选位置中没有相邻块可用于填充块向量候选列表,则对应于先前块内复制模式编码块的替代BV可以用于块向量候选列表。如果使用两个块向量候选列表,则可使用两个缓冲器来存储对应于先前块内复制模式编码块的替代BV。存储在两个缓冲器中的BV是不同的。可使用对应于(-2w,0)和(-w,0)的两个初始BV值来初始化两个缓冲器,其中w对应于块宽度。多块向量候选列表可对应于一个块向量候选列表,且一个缓冲器用于存储对应于先前块内复制模式编码块的替代BV。
块向量候选列表可以包括从当前块的一个或多个时间相邻块导出的时间块向量候选列表。时间相邻块可以对应于从包括在当前图片的共同位置图片中的中心(CTR)块,外右下(BR)块,左上角(UL)块和内右下(BR2)块的组中选择的一个或多个共同位置块。此外,块向量候选列表可以包括从由一个或多个空间块向量候选列表、一个或多个时间块向量候选列表和对应于一个或多个先前编码的BV的一个或多个储存的块向量候选列表组成的组中选择的两个或更多块向量候选列表。可以通过将一个或多个新块向量候选列表添加到先前的BVP列表来导出块向量候选列表构建BV预测值(BVP)列表。在向先前的BVP列表添加一个或多个新块向量候选列表之前或之后,可以修剪BVP列表以删除任何冗余块向量候选列表。如果最终BVP列表的大小大于N,则仅使用最终BVP列表的N个块向量候选列表,其中N是大于1的整数。如果最终BVP列表的大小小于N,则将一个或多个预定义的BV添加到最终BVP列表。预定义的BV可以对应于从包括(0,0)、(-2w,0)、(-w,0)、(-1.5w,0)、(0,-2w)、(0,-w)和(0,-1.5w)的组中选择的一个或多个预定义值,其中w对应于块宽度。
【附图说明】
图1示出了根据块内复制模式的帧内运动补偿的示例,其中使用水平位移向量。
图2说明用于高效率视频译码中的高级MVP的运动向量预测候选者集合。
图3示出了根据本发明实施例的用于导出块向量候选列表的相邻块的示例。
图4示出根据本发明实施例的并入块向量预测的块内复制模式编码的示例性流程图。
图5示出了根据本发明实施例的并入块向量预测的块内复制模式解码的示例性流程图。
【具体实施方式】
为了提高对使用块内复制(IntraBC)模式编码的块的块向量(BV)编码的性能,本发明公开了用于BV预测的多个块向量候选列表的使用。
在共同未决的PCT申请(序列号PCT/CN2015/073225)中,公开了一种使用高级运动向量预测(advanced motion vector prediction,简写为AMVP)在IntraBC模式中编码的BV的块向量预测的方法,其中与相邻块相关联的块向量用作当前块向量的块向量预测候选。在HEVC中,除了空间高级运动向量预测值之外,时间MV预测值也用于片间(inter-slice)运动补偿。如图2所示,时间预测值从位于共同位置(co-located)图片中的块(T BR 或T CTR )导出,其中共同位置图片是参考列表0或参考列表1中的第一参考图片。在图2中,除了中心(center,T CTR )和外右下(outer bottom-right,T BR )共用位置块之外,还可以使用诸如左上(upper-left,T UL )和内右下(inner bottom-right,T BR2 )共用位置块的其他共同位置块。由于与块相关联的时间MVP可具有两个MV:来自参考列表0的一个MV和来自参考列表1的一个MV,根据以下规则从来自参考列表0或参考列表1的MV导出时间MVP:
1.跨越(cross)当前图片的MV是第一选择。
2.如果两个MV都跨越当前图片或两个都不跨越,则将选择具有与当前列表相同的参考列表的MV。
在共同未决的PCT申请(序列号PCT/CN2015/073225)中,示例性的块向量预测候选在图3中示出,其中示出了先前编码的相邻块位置中的多个可能的块向量候选。在表1中,详细描述了这些位置。
表1
位置 描述
0-LL 当前块的左下角位置
1-LB 当前块的左下位置
2-UR 当前块的右上角位置
3-AR 当前块的右上位置
4-UL 当前块的左上角位置
5-LT 当前块的左上角下方位置
6-AL 当前块的左上方位置
在共同未决的PCT申请(序列号PCT/CN2015/073225)中,构造了两个候选列表,命名为列表0(List0)和列表1(List1)。对于列表0,首先检查位置0。如果该位置的块是IntraBC编码的,则选择其块向量以填充列表0。否则,将检查位置1。如果该位置的块是IntraBC编码的,则选择其块向量以填充列表0。
如果上述两个位置都不是IntraBC编码的,则将逐个检查位置2、3、4。第一个IntraBC编码块的BV将填充在列表0中。如果列表0已经被位置0或1填充,则将逐一检查位置2,3,4,第一个IntraBC编码块的BV将被填充在列表1中。
在相邻位置中没有足够的IntraBC编码块的情况下,在检查上述5个位置之后,将使用默认向量来填充未填充的列表。
对于每个IntraBC编码块,存在来自上述两个列表(列表0和列表1)的两个BV预测候选。使用标志来指示两个BV预测值中的哪一个实际上用于预测当前块中的BV。然后,对BV预测差异进行进一步熵编码。
在下文中,如果块存在并且其以某种模式(例如IntraBC模式)被编码,则一个块的BV被认为是“可用的”。如果该列表的候选BV中没有一个可用,则列表被表示为“空”。本发明旨在进一步改进块向量预测,并且各种实施例公开如下。
实施例1.BV预测使用位置相关优先级顺序:1→0;3→2→4
在图3中,将按照1(LB)和0(LL)的顺序逐个检查位置,并且使用第一可用BV来填充列表0。将按照3(AR)、2(UR)和4(UL)的顺序逐个检查位置,以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
如上所示,根据位置相关的优先级顺序来搜索所选位置中的相邻块。例如,用于导出列表0的所选位置对应于位置1(LB)和0(LL)。在该示例中,位置1(LB)具有比位置0(LL)更高的优先级。另一方面,用于导出列表0或列表1的所选位置对应于位置3(AR)、2(UR)和4(UL)。在该示例中,位置3(AR)具有比位置2(UR)更高的优先级,并且位置2(UR)具有比位置4(UL)更高的优先级。
实施例2.BV预测使用位置相关优先级顺序:1→0;3→2
在图3中,将按照1(LB)和0(LL)的顺序逐个检查位置,并且使用第一可用BV来填充列表0。将按照3(AR)和2(UR)的顺序逐个检查位置,以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例3.BV预测使用位置相关优先级顺序:1;3→4
在图3中,将检查位置1(LB)以填充列表0。将按照3(AR)和4(UL)的顺序逐个检查位置,以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例4.BV预测使用位置相关优先级顺序:1;3
在图3中,将检查位置1(LB)以填充列表0。将检查位置3(AR)以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例5.BV预测使用位置相关优先级顺序:1→5;3→6
在图3中,将按照1(LB)和5(LT)的顺序逐个检查位置,并且使用第一可用BV来填充列表0。将按照3(AR)和6(AL)的顺序逐个检查位置,以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例6.BV预测使用位置相关优先级顺序:1→5;3→6→4
在图3中,将按照1(LB)和5(LT)的顺序逐个检查位置,并且使用第一可用BV来填充列表0。将按照3(AR)、6(AL)和4(UL)的顺序逐个检查位置,以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例7.BV预测使用位置相关优先级顺序:5→1;6→3
在图3中,将按照5(LT)和1(LB)的顺序逐个检查位置,并且使用第一可用BV来填充列表0。将按照6(AL)和3(AR)的顺序逐个检查位置,以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例8.BV预测使用位置相关优先级顺序:5;6
在图3中,将检查位置5(LT)以填充列表0。将检查位置6(AL)以填充列表0(如果列表0尚未被填充)或列表1(如果列表0已填充)。对于在检查所有位置之后的空列表,可以使用默认块向量来填充列表。
实施例9.BV预测使用不同的列表构造
在实施例1至实施例8中公开的所有上述候选位置选择遵循以下规则:如果第一组候选BV不可用,则列表0为空。第二组候选BV随后用于填充列表0。因此,在这种情况下列表1将变为空。所有上述方法可以具有不同的列表构造选项。例如,在实施例1中,如果第一组(位置1和0)中的位置都不可用,则列表0可以用默认BV填充,而来自于位置3、2和4的第一可用BV总是用于填充列表1。当这三个位置中的BV都不可用时,列表1可以用默认BV填充。
实施例10.BV预测使用默认块向量
在列表中的一个或两个为空的情况下使用默认BV值。填充列表1的默认BV值可以与列表0的默认BV值相同或不同。默认值可以对应于(0,0)、(-2w,0)、(-w,0)、(0,-2w)或(0,-w)。例如,如果只有一个列表为空,则可以使用(-2w,0)。如果两个列表都为空,则(-2w,0)和(-w,0)可以用于填充这两个列表。在这里,并且贯穿本发明,“w”是指当前块(即,当前CU)的宽度。
实施例11.BV预测使用储存的块向量
填充空列表的另一种方式是存储先前编码的块的BV(一个或多个)。当一个或两个列表为空时,所储存的向量可用于填充列表。
例如,两个缓冲器(单元0和单元1)可以用于存储具有不同值的最近编码的BV。对于初始化,使用一些默认值填充这两个单位。例如,(-2w,0)和(-w,0)可以用作这两个缓冲器的初始值。当块以相同模式编码且其BV值与两个单元中的任一个不同时,单元1中的值将填充单元0,且当前新的BV值将填充单元1。
实施例12.使用时间BV的向量预测
对于IntraBC BV预测,时间BV也可以用于BV预测。位于如前所述的共同位置图片中的块(例如,图2中的T BR 、T CTR 、T UL 或T BR2 )的BV可以用作BV预测值中的一个。
实施例13.BV预测使用空间/时间BV和储存的向量
先前编码的块的BV可以被存储并用作BV预测值。如果使用多个储存的BV,则可以应用FIFO机制。例如,两个单元(单元0和单元1)用于存储具有不同值的最近编码的BV。对于初始化,使用一些默认值填充这两个单位。例如,(-2w,0)和(-w,0)。当块以相同模式编码并且其BV值与两个单元中的任一个不同时,单元1中的值将填充单元0;当前新的BV值将填充单元1。
可以构建BV预测值(BVP)列表。来自列表0和列表1、时间BV、储存的BV的空间BV可以被放入BVP列表中。例如,BVP列表可以是{来自列表0的空间BV(列表0BV),来自列表1的空间BV(列表1BV)},{列表0BV,列表1BV,时间BV},{列表0BV,列表1BV,储存在单元0中的BV(储存的BV0)},{列表0BV,列表1BV,储存的BV0,存储在单元1中的BV(储存的BV1)},{列表0BV,储存的BV0,列表1BV},{储存的BV0,列表0BV,列表1BV},{列表0BV,列表1BV,时间BV,储存的BV0},或{列表0BV,列表1BV,储存的BV0,时间BV}。
在构建BVP列表之后,可以应用修剪过程(pruning process)以去除冗余BV。其可以是完全修剪或部分修剪(例如,仅修剪具有储存的BV的列表0BV和/或修剪具有储存的BV的列表1BV)。修剪后,最多N(例如,N=2)个BV被选择为最终BV预测值。如果可以选择小于N个BV,则可以使用预定义的默认BV、储存的BV或时间BV来将BVP列表填充到N个BV预测值。
可以使用一些预定义的BV。预定义BV可以从包括(0,0)、(-2w,0)、(-w,0)、(-1.5w,0)、(0,-2w),)和(0,-1.5w)的组中选择。
MV,BV和帧内预测模式的信息继承(Informationinheritance)
在帧内模式和IntraBC模式编码块中,MV被设置为不可用。在帧间模式和帧内模式编码块中,BV被设置为不可用。在帧间模式和IntraBC模式编码块中,帧内预测模式(Intrapredictionmode,简写为IPM)被设置为不可用。
为了提高编码效率,如果信息未被更新,则使用来自相邻块或编码块的MV/BV/IPM信息的继承。
在一个实施例中,若以帧间模式、帧内模式或调色板模式对当前块进行编码,此块的BV被设定为最后编码的BV或其左块的BV。
在另一实施例中,如果当前块以IntraBC模式或调色板模式编码,则此块的MV被设定为此块的合并候选(例如第一合并候选)中的一个。
在另一实施例中,如果当前块以帧间模式或调色板模式编码,则此块的IPM被设置为该块的最可能的帧内模式(most probable Intra mode,简写为MPM)中的一个,例如第一MPM。
将包含本发明的实施例的系统的性能与基于SCM1.0(屏幕内容编码测试模型1(SCM1)的锚定系统(ITU-TSG16WP3andISO/IECJTC1/SC29/WG11视频编码联合协作团队(JCT-VC),第17次会议:Valencia,ES,2014年3月27日至4月4日,文件:JCTVC-Q1014))相比。在基于SCM1.0的锚定系统中,针对每个IntraBC模式编码块的BV被编码而不使用BV预测。三种不同的系统配置用于在所有帧内模式设定下对如表2所示的各种测试图像与SCM1.0比较。在配置I中,列表0推导仅使用位置1(LB),而列表1推导仅使用位置3(AR)。在配置II中,除了基于1(LB)的列表0和基于3(AR)的列表1之外,最后一个BV(即,最后的IntraBC模式编码块的BV)被使用。在配置III中,除了基于1(LB)的列表0和基于3(AR)的列表1之外,最后两个BV被使用。公知的BD速率(BD-rate)性能度量被用于性能比较。表2中的负值表示在由本发明的相应实施例所实现的BD速率压缩的改进。如表2所示,观察到了显着的改善,特别是对于含有文本或图形材料的图像。所显示的改进高达8.2%。因此,本发明可以大幅度地提高IntraBC模式的编码效率的性能。
表2.
图4示出根据本发明实施例的并入块向量(BV)预测的IntraBC(块内复制)模式编码的示例性流程图。在步骤410中,系统接收与当前图片中的当前块相关联的输入数据。可以从存储器(例如,计算机存储器、缓冲器(RAM或DRAM)或其它介质)或从处理器获取输入数据。在步骤420中确定在当前图片中定位帧内参考块的当前块的当前BV。在步骤430中,从当前块的相邻块导出多个块向量候选列表。在步骤440中,选择一个块向量候选列表作为当前块的BV预测值。在步骤450中,基于BV预测值对当前BV进行编码。在步骤460中,用信号通知用于识别从多个块向量候选列表中选择的所述一个块向量候选列表的索引,其中该索引对应于在两个块向量候选列表之间选择的1比特位代码,并且对应于在三个块向量候选列表之间进行选择的2比特位代码。在步骤470中,使用帧内参考块作为预测值对当前块进行编码。
图5示出了根据本发明实施例的并入块向量(BV)预测的IntraBC(块内复制)模式解码的示例性流程图。在步骤510中,系统接收包括当前图片的编码数据的比特流。可以从存储器(例如,计算机存储器、缓冲器(RAM或DRAM)或其他介质)或从处理器获取比特流。在步骤520中,从当前块的经IntraBC模式编码的相邻块导出多个块向量候选列表。在步骤530中,从用于从多个块向量候选列表中选择一个块向量候选列表的比特流确定索引。在步骤540中,从比特流确定编码的BV。在步骤550中,基于编码的BV和对应于所述一个块向量候选列表的BV预测值对当前BV进行解码。在步骤560中,基于当前BV确定当前图片中的帧间参考块。在步骤570中,使用帧内参考块来解码当前块。
上面示出的流程图旨在示出根据本发明的IntraBC编码的示例。在不脱离本发明的精神的情况下,本领域技术人员可以修改每个步骤,重新安排步骤,拆分步骤或组合步骤以实施本发明。在本公开中,已经使用特定语法和语义来说明实现本发明的实施例的示例。本领域技术人员可以通过用等同的语法和语义代替语法和语义来实践本发明,而不脱离本发明的精神。
以上描述是为了使本领域普通技术人员能够实施在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示出和描述的特定实施例,而是符合与本文公开的原理和新颖特征一致的最宽范围。在上述详细描述中,示出了各种特定细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解,可以实施本发明。
如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的电路或集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的实施例还可以是在数字信号处理器(DSP)上执行以执行本文所述的处理的程序代码。本发明还可以涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)执行的多个功能。这些处理器可以被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。软件代码或固件代码可以用不同的编程语言和不同的格式或样式来开发。软件代码还可以针对不同的目标平台编译。然而,不同的代码格式、软件代码的语言和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其它具体形式实施。所描述的示例在所有方面被认为仅是说明性的而不是限制性的。因此,本发明的范围由所附权利要求而不是前面的描述表示。在权利要求的等同物的含义和范围内的所有改变将被包括在其范围内。