视频译码器 【技术领域】
本发明涉及使用MPEG等图象压缩方式的视频译码器。
背景技术
在多媒体中使用的信息的数量很庞大,而且是多种多样的,为了谋求多媒体的实用化,需要高速地处理这些信息。为了高速地处理信息,数据的压缩·展开技术是不可缺少的。
作为这样的数据的压缩展开技术,可以举出“MPEG(MovingPicture Expert Group)”方式。该MPEG方式是由ISO(Internationl Organization for Standardization)/IEC(Internationl Electrotechnical Commission)所属的MPEG委员会(ISO/IEC JTCI/SC29/WG11)加以标准化的。
MPEG由3个部分构成。在部分之一的“MPEG系统部分”(ISO/IECIS 11172 Part1:Systeme)中,规定了视频数据和音频数据的多重结构及同步方式。在部分之二的“MPEG视频部分”(ISO/IEC IS11172 Part2:Video)中,规定了视频数据的高效率编码方式及视频数据的格式。在部分之三的“MPEG音频部分”(ISO/IEC IS 11172Part3:Audio)中,规定了音频数据的高效率编码方式及音频数据的格式。
在MPEG视频部分中使用的视频数据是关于动画的数据,该动画在1秒钟内由数十个帧(例如30个)帧(静止画面,一帧画面)构成。视频数据依次由以下6层层次结构构成:次序(Sequence)、GOP(Group of Pictures)、画面(Picture)、片(Slice)、宏块(Macroblock)、块(Block)。构成一个画面地片的个数不是一定的,合成一个片的宏块的个数也不是一定的。
另外,在MPEG中主要由于编码速度不同,所以有MPEG-1、MPEG-2两种方式。在MPEG-1中,帧对应于画面。在MPEG-2中,能使帧或半帧对应于画面。由两个半帧构成一帧。
顺便说一下,画面中帧对应的结构称为帧结构,画面中半帧对应的结构称为半帧结构。
在MPEG中采用称为帧间预测的压缩技术。帧间预测根据时间的相关性,压缩帧间的数据。用帧间预测进行双向预测。所谓双向预测,是同时采用根据过去的再生图象(或画面)预测现在的再生图象的正向预测、以及根据未来的再生图象预测现在的再生图象的反向预测。
该双向预测规定了称为I画面(Intra-Picture)、P画面(Predictive-Picture)、B画面(Bidirectionally Predictive-Picture)的三种形式的画面。
I画面能与过去或未来的再生图象无关地独立地生成。为了进行随机存取,在GOP内最少需要有一个I画面。I画面内的所有的宏块形式都是帧内预测画面(IntraFrame)。
P画面由正向预测(根据过去的I画面或P画面的预测)生成。P画面内的宏块形式包括帧内预测画面和正向预测画面(ForwardInter Frame)两者。
B画面由双向预测生成。在双向预测中B画面由以下所示的三个预测中的任意一个生成。
·正向预测;根据过去的I画面或B画面的预测。
·反向预测;根据未来的I画面或P画面的预测。
·双向预测;根据过去或未来的I画面或P画面的预测。
B画面内的宏块形式包括帧内预测画面、正向预测画面、反向预测画面(Backward Inter Frame)、内插的预测画面(Interpolative Inter Frame)等四种形式。
而且,这些I、P、B画面分别被编码。即,I画面即使没有过去或未来的画面也能生成。与此不同,P画面如果没有过去的画面就不能生成,B画面如果没有过去或未来的画面也不能生成。
但是,即使是P画面或B画面,在宏块形式是内插的预测画面的情况下,其宏块即使没有过去或未来的画面也能生成。
在帧间预测中,首先周期性地生成I画面。其次,再由I画面生成数帧前的帧作为P画面。该P画面由过去至现在的单向(正向)的预测生成。接着,生成位于I画面之前、P画面之后的帧作为B画面。生成该B画面时,从正向预测、反向预测、双向预测三种方法中选择最佳的预测方法。在连续的动画中,一般说来现在的图象与其前后的图象极其相似,所不同的只不过是极少的一部分。因此,假定当前帧(例如I画面)和下一帧(例如P画面)大致相同,如果在两帧之间有变化,则只抽出其差分(B画面的数据)进行压缩。因此,能根据时间相关关系压缩帧间的数据。
这样,以MPEG视频部分为基准编码的视频数据的数据串(位流)称为MPEG视频流(以下简称视频流。
因此,MPEG-1主要对应于视频CD(Compact Disc)或CD-ROM(CD-Read Only Memory)等存储媒体。MPEG-2不仅对应于视频CD、CD-ROM、DVD(Digital Video Disc)、录象带、使用非易失性半导体存储器的存储卡等存储媒体,而且还对应于包括LAN(Local Area Network)等通信媒体、地面波广播和卫星广播及CATV(Community Antenna Television)等广播媒体的全部传输媒体。
成为MPEG视频部分使用的技术核心的,是带动态补偿的预测(MC;Motion Compensated prediction)和离散余弦变换(DCT;Discrete Cosine Transform)。并用MC和DC的编码技术称为混合编码技术。在MPEG视频部分中,编码时使用DCT码,将图象(视频信号)分解成频率分量后进行处理。然后,译码时使用DCT的逆变换(离散余弦逆变换:IDCT;Inverse DCT),使频率分量再返回图象(视频信号)。
图4是现有的MPEG视频译码器101的方块电路图。
MPEG视频译码器101由以下部分构成:控制芯片电路102、位缓冲器103、帧缓冲器104、MPEG译码芯片电路105、数据总线106、显示电路107、存储控制器108、以及FIFO(First-In-First-Out)构成的缓冲器109~115。另外,构成MPEG视频译码器101的各电路102~115安装在一个芯片的LSI上。
控制芯片电路102控制各电路103~115。
从传输媒体130传输的视频流首先被输入缓冲器109,并沿缓冲器109→数据总线106→存储控制器108→位缓冲器103的顺序传输,被写入位缓冲器103中。另外,传输媒体130包括:存储媒体(视频CD、CD-ROM、DVD、录象带、存储卡等)、通信媒体(LAN等)、广播媒体(地面波广播、卫星广播、CATV等)等等。
位缓冲器130由呈FIFO结构的SDRAM(Synchronous DynamicRandom Access Memory)构成的循环缓冲器构成,依次存储从传输媒体130传输的视频流。
之所以设置位缓冲器103,是因为I、P、B各画面的数据量不同。I画面的数据量约为30千字节,P画面的数据量约为10~15千字节,B画面的数据量约为0~6千字节。与此不同,从传输媒体130传输的视频流位速度是一定的。MPEG译码芯片电路105对各个画面进行处理,其处理时间随各画面的数据量的不同而不同。因此,如果从传输媒体130传输的视频流直接传送给MPEG译码芯片电路105,则在MPEG译码芯片电路105中不能处理的画面被漏掉。为了防止这个现象的发生,通过设置作为与从传输媒体130传输的视频流对应的缓冲存储器的位缓冲器103,能吸收I、P、B各画面的数据量的不同。
帧缓冲器104由SDRAM构成,其内部被分成3个区域(前方参照区120、后方参照区121、B画面存储区122)。
另外,为了减少零件个数,降低MPEG视频译码器101的零件成本,在一个SDRAM中分区设置位缓冲器103和帧缓冲器104。
另外,设置位缓冲器103和帧缓冲器104的SDRAM的输入输出数据总线宽度(位宽)设定为32位。因此,存储控制器108的输入输出数据总线宽度及数据总线106的数据总线宽度也设定为32位。
存储控制器108控制位缓冲器103及帧缓冲器104的读出工作及写入工作。
蓄积在位缓冲器103中的视频流由存储控制器108在每1帧期间一个画面一个画面地读出视频流,该视频流按照存储控制器108→数据总线106→缓冲器110的顺序传输,被输入MPEG译码芯片电路105。
MPEG译码芯片电路105对输入的一个画面部分的视频流,首先进行以霍夫曼码为依据的可变长度译码处理,其次,对可变长度译码处理结果进行以量化阈值为依据的逆量化处理,求DCT(DiscreteCosine Transform)系数,接着,对求得的DCT系数进行IDCT处理,最后对IDCT(Inverse DCT)处理结果进行MC(MotionCompensated prediction)处理。
然后,按照缓冲器114→数据总线106→存储控制器108→帧缓冲器104的顺序,传输由MPEG译码芯片电路105进行的MC处理结果,由存储控制器108存储在帧缓冲器104的某个区域120~122中。
另外,由存储控制器108从帧缓冲器104的各区域120~122读出的数据,按照存储控制器108→数据总线106→各缓冲器111~113中的某一个的顺序传输,被输入MPEG译码芯片电路105。这里,从前方参照区120读出的数据通过缓冲器111传输,从后方参照区121读出的数据通过缓冲器112传输,从B画面存储区122读出的数据通过缓冲器113传输。
在前方参照区120中存储着在由MPEG译码芯片电路105进行的MC处理中进行反向预测时使用的未来的I画面或P画面。在后方参照区121中存储着在MC处理中进行正向预测时使用的过去的I画面或P画面。在B画面存储区122中存储着B画面。
在前方参照区120及后方参照区121中存储的I画面或P画面由于作为进行正向预测或反向预测用的基准数据使用,所以成为没有必要而又必须继续存储在各区域、20、121中。存储在B画面存储区122中的B画面由于不作为基准数据使用,所以不需要输出到外部。另外,各区域120~122称为平面(Plane)。
然后,利用存储控制器108从帧缓冲器104的各区域120~122中的任意一个区域读出的画面数据按照存储控制器108→数据总线106→缓冲器115的顺序传输,被输入显示电路107中。
显示电路107根据画面数据生成视频信号(图象信号),将该视频信号输出给连接在MPEG视频译码器101上的外部机器131。例如,在作为外部机器131连接了显示器的情况下,该显示器将视频信号作为图象显示。另外,在作为外部机器131连接了存储媒体(录象带、存储卡等)的情况下,视频信号被存储在该存储媒体中。
这样构成的MPEG视频译码器101被安装到电影摄影机、普通照相机、电视机、视频CD再生装置、DVD再生装置等中。另外,在将MPEG视频译码器101安装到电影摄影机或普通照相机中的情况下,传输媒体130能被置换成CCD(Charge Coupled Device)等摄象器件及其信号处理电路。
图5是模式地表示由SDRAM构成的帧缓冲器104的前方参照区120及后方参照区中存储的亮度(Y)数据及色差(C)数据的存储状态的模式图。
前方参照用的亮度数据yf的存储区140和前方参照用的色差数据cf的存储区141被设置在前方参照区120中。另外,后方参照用的亮度数据yr的存储区142和后方参照用的色差数据cr的存储区143被设置在后方参照区121中。
另外,色差数据的数据量大致为亮度数据的数据量的一半。因此,各存储区141、143的数据量被设定为各存储区140、142的数据量的大致一半。
顺便说一下,如上所述,设置将各数据yf、cf、cr存储在帧缓冲器104的各区域120、121中用的各存储区140~143,被称为存储交换。
一般说来,在SDRAM中进行存取时,有必要设定由SDRAM中规定的计算序列(cast sequence)及脉冲串范围决定的规定的命令,这样设定规定的命令称为命令开销。因此,在从开始存取的时刻至实际开始数据的写入或读出的时刻为止的期间,产生命令开销所需要的时间的延迟时间。该命令开销所需要的时间(延迟时间)不能在SDRAM的工作时钟的6~7个时钟以下。
图6是模式地表示从由输入输出数据总线宽度为32位的SDRAM构成的帧缓冲器104的各区域120、121读出一个宏块的数据时存储器的存取顺序的模式图。
存储器的存取按照以下的顺序进行:对存储区140的命令开销通信(com)→来自存储区140的前方参照用亮度数据yf的读出→对存储区141的命令开销通信→来自存储区141的前方参照用色差数据cf的读出→对存储区142的命令开销通信→来自存储区142的后方参照用亮度数据yf的读出→对存储区143的命令开销通信→来自存储区143的后方参照用色差数据cf的读出。
因此,可由下式(1)求得这时的存储器存取所需要的时间T1。
T1=4×t1+2×t2+2×t3 ……(1)
式中,t1:命令开销通信所需要的时间
t2:各亮度数据yf、yr的读出所需要的时间
t3:各色差数据cf、cr的读出所需要的时间
因此,在由MPEG译码芯片电路105进行的MC处理中,为了使一个宏块的一半(半个宏块)的亮度数据复原,有这样的情况:从由SDRAM构成的帧缓冲器104的前方参照区120或后方参照区121读出半个宏块部分的亮度数据。
如图7A所示,为了使该半个宏块部分的亮度数据复原,从前方参照区120或后方参照区121读出的必要的亮度数据为9个象素×17个象素的数据。
一般说来,SDRAM中能存取的最小单位为SDRAM中规定的脉冲串范围乘以输入输出的数据总线宽度的值。
脉冲串范围的最小值为“2”,所以输入输出的数据总线宽度为32位的SDRAM中能存取的最小单位为2×32位。因此,一个象素的数据量为8位。因此,输入输出的数据总线宽度为32位的SDRAM中能存取的最小单位为水平方向配置的8个象素的大小。
因此,如图7B所示,为了从由输入输出的数据总线宽度为32位的SDRAM构成的帧缓冲器104读出半个宏块部分的亮度数据(9个象素×17个象素部分的数据),有必要读出9个象素×24个象素部分的数据。即,输入输出的数据总线宽度为32位的SDRAM中能存取的最小单位为水平8个象素部分,所以为了读出水平17个象素部分的数据,必须读出水平8个象素的3倍的24个象素部分的数据。而且,读出的9个象素×24个象素部分的数据中,除去9个象素×17个象素部分的必要的数据外,其余的数据即9个象素×7个象素部分成为无用的数据。
近年来,日益要求MPEG视频译码器101的工作速度高速化。为此,有使帧缓冲器104和数据总线106高速化、提高工作频率的方法,以及进一步将帧缓冲器104和数据总线106的输入输出的数据总线宽度(位宽)扩大得比32位大(例如48位、64位、128位等)的方法。可是,工作频率高的帧缓冲器104的价格高(例如,速度比SDRAM高的运行总线DRAM比SDRAM的价格高),消耗功率也增大。另外,如果再扩大输入输出的数据总线宽度,则与LSI的端子数增加的同时,构成帧缓冲器104的SDRAM的芯片数也增加,所以导致MPEG视频译码器101的基板安装面积增大和成本增加。因此,不提高帧缓冲器104的工作频率、不扩大输入输出的数据总线宽度,谋求MPEG视频译码器101的工作速度高速化。
发明的公开
本发明的目的在于提供一种使用能使工作速度高速化的MPEG等的图象压缩方法的视频译码器。
为了达到该目的,本申请的发明是一种并用离散余弦变换和进行反向预测及正向预测的动态补偿预测,对视频流进行译码的视频译码器,该视频译码器备有:第一帧缓冲器,它设有上述反向预测中使用的前方参照用亮度数据的存储区、以及上述正向预测中使用的后方参照用色差数据的存储区;第二帧缓冲器,它设有上述反向预测中使用的前方参照用色差数据的存储区、以及上述正向预测中使用的后方参照用亮度数据的存储区;以及读出控制电路,它并行地处理对上述第一帧缓冲器的存储器存取工作和对上述第二帧缓冲器的存储器存取工作的至少一部分工作。
因此,在本发明中,作为第一及第二帧缓冲器如果使用输入输出的数据总线宽度小的帧缓冲器,则在从各帧缓冲器读出半个宏块部分的亮度数据(例如,9个象素×17个象素部分的数据)时,也能减少无用数据的读出,能缩短该部分存储器存取所需要的时间。因此,不用提高各帧缓冲器的工作频率、不扩大输入输出的数据总线宽度,就能使视频译码器的工作速度高速化。
如果按照本发明的其他方面,则在并用离散余弦变换和进行反向预测及正向预测的动态补偿预测,对视频流进行译码的视频译码器中,备有:第一帧缓冲器,它设有上述反向预测中使用的前方参照用亮度数据的存储区、以及上述正向预测中使用的后方参照用色差数据的存储区;第二帧缓冲器,它设有上述反向预测中使用的前方参照用色差数据的存储区、以及上述正向预测中使用的后方参照用亮度数据的存储区;以及读出控制电路,它并行地处理对上述第一帧缓冲器的存储器存取工作和对上述第二帧缓冲器的存储器存取工作,在从第一帧缓冲器读出前方参照用亮度数据时,从第二帧缓冲器读出前方参照用色差数据,同时在从第一帧缓冲器读出后方参照用色差数据时,从第二帧缓冲器读出后方参照用亮度数据。
因此,如果采用本发明,则能极其有效地缩短存储器存取所需要的时间。
另外,在视频译码器中最好备有写入控制电路,用来将前方参照用亮度数据及后方参照用色差数据存储在上述第一帧缓冲器的规定的存储区中,同时将前方参照用色差数据及后方参照用亮度数据存储在上述第二帧缓冲器的规定的存储区中。
另外,在视频译码器中,最好在上述第一及第二帧缓冲器中都包括输入输出的数据总线宽度相等的SDRAM。
因此,如果采用本发明,则能并行地处理对第一帧缓冲器和第二帧缓冲器的存储器存取。因此,能将从各帧缓冲器读出一个宏块部分的亮度数据及色差数据时存储器存取所需要的时间缩短SDRAM等缓冲存储器中规定的命令开销两次所需要的时间。因此,能使视频译码器的工作速度更加高速化。
附图的简单说明
图1是本发明的实施例1的MPEG视频译码器的方块电路图。
图2是说明实施例1的工作用的第一模式图。
图3是说明实施例1的工作用的第二模式图。
图4是现有的MPEG视频译码器的方块电路图。
图5是说明现有的MPEG视频译码器的工作用的第一模式图。
图6是说明现有的MPEG视频译码器的工作用的第二模式图。
图7A~图7C是说明现有的MPEG视频译码器的工作用的模式图,图7A表示为了使半个宏块部分的亮度数据复原所需要的数据,图7B表示从帧缓冲器104读出半个宏块部分的亮度数据时所读出的数据,图7C表示从帧缓冲器读出半个宏块部分的亮度数据的工作。
实施发明用的最佳形态
以下,与附图一起说明本发明的实施例。
另外,在实施例中,与图4~图7所示的现有的MPEG视频译码器相同的结构部分标以相同的符号,不重复其说明。
图1是表示实施例1的MPEG视频译码器1的结构的方块电路图。
MPEG视频译码器1由以下部分构成:控制芯片电路2、切换电路3、位缓冲器103a、103b、帧缓冲器104a、104b、MPEG译码芯片电路105、数据总线106a、106b、显示电路107、存储控制器108a、108b、呈FIFO结构的缓冲器109、110a~115b。另外,构成MPEG视频译码器1的各电路2、103a~115b被安装在一个芯片的LSI上。
控制芯片电路2控制各电路2、103a~115b。
从传输媒体130传输的视频流首先被输入缓冲器109,并沿缓冲器109→数据总线106a、106b→各存储控制器108a、108b→各位缓冲器103a、103b的顺序传输,被写入各位缓冲器103a、103b中。
各位缓冲器130a、103b由呈FIFO结构的SDRAM构成的循环缓冲器构成,依次存储从传输媒体130传输的视频流。
之所以设置位缓冲器103a、103b,与在现有的MPEG视频译码器101中设置位缓冲器103的理由相同。
各帧缓冲器104a、104b由SDRAM构成,各自的内部被分成三个区域(前方参照区120a、120b,后方参照区121a、121b,B画面存储区122a、122b)。
另外,减少零件个数,使得MPEG视频译码器1的零件成本降低,所以在一个SDRAM内分区域设置位缓冲器103a和帧缓冲器104a,在一个SDRAM内分区域设置位缓冲器103b和帧缓冲器104b。
另外,设置位缓冲器103a、103b和帧缓冲器104a、104b的各个SDRAM的输入输出的数据总线宽度(位宽)都设定为16位。因此,各存储控制器108a、108b的输入输出数据总线宽度及数据总线106a、106b的数据总线宽度也设定为16位。
存储控制器108a控制位缓冲器103a及帧缓冲器104a的读出工作及写入工作。另外,存储控制器108b控制位缓冲器103b及帧缓冲器104b的读出工作及写入工作。
蓄积在各位缓冲器103a、103b中的视频流由各存储控制器108a、108b在每1帧期间一个画面一个画面地读出视频流。然后,从位缓冲器103a读出的一个画面部分的视频流按照存储控制器108a→数据总线106a→缓冲器110a的顺序传输,被输入MPEG译码芯片电路105中。另外,从位缓冲器103b读出的一个画面部分的视频流按照存储控制器108b→数据总线106→缓冲器110b的顺序传输,被输入MPEG译码芯片电路105中。
MPEG译码芯片电路105与现有的MPEG视频译码器101一样,对输入的一个画面部分的视频流,依次进行可变长度译码处理、逆量化处理、IDCT处理、MC处理。
然后,由MPEG译码芯片电路105进行的MC处理结果被传送给切换电路3。切换电路3被切换到点3a、3b中的某一侧。在切换电路3被切换到点3a一侧的情况下,MC处理结果按照缓冲器114a→数据总线106a→存储控制器108a→帧缓冲器104a的顺序传输,由存储控制器108a存储在帧缓冲器104a的某个区域120a~122a中。另外,在切换电路3被切换到点3b一侧的情况下,MC处理结果按照缓冲器114b→数据总线106b→存储控制器108b→帧缓冲器104b的顺序传输,由存储控制器108b存储在帧缓冲器104b的某个区域120b~122b中。
然后,由存储控制器108a从帧缓冲器104a的各区域120a~122a读出的数据,按照存储控制器108a→数据总线106a→各缓冲器111a~113a中的某一个的顺序传输,被输入MPEG译码芯片电路105。这里,从前方参照区120a读出的数据通过缓冲器111a传输,从后方参照区121a读出的数据通过缓冲器112a传输,从B画面存储区122a读出的数据通过缓冲器113a传输。
另外,由存储控制器108b从帧缓冲器104b的各区域120b~122b读出的数据,按照存储控制器108b→数据总线106b→各缓冲器111b~113b中的某一个的顺序传输,被输入MPEG译码芯片电路105。这里,从前方参照区120b读出的数据通过缓冲器111b传输,从后方参照区121b读出的数据通过缓冲器112b传输,从B画面存储区122b读出的数据通过缓冲器113b传输。
在各前方参照区120a、120b中存储着在由MPEG译码芯片电路105进行的MC处理中进行反向预测时使用的未来的I画面或P画面。在各后方参照区121a、121b中存储着在MC处理中进行正向预测时使用的过去的I画面或P画面。在各B画面存储区122a、122b中存储着B画面。
在各前方参照区120a、120b及各后方参照区121a、121b中存储的I画面或P画面由于作为进行正向预测或反向预测用的基准数据使用,所以成为没有必要而又必须继续存储在各区域120a、120b、121a、121b中。存储在B画面存储区122a、122b中的B画面由于不作为基准数据使用,所以不需要输出到外部。另外,各区域120a~122b称为平面。
然后,利用存储控制器108a从帧缓冲器104a的各区域120a~122a中的任意一个区域读出的画面数据按照存储控制器108a→数据总线106a→缓冲器115a的顺序传输,被输入显示电路107中。
另外,利用存储控制器108b从帧缓冲器104b的各区域120b~122b中的任意一个区域读出的画面数据按照存储控制器108b→数据总线106b→缓冲器115b的顺序传输,被输入显示电路107中。
显示电路107根据从缓冲器115a、115b传输的画面数据生成视频信号(图象信号),将该视频信号输出给连接在MPEG视频译码器1上的外部机器131。
这样构成的MPEG视频译码器1与现有的MPEG视频译码器101一样,被安装到电影摄影机、普通照相机、电视机、视频CD再生装置、DVD再生装置等中。另外,在将MPEG视频译码器1安装到电影摄影机或普通照相机中的情况下,传输媒体130能被置换成CCD等摄象器件及其信号处理电路。
图2是模式地表示由SDRAM构成的帧缓冲器104a、104b的前方参照区120a、120b及后方参照区121a、121b中存储的亮度(Y)数据及色差(C)数据的存储状态的模式图。
在帧缓冲器104a中,前方参照用的亮度数据yf的存储区140被设置在前方参照区120a中,后方参照用的色差数据cr的存储区143被设置在后方参照区121a中。
在帧缓冲器104b中,前方参照用的色差数据cf的存储区141被设置在前方参照区120b中,后方参照用的亮度数据yr的存储区142被设置在后方参照区121b中。
如上所述,由于色差数据的数据量大致为亮度数据的数据量的一半,因此各存储区141、143的数据量被设定为各存储区140、142的数据量的大致一半。
这样,将各数据yf、cr、cf、yr分配给各帧缓冲器104a、104b的各区域120a、121a、120b、121b存储,能更容易且可靠地进行上述切换电路3的切换工作。
顺便说一下,如上所述,设置将各数据yf、cf、yr、cr存储在帧缓冲器104a、104b的各区域120a、121a、120b、121b中用的各存储区140~143,被称为存储交换。
图3是模式地表示从由输入输出数据总线宽度为16位的SDRAM构成的帧缓冲器104a、104b的各区域120a、121a、120b、121b读出一个宏块部分的数据时存储器存取的顺序的模式图。
对帧缓冲器104a的存储器存取按照以下的顺序进行:对存储区140的命令开销通信(com)→来自存储区140的前方参照用亮度数据if的读出→对存储区143的命令开销通信→来自存储区143的后方参照用色差数据cr的读出。
对帧缓冲器104b的存储器存取按照以下的顺序进行:对存储区141的命令开销通信→来自存储区141的后方参照用色差数据cf的读出→对存储区142的命令开销通信→来自存储区142的前方参照用亮度数据yr的读出。
因此,从存储区140读出的前方参照用亮度数据yf被传送给MPEG译码芯片电路105时,从存储区141读出的前方参照用色差数据cf被传送给MPEG译码芯片电路105。因此,在MPEG译码芯片电路105中,与现有的MPEG视频译码器101一样,根据前方参照用亮度数据yf及前方参照用色差数据cf,进行MC处理的反向预测。
另外,从存储区143读出的后方参照用色差数据cf被传送给MPEG译码芯片电路105时,从存储区142读出的后方参照用亮度数据yr被传送给MPEG译码芯片电路105。因此,在MPEG译码芯片电路105中,与现有的MPEG视频译码器101一样,根据后方参照用色差数据cr及后方参照用亮度数据yr,进行MC处理的正向预测。
就是说,各帧缓冲器104a、104b、各存储控制器108a、1048、各缓冲器111a、112a、以及各缓冲器111b、112b同时工作,并行地处理对各帧缓冲器104a、104b的存储器存取。
因此,可由下式(2)求得这时的存储器存取所需要的时间T2。
T2=2×t1+t4+t5 ……(2)
式中,t1:命令开销通信所需要的时间
t4:各亮度数据yf、yr的读出所需要的时间
t5:各色差数据cf、cr的读出所需要的时间
这里,各帧缓冲器104a、104b的数据总线宽度为16位。与此不同,现有的MPEG视频译码器101的帧缓冲器104的数据总线宽度为32位。因此,上述时间t1、t3、t4、t5的关系如式(3)所示。
t4=2×t2
t5=2×t3 ……(3)
其结果,由上述式(1)求得的现有的MPEG视频译码器101的存储器存取所需要的时间T1和本实施例的MPEG视频译码器1的存储器存取所需要的时间T2的关系如式(4)所示。
T2=T1-2×t1 ……(4)
因此,如果采用本实施例的MPEG视频译码器1,则与现有的MPEG视频译码器101相比,能使从帧缓冲器104a、104b读出一个宏块部分的亮度数据及色差数据时存储器存取所需要的时间缩短两次命令开销所需要的时间(=2×t1)。
另外,如图7C所示,为了从由输入输出的数据总线宽度为16位的SDRAM构成的各帧缓冲器104a、104b读出半个宏块部分的亮度数据(9个象素×17个象素部分的数据),读出9个象素×20个象素部分的数据即可。即,输入输出的数据总线宽度为16位的SDRAM中能存取的最小单位为水平4个象素部分,所以为了读出水平17个象素部分的数据,读出水平4个象素的5倍的20个象素部分的数据即可。而且,读出的9个象素×20个象素部分的数据中,除去9个象素×17个象素部分的必要的数据外,其余的数据即9个象素×3个象素部分成为无用的数据。
如上所述,在现有的MPEG视频译码器101中,必须读出9个象素×24个象素部分的数据,其中,除去9个象素×17个象素部分的必要的数据外,其余的数据即9个象素×7个象素部分成为无用的数据。
因此,如果采用本实施例的MPEG视频译码器1,则与现有的MPEG视频译码器101相比,从帧缓冲器104a、104b读出半个宏块部分的亮度数据时,不需要进行9个象素×4个象素部分的无用数据的读出,能缩短该部分存储器存取所需要的时间。
如上所述,如果采用本实施例的MPEG视频译码器1,则与现有的MPEG视频译码器101相比,在MPEG译码芯片电路105中进行MC处理时,能缩短从帧缓冲器104a、104b读出数据时存储器存取所需要的时间。
因此,如果采用本实施例,则不需要进一步提高帧缓冲器104a、104b的工作频率,也不需要进一步扩大输入输出的数据总线宽度,就能使MPEG视频译码器1的工作速度高速化。随便说一下,本实施例的MPEG视频译码器1的工作速度与现有的MPEG视频译码器101相比,提高1.3~1.5倍。
而且,作为帧缓冲器104a、104b不使用工作频率高的价格贵、消耗功率大的帧缓冲器,就能实现工作速度高的MPEG视频译码器1,在使MPEG视频译码器1的工作速度高速化时,能避免成本增大及消耗功率的增大。
在本实施例中,通过将构成帧缓冲器104a、104b的SDRAM、存储控制器108a、108b、数据总线106a、106b的数据总线宽度(位宽)都设定为16位,作为总体为16位+16位共计32位。因此,在要求更高速的处理的情况下,虽然需要64位,但在此情况下,通过将构成帧缓冲器104a、104b的SDRAM、存储控制器108a、108b、数据总线106a、106b的数据总线宽度都设定为32位,作为总体为32位+32位共计64位即可,如果这样处理,则能获得与本实施例同样的效果。
另外,本发明不限定于上述实施例,可以进行如下变更,即使在此情况下,也能获得与上述实施例同等或更好的工作效果。
(1)在MPEG视频译码器1中,能适当地省略各缓冲器113a、113b。另外,也可以用一个缓冲器兼备各缓冲器111a、112a的功能,同样能用一个缓冲器兼备各缓冲器111b、112b的功能。
(2)不用SDRAM,而用能改写的其他形式的半导体存储器(例如DRAM、运行总线DRAM等)也能构成帧缓冲器104a、104b。
虽然详细地说明了本发明,但这只是例示而已,不受此限,只由附带的权利要求书限定,想必能明确地理解发明的精神和范围。