JP2008236084A - Image processing method, image processor, image processing program and recording medium - Google Patents

Image processing method, image processor, image processing program and recording medium Download PDF

Info

Publication number
JP2008236084A
JP2008236084A JP2007069600A JP2007069600A JP2008236084A JP 2008236084 A JP2008236084 A JP 2008236084A JP 2007069600 A JP2007069600 A JP 2007069600A JP 2007069600 A JP2007069600 A JP 2007069600A JP 2008236084 A JP2008236084 A JP 2008236084A
Authority
JP
Japan
Prior art keywords
data
image
divided
compressed data
divided compressed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007069600A
Other languages
Japanese (ja)
Inventor
Tetsuya Sasaki
哲哉 佐々木
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 JP2007069600A priority Critical patent/JP2008236084A/en
Publication of JP2008236084A publication Critical patent/JP2008236084A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the utilization efficiency of a memory even for a variable length compression system and to provide continuous compression data. <P>SOLUTION: An image input part inputs image data, an image division part 20 divides the image data by a block unit, and a compression processing part 30 compresses the divided image data respectively in parallel. At the time, a data amount detection part 40 detects data amounts in the middle of compression and after the compression, a data amount comparison part 50 compares the data amounts in the middle of the compression and after the compression with the capacity of the buffer memory 61 of a first storage part 60, and the image data are compressed again by appropriately lowering compressibility under the control of a CPU 80 and are stored in the buffer memory 61 of the first storage part 60. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は画像処理方法、画像処理装置、画像処理プログラム及び記録媒体に関し、特に画像データを複数領域に分割し個別に圧縮処理を施す画像処理方法、画像処理装置、画像処理プログラム及び記録媒体に関するものである。   The present invention relates to an image processing method, an image processing apparatus, an image processing program, and a recording medium, and more particularly to an image processing method, an image processing apparatus, an image processing program, and a recording medium that divide image data into a plurality of regions and individually compress the image data. It is.

特許文献1には次のような技術が開示されている。即ち、画像データ処理回路が入力転送と出力転送とを並列的に処理する並列入出力モード、入力した画像データを並列的に圧縮処理する並列入力モード、並列的に伸張したデータを出力部へ転送する並列出力モードのいずれかを選択する転送制御部を備える。これにより要求される圧縮・伸張処理速度ならびに画像データ転送速度に応じた構成を選択し、高速機と中速機の両方の用途に夫々好適な構成で適用することができる。例えば、高速機向けには並列入力モードの当該回路と、並列出力モードの当該回路を対で使用し中速機向けには並列入出力モードの当該回路を単独で使用することにより夫々の用途に応じて構成を最適化できる。
特許文献2には、分割データ毎の処理時間が近似するようにデータを分割し、分割データを並行処理して同一のメモリ空間内の異なるアドレスに格納することによって全体の処理時間を短縮し高速化を図るという技術が開示されている。ここでの処理には圧縮/伸長処理も含まれている。またメモリへの蓄積方法を工夫し使用されない無駄なメモリの発生を抑制させる様々な方法について記述されている。より詳細には、画像を複数のバンドに分割して圧縮し、夫々の圧縮データを同一メモリ上の先頭アドレスからアドレスをインクリメント(増加)させる方向と、最終アドレスからアドレスをデクリメントする方向で交互に蓄積するなどの方法が記述されている。
Patent Document 1 discloses the following technique. In other words, the parallel input / output mode in which the image data processing circuit processes input transfer and output transfer in parallel, the parallel input mode in which input image data is compressed in parallel, and the data decompressed in parallel are transferred to the output unit A transfer control unit for selecting one of the parallel output modes. As a result, a configuration corresponding to the required compression / decompression processing speed and image data transfer speed can be selected and applied with a configuration suitable for both high-speed and medium-speed machines. For example, a parallel input mode circuit and a parallel output mode circuit are used in pairs for high-speed machines, and a parallel input / output mode circuit is used independently for medium-speed machines. The configuration can be optimized accordingly.
In Patent Document 2, data is divided so that the processing time for each divided data is approximated, and the divided data is processed in parallel and stored at different addresses in the same memory space, thereby reducing the overall processing time and increasing the speed. A technique for achieving the above is disclosed. This processing includes compression / decompression processing. In addition, various methods for suppressing generation of useless memory that is not used by devising a storage method in the memory are described. More specifically, the image is divided into a plurality of bands and compressed, and each compressed data is alternately changed in a direction in which the address is incremented from the top address on the same memory and a direction in which the address is decremented from the last address. The method of accumulation etc. is described.

また、プリンタやデジタル複合機等の画像処理装置では、スキャナなどの画像入力手段を介して入力された画像データを記憶手段に保存する際に、所定の規格に準じた画像圧縮方式により画像データを圧縮し、また保存された画像データを印刷する際には圧縮された画像データを伸張した後印刷処理を行う構成が知られている。上記画像データの圧縮処理・伸張処理には、一般にASIC等の専用の回路が用いられているが単独の回路構成では圧縮・伸張処理が入出力の速度に追従できない場合があった。そこで、前述のように画像データを扱う画像処理の分野では、圧縮/伸長処理などの画像処理を高速に行うため、画像データを複数の領域に分割し、複数の画像処理部で並行処理する手法が知られている。
特開2006−49991公報 特開2005−332298公報
In addition, in an image processing apparatus such as a printer or a digital multi-function peripheral, when storing image data input via an image input means such as a scanner in the storage means, the image data is stored by an image compression method in accordance with a predetermined standard. When printing compressed and stored image data, a configuration is known in which the compressed image data is expanded and then subjected to a printing process. In the image data compression / decompression process, a dedicated circuit such as an ASIC is generally used. However, in some cases, the compression / decompression process cannot follow the input / output speed. Therefore, in the field of image processing that handles image data as described above, in order to perform image processing such as compression / decompression at high speed, a method of dividing image data into a plurality of regions and performing parallel processing by a plurality of image processing units. It has been known.
JP 2006-49991 A JP 2005-332298 A

しかしながら、特許文献1記載の発明には、圧縮したデータをメモリに蓄積する動作については詳細な記述がなされておらず、1つの画像データが複数のブロックに分割された状態で個別に蓄積されると考えられる。このため、圧縮データを伸張する際に分割された圧縮データを結合する必要があり煩雑である。また、圧縮処理が可変長圧縮である場合、分割された個別の圧縮データを格納するメモリを最低圧縮率のものに合わせておく必要があるためメモリ資源を有効に活用できないという問題がある。
また、特許文献2に記載の発明で開示されている方法を用いた場合、メモリの利用効率を上げることができるものの、メモリに格納した夫々のバンドの順序がばらばらになり圧縮データを伸長する際に並び替えを行ったり、別途順番に読み出す工夫が必要になったりするなど煩雑である。また、メモリの先頭アドレスからアドレスをインクリメントして格納したデータと、最終アドレスからアドレスをデクリメントして格納したデータとの間は、不連続となるという問題があり、使用されないメモリ空間が発生してしまうことが懸念される。また、夫々のバンドの順序が元の画像データに対してばらばらになってしまうため、格納された圧縮データの先頭のバンドまたは最終のバンド以外のバンドデータを読み出すには、先頭アドレスまたは最終アドレスから順に読み出す必要がありアクセス性が悪いという問題がある。
However, in the invention described in Patent Document 1, there is no detailed description about the operation of storing the compressed data in the memory, and one image data is stored individually in a state of being divided into a plurality of blocks. it is conceivable that. For this reason, it is necessary to combine the divided compressed data when decompressing the compressed data, which is complicated. Further, when the compression processing is variable length compression, there is a problem that memory resources cannot be effectively used because it is necessary to match the memory for storing the divided individual compressed data with the one having the lowest compression rate.
Further, when the method disclosed in the invention described in Patent Document 2 is used, the use efficiency of the memory can be improved, but the order of the respective bands stored in the memory is dispersed and the compressed data is decompressed. It is cumbersome, for example, to rearrange them or to devise a device that reads them in order. In addition, there is a problem that the data stored by incrementing the address from the start address of the memory and the data stored by decrementing the address from the last address are discontinuous, and an unused memory space is generated. There is a concern that In addition, since the order of each band is different from that of the original image data, in order to read band data other than the first band or the last band of the stored compressed data, the first address or the last address can be read. There is a problem that it is necessary to read in order and the accessibility is poor.

また、画像データを複数の領域に分割し、複数の画像処理部で並行処理する手法では、例えば、JPEGやJPEG2000などの可変長圧縮形式の場合、圧縮処理前後でデータ量が変化するだけでなく、圧縮処理前のデータ量が同一であっても圧縮処理後のデータ量が異なるのが通常であり、圧縮処理後のデータ量が予測できない。そのため、複数の圧縮手段で並行処理する場合、分割された夫々の圧縮データを格納するためのメモリ空間を予め大きめに割り当てておかねばならず、メモリ資源を効率的に利用できないという問題があった。また、圧縮された画像データは再利用する際にはバーストリードするのが効率的であるので、メモリ上では連続して格納されている方が好ましいという問題もあった。
本発明は、上記問題点を鑑み考案されたものであり、可変長圧縮方式であってもメモリの利用効率が良く、且つ連続した圧縮データが得られる画像処理方法、画像処理装置、画像処理プログラム、また前記画像処理プログラムを格納した記録媒体を提供することを目的とする。
In addition, in the method of dividing image data into a plurality of regions and performing parallel processing by a plurality of image processing units, for example, in the case of a variable length compression format such as JPEG or JPEG2000, not only the data amount changes before and after the compression processing. Even if the data amount before the compression process is the same, the data amount after the compression process is usually different, and the data amount after the compression process cannot be predicted. Therefore, when performing parallel processing by a plurality of compression means, a memory space for storing each of the divided compressed data has to be allocated in advance and there is a problem that memory resources cannot be used efficiently. . Further, since it is efficient to burst read the compressed image data when it is reused, there is a problem that it is preferable that the compressed image data be stored continuously in the memory.
The present invention has been devised in view of the above-described problems. An image processing method, an image processing apparatus, and an image processing program capable of obtaining efficient compressed memory and obtaining continuous compressed data even in a variable length compression method. Another object is to provide a recording medium storing the image processing program.

