具体实施方式
本原理针对用于基于分类环路滤波器的方法及装置。
本描述例示了本原理。因此,将懂得,本领域的技术人员将能够设想出尽管未明确描述或显示在本文中,但体现本原理和包括在它的精神和范围之内的各种安排。
本文列举的所有例子和条件语言旨在教授的目的,以帮助读者理解本原理以及(多个)本发明人为促进技术进步而贡献的概念,并且应该理解为不局限于这样具体列举的例子和条件。
此外,本文阐述本原理的各个原理、方面和实施例及其特定例子的所有语句旨在包含其结构和功能等效物两者。另外,这样的等效物旨在包括当前已知的等效物以及未来开发的等效物,即与结构无关,开发出来执行相同功能的任何元件。
因此,例如,本领域的技术人员将懂得,本文所表示的方块图代表体现本原理的例示性电路的概念图。类似地,将懂得,任何流程图、流图、状态转变图、伪码等代表基本上可以表示在计算机可读媒体中,因此可以由计算机或处理器执行的各种进程,无论这样的计算机或处理器是否明确显示出来。
显示在附图中的各种元件的功能可以通过使用专用硬件以及能够与适当软件相关联执行软件的硬件来实现。当由处理器提供时,这些功能可以由单个专用处理器,由单个共享处理器,或由其中一些可以共享的多个单独处理器提供。此外,术语“处理器”或“控制器”的显性使用不应该理解为排他地指能够执行软件的硬件,而是可以隐性地包括但不限于数字信号处理器(“DSP”)硬件、存储软件的只读存储器(“ROM”)、随机访问存储器(“RAM”)和非易失性存储体。
也可以包括传统的和/或定制的其他硬件。类似地,显示在附图中的任何开关都只是概念性的。它们的功能可以通过程序逻辑的运算,通过专用逻辑,通过程序控制和专用逻辑的交互,或甚至人工地实现,正如从上下文中更具体了解到的那样,特定的技术可由实现者选择。
在其权利要求书中,表达成执行特定功能的部件的任何元件旨在包含执行那种功能的任何方式,例如,包括a)执行那种功能的电路元件的组合,或b)任何形式的软件,因此包括与执行那种软件的适当电路结合执行该功能的固件、微码等。如这样的权利要求书定义的本原理在于以下事实,以权利要求书要求的方式组合和汇集各种所列举部件提供的功能。因此,认为可以提供那些功能的任何部件都等效于本文所示的那些部件。
在说明书中提到本原理的“一个实施例”或“实施例”以及它的其他变型意味着结合该实施例所述的特定特征、结构、特性等包括在本原理的至少一个实施例中。因此,出现在整个说明书中的各个地方的措词“在一个实施例中”或“在实施例中”以及任何其他变型的出现未必都指同一实施例。
要懂得,如下“/”、“和/或”、和“至少一个”的任何一种的使用,例如,在“A/B”、“A和/或B”、和“A和B的至少一个”的情况下,旨在包含只有第一所列选项(A)的选择,或只有第二所列选项(B)的选择,或两个选项(A和B)的选择。作为进一步的例子,在“A、B、和/或C”和“A、B、和C的至少一个”的情况下,这样的措词旨在包含只有第一所列选项(A)的选择,或只有第二所列选项(B)的选择,或只有第三所列选项(C)的选择,或只有第一和第二所列选项(A和B)的选择,或只有第一和第三所列选项(A和C)的选择,或只有第二和第三所列选项(B和C)的选择,或所有三个选项(A、B和C)的选择。本领域和相关领域的普通技术人员容易明白,对于列出的许多项目,可以对此扩展。
此外,如本文所使用,词汇“画面”和“图像”可互换使用,并且指的是来自视频序列的静止图像或画面。众所周知,画面可以是帧或场。
并且,如本文所使用,“高级语法”指的是出现在在分层结构中位于宏块层之上的位流中的语法。例如,如本文所使用,高级语法可以指但不限于在切片首标级、补充增强信息(SEI)级、画面参数集(PPS)级、序列参数集(SPS)级和网络抽象层(NAL)单元首标级上的语法。
此外,如本文所使用,措词“其中基于画面地自适应训练滤波器系数”指的是逐个画面地训练基于分类环路滤波器的滤波器系数。也就是说,在考虑整个画面的特性的同时,以及在考虑不止一个画面的同时训练这样的系数。
另外,如本文所使用,措词“离线训练滤波器系数”指的是在与滤波器正应用于特定画面的特定像素期间的时间不同的时间上训练基于分类环路滤波器的滤波器系数。因此,离线可以指处理这样的画面所属的特定视频序列之前的时间。
为了例示和描述的目的,本文在超过MPEG-4AVC标准的改进的背景下描述这些例子,将MPEG-4AVC标准用作我们描述的基线,并说明超过MPEG-4AVC标准的改进和扩展。但是,要懂得,本原理不只局限于MPEG-4AVC标准和/或它的扩展。给定本文提供的本原理的教导,本领域和相关领域的普通技术人员可以容易地理解,当应用于其他标准的扩展时,或当应用于还未开发出来的标准和/或并入还未开发出来的标准中时,本原理同样可应用,并至少可以提供类似的好处。还要懂得,本原理也应用于不遵从这些标准,而是遵从专门的定义的视频编码器和视频解码器。
此外,为了例示和描述的目的,本文在众所周知维纳滤波器的背景下描述这些例子。但是,要懂得,本原理可应用于能够应用于一个或多个像素和/或像素数据的任何类型滤波器。例如,要懂得,在本原理的一些实施例中,可以选择一种滤波器类型(例如,维纳滤波器)并对分类在一个组中的像素确定系数,并且可以选择另一种滤波器类型(例如,非维纳滤波器)并对分类在另一个组中的像素确定系数。给定本文提供的本原理的教导,本领域和相关领域的普通技术人员可以容易地确定本文所述的本原理的这些和其他变型。
转到图1,可以应用本发明原理的示范性视频编码器用标号100总体表示。视频编码器100包括具有与组合器185的非反相输入端信号通信的输出端的帧排序缓冲器110。组合器185的输出端被连接成与变换器和量化器125的第一输入端信号通信。变换器和量化器125的输出端被连接成与熵编码器145的第一输入端和逆变换器和逆量化器150的第一输入端信号通信。熵编码器145的输出端被连接成与组合器190的第一非反相输入端信号通信。组合器190的输出端被连接成与输出缓冲器135的第一输入端信号通信。
编码器控制器105的第一输出端被连接成与帧排序缓冲器110的第二输入端、逆变换器和逆量化器150的第二输入端、画面类型判定模块115的输入端、宏块类型(MB类型)判定模块120的第一输入端、帧内预测模块160的第二输入端、去块滤波器165的第二输入端、运动补偿器170的第一输入端、运动估计器175的第一输入端、和参考画面缓冲器180的第二输入端信号通信。
编码器控制器105的第二输出端被连接成与补充增强信息(SEI)***器130的第一输入端、变换器和量化器125的第二输入端、熵编码器145的第二输入端、输出缓冲器135的第二输入端、和序列参数集(SPS)和画面参数集(PPS)***器140的输入端信号通信。
SEI***器130的输出端被连接成与组合器190的第二非反相输入端信号通信。
画面类型判定模块115的第一输出端被连接成与帧排序缓冲器110的第三输入端信号通信。画面类型判定模块115的第二输出端被连接成与宏块类型判定模块120的第二输入端信号通信。
序列参数集(SPS)和画面参数集(PPS)***器140的输出端被连接成与组合器190的第三非反相输入端信号通信。
逆变换器和逆量化器150的输出端被连接成与组合器119的第一非反相输入端信号通信。组合器119的输出端被连接成与帧内预测模块160的第一输入端和去块滤波器165的第一输入端信号通信。去块滤波器165的输出端被连接成与自适应环路滤波器133的输入端信号通信。自适应环路滤波器133的输出端被连接成与参考画面缓冲器180的第一输入端信号通信。参考画面缓冲器180的输出端被连接成与运动估计器175的第二输入端和运动补偿器170的第三输入端信号通信。运动估计器175的第一输出端被连接成与运动补偿170的第二输入端信号通信。运动估计器175的第二输出端被连接成与熵编码器145的第三输入端信号通信。
运动补偿器170的输出端被连接成与开关197的第一输入端信号通信。帧内预测模块160的输出端被连接成与开关197的第二输入端信号通信。宏块类型判定模块120的输出端被连接成与开关197的第三输入端信号通信。开关197的第三输入端确定开关的“数据”输入(如与控制输入,即,第三输入相比)由运动补偿170提供还是由帧内预测模块160提供。开关197的输出端被连接成与组合器119的第二非反相输入端和组合器185的反相输入端信号通信。
帧排序缓冲器110的第一输入端和编码器控制器105的输入端可用作为编码器100的输入端,以接收输入画面。此外,补充增强信息(SEI)***器130的第二输入端可用作为编码器100的输入端,以接收元数据。输出缓冲器135的输出端可用作为编码器100的输出端,以输出位流。
转到图2,可以应用本原理的示范性视频解码器用标号200总体表示。该视频解码器200包括具有连接成与熵解码器245的第一输入端信号通信的输出端的输入缓冲器210。熵解码器245的第一输出端被连接成与逆变换器和逆量化器250的第一输入端信号通信。逆变换器和逆量化器250的输出端被连接成与组合器225的第二非反相输入端信号通信。组合器225的输出端被连接成与去块滤波器265的第二输入端和帧内预测模块260的第一输入端信号通信。去块滤波器265的第二输出端被连接成与自适应环路滤波器233的输入端信号通信。自适应环路滤波器233的输出端被连接成与参考画面缓冲器280的第一输入端信号通信。参考画面缓冲器280的输出端被连接成与运动补偿器270的第二输入端信号通信。
熵解码器245的第二输出端被连接成与运动补偿器270的第三输入端、去块滤波器265的第一输入端、和帧内预测器260的第三输入端信号通信。熵解码器245的第三输出端被连接成与解码器控制器205的输入端信号通信。解码器控制器205的第一输出端被连接成与熵解码器245的第二输入端信号通信。解码器控制器205的第二输出端被连接成与逆变换器和逆量化器250的第二输入端信号通信。解码器控制器205的第三输出端被连接成与去块滤波器265的第三输入端信号通信。解码器控制器205的第四输出端被连接成与帧内预测模块260的第二输入端、运动补偿器270的第一输入端、和参考画面缓冲器280的第二输入端信号通信。
运动补偿器270的输出端被连接成与开关297的第一输入端信号通信。帧内预测模块260的输出端被连接成与开关297的第二输入端信号通信。开关297的输出端被连接成与组合器225的第一非反相输入端信号通信。
输入缓冲器210的输入端可用作为解码器200的输入端以接收输入位流。去块滤波器265的第一输出端可用作为解码器200的输出端以对输出画面进行输出。
如上所述,本原理针对用于基于分类环路滤波器的方法及装置。如前所述,现有技术的滤波途径往往对不变(非自然)视频信号非常有效。此外如前所述,现有技术的方法通常利用等大小或可变大小块的分区。但是,基于块的方法不能有效地表征自然(正常)图像和视频内的空间变化。例如,视频序列的视觉质量高度取决于边缘锐度,而画面内的边缘远不是基于块的。更重要的是,不同方向的边缘需要不同滤波器组来保持锐度。为了解决这些问题,我们提出了基于分类途径来改进滤波器。
依照本原理的实施例,公开和描述了在视频编码器中,用于视频编码的方法和装置,其中首先将图像的预测误差变换成变换系数。然后量化变换的系数。逆量化和逆变换以前量化的变换系数,得出重构预测误差图像。通过将重构预测误差图像与预测图像组合生成重构图像。然后,响应像边缘取向、各向异性/各向同性、方向、幅度(magnitude)、对比度、梯度等那样的局部几何特性,将像素分类在一个组或类别中。在分类基于,例如,取向的实施例中,进行重构图像的边缘检测,并根据取向将边缘上的像素分类在一个组或类别中。将滤波器应用于指定像素,该滤波器是响应一个组或类别内的像素分类来选择的。
依照本原理的实施例,公开和描述了在视频解码器中,用于视频解码的方法和装置,其中接收然后逆量化和逆变换熵编码量化的变换系数,得出重构预测误差图像。通过将重构预测误差图像与预测图像组合生成重构图像。然后,响应像边缘取向、各向异性/各向同性、方向、幅度、对比度、梯度等那样的局部几何特性,将像素分类在一个组或类别中。在分类基于,例如,取向的实施例中,进行重构图像的边缘检测,并根据取向将边缘上的像素分类在一个组或类别中。将滤波器应用于指定像素,该滤波器是响应一个组或类别内的像素分类来选择的。
一个像素由其结构(系数)是为分类在那个组内的所有像素选择的滤波器来滤波。对于属于不同组/类别的像素不同地构建滤波器。
在当前视频编码框架下,滤波技术通常用于除去压缩伪像或用于反混叠(anti-aliasing)。这样的滤波技术可以在许多视频压缩应用中用作内环或外环。由于视频信号的变化性质,期望滤波过程在空间域和时间域两者中是自适应的。已经提出了许多基于块自适应滤波器,以便当除去压缩伪像时达到空间自适应。依照本原理,我们公开和描述了由于使用具有基于像素特性自适应性的自适应滤波器而使性能提高的方法和装置。具体地说,将边缘检测应用于视频帧,并根据某种像素分类将检测的边缘分类成不同组或类别(可以根据方向、幅度、梯度和/或一些其他可检测性质选择和分组或分类这样的像素)。然后,一个像素由其结构(系数)是为分类在特定组内的所有像素选择的滤波器来滤波。对于属于不同组/类别的像素不同地构建滤波器。滤波器系数可以逐帧自适应地选择,并且可以将系数从编码器传信到解码器。在一个可替代实施例中,可以离线地选择每个类别的滤波器系数,并将其存储在编码器和解码器两者中。
在一个实施例中,在要滤波的输入画面上进行边缘检测。根据边缘取向将确定为边缘的像素进一步分类成不同类别。对于每个类别,通过针对这个类别内的像素使原始画面与要处理的输入画面之间的均方误差(MSE)最小化来计算一组维纳滤波器系数(或其他类型的滤波器系数)。可以逐帧自适应地训练并使用高级语法传信每个类别的滤波器系数。
对于未确定为边缘的画面其余部分中的像素,在滤波之前计算另一组滤波器系数。在解码器上,在按类别滤波边缘像素之前在画面上进行类似边缘检测和分类,并且对像素的其余部分也是如此。
在另一个实施例中,取代在像素级上进行分类,基本单位可以是块,例如,具有块大小为8×8的块。
转到图3,使用基于分类环路滤波器编码输入画面的画面数据的示范性方法用标号300总体表示。该方法300包括将控制交给功能块310的开始块305。功能块310进行编码设置,并将控制交给功能块315。功能块315变换和量化输入画面的残差以获取量化变换系数,逆量化和逆变换量化变换系数以获取残差的重构版本,将至少一个参考画面与残差的重构版本组合以获取输入画面的重构版本,并将控制交给功能块330。功能块330根据局部几何特性,将输入画面的重构版本中的边缘像素或块分类成n个类别,并将控制交给循环限制块340。循环限制块340在每个类别上循环,并将控制交给功能块350。功能块350计算维纳滤波器系数,将滤波器应用于循环索引所指的特定类内的边缘像素或块,并将控制交给功能块360。功能块360编码滤波器系数,并将控制交给循环限制块370。循环限制块370结束在每个类别上的循环,并将控制交给功能块380。功能块380对其他(即,非边缘)像素计算和应用维纳滤波器系数,并将控制交给功能块390。功能块390编码滤波器系数(针对其他像素),并将控制交给结束块399。
转到图4,使用基于分类环路滤波器解码画面的画面数据的示范性方法用标号400总体表示。该方法400包括将控制交给功能块415的开始块405。功能块415接收量化变换系数,逆量化和逆变换量化变换系数以获取残差的重构版本,将至少一个参考画面与残差的重构版本组合以获取画面的重构版本,并将控制交给功能块420。功能块420根据局部几何特性,将画面的重构版本中的边缘像素或块分类成n个类别,并将控制交给循环限制块430。循环限制块430开始在每个类别上的循环,并将控制交给功能块440。功能块440解析维纳滤波器系数,并将控制交给功能块450。功能块450将维纳滤波器应用于循环索引所指的特定类内的边缘像素或块,并将控制交给循环限制块460。循环限制块460结束在类别上的循环,并将控制交给功能块470。功能块470对其他(即,非边缘)像素解析维纳滤波器系数,并将控制交给功能块480。功能块480应用维纳滤波器(针对其他像素),并将控制交给结束块499。
在另一个实施例中,可以避免传信额外开销。在这样的情况下,滤波器利用一组序列离线训练,并存储在编码器和解码器两者上。
转到图5,使用基于分类环路滤波器编码输入画面的画面数据的另一种示范性方法用标号500总体表示。该方法500包括将控制交给功能块510的开始块505。功能块510进行编码设置,并将控制交给功能块530。虽然未明确示出,但我们注意到,正如本领域和相关领域的普通技术人员可容易看出的那样,该方法500在功能块530进行分类之前,也包括与针对图3的功能块315所示的那些类似的步骤。功能块530根据局部几何特性,将输入画面的重构版本中的边缘像素或块分类成n个类别,并将控制交给循环限制块540。循环限制块540开始在每个类别上的循环,并将控制交给功能块550。功能块550利用该类别的预训练系数滤波边缘像素或块,并将控制交给循环限制块560。循环限制块560结束在类别上的循环,并将控制交给功能块570。功能块570对其他(即,非边缘)像素计算和应用维纳滤波器系数,并将控制交给功能块580。功能块580编码滤波器系数,并将控制交给结束块599。
转到图6,使用基于分类环路滤波器解码画面的画面数据的另一种示范性方法用标号600总体表示。该方法600包括将控制交给功能块620的开始块605。虽然未明确示出,但我们注意到,正如本领域和相关领域的普通技术人员可容易看出的那样,该方法600在功能块620进行分类之前,也包括与针对图4的功能块415所示的那些类似的步骤。功能块620根据局部几何特性,将画面的重构版本中的边缘像素或块分类成n个类别,并将控制交给循环限制块630。循环限制块630开始在每个类别上的循环,并将控制交给功能块640。功能块640利用该类别的预训练系数滤波边缘像素或块,并将控制交给循环限制块650。循环限制块650结束在类别上的循环,并将控制交给功能块660。功能块660对其他(即,非边缘)像素解析维纳滤波器系数,并将控制交给功能块670。功能块670应用维纳滤波器(针对其他像素),并将控制交给结束块699。
在另一个实施例中,将基于类别维纳滤波与为每个像素判定是否进行滤波的BALF或QALF组合。如果BALF或QALF判定滤波一个块,则检测为边缘的像素利用它们所属的类别的特别训练滤波器来滤波。
转到图7,使用基于分类环路滤波器编码输入画面的画面数据的又一种示范性方法用标号700总体表示。该方法700包括将控制交给功能块710的开始块705。功能块710进行编码设置,并将控制交给功能块720。虽然未明确示出,但我们注意到,正如本领域和相关领域的普通技术人员可容易看出的那样,该方法700在功能块720进行分类之前,也包括与针对图3的功能块315所示的那些类似的步骤。功能块720根据局部几何特性,将输入画面的重构版本中的边缘像素或块分类成n个类别,并将控制交给循环限制块725。循环限制块725在每个类别上循环,并将控制交给功能块730。功能块730计算每个类别的维纳滤波器系数,并将控制交给循环限制块735。循环限制块735结束在类别上的循环,并将控制交给功能块740。功能块740利用块自适应环路滤波器计算滤波器系数和滤波器控制标志,并将控制交给循环限制块745。循环限制块745开始在每个块上的循环,并将控制交给判定块750。判定块750确定是否滤波这个(当前)块。如果是,则将控制交给循环限制块755。否则,将控制交给循环限制块780。循环限制块755开始在当前块中的每个像素上的循环,并将控制交给判定块760。判定块760确定当前像素是否是边缘像素。如果是,则将控制交给功能块765。否则,将控制交给功能块770。功能块765应用为该像素所属的类别训练的滤波器,并将控制交给循环限制块775。功能块770应用通过BALF或QALF训练的滤波器,并将控制交给循环限制块775。循环限制块755结束在像素上的循环,并将控制交给循环限制块780。循环限制块780结束在块上的循环,并将控制交给功能块790。功能块790编码滤波器系数和控制标志,并将控制交给结束块799。
转到图8,使用基于分类环路滤波器解码画面的画面数据的又一种示范性方法用标号800总体表示。该方法800包括将控制交给功能块810的开始块805。功能块810解析滤波器系数和控制标志,并将控制交给功能块820。虽然未明确示出,但我们注意到,正如本领域和相关领域的普通技术人员可容易看出的那样,该方法800在功能块820进行分类之前,也包括与针对图4的功能块415所示的那些类似的步骤。功能块820根据局部几何特性,将画面的重构版本中的边缘像素或块分类成n个类别,并将控制交给循环限制块830。循环限制块830开始在每个块上的循环,并将控制交给判定块835。判定块835确定是否滤波这个(当前)块。如果是,则将控制交给循环限制块840。否则,将控制交给循环限制块870。循环限制块840开始在当前块中的每个像素上的循环,并将控制交给判定块845。判定块845确定当前像素是否是边缘像素。如果是,则将控制交给功能块850。否则,将控制交给功能块855。功能块850应用为该像素所属的类别训练的滤波器,并将控制交给循环限制块860。功能块855应用通过BALF或QALF训练的滤波器,并将控制交给循环限制块860。循环限制块860结束在像素上的循环,并将控制交给循环限制块870。循环限制块870结束在块上的循环,并将控制交给结束块899。
语法
表1示出了依照本原理的实施例的示范性切片首标语法。
表1中的语法元素的语义如下:
edge_filter_flag等于1规定将基于边缘取向的滤波用于切片。edge_filter_flag等于0规定不使用基于边缘取向的滤波,这意味着切片中的所有像素将使用相同滤波器。
num_edge_dir规定边缘方向的总数。
edge_dir_used_flag[i]等于1规定使用沿着第i方向的滤波器,edge_dir_used_flag[i]等于0规定不使用沿着第i方向的滤波器。
filter_coeff[i]规定沿着第i方向的滤波器的系数。
表1
slice_header(){ |
描述符 |
... |
|
edge_filter_flag |
u(1) |
If(edge_filter_flag==1){ |
|
num_edge_dir |
u(v) |
For(i=0;i<num_edge_dir;i++){ |
|
edge_dir_used_flag[i] |
u(1) |
If(edge_dir_used_flag[i]==1){ |
|
filter_coeff[i] |
u(v) |
} |
|
} |
|
} |
|
... |
|
} |
|
现在将对其中一些上面已经提及的本发明的许多附带优点/特征的一些加以描述。例如,一个优点/特征是含有视频编码器的装置,该视频编码器用于通过如下步骤编码输入画面:变换和量化输入画面的残差以获取量化变换系数;逆量化和逆变换量化变换系数以获取残差的重构版本;以及将至少一个参考画面与残差的重构版本组合以获取输入画面的重构版本。该视频编码器包括滤波器,用于响应局部几何特性,将输入画面的重构版本中的像素分类在多个类别的对应一个内,并响应针对多个类别对至少一个像素的相应分类,滤波选择的至少一个像素。
另一个优点/特征是如上所述的含有视频编码器的装置,其中滤波器系数是自适应的,并且是响应在多个类别的至少一个内提供改进滤波性能选择的。
又一个优点/特征是如上所述的其中滤波器系数是自适应的,并且是响应在多个类别的至少一个内提供改进滤波性能选择的含有视频编码器的装置,其中改进性能是通过使输入画面与输入画面的重构版本之间的失真度量最小化提供的。
再一个优点/特征是如上所述的含有视频编码器的装置,其中至少一个像素的分类是响应与其相对应的方向、幅度、各向异性/各向同性、对比度、和梯度的至少一个确定的。
此外,另一个优点/特征是如上所述的含有视频编码器的装置,其中滤波器系数是基于画面自适应训练的,并且是使用一个或多个高级语法元素传信的。
并且,另一个优点/特征是如上所述的含有视频编码器的装置,其中滤波器系数是离线训练的,并且存储在编码器和相应解码器两者中。
此外,另一个优点/特征是如上所述的含有视频编码器的装置,其中与块自适应环路滤波或四叉树自适应环路滤波联合地进行滤波。
相关领域的普通技术人员可以根据本文的教导容易地弄清本原理的这些和其它特征和优点。要明白,本原理的教导可以以硬件、软件、固件、专用处理器、或它们的组合的各种形式实现。
最优选的是,将本原理的教导实现成硬件和软件的组合。此外,软件可以实现成有形地具体化在程序存储单元上的应用程序。应用程序可以上载到包含任何适用架构的机器上并由它执行。优选的是,在含有像一个或多个中央处理单元(“CPU”)、随机访问存储器(“RAM”)、和输入/输出(“I/O”)接口那样的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作***和微指令代码。本文所述的各种过程和功能可以是可由CPU执行的部分微指令代码或部分应用程序,或它们的任何组合。另外,像附加数据存储单元和打印单元那样的各种其它***单元可以与计算机平台连接。
还要明白,因为描绘在附图中的一些组成***组件和方法优选用软件实现,所以***组件或过程功能块之间的实际连接可能随编程本原理的方式而不同。给定本文的教导,相关领域的普通技术人员能够设想出本原理的这些和类似实现或配置。
尽管本文参考附图描述了一些例示性实施例,但要明白,本原理不局限于那些精确实施例,相关领域的普通技术人员可以不偏离本原理的精神或范围地实施各种改变和修改。所有这样的改变和修改都意欲包括在如所附权利要求书所述的本原理的范围之内。