JP2017169047A - 画像処理装置及び画像処理プログラム - Google Patents

画像処理装置及び画像処理プログラム Download PDF

Info

Publication number
JP2017169047A
JP2017169047A JP2016052655A JP2016052655A JP2017169047A JP 2017169047 A JP2017169047 A JP 2017169047A JP 2016052655 A JP2016052655 A JP 2016052655A JP 2016052655 A JP2016052655 A JP 2016052655A JP 2017169047 A JP2017169047 A JP 2017169047A
Authority
JP
Japan
Prior art keywords
module
quantization
gradation
block
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016052655A
Other languages
English (en)
Other versions
JP6701845B2 (ja
Inventor
圭悟 服部
Keigo Hattori
圭悟 服部
横瀬 太郎
Taro Yokose
太郎 横瀬
友紀 谷口
Tomonori Taniguchi
友紀 谷口
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2016052655A priority Critical patent/JP6701845B2/ja
Priority to US15/240,920 priority patent/US10567767B2/en
Publication of JP2017169047A publication Critical patent/JP2017169047A/ja
Application granted granted Critical
Publication of JP6701845B2 publication Critical patent/JP6701845B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/642Adapting to different types of images, e.g. characters, graphs, black and white image portions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】BTCプレーン領域情報を必要とせずに、画像を固定長符号化するようにした画像処理装置を提供する。【解決手段】画像処理装置の分割手段は、画像をブロックに分割し、量子化手段は、前記ブロックを複数の方法で量子化し、算出手段は、前記ブロックと前記量子化結果との間の距離を算出し、選択手段は、前記距離を用いて、前記量子化手段による量子化結果を選択し、符号化手段は、前記選択手段によって選択された量子化結果を固定長符号化し、前記量子化手段は、前記ブロック内のテクスチャを保存するための第1の量子化手段と、前記ブロック内の画素を複数色化する第2の量子化手段を有する。【選択図】図15

Description

本発明は、画像処理装置及び画像処理プログラムに関する。
特許文献1には、画像データの各画素が属する色空間及び階調幅に対応した符号化又は復号化を行うことを課題とし、符号化部は、各所定の画素領域の色空間を示す第1情報を生成する第1生成部と、各色の画素値の最大値及び最小値を示す第2情報を生成する第2生成部と、各所定の画素領域の各色の階調幅を示す第3情報を生成する第3生成部と、第1〜第3情報に基づいて、各所定の画素領域の複数の画素値を色毎に階調幅に応じた符号化方法で符号化した符号値を示す第4情報を生成する第4生成部と、第1〜第4情報を含む符号データを出力する出力部と、を備え、復号化部は、第1情報に基づいて各所定の画素領域の色空間を特定する特定部と、第2情報に基づいて各色の画素値の最大値及び最小値を取得する取得部と、色空間、各色の画素値の最大値及び最小値、第3情報ならびに第4情報に基づいて復号値を生成する第5生成部と、を備えることが開示されている。
特許文献2には、圧縮処理による画質劣化を抑えることを課題とし、画素毎に量子化の方法を決定し、当該決定した方法にしたがって画素単位で画像のデータを量子化し、当該量子化された画像のデータを量子化の方法に拘わらず画像メモリの同じBTCプレーン領域に保持させるとともに、この量子化されたデータに対応して、用いた量子化の方法を識別するための識別データを画像メモリに保持させることが開示されている。
特開2014−135574号公報 特開2009−094619号公報
先行技術では、画像の圧縮にあたってBTCプレーン領域情報を必要としていた。
本発明は、BTCプレーン領域情報を必要とせずに、画像を固定長符号化するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像をブロックに分割する分割手段と、前記ブロックを複数の方法で量子化する量子化手段と、前記ブロックと前記量子化結果との間の距離を算出する算出手段と、前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、前記選択手段によって選択された量子化結果を固定長符号化する符号化手段を具備し、前記量子化手段は、前記ブロック内のテクスチャを保存するための第1の量子化手段と、前記ブロック内の画素を複数色化する第2の量子化手段を有する画像処理装置である。
請求項2の発明は、前記量子化手段による複数の量子化結果のうち、少なくとも1つ以上の量子化結果に対して、階調量子化を行う階調量子化手段をさらに具備し、前記算出手段は、前記ブロックと前記階調量子化結果との間の距離を算出し、前記選択手段は、前記距離を用いて、前記第1の量子化手段による量子化結果に対する階調量子化結果又は前記第2の量子化手段による量子化結果に対する階調量子化結果のいずれかを選択する、請求項1に記載の画像処理装置である。
請求項3の発明は、前記量子化手段による複数の量子化結果のうち、少なくとも1つ以上の量子化結果に対して、乱数を重畳する乱数重畳手段をさらに具備し、前記階調量子化手段は、前記乱数重畳手段による複数の処理結果に対して、階調量子化を行う、請求項2に記載の画像処理装置である。
請求項4の発明は、前記階調量子化手段による複数の階調量子化結果のうち、少なくとも1つ以上の階調量子化結果を用いて、前記ブロックに対して、誤差拡散処理を行う誤差拡散手段をさらに具備することを特徴とする請求項2に記載の画像処理装置である。
請求項5の発明は、画像をブロックに分割する分割手段と、前記ブロックを複数の方法で量子化する量子化手段と、前記ブロックと前記量子化結果との間の距離を算出する算出手段と、前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、前記選択手段によって選択された量子化結果を固定長符号化する符号化手段を具備し、前記量子化手段は、前記ブロック内の解像感を保存するための第1の量子化手段と、前記ブロック内の階調を保存するための第2の量子化手段と、前記ブロック内の画素を複数色化し、階調量子化を行う第3の量子化手段を有する画像処理装置である。
請求項6の発明は、前記ブロックのダイナミックレンジを抽出する抽出手段をさらに具備し、前記選択手段は、前記ダイナミックレンジが予め定められた閾値より高い又は以上である場合は、前記第1の量子化手段による量子化結果を選択する、請求項5に記載の画像処理装置である。
請求項7の発明は、前記第3の量子化手段は、前記ブロック内の画素を複数色化し、乱数を重畳し、階調量子化を行う、請求項5又は6に記載の画像処理装置である。
請求項8の発明は、前記第3の量子化手段による階調量子化結果を用いて、前記ブロックに対して、誤差拡散処理を行う誤差拡散手段をさらに具備することを特徴とする請求項5又は6に記載の画像処理装置である。
請求項9の発明は、コンピュータを、画像をブロックに分割する分割手段と、前記ブロックを複数の方法で量子化する量子化手段と、前記ブロックと前記量子化結果との間の距離を算出する算出手段と、前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、前記選択手段によって選択された量子化結果を固定長符号化する符号化手段として機能させ、前記量子化手段は、前記ブロック内のテクスチャを保存するための第1の量子化手段と、前記ブロック内の画素を複数色化する第2の量子化手段を有する画像処理プログラムである。
請求項10の発明は、コンピュータを、画像をブロックに分割する分割手段と、前記ブロックを複数の方法で量子化する量子化手段と、前記ブロックと前記量子化結果との間の距離を算出する算出手段と、前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、前記選択手段によって選択された量子化結果を固定長符号化する符号化手段として機能させ、前記量子化手段は、前記ブロック内の解像感を保存するための第1の量子化手段と、前記ブロック内の階調を保存するための第2の量子化手段と、前記ブロック内の画素を複数色化し、階調量子化を行う第3の量子化手段を有する画像処理プログラムである。
請求項1の画像処理装置によれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
請求項2の画像処理装置によれば、複数の量子化結果のうち、少なくとも1つ以上の量子化結果に対して、階調量子化を行うことができる。
請求項3の画像処理装置によれば、複数の量子化結果のうち、少なくとも1つ以上の量子化結果に対して、乱数を重畳することができる。
請求項4の画像処理装置によれば、複数の階調量子化結果のうち、少なくとも1つ以上の階調量子化結果を用いて、ブロックに対して、誤差拡散処理を行うことができる。
請求項5の画像処理装置によれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
請求項6の画像処理装置によれば、ブロックのダイナミックレンジが予め定められた閾値より高い又は以上である場合は、第1の量子化手段による量子化結果を選択することができる。
請求項7の画像処理装置によれば、第3の量子化手段として、ブロック内の画素を複数色化し、乱数を重畳し、階調量子化を行うことができる。
請求項8の画像処理装置によれば、第3の量子化手段による階調量子化結果を用いて、ブロックに対して、誤差拡散処理を行うことができる。
請求項9画像処理プログラムによれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
請求項10の画像処理プログラムによれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
第1の実施の形態の構成例についての概念的なモジュール構成図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示す説明図である。 第1の実施の形態による処理例を示すフローチャートである。 第1の実施の形態による処理例を示すフローチャートである。 特徴・量子化ID対応テーブルのデータ構造例を示す説明図である。 第1の実施の形態による処理例を示すフローチャートである。 本実施の形態を利用したシステム構成例を示す説明図である。 第2の実施の形態の構成例についての概念的なモジュール構成図である。 第2の実施の形態による処理例を示す説明図である。 特徴・パターン対応テーブルのデータ構造例を示す説明図である。 第3の実施の形態の構成例についての概念的なモジュール構成図である。 形状識別子・代表画素値定義テーブルのデータ構造例を示す説明図である。 第4の実施の形態の構成例についての概念的なモジュール構成図である。 第5の実施の形態の構成例についての概念的なモジュール構成図である。 第5の実施の形態による処理例を示すフローチャートである。 第5の実施の形態による処理例を示すフローチャートである。 第5の実施の形態による処理例を示す説明図である。 第5の実施の形態による処理例を示す説明図である。 第5の実施の形態による処理例を示す説明図である。 第5の実施の形態による処理例を示す説明図である。 第6の実施の形態による処理例を示す説明図である。 第7の実施の形態による処理例を示す説明図である。 第8の実施の形態の構成例についての概念的なモジュール構成図である。 第9の実施の形態の構成例についての概念的なモジュール構成図である。 第10の実施の形態の構成例についての概念的なモジュール構成図である。 第11の実施の形態の構成例についての概念的なモジュール構成図である。 第11の実施の形態による処理例を示すフローチャートである。 第11の実施の形態による処理例を示すフローチャートである。 第11の実施の形態による処理例を示す説明図である。 第11の実施の形態による処理例を示す説明図である。 第11の実施の形態による処理例を示す説明図である。 第11の実施の形態による処理例を示す説明図である。 第12の実施の形態による処理例を示す説明図である。 第13の実施の形態による処理例を示す説明図である。 第14の実施の形態による処理例を示す説明図である。 第15の実施の形態の構成例についての概念的なモジュール構成図である。 第16の実施の形態の構成例についての概念的なモジュール構成図である。 第17の実施の形態の構成例についての概念的なモジュール構成図である。 第18の実施の形態の構成例についての概念的なモジュール構成図である。 第19の実施の形態の構成例についての概念的なモジュール構成図である。 第20の実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<<第1の実施の形態>>
図1は、第1の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、すべての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
第1の実施の形態である画像処理装置の圧縮装置100は、画像105を圧縮するものであって、図1の例に示すように、ブロック分割モジュール110、複数量子化モジュール115、特徴抽出モジュール120、選択モジュール125、固定長符号化モジュール130を有している。また、第1の実施の形態である画像処理装置の伸長装置150は、圧縮装置100によって圧縮された符号132を復号して画像195を生成するものであって、図1の例に示すように、固定長復号モジュール155、識別モジュール160、逆量子化モジュール165を有している。
圧縮装置100のブロック分割モジュール110は、複数量子化モジュール115、特徴抽出モジュール120と接続されており、画像105を受け付け、複数量子化モジュール115と特徴抽出モジュール120にブロック112を渡す。ブロック分割モジュール110は、画像105をブロックに分割する。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと、他の情報処理装置から印刷用の画像を受け付けること等が含まれる。画像は、多値画像(カラー画像を含む)である。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。ブロックは、矩形であって、一般的には正方形であるが、これに限る必要はない。
図2(A)に示す例は、ブロック分割モジュール110の処理結果である。例えば、「階調:8bit−解像度(サブブロック):1×1」(以下、「8bit−1×1」と表現する)である。
複数量子化モジュール115は、ブロック分割モジュール110、選択モジュール125と接続されており、ブロック分割モジュール110よりブロック112を受け取り、選択モジュール125に量子化結果117を渡す。複数量子化モジュール115は、ブロック分割モジュール110によって分割されたブロック112を複数の方法で量子化する。ここで「複数の方法」は、それぞれ異なっている。例えば、複数量子化モジュール115は、量子化結果において解像度と階調とがトレードオフの関係になるように、複数の方法で量子化するようにしてもよい。この場合、量子化結果117は、ブロック112を解像度と階調でトレードオフした複数の表現になる。ここで「トレードオフの関係」とは、二律背反の関係をいい、解像度を高めるためには、階調を低くする必要があり、逆に、階調を高めるためには、解像度を低くしなければならないという関係をいう。
図2(B)、(C)、(D)に示す例は、複数量子化モジュール115による複数(3つ)の処理結果を示す。例えば、図2(B)は、1bit−1×1(階調のbit数:1、解像度の大きさ:元の画素と同じ大きさ)であり、図2(C)は、4bit−2×2(階調のbit数:4、解像度の大きさ:元の画素の2(幅)×2(高さ)の大きさ)であり、図2(D)は、8bit−2×4(階調のbit数:8、解像度の大きさ:元の画素の2(幅)×4(高さ))である。
特徴抽出モジュール120は、ブロック分割モジュール110、選択モジュール125と接続されており、ブロック分割モジュール110よりブロック112を受け取り、選択モジュール125に特徴122を渡す。特徴抽出モジュール120は、ブロック分割モジュール110によって分割されたブロック112の特徴を抽出する。また、ブロック毎に特徴を抽出する。例えば、特徴抽出モジュール120は、ブロック112のダイナミックレンジを特徴として抽出するようにしてもよい。ダイナミックレンジとは、対象としているブロック内での画素値の幅(最大値と最小値によって定まる幅)をいう。
選択モジュール125は、複数量子化モジュール115、特徴抽出モジュール120、固定長符号化モジュール130と接続されており、複数量子化モジュール115より量子化結果117を、特徴抽出モジュール120より特徴122を受け取り、固定長符号化モジュール130に「ID+量子化結果」127を渡す。選択モジュール125は、特徴抽出モジュール120によって抽出された特徴122に対応する複数量子化モジュール115による量子化結果117を選択する。つまり、複数の量子化結果から1つのブロックに対応するものを選択する。また、選択処理の結果として、量子化結果の他に、量子化方法又は量子化結果の表現方法を示す情報であるID(IDentification)を含めてもよい。
固定長符号化モジュール130は、選択モジュール125と接続されており、選択モジュール125より「ID+量子化結果」127を受け取り、符号132を出力する。固定長符号化モジュール130は、選択モジュール125によって選択された量子化結果を固定長符号化する。また、固定長符号化モジュール130は、選択モジュール125によって選択された「ID+量子化結果」127を固定長符号化してもよい。固定長符号化であるので、1つのブロックに対する符号132は、一定の長さとなる。固定長符号化は、既存の技術を用いればよい。固定長符号化モジュール130による処理結果例を図2(F)、(G)、(H)に示す。なお、図2(E)に示す例は、原画の1ブロックのビット表現を示したものであり、1画素8bitが16個(計128bit)連続している。図2(F)に示す例は、図2(B)に対応したビット表現を示したものであり、固定長符号化処理の結果として、代表値1画素1bitが16個連続しており、ID(ID0:00)として2bitを付加したものである(計18bit)。なお、IDのビット数は、種類数を表現できるビット数以上であればよい。この例では、ID0、ID1、ID2の3種類のため、2ビット用いることになる。図2(G)に示す例は、図2(C)に対応したビット表現を示したものであり、固定長符号化処理の結果として、代表値1画素4bitが4個連続しており、ID(ID1:01)として2bitを付加したものである(計18bit)。図2(H)に示す例は、図2(D)に対応したビット表現を示したものであり、固定長符号化処理の結果として、代表値1画素8bitが2個連続しており、ID(ID2:10)として2bitを付加したものである(計18bit)。なお、固定長符号化処理の結果とIDとの位置関係は、図示した以外のもの(例えば、先頭に挿入する等)であってもよい。
伸長装置150の固定長復号モジュール155は、識別モジュール160と接続されており、符号132を受け付け、識別モジュール160に「ID+量子化結果」157を渡す。固定長復号モジュール155は、符号132を復号する。もちろんのことながら、復号は、固定長符号化に対応するものである。復号結果は量子化結果となる。また、前述のIDが符号132に含まれている場合は、「ID+量子化結果」157が復号結果となる。
識別モジュール160は、固定長復号モジュール155、逆量子化モジュール165と接続されており、固定長復号モジュール155より「ID+量子化結果」157を受け取り、逆量子化モジュール165に量子化結果162を渡す。識別モジュール160は、「ID+量子化結果」157から前述のIDを取り出す。
逆量子化モジュール165は、識別モジュール160と接続されており、識別モジュール160より量子化結果162を受け取り、画像195を出力する。逆量子化モジュール165は、量子化結果162を逆量子化し、元の画像を復元する。また、前述のIDが含まれている場合は、そのIDに応じて、量子化結果162を逆量子化し、元の画像を復元する。ここでの逆量子化方法は、選択モジュール125に選択された量子化結果を生成する量子化方法に対応するものである。
図2(I)、(J)、(K)に示す例は、逆量子化モジュール165がいずれかを識別モジュール160による識別結果によって選択して逆量子化に用いるものである。図2(I)は図2(B)に対応し、図2(J)は図2(C)に対応し、図2(K)は図2(D)に対応する。
図2(L)に示す例は、逆量子化モジュール165による処理結果である。
このように、ブロックの特徴に応じて解像度と階調でトレードオフした固定長表現を選択する。これにより、例えば、IDは2bitであり、量子化結果は16bitであり、符号132として合計18bit[block](16×8/18=7.11)の符号化ができている(前述した図2(F)、(G)、(H)に示す例を参照)。
なお、逆量子化モジュール165は復元した画像195を出力する。画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。
図3の例を用いて、実施の形態の原理を説明する。
対象としているブロック毎に、解像度と階調軸に沿ってそのままトレードオフさせると、原画を十分に再現できることが、発明者の研究によって判明した。本実施の形態では、これを利用し、ブロック毎に解像度(平坦表現するサブブロックの大きさ)と階調(ビット数)をトレードオフさせた固定長表現を行う。
図3の例の1行目では、原画のブロックを示している。これは128bitの符号量である。符号化していないので(情報量が削減されていないので)、文字、グレイ文字(階調がある文字)、グラデーション(写真等を含む)を再現した場合は、それぞれ1行目の例に示すようになる。
図3の例の2行目では、1行目の原画のブロックに対して、高解像で低階調(白黒の2値)となる量子化例を示している。これは16bit(1bitの階調×16)の符号量である。この場合、文字に対して適用した場合の再現では画質の問題はない。ただし、グレイ文字に対して適用した場合、色変わり、一部分の消去が生じる場合が多い。また、グラデーションに適用した場合、階調段差が生じる場合が多い。
図3の例の3行目では、1行目の原画のブロックに対して、中解像で中階調となる量子化例を示している。これは16bit(4bitの階調×4)の符号量である。この場合、グレイ文字に対して適用した場合の再現では画質の問題はない。ただし、文字に対して適用した場合、つぶれが生じる場合が多い。また、グラデーションに適用した場合、階調段差が生じる場合が多い。
図3の例の4行目では、1行目の原画のブロックに対して、低解像で高階調となる量子化例を示している。これは16bit(8bitの階調×2)の符号量である。この場合、グラデーションに対して適用した場合の再現では画質の問題はない。ただし、文字に対して適用した場合、つぶれが生じる場合が多い。また、グレイ文字に適用した場合、つぶれが生じる場合が多い。
つまり、量子化によって、文字、グレイ文字、グラデーションのすべてに画質上対応できるものはないが、高解像で低階調、中解像で中階調、低解像で高階調の量子化を行うと、いずれかで画質上対応できる。ブロックの特徴に応じて、これらを使い分けるようにしている。なお、もちろんのことながら、図3に挙げた例(高解像で低階調、中解像で中階調、低解像で高階調)以外の量子化を採用してもよい。
図4は、第1の実施の形態による処理例を示すフローチャートである。
ステップS402では、ブロック分割モジュール110は、画像105を受け付ける。
ステップS404では、ブロック分割モジュール110は、画像105をブロッキングする。
ステップS406では、複数量子化モジュール115は、ブロック112に対して、解像度と階調でトレードオフした複数の表現に量子化する。詳細な処理例について図5を用いて後述する。
ステップS408では、特徴抽出モジュール120は、ブロック112の特徴122を抽出する。
ステップS410では、選択モジュール125は、特徴122に応じて、複数の量子化結果117のなかから選択する。詳細な処理例について図6を用いて後述する。
ステップS412では、固定長符号化モジュール130は、符号化処理を行う。
ステップS414では、固定長符号化モジュール130は、符号132を伸長装置150に送信する。
図5は、第1の実施の形態(複数量子化モジュール115)による処理例を示す2種類のフローチャートである。この例は、中階調で中解像の量子化を行うものである。
図5(A)に示す例は、ブロック分割モジュール110による処理結果であり、原画像の1ブロックを示している。左のフローチャート(ステップS522、ステップS524)はサブサンプリング/量子化を利用したものであり、右のフローチャート(ステップS532、ステップS534)は平均値/量子化を利用したものである。
ステップS522では、サブサンプリング処理を行う。図5(B)に示す例は、ステップS522による処理結果を示している。図5(A)に示す例から画素を選択したものである。
ステップS524では、階調を単純量子化する。図5(C)に示す例は、ステップS524による処理結果を示している。図5(C)に示す例の画素値を量子化したものである。
ステップS532では、サブブロックの平均値を算出する。図5(D)に示す例は、ステップS532による処理結果を示している。図5(A)に示す例から4つの画素の平均値を算出したものである。
ステップS534では、階調を単純量子化する。図5(E)に示す例は、ステップS534による処理結果を示している。図5(D)に示す例の画素値を量子化したものである。
低解像で高階調の量子化も同等の処理で行うことができる。
高解像で低階調の量子化は、既存の2値化処理を行えばよい。
図6は、特徴・量子化ID対応テーブル600のデータ構造例を示す説明図である。特徴・量子化ID対応テーブル600は、Dレンジ欄610、ID欄620を有している。Dレンジ欄610は、ダイナミックレンジを記憶している。ID欄620は、そのダイナミックレンジに対応するID(量子化方法又は量子化結果の表現方法を示す情報)を記憶している。
特徴・量子化ID対応テーブル600の1行目は、ダイナミックレンジが255である場合は高解像・低階調(白黒)を示しており(図2(B)参照)、2行目は、ダイナミックレンジが16〜254である場合は中解像・中階調を示しており(図2(C)参照)、3行目は、ダイナミックレンジが16未満である場合は低解像・高階調を示している(図2(D)参照)。もちろんのことながら、この数値は例示であり、3つのIDも例示である。また、特徴抽出モジュール120がダイナミックレンジ以外の特徴を抽出する場合は、その特徴の値に応じてIDを対応させる。
選択モジュール125は、特徴122に対応するDレンジ欄610を検索し、それに対応するID欄620を抽出する。そのIDにしたがって、複数の量子化結果117のいずれか1つを選択する。
図7は、第1の実施の形態(伸長装置150)による処理例を示すフローチャートである。
ステップS702では、固定長復号モジュール155は、符号132を受け付ける。
ステップS704では、固定長復号モジュール155は、復号処理を行う。
ステップS706では、識別モジュール160は、逆量子化のIDを識別する。
ステップS708では、逆量子化モジュール165は、逆量子化する。前述の特徴・量子化ID対応テーブル600を用いて、IDにしたがった逆量子化を行う。
ステップS710では、逆量子化モジュール165は、画像195を出力する。
図8は、本実施の形態を利用した2つのシステム構成例を示す説明図である。
図8(A)に示す例は、プリンタに利用した例を示している。描画装置810、圧縮装置100、記憶装置820、伸長装置150、印刷器830によって構成している。
描画装置810は、圧縮装置100と接続されている。描画装置810は、印刷すべき画像を生成する。
圧縮装置100は、描画装置810、記憶装置820と接続されている。圧縮装置100は、画像を圧縮する。
記憶装置820は、圧縮装置100、伸長装置150と接続されている。記憶装置820は、圧縮装置100によって圧縮された結果である符号を記憶する。
伸長装置150は、記憶装置820、印刷器830と接続されている。伸長装置150は、記憶装置820内の符号を伸長して、画像を復元する。
印刷器830は、伸長装置150と接続されている。印刷器830は、伸長装置150によって復元された画像を印刷する。
例えば、印刷器830が連帳プリンタである場合、ロール紙を停止することができないので、印刷の速度に遅れることなくデータを伝送し続けねばならない。そのため、圧縮率の保証と圧縮/伸長速度が求められる。圧縮(符号化)には可変長符号化と固定長符号化の2種類あるが、高解像(例えば、1200dpi等)の連帳プリンタでは、高速度(例えば、数[GB/s]程度)が求められるため、可変長符号化での圧縮率保証は現実的ではない。つまり、可変長符号化は試行しないと符号量が決定しないため、圧縮率を保障するのが困難であり、伸長の際の符号切り出しも困難である。そのため、高速プリンタでは、固定長符号化の処理を行う場合が多い。
図8(B)に示す例は、画像の送信に利用した例を示している。
圧縮装置100A、圧縮装置100B、伸長装置150A、伸長装置150B、伸長装置150C、伸長装置150Dは、通信回線890を介してそれぞれ接続されている。通信回線890は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット等であってもよい。伸長装置150として、例えば、モバイル端末、PC、プリンタ等があり、圧縮装置100で圧縮された画像を再現する。
<<第2の実施の形態>>
図9は、第2の実施の形態の構成例についての概念的なモジュール構成図である。
圧縮装置900は、ブロック分割モジュール110、複数量子化モジュール115、パターン抽出モジュール920、特徴抽出モジュール120、選択モジュール125、固定長符号化モジュール130を有している。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する(以下、同様)。また、圧縮装置900に対応する伸長装置は、第1の実施の形態の伸長装置150と同等の構成である。
第2の実施の形態の圧縮装置900は、ID選択の精度を上げるため、量子化後の画素値パターンを用いる。例えば、ID=1はID=2より解像度を重視した表現(階調を犠牲にして)であるが、状況によっては高解像とならない場合がある。これを防止するために、圧縮装置900ではダイナミックレンジと量子化後のパターン(ヒストグラム)の組み合わせを用いて選択する。
複数量子化モジュール115は、ブロック分割モジュール110、選択モジュール125、パターン抽出モジュール920と接続されており、ブロック分割モジュール110よりブロック112を受け取り、パターン抽出モジュール920、選択モジュール125に量子化結果117を渡す。
パターン抽出モジュール920は、複数量子化モジュール115、選択モジュール125と接続されており、複数量子化モジュール115より量子化結果117を受け取り、選択モジュール125に量子化後のパターン922を渡す。パターン抽出モジュール920は、複数量子化モジュール115による量子化結果117の型(以下、パターンともいう)を抽出する。
選択モジュール125は、複数量子化モジュール115、パターン抽出モジュール920、特徴抽出モジュール120、固定長符号化モジュール130と接続されており、複数量子化モジュール115より量子化結果117を、パターン抽出モジュール920より量子化後のパターン922を、特徴抽出モジュール120より特徴122を受け取り、固定長符号化モジュール130に「ID+量子化結果」127を渡す。選択モジュール125は、パターン抽出モジュール920によって抽出された量子化後のパターン922と特徴抽出モジュール120によって抽出された特徴122に対応する量子化結果117を選択する。
図10は、第2の実施の形態による処理例を示す説明図である。
パターンとして、量子化結果内の画素値が1色、2色、3色、4色と分類することができる。さらに、2色については、全体を等分に分けるもの(図10の例では「向上しない」の右側の例)と市松模様のもの(対角の値が同等であるもの、図10の例では2色市松)がある。
図10(A)の例は、第1の実施の形態のように、特徴122だけで判断した場合は、ID1を選択するパターンの例を示している。そこで、仮にID2を適用した場合と比較して、「ID1(図2(C)参照)はID2(図2(D)参照)よりも解像度が高いか」について検討すると、「向上しない」の場合、「向上する可能性あり」の場合、「向上する」の場合があることを示している。つまり、ID1は4つに分けており、ID2は2つに分けているので、一般的には、ID1が解像度は高いはずである。しかし、全体が1色である場合、2色で全体を等分に分けるもの(図10の例では「向上しない」の2つの例)については、ID1にしたとしても解像度は高くならず、ID2で扱う方が階調面で明らかに有利である。また、2色(2色で全体を等分に分けるもの、市松模様を除く、図10の例では「向上する可能性あり」の左側の例)は、向上する可能性が高く、一方、3色(図10の例では「向上する可能性あり」の右側の例)は、向上する可能性は低い。また、市松模様、4色の場合は、向上する。そこで、図10(B)の例に示すように、閾値Sで、ID1とID2を適用するものを分けている。
例えば、具体的には、選択モジュール125は、特徴・パターン対応テーブル1100を用いて判断する。図11は、特徴・パターン対応テーブル1100のデータ構造例を示す説明図である。特徴・パターン対応テーブル1100は、Dレンジ欄1110、1色欄1120、2色ID2同欄1130、2色欄1140、市松欄1150、3色欄1160、4色欄1170を有している。Dレンジ欄1110は、ダイナミックレンジを記憶している。1色欄1120は、1色の場合のパターンを記憶している。2色ID2同欄1130は、2色ID2同(2色で全体を等分に分けるもの)の場合のパターンを記憶している。2色欄1140は、2色の場合のパターンを記憶している。市松欄1150は、市松模様の場合のパターンを記憶している。3色欄1160は、3色の場合のパターンを記憶している。4色欄1170は、4色の場合のパターンを記憶している。つまり、特徴122と量子化後のパターン922によって、IDを選択するためのテーブルとなっている。
この特徴・パターン対応テーブル1100の例では、ダイナミックレンジが16〜254の場合(第1の実施の形態では、特徴・量子化ID対応テーブル600によってID1が選択されることとなる)、パターンによってID1又はID2に分かれることになる。
<<第3の実施の形態>>
図12は、第3の実施の形態の構成例についての概念的なモジュール構成図である。
圧縮装置1200は、ブロック分割モジュール110、複数量子化モジュール115、距離計算モジュール1220、特徴抽出モジュール120、選択モジュール125、固定長符号化モジュール130を有している。
第3の実施の形態の圧縮装置1200は、同じ階調であっても解像度を表現する形状を変えるようにしたものである。図13の例に示すように、第1の実施の形態のIDにID3を加える。そして、ID2とID3の識別に距離を利用する。バリエーションを増やすことでさらなる高画質化ができる。
複数量子化モジュール115は、ブロック分割モジュール110、選択モジュール125、距離計算モジュール1220と接続されており、ブロック分割モジュール110よりブロック112を受け取り、距離計算モジュール1220と選択モジュール125に量子化結果117を渡す。
距離計算モジュール1220は、ブロック分割モジュール110、複数量子化モジュール115、選択モジュール125と接続されており、ブロック分割モジュール110よりブロック112を、複数量子化モジュール115より量子化結果117を受け取り、選択モジュール125に距離1222を渡す。距離計算モジュール1220は、ブロック分割モジュール110によって分割されたブロック112と複数量子化モジュール115による量子化結果117との間の距離を算出する。例えば、式(1)を用いて、多値画像の距離を算出する。ここでPは原画像の画素値を、Qは量子化結果の画素値をインデックスiは画素の座標位置を表している。
Figure 2017169047
選択モジュール125は、複数量子化モジュール115、距離計算モジュール1220、特徴抽出モジュール120、固定長符号化モジュール130と接続されており、複数量子化モジュール115より量子化結果117を、距離計算モジュール1220より距離1222を、特徴抽出モジュール120より特徴122を受け取り、固定長符号化モジュール130に「ID+量子化結果」127を渡す。選択モジュール125は、距離計算モジュール1220によって算出された距離1222と特徴抽出モジュール120によって抽出された特徴122に対応する量子化結果117を選択する。例えば、具体的には、第1の実施の形態と同等の処理を行い、同じ解像度のIDが選択された場合は、ID2とID3の場合の距離Eを比較して、小さい値となるIDを選択すればよい。
第2の実施の形態と第3の実施の形態を組み合わせてもよい。つまり、圧縮装置900に距離計算モジュール1220を付加してもよい。
また、その場合、距離計算モジュール1220による処理を行うか否かを形状識別子・代表画素値定義テーブル1300によって判断するようにしてもよい。図13は、形状識別子・代表画素値定義テーブル1300のデータ構造例を示す説明図である。形状識別子・代表画素値定義テーブル1300は、ID欄1310、形状欄1320を有している。ID欄1310は、IDを記憶している。形状欄1320は、そのIDにおける量子化の形状を記憶している。つまり、量子化結果内は同じ個数である(例えば、ID2とID3)が、形状が異なるものがあるか否かを判断し、ある場合(例えば、ID2とID3がある場合)は、距離計算モジュール1220の処理を行い、選択モジュール125は、距離1222も加えた判断を行うようにしてもよい。ない場合は、距離計算モジュール1220に処理は行わせずに、選択モジュール125は、特徴122と量子化後のパターン922によって判断を行うようにしてもよい。
<<第4の実施の形態>>
図14は、第4の実施の形態の構成例についての概念的なモジュール構成図である。前述の実施の形態では、量子化した後に選択したが、量子化する前に選択処理を行い、その選択した量子化方法で量子化するようにしてもよい。
圧縮装置1400は、ブロック分割モジュール1410、特徴抽出モジュール1415、選択モジュール1420、量子化モジュール1425、固定長符号化モジュール1430を有している。
ブロック分割モジュール1410は、特徴抽出モジュール1415、量子化モジュール1425と接続されており、画像1405を受け付け、特徴抽出モジュール1415と量子化モジュール1425にブロック1412を渡す。ブロック分割モジュール1410は、ブロック分割モジュール110と同等の処理を行う。つまり、画像1405をブロックに分割する。
特徴抽出モジュール1415は、ブロック分割モジュール1410、選択モジュール1420と接続されており、ブロック分割モジュール1410よりブロック1412を受け取り、選択モジュール1420に特徴1417を渡す。特徴抽出モジュール1415は、特徴抽出モジュール120と同等の処理を行う。つまり、ブロック1412の特徴を抽出する。
選択モジュール1420は、特徴抽出モジュール1415、量子化モジュール1425と接続されており、特徴抽出モジュール1415より特徴1417を受け取り、量子化モジュール1425にID1422を渡す。選択モジュール1420は、特徴抽出モジュール1415によって抽出された特徴1417に対応する量子化手法(ID)を選択する。量子化結果において解像度と階調とがトレードオフの関係になるような複数の量子化手法のなかから選択する。前述の選択モジュール125と同等の選択処理を行う。ただし、選択対象は、量子化結果ではなく、量子化手法である。
量子化モジュール1425は、ブロック分割モジュール1410、選択モジュール1420、固定長符号化モジュール1430と接続されており、ブロック分割モジュール1410よりブロック1412を、選択モジュール1420よりID1422を受け取り、固定長符号化モジュール1430に「ID+量子化結果」1427を渡す。量子化モジュール1425は、ブロック分割モジュール1410によって分割されたブロック1412を、選択モジュール1420によって選択された量子化手法(ID1422)によって量子化する。
固定長符号化モジュール1430は、量子化モジュール1425と接続されており、量子化モジュール1425より「ID+量子化結果」1427を受け取り、符号1432を出力する。固定長符号化モジュール1430は、固定長符号化モジュール130と同等の処理を行う。つまり、量子化モジュール1425による「ID+量子化結果」1427を固定長符号化して、符号1432を出力する。
<<第5の実施の形態>>
図15は、第5の実施の形態の構成例についての概念的なモジュール構成図である。
特許文献2に記載のBTCは、ブロックを2種の代表値とBTCパターンの形式で表現する固定長の圧縮方式である。BTCパターンに1[bit/画素]と、ブロックあたりに代表値8bit×2=16[bit]が必要になる。例えば、4画素×4画素のブロック(16画素)は8bit×16画素=128[bit/block]であり、1×16+16=32[bit/block]に圧縮するため、圧縮率は128/32=4となる。
以降の例に示す実施の形態(第5以降の実施の形態)は、ブロックをその特徴に応じた固定長表現に変換することで、画質劣化を抑えつつ、特許文献2に記載の技術よりも高い圧縮率の符号化を実現する。圧縮装置1500では、ブロックをテクスチャ保存表現又は二色化表現に変換する。テクスチャ保存表現は任意のテクスチャを保存するものである。二色化表現は画像を任意の形状に2色化するものである。
第5の実施の形態である画像処理装置の圧縮装置1500は、画像1505を圧縮するものである。また、第5の実施の形態である画像処理装置の伸長装置1550は、圧縮装置1500によって圧縮された符号1537を復号して画像1595を生成するものである。第5の実施の形態は、第1の実施の形態(第1の実施の形態から第4の実施の形態)に比較して、文字エッジ、細線等の画像品質を改善する処理を追加している。
圧縮装置1500は、ブロック分割モジュール1510、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525、選択モジュール1530、固定長符号化モジュール1535を有している。
ブロック分割モジュール1510は、画像1505を受け付け、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525と接続されている。ブロック分割モジュール1510は、第1の実施の形態のブロック分割モジュール110と同等の処理を行う。画像1505をブロックに分割する。そして、このブロックは、複数の方法(この例では2つの方法)で量子化される。
テクスチャ保存表現変換モジュール1515は、ブロック分割モジュール1510、距離計算モジュール1525、選択モジュール1530と接続されている。テクスチャ保存表現変換モジュール1515は、ブロック分割モジュール1510によって分割されたブロックをブロック内のテクスチャを保存するための量子化を行う。
二色化表現変換モジュール1520は、ブロック分割モジュール1510、距離計算モジュール1525、選択モジュール1530と接続されている。二色化表現変換モジュール1520は、ブロック分割モジュール1510によって分割されたブロック内の画素を複数色化する。ここでは、二色化表現に量子化する。
テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520によって、表現を限定するため、符号量が小さくなる。
距離計算モジュール1525は、ブロック分割モジュール1510、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、選択モジュール1530と接続されている。距離計算モジュール1525は、ブロックと量子化結果(テクスチャ保存表現変換モジュール1515による量子化結果、二色化表現変換モジュール1520による量子化結果)との間の距離を算出する。距離計算モジュール1525は、第3の実施の形態の距離計算モジュール1220と同等の処理を行う。この場合、距離は、ブロックとテクスチャ保存表現変換モジュール1515による量子化結果との間の距離と、ブロックと二色化表現変換モジュール1520による量子化結果との間の距離の2つとなる。ブロックと固定長表現に変換したブロックの距離は、例えば、前述した式(1)を用いればよい。
選択モジュール1530は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525、固定長符号化モジュール1535と接続されている。選択モジュール1530は、距離計算モジュール1525によって算出された距離を用いて、テクスチャ保存表現変換モジュール1515による量子化結果又は二色化表現変換モジュール1520による量子化結果のいずれかを選択する。つまり、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520のうちの一つの固定長表現を選択することになる。
固定長符号化モジュール1535は、選択モジュール1530、伸長装置1550の固定長復号モジュール1555と接続されており、伸長装置1550の固定長復号モジュール1555に符号1537を渡す。固定長符号化モジュール1535は、第1の実施の形態の固定長符号化モジュール130と同等の処理を行う。固定長符号化モジュール1535は、選択モジュール1530によって選択された量子化結果を固定長符号化する。つまり、選択した固定長表現(テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520)のIDと固定長表現に量子化した結果を固定長符号化する。固定長符号化の処理結果である符号1537を、通信回線等を介して、伸長装置1550に渡す。
伸長装置1550は、固定長復号モジュール1555、識別モジュール1560、逆量子化モジュール1565、デブロッキングモジュール1570を有している。
固定長復号モジュール1555は、圧縮装置1500の固定長符号化モジュール1535、識別モジュール1560と接続されており、圧縮装置1500の固定長符号化モジュール1535より符号1537を受け取る。固定長復号モジュール1555は、第1の実施の形態の固定長復号モジュール155と同等の処理を行う。固定長符号化モジュール1535の逆変換を行うものである。符号1537を復号し、選択モジュール1530が選択した固定長表現のIDと固定長表現に量子化した結果を得る。
識別モジュール1560は、固定長復号モジュール1555、逆量子化モジュール1565と接続されている。識別モジュール1560は、第1の実施の形態の識別モジュール160と同等の処理を行う。復号した情報のなかから、ID(固定長表現のID)を取得する。選択モジュール1530が選択した量子化結果(ID)は、テクスチャ保存表現変換モジュール1515による量子化結果、又は、二色化表現変換モジュール1520による量子化結果のいずれであるかを識別する。
逆量子化モジュール1565は、識別モジュール1560、デブロッキングモジュール1570と接続されている。逆量子化モジュール1565は、第1の実施の形態の逆量子化モジュール165と同等の処理を行う。テクスチャ保存表現変換モジュール1515又は二色化表現変換モジュール1520の逆変換を行うものである。つまり、識別モジュール1560が取得したIDに対応する逆量子化を行う。
デブロッキングモジュール1570は、逆量子化モジュール1565と接続されており、画像1595を出力する。デブロッキングモジュール1570は、逆量子化モジュール1565によって逆量子化された画素のブロックを用いて、画像1595を生成する。
図16は、第5の実施の形態(圧縮装置1500)による処理例を示すフローチャートである。
ステップS1602では、ブロック分割モジュール1510は、ブロッキングを行う。
ステップS1604では、テクスチャ保存表現変換モジュール1515は、テクスチャ保存表現変換を行う。
ステップS1606では、二色化表現変換モジュール1520は、二色化表現変換を行う。
ステップS1608では、距離計算モジュール1525は、距離を計算する。
ステップS1610では、選択モジュール1530は、テクスチャ保存表現変換モジュール1515の処理結果又は二色化表現変換モジュール1520の処理結果のいずれかを示すIDを選択する。
ステップS1612では、固定長符号化モジュール1535は、符号化処理を行う。
図17は、第5の実施の形態(伸長装置1550)による処理例を示すフローチャートである。
ステップS1702では、固定長復号モジュール1555は、復号処理を行う。
ステップS1704では、識別モジュール1560は、IDを識別し、テクスチャ保存表現の場合はステップS1706へ進み、二色化表現の場合はステップS1708へ進む。
ステップS1706では、逆量子化モジュール1565は、テクスチャ保存表現を逆変換する。
ステップS1708では、逆量子化モジュール1565は、二色化表現を逆変換する。
ステップS1710では、デブロッキングモジュール1570は、デブロッキング処理を行う。
図18は、第5の実施の形態による処理例を示す説明図である。
例えば、符号種(ID)を4種類(2ビット)、データ部を16ビットで表現するとする。このとき、第5の実施の形態における符号長は、図19の例に示すように、ID1910の2ビットとデータ部1920の16ビットによって構成された18[bit/block]となる。
符号種(ID)の内容を、図18の例に示す。
ID:0は、「テクスチャ保存」の表現であり、その形状は、「任意」であり、データ部は、「パターン8bit、階調8bit」である。図20(a)の例に示すように、ID1910の2ビットとデータ部1920の16ビット(パターン2022の8ビットと階調2024の8ビット)によって構成された18[bit/block]となる。
ID:1は、「二色化」の表現であり、図18のID:1の形状に示すように格子(市松模様)の2色であり、データ部は、「色1の階調8bitと色2の階調8bit」である。図20(b)の例に示すように、ID1910の2ビットとデータ部1920の16ビット(色1の階調2026の8ビットと色2の階調2028の8ビット)によって構成された18[bit/block]となる。
ID:2は、「二色化」の表現であり、図18のID:2の形状に示すように縦に割った左右の2色であり、データ部は、「色1の階調8bitと色2の階調8bit」である(図20(b)の例参照)。
ID:3は、「二色化」の表現であり、図18のID:3の形状に示すように横に割った上下の2色であり、データ部は、「色1の階調8bitと色2の階調8bit」である(図20(b)の例参照)。
図21は、第5の実施の形態(テクスチャ保存表現変換モジュール1515)による処理例を示す説明図である。
テクスチャ保存表現は、データ部にパターンと階調を保存する。例えば、パターンを8ビット、階調を8ビットとした場合を説明する。パターン8ビットは任意の形状を指定する識別子であり、8ビットであるので、256種類まで形状を指定できる。以降、パターン識別子をPIDと表す。階調8ビットはパターンで指定した任意の形状の階調を表す。階調値は指定した形状に該当する画素の平均画素値を用いる。指定した形状以外の色(背景色)は任意の色で固定する。ここでは、背景色を255(白)として取り扱うが、適用する画像や色空間にあわせて自由に設定してよい。テクスチャ保存表現の一例として、図21の例に示すテクスチャ表現テーブル2100がある。
テクスチャ表現テーブル2100は、PID欄2110、16bit表現(16進数)欄2120、形状欄2130を有している。PID欄2110は、PID(パターン2022に入り得る値)を示している。PID欄2110内のPIDは、16ビット長である。16bit表現(16進数)欄2120は、そのパターン(PID)における16bit表現(16進数)を示している。形状欄2130は、そのパターン(PID)における形状を示している。
例えば、PIDが0の場合は、16bit表現として、「0x7777」を表しており、その形状は、テクスチャ表現テーブル2100の1行目の形状欄2130内の内容のようになっている。4×4の矩形で示し、各行の最初のビットを白(255、固定)とし、他の3ビットを階調8ビットとしたものである。
例えば、PIDが1の場合は、16bit表現として、「〜0x7777」を表しており、その形状は、テクスチャ表現テーブル2100の2行目の形状欄2130内の内容のようになっている。
例えば、PIDが2の場合は、16bit表現として、「0x000f」を表しており、その形状は、テクスチャ表現テーブル2100の3行目の形状欄2130内の内容のようになっている。
例えば、PIDが3の場合は、16bit表現として、「〜0x000f」を表しており、その形状は、テクスチャ表現テーブル2100の4行目の形状欄2130内の内容のようになっている。
また、テクスチャ保存表現変換モジュール1515によるテクスチャ保存表現は、例えば、パターン2022を10ビット、階調2024を6ビットとしてもよい。階調のビット数を減らす場合は、算出した平均画素値を量子化する必要がある。量子化方法は、従来技術を適用すればよい。例えば、単純量子化をする、誤差拡散で階調を保存しながら量子化をする、平均画素値に乱数を重畳してから単純量子化をする等がある。
また、例えばパターン16ビット、階調0ビットとした場合は、代表色を0(黒)と固定すればよい。
二色化表現変換モジュール1520による二色化表現は、ブロックを任意の形状に2色化し、データ部1920にそれぞれの階調(色1の階調2026(8ビット),色2の階調2028(8ビット))を保存する。ここでは、図18の例に示すように、形状を格子(ID=1)、左右(ID=2)、上下(ID=3)として扱うが、任意の形状に変更してもよい。データ部1920に保存する階調は、例えば、対象領域の平均画素値を用いる。
<<第6の実施の形態>>
図22は、第6の実施の形態による処理例を示す説明図である。
テクスチャ保存表現変換モジュール1515のテクスチャ保存表現は、例えば、パターンを8ビット、階調を4ビット+4ビットとして表現してもよい。この場合、パターンの代表色4ビットと背景色4ビットを保存することになる。図22の例に示すように、ID2210は2ビットであり、PID2220は8ビットであり、代表色である色1の階調2230は4ビットであり、背景色である色2の階調2240は4ビットである。
<<第7の実施の形態>>
図23は、第7の実施の形態による処理例を示す説明図である。
二色化表現変換モジュール1520による二色化表現は、形状を増強することで解像感を増強することができる。例えば、図23に示すように形状を増強する。このとき、IDは8種類(3ビット)となるため、符号量は、3+16=19[bit/block]となる。
ID:0〜ID:3は、図18と同等である。
ID:4は、「二色化」の表現であり、その形状は、図23のID:4の形状に示すように色2が左上にあり、データ部は、「色1の階調8bitと色2の階調8bit」である。
ID:5は、「二色化」の表現であり、その形状は、図23のID:5の形状に示すように色2が右上にあり、データ部は、「色1の階調8bitと色2の階調8bit」である。
ID:6は、「二色化」の表現であり、その形状は、図23のID:6の形状に示すように色2が右下にあり、データ部は、「色1の階調8bitと色2の階調8bit」である。
ID:7は、「二色化」の表現であり、その形状は、図23のID:7の形状に示すように色2が左下にあり、データ部は、「色1の階調8bitと色2の階調8bit」である。
<<第8の実施の形態>>
図24は、第8の実施の形態の構成例についての概念的なモジュール構成図である。階調を量子化する例である。
圧縮装置2400は、ブロック分割モジュール1510、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、階調量子化モジュール2425、距離計算モジュール1525、選択モジュール1530、固定長符号化モジュール1535を有している。
ブロック分割モジュール1510は、画像2405を受け付け、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525と接続されている。
テクスチャ保存表現変換モジュール1515は、ブロック分割モジュール1510、階調量子化モジュール2425と接続されている。
二色化表現変換モジュール1520は、ブロック分割モジュール1510、階調量子化モジュール2425と接続されている。
階調量子化モジュール2425は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525、選択モジュール1530と接続されている。階調量子化モジュール2425は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520による複数の量子化結果(テクスチャ保存表現変換モジュール1515による量子化結果、二色化表現変換モジュール1520による量子化結果)のうち、少なくとも1つ以上の量子化結果に対して、階調量子化を行う。
距離計算モジュール1525は、ブロック分割モジュール1510、階調量子化モジュール2425、選択モジュール1530と接続されている。距離計算モジュール1525は、ブロック分割モジュール1510によって分割されたブロックと階調量子化モジュール2425による階調量子化結果との間の距離を算出する。
選択モジュール1530は、階調量子化モジュール2425、距離計算モジュール1525、固定長符号化モジュール1535と接続されている。選択モジュール1530は、距離計算モジュール1525によって算出された距離を用いて、テクスチャ保存表現変換モジュール1515による量子化結果に対する階調量子化モジュール2425による階調量子化結果又は二色化表現変換モジュール1520による量子化結果に対する階調量子化モジュール2425による階調量子化結果のいずれかを選択する。
固定長符号化モジュール1535は、選択モジュール1530と接続されており、符号2437を出力する。
<<第9の実施の形態>>
図25は、第9の実施の形態の構成例についての概念的なモジュール構成図である。階調に乱数を重畳して量子化する例である。
圧縮装置2500は、ブロック分割モジュール1510、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、乱数重畳モジュール2525、階調量子化モジュール2425、距離計算モジュール1525、選択モジュール1530、固定長符号化モジュール1535を有している。
ブロック分割モジュール1510は、画像2505を受け付け、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525と接続されている。
テクスチャ保存表現変換モジュール1515は、ブロック分割モジュール1510、乱数重畳モジュール2525と接続されている。
二色化表現変換モジュール1520は、ブロック分割モジュール1510、乱数重畳モジュール2525と接続されている。
乱数重畳モジュール2525は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、階調量子化モジュール2425と接続されている。乱数重畳モジュール2525は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520による複数の量子化結果(テクスチャ保存表現変換モジュール1515による量子化結果、二色化表現変換モジュール1520による量子化結果)のうち、少なくとも1つ以上の量子化結果に対して、乱数を重畳する。例えば、ブルーノイズマスク等を用いればよい。
階調量子化モジュール2425は、乱数重畳モジュール2525、距離計算モジュール1525、選択モジュール1530と接続されている。階調量子化モジュール2425は、乱数重畳モジュール2525による複数の処理結果に対して、階調量子化を行う。
距離計算モジュール1525は、ブロック分割モジュール1510、階調量子化モジュール2425、選択モジュール1530と接続されている。
選択モジュール1530は、階調量子化モジュール2425、距離計算モジュール1525、固定長符号化モジュール1535と接続されている。選択モジュール1530は、距離計算モジュール1525によって算出された距離を用いて、テクスチャ保存表現変換モジュール1515による量子化結果に対する乱数重畳モジュール2525による処理結果に対する階調量子化モジュール2425による階調量子化結果又は二色化表現変換モジュール1520による量子化結果に対する乱数重畳モジュール2525による処理結果に対する階調量子化モジュール2425による階調量子化結果のいずれかを選択する。
固定長符号化モジュール1535は、選択モジュール1530と接続されており、符号2537を出力する。
<<第10の実施の形態>>
図26は、第10の実施の形態の構成例についての概念的なモジュール構成図である。階調を量子化し、誤差拡散で階調を保存する例である。
圧縮装置2600は、ブロック分割モジュール1510、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、誤差拡散モジュール2625、階調量子化モジュール2425、距離計算モジュール1525、選択モジュール1530、固定長符号化モジュール1535を有している。
ブロック分割モジュール1510は、画像2605を受け付け、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525と接続されている。
テクスチャ保存表現変換モジュール1515は、ブロック分割モジュール1510、階調量子化モジュール2425、誤差拡散モジュール2625と接続されている。
二色化表現変換モジュール1520は、ブロック分割モジュール1510、階調量子化モジュール2425、誤差拡散モジュール2625と接続されている。
階調量子化モジュール2425は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、誤差拡散モジュール2625、距離計算モジュール1525、選択モジュール1530と接続されている。
誤差拡散モジュール2625は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、階調量子化モジュール2425と接続されている。誤差拡散モジュール2625は、階調量子化モジュール2425による階調量子化結果による複数の階調量子化結果のうち、少なくとも1つ以上の階調量子化結果を用いて、ブロック分割モジュール1510が分割したブロックに対して、誤差拡散処理を行う。ここで誤差拡散モジュール2625が対象とするブロック(誤差を拡散させる先のブロック)は、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520によって対象とされたブロック以外のブロックである。例えば、次の処理対象となるブロックである。
距離計算モジュール1525は、ブロック分割モジュール1510、階調量子化モジュール2425、選択モジュール1530と接続されている。
選択モジュール1530は、階調量子化モジュール2425、距離計算モジュール1525、固定長符号化モジュール1535と接続されている。
固定長符号化モジュール1535は、選択モジュール1530と接続されており、符号2637を出力する。
なお、第6の実施の形態から第10の実施の形態による処理結果(符号)の伸長は、第5の実施の形態の伸長装置1550を用いればよく、圧縮装置で行った量子化の逆変換を行えばよい。
<<第11の実施の形態>>
図27は、第11の実施の形態の構成例についての概念的なモジュール構成図である。
第11の実施の形態である画像処理装置の圧縮装置2700は、画像2705を圧縮するものである。また、第11の実施の形態である画像処理装置の伸長装置2750は、圧縮装置2700によって圧縮された符号2747を復号して画像2795を生成するものである。第11の実施の形態は、第1の実施の形態に比較して、圧縮率を高めたものである。具体的には、第1の実施の形態(第1の実施の形態から第4の実施の形態)では18〜19[bit/block]であるが、第11の実施の形態(第11の実施の形態から第20の実施の形態)では10〜11[bit/block]としている。
第11の実施の形態では、ブロックを高解像/低階調表現、階調保存表現、二色化表現、のいずれかの表現に変換する。高解像/低階調表現は文字エッジや細線の解像感を保存し、階調保存表現はグラデーションの階調性を保存する。二色化表現は高解像/低階調表現と階調保存表現の中間を担う。
圧縮装置2700は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール2730、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像2705を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735と接続されている。ブロック分割モジュール2710は、第1の実施の形態のブロック分割モジュール110と同等の処理を行う。画像2705をブロックに分割する。そして、このブロックは、複数の方法(この例では3つの方法)で量子化される。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。高解像/低階調表現変換モジュール2715は、ブロック内の解像感を保存するための量子化を行う。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。階調保存表現変換モジュール2720は、ブロック内の階調を保存するための量子化を行う。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、階調量子化モジュール2730と接続されている。二色化表現変換モジュール2725は、ブロック内の画素を複数色化する。
階調量子化モジュール2730は、二色化表現変換モジュール2725、距離計算モジュール2735、選択モジュール2740と接続されている。階調量子化モジュール2730は、二色化表現変換モジュール2725による処理結果に対して階調量子化を行う。
高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725と階調量子化モジュール2730によって、表現を限定するため、符号量が小さくなる。
距離計算モジュール2735は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、選択モジュール2740と接続されている。距離計算モジュール2735は、ブロックと量子化結果(高解像/低階調表現変換モジュール2715による量子化結果、階調保存表現変換モジュール2720による量子化結果、二色化表現変換モジュール2725と階調量子化モジュール2730による量子化結果)との間の距離を算出する。距離計算モジュール2735は、第3の実施の形態の距離計算モジュール1220と同等の処理を行う。この場合、距離は、ブロックと高解像/低階調表現変換モジュール2715による量子化結果との間の距離と、ブロックと階調保存表現変換モジュール2720による量子化結果と、ブロックと「二色化表現変換モジュール2725と階調量子化モジュール2730」による量子化結果との間の距離の3つとなる。ブロックと固定長表現に変換したブロックの距離は、例えば、前述した式(1)を用いればよい。
選択モジュール2740は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。選択モジュール2740は、距離を用いて、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725と階調量子化モジュール2730による量子化結果のいずれかを選択する。つまり、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725と階調量子化モジュール2730のうちの一つの固定長表現を選択することになる。
固定長符号化モジュール2745は、選択モジュール2740、伸長装置2750の固定長復号モジュール2755と接続されており、伸長装置2750の固定長復号モジュール2755に符号2747を渡す。固定長符号化モジュール2745は、第1の実施の形態の固定長符号化モジュール130と同等の処理を行う。固定長符号化モジュール2745は、選択モジュール2740によって選択された量子化結果を固定長符号化する。つまり、選択した固定長表現(高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725と階調量子化モジュール2730)のIDと固定長表現に量子化した結果を固定長符号化する。固定長符号化の処理結果である符号2747を、通信回線等を介して、伸長装置2750に渡す。
伸長装置2750は、固定長復号モジュール2755、識別モジュール2760、逆量子化モジュール2765、デブロッキングモジュール2770を有している。
固定長復号モジュール2755は、圧縮装置2700の固定長符号化モジュール2745、識別モジュール2760と接続されており、圧縮装置2700の固定長符号化モジュール2745より符号2747を受け取る。固定長復号モジュール2755は、第1の実施の形態の固定長復号モジュール155と同等の処理を行う。固定長符号化モジュール2745の逆変換を行うものである。符号2747を復号し、選択モジュール2740が選択した固定長表現のIDと固定長表現に量子化した結果を得る。
識別モジュール2760は、固定長復号モジュール2755、逆量子化モジュール2765と接続されている。識別モジュール2760は、第1の実施の形態の識別モジュール160と同等の処理を行う。復号した情報のなかから、ID(固定長表現のID)を取得する。選択モジュール2740が選択した量子化結果(ID)は、高解像/低階調表現変換モジュール2715による量子化結果、階調保存表現変換モジュール2720による量子化結果、又は、二色化表現変換モジュール2725と階調量子化モジュール2730による量子化結果のいずれであるかを識別する。
逆量子化モジュール2765は、識別モジュール2760、デブロッキングモジュール2770と接続されている。逆量子化モジュール2765は、第1の実施の形態の逆量子化モジュール165と同等の処理を行う。高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、又は、二色化表現変換モジュール2725と階調量子化モジュール2730の逆変換を行うものである。つまり、識別モジュール2760が取得したIDに対応する逆量子化を行う。
デブロッキングモジュール2770は、逆量子化モジュール2765と接続されており、画像2795を出力する。デブロッキングモジュール2770は、逆量子化モジュール2765によって逆量子化された画素のブロックを用いて、画像2795を生成する。
図28は、第11の実施の形態(圧縮装置2700)による処理例を示すフローチャートである。
ステップS2802では、ブロック分割モジュール2710は、ブロッキングを行う。
ステップS2804では、高解像/低階調表現変換モジュール2715は、高解像/低階調表現変換を行う。
ステップS2806では、階調保存表現変換モジュール2720は、階調保存表現変換を行う。
ステップS2808では、二色化表現変換モジュール2725は、二色化表現変換を行う。
ステップS2810では、階調量子化モジュール2730は、階調の量子化を行う。
ステップS2812では、距離計算モジュール2735は、距離を計算する。
ステップS2814では、選択モジュール2740は、高解像/低階調表現変換モジュール2715の処理結果、階調保存表現変換モジュール2720の処理結果又は二色化表現変換モジュール2725と階調量子化モジュール2730の処理結果のいずれかを示すIDを選択する。
ステップS2816では、固定長符号化モジュール2745は、符号化処理を行う。
図29は、第11の実施の形態(伸長装置2750)による処理例を示すフローチャートである。
ステップS2902では、固定長復号モジュール2755は、復号処理を行う。
ステップS2904では、識別モジュール2760は、IDを識別し、高解像/低階調表現の場合はステップS2906へ進み、階調保存表現の場合はステップS2908へ進み、二色化表現の場合はステップS2910へ進む。
ステップS2906では、逆量子化モジュール2765は、高解像/低階調表現を逆変換する。
ステップS2908では、逆量子化モジュール2765は、階調保存表現を逆変換する。
ステップS2910では、逆量子化モジュール2765は、階調の量子化の逆変換を行い、二色化表現を逆変換する。
ステップS2912では、デブロッキングモジュール2770は、デブロッキング処理を行う。
図30は、第11の実施の形態による処理例を示す説明図である。
例えば、符号種(ID)を4種類(2ビット)、データ部を8ビットで表現するとする。このとき、第11の実施の形態の符号長は、図31の例に示すように、ID3110の2ビットとデータ部3120の8ビットによって構成された10[bit/block]となる。
符号種(ID)の内容を、図30の例に示す。
ID:0は、「高解像/低階調」の表現であり、その形状は、「任意」であり、データ部は、「パターン8bit」である。図32(a)の例に示すように、ID3110の2ビットとパターン3222の8ビットによって構成された10[bit/block]となる。
ID:1は、「階調保存」の表現であり、図30のID:1の形状に示すように1色であり、データ部は、「色1の階調8bit」である。図32(b)の例に示すように、ID3110の2ビットと階調3224の8ビットによって構成された10[bit/block]となる。
ID:2は、「二色化」の表現であり、図30のID:2の形状に示すように縦に割った左右の2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である。図32(c)の例に示すように、ID3110の2ビットとデータ部3120の8ビット(色1の階調3226の4ビットと色2の階調3228の4ビット)によって構成された10[bit/block]となる。
ID:3は、「二色化」の表現であり、図30のID:3の形状に示すように横に割った上下の2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である(図32(c)の例参照)。
図33は、第11の実施の形態(高解像/低階調表現変換モジュール2715)による処理例を示す説明図である。
高解像/低階調表現は、データ部にパターンを持つ。例えば、パターンは8ビットを持ち、任意の形状を指定する識別子となる。パターンは8ビットであるので、256種類まで形状を指定できる。パターンで指定した任意の形状の色(形状色)と形状以外の色(背景色)は任意の色で固定する。ここでは、形状色を0(黒)、背景色を255(白)として取り扱うが、適用する画像や色空間にあわせて自由に設定してよい。高解像/低階調表現の一例として、図33の例に示すテクスチャ表現テーブル3300がある。
テクスチャ表現テーブル3300は、PID欄3310、16bit表現(16進数)欄3320、形状欄3330を有している。PID欄3310は、PID(パターン3222に入り得る値)を記憶している。PID欄3310内のPIDは、8ビット長である。16bit表現(16進数)欄3320は、そのパターン(PID)における16ビット表現(16進数)を記憶している。形状欄3330は、そのパターン(PID)における形状を記憶している。
例えば、PIDが0の場合は、16bit表現として、「0x7777」を表しており、その形状は、テクスチャ表現テーブル3300の1行目の形状欄3330内の内容のようになっている。4×4の矩形で示し、各行の最初のビットを白(255、固定)とし、他の3ビットを階調8ビットとしたものである。
例えば、PIDが1の場合は、16bit表現として、「〜0x7777」を表しており、その形状は、テクスチャ表現テーブル3300の2行目の形状欄3330内の内容のようになっている。
例えば、PIDが2の場合は、16bit表現として、「0x000f」を表しており、その形状は、テクスチャ表現テーブル3300の3行目の形状欄3330内の内容のようになっている。
例えば、PIDが3の場合は、16bit表現として、「〜0x000f」を表しており、その形状は、テクスチャ表現テーブル3300の4行目の形状欄3330内の内容のようになっている。
また、高解像/低階調表現変換モジュール2715による高解像/低階調表現は、例えば、パターンを4ビット、階調を4ビットとしてもよい。この階調4ビットは形状色を表し、形状上の画素の平均画素値を量子化して階調4ビットとして保持する。量子化方法は、従来技術を適用すればよい。例えば、単純量子化をする、誤差拡散で階調を保存しながら量子化をする、平均画素値に乱数を重畳してから単純量子化をする等がある。当然ながら階調4ビットを形状色ではなく背景色として保持してもよい。
階調保存表現変換モジュール2720による階調保存表現は、ブロックを単色化する。図32(b)の例に示すように、データ部3120は平均画素値(8ビット)を保存する。
二色化表現変換モジュール2725による二色化表現は、ブロックを任意の形状に2色化し、データ部3120にそれぞれの階調(色1の階調3226(4ビット),色2の階調3228(4ビット))を保存する。ここでは、図30の例に示すように、形状を左右(ID=2)、上下(ID=3)として扱うが、任意の形状に変更してもよい。データ部3120に保存する階調は、例えば、対象領域の平均画素値を量子化して用いる。量子化方法は、従来技術を適用すればよい。例えば、単純量子化をする、誤差拡散で階調を保存しながら量子化をする、平均画素値に乱数を重畳してから単純量子化をする等がある。
<<第12の実施の形態>>
図34は、第12の実施の形態による処理例を示す説明図である。
高解像/低階調表現変換モジュール2715における高解像/低階調表現は、例えば、パターンを4ビット、階調を2ビット+2ビットとして表現してもよい。この場合、形状色を2ビットと背景色2ビットを保存することになる。図34の例に示すように、ID3410は2ビットであり、PID3420は4ビットであり、階調3430は4ビットである。
<<第13の実施の形態>>
図35は、第13の実施の形態による処理例を示す説明図である。
二色化表現変換モジュール2725による二色化表現は、形状を増強することで解像感を増強することができる。例えば、図35に示すように形状を増強する。このとき、IDは8種類(3ビット)となるため、符号量は3+8=11[bit/block]となる。
ID:0〜ID:3は、図30と同等である。
ID:4は、「二色化」の表現であり、その形状は、図35のID:4の形状に示すように色2が左上にある2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である。
ID:5は、「二色化」の表現であり、その形状は、図35のID:5の形状に示すように色2が右上にある2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である。
ID:6は、「二色化」の表現であり、その形状は、図35のID:6の形状に示すように色2が右下にある2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である。
ID:7は、「二色化」の表現であり、その形状は、図35のID:7の形状に示すように色2が左下にある2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である。
<<第14の実施の形態>>
図36は、第14の実施の形態による処理例を示す説明図である。
二色化表現変換モジュール2725による二色化表現は、例えば、図36に示すようにしてもよい。図36では、二色化のパターンに市松模様(ID:2)を追加している。この市松模様を追加することで解像感が増強される場合がある。
ID:0〜ID:1は、図35と同等である。
ID:2は、「二色化」の表現であり、その形状は、図36のID:2の形状に示すように市松模様の2色であり、データ部は、「色1の階調4bitと色2の階調4bit」である。
ID:3〜ID:7は、図35のID:2〜ID:6と同等である。
なお、図36に示す二色化パターンは、図35の例に示す二色化パターンのID:7の代わりに市松模様としたものであるが、図35の例に示す二色化パターンのID:4〜6のいずれかの代わりに市松模様としてもよい。
<<第15の実施の形態>>
図37は、第15の実施の形態の構成例についての概念的なモジュール構成図である。
ブロック内のダイナミックレンジを固定長表現の選択に用いてもよい。高解像/低階調表現の保有する画素値は0/255であり、ダイナミックレンジが予め定められた閾値より高い又は以上である場合は、高解像/低階調表現変換モジュール2715による量子化結果を選択する。つまり、255又は255近傍の場合は、高解像/低階調表現を優先することになる。
圧縮装置3700は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール2730、Dレンジ算出モジュール3735、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像3705を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、Dレンジ算出モジュール3735、距離計算モジュール2735と接続されている。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、階調量子化モジュール2730と接続されている。
階調量子化モジュール2730は、二色化表現変換モジュール2725、距離計算モジュール2735、選択モジュール2740と接続されている。
Dレンジ算出モジュール3735は、ブロック分割モジュール2710、選択モジュール2740と接続されている。Dレンジ算出モジュール3735は、ブロックのダイナミックレンジを抽出する。
距離計算モジュール2735は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、選択モジュール2740と接続されている。
選択モジュール2740は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、Dレンジ算出モジュール3735、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。選択モジュール2740は、Dレンジ算出モジュール3735が抽出したダイナミックレンジが予め定められた閾値より高い又は以上である場合は、高解像/低階調表現変換モジュール2715による量子化結果を選択する。なお、それ以外の場合(ダイナミックレンジの値では選択できない場合)は、距離計算モジュール2735による値を用いて選択すればよい。
固定長符号化モジュール2745は、選択モジュール2740と接続されており、符号3747を出力する。
<<第16の実施の形態>>
図38は、第16の実施の形態の構成例についての概念的なモジュール構成図である。階調に乱数を重畳して量子化する例である。
圧縮装置3800は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、乱数重畳モジュール3830、階調量子化モジュール2730、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像3805を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735と接続されている。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、乱数重畳モジュール3830と接続されている。
乱数重畳モジュール3830は、二色化表現変換モジュール2725、階調量子化モジュール2730と接続されている。乱数重畳モジュール3830は、二色化表現変換モジュール2725による処理結果に対して、乱数を重畳し、その処理結果を階調量子化モジュール2730に渡す。乱数の重畳処理として、例えば、ブルーノイズマスク等を用いればよい。
階調量子化モジュール2730は、乱数重畳モジュール3830、距離計算モジュール2735、選択モジュール2740と接続されている。
距離計算モジュール2735は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、選択モジュール2740と接続されている。
選択モジュール2740は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。
固定長符号化モジュール2745は、選択モジュール2740と接続されており、符号3847を出力する。
<<第17の実施の形態>>
図39は、第17の実施の形態の構成例についての概念的なモジュール構成図である。階調を量子化し、誤差拡散で階調保存する例である。
圧縮装置3900は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール2730、誤差拡散モジュール3930、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像3905を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735と接続されている。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、距離計算モジュール2735、選択モジュール2740と接続されている。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、階調量子化モジュール2730、誤差拡散モジュール3930と接続されている。
階調量子化モジュール2730は、二色化表現変換モジュール2725、誤差拡散モジュール3930、距離計算モジュール2735、選択モジュール2740と接続されている。
誤差拡散モジュール3930は、二色化表現変換モジュール2725、階調量子化モジュール2730と接続されている。誤差拡散モジュール3930は、階調量子化モジュール2730による階調量子化結果を用いて、ブロックに対して、誤差拡散処理を行う。ここで誤差拡散モジュール3930が対象とするブロック(誤差を拡散させる先のブロック)は、二色化表現変換モジュール2725によって対象とされたブロック以外のブロックである。例えば、次の処理対象となるブロックである。
距離計算モジュール2735は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、選択モジュール2740と接続されている。
選択モジュール2740は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、階調量子化モジュール2730、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。
固定長符号化モジュール2745は、選択モジュール2740と接続されており、符号3947を出力する。
<<第18の実施の形態>>
図40は、第18の実施の形態の構成例についての概念的なモジュール構成図である。階調を量子化する例である。
圧縮装置4000は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール4030、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像4005を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735と接続されている。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、階調量子化モジュール4030と接続されている。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、階調量子化モジュール4030と接続されている。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、階調量子化モジュール4030と接続されている。
階調量子化モジュール4030は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735、選択モジュール2740と接続されている。階調量子化モジュール4030は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725による複数の量子化結果(高解像/低階調表現変換モジュール2715による量子化結果、階調保存表現変換モジュール2720による量子化結果、二色化表現変換モジュール2725による量子化結果)のうち、少なくとも1つ以上の量子化結果に対して、階調量子化を行う。
距離計算モジュール2735は、ブロック分割モジュール2710、階調量子化モジュール4030、選択モジュール2740と接続されている。距離計算モジュール2735は、ブロック分割モジュール2710によって分割されたブロックと階調量子化モジュール4030による階調量子化結果との間の距離を算出する。
選択モジュール2740は、階調量子化モジュール4030、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。選択モジュール2740は、距離計算モジュール2735によって算出された距離を用いて、高解像/低階調表現変換モジュール2715による量子化結果に対する階調量子化モジュール4030による階調量子化結果、階調保存表現変換モジュール2720による量子化結果に対する階調量子化モジュール4030による階調量子化結果又は二色化表現変換モジュール2725による量子化結果に対する階調量子化モジュール2425による階調量子化結果のいずれかを選択する。
固定長符号化モジュール2745は、選択モジュール2740と接続されており、符号4047を出力する。
<<第19の実施の形態>>
図41は、第19の実施の形態の構成例についての概念的なモジュール構成図である。階調に乱数を重畳して量子化する例である。
圧縮装置4100は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、乱数重畳モジュール4130、階調量子化モジュール4030、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像4105を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735と接続されている。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、乱数重畳モジュール4130と接続されている。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、乱数重畳モジュール4130と接続されている。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、乱数重畳モジュール4130と接続されている。
乱数重畳モジュール4130は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール4030と接続されている。乱数重畳モジュール4130は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725による複数の量子化結果(高解像/低階調表現変換モジュール2715による量子化結果、階調保存表現変換モジュール2720による量子化結果、二色化表現変換モジュール2725による量子化結果)のうち、少なくとも1つ以上の量子化結果に対して、乱数を重畳する。例えば、ブルーノイズマスク等を用いればよい。
階調量子化モジュール4030は、乱数重畳モジュール4130、距離計算モジュール2735、選択モジュール2740と接続されている。階調量子化モジュール4030は、乱数重畳モジュール4130による複数の処理結果に対して、階調量子化を行う。
距離計算モジュール2735は、ブロック分割モジュール2710、階調量子化モジュール4030、選択モジュール2740と接続されている。
選択モジュール2740は、階調量子化モジュール4030、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。選択モジュール2740は、距離計算モジュール2735によって算出された距離を用いて、高解像/低階調表現変換モジュール2715による量子化結果に対する乱数重畳モジュール4130による処理結果に対する階調量子化モジュール4030による階調量子化結果、階調保存表現変換モジュール2720による量子化結果に対する乱数重畳モジュール4130による処理結果に対する階調量子化モジュール4030による階調量子化結果、又は、二色化表現変換モジュール2725による量子化結果に対する乱数重畳モジュール4130による処理結果に対する階調量子化モジュール4030による階調量子化結果のいずれかを選択する。
固定長符号化モジュール2745は、選択モジュール2740と接続されており、符号4147を出力する。
<<第20の実施の形態>>
図42は、第20の実施の形態の構成例についての概念的なモジュール構成図である。階調を量子化し、誤差拡散で階調を保存する例である。
圧縮装置4200は、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール4030、誤差拡散モジュール4230、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745を有している。
ブロック分割モジュール2710は、画像4205を受け付け、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、距離計算モジュール2735と接続されている。
高解像/低階調表現変換モジュール2715は、ブロック分割モジュール2710、階調量子化モジュール4030、誤差拡散モジュール4230と接続されている。
階調保存表現変換モジュール2720は、ブロック分割モジュール2710、階調量子化モジュール4030、誤差拡散モジュール4230と接続されている。
二色化表現変換モジュール2725は、ブロック分割モジュール2710、階調量子化モジュール4030、誤差拡散モジュール4230と接続されている。
階調量子化モジュール4030は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、誤差拡散モジュール4230、距離計算モジュール2735、選択モジュール2740と接続されている。
誤差拡散モジュール4230は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール4030と接続されている。誤差拡散モジュール4230は、階調量子化モジュール4030による複数の階調量子化結果のうち、少なくとも1つ以上の量子化結果を用いて、ブロック分割モジュール2710が分割したブロックに対して、誤差拡散処理を行う。ここで誤差拡散モジュール4230が対象とするブロック(誤差を拡散させる先のブロック)は、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725によって対象とされたブロック以外のブロックである。例えば、次の処理対象となるブロックである。
距離計算モジュール2735は、ブロック分割モジュール2710、階調量子化モジュール4030、選択モジュール2740と接続されている。
選択モジュール2740は、階調量子化モジュール4030、距離計算モジュール2735、固定長符号化モジュール2745と接続されている。
固定長符号化モジュール2745は、選択モジュール2740と接続されており、符号4247を出力する。
なお、第12の実施の形態から第20の実施の形態による処理結果(符号)の伸長は、第11の実施の形態の伸長装置2750を用いればよく、圧縮装置で行った量子化の逆変換を行えばよい。
図43を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図43に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部4317と、プリンタ等のデータ出力部4318を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)4301は、前述の実施の形態において説明した各種のモジュール、すなわち、ブロック分割モジュール110、複数量子化モジュール115、特徴抽出モジュール120、選択モジュール125、固定長符号化モジュール130、固定長復号モジュール155、識別モジュール160、逆量子化モジュール165、パターン抽出モジュール920、距離計算モジュール1220、ブロック分割モジュール1410、特徴抽出モジュール1415、選択モジュール1420、量子化モジュール1425、固定長符号化モジュール1430、ブロック分割モジュール1510、テクスチャ保存表現変換モジュール1515、二色化表現変換モジュール1520、距離計算モジュール1525、選択モジュール1530、固定長符号化モジュール1535、固定長復号モジュール1555、識別モジュール1560、逆量子化モジュール1565、デブロッキングモジュール1570、ブロック分割モジュール2710、高解像/低階調表現変換モジュール2715、階調保存表現変換モジュール2720、二色化表現変換モジュール2725、階調量子化モジュール2730、距離計算モジュール2735、選択モジュール2740、固定長符号化モジュール2745、固定長復号モジュール2755、識別モジュール2760、逆量子化モジュール2765、デブロッキングモジュール2770等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)4302は、CPU4301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)4303は、CPU4301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス4304により相互に接続されている。
ホストバス4304は、ブリッジ4305を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス4306に接続されている。
キーボード4308、マウス等のポインティングデバイス4309は、操作者により操作される入力デバイスである。ディスプレイ4310は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)4311は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU4301によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像105、ブロック112、量子化結果117、特徴122、「ID+量子化結果」127、符号132、「ID+量子化結果」157、量子化結果162、画像195等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ4312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体4313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース4307、外部バス4306、ブリッジ4305、及びホストバス4304を介して接続されているRAM4303に供給する。リムーバブル記録媒体4313も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート4314は、外部接続機器4315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート4314は、インタフェース4307、及び外部バス4306、ブリッジ4305、ホストバス4304等を介してCPU4301等に接続されている。通信部4316は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部4317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部4318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図43に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図43に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図43に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
なお、前述の各種の実施の形態を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む)、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
前述の実施の形態(特に、第1の実施の形態から第4の実施の形態)は以下のように把握してもよい。
[A] 画像をブロックに分割する分割手段と、
前記ブロックを複数の方法で量子化する量子化手段と、
前記ブロックの特徴を抽出する特徴抽出手段と、
前記特徴に対応する前記量子化手段による量子化結果を選択する選択手段と、
前記選択手段によって選択された量子化結果を固定長符号化する符号化手段
を具備することを特徴とする画像処理装置。
[B] 前記量子化手段は、量子化結果において解像度と階調とがトレードオフの関係になるように、複数の方法で量子化し、
前記特徴抽出手段は、前記ブロックのダイナミックレンジを特徴として抽出する
ことを特徴とする[A]に記載の画像処理装置。
[C] 前記量子化結果の型を抽出する抽出手段
をさらに具備し、
前記選択手段は、前記型と前記特徴に対応する前記量子化結果を選択する
ことを特徴とする[A]又は[B]に記載の画像処理装置。
[D] 前記ブロックと前記量子化結果との間の距離を算出する算出手段
をさらに具備し、
前記選択手段は、前記距離と前記特徴に対応する前記量子化結果を選択する
ことを特徴とする[A]から[C]のいずれか1項に記載の画像処理装置。
[E] 画像をブロックに分割する分割手段と、
前記ブロックの特徴を抽出する特徴抽出手段と、
前記特徴に対応する量子化手法を選択する選択手段と、
前記ブロックを、前記選択手段によって選択された量子化手法によって量子化する量子化手段と、
前記量子化手段による量子化結果を固定長符号化する符号化手段
を具備することを特徴とする画像処理装置。
[F] コンピュータを、
画像をブロックに分割する分割手段と、
前記ブロックを複数の方法で量子化する量子化手段と、
前記ブロックの特徴を抽出する特徴抽出手段と、
前記特徴に対応する前記量子化手段による量子化結果を選択する選択手段と、
前記選択手段によって選択された量子化結果を固定長符号化する符号化手段
として機能させるための画像処理プログラム。
[G] コンピュータを、
画像をブロックに分割する分割手段と、
前記ブロックの特徴を抽出する特徴抽出手段と、
前記特徴に対応する量子化手法を選択する選択手段と、
前記ブロックを、前記選択手段によって選択された量子化手法によって量子化する量子化手段と、
前記量子化手段による量子化結果を固定長符号化する符号化手段
として機能させるための画像処理プログラム。
そして、前述の発明は、以下の効果を有する。
[A]の画像処理装置によれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
[B]の画像処理装置によれば、量子化結果において解像度と階調とがトレードオフの関係になるように、複数の方法で量子化することができる。
[C]の画像処理装置によれば、量子化結果の型とブロックの特徴に対応する量子化結果を選択することができる。
[D]の画像処理装置によれば、ブロックと量子化結果との間の距離とブロックの特徴に対応する量子化結果を選択することができる。
[E]の画像処理装置によれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
[F]の画像処理プログラムによれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
[G]の画像処理プログラムによれば、BTCプレーン領域情報を必要とせずに、画像を固定長符号化することができる。
100…圧縮装置
105…画像
110…ブロック分割モジュール
112…ブロック
115…複数量子化モジュール
117…量子化結果
120…特徴抽出モジュール
122…特徴
125…選択モジュール
127…ID+量子化結果
130…固定長符号化モジュール
132…符号
150…伸長装置
155…固定長復号モジュール
157…ID+量子化結果
160…識別モジュール
162…量子化結果
165…逆量子化モジュール
195…画像
810…描画装置
820…記憶装置
830…印刷器
890…通信回線
900…圧縮装置
920…パターン抽出モジュール
922…量子化後のパターン
1200…圧縮装置
1220…距離計算モジュール
1222…距離
1400…圧縮装置
1405…画像
1410…ブロック分割モジュール
1412…ブロック
1415…特徴抽出モジュール
1417…特徴
1420…選択モジュール
1422…ID
1425…量子化モジュール
1427…ID+量子化結果
1430…固定長符号化モジュール
1432…符号
1500…圧縮装置
1505…画像
1510…ブロック分割モジュール
1515…テクスチャ保存表現変換モジュール
1520…二色化表現変換モジュール
1525…距離計算モジュール
1530…選択モジュール
1535…固定長符号化モジュール
1537…符号
1550…伸長装置
1555…固定長復号モジュール
1560…識別モジュール
1565…逆量子化モジュール
1570…デブロッキングモジュール
1595…画像
2400…圧縮装置
2405…画像
2425…階調量子化モジュール
2437…符号
2500…圧縮装置
2505…画像
2525…乱数重畳モジュール
2537…符号
2600…圧縮装置
2605…画像
2625…誤差拡散モジュール
2637…符号
2700…圧縮装置
2705…画像
2710…ブロック分割モジュール
2715…高解像/低階調表現変換モジュール
2720…階調保存表現変換モジュール
2725…二色化表現変換モジュール
2730…階調量子化モジュール
2735…距離計算モジュール
2740…選択モジュール
2745…固定長符号化モジュール
2747…符号
2750…伸長装置
2755…固定長復号モジュール
2760…識別モジュール
2765…逆量子化モジュール
2770…デブロッキングモジュール
2795…画像
3700…圧縮装置
3705…画像
3735…Dレンジ算出モジュール
3747…符号
3800…圧縮装置
3805…画像
3830…乱数重畳モジュール
3847…符号
3900…圧縮装置
3905…画像
3930…誤差拡散モジュール
3947…符号
4000…圧縮装置
4005…画像
4030…階調量子化モジュール
4047…符号
4100…圧縮装置
4105…画像
4130…乱数重畳モジュール
4147…符号
4200…圧縮装置
4205…画像
4230…誤差拡散モジュール
4247…符号

