(57)【要約】【課題】バッファの容量の低減が可能でリスタートマーカが挿入された符号化データの生成を容易に行うことができるようにする。【解決手段】符号化／復号化部１７は、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する。並び替え／マーカ挿入部は、符号化／復号化部１７で生成された符号化データを符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すリスタートマーカの挿入を行う。リスタートマーカを符号化データに挿入してから並び替えを行う場合に比べてバッファの容量の低減が可能となる。また、リスタートマーカのインデックスの置き換えを行う必要がなく符号化データの生成が容易となる。【選択図】        図１
2013046281.tif 000002
【特許請求の範囲】
【請求項１】
複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化部と、
前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入部と
を有する画像符号化装置。
【請求項２】
前記符号化部は、前記直前の符号化単位との相関を利用した符号化処理として、前記直前の符号化単位における符号化処理で得られた直流成分値と、符号化対象の符号化処理で得られる直流成分値との差分の符号化を行う
請求項１記載の画像符号化装置。
【請求項３】
前記符号化部は、前記マーカの挿入位置の直後の符号化単位では、直前の符号化単位の符号化処理において得られた直流成分値を「０」として符号化処理を行う
請求項２記載の画像符号化装置。
【請求項４】
前記画像処理単位毎に画像処理を行う画像処理部をさらに有し、
前記符号化部は、前記画像処理が行われた画像の符号化処理を行う
請求項１記載の画像符号化装置。
【請求項５】
前記画像処理部は、画像処理として画像の回転を行う場合、前記画像処理単位毎または前記符号化単位毎に回転を行い。
前記並び替え／マーカ挿入部は、前記符号化データを前記符号化単位で並び替えて回転後の画像における１画面の符号化処理順序とする
請求項４記載の画像符号化装置。
【請求項６】
前記符号化部は、前記直前の符号化単位との相関を利用して符号化処理を行う場合に、前記１画面の符号化処理順序において直前の符号化単位における符号化処理で得られる直流成分値を記憶して、該記憶した直流成分値を用いて符号化対象の符号化単位の符号化処理を行う
請求項１記載の画像符号化装置。
【請求項７】
前記符号化部は、前記画像処理単位毎に符号化処理を行う場合、前記１画面の符号化処理順序とした前記画像処理単位における左端の符号化単位の直前の符号化単位における直流成分値が、該左端の符号化単位の符号化処理前に記憶されない場合、事前に前記直前の符号化単位の直流成分値を取得する
請求項１記載の画像符号化装置。
【請求項８】
複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化工程と、
前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入工程と
を含む画像符号化方法。
【請求項９】
画像の符号化をコンピュータで実行させるプログラムであって、
複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化手順と、
前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入手順と
を前記コンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この技術は、画像符号化装置と画像符号化方法およびプログラムに関する。詳しくは、圧縮処理の区切りを示すマーカが挿入された符号化データを生成する場合に、バッファの容量の低減が可能でマーカが挿入された符号化データの生成を容易に行うことができるようにする。
【背景技術】
【０００２】
従来、ディジタルカメラ等の撮像装置では、撮像結果の画像信号に対して画像処理を行い、１画面分のデータをバッファに溜めた後に符号化処理が行われている。これは、ＪＰＥＧ(Joint Photographic Experts Group）に代表される一般的な画像符号化方式が、画像の１画面に対してラスタ順に符号化することが多いためである。しかし、１画面分の画像データを保持するためには記憶容量の大きなバッファが必要となる。そこで、特許文献１では、画像処理単位で画像処理と符号化処理を行い、その後、画像処理単位で符号化された符号化データを正規の順番に並び替える方法を用いることで、バッファの記憶容量の削減がはかられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４２７３４２６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＪＰＥＧ等の一般的な符号化方式では、ＭＣＵ(Minimum Coding Unit)間のＤＣ値（直流成分値）の差分を取って符号化することが行われている。このため、符号化データの途中から復号化を行えるようにするためには、圧縮処理の区切りを示すマーカ例えばＭＣＵ間の相関をリセットするリスタートマーカを符号化側で挿入して符号化データを生成しておく必要がある。
【０００５】
リスタートマーカを挿入した符号化データを生成する場合、符号量がリスタートマーカ分増加することから、符号化データの並び替えを行うために符号化データを一時格納しておくバッファの容量を増やさなければならない。また、リスタートマーカの挿入間隔が狭くなるに伴いリスタートマーカの符号量が増加することから、バッファの容量をさらに増やさなければならない。また、ＪＰＥＧを採用した場合、リスタートマーカのインデックスは１画面内でラスタ順に「０」〜「７」を繰り返す必要がある。このため、特許文献１のように画像処理単位で画像処理と符号化処理を行いリスタートマーカを挿入した符号化データを生成すると、符号化データの並び替えに応じてリスタートマーカのインデックスを１画面内でラスタ順に置き換えなければならない。
【０００６】
そこで、この技術では、圧縮処理の区切りを示すマーカが挿入された符号化データを生成する場合に、バッファの容量の低減が可能でマーカが挿入された符号化データの生成を容易に行うことができる画像符号化装置と画像符号化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この技術の第１の側面は、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化部と、前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入部とを有する画像符号化装置にある。
【０００８】
この技術においては、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データが生成される。例えば、画像処理単位毎に画像の拡大縮小や回転等の画像処理が行われて、画像処理後の画像処理単位毎の画像が符号化処理される。画像処理では、画像の回転を行う場合、画像処理単位毎または符号化単位毎に回転が行われる。符号化処理で生成された符号化データは、１画面の符号化処理順序に並び替えられて、マーカすなわち直前の符号化処理単位との相関をリセットするリセットマーカが挿入される。また、１画面の符号化処理順序における直前の符号化単位との相関を利用して符号化処理が行われて、マーカの挿入位置の直後の符号化単位では、直前の符号化単位との相関を利用することなく符号化処理が行われる。符号化処理では、直前の符号化単位との相関を利用して符号化処理を行う場合に、１画面の符号化処理順序において直前の符号化単位における符号化処理で得られる例えば直流成分値を記憶して、記憶した直流成分値を用いて符号化対象の符号化単位の符号化処理が行われる。また、画像処理単位毎に符号化処理を行う場合、１画面の符号化処理順序とした画像処理単位における左端の符号化単位の直前の符号化単位における直流成分値が、左端の符号化単位の符号化処理前に記憶されない場合、事前に直前の符号化単位の直流成分値が取得される。マーカの挿入位置の直後の符号化単位については、例えば直前の符号化単位の直流成分値を「０」とすることで、直前の符号化単位との相関を利用することなく符号化処理が行われる。
【０００９】
この技術の第２の側面は、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化工程と、前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入工程とを含む画像符号化方法にある。
【００１０】
この技術の第３の側面は、画像の符号化をコンピュータで実行させるプログラムであって、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化手順と、前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入手順とを前記コンピュータで実行させるためのプログラムにある。
【００１１】
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
【発明の効果】
【００１２】
この技術によれば、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データが生成される。また、符号化データを符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入が行われる。このように、マーカは符号化データを１画面の符号化処理順序としてから挿入されるので、符号化データを一時記憶するバッファの容量の低減が可能となる。また、１画面の符号化処理順序としてからマーカが挿入されるので、マーカのインデックスを１画面内で所定の順序に置き換える処理を行う必要がなく、マーカの挿入された符号化データの生成が容易となる。
【図面の簡単な説明】
【００１３】
【図１】撮像装置に適用した場合の構成を示す図である。
【図２】ストレージ部に記録された画像の処理を示すフローチャートである。
【図３】画像処理単位分の復号化処理を説明するための図である。
【図４】画像を縮小する場合の処理を説明するための図である。
【図５】画像の回転と拡大を行う場合の処理を示す図である。
【図６】画像処理単位毎の符号化処理を説明するための図である。
【図７】ＭＣＵ７，８，９を符号化する場合を例示した図である。
【図８】符号化データの並び替えを示す図である。
【図９】ＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６によって構成される画像の処理を行う場合を示す図である。
【図１０】第１の動作における直流成分値の制御処理を示すフローチャートである。
【図１１】リスタートマーカを画像処理単位の途中に挿入する場合を示す図である。
【図１２】ＭＣＵ７，８，９を符号化する場合を例示した図である。
【図１３】ＭＣＵ１０，１１，１２を符号化する場合を例示した図である。
【図１４】符号化データの並び替えを示す図である。
【図１５】ＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６によって構成される画像の処理を行う場合を示す図である。
【図１６】第２の動作における直流成分値の制御処理を示すフローチャートである。
【図１７】画像処理により画像を１８０度回転させる場合を示す図である。
【図１８】画像を１８０度回転させる場合の並び替え処理を説明するための図である。
【図１９】画像処理単位の途中にリスタートマーカを挿入する場合の並び替え処理を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．画像符号化装置の構成
２．画像符号化装置の動作
３．画像処理単位毎の第１の符号化処理動作
４．画像処理単位毎の第２の符号化処理動作
５．画像処理単位毎の第３の符号化処理動作
６．ソフトウェア処理の場合
【００１５】
＜１．画像符号化装置の構成＞
図１は、本技術の画像符号化装置を撮像装置に適用した場合の構成を示している。撮像装置１０は、撮像光学系１１、撮像部１２、アナログディジタル（Ａ／Ｄ）変換部１３、カメラ信号処理部１４、表示部１５、画像処理部１６、符号化／復号化部１７、並び替え／マーカ挿入部１８、ストレージ部１９を備えている。さらに、撮像装置１０は、制御部２１と操作部２２を備えている。また、バス２５には、カメラ信号処理部１４、画像処理部１６、符号化／復号化部１７、並び替え／マーカ挿入部１８、ストレージ部１９、制御部２１等が接続されている。
【００１６】
撮像光学系１１は、制御部２１の制御によるズーム倍率、フォーカス、絞りにより入射光を集光し、撮像部１２の撮像面に被写体の光学像を形成する。
【００１７】
撮像部１２は、例えばＣＭＯＳ（Complementary Metal Oxide Semiconductor）撮像素子やＣＣＤ（Charge Coupled Device）撮像素子等の固体撮像素子を用いて構成されている。撮像部１２は、光電変換を行い撮像素子の撮像面に形成された光学像に応じた撮像信号をＡ／Ｄ変換部１３に出力する。
【００１８】
Ａ／Ｄ変換部１３は、撮像部１２から出力される撮像信号をアナログディジタル変換処理する。Ａ／Ｄ変換部１３は、アナログディジタル変換処理を行うことにより生成した画像データをカメラ信号処理部１４に出力する。
【００１９】
カメラ信号処理部１４は、Ａ／Ｄ変換部１３から出力される画像データに対してカメラ信号処理、例えばマトリックス演算処理、ホワイトバランス調整処理、ガンマ補正処理等を行う。カメラ信号処理部１４は、カメラ信号処理後の画像データを表示部１５と画像処理部１６に出力する。
【００２０】
表示部１５は、カメラ信号処理部１４から供給された画像データ、または画像処理部１６から供給された画像データに基づいて画像表示を行う。
【００２１】
画像処理部１６は、カメラ信号処理部６から供給された画像データに対して画像処理、例えば解像度を変換して画像を拡大縮小するリサイズの処理、画像を回転させる画像回転処理、画像を部分的に切り出すトリミング等の処理を行う。画像処理部１６は画像処理後の画像データを符号化／復号化部１７に出力する。また、画像処理部１６は、符号化／復号化部１７から供給された画像データの画像処理を行い、画像処理後の画像データを例えば表示部１５に出力することで、例えばストレージ部１９に記録されている画像の再生画像の表示を行う。
【００２２】
符号化／復号化部１７は、制御部２１の指示により符号化処理や復号化処理を行う。符号化／復号化部１７は、画像処理部１６から供給された画像処理後の画像データを、例えば可変長符号化方式による符号化方法の１つであるＪＰＥＧの手法により符号化処理して符号化データを生成して、並び替え／マーカ挿入部１８に出力する。また、符号化／復号化部１７は、並び替え／マーカ挿入部１８から入力される符号化データを復号化して、復号化により得られる画像データを画像処理部１６に出力する。これらの処理において符号化／復号化部１７は、符号化処理単位であるＭＣＵ毎に、発生符号量等を制御部２１に通知する。また、符号化／復号化部１７は、ＭＣＵで検出されたＤＣ値がその後のＭＣＵの符号化処理で用いられる場合、検出されたＤＣ値を記憶する。なお、検出されたＤＣ値および後述する事前取得処理によって取得されたＤＣ値は、その後の符号化処理で利用可能となるように記憶すればよく、例えば符号化／復号化部１７または制御部２１等に記憶する。
【００２３】
符号化／復号化部１７は、１画面の符号化処理順序における直前のＭＣＵのＤＣ値と符号化対象のＭＣＵのＤＣ値の差分値を符号化する。さらに、符号化／復号化部１７は、リスタートマーカ挿入位置の直後のＭＣＵが参照するＤＣ値をあらかじめ「０」に置き換えることでＭＣＵ間の相関をリセットする。符号化／復号化部１７は、ＤＣ値「０」と符号化対象のＭＣＵのＤＣ値の差分値、すなわち符号化対象のＭＣＵのＤＣ値を符号化する。なお、以下の説明では、リスタートマーカ挿入位置の直後のＭＣＵをリセット対象のＭＣＵと呼ぶ。
【００２４】
並び替え／マーカ挿入部１８は、メモリを用いて構成されている。符号化／復号化部１７から供給された符号化データをメモリに一時格納して、符号化データを１画面の符号化処理順序に符号化単位で並び替える。並び替え／マーカ挿入部１８は、並び替え後の符号化データをストレージ部１９に出力する。また、ストレージ部１９から供給された符号化データを符号化／復号化部１７に出力する。さらに、並び替え／マーカ挿入部１８は、制御部２１の指示により、並び替え後の符号化データに対して圧縮処理の区切りすなわち直前の符号化処理単位との相関をリセットするリスタートマーカを挿入する。なお、並び替え／マーカ挿入部１８は、符号化データの並び替えにおいて、制御部２１の指示により、並び替えに対応するように、スライススタートコード、ブロックコード等の各ＭＣＵの位置を特定する位置情報や復号化処理に必要な制御コードの書き換えを行う。
【００２５】
ストレージ部１９は、例えばメモリカード、光ディスク、磁気ディスク等の記録媒体を用いて構成されている。ストレージ部１９は、並び替え／マーカ挿入部１８から供給された符号化データを記録媒体に記録する。また、ストレージ部１９は、記録媒体に記録されている符号化データを読み出して並び替え／マーカ挿入部１８に出力する。
【００２６】
制御部２１は、ＲＯＭ(Read Only Memory)やＲＡＭ(Random Access Memory)およびＣＰＵ(Central Processing Unit)等で構成されている。制御部２１は、ＲＯＭに記憶されているプログラムを実行して、撮像装置１０の動作が操作部２２におけるユーザ操作に応じた動作となるように各部を制御する。また、制御部２１は、ＲＡＭにワークエリアを確保して動作制御を行う。なお、処理プログラムは、事前のインストールにより提供される場合に限らず、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供するようにしてもよく、インターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
【００２７】
＜２．画像符号化装置の動作＞
次に、画像符号化装置の動作として、画像符号化装置を撮像装置に適用した場合について説明する。
【００２８】
制御部２１は、操作部２２のユーザ操作に対応して各部の動作を制御して、例えば撮像部１２で順次撮像を行い表示部１５にモニター画を表示させる。また、ユーザによるシャッター操作に応じて各部の動作を制御して、静止画をストレージ部１９に記録する場合、静止画の画像データを画像処理部１６や符号化／復号化部１７および並び替え／マーカ挿入部１８で処理してストレージ部１９に記録する。
【００２９】
また、制御部２１は、ユーザが画像処理を指示している場合、各部の動作を制御して、画像処理後の画像をストレージ部１９に記録する。ここで、画像処理部１６は、処理に適した画像処理単位で画像処理を行う。符号化／復号化部１７は、画像処理部１６から供給された画像処理結果を順次符号化処理して符号化データを生成する。並び替え／マーカ挿入部１８は、符号化データを１画面の符号化処理順序に符号化単位で並び替えてストレージ部１９に出力する。また、ストレージ部１９に記録されている画像の画像処理を行う場合、ストレージ部１９に記録されている符号化データを符号化／復号化部１７により復号化して画像処理部１６により画像処理する。この処理結果を符号化／復号化部１７により符号化処理してストレージ部１９に記録する。このとき、制御部２１は、画像処理部１６における処理に適した画像処理単位毎および処理順序で、ストレージ部１９に記録された撮像結果の復号化処理と画像処理と符号化処理を繰り返す。また、制御部２１は、これらの繰り返しの処理により得られる符号化データを、並び替え／マーカ挿入部１８により１画面の符号化処理順序に並び替えてストレージ部１９に記録する。
【００３０】
図２は、ストレージ部１９に記録された画像の処理を示すフローチャートである。ステップＳＴ１１で制御部２１は、画像処理単位分の復号化を行う。制御部２１は、ストレージ部１９から画像処理単位分の符号化データを読み出して、符号化／復号化部１７で復号化を行う。例えば、図３の（Ａ）に示す各ブロックを画像処理単位として、制御部２１により指示された斜線部で示す領域ＡＲの画像処理を行う場合、符号化／復号化部１７において、図３の（Ｂ）に示す各画像処理単位について復号化処理を行い画像データを生成する。
【００３１】
ステップＳＴ１２で制御部２１は、画像処理単位分の画像処理を行う。制御部２１は、画像処理部１６を制御して、復号化された画像処理単位の画像の画像処理、例えば画像の拡大や縮小，回転等を行う。
【００３２】
ステップＳＴ１３で制御部２１は、画像処理単位分の符号化を行う。制御部２１は、符号化／復号化部１７を制御して、画像処理後である画像処理単位の画像の符号化処理を行い、符号化データを生成して並び替え／マーカ挿入部１８に出力する。ここで、符号化／復号化部１７は、制御部２１の指示に従い、１画面の符号化処理順序における直前のＭＣＵとの相関を利用して符号化処理を行う。また、符号化／復号化部１７は、制御部２１の指示に従い、リスタートマーカの挿入位置の直後のＭＣＵでは、直前のＭＣＵとの相関を利用することなく符号化処理を行う。具体的には、直前のＭＣＵとの相関を利用して符号化処理を行う場合、画像処理単位の符号化処理において、１画面の符号化処理順序において直前のＭＣＵにおける符号化処理で得られるＤＣ値を記憶する。さらに、記憶したＤＣ値を用いて符号化対象のＭＣＵの符号化処理を行う。また、画像処理単位毎の符号化処理において、１画面の符号化処理順序とした画像処理単位における左端のＭＣＵの直前のＭＣＵにおけるＤＣ値が、左端のＭＣＵの符号化処理前に記憶されない場合、事前に直前のＭＣＵのＤＣ値が取得される。さらに、リスタートマーカの挿入位置の直後のＭＣＵについては、直前のＭＣＵのＤＣ値を「０」とすることで、直前のＭＣＵとの相関を利用することなく符号化処理を行う。
【００３３】
ステップＳＴ１４で制御部２１は、全画像処理単位の処理が完了したか否か判断する。制御部２１は、未処理の画像処理単位が残っていると判別した場合にはステップＳＴ１１に戻り、全画像処理単位の処理が完了したと判別した場合にはステップＳＴ１５に進む。
【００３４】
ステップＳＴ１５で制御部２１は、所定順序に符号化データを並び替えてマーカ挿入を行う。並び替え／マーカ挿入部１８は、制御部２１の制御のもと、並び替え／マーカ挿入部１８に保持した１画面分の符号化データを、１画面の符号化処理順序すなわち１画面の画像をまとめて符号化処理した場合の順序に並べ直す。また、並び替え／マーカ挿入部１８は、並び替え後の符号化データにリスタートマーカを順次挿入する。並び替え／マーカ挿入部１８は、リスタートマーカが挿入された並び替え後の符号化データをストレージ部１９に記録する。
【００３５】
図４は、画像を縮小する場合の処理を説明するための図である。撮像装置１０は、画像を縮小する場合、画像処理単位である画像ＡＲ１，ＡＲ２，ＡＲ３毎に、復号化処理とリサイズ（縮小）と符号化処理を行う。さらに、撮像装置１０は、１画面分の処理を完了すると、符号化データの並び替えとマーカの挿入を行ったのちストレージ部１９に記録する。
【００３６】
図５は、例えば画像の回転と拡大を行う場合の処理を説明するための図である。撮像装置１０は、画像処理により撮像結果を回転，拡大する場合、画像ＡＲ１，ＡＲ２，ＡＲ３による画像処理単位毎に、復号化処理と回転とリサイズ（拡大）および符号化処理を行う。さらに、撮像装置１０は、１画面分の処理を完了すると、符号化データの並び替えとマーカの挿入を行ったのちストレージ部１９に記録する。なお、画像の処理順序はリサイズ（拡大）を行ってから回転を行うようにしてもよい。
【００３７】
この実施の形態では、画像処理に供する画像処理単位および画像処理順序で、復号化処理と画像処理と符号化処理を繰り返した後、画像処理単位毎に生成された１画面分の符号化データが１画面の符号化処理順序に並び替えられる。また、並び替えが行われた符号化データに、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカであるリスタートマーカが挿入される。このため、並び替えのために符号化データを一時記憶するバッファの容量を、リスタートマーカが挿入された符号化データの並び替えを行う場合に比べて削減できる。また、符号化データを並び替えてからリスタートマーカが挿入されるので、リスタートマーカのインデックスを正規の順番に置き換える必要がなく、マーカの挿入が容易となる。さらに、リスタートマーカの挿入位置の直後の符号化単位では、直前の符号化単位との相関を利用することなく符号化処理が行われる。したがって、画像処理単位の符号化処理において、１画面の符号化処理順序において直前の符号化単位における符号化処理で得られるＤＣ値を記憶する必要がないため、マーカの挿入された符号化データの生成処理が容易となる。
【００３８】
なお、画像処理部１６における画像処理によっては、画像処理部１６に入力する画像データにおける画像処理単位と、画像処理部１６から出力される画像データに係る画像処理単位とは大きさが異なることになる。しかし、以下においては、説明の簡略化のために、これらの画像処理単位は等しいものとする。
【００３９】
＜３．画像処理単位毎の第１の動作＞
以下、画像処理単位毎の符号化処理について詳細に説明する。図６は、画像処理単位の画像ＡＲ１が９個のＭＣＵ１〜３，７〜９，１３〜１５により構成されており、画像処理単位の画像ＡＲ２が９個のＭＣＵ４〜６，１０〜１２，１６〜１８により構成されている場合を例示している。図６の（Ａ）に示すように、画像処理単位の画像ＡＲ１の画像処理を行った後、画像処理単位の画像ＡＲ２の画像処理を行う場合、画像ＡＲ１の符号化処理の後に画像ＡＲ２の符号化処理が行われる。したがって、符号化データは、破線の矢印で示すように、各画像処理単位のＭＣＵをそれぞれラスタ走査順に符号化処理して生成されることになる。
【００４０】
これに対して、画像ＡＲ１と画像ＡＲ２を１つの画像として符号化処理する場合、符号化データは図６の（Ｂ）における破線の矢印に示す１画面の符号化処理順序となる。すなわち、符号化データは、画像ＡＲ１，ＡＲ２からなる１つの画像のＭＣＵをラスタ走査順に符号化処理して生成されることになる。
【００４１】
したがって、並び替え／マーカ挿入部１８は、図６の（Ａ）に示す順序により得られる符号化データを、図６の（Ｂ）に示す順序に並び替えて出力する。ここでＪＰＥＧによる符号化処理では、直前のＭＣＵのＤＣ値を記憶して、続くＭＣＵでは、記憶したＤＣ値との差分値を符号化処理してＤＣ値を生成している。したがって、図６の（Ａ）において、ＭＣＵ７，１３のＤＣ値は、それぞれＭＣＵ３，９のＤＣ値と差分値により符号化される。同様に、ＭＣＵ４，１０，１６では、ＭＣＵ１５，６，１２のＤＣ値と差分値が符号化される。
【００４２】
これに対して画像処理単位の画像ＡＲ１，ＡＲ２を１つの画像として符号化処理する場合、ＭＣＵ７，１３は、水平方向の走査終了端である右端のＭＣＵ６，１２のＤＣ値との差分値が符号化される。また、画像ＡＲ２の水平方向への走査開始端側であるＭＣＵ４，１０，１６では、画像ＡＲ１の水平方向への走査終了端側であるＭＣＵ３，９，１５のＤＣ値との差分値が符号化される。
【００４３】
したがって、単に画像処理の順序により得られるＭＣＵ単位の符号化データを１画面まとめた符号化処理の順序により並べ直し、さらには制御コードを設定し直しただけでは、正しく復号化することが困難になる。
【００４４】
このため、制御部２１は、画像処理単位のＭＣＵをラスタ走査の順序により符号化処理する際に、このラスタ走査における各水平方向の走査終了端のＭＣＵで、符号化／復号化部１７で検出されるＤＣ値を記憶させる。また、制御部２１は、符号化／復号化部１７を制御して、隣接するＭＣＵにおける符号化処理の際に、記憶されているＤＣ値との差分値を算出して符号化処理する。なお、隣接するＭＣＵは、並び替え／マーカ挿入部１８で並び替えた後において、隣接するＭＣＵである。
【００４５】
また、水平方向の走査開始端のＭＣＵについては、ＤＣ値の符号化基準であるＭＣＵのＤＣ値を符号化処理前に取得できない。したがって、制御部２１は、ＤＣ値を用意できないＭＣＵについてＤＣ値の事前取得処理、すなわち事前に復号化処理と画像処理と符号化処理を行いＤＣ値を取得する処理を行う。
【００４６】
さらに、制御部２１は、並び替え／マーカ挿入部１８を制御してリスタートマーカの挿入を行う。また、制御部２１は、符号化／復号化部１７を制御して、リスタートマーカ挿入位置の直後のＭＣＵを、リセット対象のＭＣＵに設定する。例えば、図６において、画像処理単位における水平方向の走査終了端である右端の斜線部が、並び替え／マーカ挿入部１８によって挿入されたリスタートマーカである場合、制御部２１は、リセット対象のＭＣＵを、ＭＣＵ４，７，１０，１３，１６とする。
【００４７】
制御部２１は、図６の（Ａ）の場合、画像ＡＲ１を符号化処理する際に、それぞれ水平方向の走査終了端のＭＣＵ３，９，１５の符号化処理において、符号化／復号化部１７で検出されるＤＣ値を記憶させる。また画像ＡＲ２を符号化処理する場合、記憶したＭＣＵ３，９，１５のＤＣ値を符号化／復号化部１７にそれぞれセットして、水平方向の走査開始端のＭＣＵ４，１０，１６の符号化処理を実行する。
【００４８】
また、水平方向の走査開始端のＭＣＵ７，１３については、直前のＭＣＵ６，１２のＤＣ値を符号化処理前に取得できない。したがって、制御部２１は、ＤＣ値を用意できないＭＣＵについて、ＤＣ値の事前取得処理を行う。すなわち、制御部２１は、画像処理単位による処理を開始する前に、図６に示す右端のＭＣＵ６，１２，１８の復号化処理と画像処理と符号化処理を行うように各部の動作を制御して、ＭＣＵ６，１２，１８のＤＣ値を取得する。この場合、ＤＣ値の事前取得処理は、単にＤＣ値を取得するためだけの処理であり、これによりこの符号化処理により得られる符号化データは何ら利用することなく廃棄する。
【００４９】
さらに、制御部２１は、符号化／復号化部１７を制御して、リスタートマーカ挿入予定の位置の直後に位置するＭＣＵ４，７，１０，１３，１６をリセット対象のＭＣＵとする。
【００５０】
図７は、ＭＣＵ７，８，９を符号化する場合を例示している。ＭＣＵ７はリセット対象であることから、ＤＣ値「０」とＭＣＵ７のＤＣ値との差分を取って符号化する必要がある。したがって制御部２１は、符号化／復号化部１７を制御して、ＭＣＵ７の符号化時に参照する直前のＭＣＵのＤＣ値を「０」に置き換える。符号化／復号化部１７は、ＤＣ値「０」とＭＣＵ７のＤＣ値との差分値、すなわちＭＣＵ７のＤＣ値を符号化する。また、ＭＣＵ８，９は、リセット対象でないことから通常の符号化を行う。
【００５１】
次に、ＭＣＵ９は水平方向の走査終了端である右端のＭＣＵであることから、ＭＣＵ９の符号化によって得られるＤＣ値を記憶しておき、ＭＣＵ１０のＤＣ値の符号化時に利用する。ここで、ＭＣＵ１０はリセット対象のＭＣＵとなっているため、符号化時にＭＣＵ９のＤＣ値を必要としない。したがって、ＭＣＵ９のＤＣ値を記憶する必要がなく符号化処理が容易となる。同様に、１画面の左端に位置するＭＣＵ７を符号化するためには、１画面の右端のＭＣＵのＤＣ値の事前取得処理が必要になる。しかし、ＭＣＵ７がリセット対象のＭＣＵである場合は、右端のＤＣ値は「０」でよいことから、１画面の右端のＭＣＵのＤＣ値の事前取得処理を省略することが可能となる。したがって、処理速度の向上をはかることができる。
【００５２】
その後、画像ＡＲ１と画像ＡＲ２の符号化データを並び替えて図８に示すように接続して、１画面による符号化データを生成する。すなわち、ＭＣＵ７〜１２については、図８の（Ａ）に示すＭＣＵ７，８，９による符号化データと、図８の（Ｂ）に示すＭＣＵ１０，１１，１２による符号化データを接続する。さらに、リスタートマーカＲＳＴを挿入して、図８の（Ｃ）に示す１画面の符号化処理順の符号化データを生成する。
【００５３】
リスタートマーカを挿入する場合、リスタートマーカはバイトアラインを取る必要があるため、アラインが取れていない場合はビットスタッフィングを実施する。また、ビットスタッフィングの結果、「０ｘＦＦ」が発生した場合における「０ｘ００」の挿入等は、制御コード書き換えと同様に必要な処理が発生した場合に実施する。
【００５４】
なお、撮像装置１０における画像処理において、復号化された画像を１８０度回転させる処理を行う場合には、ＤＣ値を記憶するＭＣＵは、各水平方向の走査における走査終了端のＭＣＵに替えて、水平走査開始端側のＭＣＵとする。
【００５５】
次に、図９は、各画像処理単位がＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６によって構成される画像の処理を行う場合を示している。制御部２１は、図９の（Ａ）に示す破線の矢印のように、画像処理単位毎にラスタ走査の順序で、順次ストレージ部１９に記録された符号化データを復号して画像データを生成する。この画像データを画像処理して符号化処理することで、図９の（Ｂ）に示すように、ＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６の符号化データを順に生成する。
【００５６】
並び替え／マーカ挿入部１８は、図９の（Ｂ）に示す符号化データの並び替えを符号化単位で行い、１画面の符号化処理順序とする。さらにリスタートマーカを挿入して、図９の（Ｃ）に示すように、リスタートマーカの挿入された１画面の符号化処理順序の符号化データを生成する。この符号化データは、図９の（Ｄ）の破線の矢印で示すように、ＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６を１画面にまとめた画像の符号化処理順序とされている。ストレージ部１９は、図９の（Ｃ）に示す符号化データを記録する。また、図９の（Ｂ）（Ｃ）において、三角印により囲った符号のＭＣＵ Ａ４，Ｂ１，Ｂ４，Ｃ１，Ｃ４は、リセット対象のＭＣＵであり、図９の（Ｃ）に示すように、リセット対象のＭＣＵの直前にリセットマーカＲＳＴ０，ＲＳＴ１，・・・が挿入される。なお、リスタートマーカは、１画面の符号化処理順序とされた符号化データに挿入される。したがって、リスタートマーカのインデックスを「０」から「７」まで繰り返すことで、インデックスは１画面の符号化処理順序に対応した順序となり、インデックスの買い換えを行う必要がない。
【００５７】
図１０は、第１の動作における直流成分値の制御処理を示すフローチャートである。ステップＳＴ２１で制御部２１は、画像の左端の画像処理単位から順にＭＣＵの入力を行う。また制御部２１は、画像処理単位の符号化処理を繰り返す場合に、ＤＣ値を用意できないＭＣＵについてＤＣ値の事前取得処理を行いステップＳＴ２２に進む。なおリスタートマーカの挿入位置によっては、上述のように、ＤＣ値の事前取得処理を省略することが可能となる。
【００５８】
ステップＳＴ２２で制御部２１は、ＤＣＴを行う。制御部２１は、符号化／復号化部１７を制御して、ＭＣＵの画像データ毎に離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）を行いステップＳＴ２３に進む。
【００５９】
ステップＳＴ２３で制御部２１は、量子化を行う。制御部２１は、符号化／復号化部１７を制御して、ＤＣＴを行うことにより得られる係数データの量子化を行いステップＳＴ２４に進む。
【００６０】
ステップＳＴ２４で制御部２１は、マーカ挿入位置の直後であるか判別する。制御部２１は処理したＭＣＵが、リスタートマーカ挿入位置の直後である場合にはステップＳＴ２５に進み、直後でない場合にはステップＳＴ２６に進む。
【００６１】
ステップＳＴ２５で制御部２１は、相関をリセットして符号化を行う。制御部２１は、符号化／復号化部１７を制御して、ＤＣ値「０」と符号化対象のＭＣＵにおける量子化後の直流成分を示すＤＣ値の差分値を符号化してステップＳＴ２７に進む。
【００６２】
ステップＳＴ２６で制御部２１は、通常方法で符号化を行う。制御部２１は、符号化／復号化部１７を制御して、記憶したまたは事前取得処理によって取得した直前のＭＣＵのＤＣ値と符号化対象のＭＣＵのＤＣ値の差分値を符号化してステップＳＴ２７に進む。
【００６３】
ステップＳＴ２７で制御部２１は、全画像処理単位の処理完了であるか否かを判別する。制御部２１は、処理が行われていない画像処理単位が残っている場合にはステップＳＴ２１に戻り、全画像処理単位の処理が完了した場合には処理を終了する。
【００６４】
このように、符号化／復号化部１７ではリスタートマーカ挿入位置の直後のＭＣＵをリセット対象として、並び替え／マーカ挿入部１８では、符号化データを１画面の符号化処理順序に並び替えて所定の順番のインデックスであるリスタートマーカを挿入する。したがって、並び替えのために符号化データを一時記憶するバッファの容量を、リスタートマーカが挿入された符号化データの並び替えを行う場合に比べて削減できる。また、リスタートマーカのインデックスを正規の順番に置き換える必要がなく、マーカの挿入が容易となる。さらに、リスタートマーカの挿入位置の直後の符号化単位では、直前の符号化単位との相関を利用することなく符号化処理を行う。したがって、画像処理単位の符号化処理において、１画面の符号化処理順序において直前の符号化単位における符号化処理で得られる直流成分値を記憶する処理や直流成分値の事前取得処理を行う必要がないため、マーカの挿入された符号化データの生成処理が容易となる。
【００６５】
＜４．画像処理単位毎の第２の動作＞
ところで、上述の実施の形態では、リスタートマーカの挿入位置が画像処理単位の右端である場合について説明したが、リスタートマーカの挿入位置は画像処理単位の右端に限られない。次の実施の形態では、リスタートマーカの挿入位置が画像処理単位の途中に設けられている場合について説明する。
【００６６】
図１１は、リスタートマーカを画像処理単位の途中に挿入する場合を示している。リスタートマーカを、例えばＭＣＵ２，４，６，８，１０，１２，１４，１６の右端に設ける場合、リセット対象のＭＣＵは、リスタートマーカ挿入位置の直後であるＭＣＵ３，５，７，９，１１，１３，１５，１７である。
【００６７】
図１１の(Ａ)に示す画像処理単位の画像ＡＲ１，ＡＲ２でそれぞれ符号化して、符号化データを図１１の(Ｂ)に示す１画面における順番に並び替えるためには、ＭＣＵ４はＭＣＵ３のＤＣ値、ＭＣＵ１０はＭＣＵ９のＤＣ値、ＭＣＵ１６はＭＣＵ１５のＤＣ値との差分を符号化する必要がある。
【００６８】
図１１のＭＣＵのうち、ＭＣＵ７，８，９(ＭＣＵ７，９がリセット対象)を符号化する場合の例を図１２に示す。ＭＣＵ７，９はリセット対象であることから、ＤＣ値「０」とＭＣＵ７，９のＤＣ値との差分を取って符号化する必要がある。したがって制御部２１は、符号化／復号化部１７を制御して、ＭＣＵ７，９の符号化時に参照する直前のＭＣＵのＤＣ値を「０」に置き換える。符号化／復号化部１７は、ＤＣ値「０」とＭＣＵ７，９のＤＣ値との差分値、すなわちＭＣＵ７，９のＤＣ値を符号化する。また、ＭＣＵ８は、リセット対象でないことから通常の符号化を行う。
【００６９】
また、ＭＣＵ９の符号化によって得られるＤＣ値を記憶しておき、ＭＣＵ１０のＤＣ値の符号化時に利用する。その一方で、１画面の左端に位置するＭＣＵ７を符号化するためには、１画面の右端のＭＣＵのＤＣ値の事前取得処理が必要になる。しかし、ＭＣＵ７がリセット対象のＭＣＵである場合は、右端のＤＣ値は「０」でよいことから、ＤＣ値の事前取得処理を行う必要がなく事前に１画面の右端のＭＣＵのＤＣ値の記憶処理を省略することが可能となる。したがって、処理速度の向上をはかることができる。
【００７０】
図１１のＭＣＵのうち、ＭＣＵ１０，１１，１２(ＭＣＵ１１はリセット対象)を符号化する場合の例を図１３に示す。ＭＣＵ１０の符号化では、直前のＭＣＵ９のＤＣ値との差分値を算出する必要がある。したがって、符号化／復号化部１７は記憶されているＭＣＵ９のＤＣ値を用いて差分値を算出して符号化を行う。また、ＭＣＵ１１はリセット対象であることから、制御部２１は符号化／復号化部１７を制御して直前のＭＣＵ１０のＤＣ値を「０」と置き換える。符号化／復号化部１７は、ＤＣ値「０」を用いてＭＣＵ１１の符号化を行う。また、制御部２１は、ＭＣＵ１２に対して通常の符号化を行う。すなわち、直前のＭＣＵ１１のＤＣ値との差分値を算出して符号化を行う。なお、ＭＣＵ１３はリセット対象であることから、符号化時にＭＣＵ１２のＤＣ値を必要としない。したがって、図１３に示す通り、ＭＣＵ１２のＤＣ値の記憶を省略することができるので処理速度の向上をはかることができる。
【００７１】
その後、画像ＡＲ１と画像ＡＲ２の符号化データを並び替えて図１４に示すように接続して、１画面による符号化データを生成する。すなわち、ＭＣＵ７〜１２については、図１４の（Ａ）に示すＭＣＵ７，８，９による符号化データと、図１４の（Ｂ）に示すＭＣＵ１０，１１，１２による符号化データを接続する。また、リスタートマーカＲＳＴを挿入して、図１４の（Ｃ）に示す１画面の符号化処理順の符号化データを生成する。
【００７２】
また、リスタートマーカを挿入する場合、リスタートマーカはバイトアラインを取る必要があるため、アラインが取れていない場合はビットスタッフィングを実施する。また、ビットスタッフィングの結果、「０ｘＦＦ」が発生した場合における「０ｘ００」の挿入等は、制御コード書き換えと同様に必要な処理が発生した場合に実施する。
【００７３】
次に、図１５は、各画像処理単位がＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６によって構成される画像の処理を行う場合を示している。制御部２１は、図１５の（Ａ）に示す破線の矢印のように、画像処理単位毎にラスタ走査の順序で、順次ストレージ部１９に記録された符号化データを復号して画像データを生成する。この画像データを画像処理して符号化処理することで、図１５の（Ｂ）に示すように、ＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６の符号化データを順に生成する。
【００７４】
並び替え／マーカ挿入部１８は、図１５の（Ｂ）に示す符号化データの並び替えを符号化単位で行い、１画面の符号化処理順序とする。さらにリスタートマーカを挿入して、図１５の（Ｃ）に示すように、リスタートマーカＲＳＴの挿入された１画面の符号化処理順序の符号化データを生成する。この符号化データは、図１５の（Ｄ）の破線の矢印で示すように、ＭＣＵ Ａ１〜Ａ６，Ｂ１〜Ｂ６，Ｃ１〜Ｃ６を１画面にまとめた画像の符号化処理順序とされている。ストレージ部１９は、図１５の（Ｃ）に示す符号化データを記録する。
【００７５】
なお、図１５の（Ｂ）（Ｃ）において、リスタートマーカの直後に位置する△で示したＭＣＵは、リセット対象のＭＣＵでありＤＣ値「０」とＭＣＵのＤＣ値の差分値、すなわち△で示したＭＣＵのＤＣ値を符号化する。図１５の（Ｂ）において□で示したＭＣＵは、ＤＣ値を記憶するＭＣＵである。図１５の（Ｂ）（Ｃ）において、○で示したＭＣＵは、１画面の符号化処理順序において直前のＭＣＵのＤＣ値を用いて符号化を行うＭＣＵである。
【００７６】
図１６は、第２の動作における直流成分値の制御処理を示すフローチャートである。ステップＳＴ３１で制御部２１は、画像の左端の画像処理単位から順にＭＣＵの入力を行う。また制御部２１は、画像処理単位の符号化処理を繰り返す場合に、ＤＣ値を用意できないＭＣＵのＤＣ値の事前取得処理を行いステップＳＴ３２に進む。なお、リスタートマーカの挿入位置によっては、上述のように、ＤＣ値の事前取得処理を省略することが可能となる。
【００７７】
ステップＳＴ３２で制御部２１は、ＤＣＴを行う。制御部２１は、符号化／復号化部１７を制御して、ＭＣＵの画像データ毎に離散コサイン変換を行いステップＳＴ３３に進む。
【００７８】
ステップＳＴ３３で制御部２１は、量子化を行う。制御部２１は、符号化／復号化部１７を制御して、離散コサイン変換を行うことにより得られる係数データの量子化を行いステップＳＴ３４に進む。
【００７９】
ステップＳＴ３４で制御部２１は、マーカ挿入位置の直後であるか判別する。制御部２１は処理したＭＣＵが、リスタートマーカ挿入位置の直後である場合にはステップＳＴ３５に進み、直後でない場合にはステップＳＴ３６に進む。
【００８０】
ステップＳＴ３５で制御部２１は、相関をリセットして符号化を行う。制御部２１は、符号化／復号化部１７を制御して、ＤＣ値「０」と符号化対象のＭＣＵにおける量子化後の直流成分を示すＤＣ値との差分値、すなわち符号化対象ＭＣＵのＤＣ値を符号化してステップＳＴ３９に進む。
【００８１】
ステップＳＴ３６で制御部２１は、符号化対象のＭＣＵが画像処理単位の左端であるか判別する。制御部２１は、符号化対象のＭＣＵが画像処理単位の左端である場合にはステップＳＴ３７に進み、左端でない場合にはステップＳＴ３８に進む。
【００８２】
ステップＳＴ３７で制御部２１は、事前取得のＤＣ値を用いて符号化を行う。制御部２１は、ＭＣＵが画像処理単位の左端であることから、事前取得されたＤＣ値と符号化対象のＭＣＵのＤＣ値との差分値を符号化してステップＳＴ３９に進む。
【００８３】
ステップＳＴ３８で制御部２１は、通常方法の符号化を行う。制御部２１は、符号化／復号化部１７を制御して、直前のＭＣＵのＤＣ値と、符号化対象のＭＣＵのＤＣ値との差分値を符号化してステップＳＴ３９に進む。
【００８４】
ステップＳＴ３９で制御部２１は、ＭＣＵがＤＣ値の記憶対象であるか判別する。ここで、次のＭＣＵがリセット対象である場合、リセットマーカ挿入位置の直前のＭＣＵのＤＣ値は、次のＭＣＵの符号化で必要とされない。また、画像処理単位の右端でないＭＣＵのＤＣ値は、次の画像処理単位の符号化で必要とされない。したがって、制御部２１は、符号化対象のＭＣＵがリセットマーカ挿入位置の直前のＭＣＵではなく、かつ画像処理単位の右端である場合、ＭＣＵはＤＣ値の記憶対象と判別してステップＳＴ４０に進む。また、制御部２１は、符号化対象のＭＣＵがリセットマーカ挿入位置の直前のＭＣＵである場合、または画像処理単位の右端である場合、ＭＣＵはＤＣ値の記憶対象でないと判別してステップＳＴ４１に進む。
【００８５】
ステップＳＴ４０で制御部２１は、ＤＣ値を記憶する。制御部２１は、符号化対象のＭＣＵのＤＣ値を、その後のＭＣＵの符号化で利用できるように記憶させてステップＳＴ４１に進む。
【００８６】
ステップＳＴ４１で制御部２１は、全画像処理単位の処理が完了したか判別する。制御部２１は、処理が行われていない画像処理単位が残っている場合にはステップＳＴ３１に戻り、全画像処理単位の処理が完了した場合には処理を終了する。
【００８７】
このように、第２の動作においても、符号化／復号化部１７ではリスタートマーカ挿入位置の直後のＭＣＵをリセット対象とする。また、並び替え／マーカ挿入部１８では、符号化データを１画面の符号化処理順序に並び替えて所定の順番のインデックスであるリスタートマーカを挿入する。したがって、並び替えのために符号化データを一時記憶するバッファの容量を、リスタートマーカが挿入された符号化データの並び替えを行う場合に比べて削減できる。また、リスタートマーカのインデックスを正規の順番に置き換える必要がなく、マーカの挿入が容易となる。さらに、リスタートマーカの挿入位置の直後の符号化単位では、直前の符号化単位との相関を利用することなく符号化処理を行う。したがって、画像処理単位の符号化処理において、１画面の符号化処理順序において直前の符号化単位における符号化処理で得られる直流成分値を記憶する処理や直流成分値の事前取得処理を行う必要がないため、マーカの挿入された符号化データの生成処理が容易となる。
【００８８】
＜５．画像処理単位毎の第３の動作＞
上述の第１および第２の動作では、画像の向きが変わらない場合について説明したが、第３の動作では、画像処理によって画像の回転が行われる場合について説明する。
【００８９】
図１７は、画像処理により画像を１８０度回転させる場合を示している。図１７の（Ａ）は回転前の画像、図１７の（Ｂ）は回転後の画像を示している。また、ＭＣＵ Ａ１〜Ａ４を１つの画像処理単位とする。同様に、ＭＣＵ Ｂ１〜Ｂ４，Ｃ１〜Ｃ４，Ｄ１〜Ｄ４を、それぞれ画像処理単位とする。また、図１７の（Ｂ）において、斜線部をリスタートマーカの挿入位置とする。
【００９０】
図１８は、画像処理により画像を１８０度回転させる場合の並び替え処理を説明するための図である。制御部２１は、例えば画像処理単位毎に画像を１８０度回転させて画像処理、符号化処理した後、並べ直して出力する制御を行う。なお図１８および後述する図１９において、上下が逆の文字は１８０度回転された画像に関するデータであることを示している。
【００９１】
制御部２１は、破線の矢印で示すように、ＭＣＵ Ａ１〜Ａ４による画像処理単位、ＭＣＵ Ｃ１〜Ｃ４による画像処理単位、ＭＣＵ Ｂ１〜Ｂ４による画像処理単位、ＭＣＵ Ｄ１〜Ｄ４による画像処理単位の順序で、符号化データを復号化して画像データを生成する。制御部２１は、この順序により符号化／復号化部１７から出力される復号結果による画像データをバッファメモリに一時格納し、このバッファメモリのアドレス制御により、画像を画像処理単位毎にそれぞれ画像を１８０度回転させて画像処理部１６に入力する。
【００９２】
なお、画像の回転は、画像処理部１６から出力される画像処理結果をバッファメモリに記憶して出力する際のアドレス制御により、画像処理単位毎に回転を行うようにしてもよい。
【００９３】
制御部２１は、画像処理部１６によって、図１８の（Ａ）に示す画像を各画像処理単位で１８０度回転して図１８の（Ｂ）に示す画像として画像処理を行う。また、制御部２１は、画像処理結果の画像データを符号化／復号化部１７で符号化処理させて、図１８の（Ｃ）に示す順序の符号化データを生成する。この順序の符号化データは、図１８の（Ｄ）に示すように、各画像処理単位のＭＣＵの符号化データがそれぞれラスタ走査順とされている。
【００９４】
制御部２１は、並び替え／マーカ挿入部１８を制御して、図１８の（Ｃ）に示す順序の符号化データを図１８の（Ｅ）に示す順序に並び替える。すなわち画像処理単位毎のＭＣＵの符号化データを、図１８の（Ｆ）に示すように、１８０度回転させた１画面におけるラスタ順に並び替える。その後、図１８の（Ｅ）に示す順序の符号化データを図１８の（Ｇ）に示す順序に並び替える。すなわち画像処理単位の順序が１８０度回転させた１画面の順序、すなわち図１８の（Ｈ）に示す順序となるように画像処理単位毎に符号化データの並び替えを行う。
【００９５】
このような処理において、制御部２１は、画像処理単位で順次符号化処理を行って得られるＤＣ値を記憶して、記憶したＤＣ値をその後の画像処理単位の符号化処理で用いることができるようにする。さらに、画像処理単位で順次符号化処理を行うときに、直前のＭＣＵのＤＣ値が記憶されない場合は、ＤＣ値の事前取得処理を行いＤＣ値のみを取得しておく。
【００９６】
さらに、制御部２１は、並び替え後の符号化データ、すなわち図１８の（Ｇ）に示す順序の符号化データにおいて、リスタートマーカ挿入位置で直前のＭＣＵとの相関をリセットするように、あらかじめ図１８の（Ｂ）に示す画像処理結果の符号化処理で、リセット対象のＭＣＵにおいて参照されるＤＣ値を「０」とする。例えば、図１８の（Ｈ）における斜線部の位置にリスタートマーカを挿入する場合、図１８において○で示したＭＣＵがリセット対象となる。したがって、○で示したＭＣＵを符号化する際に差分値の算出に用いるＤＣ値を「０」とする。
【００９７】
図１８の（Ｈ）における斜線部の位置にリスタートマーカを挿入する場合、ＭＣＵ Ｄ２，Ｂ４，Ｂ２，Ｃ４，Ｃ２，Ａ４，Ａ２で差分値の算出に用いるＤＣ値をセットすることが必要になる。しかし、これらのＭＣＵは、リセット対象であることから参照されるＤＣ値を「０」とすればよく、ＭＣＵ Ｃ３，Ｃ１，Ａ３のＤＣ値を記憶したり、ＭＣＵ Ｂ１，Ｂ３，Ｄ１，Ｄ３のＤＣ値を事前取得しておく必要がない。
【００９８】
図１９は、画像処理単位の途中にリスタートマーカを挿入する場合の並び替え処理を説明するための図である。
【００９９】
制御部２１は、画像処理部１６によって、図１９の（Ａ）に示す画像を各画像処理単位で１８０度回転して図１９の（Ｂ）に示す画像として画像処理する。制御部２１は、画像処理結果の画像データを符号化／復号化部１７で符号化処理させて、図１９の（Ｃ）に示す順序の符号化データを生成する。この順序の符号化データは、図１９の（Ｄ）に示すように、各画像処理単位のＭＣＵの符号化データがそれぞれラスタ走査順とされている。
【０１００】
制御部２１は、並び替え／マーカ挿入部１８を制御して、図１９の（Ｃ）に示す順序の符号化データを図１９の（Ｅ）に示す順序に並び替える。すなわち画像処理単位毎のＭＣＵの符号化データを、図１９の（Ｆ）に示すように、１８０度回転させた１画面におけるラスタ順に並び替える。その後、図１９の（Ｅ）に示す順序の符号化データを図１９の（Ｇ）に示す順序に並び替える。すなわち画像処理単位の順序が１８０度回転させた１画面の順序、すなわち図１９の（Ｈ）に示す順序となるように画像処理単位毎に符号化データの並び替えを行う。
【０１０１】
このような処理において、制御部２１は、画像処理単位で順次符号化処理を行って得られるＤＣ値を記憶して、記憶したＤＣ値をその後の画像処理単位の符号化処理で用いることができるようにする。さらに、画像処理単位で順次符号化処理を行うときに、直前のＭＣＵのＤＣ値が記憶されない場合は、ＤＣ値の事前取得処理を行いＤＣ値のみを取得しておく。
【０１０２】
さらに、制御部２１は、並び替え後の符号化データ、すなわち図１９の（Ｇ）に示す順序の符号化データにおいて、リスタートマーカ挿入位置で直前のＭＣＵとの相関をリセットするように、あらかじめ図１９の（Ｂ）に示す画像処理結果を符号化する際に、リセット対象のＭＣＵにおいて参照されるＤＣ値を「０」とする。例えば、図１９の（Ｈ）における斜線部の位置にリスタートマーカを挿入する場合、図１９において○で示したＭＣＵがリセット対象となる。したがって、○で示したＭＣＵを符号化する際に差分値の算出に用いるＤＣ値を「０」とする。
【０１０３】
図１９の（Ｈ）における斜線部の位置にリスタートマーカを挿入する場合、ＭＣＵ Ａ３，Ａ６，Ｄ３，Ｄ６，Ｂ３，Ｂ６，Ｅ３，Ｅ６，Ｃ２，Ｃ４，Ｆ２で差分値の算出に用いるＤＣ値をセットすることが必要になる。ここで、ＭＣＵ Ｂ３，Ｂ６，Ｅ３，Ｅ６，Ｃ２，Ｃ４，Ｆ２はリセット対象であることから参照されるＤＣ値を「０」とすればよく、ＭＣＵ Ａ４，Ｄ１，Ｄ４のＤＣ値を記憶したり、ＭＣＵ Ｃ１，Ｃ３，Ｆ１，Ｆ３のＤＣ値を事前取得しておく必要がない。また、ＭＣＵ Ａ３，Ａ６，Ｄ３，Ｄ６は、リセット対象でないことから、ＭＣＵ Ｂ１，Ｂ４，Ｅ１，Ｅ４のＤＣ値を事前取得しておく。
【０１０４】
また、図１８，１９では、画像処理単位で画像を回転させて画像処理と符号化処理を行ったのち並び替えを行う場合について説明したが、ＭＣＵ毎に画像を回転させて画像処理、符号化処理した後、並べ直すようにしてもよい。
【０１０５】
この場合、制御部２１は、各画像処理単位をラスタ走査の順序により復号して画像データをバッファメモリに格納し、このバッファメモリのアドレス制御により、ＭＣＵ毎に画像を１８０度回転させて、画像処理部１６に画像データを供給する。また画像処理部１６で画像処理が行われた画像データを順次符号化／復号化部１７により符号化処理する。この場合も、画像処理部１６から出力される画像処理結果をバッファメモリに記憶して出力する際のアドレス制御により、各ＭＣＵの画像を回転させるようにしてもよい。またこのようにして順次得られる符号化データを記憶して、並び替え／マーカ挿入部１８により並び替える。
【０１０６】
制御部２１は、連続する画像処理単位の符号化処理において、さらには事前の処理において、ＭＣＵのＤＣ値を記憶して、このＤＣ値を符号化／復号化部１７にセットして符号化処理を実行する。
【０１０７】
また、１つの画像処理単位の水平方向に隣接するＭＣＵにおいて、符号化時と並び替え／マーカ挿入部１８からの出力時とで、ＭＣＵを水平方向に走査する向きが回転により逆転することになる。したがって、制御部２１は、これら隣接するＭＣＵの処理において、この走査方向の逆転に対応可能に、事前の処理によりＭＣＵのＤＣ値を取得して保持し、この保持したＤＣ値により各ＭＣＵを符号化処理する。
【０１０８】
以上のように、画像処理部１６における画像処理単位の分だけ、ストレージ部１９に記録された符号化データが符号化／復号化部１７により復号化されて画像処理部１６で画像処理される。また画像処理した画像データが符号化／復号化部１７により符号化処理され、その処理結果による符号化データが並び替え／マーカ挿入部１８に保持される。さらに、画像処理単位による復号化と画像処理と符号化処理が画像処理部１６における画像処理の順序により繰り返される。ここで、１画面分の処理を完了すると、並び替え／マーカ挿入部１８において、符号化データが並び替えられてリスタートマーカが挿入されて、ストレージ部１９に符号化データが記録される。
【０１０９】
この場合、撮像装置１０では、画像処理結果を記録するバッファメモリについては、画像処理単位の分の画像データを記録するだけの容量で足り、これによりこのバッファメモリの容量を小容量化することができる。また小容量化した分、消費電力を低減することができ、さらには画像処理に要する時間を短縮できる。
【０１１０】
さらに、画像処理単位で復号化処理と画像処理と符号化処理を行う場合には、符号化処理結果を一時格納するバッファメモリと、画像処理結果を一時格納するバッファメモリを共用することが可能となり、構成を簡略化することができる。
【０１１１】
撮像装置１０は、画像処理単位で一連の処理を実行する場合、符号化処理の際に検出されるＤＣ値を記憶して、後の画像処理単位における符号化処理で利用する。また、事前に用意できないＭＣＵのＤＣ値については、これら一連の処理の繰り返しの前におけるＤＣ値の事前取得処理により、該当するＭＣＵを復号化と画像処理と符号化処理を行いＤＣ値が取得される。さらに、リスタートマーカ挿入位置の直後のＭＣＵは、相関をリセットする対象のＭＣＵに設定されて符号化処理が行われるので、１画像の符号化順序であるリスタートマーカの挿入された符号化データを正しく生成することができる。
【０１１２】
また、画像の回転等が行われる場合でも、符号化／復号化部１７ではリスタートマーカ挿入位置の直後のＭＣＵをリセット対象とする。また、並び替え／マーカ挿入部１８では、符号化データを１画面の符号化処理順序に並び替えて所定の順番のインデックスであるリスタートマーカが挿入される。したがって、並び替えのために符号化データを一時記憶するバッファの容量を、リスタートマーカが挿入された符号化データの並び替えを行う場合に比べて削減できる。また、リスタートマーカのインデックスを正規の順番に置き換える必要がなく、マーカの挿入が容易となる。さらに、リスタートマーカの挿入位置の直後の符号化単位では、直前の符号化単位との相関を利用することなく符号化処理を行う。したがって、画像処理単位の符号化処理において、１画面の符号化処理順序において直前の符号化単位における符号化処理で得られる直流成分値を記憶する処理や直流成分値の事前取得処理を行う必要がないため、マーカの挿入された符号化データの生成処理が容易となる。
【０１１３】
なお、上述の実施の形態においては、拡大、縮小、回転等による画像処理に本技術を適用する場合について述べている。しかし、本技術はこれに限らず、白黒反転等の各種エフェクトに係る画像処理、歪み補正、色収差補正、ノイズリダクション等、種々の画像処理に広く適用することができる。さらに、画像処理後の画像を符号化処理して記録する場合に限らず、例えば撮像画像の画像データをメモリ等に一時記憶させて、この記憶されている画像を符号化してストレージ部１９に記憶する場合にも適用できる。
【０１１４】
また上述の実施例においては、ＪＰＥＧによる静止画を処理する場合について述べたが、本発明はこれに限らず、例えばＭＰＥＧ（Moving Picture Experts Group）等、同様の符号化処理単位による符号化処理に広く適用することができる。
【０１１５】
＜６．ソフトウェア処理の場合＞
ところで、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１１６】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory），ＭＯ（Magneto optical）ディスク，ＤＶＤ（Digital Versatile Disc）、磁気ディスク、半導体メモリカード等のリムーバブル記録媒体に、一時的または永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１１７】
また、プログラムは、リムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトからＬＡＮ（Local Area Network）やインターネット等のネットワークを介して、コンピュータに無線または有線で転送してもよい。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１１８】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【０１１９】
本技術は、上述した技術の実施の形態に限定して解釈されるべきではない。この技術の実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【０１２０】
なお、本技術は以下のような構成も取ることができる。
（１）  複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データを生成する符号化部と、
前記符号化データを前記符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入を行う並び替え／マーカ挿入部と
を有する画像符号化装置。
（２）  前記符号化部は、前記直前の符号化単位との相関を利用した符号化処理として、前記直前の符号化単位における符号化処理で得られた直流成分値と、符号化対象の符号化処理で得られる直流成分値との差分の符号化を行う（１）に記載の画像符号化装置。
（３）  前記符号化部は、前記マーカの挿入位置の直後の符号化単位では、直前の符号化単位の符号化処理において得られた直流成分値を「０」として符号化処理を行う（２）に記載の画像符号化装置。
（４）  前記画像処理単位毎に画像処理を行う画像処理部をさらに有し、
前記符号化部は、前記画像処理が行われた画像の符号化処理を行う（１）乃至（３）の何れかに記載の画像符号化装置。
（５）  前記画像処理部は、画像処理として画像の回転を行う場合、前記画像処理単位毎または前記符号化単位毎に回転を行い、
前記並び替え／マーカ挿入部は、前記符号化データを前記符号化単位で並び替えて回転後の画像における１画面の符号化処理順序とする（４）に記載の画像符号化装置。
（６）  前記符号化部は、前記直前の符号化単位との相関を利用して前記符号化処理を行う場合に、前記１画面の符号化処理順序において直前の符号化単位における符号化処理で得られる直流成分値を記憶して、該記憶した直流成分値を用いて符号化対象の符号化単位の符号化処理を行う（１）乃至（５）の何れかに記載の画像符号化装置。
（７）  前記符号化部は、前記画像処理単位毎に符号化処理を行う場合、前記１画面の符号化処理順序とした前記画像処理単位における左端の符号化単位の直前の符号化単位における直流成分値が、該左端の符号化単位の符号化処理前に記憶されない場合、事前に前記直前の符号化単位の直流成分値を取得する（１）乃至（６）の何れかに記載の画像符号化装置。
【産業上の利用可能性】
【０１２１】
この技術の画像符号化装置と画像符号化方法およびプログラムでは、複数の符号化単位で構成される画像処理単位毎に符号化処理を行い符号化データが生成される。また、符号化データを符号化単位で並び替えて１画面の符号化処理順序として、直前の符号化単位との相関を利用する符号化処理の区切りを示すマーカの挿入が行われる。このように、マーカは符号化データを１画面の符号化処理順序としてから挿入されるので、符号化データを一時記憶するバッファの容量の低減が可能となる。また、１画面の符号化処理順序としてからマーカが挿入されるので、マーカのインデックスを１画面内で所定の順序に置き換える処理を行う必要がなく、マーカの挿入された符号化データの生成が容易となる。したがって、画像処理機能が設けられる種々の電子機器、例えば撮像装置や画像編集装置、パーソナルコンピュータ、携帯端末、携帯電話等に広く適用することができる。
【符号の説明】
【０１２２】
１０・・・撮像装置、１１・・・撮像光学系、１２・・・撮像部、１３・・・Ａ／Ｄ変換部、１４・・・カメラ信号処理部、１５・・・表示部、１６・・・画像処理部、１７・・・符号化／復号化部、１８・・・並び替え／マーカ挿入部、１９・・・ストレージ部、２１・・・制御部、２２・・・操作部、２５・・・バス
【図１】
2013046281.tif 000003
【図２】
2013046281.tif 000004
【図３】
2013046281.tif 000005
【図４】
2013046281.tif 000006
【図５】
2013046281.tif 000007
【図６】
2013046281.tif 000008
【図７】
2013046281.tif 000009
【図８】
2013046281.tif 000010
【図９】
2013046281.tif 000011
【図１０】
2013046281.tif 000012
【図１１】
2013046281.tif 000013
【図１２】
2013046281.tif 000014
【図１３】
2013046281.tif 000015
【図１４】
2013046281.tif 000016
【図１５】
2013046281.tif 000017
【図１６】
2013046281.tif 000018
【図１７】
2013046281.tif 000019
【図１８】
2013046281.tif 000020
【図１９】
2013046281.tif 000021