JP2005184265A - Image processor, image processing method, and program for executing that method on computer - Google Patents

Image processor, image processing method, and program for executing that method on computer Download PDF

Info

Publication number
JP2005184265A
JP2005184265A JP2003420092A JP2003420092A JP2005184265A JP 2005184265 A JP2005184265 A JP 2005184265A JP 2003420092 A JP2003420092 A JP 2003420092A JP 2003420092 A JP2003420092 A JP 2003420092A JP 2005184265 A JP2005184265 A JP 2005184265A
Authority
JP
Japan
Prior art keywords
macroblock
code
data
unit
image
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
Application number
JP2003420092A
Other languages
Japanese (ja)
Other versions
JP4173798B2 (en
Inventor
Naohito Shiraishi
尚人 白石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003420092A priority Critical patent/JP4173798B2/en
Publication of JP2005184265A publication Critical patent/JP2005184265A/en
Application granted granted Critical
Publication of JP4173798B2 publication Critical patent/JP4173798B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor capable of high speed processing while reducing the amount of memory. <P>SOLUTION: An 8-line memory 11 stores image data from a scanner 9 in units of 8-line subblock of a master block. An encoding section 12 reads out the data in units of 8 lines and performs variable length encoding in units of macroblock. A macroblock head address storage section 123 stores the head address on the same horizontal line where macroblocks are arranged. A macroblock code intermediate data storage section 1234 stores the intermediate data of macroblock being subjected to variable length encoding of horizontal line. An I/O code memory area 41 stores variable length code data in units of macroblock. A macroblock code address recognition section 144 recognizes the head address of each stored block. An editing section 13 reads the variable length code data by the head address of each stored block according to the content of edition and edits the data while decoding. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、画像処理装置、画像処理方法、およびその方法をコンピュータで実行するプログラムに関し、特に、取得した画像データを圧縮処理し、圧縮された画像データに回転処理や画像合成処理を施す画像処理装置、画像処理方法、およびその方法をコンピュータで実行するプログラムに関するものである。   The present invention relates to an image processing apparatus, an image processing method, and a program for executing the method on a computer, and in particular, image processing for compressing acquired image data and performing rotation processing and image composition processing on the compressed image data. The present invention relates to an apparatus, an image processing method, and a program for executing the method on a computer.

従来、画像データ圧縮技術は画像データを保持するためのメモリ量を低減したり、画像データの送信時間を短縮したりする目的で画像処理分野において一般に使用されている。画像データ圧縮方式は、画像データを印字処理する場合においては、限られた容量のメモリ上で画像データを回転して印字するなどの処理を高速に行うという必要性から、固定長圧縮が良く使用されている。代表的な固定長圧縮の方式としてGBTC(Generalized BTC)が知られている。   Conventionally, the image data compression technique is generally used in the field of image processing for the purpose of reducing the amount of memory for holding image data or shortening the transmission time of image data. When printing image data, fixed-length compression is often used when printing image data because it is necessary to perform high-speed processing such as rotating image data on a limited amount of memory. Has been. GBTC (Generalized BTC) is known as a typical fixed length compression method.

図65〜67は、GBTC固定長圧縮のアルゴリズムを示した図である。   65 to 67 are diagrams showing an algorithm for GBTC fixed length compression.

特許文献1では、GBTCのLD値により、LD値の大きいエッジ部分に4/8GBTCのような画質の良いGBTCを配置させ、LD値の小さい部分に対しては2/8GBTCのような画質に多少問題があるが、圧縮率の高いGBTCを配置させかつ、ラインごと固定された符号長に収める技術、即ち固定長符号化の技術が開示されている。   In Japanese Patent Laid-Open No. 2004-260260, GBTC having a high image quality such as 4/8 GBTC is arranged at an edge portion having a large LD value according to the LD value of GBTC, and the image quality such as 2/8 GBTC is somewhat applied to a portion having a small LD value. Although there is a problem, a technique of arranging GBTC having a high compression rate and keeping the code length fixed for each line, that is, a technique of fixed length coding is disclosed.

また他の圧縮方式として画像データを水平周波数方向と垂直周波数方向に複数のブロックに分割すると共に、低域周波数のブロックほど細かくするWavelet変換が知られ、このWavelet変換は最近、自然階調の画像や連続した階調を持つ写真のような画像の圧縮に優れている。   As another compression method, there is known a Wavelet transform in which image data is divided into a plurality of blocks in the horizontal frequency direction and the vertical frequency direction, and the lower frequency block is made finer. This Wavelet transform has recently been developed as a natural gradation image. And it is excellent for compressing images such as photographs with continuous gradation.

また、特許文献2および特許文献3においては、可変長符号のエッジ成分の高いブロックに対して、量子化を緩め、エッジ成分の少ないブロックに対して量子化を強め、かつ、数ライン単位に固定された符号長に収め、かつ回転処理が可能な符号化方法が開示されている。   In Patent Document 2 and Patent Document 3, the quantization is loosened for a block having a high edge component of a variable length code, the quantization is strengthened for a block having a small edge component, and fixed in units of several lines. An encoding method is disclosed that can be stored in the specified code length and that can be rotated.

圧縮方式としてはDCT(DiscretCosineTransform)などの直交変換によって画像データを周波数成分に変換し、その変換係数を量子化する方式が公知であり、特にDCTを使用した多値画像を符号化する方式として、ITU−TとISOにより、標準化されたJPEG方式が知られている。式(1−1)はJPEGのDCTを求める演算式であり、式(1−2)はIDCTを求める演算式である。   As a compression method, a method of transforming image data into frequency components by orthogonal transform such as DCT (DisciteCosineTransform) and quantizing the transform coefficient is known. In particular, as a method of encoding a multi-value image using DCT, A standardized JPEG method is known by ITU-T and ISO. Expression (1-1) is an arithmetic expression for obtaining JPEG DCT, and Expression (1-2) is an arithmetic expression for obtaining IDCT.

Figure 2005184265
Figure 2005184265
Figure 2005184265
Figure 2005184265
Figure 2005184265
Figure 2005184265

また、特許文献4は、画像データをJPEG方式で符号化する際に、バンドバッファーを有して、スキャナからシリアルに転送される画像データを一時格納し、バンドバッファーのライン数と等しい正方のマクロブロックごとRST(ReSTart)マーカーを発行することにより、マクロブロックごとにDC成分の初期化を行い、その符号のRSTマーカーを認識することによってマクロブロックごとの位置を認識するためのポインタテーブルを生成し、画像出力時にマクロブロックごと復号化処理を施し、90度単位の回転処理を施し、画像処理を施した後、プリンタエンジン17へ転送する技術が開示されている。そして、特許文献4は、マクロブロック単位に符号化し、マクロブロックごと符号長求めをアドレス管理させ、回転処理を可能としている。   Further, Patent Document 4 has a band buffer when encoding image data in JPEG format, temporarily stores image data transferred serially from the scanner, and is a square macro equal to the number of lines in the band buffer. By issuing an RST (ReStart) marker for each block, a DC component is initialized for each macroblock, and a pointer table for recognizing the position of each macroblock is generated by recognizing the RST marker of the code. A technique is disclosed in which decoding is performed for each macroblock at the time of outputting an image, a rotation process in units of 90 degrees is performed, the image processing is performed, and then transferred to the printer engine 17. In Patent Document 4, encoding is performed in units of macroblocks, code length calculation is managed for each macroblock, and rotation processing is enabled.

また、特許文献5は、画像データをm*nサブブロック単位を最小単位とし、複数のサブブロックからなるマクロブロックごと符号化する際に、マクロブロックの垂直方向の高さ以上のラインメモリからなるバンドバッファーを有するのではなく、少なくともサブブロックの1ブロックラインを有し、スキャナからシリアルに転送される画像データを一時格納する第1の記憶手段と、該第1の記憶手段から順次複数のマクロブロックを符号化処理を切替えながら、符号化することにより、少ないメモリ容量で、マクロブロック単位に符号化し、さらに復号化処理においても、サブブロックごとに水平マクロブロック単位に符号を切り換えることによって、複数のマクロブロックの復号化を並列に行うための復号化後の画像データを格納する第2の記憶手段として、サブブロックのnラインのメモリのみの少ないメモリで復号化が可能な方法を開示している。   Patent Document 5 is composed of a line memory having a height greater than or equal to the height of the macroblock in the vertical direction when the image data is encoded in units of m * n subblocks and the macroblocks are composed of a plurality of subblocks. A first storage means that does not have a band buffer but has at least one block block line, and temporarily stores image data transferred serially from the scanner, and a plurality of macros sequentially from the first storage means By encoding while switching the encoding process of blocks, encoding is performed in units of macroblocks with a small memory capacity, and also in the decoding process, by switching the codes in units of horizontal macroblocks for each sub-block, To store the decoded image data for decoding the macroblocks in parallel. As storage means, it discloses a method which enables decoding a small memory only memory n lines of the sub-blocks.

特開2001−218061号公報JP 2001-218061 A 特開2001−197496号公報JP 2001-197496 A 特開2001−224027号公報JP 2001-224027 A 特開平10−75345号公報JP-A-10-75345 特開2002−125116号公報JP 2002-125116 A

上述のように印字処理を目的とするシステムにおいては固定長圧縮方式を使用してGBTC方式などを使用してきた。しかし、このGBTCは4/8圧縮においては1ブロック4*4ドット、1ドットに3BITの8種類の色を割り振り、3/8圧縮においては1ドットに2BITの4種類の色を、2/8圧縮においては1BITの2種類の色を割り振っていた。このため、特許文献1に示された技術では、特に画素の階調差が激しい1ブロック内ではノッチと呼ばれるゴミのようなものが文字の輪郭などに発生し、画質を劣化させるという問題点があった。   As described above, in a system for printing processing, the GBTC method or the like has been used by using a fixed length compression method. However, this GBTC assigns 8 types of color of 3 bits to 1 block 4 * 4 dots and 1 dot in 4/8 compression, and 2/8 colors of 2 bits to 1 dot in 3/8 compression. In compression, two colors of 1 BIT were assigned. For this reason, the technique disclosed in Patent Document 1 has a problem in that dust such as a notch is generated in the outline of a character or the like in one block where the gradation difference between pixels is particularly severe, thereby degrading the image quality. there were.

また、特許文献2および3に記載された技術では、ブロックラインごと符号化が可能であるため、使用するメモリも、少なく良いのであるが、270度の回転処理において、符号を逆方向から読み込むために、処理が複雑化しており、かつ、ブロックラインごとに量子化値が異なることにより、最悪時、画像の劣化が目立つという問題点があった。   Further, in the techniques described in Patent Documents 2 and 3, since coding can be performed for each block line, the memory to be used is small, but in order to read the code from the reverse direction in the 270 degree rotation process. In addition, since the processing is complicated and the quantized value is different for each block line, there is a problem that the deterioration of the image is conspicuous at the worst.

また、特許文献4に記載された技術では、水平方向の画素数を8192とすると、バンドメモリを小さくするために16ラインで構成した場合、8129/16=512個のマクロブロックが1バンドごとと発生し、アドレス管理や、全体の制御が複雑化する。また、256ラインを有する場合、8129/256=32個であり、かろうじて制御できる範囲ではあるが、大きなバンドバッファーを必要とする。また、復号化と回転処理を施した後をシリアルに行い、画像処理部、プリンタエンジン17へ順次送るが、通常プリンタエンジン17は、一定の時間以内にデータを転送しなければならないために、各種の回転処理による複雑な制御と複雑なコードメモリへのアクセスを行う場合の最悪のスピードを見積もらなくてはならず、メモリは最悪のメモリアクセスを考え、高速なメモリが必要になるという問題があった。   Further, in the technique described in Patent Document 4, if the number of pixels in the horizontal direction is 8192, when configured with 16 lines in order to reduce the band memory, 8129/16 = 512 macroblocks per band. Occurs, and address management and overall control are complicated. In the case of having 256 lines, 8129/256 = 32, which is a range that can be barely controlled, but requires a large band buffer. In addition, after the decryption and rotation processes are performed, they are serially sent and sequentially sent to the image processing unit and the printer engine 17. However, since the normal printer engine 17 must transfer data within a certain time, It is necessary to estimate the worst speed when performing complex control and complicated code memory access by the rotation processing of the memory, and there is a problem that high speed memory is necessary for the memory considering the worst memory access. It was.

また、回転処理を施す場合、1ページの符号化された符号を回転する際、回転後の1ページの符号を格納するメモリ領域が、さらに必要となり、基本的に符号の2倍のメモリ領域を必要としてしまう。またHDD装置へ符号データを書き込む場合には、HDD装置の転送スピードとスキャナ装置、プリンタ装置の処理スピードの差を緩和する為に、HDD転送用のバッファーメモリを必要としていた。   In addition, when the rotation process is performed, when the encoded code of one page is rotated, a memory area for storing the code of one page after the rotation is further required, and basically a memory area twice as large as the code is required. I need it. In addition, when code data is written to the HDD device, a buffer memory for HDD transfer is required to reduce the difference between the transfer speed of the HDD device and the processing speed of the scanner device and the printer device.

さらに特許文献4に記載された技術では、各種の編集処理を施す場合、元画像と文字などの合成させる画像を複数読み込み処理させる為に、場合によっては割り振る処理時間が決められて、オーバースペックのシステムとなってしまうこともあった。また、プリンタエンジンに同期して編集処理を施すため、元画像データの読み込みと合成処理の文字画像などの読み込みなどを、ある一定時間内に処理を終了させることが困難になるという問題があった。しかしながら、可変長符号に対して、合成処理などを行うことは、基本的に難しく特許文献4には明記されていない。   Furthermore, in the technique described in Patent Document 4, when various editing processes are performed, in order to read a plurality of images to be synthesized such as an original image and characters, a processing time to be allocated is determined depending on circumstances, and overspec Sometimes it became a system. In addition, since the editing process is performed in synchronization with the printer engine, there is a problem that it is difficult to finish the process of reading the original image data and the character image of the synthesis process within a certain time. . However, it is basically difficult to perform a synthesis process on a variable-length code and is not specified in Patent Document 4.

また、デジタル複写機でよく行われる復号化処理中(プリント中)に他のページを符号化スキャナから読み込む動作を同時に行うことが難しくなる。また、1つのバンドメモリを符号化、復号化で共有するために、前記の復号化中に符号化することができないという問題点があった。また、復号化処理がエンジンスピードに同期して処理しなければならないので、一定の時間中に多くの処理が必要となり、ハードウェアを大きくして、かつ高い周波数による処理が必要となっていた。   Further, it becomes difficult to simultaneously perform an operation of reading another page from the encoding scanner during a decoding process (during printing) often performed in a digital copying machine. In addition, since one band memory is shared by encoding and decoding, there is a problem that encoding cannot be performed during the decoding. Further, since the decoding process must be performed in synchronization with the engine speed, a lot of processes are required during a certain period of time, the hardware is enlarged, and a process with a high frequency is required.

また、特許文献4に記載の技術では、マクロブロック単位に記憶するバンドメモリを備える必要があったので、多くのメモリを必要とするという問題点があった。   Further, the technique described in Patent Document 4 has a problem in that a large amount of memory is required because it is necessary to provide a band memory that stores data in units of macroblocks.

また、特許文献5に記載の技術では、サブブロック単位の1ブロックラインのデータを使用し、水平方向にマクロブロック単位に符号化処理を切り換えて行うが、例えば先に説明したGBTCのような固定長の符号化方式であれば、符号化処理を切り換える時に、複数のマクロブロック単位の符号化した符号の先頭アドレスを保持することにより、毎ブロックラインごと切り換えることが可能であるが、可変長符号の場合は、可変長な符号を固定長のワードに(例えば32BIT、64BITなど)まとめて、符号としてメモリに格納して行く為、この技術のように符号の先頭アドレスを管理するだけの方式では、実現することができなかった。また、可変長の符号の切替え処理について、詳しく明記されていなかった。   In the technique described in Patent Document 5, data of one block line in units of sub-blocks is used and encoding processing is switched in units of macroblocks in the horizontal direction. For example, a fixed value such as GBTC described above is used. If the coding method is long, it is possible to switch every block line by holding the head address of the coded code in units of a plurality of macroblocks when switching the coding process. In this case, since a variable-length code is collected into a fixed-length word (for example, 32 BIT, 64 BIT, etc.) and stored as a code in a memory, a method that only manages the head address of the code as in this technique is used. , Could not be realized. Also, the variable length code switching process was not specified in detail.

本発明は、上記に鑑みてなされたものであって、可変長化された入力画像データに対して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置、画像処理方法、およびその方法をコンピュータで実行するプログラムを提供することを目的とする。   The present invention has been made in view of the above, and is capable of performing editing processing on variable length input image data, suppressing increase in memory, and processing high-quality images at high speed. An object is to provide an image processing apparatus, an image processing method, and a program for executing the method on a computer.

上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、入力される画像データを可変長符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像処理装置であって、入力される前記画像データに対して編集処理内容の指定を受け付ける編集指定手段と、入力される前記画像データを、マクロブロックを構成する多値のサブブロック単位のラインデータとして記憶する多値ブロックラインデータ記憶手段と、前記多値ブロックラインデータ記憶手段から前記多値ブロックラインデータを読み出して前記マクロブロック単位に可変長符号化するマクロブロック可変長符号化手段と、前記マクロブロック可変長符号化手段による可変長符号化の際に、前記マクロブロックが画像において並ぶ同一の水平ラインの前記マクロブロックの先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、前記マクロブロック可変長符号化手段による可変長符号化の際に、前記同一の水平ラインに可変長符号化する前記マクロブロックの可変長符号化処理の中間データを記憶するマクロブロック符号中間データ記憶手段と、前記マクロブロック可変長符号化手段によって生成された可変長符号データを前記マクロブロック単位で順次記憶するマクロブロック符号記憶手段と、前記マクロブロック符号記憶手段に記憶された前記マクロブロック単位の可変長符号データに対応する前記マクロブロック先頭アドレス記憶手段に記憶された各ブロックの先頭アドレスを認識するマクロブロック符号アドレス認識手段と、前記編集指定手段によって指定された編集処理内容に従って、前記マクロブロック符号記憶手段に記憶された可変長符号データを、前記マクロブロック符号アドレス認識手段によって認識された各ブロックの先頭アドレスに従って読み込み復号化して編集する編集手段と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, the invention according to claim 1 is directed to subjecting input image data to variable-length encoding, editing, decoding, image processing, and image processing. An image processing apparatus for outputting data, an edit designating unit for accepting designation of editing processing contents for the input image data, and the input image data as a multi-value sub-block constituting a macro block Multi-value block line data storage means for storing as unit line data, and macro-block variable-length coding for reading out the multi-value block line data from the multi-value block line data storage means and variable-length coding for each macro block And the macroblocks arranged in the image at the time of variable length coding by the macroblock variable length coding means. Macroblock start address storage means for storing the start address of the macroblock on the horizontal line of the horizontal line, and variable length coding on the same horizontal line at the time of variable length coding by the macroblock variable length coding means Macroblock code intermediate data storage means for storing intermediate data for variable length coding processing of macroblocks, and macroblock for sequentially storing variable length code data generated by the macroblock variable length coding means in units of macroblocks A macroblock code address for recognizing the head address of each block stored in the macroblock head address storage means corresponding to the variable length code data in units of macroblocks stored in the macroblock code storage means; By the recognition means and the editing designation means Editing means for reading, decoding, and editing variable-length code data stored in the macroblock code storage means in accordance with the start address of each block recognized by the macroblock code address recognition means in accordance with the set editing processing content; , Provided.

この請求項1にかかる発明によれば、編集指定手段は、入力される画像データに対して編集処理内容の指定を受け付ける。多値ブロックラインデータ記憶手段は、入力される画像データを、マクロブロックを構成する多値のサブブロック単位のラインデータとして記憶する。マクロブロック可変長符号化手段は、多値ブロックラインデータ記憶手段から多値ブロックラインデータを読み出してマクロブロック単位に可変長符号化する。マクロブロック先頭アドレス記憶手段は、マクロブロック可変長符号化手段による可変長符号化の際に、マクロブロックが画像において並ぶ同一の水平ラインのマクロブロックの先頭アドレスを記憶する。マクロブロック符号中間データ記憶手段は、マクロブロック可変長符号化手段による可変長符号化の際に、同一の水平ラインに可変長符号化するマクロブロックの可変長符号化処理の中間データを記憶する。マクロブロック符号記憶手段は、マクロブロック可変長符号化手段によって生成された可変長符号データをマクロブロック単位で順次記憶する。マクロブロック符号アドレス認識手段は、マクロブロック符号記憶手段に記憶されたマクロブロック単位の可変長符号データに対応するマクロブロック先頭アドレス記憶手段に記憶された各ブロックの先頭アドレスを認識する。編集手段は、編集指定手段によって指定された編集処理内容に従って、マクロブロック符号記憶手段に記憶された可変長符号データを、マクロブロック符号アドレス認識手段によって認識された各ブロックの先頭アドレスに従って読み込み復号化して編集する。   According to the first aspect of the present invention, the editing designation means accepts designation of editing processing content for the input image data. The multi-value block line data storage means stores input image data as line data in units of multi-value sub-blocks constituting the macro block. The macroblock variable length encoding means reads the multilevel block line data from the multilevel block line data storage means and performs variable length encoding on a macroblock basis. The macroblock head address storage means stores the head address of the macroblock on the same horizontal line in which the macroblocks are arranged in the image at the time of variable length coding by the macroblock variable length coding means. The macroblock code intermediate data storage means stores intermediate data of macroblock variable length encoding processing for variable length encoding on the same horizontal line during variable length encoding by the macroblock variable length encoding means. The macroblock code storage means sequentially stores the variable length code data generated by the macroblock variable length encoding means in units of macroblocks. The macroblock code address recognition means recognizes the head address of each block stored in the macroblock head address storage means corresponding to the variable length code data in units of macroblocks stored in the macroblock code storage means. The editing means reads and decodes the variable length code data stored in the macroblock code storage means according to the start address of each block recognized by the macroblock code address recognition means in accordance with the editing processing contents designated by the editing designation means. Edit.

即ち、マクロブロック可変長符号化手段が符号化する際、同一の水平ライン上のマクロブロックごとの符号の先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、同一の水平ライン上のマクロブロックごとの中間符号データを記憶するマクロブロック符号中間データ記憶手段とを備え、入力画像データに対して多値ブロックラインデータ記憶手段に格納し、その後、同一の水平ライン上のマクロブロックごと並列に符号化し、マクロブロク符号記憶手段に格納することにより、マクロブロックの垂直方向の高さのバンドメモリを必要せず、かつ、マクロブロック単位の符号データに対して編集手段によりマクロブロック単位で復号化して編集処理を施すので、マクロブロックの垂直方向の高さのバンドメモリを必要せずに画像処理を施すことができる。従って、マクロブロックの副走査方向の画素数によるメモリを用いずに、それよりも少ないサブブロックの高さを基にした画素数の多値ブロックラインデータを記憶するので、メモリを低減できる。また、符号化手段が符号データを生成する際に、マクロブロック先頭アドレス記憶手段がマクロブロックの符号中間データの先頭アドレスを記憶し、マクロブロック符号中間データ記憶手段を備えることによって、各マクロブロックごとの1ラインの終わりを検出することができるので、編集手段に送信して各マクロブロックごとに復号化して編集処理を施すことができる。この構成により、入力画像データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。この構成によって、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   That is, when the macroblock variable length encoding means encodes, the macroblock head address storage means for storing the head address of the code for each macroblock on the same horizontal line, and the macroblock head address storage means for each macroblock on the same horizontal line. Macroblock code intermediate data storage means for storing the intermediate code data, stored in the multi-value block line data storage means for the input image data, and then encoded in parallel for each macroblock on the same horizontal line, By storing in the macroblock code storage means, a band memory having a height in the vertical direction of the macroblock is not required, and the code data of the macroblock unit is decoded by the editing means in units of macroblocks and edited. Image processing without the need for a band memory having a height in the vertical direction of the macroblock. It can be subjected. Therefore, since the multi-value block line data having the number of pixels based on the height of the sub-block smaller than that is stored without using the memory based on the number of pixels in the sub-scanning direction of the macro block, the memory can be reduced. Further, when the encoding means generates the code data, the macroblock head address storage means stores the head address of the code intermediate data of the macroblock, and the macroblock code intermediate data storage means is provided for each macroblock. Thus, the end of one line can be detected, so that it can be transmitted to the editing means and decoded for each macroblock for editing processing. With this configuration, it is possible to provide an image processing apparatus capable of performing variable-length coding on input image data to perform editing processing, suppressing an increase in memory, and processing high-quality images at high speed. With this configuration, it is possible to provide an image processing apparatus capable of performing variable-length encoding on input data to perform editing processing, suppressing an increase in memory, and processing high-quality images at high speed.

また、請求項2にかかる発明は、サブブロックから構成されるマクロブロック単位に可変長符号化された画像データを入力し、編集し、復号化した後に画像処理を施して出力する画像処理装置であって、入力される前記画像データに対する編集処理内容の指定を受け付ける編集指定手段と、前記可変長符号データをマクロブロック単位で記憶するマクロブロック符号記憶手段と、前記編集指定手段によって指定された編集処理内容に応じて、前記マクロブロック符号記憶手段に記憶された可変長符号データを読み込み、復号化し、編集し、再び可変長符号化して前記マクロブロック符号記憶手段に送信する編集手段と、前記マクロブロック符号記憶手段に記憶された可変長符号データに対応する各マクロブロックのアドレスを認識するマクロブロック符号アドレス認識手段と、前記マクロブロック符号アドレス記憶手段から前記マクロブロックの先頭アドレスを受け取り、前記マクロブロック符号記憶手段から前記編集手段によって編集されたマクロブロックの可変長符号データを読み取り、順次復号化するマクロブロック復号化手段と、前記マクロブロック復号化手段による復号化に際して、前記マクロブロック符号記憶手段に記憶された同一の水平ラインの前記マクロブロックの先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、前記マクロブロック復号化手段による復号化に際して、前記同一の水平ラインに処理する前記マクロブロックの復号化途中のデータを記憶するマクロブロック復号中間データ記憶手段と、前記マクロブロック復号中間データ記憶手段に記憶された少なくとも前記サブブロック単位の画像データを受け取り、画像処理を行う画像処理手段と、前記画像処理手段により生成された画像処理後の画像データを画像の主走査方向に順次プリンタエンジンへ転送する画像出力手段と、を備えたことを特徴とする。   According to a second aspect of the present invention, there is provided an image processing apparatus for inputting image data that has been subjected to variable length coding in units of macroblocks composed of sub-blocks, editing, decoding, performing image processing, and outputting the processed image data. An edit designating unit that accepts designation of edit processing contents for the input image data, a macroblock code storage unit that stores the variable-length code data in units of macroblocks, and an edit designated by the edit designating unit Editing means for reading, decoding, editing, and variable-length-coding the variable-length code data stored in the macroblock code storage means according to the processing content, and transmitting the variable-length code data to the macroblock code storage means; and the macro Macro for recognizing the address of each macro block corresponding to variable length code data stored in block code storage means Lock code address recognition means and the macroblock code address storage means receive the start address of the macroblock, read the macroblock variable length code data edited by the editing means from the macroblock code storage means, and sequentially decode And a macroblock head address storage means for storing the head address of the macroblock on the same horizontal line stored in the macroblock code storage means upon decoding by the macroblock decoding means And a macroblock decoding intermediate data storage means for storing data in the middle of decoding the macroblock processed on the same horizontal line upon decoding by the macroblock decoding means, and the macroblock decoding intermediate data storage means Receives at least the stored image data in units of sub-blocks and performs image processing, and sequentially transfers image data generated by the image processing means to the printer engine in the main scanning direction of the image. And an image output means.

この請求項2にかかる発明によれば、編集指定手段は、入力される画像データに対する編集処理内容の指定を受け付ける。マクロブロック符号記憶手段は、可変長符号データをマクロブロック単位で記憶する。編集手段は、編集指定手段によって指定された編集処理内容に応じて、マクロブロック符号記憶手段に記憶された可変長符号データを読み込み、復号化し、編集し、再び可変長符号化してマクロブロック符号記憶手段に送信する。マクロブロック符号アドレス認識手段は、マクロブロック符号記憶手段に記憶された可変長符号データに対応する各マクロブロックのアドレスを認識する。マクロブロック復号化手段は、マクロブロック符号アドレス記憶手段からマクロブロックの先頭アドレスを受け取り、マクロブロック符号記憶手段から編集手段によって編集されたマクロブロックの可変長符号データを読み取り、順次復号化する。マクロブロック先頭アドレス記憶手段は、マクロブロック復号化手段による復号化に際して、マクロブロック符号記憶手段に記憶された同一の水平ラインのマクロブロックの先頭アドレスを記憶する。マクロブロック復号中間データ記憶手段は、マクロブロック復号化手段による復号化に際して、同一の水平ラインに処理するマクロブロックの復号化途中のデータを記憶する。画像処理手段は、マクロブロック復号中間データ記憶手段に記憶された少なくともサブブロック単位の画像データを受け取り、画像処理を行う。画像出力手段は、画像処理手段により生成された画像処理後の画像データを画像の主走査方向に順次プリンタエンジンへ転送する。   According to the second aspect of the present invention, the edit designating unit accepts the designation of the editing process content for the input image data. The macroblock code storage means stores variable length code data in units of macroblocks. The editing means reads the variable-length code data stored in the macroblock code storage means according to the editing processing content designated by the editing designation means, decodes and edits it, and performs variable-length coding again to store the macroblock code. Send to means. The macroblock code address recognition means recognizes the address of each macroblock corresponding to the variable length code data stored in the macroblock code storage means. The macroblock decoding means receives the start address of the macroblock from the macroblock code address storage means, reads the variable length code data of the macroblock edited by the editing means from the macroblock code storage means, and sequentially decodes it. The macroblock head address storage means stores the head address of the macroblock of the same horizontal line stored in the macroblock code storage means at the time of decoding by the macroblock decoding means. The macroblock decoding intermediate data storage unit stores data in the middle of decoding the macroblock to be processed on the same horizontal line when the macroblock decoding unit performs decoding. The image processing means receives at least sub-block unit image data stored in the macroblock decoded intermediate data storage means, and performs image processing. The image output means sequentially transfers the image data after the image processing generated by the image processing means to the printer engine in the main scanning direction of the image.

この構成によって、マクロブロック復号化手段が復号化する時、同一の水平ライン上のマクロブロックごとの符号の先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、同一の水平ライン上のマクロブロックごとの中間符号データを記憶するマクロブロック復号中間データ記憶手段を備え、同一の水平ライン上のマクロブロック単位の符号を並列に復号化することにより、少なくともサブブロック単位に画像処理部へ転送するので、マクロブロックの垂直方向の高さのバンドメモリを必要とせずに画像処理が可能となり、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   With this configuration, when the macroblock decoding means decodes, the macroblock head address storage means for storing the head address of the code for each macroblock on the same horizontal line, and the macroblock head address storage means for each macroblock on the same horizontal line. Macroblock decoding intermediate data storage means for storing intermediate code data is provided, and the macroblock unit code on the same horizontal line is decoded in parallel, so that at least the subblock unit is transferred to the image processing unit. Image processing is possible without the need for band memory in the vertical direction of the block, and the input data is variable-length encoded and edited, and the increase in memory is suppressed and high-quality images are processed at high speed. It is possible to provide an image processing apparatus that can

また、請求項3にかかる発明は、請求項1に記載の画像処理装置において、前記マクロブロック符号アドレス認識手段は、複数のサブブロックからなるマクロブロックで発生する符号長の合計を計算する符号長計算手段を有するものであることを特徴とする。   According to a third aspect of the present invention, in the image processing apparatus according to the first aspect, the macroblock code address recognizing means calculates a total code length generated in a macroblock consisting of a plurality of sub-blocks. It has a calculation means, It is characterized by the above-mentioned.

この請求項3にかかる発明によれば、請求項1に記載の画像処理装置において、マクロブロック符号アドレス認識手段は、複数のサブブロックからなるマクロブロックで発生する符号長の合計を計算する符号長計算手段を有する。この構成によって、簡易な方式でマクロブロックの符号長を計算することができ、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the third aspect of the present invention, in the image processing apparatus according to the first aspect, the macroblock code address recognizing means calculates the total code length generated in a macroblock composed of a plurality of sub-blocks. It has a calculation means. With this configuration, the code length of the macroblock can be calculated by a simple method, the input data can be subjected to variable length coding and editing processing, the increase in memory can be suppressed, and high-quality images can be processed at high speed. A possible image processing apparatus can be provided.

また、請求項4にかかる発明は、請求項3に記載の画像処理装置において、前記マクロブロック符号アドレス認識手段は、前記符号長合計計算手段によって生成された符号長から、前記マクロブロック符号記憶手段のアドレスを計算するアドレス計算手段を有するものであることを特徴とする。   According to a fourth aspect of the present invention, in the image processing apparatus according to the third aspect, the macroblock code address recognizing means uses the macroblock code storage means based on the code length generated by the code length total calculating means. It is characterized by having an address calculation means for calculating the address.

この請求項4にかかる発明によれば、請求項3に記載の画像処理装置において、マクロブロック符号アドレス認識手段は、符号長合計計算手段によって生成された符号長から、マクロブロック符号記憶手段のアドレスを計算するアドレス計算手段を有する。この構成によって、簡易な方式によってマクロブロック符号データのアドレスを計算できるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the invention of claim 4, in the image processing apparatus according to claim 3, the macroblock code address recognizing means uses the code length generated by the code length total calculating means to determine the address of the macroblock code storage means. Address calculating means for calculating. With this configuration, the address of the macroblock code data can be calculated by a simple method, so the input data can be variable-length encoded and edited, and the increase in memory can be suppressed, and high-quality images can be processed at high speed. An image processing apparatus can be provided.

また、請求項5にかかる発明は、請求項1または2に記載の画像処理装置において、前記編集手段は、前記マクロブロックの画像データを復号化して展開するマクロブロック展開記憶手段を有するものであることを特徴とする。   According to a fifth aspect of the present invention, in the image processing apparatus according to the first or second aspect, the editing unit includes a macroblock expansion storage unit that decodes and expands the image data of the macroblock. It is characterized by that.

この請求項5にかかる発明によれば、請求項1または2に記載の画像処理装置において、編集手段は、マクロブロックの画像データを復号化して展開するマクロブロック展開記憶手段を有する。この構成によって、符号長で受信した画像データを簡易な方式によって展開して編集処理を施すことができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the fifth aspect of the present invention, in the image processing apparatus according to the first or second aspect, the editing means has macroblock expansion storage means for decoding and expanding macroblock image data. With this configuration, image data received with a code length can be expanded and edited by a simple method, so that input data can be variable-length encoded and edited, and an increase in memory is suppressed, resulting in high image quality. It is possible to provide an image processing apparatus capable of processing a high-speed image.

また、請求項6にかかる発明は、請求項5に記載の画像処理装置において、前記編集手段は、前記マクロブロック展開記憶手段に記憶された画像に合成処理を施す画像合成処理手段を有するものであることを特徴とする。   According to a sixth aspect of the present invention, in the image processing apparatus according to the fifth aspect, the editing means includes image composition processing means for performing composition processing on an image stored in the macroblock development storage means. It is characterized by being.

この請求項6にかかる発明によれば、請求項5に記載の画像処理装置において、編集手段は、マクロブロック展開記憶手段に記憶された画像に合成処理を施す画像合成処理手段を有する。この構成によって、符号長で受信した画像データを簡易な方式によって展開して合成処理を施すことができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the sixth aspect of the present invention, in the image processing apparatus according to the fifth aspect, the editing means includes image composition processing means for performing composition processing on the image stored in the macroblock development storage means. With this configuration, image data received with a code length can be developed and combined by a simple method, so that input data can be subjected to variable-length encoding and editing processing, while suppressing an increase in memory and high image quality. It is possible to provide an image processing apparatus capable of processing a high-speed image.

また、請求項7にかかる発明は、請求項5または6に記載の画像処理装置において、前記編集手段は、前記編集指定手段によって指定された編集内容に応じて、前記マクロブロック展開記憶手段に記憶された画像データをサブブロックごとに90度単位で回転する回転処理手段を有するものであることを特徴とする。   According to a seventh aspect of the present invention, in the image processing apparatus according to the fifth or sixth aspect, the editing unit stores the macroblock expansion storage unit in accordance with the editing content designated by the editing designation unit. The image processing apparatus includes a rotation processing unit that rotates the image data in units of 90 degrees for each sub-block.

この請求項7にかかる発明によれば、請求項5または6に記載の画像処理装置において、編集手段は、編集指定手段によって指定された編集内容に応じて、マクロブロック展開記憶手段に記憶された画像データをサブブロックごとに90度単位で回転する回転処理手段を有する。この構成によって、符号長で受信した画像データを簡易な方式によって展開して回転処理を施すことができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the seventh aspect of the present invention, in the image processing apparatus according to the fifth or sixth aspect, the editing means is stored in the macroblock development storage means according to the editing content designated by the editing designation means. Rotation processing means for rotating the image data in units of 90 degrees for each sub-block. With this configuration, image data received with a code length can be developed and rotated by a simple method, so that input data can be subjected to variable length encoding and editing processing, while suppressing an increase in memory and high image quality. It is possible to provide an image processing apparatus capable of processing a high-speed image.

また、請求項8にかかる発明は、請求項1に記載の画像処理装置において、前記マクロブロック可変長符号化手段は、前記マクロブロック単位の画像データの水平方向に1ブロックラインの終端を検出する画像ブロックライン終端検出手段を有するものであることを特徴とする。   According to an eighth aspect of the present invention, in the image processing apparatus according to the first aspect, the macroblock variable length encoding means detects the end of one block line in the horizontal direction of the image data in units of macroblocks. An image block line end detection means is provided.

この請求項8にかかる発明によれば、請求項1に記載の画像処理装置において、マクロブロック可変長符号化手段は、マクロブロック単位の画像データの水平方向に1ブロックラインの終端を検出する画像ブロックライン終端検出手段を有する。この構成によって、マクロブロックごとの水平ラインの終端の検出が簡易化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the eighth aspect of the present invention, in the image processing apparatus according to the first aspect, the macroblock variable length encoding means detects an end of one block line in the horizontal direction of the image data in units of macroblocks. It has block line end detection means. This configuration simplifies the detection of the end of the horizontal line for each macroblock, so that the input data can be variable-length encoded and edited, and the increase in memory is suppressed and high-quality images are processed at high speed. It is possible to provide an image processing apparatus that can

また、請求項9にかかる発明は、請求項8に記載の画像処理装置において、前記画像ブロックライン終端検出手段は、前記マクロブロック単位の画像データの水平方向の1ブロックラインの終端にリスタートマーカーを挿入するリスタートマーカー挿入手段を有するものであることを特徴とする。   The invention according to claim 9 is the image processing apparatus according to claim 8, wherein the image block line end detection means is a restart marker at the end of one block line in the horizontal direction of the image data in units of macroblocks. It has a restart marker insertion means for inserting.

この請求項9にかかる発明によれば、請求項8に記載の画像処理装置において、画像ブロックライン終端検出手段は、マクロブロック単位の画像データの水平方向の1ブロックラインの終端にリスタートマーカーを挿入するリスタートマーカー挿入手段を有する。この構成によって、水平ラインの終端においてリスタートマーカーによって、マクロブロックごとの水平ラインの終端の検出が簡易化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the ninth aspect of the present invention, in the image processing apparatus according to the eighth aspect, the image block line end detection means sets the restart marker at the end of one block line in the horizontal direction of the image data in units of macroblocks. There is a restart marker insertion means for insertion. This configuration simplifies the detection of the end of the horizontal line for each macroblock by the restart marker at the end of the horizontal line, so that the input data can be variable-length encoded and subjected to editing processing, while suppressing an increase in memory. It is possible to provide an image processing apparatus capable of high-speed processing of high-quality images.

また、請求項10にかかる発明は、請求項2に記載の画像処理装置において、前記マクロブロック復号化手段は、前記マクロブロック符号記憶手段により記憶された可変長符号データの水平方向の1ブロックラインの終端を検出する符号ブロックライン終端検出手段を有し、前記符号ブロックライン終端検出手段によって検出された前記終端を使用して、前記マクロブロック符号記憶手段により記憶された可変長符号データを読み込んで復号化するものであることを特徴とする。   According to a tenth aspect of the present invention, in the image processing apparatus according to the second aspect, the macroblock decoding means includes one block line in the horizontal direction of the variable length code data stored by the macroblock code storage means. Code block line end detecting means for detecting the end of the code block line, and using the end detected by the code block line end detecting means, the variable length code data stored in the macro block code storing means is read. It is what decodes.

この請求項10にかかる発明によれば、請求項2に記載の画像処理装置において、マクロブロック復号化手段は、マクロブロック符号記憶手段により記憶された可変長符号データの水平方向の1ブロックラインの終端を検出する符号ブロックライン終端検出手段を有し、符号ブロックライン終端検出手段によって検出された終端を使用して、マクロブロック符号記憶手段により記憶された可変長符号データを読み込んで復号化する。この構成によって、マクロブロックごとの水平ラインの終端の検出が簡易化されて復号化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the tenth aspect of the present invention, in the image processing apparatus according to the second aspect, the macroblock decoding means is configured to generate one block line in the horizontal direction of the variable length code data stored by the macroblock code storage means. Code block line end detection means for detecting the end is provided, and variable length code data stored in the macroblock code storage means is read and decoded using the end detected by the code block line end detection means. With this configuration, the detection of the end of the horizontal line for each macroblock is simplified and decoded, so the input data is variable-length encoded and edited, and the increase in memory is suppressed, resulting in high-quality images. An image processing apparatus capable of high-speed processing can be provided.

また、請求項11にかかる発明は、請求項10に記載の画像処理装置において、前記符号ブロックライン終端検出手段は、前記マクロブロック符号記憶手段により記憶された符号を読み込む水平方向に1ブロックラインの終端のリスタートマーカーを検出するリスタートマーカー検出手段を有するものであることを特徴とする。   According to an eleventh aspect of the present invention, in the image processing apparatus according to the tenth aspect, the code block line end detection means reads one code of one block line in the horizontal direction for reading the code stored by the macroblock code storage means. It has a restart marker detection means for detecting a restart marker at the end.

この請求項11にかかる発明によれば、請求項10に記載の画像処理装置において、符号ブロックライン終端検出手段は、マクロブロック符号記憶手段により記憶された符号を読み込む水平方向に1ブロックラインの終端のリスタートマーカーを検出するリスタートマーカー検出手段を有する。この構成によって、水平ラインの終端においてリスタートマーカーによって、マクロブロックごとの水平ラインの終端の検出が簡易化されて復号化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   According to the eleventh aspect of the present invention, in the image processing apparatus according to the tenth aspect, the code block line end detection means reads the code stored in the macroblock code storage means in the horizontal direction and ends one block line in the horizontal direction. Restart marker detecting means for detecting the restart marker. With this configuration, since the detection of the end of the horizontal line for each macroblock is simplified and decoded by the restart marker at the end of the horizontal line, the input data is variable-length encoded and subjected to editing processing, and the memory It is possible to provide an image processing apparatus that can suppress an increase in image quality and can process high-quality images at high speed.

また、請求項12にかかる発明は、入力される画像データを可変長符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像処理装置であって、編集処理内容の指定を受け付ける編集指定手段と、多値のサブブロック単位の1ラインのデータを記憶する多値ブロックラインデータ記憶手段と、前記多値ブロックラインデータ記憶手段から複数のマクロブロック単位の符号を生成する第1のマクロブロック可変長符号化手段と、前記第1のマクロブロック可変長符号化手段によって生成された複数のマクロブロック単位の可変長符号データを順次記憶する第1のマクロブロック符号記憶手段と、前記第1のマクロブロック符号記憶手段に記憶された可変長符号データに対して、各マクロブロックが記憶されたアドレスを認識する第1のマクロブロック符号アドレス認識手段と、前記編集指定手段によって指定された編集処理内容に応じて、前記第1のマクロブロック符号記憶手段に記憶された可変長符号データを、前記第1のマクロブロック符号アドレス認識手段が認識する前記アドレスを使用して読み込み、復号化して編集する編集手段と、前記編集手段によって編集された画像データをマクロブロック単位に可変長符号化する第2のマクロブロック可変長符号化手段と、前記第2のマクロブロック可変長符号化手段によって生成された可変長符号データをマクロブロック単位で順次記憶する第2のマクロブロック符号記憶手段と、前記第2のマクロブロック符号記憶手段に記憶された可変長符号データに対して、各マクロブロックが記憶されたアドレスを認識する第2のマクロブロック符号アドレス認識手段と、前記第2のマクロブロック符号アドレス記憶手段から前記マクロブロックの先頭アドレスを受け取り、前記第2のマクロブロック符号記憶手段からマクロブロックの可変長符号データを読み取って、順次復号化するマクロブロック復号化手段と、前記マクロブロック復号化手段によって復号化された多値ブロックラインデータを記憶する出力用多値ブロックラインデータ記憶手段と、前記出力用多値ブロックラインデータ記憶手段に記憶された前記サブブロック単位の画像データを受け取り、画像処理を行う画像処理手段と、前記画像処理手段により生成された画像処理後の画像データを、画像の主走査方向に順次プリンタエンジンへ転送する画像出力手段と、を備えたことを特徴とする。   According to a twelfth aspect of the present invention, there is provided an image processing apparatus for performing variable length coding, editing and decoding input image data, performing image processing, and outputting the image data after image processing. Edit designation means for accepting designation of processing contents, multi-value block line data storage means for storing one line of data in units of multi-value sub blocks, and codes in units of macro blocks from the multi-value block line data storage means First macroblock variable length encoding means for generating a plurality of macroblock unit variable length code data sequentially generated by the first macroblock variable length encoding means Each macroblock is stored with respect to the variable length code data stored in the storage means and the first macroblock code storage means. First macroblock code address recognizing means for recognizing a dress, and variable length code data stored in the first macroblock code storage means in accordance with the editing processing content designated by the edit designating means, An editing unit that reads, decodes and edits using the address recognized by the first macroblock code address recognition unit, and a second variable-length code for the image data edited by the editing unit in units of macroblocks Macroblock variable length coding means, second macroblock code storage means for sequentially storing variable length code data generated by the second macroblock variable length coding means in units of macroblocks, and the second Each macroblock was stored for variable length code data stored in the macroblock code storage means A second macroblock code address recognizing unit for recognizing a dress; a head address of the macroblock is received from the second macroblock code address storing unit; and a variable length of the macroblock is received from the second macroblock code storing unit. Macroblock decoding means for reading code data and sequentially decoding; output multi-value block line data storage means for storing multi-value block line data decoded by the macroblock decoding means; and for output The image processing unit that receives the image data in units of sub-blocks stored in the multi-value block line data storage unit, performs image processing, and the image data after the image processing generated by the image processing unit is subjected to image main scanning. Image output means for sequentially transferring to the printer engine in the direction It is characterized by.

この請求項12にかかる発明によれば、編集指定手段は、編集処理内容の指定を受け付ける。多値ブロックラインデータ記憶手段は、多値のサブブロック単位の1ラインのデータを記憶する。第1のマクロブロック可変長符号化手段は、多値ブロックラインデータ記憶手段から複数のマクロブロック単位の符号を生成する。第1のマクロブロック符号記憶手段は、第1のマクロブロック可変長符号化手段によって生成された複数のマクロブロック単位の可変長符号データを順次記憶する。第1のマクロブロック符号アドレス認識手段は、第1のマクロブロック符号記憶手段に記憶された可変長符号データに対して、各マクロブロックが記憶されたアドレスを認識する。編集手段は、編集指定手段によって指定された編集処理内容に応じて、第1のマクロブロック符号記憶手段に記憶された可変長符号データを、第1のマクロブロック符号アドレス認識手段が認識するアドレスを使用して読み込み、復号化して編集する。第2のマクロブロック可変長符号化手段は、編集手段によって編集された画像データをマクロブロック単位に可変長符号化する。第2のマクロブロック符号記憶手段は、第2のマクロブロック可変長符号化手段によって生成された可変長符号データをマクロブロック単位で順次記憶する。第2のマクロブロック符号アドレス認識手段は、第2のマクロブロック符号記憶手段に記憶された可変長符号データに対して、各マクロブロックが記憶されたアドレスを認識する。マクロブロック復号化手段は、第2のマクロブロック符号アドレス記憶手段からマクロブロックの先頭アドレスを受け取り、第2のマクロブロック符号記憶手段からマクロブロックの可変長符号データを読み取って、順次復号化する。出力用多値ブロックラインデータ記憶手段は、マクロブロック復号化手段によって復号化された多値ブロックラインデータを記憶する。画像処理手段は、出力用多値ブロックラインデータ記憶手段に記憶されたサブブロック単位の画像データを受け取り、画像処理を行う。画像出力手段は、画像処理手段により生成された画像処理後の画像データを、画像の主走査方向に順次プリンタエンジンへ転送する。   According to the twelfth aspect of the present invention, the editing designation means accepts designation of editing processing content. The multi-value block line data storage means stores one line of data in units of multi-value sub-blocks. The first macroblock variable length encoding unit generates a plurality of macroblock unit codes from the multilevel block line data storage unit. The first macroblock code storage means sequentially stores variable length code data in units of a plurality of macroblocks generated by the first macroblock variable length encoding means. The first macroblock code address recognition means recognizes the address at which each macroblock is stored for the variable length code data stored in the first macroblock code storage means. The editing means selects an address at which the first macroblock code address recognizing means recognizes the variable length code data stored in the first macroblock code storage means in accordance with the editing processing content designated by the editing designation means. Use to read, decrypt and edit. The second macroblock variable length coding means performs variable length coding on the image data edited by the editing means in units of macroblocks. The second macroblock code storage unit sequentially stores the variable length code data generated by the second macroblock variable length encoding unit in units of macroblocks. The second macroblock code address recognizing means recognizes the address where each macroblock is stored with respect to the variable length code data stored in the second macroblock code storage means. The macroblock decoding means receives the start address of the macroblock from the second macroblock code address storage means, reads the variable length code data of the macroblock from the second macroblock code storage means, and sequentially decodes them. The output multi-value block line data storage means stores the multi-value block line data decoded by the macroblock decoding means. The image processing means receives the image data in units of sub-blocks stored in the output multi-value block line data storage means, and performs image processing. The image output means sequentially transfers the image data after the image processing generated by the image processing means to the printer engine in the main scanning direction of the image.

この構成により、多値のマクロブロック単位の符号を一時、第1のマクロブロック符号記憶手段に記憶し、その後、編集手段によってスタンプ画像などとの合成あるいはマクロブロック単位での回転処理を施して第2のマクロブロック符号記憶手段にページ単位に格納することにより、回転などの編集処理によるメモリの増加を押さえることができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理装置を提供することができる。   With this configuration, the multi-value macroblock unit code is temporarily stored in the first macroblock code storage means, and then the editing means performs synthesis with a stamp image or the like or rotation processing in macroblock units. By storing the macroblock code storage means in page 2 in units of pages, it is possible to suppress an increase in memory due to editing processing such as rotation. It is possible to provide an image processing apparatus that can suppress and process high-quality images at high speed.

また、請求項13にかかる発明は、入力される画像データを可変長符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像処理方法であって、入力される前記画像データに対して編集処理内容の指定を受け付ける編集指定工程と、入力される前記画像データを、マクロブロックを構成する多値のサブブロック単位のラインデータとして記憶する多値ブロックラインデータ記憶工程と、前記多値ブロックラインデータ記憶工程において記憶された前記多値ブロックラインデータを読み出して前記マクロブロック単位に可変長符号化するマクロブロック可変長符号化工程と、前記マクロブロック可変長符号化工程における可変長符号化の際に、前記マクロブロックが画像において並ぶ同一の水平ラインの前記マクロブロックの先頭アドレスを記憶するマクロブロック先頭アドレス記憶工程と、前記マクロブロック可変長符号化工程において生成された可変長符号データを前記マクロブロック単位で順次記憶するマクロブロック符号記憶工程と、前記編集指定工程によって指定された編集処理内容に従って、前記マクロブロック符号記憶工程において記憶された可変長符号データを読み込み、復号化して編集する編集工程と、前記マクロブロック先頭符号アドレス記憶工程において記憶された前記マクロブロックの先頭アドレスを読み取り、前記マクロブロック符号記憶工程において記憶された前記マクロブロックの符号データを読み取り、順次復号化するマクロブロック復号化工程と、前記マクロブロック復号化工程において復号化されたデータを記憶する出力用多値ブロックラインデータ記憶工程と、前記出力用多値ブロックラインデータ記憶工程において記憶されたサブブロック単位の画像データを受け取り、画像処理を行う画像処理工程と、前記画像処理工程によって生成された画像処理後の画像データを画像の主走査方向に順次プリンタエンジンへ転送する画像出力工程と、を含むことを特徴とする。   According to a thirteenth aspect of the present invention, there is provided an image processing method in which input image data is subjected to variable length encoding, editing and decoding, image processing is performed, and image data after image processing is output. An edit designation step for accepting designation of edit processing contents for the image data to be processed, and multi-value block line data for storing the input image data as line data in units of multi-value sub-blocks constituting a macro block A macroblock variable length encoding step for reading out the multilevel block line data stored in the multilevel block line data storage step and performing variable length encoding in units of the macroblock; and the macroblock variable length code. In the variable length encoding in the conversion step, the macroblocks are arranged on the same horizontal line in the image. A macroblock head address storing step for storing a head address of a black block; a macroblock code storing step for sequentially storing the variable length code data generated in the macroblock variable length coding step in units of the macroblock; and the editing The variable length code data stored in the macroblock code storage step is read in accordance with the editing processing content specified in the specification step, the editing step for decoding and editing, and the macroblock head code address storage step stored in the macroblock head code address storage step A macroblock decoding step of reading a macroblock start address, reading code data of the macroblock stored in the macroblock code storage step, and sequentially decoding the data; and data decoded in the macroblock decoding step The An output multi-value block line data storage step, an image processing step for receiving image data in units of sub-blocks stored in the output multi-value block line data storage step, and performing image processing; and And an image output step of sequentially transferring the generated image data after image processing to the printer engine in the main scanning direction of the image.

この請求項13にかかる発明によれば、編集指定工程は、入力される画像データに対して編集処理内容の指定を受け付ける。多値ブロックラインデータ記憶工程は、入力される画像データを、マクロブロックを構成する多値のサブブロック単位のラインデータとして記憶する。マクロブロック可変長符号化工程は、多値ブロックラインデータ記憶工程において記憶された多値ブロックラインデータを読み出してマクロブロック単位に可変長符号化する。マクロブロック先頭アドレス記憶工程は、マクロブロック可変長符号化工程における可変長符号化の際に、マクロブロックが画像において並ぶ同一の水平ラインのマクロブロックの先頭アドレスを記憶する。マクロブロック符号記憶工程は、マクロブロック可変長符号化工程において生成された可変長符号データをマクロブロック単位で順次記憶する。編集工程は、編集指定工程によって指定された編集処理内容に従って、マクロブロック符号記憶工程において記憶された可変長符号データを読み込み、復号化して編集する。マクロブロック復号化工程は、マクロブロック先頭符号アドレス記憶工程において記憶されたマクロブロックの先頭アドレスを読み取り、マクロブロック符号記憶工程において記憶されたマクロブロックの符号データを読み取り、順次復号化する。出力用多値ブロックラインデータ記憶工程は、マクロブロック復号化工程において復号化されたデータを記憶する。画像処理工程は、出力用多値ブロックラインデータ記憶工程において記憶されたサブブロック単位の画像データを受け取り、画像処理を行う。画像出力工程は、画像処理工程によって生成された画像処理後の画像データを画像の主走査方向に順次プリンタエンジンへ転送する。この構成によって、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することが可能な画像処理方法を提供することができる。   According to the thirteenth aspect of the present invention, the editing designation step accepts designation of editing processing content for the input image data. In the multi-value block line data storage step, input image data is stored as line data in units of multi-value sub-blocks constituting the macro block. The macroblock variable length encoding step reads the multilevel block line data stored in the multilevel block line data storage step and performs variable length encoding on a macroblock basis. The macroblock head address storage step stores the head address of the macroblock on the same horizontal line in which the macroblocks are arranged in the image at the time of variable length coding in the macroblock variable length coding step. The macroblock code storage step sequentially stores the variable length code data generated in the macroblock variable length encoding step in units of macroblocks. In the editing step, the variable length code data stored in the macroblock code storage step is read, decoded and edited in accordance with the editing processing content specified in the editing specification step. The macroblock decoding step reads the macroblock head address stored in the macroblock head code address storage step, reads the macroblock code data stored in the macroblock code storage step, and sequentially decodes the data. The output multi-value block line data storage step stores the data decoded in the macroblock decoding step. The image processing step receives the image data in units of sub-blocks stored in the output multi-value block line data storage step, and performs image processing. In the image output process, the image data after the image processing generated in the image processing process is sequentially transferred to the printer engine in the main scanning direction of the image. With this configuration, it is possible to provide an image processing method capable of performing variable-length encoding on input data to perform editing processing, suppressing increase in memory, and processing high-quality images at high speed.

また、請求項14にかかる発明は、プログラムであって、請求項13に記載の画像処理方法をコンピュータで実行することを特徴とする。   The invention according to claim 14 is a program, and the image processing method according to claim 13 is executed by a computer.

この請求項14にかかる発明によれば、請求項13に記載の画像処理方法をコンピュータで実行することができる。   According to the invention of claim 14, the image processing method of claim 13 can be executed by a computer.

本発明(請求項1)にかかる画像処理装置は、入力画像データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   The image processing apparatus according to the present invention (Claim 1) produces an effect that input image data is subjected to variable length coding to perform editing processing, an increase in memory can be suppressed, and high-quality images can be processed at high speed. .

また、本発明(請求項2)にかかる画像処理装置は、マクロブロック復号化手段が復号化する時、同一の水平ライン上のマクロブロックごとの符号の先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、同一の水平ライン上のマクロブロックごとの中間符号データを記憶するマクロブロック復号中間データ記憶手段を備え、同一の水平ライン上のマクロブロック単位の符号を並列に復号化することにより、少なくともサブブロック単位に画像処理部へ転送するので、マクロブロックの垂直方向の高さのバンドメモリを必要とせずに画像処理が可能となり、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   The image processing apparatus according to the present invention (claim 2) is a macroblock head address storage means for storing a code head address for each macroblock on the same horizontal line when the macroblock decoding means decodes. And macroblock decoding intermediate data storage means for storing intermediate code data for each macroblock on the same horizontal line, and by decoding in parallel the macroblock unit code on the same horizontal line, Since it is transferred to the image processing unit in units of blocks, image processing is possible without the need for a band memory with a vertical height of macroblocks, and input data is subjected to variable-length coding and editing processing, and memory is increased. This is advantageous in that high-quality images can be processed at high speed.

また、本発明(請求項3)にかかる画像処理装置は、簡易な方式でマクロブロックの符号長を計算することができ、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   In addition, the image processing apparatus according to the present invention (Claim 3) can calculate the code length of the macroblock by a simple method, performs variable length coding on the input data, performs editing processing, and increases the memory. This is advantageous in that high-quality images can be processed at high speed.

また、本発明(請求項4)にかかる画像処理装置は、簡易な方式によってマクロブロック符号データのアドレスを計算できるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   In addition, since the image processing apparatus according to the present invention (Claim 4) can calculate the address of the macroblock code data by a simple method, the input data is subjected to variable length coding to perform editing processing, and the increase in memory is suppressed. The high-quality image can be processed at high speed.

また、本発明(請求項5)にかかる画像処理装置は、符号長で受信した画像データを簡易な方式によって展開して編集処理を施すことができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   Further, the image processing apparatus according to the present invention (claim 5) can edit the image data received with the code length by expanding the image data by a simple method. In addition, it is possible to suppress an increase in memory and to process a high-quality image at high speed.

また、本発明(請求項6)にかかる画像処理装置は、符号長で受信した画像データを簡易な方式によって展開して合成処理を施すことができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   Further, the image processing apparatus according to the present invention (claim 6) can develop the image data received with the code length by a simple method and perform the synthesis process. In addition, it is possible to suppress an increase in memory and to process a high-quality image at high speed.

また、本発明(請求項7)にかかる画像処理装置は、符号長で受信した画像データを簡易な方式によって展開して回転処理を施すことができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   The image processing apparatus according to the present invention (Claim 7) can perform rotation processing by expanding image data received with a code length by a simple method, so that input data is variable-length encoded and edited. In addition, it is possible to suppress an increase in memory and to process a high-quality image at high speed.

また、本発明(請求項8)にかかる画像処理装置は、マクロブロックごとの水平ラインの終端の検出が簡易化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   The image processing apparatus according to the present invention (claim 8) simplifies the detection of the end of the horizontal line for each macroblock, so that the input data is subjected to variable length coding to perform editing processing, and the memory is increased. This is advantageous in that high-quality images can be processed at high speed.

また、本発明(請求項9)にかかる画像処理装置は、水平ラインの終端においてリスタートマーカーによって、マクロブロックごとの水平ラインの終端の検出が簡易化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   In the image processing apparatus according to the present invention (claim 9), since the detection of the end of the horizontal line for each macroblock is simplified by the restart marker at the end of the horizontal line, the input data is variable-length encoded. As a result, it is possible to perform editing processing, suppress an increase in memory, and perform high-speed processing of high-quality images.

また、本発明(請求項10)にかかる画像処理装置は、マクロブロックごとの水平ラインの終端の検出が簡易化されて復号化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   In the image processing apparatus according to the present invention (claim 10), since the detection of the end of the horizontal line for each macroblock is simplified and decoded, the input data is variable-length encoded and subjected to editing processing. Thus, it is possible to suppress an increase in memory and to process a high-quality image at high speed.

また、本発明(請求項11)にかかる画像処理装置は、水平ラインの終端においてリスタートマーカーによって、マクロブロックごとの水平ラインの終端の検出が簡易化されて復号化されるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   In the image processing apparatus according to the present invention (claim 11), the detection of the end of the horizontal line for each macroblock is simplified and decoded by the restart marker at the end of the horizontal line. It is possible to perform variable length coding and edit processing, suppress an increase in memory, and perform high-speed processing of high-quality images.

また、本発明(請求項12)にかかる画像処理装置は、多値のマクロブロック単位の符号を一時、第1のマクロブロック符号記憶手段に記憶し、その後、編集手段によってスタンプ画像などとの合成あるいはマクロブロック単位での回転処理を施して第2のマクロブロック符号記憶手段にページ単位に格納することにより、回転などの編集処理によるメモリの増加を押さえることができるので、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   The image processing apparatus according to the present invention (Claim 12) temporarily stores a multi-level macroblock unit code in the first macroblock code storage means, and then synthesizes it with a stamp image or the like by the editing means. Alternatively, by performing rotation processing in units of macroblocks and storing them in the second macroblock code storage means in units of pages, it is possible to suppress an increase in memory due to editing processing such as rotation. The editing process is performed and the increase in the memory is suppressed, and the high-quality image can be processed at high speed.

また、本発明(請求項13)にかかる画像処理方法は、入力データを可変長符号化して編集処理を施すとともに、メモリの増加を抑え、高画質な画像を高速処理することができるという効果を奏する。   In addition, the image processing method according to the present invention (claim 13) is advantageous in that input data is subjected to variable length coding to perform editing processing, an increase in memory is suppressed, and high-quality images can be processed at high speed. Play.

また、本発明(請求項14)にかかるプログラムは、請求項13に記載の画像処理方法をコンピュータで実行することができるという効果を奏する。   In addition, the program according to the present invention (Claim 14) exhibits the effect that the image processing method according to Claim 13 can be executed by a computer.

以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、およびその方法をコンピュータで実行するプログラムの最良な実施の形態を詳細に説明する。   Exemplary embodiments of an image processing apparatus, an image processing method, and a program for executing the method by a computer will be described below in detail with reference to the accompanying drawings.

(1.実施の形態1)
(1.1.実施の形態1による画像処理装置の概略構成)
図1は、本発明の実施の形態1による画像処理部の機能的ブロック図である。実施の形態1による画像処理装置は、スキャナ9、操作パネル30、8ラインメモリ11、符号化部12、入出力用符号メモリ領域41、編集部13,ページ復号化部14,画像処理部15、およびプリンタエンジン17を備える。符号化部12は、マクロブロック先頭アドレス記憶部123、およびマクロブロック復号中間データ記憶部1234を備える。編集部13は、マクロブロック符号アドレス認識部13032を備える。ページ復号化部14は、マクロブロック先頭アドレス記憶部145、マクロブロック符号アドレス認識部144、およびマクロブロック復号化シフト値記憶部143172を含む。
(1. Embodiment 1)
(1.1. Schematic Configuration of Image Processing Device According to Embodiment 1)
FIG. 1 is a functional block diagram of an image processing unit according to Embodiment 1 of the present invention. The image processing apparatus according to the first embodiment includes a scanner 9, an operation panel 30, an 8-line memory 11, an encoding unit 12, an input / output code memory area 41, an editing unit 13, a page decoding unit 14, an image processing unit 15, And a printer engine 17. The encoding unit 12 includes a macroblock head address storage unit 123 and a macroblock decoding intermediate data storage unit 1234. The editing unit 13 includes a macroblock code address recognition unit 13032. The page decoding unit 14 includes a macroblock head address storage unit 145, a macroblock code address recognition unit 144, and a macroblock decoding shift value storage unit 143172.

ここで、入出力用符号メモリ領域41は、本発明におけるマクロブロック符号記憶手段を構成する。操作パネル30は、編集指定手段を構成する。8ラインメモリ11は多値ブロックラインデータ記憶手段を構成する。符号化部12は、マクロブロック可変長符号化手段を構成する。入出力用符号メモリ領域41はマクロブロック符号記憶手段を構成する。編集部13は編集手段を構成する。ページ復号化部14はマクロブロック復号化手段を構成する。プリンタエンジン17は、画像処理手段を構成する。   Here, the input / output code memory area 41 constitutes a macroblock code storage means in the present invention. The operation panel 30 constitutes edit designation means. The 8-line memory 11 constitutes multi-value block line data storage means. The encoding unit 12 constitutes a macroblock variable length encoding unit. The input / output code memory area 41 constitutes a macroblock code storage means. The editing unit 13 constitutes editing means. The page decoding unit 14 constitutes a macroblock decoding unit. The printer engine 17 constitutes image processing means.

また、マクロブロック先頭アドレス記憶部123は、マクロブロック先頭アドレス記憶手段を構成する。マクロブロック復号中間データ記憶部1234は、マクロブロック符号中間データ記憶手段(請求項1)を構成する。マクロブロック符号アドレス認識部13032は、マクロブロック符号アドレス認識手段を構成する。   The macroblock head address storage unit 123 constitutes a macroblock head address storage unit. The macroblock decoded intermediate data storage unit 1234 constitutes macroblock code intermediate data storage means (claim 1). The macroblock code address recognition unit 13032 constitutes a macroblock code address recognition unit.

また、マクロブロック先頭アドレス記憶部145およびマクロブロック符号アドレス認識部144は、マクロブロック符号アドレス認識手段(請求項2)を構成する。また、マクロブロック先頭アドレス記憶部145は、マクロブロック先頭アドレス記憶手段を構成する。マクロブロック復号化シフト値記憶部143172は、マクロブロック復号中間データ記憶手段を構成する。図1に示した上記各部については、以下に詳細に説明する。   The macroblock head address storage unit 145 and the macroblock code address recognition unit 144 constitute macroblock code address recognition means (claim 2). The macroblock head address storage unit 145 constitutes a macroblock head address storage unit. The macroblock decoding shift value storage unit 143172 constitutes a macroblock decoding intermediate data storage unit. The parts shown in FIG. 1 will be described in detail below.

図2は、実施の形態1による画像処理装置のハードウェア構成図である。画像処理装置は、CPU1、CPUI/F2、メモリコントローラ3、メモリ4、ローカルバスI/F5、ROM6、パネルコントローラ7、操作パネル8、スキャナ9、平滑フィルタ処理部10、8ラインメモリ11、符号化部12、編集部13、ページ復号化部14、画像処理部15、エンジンコントローラ16、プリンタエンジン17、HDD制御部18、HDD(ハードデイスク)部19を備える。   FIG. 2 is a hardware configuration diagram of the image processing apparatus according to the first embodiment. The image processing apparatus includes a CPU 1, a CPU I / F 2, a memory controller 3, a memory 4, a local bus I / F 5, a ROM 6, a panel controller 7, an operation panel 8, a scanner 9, a smoothing filter processing unit 10, an 8-line memory 11, and an encoding. A section 12, an editing section 13, a page decoding section 14, an image processing section 15, an engine controller 16, a printer engine 17, an HDD control section 18, and an HDD (hard disk) section 19.

CPU1は、コピー機器を全体の制御を行う。CPUI/F2は、メモリコントローラ3に接続され、CPU1とメモリコントローラ3の間のインタフェースを処理する。   The CPU 1 controls the entire copy device. The CPU I / F 2 is connected to the memory controller 3 and processes an interface between the CPU 1 and the memory controller 3.

メモリコントローラ3は、メモリ4をコントロールし、CPU1、ローカルバスI/F5、編集処理部13、ページ復号化部14、画像処理部15、符号化部12、およびバスI/F11と、メモリ4との転送をコントロールする。   The memory controller 3 controls the memory 4. The CPU 1, the local bus I / F 5, the editing processing unit 13, the page decoding unit 14, the image processing unit 15, the encoding unit 12, and the bus I / F 11, Control the transfer of

メモリ4は、スキャナ9からの画像や、CPU1のプログラムや各種データを格納する。ローカルバスI/F5は、ROM(Read Only Memory)6、およびパネルコントローラ7などと、CPU1、およびメモリ4などとのインタフェースを処理する。ROM6は、文字などのフォント情報や、CPU1のプログラムなどを格納する。   The memory 4 stores an image from the scanner 9, a program of the CPU 1, and various data. The local bus I / F 5 processes an interface between the ROM (Read Only Memory) 6, the panel controller 7, the CPU 1, the memory 4, and the like. The ROM 6 stores font information such as characters and the program of the CPU 1.

パネルコントローラ7は、操作パネル8をコントロールする。操作パネル8は、ユーザーからの操作を受け付ける。スキャナ9は、CCDにより画像を読み込む。   The panel controller 7 controls the operation panel 8. The operation panel 8 receives an operation from the user. The scanner 9 reads an image with a CCD.

平滑フィルタ処理部10は、スキャナ9から読み込んだ画像データに対して、シェ−デイング補正、MTFγ補正などの画像処理を施す。   The smoothing filter processing unit 10 performs image processing such as shading correction and MTFγ correction on the image data read from the scanner 9.

8ラインメモリ11は、平滑フィルタ処理部10により画像処理を施されたデータを、符号化部12が符号化処理するのに必要な1つのサブブロックの副操作方向のサイズのラインの画像データを格納する。   The 8-line memory 11 stores the image data of the size in the sub-operation direction of one sub-block necessary for the encoding unit 12 to encode the data subjected to the image processing by the smoothing filter processing unit 10. Store.

また、パイプライン処理を施す為にトグルのメモリ構成であり、スキャナ9からの画像データの入力と、符号化部12への出力を同時に実行可能である。   In addition, a toggle memory configuration is used for pipeline processing, and image data input from the scanner 9 and output to the encoding unit 12 can be executed simultaneously.

符号化部12は、8ラインメモリ11の画像処理を施されたデータを符号化し、メモリ4へ転送する。   The encoding unit 12 encodes the data subjected to the image processing in the 8-line memory 11 and transfers the data to the memory 4.

編集部13は、メモリ4に貯えられたスキャナ画像を符号化した符号データに、別の文字画像などを合成処理を施し、90度単位の回転処理を施し、メモリ4に再度転送する。   The editing unit 13 synthesizes another character image or the like on the code data obtained by encoding the scanner image stored in the memory 4, performs a rotation process in units of 90 degrees, and transfers the data to the memory 4 again.

ページ復号化部14は、編集部13により符号化された画像データを受信し、復号化し、サブブロック単位に画像処理部15へ転送する。   The page decoding unit 14 receives the image data encoded by the editing unit 13, decodes it, and transfers it to the image processing unit 15 in subblock units.

画像処理部15は、ページ復号化部によって復号化された画像データをサブブロック単位に色変換処理や階調処理を施し、2値データになった画像を、エンジンコントローラ16へ転送する。   The image processing unit 15 subjects the image data decoded by the page decoding unit to color conversion processing and gradation processing in units of sub-blocks, and transfers the binary data to the engine controller 16.

エンジンコントローラ16は、画像処理部15により生成されたデータを受信し、プリンタエンジン17をコントロールする。   The engine controller 16 receives the data generated by the image processing unit 15 and controls the printer engine 17.

HDD制御部18は、HDD19を制御し、メモリ4のデータをHDD19への転送と、HDD19のデータをメモリ4へ転送する。HDD(ハードデイスク)部19は、スキャナ9などの画像データや、符号化された画像データを格納する。   The HDD control unit 18 controls the HDD 19 to transfer data in the memory 4 to the HDD 19 and transfer data in the HDD 19 to the memory 4. An HDD (hard disk) unit 19 stores image data of the scanner 9 and the like and encoded image data.

図3は、画像処理装置による画像形成の全体的な流れを説明するフローチャートである。画像処理装置は、先ずスキャナ9から多値のRGBの画像データを読み込む(ステップS101)。平滑フィルタ処理部10はスキャナ9から読み込んだ画像データをシェ−デイング補正、MTFγ補正などの画像処理を施す(ステップS102)。   FIG. 3 is a flowchart for explaining the overall flow of image formation by the image processing apparatus. The image processing apparatus first reads multi-value RGB image data from the scanner 9 (step S101). The smoothing filter processing unit 10 performs image processing such as shading correction and MTFγ correction on the image data read from the scanner 9 (step S102).

符号化部12は、平滑フィルタ処理部10にて画像処理を施されたRGB画像データを符号化する(ステップS103)。符号化されたRGB符号データは、メモリ4に格納される(ステップS104)。   The encoding unit 12 encodes the RGB image data that has been subjected to image processing by the smoothing filter processing unit 10 (step S103). The encoded RGB code data is stored in the memory 4 (step S104).

復号化部14は、メモリ4に貯えられたRGB符号データを復号化する(ステップS105)。画像処理部15は、色補正処理を施し、RGB画像データからCMYK画像データへ変換する(ステップS106)。画像処理部15は、変換された画像データに対して階調処理を施し、CMYK画像データを2値のCMYKデータに変換する(ステップS108)。エンジンコントローラ16は、2値CMYKデータを印刷する。   The decoding unit 14 decodes the RGB code data stored in the memory 4 (step S105). The image processing unit 15 performs color correction processing and converts RGB image data into CMYK image data (step S106). The image processing unit 15 performs gradation processing on the converted image data, and converts the CMYK image data into binary CMYK data (step S108). The engine controller 16 prints binary CMYK data.

(1.2.メモリの構成)
図4は、実施の形態1による画像形成処理の全体的な流れとメモリの関係を説明する図である。図2および3で説明した以外を補足的に説明する。8ラインメモリ11は、スキャナ9によって読み込まれ平滑化フィルタ10によって画像処理を施されたデータを一時、格納する。
(1.2. Memory configuration)
FIG. 4 is a diagram for explaining the relationship between the overall flow of the image forming process according to the first embodiment and the memory. A supplementary description will be given except for those described with reference to FIGS. The 8-line memory 11 temporarily stores data read by the scanner 9 and subjected to image processing by the smoothing filter 10.

メモリ4は、入出力用符号メモリ領域41、ページ符号メモリ領域42、ページマクロブロック先頭アドレス格納領域43、およびメインメモリ47を含む。   The memory 4 includes an input / output code memory area 41, a page code memory area 42, a page macroblock head address storage area 43, and a main memory 47.

符号化部12(ページ符号化部)は8ラインメモリ11からの画像データをマクロブロックの主操作方向のサイズにより順次、符号化を切り換え、メモリ4の入出力用符号メモリ領域41へ主操作方向へ分割された複数のマクロブロック符号を書き込む。   The encoding unit 12 (page encoding unit) sequentially switches the encoding of the image data from the 8-line memory 11 according to the size of the main operation direction of the macroblock, and transfers it to the input / output code memory area 41 of the memory 4. A plurality of macroblock codes divided into are written.

メモリ4は、符号化部12により生成された主操作方向に連なる複数のマクロブロックの符号を、入出力用符号メモリ領域41において格納する。   The memory 4 stores, in the input / output code memory area 41, codes of a plurality of macroblocks that are generated in the main operation direction and generated by the encoding unit 12.

符号化部12により生成されたページ単位の複数の主操作方向に連なるマクロブロックの符号は、ページ符号メモリ領域42で格納し、該マクロブロックの先頭アドレスをページマクロブロック先頭アドレス格納領域43で格納する。ページ符号化部12により合成処理を施されたマクロブロックごとの符号はページ単位で、ページ符号メモリ領域42で格納され、該先頭アドレスはページマクロブロック先頭アドレス格納領域43で格納される。   The code of the macro block that is generated by the encoding unit 12 and is continuous in a plurality of main operation directions in units of pages is stored in the page code memory area 42, and the start address of the macro block is stored in the page macro block start address storage area 43. To do. The code for each macroblock subjected to the synthesizing process by the page encoding unit 12 is stored in the page code memory area 42 in units of pages, and the start address is stored in the page macroblock start address storage area 43.

符号411は入出力用符号メモリフォーマット例、符号412はマクロブロックの一例、符号414はページ符号メモリフォーマット例、符号420はページマクロブロック先頭アドレスフォーマット例を模式的に示した。   Reference numeral 411 is an input / output code memory format example, reference numeral 412 is an example of a macroblock, reference numeral 414 is a page code memory format example, and reference numeral 420 is a page macroblock head address format example.

編集部13は、復号化部136、編集処理部137、合成メモリ138、およびページ符号化部139、を備える。   The editing unit 13 includes a decoding unit 136, an editing processing unit 137, a synthesis memory 138, and a page encoding unit 139.

ページ符号化部139は、入出力用符号メモリ領域41からマクロブロックごとの符号を順次読み込み復号化し、編集処理部137へ転送する。編集処理部137は、復号化部136から受信した復号化された画像データを、合成メモリ136へ展開し、かつ合成する文字画像などをメインメモリ47から読み込んで合成処理を施し、合成処理を施した後、回転方向に読み込んで、ページ符号化部139へ転送する。   The page encoding unit 139 sequentially reads and decodes the code for each macroblock from the input / output code memory area 41 and transfers the code to the editing processing unit 137. The edit processing unit 137 develops the decoded image data received from the decoding unit 136 into the synthesis memory 136, reads the character image to be synthesized from the main memory 47, performs the synthesis process, and performs the synthesis process. After that, it is read in the rotation direction and transferred to the page encoding unit 139.

ここでページ符号化部139は、本発明における第2のマクロブロック可変長符号化手段を構成する。   Here, the page encoding unit 139 constitutes the second macroblock variable length encoding means in the present invention.

合成メモリ138は、復号化されたマクロブロックの画像を格納する。   The synthesis memory 138 stores the decoded macroblock image.

ページ符号化部139は、編集処理部137からの編集処理を施されたマクロブロック単位の画像を符号化し、ページ符号メモリ領域42へ書き込む。かつ、書き込まれる符号化画像データの先頭アドレスをページマクロブロック先頭アドレス格納領域43に書き込む。   The page encoding unit 139 encodes the image in units of macroblocks subjected to the editing process from the editing processing unit 137 and writes the encoded image in the page code memory area 42. In addition, the head address of the encoded image data to be written is written in the page macroblock head address storage area 43.

この時、各マクロブロックの符号の符号長を計測することにより、マクロブロックごとの先頭アドレスを求め、メモリ4のページマクロブロック先頭アドレス格納領域43へ書き込む。   At this time, the head address of each macro block is obtained by measuring the code length of the code of each macro block and written into the page macro block head address storage area 43 of the memory 4.

ページ復号化部14は、ページマクロブロック先頭アドレス格納領域43に格納されたマクロブロック先頭アドレスをアクセスし、ページ符号メモリ領域42に格納されたマクロブロックの符号を読み込んで、復号化して、サブブロック単位に画像処理部15へ出力する画像データを生成する。   The page decoding unit 14 accesses the macroblock head address stored in the page macroblock head address storage area 43, reads the code of the macroblock stored in the page code memory area 42, decodes it, and outputs the subblock Image data to be output to the image processing unit 15 is generated in units.

画像処理部15は、ページ復号化部14から出力する画像データ受信し、画像処理を施し、ラインメモリ20を経由して、プリンタエンジン17へ転送する。   The image processing unit 15 receives the image data output from the page decoding unit 14, performs image processing, and transfers the image data to the printer engine 17 via the line memory 20.

図5は、メインメモリ4のファーマットの一例を示す模式図である。入出力用符号メモリ領域41は、スキャナ9からの画像データをマクロブロック単位に符号化された符号データを格納する領域であり、HDD20へ格納する際に符号データを一時格納するメモリ領域でもある。   FIG. 5 is a schematic diagram illustrating an example of a format of the main memory 4. The input / output code memory area 41 is an area for storing code data obtained by encoding image data from the scanner 9 in units of macroblocks, and is also a memory area for temporarily storing code data when stored in the HDD 20.

ページ符号メモリ領域42は、入出力用符号メモリ領域41のマクロブロック単位の符号データに対して回転処理や、合成処理を施した後の複数ページのマクロブロック単位の符号データを格納する領域である。   The page code memory area 42 is an area for storing code data in units of macroblocks of a plurality of pages after performing rotation processing and synthesis processing on code data in macroblock units in the input / output code memory area 41. .

ページマクロブロック先頭アドレス格納領域43は、ページ符号メモリ領域42の複数ページの符号化されたマクロブロックの符号の先頭アドレスを格納する領域である。   The page macroblock head address storage area 43 is an area for storing the head address of the code of the encoded macroblock of a plurality of pages in the page code memory area 42.

プログラム領域44は、各種のCPU1のプログラムを格納する領域である。   The program area 44 is an area for storing various programs of the CPU 1.

図6は、入出用符号メモリのフォーマットの一例を示す模式図である。入出用符号メモリ411は、m*m画素の複数のマクロブロック412で構成される。マクロブロック412は、n*nの画素からなる複数のサブブロック413から構成される。   FIG. 6 is a schematic diagram showing an example of the format of the input / output code memory. The input / output code memory 411 includes a plurality of m * m pixel macroblocks 412. The macro block 412 includes a plurality of sub blocks 413 including n * n pixels.

図7は、ページ符号メモリ領域のマクロブロックの一例を示す模式図である。ページ符号メモリ領域のマクロブロック414は、n*nの画素からなる複数のサブブロック413から構成されており、水平方向の終端にリスタートマーカー452が挿入されている。   FIG. 7 is a schematic diagram showing an example of a macroblock in the page code memory area. The macrocode 414 in the page code memory area is composed of a plurality of sub-blocks 413 composed of n * n pixels, and a restart marker 452 is inserted at the end in the horizontal direction.

(1.3.各処理の流れとメモリの関係)
図8は、スキャナ入力、入力データ符号化、編集処理、およびページ符号化処理の流れを説明する図である。スキャナ9から読み込まれたデータは、平滑フィルタ処理部へ転送される(a)。平滑フィルタ処理部10によって画像処理が施され(b)、8ラインメモリ11へ書き込まれる。8ラインメモリ11の画像データは読み込まれて符号化される(c)。符号化された符号データは、メモリ4へ書き込まれる(d)。メモリコントローラ3は符号データをメモリ4から読み込み編集部13へ転送する(e)。編集部13は、符号データを復号化し画像を編集後、再度符号化して、符号データをメモリ4へ格納する(f)。
(1.3. Relationship between each processing flow and memory)
FIG. 8 is a diagram for explaining the flow of scanner input, input data encoding, editing processing, and page encoding processing. The data read from the scanner 9 is transferred to the smoothing filter processing unit (a). Image processing is performed by the smoothing filter processing unit 10 (b) and written to the 8-line memory 11. The image data in the 8-line memory 11 is read and encoded (c). The encoded code data is written into the memory 4 (d). The memory controller 3 reads the code data from the memory 4 and transfers it to the editing unit 13 (e). The editing unit 13 decodes the code data, edits the image, encodes it again, and stores the code data in the memory 4 (f).

図9は、復号化処理および印刷処理の流れを説明する図である。メモリコントローラ3は、符号データをメモリ4から読み込みページ復号化部14へ転送する(g)(h)。ページ復号化部14は、符号データに対して復号化処理を施し、画像処理部15へ転送する(i)。画像処理部15は、ページ復号化部14から復号化された画像データを受信し、画像処理を施す(j)。エンジンコントローラ16は、画像処理を施した後のデータをプリンタエンジン17へ転送する(k)。   FIG. 9 is a diagram for explaining the flow of the decoding process and the printing process. The memory controller 3 reads the code data from the memory 4 and transfers it to the page decoding unit 14 (g) (h). The page decoding unit 14 performs a decoding process on the code data and transfers it to the image processing unit 15 (i). The image processing unit 15 receives the decoded image data from the page decoding unit 14 and performs image processing (j). The engine controller 16 transfers the data after image processing to the printer engine 17 (k).

図10は、符号化処理およびHDDへの格納の流れを説明する図である。スキャナ9から読み込まれたデータが処理されてメモリ4へ書き込まれるまでの(a)〜(d)は、図8で説明したのと同様であるので説明を省略する。HDD制御部18は、メモリ4から、符号データを読み込む(e)。HDD制御部18は、受信した符号データをHDDへ書き込む(f)。   FIG. 10 is a diagram for explaining the flow of encoding processing and storage in the HDD. Since (a) to (d) from when the data read from the scanner 9 is processed and written to the memory 4 are the same as those described with reference to FIG. The HDD control unit 18 reads code data from the memory 4 (e). The HDD control unit 18 writes the received code data to the HDD (f).

図11は、HDDからの符号データの読み出し、編集処理、およびページ符号化処理の流れを説明する図である。HDD制御部18は、HDD19から符号データを読み込む(g)。HDD制御部18は、読み込まれた符号データをメモリ4へ書き込む(h)。メモリコントローラ3は、書き込まれた符号データをメモリ4から読み込み、編集部13へ転送する(i)。編集部13は、符号データを復号化し、画像を編集後に再度符号化して、再度符号化された符号データをメモリ4へ格納する(j)。   FIG. 11 is a diagram for explaining the flow of reading code data from the HDD, editing processing, and page encoding processing. The HDD control unit 18 reads the code data from the HDD 19 (g). The HDD control unit 18 writes the read code data into the memory 4 (h). The memory controller 3 reads the written code data from the memory 4 and transfers it to the editing unit 13 (i). The editing unit 13 decodes the code data, re-encodes the image after editing, and stores the re-encoded code data in the memory 4 (j).

図12は、スキャナ9入力、および符号化処理の流れを説明する図である。スキャナ9から読み込まれたデータは、平滑フィルタ処理部へ転送される(a)。平滑フィルタ処理部10によって画像処理を施され、8ラインメモリ11へ書き込まれる(b)。符号化部12は、8ラインメモリ11の画像データを読み込み、符号化し、符号化された符号を、メモリ4の入出力用符号メモリ領域41へ書き込む(d)。   FIG. 12 is a diagram for explaining the flow of the scanner 9 input and the encoding process. The data read from the scanner 9 is transferred to the smoothing filter processing unit (a). Image processing is performed by the smoothing filter processing unit 10 and written to the 8-line memory 11 (b). The encoding unit 12 reads and encodes the image data in the 8-line memory 11, and writes the encoded code in the input / output code memory area 41 of the memory 4 (d).

図13は、編集処理およびページ符号化処理の流れを説明する図である。編集部13における復号化部136は、メモリ4の入出力用符号メモリ領域41から符号データを読み込み復号化する(e)。編集部13の復号化部136は、復号化された画像データを編集処理部137へ転送する(f)。編集部13の編集処理部137は、受信した画像を合成メモリ138へ書き込む(g)。編集部13の編集処理部137は、合成メモリ138に書き込まれた画像データを、回転方向に読み込んで(h)、読み込まれた画像データをページ符号化部139へ転送する(i)。編集部13のページ符号化部139は、画像データをマクロブロック単位に符号化し、マクロブロックの先頭アドレスをメインメモリ4のページマクロブロック先頭アドレス格納領域43へ順次書き込む(j)。編集部13のページ符号化部137は、画像データをマクロブロック単位に符号化し、メインメモリ4のページ符号メモリ領域42へ順次書き込む。   FIG. 13 is a diagram for explaining the flow of the editing process and the page encoding process. The decoding unit 136 in the editing unit 13 reads and decodes the code data from the input / output code memory area 41 of the memory 4 (e). The decoding unit 136 of the editing unit 13 transfers the decoded image data to the editing processing unit 137 (f). The editing processing unit 137 of the editing unit 13 writes the received image into the synthesis memory 138 (g). The editing processing unit 137 of the editing unit 13 reads the image data written in the synthesis memory 138 in the rotation direction (h), and transfers the read image data to the page encoding unit 139 (i). The page encoding unit 139 of the editing unit 13 encodes the image data in units of macroblocks, and sequentially writes the macroblock head address to the page macroblock head address storage area 43 of the main memory 4 (j). The page encoding unit 137 of the editing unit 13 encodes image data in units of macroblocks and sequentially writes them in the page code memory area 42 of the main memory 4.

図14は、ページ復号化処理および印刷出力の流れを説明する図である。ページ復号化部14は、メインメモリ4のページマクロブロック先頭アドレス格納領域43からマクロブロック先頭アドレスを読み込む(l)。ページ復号化部14は、読み取られたマクロブロックの先頭アドレスに基づいて、マクロブロック単位の符号データを、メインメモリ4のページ符号メモリ領域42から読み込む(m)。ページ復号化部14は、読み取られたマクロブロックの符号を復号化し、画像処理部15へ転送する(o)。画像処理部15は、ページ復号化部14から画像データを読み込み、画像処理を施し、画像処理を施された画像データはラインメモリ20に送信される(p)。エンジンコントローラ16(図2)は、画像処理を施した後のデータをプリンタエンジン17へ転送する(q)。   FIG. 14 is a diagram for explaining the flow of page decoding processing and print output. The page decoding unit 14 reads the macroblock head address from the page macroblock head address storage area 43 of the main memory 4 (l). The page decoding unit 14 reads code data in units of macroblocks from the page code memory area 42 of the main memory 4 based on the read start address of the macroblock (m). The page decoding unit 14 decodes the code of the read macroblock and transfers it to the image processing unit 15 (o). The image processing unit 15 reads the image data from the page decoding unit 14, performs image processing, and the image data subjected to the image processing is transmitted to the line memory 20 (p). The engine controller 16 (FIG. 2) transfers the data after image processing to the printer engine 17 (q).

図15は、符号化処理、HDDへの格納、編集処理、およびページ符号化処理の流れを説明する図である。スキャナ9による読み込み(a)〜メモリ4の入出力用符号メモリ領域41への書き込み(d)は、図12において説明したと同様であるので説明を省略する。HDD制御部18はメモリ4から符号を読み込み(e)、HDD制御部18は受信した符号をHDDへ書き込む(f)。   FIG. 15 is a diagram illustrating the flow of the encoding process, storage in the HDD, editing process, and page encoding process. Since reading (a) by the scanner 9 to writing (d) to the input / output code memory area 41 of the memory 4 is the same as described with reference to FIG. The HDD control unit 18 reads the code from the memory 4 (e), and the HDD control unit 18 writes the received code to the HDD (f).

HDD制御部18は、逆にHDD19からマクロブロック単位の符号データを読み込み(g)、HDD制御部18は読み込まれたマクロブロック単位の符号データをメインメモリ4の入出力符号メモリ領域41へ書き込む(h)。編集部13の復号化部136は、メモリ4の入出力用符号メモリ領域41から符号データを読み込み復号化する工程(i)から印刷出力までは、図13および図14において説明したと同様であるので説明を省略する。   Conversely, the HDD control unit 18 reads code data in units of macroblocks from the HDD 19 (g), and the HDD control unit 18 writes the read code data in units of macroblocks to the input / output code memory area 41 of the main memory 4 ( h). The decoding unit 136 of the editing unit 13 reads the code data from the input / output code memory area 41 of the memory 4 and decodes the code (i) until the print output is the same as described with reference to FIGS. Therefore, explanation is omitted.

(1.4.符号化部)
図16は、実施の形態1による画像処理装置の符号化部の機能的ブロック図である。画像処理装置の符号化部12は、符号化処理部122、マクロブロック先頭アドレス記憶部123、メモリアドレス生成部124、メモリコントローラI/F125、およびコントローラ126を備える。
(1.4. Encoding unit)
FIG. 16 is a functional block diagram of the encoding unit of the image processing apparatus according to the first embodiment. The encoding unit 12 of the image processing apparatus includes an encoding processing unit 122, a macroblock head address storage unit 123, a memory address generation unit 124, a memory controller I / F 125, and a controller 126.

ここで、マクロブロック先頭アドレス記憶部123は、本発明のマクロブロック先頭アドレス記憶手段を構成する。   Here, the macroblock head address storage unit 123 constitutes macroblock head address storage means of the present invention.

8ラインメモリ11は、8*8画素単位で符号化するJPEGの場合の1ブロックラインの画像処理を施した後の画像を格納するメモリである。   The 8-line memory 11 is a memory for storing an image after image processing of one block line in the case of JPEG encoding in units of 8 * 8 pixels.

符号化処理部122は、8ラインメモリ11から水平方向に8*8画素を順次読み込み、JPEGなどの符号化方式により符号化し、符号データをメモリコントローラI/F125へ転送する。この時、符号化処理部122は図19に示したように、水平方向に複数のマクロブロック単位に符号化する為に、水平方向にマクロブロックの境界を判断し、符号化を中断し、かつ現在のメモリ4へ書き込んだマクロブロックの符号の先頭アドレスと、符号化の途中の符号化データ(JPEGの場合はハフマン符号化途中の符号データとその符号の先頭アドレスを管理するシフト値など)を一時記憶し、順次マクロブロックの符号化を行い、複数のマクロブロックの符号を作成していく。そして次のブロックラインの8ラインのデータを処理する際に、同じマクロブロックの途中の符号化データとマクロブロックの符号の先頭アドレスを読み込み、そのマクロブロックの符号化の続きを処理することにより、8ラインメモリ11のような1ブロックラインのラインメモリのみで、n*nの画素のマクロブロック単位の符号化を行うことを可能とする。   The encoding processing unit 122 sequentially reads 8 * 8 pixels in the horizontal direction from the 8-line memory 11, encodes them by an encoding method such as JPEG, and transfers the encoded data to the memory controller I / F 125. At this time, as shown in FIG. 19, the encoding processing unit 122 determines the boundaries of macroblocks in the horizontal direction in order to perform encoding in units of a plurality of macroblocks in the horizontal direction, interrupts encoding, and The start address of the code of the macroblock written in the current memory 4 and the encoded data in the middle of encoding (in the case of JPEG, the code data in the middle of Huffman encoding and a shift value for managing the start address of the code) Temporary storage is performed, and macroblock encoding is sequentially performed to generate codes for a plurality of macroblocks. And when processing the data of 8 lines of the next block line, read the encoded data in the middle of the same macroblock and the head address of the code of the macroblock, and process the continuation of the encoding of the macroblock, It is possible to perform encoding of n * n pixels in units of macroblocks using only one line memory such as the 8-line memory 11.

マクロブロック先頭アドレス記憶部123は、符号化処理部122から、現在処理しているマクロブロックの番号とマクロブロック切り換わり信号とを受信し、メモリアドレス生成部124からの符号メモリアドレスを受信し、符号化処理部122が処理しているマクロブロックが切り換わる時に、切り換わる以前のマクロブロックの終端の符号のメモリアドレスを8ラインメモリ11に水平方向に連なる複数のマクロブロックごと記憶し、次のブロックライン時に各々のマクロブロックを処理する時に、そのマクロブロックの終端の符号のメモリアドレスをメモリアドレス生成部124へ送ることによって、各マクロブロックの符号化の継続を行うことを可能とする。   The macroblock head address storage unit 123 receives the number of the macroblock currently being processed and the macroblock switching signal from the encoding processing unit 122, receives the code memory address from the memory address generation unit 124, When the macroblock being processed by the encoding processing unit 122 is switched, the memory address of the code at the end of the macroblock before the switching is stored in the 8-line memory 11 for each of the plurality of macroblocks continuous in the horizontal direction. When each macroblock is processed at the block line, the memory address of the code at the end of the macroblock is sent to the memory address generation unit 124, so that the encoding of each macroblock can be continued.

メモリアドレス生成部124は、マクロブロック先頭アドレス記憶部123から現在処理中のマクロブロックの符号の先頭アドレスを受信し、記憶し、符号化処理部122から符号データイネーブル信号を受信し、符号データを書き込みを認識し、次の符号の書き込みアドレスへカウントUPし、水平ラインに連なる複数の符号のメモリアドレスを生成することを可能とする。   The memory address generation unit 124 receives and stores the code start address of the currently processed macroblock from the macroblock start address storage unit 123, receives the code data enable signal from the encoding processing unit 122, and stores the code data. It recognizes writing, counts up to the writing address of the next code, and makes it possible to generate memory addresses of a plurality of codes connected to the horizontal line.

メモリコントローラI/F125は、符号化処理部122からの符号データを受信し、メモリアドレス生成部124から符号データのアドレスを受信し、メモリコントローラ3へ書き込む符号データとそのアドレスを転送する。コントローラ126は、符号化部12の全体を制御する。   The memory controller I / F 125 receives the code data from the encoding processing unit 122, receives the code data address from the memory address generation unit 124, and transfers the code data to be written to the memory controller 3 and its address. The controller 126 controls the entire encoding unit 12.

図17−1および17−2は、符号化処理手順を説明するフローチャートである。図18−1は、8ラインメモリフォーマットの一例を示す模式図である。図18−2は、マクロブロックにおけるサブブロックの処理の方向を説明する図である。図19は、画像データの符号化フォーマットの一例を説明する図である。   FIGS. 17A and 17B are flowcharts for explaining the encoding processing procedure. FIG. 18A is a schematic diagram illustrating an example of an 8-line memory format. FIG. 18-2 is a diagram for explaining the direction of processing of sub-blocks in a macro block. FIG. 19 is a diagram for explaining an example of an encoding format of image data.

マクロブロック先頭アドレス記憶部123へ、水平方向に連なる複数のマクロブロックをメモリ4の入出力用符号メモリ領域41へ記憶させる先頭アドレスを設定する(ステップS201)。ここで、複数の符号を並列に作成する為に、各マクロブロックの符号のサイズはまずは大き目に確保しておく。   In the macroblock head address storage unit 123, a head address for storing a plurality of macroblocks continuous in the horizontal direction in the input / output code memory area 41 of the memory 4 is set (step S201). Here, in order to create a plurality of codes in parallel, the code size of each macroblock is first ensured to be large.

垂直方向のマクロブロック内のサブブロックのカウンタ”J”を初期設定する(ステップS202)。8ラインメモリ11に1ブロックラインの平滑フィルタ処理を施した後の画像データを格納し、トグルの8ラインメモリ11を切り換える(ステップS203)。   A sub-block counter “J” in the vertical macroblock is initialized (step S202). The image data after the smoothing filter processing of one block line is stored in the 8-line memory 11, and the toggle 8-line memory 11 is switched (step S203).

水平方向のマクロブロックのカウンタ”I”を初期設定する(ステップS204)。マクロブロック先頭アドレス記憶部123から、I番目のマクロブロックの符号を格納する先頭アドレスを受け取る(ステップS205)。マクロブロック符号中間データ記憶部1234(図20後述)から、I番目のマクロブロックの符号化の途中のデータを符号フォーマット生成部1233(図20後述)へ設定する(ステップS206)。   A horizontal macroblock counter “I” is initialized (step S204). A head address for storing the code of the I-th macroblock is received from the macroblock head address storage unit 123 (step S205). Data in the middle of encoding the I-th macroblock is set in the code format generation unit 1233 (described later in FIG. 20) from the macroblock code intermediate data storage unit 1234 (described later in FIG. 20) (step S206).

8ラインメモリ11から、水平方向にI番目のマクロブロックのJブロックラインの画像データを読み込む(ステップS207)。   Image data of the J block line of the I-th macroblock is read from the 8-line memory 11 in the horizontal direction (step S207).

I番目のマクロブロックのJブロックライン目のサブブロックごとに準じ、0〜Mまで図18−1に示されたように符号化して行く(ステップS208)。   In accordance with each sub-block of the J-th block line of the I-th macroblock, encoding is performed from 0 to M as shown in FIG. 18A (step S208).

I番目のマクロブロックの符号を、メインメモリ4の入出力用符号メモリ領域41のI番目のマクロブロック先頭アドレスが示すアドレスへマクロブロック先頭アドレス記憶部123へ順次格納する(ステップS209)。   The code of the I-th macroblock is sequentially stored in the macroblock head address storage unit 123 at the address indicated by the I-th macroblock head address in the input / output code memory area 41 of the main memory 4 (step S209).

メモリアドレス生成部124は、符号化処理部122から符号長を受信し、かつマクロブロック先頭アドレス記憶部123からマクロブロックの先頭アドレスを受信し、マクロブロックの先頭アドレスを求める(ステップS210)。   The memory address generation unit 124 receives the code length from the encoding processing unit 122 and receives the start address of the macroblock from the macroblock start address storage unit 123, and obtains the start address of the macroblock (step S210).

符号フォーマット生成部1233は、マクロブロック符号中間データ記憶部1234へ、I番目のマクロブロックの符号化途中のデータを転送し、記憶させる(ステップS211)。   The code format generation unit 1233 transfers and stores the data in the middle of encoding the I-th macroblock to the macroblock code intermediate data storage unit 1234 (step S211).

マクロブロック先頭アドレス記憶部123は、メモリアドレス生成部124からのI番目のマクロブロック先頭アドレスを受信し記憶する(ステップS212)。   The macroblock head address storage unit 123 receives and stores the I-th macroblock head address from the memory address generation unit 124 (step S212).

水平方向のマクロブロックのカウンタ”I”をカウントUPする(ステップS213)。   The counter “I” of the macroblock in the horizontal direction is counted up (step S213).

水平方向のマクロブロックを全て処理したか否かを判断し(ステップS214)、未だであると判断した場合は(ステップS214のNo)、B即ちステップS205へ戻る。全てを処理したと判断した場合(ステップS214のYes)、垂直方向のマクロブロック内のサブブロックのカウンタ”J”をカウントUPする(ステップS215)。   It is determined whether all the macroblocks in the horizontal direction have been processed (step S214). If it is determined that they have not been processed (No in step S214), the process returns to B, that is, step S205. If it is determined that all have been processed (Yes in step S214), the counter “J” of the sub-block in the vertical macroblock is counted up (step S215).

垂直方向のマクロブロック内のサブブロックを全て処理したか否かを判断する(ステップS216)。未だであると判断した場合(ステップS216のNo)、C即ち、ステップS203へ戻る。全て処理したと判断した場合(ステップS216のYes)、1ページの符号化を終了したか否かを判断する(ステップS217)。未だであると判断した場合(ステップS217のNo)、D即ち(ステップS)201へ戻り、終了したと判断した場合、そのまま終わる(ステップS217のYes)。   It is determined whether all the sub-blocks in the vertical macroblock have been processed (step S216). If it is determined that it is not yet (No in step S216), C returns to step S203. When it is determined that all processing has been performed (Yes in step S216), it is determined whether or not the encoding of one page has been completed (step S217). If it is determined that it has not been completed (No in step S217), the process returns to D, that is, (step S) 201. If it is determined that the process has ended, the process ends as it is (Yes in step S217).

(1.4.1.符号化処理部)
図20は、実施の形態1による符号化部における符号化処理部のブロック図である。符号化処理部122は、8*8バッファ1221、8ラインメモリアドレス生成部1222、RGB−>YUV変換部1223、YDCT処理部1224、Y量子化処理部1225、Yエントロピー符号化部1226、UDCT処理部1227、U量子化処理部1228、Uエントロピー符号化部1229、VDCT処理部1240、V量子化処理部1241、Vエントロピー符号化部1242、符号フォーマット生成部1233、およびマクロブロック符号中間データ記憶部1234を備える。
(1.4.1. Encoding processing unit)
FIG. 20 is a block diagram of an encoding processing unit in the encoding unit according to Embodiment 1. The encoding processing unit 122 includes an 8 * 8 buffer 1221, an 8-line memory address generation unit 1222, an RGB-> YUV conversion unit 1223, a YDCT processing unit 1224, a Y quantization processing unit 1225, a Y entropy encoding unit 1226, and a UDCT process. Unit 1227, U quantization processing unit 1228, U entropy coding unit 1229, VDCT processing unit 1240, V quantization processing unit 1241, V entropy coding unit 1242, code format generation unit 1233, and macroblock code intermediate data storage unit 1234.

ここで、マクロブロック符号中間データ記憶部1234は、本発明におけるマクロブロック符号中間データ記憶手段を構成する。   Here, the macroblock code intermediate data storage unit 1234 constitutes macroblock code intermediate data storage means in the present invention.

8*8バッファ1221は、サブブロックの8*8画像を格納する。8ラインメモリアドレス生成部1222は、8ラインメモリ11からの8*8のサブブロックの画像の先頭アドレスを生成する(図21に詳細なブロック図を示す)。   The 8 * 8 buffer 1221 stores the 8 * 8 image of the sub-block. The 8-line memory address generation unit 1222 generates the start address of the 8 * 8 sub-block image from the 8-line memory 11 (a detailed block diagram is shown in FIG. 21).

RGB−>YUV変換部1223はJPEGの規格にもとづき、8*8画素のRGBをYUVへ変換し、Y成分をYDCT処理部1224へ、U成分をUDCT処理部1227へ、V成分をVDCT処理部1246へ転送する。   The RGB-> YUV conversion unit 1223 converts RGB of 8 * 8 pixels to YUV based on the JPEG standard, converts the Y component to the YDCT processing unit 1224, the U component to the UDCT processing unit 1227, and the V component to the VDCT processing unit. 1246.

YDCT処理部1224は、Y成分をDCT(離散コサイン変換)を行い、量子化処理部1225へ転送する。Y量子化処理部1225は、YDCT処理部1224からのY成分のDCT処理を施した後のデータを受信し量子化し、Yエントロピー符号化部1226へ転送する。Yエントロピー符号化部1226は、量子化処理部1225からのY成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部1233へ転送する。以下、図中UおよびVについても上記のYについての処理と同様の処理を施すものである(図23に、詳細なブロック図を示す)。   The YDCT processing unit 1224 performs DCT (Discrete Cosine Transform) on the Y component and transfers it to the quantization processing unit 1225. The Y quantization processing unit 1225 receives and quantizes the data after the DCT processing of the Y component from the YDCT processing unit 1224, and transfers the data to the Y entropy encoding unit 1226. The Y entropy encoding unit 1226 receives the quantized data of the Y component from the quantization processing unit 1225, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 1233. Hereinafter, U and V in the figure are also subjected to the same process as the process for Y (FIG. 23 shows a detailed block diagram).

UDCT処理部1227は、U成分をDCT(離散コサイン変換)を行い、量子化処理部1228へ転送する。U量子化処理部1228は、UDCT処理部1227からのU成分のDCT処理を施した後のデータを受信し量子化し、Uエントロピー符号化部1229へ転送する。Uエントロピー符号化部1229は、量子化処理部1228からのU成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部1233へ転送する。   The UDCT processing unit 1227 performs DCT (discrete cosine transform) on the U component and transfers the U component to the quantization processing unit 1228. The U quantization processing unit 1228 receives and quantizes the data after the DCT processing of the U component from the UDCT processing unit 1227, and transfers the data to the U entropy coding unit 1229. The U entropy encoding unit 1229 receives the quantized data of the U component from the quantization processing unit 1228, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 1233.

VDCT処理部1240は、V成分をDCT(離散コサイン変換)を行い、量子化処理部1241へ転送する。V量子化処理部1241は、VDCT処理部1240からのV成分のDCT処理を施した後のデータを受信し量子化し、Vエントロピー符号化部1242へ転送する。Vエントロピー符号化部1242は、量子化処理部1240からのV成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部1233へ転送する。   The VDCT processing unit 1240 performs DCT (Discrete Cosine Transform) on the V component and transfers it to the quantization processing unit 1241. The V quantization processing unit 1241 receives and quantizes the data after the DCT processing of the V component from the VDCT processing unit 1240 and transfers the data to the V entropy coding unit 1242. The V entropy encoding unit 1242 receives the quantized data of the V component from the quantization processing unit 1240, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 1233.

符号フォーマット生成部1233はエントロピー符号化部1226、1229、1242からの符号データを受信し符号を形成する(図28に詳細なブロック図を示す)。   The code format generation unit 1233 receives code data from the entropy encoding units 1226, 1229, and 1242, and forms a code (a detailed block diagram is shown in FIG. 28).

マクロブロック符号中間データ記憶部1234は、符号フォーマット生成部1233から符号化途中のデータとマクロブロック番号を受信し、指定されたマクロブロック領域へ符号化途中のデータを格納する(図29に詳細なブロック図を示す)。   The macroblock code intermediate data storage unit 1234 receives the data being encoded and the macroblock number from the code format generation unit 1233, and stores the data being encoded in the designated macroblock region (detailed in FIG. 29). Block diagram).

