在一系列时序的步骤中数据的处理的制作方法

文档序号:7957185阅读:99来源:国知局
专利名称:在一系列时序的步骤中数据的处理的制作方法
技术领域
本发明涉及在一系列时序的步骤中数据的处理。本发明能被用来例如按照MPEG4标准实现形状解码。(MPEG是活动图像专家组的缩写。)
根据本发明的数据处理特征如下。数据处理通过一系列时序的处理步骤实现。处理步骤以某些在前的处理步骤的一组结果为基础产生结果。处理步骤在两个分步骤中完成预备分骤和完成分步骤。在预备分步骤中,中间结果基于与以将被计算的结果为基础的一组结果相比较,至少最近的在前的处理步骤的结果被遗漏的不完全的一组结果来形成。在完成分步骤中,结果以中间结果和最接近的在前的处理步骤的结果和在不完全的一组结果中遗漏的结果(如果有的话)为基础来确定。
本发明考虑到以下方面。如果在前的步骤已经被完成,处理步骤可以只产生一个结果。例如,假定编号为K的处理步骤存在于以编号为K-1、K-2和K-3的在先处理步骤的结果为基础的计算结果中。因此,编号为K-1的处理步骤的结果应当可用来计算编号为K的处理步骤的结果。如果编号为K的处理步骤直到处理步骤K-1已经完成才开始,将没有问题。因此,最简单的和最合理的程序看来是时序地执行处理步骤。
通常,数据处理应当在特定时间间隔中执行。例如,在MPEG-4解码系统中为了实时显示,形状解码应当先于纹理解码和图像的显示这些后来的步骤被完成。原则上,通过足够快速的电路的使用,在预定的时间间隔中完成数据处理是有可能的。例如假定Tmax是一串N处理步骤在其内应当被完成的时间间隔,N是整数。如果处理步骤被时序地执行,该电路应当在由N分割的时间段Tmax中执行一个处理步骤。如果时间段Tmax相当短并且N相当大,则电路必须比较快。例如,按照MPEG4标准的形状解码就是这种情况。
按照本发明,处理步骤以两个分步骤被执行上文中所述的预备分步骤和完成分步骤。给定的处理步骤的预备分步骤不依赖于在前的处理步骤。相应的,给定的处理步骤的预备分步骤能够与在前的处理步骤的完成分步骤并行地被执行。因此,本发明使并行执行处理步骤成为可能在给定的时刻下从事多个处理步骤是可能的。从而,在给定的用于完成一系列处理步骤时间间隔中,按照本发明完成处理步骤比在处理步骤被时序执行的安装步骤的情况具有更多的时间。本发明从而使具有使用更低速度的电路的安装步骤成为可能。通常,因为它速度更低,所以它使电路更便宜。从而,本发明使这种安装步骤能够以较低的费用被实现。
本发明的这些和其他方面将参照随后的图更详细地说明。
图2示出形成部分MPEG4标准的对于前后关系的算术编码和解码的前后关系的概念图。
图3是表示MPEG4数据处理装置的方框图。
图4是说明预备处理器的操作的流程图。
图5是说明完成处理器的操作的流程图。
发明的实施例以下的陈述涉及参考符号。在所有的图中,相同的部分用相同的附图标号。多个相同的部分可以出现在一张图中。在该情况下,数字或下标后缀在附图标号的后面以区别相同的部分。数字或下标也可在适当的情况下被省略。这对说明书和权利要求都适用。