Claims (10)

  1. 画像をブロックに分割する分割手段と、
    前記ブロックを複数の方法で量子化する量子化手段と、
    前記ブロックと前記量子化結果との間の距離を算出する算出手段と、
    前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、
    前記選択手段によって選択された量子化結果を固定長符号化する符号化手段
    を具備し、
    前記量子化手段は、前記ブロック内のテクスチャを保存するための第1の量子化手段と、前記ブロック内の画素を複数色化する第2の量子化手段
    を有する画像処理装置。
  2. 前記量子化手段による複数の量子化結果のうち、少なくとも1つ以上の量子化結果に対して、階調量子化を行う階調量子化手段
    をさらに具備し、
    前記算出手段は、前記ブロックと前記階調量子化結果との間の距離を算出し、
    前記選択手段は、前記距離を用いて、前記第1の量子化手段による量子化結果に対する階調量子化結果又は前記第2の量子化手段による量子化結果に対する階調量子化結果のいずれかを選択する、
    請求項1に記載の画像処理装置。
  3. 前記量子化手段による複数の量子化結果のうち、少なくとも1つ以上の量子化結果に対して、乱数を重畳する乱数重畳手段
    をさらに具備し、
    前記階調量子化手段は、前記乱数重畳手段による複数の処理結果に対して、階調量子化を行う、
    請求項2に記載の画像処理装置。
  4. 前記階調量子化手段による複数の階調量子化結果のうち、少なくとも1つ以上の階調量子化結果を用いて、前記ブロックに対して、誤差拡散処理を行う誤差拡散手段
    をさらに具備することを特徴とする請求項2に記載の画像処理装置。
  5. 画像をブロックに分割する分割手段と、
    前記ブロックを複数の方法で量子化する量子化手段と、
    前記ブロックと前記量子化結果との間の距離を算出する算出手段と、
    前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、
    前記選択手段によって選択された量子化結果を固定長符号化する符号化手段
    を具備し、
    前記量子化手段は、前記ブロック内の解像感を保存するための第1の量子化手段と、前記ブロック内の階調を保存するための第2の量子化手段と、前記ブロック内の画素を複数色化し、階調量子化を行う第3の量子化手段
    を有する画像処理装置。
  6. 前記ブロックのダイナミックレンジを抽出する抽出手段
    をさらに具備し、
    前記選択手段は、前記ダイナミックレンジが予め定められた閾値より高い又は以上である場合は、前記第1の量子化手段による量子化結果を選択する、
    請求項5に記載の画像処理装置。
  7. 前記第3の量子化手段は、前記ブロック内の画素を複数色化し、乱数を重畳し、階調量子化を行う、
    請求項5又は6に記載の画像処理装置。
  8. 前記第3の量子化手段による階調量子化結果を用いて、前記ブロックに対して、誤差拡散処理を行う誤差拡散手段
    をさらに具備することを特徴とする請求項5又は6に記載の画像処理装置。
  9. コンピュータを、
    画像をブロックに分割する分割手段と、
    前記ブロックを複数の方法で量子化する量子化手段と、
    前記ブロックと前記量子化結果との間の距離を算出する算出手段と、
    前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、
    前記選択手段によって選択された量子化結果を固定長符号化する符号化手段
    として機能させ、
    前記量子化手段は、前記ブロック内のテクスチャを保存するための第1の量子化手段と、前記ブロック内の画素を複数色化する第2の量子化手段
    を有する画像処理プログラム。
  10. コンピュータを、
    画像をブロックに分割する分割手段と、
    前記ブロックを複数の方法で量子化する量子化手段と、
    前記ブロックと前記量子化結果との間の距離を算出する算出手段と、
    前記距離を用いて、前記量子化手段による量子化結果を選択する選択手段と、
    前記選択手段によって選択された量子化結果を固定長符号化する符号化手段
    として機能させ、
    前記量子化手段は、前記ブロック内の解像感を保存するための第1の量子化手段と、前記ブロック内の階調を保存するための第2の量子化手段と、前記ブロック内の画素を複数色化し、階調量子化を行う第3の量子化手段
    を有する画像処理プログラム。
