(57)【特許請求の範囲】
【請求項１】
画像データを複数ブロックに分割し、各ブロック毎に符号化テーブルを使用してＪＰＥＧ符号化され、各ブロックの符号化データは、使用した前記符号化テーブルの識別情報とＪＰＥＧ符号化コードとを含むＪＰＥＧ符号化された画像データを復号する復号化装置において、
前記識別情報に基づいて、前記複数のブロックのそれぞれの符号化で使用された前記符号化テーブルを判断する判断手段と、
前記判断手段により判断された前記符号化テーブルが全て同じである場合に、前記各ブロックの符号化データのエントロピーコードを抽出し、各ブロックに対応する前記エントロピーコードの境界にリスタートコードを挿入して符号化データを再構築する再構築手段と、
前記再構築手段により再構築された前記符号化データを復号する復号化手段と、
を有することを特徴とする画像データの復号化装置。
【請求項２】
画像データを複数ブロックに分割し、各ブロック毎に符号化テーブルを使用してＪＰＥＧ符号化され、各ブロックの符号化データは、使用した前記符号化テーブルの識別情報とＪＰＥＧ符号化コードとを含むＪＰＥＧ符号化された画像データを復号する復号化方法において、
前記識別情報に基づいて、前記複数のブロックのそれぞれの符号化で使用された前記符号化テーブルを判断する判断工程と、
前記判断工程で判断された前記符号化テーブルが全て同じである場合に、前記各ブロックの符号化データのエントロピーコードを抽出し、各ブロックに対応する前記エントロピーコードの境界にリスタートコードを挿入して符号化データを再構築する再構築工程と、
前記再構築工程で再構築された前記符号化データを復号する復号化工程と、
を有することを特徴とする画像データの復号化方法。
【請求項３】
画像データを複数ブロックに分割し、各ブロック毎に符号化テーブルを使用してＪＰＥＧ符号化され、各ブロックの符号化データは、使用した符号化テーブルの識別情報とＪＰＥＧ符号化コードとを含む符号化された画像データを復号する復号化方法をコンピュータに実行させるために、該コンピュータを、
前記識別情報に基づいて、前記複数のブロックのそれぞれの符号化で使用された前記符号化テーブルを判断する判断手段と、
前記判断手段により判断された前記符号化テーブルが全て同じである場合に、前記各ブロックの符号化データのエントロピーコードを抽出し、各ブロックに対応する前記エントロピーコードの境界にリスタートコードを挿入して符号化データを再構築する再構築手段と、
前記再構築手段により再構築された前記符号化データを復号する復号化手段とを有する復号化装置として機能させるプログラムを記憶したことを特徴とする、コンピュータにより読取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データを所定のブロック単位分割して符号化された符号化画像データを復号する画像データの復号化方法及びその装置に関するものである。
【０００２】
【従来の技術】
従来、１枚の画像データを、それぞれがＮ×Ｍ画素からなる複数のタイル領域に分割し、各タイル領域毎に符号化方式などを設定し、かつ複数の解像度の画像データとして保存することが行われており、このような画像データ形式としてFlashPixファイルが知られている。このFlashPixファイルの場合、各タイル領域のサイズは６４×６４画素であり、ある解像度の画像データをＪＰＥＧで符号化する場合は、この解像度の画像データ、即ち、その解像度の画像データを構成する全てのタイル領域に対して同一の量子化テーブルとハフマンテーブルを使用して符号化している。この場合、各タイル領域のＪＰＥＧ符号化コードに、その符号化に使用した量子化テーブルとハフマンテーブルに持たせることなく、タイル領域のデータとは別の領域に保存している。従って、各タイル領域の符号化コードは、どのテーブルデータを使用したかを識別するための情報と、その他のＪＰＥＧ符号化コードとから構成されている。
【０００３】
このような形式で保存されているＪＰＥＧ符号化コードを復号化する際には、テーブルデータと各タイル領域の符号化コードとを各タイル領域毎にマージして１つの符号化データを作成し、各タイル領域毎にＪＰＥＧ復号化処理を行うか、或はこの形式に特有なＪＰＥＧ復号化処理を行っていた。
【０００４】
【発明が解決しようとする課題】
しかしながら上記従来例では、テーブルデータと各タイル領域の符号化データをマージして、各タイル毎に１つのＪＰＥＧ符号を作成して復号処理を行うため、符号化データのマージ処理に時間がかかるとともに、ＪＰＥＧ復号化処理における量子化テーブルとハフマンテーブルの初期化処理などを、全タイル領域に対して行う必要があるため処理に多くの時間を要するという欠点がある。更に、FlashPixファイルのデータ形式専用のＪＰＥＧ復号化処理を行うのは容易ではない。
【０００５】
本発明は上記従来例に鑑みてなされたもので、FlashPixのようなファイル形式で符号化されて記憶された画像データを高速に復号する画像データの復号化方法及びその装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明の画像データの復号化装置は以下のような構成を備える。即ち、
画像データを複数ブロックに分割し、各ブロック毎に符号化テーブルを使用してＪＰＥＧ符号化され、各ブロックの符号化データは、使用した前記符号化テーブルの識別情報とＪＰＥＧ符号化コードとを含むＪＰＥＧ符号化された画像データを復号する復号化装置において、
前記識別情報に基づいて、前記複数のブロックのそれぞれの符号化で使用された前記符号化テーブルを判断する判断手段と、
前記判断手段により判断された前記符号化テーブルが全て同じである場合に、前記各ブロックの符号化データのエントロピーコードを抽出し、各ブロックに対応する前記エントロピーコードの境界にリスタートコードを挿入して符号化データを再構築する再構築手段と、
前記再構築手段により再構築された前記符号化データを復号する復号化手段と、
を有することを特徴とする。
【０００７】
上記目的を達成するために本発明の画像データの復号方法は以下のような工程を備える。即ち、
画像データを複数ブロックに分割し、各ブロック毎に符号化テーブルを使用してＪＰＥＧ符号化され、各ブロックの符号化データは、使用した前記符号化テーブルの識別情報とＪＰＥＧ符号化コードとを含むＪＰＥＧ符号化された画像データを復号する復号化方法において、
前記識別情報に基づいて、前記複数のブロックのそれぞれの符号化で使用された前記符号化テーブルを判断する判断工程と、
前記判断工程で判断された前記符号化テーブルが全て同じである場合に、前記各ブロックの符号化データのエントロピーコードを抽出し、各ブロックに対応する前記エントロピーコードの境界にリスタートコードを挿入して符号化データを再構築する再構築工程と、
前記再構築工程で再構築された前記符号化データを復号する復号化工程と、
を有することを特徴とする。
【０００８】
【発明の実施の形態】
本発明の実施の形態を説明する前に本実施の形態に係る特徴を簡単に説明する。ここではFlashPixファイル形式で、ある解像度の画像データの全てのタイル領域（分割領域）をＪＰＥＧ符号化し、且つその符号化に使用した量子化テーブルとハフマン・テーブルを、その符号化データとは別の領域に格納する形式で保存しているFlashPixファイルを復号処理する場合において、各タイル領域がどの量子化テーブル及びハフマンテーブルを使用して符号化されているかを判断し、ＪＰＥＧ符号化データをマージし、そのＪＰＥＧ符号化データのＳＯＦマーカコードの画像サイズ及びフィールドを変更してＤＲＩ／ＲＳＴマーカコードを挿入する。こうして変換された符号化データを復号するＪＰＥＧ復号処理手段を備え、各タイル領域で独立しているＪＰＥＧ符号化データを、
横方向のサイズ＝タイル領域のＸサイズ（６４）、
縦方向のサイズ＝タイル領域のＹサイズ×タイル領域の数（６４×タイル数）
各タイル領域ごとに復号化処理をリスタート
となる、使用するテーブル及び符号化データの数に対応した数のＪＰＥＧ符号化データに変換し、これをＪＰＥＧ復号化処理で各タイル領域毎に復号化する。
【０００９】
更に、このＪＰＥＧ復号化処理は、通常のＪＰＥＧ復号化処理であり、FlashPix形式の復号処理専用のＪＰＥＧ復号化処理ではないことを特徴とする。
【００１０】
そして例えば、ある解像度の全タイル領域が前記ＪＰＥＧ符号化方法で符号化されていなくて部分的に別の符号化方式、即ち、“Uncompressed data”、“Single color compression”で符号化されているタイルを含んでいても良い。
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１２】
図１は本発明の実施の形態に係る画像処理装置の概略構成を示す図である。
【００１３】
図１において、１は画像処理装置の本体を示し、FlashPixファイルを蓄積し、そのFlashPixファイルから読み出したデータをデコードし、かつそのデータを表示する機能を有している。２は外部記憶装置で、FlashPixファイルを蓄積している。
【００１４】
図２は、図１に示す本実施の形態の画像処理装置１の具体的な構成を示すブロック図である。
【００１５】
図２において、２１は各部を接続するためのバス、２２は装置全体の動作を制御するとともに、実際の各種演算処理を行うＣＰＵ、２３はＣＰＵ２２の、例えば後述する図８に示す動作プログラム等の各種プログラム等を記憶し、更にはＣＰＵ２２の動作時、一時的なワーク・メモリとして使用されるＲＡＭ等を備えたメモリ部である。また２４はプログラムや画像データなどを保管するためのディスク装置、２５は操作部で、ユーザが本実施の形態の装置を操作する際に各種指示入力を行うためのキーボードやマウス等を備えている。尚、上記外部記憶蔵置２は、図２のディスク装置２４と共有されてもよく、或は別個設けられていてもよい。
【００１６】
図３は、本実施の形態におけるFlashPixファイルの概略構成を説明する図である。
【００１７】
図中、３０〜３６（３４−０〜３４−２を含む）は必須項目、３７〜３９はオプション項目である。３３の“Image contents property set”には、画像サイズ、解像度などの画像に関する情報が格納されており、この中に図４（Ａ），（Ｂ）に示すＪＰＥＧ符号化データのＪＰＥＧテーブルに関するデータが含まれている。このＪＰＥＧテーブルは２５５種類まで宣言することができ、１〜２５５までのテーブル番号で管理されている。このテーブル番号の最大値が、図４（Ａ）に示す“Maximum JPEG table index（最大ＪＰＥＧテーブルインデックス）”ＩＤで示され、各テーブルが“JPEG tables（ＪＰＥＧテーブル）”ＩＤで示されている。この“JPEG tables”ＩＤで示される“JPEG header tables（ＪＰＥＧヘッダテーブル）”の概略形式を図４（Ｂ）に示す。この中に量子化テーブルを定義するマーカ（ＤＱＴ）と量子化テーブルデータ(Quantization table data)、ハフマン・テーブルを定義するマーカ（ＤＨＴ）とハフマンテーブルデータ(Huffman table data)が記述されている。
【００１８】
図４（Ａ）は、圧縮（符号化）情報のプロパティ(properties)を説明する図で、そのプロパティの名称，ＩＤコード、そのタイプが設定されている。
【００１９】
図４（Ｂ）は，量子化テーブルやハフマンテーブルを定義するＪＰＥＧヘッダテーブルの構成を説明する図で、各フィールドの名称、データ長、その値などが記述されている。
【００２０】
図５（Ａ）（Ｂ）は、図３の“Subimage header（サブイメージヘッダ）”３６に格納されている各タイル領域のヘッダのフォーマットとそのフィールドを説明する図である。
【００２１】
ここで、そのタイル領域がＪＰＥＧで符号化されている時は、“Compression type”フィールドには“JPEG”を示す値(0x2)がセットされ、“Compression subtype”フィールドは図５（Ｃ）に示す内容を有する。図５（Ｃ）は、ＪＰＥＧにより圧縮されたタイルの圧縮サブタイプフィールド(compression subtype field)のフォーマットと値を示し、この“Compression subtype”フィールドには、このタイル領域が使用する、前述のＪＰＥＧテーブルの識別番号(JPEG tables selector)などが格納されている。
【００２２】
図６は、図３の“Subimage data”３５に格納されている、各タイル領域用のＪＰＥＧ符号化データのフォーマットとその値を示す図である。
【００２３】
このＪＰＥＧ符号化データのＳＯＦ（フレームマーカの開始）マーカ・コードで、このＪＰＥＧ符号化データの画像サイズが格納されているが、このＪＰＥＧ符号化データ内の画像サイズは、全タイル領域で固定であり、通常、Ｘサイズ＝６４、Ｙサイズ＝６４になっている。即ち、各タイル領域で別々のＪＰＥＧ符号化データになっている。
【００２４】
図７は、各タイル領域毎に別々のＪＰＥＧ符号化データとしてFlashPixファイルに格納されているＪＰＥＧ符号化データを、１つのＪＰＥＧ符号化データにマージする時の概念図である。以下、説明を簡単にするため、使用する画像７００の画像サイズを、Ｘサイズ＝２４４、Ｙサイズ＝１６０とする。この場合、画像を分割したタイル領域の数は、図７に示すように、「Tile0」〜「Tile11」の１２個のタイル領域を含んでいる。これを本実施の形態では、Ｘサイズ＝６４、Ｙサイズ＝６４×１２＝７６８の画像７０１のＪＰＥＧ符号化データとして符号化データを再構成し、この符号化データをＪＰＥＧ復号化処理で復号し、元の２２４×１６０の画像７００を生成する場合で説明する。
【００２５】
以下に処理フローチャートを用いながら詳細な処理を説明する。
【００２６】
図８は、本実施の形態の画像処理装置における復号化処理全体を示すフローチャートで、この処理を実行するプログラムはメモリ部２３に記憶されていて、ＣＰＵ２２の制御の下に実行される。
【００２７】
まずステップＳ８１において、全てのタイル領域の圧縮方式と、“JPEG tables selector”に基づいてＪＰＥＧテーブルの種類を調べる。次にステップＳ８２に進み、全てのタイル領域がＪＰＥＧ符号化方式で、かつ全タイル領域が全て同一のＪＰＥＧテーブルを使用するかどうかを判断する。このステップＳ８２の判定処理において、１つのタイル領域でも異なったＪＰＥＧテーブルを使用する場合は、本実施の形態に係る処理が実行できないため、エラーのリターンコードを返して処理を終了する。
【００２８】
一方、ステップＳ８２で全タイル領域のＪＰＥＧテーブルが同一であると判定されるとステップＳ８３に進み、“JPEG tables selector”の内容をキーにして、図３の“Image contents property set”３３に格納されているＪＰＥＧテーブルを取り出す。次にステップＳ８４に進み、ステップＳ８３で取り出したＪＰＥＧテーブルと、各タイル領域のＪＰＥＧ符号化データとをマージする。そしてステップＳ８５に進み、そのマージして再構築したＪＰＥＧ符号化データを復号（デコード）して画像を再生する。
【００２９】
図９は、図８のステップＳ８４で示すＪＰＥＧ符号化データのマージ処理の詳細を説明する図である。
【００３０】
図において、９０は“Image contents property set”３３に格納されていたＪＰＥＧテーブルの内、ステップＳ８１において“JPEG tables selector”で示された本処理で必要なＪＰＥＧテーブルのヘッダテーブル（図４（Ｂ）参照）のデータを示している。このＪＰＥＧテーブルの取り出し方法の説明は周知であるため省略する。９１〜９３は各タイル領域のＪＰＥＧ符号化データであり、これらデータは“Subimage data”３５に格納されている。この符号化データの取り出し方法も周知であるため省略する。９４は本実施の形態で再構築されたＪＰＥＧ符号化データ全体を示している。
【００３１】
まずＪＰＥＧのヘッダテーブルテーブル９０を基に、符号化データ９４の９４−１で示される部分を作成する。これはこのヘッダテーブル９０をそのままコピーすれば良い。
【００３２】
次に、９４−２で示す“Define restart interval”ＤＲＩマーカコードを挿入する。このマーカコード９４−２は、各タイル領域でＪＰＥＧの符号化データが完結するようにするためのものである。即ち、ＤＲＩマーカコード９４−２で設定するＭＣＵ数はサブサンプリング比で決定され、このサブサンプリング比は、図５（Ｃ）の“Chroma suvsampling”が、例えば「０ｘ２２」の場合は、１タイル領域のＭＣＵ数は「１６」になり、ＤＲＩマーカコード９４−２にはＭＣＵ数として「１６」が設定される。
【００３３】
次にタイル０(Tile0)のＪＰＥＧ符号化データ９１から、符号化データ９４の９４−３で示すＳＯＦ（フレームマーカの開始）、ＳＯＳ（スキャンマーカの開始）の部分を作成する。ＳＯＦマーカコード部分の処理では、Ｙサイズを（６４×タイル領域数(12)）、即ち、本実施の形態では、タイル領域の数が「１２」であるためＹサイズ＝６４×１２＝７６８となる。その他はそのままでよい。その後、タイル０(Tile0)のＪＰＥＧ符号化データ９１のエントロピー符号(Entropy coded data 0)の部分９１−１を、符号化データ９４の９４−４にコピーする。次に、符号化データ９４の９４−５で示す位置に“Restart marker”ＲＳＴマーカコードを挿入する。
【００３４】
次に、タイル１(Tile1)のＪＰＥＧ符号化データ９２の処理を説明する。ここでは、符号化データ９２のエントロピー符号データ(Entropy coded data 1)９２−１を符号化データ９４の９４−６にコピーし、次にＲＳＴマーカコードを挿入する。この処理を最後のタイル領域（タイル１１(Tile11)）の符号化データ９３まで繰り返す。そして最後にＥＯＩマーカコード９４−７を挿入して、この符号化データ９４のマージ処理を終了する。
【００３５】
図１０は、前述の図１０に示すようにして作成された符号化データを復号する処理を示すフローチャートで、この処理を実行するプログラムはメモリ部２３に記憶されていて、ＣＰＵ２２の制御の下に実行される。
【００３６】
まずステップＳ１００に進み、ＪＰＥＧ復号化処理の初期化処理を行う。ここではまた復号化するタイル領域を指示するポインタ(Tile)を「０」(Tile=0)にセットする。次にステップＳ１０１で、画像データの縦方向（Ｙ）サイズをセットし、次にステップＳ１０２に進み、画像の横方向（Ｘ）サイズをセットする。本実施の形態では前述したように、復号される画像のＹサイズ＝１６０、Ｘサイズ＝２２４である。
【００３７】
次にステップＳ１０３に進み、１つのタイル領域(Tile)のＪＰＥＧ復号化処理を行う。次にステップＳ１０４に進み、Ｘサイズ、Ｙサイズが共に「６４」以上か否かを判断する。そうであればステップＳ１０５に進み、ステップＳ１０３で復号して再生した６４×６４の画像データを、ポインタTileで指示される画像のタイル領域に書き込む。
【００３８】
一方ステップＳ１０４で、Ｘサイズ、Ｙサイズの少なくともいずれかが「６４」以下である場合にはステップＳ１１０に進み、ステップＳ１０３で復号して再生した６４×６４の画像データの中から必要な部分を切り出し、ポインタTileで指示される画像のタイル領域に、その切り出した有効画像データのみを書き込む。このステップＳ１０６における処理は、例えば画像全体のサイズが「６４」の整数倍でないときにその画像の端のタイル領域に対して実行されるものである。例えば前述の図７の例では、タイル３(Tile3)、タイル７(Tile7)〜タイル１１(Tile11)が、これに該当している。
【００３９】
次にステップＳ１０６に進み、次にタイル領域を指示するようにポインタ(Tile)を＋１してステップＳ１０７に進み、１つのタイル領域に対する処理が終了したのでＸサイズから「６４」を引き、その結果が「０」より大きいか否かを判断する。「０」より大きい場合はステップＳ１０３に戻り、次のタイル領域に対する処理を実行する。一方、ステップＳ１０７で、Ｘサイズの値が「０」より小さい場合は、例えば図７のタイル領域（Tile3）までの処理が終了したのでステップＳ１０８に進み、次にＹサイズから「６４」を引き、その結果が「０」より大きいかどうかを判別する。「０」以上であればステップＳ１０２に戻り、Ｘサイズを初期値「２２４」に戻して前述した処理を繰り返す。そして「０」より小さい場合はステップＳ１０９に移動する。ステップＳ１０９では、ＪＰＥＧ復号化処理の後処理を実行して、全てのタイル領域に対する処理を終了する。このようにして画像データを復号して再生することができる。
【００４０】
［実施の形態２］
前述の実施の形態１では、全てのタイル領域に対してＪＰＥＧ符号化処理を行っていたが、本実施の形態２では、他の符号化方式、例えば“Uncompressed data”、“Single color compression”等で符号化されているタイル領域を含む場合を考える。
【００４１】
図１１は、このような符号化データの構成例を示す図である。なお、前述の実施の形態１（図９）と同一の部分には同一の番号を付し、それらの説明を省略する。
【００４２】
図１１と前述の図９とを比較すると明らかなように、タイル２(Tile2)とタイル３(Tile3)がＪＰＥＧ符号化されていないデータである。このようなＪＰＥＧ符号化されていないタイル領域の符号化データは、新しく生成するＪＰＥＧ符号化データ９４の作成には関与されない。
【００４３】
ここで前述の実施の形態１と異なる点は、符号化データ９４の９４−３にあるＳＯＦマーカコードにあるＹサイズの計算法にある。即ち、本実施の形態２の場合は、
Ｙサイズ＝６４×ＪＰＥＧ符号化されているタイル領域の数
で計算する。
【００４４】
例えば、いまＪＰＥＧ符号化されていないタイル領域の数を例えば「２」個とすると、１２−２＝１０から、Ｙサイズは６４×１０＝６４０となる。
【００４５】
次に、ある解像度の符号化データの復号処理を説明する。
【００４６】
本実施の形態２での処理を示すフローチャートは、基本的には前述の実施の形態１と同様であるが、異なる部分は図１０のステップＳ１０３のタイル領域の復号処理にある。
【００４７】
図１２は、本実施の形態２に係る処理を示すフローチャートで、前述の実施の形態１のフローチャート（図１０）のステップＳ１０２とステップ１０４に挿入される処理を示すフローチャートである。
【００４８】
まずステップＳ１２０で、これから処理を行うタイル領域がＪＰＥＧで符号化されているか否かを判断する。ＪＰＥＧ符号化の場合はステップＳ１０３でＪＰＥＧ復号化処理を行う。これは前述の実施の形態１の場合と同様である。
【００４９】
一方、ステップＳ１２０でＪＰＥＧ符号でない場合はステップＳ１２１に進み、“Uncompressed data”（非圧縮（非符号化）データ）か否かを判断する。“Uncompressed data”非圧縮データの場合はステップＳ１２２に進み、その“Uncompressed data”に対する処理を行う。
【００５０】
又ステップＳ１２１で“Uncompressed data”ではない場合はステップＳ１２３に進み、“Single color decoding”（単一カラー復号）の処理を行う。
【００５１】
これにより、ＪＰＥＧ符号化以外の符号化方式で符号化されているタイルデータがあっても、その符号化方式に対応した復号化処理を追加することにより、ＪＰＥＧの復号化処理に悪い影響を与えることなく、高速に処理を行うことができる。
【００５２】
上述の実施の形態１及び２では、新しい符号化データを最後まで作り、その後復号化処理をタイル領域の数だけ行っていたが、タイル領域毎に新しい符号化データを作りながら、そのタイル領域を復号化することも可能であることは容易に想到できる。また新しい符号化データの作り方、或いは処理のフローチャートはこれに限るものではない。
【００５３】
［実施の形態３］
上述の実施の形態１及び２では、ある解像度の画像データを構成する全てのタイル領域が１種類のテーブル・データを使用する場合を説明したが、本実施の形態３では、複数のテーブル・データを使用する場合を説明する。
【００５４】
図１３は、本実施の形態３に係る処理を説明するフローチャートである。
【００５５】
まずステップＳ１３０にて、これから処理を行うタイル領域の圧縮方式、ＪＰＥＧテーブル番号などと識別する。次にステップＳ１３１に進み、ＪＰＥＧ方式かどうかを判断する。ＪＰＥＧの場合はステップＳ１３２に進み、ＪＰＥＧ符号化データが使用するテーブル番号を判断し、新規テーブルか否かを判断する。
【００５６】
初めて使用する新規テーブルの場合はステップＳ１３３に進み、図８のステップＳ８３と同様に、“JPEG tables selector”をキーにして、“Image contens property set”３３に格納されているＪＰＥＧテーブル・データを取り出す。次にステップＳ１３４に進み、ＪＰＥＧ符号化データ内のＳＯＦマーカコードに格納されている画像データのＹサイズを「０」にする。その後ステップＳ１３５に進み“Entropy code”をコピーする。このＪＰＥＧ符号化データのマージ方法は、前述の実施の形態１と基本的には同じである。
【００５７】
またステップＳ１３２で新規テーブルと判断されなかった場合はステップＳ１３５に進み、該当するテーブルの符号化データに今回のタイル領域の符号化データをマージする。
【００５８】
次にステップＳ１３６に進み、各タイル領域の復号処理を行う。この復号処理を示すフローチャートは前述の実施の形態１で説明したフローチャート、即ち図１２で示す処理と同じである。その後ステップＳ１３７に進み、復号処理を実行する解像度を構成するタイル領域に対して上記の処理が終了したか否かを判断し、全てのタイル領域に対して処理が終了していない場合はステップＳ１３０に戻り、上述した処理を繰り返す。
【００５９】
最後に、使用するＪＰＥＧテーブル毎にタイル領域の数をカウントしておき、該当するＪＰＥＧ符号化データの最後に“Define number of lines”ＤＮＬマーカ・コードで、この符号化データのＹサイズを挿入する。これにより、作成されるＪＰＥＧ符号化データはＪＰＥＧ準拠の符号形式となる。
【００６０】
以上説明した処理により、使用するテーブルの数だけのＪＰＥＧ符号化データを仮想的に作成し、この仮想的なＪＰＥＧ符号化データを復号することにより、高速に復号処理を行うことが可能となる。
【００６１】
なお本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００６２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６４】
以上説明したように本実施の形態によれば、FlashPixファイル形式で格納されている画像データで、ある解像度の画像データの全タイルをＪＰＥＧ符号化処理し、且つ量子化テーブルとハフマン・テーブルをタイル・データとは別領域に格納されている場合、各タイル領域で独立しているＪＰＥＧ符号化データを、
Ｘサイズ  ＝  タイル領域のＸサイズ（６４）、
Ｙサイズ  ＝  タイル領域のＹサイズ×タイル数（６４×タイル数）
各タイル領域でリスタート
となる使用するテーブル・データの数に対応した数のＪＰＥＧ符号化データに変換し、これをＪＰＥＧ復号化処理で各タイル領域毎に復号化処理することにより、ＪＰＥＧ復号化処理に使用するＪＰＥＧ復号化部は、通常のＪＰＥＧ復号化処理部で処理できる。
【００６５】
更に、全タイル領域のＪＰＥＧ符号化データを使用するテーブル・データの数に対応した数のＪＰＥＧ符号化データに変換することにより、各タイル領域毎でＪＰＥＧ復号化処理を新規で起動することによるオーバー・ヘッドを無くすことができ、高速な復号化処理が可能となる。
【００６６】
また、別の符号化方式で符号化されているタイルを含んでいる場合においても、同一の処理アルゴリズムで高速に復号化処理を行うことができる。
【００６７】
【発明の効果】
以上説明したように本発明によれば、FlashPixのようなファイル形式で符号化されて記憶された画像データを高速に復号できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る画像処理装置の構成を示す図である。
【図２】本実施の形態の画像処理装置本体の構成を示すブロック図である。
【図３】一般的なFlashPixファイルの内容を説明する図である。
【図４】本実施の形態に係るFlashPixファイルの“Image contens property set”に格納されている情報を説明する図である。
【図５】本実施の形態に係るFlashPixファイルの“Subimage header”に格納されている情報を説明する図である。
【図６】本実施の形態に係るFlashPixファイルの“Subimage data”に格納されているＪＰＥＧ符号化データを説明する図である。
【図７】元の画像をタイル領域に分割し、各タイル領域を符号化した結果を説明する図である。
【図８】本発明の実施の形態に係る復号化処理を示すフローチャートである。
【図９】本発明の実施の形態１に係るＪＰＥＧ符号化データの作成方法を説明する図である。
【図１０】本発明の実施の形態１に係る復号化処理を示すフローチャートである。
【図１１】本発明の実施の形態２に係るＪＰＥＧ符号化データの作成方法を説明する図である。
【図１２】本発明の実施の形態２に係る復号化処理を示すフローチャートである。
【図１３】本発明の実施の形態３に係る復号化処理を示すフローチャートである。
【図１】
0004124910.tif 000002
【図２】
0004124910.tif 000003
【図３】
0004124910.tif 000004
【図４】
0004124910.tif 000005
【図５】
0004124910.tif 000006
【図６】
0004124910.tif 000007
【図７】
0004124910.tif 000008
【図８】
0004124910.tif 000009
【図９】
0004124910.tif 000010
【図１０】
0004124910.tif 000011
【図１１】
0004124910.tif 000012
【図１２】
0004124910.tif 000013
【図１３】
0004124910.tif 000014