JP2011254405A - 画像処理装置及びその処理方法 - Google Patents

画像処理装置及びその処理方法 Download PDF

Info

Publication number
JP2011254405A
JP2011254405A JP2010128273A JP2010128273A JP2011254405A JP 2011254405 A JP2011254405 A JP 2011254405A JP 2010128273 A JP2010128273 A JP 2010128273A JP 2010128273 A JP2010128273 A JP 2010128273A JP 2011254405 A JP2011254405 A JP 2011254405A
Authority
JP
Japan
Prior art keywords
color
data
piece
image
color data
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
Application number
JP2010128273A
Other languages
English (en)
Inventor
Masanori Ichikawa
雅教 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010128273A priority Critical patent/JP2011254405A/ja
Priority to US13/113,185 priority patent/US8406517B2/en
Publication of JP2011254405A publication Critical patent/JP2011254405A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 画像圧縮時の圧縮率を向上させる。
【解決手段】 予め定められた画素数(例えば32×32画素)で構成されるタイル画像を、2×2画素のサイズのブロック(ピース)に分割し、各ピース内の各画素の色データを比較する。そして、各ピースに含まれる色データの配置パターンを示すパターンフラグを特定し、各ピースにおける予め定義された位置の画素に対応する色データを第1色の色データとして、当該各ピースにおける第1色の色データと第1色以外の色データとを特定する。そして、タイル画像を構成する全てのピースが、同一色で構成されている場合を除き、2色で構成されていると判定した場合、当該2色を当該タイル画像における参照用代表色とする。そして、パターンフラグと各ピースにおける第1色の色データと当該タイル画像における参照用代表色とを含むパケットデータを生成する。。
【選択図】 図2

Description