(1.4.2.8ラインメモリアドレス生成部)
図21は、8ラインメモリアドレス生成部の詳細なブロック図である。8ラインメモリアドレス生成部1222の加算器12221は、水平方向の処理したサブブロックの数を求める。
(1.4.2.8 line memory address generator)
FIG. 21 is a detailed block diagram of the 8-line memory address generation unit. The adder 12221 of the 8-line memory address generation unit 1222 calculates the number of processed sub-blocks in the horizontal direction.

レジスタ12222は、加算器12221により求めた水平方向に処理したサブブロックの数を格納する。また、1ブロックラインのデータを全て処理した後、初期値へ戻る。   The register 12222 stores the number of sub-blocks processed in the horizontal direction obtained by the adder 12221. Further, after all the data of one block line is processed, the process returns to the initial value.

乗算器12223は、レジスタ12222で取得したレジスタの値に1ブロックのワード数を乗算し、8ラインメモリ11のアドレスを求める。   The multiplier 12223 multiplies the register value acquired by the register 12222 by the number of words in one block to obtain the address of the 8-line memory 11.

比較部12224は、サブブロックの数とマクロブロック内のサブブロックの数を比較し、次のマクロブロックへの切り換わり信号を生成する。   The comparison unit 12224 compares the number of subblocks with the number of subblocks in the macroblock, and generates a switching signal to the next macroblock.