上述した課題を解決し目的を達成するために、請求項1にかかる発明は、画像データを入力する画像入力工程と前記画像入力工程により入力された画像データから、1又は複数の領域からなる分割データを生成する分割データ生成工程と、前記生成された1又は複数の分割データを前記領域毎に個別に圧縮し、1または複数の分割圧縮データを生成する分割圧縮データ生成工程と、前記1又は複数の分割圧縮データを複数の記憶空間を有する第1の記憶手段のいずれか1つの記憶空間に、領域毎に個別に格納する第1の記憶工程と前記第1の記憶手段の各記憶空間に格納された夫々の分割圧縮データを、第2の記憶手段に連続的に格納し直す第2の記憶工程と、を有する画像処理方法であって、前記領域毎の分割圧縮データのデータ量を検出するデータ量検出工程と、前記データ量検出工程にて検出された分割圧縮データのデータ量と、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量とを比較するデータ量比較工程と、を有し、前記データ量比較工程における比較の結果、分割圧縮データのデータ量が当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量よりも大きいと判定された場合、前記分割圧縮データ生成工程は分割圧縮データのデータ量を前記記憶空間に格納できるデータ量に変換することを特徴とする。   In order to solve the above-described problems and achieve the object, the invention according to claim 1 is an image input process for inputting image data, and a division made up of one or a plurality of regions from the image data input by the image input process. A divided data generation step for generating data; a divided compressed data generation step for individually compressing the generated one or more divided data for each region to generate one or a plurality of divided compressed data; A first storage step of individually storing a plurality of divided compressed data in any one storage space of a first storage unit having a plurality of storage spaces, and each storage space of the first storage unit A second storage step of continuously storing each of the stored divided compressed data in the second storage means, wherein the data amount of the divided compressed data for each region is detected Data amount detection step, and a data amount comparison step of comparing the data amount of the divided compressed data detected in the data amount detection step with the storage space capacity of the first storage means corresponding to the divided compressed data And, as a result of the comparison in the data amount comparison step, when it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage unit corresponding to the divided compressed data, The divided compressed data generation step converts the data amount of the divided compressed data into a data amount that can be stored in the storage space.

また、請求項2にかかる発明は、請求項1にかかる発明において、前記分割圧縮データ生成工程は、画像データを周波数成分に変換する周波数変換工程を有し画像データを構成する周波数成分のうち、高周波成分側の一部を除去することによって分割圧縮データのデータ量を変換することを特徴とする。
また、請求項3にかかる発明は、請求項2にかかる発明において、前記分割圧縮データ生成工程は画像データの低周波成分側から順次圧縮し、且つ前記データ量検出工程及び前記データ量比較工程と並行して実行され、前記データ量比較工程の結果、分割圧縮データのデータ量が当該分割圧縮データが対応する前期第1の記憶手段の記憶空間容量よりも大きいと判定された場合、前記分割圧縮データ生成工程は、その周波数成分以降の高周波成分の圧縮を実行しないことで、実質的に画像データの高周波成分側の一部を除去することを特徴とする。
The invention according to claim 2 is the invention according to claim 1, wherein the divided compressed data generation step includes a frequency conversion step of converting the image data into a frequency component, and among the frequency components constituting the image data, The data amount of the divided compressed data is converted by removing a part on the high frequency component side.
According to a third aspect of the present invention, in the invention according to the second aspect, the divided compressed data generation step sequentially compresses image data from the low frequency component side, and the data amount detection step and the data amount comparison step. When it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage means corresponding to the divided compressed data as a result of the data amount comparison step, the divided compressed data The data generation step is characterized in that a part of the high frequency component side of the image data is substantially removed by not performing compression of the high frequency component after the frequency component.

また、請求項4にかかる発明は、画像データを入力する画像入力手段と、前記画像入力手段により入力された画像データから、1又は複数の領域からなる分割データを生成する分割データ生成手段と、前記生成された1又は複数の分割データを前記領域毎に個別に圧縮し、1または複数の分割圧縮データを生成する分割圧縮データ生成手段と、前記1又は複数の分割圧縮データを領域毎に個別に格納する複数の記憶空間を有する第1の記憶手段と、前記第1の記憶手段の各記憶空間に格納された夫々の分割圧縮データを連続的に格納する第2の記憶手段と、を備える画像処理装置であって、前記領域毎の分割圧縮データのデータ量を検出するデータ量検出手段と、前記データ量検出手段にて検出された分割圧縮データのデータ量と、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量とを比較するデータ量比較手段と、を備え、前記データ量比較手段における比較の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量よりも大きいと判定された際、前記分割圧縮データ生成手段は分割圧縮データのデータ量を前記記憶空間に格納できるデータ量に変換することを特徴とする。
また、請求項5にかかる発明は、請求項4にかかる発明において、前記分割圧縮データ生成手段は、画像データを周波数成分に変換する周波数変換手段を備え、画像データを構成する周波数成分のうち高周波成分側の一部を除去することによって分割圧縮データのデータ量を変換することを特徴とする。
According to a fourth aspect of the present invention, there is provided an image input means for inputting image data, a divided data generation means for generating divided data consisting of one or a plurality of areas from the image data input by the image input means, The one or more generated divided data are individually compressed for each area, and one or a plurality of divided compressed data are generated, and the one or a plurality of divided compressed data is individually divided for each area. First storage means having a plurality of storage spaces stored therein, and second storage means for continuously storing the respective divided compressed data stored in the respective storage spaces of the first storage means. An image processing apparatus, comprising: a data amount detection unit that detects a data amount of divided compressed data for each region; a data amount of the divided compressed data detected by the data amount detection unit; Data amount comparing means for comparing the storage space capacity of the first storage means to which the compressed data corresponds, and as a result of the comparison in the data amount comparing means, the data amount of the divided compressed data is the divided compressed data Is determined to be larger than the storage space capacity of the corresponding first storage means, the divided compressed data generation means converts the data amount of the divided compressed data into a data amount that can be stored in the storage space. And
According to a fifth aspect of the present invention, in the invention according to the fourth aspect, the divided compressed data generation means includes frequency conversion means for converting the image data into frequency components, and the high frequency of the frequency components constituting the image data. The data amount of the divided compressed data is converted by removing a part of the component side.

また、請求項6にかかる発明は、請求項5にかかる発明において前記分割圧縮データ生成手段は、画像データの低周波成分側から順次圧縮するものであり、且つ前記データ量検出手段及び前記データ量比較手段と並行して動作し、前記データ量比較手段の動作の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量よりも大きいと判定されたとき、前記分割圧縮データ生成手段は、その周波数成分以降の高周波成分の圧縮を実行しないことで実質的に画像データの高周波成分側の一部を除去することを特徴とする。
また、請求項7にかかる発明は、請求項1乃至3いずれか一項に記載の画像処理方法をコンピュータが制御可能にプログラミングしたことを特徴とする。
また、請求項8にかかる発明は、請求項7に記載の画像処理プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする。
The invention according to claim 6 is the invention according to claim 5, wherein the divided compressed data generation means sequentially compresses image data from the low frequency component side, and the data amount detection means and the data amount. It operates in parallel with the comparison means, and as a result of the operation of the data amount comparison means, it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage means corresponding to the divided compressed data. In this case, the divided compressed data generating means removes a part of the high frequency component side of the image data substantially by not performing compression of the high frequency component after the frequency component.
The invention according to claim 7 is characterized in that the image processing method according to any one of claims 1 to 3 is programmed to be controlled by a computer.
The invention according to claim 8 is characterized in that the image processing program according to claim 7 is recorded in a computer-readable format.

本発明によれば、領域毎の分割圧縮データのデータ量を検出するデータ量検出工程と、データ量検出工程にて検出された分割圧縮データのデータ量と、当該分割圧縮データが対応する第1の記憶手段の記憶空間容量とを比較するデータ量比較工程と、を有し、データ量比較工程における比較の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する第1の記憶手段の記憶空間容量よりも大きいと判定された際、圧縮工程は、分割圧縮データのデータ量を記憶空間に格納できるデータ量に変換するので予め用意しておくバッファメモリの容量を小さくすることができ、メモリ資源を有効に活用することができる。   According to the present invention, the data amount detection step for detecting the data amount of the divided compressed data for each region, the data amount of the divided compressed data detected in the data amount detection step, and the first divided compressed data correspond to each other. A data amount comparison step for comparing the storage space capacity of the storage means, and as a result of the comparison in the data amount comparison step, the first storage means to which the divided compressed data corresponds to the data amount of the divided compressed data When it is determined that the capacity is larger than the storage space capacity, the compression process converts the data amount of the divided compressed data into a data amount that can be stored in the storage space, so that the capacity of the buffer memory prepared in advance can be reduced. Memory resources can be used effectively.

以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図1は、本実施形態にかかる画像処理装置のハードウェア構成を示した図である。この画像処理装置200は、画像入力部10、画像分割部20、圧縮処理部30、データ量検出部40、データ量比較部50、第1の記憶部60、伸長処理部90、画像出力部100、CPU80、画像処理部110、操作部130、第2の記憶部71(メインメモリ70内にある)、HDD120及び外部I/F140等を備えて構成される。なお、本実施形態では、画像分割部20、圧縮処理部30、データ量検出部40、データ量比較部50、伸長処理部90、画像処理部110を個別に備えた構成としたが、これに限らず例えば、圧縮処理部30、データ量検出部40、データ量比較部50、伸長処理部90、画像処理部110の全て又は何れかの機能を、1つのASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Array)、DRP(Dynamic Reconfigurable Processor)などに代表される動的に再構成可能なデバイス(総称して、RLD(Reconfigurable Logic Device)とも呼ばれる)等により実現させる態様としてもよい。また、上記の機能の全て又は何れかの機能をCPU80によってソフトウェア的に実現する態様としてもよい。
Hereinafter, the present invention will be described in detail with reference to embodiments shown in the drawings. However, the components, types, combinations, shapes, relative arrangements, and the like described in this embodiment are merely illustrative examples and not intended to limit the scope of the present invention only unless otherwise specified. .
FIG. 1 is a diagram illustrating a hardware configuration of the image processing apparatus according to the present embodiment. The image processing apparatus 200 includes an image input unit 10, an image dividing unit 20, a compression processing unit 30, a data amount detection unit 40, a data amount comparison unit 50, a first storage unit 60, an expansion processing unit 90, and an image output unit 100. , A CPU 80, an image processing unit 110, an operation unit 130, a second storage unit 71 (in the main memory 70), an HDD 120, an external I / F 140, and the like. In this embodiment, the image dividing unit 20, the compression processing unit 30, the data amount detection unit 40, the data amount comparison unit 50, the decompression processing unit 90, and the image processing unit 110 are individually provided. For example, all or any of the functions of the compression processing unit 30, the data amount detection unit 40, the data amount comparison unit 50, the decompression processing unit 90, and the image processing unit 110 may be combined into one ASIC (Application Specific Integrated Circuit) or FPGA. (Field Programmable Array), dynamically reconfigurable devices represented by DRP (Dynamic Reconfigurable Processor), etc. (generally called RLD (Reconfigurable Logic Device)) may be used. Moreover, it is good also as an aspect which implement | achieves all or one of said functions by software by CPU80.