本発明は、画像を所定のブロック単位に圧縮する技術とブロック単位に圧縮された画像の画像処理や復元処理を行う技術に関する。
従来、高解像度のカラー画像への需要は高く、それらの高画質化への要望へ応えるべくデジタル複合機では1200dpiやそれを超える解像度の画像を扱うことが多くなってきている。画像の高解像度化に伴い、画像処理を必要とする画素数が飛躍的に増え、その処理負荷が増大しているという課題がある。例えば、600dpiから1200dpiに解像度が倍になることで処理すべき画素数は4倍になる。このデジタル複合機に限らず、デジタルカメラやファクシミリ装置などの画像処理装置では、メモリやハードディスクの容量節約やそれらへの書き込み時間を短縮するために、カラー画像データの圧縮を行い、低コスト化や高速化を実現している。
カラー静止画像の圧縮方式には、離散コサイン変換を利用したJPEG方式やウェーブレット変換を利用した方式が多く使われている。この種の符号化方式は、一般的に画像を所定のブロック(例えば8×8や16×16画素単位)に符号化し、離散コサイン変換、量子化及びエントロピー符号化を行うことで高い圧縮効率を達成している。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像毎に符号量が変化するものである。
上述した画像圧縮を用いた場合、その画素データを参照し、その画素データを変換するには、圧縮データの復号処理が必要になってくる。つまり、圧縮データのままで画像処理を行うことはできず、必ず復号処理が必要になり、高解像度データの全ての画素に対して画素単位に処理を行う必要があり、処理時間の増大を招く。
画素データの符号化を行わずに圧縮処理を行う技術としては、画素データとその連続数を記憶する公知のランレングス圧縮方式やブロック単位でエッジを検出し、そのエッジの持つ2色を記憶することで圧縮する技術が開示されている(例えば、特許文献1)。
特開2008−271046号公報
上記特許文献1においては、ブロック内を2色化し、その2色の配置に関する形状情報と2色の色情報を記憶している。
一方、更なる高画質化、処理高速化を図るために、本出願人は特願2009−221444で次のような提案をしている。この技術は、まず画像データを2×2画素サイズのブロック毎に分割し、ブロック内の各画素の色データを比較することにより、注目ブロックに含まれる色データの配置パターン情報と、注目ブロックに含まれる色数分の色データ情報とを出力する。そして、出力される色データ情報を、ブロックにおける予め決められた位置の画素に対応する第1の色データ情報と、それ以外の色データ情報(第2〜4の色データ情報)とに分け、配置パターン情報とともに、それぞれ異なるメモリ領域に纏めて格納する。これにより、2色より多い色数を持つブロックの画質を落とさずに高画質化を実現し、特定位置の間引き画像データを第1の色データ情報として連続メモリ領域に置き、復号化することなく低解像度画像を扱えるようにすることで、処理の高速化を実現している。
しかしながら、上記技術においては、注目ブロック毎に、配置パターン情報と、第1の色データ情報と、それ以外の色データ情報(第2〜4の色データ情報)と、を保持しておくように構成している。そのため、注目ブロックをいくつか纏めた単位で扱うように構成した場合、色データの冗長性が生じることがある。
本発明は、画像圧縮時の圧縮率を向上させることを目的とする。
本発明の画像処理装置は、予め定められた画素数で構成されるタイル画像を、2×2画素のサイズのピースに分割する分割手段と、
前記分割手段で分割された各ピースを順に処理対象にし、当該処理対象のピース内の各画素の色データを比較することにより、各ピースに含まれる色データの配置パターンを示すパターンフラグを特定するとともに、当該各ピースにおける予め定義された位置の画素に対応する色データを第1色の色データとして、当該各ピースにおける第1色の色データと第1色以外の色データとを特定する特定手段と、
前記タイル画像を構成する全てのピースが、同一色で構成されている場合を除き、2色で構成されているか否かを判定する判定手段と、
前記判定手段において前記タイル画像を構成する全てのピースが同一色で構成されている場合を除き2色で構成されていると判定した場合、当該2色を当該タイル画像における参照用代表色として、前記パターンフラグと前記各ピースにおける第1色の色データと当該タイル画像における参照用代表色とを含むパケットデータを生成する生成手段と、
を有することを特徴とする。
本発明によれば、画像圧縮時の圧縮率を向上させることが可能となり、冗長な参照用代表色の色データを削除することができ、画像データの更なる圧縮が実現可能となる。
デジタル複合機の構成例を示すブロック図。 画像圧縮部の詳細な構成を示すブロック図。 画像伸張部の詳細な構成を示すブロック図。 画像圧縮部の圧縮処理を示すフローチャート。 2×2画素のブロックにおける4色のパターンとパターンフラグの関係を示す図。 インデックス生成部の詳細な処理を示すフローチャート。 画素値が異なる画素の位置を判定する処理を説明するための図。 画像データのパケットバッファへの書き込み例を示す図。 パッキングされたパケットデータのデータ構造を示す図。 第2色の色データの保持方法を説明するための図。 構成色数判定部での色数判定処理を示すフローチャート。 画像伸張部の伸張処理を示すフローチャート。 第2色の色データ生成部における第2色の色データの伸張処理を示すフローチャート。
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、画像処理装置として、スキャン、プリント、コピーなどの複数の機能を有するデジタル複合機(MFP)を例に説明する。
[デジタル複合機(MFP)の構成]
まず、図1に基づいて、デジタル複合機の構成例について説明する。スキャナ101は、デジタル複合機の画像入力機器である。プリンタ102は、デジタル複合機の画像出力機器である。CPU103は、後述するHDD記憶部104に格納された制御プログラムに従ってデジタル複合機全体を制御する。HDD記憶部104は、例えばハードディスクドライブであり、システムソフトウェアやアプリケーションプログラム、画像データなどを格納する。
メモリ(RAM)105は、CPU103が処理を実行時に使用されるシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。ネットワーク106は、LANや公衆回線(WAN)などを介してパーソナルコンピュータ(PC)や他のデジタル複合機などの端末と接続し、画像情報やデバイス情報の入出力を行う。レンダリング部107は、ネットワーク106を介して受け取ったページ記述言語(PDL)データのイメージ展開を行う。
画像圧縮部108は、画像データの画像圧縮処理を行い、圧縮データを生成する。画像伸張部109は、圧縮データの画像伸張処理を行い、伸張データを生成する。画像圧縮部108と画像伸張部109については、更に詳述する。画像処理部110は、画像データに対してシェーディング処理やフィルタ処理、色空間変換処理、濃度調整、ガンマ補正などの様々な画像処理を行う。尚、上述した各部は、システムバス111により接続されている。
[画像処理の説明]
次に、デジタル複合機がコピー動作とプリント動作をする際の一連の画像処理について説明する。始めに、デジタル複合機がコピー動作をする際の一連の画像処理を説明する。この処理は、まずスキャナ101が原稿画像をRGB3色の画像データとして読み込みを行う。ここで読み込まれた画像データは、システムバス111を介して画像処理部110に送られる。この画像処理部110で、画像データはシェーディング処理やフィルタ処理などのスキャン用画像処理が行われ、その後、画像圧縮部108へ送られる。画像圧縮部108は、受け取った画像データに対して画像圧縮処理を行い、画像データを圧縮データに変換する。
次に、変換された圧縮データは、一旦メモリ105に格納され、その後、HDD記憶部104に格納される。HDD記憶部104に格納された圧縮データは、再びメモリに格納され、その後、画像伸張部109に送られる。この画像伸張部109は、受け取った圧縮データに対して画像伸張処理を行い、圧縮データを非圧縮の画像データに変換する。
次に、伸張された画像データは、画像伸張部109から画像処理部110へ転送され、色空間変換処理によりRGB色空間からCMYK色空間へ変換される。その後、変換されたCMYKの各値に対して濃度調整やプリンタガンマ補正などの色処理を行い、ディザ法や誤差拡散法による面積階調処理を行った後、画像処理されたデータをプリンタ102へ出力する。
次に、デジタル複合機がPCからのジョブに応じてプリント動作をする際の一連の画像処理について説明する。まず、ネットワーク106はLANなどのネットワークインターフェースを介してPCからPDLデータを受け取る。受け取ったPDLデータは、PDL解釈部としても機能するCPU103へ送られ、CPU103がPDLデータを解釈し、その結果のディスプレイリストを生成する。生成されたディスプレイリストは一旦メモリ105に格納され、その後、レンダリング部107に転送される。
次に、レンダリング部107において、ディスプレイリストはRGB画像データへレンダリングされ、このレンダンリング後の画像データを画像圧縮部108に転送する。画像圧縮部108は、受け取った画像データに対して画像圧縮処理を行い、画像データを圧縮データに変換する。その後、圧縮データは、一旦メモリ105に格納され、その後、HDD記憶部104に格納される。圧縮データがHDD記憶部104に格納された後の処理については、コピー動作時と同様の処理で実現可能であるため、説明は省略する。
[画像圧縮処理の説明]
次に、本発明の特徴である画像圧縮処理について詳細に説明する。尚、本実施形態では、画像圧縮部108は、コピー動作時にはスキャンされた画像データを圧縮し、プリント動作時にはPDLデータから生成された画像データを圧縮するものとする。しかし、このような構成に限るものではない。例えば、図1に示すように、共通の画像圧縮部を設けるのではなく、スキャンした画像データ用の画像圧縮部とPDLデータから生成された画像データ用の画像圧縮部とを個別に設けるように構成しても良い。
本実施形態では、まずページ単位の画像データを、所定サイズのブロック毎に分割し、分割して抽出されたブロックを単位にデータの圧縮処理を行う。
ここで画像圧縮処理の詳細な説明に先立ち、以下の説明において、予め定められた画素数(32×32画素)のブロックを「タイル」、2×2画素の画素ブロックを「ピース」と呼ぶ。
まず、本実施形態における画像圧縮部108の詳細な構成を、図2を用いて説明する。DMAC201がスキャナ101やレンダリング部107、メモリ105などからタイル単位(32×32画素単位)にタイル画像の読み込みを行う。すなわち、ページ単位の画像データを32×32画素単位のタイル画像に分割して、当該分割されたタイル画像毎に順に読み込んで処理対象とする。タイルバッファ202は、DMAC201が読み込んだタイル画像を一時的に記憶するための一時記憶メモリである。ピース抽出部203は、タイルバッファ202に格納されたタイル単位の画像データからピース単位(2×2画素ブロック単位)に画像データを抽出する。インデックス生成部204は、ピース毎に2×2画素中の色の並びを表すパターンフラグと、2×2画素中の予め定めた位置の色情報を表す第1色の色データと、第1色以外の残りの色データを表す第2,3,4色の色データとを生成する。尚、本実施形態では、予め定めた位置を左上の画素とする。
パケット生成部205は、インデックス生成部204でピース毎に生成されたパターンフラグと第1色の色データと第2,3,4色の色データをタイル毎にまとめ、更に所定の固定長のヘッダーデータを付加したパケットデータを生成する。このヘッダーデータは、ページID、タイル座標、色空間情報、画素データのビット数、タイルのデータサイズ、属性情報の有無、圧縮フラグ、2色フラグなどの情報である。尚、ページIDは、ページ単位に付加されるユニークなID番号である。タイル座標は、このタイルがページ単位のラスタ画像上のどの位置にあるかを示す座標情報である。ここには、X座標とY座標の2次元で座標が記述される。色空間は、このタイルが、RGB画像なのかCMYK画像なのかGRAY−SCALE画像なのかを識別するための識別子を示す情報である。画素データのビット数は、タイル内の1画素当たりのビット長を示す情報である。
タイルのデータサイズは、このタイルの後述する第1色のデータのデータサイズと後述する第2,3,4色のデータのデータサイズとを示すバイト単位の情報である。属性情報の有無は、画像データに文字や写真といった属性情報が画素単位で付加されているか否かを示す情報である。圧縮フラグは、このタイルが圧縮されたデータか、非圧縮のデータかを示すフラグの情報である。2色フラグは、このタイル内に含まれる色数が2色以内であり、この2色の色データをタイル単位で保持しているか否かを示すフラグの情報である。
パケットバッファ206は、パケット生成部205で生成されたパケットデータを一時的に格納するための一時記憶メモリである。構成色数判定部207は、タイル毎に色数をカウントし、このタイルが2色以内で構成されたものか否かを判定する。1色目色データバッファ208、2色目色データバッファ209は、構成色数判定部207でカウント対象となった色データを一時的に格納する一時記憶メモリである。
ヘッダー修正部210は、構成色数判定部207で判定された結果に基づき、パケットバッファ206に格納されているヘッダーデータを書き換える。すなわち、構成色数判定部207で該タイルが2色以内で構成されていると判定した場合、ヘッダー修正部210は、ヘッダーデータ内の2色フラグをON(2色以内であることを示す)に設定する。第2色の色データ置換部211は、構成色数判定部207で該タイルが2色以内で構成されていると判定した場合、パケットバッファ206中のピース毎に記憶している第2色の色データをクリアする。更に、第2色の色データ置換部211は、クリアされた第2色の色データ格納領域に1色目色データバッファ208、2色目色データバッファ209に格納された各々の色データの格納も行う。
次に、上述した各部から構成される画像圧縮部108の処理を図4のフローチャートに基づいて説明する。尚、本実施形態では、画像圧縮部108への入力は、レンダリング部で生成されたRGB3色の画像データとして説明する。このRGB3色の画像データは、例えばRGBそれぞれ8ビットの256階調を持っており、またデータとしては8ビットデータの点順次で1画素当たり24ビットの画像とする。
まず、DMAC201がレンダリング部107により生成された1ページの画像データを32×32画素のタイル毎に分割して読み出し、タイルバッファ202に格納する(S401)。タイルバッファ202に格納されたタイルデータをピース抽出部203により、2×2画素のピース毎に画像データを抽出し、インデックス生成部204へ出力する(S402)。
インデックス生成部204では、ピース毎の画像データから2×2画素内の色の並びを表すパターンフラグと、色データとを生成する(S403)。ここで、色データは2×2画素内の予め定めた位置の画素の色情報を表す第1色の色データと、第1色以外の残りの色データを表す第2,3,4色の色データである。
ここで、このインデックス生成部204の詳細な処理について、図6のフローチャートに基づいて更に説明する。この処理は、2×2画素のピース内に含まれる色数分の色データと、ピース内の各色の配置を示すパターンフラグとを特定する処理である。
まず、インデックス生成部204にピースが入力されると(S601)、インデックス生成部204は、ピース内の全ての2画素の組み合わせに対して24ビットの画素値(RGBの色データ24ビット)のコンペアを取る(S602)。ここでコンペアを取った結果、全ビット一致していた場合は“1”を、不一致の場合は“0”を出力する。
尚、2×2画素内の左上から右上、左下、右下の画素の位置順に、座標1、2、3、4とする(図5に示す501)。2画素の組み合わせの座標は、1−2、1−3、1−4、2−3、2−4、3−4の全部で6通り(図5に示す502)あるので、6回コンペアを取る必要があり、結果は6ビット出力される。図5に示すコンペア結果のように、ピース内の全画素の画素値(色データ)が同じであれば、全てのコンペア結果が1を出力し、逆に4画素が全てバラバラの画素値を持っていれば、全てのコンペア結果が0を出力する。
この例では、4画素のブロックで画素値(色)の一致から出現し得るパターンの数は15通りなので、図5に示すように、6ビットのコンペア結果に応じて、4ビットのパターンフラグを特定する(S603)。次に、4画素内で出現した色数及び色データを抽出する(S604)。図5に示すように、4ビットのパターンフラグ(或いは6ビットのコンペア結果)に対して、ピース内での各画素値(色)の配置を示す各パターンが対応付けられている。そのため、各ピースにおける色数(異なる画素値の数)と色データ(画素値)を特定することができる。
尚、本実施形態の図5では、全てのパターンにおいて左上の画素の色(画素値)が第1色(1番目の色データ)となるように定義している。パターンフラグが“0”の場合は、色数1で、左上の画素の色(画素値)を第1色として抽出する。また、パターンフラグが1〜7の場合、色数が2、左上の画素の色(画素値)を第1色(1番目の色データ)として抽出し、各パターンフラグに応じて定義されている第2色(2番目の色データ)が存在する位置の画素の色(画素値)を抽出する。例えば、パターンフラグが“1”の場合は、右上の画素の色を第2色(第2の色データ)として抽出する。
また、パターンフラグが8〜Dの場合は、ピース内の色数が3、左上の画素の色(画素値)を第1色として抽出する。そして、各パターンフラグに応じて定義されている第2色(2番目の色データ)及び第3色(3番目の色データ)が存在する位置の画素の色(画素値)を抽出する。例えば、パターンフラグが8の場合は、右上の画素の色(画素値)を第2色として抽出し、右下の画素の色(画素値)を第3色として抽出する。また、パターンフラグがEの場合は、ピース内の色数が4なので、左上の画素の色を第1色、右上の画素の色を第2色、左下の画素の色を第3色、右下の画素の色を第4色として抽出する。
即ち、パターンフラグ(或いはコンペア結果)に基づいて、ピース内の色数が特定され(S605、S607、S609)、それぞれに応じたパターンフラグと色データとを出力する(S606、S608、S610、S611)。ここで出力されるデータを、図7を用いて説明する。
図7に示すように、例えばパターンフラグが“0”(即ち、4画素内が1色で構成されている)の場合(S605でYES)、2色目以降は存在しないので、パターンフラグの4ビットと1番目の画素値(24ビット分の色データ)とを出力する(S606)。また、パターンフラグが1〜7(即ち、4画素内が2色で構成されている)の場合(S607でYES)、2番目の画素値を有する画素の座標をパターンフラグより決定する。そして、パターンフラグの4ビットと該1番目及び2番目の画素値(48ビット(2×24ビット)分の色データ)とを出力する(S608)。また、パターンフラグが8〜D(即ち、3色で構成されている)の場合(S609でYES)、パターンフラグの4ビットと3色分の画素値(72ビット(3×24ビット)分の色データ)とを出力する(S610)。そして、パターンフラグがE(即ち、4色)の場合(S609でNO)、パターンフラグの4ビットと4色分の画素値(96ビット(4×24ビット)分の色データ)とを出力する(S611)。
言い換えると、各ピースから出力される色データは、ピース内の座標(左上から右上、左下、右下の順に1、2、3、4)順に走査した場合に、出現していなかった色データが第1色から順に出力されることに相当する。
このように、インデックス生成部204は、ピース内の4色(96ビット)の入力データから、4ビットのパターンフラグと、ピース内に存在する色数分の画素値のデータとを生成し、パケット生成部205と構成色数判定部207へ出力する。
次に、パケット生成部205は、受け取ったパターンフラグと第1色の色データと第2,3,4色の色データとの各々のメモリ書き込み領域を変えることにより、図8に示すデータ構成になるように、パケットバッファ206に格納していく(S404)。すなわち、パターンフラグ格納部には、各ピースから求めたパターンフラグがピース順に格納されることになる。また、第1色格納部には、各ピースの所定位置(左上)の画素の色データ(画素値)が順に格納される。すなわち、第1色格納部に格納されているデータは、単純間引きした低解像度画像が格納されているのに等しい。また、第2,3,4色格納部には、第2〜4色を含むピースから求めた第2〜4色の色データ(画素値)が順に格納される。なお、ピースが第2〜4色を含むかどうかは画像によって変わるため、第2,3,4色格納部のデータ長は画像に応じて変わることになる。
次に、パケットバッファ206にこのタイル内の全てのピースに関するデータが格納されたか否かを判定する(S405)。まだ全てのピースが格納されていない場合、S402に遷移し、次のピースの処理に移る。そして、全てのピースが格納されていた場合は、図9に示すように、上述したヘッダーデータを付加してパケットデータを生成する(S406)。このとき、1つのタイル画像毎に、図8のようなデータ構成のパケットデータが生成されることになる。尚、本実施形態におけるパケットデータとは、ヘッダーデータとタイルデータをまとめたデータ(図9参照)であるものとする。
一方、インデックス生成部204からピース毎にパターンフラグと第1色の色データと第2,3,4色の色データを受け取った構成色数判定部207は、タイル毎に色数をカウントし、このタイルが2色以内で構成されたものか否かを判定する(S407)。ここで、構成色数判定部207での色数判定処理について図11に示すフローチャートに基づいて詳細に説明する。まず、構成色数判定部207は、受け取った最初のピースに関するパターンフラグの解析を行い(S1101)、このピースが2色で構成されているか否かを判定する(S1102)。パターンフラグと色数の関係は、予め図5に示すように定義されているので、例えばこのピースのパターンフラグが3である場合は2色と判定され、パターンフラグが9である場合は3色と判定される。S1102において、2色でないと判定された場合は、更にこのピースが3色以上で構成されているか否かを判定する(S1103)。ここで、3色以上でないと判定された場合は、このピースは1色であることが確定する。1色の場合は伸張用の第2色の色データは不要であるのでカウントする色の対象とせず、S1001に遷移し、次のピースのパターンフラグ解析に移る。
一方、3色以上であると判定された場合は、このピースを含むタイルは、3色以上であると確定し、構成色数判定部207は、3色以上であることを示す「3色以上情報」を生成する(S1110)。その後、ヘッダー修正部210と第2色の色データ置換部211に生成した3色以上情報を送る(S1111)。
また、上述のS1102において、2色であると判定された場合は、このピースの第1色と第2色の色データの読み込みを行う(S1104)。次に、1色目色データバッファ208及び2色目色データバッファ209(色データバッファ)に色データが格納されているか否かを判定する(S1105)。色データバッファに色データが格納されていれば、このピースの第1色と第2色の色データと、色データバッファに格納されている色データ(1色目色データと2色目色データ)とのコンペア(比較)を行う(S1106)。コンペアの結果、当該ピースの第1色又は第2色の色データの少なくともいずれかが、色データバッファに格納されている2色のいずれとも異なる色であると判定された場合、このピースを含むタイルは3色以上であることが確定する。そして、構成色数判定部207は、3色以上であることを示す「3色以上情報」を生成する(S1110)。その後、ヘッダー修正部210と第2色の色データ置換部211に3色以上情報を送る(S1111)。
一方、S1106におけるコンペアの結果、このピースの第1色と第2色の色データが、色データバッファに格納されている色と同一色であると判定された場合、このピースの色数判定処理を終了する。そして、タイル内の全てのピースの色数判定処理が終了したかを判定する(S1108)。タイル内の全てのピースの色数判定処理が終了していないと判定された場合、S1101に遷移し、次のピースの処理に移る。また、タイル画像内の全てのピースが終了したと判定された場合、このタイル画像は2色以内であることが確定し、構成色数判定部207は、2色以内であることを示す「2色以内情報」を生成する(S1109)。その後、ヘッダー修正部210と第2色の色データ置換部211に2色以内情報を送る(S1111)。
また、上述のS1105において、色データバッファに色データが格納されていないと判定された場合、このピースの第1色と第2色の色データをそれぞれ1色目色データバッファ208と2色目色データバッファ209に格納する。そして、S1108に遷移し、タイル内の全てのピースの色数判定処理が終了したかを判定する(S1108)。以降の処理については、既に上述したので省略する。
このように、構成色数判定部207が、処理対象となっているタイルが2色以内か3色以上かを判定し、判定結果としてヘッダー修正部210と第2色の色データ置換部211に、2色以内情報又は3色以上情報を送る。
ここで図4に戻り、S407において、構成色数判定部207で2色以内でない(3色以上)と判定された場合、ステップS402〜S406で生成されたパケットデータは、DMAC212によってメモリ105に格納される(S410)。一方、2色以内であると判定された場合は、第2色の色データ置換部211によりパケットバッファ206に格納されているパケットデータ中の第2,3,4色の色データ格納部に格納されている第2色の色データがクリアされる。その後、クリアした領域に1色目色データバッファ208及び2色目色データバッファ209の各々の色データを参照用代表色として格納する(S408)。
S408の処理の前後におけるパケットバッファ206内の第2、3,4色の色データ格納部に格納されている色データの変化を図10に示す。図10に示す(a)のように、処理前は第2色の色データはピース毎に保持されている。32×32画素のタイル画像内には、16×16個(すなわち256個)のピースがあるので、第2色の色データが、第2,3,4色の色データ格納部に最大で256個格納されていることになる。しかし、S408の処理でピース毎の第2色の色データが全てクリアされ、図10に示す(b)のように、色データバッファの2つの色データを第2色の色データとして格納するため、最大で256個あった第2色の色データが2個に減ることになる。図10(b)では、第2色の色データをタイル単位で保持することになる。
つまり、図10に示す(a)の状態では、第2色の色データサイズが最大で色データ256個分の768バイト(256ピース×3バイト)である。しかし、本実施形態によれば、図10(b)のように、第2色の色データサイズが色データ2個分の6バイト(2×3バイト)で済むようになる。尚、以下ではタイル単位で保持した2つの色データを参照用代表色データと呼ぶ。
次に、ヘッダー修正部210によりパケットバッファ206中のヘッダーデータの2色フラグ値を1(ON)に修正する(S409)。尚、本実施形態において、2色フラグ値が1であれば、このパケットデータが2色以内であり、第2,3,4色の色データがタイル単位で保持されていることを意味するものとする。また、2色フラグ値には初期設定として0が設定されているものとする。この結果、タイル画像を構成する全てのピースが、同一色で構成されている場合を除き、2色で構成されていれば、ヘッダーデータの2色フラグがONに設定され、ピースにおける色の配置を示すパターンフラグがパターンフラグ格納部に格納される。各ピースの所定位置の画素(左上の画素)の色データが第1色の色データとして第1色の色データ格納部に格納され、参照用代表色データ(2つの色データ)が第2色の色データ格納部に格納されたパケットデータが生成されることになる。その後、修正されたパケットデータはDMAC212によりメモリ105に格納される(S410)。
以上のような処理をページ分の全タイルデータに対して適応することで、画像データの圧縮処理を行う。タイルが2色で構成されている場合、各ピースの第2色の色データを、タイル単位の2つの参照用代表色で置き換えているので、圧縮率を向上させることができる。
[画像伸張処理の説明]
ここで、画像伸張部109による圧縮データの画像伸張処理について詳細に説明する。本実施形態における画像伸張部109の詳細な構成を、図3を用いて説明する。DMAC301がメモリ105などから圧縮データをパケット毎に読み込みを行う。パケットバッファ302は、DMAC301が読み込んだ圧縮データをパケット毎に一時的に記憶するための一時記憶メモリである。ヘッダー解析部303は、パケットバッファ302に格納されたパケットデータのヘッダー情報を読み出し、ヘッダー情報の2色フラグの解析を行う。第2色の色データ生成部304は、ヘッダー解析部303の判定結果に基づいてパケットデータ中のピース毎に第2色の色データの生成処理を行う。
インデックス解析部305は、ピース毎に入力されるパターンフラグと第1色の色データ、第2,3,4色の色データとに基づいてピースデータの伸張を行う。ピース書込み部306は、伸張されたピースデータを受け取り、図8に示すようにパケットバッファ307の所定領域に格納する。パケットバッファ307は、伸張されたパケットデータを一時的に記憶するための一時記憶メモリである。そして、DMAC308がパケットバッファ307に格納されたパケットデータを画像処理部110などに転送する。
次に、上述した各部から構成される画像伸張部109の処理を図12のフローチャートを用いて説明する。まず、DMAC301がメモリ105に格納されている圧縮データをパケット毎に読み込み、パケットバッファ302に格納する(S1201)。次に、ヘッダー解析部303がパケットバッファ302に格納されたパケットデータのヘッダー情報を読み込み、2色フラグの値の解析を行い(S1202)、2色フラグの値が1であるか否かを判定する(S1203)。2色フラグの値が1であると判定された場合は、第2色の色データ生成部304がそのパケットの第2色の色データを生成し、パケットバッファ302内の第2,3,4色の色データ格納部に格納する(S1204)。
ここで、第2色の色データ生成部304における第2色の色データの伸張処理を図13のフローチャートを参照しながら詳細に説明する。まず、第2色の色データ生成部304がパケットバッファ302からタイル単位で保持している2つの参照用代表色データを読み込む(S1301)。次に、ピースの1つを処理対象として、パケットバッファ302から当該処理対象のピースのパターンフラグと第1色の色データを読み込む(S1302)。そして、読み込んだパターンフラグの解析を行い(S1303)、このピースが2色であるか否かを判定する(S1304)。このピースが2色であると判定された場合は、予め読み込んだピースの第1色の色データと、2つの参照用代表色データのコンペアを行う(S1305)。このとき、参照用代表色データのうちの1つは、当該処理対象のピースの第1色の色データと一致し、もう一方の参照用代表色データは当該処理対象のピースの第1色の色データと一致しない。
このコンペアにより、必ず第1色の色データと異なる参照用代表色を決定でき(S1306)、この異なる参照用代表色をこのピースの第2色としてパケットバッファ302の第2色の色データ格納部に格納する(S1307)。例えば、タイルの参照用代表色が白と黒、処理対象のピースの第1色が黒の場合、このピースの第2色を白と決定し、パケットバッファ302の第2色の色データ格納部に格納する。このように、本実施形態では、タイル単位の参照用代表色と各ピースの第1色の色データとに基づいて、各ピースの第2色の色データを決定できる。
次に、パケットバッファに格納されているパケットデータ中の全てのピースの第2色の色データが生成されたか否かを判定する(S1308)。まだ全てのピースの伸張処理が終了していない場合は、S1302に遷移し、次のピースを処理対象として第2色の色データ伸張処理に移る。一方、全てのピースの伸張処理が終了した場合は、第2色の色データ生成部304による処理が終了する。
また、上述のS1304において、このピースが2色でないと判定された場合は、このピースは1色で構成されていることになり、このピースの第2色の色データ生成は不要であるため、S1308に遷移する。そして、上述した処理を繰り返す。
このようにして、第2色の色データ生成部304がパケットバッファ302に格納されているパケットデータの第2色の色データを生成する。
ここで図12に戻り、S1205において、ピース毎に伸張処理を行う。具体的には、このピースのパターンフラグを解釈し、そのピース内の色数を算出する。第1色データに加えて、色数に応じて第2、3、4色データを読み出し、各パターンフラグに対して予め定義されている色データの配置パターン(図5)に従って、第1色並びに第2〜4色の色データを再配置する。次に、パケットデータ中の全てのピースが伸張されたか否かを判定する(S1206)。ここで、全てのピースが伸張されていない場合、S1205に遷移し、次のピースの伸張処理を実行する。一方、全てのピースが伸張された場合、伸張したパケットデータを画像処理部110に転送する(S1207)。
以上のような処理を1ページの全パケットデータに対して適応することで、1ページ全体の画像データの伸張処理を行う。
本実施形態によれば、比較的単純な圧縮伸張方式にメモリ容量やHDD容量、システムバス帯域の節約が実現可能になる。また、図10で示したように、第1色の色データ格納部および第2色の色データ格納部には、RGB色データが格納されているので、色置換などの画像処理を行う場合、圧縮データの状態のままで色データに対して処理を行うことも可能である。特に、タイル画像が2色で構成されている場合は、図10(b)のように、第2色データは2つの参照用代表色データに置換されるので、当該色データに対して画像処理を行う場合の処理負荷は更に削減されることになる。
尚、本実施形態では、色データの配置を示すパターンとパターンフラグとを図5に示すように対応付けたが、本発明はこれに限るものではない。例えば、ピースの右下画素の画素値が第1色となるように、色データの配置を示すパターンとパターンフラグとを対応付けて定義しても構わない。
また、本実施形態では、ピースのサイズを2×2画素のサイズとし、タイルのサイズを32×32画素のサイズとして説明したが、これに限るものではない。例えば、タイルのサイズを64×64画素にしてもよい。また、圧縮の説明では画像データとしてRGB8ビットを例に説明したが、CMYKの色空間を取るものやグレイスケールのデータ、或いは8ビット以外の画素値をとるものでも良い。
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (8)

  1. 予め定められた画素数で構成されるタイル画像を、2×2画素のサイズのピースに分割する分割手段と、
    前記分割手段で分割された各ピースを順に処理対象にし、当該処理対象のピース内の各画素の色データを比較することにより、各ピースに含まれる色データの配置パターンを示すパターンフラグを特定するとともに、当該各ピースにおける予め定義された位置の画素に対応する色データを第1色の色データとして、当該各ピースにおける第1色の色データと第1色以外の色データとを特定する特定手段と、
    前記タイル画像を構成する全てのピースが、同一色で構成されている場合を除き、2色で構成されているか否かを判定する判定手段と、
    前記判定手段において前記タイル画像を構成する全てのピースが同一色で構成されている場合を除き2色で構成されていると判定した場合、当該2色を当該タイル画像における参照用代表色として、前記パターンフラグと前記各ピースにおける第1色の色データと当該タイル画像における参照用代表色とを含むパケットデータを生成する生成手段と、
    を有することを特徴とする画像処理装置。
  2. 前記生成手段は、前記判定手段において前記タイル画像を構成する全てのピースが同一色で構成されている場合を除き2色で構成されていないと判定した場合、前記パターンフラグと前記各ピースにおける第1色の色データと前記各ピースにおける第1色以外の色データとを含むパケットデータを生成することを特徴とする請求項1に記載の画像処理装置。
  3. 前記生成手段は、前記判定手段において前記タイル画像を構成する全てのピースが同一色で構成されている場合を除き2色で構成されていると判定した場合、前記各ピースにおける第1色以外の色データを前記参照用代表色に置換することにより、前記パターンフラグと前記各ピースにおける第1色の色データと当該タイル画像における参照用代表色とを含むパケットデータを生成することを特徴とする請求項1に記載の画像処理装置。
  4. 前記パケットデータのヘッダー情報には、当該パケットデータが前記タイル画像における参照用代表色を含むか否かを示す情報が含まれることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 1ページの画像データを、前記予め定められた画素数で構成されるタイル画像に分割する手段を更に有し、
    前記生成手段は、前記分割されたタイル画像ごとに前記パケットデータを生成することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記タイル画像は、32×32画素または64×64画素のサイズであることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
  7. 分割手段が、予め定められた画素数で構成されるタイル画像を、2×2画素のサイズのピースに分割する分割工程と、
    特定手段が、前記分割工程で分割された各ピースを順に処理対象にし、当該処理対象のピース内の各画素の色データを比較することにより、各ピースに含まれる色データの配置パターンを示すパターンフラグを特定するとともに、当該各ピースにおける予め定義された位置の画素に対応する色データを第1色の色データとして、当該各ピースにおける第1色の色データと第1色以外の色データとを特定する特定工程と、
    判定手段が、前記タイル画像を構成する全てのピースが、同一色で構成されている場合を除き、2色で構成されているか否かを判定する判定工程と、
    生成手段が、前記判定工程において前記タイル画像を構成する全てのピースが同一色で構成されている場合を除き2色で構成されていると判定した場合、当該2色を当該タイル画像における参照用代表色として、前記パターンフラグと前記各ピースにおける第1色の色データと当該タイル画像における参照用代表色とを含むパケットデータを生成する生成工程と、
    を有することを特徴とする画像処理方法。
  8. コンピュータを、請求項1乃至6の何れか1項に記載の画像処理装置として機能させるためのプログラム。
