(57)【要約】【課題】エンコード又はデコードのときの消費メモリを小さく抑えながら、画像の分割境界が見えない符号化又は復号を行うことができる符号化装置、符号化方法、プログラム及び記録媒体を提供する。【解決手段】第１の画像及び第２の画像の少なくとも１つを画素毎に選択する画像を符号化する符号化装置であって、第２の画像をオーバーラップした複数の第３の画像に分割する手段と、複数の第３の画像を、周波数変換を用いて各々符号化する手段と、第３の画像に対応したマスクを生成する手段と、を有し、第３の画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積は、第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする。【選択図】図４
2010130622.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像及び第２の画像の少なくとも１つを画素毎に選択する画像を符号化する符号化装置であって、
前記第２の画像をオーバーラップした複数の第３の画像に分割する手段と、
前記複数の第３の画像を、周波数変換を用いて各々符号化する手段と、
前記第３の画像に対応したマスクを生成する手段と、を有し、
前記第３の画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積は、前記第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする符号化装置。
【請求項２】
前記第３の画像に対応したマスクによって選択される領域同士がオーバーラップしないことを特徴とする請求項１記載の符号化装置。
【請求項３】
前記第３の画像に対応したマスクの境界が直線ではない部分を有することを特徴とする請求項１又は２記載の符号化装置。
【請求項４】
前記第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ａに生じる量子化誤差が、前記第３の画像とは異なる別の第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ｂに生じる量子化誤差よりも大きい場合に、前記画素Ａから前記第３の画像の端部であって前記画素Ａに近い方に至る画素数を、前記画素Ｂから前記別の第３の画像の端部であって前記画素Ｂに近い方に至る画素数よりも、大きくしたことを特徴とする請求項１から３のいずれか１項に記載の符号化装置。
【請求項５】
前記第３の画像に対応したマスクによって選択される部分の、水平方向の端部あるいは垂直方向の端部に位置する１つの画素に生じる量子化誤差が大きくなるほど、前記画素に隣接する前記オーバーラップ量を大きくすることを特徴とする請求項１から４のいずれか１項に記載の符号化装置。
【請求項６】
前記マスクの符号を、前記複数の第３の画像の間で共有することを特徴とする請求項１から５のいずれか１項に記載の符号化装置。
【請求項７】
第１の画像及び第２の画像の少なくとも１つを画素毎に選択する画像を符号化する装置が行う符号化方法であって、
前記第２の画像をオーバーラップした複数の第３の画像に分割するステップと、
前記複数の第３の画像を、周波数変換を用いて各々符号化するステップと、
前記第３の画像に対応したマスクを生成するステップと、を有し、
前記第３の画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積は、前記第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする符号化方法。
【請求項８】
前記第３の画像に対応したマスクによって選択される領域同士がオーバーラップしないことを特徴とする請求項７記載の符号化方法。
【請求項９】
前記第３の画像に対応したマスクの境界が直線ではない部分を有することを特徴とする請求項７又は８記載の符号化方法。
【請求項１０】
前記第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ａに生じる量子化誤差が、前記第３の画像とは異なる別の第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ｂに生じる量子化誤差よりも大きい場合に、前記画素Ａから前記第３の画像の端部であって前記画素Ａに近い方に至る画素数を、前記画素Ｂから前記別の第３の画像の端部であって前記画素Ｂに近い方に至る画素数よりも、大きくしたことを特徴とする請求項７から９のいずれか１項に記載の符号化方法。
【請求項１１】
前記第３の画像に対応したマスクによって選択される部分の、水平方向の端部あるいは垂直方向の端部に位置する１つの画素に生じる量子化誤差が大きくなるほど、前記画素に隣接する前記オーバーラップ量を大きくすることを特徴とする請求項７から１０のいずれか１項に記載の符号化方法。
【請求項１２】
前記マスクの符号を、前記複数の第３の画像の間で共有することを特徴とする請求項７から１１のいずれか１項に記載の符号化方法。
【請求項１３】
コンピュータが読み取り可能なプログラムであって、
請求項７から１２のいずれか１項に記載の符号化方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
請求項１３記載のプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字・線画と写真等の混在文書のページ画像等を符号化する技術に関し、特に、原画像データを分解した背景データ、少なくとも一つの前景データとマスターデータのペアを符号化する符号化装置、符号化方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
本発明に関連する技術例としては、以下のものがある。
特許文献１には、画像データを第１の画像データと、第２の画像データと、第１、第２の画像データのいずれかを選択する選択データの３つのデータに分離し、それぞれ符号化した圧縮データを入力して、画像を合成復元する技術が開示されている。この特許文献１記載の発明は、後述するＭＲＣ（ミクストラスターコンテント）の基本的な構成の発明である。
特許文献２には、ＭＲＣにおいてマスクを分割し、部分画像へのアクセス性を向上させる技術が開示されている。なお、この特許文献２記載の発明は、マスクを分割するという点においてのみ、本発明と共通である。
特許文献３には、隣接するタイルのローパス係数とハイパス係数を利用して、タイル境界に隣接するハイパス係数を補正することによって、タイル境界歪みを除去する技術が開示されている。なお、この特許文献３記載の発明は、本発明と課題のみが共通である。
特許文献４には、タイル境界付近の係数の量子化の程度を抑え、タイル境界歪みを抑制する技術が開示されている。なお、この特許文献４記載の発明は、本発明と課題のみが共通である。
【特許文献１】特許第３２７５８０７号公報
【特許文献２】特開２００７−５８４４号公報
【特許文献３】特開２００１−２５７５９６号公報
【特許文献４】特許第４１４９１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般に文書は、文字・線画と絵柄の混在で構成されるが、近年こうした混在文書を効率的に符号化するために、文字・線画部分と絵柄部分とに分離し、各々に対して異なる符号化を施すことが提案されている。
【０００４】
例えば、ＭＲＣ（ミクストラスターコンテント）モデルと呼ばれる手法がある。この手法は、図１に示すように、１ページの文書を文字の色情報（前景）、文字領域情報（マスク）、画像情報（背景）といった３レイヤに分けて、レイヤごとに符号化を行う方式である。特許文献１は、ＭＲＣモデルの典型例であり、画像データを第１の画像データと、第２の画像データと、第１、第２の画像データのいずれかを選択する選択データの３つのデータに分離し、それぞれ符号化した圧縮データを入力して、画像を合成復元することを提案している。特許文献１は、ＭＲＣモデルを採用する理由として、高圧縮率時の文字・線画の劣化防止を挙げている。
【０００５】
こうしたＭＲＣモデル（ＭＲＣ方式）では、１つの背景に対して、複数の「前景＋マスク」を重ねあわせていく方式が一般的である。マスクとは前景を（例えば文字の形に）切り取るための形状情報を持つものであり、マスクの値が前景の透過率（前景と背景の混合比）を持つ場合もある。また、背景、マスク、前景の解像度は、任意に選択できることも多い。
【０００６】
また、ＭＲＣによる符号フォーマットは、ＭＲＣ符号であること等を示す全体用のヘッダと、１つの背景符号及びそのヘッダと、それに重ね合わせる１つ若しくは複数の「前景符号とマスク符号のペア」及びそのペア用のヘッダで構成されるのが典型である（図２参照）。
【０００７】
例えば、前記ＭＲＣモデルの前景、マスク、背景の圧縮方式としてＪＰＥＧ２０００の選択を可能にしたＪＰＭ（ＪＰＥＧ２０００ Multi Layer）という符号化方式が標準化されている。
【０００８】
図３は、ＪＰＭ符号の構成例である。図３において、点線部分はオプションであるため、実線部分を中心に以下に説明する。
【０００９】
ＪＰＥＧ 2000 Signature Box は、この符号がＪＰＥＧ２０００ファミリーに属することを示す全体のヘッダである。File Type Boxは、本符号がＪＰＭフォーマットである事を示す全体のヘッダである。Compound Image Header Boxは、当該ＭＲＣ符号の全般的な情報を含む全体のヘッダである。Page Collection boxは、当該符号がマルチページからなる場合に各ページの順番を示す目次的なものである。Page Boxは、ページの解像度等を示す全体のヘッダである。ここで、ページとは、ＭＲＣ画像を順次重ねて（合成して）いくためのキャンバスであり、合成が終わった後のＭＲＣ画像と同じ大きさを持つ。ＪＰＭの場合、ページには、前景とマスクのペアで構成されるlayout objectsが順次描画される。Layout Object box は、前景とマスクのサイズや位置等を示す、前景及びマスク用のヘッダである。Media Data box やContiguous Codestream boxは、前景やマスクの符号を含む部分である。なお、ＪＰＭでは、背景は、レイアウトオブジェクトが描画される前の初期的なページとして扱われる。
【００１０】
このＪＰＭにおいては、背景に対して、前景とマスクのペアとして定義されるレイアウトオブジェクトを順次重ねて画像を合成する。背景と前景の合成法としては、
（ｉ）前景か背景のいずれかを選択する
（ii）前景の値と背景の値の加重平均をとる
の２つの場合が可能であり、（i）の場合はマスクを二値にし、マスク値が１の場合に前景、０の場合に背景を対応させて選択を行うことが可能である。また、（ii）の場合には、マスクに８ビットの正の値を持たせ、以下の式で加重平均をとることが可能である。
合成画像＝（マスク値／２５５）×前景＋｛（２５５−マスク値）／２５５｝×背景
これらのいずれのタイプの合成をとるかは、前景とマスクのペアごとに指定可能であり、各ペア用のヘッダに記載する。
【００１１】
さて、以上のＭＲＣモデルでの符号化では、高圧縮率化のために、前景や背景を高い圧縮率（ex.1/40）で圧縮する。こうした高い圧縮率では、従来のＪＰＥＧ方式を用いた場合にブロックノイズが生じることがあり、問題となりやすい。
【００１２】
そこで、先のＪＰＭを始め、前記前景や背景の圧縮方式に、高い圧縮率でも画質が維持できるＪＰＥＧ２０００が用いだされている。
【００１３】
ただし、高い圧縮率で画質が維持できるＪＰＥＧ２０００でも、タイリングという画像の分割処理を行い、かつ量子化を行って（＝非可逆で）高圧縮率での圧縮を行った場合には、従来のＪＰＥＧ同様、復号画像において分割の境界（タイル境界）が見えてしまうという周知の問題が生じる。タイリングとは、大きな画像を処理する場合に、画像を複数の矩形に分割し、該矩形毎に圧縮処理をすることで、消費メモリ量を減らす方法である（処理する画像の画素数が減れば、消費メモリ量は自然に減るからである。なお、タイリングを行っても、画像自体は１つのものとして符号化され、復号時にも１つの画像として復号される）。フィルタを用いて周波数変換を行う場合、タイルの境界に位置する画素に対しては、ある仮定に基づいて、フィルタを施すに足る分の画素補間（ex.ミラーリング）を行うのが通常である。しかし、前記仮定が実際の隣接タイルの画素値にそぐわない場合、その齟齬が量子化によって強調され、復号画像に大きな誤差を生じさせる。この結果、原画像には存在しないタイル境界が、エッジの様に見えてしまうというのである。該タイル境界の問題に関しては、「J. X. Wei、M. R. Pickering、M. R. Frater and J. F. Arnold、“A New Method for Reducing Boundary Artifacts in Block-Based Wavelet Image Compression、” in VCIP 2000、 K. N. Ngan、 T. Sikora、 M-T Sun Eds.、 Proc. of SPIE Vol. 4067、 pp. 1290-1295、 20-23 June 2000、 Perth、 Australia」や、特許文献３や特許文献４に詳しい。
【００１４】
こうしたタイル境界の問題は、タイリングさえしなければ生じないが、ＭＦＰ（Multi Function Peripheral/Printer）のようなメモリ制約のある機器の内部でＭＲＣ符号を生成しようとする場合、消費メモリ上の制限からタイリングをせざるを得ない場合がある。また逆に、ＭＦＰのようなメモリ制約のある機器の内部からＭＲＣ符号を復号してプリントアウトしようとする場合、やはり消費メモリ上の制限から、タイリングした符号しか復号できない場合がある。
【００１５】
また、前記タイル境界の問題は、画像をオーバーラップしたタイルに分割すれば生じないのもよく知られている。境界の歪みをオーバーラップした部分に生じさせ、そのオーバーラップした部分を復号側で切り取るようにすればよいからである。
【００１６】
しかしこの場合、先の様に復号側では、オーバーラップした部分を復号側で切り取ることが必須となり、１つの画像をオーバーラップさせて分割し、かつ１つの画像として符号化するエンコーダと、オーバーラップを削除し、１つの画像として再構成するデコーダとがペアで動作することが前提となる。残念ながらＪＰＥＧ２０００のベースライン仕様では、エンコーダ側ではタイルをオーバーラップさせないことになっており、デコーダ側でもオーバーラップ部分を削除しない仕様（そもそもオーバーラップしていない前提の仕様）になっている。したがって、ＪＰＥＧ２０００をベースライン仕様で用い、かつＭＲＣのような圧縮率が高いケースで用いる場合、タイル境界歪みは不可避と考えられていた。
【００１７】
しかしながら本発明者及び出願人は、ＭＲＣの場合、前景とマスクを重ねあわせるという機構を利用することによって、前記オーバーラップを削除する機能と、１つの画像として再構成する機能とを同時に提供できることを見出した。前景はオーバーラップさせて複数の画像に分割し、かつ１つではなく複数の画像として別個に符号化するものの、これら複数の前景のうち、マスクによって選択される部分同士をオーバーラップさせないように構成すれば、マスクを、オーバーラップ部分を削除するものとして機能させることができるのである。また、前景とマスクのペアを複数用いれば、前記再構成する機能を同時に提供することができるのである。
【００１８】
つまり、切り取って重ねるというＭＲＣの機構を用いれば、複数の画像として、ベースライン仕様で別個に符号化した画像を、オーバーラップを前提としないベースラインのデコーダで復号しつつも、オーバーラップ部分を取り除き、オーバーラップがないように再構成することが可能になるのである。
【００１９】
本発明は、上記事情に鑑みてなされたものであり、エンコード又はデコードのときの消費メモリを小さく抑えながら、画像の分割境界が見えない符号化又は復号を行うことができる符号化装置、符号化方法、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２０】
かかる目的を達成するために、本発明の符号化装置は、第１の画像及び第２の画像の少なくとも１つを画素毎に選択する画像を符号化する符号化装置であって、第２の画像をオーバーラップした複数の第３の画像に分割する手段と、複数の第３の画像を、周波数変換を用いて各々符号化する手段と、第３の画像に対応したマスクを生成する手段と、を有し、第３の画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積は、第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする。
【００２１】
また、本発明の符号化装置において、第３の画像に対応したマスクによって選択される領域同士がオーバーラップしないことを特徴とする。
【００２２】
また、本発明の符号化装置において、第３の画像に対応したマスクの境界が直線ではない部分を有することを特徴とする。
【００２３】
また、本発明の符号化装置において、第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ａに生じる量子化誤差が、第３の画像とは異なる別の第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ｂに生じる量子化誤差よりも大きい場合に、画素Ａから第３の画像の端部であって画素Ａに近い方に至る画素数を、画素Ｂから別の第３の画像の端部であって画素Ｂに近い方に至る画素数よりも、大きくしたことを特徴とする。
【００２４】
また、本発明の符号化装置において、第３の画像に対応したマスクによって選択される部分の、水平方向の端部あるいは垂直方向の端部に位置する１つの画素に生じる量子化誤差が大きくなるほど、画素に隣接するオーバーラップ量を大きくすることを特徴とする。
【００２５】
また、本発明の符号化装置において、マスクの符号を、複数の第３の画像の間で共有することを特徴とする。
【００２６】
本発明の符号化方法は、第１の画像及び第２の画像の少なくとも１つを画素毎に選択する画像を符号化する装置が行う符号化方法であって、第２の画像をオーバーラップした複数の第３の画像に分割するステップと、複数の第３の画像を、周波数変換を用いて各々符号化するステップと、第３の画像に対応したマスクを生成するステップと、を有し、第３の画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積は、第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする。
【００２７】
また、本発明の符号化方法において、第３の画像に対応したマスクによって選択される領域同士がオーバーラップしないことを特徴とする。
【００２８】
また、本発明の符号化方法において、第３の画像に対応したマスクの境界が直線ではない部分を有することを特徴とする。
【００２９】
また、本発明の符号化方法において、第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ａに生じる量子化誤差が、第３の画像とは異なる別の第３の画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部あるいは垂直方向の端部に位置する画素Ｂに生じる量子化誤差よりも大きい場合に、画素Ａから第３の画像の端部であって画素Ａに近い方に至る画素数を、画素Ｂから別の第３の画像の端部であって画素Ｂに近い方に至る画素数よりも、大きくしたことを特徴とする。
【００３０】
また、本発明の符号化方法において、第３の画像に対応したマスクによって選択される部分の、水平方向の端部あるいは垂直方向の端部に位置する１つの画素に生じる量子化誤差が大きくなるほど、画素に隣接するオーバーラップ量を大きくすることを特徴とする。
【００３１】
また、本発明の符号化方法において、マスクの符号を、複数の第３の画像の間で共有することを特徴とする。
【００３２】
本発明のプログラムは、コンピュータが読み取り可能なプログラムであって、本発明の符号化方法をコンピュータに実行させることを特徴とする。
【００３３】
本発明の記録媒体は、本発明のプログラムを記録したことを特徴とする。
【発明の効果】
【００３４】
本発明によれば、エンコード又はデコードのときの消費メモリを小さく抑えながら、画像の分割境界が見えない符号化又は復号を行うことが可能となる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００３６】
まず、本発明の実施形態の目的について説明する。
【００３７】
本実施形態では、エンコード又はデコード時の消費メモリを小さく抑えながら、画像の分割境界が見えない符号化又は復号を行うことを目的とする。その目的を達成するために、本実施形態では、第１の画像（背景）及び第２の画像（前景）の少なくとも１つを画素毎に選択する画像（マスク）を符号化する装置であって、前記第２の画像（前景）をオーバーラップした複数の第３の画像に分割する手段と、前記複数の第３の画像を、周波数変換を用いて各々符号化する手段と、前記第３の画像に対応したマスクを生成する手段を有し、前記第３の画像の、当該画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積が、前記第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする構成の装置を提案する。
【００３８】
なお、上記本実施形態の構成において、「第１画像（背景）及び第２の画像（前景）の少なくとも１つ」とは、第１又は第２の画像を択一的に選択してもよいし、あるいは、第１及び第２の両方の画像を選択し、両方の画素値を用いて加重平均等を行った画素値を用いてもよいことを意味している。
【００３９】
また、上記本実施形態の構成において、「前記第３の画像の、当該画像に対応したマスクによって選択される領域同士」とは、本来重なり合う必要はなく、オーバーラップは０でよいのであるが、オーバーラップが０でなければ本実施形態とは非類似との解釈を許容しないために、前記第３の画像の、当該画像に対応したマスクによって選択される領域同士において、オーバーラップする部分の面積が、前記第３の画像同士のオーバーラップした部分の面積の和よりも小さいという文言としている。
【００４０】
また、本実施形態では、エンコード又はデコード時の消費メモリを小さく抑え、かつ最小サイズのマスクを用いながら、画像の分割境界が見えない符号化又は復号を行うことを目的とする。その目的を達成するために、上記本実施形態の構成において、前記第３の画像の、当該画像に対応したマスクによって選択される領域同士がオーバーラップしないこと特徴とする装置を提案する。
【００４１】
なお、前記境界の歪みを全く生じさせないために必要となる前景のオーバーラップ量は、周波数変換に用いるフィルタのタップ長と、フィルタを（再帰的に）用いる回数によって決定される。ただし、該決定されるオーバーラップ量以下の量でも、境界の歪みを実用的に低減させること自体は可能である。オーバーラップさせればさせるほど、前景の画素数自体が大きくなってしまうため、全体の符号量が増えてしまうという副作用が生じる。したがって、オーバーラップ量は可能な限り少ない方がよい。
【００４２】
一方、オーバーラップ量を減らすと、境界が見えやすくなるわけだが、マスクの形状によって多少の緩和が可能である。人間の視覚は、規則的なものには敏感だが、不規則なものには鈍感である。したがって、マスクとマスクの境界（＝前景の継ぎ目）を、直線よりも不規則な形状（例えば凹凸状）にすれば、若干の緩和が可能である。
【００４３】
また、本実施形態では、オーバーラップ量を少なくし、かつ境界の視認性を低下させることを目的とする。その目的を達成するために、上記本実施形態の構成において、前記第３の画像に対応したマスクの境界が直線ではない部分を有すること特徴とする装置を提案する。
【００４４】
また、前記第３の画像の、当該画像に対応したマスクによって選択されない領域、即ち切り取られるべきオーバーラップ部分は、例えば前記第３の画像の上下左右に帯状に位置するが、前記帯の幅は、必ずしも上下左右で均等である必要はない。後述するが、切り取られるべき幅は、その切り取られる部分に生じる量子化誤差と相関を持たせるべきだからである。
【００４５】
また、本実施形態では、画素に生じる量子化誤差の大小関係を利用して、前記オーバーラップ部分を少なくすることを目的とする。その目的を達成するために、上記本実施形態の構成において、前記第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部（あるいは垂直方向の端部）に位置する画素Ａに生じる量子化誤差が、前記第３の画像とは異なる別の第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部（あるいは垂直方向の端部）に位置する画素Ｂに生じる量子化誤差よりも大きい場合に、画素Ａから第３の画像の端部であって画素Ａに近い方に至る画素数を、画素Ｂから前記別の第３の画像の端部であって画素Ｂに近い方に至る画素数よりも、大きくしたことを特徴とする装置を提案する。
【００４６】
また、前記タイル境界歪みは、係数の量子化の程度が大きいほど見えやすくなる。したがって、前記オーバーラップ部分は、量子化の程度が大きくなるほど、増やす必要がある。
【００４７】
また、本実施形態では、量子化の程度に対応してタイル境界歪みを見えにくくすることを目的とする。その目的を達成するために、上記本実施形態の構成において、前記第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向の端部（あるいは垂直方向の端部）に位置する１つの画素に生じる量子化誤差が大きくなるほど、前記画素に隣接する前記オーバーラップ量を大きくすることを特徴とする装置を提案する。
【００４８】
また、前記第３の画像の、当該画像に対応したマスクは、単純には第３の画像の数だけ存在するが、該マスク画像は、同じ大きさかつ同じ画素値になることも多い。マスク同士を重複させず、かつ同じ大きさのマスクに分割するのは容易だからである。この場合、マスク同士自体の符号は同じ物になる。
【００４９】
ここでＭＲＣのフォーマット、例えばＪＰＭでは、（マスクを含む）同じ画像の符号は１つだけをファイルに含み、かつ他のレイアウトオブジェクトからは、前記１つだけの符号を参照するようにすることができる。これにより、ＭＲＣのファイル容量全体を削減することができる。
【００５０】
また、本実施形態では、ＭＲＣのファイルフォーマットの共有機構を利用して、ファイル容量を削減することを目的とする。その目的を達成するために、上記本実施形態の構成において、前記マスクの符号を、前記複数の第３の画像の間で共有することを特徴とする装置を提案する。
【００５１】
また、本実施形態では、上記本実施形態の構成を有する装置のみならず、方法、コンピュータが読取可能なプログラム、そのプログラムを記録した記録媒体を提案する。
【００５２】
次に、本実施形態の符号化装置の構成について詳細に説明する。
【００５３】
図４は、本実施形態の符号化装置の構成例を示した図である。データバスを介して、ＣＰＵ（Central Processing Unit）１、ＲＡＭ（Random Access Memory）２、ＨＤＤ（Hard Disk Drive）３が接続されている。なお、ＣＰＵ１とＲＡＭ２は、例えばＰＣ（Personal Computer）等に内蔵されるものである。このような構成において、以下の流れで、原画像が符号化される。
【００５４】
〈１〉ＨＤＤ３上に記録された原画像（オリジナル画像）が、ＣＰＵ１からの命令によってＲＡＭ２上に読み込まれる。
〈２〉ＣＰＵ１は、ＲＡＭ２上の画像を読み込み、後述する本実施形態の手法を用いてＭＲＣモデルを用いた符号化を行う。
〈３〉ＣＰＵ１は、符号化後のデータを、ＲＡＭ２上の別の領域に書き込む。
〈４〉ＣＰＵ１からの命令によって、符号化後のデータがＨＤＤ３上に記録される。
【００５５】
ここで、本実施形態中で使用するＪＰＥＧ２０００の符号化方式の概要について説明する。
【００５６】
ＪＰＥＧ２０００とは、２００１年に国際標準になった、ＪＰＥＧ後継の画像符号化方式であり、その符号化処理は、概ね図５の流れで行われる。
【００５７】
まず、画像は矩形のタイルに分割される（分割数≧１）。次に、各タイルは、例えばＲＧＢの３コンポーネントで構成されるカラー画像の圧縮時には、ＤＣレベルシフト後、輝度・色差コンポーネントへのコンポーネント変換（色変換）後ウェーブレット変換がなされ、必要に応じて量子化が行われ、ビットプレーンを単位としたエントロピー符号化がなされる。また伸張時には、ビットプレーン単位でのエントロピー復号後、逆量子化を経て得られたコンポーネント毎のウェーブレット係数に対して、逆ウェーブレット変換が施され、その後逆色変換がなされてＲＧＢの画素値に戻ることを示している。
【００５８】
ここで、ＪＰＥＧ２０００のＤＣレベルシフトの変換式と逆変換式は次の通りである。
I(x、y)←I(x、y)-2＾Ｓsiz（i）    順変換
I(x、y)←I(x、y)+２＾Ｓsiz（i）    逆変換
ただし、Ｓsiz（i）は原画像の各コンポーネントｉ（ＲＧＢ画像ならｉ＝０、１、２）のビット深さから１を減じたものである。また、２＾Ｓsiz（i）は２のＳsiz（i）乗を意味し、Ｉ（x、y）は座標（x、y）における原信号値（画素値）である。
【００５９】
このＤＣレベルシフトは、ＲＧＢ信号値のような正の数である場合に、順変換では各信号値から信号のダイナミックレンジの半分を減算するレベルシフトを、逆変換では各信号値に信号のダイナミックレンジの半分を加算するレベルシフトを行うものである。ただし、このレベルシフトはＹＣｂＣｒ信号のＣｂ、Ｃｒ信号のような符号付き整数には適用されない。
【００６０】
また、ＪＰＥＧ２０００では、コンポ−ネント変換（色変換）として可逆変換（ＲＣＴ）と非可逆変換（ＩＣＴ）が定義されている。
【００６１】
ＲＣＴの順変換と逆変換は次式で表される。
〔順変換〕
Ｙ0(x、y)=floor((I0(x、y)+2*(I1(x、y)+I2(x、y))/4)
Ｙ1(x、y)=I2(x、y)-I1(x、y)
Ｙ2(x、y)=I0(x、y)-I1(x、y)
〔逆変換〕
I1(x、y)=Y0(x、y)-floor((Y2(x、y)+Y1(x、y))/4)
I0(x、y)=Y2(x、y)+I1(x、y)
I2(x、y)=Y1(x、y)+I1(x、y)
【００６２】
式中のＩは原信号、Ｙは変換後の信号を示し、ＩやＹに続く０〜２はサフィックスである。ＲＧＢ信号ならばＩ信号においてＩ０＝Ｒ、Ｉ１＝Ｇ、Ｉ２＝Ｂ、Ｙ信号においてＹ０＝Ｙ、Ｙ１＝Ｃｂ、Ｙ２＝Ｃｒと表される。またfloor（Ｘ）は実数Ｘを、Ｘを越えず、かつ、Ｘに最も近い整数に置換する関数である。
【００６３】
ＩＣＴの順変換と逆変換は次式で表される。
〔順変換〕
Y0(x、y)=0.299*I0(x、y)+0.587*I1(x、y)+0.144*I2(x、y)
Y1(x、y)=-0.16875＊I0(x、y)-0.33126＊I1(x、y)+0.5*I2(x、y)
Y2(x、y)=0.5*I0(x、y)-0.41869*I1(x、y)-0.08131*I2(x、y)
〔逆変換〕
I0(x、y)=Y0(x、y)+1.402*Y2(x、y)
I1(x、y)=Y0(x、y)-0.34413*Y1(x、y)-0.71414*Y2(x、y)
I2(x、y)=Y0(x、y)+1.772*Y1(x、y)
【００６４】
式中のＩは原信号、Ｙは変換後の信号を示す。ＲＧＢ信号ならばＩ信号においてＩ０＝Ｒ、Ｉ１＝Ｇ、Ｉ２＝Ｂ、Ｙ信号においてＩ０＝Ｙ、Ｉ１＝Ｃｂ、Ｉ２＝Ｃｒと表される。
【００６５】
そして変換後のコンポーネント（タイルコンポーネントと呼ばれる）は、ウェーブレット変換によって、ＬＬ、ＨＬ、ＬＨ、ＨＨと略称される４つのサブバンドに分割される。そしてＬＬサブバンドに対して再帰的にウェーブレット変換（デコンポジション）を繰返すと、最終的に１つのＬＬサブバンドと複数のＨＬ、ＬＨ、ＨＨサブバンドが生成される。
【００６６】
ここで、ＪＰＥＧ２０００で使用される５×３ウェーブレット変換及び９×７ウェーブレット変換（いずれか一方を選択して使用する）について説明する。
【００６７】
５×３ウェーブレット変換とは、５画素を用いて１つのローパスフィルタの出力（ローパス係数）が得られ、３画素を用いて１つのハイパスフィルタの出力（ハイパス係数）が得られる変換である。同様に９×７ウェーブレット変換とは、９画素を用いて１つのローパスフィルタの出力（ローパス係数）が得られ、７画素を用いて１つのハイパスフィルタの出力（ハイパス係数）が得られる変換である。主な違いはフィルタの範囲の違いであり、偶数位置中心にローパスフィルタ、奇数位置中心にハイパスフィルタが施されるのは同様である。
【００６８】
５×３ウェーブレット変換の変換式は次の通りである。
〔順変換〕
[step1]  C（2i+1）=P（2i+1）-floor（（P（2i）+P（2i+2））/2）
[step2]  C（2i）=P（2i）+floor（（（C（2i-1）+C（2i+1）+2）/4）
〔逆変換〕
[step1]  P（2i）=C（2i）-floor（（C（2i-1）+C（2i+1）+2）/4）
[step2]  P（2i+1）=C（2i+1）＋floor（（P（2i）+P（2i+2））/2）
【００６９】
９×７ウェーブレット変換の変換式は次のとおりである。
〔順変換〕
[step1]  C（2n+1）=P（2n+1）+α*（P（2n）+P（2n+2））
[step2]  C（2n）=P（2n）+β*（C（2n-1）+C（2n+1））
[step3]  C（2n+1）=C（2n+1）+γ*（C（2n）+C（2n+2））
[step4]  C（2n）=C（2n）+δ*（C（2n-1）+C（2n+1））
[step5]  C（2n+1）=K*C（2n+1）
[step6]  C（2n）=（1/K）*C（2n）
〔逆変換〕
[step1]  P（2n）=K*C（2n）
[step2]  P（2n+1）=（1/K）*C（2n+1）
[step3]  P（2n）=X（2n）-δ*（P（2n-1）+P（2n+1））
[step4]  P（2n+1）=P（2n+1）-γ*（P（2n）+P（2n+2））
[step5]  P（2n）=P（2n）-β*（P（2n-1）+P（2n+2））
[step6]  P（2n）=P（2n+1）-α*（P（2n）+P（2n+2））
ただし、α＝-1.586134342059924
β＝-0.052980118572961
γ＝0.882911075530934
δ＝0.443506852043971
Ｋ＝1.230174104914001
【００７０】
次に、ウェーブレット変換の手順及びデコンポジションレベル、解像度レベル、サブバンドの定義について説明する。
【００７１】
図６、図７、図８、図９は、１６×１６の画像（の輝度コンポーネント）に対して、５×３変換と呼ばれるウェーブレット変換を２次元（垂直方向及び水平方向）で施す過程の例を示したものである。図６の様にｘｙ座標をとり、あるｘについて、ｙ座標がｙである画素の画素値をP（y）（0≦ｙ≦15）と表す。ＪＰＥＧ２０００では、まず垂直方向（Y座標方向）に、ｙ座標が奇数（y=2i+1）の画素を中心にハイパスフィルタを施して係数C（2i+1）を得、次にｙ座標が偶数（y=2i）の画素を中心にローパスフィルタを施して係数C（2i）を得る（これを全てのｘについて行う）。ここで、ハイパスフィルタ、ローパスフィルタは、順に前記step１、step２式で表される。尚、画像の端部にフィルタを施す場合には、中心となる画素に対して隣接画素が十分に存在しないことがあり、この場合はミラーリングと呼ばれる方法によって適宜画素値を補うことになる。ミラーリングとは、画像端部の外側に仮想的な画素を想定し、画像端部の画素を対称軸として、端部の内側の画素値を、端部の外側の画素に対して線対称にコピーする周知の手法である（図６参照。ミラーリングは画像（タイル）の上下左右の４端全てで行われる）。
【００７２】
簡単のため、ハイパスフィルタで得られる係数をH、ローパスフィルタで得られる係数をLと表記すれば、前記垂直方向の変換によって図６の画像は図７のようなL係数、H係数の配列へと変換される。
【００７３】
続いて、今度は図７の係数配列に対して、水平方向に、ｘ座標が奇数（y=2i+1）の係数を中心にハイパスフィルタを施し、次にｘ座標が偶数（ｘ=2i）の係数を中心にローパスフィルタを施す（これを全てのｙについて行う。この場合、step１、２のP（2i）等は係数値を表すものと読み替える）。
【００７４】
続いて、今度は図７の係数配列に対して、水平方向に、ｘ座標が奇数（y=2i+1）の係数を中心にハイパスフィルタを施し、次にｘ座標が偶数（ｘ=2i）の係数を中心にローパスフィルタを施す（これを全てのｙについて行う。この場合、step１、２のP（2i）等は係数値を表すものと読み替える）。
【００７５】
簡単のため、前記L係数を中心にローパスフィルタを施して得られる係数をLL、前記L係数を中心にハイパスフィルタを施して得られる係数をHL、前記H係数を中心にローパスフィルタを施して得られる係数をLH、前記H係数を中心にハイパスフィルタを施して得られる係数をHH、と表記すれば、図７の係数配列は、図８の様な係数配列へと変換される。ここで同一の記号を付した係数群はサブバンドと呼ばれ、図８は４つのサブバンドで構成される。
【００７６】
以上で、垂直・水平の各方向に対して各１回のウェーブレット変換（１回のデコンポジション（分解））が終了し、上記LL係数だけを集めると（図９の様にサブバンド毎に集め、LLサブバンドだけ取り出すと）、ちょうど原画像の１／２の解像度の“画像”が得られる（このように、サブバンド毎に分類することをデインターリーブと呼び、図４のような状態に配置することを、インターリーブするという）。
【００７７】
また、２回目のウェーブレット変換は、該LLサブバンドを原画像と見なして、上記と同様の変換を行えばよい。この場合、並べ替えを行うと、模式的な図１０が得られる（なお、図５、図６の係数の接頭の１や２は、水平・垂直に関し各何回のウェーブレット変換で該係数が得られたかを示しており、デコンポジションレベルと呼ばれる。また、デコンポジションレベルとほぼ逆の関係にある、解像度レベルの定義を図１１に示す。なお、以上の議論において、１次元のみのウェーブレット変換をしたい場合には、いずれかの方向だけの処理を行えばよく、いずれかの方向に関してウェーブレット変換を行った回数がデコンポジションレベルとなる。
【００７８】
以上のようなデコンポジションとミラーリングを繰り返すと、ミラーリングの影響を受けた係数（ミラーリングを用いて算出された係数及びそれらの係数の値を用いて算出された係数）は指数的に増加し、タイルの内部に及んでいく。
【００７９】
例えば、画像の左端が偶数座標で、５×３フィルタの場合、フィルタのタップ長を元にした計算を行うと、左端から「２のデコンポジションレベル乗＋１」だけの数の係数がミラーリングの影響を受ける（但し、デコンポジションレベル≧2の場合）ことがわかる。例えば、デコンポジションレベルが５の場合、2^5+1=33個の係数が、ミラーリングの影響を受けることになる。
【００８０】
また、画像の左端が奇数座標で、５×３フィルタの場合、左端から「２の（デコンポジションレベル−1）乗＋１」だけの数の係数がミラーリングの影響を受ける（但し、デコンポジションレベル≧2の場合）。例えば、デコンポジションレベルが５の場合、2^4+1=17個の係数が、ミラーリングの影響を受けることになる。
【００８１】
さて一方、ウェーブレット逆変換は、図８の様なインターリーブされた係数の配列に対して、まず水平方向に、ｘ座標が偶数（ｘ=2i）の係数を中心に逆ローパスフィルタを施し、次にｘ座標が奇数（ｘ=2i+1）の係数を中心に逆ハイパスフィルタを施す （これを全てのｙについて行う）。ここで逆ローパスフィルタ、逆ハイパスフィルタは、順に前記step３、４式で表される。先と同様、画像の端部においては、中心となる係数に対して隣接係数が存在しないことがあり、この場合はも前記ミラーリングによって適宜係数値を補うことになる。
【００８２】
これにより、図８の係数配列は図７のような係数配列に変換（逆変換）される。続いて同様に、垂直方向に、ｙ座標が偶数（y=2i）の係数を中心に逆ローパスフィルタを施し、次にｙ座標が奇数（y=2i+1）の係数を中心に逆ハイパスフィルタを施せば （これを全てのｘについて行う）、１回のウェーブレット逆変換が終了し、図６の画像に戻る（再構成される）ことになる。尚ウェーブレット変換が複数回施されている場合は、やはり図６をLLサブバンドとみなし、HL等の他の係数を利用して同様の逆変換を繰り返せばよい。
【００８３】
以上のような逆変換（コンポジション）とミラーリングを繰り返すと、ミラーリングの影響を受けた係数の値を用いて逆ローパスフィルタ、逆ハイパスフィルタが施されて影響が伝搬される結果、ミラーリングの影響を受けた係数（ミラーリングを用いて算出された係数及びそれらの係数の値を用いて算出された係数）はさらに指数的に増加し、タイルの内部に及んでいく。
【００８４】
例えば、画像の左端が偶数座標の５×３フィルタの場合、逆変換によって、最終的に左端から「２の（デコンポジションレベル＋１）乗」だけの数の画素（逆変換によって係数は最終的に画素になる）がミラーリングの影響を受ける（但し、デコンポジションレベル≧2の場合）。例えば、デコンポジションレベルが５の場合、2^6=64個の係数が、ミラーリングの影響を受けることになる。
【００８５】
また、画像の左端が奇数座標の５×３フィルタの場合、逆変換によって、最終的に左端から「２の（デコンポジションレベル＋１）乗−１」だけの数の画素（逆変換によって係数は最終的に画素になる）がミラーリングの影響を受ける（但し、デコンポジションレベル≧2の場合）。例えば、デコンポジションレベルが５の場合、2^6−１=63個の係数が、ミラーリングの影響を受けることになる。
【００８６】
つまり、タイリングを行って５回デコンポジションを行う場合、タイルの境界から64又は63個の画素は、タイリングによる影響を受けており、タイリングを行わない場合の画素値とは異なる画素値となっていることになる。よって、タイリングによる影響を完全に除きたいのならば、タイルの周辺64又は63個の画素分を除去すればよいことになる。
【００８７】
しかし、５回デコンポジションを行う場合の典型的なタイルサイズは512画素×512画素であり、512に対して左端64画素、右端63画素を除く（あるいは除く分だけタイルサイズを大きくしておく）というのは、４割以上の画素を除くことになり、効率が悪い。
【００８８】
一方、タイリングによる影響（タイル境界の目立ち方）は、係数に施される量子化に伴って大きくなり（タイリングをしても量子化をしなければロスレスであることに注意されたい）、通常、偶数座標位置の係数（ローパス係数）に施される量子化は、奇数座標位置の係数（ハイパス係数）に施される量子化よりも遙かに小さい（画質への影響が、ローパス係数＞＞ハイパス係数だからである）。したがって、タイル境界の画素の奇偶によって、前記除去する数にはアクセントを付けることができる。
【００８９】
前記５×３フィルタでタイル左端境界の画素の座標が偶数（ローパスフィルタが施される位置）である場合、デコンポジションが５だと（理論的には）64画素を除去する必要があるが、タイル境界に位置するローパス係数に生じる量子化誤差は少なく、かつこの少ない誤差がタイル内部に伝搬される。
【００９０】
一方、前記５×３フィルタでタイル右端境界の画素の座標が奇数（ハイパスフィルタが施される位置）である場合、デコンポジションが５だと（理論的には）63画素を除去する必要があるが、タイル右端の境界に位置するハイパス係数に生じる量子化誤差は大きく、かつこの大きな誤差がタイル内部に伝搬される。
【００９１】
つまり、境界位置から除去する画素数は、
理論的には、  左６４、右６３画素  で左＞右
であるが、誤差を考慮するなら、誤差の大小関係にあわせて、
左  ＜＜  右
と完全に逆転させていいのである。
【００９２】
さて、符号化処理の流れに戻るが、次に各サブバンドはプリシンクトとよばれる矩形に分割される。プリシンクトとは、サブバンドを矩形に分割したもの（をＨＬ、ＬＨ、ＨＨの３つのサブバンドについて集めた物。プリシンクトは３つで１まとまり。ただしＬＬサブバンドを分割したプリシンクトは１つで１まとまり）で、大まかには画像中の場所（Position）を表すものである。プリシンクトはサブバンドと同じサイズにでき、プリシンクトをさらに矩形に分割したものがコードブロックである（図１２参照）。よって、物理的な大きさの序列は、画像≧タイル＞サブバンド≧プリシンクト≧コードブロックとなる。
【００９３】
以上の分割の後、係数のエントロピー符号化（ビットプレーン単位でのＭＱ符号化）が、サブバンド単位で、コードブロック毎かつビットプレーン順に成される。本願実施例においては、図５の５０１のように、最上位ビットプレーンから、テーブルで予め規定された下位ビットプレーンまでをMQ符号化する。
【００９４】
本実施形態においては、前記「最上位ビットプレーンから、テーブルで予め規定された下位ビットプレーンまで」を必要な符号と見なすため、図５の５０２）において括弧で記載した不要な符号は存在しない。これら「最上位ビットプレーンから、テーブルで予め規定された下位ビットプレーンまで」の符号に対して、ヘッダをつけたものをパケットと呼ぶ。パケットヘッダには、当該パケットに含まれる符号に関する情報が含まれ、各パケットは独立に扱うことができる。いわばパケットは符号の単位である。
【００９５】
そして全てのプリシンクト（＝全てのコードブロック＝全てのサブバンド）に関して、必要なパケットのみを選択し、パケットを並べて符号を形成する。
【００９６】
以上をもとに、図１３、図１４は、本実施形態における具体例の概要及びその流れを図示したものである。本具体例では、原画像のサイズは横256×縦128画素である。
【００９７】
まず、原画像に対し、画素単位で、文字・線画を構成する画素（以下、文字画素）であるかどうかが判別される（ステップ1401）。
【００９８】
これは公知の像域判別技術によって行われ、本例では原画像の各画素に対し、エッジ検出オペレータとして周知のSobelフィルタを作用させる。Sobelフィルタは、注目画素を中心とした上下左右の９つの画素に対して、図１５に示す第１の重みマトリクスを乗算して、その和HSを算出し、同様に図１６に示す第２のマトリクスを乗算してその和VSを算する。そして、（HS^2＋VS^2の）平方根をフィルタの出力値とする。
【００９９】
このフィルタ出力値が例えば３０以上の場合に、注目画素が文字画素であると判断し、該注目画素位置の値を１にし、それ以外の画素の値を０にすることで、マスク３を生成する（二値画像の場合、黒＝１、白＝０が通例である）。
【０１００】
また、文字・線画領域に属さない画素（以下、非文字画素）の色を、当該画素の最も近傍に位置する文字画素の色で置換し、前景３を生成する（1402）。本例ではこの処理は、タイル内のすべての非文字画素に対して行われるため、図１３のように、タイル内は文字の色で置換される。
【０１０１】
次に、原画像おける文字・線画領域の画素の色を、当該画素の最も近傍に位置する非文字画素の色で置換し、前景ｆを生成する（1403）。
【０１０２】
続いて、図１７の中段の様に、前景Ｆを横133x縦128画素の画像１と、横130x縦128画素の画像２（画像１、２は、請求項１でいう第３の画像に相当）に２分割する（1404）。本例では、画像１の左端の画像のx座標は0（ローパスフィルタ位置）にとる。
【０１０３】
続いて、原画像を128x128に２分割し、かつ画素値１の画像としてマスク１、２を作成する（1404）。マスク１、２はオーバーラップしていないため、上述した本実施形態の構成における「前記第３の画像の、当該画像に対応したマスクによって選択される領域同士」がオーバーラップする部分の面積は０であり、前記第３の画像同士のオーバーラップした部分の面積の和よりも小さい。
【０１０４】
また、本例では、画像１の左端の画像のx座標は0（ローパスフィルタ位置）にとっているため、上述した本実施形態の構成における「前記第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向の端部（あるいは垂直方向の端部）に位置する画素Ａに生じる量子化誤差」は、ローパス係数に生じる量子化誤差が基になる（“基になる"とは、逆ウェーブレット変換によって、１つの係数の誤差は周囲の係数に伝搬されるため、必ずしもイコールではないことを意味したものである）。
【０１０５】
一方、画像２の左端の画像のx座標は0（ローパスフィルタ位置）にとっているため、上述した本実施形態の構成における「前記第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部（あるいは垂直方向の端部）に位置する画素Ａ」とは、例えば図１８で示した画素AAであり、この例においては、水平方向の座標は127（奇数）なので、請求項４でいう「画素Ａに生じる量子化誤差」は、ハイパス係数に生じる量子化誤差が基になる（“基になる"とは、逆ウェーブレット変換によって１つの係数の誤差は周囲の係数に伝搬されるため、必ずしもイコールではないことを意味したものである）。
【０１０６】
同様に、上述した本実施形態の構成における「前記第３の画像とは異なる別の第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部（あるいは垂直方向の端部）に位置する画素B」とは、例えば図１８で示した画素BBであり、この例においては、水平方向の座標は128（偶数）なので、上述した本実施形態の構成における「画素Bに生じる量子化誤差」は、ローパス係数に生じる量子化誤差が基になる。
【０１０７】
本例においては、一般的な例と同様に、ハイパス係数の量子化の程度はローパス係数よりも大きいため、上述した本実施形態の構成における「画素Ａから第３の画像の端部であって画素Ａに近い方に至る画素数」である（133−128＝）5画素は、「画素Ｂから前記別の第３の画像の端部であって画素Ｂに近い方に至る画素数」である（130−128＝）2画素よりも、大きくなっている。
【０１０８】
ここで、5や2というオーバーラップ部分の画素数は、デコンポジションレベルから算出される理論計算値よりも小さくとっている。本例においては、オーバーラップ部分の符号量を最小にしたいからである。
【０１０９】
なお、図１８において、画像１のサイズを132ではなく、133にしたのには理由がある。132にした場合、画像１の右端は奇数座標になり、ハイパスフィルタが施される結果、大きな量子化が行われる。一方、133にすれば、画像１の右端は偶数座標になり、ローパスフィルタが施される結果、小さな量子化が行われる。よって画像右端からの「ミランリング＋量子化誤差」の影響を小さくしようと思えば、画像右端を偶数座標にする方がよいのである。このように、画像サイズを奇数にし、かつ画像の両端にローパスフィルタが施されるような座標を用いる手法は、前記「J. X. Wei、 M. R. Pickering、 M. R. Frater and J. F. Arnold、 "A New Method for Reducing Boundary Artifacts in Block-Based Wavelet Image Compression、" in VCIP 2000、 K. N. Ngan、 T. Sikora、 M-T Sun Eds.、 Proc. of SPIE Vol. 4067、 pp. 1290-1295、 20-23 June 2000、 Perth、 Australia」に詳しい。
【０１１０】
続いて、原画像と同じサイズの白い画像として背景画像を作成する（1406）。
【０１１１】
そして、前景１と４つの前景画像を、５×３フィルタを用い、デコンポジションレベル＝２としてＪＰＥＧ２０００で符号化する（1408）。本実施例においては、図５の501のように、最上位ビットプレーンから、図１９のテーブルで予め規定されたビットプレーン数を除いたビットプレーンまでをMQ符号化する。図１９のテーブルは、Y、Cb、Crのコンポ−ネント毎に、当該デコンポジションレベルの当該サブバンドにおいて、符号化しない下位ビットプレーンの数を示したものであある。例えは、Yコンポ−ネントのデコンポジションレベル１におけるHHサブバンドについては、下位の４枚分のビットプレーンの符号化を行わない。
【０１１２】
続いて、マスク１、マスク２（ともに２値画像）を、周知のMMRで符号化する（1408）。最後に、背景をＪＰＭ仕様で符号化し（エントロピー符号化は行わず、符号として背景色を指定する。1409）、全ての前景、マスク、背景の符号を結合し、所望のヘッダを付してＪＰＭの符号を得る。
【０１１３】
図２０、図２１は、図１８、１９との関係で本実施形態における具体例を示したものである。上述した本実施形態の構成における「画素Ａから第３の画像の端部であって画素Ａに近い方に至る画素数」は、135−128＝7画素に、「画素Ｂから前記別の第３の画像の端部であって画素Ｂに近い方に至る画素数」は132−128＝4画素と、図１８、１９に比べて大きくなっている。
【０１１４】
これは、図２１の様に、符号化しないビットプレーン数を図１９に比べて増やしているからである。
【０１１５】
また、マスク１及びマスク２は、同じ画像サイズかつ同じ画素値を有するため、MMRの符号としては同じものになる。したがって、マスク２の符号を別個持つ必要はなく、典型的なＭＲＣ符号においては、図２２のように、画像２に対応した間マスクの符号としては、マスク１への符号へのリンクを格納してやればよい。
【０１１６】
上記リンクをＪＰＭファイルで行う場合には、複数回参照される前記マスク１の符号を、Shared Data Entry Boxに格納し、画像２に対応したマスクの符号のリンク先として、Shared Data Refernce Box中に、前記Shared Data Entry BoxのIDを記載してやればよい（図２３、図２４、図２５参照）。
【０１１７】
なお、ＪＰＭにおける、背景に対する各レイアウトオブジェクトの配置や大きさの情報であるが、図２６の様に、レイアウトオブジェクトのIDや重ね順、縦横の画素数、背景に対する配置上のオフセットは、Layout Object Header Boxに記載する。
【０１１８】
また、各レイアウトオブジェクトを構成する前景、背景の配置や大きさの情報であるが、図２７の様に、背景に対する配置上のオフセットは、Object Header Boxに記載する。各オブジェクトの画素数は、各オブジェクトの符号中に記載する。
【０１１９】
図２５のように、各オブジェクト（前景やマスク）は、背景に対する配置上のオフセットを設定できるため、マスク１の符号を参照しつつ、画像２の位置に配置することが可能である。
【０１２０】
また、前景を４画像に分割する場合は、図２８のように容易に構成できる。
【０１２１】
また、図２９に示すように構成してもよい。図２９では、マスクの端部が１画素ずつの凹凸形状になっており、マスク１、マスク２の凹凸が互いにかみ合うように構成されている。
【０１２２】
なお、上記説明ではファイルフォーマットとしてＪＰＭを用いたが、ＭＲＣタイプであれば何でも良く、ＭＲＣタイプのＰＤＦもその範疇であることは言うまでもない。
【０１２３】
また、上述したフローチャートに示す動作は、ハードウェア、又は、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
【０１２４】
ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させてもよい。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させてもよい。
【０１２５】
例えば、プログラムは、記録媒体としてのハードディスクやＲＯＭ（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＭＯ（Magneto optical）ディスク、ＤＶＤ（Digital Versatile Disc）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。
【０１２６】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送してもよい。又は、ＬＡＮ（Local Area Network）、インターネットといったネットワークを介して、コンピュータに有線で転送してもよい。コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
【０１２７】
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【０１２８】
以上説明した本実施形態によれば、以下の効果を奏する。
【０１２９】
本実施形態は、第１の画像（背景）及び第２の画像（前景）の少なくとも１つを画素毎に選択する画像（マスク）を符号化する装置であって、前記第２の画像（前景）をオーバーラップした複数の第３の画像に分割する手段と、前記複数の第３の画像を、周波数変換を用いて各々符号化する手段と、前記第３の画像に対応したマスクを生成する手段を有し、前記第３の画像の、当該画像に対応したマスクによって選択される領域同士がオーバーラップする部分の面積が、前記第３の画像同士のオーバーラップした部分の面積の和よりも小さいことを特徴とする。よって、エンコード又はデコードのときの消費メモリを小さく抑えながら、画像の分割境界が見えない符号化又は復号を行うことが可能となる。
【０１３０】
また、上記本実施形態の構成において、前記第３の画像の、当該画像に対応したマスクによって選択される領域同士がオーバーラップしないこと特徴とする。よって、エンコード又はデコードのときの消費メモリを小さく抑え、かつ最小サイズのマスクを用いながら、画像の分割境界が見えない符号化又は復号を行うことが可能となる。
【０１３１】
また、上記本実施形態の構成において、前記第３の画像に対応したマスクの境界が直線ではない部分を有することを特徴とする。よって、オーバーラップ量を少なくし、かつ境界の視認性を低下させることができる。
【０１３２】
また、上記本実施形態の構成において、前記第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部（あるいは垂直方向の端部）に位置する画素Ａに生じる量子化誤差が、前記第３の画像とは異なる別の第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向のオーバーラップ側の端部（あるいは垂直方向の端部）に位置する画素Ｂに生じる量子化誤差よりも大きい場合に、画素Ａから第３の画像の端部であって画素Ａに近い方に至る画素数を、画素Ｂから前記別の第３の画像の端部であって画素Ｂに近い方に至る画素数よりも、大きくしたことを特徴とする。よって、画素に生じる量子化誤差の大小関係を利用して、前記オーバーラップ部分を少なくすることができる。
【０１３３】
また、上記本実施形態の構成において、前記第３の画像の当該画像に対応したマスクによって選択される部分の、水平方向の端部（あるいは垂直方向の端部）に位置する１つの画素に生じる量子化誤差が大きくなるほど、前記画素に隣接する前記オーバーラップ量を大きくすることを特徴とする。よって、量子化の程度に対応してタイル境界歪みを見えにくくすることができる。
【０１３４】
また、上記本実施形態の構成において、前記マスクの符号を、前記複数の第３の画像の間で共有することを特徴とする。よって、ＭＲＣのファイルフォーマットの共有機構を利用して、ファイル容量を削減することができる。
【０１３５】
本実施形態は、上記本実施形態の装置の構成を、方法、コンピュータが読取可能なプログラム、そのプログラムを記録した記録媒体にて実現することを特徴とする。よって、方法、プログラム、記録媒体においても、上記本実施形態の装置と同じ効果を得ることができる。
【０１３６】
以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【産業上の利用可能性】
【０１３７】
本発明は、マルチレイヤの画像を符号化する装置、システム、方法、プログラム全般に応用できる。
【図面の簡単な説明】
【０１３８】
【図１】ＭＲＣを説明するための概念図である。
【図２】ＭＲＣ符号の構成例を示す図である。
【図３】ＪＰＭ符号の構成例を示す図である。
【図４】本発明の一実施形態である符号化装置の構成を示す図である。
【図５】ＪＰＥＧ２０００の圧縮・伸張の流れを示す図である。
【図６】ＤＣレベルシフト後の原画像と座標系、ミラーリングを示す図である。
【図７】垂直方向へのフィルタリング後の係数の配列を示す図である。
【図８】水平方向へのフィルタリング後の係数の配列を示す図である。
【図９】並び替えた係数の配列を示す図である。
【図１０】２回の変換後、並び替えた係数の配列を示す図である。
【図１１】デコポジションレベルと解像度レベルの関係を示す図である。
【図１２】画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。
【図１３】本発明の実施形態における具体例を説明するための概念図である。
【図１４】本発明の実施形態における符号化処理を示すフローチャートである。
【図１５】Sobelオペレータの例を示す図である。
【図１６】Sobelオペレータの例を示す図である。
【図１７】本発明の実施形態における、原画像、オーバーラップさせた画像、オーバーラップしないマスクの構成例を示す図である。
【図１８】本発明の実施形態における、画素Ａ及び画素Ｂの一例を示す図である。
【図１９】本発明の実施形態における、符号化しないビットプレーン数の一例を示す図である。
【図２０】本発明の実施形態における、画素Ａ及び画素Ｂの一例を示す図である。
【図２１】本発明の実施形態における、符号化しないビットプレーン数の一例を示す図である。
【図２２】本発明の実施形態における、ＭＲＣ符号ファイルの構成例を示す図である。
【図２３】本発明の実施形態における、ＪＰＭ符号ファイルの構成例を示す図である。
【図２４】本発明の実施形態における、ＪＰＭファイルのShared Data Entry Boxの一例を示す図である。
【図２５】本発明の実施形態における、ＪＰＭファイルのShared Data Reference Boxの一例を示す図である。
【図２６】本発明の実施形態における、ＪＰＭファイルのLayout Object Header Boxの一例を示す図である。
【図２７】本発明の実施形態における、ＪＰＭファイルのLayout Object Header Boxの一例を示す図である。
【図２８】本発明の実施形態における、オーバーラップさせた画像、オーバーラップしないマスクの構成例を示す図である。
【図２９】本発明の実施形態における、画素Ａ及び画素Ｂの一例を示す図である。
【符号の説明】
【０１３９】
１    ＣＰＵ
２    ＲＡＭ
３    ＨＤＤ
【図１】
2010130622.tif 000003
【図２】
2010130622.tif 000004
【図３】
2010130622.tif 000005
【図４】
2010130622.tif 000006
【図５】
2010130622.tif 000007
【図６】
2010130622.tif 000008
【図７】
2010130622.tif 000009
【図８】
2010130622.tif 000010
【図９】
2010130622.tif 000011
【図１０】
2010130622.tif 000012
【図１１】
2010130622.tif 000013
【図１２】
2010130622.tif 000014
【図１３】
2010130622.tif 000015
【図１４】
2010130622.tif 000016
【図１５】
2010130622.tif 000017
【図１６】
2010130622.tif 000018
【図１７】
2010130622.tif 000019
【図１８】
2010130622.tif 000020
【図１９】
2010130622.tif 000021
【図２０】
2010130622.tif 000022
【図２１】
2010130622.tif 000023
【図２２】
2010130622.tif 000024
【図２３】
2010130622.tif 000025
【図２４】
2010130622.tif 000026
【図２５】
2010130622.tif 000027
【図２６】
2010130622.tif 000028
【図２７】
2010130622.tif 000029
【図２８】
2010130622.tif 000030
【図２９】
2010130622.tif 000031