CN1929539A - 图像处理装置和方法 - Google Patents
图像处理装置和方法 Download PDFInfo
- Publication number
- CN1929539A CN1929539A CN 200610126766 CN200610126766A CN1929539A CN 1929539 A CN1929539 A CN 1929539A CN 200610126766 CN200610126766 CN 200610126766 CN 200610126766 A CN200610126766 A CN 200610126766A CN 1929539 A CN1929539 A CN 1929539A
- Authority
- CN
- China
- Prior art keywords
- address
- read
- write
- positioning
- view data
- 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.)
- Pending
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
一种图像处理装置,用于在光栅格式和块格式之间转换图像数据,所述装置包括:图像数据处理器,用于提供光栅格式的、包括一个亮度分量和至少一个色度分量的图像数据;至少两个FIFO存储器,用于存储对应的图像数据分量;复用器,用于复用来自该至少两个FIFO存储器的图像数据分量;行缓冲存储器,用于存储复用器的输出;图像压缩器,用于从统一(unified)行缓冲存储器依序以块格式接收图像数据分量,并且压缩所接收的图像数据分量。
Description
本申请为2003年07月18日提交的、申请号为03178486.0、发明名称为“图像处理装置和方法”的申请案的分案申请。
相关申请
本申请要求2002年7月19日提交的韩国专利申请第2002-42603号、2002年7月30日提交的韩国专利申请第2002-44991号和2003年3月31日提交的韩国专利申请第2003-20170号的优先权,这三个韩国专利申请的内容在此整体引入作为参考。
技术领域
本发明涉及一种图像处理装置和方法,具体地说,涉及用于在光栅扫描顺序和块扫描顺序之间转换图像数据的图像处理装置和方法。
背景技术
JPEG(联合图像专家组)是用于传输诸如照片的静止图像的压缩标准。JPEG被设计用于压缩全彩色或灰度图像,并且对于照片或艺术使用良好。虽然另一种格式GIF(图形交换格式)允许传输256色的彩色图像,但是JPEG能够以大约16兆的颜色来处理彩色图像,并且更适合于高分辨率的显示设备。JPEG的另一个优点是用户可以控制图像的质量和图像文件的尺寸。例如,当大尺寸的图像文件被压缩为相当小尺寸的文件的时候,图像的质量恶化。但是,JPEG压缩技术能够可靠地压缩图像,以便压缩的图像在质量上不降低。
因此,JPEG已经被广泛用于在诸如数字照相机的设备中的静止图像数据的压缩。如所公知的,JPEG使用离散余弦变换(DCT)来压缩数据。DCT以诸如8*8像素的块格式来处理数据。但是,在DCT处理之前的数字照相机的图像数据处理器以光栅格式(即以光栅扫描顺序,在全部图像数据中从左向右和从上向下)来输出图像数据。图1A图解了由数字照相机的图像数据处理器输出的按照光栅扫描顺序的图像数据。
为了使用以光栅格式存储在行缓冲器中的JPEG图像数据(它从照相机的图像数据处理器输出,如图1A所示),应当在提供到JPEG压缩器之前,以如图1B所示的块格式来读取这种数据。图1B图解了要输入到JPEG压缩器的、以块顺序格式的图像数据。从光栅扫描格式向块扫描格式的转换需要能够存储至少8行图像数据的行存储器。而且,因为图像数据包括亮度分量Y和色度分量U与V,因此每个彩色分量需要独立的行存储器。
图2图解了用于产生JPEG压缩的8*8块的、按照传统的VGA(可变图像阵列)工作的传统行存储系统。图像数据处理器10产生光栅格式(例如4:2:2光栅格式)的图像数据的亮度分量Y和色度分量U与V。从图像数据处理器10产生的图像数据分量Y、U和V被存储器控制器存储在对应的行存储器12、14和16的象元阵列中。由图像数据处理器10存储在各个行存储器12、14和16中的图像数据分量Y、U和V被以要通过复用器18传送到JPEG压缩器20的8*8块单元的次序读取。
每个行存储器12、14和16可以包括另外的外围电路,用于驱动对应的行存储器12、14和16的象元阵列。一个这样的示例是地址解码器。因此,当使用多个行存储器的时候,存在大量的硬件重复。这导致设计成本的提高。另外,行存储器已经变大,并且当行存储器被嵌入在芯片中以便以低功率操作行存储系统的时候,芯片也必须在尺寸上增加。最后,由于图像数据的数量的大小增加,行存储器必须增大。结果,上述的问题变得更为严重。
如上所述,JPEG使用DCT来用于数据的压缩,DCT处理在8*8像素的块单元上的数据,照相机的图像数据处理器产生图像数据(以光栅格式,即在全部图像数据中从左向右或从上向下)。于是,将光栅扫描顺序向块扫描顺序的图像数据转换需要一个行存储器,它能够存储至少8行的图像数据。在从存储8行图像数据的行存储器产生8*8像素的图像块的时候,照相机的图像数据处理器产生新的图像数据。因此,需要一对8行的行存储器(一个用于读、一个用于写)来连续地处理图像数据。换句话说,当以光栅扫描格式向一个行存储器写入图像数据的时候,以8*8块读出在另一个行存储器中存储的图像数据。因为图像数据被划分成亮度分量Y和色度分量U与V,因此对于每个图像数据分量Y、U、V需要一对行存储器。
图3A是另一个传统的VGA标准的图像数据处理装置的示意方框图,它图解了仅仅用于亮度分量Y的成对的行存储系统(对于每个色度分量U和V也需要成对行存储系统)。8行的亮度分量Y被从图像数据处理器10输出,并且被线性地存储到第一行存储器Y1(121)中。8行的第二亮度分量Y被线性地存储到第二行存储器Y2(122)中,并且同时,以8*8块单位在第一行存储器Y1上执行读取操作。为了实现这一点,复用器18的开关181闭合,并且向JPEG压缩器20传送从第一行存储器Y1(121)读出的8*8图像数据块。
图3B图解了来自图像数据处理器10的像素顺序,图3C图解了存储在各个行存储器12、14和16中的彩色分量Y、U、V。
地址产生器24产生第一和第二行存储器121和122的写和读地址。对于640×480VGA图像,如图3D所示,行存储器121和122的写地址wr_addrline从0提高到640*8-1。按照下面的方程1来设置以块为单位的、用于读出图像数据的、行存储器121和122的读地址rd_addrline。
for(i=0;i<640/8;i++){
for(vv=0;vv<8;vv++){
for(hh=0;hh<8;hh++){
rd_addrline=vv*640+(i*8+hh)=(vv*80+i)*8+hh
}
}
}
其中“640”表示在VGA标准中的水平像素的数量,“i”表示块的顺序,“vv”是表示一个块的垂直像素(行)的变量,“hh”是表示一个块的水平像素的变量,(vv*80+i)是将其值保持8个周期的定位地址(anchor address)。
当参考写地址wr_addrline在第一行存储器Y1(121)存储8行的第三亮度分量Y的时候,复用器18的开关181断开,复用器18的开关182闭合。参考读地址以块为单位在第二行存储器Y2(122)上执行读取操作,所读取块被传送到JPEG压缩器20。
如所示和所述的,上述的传统图像处理方法对于每个彩色分量使用至少一个行存储器,并且对于每个彩色分量可能使用一对行存储器。例如,在VGA标准的情况下,一对640*8字节的行存储器被用于亮度分量Y,一对320*8字节的行存储器被用于色度分量U、V。于是,在行存储器被嵌入一个芯片以便以低功率操作系统的时候,可能增加芯片的尺寸。而且,随着图像数据大小的增加,上述的问题变得更为严重。
发明内容
在一个典型的实施例中,本发明提供了一种具有较小行缓冲存储器的图像处理装置,用于在光栅格式和块格式之间转换图像数据。
在一个典型的实施例中,本发明提供了一种图像处理装置,用于在光栅格式和块格式之间转换图像数据,所述方法是利用较小的行缓冲存储器来执行的。
在一个典型的实施例中,本发明提供了一种具有减少的数量的行存储器的图像处理装置。例如,在单个统一的行存储器中存储每个图像数据分量或彩色分量。在这样的典型实施例中,因为降低了诸如嵌入存储器的地址解码器的外部电路的数量,所以行存储器的大小可以更小。
在一个典型实施例中,本发明使用了用于每个彩色分量的FIFO(先入先出)小容量存储器,以便从统一的行存储器以块单元的顺序读取图像数据。图像数据分量被从每个FIFO存储器读出,并且被存储在统一行存储器中,以便容易从统一的行存储器以块单元的顺序读取图像数据。
在一个典型实施例中,本发明针对用于在光栅格式和块格式之间转换图像数据的图像处理装置,包括:图像数据处理器,用于提供光栅格式的、包括一个亮度分量和至少一个色度分量的图像数据;至少两个FIFO存储器,用于存储对应的图像数据分量;复用器,用于复用来自该至少两个FIFO存储器的图像数据分量;统一行缓冲存储器,用于线性地存储复用器的输出;图像处理器,用于从统一行缓冲存储器依序以块格式接收图像数据分量和压缩所接收的图像数据分量。
在本发明的另一个典型实施例中,所述亮度分量是亮度分量Y,所述色度分量是色度分量U和V。
在本发明的另一个典型实施例中,复用装置顺序复用2*h个亮度分量和2*h个色度分量,以便使得容易以块单元的顺序从统一行缓冲存储器读取,其中h表示一个块格式的水平分辨率,或水平方向的像素的数量。在JPEG标准的一个示例中,一个块格式的水平分辨率或水平像素的数量是8。
在另一个典型实施例中,图像数据处理器以亮度分量Y、色度分量U、亮度分量Y和色度分量V、即YUYVYUYV...的顺序来提供图像数据。复用装置以2*h数量的亮度分量Y、h数量的色度分量U和h数量的色度分量V的顺序复用,其中h是一个块格式的水平分辨率。JPEG压缩器以块Y、块Y、U和块V的顺序来接收块格式的图像数据,即,JPEG压缩器以Y、Y、U、V、Y、Y、U、V...的顺序来接收图像数据,并且压缩所接收的图像数据。
在一个典型实施例中,统一行缓冲存储器具有H*v*2字节的大小,其中H是图像数据的水平分辨率,是作为一个块格式的垂直分辨率的v的倍数。在JPEG标准的示例中,h等于8,在VGA标准中,H等于640。
在一个典型实施例中,本发明针对一种图像处理装置,包括:图像数据处理器,它提供包括亮度Y、U、Y、V...的、水平分辨率H的图像数据;多个FIFO存储器,用于存储对应的分量Y、U和V;复用器,用于复用16个分量Y、8个分量U和8个分量U;统一行缓冲存储器,用于线性地存储复用装置的输出;图像压缩器,顺序接收两个亮度分量Y的块、一个色度分量U的块和一个色度分量V的块,并且以块为单位压缩所接收的图像数据分量。
在一个典型实施例中,每个块包括8*8个彩色分量,并且统一行缓冲存储器具有H*8*2字节的大小。即,如果可以将一个帧的图像数据划分成N个块,则本发明的统一行缓冲存储器具有存储N个块的分量Y、N/2的块的分量U和N/2个块的分量V的容量。
按照本发明的典型实施例,图像处理装置仅仅使用一个统一行缓冲存储器。于是,因为不需要对于一个的诸如嵌入行缓冲存储器的地址解码器的每个外部电路,因此可以降低存储器的大小。另外,通过利用FIFO存储器将图像数据存储在统一行缓冲存储器中,以便使得容易以块单位、即以16个分量Y、8个分量U和8个分量V的顺序来读取。
在一个典型实施例中,本发明提供了一种图像处理方法,其中光栅格式的包括不同彩色分量的图像数据被存储到单个统一行缓冲存储器中。每个彩色分量被存储到各个小容量的FIFO存储器中,并且被复用到单个统一行缓冲存储器,以便容易地以块为单位被读出。其后,每个彩色分量被存储在统一行缓冲存储器。
在一个典型实施例中,本发明提供了一种图像处理方法,包括:提供光栅格式的图像数据,其中包括亮度分量和一对色度分量;将图像数据存储到对应的FIFO存储器中;将存储在FIFO存储器中的图像数据存储在单个光栅格式和块格式;以块格式的顺序输出图像数据。
在另一个典型实施例中,以16个亮度分量、8个第一色度分量和8个第二色度分量的顺序来在统一行缓冲存储器存储图像数据。以2块亮度分量、1块第一色度分量和1块第二色度分量的顺序依序输出在统一行缓冲存储器存储的图像数据。优选的是,亮度分量是Y,第一色度分量是U,第二色度分量是Y。
在一个典型实施例中,本发明提供了一种图像处理方法,将存储在FIFO存储器中的图像数据存储到单个行缓冲存储器中包括:以16个亮度分量、8个第一色度分量、8个第二色度分量的顺序从FIFO存储器读取图像数据,然后以读取的顺序在统一行缓冲存储器中线性写入图像数据。在一个典型实施例中,当从FIFO存储器读取图像数据并且将其写入统一行缓冲存储器的时候,新的图像数据被存储在FIFO存储器中。
在一个典型实施例中,在将8个色度分量Y存储到FIFO存储器中之后开始从FIFO存储器读取初始的亮度分量。
在本发明的另一个典型实施例中,可以在将16个色度分量Y存储到FIFO存储器之后开始从FIFO存储器读取初始亮度分量。
在一个典型实施例中,本发明针对一种图像处理装置,用于在光栅扫描顺序和块扫描顺序之间转换图像数据,包括:图像数据处理器,用于提供图像数据,所述图像数据包括光栅扫描顺序的水平分辨率H和垂直分辨率V;单个行存储器,用于存储v行的图像数据;地址产生器,用于产生单个行存储器的公共读/写地址;图像压缩器,用于从单个行存储器接收v*h块单元的图像数据,并且压缩所接收的图像数据,其中当参考公共读/写地址以块扫描顺序从单个行存储器读出v行的图像数据的时候,参考相同的共同读/写地址来向单个行存储器写入下一个v行的图像数据。
公共读/写地址产生器可以包括:一对地址缓冲器,用于存储定位地址;地址控制器,用于根据定位地址来合成公共读/写地址。定位地址具有值0~H*v/h-1,它在v行的图像数据的v*H个像素的每h像素递增1。相对于在另一个地址缓冲器中存储的定位地址的顺序来以块扫描的顺序来向一个地址缓冲器中存储一个定位地址。
存储在一个地址缓冲器中的定位地址可以是f[n],其中f[n]是存储在另一个地址缓冲器中的第n个地址的定位地址,n等于(H/h)*vv+i,其中“i”表示v行的图像数据的块顺序,并且从0向(H/h)-1递增。“vv”表示一个块的行数,并且对于每个i从0递增到v-1。即,存储在其他地址缓冲器的地址0、H/h、H/h*2、H/h*3、...、H/h*(v-1)、1、H/h+1、H/h*2+1、H/h*3+1、...、H/h*(v-1)+1、...中的定位地址被依序存储在一个地址缓冲器中的地址0、1、2、3、...、v-1、v、v+1、v+2、v+3、...、v+7、...中。
在另一个典型实施例中,地址控制器提供一个读地址,用于从一个地址缓冲器读出定位地址,并且提供一个写地址,用于向另一个地址缓冲器写入从一个地址缓冲器读出的定位地址。地址控制器通过将从一个地址缓冲器读出的定位地址乘以v并且加上从0向h-1递增的hh来合成公共读/写地址。
在另一个典型实施例中,地址控制器提供用于一个地址缓冲器的读地址n=(H/h)*vv+i、用于向另一个地址缓冲器写入由读地址n=(H/h)*vv+i读出的定位地址的、从0到H-1递增的写地址。
当从单个行存储器读出下一个v行的图像数据并且其后的下一个v行的图像数据被写入单个行存储器的时候,地址控制器提供读地址n=(H/h)*vv+I,以便从所述那个地址缓冲器读出定位地址,并且提供从0递增到H-1的写地址,以便向另一个地址缓冲器写入从所述那个地址缓冲器读出的定位地址。
在一个典型实施例中,本发明针对一种地址产生器,用于利用一个行存储器在具有分辨率V*H的光栅扫描顺序和v*H个像素的块扫描顺序之间转换图像数据,所述地址产生器包括一对地址缓冲器和一个地址控制器。一对地址缓冲器的每个在彼此具有互补操作模式的读和写模式之间转换,并且存储定位地址。地址控制器用于提供用于读取操作模式的地址缓冲器的读地址以及用于写入操作模式的地址缓冲器的写地址,并且根据从地址缓冲器读出的定位地址合成对行存储器的公用读/写地址。
定位地址具有值0~v*H/h-1,它们在写入到行存储器的v*H个像素的每h个像素递增。参考所述读地址从一个地址缓冲器读出的定位地址被参考所述写地址写入另一个地址缓冲器中。此时,读地址给定为(H/h)*vv+i,以对应于块扫描顺序(在此,“i”表示v行的图像数据的块顺序,并且从0向(H/h-1))递增,“vv”表示一个块的行数,并且对于每个i从0向v-1递增),并且写地址给定为从0向v*H/h-1递增。通过将经由所述读地址读出的定位地址乘以h和加上hh来合成公共读/写地址,其中hh相对于每个“vv”从0向h-1递增。
在本发明的另一个典型实施例中,h等于8并且v等于8。
优选的是,当完全更新数据缓冲器的数据的时候,进行在读和写操作模式之间的转换。
在一个典型实施例中,本发明针对一种图像处理方法,用于利用单个行存储器在光栅扫描顺序和v*h块扫描顺序之间转换图像数据,包括:提供第一和第二地址缓冲器;产生地址缓冲器的读地址和写地址;将v行的图像数据存储到单个行存储器中,并且参照写地址向第一地址缓冲器存储在每h像素产生的定位地址;通过参考读地址来读出存储在第一地址缓冲器中的定位地址,并且参考写地址向第二地址缓冲器存储所读出的定位地址;根据通过读地址读出的定位地址产生行存储器的公共读/写地址;参考公共读/写地址读取v行的图像数据,并且同时向行存储器写入v行的新图像数据;重复读出定位地址,产生公共读/写地址和读出v行的图像数据,直到完全处理了所有的图像数据,其中每次重复读出定位地址、产生公共读/写地址和读出v行的图像数据,通过读和写地址交替地引用多个地址缓冲器,写地址依序递增,读地址对应于块扫描顺序。
在图像处理方法中,如果将被处理的图像数据具有V*H的分辨率,则定位地址具有值0~v*H/h-1,写地址关于从0到v*H/h-1的每h个像素递增,并且读地址是H/h*vv+i(在此,“i”是表示写入到单个行存储器的v*H图像数据的块顺序的变量,它从0向H/h-1递增,“vv”是表示块的行顺序的变量,它对于每个i从0向v-1递增)并且关于每h个像素保持一个值。公共读/写地址是f[(H/h*vv+i)]*h+hh(其中“hh”是表示块的水平像素的顺序的变量,并且对于每个i从0递增到h-1,并且f[(H/h*vv+i)]是从地址缓冲器通过读地址H/h*vv+i读出的定位地址)。
在本发明的另一个典型实施例中,v等于8,h等于8。
在一个典型实施例中,本发明针对一种图像处理方法,用于在具有V*H的分辨率的光栅扫描顺序和8*8块扫描顺序之间转换图像数据,包括:向单个行存储器线性写入8*H像素的图像数据,并且参考写地址向第一地址缓冲器写入每8个像素保持固定值的定位地址;参考读地址读取存储在第一地址缓冲器中的定位地址;参考写地址向第二地址缓冲器存储从第一地址缓冲器读出的定位地址,并且根据所读出的定位地址合成公共读/写地址;参考图像数据处理器从单个行存储器读出8*H像素的图像数据,同时参考公共读/写地址向单个行存储器写入下一个8*H像素的图像数据;重复读取定位地址、存储定位地址和读出8*H像素的图像数据,直到完全处理了V*H个像素的图像数据,其中每次重复读取定位地址、存储定位地址和读出8*H像素的图像数据,通过读和写地址来交替参考地址缓冲器,写地址从0向H-1依序递增,读地址满足(H/8)*vv+i,其中“i”表示8行图像数据的块的顺序,并且从0向(H/8)-1递增,“vv”表示块的行数并且对于每个i从0向7递增,并且通过将经由读地址读出的定位地址乘以8和加上从0递增到7的hh来合成公共读/写地址。
在一个典型实施例中,本发明针对图像处理装置和方法,用于在光栅扫描顺序和块扫描顺序之间转换图像数据,它使用数量减少的行存储器。换句话说,本发明对每个彩色分量使用单个行存储器和一对地址缓冲器,以便在单个行存储器中连续执行光栅扫描顺序的读操作和块扫描顺序的写操作。当第一个8行图像数据被从地址0到最后一个地址依序存储到行存储器的时候,每个地址缓冲器存储通过将块的每行(以下称为“段”)的第一地址除以8而得到的一个值(以下称为定位地址)。每个段包括8个像素,8个段构成一个块。例如,在使用JPEG的VGA标准的亮度分量的情况下,定位地址是0、1、2、3、...、638、639。一个地址缓冲器存储以与存储在另一个地址缓冲器中存储的定位地址的顺序不同的顺序存储定位地址。即,这个地址缓冲器相对于存储在其他地址缓冲器的定位地址(0,1,2,3,...,638,639)的顺序、以顺序对应的块扫描顺序(例如以0,80,160,...,560,1,81,...,561,2,82,162,...,78,...,638,79,159,239,...,559,639的顺序)存储定位地址。当线性地向单个行存储器写入(存储)初始的8行图像数据的时候,每8个像素递增的定位地址(0,1,2,3,...,638,639)被写入第一地址缓冲器的地址0~639。地址控制器产生公共读/写地址,以便产生8*8图像块,即以8*8为单位从单个行存储器读出第一个8行的图像数据。地址控制器读出以块扫描顺序在第一地址缓冲器中存储的定位地址(0,1,2,3...,638,639)(即在地址0,80,160,...,560,1,81,...,561,2,82,162,...,78,...,638,79,159,239,...,559,639读出定位地址),并且在第二地址缓冲器的地址0~639存储所读取的定位地址。通过将块扫描顺序的所读出的定位地址乘以8和依序加上0~7来合成公共读/写地址。参考公共读/写地址从单个行存储器中以块扫描顺序读出第一个8行,同时参考公共读/写地址向单个行写入第二个8行。用于从第一地址缓冲器读出定位地址的读地址是(640/8)*vv+i,并且在此,“i”表示图像数据的块顺序,它从0向79递增。“vv”相对于每个“i”从0向7递增。即,在第一地址缓冲器中,存储在地址0,80,160,...,1,81,...中的定位地址被以这个顺序读出。
根据存储在第二地址缓冲器的地址编号0~639中的定位地址(0,80,160,...,560,1,81,...,561,2,82,162,...,78,...,638,79,159,239,...,559,639)来合成用于从其读出第二个8行和向单个行存储器写入第三个8行的公共地址。第二地址缓冲器的读地址于第一地址缓冲器的读地址相同。即,存储在地址0,80,160,...,560,1,81,...,561,2,82,162,...,78,...,638,79,159,239,...,559,639中的定位地址被读出和写入到第一地址缓冲器的地址0~639。类似地,来自第二地址缓冲器的读定位地址被乘以8和依序加上0~7,于是合成了公共读/写地址。
重复上述的步骤直到完全地处理了图像数据的一个帧(在JPEG的情况下,图像数据的帧是680*480)。按照本发明,总是按照固定模式、即(640/8)*vv+i来产生地址缓冲器的读地址,并且写地址总是从0向639递增。当完全处理了8行的时候,地址缓冲器的定位地址被更新和替代为新顺序的定位地址。可以利用计数器来容易地体现地址缓冲器的写地址,同样,可以利用计数器、乘法器或加法器来容易地体现具有固定模式的读地址。
本发明提供一种行缓冲系统,用于在光栅格式和块格式之间转换图像数据,所述装置包括:至少两个FIFO存储器,用于接收光栅格式的、包括一个亮度分量和至少一个色度分量的图像数据,并且存储对应的图像数据分量;复用器,用于从至少两个FIFO存储器复用图像数据分量;统一行缓冲存储器,用于存储复用器的输出;以及FIFO控制器,用于控制从所述至少两个FIFO存储器的读取操作和向它们的写入操作。
附图说明
图1A图解了以光栅扫描顺序写入行存储器的图像数据;
图1B图解了以块扫描顺序读出的、以光栅扫描顺序存储在行存储器的图像数据;
图2是传统的图像处理装置的行缓冲系统的示意方框图,所述装置对每个彩色分量使用独立的行存储器;
图3A是利用针对每个彩色分量的一对行存储器的传统图像处理装置的行缓冲系统的示意方框图,图3B图解了来自数字照相机的图像数据处理器的像素顺序,图3C图解了存储在各自的行存储器中的彩色分量,图3D图解了一个640×480VGA亮度图像;
图4是按照本发明的一个典型实施例的图像处理装置的行缓冲系统的示意方框图,其中所有的彩色分量被存储到单个统一(unified)行缓冲存储器中;
图5是用于图解彩色分量被存储在图4的图像处理装置的统一行缓冲存储器中的时序图;
图6A到6E图解了在图5的时序图中的t0~t4时间存储在每个FIFO存储器中的彩色分量;
图7是图解以光栅扫描顺序存储在统一行缓冲存储器的典型实施例中的图像数据的示意图;
图8是按照本发明的另一个典型实施例的、利用单个行存储器的图像处理装置的示意方框图;
图9A到9D是用于图解按照本发明的一个典型实施例的、在单个行存储器存储8*80像素的图像数据的图;
图10A到10D是用于图解按照本发明的一个典型实施例的、在地址缓冲器中存储定位地址的图;
图11是按照本发明的一个典型实施例的地址产生器的方框图;
图12A和12B是按照本发明的一个典型实施例的、单个行存储器的读地址格式和在地址缓冲器中存储的定位地址格式的示意图;
图13A和13B是按照本发明的一个典型实施例的、定位地址和从定位地址合成的单个行存储器的公共读/写地址的示意图;
图14是按照本发明的一个典型实施例的、初始化步骤的时序图;
图15图解了按照本发明的一个典型实施例的、在初始化后的地址缓冲器1142的内容;
图16是示出按照本发明的一个典型实施例的、用于在一个地址缓冲器中写地址的写步骤的时序图;
图17图解了按照本发明的一个典型实施例的、在写入后的地址缓冲器1144的内容;
图18示出了按照本发明的一个典型实施例的、图16的地址缓冲器1142的下一个8个像素行的内容;
图19是示出按照本发明的、当第一个8行VGA标准图像数据被存储到单个行存储器的时候通过地址控制部分产生的各种信号的时序图;
图20是示出了按照本发明的一个典型实施例的、当第二个8行VGA标准图像数据被存储到单个行存储器的时候通过地址控制部分产生的各种信号的时序图;
图21图解了本发明的另一个典型实施例,即图4和11中图解的实施例的组合。
具体实施方式
以下,参照附图来更全面地说明本发明,附图中示出了本发明的优选实施例。下面,“H”表示图像数据的水平分辨率或水平方向的像素数量,“h”表示块的水平分辨率或在块的水平方向的像素的数量。在VGA标准的情况下,水平分辨率“H”是640,垂直分辨率“V”是480。
图4是按照本发明的一个典型实施例的、包括单个统一行缓冲存储器图像处理装置的示意方框图。图像处理装置包括:图像数据处理器100,用于提供光栅格式的图像数据;JPEG压缩器200,用于以诸如8*8块单元的顺序的块单元的顺序压缩图像数据;行缓冲系统150,用于在图像数据处理器100和JPEG压缩器200之间在光栅格式和块格式之间转换数据。图像数据处理器100产生彩色分量的数字数据,所述彩色分量包括亮度分量和色度分量。例如,亮度分量是Y,色度分量是U和V。图像数据处理器100可以以4:2:2格式、4:4:4格式或任何对本领域的普通技术人员公知的任何其他的格式来产生亮度分量Y和色度分量U和V。在4:2:2格式的情况下,图像数据处理器100以光栅格式以Y、U、Y、V、Y、U、Y、V...的顺序产生亮度和色度分量。下面的讨论假定图像数据处理器100以4:2:2格式产生亮度分量和色度分量,但不是必须如此。
按照本发明的典型实施例的行缓冲系统150,包括从图像数据处理器100产生的亮度分量和色度分量的图像数据被存储在统一行缓冲存储器180中。统一行缓冲存储器180可以存储至少8行的图像数据,用于转换扫描格式(在光栅格式和8*8块格式之间的转换)。因为图像数据处理器100以4:2:2格式产生图像数据,统一行缓冲存储器180具有至少H*8*2字节的大小。不象对于每个彩色分量使用各自的行缓冲器的传统装置那样,在典型实施例中的本发明向图像处理装置提供单个统一行缓冲存储器。因此,用于驱动包括在传统的行存储器系统中对于每个彩色分量的每个行存储器中存储单元阵列的外围电路被合并(unified)为一个外围电路,类似地,用于读块单元的地址解码器被合并为一个地址解码器。结果,可以相对于传统的图像处理装置降低统一行缓冲存储器180的大小。小容量的FIFO存储器154、156和158被用于每种彩色分量,以便将图像数据以用于JPEG压缩器200的一种格式存储到统一行缓冲存储器180。每个FIFO存储器154、156和158将来自图像数据处理器100的图像数据划分成彩色分量,并且将所划分的图像数据通过复用器160传送到统一行缓冲存储器180,以便可以将每个彩色分量以用于JPEG压缩器200的一种格式传送到统一行缓冲存储器180。
具体而言,在FIFO控制器152的控制下,从图像数据处理器100输出的图像数据Y0U0Y1V0Y2U1Y3V1...通过彩色分量被存储在FIFO存储器154、156和158中。即,以Y0Y1Y2Y3...的顺序将亮度分量Y存储在FIFO_Y存储器154中,以U0U1...的顺序将色度分量U存储在FIFO_U存储器156中,以V0V1...的顺序将色度分量V存储在FIFO_V存储器158中。
在FIFO控制器152的控制下,在FIFO存储器154、156和158中存储的彩色分量被通过复用器160存储在统一行缓冲存储器180中。即,一个彩色分量被从FIFO存储器154、156和158读出和写入到统一行缓冲存储器180中。在这个情况下,FIFO控制器152被用于控制复用器160,以便每个彩色分量以用于JPEG压缩器200的格式被存储,即以便彩色分量以16个亮度分量Y、8个色度分量U和8个色度分量V的顺序依序被存储到统一行缓冲存储器180中。于是,为了开始,从FIFO_Y存储器154读出所述16个亮度分量Y,然后从FIFO_U存储器156读出所述8个色度分量U,然后从FIFO_V存储器158读出所述8个色度分量V。在重复上述处理之后,向统一行缓冲存储器180中存储8行的图像数据(8*H像素)。即,在统一行缓冲存储器中的每行存储H亮度分量Y、H/2色度分量U和H/2色度分量V。
现在参照图5和图6A-6E来说明图4的典型行缓冲系统150的操作。图5是对于4:2:2格式的典型行缓冲系统150的典型时序图。
参见图5和图6A-6E,以下将更为全面地说明在一个统一行缓冲存储器180中存储每个彩色分量。图5是一个时序图,用于图解来自图像数据处理器100的光栅格式的图像数据Y0U0Y1V0Y2U1Y3V1...被以(Y0Y1...Y15)(U0U1...U7)(V0V1...V7)(Y16Y17...Y31)(U8U9...U15)(V8V0...V15)的顺序线性地存储在统一行缓冲存储器180中。
图6A-6E是用于图解在每个FIFO存储器154、156和158中存储各个彩色分量的示意图。
在典型实施例中,FIFO_Y存储器154和FIFO_U存储器156是8字节的,FIFO_V存储器158是10字节的。
参见图5,从图像数据处理器100产生时钟CLK。与时钟CLK同步地,以Y0U0Y1V0Y2U1Y3V1...的顺序、即光栅格式从图像数据处理器100输出图像数据。FIFO控制器152控制写信号WR_Y、WR_U、WR_V,以便通过彩色分量将从图像数据处理器100产生的图像数据存储到每个FIFO存储器154、156和158中。另外,FIFO控制器152控制读信号RD_Y、RD_U、RD_V,以便以块单元的顺序将存储在每个FIFO存储器154、156和158中的彩色分量通过复用器160传送到统一行缓冲存储器180。写信号WR_Y、WR_U、WR_V和读信号RD_Y、RD_U、RD_V作用于各个FIFO存储器154、156和158。在每个奇数时钟CLK启动用于向FIFO_Y存储器154写入亮度分量Y的写信号WD_Y。在每个偶数时钟CLK或在读信号WD_Y失活期间交替地启动用于写入色度分量U和V的写信号WD_U、WD_V。于是,在第一个时钟C0,亮度分量Y0被存储在FIFO_Y存储器154,在第二时钟C1,色度分量U0被存储在FIFO_U存储器156,在第三时钟C2,Y1被存储在FIFO_Y存储器154,在第四时钟C3,色度分量V0被存储在FIFO_V存储器158,在第五时钟C4,Y2被存储在FIFO_Y存储器154,在第六时钟C5,U1被存储在FIFO_U存储器156,在第七时钟C6,Y3被存储在FIFO_Y存储器154,在第八时钟C7,V1被存储在FIFO_V存储器158。
当填充FIFO_Y存储器154的时候,在新的亮度分量Y被写入FIFO_Y存储器154之前,利用FIFO_Y存储器154开始读操作。例如,在8字节FIFO_Y存储器的情况下,因为在第15时钟C14在FIFO_Y存储器中存储第8个亮度分量Y7,所以在第17时钟C16启动用于亮度分量Y的第一读信号RD_Y。每16个时钟(例如,在第17时钟C16~第32时钟C31)启动读信号RD_Y。此时,16个亮度分量Y0~Y15被以线性增加的存储器地址存储在(写入到)统一行缓冲存储器180。同时,在读信号RD_Y失活期间或在启动读信号RD_Y的16个时钟之后的16个时钟C32~C47期间,交替启动读信号RD_U和RD_V。例如,在8个时钟C32~C39期间启动读信号RD_U,在随后的时钟C40~C47启动读信号RD_V。于是,8个色度分量U和8个色度分量V被从每个FIFO存储器156和158读出并且被写入统一行缓冲存储器180。接着,在随后的16个时钟C48~C63期间对亮度分量Y执行读操作,在随后的8个时钟C64~C71期间对色度分量U执行读操作,并且在随后的8个时钟C72~C79期间对色度分量V执行读操作。通过重复上述的读操作,随着地址在统一行缓冲存储器180中线性地增加(例如,地址连续从地址0增加到地址H*8*2-1),总共H*8*2个彩色分量被存储到统一行缓冲存储器180中。因为对于统一行缓冲存储器180的写地址连续增加,可以利用简单的计数器来容易地实现写地址产生器。
在这种情况下,当从每个FIFO存储器154、156、158读出彩色分量的时候,图像数据处理器100继续与时钟CLK同步地输出图像数据。于是,新的彩色分量继续被写入每个FIFO存储器154、156、158。结果,同时执行对于FIFO存储器154、156、158的读和写操作,这将参照图6A-6E示出的示例来说明。
图6A-6E示出了分别在时间t0、t1、t2、t3和t4在每个FIFO存储器154、156、158中存储的彩色分量。参见图6A,在时间t0,即紧临第17时钟C16被产生之前,在FIFO_Y存储器154中存储了8个分量Y(Y0~Y7),在FIFO_U和FIFO_V存储器156和158中已经分别存储了4个分量U(U0~U3)和4个分量V(V0~V3)。8字节的FIFO_Y存储器154已经被填充了亮度分量Y。8字节的FIFO_U存储器和10字节的FIFO_V存储器已经部分地被填充。如上所述,在第17时钟C16执行读操作。在第17时钟C16,第一亮度分量Y0被从FIFO_Y存储器154读出并且被写入统一行缓冲存储器(例如在地址0)。此时,第9亮度分量Y8被写入FIFO_Y存储器154中存储第一亮度分量Y0的区域。在第18时钟C17,第二亮度分量Y1被从FIFO_Y存储器154读出,并且被写入统一行缓冲存储器(例如在地址1),此时,第5色度分量U4被写入到FIFO_U存储器156。在第19时钟C18,第三亮度分量Y2被从FIFO_Y存储器154读出,并且被写入统一行缓冲存储器(例如在地址2),并且此时向FIFO_Y存储器154写入第10个亮度分量Y9。在第20时钟C19,第四亮度分量Y3被从FIFO_Y存储器154读出,并且被写入统一行缓冲存储器(例如在地址3),并且此时向FIFO_V存储器158写入第5个色度分量V4。于是,在时间t1,如图6B所示,已经从FIFO_Y存储器读出了8个亮度分量Y(Y0~Y7),分别地,存在新的4个亮度分量Y(Y8~Y11)和以前的4个亮度分量Y(Y4~Y7),在FIFO_U和FIFO_V存储器中存在6个色度分量。以这种方式,从FIFO存储器154、156、158读出彩色分量,并且向FIFO存储器154、156、158写入新的彩色分量。
如图6C所示,在时间t2或在读信号RD_Y失活的第33时钟C32,完成对于在FIFO_Y存储器154中的亮度分量Y8~y15(在t1和t2之间)的读操作。结果,在统一行缓冲存储器180中已经写入了16个亮度分量Y(Y0~Y15)。此时,亮度分量Y8~Y15在FIFO_Y存储器154中。FIFO_U存储器被填充了色度分量U0~U7。色度分量V0~V7被存储在FIFO_V存储器中,并且在随后的8个时钟C32~C39期间可以存储另外两个色度分量V(V8和V9)。
参见图6D,在时间t3,(在第41时钟C40),色度分量U0~U7已经从FIFO_U存储器156读出,并且被写入统一行缓冲存储器180(例如在地址16~23),并且色度分量U8和U9被写入FIFO_U存储器156。同时,已经向FIFO_Y存储器154写入了4个亮度分量Y(Y16到Y19),并且已经向FIFO_V存储器158写入色度分量V8和V9。结果,FIFO_V存储器158被填充色度分量V。
参见图6E,在时间t4(在第49时钟C48),已经从FIFO_V存储器158读出色度分量V0~V7,并且将其写入统一行缓冲存储器(例如在地址24~31),并且色度分量V10和V11已经在FIFO_V存储器158中。同时,4个亮度分量Y(Y20~Y23)已经在FIFO_Y存储器154中,结果亮度分量Y16~Y23在FIFO_Y存储器154中。色度分量U10和U11被重新写入FIFO_U存储器156中。
在如上所述从FIFO存储器154、156、158读出彩色分量的同时,从图像数据处理器100提供的新的彩色分量被写入对应的FIFO存储器154、156、158中。
在向统一行缓冲存储器180存储所有彩色分量的方法中,在向FIFO_Y存储器154存储所述8个分量Y之后,开始对分量Y的初始读操作。但是,按照另一个典型实施例,各种改变和改进也是可能的。换句话说,在使用16字节的FIFO_Y存储器的情况下,在所述16个分量Y被存储到FIFO_Y存储器154中之后,可以以初始分量Y来开始读操作。在这个示例中,FIFO_Y存储器154可以是16字节,FIFO_U存储器156可以是12字节,FIFO_V存储器158可以是14字节。即使在这种情况下,在FIFO_Y存储器154中存储所述8个分量Y之后,可以以初始分量Y来开始读操作。
另外,即使从图像数据处理器100提供的图像数据的格式改变,FIFO存储器154、156、158的大小也可以被调整来存储在统一行缓冲存储器180中的图像数据,以便以块为单位容易地执行读操作。
图7是存储了图像数据的统一行缓冲存储器180的示意图。统一行缓冲存储器180具有H*8*2字节的大小,并且以光栅扫描顺序依序(即从左向右和从上向下)增加存储器地址。在每行中的图像数据被以所述16个分量Y、8个分量U和8个分量V的顺序重复存储。于是,可以容易地实现用于以8*8块单元读取的读地址产生电路。
以亮度块BY0、亮度块BY1、色度块BU0、色度块BV0、亮度块BY2、亮度块BY3、色度块BU1、色度块BV1、...、亮度块BY(N-2)、亮度块BY(N-1)、色度块BU(N/2-1)、色度块BV(N/2-1)的顺序读取块。在此,N等于H/8,即通过将图像数据的水平分辨率除以8所获得的值。
更具体而言,以如下的块的顺序来从统一行缓冲存储器180读出图像数据。从统一行缓冲存储器180读出在地址0~7、地址2*H~2*H+7、地址4*H~4*H+7、地址14*H~14*H+7的图像数据,以便形成亮度块BY0。从统一行缓冲存储器180读出在地址8~15、地址2*H+8~2*H+15、地址4*H+8~4*H+15、地址14*H+8~14*H+15的图像数据,以便形成亮度块BY1。以这种方式,以块为单位从统一行缓冲存储器180读出2*N块的所有的图像数据。
通过下面的方程2来产生用于从统一行缓冲存储器180以8*8块为单位读取的读地址Add_R,并且可以利用计数器来容易地将其实现。
[方程2]
for(i=0;i<(H*2)/8;i++){
for(vv=0;vv<8;vv++){
for(hh=0;hh<8;hh++){
Add_R=vv*H*2+i*8+hh;
}
}
}
在方程2中,H是表示统一行缓冲存储器180的块顺序的变量,“vv”和“hh”表示块的垂直和水平变量。
进一步注意到可以使用另外的统一行缓冲存储器180。即,当如上所述在第一统一行缓冲存储器180中写入8行图像数据的时候,可以从第二统一行缓冲存储器以块为单位读取图像数据。如果完全地写入和读取8行的图像数据,则在统一行缓冲存储器180写入新的8行图像数据,并且以块为单位在第一统一行缓冲存储器180中写入以往的图像数据。
虽然以上叙述了将光栅格式的数据转换为块格式的数据的方法,所述方法也可以被用于反向转换,即从块格式的数据向光栅格式的数据的转换。
当本发明的典型实施例和行缓冲系统和典型的行缓冲器系统——它使用每个彩色分量的各自的行缓冲存储器——被施加到VGA标准的时候,下面的表1示出了其间所需要的等价的门电路的数量的比较。
[表1]
传统的行缓冲系统 | 本发明的单个统一行缓冲系统 | |
存储器位 | 81920 | 81920 |
用于实现行缓冲系统的等价的门电路数量 | 162280 | 128352 |
用于实现FIFO存储器的等价的门电路的数量 | 0 | 2200 |
总的门电路数量 | 162280 | 130552 |
本发明的一个典型实施例的行缓冲系统的存储器位的数量与典型的行缓冲系统的相同。在对每个彩色分量使用各自的行存储器的传统方法的情况下,行存储器的位的数量是640*8*8+(640/2)*8*8*2=81920。在使用统一行缓冲存储器180的本发明的典型实施例的情况下,行存储器的位的数量是640*8*8*2=81920。但是,虽然使用三个行存储器的一般方法需要用于每个行存储器的一个外围电路,本发明的典型实施例仅仅需要一个外围电路。于是,用于实现传统方法的行存储器的门电路的数量是162280,用于实现本发明的典型实施例的行存储器的门电路的数量是128352。通过在从单个端口的SRAM实现行存储器的假设下的模拟来获得结果。
因为本发明的典型实施例包括其中包括8字节FIFO_Y、8字节FIFO_U、10字节FIFO_V的FIFO存储器,因此需要2200个门电路来实现FIFO存储器。但是,在典型的行存储系统的情况下,总共需要的门的数量是162280,并且本发明的典型实施例需要总共130552个门电路。可以看出,本发明的典型实施例比传统的电路需要更少的门电路。
图8是按照本发明的另一个典型实施例的、包括单个行存储器的图像处理装置的示意方框图。本发明的这个典型实施例的图像处理装置包括图像数据处理器8100、统一行缓冲存储器8120、地址产生器8140和JPEG压缩器8160。图像数据处理器8100产生图像数据。所述图像数据被划分成亮度分量Y和色度分量U和V。在图8中,仅仅示出了用于亮度分量Y的一个行存储器_Y(8120)。图像数据处理器8100与时钟同步地输出图像数据。来自图像数据处理器8100的色度分量Y被存储到行存储器_Y(8120)。如果将被处理的图像数据具有V*H的分辨率,并且JPEG压缩器8160以v*h块为单位处理图像数据,则行存储器_Y(8120)具有v*H字节的大小。例如,在JPEG压缩的情况下,v等于h,h等于8(v=h=8)。以下,将作为示例说明VGA标准的情况。
地址产生器8140产生行存储器_Y(8120)的读和写地址。在本发明的一个典型实施例中,行存储器_Y(8120)的读地址与行存储器_Y(8120)的写地址相同。即,以施加了用于读操作的地址的存储单元来执行写操作。在本发明的典型实施例中的地址产生器8140包括一对地址缓冲器8142和8144、用于选择地址缓冲器之一的复用器8146和地址控制器8148。每个地址缓冲器8142和8144具有行存储器_Y(8120)的1/8的大小,并且该对地址缓冲器8142和8144具有行存储器_Y(8120)的1/4的大小。
地址控制器8148产生用于地址缓冲器的读和写地址,并且合成行存储器的公共读/写地址。每个地址缓冲器8142和8144存储对于存储在单个行存储器_Y(8120)中的8*H像素的定位地址。于是,定位地址是0、1、2、3、...、637、638、639,并且每个地址缓冲器8142和8144以不同的顺序存储定位地址。
地址控制器8148产生用于地址缓冲器8142、8144的读地址和写地址,以便从地址缓冲器8142、8144读出定位地址和向地址缓冲器8142、8144写入所读出的定位地址。地址控制器8148根据所读出的定位地址来合成用于行存储器_Y(8120)的公共读/写地址。对于公共读/写地址,从单个行存储器8120读出图像数据和向其写入新的图像数据。即,通过将经由读地址读出的定位地址乘以8来获得一个段的第一像素的地址,并且通过向第一像素的地址依序加上0~7来获得所述段的8个像素的读/写地址。
参考读地址从一个地址缓冲器读出的定位地址被参考写地址存储在另一个地址缓冲器中。读地址是对应于块扫描顺序的(640/8)*vv+i,其中“i”表示图像数据的块顺序,从0向79(=640/8-1)递增。“vv”是表示每个块的行数的变量,它对于每个“i”从0向7递增。换句话说,读取存储在地址缓冲器的地址0、80、160、...、560、1、81、...的定位地址。另一方面,读地址总是从0向639递增。
通过下面的方程3来获得公共读/写地址crw_addr。
[方程3]
for(i=0;i<640/8;i++){
for(vv=0;vv<8;vv++){
for(hh=0;hh<8;hh++){
rd_addr=vv*640/8+i;
crw_addr=f[rd_addr]*8+hh
}
}
}
其中,“vv*640/8+i”是读地址rd_addr,f[rd_addr]是存储在由读地址rd_addr所指的地址缓冲器的地址的定位地址。
当在方程3的640位置使用另一个值的时候,可以产生对应于将要处理的图像大小的公共读/写地址。
例如,当处理具有三个分量Y、U和V的VGA图像的时候,640可以替换为1280。
当处理8行的、即8*640像素的图像数据的时候,即,将读地址施加到一个地址缓冲器0 8142来读出定位地址,并且将写地址施加到另一个地址缓冲器1 8144来写入所读出的定位地址。当处理8行的图像数据的时候,改变对于复用器8146的一个选择信号以改变每个地址缓冲器的操作模式。读地址被施加到其中已经施加了写地址的地址缓冲器1 8144,写地址被施加到其中已经施加了读地址的地址缓冲器0 8142。
在另一个典型实施例中,地址控制器8148产生用于地址缓冲器8142、8144的读地址和写地址以便从地址缓冲器8142、8144读出定位地址和向地址缓冲器8142、8144写入所读出的定位地址。地址控制器8148产生读地址(假定通过如下的方程4来获得VGA亮度图像)。
[方程4]
x=0;x’=1;
waddr_anchor=0;
for(i=0;i<640/8;i++){
for(vv=0;vv<8;vv++){
for(hh=0;hh<8;hh++){
raddr_anchor=vv·80+i;
ABUFx’[waddr_anchor]=ABUFx[raddr_anchor];
addr1=ABUFx[raddr_anchor]·8+hh;
}
waddr_anchor++;
}
}
x=~x;x’=~x’;
其中“i”是块的索引(0≤i≤80),“vv”是块中的垂直索引(0≤vv≤7),“hh”是在块中的水平索引(0≤hh≤7),x,x’=0或1(在循环的尾部反复)。
参见图9A-9D和10A-10D,现在更全面地说明本发明的典型实施例的操作。以存储8*80像素的行存储器作为示例。
图9A-9D示出了一个段的图像数据(包括构成一个块的水平8个像素的一行)被存储在行存储器8120中。图10A-10D示出了定位地址被存储到地址缓冲器8142、8144。在图9和10中,行存储器8120和地址缓冲器8142、8144的地址从左向右和从上向下增加。
从图像数据处理器100产生的8*80像素(光栅H1)的图像数据被写入到统一行缓冲存储器8120的从0到639的地址。即,如图9A所示,在行存储器8120中存储了80个段(段0~段79)。例如,段0包括像素0~7,段1包括像素8~15,段10包括像素80~87。此时,对于每8个像素产生的定位地址0~79(对每8个像素它保持为一个固定值)被依序存储到地址缓冲器0 8142的从0到79的地址,如图10A所示。当初始8行的图像数据(8*80像素)被依序存储到单个行存储器_Y 8120的时候,定位地址0~79对应于通过将地址除以8所获得的值,其中所述地址中存储了每个段的第一像素。于是,当定位地址被乘以8的时候,定位地址0~79指示行存储器_Y(8120)的地址,其中该行存储器中存储了每个段的第一像素。在行存储器_Y(8120)中存储段的顺序示出了图像数据被以那个顺序存储到对应于定位地址的行存储器_Y(8120)的地址中。
当640个像素被全部存储到行存储器_Y(8120)中的时候,通过地址控制器8148来产生地址缓冲器0 8142的读地址。从方程3或4来给出读地址。即,以0、10、20、30、40、50、60、70、1、11、21、31、...的顺序产生地址缓冲器8142、8144的读地址,并且将其乘以8以获得各个段的第一像素的值。
为了产生8*8块,按照方程3或4来由地址控制器8148合成行存储器的公共读/写地址。换句话说,读地址被施加到地址缓冲器0 8142以读取定位地址,所读出的定位地址被乘以8以获得段的第一像素的值。然后多个段的第一像素的值被加上0~7以合成段的像素的公共读/写地址。
参考公共读/写地址以块为单位对行存储器_Y(8120)执行读操作。在这种情况下,参考公共读/写地址,从图像数据处理器8100产生的、新的8行图像数据的8*80像素(光栅H2)被写入到行存储器_Y(8120),如图9B所示。所读出的定位地址被参考写地址依序存储到地址缓冲器1 8144中,所述写地址从0向79递增,如图10B所示。在按照方程3或4产生公共读/写地址之后,在行存储器8120中执行读和写操作。此时,相对于公共读/写地址的定位地址被存储到地址缓冲器1 8144,它与通过读地址读出的地址缓冲器1(8142)的定位地址一致。
如上所述,光栅H2的第0个段被存储在行存储器的地址0~7(其中存储了光栅H1的第0个段),光栅H2的第二段被存储在行存储器的地址10*8~10*8+7(其中存储了光栅H1的第10段),光栅H2的第三段被存储在行存储器的地址编号20*8~20*8+7(其中存储了光栅H1的第20段)。此时,定位地址0、10、20、...被存储到地址缓冲器1 8144的地址0~79。于是,如果相同的地址被施加到地址缓冲器1 8144,则可以以块单元来读出光栅H2。
同样,以块为单位从单个行存储器8120读出光栅H2,参考公共读/写地址向单个行存储器8120写入新的8行的图像数据(光栅H3)。即,如图10B所示,参考读地址rd_addr=vv*80/8+i从地址缓冲器1 8144读出存储在地址0、10、20、30、40、50、60、70、1、...的定位地址0、21、42、63、5、26、47、68、10、...,把根据所读出的定位地址产生公共读/写地址。参考图9B的个行存储器8120,定位地址对应于段0、10、20、30、40、50、60、70、1、...。这对应于块扫描顺序。参考所产生的公共读/写地址以块为单位从单个行存储器8120读出光栅H2,同时向行存储器写入新的8行的图像数据(光栅H3)(参见图9C)。此时,依序向地址缓冲器0 8142的地址0~79写入从地址缓冲器1 8144读出的定位地址,如图10C所示。
参考所读出的地址从地址缓冲器0 8142读出定位地址0、52、25、...。根据所读出的定位地址,产生公共读/写地址,然后读出光栅H3和写入新的8行的图像数据(光栅H4)(参见图9D)。从地址缓冲器0 8142读出的定位地址被依序存储到地址缓冲器1 8144的地址0-79(参见图10D)。
重复上述的步骤,直到处理了整个的图像(图像的一个帧)。在最后8行的情况下,仅仅执行读操作。即,在读出倒数第二(second last)个8行的图像数据和同时写入最后8行的图像数据之后,仅仅对最后8行的图像数据执行读操作。当处理了整个图像的时候,可以以相同的方式处理图像数据的另一个帧。
图11是按照本发明的另一个典型实施例的地址产生器8140的示意方框图。以下,亮度VGA标准也将被用作一个示例。在VGA标准的情况下,因为水平分辨率是640,因此行存储器1120具有640*8*8位的大小。当初始8行的图像数据(8*640像素=5120像素)被依序存储到行存储器120的从0到5119的地址的时候,产生从0到639每8个像素递增的定位地址。于是,因为行存储器1120存储5120个像素,行存储器的地址需要13位,定位地址需要10位。为此,用于存储定位地址的每个地址缓冲器1142和1144具有640*10位的大小。
系统时钟、水平同步信号、垂直同步信号、帧开始信号被施加到地址控制器1148。地址控制器1148产生各种控制信号,用于响应于上述的信号来控制地址缓冲器1142、1144、复用器1146、1150、1150’、1152、1152’和1154、行存储器1120。控制信号包括例如定位地址、写地址、读地址和公共读/写地址。
可以利用3位计数器获得定位地址。或者,当参考递增的13位地址向行存储器1120写入初始8行的图像数据的时候,可以通过将13位地址移位3位而获得定位地址。即,如果用于向行存储器1120写入的初始写地址具有在右边的最低有效位(LSB),如图12A所示,则行存储器的写地址向右移位3位,于是获得了定位地址,如图12B所示。换句话说,定位地址保持对于每8个像素的相同的值,步骤从0向639递增。
因为通过将定位地址乘以8并且加上0~7(被要求用来表示段的水平像素)来获得公共读/写地址,因此公共读/写地址变为13位。将定位地址乘以8等价于将定位地址移位3位,可以通过增加3位来实现增加0~7。即,如图13A所示,将在右边具有LSB的定位地址的10位向左移位3位相当于乘以8。这对应于将13位的写地址向右移位3位,以获得定位地址。因此,通过将定位地址乘以8获得的结果指示每个块的第一像素的地址。而且,如图13B所示,通过将定位地址乘以8获得的结果值被加3以获得块的每个段的水平分量。结果,可以获得对于块的所有像素的公共读/写地址。
地址控制器1148产生地址缓冲器1142和1144的读和写地址raddr_anchor和waddr_anchor。利用计数器、乘法器和加法器来示意地产生读地址。8*640像素的每8个像素产生写地址waddr_anchor,并且它从0向639递增。可以利用计数器实现写地址waddr_anchor。可以不同步地执行地址缓冲器的读操作。如果读地址raddr_anchor被施加到地址缓冲器1142和1144,在对应于所施加的读地址raddr_anchor的定位地址是地址缓冲器1142和1144的输出端DOUT。地址缓冲器的写操作被同步地执行。即,当用于写操作的写使能信号wen处于逻辑低状态的时候,在时钟的上升边或下降边,定位地址被写入对应于所施加的写地址waddr_anchor的位置。可以同步地执行读操作。在这种情况下,施加用于读操作的控制信号,并且在时钟的上升边或下降边读出存储在所施加的读地址中的定位地址。
当地址缓冲器0 1142工作在读模式中(写使能在高电平)的时候,地址缓冲器1 1144工作在写模式中。当地址缓冲器0 1142工作在写模式中(写使能在低电平)的时候,地址缓冲器1 1144工作在读模式。如果完全处理了8行的图像数据(8*640像素),则改变了每个地址缓冲器的操作模式。为了将此实现,地址产生器8140包括复用器1150、1150’、1152、1152’、1154、1146。
复用器1150复用写使能wen和逻辑高信号以向地址缓冲器0 1142的写模式输入端WEN传送。复用器1150’复用写使能wen和逻辑高信号以向地址缓冲器1 1144的写模式输入端WEN传送,并且与复用器1150互补地工作。
复用器1152复用读和写地址raddr_anchor和waddr_anchor以向地址缓冲器0 1142的地址输入端A传送。复用器1152’复用读和写地址raddr_anchor和waddr_anchor以向地址缓冲器1 1144的地址输入端A传送,并且与复用器1152互补地工作。于是,当一个地址缓冲器工作在写模式的时候,另一个地址缓冲器工作在读模式。
可以当从图8的图像数据处理器100向行缓冲存储器1120输入第一图像数据(PixelM[7:0])的时候初始化地址控制器。图14是示出按照本发明的典型实施例的初始化步骤的时序图。
地址控制器1148产生初始化信号(init)、地址缓冲器0 1142的写使能信号(wen)和写地址(waddr_anchor)。写地址依序以步长1从0向639增加(图14中的waddr_anchor)。Wen信号在每8个时钟的一个时钟时间期间变低。
在初始化期间,定位地址0 1142的数据输入端口(DI)连接到waddr_anchor,因此地址缓冲器0 1142的每个位置存储它的地址。同时,依序从0到最后一个地址在统一行存储器1120中存储来自图像数据处理器100的数据。
在初始化之后,在图15中示出了地址缓冲器0 1142的内容。而且,在初始化之后,禁止init信号,因此1142的数据输入端口通过复用器1154连接到复用器1146的输出端口。
地址控制器1148输出wen、raddr_anchor和waddr_anchor信号。与在初始化期间相同地产生waddr_anchor信号。Wen信号使得地址缓冲器1 1144可以写入。通过方程3或4、即其地址是vv*80+i的地址缓冲器的内容来确定定位地址。当确定定位地址的时候,向地址控制器1148输入存储在地址缓冲器1 1144中的地址。
地址控制器1148通过下面的方程计算行存储器地址
addr1=ABUFx[vv*80+i]*8+hh,
其中,ABUFx[vv*80+i]的值是定位地址。
图15示出了地址缓冲器1142的读地址。图17示出了在地址缓冲器1144中写地址的步骤,图16示出了用于读和写的时序图。
图18示出了对于下8个像素行的地址缓冲器0 1142的内容。
复用器1146复用从地址缓冲器的输出端DOUT产生的定位地址以向地址控制器1148和地址缓冲器传送。从一个地址缓冲器产生的定位地址被通过另一个地址缓冲器的输入端依序写入,并且被输入到地址控制器1148以用于产生公共读/写地址。
如果选择信号是逻辑低(“0”),则复用器1150向地址缓冲器0 1142的写模式输入端WEN传送写使能wen。另一方面,复用器1150’向地址缓冲器11144的写模式输入端WEN传送逻辑高(“1”)。于是,因为写模式输入端WEN是低活性的,因此地址缓冲器1144不工作在写模式中。但是,如果写使能信号wen被施加为逻辑低,则地址缓冲器1(1144)工作在写模式。
复用器1152向地址缓冲器1142传送写地址waddr_anchor,复用器1152`向地址缓冲器1144传送读地址raddr_anchor。复用器1146选择地址缓冲器1144的输出。
如图19所示,从图像数据处理器8100产生的8行的图像数据与时钟的上升边同步,并且被依序存储在行存储器1120中。此时,选择信号是逻辑低电平。于是,地址缓冲器0 1142工作在写模式中,地址缓冲器1 1144工作在读模式,复用器1146选择地址缓冲器1 1144的产生。
当8行的图像数据被从图像数据处理器100产生和被依序存储在行存储器1120中的时候,从0到639每8个像素递增的定位地址以及写地址waddr_anchor被产生。而且,参考写地址waddr_anchor,所产生的定位地址0~639被依序从地址0到639存储在地址缓冲器0 1142。此时,因为控制器1148不产生读地址raddr_anchor,不从地址缓冲器1 1144产生输入。
当所有的8行图像数据(8*640像素)被写入行存储器_Y(1120)的时候,复用装置的选择信号从逻辑低转换到逻辑高(“1”)。于是,逻辑高(“1”)被输入到地址缓冲器0 1142的写模式输入终端WEN。结果,地址缓冲器0 1142不再工作在写模式,通过复用器1152向地址缓冲器0 1142传送读地址raddr_anchor。即,地址缓冲器0 1142转换到读模式。同时,因为逻辑低的写使能wen被输入到地址缓冲器1 114的写模式输入终端WEN,则地址缓冲器1144的写模式输入终端WEN变得有效,并且通过复用器1152`向地址缓冲器1 1144传送写地址waddr_anchor。即,地址缓冲器1 1144转换到写模式。同时,复用器1146选择地址缓冲器0 1142得输出,并且传送到地址控制器1148和地址缓冲器1 1144。
地址控制器1148产生读地址raddr_anchor,并且将所产生的读地址施加到地址缓冲器0 1142,于是从地址缓冲器0 1142读出定位地址。读地址raddr_anchor被产生来满足raddr_anchor=v*640/8+i。即,以0、80、160、240、...、560、1、81、...产生读地址raddr_anchor。于是,存储在地址缓冲器0(1142)的地址0、80、160、240、...、560、1、81、...的定位地址被依序输出。所输出得定位地址被通过复用器1146输入到地址缓冲器1 1144和地址控制器1148。
因为定位地址对每8个像素保持固定值,可以在8个时钟期间的任何时间启动(即逻辑低)用于向地址缓冲器1 1144写入定位地址的写使能信号wen。可以在图20所示的每个第一时钟启动写使能wen。如果启动写使能wen(变得逻辑低),则参考递增的写地址waddr_anchor,依序从0-639在地址缓冲器1144中存储从地址缓冲器0 1142读出的定位地址0、80、160、240、...、560、1、81、...。
同时,按照方程3或4,根据从地址缓冲器0 1142输出的定位地址,地址控制器1148产生公共读/写地址。例如,以0~7、640~647、1280~1287、1920~1927、...、4480~4487、...、8~15、648~655...的顺序产生公共读/写地址。按照所产生的公共读/写地址在行存储器1120上执行读操作,同时,按照所产生的公共读/写地址向行存储器1120写入新的8行的图像数据。
同样,如果所有新的8行的图像数据被写入行存储器1120,则复用装置的选择信号被再次转换到低状态。于是,地址缓冲器0 1142再次工作在写模式,并且地址缓冲器1 1144再次工作在读操作。复用器1146选择从地址缓冲器1 1144输出的定位地址,并且向地址缓冲器0 1142和地址控制器1148输入所输出的定位地址。
读地址raddr_anchor被施加到地址缓冲器1 1144以获得定位地址,并且所获得的定位地址被参考写地址waddr_anchor而依序存储在地址缓冲器01142。地址控制器1148根据从地址缓冲器1 1144获得的定位地址同步公共读/写地址。参见所产生的公共读/写地址,读出行存储器1120,并且同时存储另一新的8行的图像数据。
如果对行存储器1120完成了读和写操作,则复用装置的选择信号被再次转换到高状态。
重复上述的步骤,直到完全处理了图像数据的一个帧(480*640像素)。在最后8行的图像数据被写入到行存储器1120之后,仅仅参考公共读/写地址对行存储器1120执行读操作。同样,当从图像数据处理器输出第一个8行的图像数据的时候,仅仅在行存储器1120上执行写操作。
图21图解了本发明的另一个典型实施例,即图4和11所示的实施例的组合。
按照如上所述的本发明的典型实施例,依序存储在第一地址缓冲器中的定位地址被通过预先设置的读地址(即以块为单位)读出,并且被以读取的顺序依序存储在第二地址缓冲器中。存储在第二地址缓冲器中的定位地址被再次通过读地址读出,并且被依序存储在第一地址缓冲器中。即,定位地址被存储在一对地址缓冲器中,其中每个具有行存储器的1/8的大小。这使得能够通过利用单个行存储器容易地实现在光栅扫描顺序和块扫描顺序之间的图像数据转换。地址缓冲器的读地址表示为一个固定的模式或H/8*v+i,并且写地址也表示从0向H-1递增的固定模式。可以利用计数器来实现写地址模式,可以利用移位寄存器和加法器来实现读地址模式。可以通过由移位寄存器将从地址缓冲器读出的定位地址移位3位并且由加法器增加3位来获得公共读/写地址。
在上述的技术中,当第一个8行图像数据被存储在单个行存储器中的时候,通过将其中存储一个段的第一像素的地址除以8来设置定位地址。但是,也可以以不同的方式来设置定位地址。即,定位地址可以被设置为其中存储一段的第一像素的地址。但是不必根据上述的技术改变地址缓冲器的读和写地址。在公共读/写地址的情况下,在方程3中,通过读地址raddr_anchor读出的定位地址f[rd_addr]可以仅仅递增hh,hh表示段的一个水平像素。即,公共读/写地址crw_addr等于f[rd_addr]+hh,读地址raddr_anchor等于vv*640/8+i。
虽然已经叙述了用于将光栅扫描顺序的图像数据转换为块扫描顺序的图像数据的方法,所述方法也可以被施加到反向转换,即块扫描顺序的图像数据向光栅扫描顺序的图像数据的转换。
当将本发明的行缓冲系统和典型的行缓冲系统的典型实施例施加到VGA标准的时候,下面的表2示出了其间所需要的等同门电路的数量的比较,其中本发明的行缓冲系统使用单个行存储器以及一对地址缓冲器,典型的行缓冲系统使用每个彩色分量各自的行缓冲存储器。
[表2]
典型行缓冲系统 | 本发明的行缓冲系统 | |
存储器比特的数量 | 81920 | 52480 |
用于实现存储器的等同门电路的数量 | 79170 | 64471 |
在利用一对行存储器的典型行系统的存储器比特的数量是640*8*8*2的时候,本发明的行缓冲系统的典型实施例的存储器比特的数量是640*8*8+640*10*2或52480比特。在从单个端口SRAM实现行存储器的情况下,传统的方法需要79170个门电路,并且本发明的典型实施例需要64471个门电路。
虽然已经参照本发明的特定和典型实施例说明了本发明的典型实施例,可以在不脱离本发明的精神和范围的情况下,可以进行各种改变和改进。应当明白,本发明的范围不限于以上的本发明的详细说明,它仅仅是说明性的,而是包括有所附的权利要求限定的主题。
按照本发明的典型实施例,因为仅仅对于每个彩色分量使用一个行存储器,可以降低存储器的大小,因此,可以获得包括行存储器的大小降低的芯片,并且需要可以以低功率工作。
Claims (29)
1.一种图像处理装置,用于在光栅扫描顺序和块扫描顺序之间转换图像数据,包括:
图像数据处理器,用于提供图像数据,所述图像数据包括光栅扫描顺序的水平分辨率H和垂直分辨率V;
单个行存储器,用于存储v行的图像数据;
地址产生器,用于产生单个行存储器的公共读/写地址;以及
图像压缩器,用于从单个行存储器接收v*h块单元的图像数据,并且压缩所接收的图像数据,
其中当参考公共读/写地址以块扫描顺序从单个行存储器读出v行的图像数据的时候,参考相同的共同读/写地址来向单个行存储器写入下一个v行的图像数据,其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
2.按照权利要求1的图像处理装置,其中地址产生器包括:
一对地址缓冲器,用于存储定位地址;和地址控制器,用于根据定位地址来合成公共读/写地址,
其中定位地址具有值0~H*v/h-1,所述定位地址在v行的图像数据的v*H个像素的每h像素递增1,并且相对于在两个地址缓冲器中的第一个地址缓冲器中存储的定位地址的顺序来以块扫描的顺序来向所述对的地址缓冲器的第二个中存储一个定位地址。
3.按照权利要求1的图像处理装置,其中h和v是8。
4.按照权利要求2的图像处理装置,其中h和v是8。
5.按照权利要求2的图像处理装置,其中存储在所述两个地址缓冲器中的第一个中的定位地址是f[n],其中f[n]是存储在所述两个地址缓冲器的第二个中的第n个地址的定位地址,n等于(H/h)*vv+i,其中“i”表示v行的图像数据的块顺序,并且从0向(H/h)-1递增,“vv”表示一个块的行数的变量,并且对于每个i从0递增到v-1。
6.按照权利要求5的图像处理装置,其中,地址控制器提供一个读地址,用于从两个地址缓冲器中的第一个读出定位地址,并且提供一个写地址,用于向两个地址缓冲器中的第二个地址缓冲器写入从两个地址缓冲器中的第一个地址缓冲器读出的定位地址,其中地址控制器通过将从两个地址缓冲器中的第一个地址缓冲器读出的定位地址乘以v并且加上从0向h-1递增的hh来合成公共读/写地址。
7.按照权利要求5的图像处理装置,其中,v和h是8。
8.按照权利要求6的图像处理装置,其中,v和h是8。
9.按照权利要求6的图像处理装置,其中,地址控制器提供用于两个地址缓冲器中的第一个地址缓冲器的读地址n=(H/h)*vv+i,并且提供用于向两个地址缓冲器中的第二个地址缓冲器写入由读地址n=(H/h)*vv+i读出的定位地址的、从0到H-1递增的写地址。
10.按照权利要求9的图像处理装置,其中,当从单个行存储器读出下一个v行的图像数据并且下面跟着的v行的图像数据被写入单个行存储器的时候,地址控制器提供读地址n=(H/h)*vv+i以便从两个地址缓冲器中的所述第一个地址缓冲器读出定位地址,并且提供从0递增到H-1的写地址以便向两个地址缓冲器中的第二个地址缓冲器写入从两个地址缓冲器中的所述第一个地址缓冲器读出的定位地址。
11.一种地址产生器,用于利用单个行存储器在具有分辨率V*H的光栅扫描顺序和v*H个像素的块扫描顺序之间转换图像数据,所述地址产生器包括:
一对地址缓冲器,这对地址缓冲器的每个在彼此具有互补操作模式的读和写模式之间重复转换,并且存储定位地址;
地址控制器,用于提供用于读取操作模式的该对地址缓冲器的读地址以及用于写入操作模式的该对地址缓冲器的写地址,并且根据从那对地址缓冲器读出的定位地址合成用于对行存储器的公用读/写地址,
其中,定位地址具有值0~v*H/h-1,所述地位地址关于写入到单个行存储器的v*H个像素的每h个像素递增,
其中,参考所述读地址从该对地址缓冲器之一读出的定位地址被参考所述写地址写入该对地址缓冲器的另一个地址缓冲器中,并且,读地址给定为(H/h)*vv+i以对应于块扫描顺序,在此,“i”表示v行的图像数据的块顺序,并且从0向(H/h)-1递增,“vv”表示一个块的行数的变量,并且对于每个i从0向v-1递增,并且写地址给定为从0向v*H/h-1递增,通过将经由所述读地址读出的定位地址乘以h和加上hh来合成公共读/写地址,其中hh相对于每个“vv”从0向h-1递增,其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
12.按照权利要求11的地址产生器,其中,h和v是8。
13.按照权利要求11的地址产生器,其中,当完全更新数据缓冲器的数据的时候,进行在读和写操作模式之间的转换。
14.按照权利要求11的地址产生器,其中,每个地址缓冲器是所述单个行存储器的大小的1/8。
15.一种图像处理方法,用于利用单个行存储器在光栅扫描顺序和v*h块扫描顺序之间转换图像数据,包括:
提供第一和第二地址缓冲器;
产生地址缓冲器的读地址和写地址;
将v行的图像数据存储到单个行存储器中,并且参照写地址向第一地址缓冲器存储关于每h个像素产生的定位地址;
通过参考读地址来读出存储在第一地址缓冲器中的定位地址,并且参考写地址向第二地址缓冲器存储所读出的定位地址;
根据通过读地址读出的定位地址产生行存储器的公共读/写地址;
参考公共读/写地址读取v行的图像数据,并且同时向行存储器写入v行的新图像数据;
重复读出定位地址,产生公共读/写地址和读出v行的图像数据,直到完全处理了所有的图像数据,其中每次重复读出定位地址、产生公共读/写地址和读出v行的图像数据,通过读和写地址交替地引用多个地址缓冲器,写地址依序递增,读地址对应于块扫描顺序,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
16.按照权利要求15的图像处理方法,其中,当处理V*H的分辨率的图像数据的时候,定位地址具有值0~v*H/h-1,写地址关于每h个像素从0向v*H/h-1递增,并且读地址是H/h*vv+i,在此,“i”表示写入到单个行存储器的v*H图像数据的块顺序,它从0向H/h-1递增,“vv”表示块的行顺序,它对于每个i从0向v-1递增,并且读地址在每h像素保持一个值,公共读/写地址是f[(H/h*vv+i)]*h+hh,其中“hh”是表示块的水平像素的顺序的变量,并且对于每个i从0递增到h-1,并且f[(H/h*vv+i)]是从地址缓冲器通过读地址H/h*vv+i读出的定位地址。
17.按照权利要求16的图像处理方法,其中h和v是8。
18.一种图像处理方法,用于在具有V*H的分辨率的光栅扫描顺序和v*h块扫描顺序之间转换图像数据,包括:
向单个行存储器线性写入第一v行的v*H个像素的图像数据,并且参考从0向v*H/h-1递增的写地址向第一地址缓冲器写入具有每h个像素递增的0~v*H/h-1的值的定位地址;
产生给定为(H/h)*vv+i的读地址,其中“i”表示v行的图像数据的块顺序,它从0向(H/h)-1递增,“vv”表示块的行数的变量,它对于每个i从0向v-1递增;
参考读地址从第一地址缓冲器读出定位地址,参考写地址向第二地址缓冲器写入所读取的定位地址,并且通过将所读取的定位地址乘以h和加h来合成单个行存储器的第一公共读/写地址,其中h对于每个vv从0向h-1递增;
参考公共读/写地址从单个行存储器读出第一v行的图像数据,同时参考公共读/写地址向单个行存储器写入第二v行的图像数据;
参考读地址读出在第二地址缓冲器中存储的定位地址,并且通过将所读取的定位地址乘以h和加上hh来合成单个行存储器的第二公共读/写地址;
参考公共读/写地址从单个行存储器中读出第二v行的图像数据,并且参考第二公共读/写地址向行存储器写入第三v行的图像数据;
重复读出第一v行的图像数据、读出定位地址、读出第二v行的图像数据,直到完全处理了v行的图像数据,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
19.按照权利要求18的图像处理方法,其中h和v是8。
20.按照权利要求18的图像处理方法,其中在读出倒数第二个v行和写入最后v行之后,仅仅执行用于从单个行存储器读取最后v行的读操作。
21.一种图像处理方法,用于在具有V*H的分辨率的光栅扫描顺序和8*8块扫描顺序之间转换图像数据,包括:
向单个行存储器线性写入8*H像素的图像数据,并且参考写地址向第一地址缓冲器写入每8个像素保持固定值的定位地址;
参考读地址读取存储在第一地址缓冲器中的定位地址;
参考写地址向第二地址缓冲器存储从第一地址缓冲器读出的定位地址,并且根据所读出的定位地址合成公共读/写地址;
参考图像数据处理器从单个行存储器读出8*H像素的图像数据,同时参考公共读/写地址向单个行存储器写入下一个8*H像素的图像数据;
重复读取定位地址、存储定位地址和读出8*H像素的图像数据,直到完全处理了V*H个像素的图像数据,
其中每次重复读取定位地址、存储定位地址和读出8*H像素的图像数据,通过读和写地址来交替参考地址缓冲器,写地址从0向H-1依序递增,读地址满足(H/8)*vv+i,其中“i”表示8行图像数据的块的顺序,并且从0向(H/8)-1递增,“vv”表示块的行数的变量并且对于每个i从0向7递增,并且通过将经由读地址读出的定位地址乘以8和加上从0递增到7的hh来合成公共读/写地址,其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
22.按照权利要求21的图像处理方法,其中向一个单个行存储器线性地写入8*H像素的图像数据,定位地址具有值0~H-1,并且被存储在单个行存储器的相同值的地址。
23.一种地址产生器,用于利用单个行存储器在具有分辨率V*H的光栅扫描顺序和v*H个像素的块扫描顺序之间转换图像数据,所述地址产生器包括:
至少两个地址缓冲器,这至少两个地址缓冲器的每个在彼此具有互补操作模式的读和写模式之间重复转换,并且存储定位地址;
地址控制器,用于提供用于读取操作模式的所述至少两个地址缓冲器的读地址以及用于写入操作模式的所述至少两个地址缓冲器的写地址,并且根据从所述至少两个地址缓冲器读出的定位地址合成用于对行存储器的公用读/写地址,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
24.按照权利要求23的地址产生器,所述地址控制器通过产生初始化信号来初始化所述至少两个地址缓冲器中的至少一个,以便所述至少两个地址缓冲器的所述至少一个的每个地址位置存储写地址。
25.一种图像处理方法,用于利用单个行存储器在光栅扫描顺序和v*h块扫描顺序之间转换图像数据,包括:
提供至少两个地址缓冲器;
产生所述至少两个地址缓冲器的读地址和写地址;
将v行的图像数据存储到单个行存储器中,并且参照写地址向所述至少两个地址缓冲器的第一个存储为每h个像素产生的定位地址;
通过参考读地址来读出存储在所述至少两个地址缓冲器的第一个中的定位地址,并且参考写地址向所述至少两个地址缓冲器的第二个存储所读出的定位地址;
根据通过读地址读出的定位地址产生行存储器的公共读/写地址;
参考公共读/写地址读取v行的图像数据,并且同时向行存储器写入v行的新图像数据;
重复读出定位地址,产生公共读/写地址和读出v行的图像数据,直到完全处理了所有的图像数据,其中每次重复读出定位地址、产生公共读/写地址和读出v行的图像数据,通过读和写地址交替地引用多个地址缓冲器,写地址依序递增,读地址对应于块扫描顺序,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
26.一种图像处理装置,用于在光栅格式和块格式之间转换图像数据,所述装置包括:
图像数据处理器,用于以光栅格式提供包括亮度分量和至少一个色度分量的图像数据;
行缓冲系统,用于在光栅格式和块格式之间转换图像数据,所述行缓冲系统包括:
至少两个FIFO存储器,用于接收包括亮度分量和至少一个色度分量的光栅格式的图像数据,并且存储对应图像数据分量,
复用器,用于复用来自该至少两个FIFO存储器的图像数据分量;
统一行缓冲存储器,用于存储复用器的输出;
地址产生器,用于利用单个行存储器在具有V*H分辨率的光栅扫描顺序和v*h像素的块扫描顺序之间转换图像数据,所述地址产生器包括:
至少两个地址缓冲器,所述至少两个地址缓冲器的每个在彼此具有互补操作模式的读和写操作模式之间重复转换,并且存储一个定位地址;
控制器,用于控制对于所述至少两个FIFO存储器的读操作和写操作,并且用于提供对于用于读取操作模式的至少两个地址缓冲器的读地址和对于用于写入操作模式的至少两个地址缓冲器的写地址,并且根据从所述至少两个地址缓冲器读出的定位地址合成对单个行存储器的公共读/写地址;以及
图像压缩器,用于从统一行缓冲存储器依序接收块格式的图像数据分量,并且压缩所接收的图像数据分量,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
27.一种图像处理方法,用于利用单个行存储器在光栅扫描顺序和v*h块扫描顺序之间转换图像数据,所述方法包括:
以光栅格式提供包括亮度分量和至少一个色度分量的图像数据;
在光栅格式和块格式之间转换图像数据,包括:
接收包括亮度分量和至少一个色度分量的光栅格式的图像数据,存
储对应图像数据分量,
复用来自至少两个FIFO存储器的图像数据分量;
利用单个行存储器在具有V*H分辨率的光栅扫描顺序和v*h像素的块扫描顺序之间转换图像数据,包括:
在至少两个地址缓冲器中在彼此具有互补操作模式的读和写操作模式之间转换,并且存储一个定位地址;
控制向所述至少两个FIFO存储器的读操作和写操作,并且提供对于用于读取操作模式的至少两个地址缓冲器的读地址和对于用于写入操作模式的至少两个地址缓冲器的写地址,并且根据从所述至少两个地址缓冲器读出的定位地址合成对单个行存储器的公共读/写地址;以及
从统一行缓冲存储器依序接收块格式的图像数据分量,并且压缩所接收的图像数据分量,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
28.一种图像处理方法,用于利用单个行存储器在光栅扫描顺序和v*h块扫描顺序之间转换图像数据,所述方法包括:
在彼此具有互补操作模式的读和写操作模式之间转换,并且存储一个定位地址;
提供对于用于读取操作模式的至少两个地址缓冲器的读地址和对于用于写入操作模式的至少两个地址缓冲器的写地址,并且根据从所述至少两个地址缓冲器读出的定位地址合成对单个行存储器的公共读/写地址,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
29.一种地址产生器,用于利用单个行存储器在具有分辨率H*V(640*480)的光栅扫描顺序和h*v(8*8)个像素的块扫描顺序之间转换图像数据,所述地址产生器包括:
至少两个大小为H*h的地址缓冲器;以及
地址控制器,用于计算等于H*vv+0~h-1的块扫描地址值,并且向所述至少两个地址缓冲器的第一个写入块扫描顺序,所述地址控制器用于读取在读操作方向上的所述至少两个地址缓冲器的第一个中的光栅扫描顺序地址值,并且用于在写操作方向上在所述至少两个缓冲器的第二个写入块扫描顺序地址值,
所述地址控制器还包括计算等于H*vv+0~h-1的、所述至少两个缓冲器的第二个中存储的值的块扫描地址值,所述地址控制器用于在读操作方向上从所述至少两个缓冲器的第二个读取地址值,并且在写操作方向上在所述至少两个缓冲器的所述第一个写入地址值,所述地址控制器重复向所述至少两个缓冲器读取和写入以及向统一行存储器写入,直到所有的图像数据处于块扫描顺序,
其中所述“v”表示一个块的行数,所述“h”表示一个块的列数。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR42603/02 | 2002-07-19 | ||
KR20020042603 | 2002-07-19 | ||
KR44991/02 | 2002-07-30 | ||
KR20170/03 | 2003-03-31 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031784860A Division CN1320823C (zh) | 2002-07-19 | 2003-07-18 | 图像处理装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1929539A true CN1929539A (zh) | 2007-03-14 |
Family
ID=37859311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610126766 Pending CN1929539A (zh) | 2002-07-19 | 2003-07-18 | 图像处理装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1929539A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100438590C (zh) * | 2005-12-14 | 2008-11-26 | Nec显示器解决方案株式会社 | 视频设备和视频处理方法 |
CN102193882A (zh) * | 2010-03-15 | 2011-09-21 | 京瓷美达株式会社 | 数据处理装置以及数据处理方法 |
CN106846255A (zh) * | 2017-02-23 | 2017-06-13 | 北京普及芯科技有限公司 | 图像旋转实现方法及装置 |
CN111292667A (zh) * | 2020-03-30 | 2020-06-16 | Tcl华星光电技术有限公司 | 一种时序控制器及显示面板 |
CN115426466A (zh) * | 2022-08-22 | 2022-12-02 | 珠海一微半导体股份有限公司 | 一种图像数据的读写控制系统及读写控制方法 |
-
2003
- 2003-07-18 CN CN 200610126766 patent/CN1929539A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100438590C (zh) * | 2005-12-14 | 2008-11-26 | Nec显示器解决方案株式会社 | 视频设备和视频处理方法 |
CN102193882A (zh) * | 2010-03-15 | 2011-09-21 | 京瓷美达株式会社 | 数据处理装置以及数据处理方法 |
CN102193882B (zh) * | 2010-03-15 | 2014-09-10 | 京瓷办公信息系统株式会社 | 数据处理装置以及数据处理方法 |
CN106846255A (zh) * | 2017-02-23 | 2017-06-13 | 北京普及芯科技有限公司 | 图像旋转实现方法及装置 |
CN106846255B (zh) * | 2017-02-23 | 2024-01-16 | 新岸线(北京)科技集团有限公司 | 图像旋转实现方法及装置 |
CN111292667A (zh) * | 2020-03-30 | 2020-06-16 | Tcl华星光电技术有限公司 | 一种时序控制器及显示面板 |
CN115426466A (zh) * | 2022-08-22 | 2022-12-02 | 珠海一微半导体股份有限公司 | 一种图像数据的读写控制系统及读写控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1191513C (zh) | 显示驱动器,备有这种显示驱动器的显示装置及电子设备 | |
CN1195374C (zh) | 图像信号处理装置 | |
CN1262123C (zh) | 产生快速查看图象的电子照相机 | |
CN1238799C (zh) | 在运动估计或补偿中进行次像素插值的方法和系统 | |
CN1238798C (zh) | 在运动估计或补偿期间使用近似双立方过滤器的方法和系统 | |
CN1133128C (zh) | 图像显示单元和运动图像检索系统 | |
CN1221927C (zh) | 图像处理装置和方法 | |
CN101053249A (zh) | 图像处理方法、图像存储方法、图像处理装置及文件格式 | |
CN1456999A (zh) | 色度运动矢量取整 | |
CN1835556A (zh) | 像素插值装置及照相机装置 | |
CN1645462A (zh) | 图像显示装置 | |
CN1613104A (zh) | 液晶显示器及其驱动方法 | |
CN1229223A (zh) | 图像处理装置、合成系统装置和方法、分离方法及客户机 | |
CN1745575A (zh) | 图像感测装置 | |
CN1277403C (zh) | 成像设备 | |
CN1700299A (zh) | 图像合成输出装置、方法、程序和记录媒体及其显示装置和移动通信器械 | |
CN1933604A (zh) | 图像声音输出系统、装置、声音处理程序和记录介质 | |
CN1518350A (zh) | 帧数据修正量输出装置、修正装置和方法、显示装置 | |
CN1278565C (zh) | 图像解码单元和图像编码、解码装置和编码、解码方法 | |
CN1595973A (zh) | 隔行视频流到逐行视频流的转换方法与系统 | |
CN1917028A (zh) | 处理要显示在液晶显示装置上的运动图像的设备及方法 | |
CN1240225C (zh) | 图像编码装置以及图像编码方法 | |
CN1320823C (zh) | 图像处理装置和方法 | |
CN1127856C (zh) | 活动图像合成装置 | |
CN1652155A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |