数据集的处理的制作方法

文档序号:7510608阅读:365来源:国知局
专利名称:数据集的处理的制作方法
技术领域
本发明涉及数据集的处理。本发明可用于对例如根据MPEG4标准解码获得的一组像素进行滤波(MPEG是运动图像专家组的缩写)。
背景技术
数据集的处理可通过响应于数据组提供输出数据项的处理电路来实施。处理电路通过不同端子接收该组的各个数据项。FIR滤波器是这种处理电路的一个例子。(FIR是有限脉冲响应的缩写)。各个端子具有相关的滤波系数。滤波器把应用于某端子的数据项乘以与该端子相关的滤波系数。这导致加权数据项。滤波器把这样得到的加权数据相加以得到输出数据项。仅一组的各个数据项被应用于特定终端时输出数据项才是正确的。
上面的实施将具有一个输入电路,用于形成连续的数据组,以把这些数据组应用于处理电路。输入电路可以以一种方式来设置,使得一组中的数据项的位置与该数据项要被应用的端子之间没有一种固定的关系。例如,输入电路可根据其各自的位置形成包括4个数据项A、B、C和D的一组数据。数据A、B、C和D应被分别应用于序号为1,2,3和4的端子。随后,输入电路可根据其各自的位置形成包括数据E,B,C,D的后面一组(用E代替A)。数据E,B,C,D应被分别应用于序号为4,1,2,3的端子。
连续数据组可通过互联网被应用于处理电路。实际上,互联网使得一组中的数据的各自的位置可被改变。从而互联网使得各个数据项被应用于适当的端子。
发明內容本发明的一个目的是使得其中一些数据无效的一组数据可被低成本处理。
根据本发明,这种处理的特征如下。输入电路形成连续数据组并且对每组数据产生基本控制数据和附加控制数据。对于每个数据项而言,基本控制数据项代表多个端子中应该应用该数据项的一个端子。对于每个数据项而言,附加控制数据项代表这个输入数据项是否有效。互联网根据基本控制数据和附加控制数据把连续数据组应用于端子。如果数据项有效,把互联网设置成将数据项应用于由基本控制数据代表的端子。如果数据项无效,互联网替代数据项应用有效的另一数据项。数据处理电路处理应用于该端子的数据来得到输出数据项。
本发明考虑下面的方面。数据集可包括无效数据。例如,源于MPEG4解码的一组像素通常代表可视对象。某些像素属于该对象,而其他像素不属于该对象。最后提到的像素是无效的。
如果数据集包括无效数据,有失真的危险。在一组数据包括一个或多个无效数据项并且同时结果得到的输出数据项被视为有效时发生失真。让我们考虑例如非对称的FIR滤波。通常,如果应用于FIR滤波器的某端子的数据是有效的,则FIR滤波器的输出被当作有效的。现在假设该组的另一数据项是无效的。在这种情况下,输出数据项通过这个无效数据项被部分确定,这意味着FIR滤波的结果失真。
失真的危险通过预处理数据组来排除。预处理向各个无效数据项分配一个替代或填充值。该填充值通常基于一个或多个无效数据项决定。填充值可以是例如所有有效数据项的值的平均。这样该填充值是一般性的并且适合于被分配给各个无效数据项。另一个选择是对各个无效数据项计算填充值。
但是,上述预处理相对复杂,从而速度慢且代价昂贵。例如,计算一般性填充值要求考虑所有有效数据。如果对于每个无效数据项都计算填充值,则这也意味着必须执行大量运算。
根据本发明,无效数据项实际通过互联网用有效数据项来取代。然后在向处理电路应用一组数据期间实现该替代。这样,不需要执行预处理来把填充值分配给各个无效数据项。因此本发明能够廉价快速实现数据处理。
本发明的这些和其他方面将参考附图具体描述。