画像入力部10は、原稿の読み取りをCCD(Charge Coupled Device)リニアイメージセンサで行い、読み取った画像データにシェーディング処理や、RGB処理(例えば、色変換処理、フィルタ処理、γ(ガンマ)変換処理、変倍処理等)を施した後、画像データをRGBフォーマットにて画像分割部20に出力する。なお、本実施形態では、CCDリニアイメージセンサにより、原稿の読み取りを行う態様としたが、これに限らず、例えば、密着型イメージセンサ、CCDエリアイメージセンサ、CMOS(Complementary Metal-Oxide Semiconductor)センサ等を用いる態様としてもよい。
また、画像分割部20は、ASIC等により構成され、画像入力部10から入力された画像データを、複数の領域に分割する。JPEGやJPEG2000方式で圧縮を行う場合、画像データの主走査方向と副走査方向とを夫々所定のピクセル数単位で分割した各領域を圧縮単位(以下、ブロックともいう)とし、これらブロックを基準に圧縮を行うことになる。例えば、JPEG方式では8×8ピクセルを1ブロック、JPEG200方式では、128×128ピクセルを1ブロック等として、ブロック毎に圧縮を行う。
The image input unit 10 reads a document with a CCD (Charge Coupled Device) linear image sensor, and performs shading processing, RGB processing (for example, color conversion processing, filter processing, γ (gamma) conversion processing on the read image data, Then, the image data is output to the image dividing unit 20 in the RGB format. In the present embodiment, an original is read by a CCD linear image sensor. However, the present invention is not limited to this. For example, a contact image sensor, a CCD area image sensor, a CMOS (Complementary Metal-Oxide Semiconductor) sensor, and the like. It is good also as an aspect using.
The image dividing unit 20 is configured by an ASIC or the like, and divides the image data input from the image input unit 10 into a plurality of areas. When compression is performed using the JPEG or JPEG2000 system, each area obtained by dividing the main scanning direction and the sub-scanning direction of image data by a predetermined number of pixels is used as a compression unit (hereinafter also referred to as a block), and these blocks are used as a reference. Compression will be performed. For example, in the JPEG method, 8 × 8 pixels are set as one block, and in the JPEG200 method, 128 × 128 pixels are set as one block.

圧縮処理部30は、ASIC等により構成され、画像分割部20で分割された画像データ夫々を、複数の圧縮器31(以下では、圧縮機31−1乃至31−4を特に区別する必要がない場合、適宜単に圧縮器31と記載する)を用いて並行して、所定の規格に準じた画像圧縮方式により圧縮し、第1の記憶部60に格納する。また、詳細は後述するが、データ量比較部50からデータ量変換の指令を受け取り、圧縮後の分割画像データを第1の記憶部60内のバッファメモリ61(以下では、バッファメモリ61−1乃至61−8を特に区別する必要がない場合、適宜単にバッファメモリ61と記載する)に収めることができるように、圧縮途中で圧縮の終了処理をしたり、圧縮率を変更して再圧縮を行ったりする。なお、本実施形態では複数の圧縮器31を内部に備えるとしているが、これに限らず、1つの圧縮器31でシリアルに処理する態様としてもよい。また、内部メモリを備えるなどして、後述する第1の記憶部60の機能を実現する態様としてもよい。
本実施形態では、画像圧縮方式として基本的にJPEG2000方式に準拠した圧縮方式を用いることとするが、これに限らず、JPEG方式や他の可変長圧縮方式を用いることとしてもよいし、独自の可変長圧縮方式や固定長圧縮方式を用いることとしてもよい。
The compression processing unit 30 is configured by an ASIC or the like, and each of the image data divided by the image dividing unit 20 does not need to be distinguished among the plurality of compressors 31 (hereinafter, the compressors 31-1 to 31-4). In this case, the data is compressed by an image compression method in conformity with a predetermined standard in parallel using the compressor 31 as appropriate and stored in the first storage unit 60. Although details will be described later, a data amount conversion command is received from the data amount comparison unit 50, and the compressed divided image data is stored in the buffer memory 61 in the first storage unit 60 (hereinafter referred to as buffer memories 61-1 to 61-1). If it is not necessary to distinguish 61-8, it is simply described as buffer memory 61), so that compression can be terminated during compression, or recompression can be performed by changing the compression rate. Or In the present embodiment, a plurality of compressors 31 are provided inside. However, the present invention is not limited to this, and a single compressor 31 may be used for serial processing. Moreover, it is good also as an aspect which implement | achieves the function of the 1st memory | storage part 60 mentioned later by providing an internal memory.
In this embodiment, a compression method that basically conforms to the JPEG2000 method is used as the image compression method. However, the present invention is not limited to this, and a JPEG method or another variable length compression method may be used. A variable length compression method or a fixed length compression method may be used.

データ量検出部40は、ASIC等により構成され、圧縮処理部30で圧縮された各ブロックの圧縮後のデータ量を検出する。なお、圧縮処理部30と並行動作することにより動作中の圧縮手段を監視し、リアルタイムでの圧縮データ量を検出する。
データ量比較部50は、ASIC等により構成され、データ量検出部40で検出された各ブロックの圧縮途中のデータ量や圧縮後のデータ量と、予めわかっている第1の記憶部60内に配置された複数の記憶空間たるバッファメモリ61の容量(バッファメモリ容量)とを比較する。なお、圧縮処理部30と並行動作することにより、リアルタイムで圧縮データ量とバッファメモリ容量とを比較する。必要に応じて圧縮手段に対して指令を出し、圧縮を終了させるようにしたり、圧縮率を下げて再圧縮をさせたりする。
第1の記憶部60は、内部に複数の記憶空間たるバッファメモリ61−1乃至61−8を備え、夫々のバッファメモリ61−1乃至61−8は圧縮処理部30で圧縮された分割ブロックの圧縮データを一時的に格納する。
第2の記憶部71(メインメモリ70内にある)は、SDRAM(Synchronous DRAM)等の記憶手段であって、第1の記憶部60内のバッファメモリ61−1乃至61−8に分割して格納されたブロック毎の圧縮データを、画像入力部10から入力された順序で連続したデータとなるよう、並べ替えられて格納される。なお、この動作はCPU80が行ってもよいし、ASIC等のハードウェアから直接DMA(Direct Memory Access)の機能を用いて行ってもよい。また、他のデータなどを格納してもよい。
The data amount detection unit 40 is configured by an ASIC or the like, and detects the data amount after compression of each block compressed by the compression processing unit 30. The operating compression means is monitored by operating in parallel with the compression processing unit 30 to detect the amount of compressed data in real time.
The data amount comparison unit 50 is configured by an ASIC or the like, and the amount of data in the middle of compression of each block detected by the data amount detection unit 40 and the amount of data after compression are stored in the first storage unit 60 that is known in advance. The capacity (buffer memory capacity) of the buffer memory 61 as a plurality of arranged storage spaces is compared. Note that the compressed data amount and the buffer memory capacity are compared in real time by operating in parallel with the compression processing unit 30. If necessary, a command is issued to the compression means to end the compression, or the compression rate is lowered and the compression is performed again.
The first storage unit 60 includes buffer memories 61-1 to 61-8, which are a plurality of storage spaces, and each of the buffer memories 61-1 to 61-8 is a block of blocks compressed by the compression processing unit 30. Store compressed data temporarily.
The second storage unit 71 (in the main memory 70) is storage means such as SDRAM (Synchronous DRAM), and is divided into buffer memories 61-1 to 61-8 in the first storage unit 60. The stored compressed data for each block is rearranged and stored so as to be continuous data in the order input from the image input unit 10. This operation may be performed by the CPU 80 or may be performed directly from hardware such as an ASIC using a DMA (Direct Memory Access) function. Further, other data may be stored.

伸長処理部90は、ASIC等により構成され、メインメモリ70に格納された分割圧縮データ(例えば、JPEG方式やJPEG2000方式)を、RGBフォーマットの画像データに伸長し、画像出力部100に出力する。
画像出力部100は、レーザプリンタ方式やインクジェット方式等の画像形成手段(図示せず)を備え、伸長処理部90から入力されたRGBフォーマットの画像データをCMYKフォーマットに変換し、印刷用紙等の記録媒体上に画像形成(印刷)を行う。
CPU80(Central Processing Unit)は、図示しないROM(Read Only Memory)やHDD120に予め記憶された所定のプログラムとの協働により、画像処理装置各部の制御を統括的に行う。またCPU80が、ROMやHDD120に予め記憶された所定のプログラムとの協働により、圧縮/伸長処理や、上記に記述したようなデータ量検出処理、データ量比較処理、データ量変換処理や、OCR(Optical Character Recognition:光学式文字認識)処理、画像フォーマット変換処理等の画像処理の一部又は全てを行う態様してもよい。
The decompression processing unit 90 is configured by an ASIC or the like, decompresses the divided compressed data (for example, JPEG system or JPEG2000 system) stored in the main memory 70 into RGB format image data, and outputs the image data to the image output unit 100.
The image output unit 100 includes image forming means (not shown) such as a laser printer method and an ink jet method, converts the RGB format image data input from the decompression processing unit 90 into the CMYK format, and records printing paper or the like. Image formation (printing) is performed on the medium.
A CPU 80 (Central Processing Unit) performs overall control of each part of the image processing apparatus in cooperation with a predetermined program stored in advance in a ROM (Read Only Memory) or HDD 120 (not shown). Further, the CPU 80 cooperates with a predetermined program stored in advance in the ROM or the HDD 120 to perform compression / decompression processing, data amount detection processing, data amount comparison processing, data amount conversion processing, OCR, A part or all of image processing such as (Optical Character Recognition) processing and image format conversion processing may be performed.

画像処理部110は、画像データ(分割圧縮データ)に対し、変倍処理、画像編集処理、画像回転処理等の各種画像処理、画像フォーマット変換処理、レンダリング処理等を施す。また、画像分割部20と同様に、RGBフォーマットやCMYKフォーマットの画像データを複数の領域に分割する画像分割処理を行うとしてもよい。
操作部130は、マウスやキーボード等の操作手段と、操作にかかる情報の表示や画像形成装置の状態を表示する表示手段とを有し(何れも、図示せず)、操作手段を介してユーザからの入力操作を受け付けるとともに、ユーザに向けた情報を表示手段に表示する。
HDD120は、磁気的又は光学的に記録可能な記録媒体を有し、画像入力部10から入力された画像データ又は圧縮処理部30により圧縮された圧縮データ、外部I/F140を介して入力された画像データや文書データ、画像形成装置の制御にかかるプログラムや各種設定情報、フォントデータ等を記憶する。
外部I/F140は、PC(Personal Computer)やその他の画像処理装置等の外部機器と接続するインターフェースであって、外部機器との間で情報の授受を行う。なお、外部I/F140を画像入力部10とみなして画像データを入力し、上記説明したような種々の処理を施す態様としてもよい。
The image processing unit 110 performs various types of image processing such as scaling processing, image editing processing, and image rotation processing, image format conversion processing, rendering processing, and the like on the image data (divided compressed data). Similarly to the image dividing unit 20, image division processing for dividing image data in RGB format or CMYK format into a plurality of regions may be performed.
The operation unit 130 includes operation means such as a mouse and a keyboard, and display means for displaying information related to the operation and displaying the state of the image forming apparatus (both not shown). Is received, and information directed to the user is displayed on the display means.
The HDD 120 has a magnetically or optically recordable recording medium, and is input via the image data input from the image input unit 10 or the compressed data compressed by the compression processing unit 30 and the external I / F 140. Stores image data, document data, programs for controlling the image forming apparatus, various setting information, font data, and the like.
The external I / F 140 is an interface connected to an external device such as a PC (Personal Computer) or other image processing apparatus, and exchanges information with the external device. Note that the external I / F 140 may be regarded as the image input unit 10 to input image data and perform various processes as described above.

