(57)【要約】【課題】  画像データを圧縮符号化した符号列中で、ブロック単位の符号データを編集処理して、編集後の符号データと編集処理が施されていない符号データとを結合して新たな符号列を生成する処理を、高速に実現できるようにする。【解決手段】  該当符号を復号してブロック単位の符号を復元し（ステップＳ１）、続いて、復元された画像に対して編集処理を行う（ステップＳ２）。最後に、編集後の画像に対して元の符号と同じ方法で符号化を行い、元の符号列と同じ形式の符号列を作成する（ステップＳ３）。ステップＳ３では、編集で作成された新たなブロック単位の符号データと符号列中の編集処理が施されていない符号データとを結合して新たな符号列を生成する。この場合、編集の前後のブロック単位の符号データの符号量に変化に応じて結合を実行する最適な手段を複数の手段の中から選択する。【選択図】    図１８
2006086579.tif 000002
【特許請求の範囲】
【請求項１】
元画像のデータを所定のフォーマットにより圧縮符号化した符号列中で独立して編集処理が可能な特定のブロック単位の符号データを対象に所定の編集処理を施して新たなブロック単位の符号データを作成する手段と、
前記符号列中の元のブロック単位の符号データを参照して、作成された前記新たなブロック単位の符号データと前記符号列中の前記編集処理が施されていない符号データとを結合して新たな符号列を生成する手段と、
を備えている画像処理装置。
【請求項２】
前記符号列を生成する手段は、前記編集の前後の前記ブロック単位の符号データの符号量に変化に応じて前記結合を実行する手段を複数の手段の中から選択する、請求項１に記載の画像処理装置。
【請求項３】
前記符号列を生成する手段は、前記編集後の前記ブロック単位の符号データが前記編集前よりデータ量が多くなる場合には、前記新たに作成された符号データを前記新たな符号列の最後尾に追加する形で前記結合を行う、請求項２に記載の画像処理装置。
【請求項４】
前記符号列を生成する手段は、前記編集後の前記ブロック単位の符号データが前記編集前よりデータ量が多くなる場合には、符号化パラメータの変更により前記編集後の前記ブロック単位の符号データが前記編集前の符号データのデータ量を超えないようにする、請求項２に記載の画像処理装置。
【請求項５】
前記所定のフォーマットはＪＰＥＧ２０００である、請求項１〜４のいずれかの一に記載の画像処理装置。
【請求項６】
元画像のデータを所定のフォーマットにより圧縮符号化した符号列中で独立して編集処理が可能な特定のブロック単位の符号データを対象に所定の編集処理を施して新たなブロック単位の符号データを作成する手段と、
前記符号列中の元のブロック単位の符号データを参照して、作成された前記新たなブロック単位の符号データと前記符号列中の前記編集処理が施されていない符号データとを結合して新たな符号列を生成する手段と、
をコンピュータに実行させるコンピュータに読取可能なプログラム。
【請求項７】
前記符号列を生成する手段は、前記編集の前後の前記ブロック単位の符号データの符号量に変化に応じて前記結合を実行する手段を複数の手段の中から選択する、請求項６に記載のプログラム。
【請求項８】
前記符号列を生成する手段は、前記編集後の前記ブロック単位の符号データが前記編集前よりデータ量が多くなる場合には、前記新たに作成された符号データを前記新たな符号列の最後尾に追加する形で前記結合を行う、請求項７に記載のプログラム。
【請求項９】
前記符号列を生成する手段は、前記編集後の前記ブロック単位の符号データが前記編集前よりデータ量が多くなる場合には、符号化パラメータの変更により前記編集後の前記ブロック単位の符号データが前記編集前の符号データのデータ量を超えないようにする、請求項７に記載のプログラム。
【請求項１０】
前記所定のフォーマットはＪＰＥＧ２０００である、請求項６〜９のいずれかの一に記載のプログラム。
【請求項１１】
請求項６〜１０のいずれかの一に記載のプログラムを記憶している、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮符号化した符号列を編集する画像処理装置、この画像処理装置を実現するプログラム、及び、このプログラムを記憶している記憶媒体に関する。
【背景技術】
【０００２】
多値画像(特にカラー画像)を可逆に符号化する符号化方式として、ＩＴＵ−ＴとＩＳＯとで標準方式とされているＪＰＥＧ２０００方式が知られている（非特許文献１を参照）。
【０００３】
【非特許文献１】ISO 15444-1  JPEG2000 Image Coding System (JPEG2000)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年のデジタル機器においては、高画質化のために、解像度を高くし、あるいは、階調数を多くする傾向がある。これにより画像の持つ情報量が多くなることで画質は向上する反面、画像の情報量が多くなるという問題がある。後者の例を挙げると、例えば、従来２階調（白または黒）値であった画像を白黒２５６階調の画像にすると、情報量は８倍になってしまう。情報量が８倍になるということは、その画像データを記憶するために必要とされる記憶容量も単純に計算すると８倍になってしまい、装置の製造コストが増大するという問題になる。そこで、通常は記憶容量を削減するために、画像を圧縮符号化する。
【０００５】
このような符号化方式の１つに、多階調画像を効率良く符号化するための技術が存在する。この多階調画像（カラー画像も含む）の符号化方式の代表としては、ＩＳＯとＩＴＵ−Ｔとで標準勧告されているＪＰＥＧ方式がある。ＪＰＥＧ方式は、基本であるＤＣＴ方式とオプションのＤＰＣＭを用いた方式がある。前者は人間の視覚特性を利用して画質を損なわない程度に原画の情報量を一部削減して符号化を行う符号化方式（非可逆符号化方式、ロッシー（lossy）符号化方式と呼ばれる）であり、後者は原画の情報量を損なうことなく符号化を行う符号化方式（可逆符号化方式、ロスレス（lossless）符号化方式と呼ばれる）である。
【０００６】
ＤＣＴ方式は、離散コサイン変換を使って画像情報を周波数情報に変換した後に情報の符号化を行う方式である。一方、ＤＰＣＭ方式は注目画素レベルを周囲画素より予測を行い、その予測誤差を符号化する方式である。画質重視で符号化を行うのであれば、効率の良いＤＣＴ方式を用いるのが良いが、情報の保存性という点ではＤＣＴ方式は非可逆であるために、可逆であるＤＰＣＭ方式となる。理想としては、可逆で高能率な方式があればよいが、現状のＤＰＣＭによる可逆方式ではそれほど大きな効率を得られないという問題があり、パーソナルコンピュータ（ＰＣ）等で使用される比較的階調数の多い多値画像の圧縮には、ＤＣＴ方式を使うことが主流になっている。しかし、ＤＣＴ方式は圧縮率を高くすると特有のブロック歪みや輪郭部でモスキートノイズが発生し、画質が極端に劣化する。特に文字画像において、その傾向が顕著であるために画質的に大きな問題となっている。
【０００７】
また、ＪＰＥＧ方式は、画像の記憶容量を少なくする用途では最適な方式であるが、デジタル複写機で使われる画像の編集・加工等の用途には最適ではない。なぜなら、符号状態で画像の位置を特定できない、言い換えれば、指定された画像の任意部分のみ復号処理することができないからである。よって、編集・加工処理を行うためには、一度、画像全てを復号し、復号後の画像に対して編集・加工を行い、必要であれば、再度、符号化を行うということになり、復号後の画像を記憶するための大きな記憶容量のメモリが必要になるという問題がある（例えば、Ａ４サイズ、６００dpi、ＲＧＢカラー画像で、約１００Mbyte必要である）。
【０００８】
このような編集・加工処理時のメモリの記憶容量の問題を解決する手段の一つに、固定長の符号化方式を利用することが考えられる。画像の符号化には符号化後の符号語長から可変長と固定長に大きく分けられる。前者の特徴は、後者に比べて符号化効率が良い点と可逆も可能である点にある。これ対し、後者の特徴は、符号の状態で符号化前の画像の位置がわかるために、画像中の任意の部分のみを再生することなどが可能である。これは、符号状態のまま、画像の編集・加工処理等が可能になることを意味している。しかし、その反面、可変長符号に比べて、一般的に符号化効率が悪く、可逆符号化も困難であるという問題がある。
【０００９】
以上のＪＰＥＧ方式の欠点を解決するために、ＪＰＥＧ２０００と称する符号化方式が近年、注目されている。ＪＰＥＧ２０００は、ウェーブレット変換を用いた変換符号化方式で、今後、カラー画像をはじめとする静止画像の分野において、ＪＰＥＧに置き換わっていくだろうと予測されている。ＪＰＥＧ２０００は、ＪＰＥＧの欠点である低ビットレートでの画質劣化を少なくしたことに加え、実用的な新機能を多数備えている。その中の機能にタイル処理というものがあり、これは画像を小さな領域に分けて独立に符号化を行うため、符号状態で画像の領域を特定することが可能になり、結果的に、符号状態のままで画像の編集・加工処理が可能になる。
【００１０】
しかし、ＪＰＥＧ２０００の技術にも、まだ問題はある。それは、符号列中の一部のフ号データを編集処理した際に、その編集処理後の符号データが編集前の符号データよりデータ量が多くなってしまった場合である。この場合、編集後の符号データを符号列中に挿入するために、編集した部分以降の符号データを挿入するのに必要とされる分だけ、符号列を再配置する処理が必要となる。メモリ上での処理を例にとれば、符号データを挿入するのに必要なメモリ領域を確保するために、データの移動が必要になるということである。ＪＰＥＧ２０００は、多機能かつ高性能のため処理が複雑になっており、ＪＰＥＧとの比較を例にすると、ソフトウェアの処理では約４〜５倍の処理時間を必要とする。このことを合わせて考えると、特に、上記のような編集作業を行う場合、処理時間が長くなり、ユーザに与える操作性の点で、大きな問題となってしまう。
【００１１】
特に、ＪＰＥＧ２０００符号化処理の手段の１つにタイル処理というものがある。これは画像をタイルと呼ばれる小領域に分割し、分割された領域単位で独立に符号化を行う処理である。この方法は符号列の編集処理等、画像の特定領域にランダムにアクセスしたいようなアプリケーションに最適である。特にＪＰＥＧ２０００は高効率の符号化方式を採用しているため、非常に複雑な演算を必要とする。良く比較されるＪＰＥＧ方式と比べて、複雑度は数倍以上である。処理の複雑さはそのまま処理時間に比例するため、ＪＰＥＧ２０００の処理はＪＰＥＧに比べて長くなるが、タイルを使うことで特定部分のみの符号処理で済むので処理時間の問題はなくなる。
【００１２】
しかし、前述したように、編集後の符号データよっては全体の符号列を調整する必要があるという問題が残っている。
【００１３】
本発明の目的は、画像データを圧縮符号化した符号列中で、ブロック単位の符号データを編集処理して、編集後の符号データと編集処理が施されていない符号データとを結合して新たな符号列を生成する処理を、高速に実現できるようにすることである。
【課題を解決するための手段】
【００１４】
本発明は、元画像のデータを所定のフォーマットにより圧縮符号化した符号列中で独立して編集処理が可能な特定のブロック単位の符号データを対象に所定の編集処理を施して新たなブロック単位の符号データを作成する手段と、前記符号列中の元のブロック単位の符号データを参照して、作成された前記新たなブロック単位の符号データと前記符号列中の前記編集処理が施されていない符号データとを結合して新たな符号列を生成する手段と、
を備えている画像処理装置である。
【００１５】
別の面から見た本発明は、元画像のデータを所定のフォーマットにより圧縮符号化した符号列中で独立して編集処理が可能な特定のブロック単位の符号データを対象に所定の編集処理を施して新たなブロック単位の符号データを作成する手段と、前記符号列中の元のブロック単位の符号データを参照して、作成された前記新たなブロック単位の符号データと前記符号列中の前記編集処理が施されていない符号データとを結合して新たな符号列を生成する手段と、をコンピュータに実行させるコンピュータに読取可能なプログラムである。
【発明の効果】
【００１６】
本発明によれば、符号列中の元のブロック単位の符号データを参照して、作成された新たなブロック単位の符号データと符号列中の編集処理が施されていない符号データとを結合して新たな符号列を生成するので、編集後の新たな符号データ列を編集処理が施されていない符号データと結合する手段を、編集前の符号列を参照しながら最短処理時間で行えるように全体符号列を制御するので、高速な編集処理が実現できる。
【発明を実施するための最良の形態】
【００１７】
［ＪＰＥＧ２０００の概要について］
最初にＪＰＥＧ２０００の概要について説明する。
【００１８】
図１は、ＪＰＥＧ２０００アルゴリズムの基本を説明するための機能ブロック図である。図１に示すように、ＪＰＥＧ２０００アルゴリズムは、色空間変換・逆変換部１０１、２次元ウェーブレット変換・逆変換部１０２、量子化・逆量子化部１０３、エントロピー符号化・復号化部１０４、タグ処理部１０５によって構成されている。以下、各部について説明する。
【００１９】
色空間変換・逆変換部１０１及び２次元ウェーブレット変換・逆変換部１０２について図２及び図３を参照しながら説明する。
【００２０】
図２は、カラー画像である原画像の分割された各コンポーネントの一例を示す模式図である。カラー画像は、一般に、図２に示すように、原画像の各コンポーネントＲ、Ｇ、Ｂ（１１１）が、例えばＲＧＢ原色系によって分離されている。そして、原画像の各コンポーネントＲ、Ｇ、Ｂは、さらに、矩形をした領域であるタイル１１２によって分割される。個々のタイル１１２、例えば、Ｒ００，Ｒ０１，…，Ｒ１５／Ｇ００，Ｇ０１，…，Ｇ１５／Ｂ００，Ｂ０１，…，Ｂ１５は、圧縮伸長プロセスを実行する際の基本単位を構成する。従って、圧縮伸長動作は、コンポーネントＲ、Ｇ、Ｂ（１１１）毎、そしてタイル１１２毎に、独立して行なわれる。
【００２１】
ここで、画像データの符号化時、各タイル１１２のデータは、図１に示す色空間変換・逆変換部１０１に入力され、色空間変換を施された後、２次元ウェーブレット変換・逆変換部１０２で２次元ウェーブレット変換（順変換）が適用されて周波数帯に空間分割される。
【００２２】
図３は、デコンポジションレベル数が３であるの場合の各デコンポジションレベルにおけるサブバンドを示す模式図である。２次元ウェーブレット変換・逆変換部１０２は、原画像のタイル分割によって得られたタイル原画像（０ＬＬ）（デコンポジションレベル０）に対して、２次元ウェーブレット変換を施し、デコンポジションレベル１に示すサブバンド（１ＬＬ，１ＨＬ，１ＬＨ，１ＨＨ）を分離する。そして、２次元ウェーブレット変換・逆変換部１０２は、引き続き、この階層における低周波成分１ＬＬに対して、２次元ウェーブレット変換を施し、デコンポジションレベル２に示すサブバンド（２ＬＬ，２ＨＬ，２ＬＨ，２ＨＨ）を分離する。２次元ウェーブレット変換・逆変換部１０２は、順次同様に、低周波成分２ＬＬに対しても、２次元ウェーブレット変換を施し、デコンポジションレベル３に示すサブバンド（３ＬＬ，３ＨＬ，３ＬＨ，３ＨＨ）を分離する。図３中、各デコンポジションレベルにおいて符号化の対象となるサブバンドはグレーで示されている。例えば、デコンポジションレベル数を３とした場合、グレーで示したサブバンド（３ＨＬ，３ＬＨ，３ＨＨ，２ＨＬ，２ＬＨ，２ＨＨ，１ＨＬ，１ＬＨ，１ＨＨ）が符号化対象となり、３ＬＬサブバンドは符号化されない。
【００２３】
次いで、量子化・逆量子化部１０３では、指定した符号化の順番で符号化の対象となるビットが定められた後、対象ビット周辺のビットからコンテキストが生成される。
【００２４】
図４は、プレシンクトを例示する模式図である。量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図４に示すように、一つのプレシンクトは、空間的に一致した３つの矩形領域からなっている。さらに、個々のプレシンクトは、重複しない矩形の「コードブロック」に分けられる。これは、エントロピーコーディングを行う際の基本単位となる。
【００２５】
図５は、２次元ウェーブレット変換後の２次元ウェーブレット係数の値を「ビットプレーン」単位に分解し、画素或いはコードブロック毎に「ビットプレーン」に順位付けを行う処理の概要を示す模式図である。ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、ＪＰＥＧ２０００では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素或いはコードブロック毎に「ビットプレーン」に順位付けを行うことができる。図５には、その手順を簡単に示した。この例は、原画像（３２×３２画素）を１６×１６画素のタイル４つで分割した場合の例であり、デコンポジションレベル１のプレシンクトとコードブロックとの大きさは、各々８×８画素と４×４画素としている。プレシンクトとコードブロックの番号とは、ラスター順に付けられる。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆（５，３）フィルタでウェーブレット変換を行い、デコンポジションレベル１のウェーブレット係数値を求めている。
【００２６】
また、図５には、タイル０／プレシンクト３／コードブロック３について、代表的な「レイヤ」についての概念的な模式図も併せて示している。レイヤの構造は、ウェーブレット係数値を横方向（ビットプレーン方向）から見ると理解し易い。１つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ０、１、２、３は、各々、１、３、１という３つのビットプレーンからなっている。そして、ＬＳＢに近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、ＭＳＢに近いレイヤは最後まで量子化されずに残ることになる。ＬＳＢに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【００２７】
次いで、エントロピー符号化・復号化部１０４について図６を参照しながら説明する。図６は、符号化された画像データのコードストリームを例示する模式図である。エントロピー符号化・復号化部１０４（図１参照）では、コンテキストと対象ビットとから、確率推定によって各コンポーネントＲＧＢのタイル１１２に対する符号化を行う。こうして、原画像の全てのコンポーネントＲＧＢについて、タイル１１２単位で符号化処理が行われる。
【００２８】
次いで、タグ処理部１０５について説明する。タグ処理部１０５は、エントロピー符号化・復号化部１０４からの全符号化データを１本のコードストリームに結合するとともに、それにタグを付加する処理を行う。図６に、コードストリームの構造を簡単に示している。このようなコードストリームの先頭と各タイル１１２を構成する部分タイルの先頭には、ヘッダと呼ばれるタグ情報が付加され、その後に、各タイル１１２の符号化データが続く。そして、コードストリームの終端には、再びタグが置かれる。
【００２９】
一方、復号化時には、符号化時とは逆に、各コンポーネントＲＧＢの各タイル１１２のコードストリームから画像データを生成する。このような処理について、図１を用いて簡単に説明する。タグ処理部１０５は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントＲＧＢの各タイル１１２のコードストリームに分解し、その各コンポーネントＲＧＢの各タイル１１２のコードストリーム毎に復号化処理を行う。この際、コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部１０３において、その対象ビット位置の周辺ビット（既に復号化を終えている）の並びからコンテキストを生成する。そして、エントロピー符号化・復号化部１０４では、そのコンテキストとコードストリームとから確率推定によって復号化を行なって対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは、周波数帯域毎に空間分割されているため、これを２次元ウェーブレット変換・逆変換部１０２で２次元ウェーブレット逆変換を行うことにより、画像データ中の各コンポーネントＲＧＢにおける各タイル１１２が復元される。復元されたデータは、色空間変換・逆変換部１０１によって元の表色系のデータに変換される。
【００３０】
次に、ＪＰＥＧ２０００の符号フォーマット例を説明する。図７はＪＰＥＧ２０００の符号フォーマットを示す概略図である。当該符号フォーマットは、符号データの始まりを示すＳＯＣ（Start of Codestream）マーカで始まり、その後に、符号化のパラメータや量子化のパラメータを記述したメインヘッダが続き、さらに、実際の符号データが続く構成である。実際の符号データは、ＳＯＴ（Start of Tile-part）マーカで始まり、タイルヘッダ、ＳＯＤ（Start of Data）マーカ、タイルデータ（符号）で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すＥＯＣ（End of Codestream）マーカが付加される。
【００３１】
図８に、メインヘッダの構成例を示す。メインヘッダは、ＣＯＤ，ＱＣＤなる必須マーカセグメントと、ＣＯＣ，ＱＣＣ，ＲＧＮ，ＰＯＣ，ＰＰＭ，ＴＬＭ，ＰＬＭ，ＣＲＧ，ＣＯＭなるオプションマーカセグメントとにより構成されている。
【００３２】
また、図９にタイルヘッダの構成例を示す。図９（ａ）は、タイルヘッダの先頭に付加されるマーカセグメント列を示し、ＣＯＤ，ＣＯＣ，ＱＣＤ，ＱＣＣ，ＲＧＮ，ＰＯＣ，ＰＰＴ，ＰＬＴ，ＣＯＭのマーカセグメント（全てオプション）が使用可能である。一方、図９（ｂ）は、タイル内が複数に分割されている場合における分割されたタイル部分列の先頭に付加されるマーカセグメント列であり、ＰＯＣ，ＰＰＴ，ＰＬＴ，ＣＯＭのマーカセグメント（全てオプション）が使用可能である。
【００３３】
ここで、ＪＰＥＧ２０００で使用されるマーカ及びマーカセグメントについて説明する。マーカは２バイト（先頭バイトが０ｘｆｆで、続くバイトが０ｘ０１〜０ｘｆｅ）で構成される。マーカ及びマーカセグメントは、以下に示す６種類に分類できる。
【００３４】
（１）  フレーム区切り（delimiting）
（２）  画像の位置、サイズ関係の情報（fixed information）
（３）  符号化機能の情報（functional）
（４）  エラー耐性用（in bit stream）
（５）  ビットストリームのポインタ（pointer）
（６）  補助的な情報（informational）
このうち、本発明に関係するマーカは（１）（２）である。その詳細について、以下に説明する。
【００３５】
まず、Delimitingマーカ及びマーカセグメントについて説明する。Delimitingマーカ及びマーカセグメントは必須であり、ＳＯＣ，ＳＯＴ，ＳＯＤ，ＥＯＣがある。符号開始マーカ（ＳＯＣ）は符号列の先頭に付加される。タイル開始マーカ（ＳＯＴ）は、タイル符号列の先頭に付加される。このＳＯＴマーカセグメントの構成を図１０に示す。当該マーカセグメントの大きさが記述されるＬsot、タイル番号（０から始まるラスター順につけられた番号）が記述されるＩsot、タイル長さが記述されるＰsot、タイル部分番号が記述されるＴＰsot、タイル部分数が記述されるＴＮsotなる内容からなる。
【００３６】
次に、Fixed informationマーカセグメントについて説明する。これは、画像についての情報を記述するマーカで、ＳＩＺマーカが該当する。ＳＩＺマーカセグメントはＳＯＣマーカの直後に付加される。マーカセグメント長はコンポーネント数に依存する。このＳＩＺマーカセグメントの構成を図１１に示す。当該マーカセグメントの大きさが記述されるＬsiz、符号列の互換性（０固定、０以外は予約）が記述されるＲsiz、reference gridの水平方向サイズが記述されるＸsiz、reference gridの垂直方向サイズが記述されるＹsiz、reference grid原点からの画像の水平方向オフセット位置が記述されるＸＯsiz、reference grid原点からの画像の垂直方向オフセット位置が記述されるＹＯsiz、タイルの水平方向サイズが記述されるＸＴsiz、タイルの垂直方向サイズが記述されるＹＴsiz、reference grid原点からのタイルの水平方向オフセット位置が記述されるＸＴＯsiz、reference grid原点からのタイルの垂直方向オフセット位置が記述されるＹＴＯsiz、コンポーネント数が記述されるＣsiz、（ｉ）番目のコンポーネントにおけるビット数と符号ビット数が記述されるＳsiz(i)、（ｉ）番目のコンポーネントにおける水平方向サンプル数が記述されるＸＲsiz(i)、（ｉ）番目のコンポーネントにおける垂直方向サンプル数が記述されるＹＲsiz(i)なる内容により構成される。
【００３７】
ここで、ＪＰＥＧ２０００における画像エリア、タイルの位置関係について説明する。ＪＰＥＧ２０００では、画像やタイルの位置は、図１１に示したセグメント構成からも判るように、reference gridと称する座標軸を用いて表現される。画像は図１２に示すように、reference grid上に、reference gridの左上を原点（０，０）として、原点と画像の左上との相対位置（ＸＯsiz，ＹＯsiz）で指定される。実際の画像エリアの大きさは、（Ｘsiz−ＸＯsiz）×（Ｙsiz−ＹＯsiz）で求められる。
【００３８】
また、reference grid上に配置された画像は、符号化の際に、前述したように「タイル」と称する矩形領域に分割されて処理される。reference gridとタイルとの位置関係を図１３に示す。タイルは単独で符号化、復号化できる必要があるため、タイル境界を越えての画素参照はできない。タイルの位置は、reference gridの原点と最初のタイルの左上との相対位置（ＸＴＯsiz，ＹＴＯsiz）で指定される。画像オフセット位置とタイルオフセット位置、タイルサイズは
０≦ＸＴＯsiz≦ＸＯsiz
０≦ＹＴＯsiz≦ＹＯsiz
ＸＴsiz＋ＸＴＯsiz＞ＸＯsiz
ＹＴsiz＋ＹＴＯsiz＞ＹＯsiz
なる関係がある。
【００３９】
また、全体のタイル数は、
水平方向のタイル数＝（Ｘsiz−ＸＴＯsiz）／ＸＴsiz
垂直方向のタイル数＝（Ｙsiz−ＹＴＯsiz）／ＹＴsiz
なる関係式で示される。
【００４０】
また、「画像」「タイル」「サブバンド」「プリシンクト」「コードブロック」の関係と、「パケット」と「レイヤ」の関係について図１４を参照して整理する。
【００４１】
まず、物理的な大きさの序列は、
画像 ≧ タイル ＞ サブバンド ≧ プリシンクト ≧ コードブロック
である。
【００４２】
「タイル」とは、画像を矩形に分割したものであり、分割数＝１の場合、画像＝タイルとなる。「プリシンクト」とは、サブバンドを矩形に分割したもの(をＨＬ，ＬＨ，ＨＨの３つのサブバンドについて集めたもの、プリシンクトは３つで１まとまりとなるが、ただし、ＬＬサブバンドを分割したプリシンクトは１つで１まとまり)で、大まかには画像中の場所（Position）を表すものである。プリシンクトはサブバンドと同じサイズにできる。プリシンクトをさらに矩形に分割したものが「コードブロック」である。
【００４３】
また、プリシンクトに含まれる全てのコードブロックから、符号の一部を取り出して集めたもの（例えば、全てのコードブロックの最上位ビットＭＳＢから３枚目までのビットプレーンの符号を集めたもの）が「パケット」である。ここに、上述の“一部”は“空（から）”でもいいので、パケットの中身が符号的には“空（から）”ということもある。全てのプリシンクト（＝全てコードブロック＝全てのサブバンド）のパケットを集めると、画像全域の符号の一部（例えば、画像全域のウェーブレット係数の、ＭＳＢから３枚目までのビットプレーンの符号）ができるが、これが「レイヤ」である。レイヤは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がる。レイヤはいわば画質の単位である。
【００４４】
従って、全てのレイヤを集めると、画像全域の全てのビットプレーンの符号になる。
【００４５】
［実施の形態１について］
次に、本発明を実施するための最良の一形態について説明する。
【００４６】
図１５は、画像処理装置９１の電気的な接続を示すブロック図である。この画像処理装置９１には、パーソナルコンピュータ、ワークステーションなどが用いられる。図１に示すように、画像処理装置９１は、各種演算を行ない、各部を集中的に制御するＣＰＵ９２と、各種のＲＯＭやＲＡＭからなるメモリ９３とが、バス９４で接続されている。
【００４７】
バス９４には、所定のインターフェイスを介して、ハードディスクなどの磁気記憶装置９５と、マウスやキーボードなどで構成される入力装置９６と、ＬＣＤやＣＲＴなどの表示装置９７と、光ディスクなどの記憶媒体９８を読取る記憶媒体読取装置９９とが接続され、また、ネットワーク１００と通信を行なう所定の通信インターフェイス１０１が接続されている。なお、通信インターフェイス１０１は、ネットワーク１００を介してインターネットなどのＷＡＮに接続可能である。記憶媒体９８としては、ＣＤやＤＶＤなどの光ディスク、光磁気ディスク、フレキシブルディスクなどの各種方式のメディアを用いることができる。また、記憶媒体読取装置９９は、具体的には記憶媒体９８の種類に応じて光ディスクドライブ、光磁気ディスクドライブ、フレキシブルディスクドライブなどが用いられる。
【００４８】
磁気記憶装置９５には、この発明のプログラムを実施する画像処理プログラムが記憶されている。この画像処理プログラムは、この発明の記憶媒体を実施する記憶媒体９８から記憶媒体読取装置９９により読取るか、あるいは、インターネットなどのＷＡＮからダウンロードするなどして、磁気記憶装置９５にインストールしたものである。このインストールにより画像処理装置９１は動作可能な状態となる。なお、この画像処理プログラムは、所定のＯＳ上で動作するものであってもよい。また、特定のアプリケーションソフトの一部をなすものであってもよい。
【００４９】
このようなハードウエア構成の画像処理装置９１においては、画像処理プログラムにもとづいて、図１６〜図２１を参照して後述するような処理を行うことができる。
【００５０】
図１６は、画像処理プログラムにもとづいて実行する処理の機能ブロック図である。この処理は、元画像の指定された位置に対して編集処理を行うものである。画像処理プログラムにより、入力されるブロック単位の符号列（画像データから例えばＪＰＥＧ２０００アルゴリズムにより圧縮符号化された符号列）から編集対象となる符号列を検索するブロック単位検索手段３１と、ブロック単位検索手段３１で抽出された編集対象のブロック単位の符号に対して編集処理を行い、新たな符号列を作成するブロック単位編集処理手段３２と、ブロック単位編集処理手段３２で作成された符号列と編集対象ではないブロック単位の符号とから全体の符号列を作成する符号列制御手段３３が実現される。
【００５１】
その動作を簡単に説明すると、符号はまずブロック単位検索手段３１に入力され、編集対象となる画像を含むブロック単位の符号であるか否かを判断する。タイルを使用したＪＰＥＧ２０００符号を例に取ると、図１７に示すように、タイル単位の符号列４１には、先頭にヘッダ情報４２が存在する。ヘッダ情報４２の中にはヘッダ番号４３とその符号列の長さを示す情報４４が存在する。検索は、このヘッダ情報４２のみ解釈していけば簡単に行える。例えば、編集対象でなかったら、符号列４１の長さの情報を利用して次のヘッダ情報４２を検出していけばよいので、検索は高速に行える。
【００５２】
ブロック単位検索手段３１で編集対象と判断されたブロック単位の符号は、ブロック単位編集処理手段３２に送られる。ブロック単位編集処理手段３２では、入力された符号に対して、指定された所定の編集処理を実施する。編集処理の流れとしては、図１８に示すように、まず、該当符号を復号してブロック単位の符号を復元し（ステップＳ１）、続いて、復元された画像に対して編集処理を行う（ステップＳ２）。最後に、編集後の画像に対して元の符号と同じ方法で符号化を行い、元の符号列と同じ形式の符号列を作成する（ステップＳ３）。編集処理の一例としては、色の変更や、画像の合成等が挙げられる。この編集処理後の新たに作成された符号列は、符号列制御手段３３に送られる。符号列制御手段３３では、編集対象でない元のブロック単位の符号列と、ブロック単位編集処理手段３２で新たに作成されたブロック単位の符号列とを結合させ、全体としてフォーマット整合された符号列を作成する。
【００５３】
この場合の符号列の結合方法については様々な方法が考えられるが、符号量に応じて適切な手段適宜選択するのが望ましい。図１９は、その一例を説明する符号列制御手段３３のブロック図である。この例では、編集後の符号量が編集前の符号量より多い場合には結合方式Ａを実行する結合手段５２を、少ない場合には結合方式Ｂを実行する結合手段５３を選択して、符号の結合を行う。すなわち、編集の前後の符号量の比較を符号量比較手段５１で行い、結合手段５２と５３とをセレクタ５４で選択する。なお、結合処理の影響を受けないブロック単位の符号は何も処理を行なわない。
【００５４】
上記のような処理を行なえば、符号列中の特定部分の符号のみ処理することができる。また、編集後の新たな符号列の挿入方法を、編集前の符号を参照しながら、最短処理時間で行えるように全体符号列を制御することができるので、高速な編集処理が実現することができることになる。
【００５５】
符号列制御手段３３における、編集対象でない元のブロック単位の符号列と、編集後の新たに作成されたブロック単位の符号列とを結合させる符号列結合の具体的な手段については様々な方法が考えられる。
【００５６】
まず、新たに作成された符号列の符号量が、編集前の符号量を超えてしまった場合には、符号列の最後に新たに作成された符号列を追加する形で、全体の符号列を作成する方法が挙げられる。一例として、図２０に示すように、編集前（ａ）の符号部分には、その部分が符号列の最後に追加されていることを表す識別情報を入れると共に、追加された符号列の先頭アドレスを入れておく。こうすれば、追加された符号列（後に符号列全体の再配列を考慮して、編集後（ｂ）のブロック単位の画像に対応する正規の符号列とする）に対して高速にアクセスが可能となる。上記の処理を行っても、元のヘッダ情報の書き換えを行っていないので、符号フォーマットとしては問題がない。この方法によれば、元の位置に符号を挿入するために、それ以降のデータを再配置しなければならないという処理上の問題はなくなり、高速な編集処理が実現できる。
【００５７】
なお、図２０の例では、新たな符号列を、終了符号の直後に配置したが、図２１に示すように、終了符号の直前に挿入しても良い。ただし、その場合には、最終のブロック単位の符号列における符号長の情報を操作（最終の符号列の符号長に新たな符号列の符号長を足す）して、全体の符号列としてフォーマット整合させる必要がある。
【００５８】
また、結合する際に問題とならないように、編集後のブロックの符号量が多くなる場合には、符号化パラメータを変更して編集前の符号量を超えないような符号列を作成することが考えられる。特に、ＪＰＥＧ２０００方式は、同じ構成でlosslessおよびlossyが可能なスケーラブルな符号化方式であり、符号のまま符号量の調節が可能である。この性質を利用すれば、一度作成した符号列に対して、符号のまま符号量変更が可能であるため、編集前の符号量に最も近く、かつ、最高となる画質を得られる符号列を高速に作成することができる。この際、編集後の符号量が編集前の符号量に一致しない場合でも、編集後のヘッダ情報４２は、編集前の符号長と同じにしておく。こうすれば、符号全体として問題はない。
【００５９】
以上のような手段により、符号列の編集処理を高速に行い、かつ、編集後の符号列を高速に作成することは可能になるが、符号フォーマットの観点から言えば、本来あるべき姿に対して冗長な部分が存在していることになる。例えば、図２０、図２１を参照して説明した編集後のブロックの符号量が少ない場合の処理で作成される符号では、編集後の符号列は末尾に追加する形で存在しているし、前述の編集後のブロックの符号量が多い場合の処理で作成される符号列では、編集前の符号列に満たない部分の符号は意味のない符号データとなっている。
【００６０】
この点を考慮すると、全体の処理時間を考慮して、必要であれば適宜、必要な部分のみの符号列を再配置することで、本来あるべき姿の符号列にするのが望ましい。具体的には、符号列制御手段３３によって、全体の処理時間を考慮しながら編集後の符号列の挿入方法を決定し、必要であれば、適宜、必要部分のみ符号列を再配置することが考えられる。この方法によれば、処理速度を低下させることなく、無駄な符号情報を削除することが可能となり、効率の良い符号列を作成可能となる。
【００６１】
［実施の形態２について］
本発明の別の実施の形態を発明の実施の形態２として説明する。
【００６２】
図２２は、本発明の画像処理装置を実施した複写機１の電気的な接続を示すブロック図である。原稿を光学的に読み取るスキャナである読み取りユニット１１は、原稿に対するランプ照射の反射光をミラーおよびレンズなどからなる光学系によりＣＣＤ（電荷結合素子）などの光電変換素子に集光する。この光電変換素子は、ＳＢＵ（センサ・ボード・ユニット）１２に搭載され、受光素子において電気信号に変換された画像信号はデジタル画像信号に変換された後、ＳＢＵ１２から出力される。ＳＢＵ１２から出力される画像信号はＣＤＩＣ１３（圧縮／伸長およびデータインターフェイス制御部）１３に入力される。機能デバイスおよびデータバス間における画像データの伝送はＣＤＩＣ１３が全て制御する。ＣＤＩＣ１３は画像データに関し、ＳＢＵ１２、パラレルバス１４、ＩＰＰ（画像処理プロッセッサ）１５間のデータ転送、本システムの全体制御を司るシステムコントローラ（ＣＰＵ）１６と画像データに対するプロセスコントローラ２７間の通信を行なう。符号１６ａ，１６ｂは、システムコントローラ１６が使用するＲＯＭ、ＲＡＭである。それぞれＳＢＵ１２からの画像信号は、ＣＤＩＣ１３を経由してＩＰＰ１５に転送され、光学系およびデジタル画像信号への量子化に伴う信号劣化（スキャナ系の信号劣化とする）が補正されて、再度ＣＤＩＣ１３へ出力される。
【００６３】
この複写機１では、読み取りユニット１１による読み取り画像をメモリに蓄積して再利用するジョブと、メモリに蓄積しないジョブとがあり、以下ではそれぞれの場合について説明する。メモリに蓄積する例としては、１枚の同一原稿を複数枚複写する場合、読み取りユニット１１で１回だけ原稿の読取動作を行い、メモリに蓄積し、蓄積データを複数回読み出す使い方がある。メモリを使わない例としては、１枚の原稿を１枚だけ複写する場合、読み取り画像をそのまま印刷すればよいので、メモリアクセスを行なう必要はない。
【００６４】
まず、メモリを使わない場合、ＩＰＰ１５からＣＤＩＣ１３へ転送された画像データは、再度ＣＤＩＣ１３からＩＰＰ１５へ戻される。ＩＰＰ１５において受光素子による輝度データを面積階調に変換するための画質処理を行なう。この画質処理後の画像データはＩＰＰ１５からＶＤＣ（ビデオ・データ制御）１７に転送する。そして、面積階調に変化された信号に対し、ドット配置に関する後処理およびドットを再現するためのパルス制御を行い、電子写真方式で画像形成するプリンタエンジンである作像ユニット１８により、転写紙上に再生画像を形成する。なお、作像ユニット１８の印刷方式は、電子写真方式のほか、インクジェット方式、昇華型熱転写方式、銀塩写真方式、直接感熱記録方式、溶融型熱転写方式など、様々な方式を用いることができる。
【００６５】
メモリに画像データを蓄積し、画像データの読み出し時に付加的な処理、例えば、画像方向の回転、画像の合成等を行なう場合の画像データの流れを説明する。ＩＰＰ１５からＣＤＩＣ１３へ転送された画像データは、ＣＤＩＣ１３からパラレルバス１４を経由してＩＭＡＣ（画像メモリアクセス制御）１９に送られる。ＩＭＡＣ１９では、システムコントローラ１６の制御に基づき、画像データの記憶装置であるＭＥＭ（メモリモジュール）２０へのアクセス制御、外部のＰＣ（パソコン）２１へのプリント用データの展開、ＭＥＭ２０のメモリ有効活用のための画像データの圧縮／伸長を行なう。ＩＭＡＣ１９へ送られた画像データはデータ圧縮後ＭＥＭ２０へ蓄積され、この蓄積データは必要に応じて読み出される。読み出した画像データは伸長されて本来の画像データに戻され、ＩＭＡＣ１９からパラレルバス経由でＣＤＩＣ１３へ戻される。
【００６６】
ＣＤＩＣ１３からＩＰＰ１５への転送後は画像データに対して画質処理およびＶＤＣ１７でのパルス制御を行い、その画像データにより作像ユニット１８において転写紙上に画像形成する。
【００６７】
この複写機１は、いわゆる複合機であり、ＦＡＸ送信機能を備えている。このＦＡＸ送信機能は、読み取り画像データにＩＰＰ１５にて画像処理を実施し、ＣＤＩＣ１３およびパラレルバス１４を経由してＦＣＵ（ＦＡＸ制御ユニット）２２へ転送する。ＦＣＵ２２にて通信網へのデータ変換を行い、ＰＮ（公衆回線）２３へＦＡＸデータとして送信する。ＦＡＸ受信は、ＰＮ２３からの回線データをＦＣＵ２２で画像データへ変換し、パラレルバス１４およびＣＤＩＣ１３を経由してＩＰＰ１５へ転送する。この場合、特別な画質処理は行なわず、ＶＤＣ１７においてドット再配置およびパルス制御を行い、作像ユニット１８において転写紙上に再生画像を形成する。
【００６８】
複数のジョブ、例えば、コピー機能、ＦＡＸ送受信機能、プリンタ出力機能が並行に動作する状況において、読み取りユニット、作像ユニットおよびパラレルバス１４の使用権のジョブへの割り振りをシステムコントローラ１６およびプロセスコントローラ２７で制御する。
【００６９】
プロセスコントローラ（ＣＰＵ）２７は画像データの流れを制御し、システムコントローラ１６はシステム全体を制御し、各リソースの起動を管理する。符号２７ａ，２７ｂは、プロセスコントローラ２７が使用するＲＯＭ、ＲＡＭである。
【００７０】
ユーザは、操作パネル２４を選択入力することで各種の機能の選択を行ない、コピー機能、ＦＡＸ機能等の処理内容を設定する。
【００７１】
システムコントローラ１６とプロセスコントローラ２７はパラレルバス１４、ＣＤＩＣ１３およびシリアルバス２５を介して相互に通信を行なう。この際、ＣＤＩＣ１３内においては、パラレルバス１４とシリアルバス２５とのデータインターフェイスのためのデータフォーマット変換を行なう。
【００７２】
ＭＬＣ（Media Link Controller）２６は、画像データの符号変換の機能を実現する。具体的にはＣＤＩＣ１３で使用される符号化方式、ＩＭＡＣ１９で使用される符号化方式から他の符号化方式への変換（例えば、標準であるＪＰＥＧ方式等）を行なう。
【００７３】
この複写機１では、実施の形態１において、図１６〜図２１を参照して前述した符号列の編集処理を、操作パネル２４の操作により、システムコントローラ１６が画像処理プロッセッサ１５を制御して画像処理プロッセッサ１５で実行する。よって、その処理内容は実施の形態１と同様であるため、詳細な説明は省略する。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施の形態の前提となるＪＰＥＧ２０００方式の基本となるアルゴリズムを実現するシステムの機能ブロック図である。
【図２】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図３】デコンポジションレベル数が３の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図４】プレシンクトを示す説明図である。
【図５】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図６】符号化された画像データのコードストリームを例示する模式図である。
【図７】ＪＰＥＧ２０００の符号フォーマットを示す概略図である。
【図８】そのメインヘッダの構成図である。
【図９】タイルヘッダの構成図である。
【図１０】ＳＯＴマーカセグメントの構成図である。
【図１１】ＳＩＺマーカセグメントの構成図である。
【図１２】画像の位置関係を示す説明図である。
【図１３】Reference gridとタイルとの位置関係を示す説明図である。
【図１４】画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す説明図である。
【図１５】本発明の実施の形態１の画像処理装置の電気的な接続のブロック図である。
【図１６】符号列を編集処理する手段の機能ブロック図である。
【図１７】符号列の構成について説明する説明図である。
【図１８】符号列を編集処理する手順のフローチャートである。
【図１９】符号列制御手段の機能ブロック図である。
【図２０】新たに作成された符号列の符号量が、編集前の符号量を超えてしまった場合には、符号列の最後に新たに作成された符号列を追加する形で、全体の符号列を作成する方法のひとつの説明図である。
【図２１】図２０の場合の他の例の説明図である。
【図２２】本発明の実施の形態２の複合機の電気的な接続のブロック図である。
【符号の説明】
【００７５】
１  画像処理装置
９１  画像処理装置
９８  記憶媒体
【図１】
2006086579.tif 000003
【図２】
2006086579.tif 000004
【図３】
2006086579.tif 000005
【図４】
2006086579.tif 000006
【図５】
2006086579.tif 000007
【図６】
2006086579.tif 000008
【図７】
2006086579.tif 000009
【図８】
2006086579.tif 000010
【図９】
2006086579.tif 000011
【図１０】
2006086579.tif 000012
【図１１】
2006086579.tif 000013
【図１２】
2006086579.tif 000014
【図１３】
2006086579.tif 000015
【図１４】
2006086579.tif 000016
【図１５】
2006086579.tif 000017
【図１６】
2006086579.tif 000018
【図１７】
2006086579.tif 000019
【図１８】
2006086579.tif 000020
【図１９】
2006086579.tif 000021
【図２０】
2006086579.tif 000022
【図２１】
2006086579.tif 000023
【図２２】
2006086579.tif 000024