JP2012048401A - Image processing device and method for processing image - Google Patents
Image processing device and method for processing image Download PDFInfo
- Publication number
- JP2012048401A JP2012048401A JP2010188753A JP2010188753A JP2012048401A JP 2012048401 A JP2012048401 A JP 2012048401A JP 2010188753 A JP2010188753 A JP 2010188753A JP 2010188753 A JP2010188753 A JP 2010188753A JP 2012048401 A JP2012048401 A JP 2012048401A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- pixel
- band
- target pixel
- band region
- 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.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】メモリ容量及びメモリ帯域を削減し、かつ、入力画像データの解像度に関わらない低コストな画像処理を実現する。
【解決手段】画像データを分割した複数のバンド領域毎に逐次的に画像処理を行う際に、バンド領域をその短辺方向に走査して注目画素を決定する。そして画像処理部において、該注目画素に対し、近傍領域内の画素についての演算結果を参照した演算を行って、内部に設けられた遅延メモリ214に該演算結果を保持する。さらに、画像処理部の外部に設けられた誤差バッファ238に、次バンド領域での処理時に参照される画素についての演算結果を記憶する。誤差バッファ238へのアクセスは、画像処理部内に設けられた転送用バッファ216、217を介したバースト転送によって行われる。これにより、遅延メモリ214の容量を削減しつつ、誤差バッファ238にアクセスするメモリ帯域を削減することができ、ハードウェアの実装コストを大幅に削減可能となる。
【選択図】図2An object of the present invention is to realize a low-cost image processing that reduces the memory capacity and the memory bandwidth and is independent of the resolution of input image data.
When image processing is sequentially performed for each of a plurality of band regions obtained by dividing image data, a pixel of interest is determined by scanning the band region in the short side direction. Then, the image processing unit performs an operation on the target pixel with reference to the operation result for the pixel in the vicinity region, and holds the operation result in the delay memory 214 provided inside. Further, the calculation result for the pixel referred to in the processing in the next band region is stored in the error buffer 238 provided outside the image processing unit. Access to the error buffer 238 is performed by burst transfer via transfer buffers 216 and 217 provided in the image processing unit. As a result, the memory bandwidth for accessing the error buffer 238 can be reduced while reducing the capacity of the delay memory 214, and the hardware implementation cost can be greatly reduced.
[Selection] Figure 2
Description
本発明は、画像データ内の注目画素に対し、所定の近傍領域内にある画素を参照した局所画像処理を行う画像処理装置および画像処理方法に関する。 The present invention relates to an image processing apparatus and an image processing method for performing local image processing with reference to a pixel in a predetermined neighborhood area on a target pixel in image data.
従来より、デジタル画像データに対し、ハーフトーン処理、符号化処理といった様々な画像処理が広く行われている。中でも、空間フィルタ処理などの局所(近傍)画像処理が一般的に行われており、この局所画像処理とは、処理対象となる画素(以下、注目画素と称する)を含む空間フィルタ領域に含まれる全ての画素を用いて、何らかの演算を行なう画像処理である。例えば、ある画素を処理した際の計算結果を、その近傍の画素を処理する際に用いる手法として、ハーフトーン処理における誤差拡散法や、符号化処理における予測符号化処理等が挙げられる。 Conventionally, various image processing such as halftone processing and encoding processing has been widely performed on digital image data. In particular, local (neighboring) image processing such as spatial filter processing is generally performed, and this local image processing is included in a spatial filter region including a pixel to be processed (hereinafter referred to as a target pixel). This is image processing for performing some kind of calculation using all pixels. For example, as a method used when a calculation result obtained when a certain pixel is processed is used to process a neighboring pixel, an error diffusion method in a halftone process, a predictive encoding process in an encoding process, or the like can be given.
ここで、連続階調の画像を例えば2値のような少ない階調で表現する擬似中間色再現技術の一種である誤差拡散法について簡単に説明する。誤差拡散法は、注目画素を閾値によって量子化代表値に量子化し、その際の量子化誤差を注目画素の近傍画素に拡散する処理を逐次的に行うことを特徴とする画像処理である。 Here, an error diffusion method, which is a kind of pseudo intermediate color reproduction technique for expressing a continuous gradation image with a small gradation such as binary, will be briefly described. The error diffusion method is an image process characterized by sequentially performing a process of quantizing a pixel of interest into a quantized representative value using a threshold and diffusing the quantization error at that time to a neighboring pixel of the pixel of interest.
次に、画像において隣接する画素間の相関が高いという性質を利用した符号化方法である予測符号化処理について簡単に説明する。予測符号化処理は、注目画素周辺の既に処理された値から注目画素値を予測し、該予測値と注目画素との差を符号化することで情報量を削減することを特徴とする画像処理である。 Next, the predictive encoding process, which is an encoding method using the property that the correlation between adjacent pixels in an image is high, will be briefly described. Predictive coding processing is an image processing characterized in that a target pixel value is predicted from already processed values around the target pixel, and an information amount is reduced by encoding a difference between the predicted value and the target pixel. It is.
上記のような、近傍画素との依存関係を有する画像処理を行う場合には、画素の計算結果を記憶装置(メモリ)に一時的に保持しておき、続く注目画素を処理する際に該メモリから記憶した処理結果を読み出し、その値を用いて該注目画素に対する演算を行う。誤差拡散処理を行う場合には量子化誤差あるいは累積誤差が計算結果としてメモリに記憶され、予測符号化処理を行う場合には局部復号値が計算結果としてメモリに記憶される。従来より、このような計算結果を記憶するメモリの構成については様々な提案がなされている。 When performing image processing having a dependency relationship with neighboring pixels as described above, the calculation result of the pixels is temporarily stored in a storage device (memory), and the memory is used when processing the subsequent pixel of interest. The processing result stored from is read, and the value is used to calculate the target pixel. When the error diffusion process is performed, the quantization error or the accumulated error is stored as a calculation result in the memory, and when the predictive encoding process is performed, the local decoded value is stored as a calculation result in the memory. Conventionally, various proposals have been made for the configuration of a memory for storing such calculation results.
ここで、画素に対する計算結果を記憶するメモリの構成について、誤差拡散処理を行う画像処理装置を例として以下に説明する。
まず第1の従来技術として、計算結果(量子化誤差)を記憶するメモリを画像処理部の中に実装する手法がある。図14(a)は、第1の従来技術を適用した画像処理装置の全体構成例を示すブロック図である。図14(a)は、画像入力部から入力されたデジタル画像データに対し、画像処理部で誤差拡散処理を行って画像出力部へ出力する構成を示している。同図において誤差拡散処理部は、量子化誤差を記憶するための遅延メモリを内部に実装している。したがって、回路規模が増大してしまう。
このような回路規模の増大を避けるために、第2の従来技術として、量子化誤差を記憶するメモリを画像処理部の外に配置する手法がある。図14(b)は、第2の従来技術を適用した画像処理装置の全体構成例を示すブロックである。図14(b)によれば、画像処理部内の誤差拡散処理部には量子化誤差を記憶する遅延メモリを実装せず、中央処理装置部内のRAMに、量子化誤差を記憶するための誤差バッファを設けている。したがって第2の従来技術によれば、上記第1の従来技術を用いた場合のように遅延メモリ分の回路規模の増大は無い。しかしながらその代わりに、誤差拡散処理を行う際に、誤差拡散処理部が中央処理装置部内のRAMに含まれる誤差バッファにアクセスする必要があり、そのためのメモリ帯域が必要となる。
Here, the configuration of the memory that stores the calculation results for the pixels will be described below using an image processing apparatus that performs error diffusion processing as an example.
First, as a first conventional technique, there is a method of mounting a memory for storing a calculation result (quantization error) in an image processing unit. FIG. 14A is a block diagram showing an example of the overall configuration of an image processing apparatus to which the first prior art is applied. FIG. 14A shows a configuration in which the image processing unit performs error diffusion processing on the digital image data input from the image input unit and outputs the result to the image output unit. In the figure, the error diffusion processing unit is internally provided with a delay memory for storing the quantization error. Therefore, the circuit scale increases.
In order to avoid such an increase in circuit scale, as a second conventional technique, there is a method of arranging a memory for storing a quantization error outside the image processing unit. FIG. 14B is a block diagram illustrating an example of the overall configuration of an image processing apparatus to which the second prior art is applied. According to FIG. 14B, the error diffusion processing unit in the image processing unit is not mounted with a delay memory for storing the quantization error, and an error buffer for storing the quantization error in the RAM in the central processing unit. Is provided. Therefore, according to the second prior art, there is no increase in the circuit scale for the delay memory as in the case of using the first prior art. However, instead, when performing error diffusion processing, the error diffusion processing unit needs to access an error buffer included in the RAM in the central processing unit, and a memory band for that purpose is required.
上述したように、第1の従来技術によれば、画像処理部内に計算結果を記憶する遅延メモリを実装するため、回路規模が増大する。ここで、誤差拡散処理をラスタ走査によって行う場合の遅延メモリ容量について、図15を用いて説明する。 As described above, according to the first prior art, since the delay memory that stores the calculation result is mounted in the image processing unit, the circuit scale increases. Here, the delay memory capacity when the error diffusion processing is performed by raster scanning will be described with reference to FIG.
図15(a)は誤差拡散係数の一例であり、図15(b)は、図15(a)に示す誤差拡散係数を用いた場合の誤差拡散処理を説明する図である。図15(b)において、点線で囲んだ領域1510は、図中の注目画素eを処理する際に参照する画素(フィルタ形状)を示している。図15(b)において、矢印1530で示す方向に走査を行う場合、遅延メモリとして必要な容量は、斜線で示す領域1520に含まれる画素を処理した際の量子化誤差を記憶可能な容量となる。このことから、遅延メモリ容量は入力画像データの横幅(主走査幅)に依存することが分かる。すなわち遅延メモリ容量は、入力画像データの横幅分の画素数×1ライン×量子化誤差のデータサイズの大きさ、となる。例えば、解像度が600ppiで横幅60インチサイズの1ラインの画素数は36000画素となり、また、量子化誤差のデータサイズを8ビットとしたとき、遅延メモリ容量は約35キロバイトとなる。
FIG. 15A is an example of an error diffusion coefficient, and FIG. 15B is a diagram for explaining error diffusion processing when the error diffusion coefficient shown in FIG. 15A is used. In FIG. 15B, a
このように第1の従来技術においては、遅延メモリ容量が入力画像データの横幅に依存するため、入力画像データの解像度に応じて回路を設計しなければならないという課題があった。さらに、入力画像データの横幅が大きくなるにつれて、より大きな容量の遅延メモリが必要となり、例えばLSIとしての画像処理部の製造コストが高くなるという課題があった。 As described above, in the first conventional technique, the delay memory capacity depends on the horizontal width of the input image data. Therefore, there is a problem that the circuit must be designed according to the resolution of the input image data. Furthermore, as the horizontal width of the input image data is increased, a delay memory having a larger capacity is required. For example, there is a problem that the manufacturing cost of an image processing unit as an LSI increases.
一方、上記第2の従来技術によれば、画像処理部の中に大容量のメモリを実装する必要がない代わりに、1画素を処理する毎にメインメモリの誤差バッファへの書き込みおよび読み込みが発生する。したがって、入力画像データの解像度が大きくなって一定時間に処理しなければならない画素の数が増えた場合に、画像処理部の外に配置された外部メモリへのアクセスが増え、より大きなメモリ帯域が必要となる。したがって、高速なメモリを実装するなどの対策を講じた結果、ハードウェアの実装コストが高くなってしまうという課題があった。 On the other hand, according to the second prior art, writing and reading into the error buffer of the main memory occur each time one pixel is processed, instead of having to mount a large capacity memory in the image processing unit. To do. Therefore, when the resolution of the input image data increases and the number of pixels that must be processed in a certain time increases, access to the external memory arranged outside the image processing unit increases, and a larger memory bandwidth is obtained. Necessary. Therefore, as a result of taking measures such as mounting a high-speed memory, there is a problem that the hardware mounting cost increases.
このように従来技術では、入力画像データの高解像度化に応じて、より大きな遅延メモリを実装するか、高速なメモリを実装する必要があり、コスト高となってしまうという課題を抱えている。 As described above, according to the conventional technique, it is necessary to mount a larger delay memory or a high-speed memory in accordance with the increase in resolution of the input image data, and there is a problem that the cost is increased.
本発明は上述した問題を解決するためになされたものであり、以下の機能を有する画像処理装置および画像処理方法を提供することを目的とする。すなわち、画像処理に係るメモリ容量及びメモリ帯域を削減しつつ、入力画像データの解像度やサイズに非依存の低コストな画像処理を実現する。 SUMMARY An advantage of some aspects of the invention is to provide an image processing apparatus and an image processing method having the following functions. That is, low-cost image processing independent of the resolution and size of the input image data is realized while reducing the memory capacity and memory bandwidth related to image processing.
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。 As a means for achieving the above object, an image processing apparatus of the present invention comprises the following arrangement.
すなわち、画像データを一定方向に分割して得られた複数のバンド領域に対し、該バンド領域毎に逐次的に画像処理を行う画像処理装置であって、前記バンド領域をその短辺方向に走査して注目画素を決定する走査手段と、前記注目画素に対し、予め定められた近傍領域内で既に処理済みの画素についての演算結果を参照した演算を行う画像処理手段と、前記画像処理手段の外部に設けられ、前記バンド領域における、次に処理されるバンド領域と隣接する第1の境界部に位置する画素についての前記画像処理手段による演算結果を記憶する外部記憶手段と、を有し、前記画像処理手段は、前記バンド領域内における、前記注目画素に対する前記近傍領域の画素についての演算結果を記憶する内部記憶手段と、前記バンド領域における前記第1の境界部に位置する画素についての演算結果を前記外部記憶手段にバースト転送するために一時的に保持する第1の保持手段と、前記バンド領域の直前に処理されたバンド領域における前記第1の境界部に位置する画素についての演算結果を前記外部記憶手段からバースト転送して一時的に保持する第2の保持手段と、を有することを特徴とする。 That is, an image processing apparatus that sequentially performs image processing for each band area obtained by dividing image data in a certain direction, and scans the band area in the short side direction. A scanning unit that determines a target pixel, an image processing unit that performs a calculation on the target pixel with reference to a calculation result for a pixel that has already been processed in a predetermined neighborhood region, and An external storage unit that is provided outside and stores calculation results by the image processing unit for pixels located in a first boundary portion adjacent to a band region to be processed next in the band region; The image processing means includes an internal storage means for storing calculation results for pixels in the neighboring area with respect to the target pixel in the band area, and the first in the band area. First holding means for temporarily holding calculation results for pixels located in the boundary portion for burst transfer to the external storage means, and the first in the band area processed immediately before the band area And second holding means for temporarily holding the calculation result for the pixel located at the boundary portion by burst transfer from the external storage means.
本発明によれば、画像処理に係るメモリ容量及びメモリ帯域を削減しつつ、入力画像データの解像度やサイズに非依存の低コストな画像処理が可能となる。 According to the present invention, it is possible to perform low-cost image processing independent of the resolution and size of input image data while reducing the memory capacity and the memory bandwidth related to image processing.
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. The following embodiments do not limit the present invention related to the scope of claims, and all combinations of features described in the present embodiments are essential to the solution means of the present invention. Not necessarily.
<第1実施形態>
●バンド処理
家庭用プリンタのように安価に提供しなければならない機器では、ハードウェアのコストを抑えるため、1枚のデジタル画像データ全体を記憶できるだけの容量のメモリを実装できない場合が多い。そのため、1枚のデジタル画像データを複数の短冊状のバンド領域に分割し、逐次的にバンド領域のみをメモリ(以下バンドメモリと称する)に展開して各種の画像処理を施す、いわゆるバンド処理が一般的に行われている。
<First Embodiment>
● Band processing For devices that must be provided at low cost, such as home printers, it is often impossible to mount a memory having a capacity sufficient to store one piece of digital image data in order to reduce hardware costs. For this reason, so-called band processing is performed in which one piece of digital image data is divided into a plurality of strip-shaped band regions, and only the band regions are sequentially developed in a memory (hereinafter referred to as band memory) to perform various image processing. Generally done.
ここで、バンド処理の手法について図1を用いて説明する。図1(a)は、画像データ100を、その読み取り時(または出力時)の副走査方向で分割し、3つのバンド領域110、120、130を得た例を示す。この場合、バンド領域110が最初にバンドメモリに展開され、これが処理された後に、バンド領域120が新たにバンドメモリに上書き展開され、処理される。そして最後にバンド領域130がバンドメモリに上書き展開され、処理される。なお、バンド領域の分割数は任意であり、さらに、それぞれのバンド領域の高さは同じである必要はなく、異なっていても構わない。
Here, the band processing method will be described with reference to FIG. FIG. 1A shows an example in which the
なお、図1(a)において150は、バンド領域110における下端1ラインを示す。また、160および170はそれぞれ、バンド領域120の上端および下端の1ラインを示している。同様に、180はバンド領域130の上端1ラインを示している。以下、バンド領域内において、次に処理されるバンド領域と隣接する境界部(第1の境界部)を下端部と称し、直前に処理されたバンド領域と隣接する境界部(第2の境界部)を上端部と称する。すなわち、150、170はそれぞれ、バンド領域110、120の下端部であり、160、180はそれぞれ、バンド領域120、130の上端部である。
In FIG. 1A,
本実施形態では、画像データを一定方向に分割して得られた複数のバンド領域に対し、該バンド領域毎に逐次的に画像処理を行う。本実施形態において、バンド領域を処理する際の画素の走査方向(バンド内走査方向)は、図1(b)の矢印140で示すように、画像データ100の読み取り時の主走査方向に対して垂直な、読み取り時の副走査方向であるとする。すなわちバンド内走査方向は、バンド領域の長辺方向(以下、幅方向)に対して垂直な、短辺方向(以下、高さ方向)である。このように、バンド領域の読み取り時の主走査方向に対して垂直な方向でバンド内走査を行うことを、以下、クロスバンド処理と称する。図1(b)によれば、バンド領域の左上の画素を注目画素として走査を開始し、バンド領域の高さ方向に走査して注目画素を決定していく。バンド領域の下端の画素を注目画素とした処理が終了すると、バンド領域の幅方向に1画素遷移し、バンド領域の上端の画素からの走査を開始する。この一連の走査をバンド領域全体の画素について終了するまで行う。
In the present embodiment, image processing is sequentially performed for each band region for a plurality of band regions obtained by dividing image data in a certain direction. In the present embodiment, the pixel scanning direction (in-band scanning direction) when processing the band region is relative to the main scanning direction at the time of reading the
本実施形態においては、誤差拡散処理をバンド処理にて行う場合を例として説明する。ここで、本実施形態における誤差拡散処理について説明する。図4(a)に、本実施形態の誤差拡散処理に用いる誤差拡散係数の一例を示す。すなわち図4(a)は、*で示す注目画素が近傍領域内の画素に拡散する誤差分布を示す。また図4(b)に、上記図4(a)に示す誤差拡散係数を用いて誤差拡散処理を行った場合に、注目画素*に対して近傍画素から拡散される誤差を算出する際に用いられるフィルタを示す。図4(b)に示すフィルタは、図4(a)に示す誤差拡散係数に対して点対称の形状となる。図4(c)は、注目画素をeとした場合に、該注目画素eに対して誤差拡散処理を実行する際に参照される画素の位置関係をa〜dの記号で示したものであり、注目画素eの処理時に、既に処理済みであるa〜dの位置の画素の誤差を参照する旨が示されている。 In this embodiment, a case where error diffusion processing is performed by band processing will be described as an example. Here, the error diffusion processing in this embodiment will be described. FIG. 4A shows an example of the error diffusion coefficient used for the error diffusion processing of this embodiment. That is, FIG. 4A shows an error distribution in which the target pixel indicated by * diffuses to the pixels in the vicinity region. 4B is used to calculate an error diffused from a neighboring pixel with respect to the pixel of interest * when error diffusion processing is performed using the error diffusion coefficient shown in FIG. 4A. Indicates the filter to be used. The filter shown in FIG. 4B has a point-symmetric shape with respect to the error diffusion coefficient shown in FIG. FIG. 4 (c) shows the positional relationship of pixels referred to when executing error diffusion processing on the target pixel e with the symbols a to d, where e is the target pixel. In the processing of the target pixel e, it is indicated that the error of the pixels at the positions a to d that have already been processed is referred to.
詳細は後述するが、本実施形態の画像処理装置においては、上記a〜dの位置の画素の演算結果として得られる量子化誤差は、画像処理部の中に実装した遅延メモリ(後述する図2(a)の214に対応)に記憶されている。ここで、注目画素eがバンド領域の上端部に位置している場合、参照されるべきa、dの位置の画素は一つ前のバンド領域に属することとなるため、該a、dの位置の量子化誤差をバンド領域を跨って参照することができない。そこで本実施形態では、一つ前のバンド領域の下端部の画素を処理した際の演算結果を、内部記憶手段である遅延メモリとは異なる、外部記憶手段としての誤差バッファ(後述する図2(a)の238に対応)に記憶しておく。これにより、画像データを複数バンド領域に分割し、バンド領域毎に逐次的に処理を行う場合あっても、バンド領域を跨って演算結果を参照することが可能となる。 Although details will be described later, in the image processing apparatus according to the present embodiment, the quantization error obtained as the calculation result of the pixels at the positions a to d is a delay memory mounted in the image processing unit (FIG. 2 to be described later). (corresponding to 214 in (a)). Here, when the target pixel e is located at the upper end of the band area, the pixels at the positions a and d to be referred to belong to the previous band area, so the positions of the a and d Cannot be referred across the band region. Therefore, in the present embodiment, the calculation result when processing the pixel at the lower end of the previous band area is different from the delay memory as the internal storage means, and the error buffer as the external storage means (see FIG. corresponding to a) 238). As a result, even when image data is divided into a plurality of band areas and processing is performed sequentially for each band area, the calculation result can be referred to across the band areas.
本実施形態において、画素を処理した際の演算結果の誤差バッファへの書き込み、及び誤差バッファからの読み出しを行う場合には、1回のアドレス指定で複数のデータを連続的に転送するバースト転送によるアクセスを行う。したがって、誤差バッファへのアクセス回数を、1画素に1回のアクセスから、バースト長に対応する複数画素に1回のアクセスに削減できる。このバースト転送を実現するために、バンド領域の下端部の画素を処理した際の演算結果を複数画素分記憶しておく転送用バッファ(後述する図2(a)の216、217に対応)が、画像処理部の中に実装される。 In this embodiment, when writing the calculation result when processing a pixel to the error buffer and reading from the error buffer, burst transfer is used to transfer a plurality of data continuously with one address designation. Access. Therefore, the number of accesses to the error buffer can be reduced from one access to one pixel to one access to a plurality of pixels corresponding to the burst length. In order to realize this burst transfer, there is a transfer buffer (corresponding to 216 and 217 in FIG. 2 (a) described later) for storing a calculation result when a pixel at the lower end of the band region is processed for a plurality of pixels. Implemented in the image processing unit.
●装置構成
以下、本実施形態の画像処理装置の構成例について、図2(a)を用いて説明する。図2(a)において、画像入力部200はスキャナやデジタルカメラ等の入力デバイスであり、画像処理部210にデジタル画像データを入力する。画像処理部210は、入力補正処理や各種フィルタ処理等を行う部分(不図示)と、誤差拡散処理を行う誤差拡散処理部212とで構成される。さらに誤差拡散処理部212は、上記量子化誤差を記憶するための遅延メモリ214と、上記バースト転送時に利用される転送用バッファ216、217を内部に実装する。画像処理部210は上述した各種画像処理を行い、誤差拡散処理部212の処理結果である例えば2値データを、画像出力部220に送る。画像出力部220は、例えばインクジェットヘッド等の印刷出力部を備えて構成され、画像処理部210から入力された2値データを基に用紙上に画像を記録する。
Apparatus Configuration An example of the configuration of the image processing apparatus according to this embodiment will be described below with reference to FIG. In FIG. 2A, an
中央処理装置部230は、演算制御用のCPU232、データやプログラム等を格納するROM234、データの一次保存やプログラムのロード等に使用されるRAM236等から構成され、画像入力部200、画像処理部210、画像出力部220を制御する。なおRAM236は、上述したように一つ前のバンド領域の下端部の画素を処理した際の演算結果を記憶しておくための誤差バッファ238を含んでいる。
The
図2(a)に示す構成において、内部記憶手段としての遅延メモリ214には注目画素を処理した際の演算結果として得られる量子化誤差が逐次記憶される。第1の保持手段としての転送用バッファ216には、バンド領域の下端部の画素(次バンドの上端画素処理時の参照画素)を処理した際の演算結果として得られる量子化誤差が複数画素分保持される。また第2の保持手段としての転送用バッファ217には、バンド領域の上端画素に対する参照画素の量子化誤差が複数画素分保持される。また外部記憶手段としての誤差バッファ238には、バンド領域の下端部の1ライン分の画素(次バンドの上端画素処理時の参照画素)を処理した際の量子化誤差が全て記憶される。
In the configuration shown in FIG. 2A, a quantization error obtained as a calculation result when the pixel of interest is processed is sequentially stored in the
このように本実施形態においては、演算結果を記憶するメモリに関して、画像処理部の内部にある遅延メモリ214、転送用バッファ216、217、画像処理部の外部にある記憶装置(誤差バッファ238)、の3部からなる構成とすることを特徴とする。
As described above, in the present embodiment, regarding the memory for storing the calculation result, the
以下、本実施形態で行う画像処理(誤差拡散処理)と上記3部構成からなるメモリの動作について、詳細に説明する。 Hereinafter, the image processing (error diffusion processing) performed in the present embodiment and the operation of the memory composed of the three parts will be described in detail.
●誤差拡散処理における遅延メモリ動作
まず、本実施形態における誤差拡散処理及び遅延メモリ214へのアクセスについて、図3(b)のフローチャートと、図4、図5、図6を用いて説明する。図6は、図2(a)中の誤差拡散処理部212の詳細な構成例と、誤差バッファ238との関係を示す図である。また図5は、図1(a)中のバンド領域120において、注目画素eを処理する様子を示す図である。図5において点線で囲んだ領域510は、注目画素eを処理するために必要な量子化誤差の参照画素と注目画素の位置を示しており、図4(c)に示すa、b、c、d、eに対応している。
Delay Memory Operation in Error Diffusion Processing First, error diffusion processing and access to the
まずS401において、注目画素eを処理するために必要となる、画素a、b、c、dを処理した際の量子化誤差(以降、画素xを処理した際の量子化誤差を量子化誤差xと称する。即ち、xは注目画素からの相対的な位置を示す)を読み出す。量子化誤差a、b、cは遅延メモリ620(図2(a)の遅延メモリ214に対応)に記憶されており、入力画素eの直前に処理された画素dを処理した際の量子化誤差dは、遅延レジスタ630に記憶されている。量子化誤差a、b、cは、遅延メモリ620から遅延回路640を介して取り出され、積和演算器600に入力される。加えて、量子化誤差dも遅延レジスタ630から積和演算器600に入力される。一方、誤差拡散係数は誤差拡散係数レジスタ610に記憶されており、各量子化誤差が読み込まれる際に、レジスタ0から4に記憶された4つの誤差拡散係数が積和演算器600に入力される。
First, in S401, a quantization error when processing the pixels a, b, c, and d required for processing the target pixel e (hereinafter, the quantization error when processing the pixel x is expressed as a quantization error x). That is, x indicates a relative position from the target pixel). The quantization errors a, b, and c are stored in the delay memory 620 (corresponding to the
次にS402において、注目画素eに対する誤差の伝播を行う。すなわち積和演算器600において、量子化誤差a、b、c、dのそれぞれに対して誤差拡散係数に応じた重み付けを行い、それぞれの重み付けを行った値と入力画素値eとの総和を計算する。この計算結果である積和演算結果602が、注目画素eに対する誤差伝播後の値として出力される。
In step S402, an error is propagated to the target pixel e. That is, the product-
次にS403で量子化器650において、積和演算器600から出力された積和演算結果602を、所定の閾値によって所定の量子化代表値に量子化し、量子化結果604を出力する。
In step S <b> 403, the
次にS404で逆量子化器670において、量子化器650から出力された量子化結果604を量子化代表値にする逆量子化を行って逆量子化結果606を出力する。そしてS405で減算器660が、積和演算器600から出力された積和演算結果602と、逆量子化器670から出力された逆量子化結果606との差分を計算し、該差分を量子化誤差607としてを出力する。
In step S <b> 404, the
そしてS406において、遅延レジスタ630、遅延メモリ620への量子化誤差の書き込みが行われる。すなわち、減算器660から出力された量子化誤差607を遅延レジスタ630に記憶することで、この量子化誤差607は次の画素を処理する際に量子化誤差dとして用いられる。また、注目画素eを処理するために用いられた量子化誤差dは、遅延回路640を介して遅延メモリ620に記憶され、バンド領域の幅方向における次の列の画素を処理する際に用いられる。
In step S406, the quantization error is written into the
ここで、遅延メモリ620の容量について説明する。本実施形態では、注目画素に対して近傍画素から拡散される誤差の計算に用いる参照画素位置の形状(フィルタ形状)は、図4(b)に示す形状(すなわち図5中の領域510の形状)である。したがって、遅延メモリ620には、図5中の斜線領域520の画素の量子化誤差を記憶しておけば、誤差拡散処理を行うことができる。したがって遅延メモリ620として必要な最低限の容量は、バンド領域の高さに相当する1行分の画素についての量子化誤差を記憶できる容量であり、以下の式(1)で示される。なお式(1)において、BDhはバンド領域の高さであり、pixは1画素あたりの量子化誤差のデータサイズである。
Here, the capacity of the
遅延メモリ容量Dbub=BDh×pix ・・・(1)
式(1)から分かるように本実施形態においては、続く画素を処理するために必要な演算結果を記憶する遅延メモリ620として最低限必要となる容量(以下、遅延メモリ容量と称する)は、バンド領域の高さに依存する。本実施形態ではバンドの分割数は任意であるため、1ページの高さが同じである場合、分割数を多くすればバンド領域の高さは非常に小さくなり、遅延メモリ容量を大幅に削減することができる。
Delay memory capacity Dbub = BDh × pix (1)
As can be seen from the equation (1), in this embodiment, the minimum capacity (hereinafter referred to as delay memory capacity) required for the
ここで、上記第1の従来技術と本実施形態とを比較する。例えば、解像度が600ppiで横幅60インチサイズの入力画像データを考える。すると、該入力画像データにおける1ラインの画素数は36000画素であり、また、量子化誤差のデータサイズを8ビットとすると、上記第1の従来技術では遅延メモリ容量は約35キロバイトとなる。一方、本実施形態では、バンド領域の高さ方向の画素数を360画素とした場合、遅延メモリ容量は360バイトとなり、上記第1の従来技術を適用した場合の1/100に削減できる。 Here, the first prior art is compared with the present embodiment. For example, consider input image data having a resolution of 600 ppi and a width of 60 inches. Then, the number of pixels per line in the input image data is 36000 pixels, and if the data size of the quantization error is 8 bits, the delay memory capacity in the first conventional technique is about 35 kilobytes. On the other hand, in the present embodiment, when the number of pixels in the height direction of the band region is 360 pixels, the delay memory capacity is 360 bytes, which can be reduced to 1/100 that in the case of applying the first conventional technique.
なお、遅延メモリ容量は、誤差拡散処理に用いられるフィルタ形状によって変動する。この遅延メモリ容量の変動について、図9を用いて説明する。図9は、上述した図4(b)とは異なるフィルタ形状の例を示している。図9(a)中のa〜g、図9(b)中のa〜lは、*で示す位置の注目画素を処理する際に参照される画素の位置関係を示しており、それぞれが図10(a)中の点線で囲んだ領域1010、図10(b)中の点線で囲んだ領域1030に対応している。このような場合に必要となる遅延メモリ容量は、フィルタ形状が図9(a)の形状である場合、図10(a)中の斜線領域1000に含まれる画素についての量子化誤差を記憶可能な容量となる。また、フィルタ形状が図9(b)の形状である場合には、遅延メモリ容量は、図10(b)中の斜線領域1020に含まれる画素についての量子化誤差を記憶可能な容量となる。すなわち、遅延メモリ容量としては、誤差拡散のフィルタ形状(図4(c)に示す近傍領域)において、注目画素の走査ラインよりも前に走査される走査ライン数と、バンド領域の短辺方向分の画素数とを乗じた画素数分の演算結果を記憶できれば良い。なお、図9(a)、(b)に示すフィルタ形状である場合も、遅延メモリ容量はバンド領域の高さ方向の画素数に依存するため、上記第1の従来技術と比較して遅延メモリ容量を大幅に削減できる。
The delay memory capacity varies depending on the filter shape used for error diffusion processing. The variation of the delay memory capacity will be described with reference to FIG. FIG. 9 shows an example of a filter shape different from that of FIG. In FIG. 9A, a to g, and a to l in FIG. 9B indicate the positional relationship of the pixels referred to when processing the target pixel at the position indicated by *, respectively. This corresponds to a
●転送用バッファ、誤差バッファ動作
次に、転送用バッファおよび誤差バッファへのアクセスについて、図3(a)のフローチャートを用いて説明する。ここでは、図1(a)中のバンド領域120を処理する場合を例とする。
Transfer Buffer and Error Buffer Operation Next, access to the transfer buffer and the error buffer will be described with reference to the flowchart of FIG. Here, a case where the
まずS300において、注目画素eがバンド領域120の上端部の画素であるか否かの判定を行う。注目画素eがバンド領域120の上端部の画素であれば(図5(b)の状態)、S301〜S303でバンド上端部処理(第2の境界処理)を行う。すなわち、S301で転送用バッファA690に注目画素eの処理に必要なデータが存在するか否かの判定を行う。この場合の必要なデータとは、一つ前のバンド領域の下端部(図1(a)におけるバンド領域110中の領域150)の画素である画素a、dを処理した際の量子化誤差a、dである。必要なデータが存在している場合、転送用バッファA690から量子化誤差a、dを読み出し(S303)、遅延メモリ620に記憶されている量子化誤差b、cと合わせて用いて誤差拡散処理を行う(S304)。一方、転送用バッファA690に必要なデータが存在していない場合には、誤差バッファ680から転送用バッファA690へ、必要なデータを含む複数画素分の量子化誤差をバースト転送で読み出す(S302)。そして、該バースト読み出ししたデータに含まれる量子化誤差a、dと、遅延メモリ620に記憶されている量子化誤差b、cとを合わせて用いて誤差拡散処理を行う(S304)。
First, in S300, it is determined whether or not the target pixel e is a pixel at the upper end of the
一方、S300で注目画素eがバンド領域120の上端部でない場合(図5(a)の状態)には、遅延メモリ620に記憶されている量子化誤差a、b、cと、遅延レジスタ630に記憶されている量子化誤差dを用いて誤差拡散処理を行う(S304)。ここで、注目画素が下端部である場合には、量子化誤差cについては次のバンド領域の処理時に得られるため、これを参照せずに誤差拡散処理を行うとする。なお、S304における誤差拡散処理の詳細がすなわち、上記図3(b)に示したフローチャートに相当する。
On the other hand, when the target pixel e is not the upper end portion of the
そして次にS305において、注目画素eがバンド領域120の下端部であるか否かの判定を行う。注目画素eがバンド領域120の下端部であった場合(図5(c)の状態)、S306〜S308でバンド下端部処理(第1の境界処理)を行う。すなわち、S306で誤差拡散処理を行った際の量子化誤差eを転送用バッファB695に書き込むみ、続いて、所定の画素分を転送用バッファB695に書き込んだか否かの判定を行う(S307)。所定の画素分を書き込んだ場合、転送用バッファB695に記憶されている複数画素分の量子化誤差をまとめて、誤差バッファ680へバースト転送で書き込み(S308)、その後、画像出力部220へ量子化結果を出力する(S309)。一方、S305で注目画素eがバンド領域120の下端部でない場合(図5(a)の状態)、または、S307で所定の画素分が転送用バッファB695に書き込まれていない場合には、そのままS309に進み、画像出力部220へ量子化結果を出力する。
In step S <b> 305, it is determined whether the target pixel e is the lower end portion of the
なお、入力画像データにおける一番上のバンド領域(ページの先頭バンド)の上端部(図1(a)中のバンド領域110の上端部)を処理する際には、誤差バッファ680へのアクセスは行わない。同様に、入力画像データの一番下のバンド領域(ページの最終バンド)の下端部(図1(a)中のバンド領域130の下端部)を処理する際にも、誤差バッファ680へのアクセスは行わない。
When processing the upper end of the uppermost band area (first band of the page) in the input image data (the upper end of the
ここで、誤差バッファ680の容量について説明する。誤差バッファ680には、注目画素がバンド領域の上端部にある場合に、当該バンド領域内では参照不可能となる近傍画素についての演算結果が保持される。本実施形態では、注目画素を処理する際に参照する複数の画素位置のうち、注目画素よりも上の位置にある画素は図4(c)中のa、dで示す1ライン上の画素である。したがって、誤差バッファ680には、一つ前に処理したバンド領域の下端1ライン分の画素を処理した際の量子化誤差を記憶しておけば良い。例えば、図1(a)中のバンド領域120を処理する際には、誤差バッファ680には一つ前のバンド領域の下端の領域150を処理した際の量子化誤差が記録されている。したがって誤差バッファ680として必要な最低限の容量は、バンド領域の幅に相当する1ライン分の画素についての量子化誤差を記憶できる容量であり、以下の式(2)で示される。なお式(2)において、BDlはバンド領域の幅であり、pixは1画素あたりの量子化誤差のデータサイズである。
Here, the capacity of the
誤差バッファ容量Ebub=BDl×pix ・・・(2)
なお、誤差バッファ容量も、誤差拡散処理に用いられるフィルタ形状によって変動する。例えば、フィルタ形状が上記図9(a)に示す形状であった場合について考える。図9(a)において、*で示す注目画素を処理する際に参照される画素のうち、その位置が注目画素よりも上にあるものはb、gで示す1ライン上の画素と、fで示す2ライン上の画素である。したがって誤差バッファ容量としては、一つ前に処理したバンド領域の下端ラインと、その1ライン上の、合計2ライン分の画素の量子化誤差を記憶可能とする。すなわち、誤差バッファ容量としては、誤差拡散のフィルタ形状(図4(c)に示す近傍領域)において、注目画素よりも前に処理される、バンド領域の長辺方向のライン数と、バンド領域の長辺方向分の画素数とを乗じた画素数分の演算結果を記憶できれば良い。
Error buffer capacity Ebub = BD1 × pix (2)
The error buffer capacity also varies depending on the filter shape used for the error diffusion process. For example, consider the case where the filter shape is the shape shown in FIG. In FIG. 9A, among the pixels referred to when processing the target pixel indicated by *, pixels whose position is above the target pixel are pixels on one line indicated by b and g, and f It is a pixel on two lines shown. Therefore, as the error buffer capacity, it is possible to store the quantization error of pixels for a total of two lines on the lower end line of the previously processed band region and one line. That is, as the error buffer capacity, the number of lines in the long side direction of the band area processed before the target pixel in the filter shape of error diffusion (the neighboring area shown in FIG. 4C), the band area It is only necessary to store the calculation results for the number of pixels obtained by multiplying the number of pixels for the long side direction.
続いて、転送用バッファ216、217(以下、単に転送用バッファと称する)の容量について説明する。転送用バッファの更新間隔は1バンド領域の高さ分の処理時間あるので、ダブルバッファ構成にする必要はない。従って、転送用バッファの容量はバーストアクセス単位以上、すなわち、1回の前記バースト転送によって転送されるデータサイズ分の容量があればよい。例えば、バースト転送サイズが32バイトであれば、転送用バッファとして最低限必要な容量は32バイトである。つまり、1画素あたりの量子化誤差のデータサイズが1バイトであれば、32画素分となる。通常、読み出しと書き込みのバースト転送サイズは同じであるので、本実施形態の転送用バッファも32バイトのバッファ2つ(216と217)で構成される。 Next, the capacity of the transfer buffers 216 and 217 (hereinafter simply referred to as transfer buffers) will be described. Since the transfer buffer update interval has a processing time corresponding to the height of one band area, it is not necessary to adopt a double buffer configuration. Therefore, it is sufficient that the capacity of the transfer buffer is equal to or larger than the burst access unit, that is, the capacity of the data size transferred by one burst transfer. For example, if the burst transfer size is 32 bytes, the minimum required capacity for the transfer buffer is 32 bytes. That is, if the data size of the quantization error per pixel is 1 byte, it is for 32 pixels. Since the burst transfer sizes for reading and writing are usually the same, the transfer buffer of this embodiment is also composed of two 32-byte buffers (216 and 217).
なお、転送用バッファをアクセスする間隔は1行の処理時間であるから、重複読み出しを許容すれば、読み出しと書き込みの転送用バッファを共有させることも可能である。例えば、誤差拡散時の参照画素位置が図4(c)に示す領域である場合、転送用バッファの容量をバースト転送サイズ+2画素分とすれば、次の行の参照画素(2画素分)を保持しつつ、バースト書込み分を転送用バッファに確保できる。ただしこの場合は、バースト書込みが終わってから、再度バースト読み出しをしなければならないので、誤差バッファ680へのアクセス回数は1.5倍となってしまう。なお、バーストアクセス単位の読み出し開始位置をずらすことができる場合は、転送用バッファの容量をバースト転送サイズ+3画素分とすれば、誤差バッファ680へのアクセス回数を、読み出しと書き込みで共有させない場合とほぼ同じにすることができる。
Since the interval for accessing the transfer buffer is the processing time for one row, it is possible to share the transfer buffer for reading and writing if overlapping reading is allowed. For example, when the reference pixel position at the time of error diffusion is the region shown in FIG. 4C, if the capacity of the transfer buffer is the burst transfer size + 2 pixels, the reference pixels (2 pixels) in the next row are While being held, the burst write can be secured in the transfer buffer. However, in this case, since burst reading must be performed again after burst writing is completed, the number of accesses to the
ここで、誤差バッファ680にアクセスする際のメモリ帯域に関して、上記第2の従来技術と本実施形態とを比較する。上記第2の従来技術においては、注目画素を処理するために必要な近傍画素の量子化誤差は全て誤差バッファに記憶されているため、1画素毎に誤差バッファへの読み書きが発生する。それに対し本実施形態では、バンド領域の上端部および下端部の画素を処理する場合にしか、誤差バッファ680への読み書きは発生しない。これは、本実施形態では複数画素分の量子化誤差を転送用バッファに記憶し、まとめてバースト転送で誤差バッファ680に読み書きするためである。すなわち、誤差バッファ680へのアクセス回数を、上記第2の従来技術に対し、1/(バンド領域の高さ×バースト転送画素数)に削減することができ、メモリ帯域は大幅に削減される。
Here, the second prior art and the present embodiment are compared with respect to the memory bandwidth when accessing the
以上説明した様に本実施形態によれば、バンド領域の短辺方向に画素をクロスバンド走査し、以降の画素の処理時に参照される演算結果を保持するメモリを、画像処理部内の遅延メモリと、画像処理部外の誤差バッファ、および転送用バッファの3部構成とする。すなわち、以降の画素の処理時に参照される演算結果を遅延メモリに記憶し、次のバンド領域の処理時に参照される演算結果を、転送用バッファを一時的に利用したバースト転送によって誤差バッファに記憶する。これにより、遅延メモリの容量がバンド領域の短辺方向サイズ(高さ)に依存するようになるため、該容量を大幅に削減することができ、入力画像データの解像度やサイズに非依存の回路を構成できる。 As described above, according to the present embodiment, a memory that performs cross-band scanning of pixels in the short side direction of the band region and holds a calculation result referred to in subsequent pixel processing is referred to as a delay memory in the image processing unit. The three-part configuration includes an error buffer outside the image processing unit and a transfer buffer. In other words, the calculation result referred to in the subsequent pixel processing is stored in the delay memory, and the calculation result referred to in the next band region processing is stored in the error buffer by burst transfer temporarily using the transfer buffer. To do. As a result, the capacity of the delay memory depends on the size (height) in the short side direction of the band area, so that the capacity can be greatly reduced, and the circuit is independent of the resolution and size of the input image data. Can be configured.
本実施形態を上記第1の従来技術と比較した場合、画像処理部外の誤差バッファへのアクセスが発生するものの、該誤差バッファへのアクセスに伴うメモリ帯域は、転送用バッファを活用することによって非常に小さいものとなる。したがって、画像処理部内の遅延メモリの容量を大幅に削減しつつ、全体としての回路規模を抑制し、実装コストを削減することが可能となる。 When this embodiment is compared with the first prior art described above, access to the error buffer outside the image processing unit occurs, but the memory bandwidth accompanying access to the error buffer is obtained by utilizing the transfer buffer. It will be very small. Accordingly, it is possible to significantly reduce the capacity of the delay memory in the image processing unit, suppress the circuit scale as a whole, and reduce the mounting cost.
また、本実施形態を上記第2の従来技術と比較した場合、画像処理部内に遅延メモリを実装することになるが、その容量は僅かであり、さらに、誤差バッファへアクセスする際のメモリ帯域が大幅に削減される。 Further, when this embodiment is compared with the second prior art, a delay memory is mounted in the image processing unit, but its capacity is very small, and the memory bandwidth when accessing the error buffer is small. Significantly reduced.
さらに、バンド領域の高さは任意であるから、該バンド高さに依存する遅延バッファの容量を設計者が制御することができる。加えて、入力画像データ全体を処理する際の誤差バッファへのアクセス回数は、バンド領域の高さに依存する。したがって、バンド領域の高さが大きいほどアクセス回数が減り、バンド領域の高さが小さいほどアクセス回数は増えるため、遅延メモリの容量と、誤差バッファへアクセスする際のメモリ帯域とがトレード・オフの関係となる。したがって設計者は、目的に応じて柔軟にメモリ容量、メモリ帯域、回路規模等の回路リソースを調達することができる。 Furthermore, since the height of the band region is arbitrary, the designer can control the capacity of the delay buffer depending on the band height. In addition, the number of accesses to the error buffer when processing the entire input image data depends on the height of the band area. Therefore, the access frequency decreases as the band area height increases, and the access frequency increases as the band area height decreases, so there is a trade-off between the capacity of the delay memory and the memory bandwidth when accessing the error buffer. It becomes a relationship. Therefore, the designer can procure circuit resources such as a memory capacity, a memory band, and a circuit scale flexibly according to the purpose.
<第2実施形態>
以下、本発明に係る第2実施形態について説明する。上述した第1実施形態では、画像処理部において誤差拡散処理を行う例を示したが、第2実施形態では、画像処理部において予測符号化処理を行う例を示す。
Second Embodiment
Hereinafter, a second embodiment according to the present invention will be described. In the first embodiment described above, an example in which the error diffusion process is performed in the image processing unit has been described, but in the second embodiment, an example in which the predictive encoding process is performed in the image processing unit is illustrated.
●予測符号化処理
以下、第2実施形態における予測符号化処理として、平面予測(2次元予測)を行う場合について、参照データのアクセス方法について説明する。
Predictive Encoding Process A reference data access method will be described below in the case of performing plane prediction (two-dimensional prediction) as the predictive encoding process in the second embodiment.
第2実施形態の平面予測においても、図4(c)に示す画素位置を参照する。すなわち、図4(c)において画素eが注目画素であるとすると、a、b、c、dに示す位置の画素の演算結果(局部復号値)を用いて画素eの予測値を演算し、予測符号化処理を行う。a、b、c、dの各位置の画素の演算結果として得られる局部復号値は、画像処理部内に実装した遅延メモリ(後述する図2(b)の214に対応)に記憶されている。 Also in the planar prediction of the second embodiment, the pixel position shown in FIG. That is, if the pixel e is the target pixel in FIG. 4C, the prediction value of the pixel e is calculated using the calculation results (local decoded values) of the pixels at the positions indicated by a, b, c, and d. Predictive encoding processing is performed. The local decoded value obtained as the calculation result of the pixels at the respective positions a, b, c, and d is stored in a delay memory (corresponding to 214 in FIG. 2B described later) mounted in the image processing unit.
ここで、注目画素eがバンド領域の上端部に位置している場合、参照されるべきa、dの位置の画素は一つ前のバンド領域に属することとなるため、該a、dの位置の局部復号値をバンド領域を跨って参照することができない。そこで第2実施形態においても上述した第1実施形態と同様には、一つ前のバンド領域の下端部の画素を処理した際の局部復号値を1ライン分、遅延メモリとは異なる復号値バッファ(後述する図2(b)の239に対応)に記憶しておく。これにより、画像データを複数バンド領域に分割し、バンド領域毎に逐次的に処理を行う場合あっても、バンド領域を跨って局部復号値を参照することが可能となる。なお、第2実施形態における復号値バッファに対する局部復号値の書き込みおよび読み出しについても、上述した第1実施形態と同様に、局部復号値の複数画素分を転送用バッファに記憶しておき、まとめてバースト転送することで、アクセス回数を削減する。 Here, when the target pixel e is located at the upper end of the band area, the pixels at the positions a and d to be referred to belong to the previous band area, so the positions of the a and d Cannot be referred across the band region. Therefore, in the second embodiment as well, as in the first embodiment described above, a decoded value buffer different from the delay memory for the local decoded value corresponding to one line when the pixel at the lower end of the previous band region is processed. (Corresponding to 239 in FIG. 2B described later). As a result, even when image data is divided into a plurality of band areas and processing is performed sequentially for each band area, it is possible to refer to local decoded values across the band areas. As for the writing and reading of the local decoded value to and from the decoded value buffer in the second embodiment, a plurality of pixels of the local decoded value are stored in the transfer buffer in the same manner as in the first embodiment described above, and collectively. The number of accesses is reduced by burst transfer.
●装置構成
以下、第2実施形態の画像処理装置の構成例について、図2(b)を用いて説明する。図2(b)において、上述した第1実施形態に示した図2(a)と同様の構成には同一番号を付し、説明を省略する。すなわち図2(b)においては、図2(a)の誤差拡散処理部212に代えて予測符号化処理部213を設け、さらに図2(a)の誤差バッファ238に代えて復号値バッファ239を備えることを特徴とする。すなわち、予測符号化処理部213は画像データに対して予測符号化処理を行い、その内部に遅延メモリ214、転送用バッファ216を実装する。また、中央処理装置部230中のRAM236に復号値バッファ239を備える。
Device Configuration Hereinafter, a configuration example of the image processing device according to the second embodiment will be described with reference to FIG. In FIG. 2 (b), the same components as those in FIG. 2 (a) shown in the first embodiment are denoted by the same reference numerals, and description thereof is omitted. That is, in FIG. 2B, a predictive
図2(b)に示す構成において、遅延メモリ214には注目画素を処理した際の局部復号値が逐次記憶される。転送用バッファ216には、バンド領域の下端部の画素(次バンドの上端画素処理時の参照画素)を処理した際の局部復号値が複数画素分記憶される。また転送用バッファ217には、バンド領域の上端画素の参照画素の局部復号値が複数画素分記憶される。また復号値バッファ239には、バンド領域の下端部の画素(次バンドの上端画素処理時の参照画素)を処理した際の局部復号値が全て記憶される。
In the configuration shown in FIG. 2B, local decoding values when the target pixel is processed are sequentially stored in the
●遅延メモリ動作
まず、図7(b)のフローチャートと、図4、図5、図8を用いて、第2実施形態における予測符号化処理及び遅延メモリ214へのアクセスについて説明する。図8は、図2(b)中の予測符号化処理部213の詳細な構成例と、復号値バッファ239との関係を示す図である。また図5は、図1(a)中のバンド領域120において、注目画素eを処理する様子を示す図である。図5において点線で囲んだ領域510は、注目画素eを処理するために必要な局部復号値を演算結果として有する参照画素の位置を示しており、図4(c)に示すa、b、c、d、eに対応している。
Delay Memory Operation First, the predictive encoding process and access to the
まずS801において、注目画素eを処理するために必要となる、画素a、b、c、dを処理した際の局部復号値(以降、画素xを処理した際の局部復号値を復号値xと称する。即ち、xは注目画素からの相対的な位置を示す)を読み出す。復号値a、b、cは遅延メモリ870(図2(b)の遅延メモリ214に対応)に記憶されており、入力画素eの直前に処理された画素dを処理した際の復号値dは、遅延レジスタ850に記憶されている。復号値a、b、cは、遅延メモリ870から遅延回路860を介して取り出され、予測器800に入力される。加えて、復号値dも遅延レジスタ850から予測器800に入力される。
First, in S801, the local decoded value when the pixels a, b, c, and d are processed, which is necessary for processing the target pixel e (hereinafter, the local decoded value when the pixel x is processed is set as the decoded value x. That is, x indicates a relative position from the pixel of interest). The decoded values a, b, and c are stored in the delay memory 870 (corresponding to the
そしてS802において、予測器800は復号値a、b、c、dを用いて予測値801を計算し、出力する。
In step S802, the
そしてS803において、予測値801を復号する。すなわち、まず減算器810が入力画素eと予測器800から出力された予測値801の差分値802を計算し、出力する。次に量子化器820が、減算器810から出力された差分値802を量子化代表値に量子化し、符号化値803として出力する。次に逆量子化器830が、量子化器820から出力された符号化値803を量子化代表値に逆量子化し、量子化代表値804を出力する。次に加算器840が、予測器800から出力された予測値801と、逆量子化器830から出力された量子化代表値804とを加算し、該加算結果を復号値805として出力する。
In step S803, the predicted
次にS804において、加算器840から出力された復号値805が遅延レジスタ850に記憶され、次の画素を処理する際に用いられる。また、注目画素eを処理するために用いられた復号値dは、遅延回路860を介して遅延メモリ870に記憶され、バンド領域の幅方向における次の列の画素を処理する際に用いられる。
In step S804, the decoded
第2実施形態では上述した第1実施形態と同様に、遅延メモリ870として最低限必要となる容量(遅延メモリ容量)は、バンド領域の高さ方向の画素数に依存するため、画像サイズによらずに任意に設定可能である。従って、1ページの高さが同じである場合、分割数を多くすればバンド領域の高さは非常に小さくなり、遅延メモリ容量を大幅に削減することができる。
In the second embodiment, as in the first embodiment described above, the minimum required capacity (delay memory capacity) of the
●転送用バッファ、誤差バッファ動作
次に、図7(a)のフローチャートを用いて、転送用バッファおよび復号値バッファへのアクセスについて説明する。ここでも上述した第1実施形態と同様に、図1(a)中のバンド領域120を処理する場合を例とする。
Transfer Buffer and Error Buffer Operation Next, access to the transfer buffer and the decoded value buffer will be described with reference to the flowchart of FIG. Here, as in the first embodiment described above, the case of processing the
まずS700において、注目画素eがバンド領域120の上端部の画素であるか否かの判定を行う。注目画素eがバンド領域120の上端部の画素であれば(図5(b)の状態)、S701で転送用バッファA890に注目画素eの処理に必要なデータが存在するか否かの判定を行う。この場合の必要なデータとは、一つ前のバンド領域の下端部(図1(a)におけるバンド領域110中の領域150)の画素である画素a、dを処理した際の復号値a、dである。必要なデータが存在している場合、転送用バッファA890から復号値a、dを読み出し、遅延メモリ870に記憶されている復号値b、cと合わせて用いて符号化処理を行う(S704)。一方、転送用バッファA890に必要なデータが存在していない場合には、復号値バッファ880から転送用バッファA890へ、必要なデータを含む複数画素分の復号値をバースト転送で読み出す(S702)。そして、該バースト読み出ししたデータに含まれる復号値a、dと、遅延メモリ870に記憶されている復号値b、cとを合わせて用いて符号化処理を行う(S704)。
First, in S700, it is determined whether or not the target pixel e is a pixel at the upper end of the
一方、S700で注目画素eがバンド領域120の上端部でない場合(図5(a)の状態)には、遅延メモリ870に記憶されている復号値a、b、cと、遅延レジスタ850に記憶されている復号値dを用いて符号化処理を行う(S704)。
On the other hand, if the target pixel e is not the upper end portion of the
そして次にS705において、注目画素eがバンド領域120の下端部であるか否かの判定を行う。注目画素eがバンド領域120の下端部であった場合(図5(c)の状態)、符号化処理を行った際の復号値eを転送用バッファB895に書き込む(S706)。続いてS707において、所定の画素分を転送用バッファB895に書き込んだか否かの判定を行う。所定の画素分を書き込んだ場合、転送用バッファB895に記憶されている複数画素分の復号値をまとめて、復号値バッファ880へバースト転送で書き込み(S708)、その後、画像出力部220へ符号化結果を出力する。一方、S705で注目画素eがバンド領域120の下端部でない場合(図5(a)の状態)、または、S707で所定の画素分が転送用バッファB895に書き込まれていない場合には、そのままS709に進み、画像出力部220へ符号化結果を出力する。
In step S <b> 705, it is determined whether the target pixel e is the lower end portion of the
なお、入力画像データにおける一番上のバンド領域(ページの先頭バンド)の上端部(図1(a)中のバンド領域110の上端部)を処理する際には、復号値バッファ880からの読み出しは行わない。同様に、入力画像データの一番下のバンド領域(ページの最終バンド)の下端部(図1(a)中のバンド領域130の下端部)を処理する際にも、復号値バッファ880への書き込みは行わない。
When processing the upper end of the uppermost band area (first band of the page) in the input image data (the upper end of the
ここで、復号値バッファ880の容量について説明する。第2実施形態における復号値バッファ880として必要な最低限の容量は、バンド領域の幅に相当する1ライン分の画素についての復号値を記憶できる容量であり、以下の式(3)で示される。なお式(3)において、BDlはバンド領域の幅であり、pixは1画素あたりの復号値のデータサイズである。
Here, the capacity of the decoded
復号値バッファ容量DEbuf=BDl×pix ・・・(3)
なお、予測値を計算するために参照する画素の位置によって、復号値バッファ容量は変動する。
Decoded value buffer capacity DEbuf = BD1 × pix (3)
Note that the decoded value buffer capacity varies depending on the position of the pixel referred to for calculating the predicted value.
また、第2実施形態における転送用バッファの容量に関しては、上述した第1実施形態と同様であるため、説明は省略する。 The capacity of the transfer buffer in the second embodiment is the same as that in the first embodiment described above, and a description thereof will be omitted.
ここで、復号値バッファ880にアクセスするメモリ帯域に関して、上記第2の従来技術と第2実施形態とを比較する。上記第2の従来技術においては、注目画素を処理するために必要な近傍画素の復号値は全て復号値バッファに記憶されているため、1画素毎に復号値バッファへの読み書きが発生する。それに対し第2実施形態では、バンド領域の上端部および下端部の画素を処理する場合にしか、復号値バッファ880への読み書きは発生しない。これは、第2実施形態では複数画素分の復号値を転送用バッファに記憶し、まとめてバースト転送で復号値バッファ880に読み書きするためである。すなわち、復号値バッファ880へのアクセス回数を、上記第2の従来技術に対し、1/(バンド領域の高さ×バースト転送画素数)に削減することができ、メモリ帯域は大幅に削減される。
Here, with respect to the memory bandwidth for accessing the decoded
以上説明した様に第2実施形態によれば、画像データに対する予測符号化処理をバンド処理にて行う場合においても、上述した第1実施形態と同様の効果が得られる。すなわち、遅延メモリの容量を削減しつつ、復号値バッファにアクセスする際のメモリ帯域を削減することができ、ハードウェアの実装コストを大幅に削減することができる。 As described above, according to the second embodiment, even when predictive encoding processing for image data is performed by band processing, the same effects as those of the first embodiment described above can be obtained. That is, while reducing the capacity of the delay memory, the memory bandwidth when accessing the decoded value buffer can be reduced, and the hardware implementation cost can be greatly reduced.
<第3実施形態>
以下、本発明に係る第3実施形態について説明する。上述した第1および第2実施形態では、図1(b)に示す片方向走査によるバンド処理を行う例を示したが、第3実施形態では、これを双方向走査にて行う例を示す。
<Third Embodiment>
The third embodiment according to the present invention will be described below. In the first and second embodiments described above, an example of performing band processing by unidirectional scanning shown in FIG. 1B has been shown, but in the third embodiment, an example of performing this by bidirectional scanning is shown.
●双方向走査
第3実施形態においては、図1(c)の矢印190で示すように、バンド内を双方向走査することによって誤差拡散処理を行う場合を例として説明する。なお、第3実施形態における画像処理装置の構成は上述した第1実施形態に示す図2(a)および図6と同様であるため、説明を省略する。
Bidirectional Scan In the third embodiment, an example will be described in which error diffusion processing is performed by performing bidirectional scan within a band, as indicated by an
図1(b)によれば、バンド領域の左上の画素から走査を開始し、バンド領域の高さ方向を下方向に向かって走査(下方向走査)する。そして、バンド領域の下端の画素の処理が終わると、バンド領域の幅方向に1画素遷移し、バンド領域の下端の画素から上方向に向かって走査(上方向走査)を開始する。この一連の走査をバンド領域全体の画素について終了するまで行う。 According to FIG. 1B, scanning is started from the upper left pixel of the band area, and the height direction of the band area is scanned downward (downward scanning). When the processing of the pixels at the lower end of the band region is completed, one pixel is shifted in the width direction of the band region, and scanning (upward scanning) is started upward from the pixels at the lower end of the band region. This series of scanning is performed for all the pixels in the band area.
このような双方向走査で誤差拡散処理を行うと、誤差の拡散方向の偏りが減少し、ドット間隔の均一性が向上するため、粒状性を向上させることが可能である。従って第3実施形態によれば、上述した第1実施形態と比較して、バンド領域内の画質を向上させることができる。 When error diffusion processing is performed by such bidirectional scanning, deviation in the error diffusion direction is reduced and the uniformity of the dot interval is improved, so that the graininess can be improved. Therefore, according to the third embodiment, the image quality in the band region can be improved as compared with the first embodiment described above.
ここで、下方向走査を行う場合の誤差拡散係数として図4(a)を用いるとすると、上方向走査を行う場合の誤差拡散係数は、図4(a)を垂直方向に反転させた、図11(a)に示す形状となる。この場合、注目画素*に対して近傍画素から拡散される誤差の計算に用いられるフィルタは、図11(b)に示すように、図11(a)の誤差拡散係数に対して点対称の形状となる。図11(c)は、注目画素をeとした場合に、該注目画素eに対して誤差拡散処理を実行する際に参照される画素の位置関係をa〜dの記号で示したものであり、すなわち、注目画素eの処理時に、a〜dの位置の画素の誤差を参照する必要がある。なお、a〜dの位置の画素の量子化誤差は、画像処理部の中に実装した遅延メモリに記憶されている。 Here, if FIG. 4A is used as the error diffusion coefficient in the case of performing the downward scanning, the error diffusion coefficient in the case of performing the upward scanning is obtained by inverting FIG. 4A in the vertical direction. 11 (a). In this case, as shown in FIG. 11B, the filter used for calculating the error diffused from the neighboring pixels with respect to the target pixel * has a point-symmetric shape with respect to the error diffusion coefficient in FIG. It becomes. FIG. 11 (c) shows the positional relationship of pixels referred to when executing error diffusion processing on the target pixel e with the symbols a to d, where e is the target pixel. That is, when processing the target pixel e, it is necessary to refer to the error of the pixels at positions a to d. Note that the quantization error of the pixels at the positions a to d is stored in a delay memory mounted in the image processing unit.
●転送用バッファ、誤差バッファ動作
次に、転送用バッファおよび誤差バッファへのアクセスについて、図13のフローチャートと図12を用いて説明する。なお、図5がバンド領域内の下方向走査の様子を示すのに対し、図12は上方向走査の様子を示している。
Transfer Buffer and Error Buffer Operation Next, access to the transfer buffer and error buffer will be described with reference to the flowchart of FIG. 13 and FIG. FIG. 5 shows a downward scanning state in the band region, whereas FIG. 12 shows an upward scanning state.
まずS900において、現在のバンド内走査が下方向走査であるか否かの判定を行う。下方向走査である場合は、転送用バッファおよび誤差バッファの動作は上述した第1実施形態と同様である。すなわちこの場合には、図3(a)で説明したS300〜S309と同様の処理を行うため、ここでは詳細な説明を省略する。 First, in S900, it is determined whether or not the current in-band scanning is a downward scanning. In the case of downward scanning, the operations of the transfer buffer and the error buffer are the same as those in the first embodiment described above. That is, in this case, since the same processing as S300 to S309 described in FIG. 3A is performed, detailed description is omitted here.
一方、バンド内走査が上方向走査である場合には、S901に進み、注目画素eがバンド領域120の下端部の画素であるか否かの判定を行う。注目画素eがバンド領域120の下端部の画素であれば(図12(c)の状態)、遅延レジスタ630に記憶されている量子化誤差a、bを用いて誤差拡散処理を行う(S902)。このとき、c、dの位置の画素については未処理のバンド領域に属するため、参照することができないことに留意されたい。
On the other hand, if the intra-band scanning is upward scanning, the process advances to step S901 to determine whether or not the target pixel e is a pixel at the lower end of the
続いて、誤差拡散処理を行った際の量子化誤差eを転送用バッファB695に書き込む(S903)。続いてS904において、所定の画素分を転送用バッファB695に書き込んだか否かの判定を行う。所定の画素分を書き込んだ場合、転送用バッファB695に記憶されている複数画素分の量子化誤差をまとめて、誤差バッファ680へバースト転送で書き込み(S905)、その後、画像出力部220へ量子化結果を出力する(S911)。
Subsequently, the quantization error e when the error diffusion processing is performed is written in the transfer buffer B 695 (S903). Subsequently, in S904, it is determined whether or not predetermined pixels have been written in the transfer buffer B695. When predetermined pixels are written, the quantization errors for a plurality of pixels stored in the
一方、S901で注目画素eがバンド領域120の下端部の画素でないと判定された場合、S906において、注目画素eがバンド領域120の上端部の画素であるか否かの判定を行う。注目画素eがバンド領域120の上端部の画素であれば(図12(b)の状態)、S907で転送用バッファA690に注目画素eの処理に必要なデータが存在するか否かの判定を行う。この場合の必要なデータとは、一つ前のバンド領域の下端部(図1(a)におけるバンド領域110中の領域150)の画素である画素aを処理した際の量子化誤差aである。必要なデータが存在している場合、転送用バッファA690から量子化誤差aを読み出す(S909)。そして、該量子化誤差aと、遅延メモリ620に記憶されている量子化誤差b、cと、遅延レジスタ630に記憶されている量子化誤差dを合わせて用いて誤差拡散処理を行う(S910)。一方、転送用バッファA690に必要なデータが存在していない場合には、誤差バッファ680から転送用バッファA690へ、必要なデータを含む複数画素分の量子化誤差をバースト転送で読み出す(S908)。そして、該バースト読み出ししたデータに含まれる量子化誤差aを転送用バッファA690から読み出す(S909)。そして、該量子化誤差aと、遅延メモリ620に記憶されている量子化誤差b、c、および遅延レジスタ630に記憶されている量子化誤差dと合わせて用いて誤差拡散処理を行う(S910)。
On the other hand, if it is determined in S901 that the pixel of interest e is not a pixel at the lower end of the
また、S906で注目画素eがバンド領域120の上端部の画素でないと判定された場合(図12(a)の状態)、遅延メモリ620内の量子化誤差a、b、cと、遅延レジスタ630内の量子化誤差dを用いて誤差拡散処理を行う(S910)。以上のようにS910で誤差拡散処理が施された後、画像出力部220へ量子化結果を出力する(S911)。
If it is determined in S906 that the target pixel e is not the pixel at the upper end of the band region 120 (the state shown in FIG. 12A), the quantization errors a, b, and c in the
なお、入力画像データの上端バンド領域における上端部(図1(a)中のバンド領域110の上端部)を処理する際には、誤差バッファ680へのアクセスは行わない。同様に、入力画像データの下端バンド領域における下端部(図1(a)中のバンド領域130の下端部)を処理する際にも、誤差バッファ680へのアクセスは行わない。
Note that the
このように、バンド内の双方向走査によって誤差拡散処理を行う場合、下方向走査の場合はバンド領域間を跨いで連続的に誤差を拡散することができる。しかしながら、上方向走査の場合は未処理のバンド領域からは誤差を拡散できないため、バンド領域を跨って連続的な処理ができない。従って、下方向走査を行う場合にのみ、バンド領域間を跨って誤差を拡散するように制御すること、すなわち、誤差バッファ680に対するアクセス(バースト転送)を行うように制御することも可能である。この場合、バンド領域の幅方向で考えると、2画素に1回バンド領域を跨る誤差拡散が発生することになり、誤差バッファ680の容量を、上述した第1実施形態と比較して1/2に削減することができる。さらに誤差バッファ680へのアクセス回数に関しても、やはり1/2に削減することができる。
In this way, when error diffusion processing is performed by bidirectional scanning within a band, errors can be continuously diffused across band regions in the case of downward scanning. However, in the case of upward scanning, since an error cannot be diffused from an unprocessed band area, continuous processing cannot be performed across the band area. Therefore, it is possible to control to diffuse the error across the band regions only when performing the downward scanning, that is, to control to access the error buffer 680 (burst transfer). In this case, when considered in the width direction of the band region, error diffusion across the band region occurs once per two pixels, and the capacity of the
以上説明したように第3実施形態によれば、バンド内で双方向走査を行うことによっても、上述した第1および第2実施形態と同様の効果が得られる。さらに、バンド領域を跨る処理を行うか否かを走査方向に応じて制御することで、回路規模のさらなる縮小が可能となる。 As described above, according to the third embodiment, the same effects as those of the first and second embodiments described above can be obtained by performing bidirectional scanning within a band. Furthermore, it is possible to further reduce the circuit scale by controlling whether or not to perform processing across the band region in accordance with the scanning direction.
なお、上述した各実施形態においては、誤差拡散処理や予測符号化処理といった、ある画素を処理した際の演算結果を、続く画素を処理する際に用いる画像処理を例として説明した。しかしながら本発明はこのような処理に限定されず、一般的なフィルタ処理等の局所的な画像処理であれば、有効に適用される。 In each of the above-described embodiments, calculation results when a certain pixel is processed, such as error diffusion processing and predictive coding processing, are described as an example of image processing used when processing subsequent pixels. However, the present invention is not limited to such processing, and can be effectively applied to local image processing such as general filter processing.
本発明の特徴はすなわち、画像処理の内容とバンド処理の制約とを加味して、遅延メモリと誤差バッファを階層的に構成することにある。これにより、画像処理部の近くに設置された遅延メモリは小容量となり、画像処理部の遠くに設置された誤差バッファへの読み書きの回数が削減できるようになる。 That is, the present invention is characterized in that the delay memory and the error buffer are hierarchically configured in consideration of the contents of the image processing and the band processing restrictions. As a result, the delay memory installed near the image processing unit has a small capacity, and the number of times of reading and writing to the error buffer installed far from the image processing unit can be reduced.
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
例えば、上記遅延メモリを、画像処理プロセッサから低レイテンシかつ高速に読み書き可能な1次キャッシュメモリとし、誤差バッファを、プロセッサからの読み書きは低速でも大容量の一時記憶が可能な2次キャッシュメモリとする構成も考えられる。このような構成でも、上記各実施形態と同様の効果が得られる。 For example, the delay memory is a primary cache memory that can be read / written at high speed from an image processor at a high speed, and the error buffer is a secondary cache memory that can perform a large-capacity temporary storage even when read / write from the processor is slow. Configuration is also conceivable. Even with such a configuration, the same effects as those of the above embodiments can be obtained.
Claims (11)
前記バンド領域をその短辺方向に走査して注目画素を決定する走査手段と、
前記注目画素に対し、予め定められた近傍領域内で既に処理済みの画素についての演算結果を参照した演算を行う画像処理手段と、
前記画像処理手段の外部に設けられ、前記バンド領域における、次に処理されるバンド領域と隣接する第1の境界部に位置する画素についての前記画像処理手段による演算結果を記憶する外部記憶手段と、を有し、
前記画像処理手段は、
前記バンド領域内における、前記注目画素に対する前記近傍領域の画素についての演算結果を記憶する内部記憶手段と、
前記バンド領域における前記第1の境界部に位置する画素についての演算結果を前記外部記憶手段にバースト転送するために一時的に保持する第1の保持手段と、
前記バンド領域の直前に処理されたバンド領域における前記第1の境界部に位置する画素についての演算結果を前記外部記憶手段からバースト転送して一時的に保持する第2の保持手段と、を有することを特徴とする画像処理装置。 An image processing apparatus that sequentially performs image processing for each band region for a plurality of band regions obtained by dividing image data in a certain direction,
Scanning means for scanning the band region in the short side direction to determine a pixel of interest;
Image processing means for performing an operation referring to an operation result for a pixel that has already been processed in a predetermined neighborhood region with respect to the target pixel;
An external storage unit that is provided outside the image processing unit and stores a calculation result by the image processing unit for a pixel located in a first boundary portion adjacent to a band region to be processed next in the band region; Have
The image processing means includes
Internal storage means for storing calculation results for pixels in the neighboring area with respect to the target pixel in the band area;
First holding means for temporarily holding calculation results for pixels located at the first boundary in the band region for burst transfer to the external storage means;
Second holding means for temporarily holding a calculation result for pixels located at the first boundary in the band area processed immediately before the band area by burst transfer from the external storage means; An image processing apparatus.
前記内部記憶手段および前記外部記憶手段には、前記画像処理手段による演算結果として画素ごとの量子化誤差が記憶されることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。 The image processing means performs error diffusion processing on the target pixel,
The image processing according to claim 1, wherein a quantization error for each pixel is stored in the internal storage unit and the external storage unit as a calculation result by the image processing unit. apparatus.
前記内部記憶手段および前記外部記憶手段には、前記画像処理手段による演算結果として画素ごとの復号値が記憶されることを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。 The image processing means performs a predictive coding process on the target pixel,
The image processing apparatus according to claim 1, wherein the internal storage unit and the external storage unit store a decoded value for each pixel as a calculation result by the image processing unit. .
前記画像処理手段は、前記バンド領域の前記短辺方向に前記第1の境界部への走査を行う場合に、前記外部記憶手段に対する前記バースト転送を行うことを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。 The scanning unit performs bi-directional scanning in the short side direction of the band region to determine a target pixel,
9. The image processing unit according to claim 1, wherein the image processing unit performs the burst transfer to the external storage unit when scanning the first boundary in the short side direction of the band region. The image processing apparatus according to any one of the above.
前記バンド領域をその短辺方向に走査して注目画素を決定する走査ステップと、
前記注目画素に対して、予め定められた近傍領域内で既に処理済みの画素についての演算結果を参照した演算を行い、該注目画素に対する演算結果を前記内部記憶手段に記憶する画像処理ステップと、を有し、
前記画像処理ステップにおいては、
前記注目画素が、前記バンド領域における、次に処理されるバンド領域と隣接する第1の境界部に位置する画素である場合に、前記内部記憶手段に記憶された画素についての演算結果を用いて該注目画素に対する演算を行い、該注目画素に対する演算結果を、前記第1の保持手段を用いて前記外部記憶手段にバースト転送する第1の境界処理ステップと、
前記注目画素が、前記バンド領域における、直前に処理されたバンド領域と隣接する第2の境界部に位置する画素である場合に、前記第2の保持手段に前記外部記憶手段からバースト転送された画素についての演算結果と、前記内部記憶手段に記憶された画素についての演算結果を用いて、該注目画素に対する演算を行う第2の境界処理ステップと、
を有することを特徴とする画像処理方法。 Inside the image processing means, an internal storage means, a first holding means used at the time of burst transfer to an external storage means provided outside the image processing means, and used at the time of burst transfer from the external storage means An image processing method for sequentially performing image processing for each band area on a plurality of band areas obtained by dividing image data in a certain direction in an image processing apparatus having a second holding means Because
A scanning step of determining the pixel of interest by scanning the band region in the short side direction;
An image processing step of performing an operation referring to a calculation result for a pixel that has already been processed in a predetermined neighborhood region with respect to the target pixel, and storing the calculation result for the target pixel in the internal storage unit; Have
In the image processing step,
When the target pixel is a pixel located in the first boundary portion adjacent to the band region to be processed next in the band region, the calculation result for the pixel stored in the internal storage unit is used. A first boundary processing step of performing an operation on the target pixel, and burst-transferring the operation result on the target pixel to the external storage unit using the first holding unit;
When the target pixel is a pixel located at a second boundary adjacent to the band region processed immediately before in the band region, the pixel is burst transferred from the external storage unit to the second holding unit A second boundary processing step for performing an operation on the target pixel using an operation result on the pixel and an operation result on the pixel stored in the internal storage unit;
An image processing method comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010188753A JP5612965B2 (en) | 2010-08-25 | 2010-08-25 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010188753A JP5612965B2 (en) | 2010-08-25 | 2010-08-25 | Image processing apparatus and image processing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012048401A true JP2012048401A (en) | 2012-03-08 |
| JP5612965B2 JP5612965B2 (en) | 2014-10-22 |
Family
ID=45903213
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010188753A Expired - Fee Related JP5612965B2 (en) | 2010-08-25 | 2010-08-25 | Image processing apparatus and image processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5612965B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101831787B1 (en) * | 2012-09-11 | 2018-02-23 | 에스프린팅솔루션 주식회사 | fusing device and fusing method |
| CN113377049A (en) * | 2021-06-11 | 2021-09-10 | 西安应用光学研究所 | DDR control method based on FPGA low-delay video image cache |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10224627A (en) * | 1997-01-28 | 1998-08-21 | Hewlett Packard Co <Hp> | Error propagation system |
| JPH1173500A (en) * | 1997-07-04 | 1999-03-16 | Samsung Electron Co Ltd | Image processing method and image processing apparatus |
| JP2002290733A (en) * | 2001-03-26 | 2002-10-04 | Mutoh Ind Ltd | Image processing method |
| JP2008294669A (en) * | 2007-05-23 | 2008-12-04 | Toshiba Corp | Image encoding device |
-
2010
- 2010-08-25 JP JP2010188753A patent/JP5612965B2/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10224627A (en) * | 1997-01-28 | 1998-08-21 | Hewlett Packard Co <Hp> | Error propagation system |
| JPH1173500A (en) * | 1997-07-04 | 1999-03-16 | Samsung Electron Co Ltd | Image processing method and image processing apparatus |
| JP2002290733A (en) * | 2001-03-26 | 2002-10-04 | Mutoh Ind Ltd | Image processing method |
| JP2008294669A (en) * | 2007-05-23 | 2008-12-04 | Toshiba Corp | Image encoding device |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101831787B1 (en) * | 2012-09-11 | 2018-02-23 | 에스프린팅솔루션 주식회사 | fusing device and fusing method |
| CN113377049A (en) * | 2021-06-11 | 2021-09-10 | 西安应用光学研究所 | DDR control method based on FPGA low-delay video image cache |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5612965B2 (en) | 2014-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2762005C2 (en) | Method and device for encoding and decoding two-dimensional point clouds | |
| CN110839155B (en) | Method and device for motion estimation, electronic equipment and computer-readable storage medium | |
| JP4991816B2 (en) | Image processing device | |
| US20210092363A1 (en) | Intra prediction encoding/decoding method and apparatus for chrominance components | |
| JP5584490B2 (en) | Image processing apparatus, image processing method, and program | |
| US10510135B2 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
| JP4789753B2 (en) | Image data buffer device, image transfer processing system, and image data buffer method | |
| JP5612965B2 (en) | Image processing apparatus and image processing method | |
| JP2011066720A (en) | Image processing apparatus, control method, and program | |
| JP5641822B2 (en) | Image processing apparatus and method | |
| JP4204600B2 (en) | Image processing apparatus, error diffusion processing method, and program | |
| KR100889410B1 (en) | Error diffusion-based image processing | |
| US8150184B2 (en) | Method and apparatus for encoding/decoding image, computer-readable program therefore, and information recording medium storing same program | |
| JP6891153B2 (en) | Image processing equipment, image processing method, and image processing program | |
| JP4136825B2 (en) | Image processing apparatus, image processing method, computer-readable storage medium storing program, and program | |
| CN114727116A (en) | Encoding method and device | |
| JP2005039483A (en) | Image processing apparatus, image processing method, and program for causing computer to execute the method | |
| JP2006287583A (en) | Image data area acquisition and interpolation circuit | |
| US20250299051A1 (en) | Information processing apparatus, inference method, and storage medium | |
| US20250299038A1 (en) | Information processing apparatus | |
| JP2020104337A (en) | Image processing device, image processing device control method, and program | |
| Tseng et al. | A high-throughput JPEG XR encoder | |
| JP4316476B2 (en) | Image processing apparatus and image forming apparatus | |
| JP4722681B2 (en) | Compression processing device, compression processing device control method, compression processing control program, and computer-readable recording medium | |
| JP6519185B2 (en) | Video encoder |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130807 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140210 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140217 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140416 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140808 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140905 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 5612965 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| LAPS | Cancellation because of no payment of annual fees |