JPEG2000方式では、他のブロックからの影響を受けずに圧縮処理等を行うことができるため、圧縮結果をブロック毎に出力できる。圧縮されたブロック(以下、分割圧縮データという)は、夫々が個別に画像編集や画像回転処理を行うことができるが、メモリからの読み出しをする際にはバーストリードが効率的であるため、メモリ上では連続したデータにしておくことが好ましい。
なお、JPEG方式では、隣接しているブロックからの影響を受けるため、影響を受けないように圧縮するなどの工夫が必要である。例えば、1ブロック毎にリスタート(RST)セグメントを挿入することによって、隣接するブロックからの影響を取り除いて圧縮することが可能である。この場合も、メモリ上では連続したデータにしておくことが好ましい。
また、独自の可変長圧縮方式などは、隣接しているブロックからの影響を受けないように圧縮するなどの工夫が必要である。
In the JPEG2000 system, compression processing or the like can be performed without being affected by other blocks, and therefore the compression result can be output for each block. Each of the compressed blocks (hereinafter referred to as divided compressed data) can individually perform image editing and image rotation processing. However, when reading from the memory, burst read is efficient, so the memory Above, it is preferable that the data is continuous.
Note that since the JPEG method is affected by adjacent blocks, it is necessary to devise such as compression so as not to be affected. For example, by inserting a restart (RST) segment for each block, it is possible to remove the influence from adjacent blocks and perform compression. Also in this case, it is preferable to keep continuous data on the memory.
In addition, an original variable length compression method or the like needs to be devised such as compression so as not to be influenced by adjacent blocks.

次にコピー/スキャン動作について説明する。
上記構成の画像処理装置200において、画像データの印刷にかかる動作(コピー機能)は、次のように行われる。まず、画像入力部10により読み取られたRGBフォーマットの画像データは、画像分割部20によって圧縮可能な単位に分割され、圧縮処理部30によりJPEG2000方式で圧縮された後、メインメモリ70に格納される。
メインメモリ70に格納されたJPEG2000方式の画像データ(分割圧縮データ)は、画像処理部110により各種画像処理(例えば、変倍処理、画像編集処理、画像回転処理等)が施された後、伸長処理部90に出力され、RGBフォーマットの1つの画像データに変換される。その後、画像出力部100のCMYK処理にてRGBフォーマットの画像データからCMYKフォーマットの画像データに変換された後、印刷用紙等の記録媒体に印刷されることで、コピー機能は実現される。
なお、各種画像処理は、処理の種類によってはRGBフォーマット、或いはCMYKフォーマットでないと行うことができない処理もある。その場合には、メインメモリ70に格納されたJPEG2000方式の画像データ(分割圧縮データ)を一度伸張処理部でRGBフォーマットの画像データに変換し、その後各種画像処理を行うようにすればよい。その後、画像データを直接画像出力部100に送り、上記のような手順で印刷処理を行う。
Next, the copy / scan operation will be described.
In the image processing apparatus 200 configured as described above, an operation (copy function) for printing image data is performed as follows. First, image data in the RGB format read by the image input unit 10 is divided into units that can be compressed by the image dividing unit 20, compressed by the compression processing unit 30 using the JPEG 2000 method, and then stored in the main memory 70. .
The JPEG 2000 format image data (divided compressed data) stored in the main memory 70 is subjected to various image processing (for example, scaling processing, image editing processing, image rotation processing, etc.) by the image processing unit 110 and then decompressed. The data is output to the processing unit 90 and converted into one image data in the RGB format. Thereafter, the CMYK process of the image output unit 100 converts the RGB format image data into the CMYK format image data, and then prints the image on a recording medium such as a print sheet, thereby realizing the copy function.
Note that various image processing can be performed only in the RGB format or CMYK format depending on the type of processing. In that case, the JPEG 2000 format image data (divided compressed data) stored in the main memory 70 may be converted into RGB format image data once by the decompression processing unit, and then various image processing may be performed. Thereafter, the image data is sent directly to the image output unit 100, and the printing process is performed according to the procedure described above.

また、画像データの外部機器への送信(例えば、Scan To Email等)にかかる動作(スキャナ機能)は、次のように行われる。
まず、画像入力部10により読み取られたRGBフォーマットの画像データは、圧縮処理部30によりJPEG2000方式で圧縮された後、メインメモリ70に格納される。メインメモリ70に格納されたJPEG2000方式の画像データ(分割圧縮データ)は、画像処理部110により各種画像処理(例えば、変倍処理、画像編集処理、画像回転処理等)が施された後、他の画像フォーマット(例えば、TIFF、PDF等)に変換される。その後、外部I/F140を介して外部機器に送信されることで、スキャナ機能は実現される。画像フォーマットの変換が必要ない場合には、そのままの状態で、外部I/F140を介して外部機器に送信されることになる。
なお、画像入力部10にて読み取られたRGBフォーマットの画像データは、圧縮処理部30によってJPEG2000圧縮された後、HDD120に格納しておくことができる。したがって、原稿の読み取りを再び行うことなく、画像データの再送信や再印刷が可能である。さらに、HDD120に格納されたJPEG2000形式の画像データは、再送信や再印刷を行う度に、各画像処理や画像フォーマット変換処理などが可能となる。
Further, an operation (scanner function) related to transmission of image data to an external device (for example, Scan To Email) is performed as follows.
First, RGB format image data read by the image input unit 10 is compressed by the compression processing unit 30 using the JPEG 2000 method, and then stored in the main memory 70. The image data (divided compressed data) of the JPEG 2000 system stored in the main memory 70 is subjected to various image processing (for example, scaling processing, image editing processing, image rotation processing, etc.) by the image processing unit 110, and the like. Image format (for example, TIFF, PDF, etc.). Thereafter, the scanner function is realized by being transmitted to the external device via the external I / F 140. When image format conversion is not necessary, the image data is transmitted as it is to the external device via the external I / F 140.
The image data in the RGB format read by the image input unit 10 can be stored in the HDD 120 after being JPEG2000 compressed by the compression processing unit 30. Therefore, the image data can be retransmitted or reprinted without reading the original again. Further, the image data in JPEG 2000 format stored in the HDD 120 can be subjected to image processing, image format conversion processing, and the like each time re-transmission or re-printing is performed.

図2は、本実施形態の基本的な動作を説明するための図である。図2に示すように、圧縮処理部30は、複数の圧縮器31を具備している。
画像分割部20は、複数のバッファメモリ21−1乃至21−4(以下では、バッファメモリ21−1乃至21−4を特に区別する必要がない場合、適宜単にバッファメモリ21と記載する)を有し、画像入力部10から入力された画像データを1又は複数のブロック(領域)に分割することで、複数の分割データを生成し、バッファメモリ21−1乃至21−4に夫々格納する。なお、バッファメモリ21−1乃至21−4は、独立した記憶素子により構成することとしてもよいし、1つの記憶素子内に形成された複数の記憶領域により構成することとしてもよい。
第1の記憶部60は、その内部に複数の記憶空間としてのバッファメモリ61−1乃至61−8を有し、圧縮処理部30の各圧縮器31に対して2つのバッファメモリ61が夫々割り当てられている。即ち、この場合、圧縮器31−1には、バッファメモリ61−1、61−2が、圧縮器31−2には、バッファメモリ61−3、61−4が、圧縮器31−3には、バッファメモリ61−5、61−6が、圧縮器31−4には、バッファメモリ61−7、61−8がそれぞれ割り当てられている。なお、バッファメモリ61−1乃至61−8は、夫々独立した記憶素子により構成することとしてもよいし、一の記憶素子内に形成された複数の記憶領域により構成することとしてもよい。
FIG. 2 is a diagram for explaining the basic operation of the present embodiment. As shown in FIG. 2, the compression processing unit 30 includes a plurality of compressors 31.
The image dividing unit 20 has a plurality of buffer memories 21-1 to 21-4 (hereinafter, when there is no need to particularly distinguish the buffer memories 21-1 to 21-4, they are simply referred to as a buffer memory 21 as appropriate). Then, the image data input from the image input unit 10 is divided into one or a plurality of blocks (areas), thereby generating a plurality of divided data and storing them in the buffer memories 21-1 to 21-4, respectively. Note that the buffer memories 21-1 to 21-4 may be configured by independent storage elements, or may be configured by a plurality of storage areas formed in one storage element.
The first storage unit 60 includes buffer memories 61-1 to 61-8 as a plurality of storage spaces therein, and two buffer memories 61 are allocated to each compressor 31 of the compression processing unit 30, respectively. It has been. That is, in this case, the compressor 31-1, the buffer memories 61-1 and 61-2, the compressor 31-2, the buffer memories 61-3 and 61-4, and the compressor 31-3. Buffer memories 61-5 and 61-6 are allocated to the compressor 31-4, and buffer memories 61-7 and 61-8 are allocated thereto, respectively. The buffer memories 61-1 to 61-8 may be configured by independent storage elements, or may be configured by a plurality of storage areas formed in one storage element.

