视频处理装置的制作方法

文档序号:2647799阅读:206来源:国知局
专利名称:视频处理装置的制作方法
技术领域
本发明涉及使用在视觉显示器的屏幕上显示的子画面(sprite)的视频数据的视 频处理装置,所述子画面例如是在视频游戏中使用的图形对象的移动元素。本申请要求日本专利申请No. 2009-176766 (提交日期2009年7月29日)的优 先权,通过引用,将其内容合并于此。
背景技术
使用子画面的传统上已知的视频处理装置需要在存储在视觉显示器的屏幕上显 示的子画面的视频数据的显示缓冲器上执行渲染。阿尔法(Alpha)混合是用于使用视频处理装置来渲染子画面的已知技术。阿尔法 混合指的是用于表示相对于源画面(即,进行阿尔法混合的原始画面)和目的地画面(即, 专用于源画面的渲染的背景画面)而言的在像素中的基色,即,红色(R)、绿色(G)和蓝色 (B)的亮度或强度的颜色值,以及用于表示每一个像素的透明度的阿尔法数据。基于颜色值 和阿尔法数据,阿尔法混合计算相对于其中在目的地画面中嵌入源画面的渲染完成画面而 言的像素的颜色值,或者,阿尔法混合计算其中源画面与目的地画面重叠的重叠区域中的 像素的颜色值。将参考图9来给出阿尔法混合的具体解释,在图9中,SC表示构成源画面 的一个像素(或一个源像素)的颜色值,并且D表示构成目的地画面的一个像素(或一个 目的地像素)的颜色值,其中,目的地画面专用于源画面的渲染。经由等式(1)来计算渲染 完成目的地像素的颜色值D’。D' = (l-α ) · SC+a · D ... (1)上面的计算使得有可能产生在使用由阿尔法数据指定的透明度来穿过源画面进 行渲染之前显现目的地画面的渲染完成画面。阿尔法混合不仅被用作用于通过前侧画面来显现后侧画面的视觉效果,而且被用 作用于渲染子画面的轮廓的抗混滤波器。接下来,将参考图10A-10D来描述用作抗混滤波 器的阿尔法混合。图1OA示出了进行渲染的子画面数据的示例;图1OB示出了背景数据的示例,所述 背景数据用于表示专用于子画面数据的渲染的背景。通过经由多个像素的矩阵来采样模拟 画面(即,在视觉表示上具有连续性的原始画面)来生成子画面数据。相对于包含模拟画 面的有色区域的轮廓附近的边界,使用有色区域的颜色来涂色位于轮廓中的像素,而位于 轮廓外侧的像素是空的(或无色)。即,使用图1OA的“采样的”子画面数据来在有色区域 的内侧和外侧之间形成锯齿状的边界,在图1OA中,有色区域被涂色为黑色。抗混滤波器用于通过平滑锯齿状的边界来平滑有色区域的轮廓。具体地说,抗混 滤波器通过使用图1OA的子画面数据、图1OB的背景数据、和图1OC的阿尔法表格来执行阿 尔法混合,其中,图1OC的阿尔法表格收集适用于像素的各种阿尔法数据。在图IOC的阿尔法表中,“Oh”(其中,“h”是用于表示十六进制表示的运算符)指 定“完全不透明的”阿尔法数据,对于完全位于模拟画面的有色区域的轮廓内侧的像素,“完全不透明的”阿尔法数据仅显现子画面的颜色,但是不显现背景的颜色。另外,“Fh”指定 “完全透明的”阿尔法数据,对于完全位于模拟画面的有色区域的轮廓外侧的像素,“完全透 明的”阿尔法数据显现背景的颜色,但是不显现子画面的颜色。而且,其值被设置为“Oh” 和“Fh”之间的“8h”、“6h”、“3h”...指定与穿过模拟画面的有色区域的轮廓的像素有关的 “中间”阿尔法数据。图IOE示出了阿尔法数据的示例,该阿尔法数据的示例表示穿过有色 区域的轮廓的像素,即,使用边缘(与有色区域的轮廓对应)而被划分为两个部分(即,内 部区域“a”和外部区域“b”)的块。即,基于在使用边缘划分的内部区域“a”和外部区域 “b”之间的比率“b/a”,来在透明度上确定中间阿尔法数据。具有高的比率b/a的阿尔法数 据朝向“Fh”增大,从而增强背景,而具有低的比率b/a的阿尔法数据朝向“Oh”减小,从而 增强子画面。图IOD示出了阿尔法混合完成画面,其中,在子画面的有色区域和背景之间的 边界在颜色上平滑地改变,以便平滑有色区域的锯齿状轮廓。专利文件1和2公开了作为抗混滤波器的阿尔法混合。专利文件1 日本专利申请公布No. 2004-213464专利文件2 日本专利申请公布No. 2008-198065使用子画面的传统上已知的视频处理装置被设计来对于每一种类型的子画面使 用单个阿尔法表格;因此,使用专用于一种类型的子画面的渲染的单个阿尔法表来执行阿 尔法混合。因为传统上已知的视频处理装置被配备了与所其属的子画面不可分离的阿尔法 表,所以它们在经由阿尔法混合来渲染的范围上受限。因为单个子画面表专用于一种类型 的子画面,所以即使当阿尔法混合被用作抗混滤波器时,也难于充分地演示抗混滤波效果。 当经由渲染来扩大或缩小子画面时,这个缺点出现。专利文件2可以通过与子画面的尺寸 扩大或子画面的尺寸缩小相符地扩大或缩小阿尔法表来处理这个缺点,其中,参考扩大的 阿尔法表或缩小的阿尔法表来对于扩大的子画面或缩小的子画面执行渲染。虽然与子画面 的扩大尺寸或子画面的缩小尺寸相符地扩大或缩小阿尔法表,中间阿尔法数据(其是在非 透明阿尔法数据和透明阿尔法数据之间的中间数据)的区域不与扩大或缩小的子画面的 有色区域的锯齿状边界重叠;因此,难于充分地实现抗混效果。