加算器12225は、処理した水平方向のマクロブロック数を求める。レジスタ12226は、加算器12225により取得した水平方向に処理したマクロブロックの数を格納する。また、1ブロックラインのデータを全て処理した後、初期値へ戻る。   The adder 12225 calculates the number of processed horizontal macroblocks. The register 12226 stores the number of macroblocks processed in the horizontal direction acquired by the adder 12225. Further, after all the data of one block line is processed, the process returns to the initial value.

比較部12227は、マクロブロックの数と8ラインメモリ11に格納しているマクロブロック数と比較し、8ラインメモリ11の切り換わり信号を生成する。   The comparison unit 12227 compares the number of macroblocks with the number of macroblocks stored in the 8-line memory 11, and generates a switching signal for the 8-line memory 11.

コントローラ12228は、8ラインメモリアドレス生成部をコントロールする。   The controller 12228 controls the 8-line memory address generation unit.

図22は、MCUの一例を示す模式図である。まずYの符号を作成し、次にUの符号化、次にVの符号化を行う。   FIG. 22 is a schematic diagram illustrating an example of an MCU. First, a Y code is created, then U is encoded, and then V is encoded.

(1.4.3.エントロピー符号化部)
図23は、符号化処理部におけるエントロピー符号化部の詳細なブロック図である。図24−1は、AC符号化手順を説明する図である。図24−2は、DC符号化手順を説明する図である。図25は、DC/AC値切り出し処理を説明する図である。図26は、DC値符号化部を説明する図である。図27は、AC値符号化部を説明する図である。図23〜27を参照しながら、符号化処理部122におけるエントロピー符号化部1226について説明する。
(1.2.3. Entropy coding unit)
FIG. 23 is a detailed block diagram of the entropy encoding unit in the encoding processing unit. FIG. 24A is a diagram illustrating an AC encoding procedure. FIG. 24-2 is a diagram for explaining a DC encoding procedure. FIG. 25 is a diagram for explaining DC / AC value cut-out processing. FIG. 26 is a diagram illustrating the DC value encoding unit. FIG. 27 is a diagram illustrating the AC value encoding unit. The entropy encoding unit 1226 in the encoding processing unit 122 will be described with reference to FIGS.