図3は、画像データを分割する際の動作を説明するための図である。ここで、入力される画像データは、1頁分のカラー画像であるとし、また、後段の圧縮処理部30による圧縮方式はJPEG2000であるものとする。
画像入力部10において、CCDリニアイメージセンサによる画像データの読み取り順序は、まず主走査方向の領域1及び領域2を同時に読み取り、その後、副走査方向に領域3及び領域4、領域5及び領域6、領域7及び領域8へと順次読み取ることになる。画像分割部20では、画像入力部10から入力される画像データを、その入力順序に応じて2つの領域毎に分割し、バッファメモリ21−1乃至21−4に順次格納する。これは、例えば、画像入力部10から入力された画像データを、所定のライン数分だけ1つのバッファメモリ21に格納し、それが完了したら次のバッファメモリ21に格納するという方式で実現することができる。
ここでは、図3に示したように、副走査方向に4分割した夫々の分割データ(領域1及び領域2、領域3及び領域4、領域5及び領域6、領域7及び領域8)が、各バッファメモリ21−1乃至21−4に順次格納されるものとする。例えば、A4サイズ、600dpiの画像データでは、約1240ラインずつ各バッファメモリ21に順次格納されることになる。なお、圧縮単位が128×128ピクセルで構成されるJPEG2000方式の圧縮では、最小で128ラインずつ各バッファメモリ21に格納されることになる。
FIG. 3 is a diagram for explaining an operation when dividing image data. Here, it is assumed that the input image data is a color image for one page, and the compression method by the subsequent compression processing unit 30 is JPEG2000.
In the image input unit 10, the reading order of the image data by the CCD linear image sensor is as follows. First, the region 1 and the region 2 in the main scanning direction are read simultaneously, and then the region 3 and the region 4, the region 5 and the region 6, The data is sequentially read into the area 7 and the area 8. The image dividing unit 20 divides the image data input from the image input unit 10 into two regions according to the input order, and sequentially stores them in the buffer memories 21-1 to 21-4. This is realized by, for example, a method in which image data input from the image input unit 10 is stored in one buffer memory 21 for a predetermined number of lines, and is stored in the next buffer memory 21 when it is completed. Can do.
Here, as shown in FIG. 3, the respective divided data (region 1 and region 2, region 3 and region 4, region 5 and region 6, region 7 and region 8) divided into four in the sub-scanning direction are Assume that the data are sequentially stored in the buffer memories 21-1 to 21-4. For example, in the case of image data of A4 size and 600 dpi, about 1240 lines are sequentially stored in each buffer memory 21. Note that in the JPEG 2000 format compression in which the compression unit is 128 × 128 pixels, a minimum of 128 lines are stored in each buffer memory 21.

圧縮処理部30は、図2に示すように、分割データを個別に圧縮可能な圧縮器31−1乃至31−4を有し、当該圧縮器31により、バッファメモリ21−1乃至21−4に格納された分割データを、当該分割データに含まれる領域毎に並行して圧縮することにより、複数の分割圧縮データを生成する。そのとき、生成された分割圧縮データのデータ量を検出し、対応する第1の記憶部60内のバッファメモリ61の容量と比較する。その結果、圧縮データのデータ量がバッファメモリ61の容量以下であるときに、第1の記憶部60に出力される。以下、ブロックの圧縮データ量が、対応するバッファメモリ61の容量以下の場合についての一例を説明する。ブロックの圧縮データ量がバッファメモリ61の容量よりも大きくなった場合については、詳細を後述する。
具体的に、圧縮処理部30の圧縮器31−1乃至31−4は、バッファメモリ21−1乃至21−4に格納された2つの領域からなる分割データから、各領域分に対応する分割データを夫々読み取り、JPEG2000方式で個別に圧縮することで、複数の分割圧縮データを並行して生成する。これにより、分割された画像データを並行して圧縮することができるため、圧縮処理に要する時間を短縮化できる。
As shown in FIG. 2, the compression processing unit 30 includes compressors 31-1 to 31-4 that can individually compress the divided data, and the compressor 31 stores the compressed data in the buffer memories 21-1 to 21-4. A plurality of pieces of divided compressed data are generated by compressing the stored divided data in parallel for each area included in the divided data. At that time, the data amount of the generated divided compressed data is detected and compared with the capacity of the corresponding buffer memory 61 in the first storage unit 60. As a result, when the amount of compressed data is less than or equal to the capacity of the buffer memory 61, the compressed data is output to the first storage unit 60. Hereinafter, an example in which the compressed data amount of the block is equal to or less than the capacity of the corresponding buffer memory 61 will be described. The case where the compressed data amount of the block becomes larger than the capacity of the buffer memory 61 will be described in detail later.
Specifically, the compressors 31-1 to 31-4 of the compression processing unit 30 are divided data corresponding to each area from the divided data composed of two areas stored in the buffer memories 21-1 to 21-4. Are respectively compressed and individually compressed by the JPEG2000 method, thereby generating a plurality of divided compressed data in parallel. Thereby, since the divided image data can be compressed in parallel, the time required for the compression process can be shortened.

図2では、バッファメモリ21−1に格納された領域1、2からなる分割データが、圧縮処理部30の圧縮器31−1、31−2により夫々個別に圧縮が行われた場合を例示している。
個別に圧縮された分割圧縮データは、第1の記憶部60のバッファメモリ61−1乃至61−8に夫々格納される。各圧縮器31には、上述したとおりバッファメモリ61が2つずつ割り当てられており、各圧縮器31で圧縮された圧縮分割データは、対応する2つのバッファメモリ61に交互に格納される。例えば、圧縮器31−1で圧縮された領域1の圧縮分割データは、バッファメモリ61−1に格納され、領域5の圧縮分割データは、バッファメモリ61−2に格納される。
ここで、JPEG方式やJPEG2000方式などの可変長圧縮方式で圧縮を行う場合、圧縮後のデータ容量は予測できないため、各バッファメモリ61−1乃至61−8の記憶容量は、最低圧縮率の分割圧縮データ分が格納できる容量が確保されているのが通常である。しかし、理論上の最低圧縮率で圧縮されるブロックは非常に稀であり、日常取り扱われるような画像データ(例えば、オフィス文書データや写真画像データなど)ではほとんど見られない。また、上記のような日常取り扱われる画像データにおいても、圧縮後のデータ量が比較的大きいブロックは画像データ全体のほんの一部であり、大多数のブロックは予め用意されたバッファメモリ61の一部しか使用しない。
FIG. 2 illustrates a case where the divided data composed of the areas 1 and 2 stored in the buffer memory 21-1 is individually compressed by the compressors 31-1 and 31-2 of the compression processing unit 30. ing.
The individually compressed divided compressed data is stored in the buffer memories 61-1 to 61-8 of the first storage unit 60, respectively. As described above, two buffer memories 61 are assigned to each compressor 31, and the compressed divided data compressed by each compressor 31 is alternately stored in the corresponding two buffer memories 61. For example, the compressed divided data of the area 1 compressed by the compressor 31-1 is stored in the buffer memory 61-1, and the compressed divided data of the area 5 is stored in the buffer memory 61-2.
Here, when compression is performed using a variable-length compression method such as the JPEG method or the JPEG2000 method, the data capacity after compression cannot be predicted. Therefore, the storage capacity of each of the buffer memories 61-1 to 61-8 is divided by the minimum compression rate. Usually, a capacity for storing the compressed data is secured. However, blocks compressed at the theoretical minimum compression rate are very rare, and are rarely seen in image data (for example, office document data and photographic image data) that are handled on a daily basis. Also, in the image data handled daily, the blocks having a relatively large amount of data after compression are only a part of the entire image data, and the majority of the blocks are a part of the buffer memory 61 prepared in advance. Only use.

本発明は、上記のような問題を解決するものであり、予め用意しておくバッファメモリ61の容量は、大多数のブロックの圧縮データが格納できる任意の容量とする。例えば、1つの画像データのうち、8〜9割のブロックの圧縮データが格納できる容量としてもよいし、理論上の最低圧縮率で圧縮されるデータ容量の2〜3割の容量というようにしてもよい。なお、分割圧縮データのデータ量がバッファメモリ61の容量よりも大きくなった場合の処理については、詳細を後述する。
第1の記憶部60のバッファメモリ61−1乃至61−8に格納した各分割圧縮データは、画像入力部10から入力された順序、即ち、CCDリニアイメージセンサが読み取った順序で、先に格納する分割圧縮データの最終アドレスと、次に格納する分割圧縮データの先頭アドレスとが連続するよう並び替えた状態で、第2の記憶手段としてのメインメモリ70に格納される。
The present invention solves the above problems, and the capacity of the buffer memory 61 prepared in advance is set to an arbitrary capacity capable of storing the compressed data of the majority of blocks. For example, one image data may have a capacity capable of storing 80 to 90% of compressed data, or 20 to 30% of the data capacity compressed at the theoretical minimum compression rate. Also good. Details of the processing when the data amount of the divided compressed data becomes larger than the capacity of the buffer memory 61 will be described later.
The divided compressed data stored in the buffer memories 61-1 to 61-8 of the first storage unit 60 are first stored in the order input from the image input unit 10, that is, the order read by the CCD linear image sensor. The final address of the divided compressed data to be stored and the start address of the divided compressed data to be stored next are rearranged so as to be continuous and stored in the main memory 70 as the second storage means.

具体的に、バッファメモリ61−1乃至61−8のうち、各圧縮器31に割り当てられた最初のバッファメモリ61−1、61−3、61−5、61−7に格納された領域1〜4の分割圧縮データが画像入力部10にて入力された順序で読み出され、この読み出し順序に基づいて各分割圧縮データの先頭アドレスと最終アドレスとが連続するようメインメモリ70に順次格納される。次に、各圧縮器31に割り当てられた次のバッファメモリ61−2、61−4、61−6、61−8に格納された領域5〜8の分割圧縮データが順次読み出され、この読み出し順序に基づいて各分割圧縮データの先頭アドレスと最終アドレスとが連続するようメインメモリ70に順次格納される。
このような処理により、1つの画像データにかかる一連の分割圧縮データを、画像入力部10からの入力順序で、且つ、各分割圧縮データの格納アドレスが連続した状態でメインメモリ70に格納することができる。これにより、メモリの利用効率を向上させることができる。
Specifically, among the buffer memories 61-1 to 61-8, the areas 1 to 1 stored in the first buffer memories 61-1, 61-3, 61-5, 61-7 assigned to the compressors 31. The four divided compressed data are read out in the order in which they are input by the image input unit 10, and are sequentially stored in the main memory 70 based on the read order so that the start address and the final address of each divided compressed data are continuous. . Next, the divided compressed data in the areas 5 to 8 stored in the next buffer memories 61-2, 61-4, 61-6, and 61-8 assigned to each compressor 31 are sequentially read out. Based on the order, the divided addresses are sequentially stored in the main memory 70 so that the first address and the last address of the divided compressed data are continuous.
By such processing, a series of divided compressed data relating to one image data is stored in the main memory 70 in the order of input from the image input unit 10 and with the storage addresses of the divided compressed data being continuous. Can do. Thereby, the memory utilization efficiency can be improved.

また、本実施形態のように、JPEG2000方式の圧縮を行うことにより、各分割圧縮データに対して個別に画像処理を行うことが可能であるため、例えば、分割圧縮データ毎に画像回転処理や画像編集処理を施すことが可能となる。
なお、本実施形態では、RGB処理やCMYK処理を、1つの画像データの状態で行う態様としたが、これに限らず、分割圧縮データの状態で行う態様としてもよい。つまり、画像入力部10や画像出力部100が、このような機能を有するのではなく、画像処理部110がRGB処理やCMYK処理にかかる機能を有するよう構成されていてもよい。この場合、画像編集処理や画像回転処理等と同様に、分割圧縮データ毎にRGB処理やCMYK処理が施されることになる。
In addition, as in this embodiment, by performing JPEG2000 compression, it is possible to perform image processing on each piece of compressed compressed data. For example, image rotation processing or image processing is performed for each piece of compressed compressed data. Editing processing can be performed.
In the present embodiment, the RGB processing and the CMYK processing are performed in the state of one image data. However, the present invention is not limited to this, and may be performed in the state of divided compressed data. That is, the image input unit 10 and the image output unit 100 may not be configured to have such a function, but the image processing unit 110 may be configured to have a function related to RGB processing and CMYK processing. In this case, RGB processing and CMYK processing are performed for each piece of divided compressed data, as in image editing processing and image rotation processing.