发明内容
本发明的目的地是提供一种视频处理装置,其改进了阿尔法混合以便实现在渲染 上的各种变化。本发明的一种视频处理装置由下述部分构成显示缓冲器,其存储在视觉显示器 的屏幕上显示的视频数据;阿尔法缓冲器,其存储对在以像素为单位的渲染中涉及的视频 数据进行的阿尔法混合中使用的阿尔法数据;以及,子画面渲染处理器,其交替地执行第一 渲染和第二渲染。经由对子画面的视频数据、所述显示缓冲器的渲染目的地视频数据、以及 所述阿尔法缓冲器的渲染目的地阿尔法数据进行阿尔法混合来执行第一渲染,因此生成结 果视频数据,用所述结果视频数据改写所述显示缓冲器中的渲染目的地视频数据,其中所 述阿尔法缓冲器的渲染目的地阿尔法数据是经由使用所述阿尔法缓冲器的第二渲染而产 生的。所述视频处理设备被配备有属性数据表,属性数据表存储子画面属性数 据,其表 示相对于所述第一渲染的子画面的渲染条件;以及,阿尔法属性数据,其表示相对于所述第二渲染的阿尔法数据的渲染条件。因为独立于所述子画面的视频数据的所述第一渲染而执行阿尔法数据的所述第 二渲染,所以有可能任意地改变用于在子画面和其背景画面之间的阿尔法混合的阿尔法数 据。因此,有可能使用在视觉显示器的屏幕上的阿尔法混合来生成各种各样的渲染。


