画像処理装置及びプログラム
【課題】ファイル内部に複数のオブジェクトを記載し、オブジェクト同士の関連を記載するファイルフォーマット(例えば高圧縮PDF等)のファイルを編集する際に画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集する。
【解決手段】画像処理装置1は、1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段101と、前記マスク画像で領域毎に選択された画像データを編集する編集手段103と、編集による編集箇所のビットサイズを確認するビットサイズ確認手段104と、ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段105を備える。
【解決手段】画像処理装置1は、1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段101と、前記マスク画像で領域毎に選択された画像データを編集する編集手段103と、編集による編集箇所のビットサイズを確認するビットサイズ確認手段104と、ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段105を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関し、特に、ファイル内部に複数のオブジェクトを記載し、オブジェクト同士の関連を記載するファイルフォーマットのファイルを編集する際に画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集する技術に関する。
【背景技術】
【0002】
PDFやXPSなどのファイルフォーマットは、ファイル内部に複数のオブジェクトを記載し、オブジェクト同士の関連を記載することで、意図した内容が高度に表現可能なファイルフォーマット(以下、「高圧縮ファイルフォーマット」と呼ぶ場合がある)である。こうした高度な表現方法を実現する手段の一つとして、マスク機能が既に知られている。マスク機能とは、一つの画像の値によって他の画像の可視・非可視状態を切り替える機能である(図18)。
【0003】
ユーザのニーズは多様化しており、多彩な表現方法が可能なこのようなファイルフォーマット(高圧縮ファイルフォーマット)を用いた文書が作成されるようになっている。一例として、高圧縮PDFファイルがある(図19)。高圧縮PDFファイルとは、原稿画像を高画質かつ高圧縮でファイル化する技術である。原稿画像中の絵柄領域と文字領域を判別して、それぞれに適した圧縮方式で圧縮することでこの機能は実現される。図19に示すように、高圧縮PDFの実現方法の一つとして、絵柄領域から構成される背景画像、文字領域か非文字領域かを示すマスク画像、文字領域の色を情報として持つ前景画像から、合成イメージを構成する方法がある。合成イメージ構成の際に図19に示すように上記マスク機能を用いる。
【0004】
背景画像においては、非文字領域に該当する領域のデータのみが可視状態となるため、文字領域に該当する領域はどんな画素値でも問題はない。逆に、前景画像においては、文字領域に該当する領域のデータのみが可視状態となるため、非文字領域に該当する領域はどんな画素値でも問題はない。どんな画素値でも問題はない領域を無効領域と呼ぶ。ここで、無効領域をファイルサイズが低減するように符号化することは従来から行われている。
【0005】
なお、ここで、文字とは必ずしも一般に言う文字だけではなく、矩形オブジェクトなどの人工的なデータも含むことがある。
【0006】
ところで、人によって色の見え方が違うことはよく知られている。この知見に基づいて、例えば、製品に色弱者にも見やすいような色を用いることも行われるようになってきた。このように、使用者の立場に立って工夫した色設計をカラーユニバーサルデザイン(CUD)と呼ぶ。作成済みのファイルに対してCUDを考慮したファイルに変換する需要も存在する。
【0007】
既に作成されたファイルに対して、CUDの考えを取り込むには、文字を強調したり、異なる色にしたりするのが有効である。また、文字以外の人工的なオブジェクトに対しても色、形を変えることも有効とされる。しかしながら、形を変えるにはオリジナルの形状を削除して新たにデータを生成する必要がある。つまり、作成済みの高圧縮ファイルフォーマットを効率的に編集する必要があり、そのための技術には産業上の利用可能性があると言える。しかしながら、これを実現するに当たっては、後述するような課題が存在するのが実情である。
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述したような今までの技術では、このようなファイルフォーマット(高圧縮ファイルフォーマット)で記述された圧縮された画像データを含むファイルに対して編集しようとすると、ユーザにとっては必ずしも好ましい結果とならない。
【0009】
このようなファイルフォーマットは、複数のオブジェクトから一つの可視データを作成できるため、ファイルへの編集後のオブジェクトの追加や削除の仕組みは用意されている。オブジェクトを追加して、可視であった文字や人工的オブジェクトを上書きするようにすることや、オブジェクトはファイル内に記述したままで、ファイル末尾に可視としないという記述をすることで削除されたように見せることは可能である。
【0010】
このような仕組みでオブジェクトを追加・削除するのは容易ではある。しかしながら、ユーザにとってはファイルサイズが増えるため好ましくない。
【0011】
ファイルサイズ増加を避けるためには、追加するのではなく編集箇所に該当する領域を変更して圧縮をする必要がある。しかしながら、再圧縮すると、非可逆圧縮では画質劣化を招く。
【0012】
画質劣化を避けるために、編集箇所に該当する領域を変更して編集箇所以外の符号は変えないようにすればよいが(図20)、ビット移動をする必要があるため処理時間が増えるという問題があった。
【0013】
ところで、本発明と関連する技術としては、例えば、特許文献1、2記載の技術がある。
特許文献1には、画像を加工編集した後に、編集した箇所の以外の箇所の画質劣化を防ぐことを目的として、加工後と加工前の差分を量子化したものと、加工前の量子化結果を合成する技術を開示する。しかしながら、特許文献1に記載の技術では、編集箇所以外の画質劣化は防げるが、ビットを移動する必要があるため、編集箇所以降のビット符号にも影響して、処理時間を要する。
【0014】
特許文献2には、高速でも劣化を抑えて画像等のデジタル信号を加工することを目的として、処理単位に分けて、コピー領域と加工領域を合成することについて記載している。特許文献1と同様に、編集箇所以外の画質劣化は防げるが、ビット移動をする必要があるため、編集箇所以降のビット符号にも影響して処理時間を要する。
【0015】
本発明は、上記実情に鑑みてなされたものであって、無効領域を含むファイルの画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集することが可能な画像処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するために本発明は、1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、前記マスク画像で領域毎に選択された画像データを編集する編集手段と、編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段と、を有することを特徴とする、画像処理装置を提供するものである。
【0017】
また、上記目的を達成するために本発明は、画像処理装置を、1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、前記マスク画像で領域毎に選択された画像データを編集する編集手段と、編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段として機能させることを特徴とする、画像処理プログラムを提供するものである。
【発明の効果】
【0018】
本発明によれば、無効領域を含むファイルの画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集することが可能な画像処理装置及びプログラムを提供できる。
【図面の簡単な説明】
【0019】
【図1】本発明による実施形態1のハードウェア構成図である。
【図2】本実施形態の要部の構成図である。
【図3】本実施形態における編集箇所と編集箇所に対応するビット符号列の対応関係を模式的に示す図である。
【図4】本実施形態における編集によって編集箇所にビット増減ある場合とない場合の説明図である。
【図5】本実施形態で用いるJPEG圧縮の基本方式の処理手順を示す図である。
【図6】JPEG圧縮におけるDC成分のハフマン符号表の一例を示す図である。
【図7】JPEG圧縮におけるAC成分のハフマン符号表の一例を示す図である。
【図8】JPEG編集時の注意点の説明図である。
【図9】ビットサイズ調整手段105による無効領域の調整データ生成処理の流れを示すフローチャートである。
【図10】本実施形態の作用効果の説明図(その1)である。
【図11】本実施形態の作用効果の説明図(その2)である。
【図12】本発明による実施形態2の要部の構成図である。
【図13】実施形態2の、編集対象の周辺の背景画像の有効領域の説明図である。
【図14】実施形態2の、前景色を周囲の背景色で置き換える例を示す図である。
【図15】実施形態2の、前景上のデータを際だたせる例を示す図である。
【図16】実施形態2の例外処理を説明するための図である。
【図17】図16の細部を示す図である。
【図18】従来技術のマスク機能の説明図である。
【図19】従来技術の高圧縮PDFの仕組みの説明図である。
【図20】従来技術の問題点の説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態を説明する。下記の実施形態は、具体的には、生成済みの高圧縮PDFファイルの編集に際して、圧縮されたファイルの編集の際に変更されるビット符号の増分を編集箇所に続く無効領域の先頭の数バイトで吸収することが特徴になっている。この特徴を中心に図面を参照しながら説明する。
【0021】
(実施形態1)
図1は、本実施形態のハードウェア構成図である。本実施形態に係る画像処理装置1は、CPU11とメモリ12とHDD13を有し、CPU11とメモリ12とHDD13はバスを介して接続されている。画像処理装置1は、限定するものではないが、例えば、汎用のパーソナルコンピュータ(PC)や、多機能複合機(Multi−Functional Printer)等として構成されうる。
【0022】
画像処理装置1は、これらに加えて入力デバイス14、表示デバイス15、ネットワークデバイス16を備えていてもよい。入力デバイス14は、ユーザが高圧縮PDFファイルに対して行う編集指示を入力可能なデバイスであって、例えばキーボードとマウス等であってもよい。表示デバイス15は、画像処理装置1にインストールされているビューアが描画するイメージをユーザが見読可能に表示するデバイスであって、例えば液晶モニタ等であってもよい。ネットワークデバイス16は、画像処理装置1に前述したユーザの編集指示を入力したり、もしくは、画像処理装置1による画像処理結果をネットワークで接続されたユーザPC(不図示)に出力したりするデバイスである。
【0023】
HDD13には、背景画像、前景画像、マスク画像が格納されているものとする。これらの画像は連続した一つのファイルとして保存されていてもよく、個別ファイルとして保存されていてもよい。ユーザは、これらの画像の格納形態は意識する必要はないが、画像処理装置1が汎用PCの場合は、一つにファイル化されていることを想定している。ユーザがそのファイルを表示させるときは、ビューアがこれらの画像を合成させて表示デバイス15に表示する。
【0024】
画像処理装置1がいわゆる複合機(MFP)の形態をとる場合は、ユーザが実際に見る画像をファイルとして認識する必要がないため、個別ファイルとして保存しておく方法もあるし、一つのファイルとして保存してもかまわない。個別ファイルとして保存しておくのであれば、ユーザがその画像を取得したい場合は、別途一つのファイルにまとめて、別途備えたネットワークデバイス16を介してユーザのもとへ送信される。
【0025】
高圧縮PDFファイルに対して編集をするのは、ユーザのPC上でもよいし、複合機であってもよい。複合機の場合は、編集箇所や編集内容についてネットワークデバイス16を介して複合機へ入力させる必要があり、ネットワークを介して接続するユーザのPCには編集箇所や編集内容を送信する手段を備えている必要がある。
【0026】
背景画像、前景画像は、一般的なラスタ画像であって、JPEG圧縮がされているものとする。JPEG圧縮は、8×8単位のブロックで圧縮する技術である。
【0027】
HDD13には、高圧縮PDFファイルの編集をするためのソフトウェアプログラムである編集プログラムが格納されており、この編集プログラムが上述したような本実施形態のハードウェア資源を利用して図2以降で説明するような所定の情報処理をすることによって、本実施形態の目的を達成する。この編集プログラムは、コンピュータ読取が可能な各種記録媒体(磁気方式によるもの光学方式によるもの等の別を問わない)に記憶されてもよい。
【0028】
上述のハードウェア資源と編集プログラムの協働について説明する。
CPU11は、HDD13から圧縮されたファイルをすべてデコードしてメモリ12上に展開する。デコードするのは、編集位置の指定をユーザがする必要があるためである。その後、ユーザの編集に対する入力を受けて編集処理することとなる。なお、編集処理に関する構成要素は、ハードウェア化してもよいが、ソフトウェアで実現してもかまわない。編集プログラムも同様に、CPU11によりHDD13から一時記憶であるメモリ12に読み出され展開される。このような協働によって、画像処理装置1が図2に示すような各手段を有することが実現する。
【0029】
図2は、本実施形態の機能ブロック図である。図2に示すそれぞれの構成要素について説明する。図示のように、画像処理装置1は、入力手段101とパス切り替え手段102と編集手段103とビットサイズ確認手段104とビットサイズ調整手段105とを有する。
【0030】
入力手段101は、画像データとしての背景画像と、背景画像とは別の画像データとしての前景画像と、マスク画像とともに、編集箇所位置を示すデータを、入力として受け取る。ここで、編集箇所はマスク画像によって選択的に示された領域の一部もしくはすべてが指定されて受け取るものとする。
【0031】
編集箇所の画像上の位置は、図示しない編集箇所指定手段によって、ユーザから指定をされるように設計してもよいし、なんらかのアルゴリズムによって、画像処理装置1内部で決めてもよい。画像処理装置1内部で決める場合は、特定の色範囲を持つ領域であるとか、特定の線幅を持つ領域を編集箇所とするとかが考えられる。
【0032】
ここで、マスク画像によって選択的に示された領域は、意味がある領域であることを意味する。選択的に選ばれた領域は、なにかしらの意味を持って選択される。選ばれない領域については、合成したときにユーザの可視状態に影響を及ぼすことがない。そのため、以下では、マスク画像によって選択的に示された領域を「有効領域」と呼び、それ以外の領域を「無効領域」として説明する。
【0033】
パス切り替え手段102は、画像の領域に応じて領域のデータを流すブロックを制御する。ファイルのコード順に、適するブロックへと出力する。
指定された編集箇所であれば、編集手段103のブロックにデータを送る。そして、後述するビットサイズ確認手段104からの信号と、ビットサイズ調整手段105からの信号に応じて、編集箇所に続く無効領域をビットサイズ調整手段105に送ることがある。これについての詳細は後述する。それ以外のデータは、編集せずにメモリ12に出力する。
【0034】
編集手段103は、パス切り替え手段102から出力された編集対象のデータの編集後のビット符号を生成する。生成されたビット符号を編集箇所の置き換えデータとしてメモリ12に出力する。同時に、編集によって増減したビットサイズをビットサイズ確認手段104に出力する。
【0035】
ビットサイズ確認手段104は、その確認結果をビットサイズ調整手段105とパス切り替え手段102に送る。
ビットサイズ調整手段105は、ビットサイズ確認手段104とパス切り替え手段102からのデータに応じて、無効領域の調整データを生成する。
【0036】
ここで、「編集箇所」について図を用いて説明する。図3は、画像イメージにおける編集箇所と編集箇所に対応するビット符号列の対応関係を模式的に示している。ビット符号列はラスタ順に並んでいるため、ビット符号列においても、ラスタ画像では編集箇所がブロック状となっていても、ビット符号列では編集箇所に対応するビット符号列とそれ以外の領域が交互に並んでいる。
【0037】
編集後のデータのビット増減値はビットサイズ確認手段104に出力され、ビット増減がある場合は、パス切り替え手段102に増減があることを伝える。このとき、編集後のデータのビットの増減は、ビット符号列における一連のデータの増減である。図3の場合、模式的に編集箇所に対応するビット符号列を3つ示しているが、それぞれが編集領域である。
【0038】
ビット増減がない場合は、ビット増減がないことを示す信号を送る。ビット増減がある場合とない場合について、図4で説明する。ビット増減がない場合は、ケース1に図示したように編集箇所のビット数に変化がないケースで、ビット増減がある場合は、ケース2に示したように編集箇所のビット数に変化があるケースである。図4では、編集後にビット数が減る例を示している。
【0039】
ところで、前景画像は、文字に対応する色情報を持っている。ところが、原稿上は同じ色である一連の文字であっても、生成ファイルを読み取ったときの読み取り特性により、生成された前景画像では必ずしも一定値でないケースがある。JPEGのようなエントロピー符号化では、エントロピーが高いほどビットサイズは大きいため、ある領域の文字を一色で置き換えるというケースを想定すると、編集後のほうがエントロピーが小さくなるため、ビットサイズが小さくなる。
【0040】
パス切り替え手段102は、ビット増減があることが分かると、その編集領域に続く無効領域のデータをビットサイズ調整手段105に少しずつ送る。この無効領域のデータは、図4でいうと白色の部分となる。ここで、少しずつ送るのは、どれだけの無効領域に対応するブロックで、ビット増減分を吸収できるか分からないためである。
ビットサイズ調整手段105では、編集前の無効領域のデータと編集領域のビットサイズ増減値を入力として、ビットサイズを吸収するための調整データを作り出す。
以下に、ビットサイズ調整手段105で実施される処理について説明する。
【0041】
JPEG圧縮は、図5に示すように、離散コサイン変換(DCT)の後に量子化をしたものをハフマン符号化して出力される。DC成分とAC成分は、別々にハフマン符号化することとなる。DC成分は、前のブロックとの差分値を符号化して、AC成分はジグザグスキャンで読み取った成分のコードをハフマン符号化する。
【0042】
ハフマン符号化ではハフマン符号表に応じてビット符号列が定まる。ビット符号の調整データを作成するためには、ハフマン符号表から適したビット符号列を選択する必要がある。DC成分のハフマン符号表の一例を図6に、AC成分のハフマン符号表の一例を図7に示す。
【0043】
一つ注意が必要なのは、図8に示すように、DC成分は、前のブロックのDC成分との差分を符号化することである。無効領域に対応するビット符号列は合成時の可視状態に影響を及ぼさないが、編集箇所及び無効領域のDC成分の値によって、有効領域に影響する。したがって、同じように、編集箇所のDC成分が変わったならば、それに続く無効領域のDC成分の差分値も変化させる必要がある。そこで、ビットサイズ調整手段105は、図9に示す流れの処理を行って無効領域の調整データを生成する。
【0044】
図9において、ビットサイズ調整手段105は、最初に、編集箇所の最後のブロックのDC成分の変化量を求める(ステップS101)。無効領域をはさんだ次の有効領域の画質を変えないためには、この変化量を無効領域のビットで吸収する必要がある。本実施形態のアルゴリズムでは、吸収するのは、AC成分の増減とする。すなわち、ここでは無効領域の先頭ブロックのDC成分は変えないものとする。
説明のための例として、編集前は7ビットで符号化されていたものが、編集後は3ビットとなる場合を考える。説明のために、DC成分のビット変化量を“DC変化量“とする。例の場合、DC変化量は−3である。
【0045】
次に、トータルビット数を算出して(ステップS102)、AC成分でどのように吸収するかを考える。吸収するべきビット数は、ビット増減値とDC変化量から求まる。
有効領域の編集によって12ビット削減されたとする。DC変化量は−3である。よって、編集によって−15ビット減ったと考えることができる。そのため、残りの無効領域で15ビットを増やすことを考える。
【0046】
ステップS103では、S102の結果から、残りの生成ビット符号を算出していく。ただし、無効領域のビット数には制限があるため、吸収すべきビット数が1ブロックで吸収できるとは限らない。そのときは、次の無効領域のブロックを要求して吸収できるかを考えることとなる。
例の場合、15ビットで吸収可能かどうかをハフマン符号表で確認すると、いくつか候補が挙げられる。例えば、図7に示した符号表では(run=2,rw=6)の箇所である。したがって、AC成分はこの値とする。こうすることで、ビット増減を吸収することができた。算出されたビット符号列はメモリ12に出力される。
【0047】
ハフマン符号表を見てもわかるとおり、すべてのビット数が必ずしもあるわけではないため、吸収できないビット数も存在しうる。そのときは、ビットシフトをすることは許容することとなる。もしくは、別のアルゴリズムで吸収するとしてもよい。
【0048】
また、無効領域のブロックのビット数が最大となっていたときにも、これ以上は増やせないために吸収ができないケースがある。しかしながら、高圧縮PDFファイルを編集することを考えると、無効領域は非可視領域となるため、無効領域に対応するビット符号列は最小のビットサイズにしていることが一般的である。ファイルサイズを小さくするためである。ブロックデータに対応する圧縮ビットサイズには上限があるが、無効領域に対応するビット符号を最小にしていることから、無効領域に対応するビット符号列は、ビットサイズを増やせる余地がある。
【0049】
無効領域のブロックで差分を吸収しきれない場合は、ビットサイズ調整手段105は、必要に応じてパス切り替え手段102に、後続のデータを要求する(図2)。すると、パス切り替え手段102は、次の領域データを送ることとなる。無効領域のブロックで差分を吸収できた場合は、ビットサイズ調整手段105はその旨をパス切り替え手段102に伝える。
【0050】
結果、一時的にメモリ12に出力されたデータは、保存のためにまとめてHDD13に転送される。編集箇所と、それに続く無効領域の数バイトには変更がないため、高速化可能となる。
【0051】
つまり、上述した本実施形態によれば、データの編集で置き換わったデータのビットサイズ増減分は、編集箇所に続く無効領域のビットサイズの増減で吸収されるので、無効領域を含むファイルの画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集するという課題は達成される。この効果をもたらす作用をもう一度具体的に説明する。
【0052】
編集箇所のビット符号を、書き換えたい色に対応するビット符号に置き換えると、ビットの符号量は変わる。
ところが、書き換えたい色に対応するビット符号は、エントロピー符号化を用いて圧縮されたファイルであれば、例外を除いて書き換え前のコードよりもサイズが小さい。なぜならば、書き換えたい文字の色は、変えたい色に対応する固定の値であり、ブロック内の画素値がすべてその値になるためである。書き換え対象のデータの値は、基本的には原稿から読み取った値である場合が多い。読み取る原稿では同じ色の画素であっても、読み取り特性により多少値にばらつきがある。エントロピー符号化では、エントロピーが大きい方が符号量は多いため、置き換え後のビット符号の方が小さい(図10)。
【0053】
置き換えた結果、減少したビット数は、その領域に続く無効領域のビット符号を増やすことで吸収する。無効領域はどんな色に対応するデータでも画質に影響しないため、問題はない。その結果、置き換えたい領域とそれに続く無効領域のデータのみに、影響がとどまる。それ以降のデータのビットシフトは不要となる(図11)。
なお、仮にビット符号が編集後に増えた場合は、無効領域のビット符号を減らすことで対応可能な場合は対応することもできる。
【0054】
ところで、無効領域のデータは何でもよいのであるから、編集に関する情報を入れることは有意義である。たとえば、文字の削除や文字の強調などの処理をしたときには、オリジナルのファイルでそうであったのか、編集された状態なのかが分かることは有意義である。
【0055】
前述したように、ハフマン符号表では、同じビット数のコードが存在しうる。あらかじめ各コードに意味を割り当てて、ビットサイズ調整手段105が、編集内容に応じたコードを出力することで、ファイルサイズは変えることなく情報を埋め込むことができる。同じビット数のコードがない場合は、それよりもビット数が多く、複数のコードが存在するビット数のコードを出力する。本来出力するべきビット数よりもビット数が増えてしまうが、ここも編集領域とみなして、その後の無効領域で吸収すればよい。
【0056】
この場合、ビットサイズ調整手段105が、編集手段103による編集の編集内容に関する情報を、編集内容とあらかじめ対応関係が決められた符号を含んだビット符号を用いて調整を行うことによって、入れるように構成する。この構成によれば、編集後のファイルにおいてその編集がどのような意図でなされたのか等の意図を伝えることができる。
【0057】
なお、この構成の場合、さらに、そのあらかじめ決められた対応関係を出力する対応関係出力手段を備えていると好ましい。対応関係出力手段による出力先は、図1のHDD13内のファイルでもよいし、表示デバイス15でもよいし、ネットワークデバイス16の先のユーザPC等でもよい。編集内容の情報と符号の対応関係を出力することで、符号の意味を動的に変えられるという効果がある。JPEGではハフマンテーブルを固定にする必要が無くなる。ハフマンテーブルは、画像によって変えるとファイルサイズを削減することができる。
【0058】
(実施形態2)
本発明の第2の実施形態について説明する。本実施形態は、実施形態1の構成に加えて、特徴抽出手段106を備える(図12)。特徴抽出手段106は、編集対象の周辺の背景有効領域データの特徴を抽出して、編集手段103に出力する。特徴抽出手段106の抽出対象となる編集対象の周辺の背景画像の有効領域とは、図13に示すように、編集領域(前景画像の有効領域)を取り囲む領域である。
【0059】
文字を見かけ上削除することを考えた場合、その周囲の背景と同じような色で塗りつぶす必要がある。また、文字を強調する場合には背景色を鑑みて色を決定する必要がある。背景画像の有効領域のデータを編集領域のデータに反映させることで、編集領域のデータを不可視にしたり強調させたりすることが可能となる。以下、この効果を実現する手段について説明する。
【0060】
文字を削除する等の場合は、例えば周囲の3×3程度の領域の平均値を編集領域のデータとする。合成イメージは図14にようになる。図14(a)は編集対象の前景画像と背景画像の信号レベルを模式的に示す図である。図示のように、編集手段103が、前景画像の信号レベルを、特徴抽出手段106が抽出し編集手段103に出力した背景有効領域データの信号レベルに近づける処理を行う。その結果、図14(b)に示すような編集後のデータとなる。
【0061】
編集手段103が生成する置き換えデータが、置き換え対象の近傍の画素値との違いを低減させるようなデータとすることで、ファイルサイズを変えずに見かけ上削除することが可能になる。例えば置き換え対象が文字であれば文字の削除が可能になる。また、カラーユニバーサルデザイン(CUD)用途では、ユーザに見やすい形状にするためにオリジナルの形状を見かけ上削除することができる。別途ユーザに見やすい形状のデータを作成して上書きすればCUD用途のファイルが作成可能になる。
【0062】
一方で、置き換え対象を強調する場合は、置き換えデータを例えば明度差が離れた色にする。合成イメージは図15のようになる。図15(a)は編集対象の前景画像と背景画像の信号レベルを模式的に示す図である。図示のように、編集手段103が、前景画像の信号レベルを特徴抽出手段106が抽出し編集手段103に出力した背景有効領域のデータの信号レベルから乖離させる処理を行う。その結果、図15(b)に示すような編集後のデータとなる。
【0063】
編集手段103が生成する置き換えデータが、置き換え対象の近傍の画素値との違いを際立たせるようなデータとすることで、ファイルサイズを変えずに編集対象のデータを強調させることが可能になる。また、カラーユニバーサルデザイン(CUD)用途では、ユーザに見やすい色に編集することが可能になる。
【0064】
ところで、いずれの場合にも、編集領域のブロック内部には、編集したい画素と編集したくない画素がある場合がある。同じブロック内に、違う色の文字が含まれている場合である。図16・図17に例を示す。図16(a)に示したようなファイルがあるとして、“い”と“う”が図17に示したように、一つのブロックにまたがっているとする。そのため、このブロックは固定値で置き換えることはできない。このときは、ブロックをデコードしてから変えたい画素を編集後の画素値に置き換えてからさらに圧縮コードを作成すればよいが、これだと再圧縮になるため画質が低下する。これを避けるためには、ファイルサイズは増えてしまうが、別途上書き用の画像を作成してそれを合成するようにする他ない(図16(b))。
【符号の説明】
【0065】
1 画像処理装置
11 CPU
12 メモリ
13 HDD
101 入力手段
102 パス切り替え手段
103 編集手段
104 ビットサイズ確認手段
105 ビットサイズ調整手段
106 特徴抽出手段
【先行技術文献】
【特許文献】
【0066】
【特許文献1】特許第3182181号公報
【特許文献2】特開2000−151974号公報
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関し、特に、ファイル内部に複数のオブジェクトを記載し、オブジェクト同士の関連を記載するファイルフォーマットのファイルを編集する際に画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集する技術に関する。
【背景技術】
【0002】
PDFやXPSなどのファイルフォーマットは、ファイル内部に複数のオブジェクトを記載し、オブジェクト同士の関連を記載することで、意図した内容が高度に表現可能なファイルフォーマット(以下、「高圧縮ファイルフォーマット」と呼ぶ場合がある)である。こうした高度な表現方法を実現する手段の一つとして、マスク機能が既に知られている。マスク機能とは、一つの画像の値によって他の画像の可視・非可視状態を切り替える機能である(図18)。
【0003】
ユーザのニーズは多様化しており、多彩な表現方法が可能なこのようなファイルフォーマット(高圧縮ファイルフォーマット)を用いた文書が作成されるようになっている。一例として、高圧縮PDFファイルがある(図19)。高圧縮PDFファイルとは、原稿画像を高画質かつ高圧縮でファイル化する技術である。原稿画像中の絵柄領域と文字領域を判別して、それぞれに適した圧縮方式で圧縮することでこの機能は実現される。図19に示すように、高圧縮PDFの実現方法の一つとして、絵柄領域から構成される背景画像、文字領域か非文字領域かを示すマスク画像、文字領域の色を情報として持つ前景画像から、合成イメージを構成する方法がある。合成イメージ構成の際に図19に示すように上記マスク機能を用いる。
【0004】
背景画像においては、非文字領域に該当する領域のデータのみが可視状態となるため、文字領域に該当する領域はどんな画素値でも問題はない。逆に、前景画像においては、文字領域に該当する領域のデータのみが可視状態となるため、非文字領域に該当する領域はどんな画素値でも問題はない。どんな画素値でも問題はない領域を無効領域と呼ぶ。ここで、無効領域をファイルサイズが低減するように符号化することは従来から行われている。
【0005】
なお、ここで、文字とは必ずしも一般に言う文字だけではなく、矩形オブジェクトなどの人工的なデータも含むことがある。
【0006】
ところで、人によって色の見え方が違うことはよく知られている。この知見に基づいて、例えば、製品に色弱者にも見やすいような色を用いることも行われるようになってきた。このように、使用者の立場に立って工夫した色設計をカラーユニバーサルデザイン(CUD)と呼ぶ。作成済みのファイルに対してCUDを考慮したファイルに変換する需要も存在する。
【0007】
既に作成されたファイルに対して、CUDの考えを取り込むには、文字を強調したり、異なる色にしたりするのが有効である。また、文字以外の人工的なオブジェクトに対しても色、形を変えることも有効とされる。しかしながら、形を変えるにはオリジナルの形状を削除して新たにデータを生成する必要がある。つまり、作成済みの高圧縮ファイルフォーマットを効率的に編集する必要があり、そのための技術には産業上の利用可能性があると言える。しかしながら、これを実現するに当たっては、後述するような課題が存在するのが実情である。
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述したような今までの技術では、このようなファイルフォーマット(高圧縮ファイルフォーマット)で記述された圧縮された画像データを含むファイルに対して編集しようとすると、ユーザにとっては必ずしも好ましい結果とならない。
【0009】
このようなファイルフォーマットは、複数のオブジェクトから一つの可視データを作成できるため、ファイルへの編集後のオブジェクトの追加や削除の仕組みは用意されている。オブジェクトを追加して、可視であった文字や人工的オブジェクトを上書きするようにすることや、オブジェクトはファイル内に記述したままで、ファイル末尾に可視としないという記述をすることで削除されたように見せることは可能である。
【0010】
このような仕組みでオブジェクトを追加・削除するのは容易ではある。しかしながら、ユーザにとってはファイルサイズが増えるため好ましくない。
【0011】
ファイルサイズ増加を避けるためには、追加するのではなく編集箇所に該当する領域を変更して圧縮をする必要がある。しかしながら、再圧縮すると、非可逆圧縮では画質劣化を招く。
【0012】
画質劣化を避けるために、編集箇所に該当する領域を変更して編集箇所以外の符号は変えないようにすればよいが(図20)、ビット移動をする必要があるため処理時間が増えるという問題があった。
【0013】
ところで、本発明と関連する技術としては、例えば、特許文献1、2記載の技術がある。
特許文献1には、画像を加工編集した後に、編集した箇所の以外の箇所の画質劣化を防ぐことを目的として、加工後と加工前の差分を量子化したものと、加工前の量子化結果を合成する技術を開示する。しかしながら、特許文献1に記載の技術では、編集箇所以外の画質劣化は防げるが、ビットを移動する必要があるため、編集箇所以降のビット符号にも影響して、処理時間を要する。
【0014】
特許文献2には、高速でも劣化を抑えて画像等のデジタル信号を加工することを目的として、処理単位に分けて、コピー領域と加工領域を合成することについて記載している。特許文献1と同様に、編集箇所以外の画質劣化は防げるが、ビット移動をする必要があるため、編集箇所以降のビット符号にも影響して処理時間を要する。
【0015】
本発明は、上記実情に鑑みてなされたものであって、無効領域を含むファイルの画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集することが可能な画像処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記目的を達成するために本発明は、1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、前記マスク画像で領域毎に選択された画像データを編集する編集手段と、編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段と、を有することを特徴とする、画像処理装置を提供するものである。
【0017】
また、上記目的を達成するために本発明は、画像処理装置を、1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、前記マスク画像で領域毎に選択された画像データを編集する編集手段と、編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段として機能させることを特徴とする、画像処理プログラムを提供するものである。
【発明の効果】
【0018】
本発明によれば、無効領域を含むファイルの画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集することが可能な画像処理装置及びプログラムを提供できる。
【図面の簡単な説明】
【0019】
【図1】本発明による実施形態1のハードウェア構成図である。
【図2】本実施形態の要部の構成図である。
【図3】本実施形態における編集箇所と編集箇所に対応するビット符号列の対応関係を模式的に示す図である。
【図4】本実施形態における編集によって編集箇所にビット増減ある場合とない場合の説明図である。
【図5】本実施形態で用いるJPEG圧縮の基本方式の処理手順を示す図である。
【図6】JPEG圧縮におけるDC成分のハフマン符号表の一例を示す図である。
【図7】JPEG圧縮におけるAC成分のハフマン符号表の一例を示す図である。
【図8】JPEG編集時の注意点の説明図である。
【図9】ビットサイズ調整手段105による無効領域の調整データ生成処理の流れを示すフローチャートである。
【図10】本実施形態の作用効果の説明図(その1)である。
【図11】本実施形態の作用効果の説明図(その2)である。
【図12】本発明による実施形態2の要部の構成図である。
【図13】実施形態2の、編集対象の周辺の背景画像の有効領域の説明図である。
【図14】実施形態2の、前景色を周囲の背景色で置き換える例を示す図である。
【図15】実施形態2の、前景上のデータを際だたせる例を示す図である。
【図16】実施形態2の例外処理を説明するための図である。
【図17】図16の細部を示す図である。
【図18】従来技術のマスク機能の説明図である。
【図19】従来技術の高圧縮PDFの仕組みの説明図である。
【図20】従来技術の問題点の説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態を説明する。下記の実施形態は、具体的には、生成済みの高圧縮PDFファイルの編集に際して、圧縮されたファイルの編集の際に変更されるビット符号の増分を編集箇所に続く無効領域の先頭の数バイトで吸収することが特徴になっている。この特徴を中心に図面を参照しながら説明する。
【0021】
(実施形態1)
図1は、本実施形態のハードウェア構成図である。本実施形態に係る画像処理装置1は、CPU11とメモリ12とHDD13を有し、CPU11とメモリ12とHDD13はバスを介して接続されている。画像処理装置1は、限定するものではないが、例えば、汎用のパーソナルコンピュータ(PC)や、多機能複合機(Multi−Functional Printer)等として構成されうる。
【0022】
画像処理装置1は、これらに加えて入力デバイス14、表示デバイス15、ネットワークデバイス16を備えていてもよい。入力デバイス14は、ユーザが高圧縮PDFファイルに対して行う編集指示を入力可能なデバイスであって、例えばキーボードとマウス等であってもよい。表示デバイス15は、画像処理装置1にインストールされているビューアが描画するイメージをユーザが見読可能に表示するデバイスであって、例えば液晶モニタ等であってもよい。ネットワークデバイス16は、画像処理装置1に前述したユーザの編集指示を入力したり、もしくは、画像処理装置1による画像処理結果をネットワークで接続されたユーザPC(不図示)に出力したりするデバイスである。
【0023】
HDD13には、背景画像、前景画像、マスク画像が格納されているものとする。これらの画像は連続した一つのファイルとして保存されていてもよく、個別ファイルとして保存されていてもよい。ユーザは、これらの画像の格納形態は意識する必要はないが、画像処理装置1が汎用PCの場合は、一つにファイル化されていることを想定している。ユーザがそのファイルを表示させるときは、ビューアがこれらの画像を合成させて表示デバイス15に表示する。
【0024】
画像処理装置1がいわゆる複合機(MFP)の形態をとる場合は、ユーザが実際に見る画像をファイルとして認識する必要がないため、個別ファイルとして保存しておく方法もあるし、一つのファイルとして保存してもかまわない。個別ファイルとして保存しておくのであれば、ユーザがその画像を取得したい場合は、別途一つのファイルにまとめて、別途備えたネットワークデバイス16を介してユーザのもとへ送信される。
【0025】
高圧縮PDFファイルに対して編集をするのは、ユーザのPC上でもよいし、複合機であってもよい。複合機の場合は、編集箇所や編集内容についてネットワークデバイス16を介して複合機へ入力させる必要があり、ネットワークを介して接続するユーザのPCには編集箇所や編集内容を送信する手段を備えている必要がある。
【0026】
背景画像、前景画像は、一般的なラスタ画像であって、JPEG圧縮がされているものとする。JPEG圧縮は、8×8単位のブロックで圧縮する技術である。
【0027】
HDD13には、高圧縮PDFファイルの編集をするためのソフトウェアプログラムである編集プログラムが格納されており、この編集プログラムが上述したような本実施形態のハードウェア資源を利用して図2以降で説明するような所定の情報処理をすることによって、本実施形態の目的を達成する。この編集プログラムは、コンピュータ読取が可能な各種記録媒体(磁気方式によるもの光学方式によるもの等の別を問わない)に記憶されてもよい。
【0028】
上述のハードウェア資源と編集プログラムの協働について説明する。
CPU11は、HDD13から圧縮されたファイルをすべてデコードしてメモリ12上に展開する。デコードするのは、編集位置の指定をユーザがする必要があるためである。その後、ユーザの編集に対する入力を受けて編集処理することとなる。なお、編集処理に関する構成要素は、ハードウェア化してもよいが、ソフトウェアで実現してもかまわない。編集プログラムも同様に、CPU11によりHDD13から一時記憶であるメモリ12に読み出され展開される。このような協働によって、画像処理装置1が図2に示すような各手段を有することが実現する。
【0029】
図2は、本実施形態の機能ブロック図である。図2に示すそれぞれの構成要素について説明する。図示のように、画像処理装置1は、入力手段101とパス切り替え手段102と編集手段103とビットサイズ確認手段104とビットサイズ調整手段105とを有する。
【0030】
入力手段101は、画像データとしての背景画像と、背景画像とは別の画像データとしての前景画像と、マスク画像とともに、編集箇所位置を示すデータを、入力として受け取る。ここで、編集箇所はマスク画像によって選択的に示された領域の一部もしくはすべてが指定されて受け取るものとする。
【0031】
編集箇所の画像上の位置は、図示しない編集箇所指定手段によって、ユーザから指定をされるように設計してもよいし、なんらかのアルゴリズムによって、画像処理装置1内部で決めてもよい。画像処理装置1内部で決める場合は、特定の色範囲を持つ領域であるとか、特定の線幅を持つ領域を編集箇所とするとかが考えられる。
【0032】
ここで、マスク画像によって選択的に示された領域は、意味がある領域であることを意味する。選択的に選ばれた領域は、なにかしらの意味を持って選択される。選ばれない領域については、合成したときにユーザの可視状態に影響を及ぼすことがない。そのため、以下では、マスク画像によって選択的に示された領域を「有効領域」と呼び、それ以外の領域を「無効領域」として説明する。
【0033】
パス切り替え手段102は、画像の領域に応じて領域のデータを流すブロックを制御する。ファイルのコード順に、適するブロックへと出力する。
指定された編集箇所であれば、編集手段103のブロックにデータを送る。そして、後述するビットサイズ確認手段104からの信号と、ビットサイズ調整手段105からの信号に応じて、編集箇所に続く無効領域をビットサイズ調整手段105に送ることがある。これについての詳細は後述する。それ以外のデータは、編集せずにメモリ12に出力する。
【0034】
編集手段103は、パス切り替え手段102から出力された編集対象のデータの編集後のビット符号を生成する。生成されたビット符号を編集箇所の置き換えデータとしてメモリ12に出力する。同時に、編集によって増減したビットサイズをビットサイズ確認手段104に出力する。
【0035】
ビットサイズ確認手段104は、その確認結果をビットサイズ調整手段105とパス切り替え手段102に送る。
ビットサイズ調整手段105は、ビットサイズ確認手段104とパス切り替え手段102からのデータに応じて、無効領域の調整データを生成する。
【0036】
ここで、「編集箇所」について図を用いて説明する。図3は、画像イメージにおける編集箇所と編集箇所に対応するビット符号列の対応関係を模式的に示している。ビット符号列はラスタ順に並んでいるため、ビット符号列においても、ラスタ画像では編集箇所がブロック状となっていても、ビット符号列では編集箇所に対応するビット符号列とそれ以外の領域が交互に並んでいる。
【0037】
編集後のデータのビット増減値はビットサイズ確認手段104に出力され、ビット増減がある場合は、パス切り替え手段102に増減があることを伝える。このとき、編集後のデータのビットの増減は、ビット符号列における一連のデータの増減である。図3の場合、模式的に編集箇所に対応するビット符号列を3つ示しているが、それぞれが編集領域である。
【0038】
ビット増減がない場合は、ビット増減がないことを示す信号を送る。ビット増減がある場合とない場合について、図4で説明する。ビット増減がない場合は、ケース1に図示したように編集箇所のビット数に変化がないケースで、ビット増減がある場合は、ケース2に示したように編集箇所のビット数に変化があるケースである。図4では、編集後にビット数が減る例を示している。
【0039】
ところで、前景画像は、文字に対応する色情報を持っている。ところが、原稿上は同じ色である一連の文字であっても、生成ファイルを読み取ったときの読み取り特性により、生成された前景画像では必ずしも一定値でないケースがある。JPEGのようなエントロピー符号化では、エントロピーが高いほどビットサイズは大きいため、ある領域の文字を一色で置き換えるというケースを想定すると、編集後のほうがエントロピーが小さくなるため、ビットサイズが小さくなる。
【0040】
パス切り替え手段102は、ビット増減があることが分かると、その編集領域に続く無効領域のデータをビットサイズ調整手段105に少しずつ送る。この無効領域のデータは、図4でいうと白色の部分となる。ここで、少しずつ送るのは、どれだけの無効領域に対応するブロックで、ビット増減分を吸収できるか分からないためである。
ビットサイズ調整手段105では、編集前の無効領域のデータと編集領域のビットサイズ増減値を入力として、ビットサイズを吸収するための調整データを作り出す。
以下に、ビットサイズ調整手段105で実施される処理について説明する。
【0041】
JPEG圧縮は、図5に示すように、離散コサイン変換(DCT)の後に量子化をしたものをハフマン符号化して出力される。DC成分とAC成分は、別々にハフマン符号化することとなる。DC成分は、前のブロックとの差分値を符号化して、AC成分はジグザグスキャンで読み取った成分のコードをハフマン符号化する。
【0042】
ハフマン符号化ではハフマン符号表に応じてビット符号列が定まる。ビット符号の調整データを作成するためには、ハフマン符号表から適したビット符号列を選択する必要がある。DC成分のハフマン符号表の一例を図6に、AC成分のハフマン符号表の一例を図7に示す。
【0043】
一つ注意が必要なのは、図8に示すように、DC成分は、前のブロックのDC成分との差分を符号化することである。無効領域に対応するビット符号列は合成時の可視状態に影響を及ぼさないが、編集箇所及び無効領域のDC成分の値によって、有効領域に影響する。したがって、同じように、編集箇所のDC成分が変わったならば、それに続く無効領域のDC成分の差分値も変化させる必要がある。そこで、ビットサイズ調整手段105は、図9に示す流れの処理を行って無効領域の調整データを生成する。
【0044】
図9において、ビットサイズ調整手段105は、最初に、編集箇所の最後のブロックのDC成分の変化量を求める(ステップS101)。無効領域をはさんだ次の有効領域の画質を変えないためには、この変化量を無効領域のビットで吸収する必要がある。本実施形態のアルゴリズムでは、吸収するのは、AC成分の増減とする。すなわち、ここでは無効領域の先頭ブロックのDC成分は変えないものとする。
説明のための例として、編集前は7ビットで符号化されていたものが、編集後は3ビットとなる場合を考える。説明のために、DC成分のビット変化量を“DC変化量“とする。例の場合、DC変化量は−3である。
【0045】
次に、トータルビット数を算出して(ステップS102)、AC成分でどのように吸収するかを考える。吸収するべきビット数は、ビット増減値とDC変化量から求まる。
有効領域の編集によって12ビット削減されたとする。DC変化量は−3である。よって、編集によって−15ビット減ったと考えることができる。そのため、残りの無効領域で15ビットを増やすことを考える。
【0046】
ステップS103では、S102の結果から、残りの生成ビット符号を算出していく。ただし、無効領域のビット数には制限があるため、吸収すべきビット数が1ブロックで吸収できるとは限らない。そのときは、次の無効領域のブロックを要求して吸収できるかを考えることとなる。
例の場合、15ビットで吸収可能かどうかをハフマン符号表で確認すると、いくつか候補が挙げられる。例えば、図7に示した符号表では(run=2,rw=6)の箇所である。したがって、AC成分はこの値とする。こうすることで、ビット増減を吸収することができた。算出されたビット符号列はメモリ12に出力される。
【0047】
ハフマン符号表を見てもわかるとおり、すべてのビット数が必ずしもあるわけではないため、吸収できないビット数も存在しうる。そのときは、ビットシフトをすることは許容することとなる。もしくは、別のアルゴリズムで吸収するとしてもよい。
【0048】
また、無効領域のブロックのビット数が最大となっていたときにも、これ以上は増やせないために吸収ができないケースがある。しかしながら、高圧縮PDFファイルを編集することを考えると、無効領域は非可視領域となるため、無効領域に対応するビット符号列は最小のビットサイズにしていることが一般的である。ファイルサイズを小さくするためである。ブロックデータに対応する圧縮ビットサイズには上限があるが、無効領域に対応するビット符号を最小にしていることから、無効領域に対応するビット符号列は、ビットサイズを増やせる余地がある。
【0049】
無効領域のブロックで差分を吸収しきれない場合は、ビットサイズ調整手段105は、必要に応じてパス切り替え手段102に、後続のデータを要求する(図2)。すると、パス切り替え手段102は、次の領域データを送ることとなる。無効領域のブロックで差分を吸収できた場合は、ビットサイズ調整手段105はその旨をパス切り替え手段102に伝える。
【0050】
結果、一時的にメモリ12に出力されたデータは、保存のためにまとめてHDD13に転送される。編集箇所と、それに続く無効領域の数バイトには変更がないため、高速化可能となる。
【0051】
つまり、上述した本実施形態によれば、データの編集で置き換わったデータのビットサイズ増減分は、編集箇所に続く無効領域のビットサイズの増減で吸収されるので、無効領域を含むファイルの画質劣化とファイルサイズの増加を防ぎ、処理時間を極力増やさずに編集するという課題は達成される。この効果をもたらす作用をもう一度具体的に説明する。
【0052】
編集箇所のビット符号を、書き換えたい色に対応するビット符号に置き換えると、ビットの符号量は変わる。
ところが、書き換えたい色に対応するビット符号は、エントロピー符号化を用いて圧縮されたファイルであれば、例外を除いて書き換え前のコードよりもサイズが小さい。なぜならば、書き換えたい文字の色は、変えたい色に対応する固定の値であり、ブロック内の画素値がすべてその値になるためである。書き換え対象のデータの値は、基本的には原稿から読み取った値である場合が多い。読み取る原稿では同じ色の画素であっても、読み取り特性により多少値にばらつきがある。エントロピー符号化では、エントロピーが大きい方が符号量は多いため、置き換え後のビット符号の方が小さい(図10)。
【0053】
置き換えた結果、減少したビット数は、その領域に続く無効領域のビット符号を増やすことで吸収する。無効領域はどんな色に対応するデータでも画質に影響しないため、問題はない。その結果、置き換えたい領域とそれに続く無効領域のデータのみに、影響がとどまる。それ以降のデータのビットシフトは不要となる(図11)。
なお、仮にビット符号が編集後に増えた場合は、無効領域のビット符号を減らすことで対応可能な場合は対応することもできる。
【0054】
ところで、無効領域のデータは何でもよいのであるから、編集に関する情報を入れることは有意義である。たとえば、文字の削除や文字の強調などの処理をしたときには、オリジナルのファイルでそうであったのか、編集された状態なのかが分かることは有意義である。
【0055】
前述したように、ハフマン符号表では、同じビット数のコードが存在しうる。あらかじめ各コードに意味を割り当てて、ビットサイズ調整手段105が、編集内容に応じたコードを出力することで、ファイルサイズは変えることなく情報を埋め込むことができる。同じビット数のコードがない場合は、それよりもビット数が多く、複数のコードが存在するビット数のコードを出力する。本来出力するべきビット数よりもビット数が増えてしまうが、ここも編集領域とみなして、その後の無効領域で吸収すればよい。
【0056】
この場合、ビットサイズ調整手段105が、編集手段103による編集の編集内容に関する情報を、編集内容とあらかじめ対応関係が決められた符号を含んだビット符号を用いて調整を行うことによって、入れるように構成する。この構成によれば、編集後のファイルにおいてその編集がどのような意図でなされたのか等の意図を伝えることができる。
【0057】
なお、この構成の場合、さらに、そのあらかじめ決められた対応関係を出力する対応関係出力手段を備えていると好ましい。対応関係出力手段による出力先は、図1のHDD13内のファイルでもよいし、表示デバイス15でもよいし、ネットワークデバイス16の先のユーザPC等でもよい。編集内容の情報と符号の対応関係を出力することで、符号の意味を動的に変えられるという効果がある。JPEGではハフマンテーブルを固定にする必要が無くなる。ハフマンテーブルは、画像によって変えるとファイルサイズを削減することができる。
【0058】
(実施形態2)
本発明の第2の実施形態について説明する。本実施形態は、実施形態1の構成に加えて、特徴抽出手段106を備える(図12)。特徴抽出手段106は、編集対象の周辺の背景有効領域データの特徴を抽出して、編集手段103に出力する。特徴抽出手段106の抽出対象となる編集対象の周辺の背景画像の有効領域とは、図13に示すように、編集領域(前景画像の有効領域)を取り囲む領域である。
【0059】
文字を見かけ上削除することを考えた場合、その周囲の背景と同じような色で塗りつぶす必要がある。また、文字を強調する場合には背景色を鑑みて色を決定する必要がある。背景画像の有効領域のデータを編集領域のデータに反映させることで、編集領域のデータを不可視にしたり強調させたりすることが可能となる。以下、この効果を実現する手段について説明する。
【0060】
文字を削除する等の場合は、例えば周囲の3×3程度の領域の平均値を編集領域のデータとする。合成イメージは図14にようになる。図14(a)は編集対象の前景画像と背景画像の信号レベルを模式的に示す図である。図示のように、編集手段103が、前景画像の信号レベルを、特徴抽出手段106が抽出し編集手段103に出力した背景有効領域データの信号レベルに近づける処理を行う。その結果、図14(b)に示すような編集後のデータとなる。
【0061】
編集手段103が生成する置き換えデータが、置き換え対象の近傍の画素値との違いを低減させるようなデータとすることで、ファイルサイズを変えずに見かけ上削除することが可能になる。例えば置き換え対象が文字であれば文字の削除が可能になる。また、カラーユニバーサルデザイン(CUD)用途では、ユーザに見やすい形状にするためにオリジナルの形状を見かけ上削除することができる。別途ユーザに見やすい形状のデータを作成して上書きすればCUD用途のファイルが作成可能になる。
【0062】
一方で、置き換え対象を強調する場合は、置き換えデータを例えば明度差が離れた色にする。合成イメージは図15のようになる。図15(a)は編集対象の前景画像と背景画像の信号レベルを模式的に示す図である。図示のように、編集手段103が、前景画像の信号レベルを特徴抽出手段106が抽出し編集手段103に出力した背景有効領域のデータの信号レベルから乖離させる処理を行う。その結果、図15(b)に示すような編集後のデータとなる。
【0063】
編集手段103が生成する置き換えデータが、置き換え対象の近傍の画素値との違いを際立たせるようなデータとすることで、ファイルサイズを変えずに編集対象のデータを強調させることが可能になる。また、カラーユニバーサルデザイン(CUD)用途では、ユーザに見やすい色に編集することが可能になる。
【0064】
ところで、いずれの場合にも、編集領域のブロック内部には、編集したい画素と編集したくない画素がある場合がある。同じブロック内に、違う色の文字が含まれている場合である。図16・図17に例を示す。図16(a)に示したようなファイルがあるとして、“い”と“う”が図17に示したように、一つのブロックにまたがっているとする。そのため、このブロックは固定値で置き換えることはできない。このときは、ブロックをデコードしてから変えたい画素を編集後の画素値に置き換えてからさらに圧縮コードを作成すればよいが、これだと再圧縮になるため画質が低下する。これを避けるためには、ファイルサイズは増えてしまうが、別途上書き用の画像を作成してそれを合成するようにする他ない(図16(b))。
【符号の説明】
【0065】
1 画像処理装置
11 CPU
12 メモリ
13 HDD
101 入力手段
102 パス切り替え手段
103 編集手段
104 ビットサイズ確認手段
105 ビットサイズ調整手段
106 特徴抽出手段
【先行技術文献】
【特許文献】
【0066】
【特許文献1】特許第3182181号公報
【特許文献2】特開2000−151974号公報
【特許請求の範囲】
【請求項1】
1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、
前記マスク画像で領域毎に選択された画像データを編集する編集手段と、
編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、
ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段と、
を有することを特徴とする、画像処理装置。
【請求項2】
前記ビットサイズ調整手段は、編集内容に関する情報とあらかじめ対応づけられた符号で調整することを特徴とする、請求項1記載の画像処理装置。
【請求項3】
編集内容に関する情報と、あらかじめ対応づけられた符号との、対応関係を、出力する対応関係出力手段を有することを特徴とする、請求項2記載の画像処理装置。
【請求項4】
編集箇所の近傍の選択外領域において選択領域を持つ別の画像データの特徴を抽出する特徴抽出手段を有し、
前記編集手段は、前記特徴抽出手段が抽出した特徴に応じて、編集で置き換える置き換えデータを生成することを特徴とする、請求項1から3のいずれか1項記載の画像処理装置。
【請求項5】
前記置き換えデータが近傍の画素値との違いを際立たせるようなデータであることを特徴とする、請求項4記載の画像処理装置。
【請求項6】
前記置き換えデータが近傍の画素値との違いを低減させるようなデータであることを特徴とする、請求項4記載の画像処理装置。
【請求項7】
前記マスク画像は文字を選択的に示すことを特徴とする、請求項1から6のいずれか1項記載の画像処理装置。
【請求項8】
画像処理装置を、
1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、
前記マスク画像で領域毎に選択された画像データを編集する編集手段と、
編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、
ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段として機能させることを特徴とする、画像処理プログラム。
【請求項1】
1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、
前記マスク画像で領域毎に選択された画像データを編集する編集手段と、
編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、
ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段と、
を有することを特徴とする、画像処理装置。
【請求項2】
前記ビットサイズ調整手段は、編集内容に関する情報とあらかじめ対応づけられた符号で調整することを特徴とする、請求項1記載の画像処理装置。
【請求項3】
編集内容に関する情報と、あらかじめ対応づけられた符号との、対応関係を、出力する対応関係出力手段を有することを特徴とする、請求項2記載の画像処理装置。
【請求項4】
編集箇所の近傍の選択外領域において選択領域を持つ別の画像データの特徴を抽出する特徴抽出手段を有し、
前記編集手段は、前記特徴抽出手段が抽出した特徴に応じて、編集で置き換える置き換えデータを生成することを特徴とする、請求項1から3のいずれか1項記載の画像処理装置。
【請求項5】
前記置き換えデータが近傍の画素値との違いを際立たせるようなデータであることを特徴とする、請求項4記載の画像処理装置。
【請求項6】
前記置き換えデータが近傍の画素値との違いを低減させるようなデータであることを特徴とする、請求項4記載の画像処理装置。
【請求項7】
前記マスク画像は文字を選択的に示すことを特徴とする、請求項1から6のいずれか1項記載の画像処理装置。
【請求項8】
画像処理装置を、
1つ以上の画像データとともに該画像データを領域毎に選択的に示すマスク画像を入力する入力手段と、
前記マスク画像で領域毎に選択された画像データを編集する編集手段と、
編集による編集箇所のビットサイズを確認するビットサイズ確認手段と、
ビットサイズの確認の結果ビットサイズに変化があったと判定されたとき、前記編集箇所に続く画像データの選択外のビットサイズを調整するビットサイズ調整手段として機能させることを特徴とする、画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2011−114687(P2011−114687A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2009−270378(P2009−270378)
【出願日】平成21年11月27日(2009.11.27)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願日】平成21年11月27日(2009.11.27)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]