図4は、本実施形態の動作処理フローチャートであり、またデータ量検出部40とデータ量比較部50の動作を説明する図である。
まず、画像データが入力され(ステップS1)、前述のように画像データは複数の領域(ブロック)に分割される。分割された画像データは、複数の圧縮器31にて以下のような処理が夫々行われる(ステップS2)。ここでは、ブロック番号をnとして、夫々の圧縮器31がn=1〜4のブロックデータを圧縮するように記述している。即ち、n=1の場合、ステップS11に進み、n=2の場合、ステップS21に進み、n=3の場合、ステップS31に進み、n=4の場合、ステップS41に進む(ステップS3)。なお、ここではJPEG方式、JPEG2000方式での圧縮方式として説明する。
RGB形式で送られてきた画像データは、圧縮処理部30内の図示しない周波数変換手段によって1つの輝度成分と2つの色差成分に色空間変換され(ステップS11)、その後、周波数変換が施される(ステップS12)。輝度成分や色差成分はコンポーネントとも呼ばれる。周波数変換は、JPEG方式では離散コサイン変換(DCT:Discrete Cosign Transform)、JPEG2000方式ではウェーブレット変換(DWT:Discrete Wavelet Transform)という方式で夫々変換される。なお、周波数変換されたデータは複数の周波数領域に分解される。例えば、JPEG方式の場合、圧縮は8×8ピクセルを一単位として実行されるが、周波数変換された後のデータも各コンポーネントで8×8の大きさである。つまり、合計64個の周波数成分に分解される。
FIG. 4 is an operation process flowchart of the present embodiment, and is a diagram for explaining the operations of the data amount detection unit 40 and the data amount comparison unit 50.
First, image data is input (step S1), and the image data is divided into a plurality of regions (blocks) as described above. The divided image data is subjected to the following processes in the plurality of compressors 31 (step S2). Here, it is described that the block number is n and each compressor 31 compresses block data of n = 1 to 4. That is, when n = 1, the process proceeds to step S11. When n = 2, the process proceeds to step S21. When n = 3, the process proceeds to step S31. When n = 4, the process proceeds to step S41 (step S3). Here, the description will be made assuming that the compression method is the JPEG method or the JPEG2000 method.
The image data sent in the RGB format is color space converted into one luminance component and two color difference components by a frequency conversion means (not shown) in the compression processing unit 30 (step S11), and then subjected to frequency conversion. (Step S12). Luminance components and color difference components are also called components. The frequency conversion is performed by a discrete cosine transform (DCT) in the JPEG system and a wavelet transform (DWT) in the JPEG2000 system. Note that the frequency-converted data is decomposed into a plurality of frequency regions. For example, in the case of the JPEG method, the compression is executed with 8 × 8 pixels as a unit, but the data after frequency conversion is also 8 × 8 in each component. That is, it is decomposed into a total of 64 frequency components.

次に、量子化が施され(ステップS13)、ブロック毎のエントロピー符号化が行われる(ステップS14)。ここで、JPEG方式ではハフマン符号化、JPEG2000方式ではEBCOT(Embedded Block Coding with Optimized Truncation)と呼ばれる符号化方式が用いられる。
1ブロックのエントロピー符号化は、図5のようにして行われる。まず、周波数変換が施されたブロックデータのうち直流成分(DC成分)の値を入力し(ステップS51)、直流成分(DC成分)から符号化を開始し、1つの周波数成分の符号化を行う(ステップS52)。次に、既に符号化された分割ブロックの総データ量をデータ量検出部40において検出し(ステップS53)、現在符号化している周波数の符号化データがバッファメモリ61に格納できる大きさかどうかを、データ量比較部50において判定する(ステップS54)。
ここで、バッファメモリ61とは、図2に示した第1の記憶部60内のバッファメモリ61−1乃至61−8のうち、いずれか1つのバッファメモリ61であり、その容量は予めわかっている。現在符号化している周波数の符号化データがバッファメモリ61に格納できる大きさであると判定された場合には、そのバッファメモリ61に符号化データを格納する(ステップS55)。
Next, quantization is performed (step S13), and entropy coding for each block is performed (step S14). Here, a coding method called Huffman coding is used in the JPEG method, and EBCOT (Embedded Block Coding with Optimized Truncation) is used in the JPEG2000 method.
One block of entropy coding is performed as shown in FIG. First, the DC component (DC component) value of the block data subjected to frequency conversion is input (step S51), encoding is started from the DC component (DC component), and one frequency component is encoded. (Step S52). Next, the total data amount of the already encoded divided blocks is detected by the data amount detection unit 40 (step S53), and whether or not the encoded data of the frequency currently encoded can be stored in the buffer memory 61 is determined. The determination is made in the data amount comparison unit 50 (step S54).
Here, the buffer memory 61 is any one of the buffer memories 61-1 to 61-8 in the first storage unit 60 shown in FIG. 2, and its capacity is known in advance. Yes. When it is determined that the encoded data of the frequency currently encoded is large enough to be stored in the buffer memory 61, the encoded data is stored in the buffer memory 61 (step S55).

次に、その符号化データがブロックの最後のデータであるかを判別し(ステップS56)、ブロックデータの最後でない場合には、次の周波数成分の符号化を行う(ステップS57)。ブロックデータの最後のデータである場合には、通常通り1ブロックの符号化処理を終了する。
このように、徐々に周波数を増加しながらこのような符号化の動作を続けていくと、既に符号化された分割ブロックの総データ量が、対応するバッファメモリ61の容量を越えてしまうことがある。その場合(ステップS54のNO)には、圧縮処理部30はその周波数の符号化データをバッファメモリ61に格納せず、それ以降の高周波成分がゼロとなるように、1ブロックの符号化終了処理を実行する(ステップS58)。具体的には、EOB(End of Block)符号をバッファメモリ61に追記するなど、ブロックの符号化を終了するなどすればよい。
ここでは、「既に符号化された分割ブロックの総データ量がバッファメモリ61の容量より大きくなったときに、1ブロックの符号化終了処理をする」と記述したが、より詳細には、EOB符号を格納できる容量をバッファメモリ61に確保しておく必要がある。そのため、実際の分割圧縮データが格納できるデータ量は、バッファメモリ61の容量よりもEOB符号を格納できる容量分だけ小さくなる。
Next, it is determined whether the encoded data is the last data of the block (step S56). If the encoded data is not the last of the block data, the next frequency component is encoded (step S57). When it is the last data of the block data, the encoding process of one block is finished as usual.
As described above, when such an encoding operation is continued while gradually increasing the frequency, the total data amount of the already encoded divided blocks may exceed the capacity of the corresponding buffer memory 61. is there. In that case (NO in step S54), the compression processing unit 30 does not store the encoded data of that frequency in the buffer memory 61, and the one-block encoding end process is performed so that the subsequent high frequency components become zero. Is executed (step S58). Specifically, the block encoding may be terminated, for example, by adding an EOB (End of Block) code to the buffer memory 61.
Here, it has been described that "when one of the already-encoded divided blocks has a larger total data amount than the capacity of the buffer memory 61, an encoding end process for one block is performed". Must be secured in the buffer memory 61. Therefore, the amount of data that can actually store the compressed data is smaller than the capacity of the buffer memory 61 by the capacity that can store the EOB code.

以上のように動作することによって、最低圧縮率のときの分割圧縮データ(ブロックデータ)を格納できる容量のバッファメモリ61を用意する必要がなく、バッファメモリ容量を小さくすることによってメモリ資源を有効に活用できる。
次に、メインメモリ格納順であるか否かが判定され(ステップS15)、メインメモリ格納順である場合、メインメモリ70に格納し(ステップS16)、未圧縮ブロックが無いか否かが判定され(ステップS17)、未圧縮ブロックがあると判定された場合、nの値を1だけ増加させ(ステップS18)、ステップS11に戻る。一方、未圧縮ブロックが無いと判定された場合の後は、ステップS4に進む。ステップS4においては、全ブロックについて圧縮が終了したか否かが判定され、全ブロックの圧縮が終了していないと判定された場合、ステップS5において待機する。一方、全ブロックの圧縮が終了したと判定された場合、本処理を終了する。n=2の場合の処理(ステップS21乃至S28)、n=3の場合の処理(ステップS31乃至S38)、n=4の場合の処理(ステップS41乃至S48)は、n=1の場合の処理と同様であるのでその説明は省略する。
By operating as described above, it is not necessary to prepare the buffer memory 61 having a capacity capable of storing the divided compressed data (block data) at the minimum compression rate, and the memory resources are made effective by reducing the buffer memory capacity. Can be used.
Next, it is determined whether or not it is the main memory storage order (step S15). If it is the main memory storage order, it is stored in the main memory 70 (step S16), and it is determined whether or not there is no uncompressed block. (Step S17) When it is determined that there is an uncompressed block, the value of n is increased by 1 (Step S18), and the process returns to Step S11. On the other hand, after it is determined that there is no uncompressed block, the process proceeds to step S4. In step S4, it is determined whether or not compression has been completed for all blocks. If it is determined that compression of all blocks has not been completed, the process waits in step S5. On the other hand, when it is determined that the compression of all the blocks has been completed, this process is terminated. Processing when n = 2 (steps S21 to S28), processing when n = 3 (steps S31 to S38), processing when n = 4 (steps S41 to S48) are processing when n = 1 Since it is the same as that, its description is omitted.

図6は、本発明の第2の実施形態の動作処理フローチャートである。図1〜4で示したような基本的な動作は第1の実施形態と略同様であるので、説明を省略する。
1ブロックのエントロピー符号化は、図6のようにして行われる。まず、周波数変換が施されたブロックデータのうち直流成分(DC成分)の値を入力し(ステップS61)、1つの周波数成分について試し符号化を行う(ステップS62)。これは、符号データ量を検出する目的のものであり、実際にバッファメモリ61に格納するという動作は実行しない。次に、既に符号化された分割ブロックの総データ量を検出し(ステップS63)、バッファメモリ容量と比較する(ステップS64)。
ここで、バッファメモリ61とは、図2に示した第1の記憶部60内のバッファメモリ61−1乃至61−8のうち、いずれか1つのバッファメモリ61である。比較した結果、分割圧縮データのデータ量がバッファメモリ容量よりも大きいと判定されたら、その周波数の1つ前の周波数を検出する(ステップS67)し、ステップS68に進む。
FIG. 6 is an operation processing flowchart according to the second embodiment of the present invention. Since the basic operation as shown in FIGS. 1 to 4 is substantially the same as that of the first embodiment, the description thereof is omitted.
One block of entropy coding is performed as shown in FIG. First, a DC component (DC component) value is input from the block data subjected to frequency conversion (step S61), and trial encoding is performed for one frequency component (step S62). This is for the purpose of detecting the amount of code data, and the actual storing operation in the buffer memory 61 is not executed. Next, the total data amount of the already encoded divided blocks is detected (step S63) and compared with the buffer memory capacity (step S64).
Here, the buffer memory 61 is any one of the buffer memories 61-1 to 61-8 in the first storage unit 60 shown in FIG. As a result of the comparison, if it is determined that the data amount of the divided compressed data is larger than the buffer memory capacity, the previous frequency is detected (step S67), and the process proceeds to step S68.

