(57)【要約】【課題】画像の加工を行うには巨大ともいえるメモリ容量が必要となるという課題がある。【解決手段】本発明の画像圧縮方法は、情報設定ステップと、エントロピー復号化ステップと、情報抽出ステップと、組み換えステップと、エントロピー符号化ステップとを具備し、設定情報に基づく順に元画像圧縮データを実空間の画像データに変換することなく組み換える。情報設定ステップは、ブロックを複数含む連結ブロックを定義する設定情報を設定する。エントロピー復号化ステップは、元画像圧縮データをエントロピー復号化して空間周波数領域の画像データに変換する。情報抽出ステップは、空間周波数領域の画像データから連結ブロックに関する抽出情報を抽出する。組み換えステップは、抽出情報に基づいて空間周波数領域の画像データを組み換える。エントロピー符号化ステップは、組み換えた空間周波数領域の画像データをエントロピー符号化して画像圧縮データに変換する。【選択図】  図２
2006203270.tif 000002
【特許請求の範囲】
【請求項１】
画素がマトリクス状に配置される画像を、複数の前記画素を含みマトリクス状に構成されるブロック毎に空間周波数領域のデータに変換し、変換されたデータを１次元に配列し、エントロピー符号化して生成された元画像圧縮データを処理する画像圧縮方法であって、
少なくとも１つの前記ブロックを含む連結ブロックを定義する設定情報を設定する情報設定ステップと、
前記元画像圧縮データをエントロピー復号化して空間周波数領域の画像データに変換するエントロピー復号化ステップと、
前記設定情報に基づいて前記空間周波数領域の画像データから前記連結ブロックに関する抽出情報を抽出する情報抽出ステップと、
前記抽出情報に基づいて前記空間周波数領域の画像データを組み換える組み換えステップと、
前記組み換えステップで組み換えた空間周波数領域の画像データをエントロピー符号化して画像圧縮データに変換するエントロピー符号化ステップと
を具備し、
前記設定情報に基づく順に前記元画像圧縮データを実空間の画像データに変換することなく組み換える
画像圧縮方法。
【請求項２】
前記連結ブロックが複数の前記ブロックを含むとき、前記複数の前記ブロックの各々は前記元画像圧縮データの配列の順に隣接し、
隣接する順に連続して処理される
請求項１に記載の画像圧縮方法。
【請求項３】
前記設定情報は、
前記連結ブロックに含まれる前記ブロックの数を示す連結数を備え、
前記連結数は、所定の数が設定される
請求項１または請求項２に記載の画像圧縮方法。
【請求項４】
前記設定情報は、
前記連結ブロックに含まれる前記ブロックのうち最初に処理される前記ブロックの位置を示す開始ブロック位置と、
前記連結ブロックに含まれる前記ブロックの数を示す連結数と
を備え、
前記開始ブロック位置と前記連結数とは、前記組み換えステップが処理する順番に対応付けられて設定される
請求項１または請求項２に記載の画像圧縮装置。
【請求項５】
前記抽出ステップは、前記元画像圧縮データの配列の順に前記元画像圧縮データを取り込み、
前記連結ブロックに含まれる前記ブロックのうち最初に処理される前記ブロックの空間周波数領域の画像データのＤＣ値と、
前記最初に処理される前記ブロックの空間周波数領域の画像データの格納位置を示すアドレスと、
を抽出する
請求項１から請求項４のいずれかに記載の画像圧縮方法。
【請求項６】
前記組み換えステップは、前記設定情報の順に前記アドレスに基づいて前記連結ブロックの前記空間周波数領域の画像データを取り込むことにより前記空間周波数領域の画像データを組み換える
請求項１から請求項５のいずれかに記載の画像圧縮方法。
【請求項７】
前記抽出ステップは、前記元画像圧縮データの配列の順に前記元画像圧縮データを取り込み、
前記連結ブロックのうち、前記元画像圧縮データの最初に配列される連結ブロックと、前記最初に配列される連結ブロックに垂直方向に並ぶ連結ブロックとから、前記連結ブロックに含まれる前記ブロックのうち最初に処理される前記ブロックの空間周波数領域の画像データのＤＣ値と、
前記最初に処理される前記ブロックの空間周波数領域の画像データの格納位置を示すアドレスと、
を抽出する
請求項１から請求項４のいずれかに記載の画像圧縮方法。
【請求項８】
前記組み換えステップは、
前記設定情報の順に前記アドレスに基づいて前記連結ブロックの前記空間周波数領域の画像データを取り込むことにより前記空間周波数領域の画像データを組み換える第１組み換えステップと、
前記連結ブロックに連続して格納されている次ブロックの前記空間周波数領域の画像データを取り込み、前記次ブロックの前記ＤＣ値と前記アドレスとを抽出する第２組み換えステップと、
前記次ブロックの前記ＤＣ値と前記アドレスとを前記第１組み換えステップで参照した前記ＤＣ値と前記アドレスとに替えて保存する第３組み換えステップと
を備える
請求項７に記載の画像圧縮方法。
【請求項９】
前記ブロックは、縦８画素×横８画素を備える
請求項１から請求項８のいずれかに記載の画像圧縮装置。
【請求項１０】
前記元画像圧縮データは、ＪＰＥＧ符号化方式で処理されたデータである
請求項１から請求項９のいずれかに記載の画像圧縮装置。
【請求項１１】
画素がマトリクス状に配置される画像を、複数の前記画素を含みマトリクス状に構成されるブロック毎に空間周波数領域のデータに変換し、変換されたデータを１次元に配列し、エントロピー符号化して生成された元画像圧縮データを処理する画像圧縮装置であって、
少なくとも１つの前記ブロックを含む連結ブロックを定義する設定情報を格納する情報設定部と、
前記元画像圧縮データをエントロピー復号化して周波数領域の画像データに変換するエントロピー復号化部と、
前記情報設定部に格納される前記設定情報に基づいて前記空間周波数領域の画像データから前記連結ブロックに関する抽出情報を抽出する情報抽出部と、
抽出された前記抽出情報を格納する情報格納部と、
前記情報格納部に格納される前記抽出情報に基づいて前記空間周波数領域の画像データを組み換える組み換え部と、
前記組み換え部で組み換えた空間周波数領域の画像データをエントロピー符号化して画像圧縮データに変換するエントロピー符号化部と
を具備し、
前記設定情報に基づく順に前記元画像圧縮データを実空間の画像データに変換することなく組み換える
画像圧縮装置。
【請求項１２】
前記連結ブロックが複数の前記ブロックを含むとき、前記複数の前記ブロックの各々は前記元画像圧縮データが処理された順に隣接
し、隣接する順に連続して処理される
請求項１１に記載の画像圧縮装置。
【請求項１３】
前記抽出情報は、
前記連結ブロックに含まれる前記ブロックのうち最初に処理される前記ブロックのデータ格納位置を示すアドレスと、
前記最初に処理される前記ブロックの周波数領域の画像データのＤＣ値と
を備える
請求項１１または請求項１２に記載の画像圧縮装置。
【請求項１４】
前記設定情報は、
前記連結ブロックに含まれる前記ブロックの数を示す連結数を備え、
前記連結数は、所定の数が設定される
請求項１１から請求項１３のいずれかに記載の画像圧縮装置。
【請求項１５】
前記設定情報は、
前記連結ブロックに含まれる前記ブロックのうち最初に処理される前記ブロックの位置を示す開始ブロック位置と、
前記連結ブロックに含まれる前記ブロックの数を示す連結数と
を備え、
前記開始ブロック位置と前記連結数とは、組み換え後の前記連結ブロックの並びの順番に対応付けられて前記情報格納部に格納される
請求項１１から請求項１３のいずれかに記載の画像圧縮装置。
【請求項１６】
前記ブロックは、縦８画素×横８画素を備える
請求項１１から請求項１５のいずれかに記載の画像圧縮装置。
【請求項１７】
前記元画像圧縮データは、ＪＰＥＧ符号化方式で処理されたデータである
請求項１１から請求項１６のいずれかに記載の画像圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮方法および画像圧縮装置に関し、特に、圧縮されている画像データの処理に関する。
【背景技術】
【０００２】
デジタルカメラを使用して撮影した写真画像をプリンタに転送して印刷する場合、撮影した写真画像の向きで印刷するのが適当であるとは限らない。写真画像の短辺を印刷する用紙の幅に合せ、用紙幅を最大限に利用して印刷した方が、より大きなサイズで印刷ができる。例えば、デジタルカメラを使用して撮影したランドスケープモード（横長）の写真画像が図１３（Ａ）に示されるような画像である場合、そのままの向きで印刷するよりも図１３（Ｂ）に示されるように、画像を９０度回転させて縦長に印刷する方がよい。即ち、元画像となる写真の向きと印刷方向や印刷したい領域が必ずしも一致しているとは限らない。しかしながら、通常画像データ保存用途に使用されるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などの画像圧縮アルゴリズムは、圧縮された順番に伸張することを前提としている。
【０００３】
即ち、ＪＰＥＧによる画像圧縮は、ＤＣＴ変換により画像データを周波数領域のデータであるＤＣ成分とＡＣ成分に変換し、量子化により圧縮し、ハフマン符号化によってさらに圧縮して圧縮率を高める。ハフマン符号化によって圧縮されるＤＣ成分は絶対値がそのまま使われず、直前のデータのＤＣ成分との差分が使われ、より情報を圧縮するように構成されている。そのため、圧縮時の画像データの順番で伸張する必要がある。
【０００４】
したがって、画像を回転するなど画像圧縮順番を変更するような画像処理を行う場合、従来は、特開平１０−７０７３５号公報に開示されるように、元画像をすべて伸張して最終画像を得た後に、回転やクリッピングなどの画像加工を行うという手法をとっていた。即ち、一度１画面分の圧縮データを伸張した後、再度変更したい順番に並べ替えた画像圧縮データを生成する必要があった。このとき、１画面の画像伸張データを一時的に格納しておくメモリが必要になる。
【０００５】
一般的に画像の加工を行うには巨大ともいえるメモリ容量が必要となる。したがって、デジタルカメラで撮影された写真画像を直接プリンタで印刷するためには、デジタルカメラまたはプリンタのいずれか一方に画像処理を行う巨大なメモリを搭載しなければならないことになる。一方、低価格帯のデジタルカメラやプリンタでは低価格・小型化・低消費電力が競争力の中心となるため、そのように巨大なメモリを搭載することはできない。即ち、少ないメモリ容量で画像を加工することができる画像処理が必要になる。
【０００６】
特開平１０−７０７３５号公報には、デジタルスチルカメラにおいて画像処理に使用されるメモリ量を削減する技術が開示されている。このデジタルスチルカメラは、撮像素子とＡ／Ｄ変換器と画像処理手段と画像メモリと画像伸長手段とを備える。撮像素子は、撮像信号を出力し、Ａ／Ｄ変換器は、その撮像信号をデジタル値に変換する。画像処理手段は、Ａ／Ｄ変換器出力に基づく画像データを画像圧縮して圧縮画像データとして出力し、画像メモリは、その圧縮画像データを記憶する。画像伸長手段は、画像メモリ内の圧縮画像データを画像伸長する。このデジタルスチルカメラは、成分データの種類毎に、格納作業と垂直読み出し作業を順次実行することを特徴とする。この格納作業は、画像伸長手段出力より得られるカラー映像信号を構成する複数の種類の成分データ中の１個の成分データのみを第１メモリに格納する作業である。垂直読み出し作業は、１画面分の格納作業が完了した後に第１メモリ内の成分データを画面垂直方向に走査して読み出す作業である。このようにして、３成分のうち１成分だけデータを格納することにより画像処理に使用されるメモリを削減しているが、画素毎の１成分ではあっても、１画面分のデータを格納しておかなければならない。
【０００７】
また、特開平１１−４４３４号公報には、圧縮画像データに含まれる複数のブロックに垂直方向に伸長処理を施すデータ伸長方法が開示されている。このデータ伸長方法は、まず、１つの垂直ブロック列に相当する容量のワークメモリを準備する。次に、複数のブロックに含まれる各水平ブロック列に所定の処理を施して第１垂直ブロック列に関連する第１パラメータを検出する。その後、ワークメモリおよび第１パラメータを用いて第１垂直ブロック列に伸長処理を施す。そして伸長処理のときに第２垂直ブロック列に関連する第２パラメータを検出する。このように、圧縮方向と異なる方向に伸張を行うための手法が開示されている。この手法では伸張時に特殊な機構が必要となり、汎用的な伸張器には用意されていない機能である。そのため、圧縮された画像データを他の汎用的な伸張器しか持たない機器に転送する場合には、取り扱う順番にデータを転送することは可能であるが、圧縮画像データは伸長されたデータとなるため、転送しなければならないデータ量が増加する。
【０００８】
さらに、特開平１０−２７６４０３号公報によれば、デジタル撮像装置に関する画像処理技術が開示されている。デジタル撮像装置は、入射する光学像を画像データに変換した後、所定の大きさのデータブロックごとに画像圧縮処理して記録するデジタル撮像装置であり、撮像手段と第１の記憶手段と画像圧縮手段と記録媒体とを備える。撮像手段は、入射する光学像を長方形形状の領域として撮像し、デジタル信号に変換して出力する。第１の記憶手段は、光学像が撮像された長方形形状に対応する配列で、デジタル信号を一画像分記憶保持する。画像圧縮手段は、第１の記憶手段から、長方形形状の短辺方向に沿って順次データブロックを読み出して、対応する画像が９０度所定方向に回転することに相当するように変換し画像圧縮処理して出力する。記録媒体は、画像圧縮手段から出力される画像圧縮データを記憶保持する。この技術では、画像圧縮するときにその画像の向きを回転させるものである。そのため、画像圧縮するときに画像の向きを決めておかなければならない。
【０００９】
また、特開２０００−１３４４５９号公報によれば、周波数変換を用いて圧縮された画像を実空間の画像に変換することなく、周波数領域において画像を回転させる画像処理方法が記載されている。この技術では、画像は離散コサイン変換による周波数変換を用いて圧縮され、周波数領域のジグザグテーブルを変更すること、あるいは、データの交流成分の符号を反転させることにより画像を回転させるものである。
【００１０】
【特許文献１】特開平１０−７０７３５号公報
【特許文献２】特開平１１−４４３４号公報
【特許文献３】特開平１０−２７６４０３号公報
【特許文献４】特開２０００−１３４４５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来、画像を回転するなど画像圧縮順番を変更するような画像処理を行う場合に、一度１画面分の圧縮データを伸張した後、再度変更したい順番に並べ替えた画像圧縮データを生成する必要があった。したがって、画像の加工を行うには巨大ともいえるメモリ容量が必要となるという課題がある。
【課題を解決するための手段】
【００１２】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１３】
本発明の観点では、画像圧縮方法は、以下の方法により生成された元画像圧縮データを処理する。画素がマトリクス状に配置されて構成される画像は、複数の画素を含むブロック毎に空間周波数領域のデータに変換され、画像圧縮される。この圧縮されたデータは、さらに垂直方向に並ぶ水平ブロックラインごとに順に連結され、１次元に配列されてエントロピー符号化される。このように元画像を圧縮したデータを元画像圧縮データと呼ぶ。複数の画素を含むブロックは、マトリクス状に配置され、画像を埋め尽くしている。本発明の画像圧縮方法は、情報設定ステップと、エントロピー復号化ステップと、情報抽出ステップと、組み換えステップと、エントロピー符号化ステップとを具備し、設定情報に基づく順に元画像圧縮データを実空間の画像データに変換することなく組み換える。情報設定ステップは、少なくとも１つのブロックを含む連結ブロックを定義する設定情報を設定する。この連結ブロックは、元画像圧縮データの配列の順に隣接する複数のブロックを含むとき、隣接する順に連続して処理される。エントロピー復号化ステップは、元画像圧縮データをエントロピー復号化して空間周波数領域の画像データに変換する。情報抽出ステップは、設定情報に基づいて空間周波数領域の画像データから構成を変更するために必要な構成データである連結ブロックに関する抽出情報を抽出する。組み換えステップは、抽出情報に基づいて空間周波数領域の画像データを連続する複数の元の順番を保持したまま組み換える。エントロピー符号化ステップは、組み換えステップで組み換えた空間周波数領域の画像データをエントロピー符号化して画像圧縮データに変換する。したがって、空間周波数領域に変換された後にエントロピー符号化により圧縮された圧縮画像データは、実空間の画像データに変換されることなく、空間周波数領域においてその構成が変更され、１画面の画像伸張データを一時的に格納しておくメモリが不要となる。即ち、処理に使用されるメモリ容量を削減することが可能となる。
【００１４】
本発明の連結ブロックを定義する設定情報は、連結ブロックに含まれるブロックの数を示す連結数（２２）を備える。この連結数（２２）は、所定の数が設定されるが、連結ブロック毎に異なってもよい。さらに、設定情報は、連結ブロックに含まれるブロックのうち最初に処理されるブロックの位置を示す開始ブロック位置（２１）を備えてもよい。その場合、開始ブロック位置（２１）と連結数（２２）は、組み換えステップが処理する順番に対応付けられて情報格納ステップにより設定される。
【００１５】
抽出ステップは、元画像圧縮データの配列の順に元画像圧縮データを取り込み、構成を変更するために必要な構成データを抽出する。抽出する連結ブロックに関する情報は、連結ブロックに含まれるブロックのうち最初に処理される、即ち左端のブロックの空間周波数領域の画像データのＤＣ値（２５）と、そのデータが格納されるメモリ上の先頭位置を示すアドレス（２６）とである。このアドレス（２６）は、ビット位置を含む。組み換えステップは、設定情報の順に抽出ステップで抽出したアドレス（２６）に基づいて連結ブロックの空間周波数領域の画像データを取り込むことによって空間周波数領域の画像データを組み換える。
【００１６】
また、抽出ステップは、元画像圧縮データの配列の順に元画像圧縮データを取り込み、連結ブロックのうち元画像圧縮データの最初に配列される連結ブロックと、その連結ブロックに垂直方向に並ぶ連結ブロックとから、即ち、画像の左端に並ぶ連結ブロックから構成を変更するために必要な構成データを抽出する。抽出する連結ブロックに関する情報は、連結ブロックに含まれるブロックのうち最初に処理される、即ち左端のブロックの空間周波数領域の画像データのＤＣ値（２５−１、２、３）と、そのデータが格納されるメモリ上の先頭位置を示すアドレス（２６−１、２、３）とである。このアドレス（２６−１、２、３）は、ビット位置を含む。組み換えステップは、３段階に処理する。まず、第１組み換えステップは、設定情報の順にアドレスに基づいて連結ブロックの空間周波数領域の画像データを取り込むことにより空間周波数領域の画像データを組み換える。第２組み換えステップは、連結ブロックに連続して格納されている次ブロックの空間周波数領域の画像データを取り込み、次ブロックのＤＣ値とアドレスとを抽出する。第３組み換えステップは、次ブロックのＤＣ値とアドレスとを第１組み換えステップで参照したＤＣ値とアドレスとに替えて保存する。このように処理することにより、さらに使用するメモリ領域を削減することが可能になる。
【００１７】
本発明の他の観点では、画像圧縮装置は、以下の方法により生成された元画像圧縮データを処理する。画素がマトリクス状に配置されて構成される画像は、複数の画素を含むブロック毎に空間周波数領域のデータに変換され、画像圧縮される。この圧縮されたデータは、さらに垂直方向に並ぶ水平ブロックラインごとに順に連結され、１次元に配列されてエントロピー符号化される。複数の画素を含むブロックは、マトリクス状に配置され、画像を埋め尽くしている。本発明の画像圧縮装置（１１）は、情報設定部（１０２）と、エントロピー復号化部（１０４）と、情報抽出部（１０３）と、情報格納部（１０５）と、組み換え部（１０６）と、エントロピー符号化部（１０７）とを具備し、設定情報に基づく順に元画像圧縮データを実空間の画像データに変換することなく組み換える。情報設定部（１０２）は、少なくとも１つのブロックを含む連結ブロックを定義する設定情報を格納する。エントロピー復号化部（１０４）は、元画像圧縮データをエントロピー復号化して周波数領域の画像データに変換する。情報抽出部（１０３）は、情報設定部（１０２）に格納される設定情報に基づいて周波数領域の画像データから連結ブロックに関する抽出情報を抽出する。情報格納部（１０５）は、抽出された抽出情報を格納する。組み換え部（１０６）は、情報格納部（１０５）に格納される抽出情報に基づいて周波数領域の画像データを組み換える。エントロピー符号化部（１０７）は、組み換え部（１０６）で組み換えた周波数領域の画像データをエントロピー符号化して画像圧縮データに変換する。したがって、空間周波数領域に変換された後にエントロピー符号化により圧縮された圧縮画像データは、実空間の画像データに変換されることなく、空間周波数領域においてその構成が変更され、１画面の画像伸張データを一時的に格納しておくメモリが不要となる。即ち、装置に内蔵すべきメモリ容量を削減することが可能となる。
【００１８】
本発明の連結ブロックが複数のブロックを含む場合、そのブロックの各々は元画像圧縮データが処理された順に隣接する。その複数のブロックはその隣接する順に連続して処理される。即ち、連結ブロック内はブロックの並びの順番は保持され、変化しない。
【００１９】
本発明の抽出情報は、連結ブロックに含まれるブロックのうち最初に処理されるブロックのデータ格納位置を示すアドレス（２６）と、最初に処理されるブロックの周波数領域の画像データのＤＣ値（２５）とを備える。
【００２０】
本発明の設定情報は、連結ブロックに含まれるブロックの数を示す連結数（２２）を備える。この連結数（２２）は、所定の数が設定されるが、連結ブロック毎に異なってもよい。さらに、設定情報は、連結ブロックに含まれるブロックのうち最初に処理されるブロックの位置を示す開始ブロック位置（２１）を備えてもよい。開始ブロック位置（２１）で示されるブロックは、連結ブロック内の左端にあるブロックである。その場合、開始ブロック位置（２１）と連結数（２２）は、組み換え後の連結ブロックの並びの順番に対応付けられて情報格納部に格納される。
【発明の効果】
【００２１】
本発明によれば、１画面の画像伸張データを一時的に格納しておくメモリが不要となり、装置に内蔵すべきメモリ容量を削減することが可能となる。
【００２２】
また、本発明によれば、画像データの再圧縮時に、逆量子化、ＩＤＣＴ変換用の回路が不要となる。したがって、処理時間を短縮することができる。
【００２３】
さらに、本発明によれば、画像処理をソフトウェアにより処理する場合でもその処理が軽くなる。
【発明を実施するための最良の形態】
【００２４】
（第１の実施の形態）
図を参照して第１の実施の形態に係る画像圧縮装置および画像圧縮方法について説明する。図１は、本発明を実施するための最良の形態に係るデジタルスチルカメラなどの画像処理機器の構成の一部を示すブロック図である。画像処理機器は、画像圧縮装置１１とＣＰＵ（中央処理装置）１２とメモリ１３とを搭載し、それぞれはデータバス１４により接続され、データが授受される。
【００２５】
画像圧縮装置１１は、入出力制御部１０１、位置設定部１０２、情報抽出部１０３、エントロピー復号化部１０４、情報保存部１０５、組み換え部１０６、エントロピー符号化部１０７を具備する。データや動作指示は、ＣＰＵ１２からのアクセスまたはＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）などの手段を用いてメモリ１３からデータバス１４を介して画像圧縮装置１１に入力され、あるいは、画像圧縮装置１１からメモリ１３に出力される。
【００２６】
入出力制御部１０１は、画像圧縮装置１１に入力されたデータをその用途によって各機能ブロックに伝達し、また、各機能ブロックから受け取ったデータをＣＰＵ１２あるいはメモリ１３に出力する。位置設定部１０２は、ＣＰＵ１２から指示される画像の組み換えの順番や位置などの組み換え設定情報を格納し、その組み換え設定情報を情報抽出部１０３に供給する。情報抽出部１０３は、ブロック毎に入力される周波数領域の画像データから、位置設定部１０２の組み換え設定情報に基づいて、組み換え位置における組み換え抽出情報を抽出し、情報保存部１０５に出力する。エントロピー復号化部１０４は、メモリ１３から取り出した画像圧縮データを周波数領域の画像データに復号化する。エントロピー復号化部１０４は、復号化された周波数領域の画像データを情報抽出部１０３、組み換え部１０６に供給する。
【００２７】
情報保存部１０５は、情報抽出部１０３で抽出された組み換え抽出情報を格納し、組み換え部１０６の要求に応じてその組み換え抽出情報を提供する。組み換え部１０６は、情報保存部１０６に格納される組み換え抽出情報に基づいて、復号化された周波数領域の画像データを並べ替える。エントロピー符号化部１０７は、並べ替えられた周波数領域の画像データをエントロピー符号化し、入出力制御部１０１を介してメモリ１３に格納する。
【００２８】
メモリ１３には、ランドスケープモード（横長）で撮影された写真画像データが格納されている。写真画像データは、８×８画素を単位とするブロック毎にＤＣＴ変換を用いて圧縮され、ＪＰＥＧ形式にて保存されているものとする。即ち、各ブロック毎のデータは、可変長データで格納されている。
【００２９】
図２（Ａ）は、画像データ（７２×４０画素）のブロック（８×８画素）の並びを模式的に示している。画像圧縮データは、水平方向（Ｘ）に９ブロック、垂直方向（Ｙ）に５ブロック並ぶ２次元配列で表現できる。２次元配列のブロックのデータは、図２（Ａ）において矢印で示されるように、水平方向順（Ｘ）のデータ列が垂直方向順（Ｙ）にしたがって並べられる。即ち、図２（Ａ）に示される枠内の数字の順番に、ブロックのデータが１次元的にＪＰＥＧデータストリームとしてメモリ１３に格納されている。
【００３０】
ＣＰＵ１２から指示される順番にこの画像圧縮データを並べ替える方法は、２段階で構成される。まず、順番を示す組み換え設定情報をＣＰＵ１２から受け取り、その組み換え設定情報に基づいて画像圧縮データから組み換え抽出情報を抽出する。次にその抽出された組み換え抽出情報に基づいて、画像圧縮データの組み換えを行う。
【００３１】
まず、画像圧縮データから組み換え抽出情報を抽出する動作を説明する。図２（Ａ）に元になる画像圧縮データの圧縮順が示される。図中に矢印で示されるように、元になる画像圧縮データは、左上のブロック（ブロック１）を先頭として１ブロック単位にＤＣＴ変換、量子化が施され、エントロピー符号化が水平方向に施される。ここで、水平方向に並ぶブロック群（例えばブロック０からブロック９までのブロック）を水平ブロックラインと称することにする。各水平ブロックラインの最後のブロックには１ブロック下の水平ブロックラインが連続して符号化される。即ち、１ブロックラインごとにブロックが連続して圧縮を施され、１ブロックラインの右端のブロックの次にはすぐ下に位置するブロックラインの左端のブロックが連続するように符号化される。
【００３２】
画像データは、一般的に隣接するブロック間に相関性があり、直流成分であるＤＣ値にその相関性があらわれる。したがって、エントロピー符号化の効率を上げるため、ＪＰＥＧ符号化方式では、前のブロックとの差分によりそのブロックのＤＣ値を表現する手法が採用されている。そのため、符号情報はブロック間で密接に結合され、ブロックの並び順にも情報が発生する。
【００３３】
このように符号化された画像圧縮データの構造を示す概念図が図７に示される。図７（Ａ）は、画像圧縮データの並びを示し、図７（Ｂ）はそのデータの内容を示す。図２に示される（Ｘ，Ｙ）の位置にあるブロックの圧縮データはＤ（Ｘ，Ｙ）と表現される。そのＤＣ成分（ＤＣ値）はＤＣＸＹ、ＡＣ成分（ＡＣ値）は、ＡＣＸＹと表現される。元の画像圧縮データは、上述したようにブロック（０，０）の圧縮データＤ（０，０）を先頭として生成される。圧縮データＤ（０，０）は、ＤＣ００とＡＣ００とで構成される。圧縮データＤ（０，０）のメモリ１３上のアドレスは、ａｄｒ１とする。次に、ブロック（０，０）に水平方向に隣接するブロック（１，０）の圧縮データＤ（１，０）、即ち、差分ＤＣ値（ＤＣ１０−ＤＣ００）とＡＣ１０とが続く。この差分ＤＣ値は、ブロック（１，０）のＤＣ値であるＤＣ１０から、１つ前のブロック（０，０）のＤＣ値ＤＣ００を差し引いた値である。
【００３４】
次にＤ（２，０）、Ｄ（３，０）、…と続き、Ｄ（８，０）で１ブロックラインのデータが終わる。ブロック（８，０）の圧縮データＤ（８，０）は、差分ＤＣ値（ＤＣ８０−ＤＣ７０）とＡＣ値ＡＣ８０とにより構成される。圧縮データＤ（８，０）のＡＣ値ＡＣ８０に続くデータは、１ブロックライン下のブロックＤ（０，１）のデータＤ（０，１）である。したがって、圧縮データＤ（０，１）の差分ＤＣ値は、（ＤＣ０１−ＤＣ８０）である。差分ＤＣ値の次にＡＣ値ＡＣ０１が続く。以下同様に圧縮データが続き、ブロック（８，４）の差分ＤＣ値（ＤＣ８４−ＤＣ７４）とＡＣ値ＡＣ８４で符号化データの並びが終わる。
【００３５】
このように並んでいる圧縮データに対して、図４に示されるように、圧縮データの組み換え設定情報がＣＰＵ１２から指示される。位置設定部１０２は、圧縮データを並べる順にブロックの開始位置２１と、その開始位置２１から水平（Ｘ）方向に処理を進めるブロック数（連結数）２２とを対応させて組み換え設定情報を格納する。開始位置（Ｘ，Ｙ）とは、通常のＪＰＥＧストリーム圧縮方向に連続させて連結する最初のブロック位置座標を示す。ここでは座標の原点は、図２（Ａ）に図示されるように画像の左上とする。即ち、原点の座標は（０，０）であり、Ｘ方向・Ｙ方向ともにブロックの座標をブロック数で表わす。連結数とは、開始位置で指定したブロックから右水平方向に再圧縮する連続ブロック数を示すものである。例えば、ｉ番目の組み換え位置では、開始位置は、（Ｘｉ，Ｙｉ）の位置のブロックであり、そのブロックからＣＯＮｉ個のブロックが続けて処理されることが示されている。以降この連続して処理されるブロック群を連結ブロックと称することにする。
【００３６】
この開始位置２１には原点を始めとして各連結ブロックの左端のブロックの座標が設定される。また、図６（Ｂ）では、各連結ブロックは３ブロック幅一定であり、連結数（ＣＯＮｉ）には一様に３が設定される。連結ブロックの形状を変えずに幅を２ブロックにする場合は、２を設定すればよい。また、各連結ブロック毎に異なる値が設定されてもよい。このように、開始位置と連結数によって最終的に得たい画像に対応するように任意に圧縮順を決めることができる。
【００３７】
図４に示されるように、連結数ＣＯＮｉが全て３に設定されると、図２（Ｂ）に示されるように、水平方向に３ブロックずつ連結され、データ圧縮順が並べ替えられることになる。このように組み換え設定情報を持つことにより、開始位置と連結数によって最終的に得たい画像に対応するように任意に圧縮順を決めることができる。ここで、連結数に全て同じ値が設定される場合は、開始位置と連結数とを組にして設定しておく必要はなく、開始位置だけを順番に設定しておくとよい。このようにすると、よりメモリ容量は少なくて済む。
【００３８】
図３は、位置設定部１０２に設定された組み換え設定情報に基づいて、画像圧縮データから組み換え抽出情報を抽出する動作を示すフローチャートである。上述のように、組み換え位置、連結数が位置設定部１０２に設定される（ステップＳ１１）。
【００３９】
画像圧縮装置１１は、画像圧縮データを１ブロック毎にメモリ１３から順に取り出す（ステップＳ１３）。メモリ１３に格納されている画像圧縮データは、エントロピー符号化されているため、可変長データである。エントロピー復号化部１０４は、情報抽出部１０３で組み換え抽出情報を抽出するためにこの可変長データをエントロピー復号化する。これによってメモリ１３に格納されていた画像圧縮データは、周波数領域の画像データに復号化される（ステップＳ１４）。
【００４０】
エントロピー復号化された周波数領域の画像データは、情報抽出部１０３に送られる。周波数領域の画像データは、図７（Ｂ）に示されるように、画像データＤ（Ｘ，Ｙ）のＤＣ成分とＡＣ成分とを分離して扱えるようになる。このうち、ＤＣ成分は、その１つ前に処理したブロックのＤＣ値と、現在処理するブロックのＤＣ値との差分として格納されている。したがって、この差分ＤＣ値と１つ前に処理されたブロックのＤＣ値とに基づいて、現在処理するブロックのＤＣ値が算出される。このとき、１つ前に処理されたブロックのＤＣ値は、情報抽出部１０３に保持されている。エントロピー復号されたデータのＤＣ成分は、差分ＤＣ値であるため、その差分ＤＣ値に保持されるＤＣ値を加えることにより現在処理するブロックのＤＣ値を得る。このＤＣ値は、次のブロックの処理のために入れ替えて情報抽出部１０３に保持される。なお、保持されるＤＣ値の初期値は０とする。原点ブロック（０，０）のデータＤ（０，０）を処理するとき、ＤＣ００−０と考えることにより、処理の統一性が確保できる。このように、情報抽出部１０３は、ブロックのＤＣ値を算出して保持する（ステップＳ１５）。
【００４１】
次に、現在処理されているブロックが、位置設定部１０２に設定されている開始位置のブロックであるか否か判定される（ステップＳ１７）。開始位置のブロックでなければ（ステップＳ１７−ＮＯ）、画像データの組み換え箇所ではないので、次のブロックの処理に進む。開始位置のブロックであれば（ステップＳ１７−ＹＥＳ）、画像データの組み換えに必要な組み換え抽出情報を抽出する。画像データの組み換えに必要な情報として、情報抽出部１０３は、その現在処理されているブロックのＤＣ値と、そのブロックのデータが格納されているメモリ１３上のアドレスとを抽出する。画像圧縮データは可変長データであるため、このメモリ１３のアドレスは、バイト（ワード）位置だけでなく、ビット位置も含むものとなる。抽出されたＤＣ値とアドレスは、情報保存部１０５に出力されて保存される。情報保存部１０５は、図５に示されるように、組み換えの順番に対応付けられてＤＣ値２５とアドレス２６とを保存する（ステップＳ１８）。
【００４２】
設定されている組み換え位置の情報が全て抽出されたか否かを判定し（ステップＳ１９）、全ての情報を抽出するまでステップＳ１３から繰り返す（ステップＳ１９−ＮＯ）。全て抽出し終わると、情報抽出動作は完了する（ステップＳ１９−ＹＥＳ）。
【００４３】
例えば、図２（Ａ）の画像圧縮データが入力され、図２（Ｂ）のように組み替えるとする。最初のブロックつまり原点の画像圧縮データを取り込み、ＤＣ値を算出する。図７（Ｂ）に示されるＤ（０，０）の差分ＤＣ値ＤＣ００と保持されるＤＣ値の初期値０とからＤＣ値ＤＣ００が算出される。このＤＣ００は保持ＤＣ値として保持される。このブロックは、図４に示される順番１の開始位置のブロックであるため、ＤＣ値ＤＣ００とメモリ１３のアドレスａｄｒ１は、図５順番１に示されるように、情報保存部１０５に保存される。次に入力されるＤ（１，０）は、差分ＤＣ値（ＤＣ１０−ＤＣ００）を有している。保持ＤＣ値ＤＣ００を加算することにより、ブロック（１，０）のＤＣ値ＤＣ１０が算出され、保持ＤＣ値に保持される。このブロック（１，０）は組み換え位置のブロックではないため、次のブロック（２，０）の処理に進む。
【００４４】
ブロック（３，０）を処理するとき、上述のように、ＤＣ値ＤＣ３０を算出し、開始位置の判定をすると、順番６の開始位置であることがわかる。したがって、情報保存部１０５はＤＣ値ＤＣ３０とアドレスａｄｒ６とを順番６の位置に保存する。このようにして、画像圧縮装置１１は、順次画像圧縮データをメモリ１３から取り込み、組み換え抽出情報を抽出して情報保存部１０５に保存していく。
【００４５】
抽出動作が終了すると、図７（Ａ）で示されるようなＪＰＥＧデータストリームから、組み換え位置（開始位置）のブロックのＤＣ値とアドレスとが抽出され、図５に示されるように、組み換え抽出情報は、組み換えの順番に対応付けられて格納される。
【００４６】
このように、組み換え位置（開始位置）のＤＣ値とアドレスとを抽出することにより、画像圧縮データを一旦空間領域のデータに復号化して並べ替えを行う方式に比べて極めて少ないメモリ容量で処理が可能となる。また、ここでは、組み換え抽出情報は情報保存部１０５に保存するように説明したが、組み換え抽出情報は、メモリ１３上に保存してもよい。
【００４７】
次に、抽出ステップにより抽出した組み換え抽出情報に基づいて画像データの再圧縮を行う。図６は、周波数領域の画像データを再圧縮する手順を示すフローチャートである。図示しない初期設定処理として、保持するＤＣ値（作業領域）をクリアしておく。
【００４８】
まず、組み換え部１０６は、図５に示されるように格納されている組み換え抽出情報を組み換え順番に基づいて情報保存部１０５から取得する（ステップＳ２１）。
【００４９】
取得した組み換え抽出情報のアドレス２６に基づいて、画像圧縮装置１１は、入出力制御部１０１を介してメモリ１３から圧縮データを取り込む（ステップＳ２３）。取り込まれた圧縮データは、エントロピー復号化部１０４で周波数領域の画像データにエントロピー復号化され、組み換え部１０６に出力される（ステップＳ２４）。組み換え部１０６は、処理中のブロックが組み換え位置のブロックか否かを判定する（ステップＳ２５）。
【００５０】
処理中のブロックが組み換え位置（開始位置）のブロックである場合（ステップＳ２５−ＹＥＳ）、取得した組み換え抽出情報のＤＣ値２５と保持するＤＣ値（１つ前のブロックのＤＣ値）とに基づいて、差分ＤＣ値を算出する。取得した組み換え抽出情報のＤＣ値２５は、この処理中のブロックのＤＣ値であるから、次のブロックの処理のために保持するＤＣ値として設定される（ステップＳ２６）。
【００５１】
復号化したブロックが組み換え位置のブロックではない場合（ステップＳ２５−ＮＯ）、このブロックは、連結されるブロックであり、差分ＤＣ値は、そのまま使用してもよい。次のブロックの差分ＤＣ値を算出するときに備えて、差分ＤＣ値と保持するＤＣ値とに基づいて、この処理中のブロックのＤＣ値を算出し、新たに保持するＤＣ値に設定する（ステップＳ２７）。
【００５２】
処理中のブロックの差分ＤＣ値が設定されると、エントロピー符号化部１０７は、１つ前の順番に相当する周波数領域の画像データに連続させて周波数領域の画像データをエントロピー符号化する。符号化された画像データは、画像圧縮データとしてメモリ１３に入出力制御部を介して出力される（ステップＳ３１）。
【００５３】
ステップＳ２３からステップＳ３１までの処理を設定される連結数分繰り返す（ステップＳ３４−ＮＯ）。連結数ＣＯＮｉで示されるブロック数分の処理が完了すると（ステップＳ３４−ＹＥＳ）、全てのブロックの再圧縮が完了したか否か判定する（ステップＳ３７）。再圧縮すべきブロックが残っている場合（ステップＳ３７−ＮＯ）、ステップＳ２１に戻り、組み換え抽出情報の取得から繰り返す。全てのブロックの再圧縮が完了すると再圧縮処理は終了する（ステップＳ３７−ＹＥＳ）。
【００５４】
例えば、組み換え抽出情報が図５に示されるように抽出設定され、図７に示されるように画像圧縮データが並び、再圧縮をするものとする。再圧縮処理が開始されると、保持ＤＣ値は０に設定される。組み換え抽出情報の順番１に対応付けられるＤＣ値ＤＣ００とアドレスａｄｒ１が組み換え部１０６に取り込まれる（図５参照）。アドレスａｄｒ１に基づいて画像圧縮データがメモリ１３から読み込まれる。復号化部１０４は、ＤＣ成分ＤＣ００を分離できるようにエントロピー復号化する。ブロック（０，０）は開始位置であるから、組み換え部１０６は、組み換え抽出情報のＤＣ値ＤＣ００と保持ＤＣ値０とに基づいて、差分ＤＣ値ＤＣ００を算出する。算出された差分ＤＣ値をエントロピー復号化されたデータの差分ＤＣ値と入れ替え、エントロピー符号化して出力する。
【００５５】
連結数は３であるから、次に連結される圧縮データをメモリ１３から取り出す。このブロックの圧縮される連結の順番は変わらないため、このデータに含まれるＤＣ成分は変わらない。組み換え部分のＤＣ差分値算出のためにこのブロックのＤＣ値が算出される。ＤＣ成分は（ＤＣ１０−ＤＣ００）であり、保持ＤＣ値はＤＣ００であるから、このブロックのＤＣ値はＤＣ１０と算出される。この値ＤＣ１０が保持ＤＣ値に設定される。ブロック（０，０）の周波数領域の画像データに連続させてブロック（１，０）の周波数領域の画像データがエントロピー符号化され、画像圧縮データとしてメモリ１３に入出力制御部を介して出力される。この場合、Ｄ（０，０）とＤ（１，０）は、組み換え処理をしても元のデータと同じデータとなる。このようにして、ブロック（２，０）まで処理すると、保持ＤＣ値にはＤＣ２０が設定されている。ここで、連結数３まで処理されたことになる。
【００５６】
次の組み換え順番２の組み換え抽出情報（ＤＣ値ＤＣ０１、アドレスａｄｒ２）を組み換え部１０６は取り込む。アドレスａｄｒ２に基づいて、画像圧縮データがメモリ１３から取り込まれる。この画像圧縮データに含まれるＤＣ成分は、（ＤＣ０１−ＤＣ８０）である。組み換え抽出情報から抽出されるＤＣ値ＤＣ０１と、保持ＤＣ値ＤＣ２０とに基づいて、差分ＤＣ値（ＤＣ０１−ＤＣ２０）が算出され、元の画像データの差分ＤＣ値と入れ替えられる。ブロック（２，０）の周波数領域の画像データに連続させてブロック（０，１）の周波数領域の画像データがエントロピー符号化され、画像圧縮データとしてメモリ１３に入出力制御部を介して出力される。
【００５７】
組み換え後のストリームデータのイメージが図８に示される。画像データの並びが変わり、さらに図７とは組み換え位置のブロックの差分ＤＣ値が異なっていることがわかる。例えば、図８（Ｂ）のＤ（０，１）のＤＣ成分は、（ＤＣ０１−ＤＣ２０）であるが、元の画像データでは、Ｄ（０，１）のＤＣ成分は、（ＤＣ０１−ＤＣ８０）である。
【００５８】
このように画像圧縮データを周波数領域の画像データに伸張し、組み換え抽出情報に基づいてＤＣ差分値を入れ替えて１つ前のブロックの周波数領域の画像データに連続させてエントロピー符号化していくことにより、実空間の画像データに変換することなくブロックのデータの順番が組みかえられた画像圧縮データを生成することができる。
【００５９】
（第２の実施の形態）
本発明に係る第２の実施の形態について説明する。第２の実施の形態は、さらに使用するメモリ量を削減するものである。装置の構成は第１の実施の形態と同じである。第１の実施の形態では、組み換え抽出情報の抽出を全て完了してから再圧縮をするという手順で行った。しかし、再圧縮（符号化）処理の終わったブロックの組み換え抽出情報は必要なくなる。したがって、第２の実施の形態は、組み換え抽出情報を全て圧縮に先立って抽出せずに、不要になった組み換え抽出情報に上書きしていくという方法である。短冊状に再圧縮を行うことには変わりないが、連結ブロック１つの組み換え抽出情報を抽出しておき、再圧縮をしながら次の連結ブロックの組み換え抽出情報を抽出し、組み換え抽出情報を上書きしていく。これにより、組み換え抽出情報の格納領域を削減することができる。
【００６０】
組み換え設定情報は、図１０に示されるように、連結されるブロックの先頭ブロックを示す開始位置２１が組み換えの順番に対応付けられて格納される。ここでは、連結数は全て３が設定されるものとする。したがって、連結数を組み換え設定情報として順番に対応付けて保持する必要はない。また、連結数が一定であり、かつ再圧縮するブロックが最初のブロック（原点ブロック）であれば、開始位置も順次算出可能であるため、組み換え設定情報は連結数のみ備えるだけでよい。さらに、抽出処理と再圧縮処理を並行しておこなうため、組み換え抽出情報は、図１１に示されるように、連結ブロック１つ分の領域に格納される。
【００６１】
図を参照して第２の実施の形態の動作を説明する。まず、連結ブロック１つ分の組み換え抽出情報の抽出を行う。続いて、その抽出された組み換え抽出情報に基づいて再圧縮を行いながら次の連結ブロックの組み換え抽出情報の抽出を行う。
【００６２】
図９は、始めの連結ブロック１つ分の組み換え抽出情報の抽出の動作を示すフローチャートである。組み換え抽出情報の抽出は、図１０に示されるように、連結ブロックの先頭のブロックの位置を示す開始位置２１を位置設定部１０２に設定することから開始される。開始位置２１は、組み換え順番に対応付けられてＣＰＵ１２から指示され、位置設定部１０２に格納される。また、この開始位置から水平方向に連続して処理されるブロックの数を示す連結数は、ここでは全ての組み換え順番に対して３が設定されているものとする。順番１から順番５までの開始位置のＸ座標が０であり、水平ブロックラインの先頭のブロックから始まっていることが判る（ステップＳ４１）。
【００６３】
画像圧縮データが、メモリ１３から入出力制御部１０１を介して順に取り出される（ステップＳ４３）。取り出された画像圧縮データは、エントロピー復号化部１０４で周波数領域の画像データに復号化され、周波数領域の画像データは、情報抽出部１０３に送られる（ステップＳ４４）。
【００６４】
情報抽出部１０３は、周波数領域の画像データからＤＣ成分を抽出する。このＤＣ成分は、処理中のブロックのＤＣ値とその１つ前に処理したブロックのＤＣ値の差分として格納されている。したがって、この差分ＤＣ値と１つ前に処理されたブロックのＤＣ値とに基づいて、現在処理するブロックのＤＣ値が算出される。このとき、１つ前に処理されたブロックのＤＣ値は、情報抽出部１０３に保持されている。算出されたＤＣ値は、次のブロックの処理のために入れ替えて情報抽出部１０３に保持される。なお、保持されるＤＣ値の初期値は０とする（ステップＳ４５）。
【００６５】
次に、現在処理されているブロックが、位置設定部１０２に設定されている開始位置のうち、水平方向の左端の位置、即ち、Ｘ座標が０であるブロックであるか否か判定される（ステップＳ４７）。左端のブロックでなければ（ステップＳ４７−ＮＯ）、組み換え抽出情報を抽出せずに次のブロックの処理に進む。左端のブロックであれば（ステップＳ４７−ＹＥＳ）、画像データの組み換えに必要な情報を抽出する。画像データの組み換えに必要な情報として、情報抽出部１０３は、現在処理中のブロックのＤＣ値と、そのブロックのデータが格納されているメモリ１３上のアドレスとを抽出する。画像圧縮データは可変長データであるため、このメモリ１３のアドレスは、バイト（ワード）位置だけでなく、ビット位置も含むものとなる。抽出されたＤＣ値とアドレスは、情報保存部１０５に出力されて保存される。情報保存部１０５は、図１１（Ａ）に示されるように、組み換えの順番に対応付けられてＤＣ値２５−１とアドレス２６−１とを保存する（ステップＳ４８）。
【００６６】
画像の左端のブロックの組み換え抽出情報を全て抽出したか否かを判定する（ステップＳ４９）。抽出しなければならないブロックが残っている場合（ステップＳ４９−ＮＯ）、ステップＳ４３に戻り、以上の抽出処理を続ける。開始位置が登録されているＸ座標が０である全てのブロックにおいて、組み換え抽出情報が抽出されて情報保存部１０５に登録された場合（ステップＳ４９−ＹＥＳ）、抽出処理を完了する。
【００６７】
例えば、第１の実施の形態で説明した場合と同じように、図２（Ａ）の画像圧縮データが入力され、同じように画像データの組み換えを行うものとする。上述した抽出処理が完了すると、図１１（Ａ）に示されるように、ＤＣ値２５−１、アドレス２６−１が５個ずつ抽出される。
【００６８】
この組み換え抽出情報に基づいて組み換え圧縮処理を行うとともに、次の開始位置の情報を抽出する。この再圧縮処理の動作を、図１２を参照して説明する。この処理を始めるとき、抽出された組み換え抽出情報は図１１（Ａ）に示されるように登録されている。また、図示しない初期設定処理として、保持するＤＣ値（作業領域）をクリアしておく。
【００６９】
組み換え部１０６は、情報保存部１０５から順番に対応する組み換え抽出情報を１組取り出す（ステップＳ５１）。取得したアドレス２６−１に基づいて、画像圧縮装置１１は、入出力制御部１０１を介して画像圧縮データをメモリ１３から取り込む（ステップＳ５３）。取り込まれた圧縮データは、エントロピー復号化部１０４で周波数領域の画像データにエントロピー復号化され、組み換え部１０６に出力される（ステップＳ５４）。組み換え部１０６は、処理中のブロックが組み換え位置のブロックか否かを判定する（ステップＳ５５）。
【００７０】
処理中のブロックが組み換え位置のブロックである場合（ステップＳ５５−ＹＥＳ）、取得した組み換え抽出情報のＤＣ値２５−１と保持するＤＣ値（１つ前のブロックのＤＣ値）とに基づいて、差分ＤＣ値を算出する。取得した組み換え抽出情報のＤＣ値２５−１は、この処理中のブロックのＤＣ値であるから、次のブロックの処理のために保持するＤＣ値として設定される（ステップＳ５６）。
【００７１】
処理中のブロックが組み換え位置のブロックではない場合（ステップＳ５５−ＮＯ）、このブロックは連結されるブロックであり、差分ＤＣ値はそのまま使用してもよい。次のブロックの差分ＤＣ値を算出するときに備えて、差分ＤＣ値と保持するＤＣ値とに基づいて、この処理中のブロックのＤＣ値を算出し、新たに保持するＤＣ値に設定する（ステップＳ５７）。
【００７２】
処理中のブロックの差分ＤＣ値が設定されると、エントロピー符号化部１０７は、１つ前の順番に相当する周波数領域の画像データに連続させて周波数領域の画像データをエントロピー符号化する。符号化された画像データは、画像圧縮データとしてメモリ１３に入出力制御部を介して出力される（ステップＳ６１）。
【００７３】
次に処理するブロックは、メモリ１３上に連続して格納されている。そのため、次のアドレスから次に処理するブロックの画像圧縮データが取り出される（ステップＳ６２）。
【００７４】
ステップＳ５４からステップＳ６２までの処理を設定される連結数分繰り返す（ステップＳ６４−ＮＯ）。連結数ＣＯＮｉ（ここでは全て３が設定されている）で示されるブロック数分の処理が完了すると（ステップＳ６４−ＹＥＳ）、連続する次のブロックの組み換え抽出情報を抽出する処理が実行される。
【００７５】
既にステップＳ６２において、画像圧縮データが取り込まれているため、エントロピー復号化部１０４は、この画像圧縮データをエントロピー復号化する（ステップＳ６５）。画像圧縮データから周波数領域の画像データに変換され、ＤＣ差分値、メモリ１３のアドレスが抽出される。抽出されたＤＣ差分値と保持されるＤＣ値とに基づいて、このブロックのＤＣ値が算出される。このアドレスとＤＣ値は、組み換え抽出情報を取り出した順番に対応する情報保存部１０５の格納位置に保存される。したがって、再圧縮処理が完了した順番に対応する情報は、新しい情報により上書きされたことになる（ステップＳ６６）。
【００７６】
次に、全てのブロックの再圧縮が完了したか否か判定する（ステップＳ６７）。再圧縮すべきブロックが残っている場合（ステップＳ６７−ＮＯ）、ステップＳ５１に戻り、組み換え抽出情報の取得から繰り返す。全てのブロックの再圧縮が完了すると再圧縮処理は終了する（ステップＳ６７−ＹＥＳ）。
【００７７】
例えば、図１０に示されるように開始位置が設定され、図１１（Ａ）に示されるように組み換え抽出情報が抽出されているとする。まず、保持ＤＣ値（作業領域）がクリアされる。
【００７８】
順番１に対応する組み換え抽出情報のアドレス２６−１としてアドレスａｄｒ１が取り出され、メモリ１３のアドレスａｄｒ１から画像圧縮データが取り込まれ、エントロピー復号化される。このときの処理は組み換え位置の処理であるから、組み換え抽出情報のＤＣ値ＤＣ００と保持ＤＣ値０から、差分ＤＣ値ＤＣ００が算出される。処理中のブロックのＤＣ値ＤＣ００が保持ＤＣ値に設定される。算出された差分ＤＣ値ＤＣ００は、復号化された画像データのＤＣ値ＤＣ００と入れ替えられ（原点ブロックでは値は変化せず、元の画像データを利用してもよい）、組み換え後の画像データが生成される。生成された画像データは、エントロピー符号化されてメモリ１３に格納される。
【００７９】
次の画像圧縮データ（連結番号は２となる）として前のブロックのデータの続きがメモリ１３から取り出される。このときは、先頭のブロックが処理されたばかりで、連結されるブロックの処理を行うため、ステップＳ５４に戻ってエントロピー復号化が行われる。連結されるブロックの処理であるから、復号化された周波数領域の画像データからＤＣ成分を抽出し、その差分ＤＣ値（ＤＣ１０−ＤＣ００）と保持ＤＣ値ＤＣ００とに基づいて、このブロックのＤＣ値ＤＣ１０を算出する。算出されたＤＣ値ＤＣ１０は、保持ＤＣ値に設定される。復号化された画像データの差分ＤＣ値をそのまま利用して前のブロックの画像データに連続させるようにこのブロックの画像データが生成される。エントロピー符号化部１０７は、エントロピー符号化してメモリ１３に格納する。
【００８０】
次の画像圧縮データ（連結番号は３となる）をメモリ１３から取り出し、同様に処理を行い、画像圧縮データがメモリ１３に格納される。次のブロックの画像圧縮データが取り込まれるが、このとき、連結数分の処理が完了し、保持ＤＣ値はＤＣ２０になっている。したがって、次の連結ブロックのための組み換え抽出情報の抽出を行う。即ち、ステップＳ６５においてエントロピー復号化された周波数領域の画像データから、ステップＳ６６においてＤＣ成分とアドレスが抽出される。抽出されたＤＣ成分は、差分ＤＣ値（ＤＣ３０−ＤＣ２０）であり、保持ＤＣ値ＤＣ２０に基づいてＤＣ値ＤＣ３０を算出する。ＤＣ値Ｄｃ３０とアドレスａｄｒ６は、順番１の位置に格納される。この位置は、次に順番６として読み出される。
【００８１】
このようにして順番１と順番２の連結ブロックの処理が終わると、情報保存部１０５は図１１（Ｂ）に示されるように、開始位置２５−２とアドレス２６−２とが順次書き換えられていく。処理が完了した順番１と順番２の位置の情報は、順番６と順番７の情報に上書きされ、未処理の順番３、順番４、順番５の情報はそのまま残っている状態となる。さらに、処理が進んで最後の列の再圧縮処理を行う時、図１１（Ｃ）に示されるように、開始位置２５−３とアドレス２６−３とは、最後の列の組み換え抽出情報を保持する。即ち、順番１１から順番１５までの情報が抽出されていることになる。
【００８２】
このように、組み換え抽出情報を圧縮に先立って全て抽出せずに、不要になった組み換え抽出情報に上書きしていくことにより、組み換え抽出情報の格納領域をさらに削減することができる。
【００８３】
このようにして再圧縮された画像圧縮データは、図２（Ｃ）に示されるように、Ｘ軸とＹ軸を入れ替え、入れ替えたＹ軸の方向を逆転させてみると、Ｘ軸方向に０〜２、３〜５、６〜８の大きなブロック領域３１、３２、３３の順に伸張できることが判る。したがって、図１３（Ａ）に示されるように撮影された風景を、図１３（Ｂ）に示されるように縦長の用紙に印刷する時などに特に有効であることがわかる。
【００８４】
上述した実施の形態においては、組み換えた圧縮画像データの連結ブロックの幅を３ブロックとしたが、出力するプリンタが例えばインクジェットプリンタの場合、印刷ヘッドが１スキャンするごとに印刷できる画素数は、印刷ヘッドに搭載されるノズル数と関連があるので、ノズル数に応じて連結ブロック幅を決定してもよい。
【００８５】
また、連結数は、そのブロック毎に設定が可能であるため、画像の一部のデータ取り出す場合やトリミングする場合などに全ての画像データを伸張してから画像処理する必要がなくなり、伸張に必要なメモリ容量の削減が可能となる。
【００８６】
このように、圧縮された画像データを画素の集まりである画像空間上にすべて伸張せずに、最終的に得たい画像の構成に対応させて８×８画素のブロック単位で組み替えることにより、一方の機器で撮影した画像データを、別の機器に転送し、さらにその画像の構成を加工する際に、双方の機器において最小限のメモリを搭載するだけで画像の加工が行えるようにすることができる。
【００８７】
さらに、上述の実施の形態においては、画像圧縮データを例えばデジタルカメラからプリンタに送る際に画像圧縮データを組み換えるように説明したが、この処理はプリンタ内における印刷の前処理として実施されてもよい。
【００８８】
（第３の実施の形態）
本発明の係る第３の実施の形態について説明する。第３の形態は、連結ブロックの連結数が一定数ではない。装置の構成は、第１の実施の形態と同じである。連結数が一定数ではないため、組み換え設定情報は、図１４に示されるように、連結ブロックの開始位置（Ｘ，Ｙ）と連結数が設定される。
【００８９】
順番１から順番５までは、開始位置のＸ座標が０であり、画像の左辺部分に関するものであることがわかる。連結数は１から３の値であり、第１および第２の実施の形態で示した一定の短冊状の連結ブロックではない。順番６から順番１０までは、画像の右辺部分に関するものであり、順番１１から順番１５までは画像の中央部分に関する。この組み換え設定情報に基づいて、画像圧縮データの組み換えを行う。画像圧縮データの組み換えは、上述のように組み換え位置の画像ブロックから組み換え抽出情報を抽出し、組み換え抽出情報に基づいて画像データを再圧縮することにより行われる。
【００９０】
図１４に示される組み換え設定情報により組み換え処理を行うと、図１５（Ａ）に示される順番に画像圧縮データが並べ替えられる。即ち、画像の左辺部分の画像圧縮データが先頭に並び、続いて右辺部、最後に中央部のデータが並ぶことになる。
【００９１】
このように画像圧縮データの組み換えを行うと、２２ブロック目までの画像圧縮データを伸張すると、図１５（Ｂ）に示されるように画像の左右部分を得ることができる。また、２３ブロック目からの画像圧縮データは、図１５（Ｃ）に示されるように画像の中央部分だけの画像に伸張される。即ち、画像圧縮データを全て元の画像データに伸張しなくても簡単に目的の部分画像を生成することが可能となる。
【００９２】
以上述べたように圧縮画像データを周波数領域にて圧縮順を組み替えることによって、受け取る画像情報機器が取り扱うのに都合のよい順番に伸張できる圧縮画像データが生成される。
【００９３】
なお、発明を実施するための最良の形態では、入出力制御部１０１がデータの入出力を行う構造にて説明したが、入力と出力とを別々のデータ線で接続し、パイプライン構造でデータ処理を行うようにしてもよい。また、本発明の画像圧縮方法は、ＪＰＥＧ符号化方式に限定されることはない。
【図面の簡単な説明】
【００９４】
【図１】本発明を実施するための最良の形態に係る画像処理機器の構成の一部を示すブロック図である。
【図２】同画像データのブロックの並びを模式的に示す図である。
【図３】第１の実施の形態に係る組み換え抽出情報を抽出する動作を示すフローチャートである。
【図４】同組み換え設定情報を示す図である。
【図５】同組み換え抽出情報を示す図である。
【図６】同周波数領域の画像データを再圧縮する手順を示すフローチャートである。
【図７】符号化された画像圧縮データの構造を示す概念図である。
【図８】組み換え後の画像圧縮データの構造を示す概念図である。
【図９】第２の実施の形態に係る組み換え抽出情報の抽出の動作を示すフローチャートである。
【図１０】同組み換え設定情報を示す図である。
【図１１】同組み換え抽出情報を示す図である。
【図１２】同周波数領域の画像データを再圧縮する手順を示すフローチャートである。
【図１３】ランドスケープモードの写真画像のイメージを示す図である。
【図１４】第３の実施の形態に係る組み換え設定情報を示す図である。
【図１５】同画像データのブロックの並びを模式的に示す図である。
【符号の説明】
【００９５】
１１  画像圧縮装置
１２  ＣＰＵ
１３  メモリ
２１  開始位置
２２  連結数
２５、２５−１、２５−２、２５−３  ＤＣ値
２６、２６−１、２６−２、２６−３  アドレス
３１、３２、３３  ブロック領域
１０１  入出力制御部
１０２  位置設定部
１０３  情報抽出部
１０４  エントロピー復号化部
１０５  情報保存部
１０６  組み換え部
１０７  エントロピー符号化部
【図１】
2006203270.tif 000003
【図２】
2006203270.tif 000004
【図３】
2006203270.tif 000005
【図４】
2006203270.tif 000006
【図５】
2006203270.tif 000007
【図６】
2006203270.tif 000008
【図７】
2006203270.tif 000009
【図８】
2006203270.tif 000010
【図９】
2006203270.tif 000011
【図１０】
2006203270.tif 000012
【図１１】
2006203270.tif 000013
【図１２】
2006203270.tif 000014
【図１３】
2006203270.tif 000015
【図１４】
2006203270.tif 000016
【図１５】
2006203270.tif 000017