JP2010128273A 2010-06-03 2010-06-03 画像処理装置及びその処理方法 Withdrawn JP2011254405A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010128273A JP2011254405A (ja) 2010-06-03 2010-06-03 画像処理装置及びその処理方法
US13/113,185 US8406517B2 (en) 2010-06-03 2011-05-23 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010128273A JP2011254405A (ja) 2010-06-03 2010-06-03 画像処理装置及びその処理方法

Publications (1)

Publication Number Publication Date
JP2011254405A true JP2011254405A (ja) 2011-12-15

Family

ID=45064512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010128273A Withdrawn JP2011254405A (ja) 2010-06-03 2010-06-03 画像処理装置及びその処理方法

Country Status (2)

Country Link
US (1) US8406517B2 (ja)
JP (1) JP2011254405A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6128817B2 (ja) * 2012-11-30 2017-05-17 キヤノン株式会社 画像形成装置および画像形成方法
JP6070524B2 (ja) * 2013-12-04 2017-02-01 ソニー株式会社 表示パネル、駆動方法、および電子機器
CN107332909B (zh) * 2017-07-03 2020-03-31 中兴通讯股份有限公司 一种实现数据传输的方法及装置
GB2593708C (en) * 2020-03-30 2022-08-31 Imagination Tech Ltd Methods and decompression units for decompressing image data compressed using pattern-based compression
GB2608260B (en) * 2020-03-30 2023-11-01 Imagination Tech Ltd Pattern-based image data compression
CN113473121A (zh) * 2020-03-30 2021-10-01 畅想科技有限公司 基于图案的图像数据压缩

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055000A (en) * 1998-05-28 2000-04-25 Snk Corporation Storage memory for images
JP3289712B2 (ja) * 1999-09-24 2002-06-10 日本電気株式会社 ディジタル画像データの圧縮方法及びその装置
US7050064B2 (en) * 1999-11-24 2006-05-23 Nintendo Co., Ltd. Method and apparatus for displaying higher color resolution on a hand-held LCD device
JP2003515766A (ja) * 1999-11-24 2003-05-07 任天堂株式会社 ハンドヘルドlcd素子に高い色解像度を表示するための方法および装置
JP4495745B2 (ja) * 2007-04-18 2010-07-07 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム、および記憶媒体
JP2009221444A (ja) 2008-03-19 2009-10-01 Nippon Shokubai Co Ltd 金属薄膜用コーティング樹脂組成物
JP5558767B2 (ja) 2009-09-25 2014-07-23 キヤノン株式会社 画像処理装置及びその処理方法
JP5524584B2 (ja) 2009-11-20 2014-06-18 キヤノン株式会社 画像処理装置及びその制御方法