将参考下面的附图来更详细地描述本发明的这些和其他目的、方面、和实施例。图1是示出根据本发明的优选实施例的视频处理装置的构成的框图。图2示出了作为耦合到视频处理装置的外部存储器的图案存储器的存储内容。图3是部分地示出在图1中所示的子画面渲染处理器的内部构成的框图。图4是示出子画面渲染处理器在每一个水平扫描周期中执行的一行渲染的处理 的流程图。图5A示出在图1中所示的属性数据表的存储内容的工作示例。图5B示出在图1中所示的IXD的显示屏幕上二维地显示的渲染完成子画面和阿 尔法表格。图5C示出与通过不同层的一条水平扫描线相关的渲染完成子画面和阿尔法表格 的线段。图6是解释根据本实施例的阿尔法混合的第一工作示例的图示。图7是解释根据本实施例的阿尔法混合的第二工作示例的图示。图8是解释根据本实施例的阿尔法混合的第三工作示例的图示。图9是解释子画面数据的传统上已知的阿尔法混合的图示。图IOA示出进行渲染的采样子画面数据的矩阵。图IOB示出专用于子画面数据的渲染的背景数据的矩阵。图IOC示出存储用于作为抗混滤波器的阿尔法混合的阿尔法数据的阿尔法表格 的矩阵。图IOD示出阿尔法混合完成画面的矩阵。图IOE示出被应用到使用缘而被划分为两个部分的块的阿尔法数据的示例。
具体实施例方式将参考附图,通过示例来进一步详细地描述本发明。图1是示出根据本发明的优选实施例的视频处理装置100的构成的框图。在从CPU 201接收到指令后,视频处理装置100从图案存储器202 (即,诸如ROM 的外部存储器)读取子画面图案数据,以便生成视频数据,该视频数据被显示在液晶显示 器(LCD) 203的屏幕上。如图2中所示,图案存储器202存储各种子画面图案数据和用于阿 尔法混合的各种类型的阿尔法表格。传统上已知的视频处理装置使用在子画面和阿尔法表格之间的一对一对应。相 反,本实施例的视频处理装置100不必然需要在图案存储器202中存储的子画面图案数据 和阿尔法表格之间的一对一对应。有可能在图案存储器202中存储与一种类型的子画面图 案数据对应的多种类型的阿尔法表格。可选地,有可能在图案存储器202中另外存储专用于未指定的子画面图案数据的阿尔法表格。本实施例不对于在子画面图案数据和阿尔法表格之间的对应施加限制,因此使得有可能自由地选择在渲染子画面中的阿尔法混合中使用 的阿尔法表格。接下来,将详细描述视频处理装置100的构成。寄存器101存储用于控制视频处理 装置100的几个部分的控制信息。CPU 201和视频处理装置100的子画面渲染处理器110 向寄存器101中写入控制信息。属性数据表102 (例如,RAM)存储子画面属性数据和阿尔法属性数据。子画面属 性数据指定子画面的渲染条件,而阿尔法属性数据指定阿尔法表格的渲染条件。本实施例 的特征在于阿尔法表格独立于子画面而根据阿尔法属性数据来进行渲染,其中,下层(表 示在渲染中在阿尔法表格之前的画面)和上层(表示在渲染中在阿尔法表格之前的画面) 进行阿尔法混合。下面将讨论细节。用于指定每一个子画面的一个渲染条件的一个子画面属性数据是诸如在IXD 203 的显示屏幕中的子画面的显示位置(例如,子画面的左上顶部位置)、用于指定子画面图案 数据在图案存储器202中的存储区域的图案存储器地址、子画面X方向和Y方向维度、以及 子画面的扩大/缩小因子的信息的集合。用于指定每一个阿尔法表格的一个渲染条件的一 个阿尔法属性数据是诸如在LCD 203的显示屏幕中的、采用阿尔法表格的区域的位置(例 如,采用阿尔法表格的区域的左上顶部位置)、用于指定在图案存储器202中用于存储阿尔 法表格的存储区域的图案存储器地址、阿尔法表格的X方向和Y方向维度、以及阿尔法表格 的扩大/缩小因子的信息的集合。图案数据解码器103从图案存储器202读取(在渲染中涉及的)子画面图案数据, 以便将它们解码为用于表示构成子画面的像素的颜色的视频数据。根据用于指定(在渲染中涉及的)子画面图案数据的像素的颜色的色码来使用调 色板104。调色板104用作转换表,用于将子画面图案数据转换为子画面的视频数据(即, 子画面数据),子画面的视频数据用于通过由诸如R、G、B和Y、U、V的三个颜色分量构成的 预定颜色表示来表示像素的颜色分量的亮度或强度。CPU 201能够更新调色板104的内容。行缓冲器105A和105B存储在IXD 203的屏幕上显示的视频数据,其中,它们具 有用于存储一行(或一个水平扫描行)的视频数据的相同存储容量。具体地说,行缓冲器 105A中的一个专用于渲染,而另一个专用于显示视频数据。它们在每次一个水平扫描行被 切换到下一个水平扫描行时切换它们的功能,因此交换“渲染”行缓冲器和“显示”行缓冲 器。作为“渲染”行缓冲器的一个行缓冲器被分配到视频数据的渲染。阿尔法缓冲器106存储用于利用(在渲染行存储器中存储的)一个水平扫描行 的视频数据和在渲染中涉及的视频数据来执行阿尔法混合的阿尔法数据。阿尔法缓冲器 106包括多个区域,该多个区域用于与构成一个水平扫描行的多个像素相关地存储阿尔法 数据。阿尔法缓冲器106作为每一个阿尔法表格的渲染目的地。显示控制单元107产生诸如用于在IXD 203上的显示控制的垂直同步信号VSYNC_ N和HSYNC_N的同步信号,以便将它们提供给IXD 203和子画面渲染处理器110。另外,显 示控制单元107从显示行缓冲器读取一个水平扫描行(构成多个像素)的视频数据,以便 在每一个水平扫描周期中将它们提供到LCD 203。子画面渲染处理器110在CPU 201的控制下,根据向属性数据表格102写入的子画面/阿尔法属性数据来执行第一渲染或第二渲染。在第一渲染中,子画面渲染处理器110 生成由属性数据表格102的子画面属性数据指定的子画面数据,以便将它们存储在渲染行 缓冲器(即,行缓冲器105A和105B中的一个)中。在第二渲染中,子画面渲染处理器110 在阿尔法缓冲器106中存储由属性数据表格102的阿尔法属性数据指定的阿尔法表格的阿 尔法数据。在第一渲染中,子画面渲染处理器110使用阿尔法缓冲器106的阿尔法数据与 子画面数据的渲染一起执行阿尔法混合。
图3是部分地示出子画面渲染处理器110的内部构成的框图。为了以可明白的方 式来图示子画面渲染处理器110的处理,在图3中另外示出行缓冲器105A(105B)和阿尔法 缓冲器106。如图3中所示,子画面渲染处理器110包括阿尔法混合单元111和计算单元 112。阿尔法混合单元111在第一渲染中执行阿尔法混合;因此,其整体处理与在图9中所 述的上述处理基本上相同。计算单元112输入相对于第二渲染的特定阿尔法表格的阿尔法 数据,使得其使用在阿尔法缓冲器106的阿尔法数据中的目的地阿尔法数据(作为所接收 的阿尔法数据的渲染目的地)和输入阿尔法数据来执行计算,因此生成阿尔法数据的计算 结果。用阿尔法数据的计算结果改写阿尔法缓冲器106中的目的地阿尔法数据。子画面渲染处理器110通过阿尔法混合单元111和计算单元112来执行第一渲染 或第二渲染。下面将说明详细过程。1.第一渲染在第一渲染中,阿尔法混合单元111执行下面的任务al_a4。(al)在渲染行缓冲器的视频数据中读取相对于子画面数据(即,在下一个水平扫 描周期中的一个水平扫描行上显示的子画面的视频数据)的渲染目的地视频数据(即,向 渲染目的地区域分配的视频数据)。(a2)在阿尔法缓冲器106的阿尔法数据中读取对应于与渲染目的地视频数据相 同的像素的阿尔法数据。(a3)执行子画面数据、渲染目的地视频数据、以及从阿尔法缓冲器106读取的阿 尔法数据的阿尔法混合,因此生成结果视频数据,用该结果视频数据改写渲染行缓冲器的 视频数据。(a4)将专用于阿尔法混合的阿尔法数据(即,在阿尔法缓冲器106的阿尔法数 据中的对应于与渲染目的地视频数据相同的像素的阿尔法数据)设置为用于表示“完全透 明”的“0”。2.第二渲染在第二渲染中,计算单元112执行下面的任务bl和b2。(bl)从阿尔法缓冲器106读取渲染目的地阿尔法数据。(b2)用在渲染中涉及的阿尔法数据改写阿尔法缓冲器106中的其值为0的渲染目 的地阿尔法数据。可选地,用其中在渲染中涉及的阿尔法数据乘以渲染目的地阿尔法数据 的阿尔法数据的相乘结果改写阿尔法缓冲器106中其值不是0的渲染目的地阿尔法数据。子画面渲染处理器110在每次显示控制单元107输出一个水平同步信号HSYNC_N 时执行一行渲染。图4是示出子画面渲染处理器110的一行渲染的处理的流程图。在图4 中,在步骤S5中执行第一渲染,并且在步骤S6中执行第二渲染。图5A至5C图示了由子画 面渲染处理器110执行的第一渲染和第二渲染的工作示例。接下来,将参考图4和图5A至图5C来描述本实施例的处理的细节。子画面渲染处理器110开始与水平同步信号HSYNC_N相关的一行渲染。其中,其 在步骤Sl中执行行计数。在此,子画面渲染处理器110计数在垂直同步信号VSYNC_N后的 水平同步信号HSYNC_N的数量,因此确定在当前水平扫描周期中从在显示屏幕上的最上面 水平扫描行开始计数的当前水平扫描行的编号。在步骤S2中,子画面渲染处理器110使用 背景颜色(例如,白色)的视频数据来初始化渲染行缓冲器的所有视频数据,同时使用用于 表示完全不透明的“0”来初始化阿尔法缓冲器106的所有阿尔法数据。
在步骤S3中,子画面渲染处理器110从属性数据表格102读取一个属性数据。如 图5A中所示,在CPU 201的控制下,子画面属性数据和阿尔法属性数据被顺序写入属性数 据表格102中。在步骤S3中,子画面渲染处理器110读取在属性数据表格102中的在已经 读取的属性数据之后的“顶部”属性数据。在步骤S4中,子画面渲染处理器110识别在步骤S3是否从属性数据表格102读 取了子画面属性数据或阿尔法属性数据。当从属性数据表格102读取子画面属性数据时, 子画面渲染处理器110在步骤S5执行第一渲染。当从属性数据表格102读取阿尔法属性 数据时,子画面渲染处理器110在步骤S6执行第二渲染。在完成步骤S5的第一渲染或步 骤S6的第二渲染时,子画面渲染处理器110在步骤S7确定是否从属性数据表格102读取 了所有的属性数据。当步骤S7的确定结果是“否”时,流程返回步骤S3,使得子画面渲染 处理器110重新开始从属性数据表格102读取下一个属性数据。随后,子画面渲染处理器 110基于子画面属性数据执行步骤S5的第一渲染,或基于阿尔法属性数据执行步骤S6的第 二渲染。当子画面渲染处理器110从属性数据表格102完全地读取所有的属性数据,使得 步骤S7的确定结果变为“是”时,切换到在步骤S8中的渲染行缓冲器和显示行缓冲器。因 此,可以完成一行渲染。当属性数据表格102存储在图5A中所示的一系列属性数据时,在图4的一行渲染 的一次执行之后,依序执行下面的任务。(a)基于子画面属性数据SPl的第一渲染(步骤S5)(b)基于阿尔法属性数据Al的第二渲染(步骤S6)(c)基于子画面属性数据SP2的第一渲染(步骤S5)(d)基于阿尔法属性数据A2的第二渲染(步骤S6)(e)基于子画面属性数据SP3的第一渲染(步骤S5)根据第一渲染向渲染行缓冲器105中写入的视频数据和根据第二渲染向阿尔法 缓冲器106中写入的阿尔法数据被称为层。因此,累积了多个层,并且在它们之间有分级关 系。考虑两种类型的渲染,根据在前的渲染的向渲染行缓冲器105或阿尔法缓冲器106写 入的数据被细分为下层,而根据随后的渲染向渲染行缓冲器105或阿尔法缓冲器106写入 的数据被细分为上层。图5B将阿尔法表格和子画面数据在IXD 203的显示屏幕上显示为二维区域,该 阿尔法表格和子画面数据已经根据在图5A中所示的一系列属性数据而进行了渲染。在图 5B中,SP1、SP2和SP3指定渲染完成的子画面,其是在基于子画面属性数据SP1、SP2和SP3 的渲染中完成的,并且被写入渲染行缓冲器105中。另外,Al和A2指定渲染完成的阿尔法 表格,其是在基于阿尔法属性数据Al和A2的渲染中完成的,并且被写入阿尔法缓冲器106中。在当前的水平扫描周期中,子画面渲染处理器110执行步骤S5的第一渲染(在图 4的一行渲染中),以便产生属于下一个水平扫描行(对应于在当前的水平扫描周期后的下 一个水平扫描周期)的渲染完成的子画面SP1、SP2或SP3。类似地,子画面渲染处理器110 执行步骤S6的第二渲染,以便产生属于下一个水平扫描行(对应于在当前的水平扫描周期 后的下一个水平扫描周期)的渲染完成的阿尔法表格Al或A2。图5C示出在不同层,S卩,上和下层中与一个水平扫描行相关的渲染完成的子画面和阿尔法表格(在图5B中示出)的线段。接下来,将相对于在图5C中所示的子画面SP2 来描述步骤S5的第一渲染的工作示例。在任务al中,子画面渲染处理器110从渲染行缓冲器105读取渲染目的地视频数 据Rsl,渲染目的地视频数据Rsl作为子画面SP2的视频数据的渲染目的地。在任务a2中, 子画面渲染处理器110从阿尔法缓冲器106读取对应于与渲染目的地视频数据Rsl相同的 像素的阿尔法数据Ral。具体地说,读取在图5C中所示的阿尔法Al的一部分。在任务a3 中。根据等式(2),使用(在渲染中涉及的)子画面SP2的视频数据、渲染目的地视频数据 Rsl、和阿尔法数据Ral来执行阿尔法混合,因此生成视频数据的阿尔法混合结果(即,阿尔 法混合的视频数据)Rsl’,其改写渲染目的地视频数据Rsl。Rsl' = (I-Ral) · SP2+Ral · Rsl ...(2)在任务a4中,在阿尔法混合中使用的阿尔法数据Ral (即,对应于与渲染目的地视 频数据Rsl相同的像素的阿尔法数据)被设置为用于表示完全不透明的“0”。接下来,将参考在图5C中所示的阿尔法表格A2来描述步骤S6的第二渲染的工作 示例。在任务bl中,子画面渲染处理器110读取作为阿尔法表格A2的渲染目的地阿尔法 数据的阿尔法数据Rbl、Rb2和Rb3。在此,阿尔法数据Rbl原来是阿尔法数据Ral的一部 分,但是用在子画面SP2的第一渲染的阿尔法混合中,使得其值在任务a4中被设置为“0”。 阿尔法数据Rb2是阿尔法表格Al的阿尔法数据的一部分,但是不用在子画面SP2的第一渲 染的阿尔法混合中,使得其保持从阿尔法表格Al读取的原始值。阿尔法数据Rb3属于其中 阿尔法表格Al的阿尔法数据不进行渲染的区域;因此,其在步骤S2中被初始化为“0”。在 任务b2中,用在渲染中涉及的阿尔法表格A2的阿尔法数据改写都具有“0”的渲染目的地 阿尔法数据Rbl和Rb3。另外,将阿尔法表格A2的阿尔法数据乘以阿尔法数据Rb2,以便产 生阿尔法数据的相乘结果,其改写不具有“0”的渲染目的地阿尔法数据Rb2。随后,对于子画面SP3的视频数据执行第一渲染,使得使用阿尔法缓冲器106的渲 染目的地阿尔法数据来执行阿尔法混合。图6示出根据当前实施例的阿尔法混合的第一工作示例,其实现了抗混滤波器, 使得与一种类型的子画面相关地在图案存储器202中存储与各种扩大/缩小因子对应的多 个阿尔法表格,各种扩大/缩小因子预先被假定以用于子画面的渲染。在此,与单个扩大/ 缩小因子相关的阿尔法表格被优化以充分地演示抗混效果,以便中间阿尔法数据(其是在 完全透明和完全不透明之间的中间数据)完全地与使用扩大/缩小因子扩大或缩小的子画 面的有色区域的锯齿状边界重叠。属性数据表格102存储子画面属性数据和阿尔法属性数据,使得例如,使用特定 的扩大/缩小因子指定子画面的扩大或缩小的子画面属性数据在下述阿尔法属性数据之后,该阿尔法属性数据向与作为扩大/缩小的子画面相同的渲染目的地分配在扩大/缩小 的子画面上的抗混滤波器的阿尔法表格。因此,有可能充分地演示相对于扩大/缩小的子 画面的抗混效果。 图7示出根据本实施例的阿尔法混合的第二工作示例,其中,在圆孔形完全透明 区域中将在阿尔法表格Al中的完全透明的阿尔法数据聚集在一起。CPU 201写入子画面 属性数据和阿尔法属性数据,使得在图4的一行渲染中依序渲染子画面SP1、阿尔法表格Al 和子画面SP2。CPU201与属性数据表格102的阿尔法表格Al相关地重写关于阿尔法属性 数据的渲染目的地信息,因此允许阿尔法表格Al在一段时间上移动。结果,有可能通过圆 孔来显现子画面SPl的一部分,其中所述圆孔是开口的并且正在IXD 203的显示屏上的子 画面SP2中移动。即,本实施例能够改变作为子画面的下层而被渲染的阿尔法表格的位置。 因此,有可能穿过子画面来显现和改变画面。图8示出根据本实施例的阿尔法混合的第三工作示例。CPU 201在属性数据表格 102中写入子画面属性数据和阿尔法属性数据,以便在图4的一行渲染中顺序渲染子画面 SP1、阿尔法表格Al、子画面SP2、阿尔法表格A2、和子画面SP3。在此,子画面SP1、SP3、和 阿尔法表格Al、A2在显示屏幕上具有相同的尺寸,以便它们都被渲染到同一区域内。子画 面SP2在尺寸上小于子画面SP1、SP2、和阿尔法表格Al、A2。子画面SP1、SP3和阿尔法表 格A1、A2的每一个包括与子画面SP2重叠的区域R4和不与子画面SP2重叠的区域R5、R6。在渲染子画面SP2时,根据等式(3)来对区域R4执行阿尔法混合,以便生成视频 数据SP2’的阿尔法混合结果,其被写入渲染行缓冲器105内。SP2' = (I-Al) · SP2+A1 · SPl ...(3)在渲染子画面SP3时,根据等式⑷来对于区域R4执行阿尔法混合,以便生成视 频数据SP3’的阿尔法混合结果,其被写入渲染行缓冲器105内。SP3' = (1-A2) · SP3+A2 · SP2' = (1-A2) · SP3+A2 · {(I-Al) · SP2+A1 · SP1}= (1-A2) · SP3+A2 · (I-Al) · SP2+A2 · Al · SPl ... (4)阿尔法表格Al的阿尔法数据不用于相对于区域R5和R6来渲染子画面SP2。在相 对于区域R5和R6来渲染子画面SP3时,根据等式(5)使用相乘结果“A2 ·Α1”来执行阿尔 法混合,以便产生视频数据SP3’的阿尔法混合的结果,其中,所述相乘结果“Α2 · Al”是通 过将阿尔法表格Al的“预先渲染”的阿尔法数据乘以阿尔法表格Α2的“随后渲染”的阿尔 法数据而生成的,该视频数据SP3’的阿尔法混合的结果被写入渲染行缓冲器中。SP3' = (1-Α2 · Al) · SP3+A2 · Al · SPl …(5)上面的等式(4)和(5)明确地示出,在完成渲染的阿尔法混合时,向在区域R4中 的视频数据SP3,的子画面SPl和在区域R5、R6中的视频数据SP3,的子画面SPl设置相同 的加权系数Α2·Α1。因此,有可能适当地调整穿过在IXD 203的显示屏幕上的区域R4、R5、 和R6中的子画面而显现的背景的看穿(see-through)方式。具体地说,穿过在显示器屏幕 上的区域R4中的、在前后方向上对齐的其他子画面SP2和SP3来显现(作为背景的)子画 面SP1,并且穿过在显示器屏幕上的区域R5和R6中的子画面SP3显现(作为背景的)子画 面 SPl。3.变化形式 有可能与本实施例相关地建立如下变化形式。
(1)在第二渲染中,当不使用仍然在阿尔法缓冲器106中保存的渲染目的地像素 数据而执行阿尔法混合时,本实施例将渲染目的地阿尔法数据与在渲染中涉及的另一阿尔 法数据相乘,以便用阿尔法数据的相乘结果改写渲染目的地阿尔法数据。在生成改写渲染 目的地阿尔法数据的结果阿尔法数据时,有可能使用除了相乘之外的其他计算。可选地,有 可能基于渲染目的地阿尔法数据或在渲染中涉及的另一阿尔法数据来准备用于生成结果 阿尔法数据的多种类型的计算,因此用结果阿尔法数据改写渲染目的地阿尔法数据。在此, 阿尔法属性数据能够指定用于生成结果阿尔法数据的计算的任何一个。
(2)在第二渲染中,当使用阿尔法缓冲器106的阿尔法数据来执行阿尔法混合时, 本实施例将阿尔法数据设置为“0”,用于声明在阿尔法混合中使用阿尔法缓冲器106的阿 尔法数据。相反,有可能使用阿尔法数据的构成比特之一来作为用于表示在阿尔法混合中 是否使用阿尔法数据的情况的标记。即使当在阿尔法混合中使用阿尔法数据时,除了标记 之外的阿尔法数据的所有比特根本不改变;这使得有可能在当例如渲染上层时执行的另一 个阿尔法混合中进一步使用“已经使用过”的阿尔法数据。(3)有可能将用于表示在渲染子画面中是否执行阿尔法混合的标记并入子画面属 性数据中,其中,该标记用于控制阿尔法混合的执行。(4)本实施例使用各种显示缓冲器,即,用于以行为单位存储视频数据的行缓冲器 105AU05B和用于以行为单位存储阿尔法数据的阿尔法缓冲器106,以便其以行为单位执 行渲染。作为显示缓冲器,有可能使用用于以帧为单位存储视频数据的两个帧缓冲器和用 于以帧为单位存储阿尔法数据的一个阿尔法缓冲器,据此以帧为单位执行渲染。(5)本实施例对于阿尔法表格和由色码构成的视频数据两者使用相同的格式。因 为这个原因,所以有可能在视频数据的第一渲染和阿尔法表格的第二渲染之间共享相同的 渲染过程,因此减小了在子画面渲染处理器110中的处理的整体规模。(6)在本实施例中,子画面渲染处理器110以从顶部属性数据到最后属性数据的 从上到下的读取顺序来从属性数据表格102中读取一系列属性数据,因此交替地执行第一 渲染和第二渲染。因为这个原因,所以属性数据表格102需要与从上到下的读取次序相符 地顺序存储子画面属性数据和阿尔法属性数据。相反,可以将渲染编号附加到被写入属性 数据表格102中的子画面/阿尔法属性数据上。在此,子画面渲染处理器110以渲染编号 的顺序来从属性数据表格102顺序读取子画面/阿尔法属性数据,因此以适当的顺序来执 行渲染。最后,本发明不必然限于本实施例和变化形式,可以在所附的权利要求中限定的 本发明的范围中进一步修改本实施例和变化形式。
权利要求
一种视频处理装置,包括显示缓冲器,所述显示缓冲器存储在视觉显示器的屏幕上显示的视频数据;阿尔法缓冲器,所述阿尔法缓冲器存储对在以像素为单位的渲染中涉及的视频数据进行的阿尔法混合中使用的阿尔法数据;以及子画面渲染处理器,所述子画面渲染处理器经由对子画面的视频数据、所述显示缓冲器的渲染目的地视频数据、以及所述阿尔法缓冲器的渲染目的地阿尔法数据进行阿尔法混合来执行第一渲染,因此生成结果视频数据,用所述结果视频数据改写所述显示缓冲器中的渲染目的地视频数据,其中所述阿尔法缓冲器的渲染目的地阿尔法数据是经由使用所述阿尔法缓冲器的第二渲染而产生的。
2.根据权利要求1所述的视频处理装置,进一步包括属性数据表,所述属性数据表存 储用于表示子画面的渲染条件的子画面属性数据和用于表示阿尔法数据的渲染条件的阿 尔法属性数据,其中,所述子画面渲染处理器交替地执行基于所述子画面属性数据的所述 第一渲染或基于所述阿尔法属性数据的所述第二渲染。
3.根据权利要求1所述的视频处理装置,其中,当所述渲染目的地阿尔法数据仍然保 存在所述阿尔法缓冲器中而未在所述第二渲染中被使用时,所述子画面渲染处理器使用在 所述第二渲染中涉及的另一阿尔法数据来对于所述渲染目的地阿尔法数据执行预定计算, 以便生成阿尔法数据的计算结果,用所述阿尔法数据的计算结果改写在所述阿尔法缓冲器 中的所述渲染目的地阿尔法数据。
4.根据权利要求3所述的视频处理装置,其中,用于指示特定的透明度的所述渲染目 的地阿尔法数据乘以在所述第二渲染中涉及的另一阿尔法数据,从而用阿尔法数据的相乘 结果改写在所述阿尔法缓冲器中的所述渲染目的地阿尔法数据。
5.根据权利要求1所述的视频处理装置,其中,一种类型的子画面与至少一个阿尔法 表格相关联,所述至少一个阿尔法表格用于描述从完全透明到完全不透明的范围的阿尔法 数据。
6.根据权利要求5所述的视频处理装置,其中,使用在所述第二渲染中涉及的另一阿 尔法数据来改写用于指示所述完全不透明度的所述渲染目的地阿尔法数据。
7.根据权利要求5所述的视频处理装置,其中,所述阿尔法表格被优化来演示在所述 视觉显示器的屏幕上的子画面的有色区域的边界上的抗混效果。
全文摘要
一种视频处理装置,包括与显示缓冲器(例如,行缓冲器)和阿尔法表格相关的子画面渲染处理器。子画面渲染处理器交替执行基于子画面属性数据的第一渲染和基于阿尔法属性数据的第二渲染。经由对子画面的视频数据、显示缓冲器的渲染目的地视频数据、以及经由使用阿尔法缓冲器的第二渲染而产生的阿尔法缓冲器的渲染目的地阿尔法数据的阿尔法混合来执行第一渲染,因此生成结果视频数据,用结果视频数据改写显示缓冲器中的渲染目的地视频数据。一种类型的子画面与至少一个阿尔法表格相关联,阿尔法表格用于描述从完全透明到完全不透明的范围的阿尔法数据,阿尔法表格被优化来演示在视觉显示器的屏幕上的每一个子画面的有色区域的边界上的抗混效果。
文档编号G09G3/36GK101989414SQ20101023963
公开日2011年3月23日 申请日期2010年7月27日 优先权日2009年7月29日
发明者本目光弘 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1