8*8DCT係数格納部12261であり、DCT処理を施した後の8*8のDCT係数を格納している。   The 8 * 8 DCT coefficient storage unit 12261 stores the 8 * 8 DCT coefficients after the DCT processing.

DC/AC値切り出し部12262は、図24−1および24−2に示したように、8*8DCT係数格納部12261から、DC値とAC値を図25のようにDC値を1つ、AC値を63個切り出し、DC値を、DC値符号化部12263へ、AC値をAC値符号化部12264へ転送する。   As shown in FIGS. 24-1 and 24-2, the DC / AC value cutout unit 12262 obtains a DC value and an AC value from the 8 * 8 DCT coefficient storage unit 12261, one DC value as shown in FIG. 63 values are cut out, the DC value is transferred to the DC value encoding unit 12263, and the AC value is transferred to the AC value encoding unit 12264.

DC値符号化部12263は、DC/AC値切り出し部12262から受信したDC値を、図26のようにDC値のハフマンテーブルによりDC符号とその符号長を求める。   The DC value encoding unit 12263 obtains the DC code and the code length of the DC value received from the DC / AC value cutout unit 12262 from the DC value Huffman table as shown in FIG.

AC値符号化部12264は、DC/AC値切り出し部12262から受信したAC値を図27に示すように、AC値のハフマンテーブル2801〜2804によりAC符号とその符号長を求める。   The AC value encoding unit 12264 obtains the AC code and the code length of the AC value received from the DC / AC value cutout unit 12262 from the AC value Huffman tables 2801 to 2804 as shown in FIG.

符号フォーマット処理部12265はDC、AC値符号化部12263、12264からのDC、AC符号と、その符号長を1つの符号と符号長にまとめる。   The code format processing unit 12265 combines the DC and AC codes from the DC and AC value encoding units 12263 and 12264, and the code length thereof into one code and code length.

(1.4.4.符号フォーマット生成部)
図28は、符号化部の符号化処理部における符号フォーマット生成部の詳細なブロック図である。符号フォーマット生成部1233のMUX12331は、図20のエントロピー符号化部1226、1229、1242からのY、U、Vの符号を選択する。この例では図22に示したMCUの順序と同様に、まずYの符号を作成し、次にUの符号化、次にVの符号化を行う。
(1.4.4. Code format generator)
FIG. 28 is a detailed block diagram of the code format generation unit in the encoding processing unit of the encoding unit. The MUX 12331 of the code format generation unit 1233 selects the Y, U, and V codes from the entropy encoding units 1226, 1229, and 1242 in FIG. In this example, similarly to the MCU order shown in FIG. 22, a Y code is first created, then U coding is performed, and then V coding is performed.

シフター12332は、生成された符号を順次1つのワード長のデータに接続して行う為に接続した符号のワード内の先頭のアドレス(加算器12337により生成される)により、シフトしたデータを生成する。   The shifter 12332 generates shifted data based on the leading address (generated by the adder 12337) in the connected code word in order to connect the generated code to data of one word length sequentially. .

レジスタ12333は、シフター12332によりシフトされた後の符号データを一時格納する。   The register 12333 temporarily stores the code data after being shifted by the shifter 12332.

MUX12334は、図20のエントロピー符号化部1226、1229、1242からのY、U、Vの符号を選択する。   The MUX 12334 selects the Y, U, and V codes from the entropy encoding units 1226, 1229, and 1242 in FIG.

MUX12335は、通常時は加算機12337の1つのワード長のデータに接続して行く為に接続した符号のワード内の先頭のアドレスを順次求める為に、加算器12337の処理結果を、レジスタ12336へ転送し、図17−1ステップS206で示されたように、図20のマクロブロック符号中間データ記憶部1234から、I番目のマクロブロックの符号の中間データとして、格納したシフト値を設定する場合、マクロブロック符号中間データ記憶部1234からシフト値をレジスタ12336へ転送する。   The MUX 12335 normally sends the processing result of the adder 12337 to the register 12336 in order to obtain the head address in the connected code word in order to connect to the data of one word length of the adder 12337. When transferring and setting the stored shift value as the intermediate data of the code of the I-th macroblock from the macroblock code intermediate data storage unit 1234 of FIG. 20 as shown in step S206 of FIG. The shift value is transferred from the macroblock code intermediate data storage unit 1234 to the register 12336.

レジスタ12336は、1つのワード長のデータに接続して行く為に接続した符号のワード内の先頭のアドレスを順次求める為にシフター12332がシフトする値を格納し、図12−2のステップS211に示されたように、図20のマクロブロック符号中間データ記憶部1234へ、I番目のマクロブロックの符号の中間データとして、格納したシフト値を設定する場合、マクロブロック符号中間データ記憶部1234へシフト値を転送する。   The register 12336 stores a value to which the shifter 12332 shifts in order to sequentially obtain the head address in the connected code word in order to connect to data of one word length. In step S211 of FIG. As shown, when the stored shift value is set as the intermediate data of the code of the I-th macroblock in the macroblock code intermediate data storage unit 1234 of FIG. 20, the shift to the macroblock code intermediate data storage unit 1234 is performed. Transfer the value.

加算器12337は、MUX12334で選択された符号長と累積された1ワード内のシフト値を加算し、次の符号の先頭のシフト値を求め、MUX12335へ転送する。   The adder 12337 adds the code length selected by the MUX 12334 and the accumulated shift value in one word, obtains the shift value at the head of the next code, and transfers it to the MUX 12335.

OR部12338は、シフトされた符号データ12333と累積された1ワード内の中間符号データをOR処理を施し、サブブロックごとの符号データを1ワード単位に接続し、MUX12339へ転送する。   The OR unit 12338 performs OR processing on the shifted code data 12333 and the accumulated intermediate code data in one word, connects the code data for each subblock in units of one word, and transfers the data to the MUX 12339.

MUX12339は、通常時は1つのワード長のデータ12338に接続して行く為に接続した符号のワードを求める為に、OR部12338の処理結果をレジスタ12340へ転送し、図17−1のステップS206に示されたように、図20マクロブロック符号中間データ記憶部1234から、I番目のマクロブロックの符号の中間データとして、格納した中間符号データを設定する場合、マクロブロック符号中間データ記憶部1234から中間符号データをレジスタ12340へ転送する。   The MUX 12339 normally transfers the processing result of the OR unit 12338 to the register 12340 in order to obtain the connected code word in order to connect to the data 12338 having one word length, and step S206 in FIG. As shown in FIG. 20, when the stored intermediate code data is set as the intermediate data of the code of the I-th macroblock from the macroblock code intermediate data storage unit 1234, the macroblock code intermediate data storage unit 1234 The intermediate code data is transferred to the register 12340.

レジスタ12340は、1つのワード長のデータに接続して行く為に接続した符号のワードを求める為にOR部12338がORした値を格納し、図17−2のステップS211に示されたように、図20のマクロブロック符号中間データ記憶部1234へ、I番目のマクロブロックの符号の中間データとして、格納した中間符号データを設定する場合、マクロブロック符号中間データ記憶部1234へ中間符号データを転送する。   The register 12340 stores the value ORed by the OR unit 12338 in order to obtain the connected code word to connect to one word length data, as shown in step S211 of FIG. 17-2. When the stored intermediate code data is set as the intermediate data of the code of the I-th macroblock to the macroblock code intermediate data storage unit 1234 of FIG. 20, the intermediate code data is transferred to the macroblock code intermediate data storage unit 1234 To do.

符号データを格納するレジスタ12341は、サブブロックごとの符号を順次接続し、1つのワードの符号へ成長した時、その1ワードの符号データを格納する。   The register 12341 for storing the code data stores the code data of one word when the codes for each sub-block are sequentially connected and grown into a code of one word.

コントローラ12342は、この符号フォーマット生成部1233の制御を行い、符号データ12341が生成された時に符号データイネーブルを生成し、図16のメモリアドレス生成部124へ符号データが1ワード生成されたことを知らせる。   The controller 12342 controls the code format generation unit 1233, generates code data enable when the code data 12341 is generated, and notifies the memory address generation unit 124 of FIG. 16 that code data has been generated by one word. .

実施の形態1では、符号化時は中間符号データ格納部を有し、図28の符号フォーマット生成部1233のように可変長符号を固定長ワードにまとめる処理の固定長ワードに達していない符号と、その符号の1ワード内の先頭アドレスを管理するシフト値をマクロブロックごと中間符号データ格納部に一時格納し、マクロブロックごと継続して符号化する場合に、一時待避させた固定長ワードに達していない符号とその符号の1ワード内の先頭アドレスを管理するシフト値を再度、図28の符号フォーマット生成部1233へ値を戻すことにより、可変長符号での符号化の切替えを実現している。   In the first embodiment, at the time of encoding, there is an intermediate code data storage unit, and a code that has not reached the fixed length word in the process of combining variable length codes into fixed length words as in the code format generation unit 1233 of FIG. When the shift value for managing the head address in one word of the code is temporarily stored in the intermediate code data storage unit for each macroblock and is continuously encoded for each macroblock, the fixed length word temporarily saved is reached. By switching the value that is not used and the shift value for managing the leading address in one word of the code back to the code format generation unit 1233 in FIG. 28, the encoding switching with the variable length code is realized. .

図29は、符号化部の符号化処理部におけるマクロブロック符号中間記憶部の詳細な機能的ブロック図である。マクロブロック符号中間記憶部1234のアドレス変換部12341は、8ラインメモリアドレス生成部1222からの現在処理中のマクロブロックの番号を受けとりメモリ4の、そのマクロブロック番号のアドレスへ変換する。   FIG. 29 is a detailed functional block diagram of the macroblock code intermediate storage unit in the encoding processing unit of the encoding unit. The address conversion unit 12341 of the macroblock code intermediate storage unit 1234 receives the number of the macroblock currently being processed from the 8-line memory address generation unit 1222 and converts it into the address of the macroblock number in the memory 4.

ライト信号生成部12342は、8ラインメモリアドレス生成部1222からマクロブロック切り換わり信号を受けとり、メモリ4の書き込み信号を生成する。   The write signal generator 12342 receives the macroblock switching signal from the 8-line memory address generator 1222 and generates a write signal for the memory 4.

メモリ4は、各水平方向に連なるマクロブロックごとの符号フォーマット生成部1233から符号化途中のデータと符号化途中のシフトデータを格納する。   The memory 4 stores data in the middle of encoding and shift data in the middle of encoding from the code format generation unit 1233 for each macroblock continuous in the horizontal direction.

図30は、符号化部のマクロブロック先頭アドレス記憶部の詳細なブロック図である。符号化部12のマクロブロック先頭アドレス記憶部123のアドレス変換部1231は、符号化処理部122からの現在処理中のマクロブロックの番号を受けとり、メモリ4の、そのマクロブロック番号のアドレスへ変換する。   FIG. 30 is a detailed block diagram of the macroblock head address storage unit of the encoding unit. The address conversion unit 1231 of the macroblock head address storage unit 123 of the encoding unit 12 receives the number of the currently processed macroblock from the encoding processing unit 122 and converts it into the address of the macroblock number in the memory 4. .

ライト信号生成部1232は、符号化処理部122からマクロブロック切り換わり信号を受けとり、メモリ4の書き込み信号を生成する。   The write signal generation unit 1232 receives the macroblock switching signal from the encoding processing unit 122 and generates a write signal for the memory 4.

メモリ4は、各水平方向に連なるマクロブロックごとのメモリアドレス生成部124からの入出力用符号メモリ領域41の各マクロブロックのマクロブロック先頭アドレスを格納する。   The memory 4 stores the macroblock head address of each macroblock in the input / output code memory area 41 from the memory address generation unit 124 for each macroblock continuous in the horizontal direction.

(1.5.編集部)
図31は、実施の形態1による画像処理装置の編集部の機能的ブロック図である。図32は、編集部における合成メモリのフォーマットの一例を示す模式図である。
(1.5. Editorial Department)
FIG. 31 is a functional block diagram of the editing unit of the image processing apparatus according to the first embodiment. FIG. 32 is a schematic diagram illustrating an example of a format of a composite memory in the editing unit.

編集部13のメモリコントローラI/F1301は、メインメモリ4の入出力用符号メモリ領域41からマクロブロックの符号を読み込み、復号化部1303のバッファ1302へ転送し、また、JPEG符号化部のバッファ1305の符号データを順次のメインメモリ4のページ符号メモリ領域42へ符号データを転送し、マクロブロック先頭アドレス計算部1312からのマクロブロックの先頭アドレスを、ページマクロブロック先頭アドレス格納領域43へ転送する。   The memory controller I / F 1301 of the editing unit 13 reads the code of the macroblock from the input / output code memory area 41 of the main memory 4 and transfers the code to the buffer 1302 of the decoding unit 1303, and also the buffer 1305 of the JPEG encoding unit. The code data is sequentially transferred to the page code memory area 42 of the main memory 4, and the start address of the macroblock from the macroblock start address calculation unit 1312 is transferred to the page macroblock start address storage area 43.

バッファ1302は、復号化部1303へ符号データを転送するためのバッファである。   A buffer 1302 is a buffer for transferring code data to the decoding unit 1303.

復号化部1303は、メインメモリ4の入出力用符号メモリ領域41から符号を読み込み復号化し、合成メモリ138のメモリI/Fへ転送する。この例ではJPEGで構成されている(図39に、編集部における復号化部1303の詳細なブロック図を示す)。   The decoding unit 1303 reads and decodes the code from the input / output code memory area 41 of the main memory 4 and transfers the code to the memory I / F of the synthesis memory 138. In this example, it is composed of JPEG (FIG. 39 shows a detailed block diagram of the decoding unit 1303 in the editing unit).