JP2016052655A 2016-03-16 2016-03-16 画像処理装置及び画像処理プログラム Active JP6701845B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016052655A JP6701845B2 (ja) 2016-03-16 2016-03-16 画像処理装置及び画像処理プログラム
US15/240,920 US10567767B2 (en) 2016-03-16 2016-08-18 Image processing apparatus and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016052655A JP6701845B2 (ja) 2016-03-16 2016-03-16 画像処理装置及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2017169047A true JP2017169047A (ja) 2017-09-21
JP6701845B2 JP6701845B2 (ja) 2020-05-27

Family

ID=59848103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016052655A Active JP6701845B2 (ja) 2016-03-16 2016-03-16 画像処理装置及び画像処理プログラム

Country Status (2)

Country Link
US (1) US10567767B2 (ja)
JP (1) JP6701845B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3117091B2 (ja) 1990-08-23 2000-12-11 富士ゼロックス株式会社 画像符号化装置
JP2008193410A (ja) * 2007-02-05 2008-08-21 Matsushita Electric Ind Co Ltd 画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP2008227759A (ja) 2007-03-09 2008-09-25 Sharp Corp 画像処理装置、画像形成装置、画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体
JP4424404B2 (ja) 2007-10-04 2010-03-03 コニカミノルタビジネステクノロジーズ株式会社 圧縮方法、伸張方法及び画像処理装置
JP4482834B2 (ja) * 2008-03-13 2010-06-16 ソニー株式会社 変調装置および方法、復調装置および方法、プログラム、並びに記録媒体
JP5132517B2 (ja) 2008-10-22 2013-01-30 キヤノン株式会社 画像処理装置および画像処理方法
JP2011005702A (ja) * 2009-06-24 2011-01-13 Canon Inc 記録装置および記録方法
JP5812587B2 (ja) * 2010-08-30 2015-11-17 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6044347B2 (ja) 2013-01-09 2016-12-14 コニカミノルタ株式会社 画像処理装置、符号化方法及び復号化方法