一方、比較の結果、分割圧縮データのデータ量がバッファメモリ容量以下であると判定されたら、ブロック全体の符号化が終了したかどうかを判別し(ステップS65)、ブロック全体の符号化が終了していない場合にはステップS66において次の周波数成分を入力し、ステップS62に戻り、次の周波数成分の試し符号化を実行する。最後のデータである場合には、次の実符号化の手順(ステップS68以降の処理)に進む。
このように、徐々に周波数を増加しながら試し符号化を実行する。その間で、分割圧縮データのデータ量がバッファメモリ61の容量よりも大きいと判定されたら、その1つ前の周波数(もしくは、ブロック内の何番目の値か)を検出し(ステップS67)、実符号化の手順(ステップS68以降の処理)に進む。
実符号化の処理では、実際にバッファメモリ61に符号データを格納していく。まず、そのブロックのDC成分を入力し(ステップS68)、試し符号化(ステップS62)の際にバッファメモリ容量を越えたかどうか判別する(ステップS69)。試し符号化の際にバッファメモリ容量を越えていない場合には、ステップS75乃至S78において、ブロックデータの最後の高周波成分まで符号化を実行し、通常の圧縮のときと同じように終了する。即ち、1つの周波数成分を符号化し(ステップS75)、バッファメモリ61に格納し(ステップS76)、ブロックデータの最後か否かを判定し(ステップS77)、ブロックデータの最後ではないと判定された場合、次の周波数成分を入力し(ステップS78)、ステップS75に戻り、ステップS75以降の処理が繰り返し実行される。
On the other hand, if it is determined as a result of the comparison that the data amount of the divided compressed data is less than or equal to the buffer memory capacity, it is determined whether or not the encoding of the entire block has been completed (step S65), and the encoding of the entire block is completed. If not, the next frequency component is input in step S66, and the process returns to step S62 to perform trial encoding of the next frequency component. If it is the last data, the process proceeds to the next actual encoding procedure (processing after step S68).
In this way, trial encoding is executed while gradually increasing the frequency. In the meantime, if it is determined that the data amount of the divided compressed data is larger than the capacity of the buffer memory 61, the previous frequency (or what number in the block) is detected (step S67). Proceed to the encoding procedure (processing after step S68).
In the actual encoding process, the code data is actually stored in the buffer memory 61. First, the DC component of the block is input (step S68), and it is determined whether or not the buffer memory capacity has been exceeded during trial coding (step S62) (step S69). If the buffer memory capacity is not exceeded during trial encoding, encoding is performed up to the last high-frequency component of the block data in steps S75 to S78, and the processing ends in the same manner as in normal compression. That is, one frequency component is encoded (step S75), stored in the buffer memory 61 (step S76), it is determined whether or not it is the end of the block data (step S77), and it is determined that it is not the end of the block data. In this case, the next frequency component is input (step S78), the process returns to step S75, and the processes after step S75 are repeatedly executed.

一方、試し符号化の際にバッファメモリ容量を越えたときには、ステップS70乃至S74において、上記したように、バッファメモリ容量を越えた周波数の1つ前の周波数まで符号化を実行し(ステップS70)、順次バッファメモリ61に格納する(ステップS72)。その後、第1の実施形態と同様に、EOB(End of Block)符号をバッファメモリ61に追記するなどのブロック終了処理を実行し(ステップS74)、ブロックの符号化を終了する。ステップS72においては、試し符号化の際にバッファメモリ容量を越えた周波数であるか否かが判定されている。ここで、試し符号化の際にバッファメモリ容量を越えた周波数ではないと判定された場合、ステップS73に進み、試し符号化の際にバッファメモリ容量を越えた周波数であると判定された場合、ステップS74に進む。
また同様に、EOB符号を格納できる容量をバッファメモリ61に確保しておく必要がある。そのため、実際の分割圧縮データが格納できるデータ量は、バッファメモリ61の容量よりもEOB符号を格納できる容量分だけ小さくしておくことが望ましい。
以上のように動作することによって、最低圧縮率のときの分割圧縮データ(ブロックデータ)を格納できる容量のバッファメモリ61を用意する必要がなく、バッファメモリ容量を小さくすることによってメモリ資源を有効に活用できる。
On the other hand, when the buffer memory capacity is exceeded during the trial encoding, in steps S70 to S74, as described above, encoding is executed up to the frequency immediately before the frequency exceeding the buffer memory capacity (step S70). Then, the data are sequentially stored in the buffer memory 61 (step S72). Thereafter, as in the first embodiment, block end processing such as adding an EOB (End of Block) code to the buffer memory 61 is executed (step S74), and block encoding ends. In step S72, it is determined whether or not the frequency exceeds the buffer memory capacity at the time of trial encoding. If it is determined that the frequency does not exceed the buffer memory capacity at the time of trial encoding, the process proceeds to step S73, and if it is determined that the frequency exceeds the buffer memory capacity at the time of trial encoding, Proceed to step S74.
Similarly, the buffer memory 61 needs to have a capacity for storing the EOB code. For this reason, it is desirable that the amount of data that can store the actual divided compressed data is smaller than the capacity of the buffer memory 61 by the capacity that can store the EOB code.
By operating as described above, it is not necessary to prepare the buffer memory 61 having a capacity capable of storing the divided compressed data (block data) at the minimum compression rate, and the memory resources are made effective by reducing the buffer memory capacity. Can be used.

以下、図7、8は本発明の第3の実施形態を説明する図である。
図7は、分割画像データの流れを表したものである。この実施形態の場合、第1の記憶部60及び第2の記憶部71はメインメモリ70内にあり、第1の記憶部60は、第1の実施形態におけるバッファメモリ61の役割を果たす。即ち、各ブロックに対応した一時的なメモリ空間をメインメモリ70内に確保しておき、分割して圧縮されたブロック毎の分割圧縮データを一旦格納する。ここで、ブロック毎に割り当てられた第1の記憶手段の各メモリ空間は、第1の実施形態と同様に、1ブロックの最低圧縮率のデータ容量よりも少ない容量を確保しておけばよい。
その後、同じメインメモリ70内に形成された第2の記憶部71に、画像入力部10から入力された順序、即ち、CCDリニアイメージセンサが読み取った順序で、連続的に並び替えて格納する。連続的に並び替える際には、先行して格納する圧縮データの最終アドレスと、次に格納する圧縮データの先頭アドレスが連続するように格納する。
具体的な符号化手順は、第1の実施形態又は第2の実施形態と同様に、図4、図5、或いは図6に示したようにすればよい。
In the following, FIGS. 7 and 8 are diagrams for explaining a third embodiment of the present invention.
FIG. 7 shows the flow of divided image data. In the case of this embodiment, the 1st memory | storage part 60 and the 2nd memory | storage part 71 exist in the main memory 70, and the 1st memory | storage part 60 plays the role of the buffer memory 61 in 1st Embodiment. That is, a temporary memory space corresponding to each block is secured in the main memory 70, and the divided compressed data for each block compressed and divided is temporarily stored. Here, each memory space of the first storage means allocated to each block may have a capacity smaller than the data capacity of the lowest compression rate of one block, as in the first embodiment.
Thereafter, the data are sequentially rearranged and stored in the second storage unit 71 formed in the same main memory 70 in the order input from the image input unit 10, that is, the order read by the CCD linear image sensor. When rearranging continuously, the final address of the compressed data stored in advance and the head address of the compressed data stored next are stored so as to be continuous.
The specific encoding procedure may be as shown in FIG. 4, FIG. 5, or FIG. 6, as in the first embodiment or the second embodiment.

また、図7のような形態の場合、図1に示した第1の記憶部60は必要なく、図8のようなハードウェア構成となる。また、同図内の点線部分の画像分割部20、圧縮処理部30、データ量検出部40、データ量比較部50の処理を、CPU80がソフトウェア処理する態様としてもよい。
以上のように動作することによって、最低圧縮率のときの分割圧縮データ(ブロックデータ)を格納できる容量のバッファメモリ61を用意する必要がなく、バッファメモリ容量を小さくすることによってメモリ資源を有効に活用できる。
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
Further, in the case of the configuration as shown in FIG. 7, the first storage unit 60 shown in FIG. 1 is not necessary, and the hardware configuration is as shown in FIG. In addition, the CPU 80 may perform software processing on the processes of the image dividing unit 20, the compression processing unit 30, the data amount detection unit 40, and the data amount comparison unit 50 in the dotted line portion in FIG.
By operating as described above, it is not necessary to prepare the buffer memory 61 having a capacity capable of storing the divided compressed data (block data) at the minimum compression rate, and the memory resources are made effective by reducing the buffer memory capacity. Can be used.
It should be noted that the configuration and operation of the above-described embodiment are examples, and it goes without saying that they can be changed as appropriate without departing from the spirit of the present invention.

本発明は、例えば、データを分割して分散処理する各種装置にも適用することができる。   The present invention can also be applied to, for example, various apparatuses that divide data and perform distributed processing.

本発明の実施形態にかかる画像処理装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the image processing apparatus concerning embodiment of this invention. 本実施形態の基本的な動作を説明するための図である。It is a figure for demonstrating the basic operation | movement of this embodiment. 画像データを分割する際の動作を説明するための図である。It is a figure for demonstrating the operation | movement at the time of dividing | segmenting image data. 本実施形態の画像データの圧縮処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the compression processing procedure of the image data of this embodiment. 1ブロックのエントロピー符号化処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the entropy encoding process procedure of 1 block. 本発明の第2の実施形態の1ブロックのエントロピー符号化処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the entropy encoding process procedure of 1 block of the 2nd Embodiment of this invention. 本発明の第3の実施形態における分割画像データの流れを表す図である。It is a figure showing the flow of the divided image data in the 3rd Embodiment of this invention. 本発明の第3の実施形態にかかる画像処理装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the image processing apparatus concerning the 3rd Embodiment of this invention.

符号の説明Explanation of symbols