8*8回転処理部1304は、図37、38に示したように、合成メモリ138の画像データを指定された90度単位の回転角度に応じて8*8画素単位(サブブロック単位)で回転処理を施す。   As shown in FIGS. 37 and 38, the 8 * 8 rotation processing unit 1304 rotates the image data in the synthesis memory 138 in units of 8 * 8 pixels (sub-block units) in accordance with the designated rotation angle of 90 degrees. Apply processing.

バッファ1305は、ページ符号化部1306からの符号データをメモリコントローラI/F1301へ転送するためのバッファである。   A buffer 1305 is a buffer for transferring the code data from the page encoding unit 1306 to the memory controller I / F 1301.

ページ符号化部1306は、合成メモリ138の符号ページメモリ領域から符号を読み込み復号化し、合成メモリ138の合成メモリI/F1309へ転送する。この例では、ページ符号化部1306はJPEGで構成されている(図43に詳細なブロック図を示す)。   The page encoding unit 1306 reads and decodes the code from the code page memory area of the synthesis memory 138 and transfers the code to the synthesis memory I / F 1309 of the synthesis memory 138. In this example, the page encoding unit 1306 is configured by JPEG (a detailed block diagram is shown in FIG. 43).

バッファ1307は、画像合成部1308へ合成を行う文字などの画像データを転送するためのバッファである。   A buffer 1307 is a buffer for transferring image data such as characters to be combined to the image combining unit 1308.

画像合成部1308は、合成メモリ138に展開されたマクロブロックの画像に、バッファ1307に格納された文字などの画像データを合成処理を施し、再度、合成メモリ138へ転送する。   The image composition unit 1308 subjects the macroblock image developed in the composition memory 138 to image data such as characters stored in the buffer 1307 and transfers the image data to the composition memory 138 again.

合成メモリI/F1309は、合成メモリ138へアクセスするためのインタフェースを行う。   The synthesis memory I / F 1309 performs an interface for accessing the synthesis memory 138.

合成メモリ138は、変請求項本発明数層値13における復号化部1303により展開されたマクロブロックの画像データを、一時格納する。図33に、合成メモリ138のフォーマットの一例を示した。   The synthesizing memory 138 temporarily stores the image data of the macroblock developed by the decoding unit 1303 in the variable claim invention numerical value 13. FIG. 33 shows an example of the format of the synthesis memory 138.

符号長カウント部1311は、ページ符号化部1306で符号化された符号のマクロブロックごとの合計符号長をカウントし、マクロブロック先頭アドレス計算部1312へ転送する。   The code length counting unit 1311 counts the total code length for each macroblock of the code encoded by the page encoding unit 1306 and transfers the counted code length to the macroblock head address calculating unit 1312.

マクロブロック先頭アドレス計算部1312は、マクロブロックごとの合計符号長を符号長カウント部1311から受信し、各マクロブロック符号の先頭アドレスを計算して、メモリコントローラI/F1301へ転送する。   The macroblock head address calculation unit 1312 receives the total code length for each macroblock from the code length count unit 1311, calculates the head address of each macroblock code, and transfers it to the memory controller I / F 1301.

メモリアドレス生成部1313は、マクロブロック先頭アドレス計算部1312から各マクロブロックの先頭アドレスを受信し、ページ符号化部1306の符号データをメモリコントローラI/F1301を介して転送するメモリ4におけるアドレスを生成する。   The memory address generation unit 1313 receives the start address of each macroblock from the macroblock start address calculation unit 1312 and generates an address in the memory 4 that transfers the code data of the page encoding unit 1306 via the memory controller I / F 1301. To do.

メモリアドレス生成部1313は、合成メモリ138のアドレスを生成する。合成メモリ138中の画像合成後のマクロブロックを再度符号化するとき、その指定された90度単位の回転角度により、マクロブロックをサブブロック単位で読み出す順序を変えることにより、90度単位の回転処理を実現している(図36参照)。   The memory address generation unit 1313 generates an address of the synthesis memory 138. When re-encoding a macroblock after image synthesis in the synthesis memory 138, by changing the order in which the macroblocks are read out in units of sub-blocks according to the specified rotation angle in units of 90 degrees, rotation processing in units of 90 degrees is performed. (See FIG. 36).

コントローラ1316は、編集処理部13の全体を制御する。   The controller 1316 controls the entire editing processing unit 13.

図33−1および33−2は、実施の形態1による画像処理装置における編集処理手順を説明するフローチャートである。図34は、マクロブロックからのデータの読み出し順序を説明する図である。図35は、ページレベルの回転処理を説明する図である。図36は、マクロブロックレベルの回転処理を説明する図である。図37および38は、サブブロックレベルの回転処理を説明する図である。図33−1〜38を参照しながら、編集処理手順を説明する。   FIGS. 33-1 and 33-2 are flowcharts illustrating an editing process procedure in the image processing apparatus according to the first embodiment. FIG. 34 is a diagram for explaining the order of reading data from the macroblock. FIG. 35 is a diagram for explaining a page level rotation process. FIG. 36 is a diagram for explaining the rotation processing at the macroblock level. 37 and 38 are diagrams for explaining sub-block level rotation processing. The editing processing procedure will be described with reference to FIGS.

マクロ部録の先頭アドレスを0に設定する(ステップS301)。図36に示されるように回転角度に応じたマクロブロックの符号を1つ、マインメモリから読み込む。この時対応するマクロブロックのメインメモリのマクロブロック先頭アドレス領域から先頭アドレスを読み込み、このページの符号の先頭アドレスを加え対応するマクロブロックの符号の先頭アドレスを求める(ステップS302)。   The head address of the macro record is set to 0 (step S301). As shown in FIG. 36, one macroblock code corresponding to the rotation angle is read from the main memory. At this time, the head address is read from the macro block head address area of the main memory of the corresponding macro block, and the head address of the code of the corresponding macro block is obtained by adding the head address of the code of this page (step S302).

符号長カウンタを0に設定する(ステップS303)。マクロブロックから図34に示されるように、サブブロックの符号を1つ復号化する(ステップS304)。マクロブロック内の全てのサブブロックが処理されたか否かを判定する(ステップS305)。未だであれば(ステップS305のNo)、ステップS304に戻る。   The code length counter is set to 0 (step S303). As shown in FIG. 34, one subblock code is decoded from the macroblock (step S304). It is determined whether all sub-blocks in the macro block have been processed (step S305). If not yet (No in step S305), the process returns to step S304.

全て終了していれば(ステップS305のYes)、画像合成部により文字画像などをマクロブロックの画像に入れ込み、合成メモリの値を更新する(ステップS306)。   If all the processing has been completed (Yes in step S305), the image composition unit inserts a character image or the like into the macroblock image, and updates the value of the composition memory (step S306).

図37に示されるように、画像の回転処理に基づく回転角度に応じて、合成メモリ138からサブブロック画像を切り出して、8*8回転処理部1304に送信する(ステップS307)。8*8回転処理部1304はサブブロックレベルの回転角度に応じて、各画素を回転処理する(ステップS308)。   As shown in FIG. 37, the sub-block image is cut out from the synthesis memory 138 according to the rotation angle based on the image rotation process, and transmitted to the 8 * 8 rotation processing unit 1304 (step S307). The 8 * 8 rotation processing unit 1304 rotates each pixel according to the rotation angle at the sub-block level (step S308).

ページ符号化部1306は、8*8回転処理部1304のサブブロックの画素を符号化し、符号長カウンタとする(ステップS309)。編集処理後のマクロブロックの符号をメインメモリのマクロブロックの先頭アドレス+符号の先頭アドレスの示す符号ページ領域へ格納する(ステップS310)。マクロブロックの先頭アドレスの値をメインメモリのマクロブロックアドレス格納領域へ格納する(ステップS311)。   The page encoding unit 1306 encodes the pixels of the sub block of the 8 * 8 rotation processing unit 1304, and sets it as a code length counter (step S309). The code of the macro block after the editing process is stored in the code page area indicated by the start address of the macro block in the main memory + the start address of the code (step S310). The value of the start address of the macro block is stored in the macro block address storage area of the main memory (step S311).

マクロブロックの先頭アドレスをカウンタ+マクロブロックの先頭アドレスに置き換える(ステップS312)。ページ内の全てのマクロブロックが処理されたか否かを判定する(ステップS313)。処理されていないと判定された場合(ステップS313のNo)、ステップS302に戻る。処理したと判定された場合(ステップS313のYes)、そのまま終了する。   The head address of the macro block is replaced with the counter + the head address of the macro block (step S312). It is determined whether all macroblocks in the page have been processed (step S313). If it is determined that it has not been processed (No in step S313), the process returns to step S302. If it is determined that the processing has been performed (Yes in step S313), the processing ends.

(1.5.1.編集部における復号化部)
図39は、編集部における復号化部の機能的ブロック図である。編集部13における復号化部1303の復号化処理部13031は、メインメモリ4の入出力用符号メモリ領域41から符号を読み込み、復号化し、合成メモリ138へ転送する。(図41に、復号化処理部13031の詳細な機能的ブロック図を示す)。
(1.5.1 Decoding unit in editing unit)
FIG. 39 is a functional block diagram of the decoding unit in the editing unit. The decoding processing unit 13031 of the decoding unit 1303 in the editing unit 13 reads a code from the input / output code memory area 41 of the main memory 4, decodes it, and transfers it to the synthesis memory 138. (FIG. 41 shows a detailed functional block diagram of the decryption processing unit 13031).

読み込みメモリアドレス生成部13032は、メインメモリ4の入出力用メモリ領域から読み込むメモリアドレスを生成し、復号化処理部13031から、次の符号ワードを要求する符号ワード要求信号と、1つのマクロブロックの復号化が終了したことを示すマクロブロック終了信号を受信し、マクロブロック先頭アドレス記憶部13033からマクロブロックごとのメインメモリ4の入出力用メモリ領域の先頭アドレスを受け取ることにより、読み込むメモリアドレスを生成する。   The read memory address generation unit 13032 generates a memory address to be read from the input / output memory area of the main memory 4, and receives a code word request signal for requesting the next code word from the decoding processing unit 13031 and one macroblock. A macroblock end signal indicating that decoding has been completed is received, and the start address of the input / output memory area of the main memory 4 for each macroblock is received from the macroblock start address storage unit 13033, thereby generating a memory address to be read. To do.

ここで、読み込みメモリアドレス生成部13032およびマクロブロック先頭アドレス記憶部13033は、本発明におけるマクロブロック符号アドレス認識手段(請求項1)を構成する。   Here, the read memory address generation unit 13032 and the macroblock head address storage unit 13033 constitute macroblock code address recognition means (claim 1) in the present invention.

マクロブロック先頭アドレス記憶部13033は、メインメモリ4の入出力用メモリ領域のマクロブロックごとの先頭アドレスを記憶する。   The macroblock head address storage unit 13033 stores the head address of each macroblock in the input / output memory area of the main memory 4.

図40は、編集部における復号化処理部による処理手順を説明するフローチャートである。図41は、マクロブロックごとに符号化されたデータ、およびサブブロックから構成されるマクロブロックの読み出し順番を示す模式図である。   FIG. 40 is a flowchart illustrating a processing procedure performed by the decoding processing unit in the editing unit. FIG. 41 is a schematic diagram showing the read order of the data encoded for each macroblock and the macroblock composed of sub-blocks.

水平方向に連なる複数のマクロブロックをメモリ4の先頭アドレスを0に設定する(ステップS401)。次に、垂直方向のマクロブロック内のサブブロックのカウンタ”J”を0に初期設定する(ステップS402)。マクロブロック先頭アドレス記憶部13033から副走査方向にJ番目のマクロブロックの列の主走査方向にI番目のマクロブロックの先頭アドレスを読み込む(ステップS403)。図31のバッファ1302から符号を読み込む(ステップS404)。   The start address of the memory 4 is set to 0 for a plurality of macroblocks continuous in the horizontal direction (step S401). Next, the sub-block counter “J” in the vertical macroblock is initialized to 0 (step S402). The head address of the I-th macroblock is read in the main scanning direction of the column of the J-th macroblock in the sub-scanning direction from the macroblock head address storage unit 13033 (step S403). The code is read from the buffer 1302 in FIG. 31 (step S404).

I番目のマクロブロックのJブロックライン目の0からMまでのサブブロックごと順次復号化していく(ステップS405)。IをI+1に設定する(ステップS406)。Iがβより大きいか否かを判定し(ステップS407)、大きくない場合は、ステップS403に戻る。大きいと判定した場合(ステップS407のYes)、入出力用符号メモリの符号を全て復号したか否かを判定する(ステップS408)。未だであると判定した場合(ステップS408のNo)、JをJ+1に置き換えて(ステップS409)、ステップS402に戻る。終了したと判定した場合(ステップS408のYes)、そのまま処理を終了する。   Decoding is sequentially performed for each sub-block from 0 to M on the J block line of the I-th macroblock (step S405). I is set to I + 1 (step S406). It is determined whether I is greater than β (step S407). If not, the process returns to step S403. If it is determined that it is larger (Yes in step S407), it is determined whether or not all codes in the input / output code memory have been decoded (step S408). If it is determined that it is not yet (No in step S408), J is replaced with J + 1 (step S409), and the process returns to step S402. If it is determined that the process has ended (Yes in step S408), the process ends.

図42は、編集部の復号化部における復号化処理部の機能的ブロック図である。編集部13の復号化部1303の復号化処理部13031のエントロピー復号化部13041は、メインメモリ4の符号データを順次読み込み、Y成分のエントロピー復号化処理を施し、Y逆量子化処理部13042へ量子化後のY成分の8*8画素のデータを転送し、U成分のエントロピー復号化処理を施し、U逆量子化処理部13044へ量子化後のU成分の8*8画素のデータを転送し、V成分のエントロピー復号化処理を施し、V逆量子化処理部13046へ量子化後のV成分の8*8画素のデータを転送する。   FIG. 42 is a functional block diagram of the decoding processing unit in the decoding unit of the editing unit. The entropy decoding unit 13041 of the decoding processing unit 13031 of the decoding unit 1303 of the editing unit 13 sequentially reads the code data of the main memory 4, performs the entropy decoding processing of the Y component, and sends it to the Y inverse quantization processing unit 13042. Transfers 8 * 8 pixel data of Y component after quantization, performs entropy decoding processing of U component, and transfers 8 * 8 pixel data of U component after quantization to U inverse quantization processing unit 13044 Then, the V component entropy decoding process is performed, and the quantized V component 8 * 8 pixel data is transferred to the V inverse quantization processing unit 13046.

Y逆量子化処理部13042は、Yエントロピー復号化部13041から量子化後のY成分の8*8画素データを受信し、逆量子化し、Y成分の8*8画素のDCT係数を求め、YIDCT処理部13043へ転送する。   The Y inverse quantization processing unit 13042 receives the quantized Y component 8 * 8 pixel data from the Y entropy decoding unit 13041, performs inverse quantization, obtains the Y component 8 * 8 pixel DCT coefficient, Transfer to the processing unit 13043.

YIDCT処理部13043は、逆量子化処理部からY成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのY成分の水平の8画素データを求め、YUV−>RGB変換部13048へ転送する。   The YIDCT processing unit 13043 receives Y * 8 * 8 pixel DCT coefficients from the inverse quantization processing unit, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8-pixel data of the Y component of the currently processed line. Is transferred to the YUV-> RGB conversion unit 13048.

U逆量子化処理部13044は、Uエントロピー復号化部13041から量子化後のU成分の8*8画素データを受信し、逆量子化し、U成分の8*8画素のDCT係数を求め、UIDCT処理部13045へ転送する。   The U inverse quantization processing unit 13044 receives the quantized U component 8 * 8 pixel data from the U entropy decoding unit 13041, inversely quantizes the U component 8 * 8 pixel DCT coefficient, and obtains the UIDCT. Transfer to the processing unit 13045.

UIDCT処理部13045は、逆量子化処理部13044からU成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのU成分の水平の8画素データを求め、YUV−>RGB変換部13048へ転送する。   The UIDCT processing unit 13045 receives the DCT coefficient of 8 * 8 pixels of the U component from the inverse quantization processing unit 13044, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8 pixels of the U component of the currently processed line. Data is obtained and transferred to the YUV-> RGB conversion unit 13048.

V逆量子化処理部13046は、Vエントロピー復号化部13041から量子化後のV成分の8*8画素データを受信し、逆量子化し、V成分の8*8画素のDCT係数を求め、VIDCT処理部13047へ転送する。   The V inverse quantization processing unit 13046 receives the quantized 8 * 8 pixel data of the V component from the V entropy decoding unit 13041, inversely quantizes the V component 8 * 8 pixel DCT coefficient, and obtains VIDCT Transfer to the processing unit 13047.

VIDCT処理部13047は、逆量子化処理部13046からV成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのV成分の水平の8画素データを求め、YUV−>RGB変換部13048へ転送する。   The VIDCT processing unit 13047 receives the 8 * 8 pixel DCT coefficient of the V component from the inverse quantization processing unit 13046, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8 pixels of the V component of the currently processed line. Data is obtained and transferred to the YUV-> RGB conversion unit 13048.

YUV−>RGB変換処理部13048は、IDCT処理部13043、13045、13047からのY、U、Vの画素データをRGBへ変換する。   The YUV-> RGB conversion processing unit 13048 converts the Y, U, and V pixel data from the IDCT processing units 13043, 13045, and 13047 into RGB.

図43は、編集部におけるページ符号化部のブロック図である。   FIG. 43 is a block diagram of the page encoding unit in the editing unit.

編集部13におけるページ符号化部1306の8*8バッファ13061は、サブブロックの8*8の画像を格納するバッファである。   An 8 * 8 buffer 13061 of the page encoding unit 1306 in the editing unit 13 is a buffer for storing an 8 * 8 image of a sub-block.

水平サブブロックカウント部13062は、処理した水平方向のサブブロック数をカウントし、水平方向のサブブロックの終端の信号としての水平サブブロック終端信号を、リスタートマーカー生成部13073へ転送する。   The horizontal sub-block counting unit 13062 counts the number of processed horizontal sub-blocks, and transfers a horizontal sub-block end signal as a signal at the end of the horizontal sub-block to the restart marker generating unit 13073.

RGB−>YUV変換部13063は、JPEGの規格にもとづき、8*8画素のRGBをYUVへ変換し、Y成分をYDCT処理部へ、U成分をUDCT処理部へ、V成分をVDCT処理部へ転送する。   The RGB-> YUV conversion unit 13063 converts RGB of 8 * 8 pixels to YUV based on the JPEG standard, converts the Y component to the YDCT processing unit, the U component to the UDCT processing unit, and the V component to the VDCT processing unit. Forward.

YDCT処理部13064は、Y成分をDCT(離散コサイン変換)を行い、量子化処理部13065へ転送する。   The YDCT processing unit 13064 performs DCT (discrete cosine transform) on the Y component and transfers the result to the quantization processing unit 13065.

Y量子化処理部13065は、YDCT処理部13064からのY成分のDCT処理を施した後のデータを受信し量子化し、Yエントロピー符号化部13066へ転送する。   The Y quantization processing unit 13065 receives and quantizes the data after the DCT processing of the Y component from the YDCT processing unit 13064, and transfers the data to the Y entropy encoding unit 13066.

Yエントロピー符号化部13066は、量子化処理部からのY成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部13074へ転送する。   The Y entropy encoding unit 13066 receives the data after quantization of the Y component from the quantization processing unit, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 13074.

UDCT処理部13067は、U成分をDCT(離散コサイン変換)を行い、量子化処理部へ転送する。   The UDCT processing unit 13067 performs DCT (discrete cosine transform) on the U component and transfers the U component to the quantization processing unit.

U量子化処理部13068は、UDCT処理部13067からのU成分のDCT処理を施した後のデータを受信し量子化し、Uエントロピー符号化部13069へ転送する。   The U quantization processing unit 13068 receives and quantizes the data after the DCT processing of the U component from the UDCT processing unit 13067 and transfers the data to the U entropy encoding unit 13069.

Uエントロピー符号化部13069は、量子化処理部13068からのU成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部13074へ転送する。   The U entropy encoding unit 13069 receives the quantized data of the U component from the quantization processing unit 13068, encodes it using the Huffman encoding method, and transfers the encoded data to the code format generation unit 13074.

VDCT処理部13070は、V成分をDCT(離散コサイン変換)を行い、量子化処理部13071へ転送する。   The VDCT processing unit 13070 performs DCT (Discrete Cosine Transform) on the V component and transfers it to the quantization processing unit 13071.

V量子化処理部13071は、VDCT処理部からのV成分のDCT処理を施した後のデータを受信し量子化し、Vエントロピー符号化部へ転送する。   The V quantization processing unit 13071 receives and quantizes the data after the DCT processing of the V component from the VDCT processing unit, and transfers the data to the V entropy coding unit.

Vエントロピー符号化部13072は、量子化処理部からのV成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部13074へ転送する。   The V entropy encoding unit 13072 receives the quantized data of the V component from the quantization processing unit, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 13074.

リスタートマーカー生成部13073は、水平サブブロックカウント部13062からの水平サブブロック終端信号を受信しリスタートマーカーを生成し、符号フォーマット生成部13074へ転送する。   The restart marker generation unit 13073 receives the horizontal subblock end signal from the horizontal subblock count unit 13062, generates a restart marker, and transfers it to the code format generation unit 13074.

符号フォーマット生成部13074は、エントロピー符号化部13066、13069、13072からの符号データと、リスタートマーカー生成部13073からのリスタートマーカー符号とを受信し、符号を形成する。   The code format generation unit 13074 receives the code data from the entropy encoding units 13066, 13069, and 13072 and the restart marker code from the restart marker generation unit 13073, and forms a code.

(1.5.1.編集部におけるページ符号化部)
図44は、ページ符号化部による処理手順を説明するフローチャートである。図45はマクロブロックにおけるサブブロックの処理順序を説明する図である。
(1.5.1. Page coding section in the editing section)
FIG. 44 is a flowchart illustrating a processing procedure performed by the page encoding unit. FIG. 45 is a diagram for explaining the processing order of sub-blocks in a macro block.

編集部13におけるページ符号化部1306は、8*8回転処理部1304から8*8回転処理後の画像を読み込む(ステップS501)。ページ符号化部1306は、8*8回転処理後の画像を符号化する(ステップS502)。1ブロックライン分処理されたか否かを判定する(ステップS503)。未だである場合は(ステップS503のNo)、ステップS502に戻る。処理されたと判定された場合(ステップS503のYes)、リスタートマーカーを挿入する(ステップS504)。m*mブロック(マクロブロック)の画像を処理したか否かを判定する(ステップS505)。未だであると判定された場合(ステップS505のNo)、ステップS502に戻る。処理されたと判定された場合(ステップS505のYes)、そのまま処理を終了する。   The page encoding unit 1306 in the editing unit 13 reads the image after the 8 * 8 rotation processing from the 8 * 8 rotation processing unit 1304 (step S501). The page encoding unit 1306 encodes the image after the 8 * 8 rotation process (step S502). It is determined whether or not one block line has been processed (step S503). If not yet (No in step S503), the process returns to step S502. If it is determined that the processing has been performed (Yes in step S503), a restart marker is inserted (step S504). It is determined whether an image of m * m block (macro block) has been processed (step S505). If it is determined that it is not yet (No in step S505), the process returns to step S502. If it is determined that the processing has been completed (Yes in step S505), the processing is terminated as it is.

(1.6.ページ復号化部)
図46は、実施の形態1による画像処理装置の図2ページに示したページ復号化部の詳細な機能的ブロック図である。
(1.6. Page decryption unit)
FIG. 46 is a detailed functional block diagram of the page decoding unit shown on page 2 of the image processing apparatus according to the first embodiment.

画像処理装置のページ復号化部14のメモリコントローラI/F141は、読み込みメモリアドレス生成部144からのメモリ4のページ符号メモリ領域のマクロブロックごとの符号を読み込み、バッファ142へ転送し、メモリ4のページマクロブロック先頭アドレス格納領域43からマクロブロックごとの先頭アドレスを読み込み、マクロブロック先頭アドレス記憶部145へ転送する為のメモリコントローラ3とのI/Fの処理を施す。   The memory controller I / F 141 of the page decoding unit 14 of the image processing apparatus reads the code for each macroblock in the page code memory area of the memory 4 from the read memory address generation unit 144, transfers the code to the buffer 142, and The start address for each macroblock is read from the page macroblock start address storage area 43, and an I / F process is performed with the memory controller 3 for transfer to the macroblock start address storage unit 145.

ここで、読み込みメモリアドレス生成部144およびマクロブロック先頭アドレス記憶部145は、本発明(請求項2)におけるマクロブロック符号アドレス認識手段を構成する。また、マクロブロック先頭アドレス記憶部145は、本発明(請求項2)におけるマクロブロック先頭アドレス記憶手段を構成する。   Here, the read memory address generation unit 144 and the macroblock head address storage unit 145 constitute macroblock code address recognition means in the present invention (claim 2). The macroblock head address storage unit 145 constitutes a macroblock head address storage means in the present invention (claim 2).

バッファ142は、復号化処理部143へ転送する為の符号データを一時格納する。   The buffer 142 temporarily stores code data to be transferred to the decoding processing unit 143.

復号化処理部143は、メインメモリ4のページ符号メモリ領域42から符号を読み込み復号化し、サブブロック単位に画像処理部15へ転送する(図48に画像処理部15の詳細なブロック図を示す)。   The decoding processing unit 143 reads and decodes the code from the page code memory area 42 of the main memory 4 and transfers the code to the image processing unit 15 in units of sub-blocks (a detailed block diagram of the image processing unit 15 is shown in FIG. 48). .

読み込みメモリアドレス生成部144は、メインメモリ4のページ符号メモリ領域42から読み込むメモリアドレスを生成する部であり、復号化処理部143から、次の符号ワードを要求する符号ワード要求信号と、1マクロブロックの水平方向の復号化が終了したことを示すマクロブロックライン終了信号を受信し、マクロブロック先頭アドレス記憶部145からマクロブロックごとのメインメモリ4のページ符号メモリ領域42のマクロブロックの先頭アドレスを受け取ることにより、読み込むメモリアドレスを生成する。   The read memory address generation unit 144 is a unit that generates a memory address to be read from the page code memory area 42 of the main memory 4, and a code word request signal for requesting the next code word from the decoding processing unit 143 and one macro. A macroblock line end signal indicating that the horizontal decoding of the block has been completed is received, and the start address of the macroblock in the page code memory area 42 of the main memory 4 for each macroblock is received from the macroblock start address storage unit 145. By receiving it, a memory address to be read is generated.

マクロブロック先頭アドレス記憶部145は、メインメモリ4のページマクロブロック先頭アドレス格納領域43からマクロブロックごとの先頭アドレスを受信し記憶し、復号化処理部143から処理中のマクロブロック番号と、マクロブロックライン終端信号を受け取ることにより、読込みメモリアドレス生成部144からのそのマクロブロックの符号の途中の符号のメモリアドレスを受信し、記憶し、再度そのマクロブロックを復号化する時、そのマクロブロックの復号化途中の符号のメモリアドレスを読込みメモリアドレス生成部144へ転送する。   The macroblock head address storage unit 145 receives and stores the head address of each macroblock from the page macroblock head address storage area 43 of the main memory 4, and the macroblock number being processed from the decoding processing unit 143 and the macroblock When the line end signal is received, the memory address of the code in the middle of the code of the macroblock is received from the read memory address generation unit 144, stored, and decoded when the macroblock is decoded again. The memory address of the code being converted is read and transferred to the memory address generation unit 144.

コントローラ146は、ページ復号化部14を制御する。   The controller 146 controls the page decoding unit 14.

図47−1および47−2は、ページ復号化部におけるページ復号化処理手順を説明するフローチャートである。図48−1は、8ラインメモリフォーマットの一例を示す模式図である。図48−2は、マクロブロックを構成するサブブロックの復号化順序を説明する図である。   FIGS. 47-1 and 47-2 are flowcharts for explaining the page decoding processing procedure in the page decoding unit. FIG. 48A is a schematic diagram illustrating an example of an 8-line memory format. FIG. 48-2 is a diagram for explaining the decoding order of sub-blocks constituting a macroblock.

マクロブロック先頭アドレス記憶部145へ水平方向に連なる複数のマクロブロックのメモリ4のマクロブロック先頭アドレス格納領域43へ記憶された先頭アドレスを読込み設定する(ステップS601)。垂直方向のマクロブロック内のサブブロックのカウンタ”J”を初期設定する(ステップS602)。水平方向のマクロブロックのカウンタ”I”を初期設定する(ステップS603)。   The macro block head address storage unit 145 reads and sets the head address stored in the macro block head address storage area 43 of the memory 4 of the plurality of macro blocks continuous in the horizontal direction (step S601). The sub-block counter “J” in the vertical macroblock is initialized (step S602). A horizontal macroblock counter “I” is initialized (step S603).

マクロブロック先頭アドレス記憶部145から、I番目のマクロブロックの符号を格納する先頭アドレスを受け取る(ステップS604)。図50のシフト値生成部14317の図51のマクロブロック復号化シフト値記憶部143172から、I番目のマクロブロックの符号化の途中のデータを図51のレジスタ143173へ設定する(ステップS605)。   A head address for storing the code of the I-th macroblock is received from the macroblock head address storage unit 145 (step S604). Data in the middle of encoding the I-th macroblock is set in the register 143173 of FIG. 51 from the macroblock decoding shift value storage unit 143172 of FIG. 51 of the shift value generation unit 14317 of FIG. 50 (step S605).

ここで、マクロブロック復号化シフト値記憶部143172は、本発明(請求項2)におけるマクロブロック復号中間データ記憶手段を構成する。   Here, the macroblock decoding shift value storage unit 143172 constitutes a macroblock decoding intermediate data storage unit in the present invention (claim 2).

またここで、マクロブロック復号化シフト値記憶部143172は、本発明(請求項12)における出力用多値ブロックラインデータ記憶手段を構成する。   Here, the macroblock decoded shift value storage unit 143172 constitutes an output multi-value block line data storage means in the present invention (claim 12).

図46のバッファ−142から、水平方向にI番目のマクロブロックのJブロックラインの符号データを図48−1に示されたように読み込む(ステップS606)。I番目のマクロブロックのJブロックライン目のサブブロックごとに順次復号化して行く(ステップS607)。   The code data of the J block line of the I-th macroblock are read in the horizontal direction from the buffer 142 in FIG. 46 as shown in FIG. 48-1 (step S606). Decoding is sequentially performed for each sub-block of the J-th block line of the I-th macroblock (step S607).

リスタートマーカーは検出されたか否かを判定する(ステップS608)。検出されたと判定されなかった場合(ステップS608のNo)、ステップS607に戻る。検出されたと判定された場合(ステップS608のYes)、図53のシフト値生成部のマクロブロック復号化シフト値記憶部143172へ、I番目のマクロブロックの復号化途中のシフト値を設定する(ステップS609)。   It is determined whether or not a restart marker has been detected (step S608). If it is not determined that it has been detected (No in step S608), the process returns to step S607. If it is determined that it has been detected (Yes in step S608), a shift value during decoding of the I-th macroblock is set in the macroblock decoding shift value storage unit 143172 of the shift value generation unit in FIG. S609).

図46のマクロブロック先頭アドレス記憶部143は、図46の読み込みメモリアドレス生成部144からのI番目のマクロブロック先頭アドレスを受信し記憶する(ステップS610)。   The macroblock head address storage unit 143 in FIG. 46 receives and stores the I-th macroblock head address from the read memory address generation unit 144 in FIG. 46 (step S610).

水平方向のマクロブロックのカウンタ”I”をカウントUPする(ステップS611)。水平方向のマクロブロックを全て処理したか否かを判断する(ステップS612)。未だ処理を終了していないと判定された場合(ステップS612のNo)、ステップS604に戻る。終了したと判定された場合(ステップS612のYes)、垂直方向のマクロブロック内のサブブロックのカウンタ”J”をカウントUPする(ステップS613)。   The counter “I” of the macroblock in the horizontal direction is counted up (step S611). It is determined whether or not all the macroblocks in the horizontal direction have been processed (step S612). If it is determined that the process has not yet been completed (No in step S612), the process returns to step S604. If it is determined that the process has been completed (Yes in step S612), the counter “J” of the sub-block in the vertical macroblock is incremented (step S613).