Also Published As

Publication number Publication date
US20110299767A1 (en) 2011-12-08
US8406517B2 (en) 2013-03-26

Similar Documents

Publication Publication Date Title
JP5558767B2 (ja) 画像処理装置及びその処理方法
JP5595151B2 (ja) 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5393574B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US7715637B2 (en) Image processing apparatus and control method therefor
US8452083B2 (en) Image processing apparatus, image processing method, and computer-readable medium
US8953220B2 (en) Image processing for rotation of compressed image data
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
JP2011254405A (ja) 画像処理装置及びその処理方法
JP2011193394A (ja) 画像処理装置、画像処理方法、及びプログラム
US8494261B2 (en) Image processing apparatus, image processing method, and computer-readable medium
JP2011139162A (ja) 画像符号化装置、制御方法、及びプログラム
US9049404B2 (en) Image processing apparatus and method that perform multiple image processes, and storage medium storing a program thereof, for decompressing a compressed image according to first and second information indicating image processing to be performed
JP5606223B2 (ja) 画像処理装置及びその処理方法
JP5595142B2 (ja) 画像処理装置及び画像処理方法
JP5643578B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2014099742A (ja) カラーモノクロ判定
JP2013121154A (ja) 画像処理装置
JP2013085173A (ja) 画像処理装置及びその処理方法
JP2012095227A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2012074897A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2011004005A (ja) 画像圧縮装置、画像伸張装置、撮像装置、画像形成装置、コンピュータプログラム、記録媒体、画像圧縮方法及び画像伸張方法
JP2012054789A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130806