具体实施方式
以下,参照附图来详细说明本发明的实施例。
图1是本发明的数字滤波器的结构图。如该图所示,数字滤波器1包括:
延迟部10、11;系数乘法部20、21、22、23;加法部30、31、32;以及偏
移常数部40。
在数字滤波器1中,首先,延迟部10、11、系数乘法部20、21、22、加
法部30、31、32及偏移常数部40对输入信号进行滤波运算(积和运算),求系
数。然后,通过用系数乘法部23将求出的系数和原数据相乘,来得到输出信
号。
这样,数字滤波器1首先根据输入信号来求系数,在最后一级,将原数
据和系数相乘。由此,对原数据只在最后一级进行一次乘法,所以能够减少
原数据的漏码。因此,在用于图像处理的情况下,与图9所示的现有数字滤
波器相比,能够重现原信号的细节,图像的色调层次能很好地表现出来。
接着,说明本发明的数字滤波器的更具体的实施例。以下,说明用于在
重现DVD视频时进行重现输出的边缘增强的边缘增强滤波器。
该边缘增强滤波器是用于按照用户的喜好来增强DVD视频的重现图像
的边缘的滤波器。
首先,说明安装有该边缘增强滤波器的娱乐装置。
图2是应用本发明的娱乐装置的结构方框图。该娱乐装置例如能够执行
CD/DVD提供的游戏,或者重现DVD提供的DVD视频。
如该图所示,该娱乐装置包括:主CPU 100、图形处理器(GP)110、IOP
120、CD/DVD读出部130、SPU 140、OSROM 150、主存储器160、以及IOP
存储器170。
主CPU 100和图形处理器110通过专用总线101相连。主CPU 100和IOP
120通过总线102相连。IOP 120、CD/DVD读出部130、SPU 140及OSROM
150被连接到总线103上。
在主CPU 100上连接有主存储器160,在IOP 120上连接有IOP存储器
170。而在IOP 120上连接有控制器(PAD)180。
主CPU 100通过执行OSROM 150中保存的程序、或者从CD或DVD(或
未图示的存储卡)加载到主存储器160中的程序,来进行规定的处理。
图形处理器110是实现该娱乐装置的绘制功能的绘制处理器,根据来自
主CPU 100的指示,来进行绘制处理。
IOP 120是控制主CPU 100和外围设备(CD/DVD读出部130或SPU 140
等)之间的数据交换的输入输出的子处理器。
CD/DVD读出部130从CD或DVD中读出数据,传送到主存储器160。
SPU 140是声音重现处理器,根据来自主CPU 100等的发音指令,以规
定的采样频率来重现声音缓冲器(未图示)中保存的压缩波形数据。
OSROM 150是保存有在启动等时由主CPU 100或IOP 120执行的程序
的ROM。
主存储器160是主CPU 100的主存储器,保存主CPU 100执行的指令或
主CPU 100使用的数据等。
IOP存储器170是IOP 120的主存储器,保存IOP 120执行的指令或IOP
120使用的数据等。
控制器(PAD)180是在执行游戏等的过程中将游戏者的意图传递给应用
程序等的界面。
这里,在具有以上结构的娱乐装置中,安装利用图形处理器110的绘制
功能来对DVD视频输出进行边缘增强的边缘增强滤波器。
以下,说明在重现DVD视频时利用图形处理器110进行的边缘增强滤
波处理。
首先,说明为了安装本发明的边缘增强滤波器而使用的图形处理器110
的内部结构。
图3是图形处理器110的内部结构图。如该图所示,图形处理器110包
括:主机接口部400、绘制功能块410、局部存储器420、以及CRTC部430。
主机接口部400是用于与主CPU 100之间进行数据交换的接口部。
绘制功能块410是根据来自主CPU 100的指示来进行绘制处理的逻辑电
路部。绘制功能块410分别包括数字微分分析器(DDA)和像素引擎各16个,
并行处理最大16个64比特(颜色信息32比特、Z值32比特)的像素数据。
DDA计算RGB值、Z值、纹理值等。根据这些数据,像素引擎生成最终的
像素数据。
局部存储器420保存绘制功能块410生成的像素数据或从主CPU 100传
送的纹理数据等。
CRTC部430根据指定的输出格式(NTSC、PAL、VESA格式等),将局
部存储器420的帧缓冲区的内容变为视频信号来输出。
图4是局部存储器420的结构图。如该图所示,局部存储器420具有帧
缓冲区450、Z缓冲区460、纹理缓冲区470、以及纹理CLUT区480。
帧缓冲区450及Z缓冲区460是绘制对象区,帧缓冲区450保存绘制结
果的像素,Z缓冲区460保存绘制结果的Z值。
纹理缓冲区470保存纹理的图像数据,纹理CLUT区480保存纹理是索
引颜色的情况下使用的彩色查找表(CLUT)。
区450~480可以通过对规定的控制寄存器设定适当的值,而按任意顺序
自由配置在局部存储器420的任意地址上。
接着,说明该娱乐装置中的DVD视频重现处理的概要。该DVD视频重
现处理例如通过由主CPU 100执行从存储卡等加载到主存储器160中的DVD
重现软件来进行。
如果用户指示重现DVD视频,则CD/DVD读出部130读出DVD中保
存的视频数据,将读出的视频数据经IOP 120传送到主存储器160。
主CPU 100对主存储器160中保存的视频数据(MPEG2比特流)进行
MPEG2解码,首先生成YCbCr格式的图像数据(YCbCr像素数据),然后进
行彩色空间变换,生成RGB格式的图像数据(RGBA像素数据)。这样生成的
RGB格式的图像数据被传送到图形处理器110,以便被显示在显示装置上。
此时,Y(亮度)数据也与RGB数据一起被送至图形处理器110。
即,对每个像素,RGBY各8比特、合计32比特的数据被传送到图形处
理器110。
送至图形处理器110的RGB数据及Y数据作为纹理数据被保存到图形
处理器110内部的局部存储器420的纹理缓冲区470中。
图5(a)是纹理缓冲区470中的RGBY数据的保存格式图。如该图所示,
在比特[7:0]中保存R数据,在比特[15:8]中保存G数据,在比特[23:16]中保
存B数据,在比特[31:24]中保存Y数据。通常,在比特[31:24]中保存α数据。
图形处理器110除了图5(a)所示的格式以外,还支持多个纹理像素的保
存格式。这些格式可以通过改变特定的控制寄存器的设定来切换使用。
图5(b)是图形处理器110中的纹理像素的另一保存格式图。如该图所示,
在该格式中,高8比特是纹理CLUT区480中保存的彩色查找表的索引。在
此情况下,彩色查找表具有256项。在彩色查找表的各项中保存与索引值对
应的颜色值。使用本格式的情况待后述。
在本实施例中,对传送到纹理缓冲区470中的图像数据(RGBY数据)进
行边缘增强处理。
图6是本实施例的边缘增强滤波器的等价流图。该边缘增强滤波器是仅
在横(水平)方向上的卷积滤波器,用左右两邻像素的亮度数据来计算滤波处理
的系数。
如该图所示,边缘增强滤波器包括:延迟部610、611、612;系数乘法
部620、621、622、623;加法部630、631、632、以及偏移常数部640。这
里,将RGB分别乘以根据Y数据而计算出的同一系数,求最终的RGB值。
此外,也可以包括图1所示的数字滤波器,对RGB分别求各自的系数,将
RGB分别乘以该系数。在此情况下,例如在R用的边缘增强滤波器中,将输
入信号R乘以根据R而计算出的系数,来求最终的R值。
在图6所示的边缘增强滤波器中,RGBY各为8比特,系数乘法部
620~623中的系数乘法由8比特×8比特的乘法器来进行。加法部630~632中
的加法由8比特的加法器来进行。
偏移常数部640的偏移常数是0x80(=128)。这里,假设乘法时的系数0x80
(=128)为1.0。即,在系数是0x80(=128)时,RGB的乘数分别为1.0。
f是控制边缘增强的强度的值,取0~64的值。f例如设定与用户喜好的
强度相应的值。
接着,说明图形处理器110进行的图像滤波处理。使用图形处理器的滤
波处理的一般性的说明记载于(日本)特愿平10-138043号中。
图7是使用了图形处理器110的图像滤波处理的概要说明图。如该图所
示,图形处理器110的绘制功能块410包括:纹理映射处理部411、和混合处
理部412。该滤波处理利用图形处理器110的纹理映射功能、和混合功能来
进行。
即,向纹理缓冲区470中预先传送MPEG2解码过的RGBY格式的图像
数据(源数据),在纹理映射处理ON(有效)、混合处理ON(有效)的状态下进行
绘制处理。由此,纹理映射处理部411将源数据乘以规定的系数。混合处理
部412对源数据乘以规定的系数所得的积、和帧缓冲区450内的数据(目的数
据)进行混合运算(加减运算)。混合处理部412将其结果写入到帧缓冲区450
中。纹理映射处理部411及混合处理部412重复以上的处理。
接着,说明图形处理器110的混合功能。图形处理器110通过使混合功
能有效,能够在纹理映射处理后的输出颜色(源颜色)Cs、和帧缓冲区内的像
素颜色(目的颜色)Cd之间进行混合计算。
混合函数的基本形式如下所述。
Cv=(A-B)×C>>7+D
这里,Cv=输出颜色值,A、B、D=输入颜色值,C=输入α值。
图形处理器110能够适当设定混合处理控制寄存器,如下改变A、B、C、
D。
作为输入彩色值A、B、D,可以分别选择源RGB值Cs、帧缓冲区上的
RGB值Cd、以及0中的某一个。作为输入α值C,可以选择源α值、帧缓冲
区上的α值、以及混合处理控制寄存器中设定的固定α值中的某一个。
主CPU 100通过适当设定图形处理器110的控制寄存器,使其进行必要
的混合处理,来实现滤波运算(积和运算)。
接着,说明在进行图像滤波处理时对图形处理器110进行指示的具体命
令。
图8是进行图像滤波处理时主CPU 100对图形处理器110进行指示的命
令组的示例图。在该图所示的命令中,d*(dRGB等)表示目的面,s*(sY等)
表示源面。
首先,设定边缘增强系数f(S1)。例如,设定用户按自己的喜好而指定的
值。
接着,使偏移值OFFX、OFFY为0,对目的区(帧缓冲区)的RGB面设
置偏移常数0x80(=128)(S2)。这里,对图形处理器110以平面为单位进行处
理的指示。在此情况下,图形处理器110对规定的平面(矩形区)内的所有像素
进行处理。由此,目的区的各像素的RGB值分别被初始化为0x80(=128)。
接着,设偏移值OFFX=-1,对各像素使用其左邻像素的亮度数据来进行
运算(S3)。即,将被处理像素的左邻像素的亮度(Y)信息乘以系数f,从被处理
像素的RGB值中减去其结果。该处理也以平面为单位来执行。
这里,在源区(纹理缓冲区)的Y值乘以系数f所得的积、和目的区的RGB
值之间需要进行混合处理。然而,如图5(a)所示,由于Y值被保存在高8比
特,所以不能原封不动地与目的区的RGB值进行混合运算。因此,这里,认
为纹理缓冲区470中保存的纹理像素具有图5(b)所示的格式。即,将Y值看
作纹理CLUT区480中保存的CLUT的索引值,将CLUT的各项中保存的颜
色值用于实际的处理。伴随着这种方法,提前在CLUT的各项(0~255)的RGB
中分别放入与索引相同的值。例如,在项1的RGB中预先保存“1”“1”“1”,
在项255的RGB中预先保存“255”“255”“255”。这样,实质上能够在源区
的Y值乘以系数f所得的积、和目的区的RGB值之间进行混合处理。这一点,
在以下的步骤S4~S6中也同样。
接着,返回到偏移值OFFX=0,对各像素使用自己的亮度信息来进行运
算(S4)。即,将被处理像素的亮度信息乘以系数f,将其结果与被处理像素的
RGB值相加。该处理也以平面为单位来执行。这里,伴随着使f可取的范围
为f=0~128,为了保证f的动态范围,将乘以2f并相加的运算分为2次乘以f
并相加的运算来进行。这里的加法是第1次加法。
接着,使偏移值OFFX=1,对各像素使用其右邻像素的亮度信息来进行
运算(S5)。即,将被处理像素的右邻像素的亮度信息乘以系数f,从被处理像
素的RGB值中减去其结果。该处理也以平面为单位来执行。
接着,返回到偏移值OFFX=0,对各像素使用自己的亮度信息来进行运
算(S6)。即,将被处理像素的亮度信息乘以系数f,将其结果与被处理像素的
RGB值相加。本次的加法是将乘以2f并相加的运算分为2次的第2次。
以上的运算结束后,在目的区的RGB中分别保存有源数据最终所乘的系
数。因此,接着,为了分别取得该系数、和源区的RGB值之积,首先将该系
数从目的区的RGB面拷贝到α面(高8比特)(S7)。RGB面分别保存有相同的
值,所以这里将G面的数据拷贝到α面。
然后,最后取得源区中的各RGB值、和目的区中的α面上保存的系数之
积,将其结果保存到目的区的RGB面上(S8)。
以上的处理结束后,在目的区的RGB面上保存有对源区中保存的图像数
据施加边缘增强滤波处理所得的RGB值。
在上述实施例中,用图形处理器110实现了边缘增强滤波器,但是也可
以使用安装通用DSP、或专用硬件。
如上所述,由于本实施例的边缘增强滤波器首先计算系数,最后取计算
出的系数和原数据之积,所以原数据的漏码减少,图像的色调层次也能很好
地表现出来。