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 PDFInfo
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
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には、分割データ毎の処理時間が近似するようにデータを分割し、分割データを並行処理して同一のメモリ空間内の異なるアドレスに格納することによって全体の処理時間を短縮し高速化を図るという技術が開示されている。ここでの処理には圧縮/伸長処理も含まれている。またメモリへの蓄積方法を工夫し使用されない無駄なメモリの発生を抑制させる様々な方法について記述されている。より詳細には、画像を複数のバンドに分割して圧縮し、夫々の圧縮データを同一メモリ上の先頭アドレスからアドレスをインクリメント(増加)させる方向と、最終アドレスからアドレスをデクリメントする方向で交互に蓄積するなどの方法が記述されている。
In
また、プリンタやデジタル複合機等の画像処理装置では、スキャナなどの画像入力手段を介して入力された画像データを記憶手段に保存する際に、所定の規格に準じた画像圧縮方式により画像データを圧縮し、また保存された画像データを印刷する際には圧縮された画像データを伸張した後印刷処理を行う構成が知られている。上記画像データの圧縮処理・伸張処理には、一般にASIC等の専用の回路が用いられているが単独の回路構成では圧縮・伸張処理が入出力の速度に追従できない場合があった。そこで、前述のように画像データを扱う画像処理の分野では、圧縮/伸長処理などの画像処理を高速に行うため、画像データを複数の領域に分割し、複数の画像処理部で並行処理する手法が知られている。
しかしながら、特許文献1記載の発明には、圧縮したデータをメモリに蓄積する動作については詳細な記述がなされておらず、1つの画像データが複数のブロックに分割された状態で個別に蓄積されると考えられる。このため、圧縮データを伸張する際に分割された圧縮データを結合する必要があり煩雑である。また、圧縮処理が可変長圧縮である場合、分割された個別の圧縮データを格納するメモリを最低圧縮率のものに合わせておく必要があるためメモリ資源を有効に活用できないという問題がある。
また、特許文献2に記載の発明で開示されている方法を用いた場合、メモリの利用効率を上げることができるものの、メモリに格納した夫々のバンドの順序がばらばらになり圧縮データを伸長する際に並び替えを行ったり、別途順番に読み出す工夫が必要になったりするなど煩雑である。また、メモリの先頭アドレスからアドレスをインクリメントして格納したデータと、最終アドレスからアドレスをデクリメントして格納したデータとの間は、不連続となるという問題があり、使用されないメモリ空間が発生してしまうことが懸念される。また、夫々のバンドの順序が元の画像データに対してばらばらになってしまうため、格納された圧縮データの先頭のバンドまたは最終のバンド以外のバンドデータを読み出すには、先頭アドレスまたは最終アドレスから順に読み出す必要がありアクセス性が悪いという問題がある。
However, in the invention described in
Further, when the method disclosed in the invention described in
また、画像データを複数の領域に分割し、複数の画像処理部で並行処理する手法では、例えば、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
また、請求項2にかかる発明は、請求項1にかかる発明において、前記分割圧縮データ生成工程は、画像データを周波数成分に変換する周波数変換工程を有し画像データを構成する周波数成分のうち、高周波成分側の一部を除去することによって分割圧縮データのデータ量を変換することを特徴とする。
また、請求項3にかかる発明は、請求項2にかかる発明において、前記分割圧縮データ生成工程は画像データの低周波成分側から順次圧縮し、且つ前記データ量検出工程及び前記データ量比較工程と並行して実行され、前記データ量比較工程の結果、分割圧縮データのデータ量が当該分割圧縮データが対応する前期第1の記憶手段の記憶空間容量よりも大きいと判定された場合、前記分割圧縮データ生成工程は、その周波数成分以降の高周波成分の圧縮を実行しないことで、実質的に画像データの高周波成分側の一部を除去することを特徴とする。
The invention according to
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
The invention according to claim 7 is characterized in that the image processing method according to any one of
The invention according to
本発明によれば、領域毎の分割圧縮データのデータ量を検出するデータ量検出工程と、データ量検出工程にて検出された分割圧縮データのデータ量と、当該分割圧縮データが対応する第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
画像入力部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
The
圧縮処理部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
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
The data amount
The
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
伸長処理部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
The
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
画像処理部110は、画像データ(分割圧縮データ)に対し、変倍処理、画像編集処理、画像回転処理等の各種画像処理、画像フォーマット変換処理、レンダリング処理等を施す。また、画像分割部20と同様に、RGBフォーマットやCMYKフォーマットの画像データを複数の領域に分割する画像分割処理を行うとしてもよい。
操作部130は、マウスやキーボード等の操作手段と、操作にかかる情報の表示や画像形成装置の状態を表示する表示手段とを有し(何れも、図示せず)、操作手段を介してユーザからの入力操作を受け付けるとともに、ユーザに向けた情報を表示手段に表示する。
HDD120は、磁気的又は光学的に記録可能な記録媒体を有し、画像入力部10から入力された画像データ又は圧縮処理部30により圧縮された圧縮データ、外部I/F140を介して入力された画像データや文書データ、画像形成装置の制御にかかるプログラムや各種設定情報、フォントデータ等を記憶する。
外部I/F140は、PC(Personal Computer)やその他の画像処理装置等の外部機器と接続するインターフェースであって、外部機器との間で情報の授受を行う。なお、外部I/F140を画像入力部10とみなして画像データを入力し、上記説明したような種々の処理を施す態様としてもよい。
The
The
The
The external I /
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
The JPEG 2000 format image data (divided compressed data) stored in the
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
また、画像データの外部機器への送信(例えば、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
The image data in the RGB format read by the
図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
The
The
図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
In the
Here, as shown in FIG. 3, the respective divided data (
圧縮処理部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
Specifically, the compressors 31-1 to 31-4 of the
図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
The individually compressed divided compressed data is stored in the buffer memories 61-1 to 61-8 of the
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
具体的に、バッファメモリ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
By such processing, a series of divided compressed data relating to one image data is stored in the
また、本実施形態のように、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
図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
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
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
次に、その符号化データがブロックの最後のデータであるかを判別し(ステップ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
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
一方、比較の結果、分割圧縮データのデータ量がバッファメモリ容量以下であると判定されたら、ブロック全体の符号化が終了したかどうかを判別し(ステップ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 |
Thereafter, the data are sequentially rearranged and stored in the
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
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.
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
90
130
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の記憶手段の記憶空間容量よりも大きいと判定された場合、前記分割圧縮データ生成工程は、その周波数成分以降の高周波成分の圧縮を実行しないことで、実質的に画像データの高周波成分側の一部を除去することを特徴とする請求項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.
前記データ量比較手段の動作の結果、分割圧縮データのデータ量が、当該分割圧縮データが対応する前記第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.
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)
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 |
-
2007
- 2007-03-16 JP JP2007069600A patent/JP2008236084A/en active Pending
Cited By (3)
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 |