[go: up one dir, main page]

CN1162010C - 图象译码设备和图象存储器 - Google Patents

图象译码设备和图象存储器 Download PDF

Info

Publication number
CN1162010C
CN1162010C CNB971911444A CN97191144A CN1162010C CN 1162010 C CN1162010 C CN 1162010C CN B971911444 A CNB971911444 A CN B971911444A CN 97191144 A CN97191144 A CN 97191144A CN 1162010 C CN1162010 C CN 1162010C
Authority
CN
China
Prior art keywords
read
address
luminance component
image
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB971911444A
Other languages
English (en)
Other versions
CN1199533A (zh
Inventor
�����͡��Կ���
吉冈康介
平井诚
清原督三
木村浩三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Godo Kaisha IP Bridge 1
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1199533A publication Critical patent/CN1199533A/zh
Application granted granted Critical
Publication of CN1162010C publication Critical patent/CN1162010C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Memory System (AREA)

Abstract

一种备有将一画面的图象分割成横m象素×纵n象素的多个象素块进行存储的图象存储器的图象译码设备,图象存储器具有行列状的存储区,用于将构成一个象素块的s×t个第一色差分量和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的连续区中(图10),将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的连续区中。

Description

图象译码设备和图象存储器
技术领域
本发明涉及动态图象、静止图象译码中使用的图象译码设备及图象存储器。
背景技术
对压缩了的动态图象数据进行译码的动态图象译码设备被应用于各种各样的多媒体机器中,这种需要的发展是无限的。这里所说的压缩动态图象数据是指通过与编码成数字数据的同时对前后帧之间的差分进行编码,达到了缩短数据尺寸的数据而言。
被这样压缩了的压缩动态图象数据在译码处理时,通过将成为差分计算的基准的图象(以下称“参照图象”)和对所算出的差分编了码的图象(以下称“差分图象”)相加,生成应显示的图象。
在MPEG(Motion Picture Image Coding ExpertsGroup)的情况下,使用称为I帧面(Intra-Picture)的图象用作参照图象。这里所谓I帧面是指压缩了的图象数据,但包括一帧部分的亮度分量及色差分量。另外使用上述P帧面(Predictive-Picture)或B帧面(Bidirectionally predictive Picture)作为差分图象。这里所说的P帧面是由与位于过去方向的帧的差分构成的差分图象,所说的B帧面是由与位于过去方向及未来方向的帧的差分构成的差分图象。
以什么样的单位构成B帧面及P帧面呢,以横16象素×纵16象素的单位、即所谓象素块单位构成帧之间的差分。该横16×纵16象素包括由图1A所示的横16×纵16的亮度分量构成的亮度块、由图1B所示的横8×纵8的蓝色差分量构成的蓝色差块(Cb块)、以及横8×纵8的红色差分量构成的红色差块(Cr块)。如果将由横16象素×纵16象素构成的亮度块和由横8象素×纵8象素构成的蓝色差块及红色差块的组合称为宏块,则构成图象译码的一个单位。
对应于宏块进行什么样的编码呢,对宏块的编码如下进行:对亮度块及色差块进行离散余弦变换处理(Discerete Cosine Transform:DCT),分离成位于低频带的空间频率分量和位于高频带的空间频率分量,将高频带舍去,对位于低频带的空间频率分量进行量化处理。
编了码的宏块经过反量化及反离散余弦变换处理后,通过以动矢量为依据的动态补偿,作为图象进行显示。所谓动矢量是指与前后帧的图象进行比较、指示相关性最大处的信息而言。就是说动矢量以块为单位表现图象内的人物象或建筑物象在帧前后怎样移动。
所谓动态补偿是指将应在差分前后显示的参照图象和该差分混合后获得一个完成了的显示用图象而言。
以上的MPEG依据的动态图象的编码·译码技术中在本说明书中特别引用的内容如以上所述。关于更详细的技术内容,请参照株式会社アスキ-“点图解式最新MPEG教科书”等已知文献。
在对用差分压缩了的动态图象数据译码时,安装DRAM(DynamicRandom Access Memory)、SDRAM(Synchronous DynamicRandom Access Memory)是必要的。这是因为在进行压缩动态图象数据的译码时,有必要存储应混合在上述差分中的一帧部分的图象,而廉价的大容量的SDRAM最适合于图象的存储。
动态图象译码设备将图象存储在SDRAM中,同时取得显示下一个图象的差分及动矢量。如果取得动矢量,则根据动矢量,从已经存储着图象的SDRAM中截出与差分尺寸相同的部分图象即位于与该差分同一位置的图象(被截出的该尺寸的图象被称为参照图象),通过将截出的参照图象和差分混合后写回原来的SDRAM,在SDRAM内获得一个完成了的图象。反复进行以上的工作,能再生在时间上连续的动画。图2A是表示现有的图象译码设备的内部结构中与SDRAM有关的部分的图。
SDRAM226有256行×256列的字区。其中1行×256列的区称为页。
存储用图象的横720象素×纵480象素的亮度分量被等分成亮度块的大小,分割后的亮度分量被存入一页中。图2B示出了图2C所示的图象怎样被存入SDRAM226中。图2C所示的由(0,0)~(15,15)构成的横16象素×纵16象素的亮度分量h11及由(16,0)~(31,15)构成的横16象素×纵16象素的亮度分量h12被存入图2B所示的第0页,图2C所示的由(32,0)~(47,15)构成的横16象素×纵16象素的亮度分量h13及由(48,0)~(63,15)构成的横16象素×纵16象素的亮度分量h14被存入图2B所示的第1页。由(64,0)~(79,15)构成的横16象素×纵16象素的亮度分量及由(80,0)~(90,15)构成的横16象素×纵16象素的亮度分量被存入图2B所示的第2页(这里在本说明书中,各象素的坐标是以图象的左上顶点为原点,以图象向右的方向为X坐标的正向,以图象向下的方向为Y坐标的正向。)。
存储用图象的横360象素×纵240象素的蓝色分量被等分成Cb块的大小,分割后的蓝色分量被存入另一页中。参照图2B说明图2D所示的一画面部分的色差分量怎样被存入SDRAM226中。图2D所示的由(0,0)~(7,7)构成的横8×纵8的蓝色差分量h21、由(8,0)~(15,7)构成的横8×纵8的蓝色差分量h22、由(16,0)~(23,7)构成的横8×纵8的蓝色差分量h23、由(24,0)~(31,7)构成的横8×纵8的蓝色差分量h24被存入图2B所示的第150页(另外,根据不在于“150”这个数值。只想作为一例进行解释。)。
存储用图象的横360象素×纵240象素的红色差分量被等分成Cr块的大小,分割后的红色差分量被存入一页中。参照图2B说明图2D所示的图象怎样被存入SDRAM226中。图2C所示的由(0,0)~(7,7)构成的横8×纵8的红色差分量h21、由(8,0)~(15,7)构成的横8×纵8的红色差分量h22、由(16,0)~(23,7)构成的横8×纵8的红色差分量h23、由(24,0)~(31,7)构成的横8×纵8的红色差分量h24被存入图2B所示的第200页(另外,根据不在于“200”这个数值。只想作为一例进行解释。)。
读写部227将SDRAM226中存储的图象中被截出的参照图象以脉冲串方式读出到缓冲器228中。所谓脉冲串方式的读出(脉冲串读出)是指通过设定应开始读出的地方的行地址及列地址、以及读出长度(脉冲串长度),读出SDRAM中存储的象素而言。
图3是说明由读写部227进行的脉冲串读出用的时间图。
如果在时刻t1发出激活指令(图中的ACTIVE指令),同时将行地址送给SDRAM的地址引线。发送后,在经过tRCD时间后的时刻t2,发送读出指令,同时将列地址发送给地址引线。
发送激活指令后,从SDRAM226的数据引线输出作为读出长度设定的数量的亮度分量。这时读出长度假定设为4字,从数据引线输出4象素的亮度分量。在SDRAM中之所以在每一页分区存储亮度分量及色差分量,是因为考虑到该读出是以脉冲串读出方式进行的。
为了对从SDRAM读出的参照图象和差分进行混合,或者对从SDRAM读出的参照图象进行半贝尔(ハ-フペル)内插,缓冲器228暂时存储亮度块、色差块。其规模被规定为最低限度能存储亮度块的容量、即能存储横16象素×纵16象素的亮度分量的容量。
所谓半贝尔内插,是在动矢量用半象素单位指示与前后帧的相关性大的位置的情况下,对截出的参照图象进行必要的亮度分量、色差分量的再计算处理。
所谓纵向的半贝尔内插是指用各行分量及其下一行分量的平均值生成亮度块内的各行分量而言,所谓横向的半贝尔内插是指用该各列分量及其下一列分量的平均值生成亮度块内的各列分量而言。所谓纵向及横向的半贝尔内插是指用该各列分量及其下一列分量、以及其下一行分量及其斜下方分量的平均值生成亮度块内的各列分量而言。
在图2C所示的亮度块内进行纵向的半贝尔内插时,用亮度(0,0)~亮度(15,0)和下一行的亮度(0,1)~亮度(15,1)的平均值生成位于亮度块内部的亮度(0,0)~亮度(15,0)。位于坐标(0,0)的亮度分量被改写成(亮度(0,0)+亮度(0,1))/2,坐标(1,0)的亮度分量被改写成(亮度(1,0)+亮度(1,1))/2,坐标(2,0)的亮度分量被改写成(亮度(2,0)+亮度(2,1))/2,坐标(3,0)的亮度分量被改写成(亮度(3,0)+亮度(3,1))/2。
在图2B所示的亮度块内进行横向的半贝尔内插时,用亮度(0,0)~亮度(15,0)和下一列的亮度(1,0)~亮度(1,15)的平均值生成位于亮度块内部的亮度(0,0)~亮度(0,15)。坐标(0,0)的亮度分量被改写成(亮度(0,0)+亮度(1,0))/2,坐标(0,1)的亮度分量被改写成(亮度(0,1)+亮度(1,1))/2,坐标(0,2)的亮度分量被改写成(亮度(0,2)+亮度(1,2))/2,坐标(0,3)的亮度分量被改写成(亮度(0,3)+亮度(1,3))/2。
在需要进行纵向的半贝尔内插时,有必要对全部行反复进行取各行分量及其下一行分量的平均值的工作,在需要进行横向的半贝尔内插时,有必要对全部列反复进行取各列分量及其下一列分量的平均值的工作。
可是上述宏块的存储方式未涉及到在以下的(1-1)(1-2)(2-1)(2-2)中说明的任何问题。
(1-1)按SDRAM的存储方式进行脉冲串读出的次数及读出时间增大的问题
亮度分量-蓝色差分量-红色差分量的3分量被存入各页中,因需要计算这些页,所以存在三倍于参照图象读出的比例进行脉冲串读出的问题。
例如显示NTSC方式的图象信号时,由于每1秒显示30帧的图象(PAL方式时为25次),所以参照图象的读出也要反复进行近30次,但在该30次的参照图象读出中,要分别读出亮度块、Cb块、Cr块,所以每1秒要反复进行90次×宏块数的脉冲串读出。
对SDRAM的脉冲串读出,在从发送行地址开始至发送列地址为止的期间存在相当于tRCD的延迟时间。由于脉冲串读出的次数倍增,所以由该延迟时间tRCD产生的影响也倍增,意味着译码处理被延迟。
另外,由于参照图象的位置原因,存在读出次数进一步增大的可能性。例如,在动矢量在作为亮度分量的相关性大的位置从图象左上方指示16象素的整数倍处的范围的情况下,参照图象恰好被收容在一个亮度块内,所以通过一次脉冲串读出,就可以读出位于如上指示的位置的横16象素×纵16象素的亮度分量,但在动矢量指示16象素的非整数倍处的范围的情况下,需要个别地读出存储在多页中的象素。对蓝色差分量-红色差分量来说也一样,在动矢量指示8象素的非整数倍处的范围的情况下,需要个别地读出存储在多页中的Cb块-红色差分量。
如果动矢量指示16象素、8象素的非整数倍的范围时,脉冲串读出的次数倍增。为了抵消由于这些原因而发生的译码处理的延迟,以往将工作时钟脉冲设定得高些,强制图象译码设备高速工作。因此,存在消耗的电力显著地增大的问题。
(1-2)将参照图象分割成多个存储器阵列存储时,延迟增大的问题
SDRAM中的行列状的存储区称为存储器阵列。SDRAM中备有多个存储器阵列,存在谋求大容量的问题。如果存储器阵列有多个,则将这些存储器阵列变换成各自的存储地址,就能将图象分散在多个存储器阵列中存储。
如果这样将图象分割成多个存储器阵列存储,则截出参照图象时,需要从多个存储器阵列读出参照图象的亮度分量及色差分量。从该多个存储器阵列读出亮度分量及色差分量时,会发生接收不到对存储器阵列发送的读出指令的现象。
之所以发生该现象,是因为多个存储器阵列中存在未被激活的存储器阵列。即,从多个存储器阵列读出亮度分量及色差分量时,必须将存储参照图象的亮度分量及色差分量的全部存储器阵列激活才行。
可是激活存储器阵列时,需要3个时钟脉冲的激活时间,但参照图象的读出延迟该3个时钟脉冲的时间是不可避免的。将图象分割后存入多个存储器阵列中时,由于存储器阵列未激活,所以存在不能接收读出指令,或同时发生将存储器阵列激活所需的延迟的问题。
(2-1)动矢量指示半象素处时发生缓冲规模不足
之所以将横16象素×纵16象素的亮度分量及横8象素×纵8象素的色差分量集中存入缓冲器228,是为了顺利地进行半贝尔内插用的平均值的反复计算。就是说如果只该次读出应计算平均值的亮度分量及色差分量,则为了进行该读出而中断半贝尔内插。为了避免该中断,将缓冲器228的容量规定为最低能存储横16象素×纵16象素的亮度分量及色差分量的容量。
可是,例如即使缓冲器228的规模为横16象素×纵16象素,但在对位于亮度块的最后一行的亮度(0,15)~亮度(0,15)进行纵向半贝尔内插时,需要用亮度(0,15)~亮度(15,15)和下一行的亮度(0,16)~亮度(15,16)的平均值来生成,必须将亮度(0,16)~亮度(15,16)读到缓冲器228中。如果这样通过另外途径读出一行部分,就会发生延迟。同样对位于亮度块的最后一列的亮度(15,0)~亮度(15,15)进行纵向半贝尔内插时,需要用亮度(15,0)~亮度(15,15)和下一行的亮度(16,0)~亮度(16,15)的平均值来生成,会发生将亮度(16,0)~亮度(16,15)读到缓冲器228所需的延迟。
即使使缓冲器228的规模大,但结果仍然存在读出最后的行及列的亮度分量所需的延迟,使缓冲器228的规模大而在制造成本上的花费会将延迟条件的改善一扫而光,这就是现实情况。就是说在增大缓冲器228的规模来谋求半贝尔内插的顺利化的现有的规模的设定中,为了达到半贝尔内插的顺利化,在制造成本上增加了很大的负担。
(2-2))动矢量指示奇数象素处时发生缓冲规模不足
SDRAM的字长为2字节、每一象素的亮度分量、蓝色差分量、红色差分量分别为1字节时,能将两个象素部分的亮度分量、蓝色差分量、红色差分量存储在SDRAM的1个字中。其另一方面,如果动矢量将奇数象素处的位置作为与前后帧的相关性大的位置进行指示时,为了将字作为读写的最小单位,需要读出比一个象素多一些的内容。例如,当指示将从3象素处至19象素处的17象素作为参照图象时,必须读出包括它的范围、即读出从2象素处至19象素处的18象素。
在以18象素单位读出的情况下,缓冲器228的规模仅两列大小的亮度分量是不足的。如果存储两列部分的亮度分量多一些,则不得不扩大缓冲器的规模。由于需要存储横向的一列部分的不足部分,所以必须将缓冲器的规模扩大到横18象素×纵16象素。
发明的公开
本发明的第一个目的在于提供一种通过降低从SDRAM读出亮度分量及色差分量的读出次数及读出时间,能进行低工作时钟脉冲的工作补偿的图象译码设备及图象存储器。
本发明的第二个目的在于提供一种即使需要从位于各个存储器阵列的页读出参照图象时,也能将与存储单元的切换相伴随的延迟的影响限制在最小限度的图象译码设备。
本发明的第三个目的在于提供一种即使在使用其容量不满足亮度块的大小的缓冲器的情况下,也能顺利地对参照图象进行半贝尔内插的图象译码设备。
本发明的第四个目的在于提供一种即使在使用其容量不满足亮度块的大小的缓冲器的情况下,也能将存在于奇数象素处的位置的参照图象读到缓冲器中的图象译码设备。
为了达到第一个目的,图象译码设备是一种备有将一画面的图象分割成横m象素×纵n象素(m,n为1以上的整数)的多个象素块进行存储的图象存储器的图象译码设备,图象存储器具有行列状的存储区,用于
将构成各象素块的s×t个第一色差分量(s,t为1以上的整数)和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的连续区中,
将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的连续区中,
图象译码设备的特征在于备有:将从外部输入的流译码成差分图象和动矢量的差分图象译码装置;从某个连续区读出构成差分图象和应混合的参照图象的全部第一色差分量、全部第二色差分量,从另外的连续区读出全部亮度分量的存储器存取装置;以及将从两个连续区读出的第一色差分量、第二色差分量及亮度分量混合成差分图象的混合装置。
如果采用上述构成的图象译码设备,由于象素块中包括的蓝色差分量和红色差分量被存储在从由同一行地址特定的开始区至结束区中,所以如果指定从该开始区读出的长度,进行称为脉冲串式地读出存储的内容的脉冲串读出,就能一次读出象素块中包括的蓝色差分量和红色差分量。由于这样一次读出蓝色差分量和红色差分量,则在读出参照图象时,对一个象素块来说,与亮度分量的读出合计通过两次脉冲串读出,就能读出参照图象。
因此,能将脉冲串读出的次数减少到与宏块数的二倍成比例的数,特别是在每1秒读出30帧的参照图象反复近30次的情况下,具有总读出时间异常地减少的效果。
因此,不需要将工作时钟脉冲设定得高来强制图象译码设备高速工作,具有能抑制电力消耗的效果。
达到第二个目的用的本发明的图象译码设备是一种备有由行地址、列地址和存储单元地址进行地址特定的多个存储器阵列,将一画面的图象分割成横m象素×纵n象素(m,n为1以上的整数)的多个象素块并存储在各个存储器阵列中的图象译码设备,
存储器阵列具有行列状的存储区,用于将构成一个象素块的s×t个第一色差分量(s,t为1以上的整数)和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的连续区中,将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的开始区到由该行地址和第四列地址特定的结束区的连续区中,
图象译码设备的特征在于备有:将从外部输入的流译码成差分图象和动矢量的差分图象译码装置;如果差分图象和应混合的参照图象与多个象素块重叠,便算出与这些象素块的重叠部分的顶点坐标的重叠部判断装置;将重叠部分的横向宽度和纵向宽度互相比较,确定重叠部分的读出顺序的顺序确定装置;根据读出顺序,从存储器阵列的连续区并从重叠部分读出亮度分量和色差分量的存储器存取装置;以及将从多个连续区读出的第一色差分量、第二色差分量及亮度分量混合成差分图象的混合装置。
如果采用本图象译码设备,则在需要从多个存储器阵列个别地读出参照图象的情况下,通过根据重叠部分的横向宽度确定读出顺序,能在从某个存储器阵列读出亮度分量的期间,并行地进行对其它存储器阵列的激活。由于能有效地进行存储器阵列的激活,且不存在为了激活而使译码处理延迟的弊病,所以能积极地将把图象分割成多个并存入多个存储器阵列的存储方式取入图象译码设备的设计中。
为了达到第三个目的,本发明的图象译码设备是一种备有将一画面的图象分割成横m象素×纵n象素(m,n为1以上的整数)的多个象素块进行存储的图象存储器的图象译码设备,图象存储器具有行列状的存储区,用于将构成一个象素块的s×t个第一色差分量(s,t为1以上的整数)和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的连续区中,将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的连续区中,
图象译码设备的特征在于:备有将从外部输入的流译码成差分图象和动矢量的差分图象译码装置;从图象存储器读出构成与差分图象和应混合的参照图象相当的象素块的一半的亮度分量,并从图象存储器读出与该一半亮度分量相邻的一行及/或一列亮度分量的第一读出装置;保存所读出的亮度分量的象素块缓冲器;对所保存的一半亮度分量进行判断装置需要判断的方向的半贝尔内插的半贝尔内插装置;以及读出构成与差分图象和应混合的参照图象相当的象素块的其余一半的全部亮度分量的第二读出装置,象素块缓冲器有如果输出象素块部分的亮度分量及色差分量时,在前一半读出的亮度分量中将与一半亮度分量相邻的一行及/或一列亮度分量留下,将在后一半读出的亮度分量书写在于前一半读出的亮度分量占据的区中的书写部,半贝尔内插装置利用剩余的一行及/或一列亮度分量,对在后一半读出的亮度分量进行判断装置需要判断的方向的半贝尔内插。
如果采用本构成的图象译码设备,则由于进行半贝尔内插,则即使在需要比一行部分、一列部分多一些的亮度分量及色差分量的情况下,将它们分成两次读出,每次读出时确定比一行部分、一列部分多一些的读出范围,所以即使是其容量不满足亮度块的大小的缓冲器,也能充分地存储半贝尔内插所需要的亮度分量。
达到第四个目的用的本发明的图象译码设备的特征在于:将在象素块中位于相邻的坐标处的两个亮度分量存储在由行地址和一个列地址特定的开始区中,图象译码设备备有判断参照图象的左上方顶点的X坐标是否是奇数坐标的坐标值判断装置;以及在断定了参照图象的左上方顶点的X坐标是奇数坐标的情况下,将页边赋予第一及第二读出范围的赋予部,第一确定装置及第二确定装置分别对被赋予了页边的第一读出范围、第二读出范围确定读出处地址及读出长度,图象存储器内的输出部将参照图象的亮度分量及色差分量输出给每个第一读出范围、第二读出范围,
象素块缓冲器的特征在于保存构成图象存储器的输出部输出的参照图象的色差分量及亮度分量。如果采用本图象译码设备,则为了读出位于奇数坐标处的亮度分量及色差分量,即使在读出范围比一行部分、一列部分多一些的情况下,将它们分成两次读出,每次读出时确定比一行部分、一列部分多一些的读出范围,所以即使是象素块大小的缓冲器,也能充分地存储半贝尔内插所需要的亮度分量及色差分量。
附图的简单说明
图1A是表示横16象素×纵16象素的亮度块的图。
图1B是表示横8×纵8的蓝色差块及红色差块的图。
图2A是表示现有的图象译码设备中有关SDRAM部分的图。
图2B是表示亮度分量及蓝色差分量怎样被存储在各页中的图。
图2C是表示存储在各页中的亮度分量位于图象的何处的图。
图2D是表示存储在各页中的蓝色差分量及红色差分量位于图象的何处的图。
图3是表示现有的图象译码设备的读出处理的时间图。
图4A是表示图象译码设备的全体结构的图。
图4B是表示象素读写部8的内部结构的图。
图4C是表示半贝尔内插部15、写入地址生成部110、读出地址生成部22的内部结构的图。
图5是表示SDRAM的内部结构的图。
图6A是表示图象译码设备全体的时间图的图。
图6B是差分图象以半帧为单位时的图象译码设备全体的时间图。
图7A是表示亮度分量怎样被存储在各页中的图。
图7B是表示蓝色差分量及红色差分量怎样被存储在各页中的图。
图8A是表示存储在各页中的亮度分量位于图象的何处的图。
图8B是表示存储在各页中的蓝色差分量位于图象的何处的图。
图9是表示亮度分量怎样被存储在各页中的图。
图10是表示蓝色差分量及红色差分量怎样被存储在各页中的图。
图11A是亮度地址编码器61的内部结构图。
图11B是色差地址编码器62的内部结构图。
图12A是表示补偿控制部10进行的读出范围确定处理的提示的流程图。
图12B是表示补偿控制部10进行的读出范围确定处理的提示的流程图。
图13A~图13D是表示由补偿控制部10怎样扩大Y01块及Y23块的图。
图14A~图14ID是表示由补偿控制部10怎样扩大Y02块及Y13块的图。
图15A是表示参照图象与左上页P00~右下页P11中存储的横16象素×纵32象素交叉的情况之一例的图。
图15B是表示参照图象与左上页P00~右下页P11中存储的横16象素×纵32象素交叉的情况,以及怎样读出这些亮度分量及色差分量的图。
图16是表示由补偿控制部10进行的读出顺序确定程序的流程图。
图17是表示由补偿控制部10进行的页读出处理程序的流程图。
图18是表示参照图象与左上页P00~右下页P11中存储的横16象素×纵32象素交叉的情况之一例的图。
图19是由补偿控制部10进行的页读出的时间图。
图20A~20I是表示参照图象怎样与各页中存储的横16象素×纵32象素交叉的说明图。
图21A是表示缓冲器A12的内部区域的图。
图21B是表示从左上页P00~右下页P11中读出的重叠部分怎样存储在缓冲器A12的内部区域的图。
图22是表示重叠部分的亮度分量怎样存储在缓冲器A12的内部区域的线性地址长度为4BYTE的区域中的图。
图23A是表示由从左上页P00~右下页P11中读出的重叠部分构成的Y01块怎样存储在缓冲器A12的内部区域的图。
图23B是表示由从左上页P00~右下页P11中读出的重叠部分构成的Y02块怎样存储在缓冲器A12的内部区域的图。
图24A是写入地址生成部13的内部结构图。
图24B是读写地址生成部22的内部结构图。
图25A是表示Y01块的亮度分量被读出后的缓冲器A12的存储内容的图。
图25B是表示Y23块的亮度分量被读出后的缓冲器A12的存储内容的图。
图26A是表示Y02块的亮度分量被读出后的缓冲器A12的存储内容的图。
图26B是表示Y13块的亮度分量被读出后的缓冲器A12的存储内容的图。
图27是表示由写入地址生成部80读出Y01块及Y23块的亮度分量中的哪个亮度分量,以及怎样进行半贝尔内插的图。
图28A是表示对Y01块及Y23块的亮度分量进行半贝尔内插的形态的图。
图28B是表示对Y02块及Y13块的亮度分量进行半贝尔内插的形态的图。
图29A是表示第二实施形态中亮度分量怎样存储在各页中的图。
图29B是表示第二实施形态中蓝色差分量及红色差分量怎样存储在各页中的图。
图30A是表示第二实施形态的亮度地址编码器61的内部结构的图。
图30B是表示第二实施形态的色差地址编码器62的内部结构的图。
实施发明用的最佳形态
以下在说明图象译码设备的实施形态之前,先说明本图象译码设备提供的三个基本技术(a)(b)(c)。而且为了理解这些基本技术,介绍一下最好参照本实施形态的哪个部分。
(a)亮度分量及色差分量的存储方式的改进
为了缩短从SDRAM读出的时间,将蓝色差块及红色差块存储在一页中,通过指定行地址、列地址、读出长度的脉冲串读出,而将全部蓝色差分量及全部红色差分量一次读出。亮度分量及色差分量怎样被存储在多个存储器阵列中呢,请参照(第1.1.1章 存储器阵列51及存储器阵列52的存储方式)。
(b)分散存储在多个存储器阵列中的图象的读出
在不得不从多个存储器阵列中读出参照图象的亮度分量及色差分量的情况下,必须个别地激活存储器阵列。为了避免由于该激活而发生延迟,本图象译码设备对各存储器阵列确定读出顺序,以此为根据,个别地从多个存储器阵列读出亮度分量及色差分量。这里所说的读出顺序是怎样形成的顺序呢,请参照第1.4.8章至第1.4.11章。
(c)通过改进从SDRAM读到缓冲器的读出方式而导致的半贝尔内插的高效化
需要对亮度分量进行横向半贝尔内插时,不是将横16象素×纵16象素读到缓冲器中,而是将接近于其一半大小的横17象素×纵8象素的亮度分量读到缓冲器中。通过将横17象素×纵8象素的亮度分量读到缓冲器中,用与其下一行的亮度分量的平均值改写各亮度分量。在对第十六行的亮度分量进行半贝尔内插期间,仍将第十七行的亮度分量留在缓冲器中,将接着的横16象素×纵8象素读到缓冲器中。如果这样处理的话,就能用与留在缓冲器中的第十七行的亮度分量的平均值重新改写读到新的缓冲器中的横16象素×纵8象素的亮度分量。在如上进行的半贝尔内插中,通过非常方便地利用留在缓冲器中的第十七行的亮度分量,能顺利地进行半贝尔内插。
将读出范围确定为多大呢,请参照第1.3章。关于根据是否需要半贝尔内插,怎样扩大读出范围的问题,请参照第1.3.2章。另外,关于怎样利用剩下的一行的亮度分量进行半贝尔内插的问题,请参照第1.17章、第1.18章。
以下,参照附图说明图象译码设备的实施形态。
(第一实施形态)
(第一章)图象译码装置的总体像
图4A是表示本发明的第一实施形态的图象译码设备的全体结构的框图。图6A是表示将FIFO存储器4、处理器5、代码编码器6、象素读写部8沿纵向配置,沿横向按照时间序列的顺序表示这些处理的时间图。在说到图象译码设备的全体结构的情况下,引用以下的图4A及图6A。
图象译码设备由流输入部1、缓冲存储器2、存储器模块3、FIFO存储器4、处理器5、代码编码器6、象素运算部7、象素读写部8、视频输出部9、缓冲器200和缓冲器201构成。
流输入部1将从外部串行输入的MPEG数据流变换成并行数据(以下称MPEG数据),通过处理器5的控制,将变换后的MPEG数据输送给缓冲存储器2。
缓冲存储器2是暂时保存从流输入部1输送的MPEG数据的缓冲用存储器。
存储器模块3由用多个SDRAM(Synchronous DynamicRandom Access Memory)芯片构成的存储过去显示的图象的SDRAM31、存储将来应显示的图象的SDRAM32、以及存储通过补偿获得的图象的SDRAM33构成。SDRAM31~SDRAM33的内部结构都相同。
FIFO存储器4在处理器5的控制下,以先进先出方式存储从流输入部1输送的压缩动态图象数据。
处理器5控制FIFO存储器4的压缩动态图象数据的读出,同时进行对压缩动态图象数据的一部分的译码处理。具有代表性的压缩动态图象数据的一部分的译码处理中,有MPEG流中的标题信息的分析、动矢量的计算和压缩图象译码处理的控制。
代码编码器6对从FIFO存储器4读出的压缩动态图象数据进行可变长度译码(Variable Length Code Decoding:以下简称VLD),获得6个空间频率分量数据、标题信息、动矢量。每个频率分量数据相当于8象素×8象素。如图6A中的时刻t20所示,代码编码器6将译码后的数据中有关标题信息及动矢量的信息输送给处理器5,在时刻t21、时刻t22、时刻t23、时刻t24、时刻t25、时刻t26分六次,通过缓冲器200将空间频率分量输送给象素运算部7。这样获得的空间频率分量是纵8象素×横8象素。
缓冲器200保存由代码编码器6输送的纵8象素×横8象素大小的空间频率分量。
象素运算部7对通过缓冲器200从代码编码器6输送的块单位的频率分量进行反量化处理(以下简称IQ)及反离散余弦变换(以下简称IDCT)。如果对频率分量进行以上的处理,则块单位的频率分量被变换成diff_Y0块、dif_Y1块、dif_Y2块、dif_Y3块、dif_Cb块、dif_Cr块,通过缓冲器201输送给象素读写部8。这里所说的Y0块~Y3块是指用横8象素×纵8象素将横16象素×纵16象素四等分后获得的各块。如图13A所示,如果将由横16象素×纵16象素构成的亮度块四等分,便获得Y0块、Y1块、Y2块、Y3块。另外,“dif_”是差分的意思。
在图6A所示的时间图中的时刻t31,象素运算部7对在时刻t21输出给缓冲器200的频率分量实施IQ及IDCT。这样一来,该频率分量被变换成Y0块,并输送给缓冲器201。
缓冲器201保存由象素运算部7输送的纵8象素×横8象素。
象素读写部8以块为单位对象素运算部7的处理结果进行动态补偿。即,根据动矢量,对P图象、B图象从存储器模块3内的译过码的参照帧截出矩形区,通过使缓冲存储器2中存储的Y0块、Y1块、Y2块、Y3块、Cb块、Cr块合成,译成原来的块图象。由象素读写部8进行的处理结果被存入存储器模块3内的任一个SDRAM中。另外在差分图象为1帧面的情况下,因为不需要与参照图象相加,所以将译码后的图象存入存储器模块3中。视频输出部9根据被写入SDRAM3中的图象,输出视频信号。
(第1.1章存储器模块3中的SDRAM的结构)
以SDRAM31为代表例,说明存储器模块3中的SDRAM。图5中示出了SIDRAM31的内部结构。
SDRAM31具有:有512行×256列的区(将1行×256列的区称为页区)、被变换成存储单元地址=0(也称为存储单元0)的存储器阵列51;被变换成存储单元地址=1(也称为存储单元1)的存储器阵列52;将输出给地址引线A0~A9的地址作为行地址进行译码后输出给存储器阵列51及存储器阵列52的行地址译码器53及行地址译码器54;将输出给地址引线A0~A9的地址作为列地址进行译码后输出给存储器阵列51及存储器阵列52的列地址译码器55及列地址译码器56;由于特定了行地址及列地址,故保存从存储器阵列51及存储器阵列52读出的一页长的数据,并输出给数据引线的页数据缓冲器57及页数据缓冲器58;以及存储应进行脉冲串读出的字长,指示页数据缓冲器57及页数据缓冲器58输出该字长数据的字长寄存器59。另外在本实施形态中,SDRAM31的字长为1字节,一象素部分的亮度分量、蓝色差分量、红色差分量的数据尺寸也是1字节。
(第1.1.1章  存储器阵列51及存储器阵列52的存储方式)
存储器阵列51及存储器阵列52的存储内容中行地址0000_0000以后的内容示于图7A,行地址1000_0000以后的内容示于图7B。
在图7A中,左上顶点为(0,0)、右下顶点为(15,31)的矩形区(0,0)~(15,31)的亮度分量(在图8A的一例中相当于带影线的范围h1部分)被存储在存储单元0-行地址0000_0000的页区中,左上顶点为(16,0)、右下顶点为(31,31)的矩形区(16,0)~(31,31)的亮度分量(在图8A的一例中相当于带影线的范围h2部分)被存储在存储单元1-行地址00000的页区中。
在图7B中,左上顶点为(0,0)、右下顶点为(7,31)的矩形区(0,0)~(7,31)的蓝色差分量和左上顶点为(0,0)、右下顶点为(7,31)的矩形区(0,0)~(7,31)的红色差分量(在图8B的一例中相当于带影线的范围h31部分)被存储在存储单元0-行地址1000_0000的页区中,左上顶点为(8,0)、右下顶点为(15,31)的矩形区(8,0)~(15,31)的亮度分量(在图8B的一例中相当于带影线的范围h32部分)被存储在存储单元1-行地址1000_0000的页区中。
(第1.1.2章  存储器阵列51及存储器阵列52内的各页的内容)
图9及图10中示出了存储器阵列51及存储器阵列52的各页的内容。
在图9中,在存储单元0-行地址0000的页区内,图象上的从坐标(0,0)到坐标(15,0)的亮度分量Y(0,0)~(15,0)被存储在列地址=000000_0000~000000_1111中。
图象上的从坐标(0,1)到坐标(15,1)的亮度分量Y(0,1)~(15,1)被存储在列地址=000001_0000~000001_1111中。
另一方面,在图10中,在存储单元0-行地址1000_0000的页区内的列地址=00000_0000~00000_1111的偶数地址中,存储着图象上的位于坐标(0,0)~(7,0)的蓝色差分量,在列地址=00000_0000~00000_1111的奇数地址中,存储着图象上的位于坐标(0,0)~(7,0)的红色差分量。
详细地说,坐标为(0,0)的蓝色差分量被存储在偶数地址的列地址00000_0000中,坐标为(0,0)的红色差分量被存储在奇数地址的列地址00000_0001中。坐标为(1,0)的蓝色差分量被存储在其相邻的偶数地址的列地址00000_0010中,坐标为(1,0)的红色差分量被存储在奇数地址的列地址00000_0011中。
即,构成Cb块及Cr块的各行的蓝色差分量及红色差分量被相邻地存储在一页内的偶数列地址、奇数列地址中。
由于这样存储蓝色差分量和红色差分量,所以如果从该开始区起始指定读出长度,进行脉冲串式地读出存储的内容的所谓的脉冲串读出,则能一次读出象素块中包括的蓝色差分量和红色差分量。通过这样一次读出蓝色差分量和红色差分量,在读出参照图象时,对一个象素块来说,与亮度分量的读出合起来共计通过两次脉冲串读出,就能读出参照图象。
因此,能将脉冲串读出的次数减少到与宏块数的二倍成比例的数,特别是在每1秒读出30帧的参照图象反复近30次的情况下,能异常地减少总读出时间。因此,不需要将工作时钟脉冲设定得高来强制图象译码设备高速工作,能导致抑制电力消耗的效果。
(第1.2章  象素读写部8的内部结构)
图4B是表示象素读写部8的内部结构的框图。
在该图中,象素读写部8由以下部分构成:补偿控制部10;存储器存取部11;缓冲器A12;写入地址生成部13;读出地址生成部14;半贝尔内插部15;缓冲器B16;写入地址生成部17;读出地址生成部18;半贝尔内插部19;缓冲器C20;读写地址生成部22;缓冲器D25;读出地址生成部26;混合部29;以及选择部34。以下,参照图4B,说明象素读写部8的内部结构。
(第1.3章  补偿控制部10的作用概要)
补偿控制部10根据处理器5输出的动矢量,确定从SDRAM31~SDRAM33中存储的图象的哪个坐标截出哪个范围作为参照图象。设用于截出的基准坐标为(X,Y),截出的范围为横m象素×纵n象素。如果补偿控制部10指示应截出的参照图象的左上顶点的坐标(X,Y)、截出的范围为横m象素×纵n象素、以及差分图象是P图象还是B图象的种类,那么补偿控制部10便通过存储器存取部11进行的存储器存取,从SDRAM31~SDRAM33中的任一个读出参照图象。用什么样的单位读出参照图象的亮度分量、色差分量呢,在本实施形态中,分3次读出参照图象。
这里,参照图象的亮度分量的左上顶点的X坐标用10位表示,Y坐标用9位表示。这是因为X坐标需要保存0~719中的某数值,Y坐标需要保存0~479中的某数值。
参照图象的蓝色差分量及红色差分量的X坐标用9位表示,Y坐标用8位表示。这是因为X坐标需要保存0~359中的某数值,Y坐标需要保存0~239中的某数值。
由补偿控制部10进行的第一次读出是亮度块的上半部分的读出。即存储器存取部11确定将构成亮度块的Y0块、Y1块、Y2块、Y3块中的Y0块和Y1块的组(以下称Y01块)作为读出范围的横m象素×纵n象素。
第二次读出是亮度块的下半部分的读出。即存储器存取部11确定将构成亮度块的Y0块、Y1块、Y2块、Y3块中的Y2块和Y3块的组(以下称Y23块)作为读出范围的横m象素×纵n象素。
第三次读出是Cb块及Cr块的读出。即存储器存取部11确定将Cb块及Cr块的组(以下称CbCr块)作为读出范围的横m象素×纵n象素。
之所以将亮度块的读出分为Y01块、Y23块这样两次,是因为将1行部分的亮度分量、1列部分的亮度分量额外地读到规模为横16象素×纵16象素的缓冲器中。即,在缓冲器的规模为横16象素×纵16象素的情况下,如果一次读出横16象素×纵16象素的亮度分量,那么缓冲器就会失去额外存储亮度分量的余裕,但如果将横16象素×纵16象素的亮度分量分两次读出,则在规模为横16象素×纵16象素的缓冲器中就会产生额外存储亮度分量的余裕。
说明在亮度分量按半帧单位进行编码,并由象素运算部7对每个Y02块及Y13块的奇数行、偶数行进行了IDCT的情况下,动态补偿部10怎样读出亮度分量。
由补偿控制部10进行的第一次读出是亮度块的左半部分的读出。即存储器存取部11确定将构成亮度块的Y0块、Y1块、Y2块、Y3块中的Y0块和Y2块的组(以下称Y02块)作为读出范围的横m象素×纵n象素。
第二次读出是亮度块的右半部分的读出。即存储器存取部11确定将构成亮度块的Y0块、Y1块、Y2块、Y3块中的Y1块和Y3块的组(以下称Y13块)作为读出范围的横m象素×纵n象素。
之所以按Y02块、Y13块的图形读出参照图象,是因为由象素运算部7进行的IDCT的结果能用Y02块、Y13块的图形获得。
第三次读出是Cb块及Cr块的读出。即存储器存取部11确定将Cb块及Cr块的组(以下称CbCr块)作为读出范围的横m象素×纵n象素。
(第1.3.1章  全体图象译码设备中的补偿控制部10的位置分配)
在图6A所示的时间图中,在时刻t12,处理器5进行标题分析时分析动矢量,如果输出的差分图象是P图象,应将它与过去方向的参照图象相加,从存储器模块3中的SDRAM31读出过去方向的ref_Y01_b(r)块(“ref”是参照图象的reference(参照)的意思。b(r)的“b”是“backward(向后)”的意思,“r”是“read(读)”的意思。)、ref_Y23_b(r)块、ref_CbCr_b(r)块。
如果输出的差分图象是B图象,则除了将它与过去方向的参照图象混合外,还应与将来的两个方向的参照图象相加,从存储器模块3中的SDRAM32读出将来方向的Y01_f(r)块(f(r)的“f”是“forward(向前)”的意思。)、Y23_f(r)块、CbCr_f(r)块。
(第1.3.2章  由补偿控制部10进行的读出范围的确定)
由补偿控制部10进行的读出范围的确定是由实现图12A及图12B中的流程的顺序的序列发生器或机械程序来实现的。
参照这些流程图,更详细地说明存储器存取部11的处理内容。在步骤S0中,存储器存取部11将Width_Flag及Height_Flag设定为『0』。设定后,在步骤S1中,补偿控制部10参照动矢量,判断是否需要进行纵向的半贝尔内插。如果需要的话,在步骤S2中,将Height Flag设定为『1』。接着在步骤S3中,判断是否需要进行横向的半贝尔内插。如果需要的话,在步骤S4中,将Width_Flag设定为『1』。
设定后,在步骤S5中,判断参照图象是否是亮度块,如果是的话,在步骤S6中判断差分图象是按帧编码的还是按半帧单位编码的。
如果是按帧单位编码的,则在步骤S7中,将横m象素×纵n象素中的象素数确定为象素数(m,n)=(2*8+1*Width_Flag,8+1*Height_Flag)。
这时如果Height_Flag、Width_Flag都为『0』,则确定为象素数(m,n)=(2*8+1*0,8+1*0)=(16,8)。该(16,8)的大小恰好为图13A所示的将(0,0)(15,0)(0,7)(15,7)作为四个顶点的Y01块的大小。
如果Height_Flag为『0』,Width_Flag为『1』,则确定为象素数(m,n)=(2*8+1*1,8+1*0)=(2*8+1,8+0)=(17,8)。该(17,8)的大小恰好为图13B所示的将(0,0)(16,0)(0,7)(16,7)作为四个顶点的Y01块的大小。图13B中的Y01块与图13A中的Y01块相比较,只多出带影线的1列。即,需要半贝尔内插,在Width_Flag被设定为『1』的情况下,可知读出范围被确定为多1列。
之所以确定这样多1列,是因为在进行横向的半贝尔内插的情况下,需要用该列及其下一列的平均值生成各列的亮度分量。
如果Height_Flag为『1』,Width_Flag为『0』,则确定为象素数(m,n)=(2*8+1*0,8+1*0)=(2*8+0,8+1)=(16,9)。该(16,9)的大小恰好为图13C所示的将(0,0)(15,0)(0,8)(15,8)作为四个顶点的Y01块的大小。图13C中的Y01块与图13A中的Y01块相比较,只多出带影线的1行。即,需要半贝尔内插,在Height_Flag被设定为『1』的情况下,可知读出范围被确定为多1行。
如果Height_Flag为『1』,Width_Flag为『1』,则确定为象素数(m,n)=(2*8+1*1,8+1*1)=(2*8+1,8+1)=(17,9)。该(17,9)的大小恰好为图13D所示的将(0,0)(16,0)(0,8)(16,8)作为四个顶点的Y01块的大小。图13D中的Y01块与图13A中的Y01块相比较,多出带影线的1行及1列。即,需要半贝尔内插,在Height_Flag及Width_Flag被设定为『1』的情况下,可知读出范围被确定为多1行及1列。
如果这样确定参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n),则在步骤S8中,使欲读出由参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n)构成的参照图象的存储器存取部11进行读出处理。在步骤S9中,将(纵向幅度n+1)加在参照图象位置的Y坐标上。如果这样相加,则参照图象左上顶点所在处的坐标(X,Y)为图13A中的Y23块的左上坐标。接着将应在第二次读出的读出范围的纵横象素数(m,n)确定为(2*8+1*Width_Flag,8)。
这时如果Height_Flag,Width_Flag都为『0』,则确定为象素数(m,n)=(2*8+1*0,8)=(16,8)。该(16,8)的大小恰好为图13A所示的将(0,8)(15,8)(0,15)(15,15)作为四个顶点的Y23块的大小。
如果Height_Flag为『0』,Width_Flag为『1』,则确定为象素数(m,n)=(2*8+1*1,8)=(2*8+1,8)=(17,8)。该(17,8)的大小恰好为图13B所示的将(0,8)(16,8)(0,15)(16,15)作为四个顶点的Y23块的大小。图13B中的Y23块与图13A中的Y23块相比较,只多出带影线的1列。即,需要半贝尔内插,在Width_Flag被设定为『0』的情况下,可知读出范围被确定为多1列。
如果Height_Flag为『1』,Width_Flag为『0』,则确定为象素数(m,n)=(2*8+1*0,8)=(2*8+0,8)=(16,8)。该(16,8)的大小恰好为图13C所示的将(0,9)(15,9)(0,16)(15,16)作为四个顶点的Y23块的大小。
如果Height_Flag为『1』,Width_Flag为『1』,则确定为象素数(m,n)=(2*8+1*1,8)=(2*8+1,8)=(17,8)。该(17,8)的大小恰好为图13D所示的将(0,9)(16,9)(0,16)(16,16)作为四个顶点的Y23块的大小。
如果这样确定参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n),则在步骤S8中,使欲读出由参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n)构成的参照图象的存储器存取部11进行读出处理。
其次,用图12B说明差分图象按半帧编码的情况。
首先在步骤S12中,将横m象素×纵n象素中的象素数(m,n)确定为(8+1*Width_Flag,8*2+1*Height_Flag)。
这时如果Height_Flag,Width_Flag都为『0』,则确定为象素数(m,n)=(8+1*0,8*2+1*0)=(8,16)。该(8,16)的大小恰好为图14A所示的将(0,0)(7,0)(0,15)(7,15)作为四个顶点的Y02块的大小。
如果Height_Flag为『0』,Width_Flag为『1』,则确定为象素数(m,n)=(8+1*1,8*2+1*0)=(9,16)。该(9,16)的大小恰好为图14B所示的将(0,0)(8,0)(0,15)(8,15)作为四个顶点的Y02块的大小。图14B中的Y02块与图14A中的Y02块相比较,只多出带影线的1列。即,需要半贝尔内插,在Width_Flag被设定为『1』的情况下,可知读出范围被确定为多1列。
之所以确定这样多1列,是因为在进行横向的半贝尔内插的情况下,需要用该列及其下一列的平均值生成各列的亮度分量。
如果Height_Flag为『1』,Width_Flag为『0』,则确定为象素数(m,n)=(8+1*0,8*2+1*1)=(8,17)。该(8,17)的大小恰好为图14C所示的将(0,0)(7,0)(0,16)(7,16)作为四个顶点的Y02块的大小。图14C中的Y02块与图14A中的Y02块相比较,只多出带影线的1行。即,需要纵向的半贝尔内插,在Height_Flag被设定为『1』的情况下,可知读出范围被确定为多1行。
如果Height_Flag为『1』,Width_Flag为『1』,则确定为象素数(m,n)=(8+1*1,8*2+1*1)=(9,17)。该(9,17)的大小恰好为图14D所示的将(0,0)(8,0)(0,16)(8,16)作为四个顶点的Y02块的大小。图14D中的Y02块与图14A中的Y02块相比较,只多出带影线的1行及1列。即,需要对纵向及横向进行半贝尔内插,在Width_Flag被设定为『1』的情况下,可知读出范围被确定为多1行及1列。
如果这样确定参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n),则在步骤S13中,使欲读出由参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n)构成的参照图象的存储器存取部11进行读出处理。
在步骤S14中,通过将横向幅度m和『1』加在图象左上顶点位置的X坐标上,更新图象位置的X坐标。更新后,在步骤S15中,确定横m象素×纵n象素中的象素数(m,n)=(8+1*Width_Flag,8*2+1*Height_Flag)。
这时如果Height_Flag,Width_Flag都为『0』,则确定为象素数(m,n)=(8,8*2+1*0)=(8,16)。该(8,16)的大小恰好为图14A所示的将(8,0)(15,0)(8,15)(15,15)作为四个顶点的Y13块的大小。
如果Height_Flag为『0』,Width_Flag为『1』,则确定为象素数(m,n)=(8,8*2)=(9,16)。该(9,16)的大小恰好为图14B所示的将(9,0)(16,0)(9,16)(16,16)作为四个顶点的Y13块的大小。
如果Height_Flag为『1』,Width_Flag为『0』,则确定为象素数(m,n)=(8,8*2+1*1)=(8,17)。该(8,17)的大小恰好为图14C所示的将(8,0)(15,0)(8,16)(15,16)作为四个顶点的Y13块的大小。
如果Height_Flag为『1』,Width_Flag为『1』,则确定为象素数(m,n)=(8,8*2+1*1)=(8,17)。该(8,17)的大小恰好为图14D所示的将(9,0)(16,0)(9,16)(16,16)作为四个顶点的Y13块的大小。图14D中的Y13块与图14A中的Y13块相比较,只多出1行。即,需要半贝尔内插,在Width_Flag被设定为『1』的情况下,可知读出范围被确定为多1行。
如果这样确定参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n),则在步骤S16中,使欲读出由参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n)构成的参照图象的存储器存取部11进行读出处理。
在色差分量的情况下,在步骤S17中,确定横m象素×纵n象素中的象素数(m,n)=(2*8+1*Width_Flag,8+1*Height_Flag)。
这时如果Height_Flag,Width_Flag都为『0』,则确定CbCr块的象素数(m,n)=(2*8+1*0,8+1*0)=(16,8)。
如果Height_Flag为『0』,Width_Flag为『1』,则确定CbCr块的象素数(m,n)=(2*8+1*1,8+1*0)=(2*8+1,8+0)=(17,8)。
如果Height_Flag为『1』,Width_Flag为『0』,则确定CbCr块的象素数(m,n)=(2*8+1*0,8+1*1)=(2*8+0,8+1)=(16,9)。
如果Height_Flag为『1』,Width_Flag为『1』,则确定CbCr块的象素数(m,n)=(2*8+1*1,8+1*1)=(2*8+1,8+1)=(17,9)。
如果这样确定参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n),则在步骤S18中,使欲读出由参照图象左上顶点所在处的坐标(X,Y)及象素数(m,n)构成的参照图象的存储器存取部11进行读出处理。
(第1.4章  象素读写部8的其它结构要素的概述)
这里简略地提及一下象素读写部8的其它结构要素中的主要部分(存储器存取部11、缓冲器A12、缓冲器B16、缓冲器C20、缓冲器D25)。
如果补偿控制部10确定了左上顶点坐标、纵向幅度、横向幅度,则存储器存取部11便将位于由所确定了的左上顶点坐标决定的纵向幅度及横向幅度的范围读到缓冲器A12中。
这时如果补偿控制部10确定了Y01块的左上顶点坐标、纵向幅度、横向幅度,则存储器存取部11便将位于该坐标的Y01块读到缓冲器A12中。对所读出的Y01块进行半贝尔内插后,如果补偿控制部10确定了Y23块的左上顶点坐标、纵向幅度、横向幅度,便将位于该坐标的Y23块读到缓冲器A12中。对所读出的Y23块进行半贝尔内插后,如果补偿控制部10确定了CbCr块的左上顶点坐标、纵向幅度、横向幅度,便将位于该坐标的CbCr块读到缓冲器A12中。补偿控制部10在按照Y02块、Y13块、CbCr块的顺序读出参照图象时也一样。
存储器存取控制部11有:为了进行存储器存取,而进行变换成存储着亮度分量的地址的行地址、列地址、存储单元地址的亮度地址编码器61;以及如果输出了补偿控制部10输出的应读出的象素的坐标(X,Y),便将该坐标变换成存储着蓝色差分量及红色差分量的地址的行地址、列地址、存储单元地址的色差地址编码器62,根据补偿控制部10算出的读出范围,对SDRAM31、SDRAM32、SDRAM33进行存取。
如果差分是B图象,且由存储器存取部11读出构成将来方向的Y01块、Y23块、CbCr块的亮度分量及色差分量后,缓冲器A12便将它们保存起来。如果差分是P图象,且由存储器存取部11读出构成将来方向的Y01块、Y23块、CbCr块的亮度分量及色差分量后,同样进行保存。被保存的亮度分量及色差分量成为半贝尔内插部15进行半贝尔内插的对象。
如果差分是B图象,且由存储器存取部11读出给过去方向的每个Y01块、Y23块、CbCr块、Y02块、Y13块时,缓冲器B16便将它们保存起来。被保存的亮度分量及色差分量成为半贝尔内插部15进行半贝尔内插的对象。混合部29对由半贝尔内插部15进行的半贝尔内插结果和横16象素×纵16象素的差分进行混合后,缓冲器B16保存该混合的结果,并输出给欲写入SDRAM3内的SDRAM中的存储器存取部11。
通过半贝尔内插部15进行半贝尔内插,输出横16象素×纵8象素、横8象素×纵16象素的半贝尔内插结果后,缓冲器C20将它保存起来。然后,如果应与它混合的差分被输出给缓冲器D25,便将用来与该差分混合而一直保存着的半贝尔内插结果输出给象素混合部29。
缓冲器D25存储通过缓冲器201从象素运算部7输送来的差分Y0块、Y1块、Y2块、Y3块、Cb块、Cr块,半贝尔内插部15对缓冲器A12及缓冲器B16中存储的Y01块、Y23块、CbCr块进行半贝尔内插后,将一直存储着的构成差分图象的横8象素×纵8象素的亮度分量及色差分量输出给象素混合部29。
(第1.4.1章  存储器存取部11内的亮度地址编码器61的结构)
参照图11A及图11B,说明亮度地址编码器61及色差地址编码器62的结构。
亮度地址编码器61通过在图11A中排列9位长的Y坐标中的低位的5位和10位长的X坐标中的低位的4位,生成列地址。
之所以这样生成列地址,是因为X坐标的低位的4位表示在亮度块内从左开始存在于第几列,Y坐标的低位的5位表示在亮度块内从上开始存在于第几行。
另外亮度地址编码器61有:使保存Y坐标的9位中高位的4位的值变为45倍的乘法器63;对乘法器63的乘得结果、存储该画面上的左上部分的象素的页的行地址、以及X坐标的高位的6位进行加法运算的加法器64,将12位长的相加结果的高位的11位作为行地址输出。另一方面,将最低位的1位作为切换存储单元0和存储单元1用的存储单元地址输出。乘法器63之所以将Y坐标的高位的4位的值变为45倍,是因为在从某个亮度块到位于其正下方的亮度块之间存在45个亮度块。
(第1.4.2章  存储器存取部11内的色差地址编码器62的结构)
色差地址编码器62根据在图11B中是蓝色差分量还是红色差分量的种类,确定最低的位,用X坐标的低位的3位,生成列地址的第一位至第三位。
备有加法器65,用于对构成Y坐标的8位中低位的5位和页的入口列地址进行加法运算,根据加法器65的运算结果,生成列地址高位的5位。
之所以这样生成列地址,是因为X坐标的低位的3位表示在色差块内从左开始存在于第几位,Y坐标的低位的5位表示在色差块内从上开始存在于第几行。有:使保存Y坐标的8位中高位的3位的值变为45倍的乘法器66;对乘法器66的乘得结果、存储该画面上的左上部分的色差块的页的行地址、X坐标的高位的6位、以及加法器65进行加法运算时发生的进位进行加法运算的加法器67,将加法器67的相加结果的最低的1位作为切换存储单元0和存储单元1用的存储单元地址输出,同时将该相加结果的最低的1位除去后的11位作为行地址输出。
(第1.4.3章  由存储器存取部11进行多页存取的可能性)
如果补偿控制部10确定了Y01块左上顶点所在位置的坐标(X,Y)及象素数(m,n),便对欲读出由左上顶点所在位置的坐标(X,Y)及象素数(m,n)构成的Y01块的SDRAM31进行存取。
这里必须注意的是,Y01块的左上顶点、左下顶点、右上顶点、右下顶点是图象上的哪个坐标位置。即,如果在图8中Y01块的四个顶点正好被收容在由带影线的横16象素×纵32象素构成的区域的哪个区中,就只对存储着该区的页进行存取即可,但当Y01块的四个顶点中的两个以上的顶点重叠在两个以上的区时,就必须从所重叠的多个区个别地读出重叠部分。图15A表示Y01块的左上顶点、左下顶点、右上顶点、右下顶点与存储在不同页中的4个横16象素×纵32象素重叠之一例。在图15A的中心,正交的两条线是横16象素×纵32象素的象素组的边界。由于横16象素×纵32象素被存储在各页,所以该边界称页的边界(页边界)。
对于该两条页边界来说,存储着左上方的横16象素×纵32象素的页称为左上页P00,存储着左下方的横16象素×纵32象素的页称为左下页P10,存储着右上方的横16象素×纵32象素的页称为右上页P01,存储着右下方的横16象素×纵32象素的页称为右下页P11。可知带影线的Y01块与两条页边界相交,有与左上页P00、右上页P01、左下页P10、右下页P11重叠部分。
在Y01块这样与两个以上的页相交的情况下,存储器存取部11为了个别地读出Y01块,算出对哪个存储单元的哪个行地址的页进行存取即可,且通过脉冲串读出,算出从该页内的哪个列地址读出哪个亮度分量即可。
(第1.4.4章  由存储器存取部11进行的SDRAM存取的详细情况)
存储器存取部11内部装有实现图16~图18中的流程用的序列发生器或机械程序。参照图16~图18中的流程,说明存储器存取部11进行的处理。参照图象的读出分Y01块、Y23块、CbCr块三次,或分Y02块、Y13块、CbCr块三次进行,所以本应对该每个三次存储器存取进行说明,但这样做就会使说明量倍增,因此以下的详细说明将集中在怎样读出Y01块这一点进行。
在步骤S51中,如果补偿控制部10算出由动矢量指示的Y01块的左上顶点(X,Y),则存储器存取部11便算出存储在左上页P00中的横16象素×纵32象素内的Y01块左上顶点的相对坐标(A,B)。
如下计算相对坐标(A,B)。
A=X  mod  16  …(1)
B=Y  mod 32  …(2)
※所谓mod是剩余的意思。
如果算出相对坐标,在步骤S52中,便在亮度地址编码器61中算出从P00、P01、P10、P11读出重叠部分用的行地址、列地址、存储单元地址。这里假设从左上页P00读出重叠部分用的开始坐标为(X,Y),在亮度地址编码器61中将它变换成行地址及列地址。
(第1.4.5.1章  对左上页P00的读出处地址、读出长度、位移的设定)
图15B是表示怎样从左上页P00、右上页P01、左下页P10、右下页P11读出Y01块的示意图。本图中的4个黑点『Read Start』表示备页的读出开始坐标,箭头(1)(2)(3)(4)(5)表示怎样读出亮度分量及色差分量的经过。
亮度地址编码器61将在左上页P00内的Y01块的左上顶点所在位置的X坐标的低位的4位编码成列地址的低位的4位码,将Y坐标的低位的5位编码成列地址的高位的5位码,生成列地址。将X坐标的高位的6位和乘法器63的乘得结果相加,生成存储单元地址和行地址。
其次,虽然从左上页P00读出的长度为s00,但在图15A中为了从左上页P00读出Y01块的重叠部分,通过脉冲串读出,就可以对从Y01块左上顶点的相对坐标(A,B)到(15,B)的15-A象素进行读出。
为了从左上页P00读出Y01块的重叠部分,根据其读出长度15-A象素,只读出15-A地址,读出后需要将读出处移到下一行。
即,如箭头(1)所示,如果读出从Y01块左上顶点的相对坐标(A,B)到相对坐标(15,B)的15-A象素,那么就有必要接着如箭头(2)所示,读出从相对坐标(A,B+1)到相对坐标(15,B+1)的15-A象素,再接着如箭头(3)所示,读出从相对坐标(A,B+2)到相对坐标(15,B+2)的15-A象素。
如果参照图11A就能知道,由于Y坐标的低位的5位被编成列地址的高位的5位码,所以在读出处的地址坐标的Y坐标增加1个的情况下,列地址便各增加15位。
将该读出处作为移到下一行用的位移,对左上页P00设定读出位移为『+15』。
(第1.4.5.2章  对右上页P01的读出处地址、读出长度、位移的设定)
这里将从右上页P01读出重叠部分用的开始坐标设为图15B所示的(X+15-A,Y),在亮度地址编码器61中将它变换为行地址及列地址。
将坐标“X+15-A”的低位的4位编成列地址的低位的4位码,将坐标“Y”的低位的5位编成列地址的高位的5位码,生成列地址。将X坐标的高位的6位和乘法器63的乘得结果相加,生成存储单元地址和行地址。
其次,虽然从右上页P01读出的长度为s01,但在图15B中为了从右上页P01读出Y01块的重叠部分,通过脉冲串读出,就可以对从Y01块左上顶点的相对坐标(0,B)到(A+m-15,B)的A+m-15象素进行读出。
为了从右上页P01读出Y01块的重叠部分,根据其读出长度(A+m-15)象素,只读出(A+m-15)地址,读出后需要将读出处移到下一行。
即,如箭头(1)所示,如果读出从Y01块左上顶点的相对坐标(0,B)到相对坐标(A+m-15,B)的A+m-15象素,那么就有必要接着如箭头(2)所示,读出从相对坐标(0,B+1)到相对坐标(A+m-15,B+1)的A+m-15象素,再接着如箭头(3)所示,读出从相对坐标(0,B+2)到(A+m-15,B+2)的A+m-15象素。
如果参照图11A就能知道,由于Y坐标的低位的5位被编成列地址的高位的5位码,所以在读出处的地址坐标的Y坐标增加1个的情况下,列地址便各增加15位。
将该读出处作为移到下一行用的位移,对右上页P01设定读出位移为『+15』。
(第1.4.5.3章  对左下页P10的读出处地址、读出长度、位移的设定)
这里将从左下页P10读出重叠部分用的开始坐标设为(X,Y+n),在亮度地址编码器61中将它变换为行地址及列地址。
将坐标“X”的低位的4位编成列地址的低位的4位码,将坐标“Y+n”的低位的5位编成列地址的高位的5位码,生成列地址。将坐标X的高位的6位和乘法器63的乘得结果相加,生成存储单元地址和行地址。
其次,虽然从左下页P10读出的长度为s10,但在图15B中为了从左下页P10读出Y01块的重叠部分,通过脉冲串读出,就可以对从Y01块左上顶点的相对坐标(A,B+n-31)到(15,B+n-31)的15-A象素进行读出。
为了从左下页P10读出Y01块的重叠部分,根据其读出长度15-A象素,只读出15-A地址,读出后需要将读出处移到上一行。
即,如箭头(1)所示,如果读出从Y01块左上顶点的相对坐标(A,B+n-31)到相对坐标(15,B+n-31)的15-A象素,那么就有必要接着如箭头(2)所示,读出从相对坐标(A,B+n-30)到相对坐标(15,B+n-30)的15-A象素,再接着如箭头(3)所示,读出从相对坐标(A,B+n-29)到(15,B+n-29)的15-A象素。
如果参照图11A就能知道,由于Y坐标的低位的5位被编成列地址的高位的5位码,所以在读出处的地址坐标的Y坐标减少1个的情况下,列地址便各减少15位。
将该读出处作为移到下一行用的位移,对左下页P10设定读出位移为『-15』。
(第1.4.5.4章  对右下页P11的读出处地址、读出长度、位移的设定)
这里将从右下页P11读出重叠部分用的开始坐标设为(X+15-A,Y+n),在亮度地址编码器61中将它变换为行地址及列地址。
将坐标“X+15-A”的低位的4位编成列地址的低位的4位码,将坐标“Y+n”的低位的5位编成列地址的高位的5位码,生成列地址。将坐标X的高位的6位和乘法器63的乘得结果相加,生成存储单元地址和行地址。
其次,虽然从右下页P11读出的长度为s11,但在图15中为了从右下页P11读出Y01块的重叠部分,通过脉冲串读出,就可以对从Y01块左上顶点的相对坐标(0,B+n-31)到(A+m-15,B+n-31)的A+m-15象素进行读出。
为了从右下页P11读出Y01块的重叠部分,根据其读出长度(A+m-15)象素,只读出(A+m-15)地址,读出后需要将读出处移到上一行。
即,如箭头(1)所示,如果读出从Y01块左上顶点的相对坐标(0,B+n-31)到相对坐标(A+m-15,B+n-31)的A+m-15象素,那么需要接着如箭头(2)所示,读出从相对坐标(0,B+n-30)到相对坐标(A+m-15,B+n-30)的A+m-15象素,再接着如箭头(3)所示,读出从相对坐标(0,B+n-29)到(A+m-15,B+n-29)的A+m-15象素。
如果参照图11A就能知道,由于Y坐标的低位的5位被编成列地址的高位的5位码,所以在读出处的地址坐标的Y坐标减少1个的情况下,列地址便各减少15位。
将该读出处作为移到下一行用的位移,对右下页P11设定读出位移为『-15』。
(第1.4.6章  从左上页P00读出的处理)
如果算出相对坐标,则在步骤S53中,判断『相对坐标A+读出范围的横向幅度m<16』是否成立。该『相对坐标A+读出范围的横向幅度m』表示Y01块的右上顶点的相对坐标X,所谓『相对坐标A+读出范围的横向幅度m<16』成立,是表示Y01块的右上顶点的X坐标在右上页P01上找不到。
如果步骤S53为Yes,则在步骤S54中判断『相对坐标B+读出范围的纵向幅度n<32』是否成立。该『相对坐标B+读出范围的纵向幅度n』表示Y01块的左下顶点的Y坐标,所谓『相对坐标B+读出范围的横向幅度n<16』成立,是表示Y01块的右上顶点的Y坐标在左下页P10上找不到。
由于在右上页P01及左下页P10上找不到,所以如图20A所示,可知构成Y01块的上半部分的读出范围被收容在左上页P00内。
如果知道被收容在左上页P00内,则在步骤S61中对左上页P00的存储单元发送预充电命令及激活命令。发送后,在步骤S62中,开始进行左上页P00的读出。
图17是表示由补偿控制部10进行的页读出处理顺序的流程图。
在步骤S21中,在SDRAM31中将亮度地址编码器61算出的读出处的页的行地址输出给地址引线。输出后,在步骤S24中,将列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在步骤S26中,在字长寄存器59中设定读出长度,发送读出命令。
在步骤S27中,判断读出命令的输出是否是第t次,如果不是第t次,便在步骤S28中将对页确定的位移加到列地址中,将列地址移到重叠部分内的下一行。
如果将列地址移到了下一行,便移到步骤S24。
在步骤S24中,将列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元的存储器阵列,在步骤S26中,在字长寄存器59中设定读出长度,发送读出命令。
以上读出命令的发送重复若干次后,从左上页P00读出每个s×1象素部分的亮度分量。如果该读出反复了t次,变成读出s×t象素大小的重叠部分。
如果以上的读出重复了t次,则在步骤S27中变为Yes,移到步骤S29。在步骤S29中判断是否需要激活内存储单元。
如果必要的话,在步骤S30中,将预充电命令发送给内存储单元,在步骤S31中,将激活命令发送给内存储单元后,返回到图16所示的流程。
(第1.4.7章  Y01块重叠在左上页P00和左下页P10上时的读出处理)
在图16所示的流程中,在步骤S53为Yes、步骤S54为No时,表示在左下页P10上找到Y01块的左下、右下顶点。在找到的情况下,在步骤S55中判断『相对坐标B<(64-n)/2』是否成立。将相对坐标B<(64-n)/2时的Y01块示于图20B,将相对坐标B>(64-n)/2时的Y01块示于图20C。
将图20B和图20C进行比较,可知相对坐标B>(64-n)/2时,与左下页P10的重叠部分比与左上页P00的重叠部分长。
可知相对坐标B<(64-n)/2时,与左上页P00的重叠部分比与左下页P10的重叠部分长。
如果断定重叠部分的纵向幅度为长的一方,这时,将该纵向幅度长的一方的读出顺序确定为第一号,将短的一方的读出顺序确定为第二号。
通过判断相对坐标B和『(64-n)/2』的大小,如果断定相对坐标B大,则在步骤S88中将激活命令发送给存储单元0、存储单元1双方。接着在步骤S89中将左上页P00读给第一号,在步骤S90中将左下页P10读给第二号。
通过判断相对坐标B和『(64-n)/2』的大小,如果断定相对坐标B小,则在步骤S91中将预充电命令及激活命令发送给存储单元0、存储单元1双方。此后,在步骤S92中将左下页P10读给第一号,在步骤S93中将左上页P00读给第二号。
(第1.4.8章  Y01块重叠在左上页P00和右上页P01上时的读出处理)
在步骤S53为No时,表示在右上页P01上找到Y01块的右上顶点。在找到的情况下,在步骤S56中判断『相对坐标B+读出范围的纵向幅度n<32』是否成立。该『相对坐标B+纵向幅度n』表示Y01块的左下顶点的Y坐标,所谓『相对坐标B+读出范围的纵向幅度n<32』成立,是表示在左下页P10未找到Y01块的左下顶点的Y坐标。
如果在步骤S56中为Yes,便移到步骤S57。这里步骤S53为No,步骤S56变为Yes,表示Y01块重叠在左上页P00和右上页P01上,但不重叠在左下页P10和右下页P11上。
如果知道重叠在左上页P00和右上页P01上,则移到步骤S57,判断左上页P00及右上页P01中重叠多大。
在步骤S57中,判断相对坐标A和『(32-m)/2』的大小。
将相对坐标A>(32-m)/2时的Y01块示于图20D,将相对坐标A<(32-m)/2时的Y01块示于图20E。
将图20D和图20E进行比较,可知相对坐标A>(32-m)/2时,与右上页P01的重叠部分比与左上页P00的重叠部分长。
可知相对坐标A<(32-m)/2时,与左上页P00的重叠部分比与右上页P01的重叠部分长。
如果断定重叠部分的横向幅度为长的一方,则将该横向幅度长的一方的读出顺序确定为第一号,将短的一方的读出顺序确定为第二号。
通过判断相对坐标A和『(32-m)/2』的大小,如果断定相对坐标A大,则将右上页P01读给第一号,将左上页P00读给第二号。
通过判断相对坐标A和『(32-m)/2』的大小,如果断定相对坐标A小,则将左上页P00读给第一号,将右上页P01读给第二号。
(第1.4.9章  根据横向幅度的长度确定读出顺序的理由)
之所以以横向幅度长的一方的读出顺序为先,是因为与读出并行地进行其它存储单元的预充电及激活。即,在完成其它存储单元的预充电及激活之前,通过读出处理,亮度分量被全部读出,并不意味着并行地进行预充电及激活。
从将该读出处理和预充电及激活并行地进行的观点来看,最好将列地址及读出命令发送给具有横向幅度长的重叠部分的页,SDRAM在收到该命令后依次输出亮度分量,在此期间使对其它存储单元的预充电及激活结束。如果这样来考虑,就能理解将横向幅度长的一方的读出顺序定为第一号,而将短的一方的读出顺序定为第二号是合理的。
(第1.4.10章  Y01块与P01、P10、P11重叠时的读出处理)
在步骤S56中,如果断定『相对坐标B+读出范围的纵向幅度n<32』成立,则转移到步骤S58。在步骤S53中变为No,意味着Y01块有与右上页P01重叠的部分,这一点已说明过,但步骤S56变为No,意味着有与左下页P10和右下页P11重叠的部分。
如果步骤S56变为No,则在步骤S58中进行相对坐标A和『(32-m)/2』的大小的判断。在相对坐标A>(32-m)/2的情况下,意味着与右上页P01的重叠部分比与左上页P00的重叠部分长,这一点已说明过,但在步骤S58为Yes的情况下,在步骤S59中判断相对坐标B和『(64-n)/2』的大小。在步骤S58的判断为No的情况下,在步骤S60中判断相对坐标B和『(64-n)/2』的大小。
相对坐标A<(32-m)/2、相对坐标B<(64-n)/2的情况下的Y01块示于图20F,相对坐标A<(32-m)/2、相对坐标B>(64-n)/2的情况下的Y01块示于图20G。
对图20F和图20G进行比较,可知相对坐标B>(64-n)/2时,与左下页P10重叠部分的纵向幅度比与左上页P00重叠部分的纵向幅度长。
可知相对坐标B<(64-n)/2时,与左上页P00重叠部分的纵向幅度比与左下页P10重叠部分的纵向幅度长。
如果断定了纵向幅度及横向幅度的长短,则将与重叠的横向幅度最短、重叠的纵向幅度最长的一方的象素块的重叠部分的读出顺序确定为第一顺序,将与重叠的横向幅度最长、重叠的纵向幅度也最长的一方的象素块的重叠部分的读出顺序确定为第二顺序,将与重叠的横向幅度最长、重叠的纵向幅度最短的一方的象素块的重叠部分的读出顺序确定为第三顺序,而将与重叠的横向幅度最短、重叠的纵向幅度也最短的一方的象素块的重叠部分的读出顺序确定为第四顺序。
(第1.4.11章  确定左上页P00~右下页P11的读出顺序的理由)
参照图19,说明确定左上页P00~右下页P11的读出顺序的理由。各重叠部分的纵向幅度、横向幅度的长度为图18所示的长度。参照图19中的时间图,说明Y01块如该图18所示那样与各页相交时,存储器存取部11用怎样的时间发送读出命令、激活命令、预充电命令。
在图19中,RAS/CAS行表示行地址和列地址的输入,例如RO表示存储单元0的行地址的输入,C1表示存储单元1的列地址的输入。
Command行表示给SDRAM的工作指示,例如A1表示存储单元1的激活(Activate),RO表示存储单元0的读出(Read)、P1表示存储单元1的预充电(Precharge)、BS(Burst Stop)表示连续输送的停止。
Data行表示读出的存储内容。另外,在该图中画斜线的输入区表示存储在存储单元0的区域,其它部分表示存储在存储单元1的区域。
在图18中,在时刻C1及C2将激活命令发送给纵向幅度长、横向幅度短的重叠部分a。
SDRAM的特性是,在发送激活命令之后,如果未经过3个时钟脉冲的时间,就不能对被激活的块发送读出命令,也不能对其它存储单元发送激活命令,但在先将存储单元1激活后,如果先读出存储单元1中的数据,再激活存储单元0,那么在存储单元0激活后的3个时钟脉冲期间,也能进行存储单元1的数据读出。
这里,纵向幅度长、横向幅度短的重叠部分a由于沿纵向连续,而列地址不连续,所以需要将列地址再送给每个读出字(图19中的时刻C3、C4、C5时的C1、R1)。这时,由于不能并行地进行存储单元0的激活和存储单元1的读出,所以在发送存储单元1的读出命令之前,先给出用于读出纵向幅度长、横向幅度短的重叠部分a的存储单元1的激活命令(图中的时刻C1时的R1、A1),给出用于读出纵向幅度长、横向幅度长的重叠部分b的存储单元0的激活命令(图中的时刻C2时的R0、A0)。接着,给出用于读出纵向幅度长、横向幅度短的重叠部分a的读出命令(图中的时刻C3、C4、C5、C6时的C1、R1),通过这样处理,能有效地利用给出存储单元0的激活命令后的3个时钟脉冲期间。
其次,给出用于读出纵向幅度长、横向幅度长的重叠部分b的读出命令(图中的时刻C7、C8、C9、C10时的C0、R0)。纵向幅度长、横向幅度长的重叠部分b由于沿横向连续,所以列地址也连续,在横向连续读出期间不需要再发送列地址。因此,与纵向幅度长、横向幅度长的重叠部分b的读出并行地发送存储单元1的预充电命令(时刻C11时的R1、P1)和用于读出纵向幅度短、横向幅度长的重叠部分c的存储单元1的激活命令(时刻C12时的R1、A1)。
同样,由于纵向幅度短、横向幅度长的重叠部分c也沿横向连续,所以与纵向幅度短、横向幅度长的重叠部分c的读出(时刻C13时的C1、R1)并行地发送存储单元0的预充电命令(时刻C14时的R0、P0)和用于读出纵向幅度短、横向幅度短的重叠部分d的存储单元0的激活命令(时刻C15时的R0、A0)。
最后,读出纵向幅度短、横向幅度短的重叠部分d(时刻C16时的C0、R0),停止连续读出(时刻C17时的BS),对两个存储单元进行预充电(图中未示出命令)。在本实施形态中,最后对纵向幅度短、横向幅度短的重叠部分d这种存储的象素数少的页进行存取。这是因为在读出纵向幅度短、横向幅度短的重叠部分d的时刻,在将必要的象素全部读出后,还不知道作为下一个应读出的图象应读出哪个象素,所以在发送BS命令之前不能进行发送命令的处理。
如上所述,如果最初和最后读出列地址连续的象素个数少的存储区(在该图的例中,纵向幅度长、横向幅度短的重叠部分a和纵向幅度短、横向幅度短的重叠部分d),就能与列地址连续的象素个数多的存储区(在该图的例中,纵向幅度长、横向幅度长的重叠部分b和纵向幅度短、横向幅度长的重叠部分c)的读出并行地进行其它存储单元的预充电和激活,能有效地对变换成两个存储单元地址的存储器阵列进行存取。另外,最初读出了列地址连续的象素个数少的存储区中输送量多的区(在该图的例中,纵向幅度长、横向幅度短的重叠部分a),如上所述,能不浪费从其它存储单元的激活命令的发送到该被激活的存储单元的数据读出命令的发送之间的3个时钟脉冲长短的等待时间。即,在该例中,由于在从存储单元0的激活命令的发送到从存储单元0的数据读出命令的发送之间进行存储单元1的数据读出,所以能有效地利用3个时钟脉冲长短的时间。
另外,这里所说的列地址连续的象素个数少的两个存储区意味着四个存储区中最小的区和第二小的区,但如果用各边平行的两条直线(PB)分割矩形区,则最小的区和第二小的区是相邻的。另一方面,在本实施形态中,由于相邻的存储区被存储在不同的存储单元中,所以最小的区和第二小的区被存储在不同的存储单元中。
根据以上的说明可知,如果将最小的纵向幅度短、横向幅度短的重叠部分d的读出顺序作为最后顺序,将第二小的纵向幅度长、横向幅度短的重叠部分a的读出顺序作为最初顺序,就能有效地利用SDRAM,能参照必须用最少的时钟脉冲数读出的存储区。
<补充说明>
在图19的读出中,考察一下将纵向幅度短-横向幅度长的左下页P10和纵向幅度长-横向幅度短的右上页P01的读出顺序反转的情况。在此情况下,在纵向幅度短-横向幅度长的左下页P10的读出中,虽然必须发送预充电命令及激活命令,但如果发送预充电命令,那就会使来自纵向幅度短-横向幅度长的左下页P10的脉冲串读出中断。由于正在对右上页P01发送激活命令,所以不能发送其它激活命令。因此可知开始读出纵向幅度长-横向幅度短的右上页P01,然后读出纵向幅度短-横向幅度长的左下页P10的顺序同样是最合适的。
(第1.4.12章  从左上页P00~右下页P11的读出模式之(1))
图20F中示出了在步骤S58为Yes、步骤S59为Yes的情况下,Y01块怎样与左上页P00、右上页P01、左下页P10、右下页P11重叠。可知在步骤S58为Yes的情况下,Y01块的左上顶点(X,Y)位于左上页P00中包括的横16象素×纵32象素内稍微靠左的位置,在左上页P00和左下页P10中有横向幅度长的重叠部分。
可知在步骤S59为Yes的情况下,Y01块的左上顶点(X,Y)位于左上页P00中包括的横16象素×纵32象素内稍微靠上的位置,在左上页P00和右上页P01中有纵向幅度长的重叠部分。
在图20F中,在左上页P00中有纵向幅度长、横向幅度长的重叠部分,在右上页P01中有纵向幅度长、横向幅度短的重叠部分。在左下页P10中有纵向幅度短、横向幅度长的重叠部分,在右下页P11中有纵向幅度短、横向幅度短的重叠部分。由于如各页所示那样表示重叠部分,所以将重叠部分的读出顺序确定为『右上页P01』『左上页P00』『左下页P10』『右下页P11』。
(第1.4.13章  对SDRAM发送命令的时刻)
这里,图20F中的各重叠部分的纵向幅度、横向幅度的长度是图18中所示的长度。
在图16所示的步骤S68中,在时刻c1对SDRAM的RAS引线发送RAS信号,同时对读出处SDRAM的存储单元1发送激活命令A1。由于发送激活命令A1,所以在期间d1进行对存储单元1的激活(另外这里所说的期间d1是存储器阵列实际上的激活期间和CAS的延迟(包括图中的CAS执行时间))。在3个时钟脉冲后的时刻c2,对SDRAM的RAS引线发送RAS信号,同时对读出处SDRAM的存储单元0发送激活命令A0。由于发送激活命令A0,所以在期间d2进行对存储单元0的激活。
在步骤S69~步骤S72中,按照『右上页P01』『左上页P00』『左下页P10』『右下页P11』顺序进行脉冲串读出。
(第1.4.14章  对右上页P01发送命令)
在已经读出的页P01中,算出读出范围m×n所占的重叠部分s01×t01(=1×7)。在图17中的步骤S21中,将从重叠部分的左上顶点(X+15-A,Y)变换成的行地址、存储单元地址输出给地址引线。输出后,在步骤S24中,在图18中的时刻c3,将从象素块内的相对坐标(X+15-A,Y)变换成的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在步骤S26中,在字长寄存器59中设定读出长度(A+m-15)(=1),发送READ命令R1。
判断READ命令的输出是否是第t次,如果不是第t次,则在步骤S28中使列地址只增加对页所确定的位移(+15),将列地址移到重叠部分内的下一行。
在将列地址移到重叠部分内的下一行后,转移到步骤S24。
转移到步骤S24后,在图18中的时刻c4,将加上了位移+15的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度『1』,发送READ命令。
如果再次转移到步骤S24,则在图18中的时刻c5,将加上了位移+15的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度『1』,发送READ命令。
在该7次读出的进行期间,存储单元0由按照时刻c2发送的激活命令激活,呈可以存取的状态。
在以上的读出反复进行7次的期间,从数据引线依次读出七行部分的象素。如果以上的读出反复了7次,便转移到步骤S29。在步骤S29中,判断是否需要将另一存储单元激活。
这时由于已经发送了激活命令,所以步骤S29变为No。
(第1.4.15章  对左上页P00发送命令)
存储器存取部11将在读出处页P00中从读出范围n×m所占的重叠部分的左上顶点(X,Y)变换成的行地址、存储单元地址输出给地址引线。输出后,在步骤S24中,在图18中的时刻c7,将从象素块内的相对坐标(X,Y)变换成的列地址输出给地址引线后,在步骤S24中,将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度(15),发送READ命令。
判断READ命令的输出是否是第t次,如果不是第t次,则相对页使列地址只增加所确定的位移(+15),将列地址移到重叠部分内的下一行。
在将列地址移到重叠部分内的下一行后,转移到步骤S24。
转移到步骤S24后,在图18中的时刻c8,将加上了位移+15的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度15,发送READ命令。
如果再次转移到步骤S24,则在图18中的时刻c9,将加上了位移+15的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度15,发送READ命令。
再次转移到步骤S24后,在图18中的时刻c10,将加上了位移+15的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度15,发送READ命令。
如果以上的读出反复了4次,步骤S27变为Yes,转移到步骤S29。在步骤S29中,判断是否需要将另一存储单元激活。
其次由于作为应读出的页还剩下左下页P10,所以在步骤S30中,在3个时钟脉冲后的时刻c11,将RAS信号发送给RAS引线,同时发送预充电命令,在时刻c12将RAS信号发送给RAS引线,同时发送激活命令。如果这样发送,则在按照在时刻c10发送的读出命令进行的反复输出亮度分量的时刻c14之前的期间d3,对存储单元1进行激活。
(第1.4.16章  对左下页P10发送命令)
将在读出处页P10中从重叠部分s10×t10的左上顶点(X,Y+n-31)变换成的行地址、存储单元地址输出给地址引线。输出后,在步骤S24中,在图18中的时刻c13,将从象素块内的相对坐标(A,B+n-31)变换成的列地址输出给地址引线后,在步骤S25中,将CAS输出给亮度地址编码器61算出的存储单元地址,在图18中的时刻c14,在字长寄存器59中设定读出长度15,发送READ命令。
因为t=1,所以步骤S27变为Yes,转移到步骤S29。在步骤S29中,判断是否需要将另一存储单元激活。
其次由于作为应读出的页还剩下右下页P11,所以在步骤S30中,在3个时钟脉冲后的时刻c14,将RAS信号发送给RAS引线,同时发送预充电命令,在图18中的时刻c15发送激活命令。如果这样发送,则在按照在时刻c13发送的读出命令进行的反复输出亮度分量的时刻c17之前的期间d4,对存储单元0进行激活。
(第1.4.17章  对右下页P11发送命令)
其次由于作为应读出的页还剩下右下页P11,所以存储器存取部11将由重叠部分s11×t11构成的重叠部分的左上顶点(X+15-A,Y+n-31)变换成的行地址、存储单元地址输出给地址引线。输出后,在步骤S24中,将从象素块内的相对坐标(A+15-A,B+n-31)变换成的列地址输出给地址引线后,在步骤S25中,在图18中的时刻c16将CAS输出给亮度地址编码器61算出的存储单元地址,在字长寄存器59中设定读出长度1,发送READ命令R0。
t=1,以上的读出重复一次后,步骤S27变为Yes,转移到步骤S29。在步骤S29中,判断是否需要将另一存储单元激活。
其次由于没有剩下的应读出的页,所以在步骤S30中,在时刻c17发送脉冲串停止命令。这样发送后,读出处理结束。
(第1.4.18章  从左上页P00~右下页P11的读出模式之(2))
在图20G中示出了在步骤S58为Yes、步骤S59为No的情况下,Y01块怎样与左上页P00、右上页P01、左下页P10、右下页P11重叠。可知在步骤S58为Yes的情况下,在左上页P00和左下页P10中有横向幅度长的重叠部分。另外,可知在左下页P10和右下页P11中有纵向幅度长的重叠部分。在图20G中,在左上页P00中有纵向幅度短、横向幅度长的重叠部分,在右上页P01中有纵向幅度短、横向幅度短的重叠部分。在左下页P10中有纵向幅度长、横向幅度长的重叠部分,在右下页P11中有纵向幅度长、横向幅度短的重叠部分。由于如各页所示那样表示重叠部分,所以在步骤S73中将预充电命令发送给SDRAM31内的存储单元0及存储单元1之后,在步骤S74中读出『右下页P11』,在步骤S75中读出『左下页P10』,在步骤S76中读出『左上页P00』,在步骤S77中读出『右上页P01』。
(第1.4.19章  从左上页P00~右下页P11的读出模式之(3))
在图20H中示出了在步骤S58为No、步骤S60为Yes的情况下,Y01块怎样与左上页P00、右上页P01、左下页P10、右下页P11重叠。可知在步骤S58为No的情况下,Y01块的左上顶点(X,Y)在左上页P00中包括的横16象素×纵32象素内位于稍微靠右的位置,在右上页P01和右下页P11中有横向幅度长的重叠部分。另外可知在左上页P00和右上页P01中有纵向幅度长的重叠部分。在图20G中,在左上页P00中有纵向幅度长、横向幅度短的重叠部分,在右上页P01中有纵向幅度长、横向幅度长的重叠部分。在右下页P11中有纵向幅度短、横向幅度长的重叠部分,在左下页P10中有纵向幅度短、横向幅度短的重叠部分。由于如各页所示那样表示重叠部分,所以在步骤S78中将激活命令发送给SDRAM31内的存储单元0及存储单元1之后,在步骤S79中读出『左上页P00』,在步骤S80中读出『右上页P01』,在步骤S76中读出『右下页P11』,在步骤S77中读出『左下页P10』。
(第1.4.20章  从左上页P00~右下页P11的读出模式之(4))
在图20I中示出了在步骤S58为No、步骤S60为No的情况下,Y01块怎样与左上页P00、右上页P01、左下页P10、右下页P11重叠。可知在步骤S58为No的情况下,Y01块的左上顶点(X,Y)在左上页P00中包括的横16象素×纵32象素内位于稍微靠右的位置,在右上页P01和右下页P11中有横向幅度长的重叠部分。另外可知在左下页P10和右下页P11中有纵向幅度长的重叠部分。在图20I中,在左下页P10中有纵向幅度长、横向幅度短的重叠部分,在右下页P11中有纵向幅度长、横向幅度长的重叠部分。在右上页P01中有纵向幅度短、横向幅度长的重叠部分,在左上页P00中有纵向幅度短、横向幅度短的重叠部分。由于如各页所示那样表示重叠部分,所以在步骤S83中将激活命令发送给SDRAM31内的存储单元0及存储单元1之后,在步骤S84中读出『左下页P10』,在步骤S85中读出『右下页P11』,在步骤S86中读出『右上页P01』,在步骤S87中读出『左上页P00』。
经过如上处理读出Y01块后,对于Y23块、CbCr块也一样,通过算出左上顶点的坐标,并算出与各页的重叠部分的纵向幅度、横向幅度,依次读出Y23块及CbCr块。分三次读出Y02块、Y13块、CbCr块时也一样。
(第1.5章  缓冲器A12的概要)
缓冲器A12从存储器存取部11读出构成将来方向的Y01块、Y23块、CbCr块的亮度分量及色差分量后,根据写入地址生成部13指示的写入处的坐标,将其写入内部的存储区。另外,将被写入内部的亮度分量及色差分量中由读出地址生成部14指示的读出处坐标处的亮度分量及色差分量输出给半贝尔内插部15。
(第1.5.1章  全部图象译码设备中的缓冲器A12的位置分配)
在图6A所示的时间图中示出了在时刻t41,缓冲器A12的处理工作情况。
在图6A所示时间图的时刻t41,如果从存储器存取部11读出Y01_f(r)块,就保存读出的Y01_f(r)块。另外如果在时刻t43读出Y23_f(r),就保存读出的Y23_f(r)块,如果在时刻t46读出Cb块和Cb块的对偶CbCr_f(r),就保存该CbCr_f(r)。如果从存储器存取部11对每两个块读出过去方向的参照图象,就将它们保存起来。在图6A所示的时间图中的时刻t51从存储器存取部11读出的Y01_b(r)、在时刻t52读出的Y23_b(r)、在时刻t54读出的CbCr_b(r)全部被保存在缓冲器A12中。
(第1.5.2章  缓冲器A12的内部区域)
图21A示出了缓冲器A12所具有的内部区域。缓冲器A12的内部区域的列数、行数的长度是可变的,包括多个4字节长的区。在图21A中,表示缓冲器A12的行数的变数『z』、表示列数的变数『v』都是变数,通过将其设定为适当的值,就可改变缓冲器A12的行数、列数。之所以这样改变缓冲器A12的行数、列数,是因为在补偿控制部10确定的亮度分量的行数、列数中有横16象素×纵8象素、横17象素×纵8象素、横16象素×纵9象素、横17象素×纵9象素、横8象素×纵16象素、横9象素×纵16象素、横8象素×纵17象素、横9象素×纵17象素这样8种,并希望不管按哪一种形式读出亮度分量及色差分量,都能按原来的形状直接存储参照图象。
(第1.5.3章  缓冲器A12中的存储方式①)
图21B示出了在SDRAM31中,从左上页P00、右上页P01、左下页P10、右下页P11读出的亮度分量怎样被存储在缓冲器A12中。
根据相对坐标(A,B),从左上页P00读出由纵向幅度s00×横向幅度t00构成的亮度分量,根据相对坐标(0,B),从右上页P01读出由纵向幅度s01×横向幅度t01构成的亮度分量。缓冲器A12的y=0的区存储着从P00的相对坐标(A,B)到P00的相对坐标(A+s00,B)的亮度分量,以及从P01的相对坐标(0,B)到P01的相对坐标(s01,B)的亮度分量。
另外,缓冲器A12的y=1的区存储着从P00的相对坐标(A,B+1)到P00的相对坐标(A+s00,B+1)的亮度分量,以及从P01的相对坐标(0,B+1)到P01的相对坐标(s01,B+1)的亮度分量。
根据相对坐标(A,0),从左下页P10读出由纵向幅度s10×横向幅度t10构成的亮度分量,根据相对坐标(0,0),从右下页P11读出由纵向幅度s11×横向幅度t11构成的亮度分量。y=t00+1的区存储着从P10的相对坐标(A,0)到P10的相对坐标(A+s00,0)的亮度分量,以及从P11的相对坐标(0,0)到P11的相对坐标(0+s11,B)的亮度分量。
(第1.5.4章  缓冲器A12中的存储方式②)
图22示出了从各页读出的亮度分量怎样被存储在缓冲器A12内部的4字节长的各区中。
缓冲器A12内部的4字节的区域带有图中所示的线性地址。可知在linear_address=0000的4字节长的区中存储着页P00的左上顶点(A,B)的亮度分量、其右侧相邻的(A+1,B)的亮度分量、其右侧相邻的(A+2,B)的亮度分量、其右侧相邻的(A+3,B)的亮度分量这样四个象素部分的亮度分量。在linear_address=0001的4字节长的区中存储着页P00的(A+4,B)的亮度分量、其右侧相邻的(A+5,B)的亮度分量、其右侧相邻的(A+6,B)的亮度分量、其右侧相邻的(A+7,B)的亮度分量这样四个象素。
图23A示出了在Y01块为横17象素×纵8象素、从左上页P00读出横8象素×纵3象素、从右上页P01读出横9象素×纵3象素、从左下页P10读出横8象素×纵6象素、从右下页P11读出横9象素×纵6象素的情况下,怎样存储被读出的象素。
由于横向幅度共计为17象素,亮度分量及色差分量为1字节,所以缓冲器A12的内部区域将欲确保20字节的区的横向设定为x=0~x=4,将纵向设定为y=0~y=8。
图23B示出了在Y02块为横9象素×纵16象素、从左上页P00读出横8象素×纵3象素、从右上页P01读出横1象素×纵3象素、从左下页P10读出横8象素×纵13象素、从右下页P11读出横1象素×纵13象素的情况下,怎样存储被读出的象素。
由于横向幅度共计为9象素,亮度分量及色差分量为1字节,所以缓冲器A12的内部区域将欲确保12字节的区的横向设定为x=0~x=2,将纵向设定为y=0~y=16。
(第1.6章  写入地址生成部13的概要)
如果补偿控制部10开始从SDRAM读出亮度分量及色差分量,写入地址生成部13便生成线性地址,将所读出的亮度分量及色差分量写入缓冲器A12内的由其线性地址指示的区中。
(第1.6.1章  写入地址生成部13的内部结构)
图24A示出了写入地址生成部13的内部结构。写入地址生成部13由X计数器81、选择器82、Y计数器83、选择器84、选择器85、乘法器86、选择器87、加法器88及加法器89构成。
如果从SDRAMX有效地读出亮度分量及色差分量,X计数器81便增加计数值。该计数值如果达到选择器82有选择地输出的上限值,便将已达到的意思通知Y计数器83。
选择器82根据SDRAM内的读出处是在左上页P00、右上页P01、左下页P10、右下页P11中的哪一页,有选择地输出左上页P00的横向幅度s00、右上页P01的横向幅度s01(=s00)、左下页P10的横向幅度s10、右下页P11的横向幅度s11(=s10)中的哪一个。具体地说,读出处是左上页P00时,将左上页P00的横向幅度s00输出给X计数器81,读出处是右上页P01时,将右上页P01的横向幅度s01输出给X计数器81,读出处是左下页P10时,将左下页P10的横向幅度s10(=s01)输出给X计数器81,读出处是右下页P11时,将右下页P11的横向幅度s11(=s10)输出给X计数器81。
如果通知了X计数器81已计数到上限值的意思时,Y计数器83便增加计数值。该计数值如果达到选择器84有选择地输出的上限值,便将计数值复位。
选择器84根据SDRAM内的读出处是在左上页P00、右上页P01、左下页P10、右下页P11中的哪一页,有选择地输出左上页P00的纵向幅度t00、右上页P01的纵向幅度t01、左下页P10的纵向幅度t10、右下页P11的纵向幅度t11中的哪一个。具体地说,读出处是左上页P00时,将左上页P00的纵向幅度t00输出给Y计数器83,读出处是右上页P01时,将右上页P01的纵向幅度t01(=t00)输出给Y计数器83。读出处是左下页P10时,将左下页P10的纵向幅度t10输出给Y计数器83,读出处是右下页P11时,将右下页P11的纵向幅度t11(=t10)输出给Y计数器83。
如果Y计数器83将Y坐标的计数值加1,选择器85便从『+2』『+3』『+4』『+5』中选择某一个应与该计数值相乘的行数,输出给乘法器86。当横向幅度被确定为Y02块的模式、且不需要横向的半贝尔内插时,以横8象素×纵16象素单位读出亮度分量。为了存储8象素部分的亮度分量,将『2』输出给乘法器86。如果这样将『+2』输出给乘法器86,则Y计数器83每次使Y坐标增加时,便将其计数值增大二倍。
当横向幅度被确定为Y02块的模式、且需要横向的半贝尔内插时,以横9象素×纵16象素单位读出亮度分量。为了存储9象素部分的亮度分量,将『3』输出给乘法器86。如果这样将『+3』输出给乘法器86,则Y计数器83每次使Y坐标增加时,便将其计数值增大三倍。
当横向幅度被确定为Y01块的模式、且不需要横向的半贝尔内插时,以横16象素×纵8象素单位读出亮度分量。为了存储16象素部分的亮度分量,将『4』输出给乘法器86。如果这样将『+4』输出给乘法器86,则Y计数器83每次使Y坐标增加时,便将其计数值增大四倍。
当横向幅度被确定为Y01块的模式、且需要横向的半贝尔内插时,以横18象素×纵8象素单位读出亮度分量。为了存储18象素部分的亮度分量,将『5』输出给乘法器86。如果这样将『+5』输出给乘法器86,则Y计数器83每次使Y坐标增加时,便将其计数值增大五倍。
如果Y计数器83增大计数值,乘法器86便将该增加后的计数值和选择器85输出的缓冲器A12的一行数相乘后,输出给加法器88。
这里之所以Y坐标每次增加时,乘法器86便将Y计数器83的计数值和行数相乘,是因为Y坐标增加时,必须将某亮度分量、以及Y坐标与下一个亮度分量之间的某一行部分的亮度分量存储到缓冲器A12中。
选择器87有选择地输出下述地址中的某一个:存储从左上页P00读出的重叠部分时的开始地址、存储从右上页P01读出的重叠部分时的开始地址、存储从左下页P10读出的重叠部分时的开始地址、存储从右下页P11读出的重叠部分时的开始地址。
这里由于存储从左上页P00读出的重叠部分时的开始地址可以存储在缓冲器A12中的地址0000中,所以选择器87将线性地址0000输出给加法器88。
这里假设左上页P00的横向幅度为s00,从左上页P00读出的亮度分量被存储在从线性地址0000到线性地址0000+s00/4-1的区中,则从右上页P01读出的亮度分量可以根据线性地址0000+s00/4存储。因此,选择器87将从右上页P01读出的亮度分量的存储开始地址作为线性地址0000+s00/4并输出。
这里假设左上页P00的横向幅度为s00,从左上页P00读出的亮度分量被存储在从线性地址0000到线性地址0000+t00×z-1的区中,则从左下页P10读出的亮度分量可以根据线性地址0000+t00×z存储。因此,选择器87将从左下页P10读出的亮度分量的存储开始地址作为线性地址0000+t00×z并输出。
从右下页P11读出的亮度分量可以根据线性地址0000+t00×z+s00/4存储。因此,选择器87将从右下页P11读出的亮度分量的存储开始地址作为线性地址0000+t00×z+s00/4并输出。
加法器88将选择器87有选择地输出的开始地址和由乘法器86乘以全列数z后的Y计数器83的计数值相加。
加法器89将亮度地址编码器61生成的9字节长的列地址中从低位的2位到低位的9位的值和加法器88加得的结果相加,生成缓冲器A12中的亮度分量的写入处地址。由于从低位的2位到低位的9位的值是4字节的倍数,所以如果将它与加法器88加得的结果相加,就能确定缓冲器A12中的写入处地址。
(第1.7.1章  存储Y01块时的缓冲器A12的内部图象)
已说明过亮度块被分成Y01块和Y23块这样两次从存储器模块3读出,而现在参照图25A及图25B说明怎样存储这些分两次读出的Y01块、Y23块的亮度分量。
图25A示出了Y01块按横17象素×纵9象素读出时怎样存储亮度分量,图25B示出了Y23块按横17象素×纵8象素读出时怎样存储亮度分量。
在图25A中,可知缓冲器A12的内部区域被由Y01块中包括的横17象素×纵9象素填满,但如果读出Y23块,则在图25A中,Y01块的亮度分量所占的区域中的横17象素×纵8象素的部分按照Y23块中包括的横17象素×纵8象素的亮度分量书写。可是,Y01块是横17象素×纵9象素,包括比Y23块多出一横行部分的亮度分量,所以第九行的Y01(0,8)Y01(1,8)Y01(2,8)Y01(3,8)…Y01(14,8)Y01(15,8)Y01(16,8)不从Y23块书写,而留在缓冲器A12内。之所以这样将第九行的一行部分的亮度分量留在缓冲器A12内,是因为利用与该第九行的象素的平均值生成Y23块的象素中行地址的象素的亮度分量Y23(0,0)Y23(1,0)Y23(2,0)Y23(3,0)…Y23(14,0)Y23(15,0)Y23(16,0)。
(第1.7.2章  存储Y02块时的缓冲器A12的内部图象)
已说明过亮度块被分成Y02块和Y13块这样两次从存储器模块3读出,而现在参照图26A及图26B说明怎样存储这些分两次读出的Y02块、Y13块的亮度分量。
图26A示出了Y02块按横9象素×纵17象素读出时怎样存储亮度分量,图26B示出了Y13块按横8象素×纵17象素读出时怎样存储亮度分量。
在图26A中,可知缓冲器A12的内部区域被Y02块中包括的横9象素×纵17象素填满,但如果读出Y13块,则在图26A中,缓冲器A12内的区域中横8象素×纵17象素的部分按照Y13块中包括的横8象素×纵17象素的亮度分量书写。可是,Y02块是横9象素×纵17象素,包括比Y13块多出一纵列部分的亮度分量,所以第九列的Y02(8,0)Y02(8,1)Y02(8,2)Y02(8,3)…Y02(8,14)Y02(8,15)Y02(8,16)不书写,而留在缓冲器A12内。之所以这样将第九列的一列部分的亮度分量留在缓冲器A12内,是因为利用与该第九列的象素的平均值生成第二次读出的Y13块的象素中第0列的象素的亮度分量Y13(0,0)Y13(0,1)Y13(0,2)Y13(0,3)…Y13(0,14)Y13(0,15)Y13(0,16)。
(第1.8章  读出地址生成部14的概要)
读出地址生成部14算出成为半贝尔内插部15进行的半贝尔内插对象的亮度分量在缓冲器A12中的(X,Y)坐标,并指示给欲输出该(X,Y)的亮度分量及色差分量的缓冲器A12。
(第1.8.1章  读出地址生成部14的内部结构)
读出地址生成部14的内部结构示于图4C。读出地址生成部14由X计数器91、Y计数器92、MOD运算器93及MOD运算器94构成。
X计数器91计数从0到全部列数z的值,将该计数值作为缓冲器A12内的X坐标输出给缓冲器A12。该计数值的上限设定为全部列数z,所以由X计数器91作为计数值输出的数值范围为0~全部列数z-1。
如果X计数器91计数了上限值即全部列数z,则Y计数器92将该计数值加1后,将计数值作为缓冲器A12内的Y坐标输出给缓冲器A12。该计数值的上限设定为全部行数v,所以由Y计数器92作为计数值输出的数值范围为0~全部行数v-1。
在需要横向半贝尔内插的情况下,MOD运算器93将X计数器91作为X坐标输出的计数值加1,并将用全部列数z除上述加1后的所得值的余数输出给缓冲器A12。
在需要纵向半贝尔内插的情况下,MOD运算器94将Y计数器92作为X坐标输出的计数值加1,并将用全部行数v除上述加1后的所得值的余数输出给缓冲器A12。
这样一来,输出由读出地址生成部90及X计数器91的计数值构成的坐标(X,Y),在只需要横向半贝尔内插的情况下,由MOD运算器93的输出及X计数器91的计数值构成的(mod[X+1)/z],Y)被输出给缓冲器A12。在只需要纵向半贝尔内插的情况下,由MOD运算器94的输出及X计数器91的计数值构成的(X,mod[(Y+1)/v])被输出给缓冲器A12。
在需要纵向及横向半贝尔内插的情况下,由MOD运算器93的输出及MOD运算器94的计数值构成的(mod[(X+1)/z],mod[(Y+1)/v])被输出给缓冲器A12。
(第1.9章  半贝尔内插部15的概要)
如果缓冲器A12输出由X计数器91、Y计数器92、MOD运算器93、MOD运算器94指示的计数值构成的(X,Y)、(mod[(X+1)/z],Y)、(x,mod[(Y+1)/V])、(mod[(X+1)/z]、mod[(Y+1)/v])的亮度分量及色差分量,则半贝尔内插部15便对所输出的亮度分量和色差分量进行纵向半贝尔内插、横向半贝尔内插、纵向及横向半贝尔内插,将其结果输出给欲与缓冲器D25输出的差分图象的亮度分量及色差分量进行混合的象素混合部29。
亮度分量及色差分量按照以下8种中的某一种形式被读出:横16象素×纵8象素、横17象素×纵8象素、横16象素×纵9象素、横17象素×纵9象素、横8象素×纵16象素、横9象素×纵16象素、横8象素×纵17象素、横9象素×纵17象素。
这里横17象素×纵8象素、横16象素×纵9象素、横17象素×纵9象素的亮度分量从读出地址生成部14被读出后,半贝尔内插部15进行横16象素×纵8象素的半贝尔内插,将由半贝尔内插部15进行的横16象素×纵8象素的半贝尔内插结果写入缓冲器C20。
另外,横9象素×纵16象素、横8象素×纵17象素、横9象素×纵17象素的亮度分量从读出地址生成部14被读出后,半贝尔内插部15进行横8象素×纵16象素的半贝尔内插,将由半贝尔内插部15进行的横8象素×纵16象素的半贝尔内插结果写入缓冲器C20。
(第1.9.1章  全体图象译码设备中的半贝尔内插部15的位置分配)
在图6A所示的时间图中的时刻t41,如果过去方向的参照图象的Y01块被读到缓冲器A12中,则半贝尔内插部15便在时刻t71对被读出的Y01块进行半贝尔内插。在时刻t42,如果过去方向的参照图象的Y01块被读到缓冲器B16中,则半贝尔内插部15便在时刻t72对被读出的Y01块进行半贝尔内插。在时刻t43,如果未来方向的参照图象的Y23块被读到缓冲器A12中,则半贝尔内插部15便在时刻t73对被读出的Y23块进行半贝尔内插。
(第1.9.1章  半贝尔内插部15的内部结构)
参照图4C说明半贝尔内插部15的内部结构。半贝尔内插部15由选择器104、加法器95、除法器96、选择器97、加法器98、除法器99、选择器100、选择器101、加法器102、除法器103构成。
在需要横向的半贝尔内插的情况下,如果缓冲器A12输出的(mod[(X+1)/z],Y)中存储的亮度分量,则选择器104将它输出给加法器95。在不需要横向的半贝尔内插的情况下,如果缓冲器A12只输出(X,Y)中存储的亮度分量,便将它输出给加法器95。
在需要横向的半贝尔内插的情况下,加法器95将缓冲器A12输出的(mod[(X+1)/z],Y)中的亮度分量和缓冲器A12输出的(X,Y)中的亮度分量相加。在不需要半贝尔内插的情况下,由于从选择器104输出(X,Y)中的亮度分量,所以将(X,Y)的亮度分量之间相加后,将(X,Y)的亮度分量的倍数输出给除法器96。
除法器96将加法器95输出的相加结果除以2。在需要横向的半贝尔内插的情况下,除法器96通过将加法器95的计算结果除以2,算出(X,Y)和(mod[(X+1)/z],Y)的亮度分量的平均值。在不需要横向的半贝尔内插的情况下,通过将加法器95输出的(X,Y)的亮度分量的倍数除以2,直接输出(X,Y)的亮度分量。
在只需要纵向的半贝尔内插的情况下,如果缓冲器A12输出(X,mod[(Y+1)/v])中存储的亮度分量,则选择器97将它输出给加法器98。在需要纵向及横向的半贝尔内插的情况下,如果缓冲器A12输出(mod[(X+1)/z],mod[(Y+1)/v])中存储的亮度分量,便将它输出给加法器98。
在需要纵向及横向的半贝尔内插的情况下,加法器98将缓冲器A12输出的(X,mod[(Y+1)/v])中的亮度分量和选择器97输出的(mod[(X+1)/z],mod[(Y+1)/v])中的亮度分量相加。在只需要纵向的半贝尔内插的情况下,将缓冲器A12输出的(X,mod[(Y+1)/v])中的亮度分量和缓冲器A12输出的(X,mod[(Y+1)/v])中的亮度分量相加。
除法器99将加法器98输出的相加结果除以2。在需要纵向及横向的半贝尔内插的情况下,除法器99通过将加法器98的计算结果除以2,算出(X,mod[(Y+1)/v])和(mod[(X+1)/z],mod[(Y+1)/v])的亮度分量的平均值。在只需要横向的半贝尔内插的情况下,通过将加法器95输出的(X,mod[(Y+1)/v])的亮度分量的倍数除以2,直接输出(X,mod[(Y+1)/v])的亮度分量。
在纵向的半贝尔内插及横向的半贝尔内插都不需要的情况下,选择器100及选择器101将由除法器96除得的结果输出给欲进行输出的加法器102。
在只需要横向的半贝尔内插的情况下,选择器100及选择器101将由加法器95及除法器96获得的横向的半贝尔内插结果输出给加法器102。
在只需要纵向的半贝尔内插的情况下,选择器100及选择器101将加法器95及除法器96直接输出的(X,Y)和加法器98及除法器99直接输出的(X,mod[(X+1)/v])在加法器102中进行混合。
在需要纵向及横向的半贝尔内插的情况下,将加法器95及除法器96输出的(X,Y)和(mod[(X+1)/z],Y)的平均值、以及加法器98及除法器99输出的(X,mod[(Y+1)/v])及(mod[(X+1)/z],mod[(Y+1)/v])的平均值在加法器102中进行混合。
加法器102混合选择器100及选择器101输出的值。
除法器103将加法器98输出的相加结果除以2。在纵向的半贝尔内插、横向的半贝尔内插都不需要的情况下,再次直接输出除法器96直接输出的值。
在只需要纵向的半贝尔内插的情况下,将加法器95及除法器96直接输出的(X,Y)和加法器98及除法器99直接输出的(X,mod[(Y+1)/v])相加的结果除以2,获得纵向的半贝尔内插结果。
在只需要横向的半贝尔内插的情况下,直接输出由加法器95的加得结果和除法器96的除得结果获得的横向的半贝尔内插运算结果。
在需要纵向及横向的半贝尔内插的情况下,将加法器95及除法器96输出的(X,Y)和(mod[(X+1)/z],Y)的平均值、以及加法器98及除法器99输出的(X,mod[(Y+1)/v])及(mod[(X+1)/z],mod[(Y+1)/v])的平均值相加后除以2,获得纵向及横向的半贝尔内插结果。
(第1.10章  缓冲器B16的概要)
缓冲器B16与缓冲器A12的结构相同,在将来方向的参照图象被读给缓冲器A12时,如果从存储器存取部11将过去方向的参照图象读给每个Y01块、Y23块、CbCr块、Y02块、Y13块,缓冲器B16便将它们保存起来。而且,如果获得了对所保存的块的半贝尔内插结果及混合结果,便保存该结果,并输出给存储器存取部11。
(第1.10.1章  全部图象译码设备中的缓冲器B16的位置分配)
在图6A所示的时间图中的时刻t42从存储器存取部11读出的Y01_b(r)块,在时刻t45读出的Y23_b(r),在时刻t48读出的CbCr_b(r),全部被保存在缓冲器B16中。
在时刻t82如果象素混合部29算出混合结果,便保存该结果,并输出给SDRAM3。如果在时刻t84、时刻t86象素混合部29算出混合结果,便保存该结果,并输出给SDRAM3。
(第1.11章  缓冲器B16的周围结构)
写入地址生成部17与写入地址生成部13的结构相同,如果从SDRAM32读出Y01块、Y23块、CbCr块,便生成应存储这些亮度分量及色差分量的写入处坐标,输出给缓冲器B16。
读出地址生成部18与读出地址生成部14的结构相同,将应与差分混合的象素的X坐标及Y坐标的读出处坐标输出给缓冲器B16。
半贝尔内插部19与半贝尔内插部15的结构相同,用于对缓冲器B16中存储的Y01块、Y23块、CbCr块进行纵向的半贝尔内插、横向的半贝尔内插、纵向及横向的半贝尔内插。
(第1.12章  缓冲器C20的概要)
通过半贝尔内插部15进行半贝尔内插,如果输出横16象素×纵8象素、横8象素×纵16象素的亮度分量及色差分量,缓冲器C20便根据读写地址生成部22生成的X坐标、Y坐标,将它们写入内部区域。而且,如果应与其混合的差分被输出给缓冲器D25,便根据读写地址生成部22指示的X坐标及Y坐标,将欲与该差分混合、尚被保存着的半贝尔内插结果输出给象素混合部29。
(第1.13章  读写地址生成部22的内部结构)
图24B示出了读写地址生成部22的内部结构。读写地址生成部22由X计数器71、选择器72、加法器73、乘法器74、选择器75、加法器76、选择器77、Y计数器78、选择器79及加法器80构成。
X计数器71计数0~7的数值。每次从SDRAM有效地读出亮度分量及色差分量时进行该计数值的计数。如果计数值达到了上限值7,便将已达到的意思通知Y计数器78。
选择器72将读出处的开始坐标输出给加法器73。在这里对Y01块、Y23块、Y02块、Y13块、CbCr块进行半贝尔内插,而且如果下一次应进行混合的差分是Y0块、Y1块、Y2块、Y3块、Cb块、Cr块的话,将“0”输出给加法器73作为读出处及写入处的开始坐标X。如果对Y01块、Y23块进行半贝尔内插,且下一次应进行混合的差分是Y1块、Y3块的话,将“7”输出给加法器73作为读出处及写入处的开始坐标X。在后一种情况下,之所以输出“7”作为读出处及写入处的开始坐标X,是因为作为参照图象读出的Y1块、Y3块、Y01块、Y23块在被读出的状态下位于从X坐标7到X坐标15的范围内。
加法器73将选择器72有选择地输出的读出处及写入处的X坐标与X计数器71的计数值相加。
乘法器74将乘法器74的计数值乘以2。
如果下一个应混合的差分是Cb块,选择器75便将“0”输出给加法器76,作为读出处及写入处的开始坐标X。如果下一个应混合的差分是Cr块,便将“1”输出给加法器76,作为读出处及写入处的开始坐标X。乘法器74之所以将计数值乘以2,选择器75交替地输出“0”、“1”,是因为蓝色差分量及红色差分量在CbCr块中被交替地存储在偶数地址、奇数地址处。
加法器76将乘法器74进行的X计数器71的计数值和整数值“2”的乘算的结果与选择器75输出的开始坐标X相加。
如果下一个应混合的差分是Cb块及Cr块,选择器77便输出加法器76的输出值作为X坐标,如果下一个应混合的差分是Y0块、Y1块、Y2块、Y3块,便输出加法器73的输出值作为X坐标。
X计数器71每当计数到上限时,Y计数器78计数0~7的数值。每次从SDRAM有效地读出亮度分量及色差分量时进行该计数值的计数。
选择器79将读出处及写入处的开始坐标输出给加法器73。在这里对Y01块、Y23块、Y02块、Y13块、以及Cb、Cr块进行半贝尔内插,如果下一次应进行混合的差分是Y0块、Y1块、Y2块、Y3块、Cb块、Cr块的话,将“0”输出给加法器73作为读出处及写入处的开始坐标Y。如果对Y02块、Y13块进行半贝尔内插,且下一次应进行混合的差分是Y2块、Y3块的话,将“7”输出给加法器73作为读出处及写入处的开始坐标Y。在后一种情况下,之所以输出“7”作为读出处及写入处的开始坐标,是因为作为参照图象读出的Y2块、Y3块、在作为Y02块、Y13块被读出的状态下位于从Y坐标7到Y坐标15的范围内。
加法器80将选择器79有选择地输出的读出处及写入处的X坐标与Y计数器78的计数值相加,作为Y坐标输出。
(第1.14章  缓冲器D25的概要)
缓冲器D25存储通过缓冲器201从象素运算部7输送的差分Y0块、Y1块、Y2块、Y3块、Cb块、Cr块,如果半贝尔内插部15对缓冲器A12及缓冲器B16中存储的Y01块、Y23块、CbCr块进行半贝尔内插,便根据读出地址生成部26指示的X坐标及Y坐标,将尚存储着的构成差分图象的横8象素×纵8象素的亮度分量及色差分量输出给象素混合部29。
(第1.15章  读出地址生成部26的内部结构)
读出地址生成部26由X计数器27及Y计数器28构成,如果从缓冲器A12输出亮度分量,并开始对它们进行半贝尔内插,便将欲读出缓冲器D25中存储的差分的读出处坐标输出给缓冲器C20。
如果从SDRAM31读出参照图象中的亮度块及色差块,X计数器27便在0~7的范围内增加X坐标。
如果从SDRAM31读出参照图象中的亮度块及色差块,Y计数器28便在0~7的范围内增加Y坐标。
(第1.16章  混合部29的概要)
混合部29对缓冲器D25中新存储的差分、以及由半贝尔内插部15和半贝尔内插部19进行半贝尔内插后存储在缓冲器C20中的半贝尔内插结果进行混合,并输出给SDRAM30。
如果差分是P图象、且由半贝尔内插部15对过去方向的参照图象进行半贝尔内插后存储在缓冲器C20中,象素混合部29便对存储在缓冲器D25中的差分和由半贝尔内插部15进行过半贝尔内插的Y01块、Y23块、CbCr块、Y02块、Y13块进行混合,并输出给缓冲器B16。
如果差分是B图象、且由半贝尔内插部15对将来方向的参照图象进行半贝尔内插后存储在缓冲器C20中,象素混合部29便对存储在缓冲器D25中的差分和由半贝尔内插部15进行过半贝尔内插的参照图象进行混合,并输出给缓冲器C。如果读出过去方向的参照图象进行半贝尔内插后存储在缓冲器C20中,便对缓冲器C保存的前一次的混合结果和过去方向的参照图象进行混合,将其结果输出给选择器30。
(第1.16.1章  全体图象译码设备中的混合部29的位置分配)
在图6A所示的时间图中的时刻t71,如果半贝尔内插部15进行半贝尔内插,象素混合部29便在时刻t81对半贝尔内插部15的半贝尔内插结果和在时刻t61保存的Y0块进行混合。
如果在时刻t72,半贝尔内插部15进行过半贝尔内插,象素混合部29便在时刻t82对半贝尔内插部15的半贝尔内插结果和在时刻t62保存的Y0块进行混合。将其结果输出给缓冲器B16。
如果象素混合部29进行缓冲器C20中存储的半贝尔内插结果和缓冲器D25中存储的差分的混合,选择器30便将欲把该结果存储在缓冲器C中的象素混合部29的输出处切换成缓冲器C,如果象素混合部29进行缓冲器C中存储的混合结果和缓冲器D25中存储的差分的混合,选择器30便将欲把该结果存储在缓冲器B16中的象素混合部29的输出处切换成缓冲器B16。
(第1.17章  半贝尔内插时的半贝尔内插部15、混合部29的工作情况)
参照图27说明读入由横17象素×纵9象素构成的Y01块时半贝尔内插部15的处理情况。
在阶段w0、X计数器91输出X=0、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=1(=mod[(1+0)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/9])。其结果,从缓冲器A12输出Y01(0,0)Y01(1,0)Y01(0,1)Y01(1,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,X计数器27及Y计数器28将X坐标=0、Y坐标=0作为半贝尔内插部15的运算结果的读出处地址输出给缓冲器D25,由象素混合部29进行差分Y01(0,0)的亮度分量和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将X坐标=0、Y坐标=0作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为Y01(0,0)的亮度分量存入缓冲器C。
在阶段w1、X计数器91输出X=1、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=2(=mod[(1+1)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/9D。其结果,从缓冲器A12输出Y01(1,0)Y01(2,0)Y01(1,1)Y01(2,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(1,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w2、X计数器91输出X=2、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=3(=mod[(1+2)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/9])。其结果,从缓冲器A12输出Y01(2,0)Y01(3,0)Y01(2,1)Y01(3,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(2,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w3、X计数器91输出X=3、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=4(=mod[(1+3)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/9])。其结果,从缓冲器A12输出Y01(3,0)Y01(4,0)Y01(3,1)Y01(4,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(3,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w4、X计数器91输出X=4、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=5(=mod[(1+4)/17D,由MOD运算器94输出Y=1(=mod[(1+0)/9])。其结果,从缓冲器A12输出Y01(4,0)Y01(5,0)Y01(4,1)Y01(5,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(4,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
反复进行以上的处理,X计数器91作为计数值输出X=5、6、7、8、9、10、11、12、13。
在阶段w14、X计数器91输出X=14、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=15(=mod[(1+14)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/9])。其结果,从缓冲器A12输出Y01(14,0)Y01(15,0)Y01(14,1)Y01(15,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(14,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w15、X计数器91输出X=15、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=16(=mod[(1+15)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/9])。其结果,从缓冲器A12输出Y01(15,0)Y01(16,0)Y01(15,1)Y01(16,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(15,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
反复进行以上的处理,Y计数器92作为计数值输出Y=1、2、3、4、5、6、7。
在阶段w16、X计数器91输出X=14、Y计数器92输出Y=7的情况下,由MOD运算器93输出X=15(=mod[(1+14)/17]),由MOD运算器94输出Y=8(=mod[(1+7)/9])。其结果,从缓冲器A12输出Y01(14,7)Y01(15,7)Y01(14,8)Y01(15,8)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(14,7)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w17、X计数器91输出X=15、Y计数器92输出Y=7的情况下,由MOD运算器93输出X=16(=mod[(1+15)/17]),由MOD运算器94输出Y=0(=mod[(1+7)/9])。其结果,从缓冲器A12输出Y01(15,7)Y01(16,7)Y01(15,8)Y01(16,8)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y01(15,7)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
如果完成了对横17象素×纵8象素的半贝尔内插,横17象素×纵8象素的Y23块便被存入缓冲器A12。另外,由于Y01块以横17象素×纵8象素的大小被读出,所以不书写第十七行的亮度分量,使其呈存留状态。
在阶段w18、X计数器91输出X=12、Y计数器92输出Y=8的情况下,由MOD运算器93输出X=13(=mod[(1+12)/17]),由MOD运算器94输出Y=0(=mod[(1+8)/9])。其结果,从缓冲器A12输出Y01(12,8)Y01(13,8)Y01(12,0)Y01(13,0)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(12,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标(12,0)的亮度分量被存入缓冲器C。
在阶段w19、X计数器91输出X=13、Y计数器92输出Y=8的情况下,由MOD运算器93输出X=14(=mod[(1+13)/17]),由MOD运算器94输出Y=0(=mod[(1+8)/9D。其结果,从缓冲器A12输出Y01(13,8)Y01(14,8)Y01(13,0)Y01(14,0)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(13,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标(13,0)的亮度分量被存入缓冲器C。
在阶段w20、X计数器91输出X=14、Y计数器92输出Y=8的情况下,由MOD运算器93输出X=15(=mod[(1+14)/17]),由MOD运算器94输出Y=0(=mod[(1+8)/9])。其结果,从缓冲器A12输出Y01(14,8)Y01(15,8)Y01(14,0)Y01(15,0)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(14,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标(14,0)的亮度分量被存入缓冲器C。
在阶段w21、X计数器91输出X=15、Y计数器92输出Y=8的情况下,由MOD运算器93输出X=16(=mod[(1+15)/17]),由MOD运算器94输出Y=0(=mod[(1+8)/9])。其结果,从缓冲器A12输出Y01(15,8)Y01(16,8)Y01(15,0)Y01(16,0)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(15,0)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标(15,0)的亮度分量被存入缓冲器C。
在阶段w22、X计数器91输出X=12、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=13(=mod[(1+12)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/8])。其结果,从缓冲器A12输出Y23(12,0)Y23(13,0)Y23(12,1)Y23(13,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(12,1)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w23、X计数器91输出X=13、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=14(=mod[(1+13)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/8])。其结果,从缓冲器A12输出Y23(13,0)Y23(14,0)Y23(13,1)Y23(14,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(13,1)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w24、X计数器91输出X=14、Y计数器92输出Y=0的情况下,由MOD运算器93输出X=15(=mod[(1+14)/17]),由MOD运算器94输出Y=1(=mod[(1+0)/8])。其结果,从缓冲器A12输出Y23(14,0)Y23(15,0)Y23(14,1)Y23(15,1)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(14,1)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w25、X计数器91输出X=12、Y计数器92输出Y=6的情况下,由MOD运算器93输出X=13(=mod[(1+12)/17]),由MOD运算器94输出Y=7(=mod[(1+6)/8])。其结果,从缓冲器A12输出Y23(12,6)Y23(13,6)Y23(12,7)Y23(13,7)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(12,7)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w26、X计数器91输出X=13、Y计数器92输出Y=6的情况下,由MOD运算器93输出X=14(=mod[(1+13)/17]),由MOD运算器94输出Y=7(=mod[(1+6)/8])。其结果,从缓冲器A12输出Y23(13,6)Y23(14,6)Y23(13,7)Y23(14,7)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(13,7)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w27、X计数器91输出X=14、Y计数器92输出Y=6的情况下,由MOD运算器93输出X=15(=mod[(1+14)/17]),由MOD运算器94输出Y=7(=mod[(1+6)/8])。其结果,从缓冲器A12输出Y23(14,6)Y23(15,6)Y23(14,7)Y23(15,7)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(14,7)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
在阶段w28、X计数器91输出X=15、Y计数器92输出Y=6的情况下,由MOD运算器93输出X=16(=mod[(1+15)/17]),由MOD运算器94输出Y=7(=mod[(1+6)/8])。其结果,从缓冲器A12输出Y23(15,6)Y23(16,6)Y23(15,7)Y23(16,7)的亮度分量,由半贝尔内插部15计算这些值的平均值。另一方面,根据X计数器27及Y计数器28的计数值,读出差分图象内的Y23(15,7)的亮度分量,由象素混合部29进行差分Y0和半贝尔内插部15的运算结果的加法运算。X计数器27及Y计数器28将相同的X坐标、Y坐标作为半贝尔内插部15的运算结果的写入处地址输出给缓冲器D25,象素混合部29的加得结果作为相同的坐标的亮度分量被存入缓冲器C。
如上通过半贝尔内插部15进行的半贝尔内插,使用本身的亮度分量、位于其横向右侧的亮度分量、位于下侧的亮度分量和位于右斜下侧的亮度分量的平均值,生成Y01块中包括的亮度分量。用本身的亮度分量、位于其横向右侧的亮度分量、位于正上侧的亮度分量和位于右斜上侧的亮度分量的平均值,生成Y23块中包括的亮度分量。
(第1.18章  纵向及横向的半贝尔内插时的生成方式的汇总)
图28A示出了在纵向及横向的半贝尔内插时,用哪个象素的平均值生成Y01块中包括的亮度分量。
带影线的Y01块内的(0,0)亮度分量是用包围在与(0,0)为同一框内的位于其横向右侧的亮度分量Y(1,0)、位于下侧的亮度分量Y(0,1)和位于右斜下侧的亮度分量Y(1,1)的平均值生成的。Y01块中包括的亮度分量Y(2,1)是用本身的亮度分量Y(2,1)、位于其横向右侧的亮度分量Y(3,1)、位于下侧的亮度分量Y(2,2)和位于右斜下侧的亮度分量Y(3,2)的平均值生成的。
Y23块内的(0,0)亮度分量是用本身的亮度分量、位于其横向右侧的(1,0)亮度分量、位于正上侧的Y01亮度分量Y(0,8)和位于右斜上侧的Y01亮度分量Y(1,8)的平均值生成的。
Y23块内的(2,1)亮度分量是用本身的亮度分量、位于其横向右侧的(3,0)亮度分量、位于正上侧的亮度分量Y(2,0)和位于右斜上侧的亮度分量Y(3,0)的平均值生成的。
另一方面,通过由半贝尔内插部15进行的半贝尔内插,Y02块中包括亮度分量是用本身的亮度分量、位于其横向右侧的亮度分量、位于下侧的亮度分量和位于右斜下侧的亮度分量的平均值生成的。Y13块中包括亮度分量是用本身的亮度分量、位于其横向左侧的亮度分量、位于正下侧的亮度分量和位于左斜下侧的亮度分量的平均值生成的。
图28B示出了在纵向及横向的半贝尔内插时,用哪个象素的平均值生成Y02块中包括的亮度分量。
带影线的Y02块内的(0,0)亮度分量是用包围在与(0,0)为同一框内的位于其横向右侧的亮度分量Y(1,0)、位于下侧的亮度分量Y(0,1)和位于右斜下侧的亮度分量Y(1,1)的平均值生成的。Y02块中包括的亮度分量Y(2,2)是用本身的亮度分量Y(2,2)、位于其横向右侧的亮度分量Y(3,2)、位于下侧的亮度分量Y(2,3)和位于右斜下侧的亮度分量Y(3,3)的平均值生成的。
Y13块内的(0,0)亮度分量是用本身的亮度分量、位于其横向左侧的Y02(8,0)亮度分量、位于正下侧的Y02亮度分量Y13(0,1)和位于左斜下侧的Y02亮度分量Y(8,1)的平均值生成的。
Y13块内的(1,2)亮度分量是用本身的亮度分量、位于其横向左侧的(0,2)亮度分量、位于正下侧的亮度分量Y(1,3)和位于左斜下侧的亮度分量Y(1,3)的平均值生成的。
(第1.19章  设置选择器34的意义)
选择器34在能从象素运算部7输出差分以半帧为单位编码的Y2块的情况下,形成使缓冲器D25跳跃用的迂回路径。
这样形成差分Y0块的迂回路径的理由在于:在读出以半帧为单位的差分的情况下的缓冲器A12、缓冲器B16、缓冲器C20、缓冲器D25的处理内容与到此为止说明过的处理内容有若干不同。图6B是表示在读出以半帧为单位的差分的情况下的缓冲器A12、缓冲器B16、缓冲器C20、缓冲器D25的处理内容的时间图。参照本图说明缓冲器A12、缓冲器B16、缓冲器C20、缓冲器D25的处理内容。
在图6B中,缓冲器D25在差分以半帧为单位编码的Y0块能从象素运算部7输出的情况下,在时刻g1将其保存起来。而且,如果在时刻g2读出参照图象的Y02块,在时刻g3进行对Y02块的半贝尔内插,便输出给欲使该半贝尔内插结果和Y0块进行混合的混合部29。
在时刻g5,在以半帧为单位编码的差分Y1块能从象素运算部7输出的情况下,将其保存起来。在时刻g6对作为参照图象读出的Y13块进行半贝尔内插之前,该差分的Y1块由缓冲器D25保存。对参照图象Y13块的半贝尔内插完成后,缓冲器D25将如此保存的差分的Y1块输出给混合部29,在时刻g7在混合部29中进行Y13块的半贝尔内插结果和Y1块的混合。
在时刻g8,在差分以半帧为单位编码的Y3块能从象素运算部7输出的情况下,将其保存起来。然后在时刻g9进行Y13块和Y1块的混合后,输出给欲对该混合结果和Y3块进行混合的混合部29。
在时刻g10,对Y02块的半贝尔内插结果和Y0块的混合结果被用混合部29输出后,缓冲器C20将其保存起来。
在时刻g11,如果以半帧为单位编码的差分的Y2块绕过缓冲器D25而被输出后,将如此保存的对Y02块的半贝尔内插结果和Y0块的混合结果输出给混合部29,在时刻g12对Y02块和差分的Y2块进行混合。这时由于输出给混合部29的Y02块已经完成了与Y0块的混合,所以如果进行与差分的Y2块的混合,就能获得Y02块结果的混合结果。这样获得的Y02块的混合结果被输出给缓冲器B16,被用缓冲器B16写入SDRAM3。
缓冲器C20在时刻g7由混合部29对Y13块的半贝尔内插结果和Y1块进行混合后保存该混合结果。在时刻g8,缓冲器D25将差分以半帧为单位编码的Y3块保存起来后,在时刻g13,将混合结果的Y13块输出混合部29以便使Y13块的混合结果和Y3块进行混合。这时由于输出给混合部29的Y13块已经完成了与Y1块的混合,所以如果进行与差分的Y3块的混合,就能获得Y13块结果的混合结果。这样获得的Y13块的混合结果被输出给缓冲器B16,被用缓冲器B16写入SDRAM3。
如上所述,如果采用本实施形态,则由于象素块中包括的蓝色差分量、红色差分量被存储在从由同一行地址特定的开始区至结束区中,所以如果从该开始区起指定读出长度,进行脉冲串式地读出存储内容的所谓脉冲串读出,就能将蓝色差分量、红色差分量一起读出。由于这样将蓝色差分量、红色差分量一起读出,所以在读出参照图象时,通过与亮度分量的读出合计两次的脉冲串读出,就能读出参照图象。因此,能将脉冲串读出的次数减少到与参照图象读出的二倍成比例的数,例如即使每1秒反复读出参照图象近30次,也具有能异常地减少从发送行地址开始到发送列地址为止的期间内的延迟时间tRCD的影响的效果。
另外,在需要将参照图象个别地从变换过的页读到不同的存储单元中的情况下,由于使重叠部分的横向幅度长的一方的读出顺序在前,所以在从一页读出其横向幅度部分的亮度分量的期间,能并行地进行另一存储单元的激活,能避免与激活存储单元之前的延迟相伴随的译码处理的延迟的影响。
另外,为了进行半贝尔内插,即使需要多于一行部分、一列部分的亮度分量及色差分量的情况下,将它们分作两次读出,由于在各个读出时将读出范围确定为比一行多些、比一列多些,所以如果是象素块大小的缓冲器,就能充分地存储半贝尔内插所需要的亮度分量及色差分量。
(第二实施形态)
第二实施形态是在SDRAM的字长为2字节,亮度分量、蓝色差分量、红色差分量为1字节的情况下,将两个象素部分的亮度分量、蓝色差分量、红色差分量存储在SDRAM的1字中的实施形态。
第二实施形态中的亮度分量的存储方式示于图29A,色差分量的存储方式示于图29B。在图29A中,最使人感兴趣的是两个亮度分量被存储在一页内的由一列地址构成的字长区中。亮度分量Y(0,0)和Y(1,0)被存储在列地址000000_0000中,亮度分量Y(2,0)和亮度分量Y(3,0)被存储在列地址000000_0001中。
在图29B中,最使人感兴趣的是坐标相同的蓝色差分量和红色差分量的对偶被存储在一页内的由一列地址构成的字长区中。Cb(0,0)和Cr(0,0)被存储在列地址000000_0000中,Cb(1,0)和Cr(1,0)被存储在列地址000000_0001中。
鉴于两个亮度分量、由蓝色差分量和红色差分量构成的对偶这样存储在1字长的区中,故在第二实施形态中对亮度地址编码器61、色差地址编码器62进行了图30A及图30B所示的改变。图30A中的亮度地址编码器61的改变处在于:使用从X坐标的第二位到第四位的3位生成列地址。
图30B中的色差地址编码器62的改变处在于:禁止用第0位来识别蓝色差分量及红色差分量,用第0~第3位表示蓝色差分量及红色差分量的X坐标。
另外补偿控制部10的改变处在于:根据左上顶点的坐标是偶数还是奇数,如下扩大或缩小使用读出范围。
(1)处理单位为帧单位
(1-1)参照图象的左上顶点的坐标是偶数坐标的情况
无横向的半倍尔内插    横16象素×纵8象素
有横向的半倍尔内插    横18象素×纵8象素
(1-2)参照图象的左上顶点的坐标是奇数坐标的情况
无横向的半倍尔内插    横18象素×纵8象素
有横向的半倍尔内插    横20象素×纵8象素
(2)处理单位为半帧单位
(2-1)参照图象的左上顶点的坐标是偶数坐标的情况
无横向的半倍尔内插    横8象素×纵16象素
有横向的半倍尔内插    横10象素×纵16象素
(2-2)参照图象的左上顶点的坐标是奇数坐标的情况
无横向的半倍尔内插    横10象素×纵8象素
有横向的半倍尔内插    横12象素×纵8象素
在(1-1)中有横向的半倍尔内插的情况下,之所以将横18象素×纵8象素确定为读出范围,是因为在横向半倍尔内插时,亮度分量需要多于一列。是只想读出该多列中的一列的内容,但在第二实施形态中,由于2个亮度分量被存储在一字长的区中,所以不能只读出一列。因此,与一字长区合并,以多于二列读出亮度分量。与『无横向的半倍尔内插』时相比较,读出范围之所以多于2象素(18象素-16象素),是为了以多于两列读出亮度分量,以便进行横向的半倍尔内插。
在(2-2)中参照图象的左上顶点的坐标是奇数坐标的情况下,之所以将横18象素×纵8象素确定为读出范围,其理由如下。即,左上顶点的坐标是奇数坐标时,假定欲根据该奇数坐标读出16个象素,那么在两个象素部分的亮度分量存储在一字长的区中的关系上,必须将读出开始坐标确定为表示左上顶点的奇数坐标的前一个偶数坐标,将读出结束坐标确定为表示右上顶点的奇数坐标的后一个偶数坐标。这样通过将读出开始坐标确定为前一个偶数坐标,读出范围自然加“1”,通过将读出结束坐标确定为后一个偶数坐标,读出范围自然加“1”。
读出开始坐标、读出结束坐标通过分别加“1”,读出范围变为横18象素×纵8象素。
在(2-2)中参照图象的左上顶点的坐标是奇数坐标、需要横向的半倍尔内插的情况下,之所以将横20象素×纵8象素确定为读出范围,是因为需要读出横19象素×纵8象素。横19象素×纵8象素的读出范围是以将读出开始坐标、读出结束坐标分别加“1”的理由和为了横向的半倍尔内插而进行多于一列的读出而加“1”的理由为依据的读出范围。是想直接读出该横19象素×纵8象素,但在第二实施形态中,由于2个亮度分量被存储在SDRAM的一字长的区中,所以将横20象素×纵8象素确定为读出范围。
如上所述,如果采用本实施形态,则在SDRAM的字长为2字节,亮度分量、蓝色差分量、红色差分量为1字节的情况下,能将两个象素部分的亮度分量、蓝色差分量、红色差分量存储在SDRAM的一字中。
工业上利用的可能性
本发明能适用于数字录象磁盘重放机和数字卫星广播接收终端等用于被压缩的动图象数据再生的再生装置。

Claims (27)

1.一种图象译码设备,它配备有一个对于将一画面的图象分割成横m象素×纵n象素的多个象素块进行存储的图象存储器,其中m,n为1以上的整数,
所述图象存储器具有行列状的存储区,用于
将构成各象素块的s×t个第一色差分量和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的页区中,其中s,t为1以上的整数,
将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的页区中,
所述图象译码设备的特征在于备有:
将从外部输入的流译码成差分图象和动矢量的差分图象译码装置;
从某个页区读出构成差分图象和应混合的参照图象的全部第一色差分量、全部第二色差分量,从另外的页区读出全部亮度分量的存储器存取装置;
以及将从两个页区读出的第一色差分量、第二色差分量及亮度分量混合成差分图象的混合装置。
2.根据权利要求1所述的图象译码设备,其特征在于:
构成所述象素块的s×t个第一色差分量存储在由行地址特定的页区内的第偶数个存储位置,
构成同一象素块的s×t个第二色差分量存储在同一页区内的第奇数个存储位置。
3.根据权利要求2所述的图象译码设备,其特征在于:
呈行列状的存储区内的多个页区分别被变换成两个存储单元地址中的某一个,
画面中位于第偶数个象素块的第一色差分量、第二色差分量及亮度分量存储在被变换成一个存储单元地址的页区中,
画面中位于第奇数个象素块的第一色差分量、第二色差分量及亮度分量存储在被变换成另一个存储单元地址的页区中。
4.根据权利要求3所述的图象译码设备,其特征在于:
图象译码设备备有
根据动矢量算出应与该差分图象混合的参照图象的坐标的坐标计算装置,
所述存储器存取装置备有
如果算出了参照图象的坐标,便根据画面内的参照图象的坐标,确定将图象存储器内的哪一个页区作为读出处的读出处地址的第一确定装置;
以及根据参照图象的纵横向幅度,确定从页区读出的读出长度的第二确定装置,
所述图象存储器备有
如果第一、第二确定装置确定了读出处地址及读出长度,便根据所确定的读出处地址,只将图象存储器内的某个页区中存储的亮度分量及色差分量中的某一个读出所确定的读出长度并输出的输出部。
5.根据权利要求4所述的图象译码设备,其特征在于:
所述第一确定装置备有
根据将表示参照图象的顶点位置的X坐标除以象素块的横向的亮度分量数m所得之余数和将表示参照图象的顶点位置的Y坐标除以象素块的纵向的亮度分量数n所得之余数,生成列地址的第一生成部;
以及根据将表示参照图象的顶点位置的Y坐标除以象素块的横向的亮度分量数m所得之商和将表示参照图象的顶点位置的Y坐标除以象素块的纵向的亮度分量数n所得之商,生成行地址及存储单元地址的第二生成部;
根据第一及第二生成部生成的行地址、列地址及存储单元地址,确定亮度分量的读出处地址。
6.根据权利要求5所述的图象译码设备,其特征在于:
所述第一确定装置备有
根据将表示参照图象的顶点位置的X坐标除以象素块的横向的色差分量数s所得之余数和将表示参照图象的顶点位置的Y坐标除以象素块的纵向的色差分量数t所得之余数,生成列地址的第三生成部;
以及根据将表示参照图象的顶点位置的Y坐标除以象素块的横向的色差分量数s所得之商和将表示参照图象的顶点位置的Y坐标除以象素块的纵向的色差分量数t所得之商,生成行地址及存储单元地址的第四生成部;
根据第一及第二生成部生成的行地址、列地址及存储单元地址,确定色差分量的读出处地址。
7.根据权利要求6所述的图象译码设备,其特征在于:
所述坐标计算装置备有
算出具有相当于参照图象的象素块的一半大小的第一读出范围的第一计算部;
以及算出具有相当于参照图象的象素块的其余一半大小的第二读出范围的第二计算部;
第一确定装置及第二确定装置根据算出的一半大小的第一读出范围及第二读出范围,确定读出处地址及读出长度。
8.根据权利要求7所述的图象译码设备,其特征在于:
所述图象编码设备备有判断所述差分图象是以帧单元编码还是以半帧单元编码的处理单元判断装置,
所述第一计算部
如果是以帧单元编码的,便算出具有相当于该差分图象的象素块的上半部分大小的第一读出范围,
如果是以半帧单元编码的,便算出具有相当于该差分图象的象素块的左半部分大小的第一读出范围,
所述第二计算部
如果是以帧单元编码的,便算出具有相当于该差分图象的象素块的下半部分大小的第二读出范围,
如果是以半帧单元编码的,便算出具有相当于该差分图象的象素块的右半部分大小的第二读出范围。
9.根据权利要求8所述的图象译码设备,其特征在于:
所述坐标计算装置备有
判断是否需要横向的半贝尔内插及纵向的半贝尔内插的内插要否判断装置;
当断定只需要纵向的半贝尔内插时,便沿纵向扩大第一读出范围的第一扩大部;
当断定只需要横向的半贝尔内插时,便沿横向扩大第一及第二读出范围的第二扩大部;
当断定需要纵向及横的半贝尔内插两者时,便沿纵向扩大第一读出范围,沿横向扩大第一读出范围及第二读出范围的第三扩大部;
第一确定装置及第二确定装置对第一读出范围、第二读出范围的每一个决定读出处地址及读出长度,
所述图象存储器内的输出部将参照图象的亮度分量及色差分量输出给每个第一读出范围、第二读出范围,
所述图象译码设备备有
保存构成图象存储器的输出部输出的参照图象的色差分量及亮度分量的象素块缓冲器;
以及对所保存的参照图象进行判断装置断定为必要的方向的半贝尔内插的半贝尔内插装置;
所述混合装置对进行过半贝尔内插的参照图象及差分图象进行混合。
10.根据权利要求9所述的图象译码设备,其特征在于:
如果图象存储器的输出部输出了第一读出范围内包括的色差分量及亮度分量,象素块缓冲器便将其保存起来,
所述半贝尔内插装置备有
一个象素一个象素地读出象素块缓冲器保存的亮度分量及色差分量的第一读出部;
如果需要纵向半贝尔内插,便读出在象素块缓冲器保存的象素块中位于被读出的象素之下的象素的亮度分量及色差分量的第二读出部;
如果需要横向半贝尔内插,便读出在象素块缓冲器保存的象素块中位于被读出的象素右侧相邻的象素的亮度分量及色差分量的第三读出部;
如果需要纵向及横向半贝尔内插,便读出在象素块缓冲器保存的象素块中位于被读出的象素的右斜下侧的象素的亮度分量及色差分量的第四读出部;
以及利用该亮度分量及色差分量和第二、第三、第四读出部读出的亮度分量及色差分量的平均值,生成第一读出部读出的象素的亮度分量及色差分量的生成部。
11.根据权利要求10所述的图象译码设备,其特征在于:
如果生成部生成读给象素块缓冲器的全部亮度分量,所述输出部便根据第二计算部算出的其余一半的第二读出范围,输出亮度分量,
所述象素块缓冲器备有如果输出象素块部分的亮度分量及色差分量,只将第一读出范围包括的亮度分量中最后一行留下,而将第二读出范围的亮度分量书写在第一读出范围的亮度分量所占据的区中的书写部,
所述半贝尔内插装置利用留下来的最后一行,对后一半读出的亮度分量进行判断装置断定为必要的方向的半贝尔内插。
12.根据权利要求10所述的图象译码设备,其特征在于:
如果生成部生成读给象素块缓冲器的全部亮度分量,所述输出部便根据第二计算部算出的其余一半的第二读出范围,输出亮度分量,
所述象素块缓冲器备有如果输出象素块部分的亮度分量及色差分量,则只将第一读出范围包括的亮度分量中最后一列留下,而将第二读出范围的亮度分量书写在第一读出范围的亮度分量所占据的区中的书写部,
所述半贝尔内插装置利用留下来的最后一列,对后一半读出的亮度分量进行判断装置断定为必要的方向的半贝尔内插。
13.根据权利要求4所述的图象译码设备,其特征在于:
所述图象译码设备备有
如果参照图象与重叠的多个象素块重叠,便根据参照图象的顶点坐标,判断全部这些象素块的重叠象素块判断装置;
在参照图象与多个象素块重叠的情况下,算出这些多个象素块的重叠部分的顶点坐标的顶点坐标计算装置;
根据顶点坐标计算装置算出的重叠部分的顶点坐标,确定给第一确定装置的读出处地址的第一生成控制装置;
以及根据顶点坐标计算装置算出的重叠部分的重叠长度,确定给第二确定装置的读出长度的第二生成控制装置。
14.根据权利要求13所述的图象译码设备,其特征在于:
所述图象译码设备备有
判断算出的参照图象的读出范围是否与多个象素块重叠的重叠范围判断装置;
以及在多个象素块相重叠的情况下,根据存储相重叠的象素块的亮度分量及色差分量的页区属于哪个存储单元地址,确定多个页区的读出顺序的顺序确定装置。
15.根据权利要求14所述的图象译码设备,其特征在于:
在读出范围沿横向与并排的两个象素块重叠的情况下,所述顺序确定装置将与重叠的横向幅度长的一方的象素块的重叠部分的读出顺序确定为先,将与重叠的横向幅度短的一方的象素块的重叠部分的读出顺序确定为后。
16.根据权利要求15所述的图象译码设备,其特征在于:
在读出范围与四个象素块重叠的情况下,所述顺序确定装置将与重叠的横向幅度最短、重叠的纵向幅度最长的一方的象素块的重叠部分的读出顺序确定为开始的顺序,
将与重叠的横向幅度最短、重叠的纵向幅度也最短的一方的象素块的重叠部分的读出顺序确定为最后的顺序。
17.根据权利要求16所述的图象译码设备,其特征在于:
所述图象译码设备备有
如果算出了参照图象,便从与参照图象重叠的多个页区,发送多个读出与读出范围的重叠部分用的读出命令的读出命令发送装置;
在发送了读出一个重叠部分的亮度分量用的最后的读出命令之后,发送使存储着剩余的重叠部分的页区预充电用的预充电命令的预充电命令发送装置;
以及在发送了读出一个重叠部分的亮度分量用的最后的读出命令之后,发送使存储着剩余的重叠部分的页区激活用的激活命令的激活命令发送装置。
18.根据权利要求17所述的图象译码设备,其特征在于:
在与重叠的横向幅度最短、重叠的纵向幅度最长的一方的象素块的重叠部分的读出顺序被确定为开始顺序的情况下,在对图象存储器发送读出命令之前,所述激活命令发送装置对多个存储单元地址发送激活命令。
19.根据权利要求9所述的图象译码设备,其特征在于:
在象素块中位于相邻坐标的两个亮度分量被存储在由行地址和一个列地址特定的最初区,
图象译码设备备有判断参照图象的左上顶点的X坐标是否是奇数坐标的坐标值判断装置;以及在断定了参照图象的左上顶点的X坐标是奇数坐标的情况下,将页边赋予第一及第二读出范围的赋予部,
第一确定装置及第二确定装置确定被赋予了页边的第一读出范围、第二读出范围的每一个的读出处地址及读出长度,
所述图象存储器内的输出部将参照图象的亮度分量及色差分量输出给各第一读出范围、第二读出范围,
所述象素块缓冲器保存构成图象存储器的输出部输出的参照图象的色差分量及亮度分量。
20.根据权利要求19所述的图象译码设备,其特征在于:
在第一及第二读出范围在被沿纵向及横向扩大了的情况下,所述第一、第二、第三放大部将页边赋予第一及第二读出范围,以使其呈二的倍数。
21.一种图象译码设备,它配备有一个对于将一画面的图象分割成横m象素×纵n象素的多个象素块进行存储的图象存储器,其中m,n为1以上的整数,
所述图象存储器具有行列状的存储区,用于
将构成一个象素块的s×t个第一色差分量和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的页区中,其中s,t为1以上的整数,
将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的页区中,
所述图象译码设备的特征在于备有:
将从外部输入的流译码成差分图象和动矢量的差分图象译码装置;
从图象存储器读出构成相当于应与差分图象混合的参照图象的象素块的一半的亮度分量,并从图象存储器读出与该一半的亮度分量相邻的一行及/或一列的亮度分量的第一读出装置;
保存读出的亮度分量的象素块缓冲器;
对所保存的一半的亮度分量进行判断装置断定为必要的方向的半贝尔内插的半贝尔内插装置;
以及读出构成相当于应与差分图象混合的参照图象的象素块的其余的一半的全部亮度分量的第二读出装置,
象素块缓冲器备有如果输出象素块部分的亮度分量及色差分量,则将前半部分中读出的亮度分量中与一半的亮度分量相邻的一行及/或一列的亮度分量留下,而将后一半中读出的亮度分量书写在前一半中读出的亮度分量所占据的区中的书写部,
所述半贝尔内插装置利用留下的一行及/或一列的亮度分量,对后一半读出的亮度分量进行判断装置断定为必要的方向的半贝尔内插。
22.一种有多个由行地址和列地址和存储单元地址来特定其地址的存储器阵列,在各存储器阵列中将一画面的图象分割成横m象素×纵n象素的多个象素块进行存储的图象译码设备,其中m,n为1以上的整数,
所述存储器阵列具有行列状的存储区,用于
将构成一个象素块的s×t个第一色差分量和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的页区中,其中s,t为1以上的整数,
将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的页区中,
所述图象译码设备的特征在于备有:
将从外部输入的流译码成差分图象和动矢量的差分图象译码装置;
如果应与差分图象混合的参照图象与多个象素块重叠,便算出与这些象素块的重叠部分的顶点坐标的重叠部判断装置;
将重叠部的横向幅度及纵向幅度互相比较,确定重叠部的读出顺序的顺序确定装置;
根据读出顺序,从存储器阵列的页区从重叠部分读出亮度分量及色差分量的存储器存取装置;
以及将从多个页区读出的第一色差分量、第二色差分量及亮度分量混合在差分图象中的混合装置。
23.根据权利要求22所述的图象译码设备,其特征在于:
在读出范围沿横向与并排的两个象素块重叠的情况下,所述顺序确定装置将与重叠的横向幅度长的一方的象素块的重叠部分的读出顺序确定为先,将与重叠的横向幅度短的一方的象素块的重叠部分的读出顺序确定为后。
24.根据权利要求23所述的图象译码设备,其特征在于:
在读出范围与四个象素块重叠的情况下,所述顺序确定装置将与重叠的横向幅度最短、重叠的纵向幅度最长的一方的象素块的重叠部分的读出顺序确定为开始顺序,
将与重叠的横向幅度最短、重叠的纵向幅度也最短的一方的象素块的重叠部分的读出顺序确定为最后顺序。
25.根据权利要求24所述的图象译码设备,其特征在于:
所述图象译码设备备有
如果算出了参照图象,便从与参照图象重叠的多个页区,发送多个读出与读出范围的重叠部分用的读出命令的读出命令发送装置;
在发送了读出一个重叠部分的内容用的最后的读出命令之后,发送使存储着剩余的重叠部分的页区预充电用的预充电命令的预充电命令发送装置;
以及在发送了读出一个重叠部分的内容用的最后的读出命令之后,将激活命令发送给存储着剩余的重叠部分的页区的激活命令发送装置。
26.根据权利要求25所述的图象译码设备,其特征在于:
在与重叠的横向幅度最短、重叠的纵向幅度最长的一方的象素块的重叠部分的读出顺序被确定为开始顺序的情况下,在对图象存储器发送读出命令之前,所述激活命令发送装置对多个存储单元地址发送激活命令。
27.一种对于将一画面的图象分割成横m象素×纵n象素的多个象素块进行存储的图象存储器,其中m,n为1以上的整数,其特征在于:
具有行列状的存储区,用于
将构成一个象素块的s×t个第一色差分量和构成同一象素块的s×t个第二色差分量存储在从由某行地址和第一列地址特定的开始区到由该行地址和第二列地址特定的结束区的页区中,其中s,t为1以上的整数,
将构成同一象素块的m×n个亮度分量存储在从由另外的某行地址和第三列地址特定的另外的开始区到由该行地址和第四列地址特定的结束区的页区中。
CNB971911444A 1996-08-29 1997-08-28 图象译码设备和图象存储器 Expired - Lifetime CN1162010C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP22885096 1996-08-29
JP228850/96 1996-08-29
JP228850/1996 1996-08-29

Publications (2)

Publication Number Publication Date
CN1199533A CN1199533A (zh) 1998-11-18
CN1162010C true CN1162010C (zh) 2004-08-11

Family

ID=16882861

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971911444A Expired - Lifetime CN1162010C (zh) 1996-08-29 1997-08-28 图象译码设备和图象存储器

Country Status (7)

Country Link
US (1) US6075899A (zh)
EP (1) EP0859524B1 (zh)
JP (1) JP3294854B2 (zh)
KR (1) KR100440522B1 (zh)
CN (1) CN1162010C (zh)
DE (1) DE69737852T2 (zh)
WO (1) WO1998009444A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104416A (en) * 1997-11-18 2000-08-15 Stmicroelectronics, Inc. Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US6028612A (en) * 1997-11-18 2000-02-22 Stmicroelectronics, Inc. Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
EP1143341A4 (en) * 1999-10-29 2005-08-24 Sony Corp STORAGE MEDIUM AND METHOD AND DEVICE FOR PROCESSING INFORMATION
US6542541B1 (en) 2000-01-12 2003-04-01 Sony Corporation Method and apparatus for decoding MPEG video signals using multiple data transfer units
US6944087B2 (en) * 2001-02-24 2005-09-13 Intel Corporation Method and apparatus for off boundary memory access
EP1185109A1 (de) * 2000-08-10 2002-03-06 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Speicherung von Videobildern sowie Mobilfunkgerät
WO2002071761A1 (fr) 2001-03-05 2002-09-12 Nikon Corporation Programme et dispositif de traitement d'images
JP4078132B2 (ja) * 2002-06-28 2008-04-23 キヤノン株式会社 画像処理装置及びその方法
JP4078906B2 (ja) * 2002-07-19 2008-04-23 ソニー株式会社 画像信号の処理装置および処理方法、画像表示装置、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体
JP4319984B2 (ja) * 2002-09-02 2009-08-26 セッテック インコーポレイテッド 記録媒体複製用の複製装置、その方法、及びそのコンピュータプログラム
US6925117B2 (en) * 2003-03-12 2005-08-02 Kabushiki Kaisha Toshiba Data transmission apparatus, method and program, data reception apparatus and method, and data transmission and reception system, using differential data
KR100510677B1 (ko) * 2003-03-19 2005-08-31 엘지전자 주식회사 메모리 억세스 제어 장치
JP2004336451A (ja) * 2003-05-08 2004-11-25 Matsushita Electric Ind Co Ltd 画像復号ユニットとそれを用いた画像符号化装置及び符号化方法並びに画像復号装置及び復号方法
WO2005109205A1 (ja) * 2004-04-15 2005-11-17 Matsushita Electric Industrial Co., Ltd. 矩形領域に対するバーストメモリアクセス方法
JP4476065B2 (ja) * 2004-07-29 2010-06-09 富士通マイクロエレクトロニクス株式会社 画像処理システム
WO2006028093A1 (ja) * 2004-09-06 2006-03-16 Matsushita Electric Industrial Co., Ltd. 画像生成装置および画像生成方法
KR100695141B1 (ko) * 2005-02-15 2007-03-14 삼성전자주식회사 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법
US20060204125A1 (en) * 2005-03-09 2006-09-14 Kempf Jeffrey M Multi-dimensional keystone correction image projection system and method
JP2008536450A (ja) * 2005-04-13 2008-09-04 トムソン ライセンシング ビデオ復号化のための方法および装置
US7660354B2 (en) * 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
JP4762095B2 (ja) * 2006-09-20 2011-08-31 株式会社東芝 画像復号装置及び画像復号方法
US20100118943A1 (en) * 2007-01-09 2010-05-13 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding image
US8472066B1 (en) * 2007-01-11 2013-06-25 Marvell International Ltd. Usage maps in image deposition devices
EP2188978A2 (en) * 2007-09-10 2010-05-26 Nxp B.V. Method and apparatus for line-based motion estimation in video image data
JP4695124B2 (ja) * 2007-09-13 2011-06-08 日本電信電話株式会社 動画像符号化における動き探索装置
US8358314B2 (en) * 2008-02-08 2013-01-22 Apple Inc. Method for reducing framebuffer memory accesses
WO2009136051A2 (fr) * 2008-04-15 2009-11-12 France Telecom Codage et decodage d'une image ou d'une sequence d'images decoupees selon des partitions de pixels de forme lineaire
US8587598B2 (en) * 2009-10-29 2013-11-19 Mediatek Inc. Memory address mapping method for controlling storage of images in memory device and memory address mapping circuit thereof
JP5662233B2 (ja) * 2011-04-15 2015-01-28 株式会社東芝 画像符号化装置及び画像復号装置
JP6084000B2 (ja) * 2012-10-18 2017-02-22 株式会社メガチップス 画像処理装置
FR3009432B1 (fr) 2013-08-05 2016-12-23 Commissariat Energie Atomique Circuit integre sur soi muni d'un dispositif de protection contre les decharges electrostatiques
US11394987B2 (en) * 2020-12-11 2022-07-19 Qualcomm Incorporated Chroma samples from luma samples prediction for video coding
CN115426466B (zh) * 2022-08-22 2024-12-31 珠海一微半导体股份有限公司 一种图像数据的读写控制系统及读写控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications
JPH05244438A (ja) * 1992-02-28 1993-09-21 Canon Inc 圧縮伸長回路
TW245871B (en) * 1994-08-15 1995-04-21 Gen Instrument Corp Method and apparatus for efficient addressing of dram in a video decompression processor
JPH0877345A (ja) * 1994-09-09 1996-03-22 Toshiba Corp 画像データ処理装置
DE4441295A1 (de) * 1994-11-21 1996-05-23 Sican Gmbh Verfahren und Schaltungsanordnung zur Adressierung von Komponenten blockweise organisierter digitaler Bilddaten in einem Speicher mit Page-Adressierung
JP3120010B2 (ja) * 1994-12-28 2000-12-25 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 画像復号処理方法および画像復号装置
JP3624457B2 (ja) * 1995-04-07 2005-03-02 ソニー株式会社 画像信号符号化装置及び画像信号復号化装置
US5960115A (en) * 1995-07-11 1999-09-28 Xerox Corporation Method for decompressing multiple codes in a single clock cycle
JP3880088B2 (ja) * 1995-12-28 2007-02-14 キヤノン株式会社 符号化装置及び復号化装置

Also Published As

Publication number Publication date
EP0859524A1 (en) 1998-08-19
DE69737852T2 (de) 2007-10-18
EP0859524A4 (en) 2000-11-22
KR100440522B1 (ko) 2004-10-15
KR19990067196A (ko) 1999-08-16
US6075899A (en) 2000-06-13
CN1199533A (zh) 1998-11-18
EP0859524B1 (en) 2007-06-27
JP3294854B2 (ja) 2002-06-24
DE69737852D1 (de) 2007-08-09
WO1998009444A1 (en) 1998-03-05

Similar Documents

Publication Publication Date Title
CN1162010C (zh) 图象译码设备和图象存储器
CN1260979C (zh) 图像处理装置及系统、解码装置、编码装置及编码方法
CN1130638C (zh) 存储装置和存取方法
CN1156171C (zh) 提高处理效率的图象声音处理装置
CN1315331C (zh) 图像信号转换方法和设备以及图像提供系统
CN1993709A (zh) 信号处理设备
CN1197351C (zh) 图像合成装置
CN1320809C (zh) 图像处理装置与方法
CN1138420C (zh) 图象处理器、图象数据处理器和可变长度代码解码器
CN1571988A (zh) 图像处理装置、图像传送装置、图像接收装置和图像处理方法
CN1922630A (zh) 图象处理装置、图象处理系统、图象处理方法、图象处理程序及集成电路装置
CN1745373A (zh) 使用-色彩信息数据结构来处理图像信息的策略
CN1225545A (zh) 移动图像合成系统
CN1507751A (zh) 视频编码方法和装置以及视频解码方法和装置
CN1956545A (zh) 图像处理装置、图像处理方法、记录介质和程序
CN1961338A (zh) 图像处理设备和方法、记录介质以及程序
CN1823368A (zh) 媒体数据显示装置、媒体数据显示方法及媒体数据显示程序
CN1947152A (zh) 图像处理方法和设备、记录介质、及程序
CN1442797A (zh) 数据处理装置和程序
CN1799064A (zh) 图像处理装置
CN1253013C (zh) 预测装置、编码装置、逆预测装置、解码装置
CN1160947C (zh) 视频显示器
CN1289509A (zh) 数据处理方法、数据处理装置和程序记录媒体
CN1744720A (zh) 可变长度解码装置
CN1099118C (zh) 半导体存储器及其测试电路、存储器系统、和数据传送系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: INTELLECTUAL PROPERTY BRIDGE NO. 1 CO., LTD.

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20150408

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150408

Address after: Tokyo, Japan

Patentee after: GODO KAISHA IP BRIDGE 1

Address before: Japan Osaka kamato City

Patentee before: Matsushita Electric Industrial Co., Ltd.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040811