(57)【要約】【課題】変換前後において互換性は保ったまま符号構造変換が可能となり、少ないメモリ容量あるいは限られたメモリ容量で符号量の少ない一部のコードストリームを解釈する符号変換装置を提供する。【解決手段】符号化された構造化文書の符号構造を解析し、構造化文書の各レイアウトオブジェクトを構成するオブジェクトのコードストリームが参照されている位置を特定する構造解析手段による構造化文書の符号構造解析結果に基づいて、各レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームが隣接した位置になるように、各コードストリームの移動を行ない（Ｓ３）、各コードストリームを移動した各レイアウトオブジェクトについて、ページ毎に各コードストリームの移動を行なう（Ｓ１３）。【選択図】        図１１
2008005022.tif 000002
【特許請求の範囲】
【請求項１】
符号化された構造化文書の符号構造を解析し、前記構造化文書の各レイアウトオブジェクトを構成するオブジェクトのコードストリームが参照されている位置を特定する構造解析手段と、
この構造解析手段による前記構造化文書の符号構造解析結果に基づいて、前記各レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームが隣接した位置になるように、前記各コードストリームの移動を行なうコードストリーム移動手段と、
このコードストリーム移動手段による前記各コードストリームを移動した前記各レイアウトオブジェクトについて、ページ毎に前記各コードストリームの移動を行なうレイアウトオブジェクト移動手段と、
を備えることを特徴とする符号変換装置。
【請求項２】
前記レイアウトオブジェクト移動手段は、ページ毎に前記各コードストリームの移動を行なう際に、ファイル全体の前記各コードストリームを一括処理で移動する、
ことを特徴とする請求項１記載の符号変換装置。
【請求項３】
前記レイアウトオブジェクト移動手段は、ページ毎に前記各コードストリームの移動を行なう際に、外部からアクセスされたページ毎に断片的に移動する、
ことを特徴とする請求項１記載の符号変換装置。
【請求項４】
外部からのアクセスは、部分符号に対するアクセスである、
ことを特徴とする請求項３記載の符号変換装置。
【請求項５】
前記部分符号に対してアクセスする手順は、国際標準ＩＳ１５４４４−９で規定するＪＰＩＰプロトコルである、
ことを特徴とする請求項４記載の符号変換装置。
【請求項６】
前記レイアウトオブジェクト移動手段は、新しいView-Window要求があった時に、前記各コードストリームの移動を行なう、
ことを特徴とする請求項５記載の符号変換装置。
【請求項７】
前記部分符号に対してアクセスする手順は、国際標準ＩＳ１５４４４−６で規定する外部データ参照手順である、
ことを特徴とする請求項４記載の符号変換装置。
【請求項８】
前記レイアウトオブジェクト移動手段は、ページ毎に独立した領域に前記コードストリームを移動させる、
ことを特徴とする請求項２または３記載の符号変換装置。
【請求項９】
前記レイアウトオブジェクト移動手段は、ページサムネイルを除く前記レイアウトオブジェクトに対するコードストリームを移動させる、
ことを特徴とする請求項８記載の符号変換装置。
【請求項１０】
前記レイアウトオブジェクト移動手段は、前記レイアウトオブジェクトのまとまり毎にコードストリームを移動させる、
ことを特徴とする請求項８記載の符号変換装置。
【請求項１１】
前記レイアウトオブジェクト移動手段は、前景オブジェクト、背景オブジェクト、マスクオブジェクトのコードストリームの組で移動させる、
ことを特徴とする請求項１０記載の符号変換装置。
【請求項１２】
前記レイアウトオブジェクト移動手段は、前景オブジェクト、背景オブジェクト、マスクオブジェクトのコードストリームの符号量の和で昇べき順になるように移動させる、
ことを特徴とする請求項１１記載の符号変換装置。
【請求項１３】
前記View-Window内の前記レイアウトオブジェクトを外の前記レイアウトオブジェクトよりも前に移動させる、
ことを特徴とする請求項１０記載の符号変換装置。
【請求項１４】
前記レイアウトオブジェクト移動手段は、ページサムネイルをまとめた領域に移動させる、
ことを特徴とする請求項２または３記載の符号変換装置。
【請求項１５】
前記構造化文書の仕様が国際標準ＩＳ１５４４４−６で規定されるファイルである、
ことを特徴とする請求項１記載の符号変換装置。
【請求項１６】
前記構造化文書の仕様がＰＤＦ（Portable Document Format）で規定されるファイルである、
ことを特徴とする請求項１記載の符号変換装置。
【請求項１７】
符号化された構造化文書の符号構造を解析し、前記構造化文書の各レイアウトオブジェクトを構成するオブジェクトのコードストリームが参照されている位置を特定する構造解析機能と、
この構造解析機能による前記構造化文書の符号構造解析結果に基づいて、前記各レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームが隣接した位置になるように、前記各コードストリームの移動を行なうコードストリーム移動機能と、
このコードストリーム移動機能による前記各コードストリームを移動した前記各レイアウトオブジェクトについて、ページ毎に前記各コードストリームの移動を行なうレイアウトオブジェクト移動機能と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１８】
前記レイアウトオブジェクト移動機能は、ページ毎に前記各コードストリームの移動を行なう際に、ファイル全体の前記各コードストリームを一括処理で移動する、
ことを特徴とする請求項１７記載のプログラム。
【請求項１９】
前記レイアウトオブジェクト移動機能は、ページ毎に前記各コードストリームの移動を行なう際に、外部からアクセスされたページ毎に断片的に移動する、
ことを特徴とする請求項１７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号変換装置およびプログラムに関する。
【背景技術】
【０００２】
高精細静止画像の取扱いを容易にする画像圧縮伸長技術に対する高性能化或いは多機能化の要求は、今後、ますます強くなっていくことは必至と思われる。こうした高精細静止画像の取扱いを容易にする画像圧縮伸長アルゴリズムとしては、現在は、ＪＰＥＧ（Joint Photographic Experts Group）が最も広く使われている。また、このＪＰＥＧで採用されているＤＣＴ（離散コサイン変換）に代わる周波数変換として、近年、ＤＷＴ（離散ウェーブレット変換）の採用が増加している。その代表例は、２００１年に国際標準となったＪＰＥＧ後継の画像圧縮伸長方式ＪＰＥＧ２０００である。
【０００３】
また、ＪＰＥＧ２０００のPart６“Compound image file Format”は、絵や文字などの異なる特性を含む複合的な画像に特化した規格であり、非特許文献１に示す国際標準ＩＳ１５４４４−６で規定されている。このようなＪＰＥＧ２０００のPart６の中で定められたＪＰＥＧ２０００データのファイル拡張子は、「ＪＰＭ」である。
【０００４】
このようなＪＰＥＧ２０００のPart６によれば、各レイアウトオブジェクト内のオブジェクトに対するコードストリームについては、構造化文書の論理構造を満たし、
１）文書サムネイル以降
２）最上位レベルの位置
であれば任意の位置に置いて良いことが規定されている。
【０００５】
すなわち、絵柄混在文書を作成、編集する際において、各レイアウトオブジェクトや各レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームの位置は、レンダリングされたオブジェクトの物理的な位置や大きさには依存せず、制限を守った上でファイル内の任意の位置におくことができる。
【０００６】
【非特許文献１】B.1.5 Data reference，“Information technology-JPEG2000 Image Coding System-Part6：Compound Image File Format，JPEG2000 Part 6 FDIS”，9 DECEMBER 2002 ， ISO/IEC 15444-6
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の構成では、コードストリームの位置は制限を守った上でファイル内の任意の位置におくことができるため、仮想記憶を持たない計算機で非常に大きなファイルを読み込もうとした場合に、該当するコードストリームはメモリ容量に対して十分小さいにも関わらず、その前にメモリ容量を越えるサイズのコードストリームがあったときには、目的のコードストリームまで読めずにエラーになったり、たとえ仮想記憶が実現できていても多数ページを読み込むのにかなりの時間を要したり、目的のコードストリームまで読めずにエラーになるという課題を有している。
【０００８】
本発明は、上記に鑑みてなされたものであって、変換前後において互換性は保ったまま符号構造変換が可能となり、少ないメモリ容量あるいは限られたメモリ容量で符号量の少ない一部のコードストリームを解釈する符号変換装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明の符号変換装置は、符号化された構造化文書の符号構造を解析し、前記構造化文書の各レイアウトオブジェクトを構成するオブジェクトのコードストリームが参照されている位置を特定する構造解析手段と、この構造解析手段による前記構造化文書の符号構造解析結果に基づいて、前記各レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームが隣接した位置になるように、前記各コードストリームの移動を行なうコードストリーム移動手段と、このコードストリーム移動手段による前記各コードストリームを移動した前記各レイアウトオブジェクトについて、ページ毎に前記各コードストリームの移動を行なうレイアウトオブジェクト移動手段と、を備える。
【００１０】
また、請求項２にかかる発明は、請求項１記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、ページ毎に前記各コードストリームの移動を行なう際に、ファイル全体の前記各コードストリームを一括処理で移動する。
【００１１】
また、請求項３にかかる発明は、請求項１記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、ページ毎に前記各コードストリームの移動を行なう際に、外部からアクセスされたページ毎に断片的に移動する。
【００１２】
また、請求項４にかかる発明は、請求項３記載の符号変換装置において、外部からのアクセスは、部分符号に対するアクセスである。
【００１３】
また、請求項５にかかる発明は、請求項４記載の符号変換装置において、前記部分符号に対してアクセスする手順は、国際標準ＩＳ１５４４４−９で規定するＪＰＩＰプロトコルである。
【００１４】
また、請求項６にかかる発明は、請求項５記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、新しいView-Window要求があった時に、前記各コードストリームの移動を行なう。
【００１５】
また、請求項７にかかる発明は、請求項４記載の符号変換装置において、前記部分符号に対してアクセスする手順は、国際標準ＩＳ１５４４４−６で規定する外部データ参照手順である。
【００１６】
また、請求項８にかかる発明は、請求項２または３記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、ページ毎に独立した領域に前記コードストリームを移動させる。
【００１７】
また、請求項９にかかる発明は、請求項８記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、ページサムネイルを除く前記レイアウトオブジェクトに対するコードストリームを移動させる。
【００１８】
また、請求項１０にかかる発明は、請求項８記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、前記レイアウトオブジェクトのまとまり毎にコードストリームを移動させる。
【００１９】
また、請求項１１にかかる発明は、請求項１０記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、前景オブジェクト、背景オブジェクト、マスクオブジェクトのコードストリームの組で移動させる。
【００２０】
また、請求項１２にかかる発明は、請求項１１記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、前景オブジェクト、背景オブジェクト、マスクオブジェクトのコードストリームの符号量の和で昇べき順になるように移動させる。
【００２１】
また、請求項１３にかかる発明は、請求項１０記載の符号変換装置において、前記View-Window内の前記レイアウトオブジェクトを外の前記レイアウトオブジェクトよりも前に移動させる。
【００２２】
また、請求項１４にかかる発明は、請求項２または３記載の符号変換装置において、前記レイアウトオブジェクト移動手段は、ページサムネイルをまとめた領域に移動させる。
【００２３】
また、請求項１５にかかる発明は、請求項１記載の符号変換装置において、前記構造化文書の仕様が国際標準ＩＳ１５４４４−６で規定されるファイルである。
【００２４】
また、請求項１６にかかる発明は、請求項１記載の符号変換装置において、前記構造化文書の仕様がＰＤＦ（Portable Document Format）で規定されるファイルである。
【００２５】
また、請求項１７にかかる発明のプログラムは、符号化された構造化文書の符号構造を解析し、前記構造化文書の各レイアウトオブジェクトを構成するオブジェクトのコードストリームが参照されている位置を特定する構造解析機能と、この構造解析機能による前記構造化文書の符号構造解析結果に基づいて、前記各レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームが隣接した位置になるように、前記各コードストリームの移動を行なうコードストリーム移動機能と、このコードストリーム移動機能による前記各コードストリームを移動した前記各レイアウトオブジェクトについて、ページ毎に前記各コードストリームの移動を行なうレイアウトオブジェクト移動機能と、をコンピュータに実行させる。
【００２６】
また、請求項１８にかかる発明は、請求項１７記載のプログラムにおいて、前記レイアウトオブジェクト移動機能は、ページ毎に前記各コードストリームの移動を行なう際に、ファイル全体の前記各コードストリームを一括処理で移動する。
【００２７】
また、請求項１９にかかる発明は、請求項１７記載のプログラムにおいて、前記レイアウトオブジェクト移動機能は、ページ毎に前記各コードストリームの移動を行なう際に、外部からアクセスされたページ毎に断片的に移動する。
【発明の効果】
【００２８】
請求項１にかかる発明によれば、変換前後において互換性は保ったまま符号構造変換が可能となり、少ないメモリ容量あるいは限られたメモリ容量で符号量の少ない一部のコードストリームを解釈することができる、という効果を奏する。
【００２９】
また、請求項２にかかる発明によれば、対話処理を要することなくファイル全体を一括処理で変換できるためバッチ処理や夜間処理を用いたアプリケーションに向く構成が実現でき、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３０】
また、請求項３にかかる発明によれば、短時間にインタラクティブに構造を変換することができ、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３１】
また、請求項４にかかる発明によれば、短時間にインタラクティブに構造を変換中も少ないメモリで変換することができ、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３２】
また、請求項５にかかる発明によれば、国際標準仕様に準拠した構造により互換性を保てるだけでなく、短時間にインタラクティブに構造を変換中も少ないメモリで変換することができ、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３３】
また、請求項６にかかる発明によれば、国際標準仕様に準拠した構造により互換性を保てるだけでなく、短時間にインタラクティブに構造を変換中もView-Windowサイズで決定される少ないメモリで変換することができ、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３４】
また、請求項７にかかる発明によれば、国際標準仕様に準拠した構造により互換性を保てるだけでなく、短時間にインタラクティブに構造を変換中も少ないメモリで変換することができ、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３５】
また、請求項８にかかる発明によれば、符号構造を変換中も従来はファイルサイズ分必要であったメモリが、平均的にファイルサイズ／ページ数分の少ないメモリで変換することができる、という効果を奏する。さらに、変換後も各ページ毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３６】
また、請求項９にかかる発明によれば、符号構造を変換中も従来はファイルサイズ分必要であったメモリが、平均的にファイルサイズ／ページ数分の少ないメモリで変換することができる、という効果を奏する。さらに、変換後もページサムネイル以外のレイアウトオブジェクトのアクセスが各ページ毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３７】
また、請求項１０にかかる発明によれば、符号構造を変換中も従来はファイルサイズ分必要であったメモリが、平均的にファイルサイズ／ページ数分の少ないメモリで変換することができる、という効果を奏する。さらに、変換後もページサムネイル以外のレイアウトオブジェクトのアクセスが各レイアウトオブジェクトの論理単位毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３８】
また、請求項１１にかかる発明によれば、符号構造を変換中も従来はファイルサイズ分必要であったメモリが、平均的にファイルサイズ／ページ数分の少ないメモリで変換することができる、という効果を奏する。さらに、変換後もページサムネイル以外のレイアウトオブジェクトのアクセスが各レイアウトオブジェクトの論理単位毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００３９】
また、請求項１２にかかる発明によれば、符号構造を変換中も従来はファイルサイズ分必要であったメモリが、平均的にファイルサイズ／ページ数分の少ないメモリで変換することができる、という効果を奏する。さらに、変換後もページサムネイル以外のレイアウトオブジェクトのアクセスが各レイアウトオブジェクトの論理単位毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００４０】
また、請求項１３にかかる発明によれば、符号構造を変換中も従来はファイルサイズ分必要であったメモリが、平均的にファイルサイズ／ページ数分の少ないメモリで変換することができる、という効果を奏する。さらに、変換後もページサムネイル以外のレイアウトオブジェクトのアクセスが各レイアウトオブジェクトの論理単位毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００４１】
また、請求項１４にかかる発明によれば、各ページ毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームが読めるようになる、という効果を奏する。また、ページサムネイルを高速、省メモリで多くのページを読めるようにすることができる、という効果を奏する。
【００４２】
また、請求項１５にかかる発明によれば、国際標準仕様と互換性を保ったまま、各ページ毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームが読めるようになる、という効果を奏する。また、ページサムネイルを高速、省メモリで多くのページを読めるようにすることができる、という効果を奏する。
【００４３】
また、請求項１６にかかる発明によれば、変換前の仕様と互換性を保ったまま、各ページ毎にインタラクティブかつ少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームが読めるようになる、という効果を奏する。また、ページサムネイルを高速、省メモリで多くのページを読めるようにすることができる、という効果を奏する。
【００４４】
また、請求項１７にかかる発明によれば、変換前後において互換性は保ったまま符号構造変換が可能となり、少ないメモリ容量あるいは限られたメモリ容量で符号量の少ない一部のコードストリームを解釈することができる、という効果を奏する。
【００４５】
また、請求項１８にかかる発明によれば、対話処理を要することなくファイル全体を一括処理で変換できるためバッチ処理や夜間処理を用いたアプリケーションに向く構成が実現でき、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【００４６】
また、請求項１９にかかる発明によれば、短時間にインタラクティブに構造を変換することができ、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読めるようにすることができる、という効果を奏する。
【発明を実施するための最良の形態】
【００４７】
最初に、本発明の前提となる「階層符号化アルゴリズム」及び「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」の概要について説明する。なお、「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」の代表例が「JPEG2000アルゴリズム」である。
【００４８】
図１は、離散ウェーブレット変換に基づく符号化方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、画像圧縮手段として機能するものであって、色空間変換・逆変換部１０１、２次元ウェーブレット変換・逆変換部１０２、量子化・逆量子化部１０３、エントロピー符号化・復号化部１０４、タグ処理部１０５の各機能ブロックにより構成されている。
【００４９】
このシステムが従来のＪＰＥＧアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。ＪＰＥＧでは離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）を用いているのに対し、この階層符号化アルゴリズムでは、２次元ウェーブレット変換・逆変換部１０２において、離散ウェーブレット変換（ＤＷＴ：Discrete Wavelet Transform）を用いている。ＤＷＴはＤＣＴに比べて、高圧縮領域における画質が良いという長所を有し、この点が、ＪＰＥＧの後継アルゴリズムであるＪＰＥＧ２０００でＤＷＴが採用された大きな理由の一つとなっている。
【００５０】
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部１０５の機能ブロックが追加されていることである。このタグ処理部１０５で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、ＪＰＥＧ２０００は様々な便利な機能を実現できるようになった。例えば、ブロック・ベースでのＤＷＴにおけるオクターブ分割に対応した任意の階層（デコンポジションレベル）で、静止画像の圧縮伸長動作を自由に停止させることができるようになる（後述する図３参照）。また、一つのファイルから低解像度画像（縮小画像）を取り出したり、画像の一部（タイリング画像）を取り出すことができるようになる。
【００５１】
原画像の入出力部分には、色空間変換・逆変換部１０１が接続される場合が多い。例えば、原色系のＲ（赤）／Ｇ（緑）／Ｂ（青）の各コンポーネントからなるＲＧＢ表色系や、補色系のＹ（黄）／Ｍ（マゼンタ）／Ｃ（シアン）の各コンポーネントからなるＹＭＣ表色系から、ＹＵＶあるいはＹＣｂＣｒ表色系への変換又は逆変換を行う部分がこれに相当する。
【００５２】
次に、ＪＰＥＧ２０００アルゴリズムについて説明する。カラー画像は、一般に、図２に示すように、原画像の各コンポーネント１１１（ここではＲＧＢ原色系）が、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、ＪＰＥＧ２０００では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする（図２の例では、各コンポーネント１１１が縦横４×４、合計１６個の矩形のタイル１１２に分割されている）。このような個々のタイル１１２（図２の例で、Ｒ００，Ｒ０１，…，Ｒ１５／Ｇ００，Ｇ０１，…，Ｇ１５／Ｂ００，Ｂ０１，…，Ｂ１５）が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネント毎、また、タイル１１２毎に、独立に行われる。
【００５３】
画像データの符号化時には、各コンポーネント１１１の各タイル１１２のデータが、図１の色空間変換・逆変換部１０１に入力され、色空間変換を施された後、２次元ウェーブレット変換・逆変換部１０２で２次元ウェーブレット変換（順変換）が施されて、周波数帯に空間分割される。
【００５４】
図３には、デコンポジションレベル数が３の場合の、各デコンポジションレベルにおけるサブバンドを示している。即ち、原画像のタイル分割によって得られたタイル原画像（０ＬＬ）（デコンポジションレベル０）に対して、２次元ウェーブレット変換を施し、デコンポジションレベル１に示すサブバンド（１ＬＬ，１ＨＬ，１ＬＨ，１ＨＨ）を分離する。そして引き続き、この階層における低周波成分１ＬＬに対して、２次元ウェーブレット変換を施し、デコンポジションレベル２に示すサブバンド（２ＬＬ，２ＨＬ，２ＬＨ，２ＨＨ）を分離する。順次同様に、低周波成分２ＬＬに対しても、２次元ウェーブレット変換を施し、デコンポジションレベル３に示すサブバンド（３ＬＬ，３ＨＬ，３ＬＨ，３ＨＨ）を分離する。図３では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジションレベル数を３としたとき、網掛けで示したサブバンド（３ＨＬ，３ＬＨ，３ＨＨ，２ＨＬ，２ＬＨ，２ＨＨ，１ＨＬ，１ＬＨ，１ＨＨ）が符号化対象となり、３ＬＬサブバンドは符号化されない。
【００５５】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図１に示す量子化・逆量子化部１０３で対象ビット周辺のビットからコンテキストが生成される。
【００５６】
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図４に示したように、一つのプレシンクトは、空間的に一致した３つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【００５７】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、ＪＰＥＧ２０００では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【００５８】
ここで、図５はビットプレーンに順位付けする手順の一例を示す説明図である。図５に示すように、この例は、原画像（３２×３２画素）を１６×１６画素のタイル４つで分割した場合で、デコンポジションレベル１のプレシンクトとコード・ブロックの大きさは、各々８×８画素と４×４画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレシンクトが番号０から３まで、コード・ブロックが番号０から３まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆（５，３）フィルタでウェーブレット変換を行い、デコンポジションレベル１のウェーブレット係数値を求めている。
【００５９】
また、タイル０／プレシンクト３／コード・ブロック３について、代表的な「レイヤ」構成の概念の一例を示す説明図も図５に併せて示す。変換後のコード・ブロックは、サブバンド（１ＬＬ，１ＨＬ，１ＬＨ，１ＨＨ）に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【００６０】
レイヤの構造は、ウェーブレット係数値を横方向（ビットプレーン方向）から見ると理解し易い。１つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ０，１，２，３は、各々、１，３，１，３のビットプレーンから成っている。そして、ＬＳＢ（Least Significant Bit：最下位ビット）に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、ＭＳＢ（Most Significant Bit：最上位ビット）に近いレイヤは最後まで量子化されずに残ることになる。ＬＳＢに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【００６１】
図１に示すエントロピー符号化・復号化部１０４では、コンテキストと対象ビットから確率推定によって、各コンポーネント１１１のタイル１１２に対する符号化を行う。こうして、原画像の全てのコンポーネント１１１について、タイル１１２単位で符号化処理が行われる。最後にタグ処理部１０５は、エントロピー符号化・復号化部１０４からの全符号化データを１本の符号列データに結合するとともに、それにタグを付加する処理を行う。
【００６２】
図６には、この符号列データの１フレーム分の概略構成を示している。この符号列データの先頭と各タイルの符号データ（bit stream）の先頭にはヘッダ（メインヘッダ（Main header）、タイル境界位置情報等であるタイルパートヘッダ（tile part header））と呼ばれるタグ情報が付加され、その後に、各タイルの符号化データが続く。なお、メインヘッダ（Main header）には、符号化パラメータや量子化パラメータが記述されている。そして、符号列データの終端には、再びタグ（end of codestream）が置かれる。また、図７は、符号化されたウェーブレット係数値が収容されたパケットをサブバンド毎に表わしたコードストリーム構造を示すものである。図７に示すように、タイルによる分割処理を行っても、あるいはタイルによる分割処理を行わなくても、同様のパケット列構造を持つことになる。
【００６３】
一方、符号化データの復号化時には、画像データの符号化時とは逆に、各コンポーネント１１１の各タイル１１２の符号列データから画像データを生成する。この場合、タグ処理部１０５は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント１１１の各タイル１１２の符号列データに分解し、その各コンポーネント１１１の各タイル１１２の符号列データ毎に復号化処理（伸長処理）を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部１０３で、その対象ビット位置の周辺ビット（既に復号化を終えている）の並びからコンテキストが生成される。エントロピー符号化・復号化部１０４で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを２次元ウェーブレット変換・逆変換部１０２で２次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間変換・逆変換部１０１によって元の表色系の画像データに変換される。
【００６４】
以上が、「離散ウェーブレット変換に基づく符号化・復号化アルゴリズム」の概要である。
【００６５】
次に、ＪＰＥＧ２０００のPart６“Compound image file Format”について説明する。ＪＰＥＧ２０００のPart６は、絵や文字などの異なる特性を含む複合的な画像に特化した規格であり、非特許文献１に示す国際標準ＩＳ−１５４４４−６で規定されている。このようなＪＰＥＧ２０００のPart６の中で定められたＪＰＥＧ２０００データのファイル拡張子は、「ＪＰＭ」である。このような構造化文書の一例であるＪＰＭファイルは、図８に示すように、コードストリームの位置を示すオフセットを記入するObject Header Box２０１、参照されるコードストリームＢｏｘ２０２やＢｏｘ２０３から構成されている。このＪＰＭファイルは、そのファイル内でデータを参照するようにしたり、ＢＯＸ情報の順番を規定したり、オフセットによる位置指定ではなくＩＤにより参照できるようにしている。また、図８に示す所定のＢＯＸについては、そのレベルや範囲を維持していれば、その出現回数や出現する順番が変動しても標準互換のＪＰＭファイルとして機能すると規定されている。一例としては、各レイアウトオブジェクト内のオブジェクトに対するコードストリームについては、構造化文書の論理構造を満たし、
１）文書サムネイル（図８中の符号２０３）以降ファイルの最後尾まで
２）最上位レベルの位置
であれば任意の位置に置いて良いことが規定されている。
【００６６】
続いて、本発明の第１の実施の形態について詳細に説明する。本実施の形態では、画像を符号化したコードストリームが出現する位置の制限を守った上、すなわちファイルの機能的互換性を保った上でコードストリームの位置を移動させて符号構造を変換することにより、少ないメモリ容量あるいは限られたメモリ容量で符号量の少ない一部のコードストリームを高速に読めるようにすることができる。
【００６７】
ここで、図９は本実施の形態の符号変換装置１のハードウェア構成を示すブロック図である。符号変換装置１は、例えばパーソナルコンピュータやワークステーションを主体に構成されている。図９に示すように、このような符号変換装置１は、コンピュータの主要部であって各部を集中的に制御するＣＰＵ（Central Processing Unit）２を備えている。このＣＰＵ２には、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）３と、各種データを書換え可能に記憶するＲＡＭ（Random Access Memory）４とがバス５で接続されている。
【００６８】
さらにバス５には、各種のプログラム等を格納するＨＤＤ（Hard Disk Drive）６と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてＣＤ（Compact Disc）−ＲＯＭ７を読み取るＣＤ−ＲＯＭドライブ８と、ネットワーク９を介して外部の他のコンピュータ等と通信により情報を伝達するための通信制御装置１０と、ＣＰＵ２に対する各種命令や情報入力するためのキーボードやマウスなどの入力装置１１と、処理経過や結果等を表示するＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）などの表示装置１２とが、図示しないＩ／Ｏを介して接続されている。
【００６９】
ＲＡＭ４は、各種データを書換え可能に記憶する性質を有していることから、ＣＰＵ２の作業エリアとして機能してバッファ等の役割を果たす。
【００７０】
図９に示すＣＤ−ＲＯＭ７は、この発明の記憶媒体を実施するものであり、ＯＳ（Operating System）や各種のプログラムが記憶されている。ＣＰＵ２は、ＣＤ−ＲＯＭ７に記憶されているプログラムをＣＤ−ＲＯＭドライブ８で読み取り、ＨＤＤ６にインストールする。
【００７１】
なお、記憶媒体としては、ＣＤ−ＲＯＭ７のみならず、ＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信制御装置１０を介してインターネットなどからプログラムをダウンロードし、ＨＤＤ６にインストールするようにしてもよい。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のＯＳ（Operating System）上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００７２】
このシステム全体の動作を制御するＣＰＵ２は、このシステムの主記憶として使用されるＨＤＤ６上にロードされたプログラムに基づいて各種処理を実行する。
【００７３】
次に、符号変換装置１のＨＤＤ６にインストールされている各種のプログラムがＣＰＵ２に実行させる機能のうち、本実施の形態の符号変換装置１が備える特長的な機能について説明する。
【００７４】
図１０は、符号変換装置１の機能構成を示すブロック図である。図１０に示すように、符号変換装置１は、バッファ３１と、構造化文書符号の構造を解析し、構造化文書の各レイアウトオブジェクトを構成するオブジェクトのコードストリームが参照されている位置を特定する構造解析手段３２と、構造化文書の符号構造解析結果に基づいてコードストリームの格納位置を示す位置指示手段３３と、コードストリームを移動させる移動手段３４と、オフセットを修正する修正手段３５と、部分符号でアクセスされたか否かを識別する識別手段３６とを備えている。
【００７５】
また、構造解析手段３２は、Page Boxを検出するPage Box検出手段３２ａと、Layout Object Boxを検出するLayout Object Box検出手段３２ｂと、Object Boxを検出するObject Box検出手段３２ｃと、前景、背景、マスクの組を識別する第１識別手段３２ｄと、コードストリームがないことを識別する第２識別手段３２ｅと、外部参照を識別する第３識別手段３２ｆとを備えている。
【００７６】
次に、符号変換装置１における処理動作について説明する。図１１は、符号変換装置１における符号変換処理の流れを示すフローチャートである。図１１に示すように、符号変換装置１における符号変換処理は、概略的には、ステップＳ１からステップＳ５までで文字部や画像部などを含む絵混じり文書ファイル（ＪＰＭファイル）をレイヤ分割または領域分割した各レイアウトオブジェクトを構成するオブジェクトのコードストリーム（前景コードストリーム、背景コードストリーム、マスクコードストリーム）の移動を行い、後半のステップＳ６からステップＳ１５では前半で行なった各オブジェクトに対応するコードストリームの移動に対して各ページ毎にレイアウトオブジェクトに対するコードストリームを移動する、というものである。
【００７７】
図１１に示すように、ステップＳ１では、バッファ３１に対象となるファイルを読み込み、存在する全てのレイアウトオブジェクト内のオブジェクトに対するコードストリームの移動が（移動不要の判断も含めて）終了したかどうかをチェックする。これは、符号変換処理の前半部分のオブジェクトの移動が終了したかどうかをチェックする終了条件であり、構造解析手段３２内にあるLayout Object Box検出手段３２ｂによってそのファイル内に未処理のレイアウトオブジェクトが検出できなくなることにより、条件が成立する。
【００７８】
さて、この条件が成立しない間は（ステップＳ１のＮｏ）、ステップＳ２に進み、バッファ３１に読み込んだファイルに存在するレイアウトオブジェクト毎に、当該レイアウトオブジェクト内のオブジェクトが前景、背景、マスクの組になっているか否かを識別する。
【００７９】
レイアウトオブジェクト内のオブジェクトが前景、背景、マスクの組になっていない場合には（ステップＳ２のＮｏ）、当該レイアウトオブジェクトを構成する各オブジェクトに対応するコードストリームが隣接した位置になるようにするため、ステップＳ３に進んでオブジェクトコードストリームの移動を行なう。なお、ステップＳ２の動作は構造解析手段３２内にある前景、背景、マスクの組を識別する第１識別手段３２ｄが動作することにより実現され、ステップＳ３の動作はコードストリームの格納位置を示す位置指示手段３３と、コードストリームを移動させる移動手段３４と、オフセットを修正する修正手段３５とによって実行される。
【００８０】
ここで、ステップＳ３の処理動作について詳述する。図１２は、レイアウトオブジェクトを構成するオブジェクト移動の動作イメージを示す模式図、図１３は、オブジェクト移動処理の流れを示すフローチャートである。
【００８１】
前述したように各オブジェクトのコードストリームは一定の条件で任意の位置に置いてよいことから、オブジェクト移動処理前は、図１２に示すように各オブジェクトのコードストリーム毎に分かれた状態で散在している。一方、文書をレンダリング（データ可視化）するにあたってはレイアウトオブジェクト毎にレンダリングするため、
１）前景コードストリーム
２）背景コードストリーム
３）マスクコードストリーム
を一組の論理的な塊としてアクセスすることになる。そこで、本実施の形態においては、図１２に示すように、オブジェクト移動処理後は、メモリ上に散在している各コードストリームを移動させて一連のメモリ領域にまとめることで、高速かつ省メモリでアクセスすることができるようにしたものである。
【００８２】
図１３に示すように、オブジェクトのコードストリームを移動させるにあたっては、ステップＳ３１〜Ｓ３３及びステップＳ３５に示す条件をチェックする。
【００８３】
まず、ステップＳ３１においては、オブジェクトヘッダに書かれているコードストリームの有無をチェックする。コードストリームが何もない場合とは（ステップＳ３１のＹｅｓ）、例えば背景だけを出すように構成されたオブジェクトでは、マスクオブジェクトに対するコードストリームは持たない（内容は全て０と仮定することでそのレイアウトオブジェクト領域に対して前景の内容に依存しないで背景だけを出す）場合などである。このようなステップＳ３１の動作は、コードストリームがないことを識別する第２識別手段３２ｅが動作することにより実行される。
【００８４】
また、ＪＰＭファイルやＰＤＦファイルでは仕様上外部参照という使い方を許しているので、ステップＳ３２で示すように、対応するコードストリームがそのファイル内にない場合も（ステップＳ３２のＹｅｓ）、対象外である。ステップＳ３２の動作は、外部参照を識別する第３識別手段３２ｆが動作することにより実現される。
【００８５】
さらに、ステップＳ３３でレイアウトオブジェクトがページサムネイルレイアウトオブジェクトであるか否かを判定するとともに、ステップＳ３５でページサムネイルレイアウトオブジェクトコードストリームは全てのページに渡ってメモリ上の連続する位置を取るように構成しているか否かを判定することにより、コードストリームの移動位置が異なることになる。
【００８６】
まず、ステップＳ３３において、そのオブジェクトがページサムネイルオブジェクトでない通常のオブジェクトであると判定した場合（ステップＳ３３のＮｏ）、ステップＳ３４に進み、そのオブジェクトに対するコードストリームを参照されるページの位置に移動させるとともに、移動したことにより発生するファイルの先頭位置からのオフセットを修正する。なお、コードストリームの格納位置は位置指示手段３３によって示され、コードストリームの格納は移動手段３４により実行される。
【００８７】
ここで、オフセットの修正について図１４を参照しつつ説明する。ここでは、簡単のために、図１４に示すように、長いコードストリーム１の後に短いコードストリーム２がある場合を用いて説明する。移動前においては、それぞれのコードストリームへのファイルの先頭からのオフセットと長さが以下の様になっていたとする。
種類              オフセット    長さ
コードストリーム１      ａ            ｂ
コードストリーム２      ｃ            ｄ
この様な状態において、図１４に示すように、コードストリーム２をコードストリーム１の直前に移動する場合には、オフセットと長さを以下の様に変換すればよい。
種類              オフセット    長さ
コードストリーム１      ａ＋ｄ        ｂ
コードストリーム２      ａ            ｄ
すなわち、移動前にコードストリーム１とコードストリーム２の間に他のコードストリームがあった場合においても、それらのコードストリームに対するオフセットにコードストリーム２の長さ分を加算すればよいことになる。このようにしてオフセット値の修正を行い、ステップＳ３４を終了する。なお、このようなオフセットの修正は、修正手段３５により実行される。
【００８８】
一方、ステップＳ３３において、コードストリームがページサムネイルオブジェクトに対するコードストリームであると判定した場合には（ステップＳ３３のＹｅｓ）、ステップＳ３５に進み、複数あるページサムネイルのコードストリームを１つの領域にまとめるか否かを判断する。ここで、ページサムネイルに対応するコードストリームをまとめるか否かのメモリマップイメージを図１５に示す。図１５に示すように、一般にページ数が１００ページを超えるなど、１文書が多数のページで構成されるときは各サムネイルに対応するコードストリームをまとめておいたほうがサムネイルを表示する速度が向上するので、ページサムネイルに対応するコードストリームをまとめるようにする。一方、図１５に示すように、ページ数が少ない場合や複数のページサムネイルを１画面に表示することがない場合等は、サムネイルに対応するコードストリームをまとめなくても特に影響はない。したがって、ステップＳ３５ではこうしたアプリケーションの仕様によって決定される要素に従って、そのページサムネイルコードストリームの移動先を異ならせることになる。
【００８９】
１つの領域にまとめないと判定した場合には（ステップＳ３５のＮｏ）、各ページ毎にサムネイルを配置するのでステップＳ３４の処理を行う。
【００９０】
一方、１つの領域にまとめると判定した場合には（ステップＳ３５のＹｅｓ）、ステップＳ３６に進み、コードストリームをページサムネイル領域に移動し、オフセットを修正する。ステップＳ３６における処理動作は、ステップＳ３４で示した動作において移動先をページサムネイル領域に変更する以外は同様な動作となり、既に説明したとおりである。
【００９１】
なお、ステップＳ３６でページサムネイル領域としたのは、各ページサムネイルのコードストリームが隣接している領域内であれば必ずしもページ順に並んでいなくても、本発明の範囲内であることを示している。また、ステップＳ３４において各オブジェクトに対するコードストリームを配置する場合も同様である。
【００９２】
以上の動作により図１３で示したオブジェクトに対するコードストリームの移動が終了する。ここに、コードストリーム移動手段の機能が実行されている。
【００９３】
コードストリームの移動が終了すると、図１１のステップＳ４に進み、次のオブジェクト（背景オブジェクト、マスクオブジェクトなど）に移行し、ステップＳ２に戻る。このようにしてレイアウトオブジェクト内の前景、背景、マスクの組になっていない各オブジェクトに対してステップＳ３の処理を繰り返すことにより、１つのレイアウトオブジェクトコードストリームに対する移動が完了する（ステップＳ２のＹｅｓ）。
【００９４】
１つのレイアウトオブジェクトコードストリームに対する移動が完了すると（ステップＳ２のＹｅｓ）、次のレイアウトオブジェクトを指し（ステップＳ５）、ステップＳ１に戻る。
【００９５】
つまり、ステップＳ１〜Ｓ５の処理は、全てのレイアウトオブジェクトについてのオブジェクトコードストリームに対する移動が完了するまで（ステップＳ１のＹｅｓ）、繰り返される。
【００９６】
文書全体に渡ってレイアウトオブジェクトに対するコードストリームの移動が終了すると（ステップＳ１のＹｅｓ）、これらのレイアウトオブジェクトのコードストリームをページ毎に配置する次の段階に入る。
【００９７】
まず、ステップＳ６では、外部からの要求で実行する（いわゆるサーバ）形態で構成されているかどうかをチェックする。
【００９８】
いわゆる一括処理ユーティリティ、フィルタなどで構成する場合は動作途中にユーザからのインタラクティブな要求はないので（ステップＳ６のＮｏ）、ステップＳ７に進み、処理するページの範囲を先頭ページから終了ページにセットする。
【００９９】
一方、外部からの要求で実行するときは（ステップＳ６のＹｅｓ）、ステップＳ８に進み、ページがアクセスされたか否かをチェックする。このときアクセスされる手順が部分符号（ファイルの一部をアクセスする手順）であれば、本発明はさらに効果を増す。一般にファイル全体をアクセスする「ＦＴＰ：ファイル転送プロトコル」に対して、部分符号をアクセスするプロトコルの一例としては、非特許文献１で示す外部データ参照手順やＪＰＩＰプロトコルがある。こうした手順でアクセスされたか否かの判定は、部分符号でアクセスされたか否かを識別する識別手段３６により実行される。
【０１００】
なお、ＪＰＩＰプロトコルではPlace Holder Boxを使用しない限り１回のView Window要求は１ページ内のアクセスに限られるため、同じページ内であってもユーザがパンやズーム操作により新しいView-Window要求があった時にステップＳ９以降を実行するように構成しても良い。その際は移動の対象となるコードストリームがビューウインドウの内部か外部かのアクセス履歴に従って次回同じページをアクセスするときに、ビューウインドウ内のオブジェクトを高速、省メモリでアクセスできるようにコードストリームを移動することも本発明の範囲内である。
【０１０１】
ステップＳ８では、こうした手順に従ってページがアクセスされていない間は待機状態を保持するが、アクセスされたときはそのページだけを並べ替えの対象範囲とするため、ステップＳ９において処理するページはアクセスされたページだけになるよう開始ページと終了ページをセットする。
【０１０２】
こうして処理するページの範囲がステップＳ７またはステップＳ９において設定されるとステップＳ１０以降の手順を実行する。
【０１０３】
続くステップＳ１０では、現在処理中のページが指定範囲内のページか否かをチェックする。現在処理中のページが指定範囲内のページの場合には（ステップＳ１０のＹｅｓ）、ステップＳ１１に進み、該当ページ内にある画像のコードストリームを格納すべき位置を示す。この処理は、位置指示手段３３により実行される。
【０１０４】
次に、該当ページ内のレイアウトオブジェクトに対するコードストリームの移動の段階に入る。
【０１０５】
ステップＳ１２は、現在のページにある全てのレイアウトオブジェクトの移動処理が終了したか否かの判定、すなわち終了条件の判定を行なう工程であり、現在のページにある全てのレイアウトオブジェクトの移動処理が終了していない場合には（ステップＳ１２のＮｏ）、ステップＳ１３に進む。ステップＳ１３は、レイアウトオブジェクトコードストリームを移動する処理を実行する。
【０１０６】
ここで、ステップＳ１３の処理動作について詳述する。図１６は、レイアウトオブジェクトコードストリームの移動処理の動作イメージを示す模式図、図１７は、オブジェクトコードストリーム移動処理の流れを示すフローチャートである。
【０１０７】
まず、ステップＳ１３の動作イメージについて説明する。ステップＳ１３を実行した後のメモリマップの一例として、サムネイルとサムネイル以外のレイアウトオブジェクトを分離し、さらにそれぞれがＪＰＩＰによりアクセスされたとき、ビューウインドウにそのコードストリームが一部でも含まれるレイアウトオブジェクトと、全く含まれないレイアウトオブジェクトに分類すると、図１６に示すような４領域に分類できる。
領域１：サムネイルレイアウトオブジェクトであってビューウインドウに一部でも含まれるレイアウトオブジェクトのコードストリームを格納する領域
領域２：サムネイルレイアウトオブジェクトであってビューウインドウに全く含まれないレイアウトオブジェクトのコードストリームを格納する領域
領域３：サムネイル以外のレイアウトオブジェクトであってビューウインドウに一部でも含まれるレイアウトオブジェクトのコードストリームを格納する領域
領域４：サムネイル以外のレイアウトオブジェクトであってビューウインドウに全く含まれないレイアウトオブジェクトのコードストリームを格納する領域
【０１０８】
オブジェクトコードストリーム移動処理は、図１７に示すように、まず、コードストリームに対するレイアウトオブジェクトがページサムネイルレイアウトオブジェクトか否かをチェックする（ステップＳ１３１）。これは、非特許文献１に示すようにページサムネイルがあるとすればそのPage Boxの中にある最初のLayout Boxがページサムネイルであることが既定されているためであり、任意の位置への移動はできないからである。
【０１０９】
ページサムネイルレイアウトオブジェクトでないときは（ステップＳ１３１のＮｏ）、ステップＳ１３２に進み、ビューウインドウに一部でも含まれるレイアウトオブジェクトのコードストリームか否かをチェックする。ビューウインドウ内のレイアウトオブジェクトのコードストリームであるときは（ステップＳ１３２のＹｅｓ）、ステップＳ１３３に進み、そのコードストリームを領域３の位置に移動させオフセット値を修正する。コードストリームの移動やオフセットは、先にオブジェクトに対するコードストリームの移動を解説した部分で既に説明した通りであり、それが１つのオブジェクトに対するコードストリームだけでなく１つのレイアウトオブジェクトに含まれる、前景オブジェクト／背景オブジェクト／マスクオブジェクトのそれぞれのコードストリームに対して一貫して行われる点が異なるだけで基本となる移動＋オフセットの操作は同様であるため説明を省略する。
【０１１０】
一方、ビューウインドウ外のレイアウトオブジェクトのコードストリームであると判定されたときは（ステップＳ１３２のＮｏ）、ステップＳ１３４に進み、そのコードストリームを領域４に移動させてオフセット値を修正する。また、領域４の中でも符号長が昇べき順になる位置に移動させることにより、メモリが少なかったとき、あるいは制限されたメモリで読み込みを行う操作においてより多くのレイアウトオブジェクトを読み込めるようにするため、レイアウトオブジェクトのまとまり（前景＋背景＋マスク）の符号長で昇べきに並べることによりさらに本発明の効果は増す。
【０１１１】
ステップＳ１３１でページサムネイルレイアウトオブジェクトであると判定されたときには（ステップＳ１３１のＹｅｓ）、さらにページサムネイルだけを１つの領域にまとめる処理をするようになっているか否かをチェックする（ステップＳ１３５）。これもオブジェクトをサムネイルでまとめるか否かについて、図１３を用いて説明した趣旨と同じである。
【０１１２】
まとめないときには（ステップＳ１３５のＮｏ）、ページ毎にサムネイルが分散する形態となるため、ステップＳ１３６に進み、ページ内の最初のレイアウトオブジェクトとなるよう移動し、オフセット値を修正する。ここで１つのページ内のレイアウトオブジェクトのコードストリーム自身は必ずしもページ内で参照されるコードストリームのうち先頭であるとは限らず、あくまでもページサムネイルのレイアウトオブジェクトヘッダがそのページ内で先頭であれば良いため、ステップＳ１３４のときと同様にコードストリーム自身は対応するレイアウトオブジェクトのコードストリームの符号長を全て加えた値で昇べき順で並べるなど２番目以降になっても良い。
【０１１３】
また、ステップＳ１３５においてまとめるとしたときには（ステップＳ１３５のＹｅｓ）、ステップＳ１３７に進み、さらにビューウインドウ内のレイアウトオブジェクトかどうかをチェックする。この趣旨は、ステップＳ１３２で区分したのと同様である。ビューウインドウの外であれば（ステップＳ１３７のＮｏ）、ステップＳ１３８において領域２の位置に移動してオフセット値を修正する。一方、ビューウインドウに一部でも含まれるレイアウトオブジェクトであった場合は（ステップＳ１３７のＹｅｓ）、ステップＳ１３９に進み、領域１に移動しオフセット値を修正する。
【０１１４】
なお、ビューウインドウとレイアウトオブジェクトの包含関係については上記の説明では一部でもビューウインドウに含まれる場合はビューウインドウ内としたが、完全に含まれる場合だけにするなどその判定の差異はあったとしても、基本的にレイアウトオブジェクトの位置と大きさによってビューウインドウの内か外かを一意的に判定できるバリエーションは全て本発明の範囲内であることはいうまでもない。
【０１１５】
ＪＰＩＰでアクセスされたときにビューウインドウに含まれるレイアウトオブジェクトは、次回アクセスされるときにはさらに少ないメモリ容量でアクセスできるようにビューウインドウ内のレイアウトオブジェクトはメモリ番地の小さいほうに配置する。これは図１７において以下のステップで実現している。
１）ステップＳ１３２
２）ステップＳ１３３
３）ステップＳ１３４
そのときの動作イメージは、図１６の領域３、領域４である。
【０１１６】
また、ＪＰＩＰで非常に多数のページに渡る文書をサムネイルで表示するときに、ビューウインドウ内に収まったサムネイルは次回アクセスされるときには再び少ないメモリ容量でアクセスできるようにビューウインドウ内のレイアウトオブジェクトはメモリ番地の小さいほうに配置する。これは図１７において以下のステップで実現している。
１）ステップＳ１３７
２）ステップＳ１３８
３）ステップＳ１３９
そのときの動作イメージは、図１６の領域１、領域２である。
【０１１７】
以上の処理により、指定ページ内の各レイアウトオブジェクトのコードストリームの移動処理（ステップＳ１３）は終了する。ここに、レイアウトオブジェクト移動手段の機能が実行されている。
【０１１８】
ステップＳ１３が終了すると、ステップＳ１４に進み、次のレイアウトオブジェクトと次のコードストリームの移動位置を示し、ステップＳ１２に戻る。
【０１１９】
このようにしてステップＳ１２からステップＳ１４の手順を繰り返し、ステップＳ１２において全てのレイアウトオブジェクトに対するコードストリームの移動処理が終了したと判定されると（ステップＳ１２のＹｅｓ）、ステップＳ１５進み、次のページを処理対象にセットする。
【０１２０】
外部からの要求によりページがアクセスされた場合は（ステップＳ６のＹｅｓ）、ステップＳ９においてその１ページだけが処理対象になっていたが、一括処理（ステップＳ６のＮｏ）によりステップＳ７のパスを通ったときは、最終ページまでステップＳ１０からステップＳ１５に示す操作を繰り返す。
【０１２１】
こうしてステップＳ１０において指定範囲のページについて移動処理が終了すると（ステップＳ１０のＹｅｓ）、その結果を保存し、ステップＳ１において読み込んだファイルと入れ替えることにより処理は終了する。
【０１２２】
図１８は、符号構造変換前後のバッファ３１の様子を示す模式図である。図１８に示すように、符号構造変換前においてはオンメモリだけでは全てのコードストリームは読めないが、符号構造変換後においては同じメモリ容量であっても一部のコードストリームが読めるようになっている。
【０１２３】
このように本実施の形態によれば、変換前後において互換性は保ったまま符号構造変換が可能となり、少ないメモリ容量あるいは限られたメモリ容量で符号量の少ない一部のコードストリームを解釈することができる。
【０１２４】
なお、本発明はこの実施の形態に制限されることなく、前半と後半を通して行なうユーティリティやメンテナンスツール、サーバ内でクライアントからの要求に従って随時符号変換する装置等も本発明の範囲が及ぶことは言うまでもない。
【０１２５】
また、本実施の形態においては、構造化文書での動作を具体的に示すため非特許文献１に示すＪＰＭファイルを例として説明したが、例えば、“4.7 External Objects，PDF Reference fourth edition  Adobe Portable Document Format Version 1.5， P295-196， Adobe Systems Incorporated”に示すＰＤＦファイルをはじめ他の構造化文書でも、同様な操作が可能な構成要件をもつファイルに対してもすべて本発明の適用範囲であることは言うまでもない。
【０１２６】
なお、本実施の形態においては、クライアントからの要求によりサーバ内でインタラクティブに動作する実施例について説明したが、これに限るものではない。例えば、一括処理ユーティリティ、フィルタで本発明を構成する場合には、図１１、図１７においてサーバがアクセスされる状況になる部分を外せばよい。具体的には以下のステップを外すことにより実現できる。
１）ステップＳ６
２）ステップＳ８
３）ステップＳ９
４）ステップＳ１３２
５）ステップＳ１３３
６）ステップＳ１３７
７）ステップＳ１３９
【産業上の利用可能性】
【０１２７】
本発明にかかる符号変換装置およびプログラムは、少ないあるいは限られたメモリ容量で符号量の少ない一部のコードストリームを読むことが可能となるので、少ないメモリ容量の下で符号をアクセスして操作するなどの用途にも適用できる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の前提となる離散ウェーブレット変換に基づく符号化・復号化方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。
【図２】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図３】デコンポジションレベル数が３の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図４】プレシンクトを示す説明図である。
【図５】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図６】符号列データの１フレーム分の概略構成を示す説明図である。
【図７】符号化されたウェーブレット係数値が収容されたパケットをサブバンド毎に表わしたコードストリーム構造を示す説明図である。
【図８】ＪＰＭファイルのデータ構成を示す模式図である。
【図９】本実施の形態の符号変換装置のハードウェア構成を示すブロック図である。
【図１０】符号変換装置の機能構成を示すブロック図である。
【図１１】符号変換装置における符号変換処理の流れを示すフローチャートである。
【図１２】レイアウトオブジェクトを構成するオブジェクト移動の動作イメージを示す模式図である。
【図１３】オブジェクト移動処理の流れを示すフローチャートである。
【図１４】オフセットの修正を示す模式図である。
【図１５】ページサムネイルに対応するコードストリームをまとめるか否かのメモリマップイメージを示す模式図である。
【図１６】レイアウトオブジェクトコードストリームの移動処理の動作イメージを示す模式図である。
【図１７】オブジェクトコードストリーム移動処理の流れを示すフローチャートである。
【図１８】符号構造変換前後のバッファの様子を示す模式図である。
【符号の説明】
【０１２９】
１      符号変換装置
３２      構造解析手段
【図１】
2008005022.tif 000003
【図２】
2008005022.tif 000004
【図３】
2008005022.tif 000005
【図４】
2008005022.tif 000006
【図５】
2008005022.tif 000007
【図６】
2008005022.tif 000008
【図７】
2008005022.tif 000009
【図８】
2008005022.tif 000010
【図９】
2008005022.tif 000011
【図１０】
2008005022.tif 000012
【図１１】
2008005022.tif 000013
【図１２】
2008005022.tif 000014
【図１３】
2008005022.tif 000015
【図１４】
2008005022.tif 000016
【図１５】
2008005022.tif 000017
【図１６】
2008005022.tif 000018
【図１７】
2008005022.tif 000019
【図１８】
2008005022.tif 000020