JP2012074897A - Image processing device, image processing method, and program - Google Patents
Image processing device, image processing method, and program Download PDFInfo
- Publication number
- JP2012074897A JP2012074897A JP2010217759A JP2010217759A JP2012074897A JP 2012074897 A JP2012074897 A JP 2012074897A JP 2010217759 A JP2010217759 A JP 2010217759A JP 2010217759 A JP2010217759 A JP 2010217759A JP 2012074897 A JP2012074897 A JP 2012074897A
- Authority
- JP
- Japan
- Prior art keywords
- color
- data
- image data
- interpolation
- compression
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
本発明は、画像データを所定のブロック単位に圧縮する画像処理装置、画像処理方法、およびプログラムに関する。特に、高解像度の画像データを簡易、かつ高効率に符号化する技術に関するものである。 The present invention relates to an image processing apparatus, an image processing method, and a program for compressing image data in predetermined block units. In particular, the present invention relates to a technique for easily and efficiently encoding high resolution image data.
従来、画像をm×n画素で構成されるブロックに分割し、このブロックを可逆符号化する構成と、非可逆符号化する構成を備え、いずれか一方の符号化結果を着目ブロックの最終的な符号化データとして出力する画像符号化技術が提案されている。かかる技術は比較的画質劣化が目に付きにくい自然画像領域などでは、非可逆符号化方式を選択し圧縮率を高めている。反対に、画質劣化の目に付きやすい文字、線画、CG部分などでは可逆符号化方式を用いることで視覚的な画質劣化を抑制することをその基本としている。前述の方法として特許文献1が知られている。
Conventionally, an image is divided into blocks each composed of m × n pixels, and this block has a configuration for lossless encoding and a configuration for lossy encoding. An image encoding technique for outputting as encoded data has been proposed. In such a technique, the lossy encoding method is selected to increase the compression rate in a natural image region where image quality degradation is relatively unnoticeable. On the other hand, the basic principle is to suppress visual image quality degradation by using a lossless encoding method for characters, line drawings, CG portions, etc., which are prone to image quality degradation.
可逆符号化としては、着目画素の画素値を周囲画素の値から予測し、その予測誤差を求め、その予測誤差を符号化する方法がある。あるいは、同一画素値の連続数に変換して符号化するランレングス符号化技術が利用されることが多い。一方、非可逆符号化としては、画像データをDCTやwavelet変換などを用いて周波数空間のデータに変換し、係数値を符号化する変換符号化技術が一般的である。 As lossless encoding, there is a method of predicting a pixel value of a pixel of interest from values of surrounding pixels, obtaining a prediction error thereof, and encoding the prediction error. Alternatively, a run-length encoding technique that converts and encodes a continuous number of the same pixel value is often used. On the other hand, as irreversible encoding, a conversion encoding technique is generally used in which image data is converted into frequency space data using DCT, wavelet conversion, or the like, and coefficient values are encoded.
近年、画像入出力機器の高精度化に伴い、画像データの高解像度化が進んでいる。高解像度の画像データを高速に処理するためには、より多くのハードウエアリソースや処理時間が必要となる。従って、高効率な可逆、非可逆の符号化処理には、高度な演算処理が必要とされ、圧縮性能、画質、演算コストの3つのバランスをよく満たす画像符号化技術が求められる。その方法として、例えば特許文献2のように、m×nの分割画像データを可逆な低解像度データに変換し、変換する際に生成される補間データ量によって、可逆、非可逆圧縮方式を選択する方法が提案されている。その他にも、より圧縮率を高めるために、解像度変換処理においてを元の解像度に復元するデータを単純間引きし、符号化後のデータ量をより小さくする技術も提案されている。
In recent years, the resolution of image data has been increased with the increase in accuracy of image input / output devices. In order to process high-resolution image data at high speed, more hardware resources and processing time are required. Therefore, high-efficiency lossless and lossy encoding processing requires advanced calculation processing, and an image encoding technique that satisfies the three balances of compression performance, image quality, and calculation cost is required. As a method, for example, as in
上述した画像データに対して解像度変換を行い、解像度変換時に生成される補間データに基づき可逆・非可逆圧縮方式を選択する方法では、大幅な画質劣化が起こる可能性がある。つまり、解像度変換による単純間引きしたデータに対して非可逆圧縮方式を実行する場合には、2回分の非可逆な画像間引きを行うことに等しく、オリジナルの画像からの大幅な画質劣化を引き起こす問題がある。 In the method in which the resolution conversion is performed on the above-described image data and the lossless / lossy compression method is selected based on the interpolation data generated at the time of resolution conversion, there is a possibility that significant image quality degradation occurs. In other words, when the irreversible compression method is executed on the simple thinned data by resolution conversion, it is equivalent to performing irreversible image thinning for two times, and there is a problem of causing significant image quality degradation from the original image. is there.
本発明は、このような問題を鑑みてなされたもので、その目的は、簡易な処理によって、高圧縮、高画質を両立する符号化技術を提供する。 The present invention has been made in view of such problems, and an object thereof is to provide an encoding technique that achieves both high compression and high image quality by simple processing.
上記課題を解決するために、本発明は以下の構成を有する。すなわち、画像データを所定の画素数からなるブロックに分割し、分割された前記ブロックを順に符号化処理する画像処理装置であって、処理対象の画像データにおいて、前記ブロックに含まれる画素のうち、所定の位置の画素の値を代表色とし、代表色以外の画素の値を補間色とし、前記ブロックにおける前記代表色と補間色との配置を配置情報として出力する圧縮手段と、前記画像データにおける各ブロックに対し減色処理を行う減色手段と、前記減色手段により減色した画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮手段による処理を行うことにより得られた代表色からなる縮小画像データに対して更に前記圧縮手段による処理を行うことにより得られた補間色のデータ量との総和である全体補間データ量を算出する補間データ量算出手段と、前記減色手段により減色した画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量との差分である削減量を算出する削減量算出手段と、前記全体補間データ量および前記削減量に応じて、可逆符号化、もしくは非可逆符号化のいずれを行うかを選択する選択手段と、前記選択手段により可逆符号化を行うと選択された場合、前記圧縮手段により出力された前記代表色からなる縮小画像データを可逆符号化する可逆符号化手段と、前記選択手段により非可逆符号化を行うと選択された場合、前記圧縮手段により出力された前記代表色からなる縮小画像データを非可逆符号化する非可逆符号化手段とを有する。 In order to solve the above problems, the present invention has the following configuration. That is, an image processing apparatus that divides image data into blocks each having a predetermined number of pixels, and sequentially encodes the divided blocks. Among the pixels included in the block in the image data to be processed, A compression means for setting a pixel value at a predetermined position as a representative color, a pixel value other than the representative color as an interpolation color, and outputting an arrangement of the representative color and the interpolation color in the block as arrangement information; Color reduction means for performing color reduction processing for each block; data amount of interpolation color obtained by processing by the compression means for image data reduced by the color reduction means; and compression for the image data Obtained by further processing by the compression means on the reduced image data composed of the representative colors obtained by performing the processing by the means. Interpolation data amount calculation means for calculating the total interpolation data amount that is the sum of the inter-color data amount, and the interpolation color obtained by performing the processing by the compression means on the image data reduced in color by the color reduction means Reduction amount calculation means for calculating a reduction amount that is a difference between the data amount and the data amount of the interpolation color obtained by performing processing by the compression means on the image data, the overall interpolation data amount, and the A selection unit that selects whether to perform lossless encoding or lossy encoding according to the reduction amount, and when the selection unit selects lossless encoding, the compression unit outputs the When it is selected that lossless encoding means for losslessly encoding reduced image data composed of representative colors and irreversible encoding by the selection means are output by the compression means And a lossy encoding means for lossy encoding the reduced image data composed of serial representative colors.
本発明によれば、高解像度画像データに対して画質劣化を抑えた高い圧縮性能を実現する符号化を行うことが可能となる。 According to the present invention, it is possible to perform encoding that realizes high compression performance with reduced image quality degradation for high resolution image data.
以下、本発明を実施するための形態について図面を用いて説明する。図1に、本発明の実施の形態のスキャン、プリント、コピーを行うデジタル複合機システム(以降、MFPと称する)の全体構成図を示す。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. FIG. 1 is an overall configuration diagram of a digital multi-function peripheral system (hereinafter referred to as MFP) that performs scanning, printing, and copying according to an embodiment of the present invention.
コントローラ101は、画像入力デバイスであるスキャナ102と画像出力デバイスであるプリンタ103とに接続する。一方ではLANや公衆回線(WAN)等のネットワーク104と接続することで、画像情報やデバイス情報の入出力、PDL(Page Description Language)データのイメージ展開を行うことができる。CPU105はシステム全体を制御するプロセッサである。また、本実施形態では、CPU105がHDD記憶部107等に格納されたプログラムを読み出し、実行することで各処理を実現する。
The
メモリ106はCPU105が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。HDD記憶部107は、ハードディスクドライブで、システムソフトウェア、画像データを格納する。外部入力装置108は、その例としてタッチパネルやキーボードなどが挙げられ、MFPを使用するユーザーが様々な印刷設定等を行うためのユーザインタフェース装置である。
The
図2を用いて、図1のコントローラ部の動作に関して詳細に説明する。スキャンデータを読み込む場合を説明する。スキャナ102からRGB(RED、GREEN、BLUE)3色の読み取り画像データを受け取ったコントローラ101では、まずスキャナ用画像処理部201にてシェーディング処理やフィルタ処理等の画像処理を行う。そして、圧縮部202にて画像圧縮処理を行う。その圧縮データをDMAC(Direct Memory Access Controller)203を介して、メモリ106へ格納する。
The operation of the controller unit in FIG. 1 will be described in detail with reference to FIG. A case of reading scan data will be described. In the
スキャンデータをプリントする場合は、メモリ106に格納されている圧縮データをDMAC211を介して色処理部212へ入力し、CMYK(Cyan、Magenta、Yellow、Black)色空間へ変換する。その後、それらCMYKの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、DMAC211を介してメモリ106へ再度格納する。その後、プリント用の画像処理を行うために、DMAC221を介して、メモリ106に格納されている圧縮データを読み込み、展開部222にてラスタ画像データへ展開する。ラスタのCMYK画像データをプリント用画像処理部223に入力し、そこでディザ法や誤差拡散法による面積階調処理を行い、プリンタ103へ出力する。なお、面積階調処理については、上記手法に限定するものではなく、本発明が適用できれば他の手法を用いても構わない。
When printing scan data, the compressed data stored in the
スキャンデータをネットワークへ送信する場合には、メモリ106に格納されている圧縮データをDMAC211を介して色処理部212へ入力し色変換を行う。具体的には、ディスプレイガンマ調整や用紙地色調整等を行った後にYCbCr(輝度、BLUE色差、RED色差)色空間へ変換する。その後再度、DMAC211を介してメモリ106へ格納する。その後、送信用の画像処理を行うために、DMAC231を介して、メモリ106に格納されている圧縮データを読み込み、展開部232にてラスタ画像データへ展開する。ラスタのYCbCr画像データに対して送信処理部233では、処理対象の画像データが、カラー画像送信であればJPEG圧縮処理を行い、モノクロ2値画像送信であればYデータに対して2値化を行ってJBIG圧縮等を行う。そして、送信処理部233は、圧縮処理を施した画像データをネットワーク104へ出力する。
When the scan data is transmitted to the network, the compressed data stored in the
スキャンデータを保存する場合には、メモリ106に格納されている圧縮データをDMAC241を介してディスクスプール高圧縮/展開部242へ入力する。ディスクスプール高圧縮/展開部242では、HDDへの書き込みスピードがメモリへの書き込みスピードに比べて遅いため、さらに高圧縮のJPEG圧縮を施す。その後ディスクアクセスコントローラ243を介してHDD記憶部107へ圧縮データを保存する。保存されているデータをメモリ106へ再度展開する場合はその逆処理を行う。
When storing the scan data, the compressed data stored in the
PDLのデータをメモリへ書き込む場合を説明する。図2では図示していないが、図1にてネットワークから送られてきたPDLデータをCPU105にてインタプリットし、メモリ106へディスプレイリストを出力する。その後、メモリ106に格納されているディスプレイリストをレンダリング部251でラスタ形式のRGB画像データへレンダリングを行い、圧縮部252にて画像圧縮処理を行う。その圧縮データは、DMAC253を介してメモリ106へ格納される。PDLデータをプリント、ネットワークへ送信、保存する場合は、スキャンデータのそれと同様の処理を行うことで実現する事が可能になる。以降では、本発明の特徴となるラスタ画像データの圧縮部の詳細に関して説明を行う。
A case where PDL data is written to the memory will be described. Although not shown in FIG. 2, the PDL data sent from the network in FIG. 1 is interpreted by the
[圧縮処理全体フロー]
まず、圧縮処理全体フローについて、図3を用いて説明する。本実施形態では、入力画像データの解像度を1200dpiとし、二回の解像度変換により、300dpiの解像度を有する縮小画像データを生成する例を示す。なお、本実施形態において、本処理フローは、CPU105がHDD記憶部107等の記憶部に格納されたプログラムを読み込み、実行することにより実現する。また、本実施形態の以下の処理において、“パケット”とは、処理対象の画像データにおいて、64×64画素からなる画像データの単位を指す。また、“タイル”とは、処理対象の画像データにおいて、2×2画素からなる画像データの単位を指す。ここで、便宜上、“パケット”および“タイル”として画像データのサイズを定義したが、これに限定されるものではなく、必要に応じて変更しても構わない。
[Overall compression processing flow]
First, the overall compression processing flow will be described with reference to FIG. In the present embodiment, an example in which the resolution of input image data is 1200 dpi and reduced image data having a resolution of 300 dpi is generated by performing resolution conversion twice. In the present embodiment, this processing flow is realized by the
S300において、CPU105は、符号化を開始する前の初期化処理を行う。ここでは、符号化対象となる画像データについて符号列に含めるべきヘッダ情報を準備し、各種メモリ、変数等の初期化処理が行われる。ここで準備されるヘッダ情報には、符号化の方式や扱うデータの属性等が挙げられるが、本実施形態においては特に限定しない。
In S300, the
S300における初期化処理の後、S301において、CPU105は、圧縮部252や202に、レンダリング部251やスキャナ用画像処理部201からの画像データを順次入力する。その結果、符号化対象となる1ライン分の画像データがラインバッファへと入力される。画像データのハンドリング等については後述する。なお、ここでの“ライン”とは、画像データを圧縮する際に走査する方向(主走査方向)の画素群を示し、本実施形態において1ラインとは、1×N画素の構成からなる(ここで、Nは画像データの主走査方向における画素数)。
After the initialization process in S300, in S301, the
次に、S302において、CPU105は、1ライン分の画像データに対して、着目するパケットデータ(64×64画素)を切り出す。続いて、S303において、CPU105は、着目するタイルデータ中(2×2画素)の各画素ブロック中の左上隅の画素をサブサンプリングすることで1/2縮小タイルデータを生成する。つまり、入力画像データを1200dpiの画像データから600dpiの画像データを生成する。この処理が1200dpiから600dpiへの解像度変換であり、得られるデータを“600dpiパケットデータ”と呼ぶことにする。なお、本実施形態においては、サブサンプリングを行う対象の画素の位置をブロック内の左上隅の画素としたが、これに限定されるものではなく、他の位置にある画素であっても構わない。
Next, in S302, the
S304において、CPU105は、600dpiパケットデータから元の1200dpi解像度のパケットデータを復元するための1200dpi補間データを生成する。補間データおよび生成処理の詳細については図4〜9を用いて後述する。S305において、CPU105は、解像度変換の際の補間データを削減するために、1200dpiの画像データに対して減色処理を行う。減色処理の詳細については図10を用いて後述する。S306において、CPU105は、減色処理を行ったデータに対する減色1200dpi補間データを生成する。この処理の詳細については図4〜10を用いて後述する。
In S304, the
続いて、S307において、CPU105は、600dpiパケットデータに対して、着目するタイルデータ中の各画素ブロック中の左上隅の画素をサブサンプリングすることで1/2縮小タイルデータを生成する。つまり、入力画像である600dpiの画像データから300dpiの画像データを生成する。この処理が600dpiから300dpiへの解像度変換であり、得られるデータを“300dpiパケットデータ”と呼ぶことにする。ここでのサブサンプリングにおいても、S303と同様に画素の位置については左上隅に限定するものではない。S308において、CPU105は、300dpiパケットデータから元の600dpi解像度のパケットデータを復元するための600dpi補間データを生成する。
Subsequently, in S307, the
S309において、CPU105は、補間データの構造情報から、300dpiパケットデータについて可逆と非可逆のどちらの符号化方式を適用するかを決定する。選択方法の詳細は後述する。選択された符号化方式が可逆符号化である場合(S310にてYES)、S311において300dpiパケットデータを可逆符号化して符号化データを生成する。また、選択された符号化方式が非可逆符号化である場合(S310にてNO)、S312において、CPU105は、600dpiパケットデータを非可逆符号化して符号化データを生成する。
In step S <b> 309, the
続いて、S313において、CPU105は、着目するタイルについて、タイルヘッダ、可逆/非可逆を識別する情報、補間データ、1/2縮小タイル符号化データを結合させて、タイル符号化データを形成する。S314において、CPU105は、符号化処理を行ったタイルが現在読み込まれている1ラインの最後のパケットであるか否かを判定する。最後のパケットでない場合(S314にてNO)には、次のパケットについてS302から処理を繰り返す。1ラインの最後のパケットである場合には(S314にてYES)、処理をS315へと移す。
Subsequently, in S313, the
S315において、CPU105は、現在読み込まれているラインが画像の最終ラインであるか否かを判定する。最終ラインでない場合には(S315にてNO)、S301に戻り、CPU105は次のラインデータを読み込み、処理を継続する。最終ラインの場合には(S315にてYES)、S316へと処理を移す。処理がS316に移ったときには、符号化対象画像データのすべてのパケットについて符号化処理が終了しており、CPU105は、全タイルの符号化データから、最終的な符号化データを生成して、DMAC253/203を介してメモリ106にデータを格納する。以上により、本処理フローを終了する。
In step S315, the
[解像度変換]
以降ではラスタ画像データの解像度変換部の詳細に関して説明を行う。上述した図3のS303やS307の処理に相当する。
[Resolution conversion]
Hereinafter, details of the resolution conversion unit of raster image data will be described. This corresponds to the processing of S303 and S307 in FIG.
まず、処理対象の画像データにおいて、ページ単位のラスタ画像を2×2画素からなるブロックに分割し、その分割されたブロック単位でデータの圧縮を行う。ここでは、そのブロックを“タイル”と呼ぶ。処理の説明の前に、2×2の4画素データ中に占める色数に応じてその色の配置の組み合わせの数を考える。画素数が4画素なので、そこに占める色数は最大4色になり、色の配置のパターンはタイル内でたかだか1〜4色の組み合わせしか存在しない。それら4色のパターンの取り得る色の配置の組み合わせの数を図4を用いて説明する。本実施形態においては、2×2画素からなるブロックにおいて、所定の位置の画素の値(色値)を代表色、代表色以外の画素の値を補間色とする。また、補間色は2×2画素のブロックにおいて0〜3色のいずれかの数となる。従って、代表色を第1色、補間色をそれぞれ、第2色、第3色、第4色とも記載する。 First, in the image data to be processed, a raster image in units of pages is divided into blocks each composed of 2 × 2 pixels, and data is compressed in units of the divided blocks. Here, the block is called a “tile”. Prior to the description of the processing, the number of combinations of the arrangement of the colors will be considered according to the number of colors occupied in the 2 × 2 4-pixel data. Since the number of pixels is four, the number of colors occupied there is a maximum of four colors, and there is only a combination of one to four colors in the tile as the color arrangement pattern. The number of combinations of color arrangements that can be taken by these four color patterns will be described with reference to FIG. In the present embodiment, in a block composed of 2 × 2 pixels, a pixel value (color value) at a predetermined position is a representative color, and values of pixels other than the representative color are interpolation colors. The interpolation color is any number of 0 to 3 colors in a 2 × 2 pixel block. Therefore, the representative color is also referred to as the first color, and the interpolation color is also referred to as the second color, the third color, and the fourth color, respectively.
図4で2×2画素からなるタイルの集まりから構成されているものが、“パケット”であり、本実施形態では64×64画素で構成されているものとする。まずパケットに含まれるタイルのうちの1つに注目して考える。タイルに含まれる画素の色が1色の場合、4画素が同色で構成されている事になるので、その配置の組み合わせは1通りである。 In FIG. 4, what is composed of a collection of tiles each composed of 2 × 2 pixels is a “packet”, and in this embodiment, is composed of 64 × 64 pixels. First, consider one of the tiles included in the packet. When the color of the pixel included in the tile is one color, four pixels are configured in the same color, so there are only one combination of the arrangements.
次にタイル内に2色の画素が含まれている場合を考える。2色が4画素内へレイアウトされる組み合わせは、タイル内の左上の画素の値を第1色、他方の値を第2色として考えると、左上以外残りの3画素へ第1色もしくは第2色が入る。そのため、4画素同色の場合を除くと、全部で7通りの配置の組み合わせが考えられる。 Next, consider a case where two colors of pixels are included in a tile. In the combination in which two colors are laid out in four pixels, if the value of the upper left pixel in the tile is considered as the first color and the other value as the second color, the remaining three pixels other than the upper left are changed to the first color or second Color enters. Therefore, except for the case of four pixels having the same color, a total of seven arrangement combinations are conceivable.
次にタイル内に3色の画素が含まれている場合を考える。3色が4画素内へレイアウトされる組み合わせは、3色のうち1色だけが2度使われる場合と言い換える事が可能である。よって、4画素の座標のうち、2画素が同じ色になる組み合わせを求めればよい。つまり3色の場合の数は、4つの座標から2つの座標を取る組み合わせとなり、全部で6通りとなる。 Next, consider a case where pixels of three colors are included in a tile. The combination in which three colors are laid out in four pixels can be paraphrased as a case where only one of the three colors is used twice. Therefore, what is necessary is just to obtain | require the combination from which two pixels become the same color among the coordinates of four pixels. That is, the number in the case of three colors is a combination of taking two coordinates from four coordinates, and there are six ways in total.
最後にタイルに含まれる画素の値がすべて異なり、4色の場合は1色の場合と同様に、その配置は1パターンしか存在しない。 Finally, the values of the pixels included in the tile are all different, and in the case of four colors, there is only one pattern as in the case of one color.
上述のように、タイルに含まれる画素の色の組み合わせにおいて、これら1〜4色すべての場合の数を合計すると全部で15通りのパターンが考えられる。これらすべてのパターンを識別するためにフラグを付与する事を考えると、データ量としては4bitが必要となる。図示すると図5のようになり、以降、ブロック内の色の配置パターンを示す配置情報であるフラグを“パターンフラグ”と呼ぶ。ここでのパターンフラグは、0〜Eのいずれかの値をとる。
As described above, in the combination of the colors of the pixels included in the tile, a total of 15 patterns can be considered when the numbers for all of these 1 to 4 colors are added up. Considering adding a flag to identify all these patterns, 4 bits are required as the data amount. FIG. 5 shows this, and hereinafter, a flag that is arrangement information indicating an arrangement pattern of colors in a block is referred to as a “pattern flag”. The pattern flag here takes one of the
[圧縮処理フロー]
上記のように、2×2画素の取りうる組み合わせを踏まえて、圧縮部202、252での解像度変換/補間データ生成にて行われる処理フローについて図6を用いて説明する。なお、本実施形態においては、本処理はCPU105がHDD記憶部107等の記憶部に格納されたプログラムを読み出し、実行することにより、実現されるものとする。本実施形態において、入力は、例えばRGBそれぞれ8bitの256階調を有し、またデータは8bitデータの点順次で1画素あたり24bit(8bit×3色分)画像として説明を行う。
[Compression processing flow]
Based on the possible combinations of 2 × 2 pixels as described above, a processing flow performed in resolution conversion / interpolation data generation in the
まず、処理が開始されると、入力データの中から2×2画素のタイルが入力される(S601)。CPU105は、入力されたタイル内全ての2画素の組み合わせに対して24bitのコンペアを取る(S602)。このコンペアを取った結果、全ビット一致していた場合は“1”を、不一致の場合は“0”を出力する。図7に示すように、タイルは2×2画素から構成されており、ブロック内の画素を左上、右上、左下、右下の順に座標1、2、3、4とすると、2画素の組は、1−2、1−3、1−4、2−3、2−4、3−4の全部で6通りとなる。従って、1つのブロックにおいては、6回のコンペアを取る必要があり、結果として6bitの値が出力される。例えば全画素同色の場合には、全てのコンペア結果が“1”となり、逆に4画素全てバラバラの画素値の場合には、全てのコンペア結果が“0”となる。前述の通り、4画素で色の一致から出現しうるパターン数は15通りなので、CPU105は、出力された6bitのコンペア結果に対して4bitのパターンフラグへ変換する(S603)。
First, when processing is started, a 2 × 2 pixel tile is input from the input data (S601). The
CPU105は、パターンフラグへ変換した後、タイル内の4画素にて出現した色数および色データを抽出する(S604)。ここで、パターンフラグから、タイル内の左上の画素の値を第1色とした場合、第2色以降がどの位置にあるかを求める事が出来る。図8を参照しながら説明を行う。例えば、タイル内の4画素がすべて同じ値を有し、1色で構成されていることが確定した場合(S605にてYES)には、第2色以降は存在しないため、CPU105は、パターンフラグ4bitと第1色の値(24bit)を出力する(S606)。またタイル内の4画素が2色で構成されていることが確定した場合(S607にてYES)には、CPU105は、第2色の値を有する画素の座標をパターンフラグより算出し、パターンフラグ(4bit)と2色分の画素値(48bit)を出力する(S608)。CPU105は、タイルに含まれる色の数が3色、4色の場合も同様に処理を行う(S609、S610、S611)。この時、CPU105は、タイル内の画素の座標(左上、右上、左下、右下の順に1、2、3、4)順にこれまで出現していなかった色の画素値をメモリ106等の記憶部に記憶する。
After the conversion to the pattern flag, the
このように、2×2画素からなるタイル内の4色(96bit)の入力データを4bitのパターンフラグとタイルに存在する色数分だけ画素値を出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。具体的には、入力データ96bitに対し、1色の場合は28bit、2色の場合は52bit、3色の場合は76bitに圧縮可能である。なお、4色の場合のみ100bitのデータとして出力することになる。またパターンフラグを参照することで、そのタイル内の色数および色の配置を特定することが可能になる。 In this way, the input data of 4 colors (96 bits) in a tile composed of 2 × 2 pixels is output by a relatively simple process by outputting the pixel values for the number of colors existing in the tile with 4 bit pattern flags. The amount of data can be reduced. Specifically, the input data 96 bits can be compressed to 28 bits for one color, 52 bits for two colors, and 76 bits for three colors. Note that data of 100 bits is output only in the case of four colors. Further, by referring to the pattern flag, the number of colors and the color arrangement in the tile can be specified.
上記処理を処理対象である画像データに含まれるタイル全てに対して行うことで、画像データの圧縮が可能になる。また、この処理により、図3のS303,S307にて示した解像度変換処理を実現する。このとき、補間データとは、第2色、第3色、第4色のデータを意味する。 By performing the above processing on all tiles included in the image data to be processed, the image data can be compressed. Further, the resolution conversion process shown in S303 and S307 of FIG. 3 is realized by this process. At this time, the interpolation data means data of the second color, the third color, and the fourth color.
[格納方式]
上記のようにして求めたパターンフラグと色データとを、DMACを介してメモリ106に書き込む。その時DMACでは、パターンフラグと、第1色データと、第2、3、4色データのそれぞれに対する記憶領域上での書き込み位置を変える。DMACには、パターンフラグ書き込みのためのメモリ先頭アドレスと、第1色データの書き込みのためのメモリ先頭アドレスと、第2、3、4色データの書き込みのためのメモリ先頭アドレスとの3つのアドレスが指定されている。図8にその例を図示する。例えばサイズがM×N画素からなるRGB各色8ビットの画像データを圧縮部へ入力する場合を説明する。この場合、処理対象の画像データ全体に対し、パターンフラグのデータサイズはM×N/8バイト、第1色のデータサイズはM×N×3/4バイト、第2、3、4色のデータサイズは画像によって不定(画像によって異なる)の出力となる。
[Storage method]
The pattern flag and color data obtained as described above are written into the
ここで第1色書き込み位置以降のメモリ領域に関しては、画素データがピクセル単位で量子化や符号化されることなく格納されている。つまり、1画素入力、1画素出力で完結する色処理、例えばLUTを用いた色変換や、ガンマ補正処理、行列演算を用いた色空間変換処理等は特にパターンフラグを参照する必要はなく、直接処理を行うことが可能になる。図2に示している色処理部212は、メモリ106上の第1色書き込み先頭アドレス以降の画素データをDMAC経由で読み込み、画素単位での処理を済ませた後にメモリ106上へ書き戻す。この時、任意の画素単位処理によって画素のビット数が変わらない場合には、メモリ106上同じ場所へ上書きすることでメモリの節約も可能である。
Here, with respect to the memory area after the first color writing position, the pixel data is stored without being quantized or encoded in units of pixels. That is, color processing that is completed with one pixel input and one pixel output, for example, color conversion using LUT, gamma correction processing, color space conversion processing using matrix operation, etc., do not need to refer to the pattern flag directly. Processing can be performed. The
このように圧縮データを直接用いることで、メモリバス上の転送効率が向上し、かつオリジナルの画像における少ない画素数のデータに対して処理することになるため、高速処理が可能になる。 By directly using the compressed data in this way, the transfer efficiency on the memory bus is improved, and data with a small number of pixels in the original image is processed, so that high-speed processing is possible.
図9のように画像データを離散的にメモリ空間上へ格納することで、第1色格納部に限ってみると、画像データを2×2画素単位のタイルごとに、左上の座標の画素をサンプリングした画像結果がメモリ空間上に連続して存在することになる。本実施形態で説明しているMFPにおいては、蓄積したPDL画像データやスキャンの画像データのプレビュー表示や、前述したネットワーク送信などの機能も有している。この場合において、プリント解像度が600dpiであったとしてもプレビューや送信時にそこまでの解像度は通常必要とされず、300dpiやそれ以下で十分な場合が多い。こういった縮小データを得る必要がある場合は、パターンフラグや第2、3、4色のデータを用いず、第1色の画像データのみ扱うことで、簡単に半分のサイズのラスタ画像を得る事が出来る。 By storing the image data discretely in the memory space as shown in FIG. 9, when considering only the first color storage unit, the pixel of the upper left coordinate is stored for each tile of 2 × 2 pixel units. The sampled image results are continuously present in the memory space. The MFP described in this embodiment also has functions such as preview display of accumulated PDL image data and scanned image data, and network transmission described above. In this case, even if the print resolution is 600 dpi, a resolution up to that is usually not required at the time of preview or transmission, and 300 dpi or less is often sufficient. When it is necessary to obtain such reduced data, a half-size raster image can be easily obtained by using only the first color image data without using the pattern flag or the second, third, and fourth color data. I can do it.
例えば前述の例において、画像データが600dpiにて蓄積されていた場合の縮小送信時を説明する。送信する際の解像度として400dpiなど、サンプリングされている300dpiより大きい解像度が指定されている場合には、パターンフラグも含めて圧縮されているデータを一度展開し、公知の変倍方式を用いて送信する。逆に300dpiより小さい送信解像度指定がされている場合には第1色格納部のデータのみ用い、指定の解像度へ変倍処理を行うといったように必要な画像サイズに応じて切り替えながらデータの読み込みを行う。 For example, in the above-described example, a reduced transmission time when image data is stored at 600 dpi will be described. When a resolution larger than 300 dpi being sampled is specified, such as 400 dpi as the resolution at the time of transmission, the compressed data including the pattern flag is once expanded and transmitted using a known scaling method. To do. On the other hand, when transmission resolution less than 300 dpi is specified, only the data in the first color storage unit is used, and data is read while switching according to the required image size, such as performing scaling processing to the specified resolution. Do.
[展開部]
次に、圧縮部と対になる展開部222、232に関して説明する。展開部222、232では前述したようなパターンフラグ、画素データを用いて元のラスタ画像データへ戻す処理の事を指す。展開部222、232は、メモリ空間上に図9のように配置されている圧縮データのパターンフラグ書き込み先頭アドレス、第1色書き込み先頭アドレス、および第2、3、4色書き込み先頭アドレスの3つのアドレスをDMACへ指定する。DMACはその3つのアドレスから圧縮データを読み出し、展開部222、232へ送信する。展開部222、232ではまず4bitのパターンフラグを解釈し、そのタイル内の色数を算出する。第1色データに加え、色数に応じて第2、3、4色データを読み出す。そして、展開部222、232は、パターンフラグにて定義されている色の配置に応じて画素データを再配置する。これにより、2×2画素からなるタイルを展開、復号化する。
[Development part]
Next, the
また、展開部222、232にて画像サイズを1/2にする場合、前述したように、パターンフラグと第2、3、4色データを必要としないので、DMACには第1色書き込み先頭アドレスのみ指定する。そして、メモリ106からは第1色データのみ読み込みを行い画像を構成する。これにより、画像メモリバスの帯域を節約することが可能になる。
Further, when the image size is halved by the developing
なお本実施形態では2×2画素からなるタイルを最小単位として記述していたが、これに限るものではない。例えば、画像の特性に合わせて、画素数を変更しても構わない。また、圧縮の説明の際、画像データとしてRGB各色8bitを例として説明していたが、CMYKの色空間を取るものや、GRAYスケールのデータ、また8bit以外の画素値をとるものでも良い。 In the present embodiment, a tile composed of 2 × 2 pixels is described as the minimum unit, but the present invention is not limited to this. For example, the number of pixels may be changed in accordance with image characteristics. In the description of the compression, 8 bits for each color of RGB has been described as an example of image data. However, the image data may have a CMYK color space, GRAY scale data, or a pixel value other than 8 bits.
[減色処理]
以下、減色処理方法の詳細について説明する。解像度変換処理方法で高圧縮になる事が期待される画像は、画像データ内で隣接画素値が1レベルたりとも違わないような領域が多い画像である。ここでのレベルとは、各画素の色値の階調を示しており、例えば256階調で各色を表現する際には、0〜256の値を意味する。高解像度のPDLデータとしてレンダリングしたラスタ画像データに関してはこのようになっている場合が多いが、スキャナで読み取られた画像データでは、スキャナでのノイズ成分が画像に重畳され通常画素値として数レベルの違い(色値の差)が生じうる。このような場合には、圧縮データとしては2×2画素からなるタイルに4色の画素値が含まれていると判定される事が多くなり、圧縮後でデータ量が削減されないばかりか、パターンフラグが付与される分データが増える事になる。しかしながら、画像データによっては2×2画素からなるタイル内での数レベルの違いが視覚的に認識できない事も多くあり、そういった場合にはその数レベルの違いは冗長なデータといえる。
[Color reduction processing]
Details of the color reduction processing method will be described below. An image that is expected to be highly compressed by the resolution conversion processing method is an image in which there are many areas in which the adjacent pixel value is not different from one level in the image data. The level here indicates the gradation of the color value of each pixel. For example, when each color is expressed with 256 gradations, it means a value of 0 to 256. This is often the case with raster image data rendered as high-resolution PDL data. However, in image data read by a scanner, noise components from the scanner are superimposed on the image, and several levels of normal pixel values are used. Differences (color value differences) can occur. In such a case, as compressed data, it is often determined that pixel values of four colors are included in a tile composed of 2 × 2 pixels, and not only the amount of data is not reduced after compression but also the pattern The amount of data will increase as flags are added. However, depending on the image data, it is often impossible to visually recognize the difference in several levels within a tile composed of 2 × 2 pixels. In such a case, the difference in several levels can be said to be redundant data.
そこで、タイル内において数レベルの冗長な違いを有する各画素に対し、ブロック内に2以上の色が含まれている場合、減色処理を行うことで色数を減らす。この後にパターンフラグを作成することで、圧縮率の向上を図る。前述したように、2×2画素の取りうる組み合わせを踏まえて、画像圧縮を行うフローを図10を用いて説明する。入力としてはこれまでと同様にRGB各色8bitの256階調を有する画像データとして説明を行う。なお、本実施形態においては、本処理はCPU105がHDD記憶部107等の記憶部に格納されたプログラムを読み出し、実行することにより、実現されるものとする。
Therefore, when two or more colors are included in the block for each pixel having several levels of redundant differences in the tile, the number of colors is reduced by performing a color reduction process. After this, a pattern flag is created to improve the compression rate. As described above, a flow for performing image compression based on possible combinations of 2 × 2 pixels will be described with reference to FIG. The input will be described as image data having 256 gradations of 8 bits for each RGB color as before. In the present embodiment, this process is realized by the
まず処理が開始されると、2×2画素からなるタイルが入力される(S1001)。CPU105は、入力されたタイルに対し、タイルに含まれる4画素のデータに対して1色へ減色処理を行う(S1002)。ここでは例えば、4画素の平均画素値を算出することで1色への減色を実現する。続いて、CPU105は、減色処理により求められた画素値と入力された4画素の画素値との差分を算出する(S1003)。そして、CPU105は、差分の大小を判定する(S1004)。例えば、入力値と減色後のRGB値との差の絶対値の和を取り、その値が所定の閾値以下である場合には差が小さいと判定出来る。もしここで差が小さいと判定された場合(S1004にてYES)には、CPU105は、処理対象のタイルにパターンフラグを付与する(S1005)。そして、CPU105は、その減色した1色の画素値とパターンフラグを出力する(S1006)。
First, when processing is started, a tile composed of 2 × 2 pixels is input (S1001). For the input tile, the
誤差が大きいと判定された場合(S1004にてNO)には、CPU105は、2色へ減色処理を行う(S1007)。ここでは例えば、タイルに含まれる4画素のうちRGB値の差が最も大きい2画素A、Bを抽出し、残りの2画素がA、Bどちらに近いかでクラスタリングし、そのクラスタ内での平均値を求めることで、2色化する。そして、CPU105は、その2色化した画素値と入力されたタイルに含まれる4画素の画素値との差分を計算する(S1008)。そして、CPU105は差分の大小を判定する(S1009)。ここでの判定は、S1004と同様に予め定義された閾値と比較することで判定することができる。もし、ここで差分が小さいと判定された場合(S1009にてYES)には、CPU105は図4に基づいて、2色のパターンを検出し、パターンフラグを付与する(S1010)。そして、CPU105は、減色した2色の画素値とパターンフラグとを出力する(S1011)。
If it is determined that the error is large (NO in S1004), the
ここでも差分が大きいと判定された場合(S1009にてNO)には、CPU105は3色への減色処理を行う(S1012)。ここでは例えば4画素のうち最もRGB値の差の小さい2画素を抽出して、その2画素の値を平均化し、その平均値とそれ以外の2画素の値とを用いて4画素を3色へ減色する。そして、CPU105はその3色化したタイルの画素値と入力されたタイルに含まれる4画素の画素値との差分を計算する(S1013)。そして、CPU105は、差分の大小を判定する(S1014)。ここでの判定は、S1004と同様に予め定義された閾値と比較することで判定することができる。もし、ここで差分が小さいと判定された場合(S1014にてYES)には、CPU105は図4に基づいて、3色のパターンを検出し、パターンフラグを付与する(S1015)。そして、CPU105は、減色した3色の画素値とパターンフラグとを出力する(S1016)。
If it is determined again that the difference is large (NO in S1009), the
ここでも差分が大きいと判定された場合(S1014にてNO)には、減色することで視覚的に問題が出るタイルということになるので、CPU105は4色全ての画素値とそれに対応するパターンフラグを付与する(S1017)。そして、CPU105は、入力されたタイルに含まれる4画素すべてを出力する(S1018)。以上により、本処理フローを終了する。
If it is determined that the difference is large again (NO in S1014), this means that the tile is visually problematic due to color reduction, so the
このような構成をとり、処理対象の画像データに含まれるタイルすべてに処理を適用することで、スキャン画像に代表されるような画素間の数レベルの違いにより圧縮率が劇的に悪くなってしまうような画像に対しても圧縮率の向上を図る事が可能になる。また前述した差分判定の閾値の取り方次第で圧縮率と画質の調整も可能である。例えば、許容する画素間の差分を全く無くす(0にする)ことで、画像としては完全な可逆の圧縮になる。逆に許容する差分を無限にする事で、全タイルが1色で表現されることになり解像度を半分にするのと等価となり、データ量を1/4にすることが保証できる。 By adopting such a configuration and applying the processing to all the tiles included in the image data to be processed, the compression ratio is drastically deteriorated due to the difference in the number of pixels as represented by the scanned image. Therefore, it is possible to improve the compression rate even for such an image. Further, the compression rate and the image quality can be adjusted depending on the difference determination threshold value. For example, by completely eliminating the difference between allowed pixels (set to 0), the image is completely reversible. On the contrary, by making the allowable difference infinite, all tiles are expressed by one color, which is equivalent to halving the resolution, and it is possible to guarantee that the data amount is ¼.
ここでは、減色を用いた圧縮部での説明となっているが、この方法を用いた圧縮であればその展開の処理は減色を伴ったかどうかの圧縮方法を意識する必要はなく、上述の解像度変換処理の詳細説明で述べた展開処理と全く同じ構成でよい。 Here, the description is given in the compression unit using subtractive color. However, if compression is performed using this method, it is not necessary to be aware of the compression method of whether or not the decompression process is accompanied by subtractive color, and the resolution described above. The configuration may be exactly the same as the expansion processing described in the detailed description of the conversion processing.
なおここで説明に用いた減色の処理は一例であり他の公知の減色処理を用いて実施してもよい。また入力画素と減色処理後の画素との差分を算出する手段であるが、これも公知の色差を求める別の手段で代替してもよい。 Note that the color reduction processing used in the description here is an example, and other known color reduction processing may be used. Further, although it is a means for calculating the difference between the input pixel and the pixel after the color reduction processing, it may be replaced by another means for obtaining a known color difference.
[符号化方式選択]
本発明の特徴的な部分である、符号化方式を選択する方法について図11を用いて説明する。なお、本実施形態において、本処理はCPU105がHDD記憶部107等の記憶部に格納されたプログラムを読み出し、実行することにより、実現されるものとする。
[Encoding method selection]
A method for selecting an encoding method, which is a characteristic part of the present invention, will be described with reference to FIG. In the present embodiment, this process is realized by the
図11の処理フローは図3に示した処理の一部(S309〜S312)をより詳細に説明するものである。まず、CPU105は、S306で生成した減色1200dpi補間データ量を取得する(S1100)。ここでの取得方法については、メモリ106に格納されているデータ量から取得する。次に、CPU105は、S308で生成した600dpi補間データ量を取得する(S1101)。ここでの取得方法については、メモリ106に格納されているデータ量から取得する。
The process flow of FIG. 11 explains part of the process (S309 to S312) shown in FIG. 3 in more detail. First, the
続いて、CPU105は、減色1200dpi補間データ量と600dpi補間データ量との総和である全体補間データ量を算出する(S1102)。これにより、補間データ量算出手段を実現する。そして、CPU105は、算出した全体補間データ量と補間データ量閾値(第一の閾値)との値を比較する(S1103)。ここで、全体補間データ量の方が多ければ(S1103にてYES)、S1104に進み、全体補間データ量の方が少なければ(S1103にてNO)、S1106に進む。補間データ量閾値は、CPU105からのレジスタ設定によって設定することが可能である。また、画像の種類や外部入力装置108からの入力によってCPU105経由で値を変更することが可能である。
Subsequently, the
続いて、CPU105は、S304で生成した1200dpi補間データ量と減色1200dpi補間データとの差分を算出する(S1104)。この値が補間データ削減量である。これにより、削減量算出手段を実現する。そして、CPU105は、補間データ削減量と削減量閾値(第二の閾値)とを比較する(S1105)。ここで、補間データ削減量が大きければ(S1105にてNO)、S1106に進み、補間データ削減量が小さければ(S1105にてYES)S1107に進む。削減量閾値は、補間データ量閾値と同様に、CPU105からのレジスタ設定によって設定可能である。また、画像の種類や外部入力装置108からの入力によってCPU105経由で値を変更することが可能である。S1106では、CPU105は、300dpiパケットデータに対し、可逆符号化を行う。S1107では、CPU105は、600dpiパケットデータに対し、非可逆符号化を行う。そして、S1106もしくはS1107の処理の後、図3のS313の処理へと進む。
Subsequently, the
S1103およびS1105にて用いられている第一の閾値と第二の閾値は、圧縮前後の総データ量や画像の特性などに基づいて決定してもよい。 The first threshold value and the second threshold value used in S1103 and S1105 may be determined based on the total data amount before and after compression, image characteristics, and the like.
以上の処理により、符号化のデータ量の可変部分である全体補間データ量(本実施形態においては、第2、3、4色データに対応)によって、符号化処理を選択することが可能となる。つまり、補間データが少ない場合には、符号化率が比較的低い可逆符号化を選択し、画質の劣化を防ぐ。また、補間データ量が多い場合においても、減色処理による補間データの削減量によって、符号化処理を選択することが可能となる。つまり、減色処理によってデータ削減量が大きい場合には、可逆符号化を選択することで、画質劣化を抑える。反対に、減色処理によるデータ削減量が小さい場合には、減色処理による画質劣化が比較的少ないので、非可逆符号化を選択し、全体のデータ量を削減する。 With the above processing, it is possible to select the encoding process according to the total interpolation data amount (corresponding to the second, third, and fourth color data in this embodiment) that is a variable part of the encoding data amount. . That is, when the interpolation data is small, lossless coding with a relatively low coding rate is selected to prevent image quality deterioration. Even when the amount of interpolation data is large, the encoding process can be selected according to the amount of interpolation data reduced by the color reduction process. In other words, when the amount of data reduction is large due to the color reduction processing, image quality degradation is suppressed by selecting lossless encoding. On the other hand, when the data reduction amount due to the color reduction process is small, the image quality deterioration due to the color reduction process is relatively small, so lossy encoding is selected to reduce the overall data amount.
符号化方式を選択する際に重要なことは、符号化によるデータ削減量と、画質劣化度を最適にすることである。以上の処理によって、入力される画像に応じて、データ量や画質劣化を抑える符号化を行うことが可能となる。 What is important when selecting an encoding method is to optimize the amount of data reduction due to encoding and the degree of image quality degradation. Through the above processing, it is possible to perform encoding that suppresses data amount and image quality deterioration according to an input image.
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
Claims (9)
処理対象の画像データにおいて、前記ブロックに含まれる画素のうち、所定の位置の画素の値を代表色とし、代表色以外の画素の値を補間色とし、前記ブロックにおける前記代表色と補間色との配置を配置情報として出力する圧縮手段と、
前記画像データにおける各ブロックに対し減色処理を行う減色手段と、
前記減色手段により減色した画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮手段による処理を行うことにより得られた代表色からなる縮小画像データに対して更に前記圧縮手段による処理を行うことにより得られた補間色のデータ量との総和である全体補間データ量を算出する補間データ量算出手段と、
前記減色手段により減色した画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量との差分である削減量を算出する削減量算出手段と、
前記全体補間データ量および前記削減量に応じて、可逆符号化、もしくは非可逆符号化のいずれを行うかを選択する選択手段と、
前記選択手段により可逆符号化を行うと選択された場合、前記圧縮手段により出力された前記代表色からなる縮小画像データを可逆符号化する可逆符号化手段と、
前記選択手段により非可逆符号化を行うと選択された場合、前記圧縮手段により出力された前記代表色からなる縮小画像データを非可逆符号化する非可逆符号化手段と
を有することを特徴とする画像処理装置。 An image processing apparatus that divides image data into blocks each having a predetermined number of pixels, and sequentially encodes the divided blocks.
In the image data to be processed, among the pixels included in the block, the value of a pixel at a predetermined position is a representative color, the value of a pixel other than the representative color is an interpolation color, and the representative color and the interpolation color in the block Compression means for outputting the arrangement of as arrangement information;
Color reduction means for performing color reduction processing on each block in the image data;
The amount of interpolated color data obtained by performing the processing by the compression unit on the image data reduced by the color reduction unit, and the representative color obtained by performing the processing by the compression unit on the image data Interpolation data amount calculation means for calculating a total interpolation data amount that is a sum of the interpolation color data amount obtained by further performing processing by the compression means on the reduced image data comprising:
The amount of interpolation color data obtained by performing the processing by the compression unit on the image data reduced by the color reduction unit, and the interpolation color obtained by performing the processing by the compression unit on the image data A reduction amount calculation means for calculating a reduction amount that is a difference from the data amount of
Selection means for selecting whether to perform lossless encoding or lossy encoding according to the total interpolation data amount and the reduction amount;
A lossless encoding means for losslessly encoding the reduced image data composed of the representative color output by the compression means when the selection means is selected to perform lossless encoding;
And irreversible encoding means for irreversibly encoding the reduced image data composed of the representative color output by the compression means when the selection means selects to perform irreversible encoding. Image processing device.
処理対象である前記画像データを2×2画素からなるブロックに分割する分割手段と、
前記ブロックに含まれる色数を決定する手段と、
前記ブロックに含まれる色に対する前記配置情報を求める手段と、
前記ブロックに含まれる色の中から前記代表色を求める手段と、
前記ブロックに含まれる色の中から代表色以外の色である0〜3色の補間色を求める手段と
を有し、
前記配置情報と前記代表色と前記補間色とを異なる記憶領域に記憶することを特徴とする請求項1に記載の画像処理装置。 The compression means includes
A dividing means for dividing the image data to be processed into blocks of 2 × 2 pixels;
Means for determining the number of colors contained in the block;
Means for obtaining the arrangement information for the colors included in the block;
Means for obtaining the representative color from the colors included in the block;
Means for obtaining 0 to 3 interpolation colors other than the representative color from among the colors included in the block;
The image processing apparatus according to claim 1, wherein the arrangement information, the representative color, and the interpolation color are stored in different storage areas.
2×2画素からなる前記ブロックに2以上の色数が含まれている場合、当該ブロックに含まれる色の値の差分の大小に応じて、当該色数を削減できるか否かを判定する判定手段と、
前記判定手段により削減できると判定された場合、当該ブロックに含まれる色数を削減する削減手段と
を有することを特徴とする請求項1または2に記載の画像処理装置。 The color reduction means is
When the number of colors of 2 or more is included in the block composed of 2 × 2 pixels, a determination is made as to whether or not the number of colors can be reduced according to the difference in color value included in the block Means,
3. The image processing apparatus according to claim 1, further comprising a reduction unit configured to reduce the number of colors included in the block when it is determined that the reduction can be performed by the determination unit.
圧縮手段が、処理対象の画像データにおいて、前記ブロックに含まれる画素のうち、所定の位置の画素の値を代表色とし、代表色以外の画素の値を補間色とし、前記ブロックにおける前記代表色と補間色との配置を配置情報として出力する圧縮工程と、
減色手段が、前記画像データにおける各ブロックに対し減色処理を行う減色工程と、
補間データ量算出手段が、前記減色工程において減色した画像データに対して前記圧縮工程における処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮工程において処理を行うことにより得られた代表色からなる縮小画像データに対して更に前記圧縮工程における処理を行うことにより得られた補間色のデータ量との総和である全体補間データ量を算出する補間データ量算出工程と、
削減量算出手段が、前記減色工程において減色した画像データに対して前記圧縮工程における処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮工程において処理を行うことにより得られた補間色のデータ量との差分である削減量を算出する削減量算出工程と、
選択手段が、前記全体補間データ量および前記削減量に応じて、可逆符号化、もしくは非可逆符号化のいずれを行うかを選択する選択工程と、
可逆符号化手段が、前記選択工程において可逆符号化を行うと選択された場合、前記圧縮工程において出力された前記代表色からなる縮小画像データを可逆符号化する可逆符号化工程と、
非可逆符号化手段が、前記選択工程において非可逆符号化を行うと選択された場合、前記圧縮工程において出力された前記代表色からなる縮小画像データを非可逆符号化する非可逆符号化工程と
を有することを特徴とする画像処理方法。 An image processing method in which image data is divided into blocks each having a predetermined number of pixels, and the divided blocks are sequentially encoded.
In the image data to be processed, the compression means uses the value of a pixel at a predetermined position among the pixels included in the block as a representative color, the value of a pixel other than the representative color as an interpolation color, and the representative color in the block And a compression process for outputting the arrangement of interpolation colors as arrangement information;
A color reduction process in which the color reduction means performs a color reduction process on each block in the image data;
Interpolation data amount calculation means performs processing in the compression step on the interpolation color data amount obtained by performing the processing in the compression step on the image data reduced in the color reduction step, and the image data. An interpolation data amount calculation step of calculating an overall interpolation data amount that is the sum of the interpolation color data amount obtained by further performing the processing in the compression step on the reduced image data composed of the representative colors obtained When,
The reduction amount calculation means performs processing in the compression step on the interpolation color data amount obtained by performing the processing in the compression step on the image data reduced in the color reduction step, and the image data. A reduction amount calculation step of calculating a reduction amount that is a difference from the data amount of the interpolation color obtained by
A selection step in which the selection means selects whether to perform lossless encoding or lossy encoding according to the total interpolation data amount and the reduction amount;
When the lossless encoding means is selected to perform lossless encoding in the selection step, the lossless encoding step of losslessly encoding the reduced image data composed of the representative color output in the compression step;
An irreversible encoding step of irreversibly encoding the reduced image data composed of the representative colors output in the compression step when the irreversible encoding means is selected to perform irreversible encoding in the selection step; An image processing method comprising:
処理対象の画像データにおいて、ブロックに含まれる画素のうち、所定の位置の画素の値を代表色とし、代表色以外の画素の値を補間色とし、前記ブロックにおける前記代表色と補間色との配置を配置情報として出力する圧縮手段、
前記画像データにおける各ブロックに対し減色処理を行う減色手段、
前記減色手段により減色した画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮手段による処理を行うことにより得られた代表色からなる縮小画像データに対して更に前記圧縮手段による処理を行うことにより得られた補間色のデータ量との総和である全体補間データ量を算出する補間データ量算出手段、
前記減色手段により減色した画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量と、前記画像データに対して前記圧縮手段による処理を行うことにより得られた補間色のデータ量との差分である削減量を算出する削減量算出手段、
前記全体補間データ量および前記削減量に応じて、可逆符号化、もしくは非可逆符号化のいずれを行うかを選択する選択手段、
前記選択手段により可逆符号化を行うと選択された場合、前記圧縮手段により出力された前記代表色からなる縮小画像データを可逆符号化する可逆符号化手段、
前記選択手段により非可逆符号化を行うと選択された場合、前記圧縮手段により出力された前記代表色からなる縮小画像データを非可逆符号化する非可逆符号化手段
として機能させるためのプログラム。 Computer
In the image data to be processed, among the pixels included in the block, the value of a pixel at a predetermined position is a representative color, the value of a pixel other than the representative color is an interpolation color, and the representative color and the interpolation color in the block Compression means for outputting the arrangement as arrangement information;
A color reduction means for performing a color reduction process on each block in the image data;
The amount of interpolated color data obtained by performing the processing by the compression unit on the image data reduced by the color reduction unit, and the representative color obtained by performing the processing by the compression unit on the image data Interpolation data amount calculation means for calculating the total interpolation data amount that is the sum of the interpolation color data amount obtained by further performing processing by the compression means on the reduced image data consisting of:
The amount of interpolation color data obtained by performing the processing by the compression unit on the image data reduced by the color reduction unit, and the interpolation color obtained by performing the processing by the compression unit on the image data Reduction amount calculating means for calculating a reduction amount that is a difference from the data amount of
Selection means for selecting either lossless encoding or lossy encoding according to the total interpolation data amount and the reduction amount;
A lossless encoding means for losslessly encoding the reduced image data composed of the representative color output by the compression means when the selection means is selected to perform lossless encoding;
A program for functioning as an irreversible encoding unit for irreversibly encoding reduced image data composed of the representative color output by the compression unit when the selection unit selects to perform irreversible encoding.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010217759A JP2012074897A (en) | 2010-09-28 | 2010-09-28 | Image processing device, image processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010217759A JP2012074897A (en) | 2010-09-28 | 2010-09-28 | Image processing device, image processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012074897A true JP2012074897A (en) | 2012-04-12 |
Family
ID=46170656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010217759A Withdrawn JP2012074897A (en) | 2010-09-28 | 2010-09-28 | Image processing device, image processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012074897A (en) |
-
2010
- 2010-09-28 JP JP2010217759A patent/JP2012074897A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5558767B2 (en) | Image processing apparatus and processing method thereof | |
JP5393574B2 (en) | Image processing apparatus, image processing method, and program | |
JP5132517B2 (en) | Image processing apparatus and image processing method | |
JP4979323B2 (en) | Image processing apparatus and control method thereof | |
US8849021B2 (en) | Image processing apparatus, method, and storage medium for high speed compression processing | |
US8452083B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
US8953220B2 (en) | Image processing for rotation of compressed image data | |
JP2011139164A (en) | Image processing apparatus and processing method thereof | |
JP2011193394A (en) | Image processing apparatus, image processing method, and program | |
JP2006101010A (en) | Image processing apparatus, image processing method, and program, and storage medium | |
JP2011254405A (en) | Image processor and image processing method | |
JP2010118760A (en) | Image processing apparatus | |
JP3346051B2 (en) | Image processing device | |
JP5538996B2 (en) | Image processing apparatus, image processing method, program, and storage medium | |
JP2012074897A (en) | Image processing device, image processing method, and program | |
JP5643578B2 (en) | Image processing apparatus, image processing method, and program | |
JP5595142B2 (en) | Image processing apparatus and image processing method | |
JP4195624B2 (en) | Image processing apparatus, image forming apparatus, image reading apparatus, program, and storage medium | |
JP5606223B2 (en) | Image processing apparatus and processing method thereof | |
JP2012095227A (en) | Image processing system, image processing method, and program | |
JP4526069B2 (en) | Image information arithmetic coding apparatus and image information arithmetic decoding apparatus | |
JP2013121154A (en) | Image processing device | |
JP2003036445A (en) | Image processor | |
JP2011193396A (en) | Image processing apparatus, control method, and program | |
JP2013085173A (en) | Image processing device and control method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131203 |