Also Published As

Publication number Publication date
US20170272752A1 (en) 2017-09-21
US10567767B2 (en) 2020-02-18
JP6701845B2 (ja) 2020-05-27

Similar Documents

Publication Publication Date Title
JP5558767B2 (ja) 画像処理装置及びその処理方法
US8331671B2 (en) Image processing apparatus and image encoding method related to non-photo image regions
JP5132517B2 (ja) 画像処理装置および画像処理方法
JP4600491B2 (ja) 画像処理装置及び画像処理プログラム
US20090324065A1 (en) Image processing apparatus and method
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
JP5206503B2 (ja) 画像処理装置及び画像処理プログラム
JP2011193394A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5328510B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP6701845B2 (ja) 画像処理装置及び画像処理プログラム
JP6481301B2 (ja) 画像処理装置及び画像処理プログラム
JP2005204206A (ja) 画像処理装置、画像処理用プログラム及び記憶媒体
JP4504096B2 (ja) 画像処理装置、プログラム、及び記憶媒体
JP5206468B2 (ja) 画像処理装置及び画像処理プログラム
JP3062224B2 (ja) 画像符号化方法
JP5407582B2 (ja) 画像処理装置及び画像処理プログラム
JP4383187B2 (ja) 画像処理装置、画像処理用プログラム及び記憶媒体
JP7185451B2 (ja) 画像処理装置と画像処理方法、及びプログラム
JP4696738B2 (ja) 画像データの圧縮方法および装置並びに擬似階調画像の復元方法
JP5457853B2 (ja) 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
JP6596837B2 (ja) 画像処理装置及び画像処理プログラム
JPH08298589A (ja) 写真・文書混在画像の画像処理装置
JPH11259636A (ja) 画像変換方法
JP2011166765A (ja) 画像形成装置及び画像形成方法
JP2005303506A (ja) 画像処理装置、画像処理方法、画像処理用プログラム及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200420

R150 Certificate of patent or registration of utility model

Ref document number: 6701845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350