图1说明上文中描述的基本特征。数据处理在一系列时序的处理步骤[S]中被完成。处理步骤[S(n)]以在前的处理步骤[S(n-1),S(n-2),…S(n-m)]的一组结果[O(n-1),O(n-2),…O(n-m)]为基础产生结果[O(n)]。处理步骤[S]由两个分步骤执行预备分步骤[SA]和完成分步骤[SB]。在预备分步骤[SA]中,中间结果[I]基于与以将被计算的结果为基础的一组结果相比较,至少最近的在前的处理步骤的结果被遗漏的不完全的一组结果来确定。如果有的话,在完成分步骤[SB]中结果[O]以中间结果[I]和最接近的在前的处理步骤的结果和在不完全的一组结果中遗漏的其他结果为基础来确定。
图1所示的典型的特征可以被用来,例如,按照MPEG4标准执行形状解码。形状解码存在于确定与表现某个物体的一组像素相关的一组布尔(Boolean)值中。每个像素对应一个布尔值。布尔值表示相关的像素是否属于该对象。事实上,一组像素在形状解码过程中被排列为像素块。按照多个可能的形状编码模式的某个模式,各像素块被用于形状编码。形状编码模式对应于前后关系算术编码。这造成对相关的像素块的算术编码。
前后关系运算解码存在于以随后的方式确定用于块的各像素的布尔值。首先,对相关的像素前后关系被确定。前后关系根据用于其他像素已经获得的某些布尔值来确定。对块的每个像素,该标准定义了其布尔值将被考虑的像素。随后,概率以前后关系为基础被确定。该标准定义了每一个可能的前后关系的概率。最后,布尔值以属于相关的像素块的概率和算术编码为基础来确定。该最后的相位形成前后关系的运算解码的核心。因此,有前后关系的运算解码可以表示为每个像素包括三个相位“前后关系”相位、“概率”相位和“解码”相位。
图2表示用来确定属于像素[P(K)]的布尔值的前后关系[C(K)]。每个方块表示像素和相关的布尔值。假定前后关系的算术编码要求一行接一行、从左到右并从上到下水平扫描。前后关系的运算解码要求相同的扫描方式。前后关系[C(K)]包括在前的像素[P(K-1)]和某些其他在前的像素的布尔值。如前所述,MPEG4标准定义每个像素的前后关系。图2仅表示前后关系的一个例子。在所有情况中,在解码层次上,前后关系包括已经确定的某一组布尔值。
图3表示MPEG4数据处理装置。该装置接收按照MPEG4标准编码的数据流[DS],并对其响应,提供输至显示装置的视频数据[VO]流。该装置包括主解码器[DEC]、前后关系的运算解码器[ARD]、图像再现器[RND]、存储器装置[MEM]和控制器[CNTRL]。前后关系的运算解码器[ARD]包括预备处理器[PRCA]和完成处理器[PRCB]。存储器装置[MEM]包括查找表[LUT]。该表包括可能的不同的前后关系和与每个前后关系相关并按照MPEG4标准属于该前后关系的概率。
图3中表示的MPEG数据处理装置大致这样运行。主解码器[DEC]特别从数据流[DS]中得出16乘16像素块。一些16乘16像素块的形状编码还没有通过前后关系的算术编码实现。对这些16乘16的像素块,主解码器[DEC]也得到16乘16布尔值块。另一方面,前后关系的运算解码器[ARD]得到用于16乘16像素块的形状解码的16乘16布尔值块,该像素块的形状编码已经通过前后关系算术编码实现。主解码器[DEC]基于前后关系的运算解码器[ARD]执行前后关系的运算解码提供算术编码[AC]。因此,除了前后关系的运算解码,主解码器[DEC]执行所有的解码操作。事实上,主解码器[DEC]把该最后提到的解码局部收缩到前后关系的运算解码器[ARD]。
来自主解码器[DEC]的16乘16的像素块临时存储在存储器装置[MEM]中。来自主解码器[DEC]或前后关系的运算解码器[ARD]的16乘16布尔值块也被临时存储在存储器装置[MEM]中。主解码器[DEC]从数据流[DS]中得到对执行其它图像解码步骤有用的其它信息,并最终提供准备再现的图像。该信息也被临时存储在存储器装置[MEM]中。该图像再现器[RND]提供将被显示的图像,这基于存储在存储器装置[MEM]中的不同的数据来实现。图像典型地包括不同的对象,例如房子、树、球。一个对象的纹理通过一组16乘16的像素块来表现。物体的形状由一组16乘16的布尔值块来表现。
如前所述,前后关系的运算解码器[ARD]为其形状编码已经通过前后关系的算术编码完成的16乘16像素块提供16乘16布尔值块。前后关系的运算解码器[ARD]通过预备处理器[PRCA]和完成处理器[PRCB]执行前后关系的运算解码。这两个处理器在控制器[CNTRL]的控制下并行操作。控制器[CNTRL]确定预备处理器[PRCA]和完成处理器[PRCB]分别对哪个像素执行它们的操作。当预备处理器[PRCA]执行预备操作,以确定属于编号为K的像素的布尔值时,完成处理器[PRCB]执行最后的操作,以确定属于编号为K-1的像素的布尔值,K是整数。预备操作包括对两个可能的前后关系的确定和对随后按照标准与这些前后关系相关的两个概率的确定。最后的操作包括两个概率中的一个的选择和以选定的概率和来自前后关系的算术编码的编码结果为基础的布尔值的确定。
图4表示由预备处理器[PRCA]执行的不同的操作。第一操作[OA1]存在于形成用于编号为K的像素的部分前后关系[C′(K)]中。部分前后关系[C′(K)]是将按照标准而被考虑的、除了在前的布尔值[P(K-1)]的布尔值之外的一组布尔值。布尔值[P(K-1)]还不可利用;它被用到与完成处理器[PRCB]并行进行的操作中。部分的前后关系[C′(K)]的形成要求读出存储已经获得的布尔值的存储器装置[MEM]。
第二操作[OA2]存在于根据部分的前后关系[C′(K)]形成两个可能的前后关系中。第一可能的前后关系[C0(K)]对应于数值零(0)已经被加入到其中作为先前的像素P(K-1)的布尔值的局部的前后关系[C′(K)]。第二可能的前后关系[C1(K)]对应于数值一(1)已经被加入到其中作为先前的像素P(K-1)的布尔值的局部的前后关系[C′(K)]。因此,如果先前的像素[P(K-1)]的布尔值是零(0),第一可能的前后关系[C0(K)]将是用来确定属于当前的像素[P(K)]的布尔值的正确的前后关系。另一方面,如果先前的像素[P(K-1)]的布尔值是一(1),第二可能的前后关系[C1(K)]将是正确的前后关系。
第三操作[OA3]将确定在查找表[LUT]中哪个位置对应于第一可能的前后关系[C0(K)]和哪个位置对应于第二可能的前后关系[C1(K)]。实际上,可能的前后关系被转换为地址。这样的转换能够通过例如逻辑电路的组合被实现。
第四操作[OA4]将从查找表[LUT]中读出相关的位置。这产生两种可能的概率按照标准属于第一可能的前后关系[C0(K)]的第一可能的概率[RO(K)],和属于第二可能的前后关系[C1(K)]的第二可能的概率[R1(K)]。如果先前的像素P(K-1)的布尔值是零(0),第一可能的概率[C0(K)]将是确定属于当前的像素[P(K)]的布尔值正确的概率。另一方面,如果先前的像素P(K-1)的布尔值是一(1),第二可能的概率[C1(K)]将是确定属于当前的像素[P(K)]的布尔值正确的概率。
以两个半表的形式完成查找表是有利的一个包含对应于最后的像素的布尔值是零(0)的前后关系的概率的半表和另一个包含对应于最后的像素的布尔值是一(1)的前后关系的概率的半表。这样的安装步骤使第一可能的概率[R0(K)]和第二可能的概率[R1(K)]能够被并行读出。
第五操作[OA5]将把第一和第二可能的概率分别写入到预先限定的第一存储单元和第二存储单元。因此,如果先前的像素[P(K-1)]的布尔值是零(0),第一存储单元将包含正确的概率。相反地,如果先前的像素[P(K-1)]的布尔值是一(1),第二存储单元将包含正确的概率。
图5表示由完成处理器[PRCB]执行的不同操作。假定完成处理器[PRCB]已经计算出先前的像素[P(K-1)]的布尔值。第一操作[OB1]存在于读出第一存储单元或第二存储单元。如果先前的像素[P(K-1)]的布尔值是零(0),完成处理器[PRCB]读出第一存储器单元。如果先前的像素[P(K-1)]的布尔值是一(1),完成处理器[PRCB]读出第二存储器单元。这样,得到正确的概率,从而确定属于当前的像素[P(K)]的布尔值。
第二操作[OB2]存在于计算属于当前的像素[P(K)]的布尔值中。完成处理器[PRCB]基于由第一操作[OB1]确定的概率和用于相关的像素块的算术编码执行该计算。
参照图2-5说明的MPEG4数据处理装置是实现图1中说明的典型的特征的例子。在图1中说明的处理步骤[O]的结果采取用于图2中说明的供像素[P]用而确定的布尔值的形式。在图1中说明的中间结果[I]采取图4所示的两个可能的概率[R0(K),R1(K)]的形式。与基于布尔值将被计算的前后关系相比较,图3所示的预备处理器[PRCA]确定基于其中先前的像素的布尔值是被遗漏部分前后关系的两种可能概率。图3所示的完成处理器[PRCB]确定基于两个可能的概率和属于先前的像素的布尔值。
上述参照图1到图5图解的描述并不限制本发明。在附加的权利要求的范围内有许多可供选择的方式是显然的。总之,一些注释在这一方面被作出。
有许多种通过执行按照本发明的预备分步骤和完成分步骤实现处理步骤的方法。在这方面,参照图2到5说明的MPEG4处理装置有下述的典型的特征。预备步骤考虑到除了先前的步骤的结果的所有对确定新的结果有必要的结果。相应的,完成步骤考虑到由预备步骤提供的中间结果和先前的步骤的结果。也可以下述的方式完成发明。预备步骤不考虑对确定新的结果有必要的几个结果。例如,另一种实现前后关系的运算解码如下所述。预备处理器并没有考虑属于最后一个和倒数第二个像素的布尔值,该预备处理器确定四个可能的概率与属于最后一个和倒数第二个像素的布尔值分别是00、01、10或11的可能性相关联的第一、第二、第三和第四概率。完成处理器从准确确定的布尔值中选择可能的概率,从而确定用于当前像素的布尔值。
有许多通过硬件或软件的项目或两者的合并完成这些功能的方法。在这方面,需要注意的是,图形被高度的概略,每个图仅仅表示本发明的一个实施例。这样,即使图中以分离的模块表示不同的功能,但这不排除单独的硬件或软件的项目完成多个功能的可能性。这决不排除一种功能可以由一组硬件或软件项目被执行。
例如,图3中表示的MPEG4处理装置包括组合形式的执行前后关系的运算解码不同的模块。原则上,可通过合适的可编程的计算机电路实现这些模块。包含在程序存储器中的一组指令能够使计算机电路执行上文中参照图2-5说明的不同的操作。一组指令可通过读数据载体载入程序存储器中,例如存储有一组指令的磁盘。读出信息可以经通信网络比如互联网来实现。在这种情况下,服务提供者可使这组指令被那些感兴趣的人利用。
任何在权利要求中用括号插入的附图标号将不被解释为限制所述的权利要求。动词“包括”的使用不排除任何其他部件的存在或那些与在权利要求中定义的步骤不同的步骤的存在。放在部件或步骤之前的不定冠词“a”或“an”不排除多个这些部件或步骤的存在。
权利要求
1.一种处理一系列时序的处理步骤的方法,处理步骤基于某些在前的处理步骤的一组结果产生一结果,该方法的特征在于处理步骤分两个分步骤被执行预备分步骤,其中与以将被计算的结果为基础的一组结果相比较,在至少最近的在前的处理步骤的结果被遗漏的一组不完全的结果的基础上,中间结果被确定,和完成分步骤,其中,在中间结果和最近的先前的处理步骤的结果和在不完全的一组结果中被遗漏的其他结果如果有的话的基础上结果被确定。
2.一种用于执行一系列时序的处理步骤的数据处理装置,处理步骤基于某些先前的处理步骤的一组结果产生一结果,该装置的特征在于它适于执行以下两个处理器执行的处理步骤预备处理器,用于与以将被计算的结果为基础的一组结果相比较,在至少最近的在前的处理步骤的结果被遗漏的一组不完全的结果的基础上确定中间结果,和完成处理器,用于在中间结果和最近的在前的处理步骤的结果和在不完全的一组结果中被遗漏的其他结果如果有的话的基础上确定该结果。
3.一种用于数据处理装置的“计算机程序”产品,“计算机程序”产品包括存入到数据处理装置的一组指令,引起该装置执行一系列时序的处理步骤,处理步骤基于某些在前的处理步骤的一组结果产生一结果,处理步骤以两个分步骤被执行预备分步骤,其中与以将被计算的结果为基础的一组结果相比较,在至少最近的在前的处理步骤的结果被遗漏的一组不完全的结果的基础上,确定中间结果,和完成分步骤,其中在中间结果和最近的在前的处理步骤的结果和在不完全的一组结果中被遗漏的其他结果如果有的话的基础上确定该结果。
4.一种以一系列时序的解码步骤的形式形状解码的方法,解码步骤基于某些在前的解码步骤的一组布尔值产生布尔值,该方法的特征在于解码步骤以两个分步骤被执行预备分步骤,其中与以将被计算的布尔值为基础的一组布尔值相比较,在至少最近的在前的解码步骤的布尔值被遗漏的一组不完全的布尔值的基础上,确定一组可能的概率,和完成分步骤,其中在一组布尔值和最近的在前的解码步骤的布尔值和在不完全的一组布尔值中被遗漏的其他布尔值如果有的话的基础上,确定布尔值。
全文摘要
数据处理以一系列时序的处理步骤[S]完成。处理步骤[S(n)]在某些先前的处理步骤[S(n-1),S(n-2),…S(n-m)]的一组结果[O(n-1),O(n-2),…O(n-m)]的基础上,产生一结果[O(n)]。这样的数据处理的一个例子为形成部分MPEG4标准的前后关系的运算解码。下述典型的特征使安装步骤能以较低的费用被实现。处理步骤[S]分两个分步骤被执行:预备分步骤[SA]和完成分步骤[SB]。在预备分步骤[SA]中,中间结果[I]基于与以将被计算的结果为基础的一组结果相比较,至少最近的在前的处理步骤的结果被遗漏的不完全的一组结果来确定。在完成分步骤[SB]中,结果[O]根据中间结果[I]和最近的在前的处理步骤的结果和在不完全的一组结果中遗漏的其他结果(如果有的话)来确定。
文档编号H04N7/26GK1340970SQ01135569
公开日2002年3月20日 申请日期2001年8月28日 优先权日2000年8月31日
发明者J·戈伯特, T·多姆贝克 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1