垂直方向のマクロブロック内のサブブロックを全て処理したか否かを判断する(ステップS614)。未だ処理が終了していないと判定した場合(ステップS615のNo)、ステップS603に戻る。処理が終了したと判定された場合(ステップS614のYes)、1ページの復号化を終了したか否かを判定する(ステップS615)。1ページの複合化が終了していないと判定された場合(ステップS615のNo)、ステップS601に戻る。終了したと判定された場合、そのまま処理を終了する。   It is determined whether all the sub-blocks in the vertical macroblock have been processed (step S614). If it is determined that the process has not yet been completed (No in step S615), the process returns to step S603. When it is determined that the process is finished (Yes in step S614), it is determined whether or not the decoding of one page is finished (step S615). If it is determined that one page has not been combined (No in step S615), the process returns to step S601. If it is determined that the process has been completed, the process ends.

図49は、ページ復号化部における復号化処理部の詳細なブロック図である。ページ復号化部14の復号化処理部143のエントロピー復号化部1431は、メインメモリ4の符号データを順次読み込み、Y成分のエントロピー復号化処理を施し、Y逆量子化処理部1432へ量子化後のY成分の8*8画素のデータを転送し、U成分のエントロピー復号化処理を施し、U逆量子化処理部1434へ量子化後のU成分の8*8画素のデータを転送し、V成分のエントロピー復号化処理を施し、V逆量子化処理部1436へ量子化後のV成分の8*8画素のデータを転送する。また、リスタートマーカーを検出し、マクロブロックラインの終端を検出し、マクロブロック終端信号を生成する。   FIG. 49 is a detailed block diagram of the decoding processing unit in the page decoding unit. The entropy decoding unit 1431 of the decoding processing unit 143 of the page decoding unit 14 sequentially reads the code data of the main memory 4, performs entropy decoding processing of the Y component, and after quantization to the Y inverse quantization processing unit 1432 The 8 * 8 pixel data of the Y component is transferred, the U component entropy decoding process is performed, and the U component 8 * 8 pixel data after the quantization is transferred to the U inverse quantization processing unit 1434, The component entropy decoding process is performed, and the 8 * 8 pixel data of the V component after the quantization is transferred to the V inverse quantization processing unit 1436. In addition, a restart marker is detected, the end of the macroblock line is detected, and a macroblock end signal is generated.

Y逆量子化処理部1432は、Yエントロピー復号化部から量子化後のY成分の8*8画素データを受信し、逆量子化し、Y成分の8*8画素のDCT係数を求め、YIDCT処理部1433へ転送する。   The Y inverse quantization processing unit 1432 receives the 8 * 8 pixel data of the Y component after quantization from the Y entropy decoding unit, performs inverse quantization, obtains the DCT coefficient of the 8 * 8 pixel of the Y component, and performs YIDCT processing. Forward to the unit 1433.

YIDCT処理部1433は、逆量子化処理部からY成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのY成分の水平の8画素データを求め、YUV−>RGB変換部1438へ転送する。   The YIDCT processing unit 1433 receives the 8 * 8 pixel DCT coefficient of the Y component from the inverse quantization processing unit, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8-pixel data of the Y component of the line currently being processed. Is transferred to the YUV-> RGB conversion unit 1438.

U逆量子化処理部1434は、エントロピー復号化部から量子化後のU成分の8*8画素データを受信し、逆量子化し、U成分の8*8画素のDCT係数を求め、UIDCT処理部1435へ転送する。   The U inverse quantization processing unit 1434 receives the quantized U component 8 * 8 pixel data from the entropy decoding unit, performs inverse quantization, obtains the U component 8 * 8 pixel DCT coefficient, and the UIDCT processing unit. 1435.

UIDCT処理部1435は、逆量子化処理部1434からU成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのU成分の水平の8画素データを求め、YUV−>RGB変換部1438へ転送する。   The UIDCT processing unit 1435 receives the 8 * 8 pixel DCT coefficient of the U component from the inverse quantization processing unit 1434, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8 pixels of the U component of the currently processed line. Data is obtained and transferred to the YUV-> RGB converter 1438.

V逆量子化処理部1436は、エントロピー復号化部から量子化後のV成分の8*8画素データを受信し、逆量子化し、V成分の8*8画素のDCT係数を求め、VIDCT処理部1437へ転送する。   The V inverse quantization processing unit 1436 receives 8 * 8 pixel data of the V component after quantization from the entropy decoding unit, performs inverse quantization, obtains a DCT coefficient of 8 * 8 pixels of the V component, and performs a VIDCT processing unit 1437.

VIDCT処理部1437は、逆量子化処理部からV成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのV成分の水平の8画素データを求め、YUV−>RGB変換部1438へ転送する。   The VIDCT processing unit 1437 receives the 8 * 8 pixel DCT coefficient of the V component from the inverse quantization processing unit, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8-pixel data of the V component of the currently processed line. Is transferred to the YUV-> RGB conversion unit 1438.

YUV−>RGB変換処理部1438は、IDCT処理部1433、1435、1437からのY、U、Vの画素データをRGBへ変換する。   The YUV-> RGB conversion processing unit 1438 converts the Y, U, and V pixel data from the IDCT processing units 1433, 1435, and 1437 into RGB.

マクロブロックカウント部1439は、エントロピー復号化部1431からマクロブロックラインの終端信号を受信しカウントし、処理中のマクロブロック番号を生成する。また、水平方向のマクロブロック番号までカウントすると初期値へ戻る。   The macroblock count unit 1439 receives and counts the end signal of the macroblock line from the entropy decoding unit 1431, and generates a macroblock number being processed. When the horizontal macroblock number is counted, the initial value is restored.

図50は、復号化処理部におけるエントロピー復号化部の詳細なブロック図である。ページ復号化部4の復号化処理部143のエントロピー復号化部1431の読み込み符号レジスタ14311は、図46のバッファ142の符号データを一時格納する。   FIG. 50 is a detailed block diagram of the entropy decoding unit in the decoding processing unit. The read code register 14311 of the entropy decoding unit 1431 of the decoding processing unit 143 of the page decoding unit 4 temporarily stores the code data of the buffer 142 of FIG.

シフター14312は、シフト値生成部14317で求めたシフト値により、可変長符号をシフトし、可変長符号の先頭をDC、AC値復号化部14314と14315、およびリスタート符号判定部14313へ転送する。   The shifter 14312 shifts the variable length code based on the shift value obtained by the shift value generation unit 14317, and transfers the variable length code to DC, the AC value decoding units 14314 and 14315, and the restart code determination unit 14313. .

リスタートマーカー符号を判定するリスタート判定部14313は、シフター14312からの符号を、リスタートマーカーであるかを判定し、判定したマクロブロックライン終端信号を図46の読み込みメモリアドレス生成部144と図46のマクロブロック先頭アドレス記憶部145へ転送する。また、その時の符号長を消費符号長としてMUX14316へ転送する。   The restart determination unit 14313 that determines the restart marker code determines whether the code from the shifter 14312 is a restart marker, and displays the determined macroblock line end signal with the read memory address generation unit 144 of FIG. 46 macroblock head address storage unit 145. In addition, the code length at that time is transferred to the MUX 14316 as the consumed code length.

DC値復号化部14314は、シフター14312からの符号がDC値符号であれば、DCデータを復号化し、8*8DCTデータ生成部14318へ転送し、その時の符号長を消費符号長としてMUX14316へ転送する。   If the code from the shifter 14312 is a DC value code, the DC value decoding unit 14314 decodes the DC data, transfers it to the 8 * 8 DCT data generation unit 14318, and transfers the code length at that time to the MUX 14316 as the consumed code length. To do.

AC値復号化部14315は、シフター14312からの符号がAC値符号であれば、ACデータを復号化し、8*8DCTデータ生成部14318へ転送し、その時の符号長を消費符号長としてMUX14316へ転送する。   If the code from the shifter 14312 is an AC value code, the AC value decoding unit 14315 decodes the AC data, transfers it to the 8 * 8 DCT data generation unit 14318, and transfers the code length at that time to the MUX 14316 as the consumed code length. To do.

MUX14316は、DC、AC値復号化部14314、14315と、リスタート符号判定部14313から、消費した符号長を受信し、シフト値生成部14317へ転送する。   The MUX 14316 receives the consumed code length from the DC / AC value decoding units 14314 and 14315 and the restart code determination unit 14313 and transfers the received code length to the shift value generation unit 14317.

シフト値生成部14317は、MUX14316からの消費符号長から次の符号の先頭アドレスを求め、シフター14312を制御して、常に符号の先頭をDC、AC値復号化部と、リスタート符号判定部へ供給するようにする。   The shift value generation unit 14317 obtains the start address of the next code from the consumed code length from the MUX 14316 and controls the shifter 1431 to always set the start of the code to the DC, AC value decoding unit, and restart code determination unit. To supply.

8*8DCTデータ生成部14318は、DC、AC値復号化部14314、14315からのDC、AC値から、8*8のDCTデータを生成し、図49の逆量子化部1432、1434、1436へ転送する。   The 8 * 8 DCT data generation unit 14318 generates 8 * 8 DCT data from the DC and AC values from the DC and AC value decoding units 14314 and 14315, and sends them to the inverse quantization units 1432, 1434, and 1436 in FIG. Forward.

図51は、エントロピー復号化部におけるシフト値生成部の詳細なブロック図である。即ち、ページ復号化部14の復号化処理部143のエントリピー復号化部1431のシフト値生成部14317の詳細なブロック図である。   FIG. 51 is a detailed block diagram of the shift value generation unit in the entropy decoding unit. That is, this is a detailed block diagram of the shift value generation unit 14317 of the entry pe decoding unit 1431 of the decoding processing unit 143 of the page decoding unit 14.

シフト値生成部14317のMUX143171は、通常は累積した1符号ワード内の次の符号の先頭アドレスを意味する図50のシフター14312のシフト値を求める為に、加算器143174の値を、レジスタ143173へ転送しているが、図47−1のステップS605の時は、マクロブロック復号化シフト値記憶部143172から、今から処理するマクロブロックのシフト値を読み込み、レジスタ143173へ転送し、図47−1のステップS609の時には、加算器143174で求めたシフト値を、マクロブロック復号化シフト値記憶部143172へ転送し、現在処理中のマクロブロックのシフト値を記憶させる。   The MUX 143171 of the shift value generation unit 14317 normally sends the value of the adder 143174 to the register 143173 in order to obtain the shift value of the shifter 14312 in FIG. In step S605 in FIG. 47-1, the macro block shift value to be processed is read from the macro block decoding shift value storage unit 143172, transferred to the register 143173, and transferred to the register 143173. In step S609, the shift value obtained by the adder 143174 is transferred to the macroblock decoding shift value storage unit 143172, and the shift value of the currently processed macroblock is stored.

マクロブロック復号化シフト値記憶部143172は、図47−1のステップS605の時は、マクロブロック復号化シフト値記憶部143172から、今から処理するマクロブロックのシフト値を読み込み3、レジスタ143173へ転送し、図47−1のステップS609の時には、加算器143174で求めたシフト値を、マクロブロック復号化シフト値記憶部143172へ転送し、現在処理中のマクロブロックのシフト値を記憶させる。   In step S605 of FIG. 47-1, the macroblock decoding shift value storage unit 143172 reads the shift value of the macroblock to be processed from the macroblock decoding shift value storage unit 143172 and transfers it to the register 143173. In step S609 in FIG. 47-1, the shift value obtained by the adder 143174 is transferred to the macroblock decoding shift value storage unit 143172, and the shift value of the macroblock currently being processed is stored.

レジスタ143173は、累積した1符号ワード内の次の符号の先頭アドレスである図50のシフター14312のシフト値を格納する。   The register 143173 stores the shift value of the shifter 14312 of FIG. 50 which is the head address of the next code in the accumulated one code word.

加算器143174は、累積した1符号ワード内の次の符号の先頭アドレスである図50のシフター14312のシフト値を求める。   The adder 143174 obtains the shift value of the shifter 14312 of FIG. 50, which is the head address of the next code in the accumulated one code word.

比較器143175は、符号のワードのBIT長と加算器143174で求めたシフト値を比較し次の符号ワードを要求するか否かを判断する。   The comparator 143175 compares the BIT length of the code word with the shift value obtained by the adder 143174, and determines whether or not the next code word is requested.

減算器143176は、比較器143175の結果から、1ワードを超えていた場合、次の符号ワードを読み込む為に加算器143174のシフト値から1ワードのBIT長を減算し、MUX143171へ転送している。   If the result of the comparator 143175 exceeds 1 word, the subtractor 143176 subtracts the BIT length of 1 word from the shift value of the adder 143174 to read the next code word, and transfers the result to the MUX 143171. .

レジスタ143177は、比較器143175の判定結果を一時記憶し、符号ワード要求信号を生成し、図46の読み込みメモリアドレス生成部144へ転送する。   The register 143177 temporarily stores the determination result of the comparator 143175, generates a code word request signal, and transfers it to the read memory address generation unit 144 of FIG.

ここで復号化時には、中間復号データ格納部を有し、図51のシフト値生成部14317のマクロブロック復号化シフト値記憶部143172のように、固定長ワードにまとめられた符号の復号化中のその符号の1ワード内の先頭アドレスを管理するシフト値をマクロブロック復号化シフト値記憶部143172に一時格納し、各マクロブロックごと継続して復号化する場合に一時待避させ、その符号の1ワード内の先頭アドレスを管理するシフト値を再度、図51のシフト値生成部14317に値を戻すことにより、可変長符号での復号化の切替えを実現している。   Here, at the time of decoding, an intermediate decoded data storage unit is included, and a code grouped into fixed-length words is being decoded as in the macroblock decoded shift value storage unit 143172 of the shift value generation unit 14317 in FIG. A shift value for managing the head address in one word of the code is temporarily stored in the macroblock decoding shift value storage unit 143172, and is temporarily saved when each macroblock is continuously decoded, and one word of the code is stored. The shift value for managing the head address is returned to the shift value generation unit 14317 in FIG. 51 again, thereby realizing decoding switching with the variable length code.

図52は、ページ復号化部における図46に示したマクロブロック先頭アドレス記憶部の詳細なブロック図である。マクロブロック先頭アドレス記憶部145のアドレス変換部1451は、図46の復号化処理部143からの現在処理中のマクロブロックの番号を受けとり、メモリ1453内の、そのマクロブロック番号のアドレスへ変換する。   FIG. 52 is a detailed block diagram of the macroblock head address storage unit shown in FIG. 46 in the page decoding unit. The address conversion unit 1451 of the macroblock head address storage unit 145 receives the number of the currently processed macroblock from the decoding processing unit 143 in FIG. 46 and converts it to the address of that macroblock number in the memory 1453.

ライト信号生成部1452は、図46の復号化処理部143からマクロブロックライン終端信号を受けとり、メモリ1453の書き込み信号を生成する。   The write signal generation unit 1452 receives the macroblock line end signal from the decoding processing unit 143 in FIG. 46 and generates a write signal in the memory 1453.

メモリ1453は、各水平方向に連なるマクロブロックごとの図46の読み込みメモリアドレス生成部144からのページ符号メモリ領域42の各マクロブロックのマクロブロック先頭アドレスを格納する。   The memory 1453 stores the macroblock head address of each macroblock in the page code memory area 42 from the read memory address generation unit 144 of FIG. 46 for each macroblock continuous in the horizontal direction.

図53は、図51に示されたシフト値生成部におけるマクロブロック復号化シフト値記憶部の詳細なブロック図である。マクロブロック復号化シフト値記憶部143172のアドレス変換部1431721は、図46の復号化処理部143からの現在処理中のマクロブロックの番号を受けとりメモリ1431723の、そのマクロブロック番号のアドレスへ変換する。   FIG. 53 is a detailed block diagram of a macroblock decoded shift value storage unit in the shift value generation unit shown in FIG. The address conversion unit 1431721 of the macroblock decoding shift value storage unit 143172 receives the number of the currently processed macroblock from the decoding processing unit 143 of FIG. 46 and converts it to the address of the macroblock number in the memory 1431723.

ライト信号生成部1431722は、図46の復号化処理部143からマクロブロックライン終端信号を受けとりメモリ1431723の書き込み信号を生成する。   The write signal generation unit 1431722 receives the macroblock line end signal from the decoding processing unit 143 in FIG. 46 and generates a write signal in the memory 1431723.

メモリ1431723は、各水平方向に連なるマクロブロックごとの図51のMUX143171から復号化途中の復号化途中のシフトデータを格納する。   The memory 1431723 stores shift data in the middle of decoding from the MUX 143171 in FIG. 51 for each macroblock continuous in the horizontal direction.

(1.7.画像処理部)
図54は、実施の形態1による画像処理装置の画像処理部の機能的ブロック図である。画像処理部15のバッファ151は、ページ復号化部14からの画像データを一時格納する。
(1.7. Image Processing Unit)
FIG. 54 is a functional block diagram of the image processing unit of the image processing apparatus according to the first embodiment. The buffer 151 of the image processing unit 15 temporarily stores the image data from the page decoding unit 14.

色補正処理部152は、バッファ151に格納された多値RGBデータに対して色補正処理を施し、多値CMYKデータへ変換する。   The color correction processing unit 152 performs color correction processing on the multi-value RGB data stored in the buffer 151 and converts it into multi-value CMYK data.

階調処理部153は、色補正処理部152から受信した階調処理後のデータを、2値、4値、16値データなどへ変換する。   The gradation processing unit 153 converts the data after gradation processing received from the color correction processing unit 152 into binary, quaternary, 16-value data, and the like.

PIXEL TO PLANE変換部154であり、階調処理部153で階調処理を施された2値、4値、16値データを、指定された版のデータのみPXELからPLANEへ変換し、ラインメモリI/F155へ転送する。   A PIXEL TO PLANE conversion unit 154 converts the binary, 4-value, and 16-value data subjected to gradation processing by the gradation processing unit 153 from PXEL to PLANE only for the designated version of the data. Transfer to / F155.

ラインメモリI/F155は、PIXEL TO PLANE変換部154によって変換された画像データを一時格納し、ラインメモリ20(図4)へ転送する。   The line memory I / F 155 temporarily stores the image data converted by the PIXEL TO PLANE conversion unit 154 and transfers it to the line memory 20 (FIG. 4).

ラインメモリアドレス生成部156は、ラインメモリ20のアドレスを生成する。   The line memory address generation unit 156 generates an address of the line memory 20.

コントローラ157は、画像処理部15をコントロールする。   The controller 157 controls the image processing unit 15.

図55は、画像処理部による画像処理手順を説明するフローチャートである。バッファ151は、8ラインメモリ11から画像データを受け取る(ステップS701)。色補正処理部152は色補正処理を施しRGBからCMYKへ変換する(ステップS702)。階調処理部153は多値のCMYK画像に対して階調処理を施して処理後の画像へ変換する(ステップS703)。階調処理後のCMYK画像データを、指定されたプレーンのみ固定長にまとめ、ラインメモリ20へ書き込む(ステップS704)。全ての画像が処理されたか否かを判定する(ステップS705)。未だの場合(ステップS705のNo)、ステップS701に戻る。終了した場合(ステップS705のYes)、そのまま処理を終える。   FIG. 55 is a flowchart illustrating an image processing procedure performed by the image processing unit. The buffer 151 receives image data from the 8-line memory 11 (step S701). The color correction processing unit 152 performs color correction processing to convert from RGB to CMYK (step S702). The gradation processing unit 153 performs gradation processing on the multi-valued CMYK image and converts it into a processed image (step S703). The CMYK image data after gradation processing is compiled into a fixed length only for the designated plane, and written to the line memory 20 (step S704). It is determined whether or not all the images have been processed (step S705). If not yet (No in step S705), the process returns to step S701. If completed (Yes in step S705), the process is finished as it is.

(2.変形例1)
(2.1.変形例1による画像処理装置の概略構成)
図56−1は、変形例1による画像処理装置のハード構成図である。図56−2は、ページ符号メモリ領域におけるマクロブロック符号フォーマットの変形例1を示す模式図である。ここでは変形例1として、図7に示したページ符号メモリ4のマクロブロック符号ファーマット414の水平方向の終端におけるリスタートマーカー452を有さない例である。図56中に示されているように、n*n個のサブブロック562から成るマクロブロック561においては、水平方向の終端においてリスタートマーカーを備えていないことによって、編集部1300、ページ復号化部1400が実施の形態1と異なる。
(2. Modification 1)
(2.1. Schematic Configuration of Image Processing Device According to Modification 1)
FIG. 56-1 is a hardware configuration diagram of the image processing apparatus according to the first modification. FIG. 56-2 is a schematic diagram of a first modification of the macroblock code format in the page code memory area. Here, as Modification 1, there is an example in which the restart marker 452 is not provided at the horizontal end of the macroblock code format 414 of the page code memory 4 shown in FIG. As shown in FIG. 56, the macro block 561 composed of n * n sub-blocks 562 does not include a restart marker at the end in the horizontal direction, so that the editing unit 1300, the page decoding unit, 1400 is different from the first embodiment.

(2.2.編集部)
図57は、変形例1による編集部におけるページ符号化部の詳細なブロック図である。ここで、図57に示された変形例1による編集部13におけるページ符号化部13060は、図56に示したリスタートマーカーを有さないフォーマットを使用する場合におけるページ符号化部である。
(2.2. Editorial Department)
FIG. 57 is a detailed block diagram of the page encoding unit in the editing unit according to the first modification. Here, the page encoding unit 13060 in the editing unit 13 according to Modification 1 shown in FIG. 57 is a page encoding unit in the case of using the format having no restart marker shown in FIG.

ページ符号化部13060の8*8バッファ571は、サブブロックの8*8の画像を格納するバッファである。   The 8 * 8 buffer 571 of the page encoding unit 13060 is a buffer that stores an 8 * 8 image of a sub-block.

RGB−>YUV変換部572は、JPEGの規格にもとづき、8*8画素のRGBをYUVへ変換し、Y成分をYDCT処理部573へ、U成分をUDCT処理部576へ、V成分をVDCT処理部579へ転送する。   The RGB-> YUV conversion unit 572 converts 8 * 8 pixel RGB to YUV based on the JPEG standard, converts the Y component to the YDCT processing unit 573, the U component to the UDCT processing unit 576, and the V component to the VDCT processing. The data is transferred to the unit 579.

YDCT処理部573は、Y成分をDCT(離散コサイン変換)を行い、量子化処理部574へ転送する。   The YDCT processing unit 573 performs DCT (Discrete Cosine Transform) on the Y component and transfers it to the quantization processing unit 574.

Y量子化処理部574は、YDCT処理部573からのY成分のDCT処理を施した後のデータを受信し量子化し、Yエントロピー符号化部575へ転送する。   The Y quantization processing unit 574 receives and quantizes the data after the DCT processing of the Y component from the YDCT processing unit 573, and transfers the data to the Y entropy encoding unit 575.

Yエントロピー符号化部575は、量子化処理部からのY成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部582へ転送する。   The Y entropy encoding unit 575 receives the quantized data of the Y component from the quantization processing unit, encodes it using the Huffman encoding method, and transfers the encoded data to the code format generation unit 582.

UDCT処理部576は、U成分をDCT(離散コサイン変換)を行い、量子化処理部577へ転送する。   The UDCT processing unit 576 performs DCT (discrete cosine transform) on the U component and transfers the U component to the quantization processing unit 577.

U量子化処理部577は、UDCT処理部576からのU成分のDCT処理を施した後のデータを受信し量子化し、Uエントロピー符号化部578へ転送する。   The U quantization processing unit 577 receives and quantizes the data after the DCT processing of the U component from the UDCT processing unit 576, and transfers the data to the U entropy coding unit 578.

Uエントロピー符号化部578は、量子化処理部からのU成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部582へ転送する。   The U entropy encoding unit 578 receives the quantized data of the U component from the quantization processing unit, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 582.

VDCT処理部579は、V成分をDCT(離散コサイン変換)を行い、量子化処理部580へ転送する。   The VDCT processing unit 579 performs DCT (Discrete Cosine Transform) on the V component and transfers it to the quantization processing unit 580.

V量子化処理部580は、VDCT処理部579からのV成分のDCT処理を施した後のデータを受信し量子化し、Vエントロピー符号化部581へ転送する。   The V quantization processing unit 580 receives and quantizes the data after the DCT processing of the V component from the VDCT processing unit 579, and transfers the data to the V entropy encoding unit 581.

Vエントロピー符号化部582であり、量子化処理部580からのV成分の量子化後のデータを受信し、ハフマン符号化方式で符号化し、符号フォーマット生成部582へ転送する。   The V entropy encoding unit 582 receives the quantized data of the V component from the quantization processing unit 580, encodes the data using the Huffman encoding method, and transfers the encoded data to the code format generation unit 582.

符号フォーマット生成部582は、エントロピー符号化部575、578、581からの符号データを受信し符号を形成する。   The code format generation unit 582 receives the code data from the entropy encoding units 575, 578, and 581 and forms a code.

図58−1は、変形例1によるページ符号化部の処理手順を説明するフローチャートである。図58−2は、変形例1によるマクロブロックにおいてサブブロックを読み込み処理を施す順序を説明する図である。   FIG. 58A is a flowchart for explaining the processing procedure of the page encoding unit according to the first modification. FIG. 58-2 is a diagram for explaining the order in which subblocks are read in the macroblock according to the first modification.

8*8回転処理部1304から、8*8の編集処理後の画像を読み込む(ステップS801)。8*8画素の編集処理後の画像を符号化部にて符号化する(ステップS802)。1ブロックライン分処理されたか否かを判定する(ステップS803)。1ブロックライン分は図58−2の水平方向の矢印で示されている。   An image after 8 * 8 editing processing is read from the 8 * 8 rotation processing unit 1304 (step S801). The image after the 8 * 8 pixel editing process is encoded by the encoding unit (step S802). It is determined whether one block line has been processed (step S803). One block line is indicated by a horizontal arrow in FIG.

未だであると判定された場合(ステップS803のNo)、ステップS802に戻る。1ブロックライン分処理されたと判定された場合(ステップS803のYes)、m*mブロック(マクロブロック)の画像を処理したか否かを判定する(ステップS804)。まだ処理されていないと判定された場合(ステップS804のNo)、ステップS802に戻る。処理がすんだと判定された場合(ステップS804のYes)、そのまま処理を終了する。   If it is determined that it is not yet (No in step S803), the process returns to step S802. If it is determined that one block line has been processed (Yes in step S803), it is determined whether an image of an m * m block (macro block) has been processed (step S804). If it is determined that it has not been processed yet (No in step S804), the process returns to step S802. If it is determined that the process is complete (Yes in step S804), the process ends.

(2.3.ページ復号化部)
図59は、変形例1による画像処理装置におけるページ復号化部の詳細なブロック図である。ページ復号化部1400のメモリコントローラI/F141は、読み込みメモリアドレス生成部144からのメモリ4のページ符号メモリ領域42のマクロブロックごとの符号を読み込みバッファ142へ転送し、メモリ4のページマクロブロック先頭アドレス格納領域43からマクロブロックごとの先頭アドレスを読み込みマクロブロック先頭アドレス記憶部145へ転送する為のメモリコントローラ3とのインタフェースの処理を施す。
(2.3. Page Decoding Unit)
FIG. 59 is a detailed block diagram of the page decoding unit in the image processing apparatus according to the first modification. The memory controller I / F 141 of the page decoding unit 1400 transfers the code for each macroblock in the page code memory area 42 of the memory 4 from the read memory address generation unit 144 to the read buffer 142, and starts the page macroblock head of the memory 4. The head address for each macroblock is read from the address storage area 43 and an interface process with the memory controller 3 for transferring to the macroblock head address storage unit 145 is performed.

バッファ142は、復号化処理部143へ転送する為の符号を一時格納する。   The buffer 142 temporarily stores a code for transfer to the decoding processing unit 143.

復号化処理部143は、メインメモリ4のページ符号メモリ領域42から符号を読み込み復号化し、サブブロック単位に画像処理部15へ転送する(図62に詳細なブロック図を示す)。   The decoding processing unit 143 reads and decodes the code from the page code memory area 42 of the main memory 4 and transfers the code to the image processing unit 15 in units of sub-blocks (a detailed block diagram is shown in FIG. 62).

読み込みメモリアドレス生成部144は、メインメモリ4のページ符号メモリ領域42から読み込むメモリアドレスを生成する部であり、復号化処理部143から、次の符号ワードを要求する符号ワード要求信号と、1マクロブロックの水平方向の復号化が終了したことを示すマクロブロックライン終了信号を受信しマクロブロック先頭アドレス記憶部145からマクロブロックごとのメインメモリ4のページ符号メモリ領域42のマクロブロックの先頭アドレスを受け取ることにより、読み込むメモリアドレスを生成する。   The read memory address generation unit 144 is a unit that generates a memory address to be read from the page code memory area 42 of the main memory 4, and a code word request signal for requesting the next code word from the decoding processing unit 143 and one macro. A macroblock line end signal indicating that the horizontal decoding of the block has been completed is received, and the start address of the macroblock in the page code memory area 42 of the main memory 4 for each macroblock is received from the macroblock start address storage unit 145. As a result, the memory address to be read is generated.

マクロブロック先頭アドレス記憶部145は、メインメモリ4のページマクロブロック先頭アドレス格納領域43からマクロブロックごとの先頭アドレスを受信し記憶し、復号化処理部143から処理中のマクロブロック番号と、マクロブロックライン終端信号を受け取ることにより、読込みメモリアドレス生成部144からのそのマクロブロックの符号の途中の符号のメモリアドレスを受信し、記憶し、再度そのマクロブロックを復号化する時、そのマクロブロックの復号化途中の符号のメモリアドレスを読込みメモリアドレス生成部144へ転送する。   The macroblock head address storage unit 145 receives and stores the head address of each macroblock from the page macroblock head address storage area 43 of the main memory 4, and the macroblock number being processed from the decoding processing unit 143 and the macroblock When the line end signal is received, the memory address of the code in the middle of the code of the macroblock is received from the read memory address generation unit 144, stored, and decoded when the macroblock is decoded again. The memory address of the code being converted is read and transferred to the memory address generation unit 144.

コントローラ146は、ページ復号化部1400を制御する。   The controller 146 controls the page decoding unit 1400.

図60−1および60−2は、変形例1による画像処理装置におけるページ復号化部の処理手順を説明するフローチャートである。図61−1は、変形例1による8ラインメモリフォーマットの一例を示す模式図である。図61−2は、変形例1によるマクロブロックを構成するサブブロックの復号化順序を説明する図である。   60A and 60B are flowcharts for explaining the processing procedure of the page decoding unit in the image processing apparatus according to the first modification. FIG. 61A is a schematic diagram illustrating an example of an 8-line memory format according to the first modification. FIG. 61-2 is a diagram for explaining the decoding order of sub-blocks constituting a macroblock according to Modification 1.

図60−1におけるステップS901〜907までは、図47−1におけるステップS601〜607までと同様であるので、説明を省略する。   Steps S901 to S907 in FIG. 60A are the same as steps S601 to S607 in FIG.

I番目のマクロブロックの水平方向のサブブロックをカウントしていく(ステップS908)。そして、水平方向に全てのサブブロックを復号化したか否かを判定する(ステップS909)。検出されたと判定されなかった場合(ステップS909のNo)、ステップS907に戻る。検出されたと判定された場合(ステップS909のYes)、ステップS910へ移行する。   The horizontal sub-blocks of the I-th macro block are counted (step S908). Then, it is determined whether or not all sub-blocks have been decoded in the horizontal direction (step S909). If it is not determined that it has been detected (No in step S909), the process returns to step S907. When it is determined that it has been detected (Yes in step S909), the process proceeds to step S910.