图1是示出上述基本特性的概念图;图2是表示MPEG4视频滤波装置的图;图3是示出根据其将一组输入像素和一组布尔(Boolean)值存储在MPEG4视频滤波装置中的方法的图;图4是表示形成MPEG4视频滤波装置的多路复用设备的图。
下面的解释涉及参考符号。所有图中类似机构加以相同参考字母。多个类似机构可在一个图中出现。在这种情况下,对该参考字母后缀附加上序号来区别类似机构。适当的地方可省略序号或后缀。这不仅适用于说明书,而且适用于权利要求。
具体实施例方式
图1表示上述基本特性。数据处理装置包括输入电路(INP)、互联网(ICN)和数据处理电路(PRC)。输入电路(INP)形成连续的数据组(GRP),而且对各组数据(GRP)产生基本控制数据(BCD)和附加控制数据(SCD)。对于每个数据项而言,基本控制数据项(BCD)代表多个端子(1-4)中应该应用该数据项的一个端子。对于每个数据项而言,附加控制数据项(SCD)代表这个数据项有效(+)还是无效(-)。互联网(ICN)根据基本控制数据(BCD)和附加控制数据(SCD)把连续数据组(GRP)应用于端子(1-4)。如果数据项有效(+),互联网(ICN)将数据项应用于由基本控制数据(BCD)代表的端子。如果数据项无效(-),互联网(ICN)另外应用有效数据项。数据处理电路(PRC)处理应用于端子(1-4)的数据来得到输出数据项。
可把图1所示的特征用于例如处理根据MPEG4标准解码获得的一组像素。这种一组像素通常代表对象,如例如一个人、一个球或一座房子。它伴随一组布尔值。对于各个像素都有布尔值。这样,该组布尔值形成形状描述。
图2表示MPEG4视频滤波装置。MPEG4视频滤波装置接收一组输入像素(IPS)及相关的一组布尔值(BVS)。响应于此,它提供一组滤波后的像素(FPS)。MPEG4视频滤波装置包括4个存储体(MB),序号从1到4(MB1-MB4)。每个存储体(MB)包括用于存储像素的部分(SMPL)和用于存储布尔值的另一部分(SHP)。MPEG4视频滤波装置还包括控制电路(CNTRL)、4个序号从1到4(MA1-MA4)的多路复用设备(MA)和具有4个序号从1到4(T1-T4)的抽头(T)的滤波器(FIL)。每个抽头(T)具有相关的滤波系数(C)。
MPEG4视频滤波装置如下操作。MPEG4视频滤波装置以数据流形式接收该输入像素组(IPS)。并行地它也以数据流形式接收该布尔值组(BVS)。两个数据流同步。对于接收到的各个像素和布尔值,控制电路(CNTRL)选择存储像素和布尔值的某存储体(MB)。这样,根据某方法把该输入像素组(IPS)和该布尔值组(BVS)存储在4个存储体(MB)中。
图3表示根据其将该输入像素组和该布尔值组存储在存储体中的方法。图3表示矩阵的一部分。该矩阵代表该输入像素组和该布尔值组。矩阵的每个单元代表像素和其相关布尔值。单元中所示的数字是存储像素和布尔值的存储体序号。例如,该组输入像素的左上角的像素(1)被存储在第一存储体中。其右手侧相邻像素(2)、其相邻的下侧的像素(3)和其对角的相邻像素(4)分别被存储在第二存储体、第三存储体、第四存储体中。
图3还表示窗口(W)。窗口(W)测量2乘2个单元。窗口(W)定义存储在存储体中的4个像素和4个布尔值。这些像素和布尔值在第一读出操作中从存储体读出。为存储体的第二读出,把窗口(W)向右移动一个单位。窗口(W)保持向右移动一个单位,直到它到达矩阵的右手侧。随后,在向下移动一个单位后,窗口(W)返回矩阵的左手侧。这样窗口(W)水平扫描矩阵。窗口(W)的各个不同位置对应于4个像素和4个布尔值的读出。
应注意图3所示的方法具有下面的特性特征。对于窗口(W)占据的任何位置,由窗口(W)定义的每个像素和每个布尔值被存储在不同存储体中。结果,要求每一存储体仅一个读出操作来得到窗口定义的所有像素。这些读出操作并行执行。这样,原理上,一个时钟周期足以读出窗口定义的所有像素。结果,图3所示的方法使得能够快速读出,从而实现快速滤波。
通过把图3中的窗口(W)移动来执行的每个读出导致一组像素产生一个输出像素。输出像素通过图2所示的滤波器(FIL)得到。窗口(W)中的像素的位置和应用该像素的抽头(T)之间有固定对应关系。窗口左上角的像素应被应用于第一抽头(T1)。窗口右上角的像素应被应用于第二抽头(T2)。窗口左下角的像素应被应用于第三抽头(T3)。窗口右下角的像素应被应用于第四抽头(T4)。
图2所示的控制电路(CNTRL)执行上述的读出操作。从而各个读出操作产生一组4个像素。通过每一像素读出操作,控制电路(CNTRL)提供一组控制字(CW)。对于该组的各个像素,该组控制字(CW)表示要应用像素的抽头(TP)。
更详细地,控制电路(CNTRL)对于第一到第四多路复用设备(MA1-MA4)产生4个控制字,序号从1到4(CW1-CW4)。第一控制字(CW1)代表要应用于第一抽头(T1)的像素的起源的存储体(MB)。同样,第二、第三、第四控制字(CW2,CW3,CW4)代表分别要应用于第二抽头、第三抽头、第四抽头(T2,T3,T4)的像素的起源的存储体(MB)。每个控制字(CW)可包括例如2位二进制值。这个值代表要应用于相关抽头(T)的像素的起源的存储体(MB)。
控制电路(CNTRL)可通过例如可编程计数器实现。可编程计数器可用于在装载该组输入像素(IPS)期间选择存储体(MB)。在装载操作期间可应用4个可编程计数器来产生地址,即一个可编程计数器用于一个存储体(MB)。用于选择存储体(MB)的可编程计数器启动这4个可编程计数器中与所选择的存储体(MB)对应的那个可编程计数器。可应用4个可编程计数器来执行读出操作,以形成连续像素组。对于各个读出操作,这4个可编程计数器并行产生4个地址,即一个地址用于一个存储体(MB)。可使用其他可编程计数器来产生控制字(CW)。控制字(CW)是循环的,从图3可看出并且参考图3来描述。
连续组像素通过图2所示的多路复用设备(MA)被应用于滤波器(FIL)。有一个用于滤波器(FIL)的各个抽头(T)的多路复用设备(MA)。各个多路复用设备(MA)接收作为当前读出操作的结果产生的该组像素和相关的二进制值组。它还接收相关的控制字(CW)。多路复用设备(MA)选择一个像素来把该像素应用于多路复用设备(MA)所属的滤波器(FIL)的抽头(T)。如果该像素有效,多路复用设备(MA)选择控制字(CW)指示的像素。最后提到的信息包含在与像素相关的二进制值中。如果像素无效,多路复用设备选择有效的另一像素。如果该组不包括任何有效的图像,多路复用设备(MA)随机方式选择像素。在最后提到的情况中,从该组像素结果得到的输出像素将不是有效的,从而它的值无关紧要。
滤波器(FIL)把应用于抽头(T)的像素和与其相关的各个滤波系数(C)相乘。应用于第一抽头(T1)的像素与滤波系数(C1)相乘导致第一加权像素。应用于第二抽头(T2)的像素与滤波系数(C2)相乘导致第二加权像素等。这样得到的4个加权像素相加来得到输出像素。
图4表示第一多路复用设备(MA1)。图2所示的其他多路复用设备(MA2,MA3,MA4)相同。如上所述,第一多路复用设备(MA1)从控制电路(CNTRL)接收一组4个像素(PX)、一组4个相关二进制值(BV)和第一控制字(CW)。响应于此,第一多路复用设备(MA1)选择像素来将其应用于图3所示的滤波器(FIL)的第一抽头(T1)。像素(PX1)从1到4来编号(PX1-PX4)。二进制值(BV)也从1到4来编号(BV1-BV4)。序号表示从那里检索像素和其二进制值的各个存储体(MB1-MB4)。
第一多路复用设备(MA1)包括解码电路(DEC)、第一和第二OR电路(OR1,OR2)、从1到3编号(LC1-LC3)的3个逻辑电路(LC)以及从1到3编号(MUX1-MUX3)的3个多路复用器(MUX)。第一、第二和第三逻辑电路(LC1-LC3)分别与第一、第二和第三多路复用器(MUX1-MUX3)相关。3个多路复用器(MUX)是有两个输入端和一个输出端的类型。多路复用器选择一个输入端以便将在这个输入端上的数据传送到另一电路。
第一多路复用设备(MA1)如下操作。解码电路(DEC)解码第一控制字(CW)来得到从1到3编号(CV1-CV3)的3个基本控制值(CV)。第一、第二和第三基本控制值(CV1-CV3)分别与第一、第二和第三多路复用器(MUX1-MUX3)相关。各个基本控制值(CV)代表要由相关的多路复用器(MUX)选择的输入。
由于各个多路复用器(MUX)仅选择两个输入中的一个,通过一位可解码各个基本控制值(CV)。例如,如果基本控制值(CV)为零(0),这表明相关的多路复用器(MUX)应选择左手侧输入。相反,如果基本控制值(CV)为一(1),它表明多路复用器(MUX)应选择右手侧输入。假设控制字(CW)代表第二像素(PX2)。在这种情况下,第一基本控制值(CV1)将为一(1)并且第三基本控制值(CV3)将为零(0)。现在第二基本控制值(CV2)将不起任何作用,从而为零(0)或一(1)。
逻辑电路(LC)被设置在解码电路(DEC)和多路复用器(MUX)之间,以使得基本控制值(CV)可被改变。各个逻辑电路(LC)根据基本控制值(CV)是否改变接收两个值。这两个值在与相关像素(PX)相关的二进制值(BV)的基础上形成。各个逻辑电路(LC)这样根据二进制值(BV)提供出等于基本控制值(CV)或与此相反的最终控制值(CV’)。最终控制值(CV’)确定应用该值的多路复用器(MUX)作出的选择。
更详细地,第一逻辑电路(LC1)根据第一和第二二进制值(BV1,BV2)改变或不改变基本控制值(CV1)。假设第一基本控制值(CV1)为零(0)。这样第一基本控制值(CV1)表示第一多路复用器(MUX1)应选择第一像素(PIX1)。再假设与第一像素(PX1)相关的第一二进制值(BV1)是一(1)。这意味着这个像素有效。在这种情况下,第一逻辑电路(LC1)不改变第一基本控制值(CV1)。因此最终第一控制值(CV1’)为零(0)并且结果第一多路复用器(MUX1)实际选择第一像素(PX1)。现在假设第一二进制值(BV1)为零(0)并且第二二进制值(BV2)为一(1)。这意味着第一像素(PX1)无效,而第二像素(PX2)有效。在这种情况下,第一逻辑电路(LC1)改变第一基本控制值(CV1)。因此最终第一控制值(CV1’) 为一(1)并且结果第一多路复用器(MUX1)选择第二像素(PX2)而不是第一像素(PX1)。
第一逻辑电路(LC1)以与第一基本控制值(CV1)为一(1)时可比拟的方式操作。在这种情况下,它实际验证第二像素(PX2)是否有效。如果第二像素(PX2)无效,只要第一像素(PX1)有效,第一逻辑电路(LC1)改变第一基本控制值(CV1)来实现第一多路复用器(MUX1)选择第一像素(PX1)。
第二逻辑电路(LC2)以与上述的第一逻辑电路(LC1)相同方式操作。第二基本控制值(CV2)替代第一基本控制值(CV1)。第三和第四二进制值(BV3,BV4)分别替代第一和第二二进制值(BV1,BV2)。第二多路复用器(MUX2)替代第一多路复用器(MUX1)。第三和第四像素(PX3,PX4)分别替代第一和第二像素(PX1,PX2)。
第三逻辑电路(LC3)接收二进制值(BV)的两个OR组合。第一和第二OR电路(OR1,OR2)分别提供第一组合和第二组合。第一OR组合是第一和第二二进制值(BV1,BV2)执行OR操作的结果。它表示第一多路复用器(MUX1)选择的像素是否有效。第二OR组合是第三和第四二进制值(BV3,BV4)执行OR操作的结果。它表示第二多路复用器(MUX2)选择的像素是否有效。
第三逻辑电路(LC3)以与上述的第一逻辑电路(LC1)相同方式操作。第三基本控制值(CV3)替代第一基本控制值(CV1)。第一和第二OR组合分别替代第一和第二二进制值(BV1,BV2)。第三多路复用器(MUX3)替代第一多路复用器(MUX1)。第一和第二多路复用器(MUX1,MUX2)选择的像素替代第一和第二像素(PX1,PX2)。
参考图2-4描述的MPEG4视频滤波装置是实施图1所示的特性特征的例子。图1所示的输入电路(INP)采用4个存储体(MB1-MB4)和图2所示的控制电路(CNTRL)的形式。图1所示的基本控制数据(BCD)采用图2所示的4个控制字(CW1-CW4)的形式。附加控制数据(SCD)采用图4所示的4个二进制值(BV1-BV4)的形式,二进制值从图2所示的存储体(MB)得到。图1所示的互联网(ICN)采用图2所示的4个多路复用设备(MA1-MA4)的形式。图1所示的数据处理电路(PRC)采用图2所示的滤波器(F)的形式。
参考各个图的上面描述图示而非限制本发明。显然在后附权利要求的范围內有各种变形。总之,在这一方面进行了一些表示。
有各种方法来形成连续数据组。图2所示的MPEG4视频滤波装置形成4个数据项的组。本发明的其他实施中形成例如2个、3个、5个或6个数据项等的组。组中的项的数目是不相关的。
有各种方法来处理数据组。图2所示的MPEG4视频滤波装置形成数据组的加权组合。本发明的其他实施中执行其他类型的处理,例如离散余弦变化。
有各种方法来重组一组数据。图2所示的MPEG4视频滤波装置包括4个多路复用设备(MA1-MA4),每一个包括具有2个输入和一个输出的类型的3个多路复用器(MUX1-MUX3),如图4所示。本发明的其他实施中包括其他类型多路复用器。例如可能用具有16个输入和4个输出的类型的一个多路复用器和一个适当的逻辑电路替代图2所示的4个多路复用设备(MA1-MA4)。同样可能用具有4个输入和1个输出的类型的一个多路复用器替代具有2个输入和1个输出类型的3个多路复用器,如图4所示。在这一方面,应注意图4所示的多路复用设备实际上包括两个多路复用层第一层包括第一和第二多路复用器(MUX1,MUX2),第二层包括第三多路复用器(MUX3)。如图4所示,用具有4个输入和1个输出的类型的一个多路复用器替代具有2个输入和1个输出类型的3个多路复用器实际意味着把多路复用设备形成为具有单层而不是两层。现在假设数据组包括8个数据项而不是4个数据项,如图4所示。在这种情况下,例如可能通过具有8个输入和1输出的类型的多路复用器实现具有单层的多路复用设备或通过具有4个输入和1个输出的类型的多路复用器实现具有2层的多路复用设备,或通过具有2个输入和1个输出的类型的多路复用器实现具有3层的多路复用设备。
有各种方式来通过硬件或软件或二者的组合项来实施功能。在这一方面,应注意这些图相当程度是图示性的,各个图仅表示本发明的一个实施例。这样,尽管图中作为独立的块来表示不同功能,这不排除硬件或软件中的一项执行多个功能的可能性。这绝不排除通过一组硬件或软件项执行功能的可能性。
例如,图2所示的MPEG4视频滤波装置包括不同的决,其组合形成数据组并处理数据组。原理上,可通过适当的编程的计算机电路实现这些块。包括在程序存储器中的一组命令会引起计算机电路执行上面参考图2-4所述的不同的操作。该组命令可通过读出数据载体被装载到程序存储器中,数据载体例如是承载该组命令的磁盘。可经通信网络,如例如因特网实施读出。在这种情况下,服务提供商将使该组命令为对此感兴趣的人利用。
在权利要求中的括弧中给出的所有参考符号不应构成为所述权利要求的限制。动词“包括”的使用不排除除权利要求中限定的哪些之外还有任何其他元件或步骤存在。元件或步骤之前的不定冠词“a”或“an”的使用并不排除存在多个这些元件或步骤。
权利要求
1.一种数据处理装置,包括输入电路(INP),形成连续的数据组(GRP),而且对各组数据(GRP)产生基本控制数据项(BCD)和附加控制数据项(SCD),对于每个数据项而言,基本控制数据项(BCD)代表多个端子(1,2,3,4)中应该应用该数据项的一个端子,并且对于每个数据项而言,附加控制数据项(SCD)代表这个输入数据项有效(+)还是无效(-);互联网(ICN),根据基本控制数据项(BCD)和附加控制数据项(SCD)把连续数据组(GRP)应用于端子(1,2,3,4),如果数据项有效(+),将互联网(ICN)设置成把数据项应用于由基本控制数据项(BCD)代表的端子,如果数据项无效(-),另外应用有效数据项;以及数据处理电路(PRC),处理应用于端子(1,2,3,4)的数据来得到输出数据项。
2.一种处理数据的方法,包括下面步骤形成步骤(INP),其中形成连续的数据组(GRP),而且对各组数据(GRP)产生基本控制数据项(BCD)和附加控制数据项(SCD),对于每个数据项而言,基本控制数据项(BCD)代表多个端子(1,2,3,4)中应该应用该数据项的一个端子,并且对于每个数据项而言,附加控制数据项(SCD)代表这个输入数据项有效(+)还是无效(-);应用步骤(ICN),其中根据基本控制数据项(BCD)和附加控制数据项(SCD)把连续数据组(GRP)应用于端子(1,2,3,4),如果数据项有效(+),将互联网(ICN)设置成把数据项应用于由基本控制数据项(BCD)代表的端子,如果数据项无效(-),另外应用有效数据项;以及处理步骤(PRC),其中处理应用于端子的数据来得到输出数据项。
3.一种用于数据处理装置的“计算机程序”产品,“计算机程序”产品包括一组指令,当其被装载到数据处理装置时,引起该装置执行下面的步骤形成步骤(INP),其中形成连续的数据组(GRP),而且对各组数据(GRP)产生基本控制数据项(BCD)和附加控制数据项(SCD),对于每个数据项而言,基本控制数据项(BCD)代表多个端子(1,2,3,4)中应该应用该数据项的一个端子,并且对于每个数据项而言,附加控制数据项(SCD)代表这个输入数据项有效(+)还是无效(-);应用步骤(ICN),其中根据基本控制数据项(BCD)和附加控制数据项(SCD)把连续数据组(GRP)应用于端子(1,2,3,4),如果数据项有效(+),将互联网(ICN)设置成把数据项应用于由基本控制数据项(BCD)代表的端子,如果数据项无效(-),另外应用有效数据项;处理步骤(PRC),其中处理应用于端子的数据来得到输出数据项。
全文摘要
一种数据处理装置,包括输入电路(INP)、互联网(ICN)和数据处理电路(PRC)。输入电路(INP)形成连续的数据组(GRP),而且对各组数据(GRP)产生基本控制数据项(BCD)和附加控制数据项(SCD)。对于每个数据项而言,基本控制数据项(BCD)代表多个端子(1-4)中应该应用该数据项的一个端子。并且对于每个数据项而言,附加控制数据项(SCD)代表这个输入数据项有效(+)还是无效(-)。互联网(ICN)根据基本控制数据项(BCD)和附加控制数据项(SCD)把连续数据组(GRP)应用于端子(1-4)。如果数据项有效(+),互联网(ICN)把数据项应用于由基本控制数据项(BCD)代表的端子。如果数据项无效(-),互联网(ICN)应用另一有效数据项。
文档编号H03H17/06GK1336602SQ0112465
公开日2002年2月20日 申请日期2001年7月27日 优先权日2000年7月31日
发明者A·拉法格, J·戈伯特 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1