10 画像入力部
20 画像分割部
21 バッファメモリ
30 圧縮処理部
31 圧縮器
40 データ量検出部
50 データ量比較部
60 第1の記憶部
61 バッファメモリ
70 メインメモリ
71 第2の記憶部
80 CPU
90 伸長処理部
100 画像出力部
110 画像処理部
120 HDD
130 操作部
140 外部I/F
200 画像処理装置
DESCRIPTION OF SYMBOLS 10 Image input part 20 Image division part 21 Buffer memory 30 Compression process part 31 Compressor 40 Data amount detection part 50 Data amount comparison part 60 1st memory | storage part 61 Buffer memory 70 Main memory 71 2nd memory | storage part 80 CPU
90 Decompression processing unit 100 Image output unit 110 Image processing unit 120 HDD
130 Operation unit 140 External I / F
200 Image processing apparatus

Claims (8)

画像データを入力する画像入力工程と、
前記画像入力工程により入力された画像データから、1又は複数の領域からなる分割データを生成する分割データ生成工程と、
前記生成された1又は複数の分割データを前記領域毎に個別に圧縮し、1または複数の分割圧縮データを生成する分割圧縮データ生成工程と、
前記1又は複数の分割圧縮データを、複数の記憶空間を有する第1の記憶手段のいずれか1つの記憶空間に、領域毎に個別に格納する第1の記憶工程と、
前記第1の記憶手段の各記憶空間に格納された夫々の分割圧縮データを、第2の記憶手段に連続的に格納し直す第2の記憶工程と、を有する画像処理方法であって、
前記領域毎の分割圧縮データのデータ量を検出するデータ量検出工程と、
前記データ量検出工程にて検出された分割圧縮データのデータ量と、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量とを比較するデータ量比較工程と、を有し、
前記データ量比較工程における比較の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量よりも大きいと判定された場合、前記分割圧縮データ生成工程は、分割圧縮データのデータ量を前記記憶空間に格納できるデータ量に変換することを特徴とする画像処理方法。
An image input process for inputting image data;
A divided data generation step for generating divided data consisting of one or a plurality of regions from the image data input in the image input step;
A divided compressed data generation step of individually compressing the generated one or more divided data for each region to generate one or a plurality of divided compressed data;
A first storage step of individually storing the one or a plurality of divided compressed data for each region in any one storage space of a first storage unit having a plurality of storage spaces;
A second storage step of continuously storing each divided compressed data stored in each storage space of the first storage means in the second storage means, and an image processing method comprising:
A data amount detection step of detecting the data amount of the divided compressed data for each region;
A data amount comparison step of comparing the data amount of the divided compressed data detected in the data amount detection step with the storage space capacity of the first storage unit corresponding to the divided compressed data;
As a result of the comparison in the data amount comparison step, when it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage unit corresponding to the divided compressed data, the divided compressed data generation step Is a method of converting an amount of divided compressed data into a data amount that can be stored in the storage space.
前記分割圧縮データ生成工程は、画像データを周波数成分に変換する周波数変換工程を有し、画像データを構成する周波数成分のうち、高周波成分側の一部を除去することによって分割圧縮データのデータ量を変換することを特徴とする請求項1に記載の画像処理方法。   The divided compressed data generation step has a frequency conversion step of converting image data into frequency components, and the amount of divided compressed data is removed by removing a part on the high frequency component side from the frequency components constituting the image data. The image processing method according to claim 1, wherein: 前記分割圧縮データ生成工程は、画像データの低周波成分側から順次圧縮し、且つ前記データ量検出工程及び前記データ量比較工程と並行して実行され、
前記データ量比較工程の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前期第1の記憶手段の記憶空間容量よりも大きいと判定された場合、前記分割圧縮データ生成工程は、その周波数成分以降の高周波成分の圧縮を実行しないことで、実質的に画像データの高周波成分側の一部を除去することを特徴とする請求項2に記載の画像処理方法。
The divided compressed data generation step is sequentially compressed from the low frequency component side of the image data, and is executed in parallel with the data amount detection step and the data amount comparison step,
As a result of the data amount comparison step, when it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage unit corresponding to the divided compressed data, the divided compressed data generation step includes: 3. The image processing method according to claim 2, wherein substantially no part of the high frequency component side of the image data is removed by not performing compression of the high frequency component after the frequency component.
画像データを入力する画像入力手段と、
前記画像入力手段により入力された画像データから、1又は複数の領域からなる分割データを生成する分割データ生成手段と、
前記生成された1又は複数の分割データを前記領域毎に個別に圧縮し、1または複数の分割圧縮データを生成する分割圧縮データ生成手段と、
前記1又は複数の分割圧縮データを、領域毎に個別に格納する複数の記憶空間を有する第1の記憶手段と、
前記第1の記憶手段の各記憶空間に格納された夫々の分割圧縮データを、連続的に格納する第2の記憶手段と、を備える画像処理装置であって、
前記領域毎の分割圧縮データのデータ量を検出するデータ量検出手段と、
前記データ量検出手段にて検出された分割圧縮データのデータ量と、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量とを比較するデータ量比較手段と、を備え、
前記データ量比較手段における比較の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量よりも大きいと判定された際、前記分割圧縮データ生成手段は、分割圧縮データのデータ量を前記記憶空間に格納できるデータ量に変換することを特徴とする画像処理装置。
Image input means for inputting image data;
Divided data generation means for generating divided data consisting of one or a plurality of regions from the image data input by the image input means;
Divided compressed data generating means for individually compressing the generated one or more divided data for each region to generate one or a plurality of divided compressed data;
First storage means having a plurality of storage spaces for individually storing the one or a plurality of divided compressed data for each region;
An image processing apparatus comprising: second storage means for continuously storing the respective divided compressed data stored in the respective storage spaces of the first storage means,
Data amount detection means for detecting the data amount of the divided compressed data for each region;
A data amount comparing means for comparing the data amount of the divided compressed data detected by the data amount detecting means and the storage space capacity of the first storage means corresponding to the divided compressed data;
As a result of the comparison in the data amount comparing means, when it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage means corresponding to the divided compressed data, the divided compressed data generating means The image processing apparatus converts the data amount of the divided compressed data into a data amount that can be stored in the storage space.
前記分割圧縮データ生成手段は、画像データを周波数成分に変換する周波数変換手段を備え、画像データを構成する周波数成分のうち、高周波成分側の一部を除去することによって分割圧縮データのデータ量を変換することを特徴とする請求項4に記載の画像処理装置。   The divided compressed data generation means includes frequency conversion means for converting image data into frequency components, and the data amount of the divided compressed data is reduced by removing a part of the high frequency component side from the frequency components constituting the image data. The image processing apparatus according to claim 4, wherein the image processing apparatus performs conversion. 前記分割圧縮データ生成手段は、画像データの低周波成分側から順次圧縮するものであり、且つ前記データ量検出手段及び前記データ量比較手段と並行して動作し、
前記データ量比較手段の動作の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前記第1の記憶手段の記憶空間容量よりも大きいと判定されたとき、前記分割圧縮データ生成手段は、その周波数成分以降の高周波成分の圧縮を実行しないことで、実質的に画像データの高周波成分側の一部を除去することを特徴とする請求項5に記載の画像処理装置。
The divided compressed data generation means compresses sequentially from the low frequency component side of the image data, and operates in parallel with the data amount detection means and the data amount comparison means,
As a result of the operation of the data amount comparing means, when it is determined that the data amount of the divided compressed data is larger than the storage space capacity of the first storage means corresponding to the divided compressed data, the divided compressed data generating means 6. The image processing apparatus according to claim 5, wherein substantially no part of the high frequency component side of the image data is removed by not performing compression of the high frequency component after the frequency component.
請求項1乃至3いずれか一項に記載の画像処理方法をコンピュータが制御可能にプログラミングしたことを特徴とする画像処理プログラム。   An image processing program in which the image processing method according to any one of claims 1 to 3 is programmed to be controlled by a computer. 請求項7に記載の画像処理プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする記録媒体。   A recording medium in which the image processing program according to claim 7 is recorded in a computer-readable format.
JP2007069600A 2007-03-16 2007-03-16 Image processing method, image processor, image processing program and recording medium Pending JP2008236084A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007069600A JP2008236084A (en) 2007-03-16 2007-03-16 Image processing method, image processor, image processing program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007069600A JP2008236084A (en) 2007-03-16 2007-03-16 Image processing method, image processor, image processing program and recording medium

Publications (1)

Publication Number Publication Date
JP2008236084A true JP2008236084A (en) 2008-10-02

Family

ID=39908384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007069600A Pending JP2008236084A (en) 2007-03-16 2007-03-16 Image processing method, image processor, image processing program and recording medium

Country Status (1)

Country Link
JP (1) JP2008236084A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049835A (en) * 2012-08-30 2014-03-17 Casio Comput Co Ltd Image processing apparatus, image processing method, and program
CN108734630A (en) * 2017-04-17 2018-11-02 英特尔公司 Thread serialization, distributed parallel programming, and runtime extension
CN110390628A (en) * 2019-07-30 2019-10-29 北京华捷艾米科技有限公司 A kind of image processing method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049835A (en) * 2012-08-30 2014-03-17 Casio Comput Co Ltd Image processing apparatus, image processing method, and program
CN108734630A (en) * 2017-04-17 2018-11-02 英特尔公司 Thread serialization, distributed parallel programming, and runtime extension
CN110390628A (en) * 2019-07-30 2019-10-29 北京华捷艾米科技有限公司 A kind of image processing method and device

Similar Documents

Publication Publication Date Title
JP3732702B2 (en) Image processing device
JP4929073B2 (en) Multi-function printer
JP3927388B2 (en) Image processing apparatus, image processing method, and recording medium
JP4902474B2 (en) Image processing apparatus and image processing method
US8094952B2 (en) Image processing apparatus and image processing method
JP2006129471A (en) Image processing method and image processing apparatus
JP4074540B2 (en) Image processing device
JP3661520B2 (en) Image processing apparatus, image processing method, image forming apparatus, and recording medium recording program
JP2004080520A (en) Image processing apparatus, image reading apparatus and image forming apparatus
JP2008236084A (en) Image processing method, image processor, image processing program and recording medium
JP3984813B2 (en) Image processing apparatus and method, computer program, and storage medium
JP2006304243A (en) Image processor, printer and image processing method
JP5222409B2 (en) Printer device
JP3835273B2 (en) Image encoding / decoding device
US7933039B2 (en) Apparatus, method, and computer program product for forming image
JP3190118B2 (en) Image processing device
JP4195624B2 (en) Image processing apparatus, image forming apparatus, image reading apparatus, program, and storage medium
JP4771095B2 (en) Image compression device
JP2011139165A (en) Image processing apparatus and processing method thereof
JP2006157444A (en) Image forming apparatus and method
JP4074832B2 (en) Data processing method and data processing apparatus
JP3867857B2 (en) Color image processing device
JP4262145B2 (en) Image processing apparatus and control method thereof
JP2000307876A (en) Image processor
JP2001309182A (en) Image processing unit and method