ステップS910〜ステップS916までは、図47−2におけるステップS609〜ステップS615までと同様であるので、説明を省略する。   Steps S910 to S916 are the same as steps S609 to S615 in FIG.

図62は、変形例1による編集処理部における復号化処理部の詳細なブロック図である。   FIG. 62 is a detailed block diagram of the decoding processing unit in the editing processing unit according to the first modification.

ページ復号化部1400の復号化処理部143のエントロピー復号化部1431は、メインメモリ4の符号データを順次読み込み、Y成分のエントロピー復号化処理を施し、Y逆量子化処理部1432へ量子化後のY成分の8*8画素のデータを転送し、U成分のエントロピー復号化処理を施し、U逆量子化処理部1434へ量子化後のU成分の8*8画素のデータを転送し、V成分のエントロピー復号化処理を施し、V逆量子化処理部1436へ量子化後のV成分の8*8画素のデータを転送する。   The entropy decoding unit 1431 of the decoding processing unit 143 of the page decoding unit 1400 sequentially reads the code data of the main memory 4, performs entropy decoding processing of the Y component, and performs quantization to the Y inverse quantization processing unit 1432 The 8 * 8 pixel data of the Y component is transferred, the U component entropy decoding process is performed, and the U component 8 * 8 pixel data after the quantization is transferred to the U inverse quantization processing unit 1434, The component entropy decoding process is performed, and the 8 * 8 pixel data of the V component after the quantization is transferred to the V inverse quantization processing unit 1436.

Y逆量子化処理部1432は、Yエントロピー復号化部から量子化後のY成分の8*8画素データを受信し、逆量子化し、Y成分の8*8画素のDCT係数を求め、YIDCT処理部1433へ転送する。   The Y inverse quantization processing unit 1432 receives the 8 * 8 pixel data of the Y component after quantization from the Y entropy decoding unit, performs inverse quantization, obtains the DCT coefficient of the 8 * 8 pixel of the Y component, and performs YIDCT processing. Forward to the unit 1433.

YIDCT処理部1433は、逆量子化処理部からY成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのY成分の水平の8画素データを求め、YUV−>RGB変換部1438へ転送する。   The YIDCT processing unit 1433 receives the 8 * 8 pixel DCT coefficient of the Y component from the inverse quantization processing unit, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8-pixel data of the Y component of the line currently being processed. Is transferred to the YUV-> RGB conversion unit 1438.

U逆量子化処理部1434は、エントロピー復号化部から量子化後のU成分の8*8画素データを受信し、逆量子化し、U成分の8*8画素のDCT係数を求め、UIDCT処理部1435へ転送する。   The U inverse quantization processing unit 1434 receives the quantized U component 8 * 8 pixel data from the entropy decoding unit, performs inverse quantization, obtains the U component 8 * 8 pixel DCT coefficient, and the UIDCT processing unit. 1435.

UIDCT処理部1435は、逆量子化処理部1434からU成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのU成分の水平の8画素データを求め、YUV−>RGB変換部1438へ転送する。   The UIDCT processing unit 1435 receives the 8 * 8 pixel DCT coefficient of the U component from the inverse quantization processing unit 1434, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8 pixels of the U component of the currently processed line. Data is obtained and transferred to the YUV-> RGB converter 1438.

V逆量子化処理部1436は、エントロピー復号化部から量子化後のV成分の8*8画素データを受信し、逆量子化し、V成分の8*8画素のDCT係数を求め、VIDCT処理部1437へ転送する。   The V inverse quantization processing unit 1436 receives 8 * 8 pixel data of the V component after quantization from the entropy decoding unit, performs inverse quantization, obtains a DCT coefficient of 8 * 8 pixels of the V component, and performs a VIDCT processing unit 1437.

VIDCT処理部1437は、逆量子化処理部からV成分の8*8画素のDCT係数を受信し、IDCT(逆離散コサイン変換)を行い、現在処理中のラインのV成分の水平の8画素データを求め、YUV−>RGB変換部1438へ転送する。   The VIDCT processing unit 1437 receives the 8 * 8 pixel DCT coefficient of the V component from the inverse quantization processing unit, performs IDCT (Inverse Discrete Cosine Transform), and performs horizontal 8-pixel data of the V component of the currently processed line. Is transferred to the YUV-> RGB conversion unit 1438.

YUV−>RGB変換処理部1438は、IDCT処理部1433、1435、1437からのY、U、Vの画素データをRGBへ変換する。   The YUV-> RGB conversion processing unit 1438 converts the Y, U, and V pixel data from the IDCT processing units 1433, 1435, and 1437 into RGB.

マクロブロックカウント部1439は、エントロピー復号化部1431からマクロブロックラインの終端信号を受信しカウントし、処理中のマクロブロック番号を生成する。また、水平方向のマクロブロック番号までカウントすると初期値へ戻る。   The macroblock count unit 1439 receives and counts the end signal of the macroblock line from the entropy decoding unit 1431, and generates a macroblock number being processed. When the horizontal macroblock number is counted, the initial value is restored.

マクロブロックライン終端判定部1440は、マクロブロックの水平方向のサブブロック数をカウントすることにより、マクロブロックラインの終端を検出し、マクロブロック終端信号を生成する。1つのマクロブロックのマクロブロックラインの終端を検出するとカウンタを初期値へ戻し、次のマクロブロックラインの終端を検出する。   The macroblock line end determination unit 1440 detects the end of the macroblock line by counting the number of subblocks in the horizontal direction of the macroblock, and generates a macroblock end signal. When the end of the macroblock line of one macroblock is detected, the counter is reset to the initial value, and the end of the next macroblock line is detected.

図63は、変形例1による復号化処理部におけるエントロピー復号化部の詳細なブロック図である。ページ復号化部1444の復号化処理部14300のエントロピー復号化部143100の読み込み符号レジスタ14311は、図49のバッファ142の符号データを一時格納する。   FIG. 63 is a detailed block diagram of the entropy decoding unit in the decoding processing unit according to the first modification. The read code register 14311 of the entropy decoding unit 143100 of the decoding processing unit 14300 of the page decoding unit 1444 temporarily stores the code data of the buffer 142 of FIG.

シフター6301は、シフト値生成部14317で求めたシフト値により、可変長符号をシフトし、可変長符号の先頭をDC、AC値復号化部14314と14315、およびリスタート符号判定部14313へ転送する。   The shifter 6301 shifts the variable length code by the shift value obtained by the shift value generation unit 14317, and transfers the variable length code to DC, the AC value decoding units 14314 and 14315, and the restart code determination unit 14313. .

DC値復号化部14314は、シフター14312からの符号がDC値符号であれば、DCデータを復号化し、8*8DCTデータ生成部14318へ転送し、その時の符号長を消費符号長としてMUX14316へ転送する。   If the code from the shifter 14312 is a DC value code, the DC value decoding unit 14314 decodes the DC data, transfers it to the 8 * 8 DCT data generation unit 14318, and transfers the code length at that time to the MUX 14316 as the consumed code length. To do.

AC値復号化部14315は、シフター14312からの符号がAC値符号であれば、ACデータを復号化し、8*8DCTデータ生成部14318へ転送し、その時の符号長を消費符号長としてMUX14316へ転送する。   If the code from the shifter 14312 is an AC value code, the AC value decoding unit 14315 decodes the AC data, transfers it to the 8 * 8 DCT data generation unit 14318, and transfers the code length at that time to the MUX 14316 as the consumed code length. To do.

MUX6302は、DC、AC値復号化部14314、14315から、消費した符号長を受信し、シフト値生成部6301へ転送する。   The MUX 6302 receives the consumed code length from the DC and AC value decoding units 14314 and 14315 and transfers the received code length to the shift value generation unit 6301.

シフト値生成部14317は、MUX6302からの消費符号長から次の符号の先頭アドレスを求め、シフター14312を制御して、常に符号の先頭をDC、AC値復号化部へ供給するようにする。   The shift value generation unit 14317 obtains the start address of the next code from the consumed code length from the MUX 6302 and controls the shifter 1431 so that the start of the code is always supplied to the DC and AC value decoding unit.

8*8DCTデータ生成部14318は、DC、AC値復号化部14314、14315からのDC、AC値から、8*8のDCTデータを生成し、図62の逆量子化部1432、1434、1436へ転送する。   The 8 * 8 DCT data generation unit 14318 generates 8 * 8 DCT data from the DC and AC values from the DC and AC value decoding units 14314 and 14315, and sends them to the inverse quantization units 1432, 1434, and 1436 in FIG. Forward.

以上はJPEGを中心に説明してきたが、他の可変長符号化方式も同様に考えることができる。   The above description has been focused on JPEG, but other variable-length coding schemes can be considered in the same way.

(3.実施の形態による画像処理装置を備えた複写機の例)
図64は、本発明の実施の形態による画像処理装置を備えた複写機の内部機構を説明する図である。
(3. Example of copier provided with image processing apparatus according to embodiment)
FIG. 64 is a diagram for explaining the internal mechanism of the copying machine including the image processing apparatus according to the embodiment of the present invention.

複写機1200の有する自動原稿送り部(以下ADFと略す)1001にある原稿台1002に、原稿束が原稿の画像面を上にして置かれる。そして、操作部上のスタートキーが押下されると、一番下の原稿から給送ローラ1003および給送ベルト1004によってコンタクトガラス1006上の所定の位置に給送される。読み取りユニット1050によってコンタクトガラス1006上の原稿の画像データを読み取り後、読み取りが終了した原稿は、給送ベルト1004および排送ローラ1005によって排出される。さらに、原稿セット検知1007にて原稿台1002に次の原稿が有ることを検知した場合、前原稿と同様にコンタクトガラス1006上に給送される。給送ローラ1003、給送ベルト1004および排送ローラ1005はモータによって駆動される。   A bundle of documents is placed on a document table 1002 in an automatic document feeder (hereinafter abbreviated as ADF) 1001 of the copying machine 1200 with the image side of the document facing up. When the start key on the operation unit is pressed, the lowermost document is fed to a predetermined position on the contact glass 1006 by the feeding roller 1003 and the feeding belt 1004. After the image data of the document on the contact glass 1006 is read by the reading unit 1050, the document that has been read is discharged by the feeding belt 1004 and the discharge roller 1005. Further, when it is detected by the document set detection 1007 that there is a next document on the document table 1002, it is fed onto the contact glass 1006 as in the case of the previous document. The feeding roller 1003, the feeding belt 1004, and the discharging roller 1005 are driven by a motor.

第1トレイ1008あるいは第2トレイ1009に積載された記録媒体である転写紙は、各々第1給紙部1011あるいは第2給紙部1012によって給紙され、縦搬送ユニット1014によって感光体1015に当接する位置まで搬送される。読み取りユニット1050にて読み込まれた画像データは、書き込みユニット1057からのレーザによって感光体1015に書き込まれ、現像ユニット1027を通過することによってトナー像が形成される。そして、転写紙は感光体1015の回転と等速で搬送ベルト1016によって搬送されながら、感光体1015上のトナー像が転写される。その後、定着ユニット1017にて画像を定着させ、排紙ユニット1018によって後処理部のフィニシャ1100に排出される。   Transfer sheets, which are recording media stacked on the first tray 1008 or the second tray 1009, are fed by the first paper feed unit 1011 or the second paper feed unit 1012 respectively, and are contacted with the photoconductor 1015 by the vertical transport unit 1014. It is transported to the contact position. Image data read by the reading unit 1050 is written on the photoconductor 1015 by a laser from the writing unit 1057, and a toner image is formed by passing through the developing unit 1027. The toner image on the photoconductor 1015 is transferred while the transfer paper is conveyed by the conveyance belt 1016 at the same speed as the rotation of the photoconductor 1015. Thereafter, the image is fixed by the fixing unit 1017 and discharged by the paper discharge unit 1018 to the finisher 1100 of the post-processing unit.

後処理部のフィニシャ1100は、本体の排紙ローラ1019によって搬送された転写紙を、通常排紙ローラ1102方向と、ステープル処理部方向に導くことができる。切り替え板1101を上に切り替えることにより、搬送ローラ1103を経由して通常排紙トレイ1104側に排紙することができる。また、切り替え板1101を下方向に切り替えることで、搬送ローラ1105、1107を経由して、ステープル台1108に搬送することができる。   The finisher 1100 of the post-processing unit can guide the transfer paper conveyed by the paper discharge roller 1019 of the main body in the normal paper discharge roller 1102 direction and the staple processing unit direction. By switching the switching plate 1101 upward, the sheet can be discharged to the normal discharge tray 1104 side via the transport roller 1103. Further, by switching the switching plate 1101 downward, the switching plate 1101 can be conveyed to the staple table 1108 via the conveying rollers 1105 and 1107.

ステープル台1108に積載された転写紙は、一枚排紙されるごとに紙揃え用のジョガー1109によって、紙端面が揃えられ、一部のコピー完了と共にステープラ1106によって綴じられる。ステープラ1106で綴じられた転写紙群は自重によって、ステープル完了排紙トレイ1110に収納される。   The transfer paper loaded on the stapling table 1108 is aligned by the paper aligning jogger 1109 every time one sheet is discharged, and is bound by the stapler 1106 upon completion of a partial copy. The group of transfer sheets bound by the stapler 1106 is stored in the staple completion discharge tray 1110 by its own weight.

一方、通常の排紙トレイ1108は前後に移動可能な排紙トレイである。前後に移動可能な排紙トレイ部1108は、原稿ごと、あるいは、画像メモリ4によってソーティングされたコピー部ごとに、前後に移動し、簡易的に排出されてくるコピー紙を仕分けるものである。   On the other hand, a normal paper discharge tray 1108 is a paper discharge tray that can move back and forth. The paper discharge tray unit 1108 that can be moved back and forth is a unit that moves back and forth for each original or each copy unit sorted by the image memory 4 and sorts the copy paper that is simply discharged.

転写紙の両面に画像を作像する場合は、各給紙トレイ1008、1009から給紙され作像された転写紙を排紙トレイ側に導かないで、経路切り替えのための分岐爪1112を上側にセットすることで、一旦両面給紙ユニット1111にストックする。その後、両面給紙ユニット1111にストックされた転写紙は再び感光体1015に作像されたトナー画像を転写するために、両面給紙ユニット1111から再給紙され、経路切り替えのための分岐爪1112を下側にセットし、排紙トレイ1104に導く。この様に転写紙の両面に画像を作成する場合に両面給紙ユニット1111は使用される。   When images are formed on both sides of the transfer paper, the transfer paper fed from each of the paper feed trays 1008 and 1009 is not guided to the paper discharge tray side, and the branch claw 1112 for switching the path is set on the upper side. Is once stocked in the duplex feeding unit 1111. Thereafter, the transfer paper stocked on the double-sided paper feeding unit 1111 is re-fed from the double-sided paper feeding unit 1111 to transfer the toner image formed on the photoconductor 1015 again, and the branching claw 1112 for switching the path. Is set on the lower side and guided to the paper discharge tray 1104. In this way, the duplex feeding unit 1111 is used when images are created on both sides of the transfer sheet.

感光体1015、搬送ベルト1016、定着ユニット1017、排紙ユニット1018および現像ユニット1027は、メインモータによって駆動され、各給紙部1011、1012はメインモータの駆動を各々給紙クラッチによって伝達駆動される。縦搬送ユニット1014はメインモータの駆動を中間クラッチによって伝達駆動される。読み取りユニット(スキャナ)1050は、原稿を載置するコンタクトガラス1006と光学走査系で構成されており、光学走査系は、露光ランプ1051、第1ミラー1052、レンズ1053、CCDイメージセンサ1054等々で構成されている。   The photoconductor 1015, the conveyance belt 1016, the fixing unit 1017, the paper discharge unit 1018, and the development unit 1027 are driven by a main motor, and the paper feed units 1011 and 1012 are each driven to transmit the drive of the main motor by a paper feed clutch. . The vertical conveyance unit 1014 is driven to transmit the drive of the main motor by an intermediate clutch. A reading unit (scanner) 1050 includes a contact glass 1006 on which an original is placed and an optical scanning system. The optical scanning system includes an exposure lamp 1051, a first mirror 1052, a lens 1053, a CCD image sensor 1054, and the like. Has been.

露光ランプ1051および第1ミラー1052は、図示しない第1キャリッジ上に固定され、第2ミラー1055および第3ミラー1056は、図示しない第2キャリッジ上に固定されている。原稿像を読み取る時には、光路長が変わらないように、第1キャリッジと第2キャリッジとが2対1の相対速度で機械的に走査される。この光学走査系は、図示しないスキャナ駆動モータにて駆動される。原稿画像は、CCDイメージセンサ1054によって読み取られ、電気信号(アナログ画像信号)に変換され、そしてデジタルデータ(画像データ)に変換される。画像データには更に数種の画像処理が施される。   Exposure lamp 1051 and first mirror 1052 are fixed on a first carriage (not shown), and second mirror 1055 and third mirror 1056 are fixed on a second carriage (not shown). When reading a document image, the first carriage and the second carriage are mechanically scanned at a relative speed of 2: 1 so that the optical path length does not change. This optical scanning system is driven by a scanner drive motor (not shown). The document image is read by the CCD image sensor 1054, converted into an electric signal (analog image signal), and then converted into digital data (image data). The image data is further subjected to several types of image processing.

レンズ1053およびCCDイメージセンサ1054を図1において左右方向に移動させることにより、画像倍率が変わる。即ち、指定された倍率に対応してレンズ1053およびCCDイメージセンサ1054の左右方向に位置が設定される。書き込みユニット1057は、レーザ出力ユニット1058、結像レンズ1059およびミラー1060で構成され、レーザ出力ユニット1058の内部には、レーザ光源であるレーザダイオードおよびモータによって高速で定速回転する回転多面鏡(ポリゴンミラー)が備わっている。レーザ出力ユニット58より照射されるレーザ光は、定速回転するポリゴンミラーで偏光され、結像レンズ1059を通り、ミラー1060で折り返され、感光体面上に集光結像する。   The image magnification is changed by moving the lens 1053 and the CCD image sensor 1054 in the horizontal direction in FIG. That is, the positions of the lens 1053 and the CCD image sensor 1054 are set in the left-right direction corresponding to the designated magnification. The writing unit 1057 includes a laser output unit 1058, an imaging lens 1059, and a mirror 1060. Inside the laser output unit 1058, a rotating polygon mirror (polygon) that rotates at a high speed at a high speed by a laser diode and a motor that are laser light sources. Mirror). Laser light emitted from the laser output unit 58 is polarized by a polygon mirror that rotates at a constant speed, passes through an imaging lens 1059, is folded by a mirror 1060, and is focused and imaged on the surface of the photoreceptor.

偏光されたレーザ光は、感光体が回転する方向と直行する方向(主走査方向)に露光走査され、後述する画像処理装置のセレクタ1064より出力された画像信号のライン単位の記録を行う。感光体の回転速度と記録密度に対応した所定の周期で主走査を繰り返すことによって、感光体面上に画像(静電潜像)が形成される。上述のように、書き込みユニット1057から出力されるレーザ光が、画像作像系の感光体1015に照射される。図示しないが感光体1015の近傍の、レーザビームを照射される位置に、主走査同期信号を発生するビームセンサが配置されている。この主走査同期信号をもとに主走査方向の画像記録開始タイミングの制御、および、後述する画像信号の入出力を行うための制御信号の生成を行う。   The polarized laser light is exposed and scanned in a direction (main scanning direction) perpendicular to the direction in which the photosensitive member rotates, and recording is performed on a line basis of an image signal output from a selector 1064 of an image processing apparatus described later. An image (electrostatic latent image) is formed on the surface of the photosensitive member by repeating main scanning at a predetermined cycle corresponding to the rotational speed and recording density of the photosensitive member. As described above, the laser beam output from the writing unit 1057 is applied to the image forming photoconductor 1015. Although not shown, a beam sensor for generating a main scanning synchronization signal is disposed at a position near the photoconductor 1015 where the laser beam is irradiated. Based on the main scanning synchronization signal, control of image recording start timing in the main scanning direction and generation of a control signal for inputting / outputting image signals to be described later are performed.

(4.ハードウェア構成および記録媒体)
上述した画像処理装置は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現できる。コンピュータは、CPU(Central Processing Unit)によって装置全体が制御されている。CPUには、バスを介してROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクドライブ(HDD:Hard Disk Drive)、グラフィック処理装置、入力インタフェースが接続されている。ROM、およびRAMには、CPUに実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が格納される。またRAMには、CPUによる処理に必要な各種データが格納される。HDDには、OS、各種ドライバプログラム、アプリケーションプログラム、検出されたデータなどが格納される。
(4. Hardware configuration and recording medium)
The image processing apparatus described above can be realized by executing a program prepared in advance on a computer system such as a personal computer or a workstation. The entire computer is controlled by a CPU (Central Processing Unit). A ROM (Read Only Memory), a RAM (Random Access Memory), a hard disk drive (HDD: Hard Disk Drive), a graphics processing device, and an input interface are connected to the CPU via a bus. The ROM and RAM store at least a part of an OS (Operating System) program and application programs to be executed by the CPU. The RAM stores various data necessary for processing by the CPU. The HDD stores an OS, various driver programs, application programs, detected data, and the like.

グラフィック処理装置には、操作パネルが接続される。入力インタフェースには、操作パネルのキーボードが接続される。以上のような公知技術であるハードウェア構成によって、本実施の形態の処理機能を実現することができる。本実施の形態をコンピュータ上で実現するには、ドライバプログラムを実装する。   An operation panel is connected to the graphic processing device. A keyboard of the operation panel is connected to the input interface. The processing function of the present embodiment can be realized by the hardware configuration which is a publicly-known technique as described above. In order to realize the present embodiment on a computer, a driver program is installed.

尚、本実施形態の画像処理装置で実行されるデータ同期プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(R)ディスク、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。   The data synchronization program executed by the image processing apparatus according to the present embodiment is a file in an installable format or an executable format, and a computer-readable recording medium such as a CD-ROM, floppy (R) disk, or DVD. Recorded and provided.

また、本実施形態の画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供および配布するように構成しても良い。   The image processing program of the present embodiment may be configured to be provided and distributed by storing it on a computer connected to a network such as the Internet and downloading it via the network.

(5.効果)
本発明は、上記に詳細に説明したように、符号化部に同一の水平ライン上のマクロブロックごとの符号の先頭アドレスを記憶するマクロブロック先頭アドレス記憶部と、同一の水平ライン上のマクロブロックごとの中間符号データを記憶するマクロブロック中間符号記憶部を設け、スキャナからの画像を平滑フィルタ処理を施して、1ブロックラインのラインメモリへ格納し、その後、同一の水平ライン上のマクロブロックごと並列に符号化し、メインメモリへ格納することによって、マクロブロックの垂直方向の高さのバンドメモリを必要せず、かつ、マクロブロック単位の符号データに対して編集部によって、画像合成処理と回転処理を施し、再度、符号化しメモリへ格納し、その後、復号化装置により復号化する際には、同一の水平ライン上のマクロブロックごとの符号の先頭アドレスを記憶するマクロブロック先頭アドレス記憶部と、同一の水平ライン上のマクロブロックごとのマクロブロック中間符号記憶部を設け、同一の水平ライン上のマクロブロック単位の符号を並列に復号化することにより、マクロブロックの垂直方向の高さのバンドメモリを必要せずに画像形成を実現することができる。また、高速編集処理を可能にし、必要なメモリ量を低減することを可能にする。
(5. Effect)
As described in detail above, the present invention provides a macroblock head address storage unit for storing a code head address for each macroblock on the same horizontal line in the encoding unit, and a macroblock on the same horizontal line. A macroblock intermediate code storage unit for storing intermediate code data for each block is provided, the image from the scanner is subjected to a smoothing filter process, stored in a line memory of one block line, and thereafter each macroblock on the same horizontal line By encoding in parallel and storing in the main memory, no band memory in the vertical direction of the macroblock is required, and image composition processing and rotation processing are performed by the editing unit for the code data in macroblock units. When the data is encoded and stored again in the memory and then decoded by the decoding device, the same horizontal label is used. A macroblock head address storage section for storing the head address of the code for each macroblock on the screen and a macroblock intermediate code storage section for each macroblock on the same horizontal line are provided. In parallel, the image formation can be realized without the need for a band memory having a height in the vertical direction of the macroblock. In addition, high-speed editing processing can be performed, and a necessary amount of memory can be reduced.

また、本発明は多値の画像をマクロブロック単位に複数のマクロブロックラインを符号化した符号を一時、入出力用符号メモリ領域へ一時的に格納しその後、HDD装置へ書き込む為に、HDDへの転送用のメモリが1バンドの符号領域ですむ為にHDD装置へのメモリ転送によるメモリ増加を少なくすることができる。   Further, the present invention temporarily stores a code obtained by encoding a plurality of macro block lines in a macro block unit in a multi-valued image, temporarily into an input / output code memory area, and then writes it to the HDD for writing to the HDD device. Since the memory for transfer is only one band code area, an increase in memory due to memory transfer to the HDD device can be reduced.

また、復号化時においても、復号化部に同一の水平ライン上のマクロブロックごとの符号の先頭アドレスを記憶するマクロブロック先頭アドレス記憶部と、同一の水平ライン上のマクロブロックごとの中間復号データを記憶するマクロブロック復号シフト値記憶部を設け、同一の水平ライン上のマクロブロックごと並列に復号化し、少なくともサブブロック単位に画像処理装置へ転送する為にマクロブロックの垂直方向の高さのバンドメモリを必要としないので、簡易な構成により必要なメモリ量を低減することができる。   Also, at the time of decoding, a macroblock head address storage unit that stores a code head address for each macroblock on the same horizontal line in the decoding unit, and intermediate decoded data for each macroblock on the same horizontal line A macroblock decoding shift value storage unit for storing macroblocks, decoding in parallel for each macroblock on the same horizontal line, and at least a macroblock vertical height band for transfer to the image processing apparatus in units of subblocks. Since no memory is required, the required amount of memory can be reduced with a simple configuration.

また、本発明は多値の画像をマクロブロック単位に複数のマクロブロックラインを符号化した符号を、入出力用符号メモリ領域へ一時的に格納しその後、編集装置にてスタンプ画像などとの合成とマクロブロック単位での回転処理を施し、ページ符号メモリ領域にページ単位に格納することにより、画像の回転操作によるメモリの増加を少なくすることができる。   In addition, the present invention temporarily stores a code obtained by encoding a plurality of macro block lines in a macro block unit in a multi-valued image in an input / output code memory area, and then combines it with a stamp image or the like by an editing device. By performing the rotation process in units of macroblocks and storing the page code in the page code memory area, it is possible to reduce an increase in memory due to the image rotation operation.

また、本発明は多値の画像をマクロブロック単位に複数のマクロブロックラインを符号化した符号を一時、入出力用符号メモリ領域へ一時的に格納しその後、HDD装置へ書き込む構成とした場合、HDDへの転送用のメモリが1バンドの符号領域ですむ為、HDD装置へのメモリ転送によるメモリ増加を少なくすることができる。   In the present invention, when a multi-valued image is configured such that a code obtained by encoding a plurality of macroblock lines in units of macroblocks is temporarily stored in an input / output code memory area and then written to the HDD device. Since the memory for transfer to the HDD requires only one band code area, the increase in memory due to the memory transfer to the HDD device can be reduced.

以上のように、本発明にかかる画像処理装置、画像処理方法、およびその方法をコンピュータで実行するプログラムは、複写機に有用であり、特にデジタル複写機に適している。   As described above, the image processing apparatus, the image processing method, and the program for executing the method on a computer according to the present invention are useful for a copying machine and are particularly suitable for a digital copying machine.

本発明の実施の形態1による画像処理部の機能的ブロック図である。FIG. 2 is a functional block diagram of an image processing unit according to Embodiment 1 of the present invention. 実施の形態1による画像処理装置のハードウェア構成図である。2 is a hardware configuration diagram of the image processing apparatus according to Embodiment 1. FIG. 画像処理装置による画像形成の全体的な流れを説明するフローチャートである。3 is a flowchart illustrating an overall flow of image formation by the image processing apparatus. 実施の形態1による画像形成処理の全体的な流れとメモリの関係を説明する図である。FIG. 6 is a diagram for explaining a relationship between an overall flow of image forming processing according to the first embodiment and a memory. メインメモリのファーマットの一例を示す模式図である。It is a schematic diagram which shows an example of the format of a main memory. 入出用符号メモリのフォーマットの一例を示す模式図である。It is a schematic diagram which shows an example of the format of the code memory for input / output. ページ符号メモリ領域のマクロブロックの一例を示す模式図である。It is a schematic diagram which shows an example of the macroblock of a page code memory area. スキャナ入力、入力データ符号化、編集処理、およびページ符号化処理の流れを説明する図である。It is a figure explaining the flow of a scanner input, input data encoding, an edit process, and a page encoding process. 復号化処理および印刷処理の流れを説明する図である。It is a figure explaining the flow of a decoding process and a printing process. 符号化処理およびHDDへの格納の流れを説明する図である。It is a figure explaining the flow of an encoding process and the storing to HDD. HDDからの符号データの読み出し、編集処理、およびページ符号化処理の流れを説明する図である。It is a figure explaining the flow of reading of the code data from HDD, an edit process, and a page encoding process. スキャナ入力、および符号化処理の流れを説明する図である。It is a figure explaining the flow of a scanner input and an encoding process. 編集処理およびページ符号化処理の流れを説明する図である。It is a figure explaining the flow of an edit process and a page encoding process. ページ復号化処理および印刷出力の流れを説明する図である。It is a figure explaining the flow of a page decoding process and print output. 符号化処理、HDDへの格納、編集処理、およびページ符号化処理の流れを説明する図である。It is a figure explaining the flow of an encoding process, the storing to HDD, an edit process, and a page encoding process. 実施の形態1による画像処理装置の符号化部の機能的ブロック図である。3 is a functional block diagram of an encoding unit of the image processing apparatus according to Embodiment 1. FIG. 符号化処理手順を説明するフローチャートである。It is a flowchart explaining an encoding process procedure. 符号化処理手順を説明するフローチャートである。It is a flowchart explaining an encoding process procedure. 8ラインメモリフォーマットの一例を示す模式図である。It is a schematic diagram which shows an example of 8 line memory format. マクロブロックにおけるサブブロックの処理の方向を説明する図である。It is a figure explaining the direction of the process of the subblock in a macroblock. 画像データの符号化フォーマットの一例を説明する図である。It is a figure explaining an example of the encoding format of image data. 実施の形態1による符号化部における符号化処理部のブロック図である。5 is a block diagram of an encoding processing unit in the encoding unit according to Embodiment 1. FIG. 8ラインメモリアドレス生成部の詳細なブロック図である。It is a detailed block diagram of an 8-line memory address generation unit. MCUの一例を示す模式図である。It is a schematic diagram which shows an example of MCU. 符号化処理部におけるエントロピー符号化部の詳細なブロック図である。It is a detailed block diagram of the entropy encoding part in an encoding process part. AC符号化手順を説明する図である。It is a figure explaining an AC encoding procedure. DC符号化手順を説明する図である。It is a figure explaining DC encoding procedure. DC/AC値切り出し処理を説明する図である。It is a figure explaining DC / AC value cut-out processing. DC値符号化部を説明する図である。It is a figure explaining a DC value encoding part. AC値符号化部を説明する図である。It is a figure explaining an AC value encoding part. 符号化部の符号化処理部における符号フォーマット生成部の詳細なブロック図である。It is a detailed block diagram of the code format generation part in the encoding process part of an encoding part. 符号化部の符号化処理部におけるマクロブロック符号中間記憶部の詳細な機能的ブロック図である。It is a detailed functional block diagram of the macroblock code intermediate storage part in the encoding process part of an encoding part. 符号化部のマクロブロック先頭アドレス記憶部の詳細なブロック図である。It is a detailed block diagram of the macroblock head address memory | storage part of an encoding part. 実施の形態1による画像処理装置の編集部の機能的ブロック図である。3 is a functional block diagram of an editing unit of the image processing apparatus according to Embodiment 1. FIG. 編集部における合成メモリのフォーマットの一例を示す模式図である。It is a schematic diagram which shows an example of the format of the synthetic | combination memory in an edit part. 実施の形態1による画像処理装置における編集処理手順を説明するフローチャートである。6 is a flowchart illustrating an editing process procedure in the image processing apparatus according to the first embodiment. 実施の形態1による画像処理装置における編集処理手順を説明するフローチャートである。6 is a flowchart illustrating an editing process procedure in the image processing apparatus according to the first embodiment. マクロブロックからのデータの読み出し順序を説明する図である。It is a figure explaining the read-out order of the data from a macroblock. ページレベルの回転処理を説明する図である。It is a figure explaining the rotation process of a page level. マクロブロックレベルの回転処理を説明する図である。It is a figure explaining the rotation process of a macroblock level. サブブロックレベルの回転処理を説明する図である。It is a figure explaining the rotation process of a subblock level. サブブロックレベルの回転処理を説明する図である。It is a figure explaining the rotation process of a subblock level. 編集部における復号化部の機能的ブロック図である。It is a functional block diagram of the decoding part in an edit part. 編集部における復号化処理部による処理手順を説明するフローチャートである。It is a flowchart explaining the process sequence by the decoding process part in an edit part. マクロブロックごとに符号化されたデータ、およびサブブロックから構成されるマクロブロックの読み出し順番を示す模式図である。It is a schematic diagram which shows the reading order of the data encoded for every macroblock, and the macroblock comprised from a subblock. 編集部の復号化部における復号化処理部の機能的ブロック図である。It is a functional block diagram of the decoding process part in the decoding part of an edit part. 編集部におけるページ符号化部のブロック図である。It is a block diagram of the page encoding part in an edit part. ページ符号化部による処理手順を説明するフローチャートである。It is a flowchart explaining the process sequence by a page encoding part. マクロブロックにおけるサブブロックの処理順序を説明する図である。It is a figure explaining the processing order of the subblock in a macroblock. 実施の形態1による画像処理装置の図2ページに示したページ復号化部の詳細な機能的ブロック図である。3 is a detailed functional block diagram of a page decoding unit shown on page 2 of the image processing apparatus according to Embodiment 1. FIG. ページ復号化部におけるページ復号化処理手順を説明するフローチャートである。It is a flowchart explaining the page decoding process sequence in a page decoding part. ページ復号化部におけるページ復号化処理手順を説明するフローチャートである。It is a flowchart explaining the page decoding process sequence in a page decoding part. 8ラインメモリフォーマットの一例を示す模式図である。It is a schematic diagram which shows an example of 8 line memory format. マクロブロックを構成するサブブロックの復号化順序を説明する図である。It is a figure explaining the decoding order of the subblock which comprises a macroblock. ページ復号化部における復号化処理部の詳細なブロック図である。It is a detailed block diagram of a decoding processing unit in the page decoding unit. 復号化処理部におけるエントロピー復号化部の詳細なブロック図である。It is a detailed block diagram of the entropy decoding part in a decoding process part. エントロピー復号化部におけるシフト値生成部の詳細なブロック図である。It is a detailed block diagram of the shift value generation part in an entropy decoding part. ページ復号化部における図46に示したマクロブロック先頭アドレス記憶部の詳細なブロック図である。47 is a detailed block diagram of a macroblock head address storage unit shown in FIG. 46 in the page decoding unit. FIG. 図51に示されたシフト値生成部におけるマクロブロック復号化シフト値記憶部の詳細なブロック図である。FIG. 52 is a detailed block diagram of a macroblock decoded shift value storage unit in the shift value generation unit shown in FIG. 51. 実施の形態1による画像処理装置の画像処理部の機能的ブロック図である。2 is a functional block diagram of an image processing unit of the image processing apparatus according to Embodiment 1. FIG. 画像処理部による画像処理手順を説明するフローチャートである。It is a flowchart explaining the image processing procedure by an image processing part. 変形例1による画像処理装置のハード構成図である。It is a hardware block diagram of the image processing apparatus by the modification 1. ページ符号メモリ領域におけるマクロブロック符号フォーマットの変形例1を示す模式図である。It is a schematic diagram which shows the modification 1 of the macroblock code format in a page code memory area. 変形例1による編集部におけるページ符号化部の詳細なブロック図である。12 is a detailed block diagram of a page encoding unit in an editing unit according to Modification 1. FIG. 変形例1によるページ符号化部の処理手順を説明するフローチャートである。10 is a flowchart illustrating a processing procedure of a page encoding unit according to Modification 1. 変形例1によるマクロブロックにおいてサブブロックを読み込み処理を施す順序を説明する図である。It is a figure explaining the order which reads a subblock in the macroblock by the modification 1, and performs a process. 変形例1による画像処理装置におけるページ復号化部の詳細なブロック図である。FIG. 11 is a detailed block diagram of a page decoding unit in an image processing apparatus according to Modification 1. 変形例1による画像処理装置におけるページ復号化部の処理手順を説明するフローチャートである。10 is a flowchart illustrating a processing procedure of a page decoding unit in an image processing apparatus according to Modification 1. 変形例1による画像処理装置におけるページ復号化部の処理手順を説明するフローチャートである。10 is a flowchart illustrating a processing procedure of a page decoding unit in an image processing apparatus according to Modification 1. 変形例1による8ラインメモリフォーマットの一例を示す模式図である。It is a schematic diagram which shows an example of the 8-line memory format by the modification 1. 変形例1によるマクロブロックを構成するサブブロックの復号化順序を説明する図である。It is a figure explaining the decoding order of the subblock which comprises the macroblock by the modification 1. 変形例1による編集処理部における復号化処理部の詳細なブロック図である。FIG. 10 is a detailed block diagram of a decoding processing unit in an editing processing unit according to Modification 1. 変形例1による復号化処理部におけるエントロピー復号化部の詳細なブロック図である。FIG. 10 is a detailed block diagram of an entropy decoding unit in a decoding processing unit according to Modification 1. 本発明の実施の形態による画像処理装置を備えた複写機の内部機構を説明する図である。1 is a diagram illustrating an internal mechanism of a copying machine including an image processing apparatus according to an embodiment of the present invention. GBTC固定長圧縮のアルゴリズムを示した図である。It is the figure which showed the algorithm of GBTC fixed length compression. GBTC固定長圧縮のアルゴリズムを示した図である。It is the figure which showed the algorithm of GBTC fixed length compression. GBTC固定長圧縮のアルゴリズムを示した図である。It is the figure which showed the algorithm of GBTC fixed length compression.

符号の説明Explanation of symbols

1 CPU(中央演算部)
2 CPUI/F
3 メモリコントローラ
4 メモリ
5 ローカルバスI/F
6 ROM
7 パネルコントローラ
8 パネル
9 スキャナ
10 平滑フィルタ処理部
11 8ラインメモリ
12 符号化部
122 符号化処理部
123 マクロブロック先頭アドレス記憶部
124 メモリアドレス生成部
125 メモリコントローラI/F
126 コントローラ
1221 8*8バッファ
1222 8ラインメモリアドレス生成部
12221 加算器
12222 レジスタ
12223 乗算器
12224 比較部
12225 加算器
12226 レジスタ
1223 RGB−>YUV変換部
1224 YDCT処理部
1225 Y量子化処理部
1226 Yエントロピー符号化部
1227 UDCT処理部
1228 U量子化処理部
1229 Uエントロピー符号化部
1233 符号フォーマット生成部
1234 マクロブロック符号中間データ記憶部
1240 VDCT処理部
1241 V量子化処理部
1242 Vエントロピー符号化部
13、1300 編集部
1303 復号化部
13031 復号化処理部
1306、13060 ページ符号化部
1302 バッファ
1303 復号化部
13031 復号化処理部
13032 読み込みメモリアドレス生成部(マクロブロック符号アドレス認識部)
13033 マクロブロック先頭アドレス記憶部
1304 8*8回転処理部
13041 エントロピー復号化部
13042 Y逆量子化処理部
13044 U逆量子化処理部
1305 バッファ
1306 ページ符号化部
13061 8*8バッファ
13073 リスタートマーカー生成部
1308 画像合成部
1309 合成メモリI/F
1311 符号長カウント部
1313 メモリアドレス生成部
14、1400 ページ復号化部
143、14300 復号化処理部
1431、143100 エントロピー復号化部
14317 シフト値生成部
143172 マクロブロック復号化シフト値記憶部
1432 Y逆量子化処理部
1434 U逆量子化処理部
1436 V逆量子化処理部
144 読み込みメモリアドレス生成部
145 マクロブロック先頭アドレス記憶部
15 画像処理部
16 エンジンコントローラ
17 プリンタエンジン
18 HDD制御部
19 HDD
30 操作パネル
1200 複写機
1 CPU (central processing unit)
2 CPU I / F
3 Memory controller 4 Memory 5 Local bus I / F
6 ROM
7 Panel Controller 8 Panel 9 Scanner 10 Smoothing Filter Processing Unit 11 8 Line Memory 12 Encoding Unit 122 Encoding Processing Unit 123 Macroblock Head Address Storage Unit 124 Memory Address Generation Unit 125 Memory Controller I / F
126 Controller 1221 8 * 8 Buffer 1222 8-Line Memory Address Generation Unit 12221 Adder 12222 Register 12223 Multiplier 12224 Comparison Unit 12225 Adder 12226 Register 1223 RGB-> YUV Conversion Unit 1224 YDCT Processing Unit 1225 Y Quantization Processing Unit 1226 Y Entropy Encoding unit 1227 UDCT processing unit 1228 U quantization processing unit 1229 U entropy encoding unit 1233 Code format generation unit 1234 Macroblock code intermediate data storage unit 1240 VDCT processing unit 1241 V quantization processing unit 1242 V entropy encoding unit 13, 1300 Editing unit 1303 Decoding unit 13031 Decoding processing unit 1306, 13060 Page encoding unit 1302 Buffer 1303 Decoding unit 130 1 decoding unit 13032 reads the memory address generation unit (macro block code address recognition unit)
13033 Macroblock head address storage unit 1304 8 * 8 rotation processing unit 13041 Entropy decoding unit 13042 Y inverse quantization processing unit 13044 U inverse quantization processing unit 1305 Buffer 1306 Page encoding unit 13061 8 * 8 buffer 13073 Restart marker generation Part 1308 image composition part 1309 composition memory I / F
1311 Code length count unit 1313 Memory address generation unit 14, 1400 page decoding unit 143, 14300 Decoding processing unit 1431, 143100 Entropy decoding unit 14317 Shift value generation unit 143172 Macroblock decoding shift value storage unit 1432 Y inverse quantization Processing Unit 1434 U Inverse Quantization Processing Unit 1436 V Inverse Quantization Processing Unit 144 Read Memory Address Generation Unit 145 Macroblock Head Address Storage Unit 15 Image Processing Unit 16 Engine Controller 17 Printer Engine 18 HDD Control Unit 19 HDD
30 Operation panel 1200 Copier

Claims (14)

入力される画像データを可変長符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像処理装置であって、
入力される前記画像データに対して編集処理内容の指定を受け付ける編集指定手段と、
入力される前記画像データを、マクロブロックを構成する多値のサブブロック単位のラインデータとして記憶する多値ブロックラインデータ記憶手段と、
前記多値ブロックラインデータ記憶手段から前記多値ブロックラインデータを読み出して前記マクロブロック単位に可変長符号化するマクロブロック可変長符号化手段と、
前記マクロブロック可変長符号化手段による可変長符号化の際に、前記マクロブロックが画像において並ぶ同一の水平ラインの前記マクロブロックの先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、
前記マクロブロック可変長符号化手段による可変長符号化の際に、前記同一の水平ラインに可変長符号化する前記マクロブロックの可変長符号化処理の中間データを記憶するマクロブロック符号中間データ記憶手段と、
前記マクロブロック可変長符号化手段によって生成された可変長符号データを前記マクロブロック単位で順次記憶するマクロブロック符号記憶手段と、
前記マクロブロック符号記憶手段に記憶された前記マクロブロック単位の可変長符号データに対応する前記マクロブロック先頭アドレス記憶手段に記憶された各ブロックの先頭アドレスを認識するマクロブロック符号アドレス認識手段と、
前記編集指定手段によって指定された編集処理内容に従って、前記マクロブロック符号記憶手段に記憶された可変長符号データを、前記マクロブロック符号アドレス認識手段によって認識された各ブロックの先頭アドレスに従って読み込み復号化して編集する編集手段と、
を備えたことを特徴とする画像処理装置。
An image processing apparatus that performs variable length coding on input image data, edits, decodes, performs image processing, and outputs image data after image processing,
Editing designation means for accepting designation of editing processing content for the input image data;
Multi-value block line data storage means for storing the input image data as multi-value sub-block unit line data constituting a macroblock;
Macroblock variable length encoding means for reading the multilevel block line data from the multilevel block line data storage means and performing variable length encoding on a macroblock basis;
Macroblock head address storage means for storing the head address of the macroblock on the same horizontal line in which the macroblocks are arranged in an image during variable length coding by the macroblock variable length coding means;
Macroblock code intermediate data storage means for storing intermediate data of variable length coding processing of the macroblock for variable length coding on the same horizontal line during variable length coding by the macroblock variable length coding means When,
Macroblock code storage means for sequentially storing variable length code data generated by the macroblock variable length encoding means in units of macroblocks;
Macroblock code address recognition means for recognizing the head address of each block stored in the macroblock head address storage means corresponding to the variable length code data of the macroblock unit stored in the macroblock code storage means;
The variable length code data stored in the macroblock code storage means is read and decoded according to the head address of each block recognized by the macroblock code address recognition means in accordance with the editing processing content designated by the edit designation means. Editing means for editing,
An image processing apparatus comprising:
サブブロックから構成されるマクロブロック単位に可変長符号化された画像データを入力し、編集し、復号化した後に画像処理を施して出力する画像処理装置であって、
入力される前記画像データに対する編集処理内容の指定を受け付ける編集指定手段と、
前記可変長符号データをマクロブロック単位で記憶するマクロブロック符号記憶手段と、
前記編集指定手段によって指定された編集処理内容に応じて、前記マクロブロック符号記憶手段に記憶された可変長符号データを読み込み、復号化し、編集し、再び可変長符号化して前記マクロブロック符号記憶手段に送信する編集手段と、
前記マクロブロック符号記憶手段に記憶された可変長符号データに対応する各マクロブロックのアドレスを認識するマクロブロック符号アドレス認識手段と、
前記マクロブロック符号アドレス記憶手段から前記マクロブロックの先頭アドレスを受け取り、前記マクロブロック符号記憶手段から前記編集手段によって編集されたマクロブロックの可変長符号データを読み取り、順次復号化するマクロブロック復号化手段と、
前記マクロブロック復号化手段による復号化に際して、前記マクロブロック符号記憶手段に記憶された同一の水平ラインの前記マクロブロックの先頭アドレスを記憶するマクロブロック先頭アドレス記憶手段と、
前記マクロブロック復号化手段による復号化に際して、前記同一の水平ラインに処理する前記マクロブロックの復号化途中のデータを記憶するマクロブロック復号中間データ記憶手段と、
前記マクロブロック復号中間データ記憶手段に記憶された少なくとも前記サブブロック単位の画像データを受け取り、画像処理を行う画像処理手段と、
前記画像処理手段により生成された画像処理後の画像データを画像の主走査方向に順次プリンタエンジンへ転送する画像出力手段と、
を備えたことを特徴とする画像処理装置。
An image processing device that inputs image data that is variable-length-coded in units of macroblocks composed of sub-blocks, edits, decodes, and outputs the processed image,
Editing designation means for accepting designation of editing processing content for the input image data;
Macroblock code storage means for storing the variable-length code data in units of macroblocks;
In accordance with the editing processing content designated by the edit designating means, the variable length code data stored in the macroblock code storage means is read, decoded, edited, variable length coded again, and the macroblock code storage means Editing means to send to
Macroblock code address recognition means for recognizing the address of each macroblock corresponding to the variable length code data stored in the macroblock code storage means;
Macroblock decoding means for receiving the start address of the macroblock from the macroblock code address storage means, reading the variable length code data of the macroblock edited by the editing means from the macroblock code storage means, and sequentially decoding the data When,
Macroblock start address storage means for storing the start address of the macroblock of the same horizontal line stored in the macroblock code storage means upon decoding by the macroblock decoding means;
Macroblock decoding intermediate data storage means for storing data in the middle of decoding the macroblock to be processed on the same horizontal line upon decoding by the macroblock decoding means;
Image processing means for receiving image data of at least the sub-block unit stored in the macroblock decoding intermediate data storage means and performing image processing;
Image output means for sequentially transferring the image data after image processing generated by the image processing means to the printer engine in the main scanning direction of the image;
An image processing apparatus comprising:
前記マクロブロック符号アドレス認識手段は、複数のサブブロックからなるマクロブロックで発生する符号長の合計を計算する符号長計算手段を有するものであることを特徴とする請求項1に記載の画像処理装置。   2. The image processing apparatus according to claim 1, wherein the macroblock code address recognizing means includes code length calculating means for calculating a total code length generated in a macroblock composed of a plurality of sub-blocks. . 前記マクロブロック符号アドレス認識手段は、
前記符号長合計計算手段によって生成された符号長から、前記マクロブロック符号記憶手段のアドレスを計算するアドレス計算手段を有するものであることを特徴とする請求項3に記載の画像処理装置。
The macroblock code address recognition means includes:
4. The image processing apparatus according to claim 3, further comprising an address calculation unit that calculates an address of the macroblock code storage unit from the code length generated by the code length total calculation unit.
前記編集手段は、
前記マクロブロックの画像データを復号化して展開するマクロブロック展開記憶手段を有するものであることを特徴とする請求項1または2に記載の画像処理装置。
The editing means includes
The image processing apparatus according to claim 1, further comprising a macroblock expansion storage unit that decodes and expands the image data of the macroblock.
前記編集手段は、前記マクロブロック展開記憶手段に記憶された画像に合成処理を施す画像合成処理手段を有するものであることを特徴とする請求項5に記載の画像処理装置。   6. The image processing apparatus according to claim 5, wherein the editing means includes image composition processing means for performing composition processing on an image stored in the macroblock development storage means. 前記編集手段は、
前記編集指定手段によって指定された編集内容に応じて、前記マクロブロック展開記憶手段に記憶された画像データをサブブロックごとに90度単位で回転する回転処理手段を有するものであることを特徴とする請求項5または6に記載の画像処理装置。
The editing means includes
The image processing apparatus includes a rotation processing unit that rotates the image data stored in the macroblock development storage unit in units of 90 degrees for each subblock according to the editing content designated by the editing designation unit. The image processing apparatus according to claim 5.
前記マクロブロック可変長符号化手段は、
前記マクロブロック単位の画像データの水平方向に1ブロックラインの終端を検出する画像ブロックライン終端検出手段を有するものであることを特徴とする請求項1に記載の画像処理装置。
The macroblock variable length encoding means includes:
2. The image processing apparatus according to claim 1, further comprising image block line end detection means for detecting the end of one block line in the horizontal direction of the image data in units of macroblocks.
前記画像ブロックライン終端検出手段は、
前記マクロブロック単位の画像データの水平方向の1ブロックラインの終端にリスタートマーカーを挿入するリスタートマーカー挿入手段を有するものであることを特徴とする請求項8に記載の画像処理装置。
The image block line end detection means comprises:
9. The image processing apparatus according to claim 8, further comprising restart marker insertion means for inserting a restart marker at the end of one block line in the horizontal direction of the image data in units of macroblocks.
前記マクロブロック復号化手段は、
前記マクロブロック符号記憶手段により記憶された可変長符号データの水平方向の1ブロックラインの終端を検出する符号ブロックライン終端検出手段を有し、
前記符号ブロックライン終端検出手段によって検出された前記終端を使用して、前記マクロブロック符号記憶手段により記憶された可変長符号データを読み込んで復号化するものであることを特徴とする請求項2に記載の画像処理装置。
The macroblock decoding means includes:
Code block line end detection means for detecting the end of one block line in the horizontal direction of the variable length code data stored by the macroblock code storage means;
3. The variable length code data stored in the macroblock code storage means is read and decoded using the termination detected by the code block line end detection means. The image processing apparatus described.
前記符号ブロックライン終端検出手段は、
前記マクロブロック符号記憶手段により記憶された符号を読み込む水平方向に1ブロックラインの終端のリスタートマーカーを検出するリスタートマーカー検出手段を有するものであることを特徴とする請求項10に記載の画像処理装置。
The code block line end detection means comprises:
11. The image according to claim 10, further comprising restart marker detection means for detecting a restart marker at the end of one block line in a horizontal direction for reading a code stored by the macroblock code storage means. Processing equipment.
入力される画像データを可変長符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像処理装置であって、
編集処理内容の指定を受け付ける編集指定手段と、
多値のサブブロック単位の1ラインのデータを記憶する多値ブロックラインデータ記憶手段と、
前記多値ブロックラインデータ記憶手段から複数のマクロブロック単位の符号を生成する第1のマクロブロック可変長符号化手段と、
前記第1のマクロブロック可変長符号化手段によって生成された複数のマクロブロック単位の可変長符号データを順次記憶する第1のマクロブロック符号記憶手段と、
前記第1のマクロブロック符号記憶手段に記憶された可変長符号データに対して、各マクロブロックが記憶されたアドレスを認識する第1のマクロブロック符号アドレス認識手段と、
前記編集指定手段によって指定された編集処理内容に応じて、前記第1のマクロブロック符号記憶手段に記憶された可変長符号データを、前記第1のマクロブロック符号アドレス認識手段が認識する前記アドレスを使用して読み込み、復号化して編集する編集手段と
前記編集手段によって編集された画像データをマクロブロック単位に可変長符号化する第2のマクロブロック可変長符号化手段と、
前記第2のマクロブロック可変長符号化手段によって生成された可変長符号データをマクロブロック単位で順次記憶する第2のマクロブロック符号記憶手段と、
前記第2のマクロブロック符号記憶手段に記憶された可変長符号データに対して、各マクロブロックが記憶されたアドレスを認識する第2のマクロブロック符号アドレス認識手段と、
前記第2のマクロブロック符号アドレス記憶手段から前記マクロブロックの先頭アドレスを受け取り、前記第2のマクロブロック符号記憶手段からマクロブロックの可変長符号データを読み取って、順次復号化するマクロブロック復号化手段と、
前記マクロブロック復号化手段によって復号化された多値ブロックラインデータを記憶する出力用多値ブロックラインデータ記憶手段と、
前記出力用多値ブロックラインデータ記憶手段に記憶された前記サブブロック単位の画像データを受け取り、画像処理を行う画像処理手段と、
前記画像処理手段により生成された画像処理後の画像データを、画像の主走査方向に順次プリンタエンジンへ転送する画像出力手段と、
を備えたことを特徴とする画像処理装置。
An image processing apparatus that performs variable length coding on input image data, edits, decodes, performs image processing, and outputs image data after image processing,
Edit specification means for accepting specification of edit processing contents;
Multi-value block line data storage means for storing one-line data in units of multi-value sub-blocks;
First macroblock variable length encoding means for generating a code of a plurality of macroblock units from the multi-value block line data storage means;
First macroblock code storage means for sequentially storing a plurality of macroblock variable length code data generated by the first macroblock variable length encoding means;
First macroblock code address recognition means for recognizing an address at which each macroblock is stored for variable length code data stored in the first macroblock code storage means;
In accordance with the editing processing content designated by the editing designation means, the address that the first macroblock code address recognition means recognizes the variable length code data stored in the first macroblock code storage means. Editing means for reading using, decoding and editing; second macroblock variable length encoding means for variable length encoding the image data edited by the editing means in units of macroblocks;
Second macroblock code storage means for sequentially storing the variable length code data generated by the second macroblock variable length encoding means in units of macroblocks;
Second macroblock code address recognizing means for recognizing an address at which each macroblock is stored for variable length code data stored in the second macroblock code storage means;
Macroblock decoding means for receiving the start address of the macroblock from the second macroblock code address storage means, reading the variable length code data of the macroblock from the second macroblock code storage means, and sequentially decoding the data. When,
Output multi-value block line data storage means for storing the multi-value block line data decoded by the macroblock decoding means;
Image processing means for receiving image data in units of sub-blocks stored in the output multi-value block line data storage means and performing image processing;
Image output means for sequentially transferring the image data after the image processing generated by the image processing means to the printer engine in the main scanning direction of the image;
An image processing apparatus comprising:
入力される画像データを可変長符号化し、編集し、復号化した後に画像処理を施し、画像処理後の画像データを出力する画像処理方法であって、
入力される前記画像データに対して編集処理内容の指定を受け付ける編集指定工程と、
入力される前記画像データを、マクロブロックを構成する多値のサブブロック単位のラインデータとして記憶する多値ブロックラインデータ記憶工程と、
前記多値ブロックラインデータ記憶工程において記憶された前記多値ブロックラインデータを読み出して前記マクロブロック単位に可変長符号化するマクロブロック可変長符号化工程と、
前記マクロブロック可変長符号化工程における可変長符号化の際に、前記マクロブロックが画像において並ぶ同一の水平ラインの前記マクロブロックの先頭アドレスを記憶するマクロブロック先頭アドレス記憶工程と、
前記マクロブロック可変長符号化工程において生成された可変長符号データを前記マクロブロック単位で順次記憶するマクロブロック符号記憶工程と、
前記編集指定工程によって指定された編集処理内容に従って、前記マクロブロック符号記憶工程において記憶された可変長符号データを読み込み、復号化して編集する編集工程と、
前記マクロブロック先頭符号アドレス記憶工程において記憶された前記マクロブロックの先頭アドレスを読み取り、前記マクロブロック符号記憶工程において記憶された前記マクロブロックの符号データを読み取り、順次復号化するマクロブロック復号化工程と、
前記マクロブロック復号化工程において復号化されたデータを記憶する出力用多値ブロックラインデータ記憶工程と、
前記出力用多値ブロックラインデータ記憶工程において記憶されたサブブロック単位の画像データを受け取り、画像処理を行う画像処理工程と、
前記画像処理工程によって生成された画像処理後の画像データを画像の主走査方向に順次プリンタエンジンへ転送する画像出力工程と、
を含むことを特徴とする画像処理方法。
An image processing method for performing variable length encoding, editing and decoding input image data, performing image processing, and outputting image data after image processing,
An edit designation step for accepting designation of edit processing content for the input image data;
A multi-value block line data storage step of storing the input image data as line data in units of multi-value sub-blocks constituting a macroblock;
A macroblock variable length encoding step of reading the multilevel block line data stored in the multilevel block line data storage step and performing variable length encoding on a macroblock basis;
A macroblock head address storing step for storing a head address of the macroblock on the same horizontal line in which the macroblocks are arranged in an image during variable length coding in the macroblock variable length coding step;
A macroblock code storage step of sequentially storing the variable length code data generated in the macroblock variable length encoding step in units of the macroblock;
In accordance with the editing processing content specified in the editing specification step, the editing step of reading the variable length code data stored in the macroblock code storage step, decoding and editing,
A macroblock decoding step of reading the macroblock head address stored in the macroblock head code address storing step, reading the code data of the macroblock stored in the macroblock code storing step, and sequentially decoding the data; ,
An output multi-value block line data storing step for storing data decoded in the macroblock decoding step;
An image processing step for receiving image data in units of sub-blocks stored in the output multi-value block line data storage step, and performing image processing;
An image output step of sequentially transferring the image data after the image processing generated by the image processing step to the printer engine in the main scanning direction of the image;
An image processing method comprising:
請求項13に記載の画像処理方法をコンピュータで実行することを特徴とするプログラム。   A program for executing the image processing method according to claim 13 on a computer.
JP2003420092A 2003-12-17 2003-12-17 Image processing apparatus, image processing method, and program for executing the method on a computer Expired - Fee Related JP4173798B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003420092A JP4173798B2 (en) 2003-12-17 2003-12-17 Image processing apparatus, image processing method, and program for executing the method on a computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003420092A JP4173798B2 (en) 2003-12-17 2003-12-17 Image processing apparatus, image processing method, and program for executing the method on a computer

Publications (2)

Publication Number Publication Date
JP2005184265A true JP2005184265A (en) 2005-07-07
JP4173798B2 JP4173798B2 (en) 2008-10-29

Family

ID=34781767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003420092A Expired - Fee Related JP4173798B2 (en) 2003-12-17 2003-12-17 Image processing apparatus, image processing method, and program for executing the method on a computer

Country Status (1)

Country Link
JP (1) JP4173798B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048408A (en) * 2006-08-17 2008-02-28 Samsung Electronics Co Ltd Deblocking filtering method and image processing device using the method
CN111598883A (en) * 2020-05-20 2020-08-28 重庆工程职业技术学院 Calibration label equipment for acquiring cloud data medical image and working method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048408A (en) * 2006-08-17 2008-02-28 Samsung Electronics Co Ltd Deblocking filtering method and image processing device using the method
CN111598883A (en) * 2020-05-20 2020-08-28 重庆工程职业技术学院 Calibration label equipment for acquiring cloud data medical image and working method
CN111598883B (en) * 2020-05-20 2023-05-26 重庆工程职业技术学院 Calibration label equipment for acquiring cloud data medical images and working method

Also Published As

Publication number Publication date
JP4173798B2 (en) 2008-10-29

Similar Documents

Publication Publication Date Title
US7233702B2 (en) Image data compression apparatus for compressing both binary image data and multiple value image data
US9215345B2 (en) Method and system for inverse halftoning utilizing inverse projection of predicted errors
JPH08116448A (en) Coder and decoder for image signal
US7813565B2 (en) Image processing apparatus, image forming apparatus, and image processing method
US7212677B2 (en) Coder, coding method, program, and image forming apparatus for improving image data compression ratio
JP2009037539A (en) Information processing apparatus, pre-flight method and program
JP4173798B2 (en) Image processing apparatus, image processing method, and program for executing the method on a computer
JP3311549B2 (en) Magnification control device for image processing device
US7986443B2 (en) Image processing apparatus, image processing method and memory medium
JP3982693B2 (en) Secondary discrete cosine transform processing device, secondary discrete cosine transform processing method, image encoding processing device, and image encoding processing method
JP3862637B2 (en) Data compression method, apparatus, image processing apparatus, and image forming apparatus
JP3950647B2 (en) Image processing apparatus and processing method thereof
JP3821422B2 (en) Image data compression method, compression / decompression method, recording medium, compressor, image storage device, image reading device, and image forming device
JP4148456B2 (en) Image decoding apparatus, image decoding method, program, and recording medium
JP3738807B2 (en) Image processing apparatus and image processing method
JP2004266654A (en) Device and method for image forming, and program for executing the method
JP4787781B2 (en) Image forming apparatus
JP2005262676A (en) Image processing apparatus, image processing method, and computer readable recording medium having program for making computer execute image processing method recorded therein
JP4111863B2 (en) Image processing apparatus, image forming apparatus, image processing program, and storage medium
JP2003169221A (en) Color image forming apparatus and color image processing method
JP3877416B2 (en) Image processing apparatus and image processing method
JP2007060267A (en) Image processing system having reduced layout function
JP2007028649A (en) Image compression processor
JP3750454B2 (en) Image data encoding apparatus, image data encoding method, recording medium, and image forming apparatus
JP2008027198A (en) Image processing apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

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: 20080812

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080814

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees