(57)【特許請求の範囲】
【請求項１】
撮像装置により撮像された画像を入力して、Ｉピクチャ、Ｐピクチャ及びＢピクチャを含む複数のフレームで構成される画像データとして符号化を行う画像処理装置であって、
前記Ｉピクチャをフレーム内予測により符号化する第１符号化手段と、
参照ピクチャを参照して前記Ｐピクチャをフレーム間予測及び動き補償により符号化する第２符号化手段と、
前記第１及び第２符号化手段による符号化の後、前記Ｉピクチャ又はＰピクチャの間に存在する複数の前記Ｂピクチャを、前記参照ピクチャを参照して前記フレーム間予測及び動き補償により符号化する第３符号化手段と、
前記画像データの符号化の途中で、前記第３符号化手段で符号化されたＢピクチャを復号したピクチャを、前記参照ピクチャとして使用するか否かを判定する判定手段と、
前記判定手段によって、前記第３符号化手段で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用するように判定されると、前記Ｂピクチャを復号したピクチャにより前記参照ピクチャを更新する更新手段と、を有し、
前記判定手段は、ピント外れにより画像の鮮鋭度が低い状態、及び、手ぶれによりフレーム間の相関が低い状態のうち、少なくとも一つの状態を検出した場合には、前記第３符号化手段で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用しないと判定することを特徴とする画像処理装置。
【請求項２】
前記参照ピクチャは、複数枚を組みにして第１及び第２参照リストを構成し、各参照リストの各参照ピクチャが前記フレーム間予測によって参照されるものであり、
前記Ｐピクチャは、前記第１参照リストの参照ピクチャを参照して前記フレーム間予測されるものであり、前記Ｂピクチャは前記第１及び第２参照リストの両方の参照ピクチャを参照して前記フレーム間予測されるものであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記撮像装置が有する焦点検出部または動き検出部からの信号を用いて判定処理を行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
撮像装置により撮像された画像を入力して、Ｉピクチャ、Ｐピクチャ及びＢピクチャを含む複数のフレームで構成される画像データとして符号化を行う画像処理方法であって、
前記Ｉピクチャをフレーム内予測により符号化する第１符号化工程と、
参照ピクチャを参照して前記Ｐピクチャをフレーム間予測及び動き補償により符号化する第２符号化工程と、
前記第１及び第２符号化工程での符号化の後、前記Ｉピクチャ又はＰピクチャの間に存在する複数の前記Ｂピクチャを、前記参照ピクチャを参照して前記フレーム間予測及び動き補償により符号化する第３符号化工程と、
前記画像データの符号化の途中で、前記第３符号化工程で符号化されたＢピクチャを復号したピクチャを、前記参照ピクチャとして使用するか否かを判定する判定工程と、
前記判定工程で、前記第３符号化工程で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用するように判定されると、前記Ｂピクチャを復号したピクチャにより前記参照ピクチャを更新する更新工程と、を有し、
前記判定工程は、ピント外れにより画像の鮮鋭度が低い状態、及び、手ぶれによりフレーム間の相関が低い状態のうち、少なくとも一つの状態を検出した場合には、前記第３符号化工程で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用しないと判定することを特徴とする画像処理方法。
【請求項５】
前記参照ピクチャは、複数枚を組みにして第１及び第２参照リストを構成し、各参照リストの各参照ピクチャが前記フレーム間予測によって参照されるものであり、
前記Ｐピクチャは、前記第１参照リストの参照ピクチャを参照して前記フレーム間予測されるものであり、前記Ｂピクチャは前記第１及び第２参照リストの両方の参照ピクチャを参照して前記フレーム間予測されるものであることを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記判定工程では、前記撮像装置が有する焦点検出部または動き検出部からの信号を用いて判定処理を行うことを特徴とする請求項４又は５に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを符号化して圧縮する画像処理装置及びその方法に関するものである。
【背景技術】
【０００２】
従来から、画像データを圧縮して記録する様々の方式が提案されている。また新たに、MPEG4 part-10:AVC（ISO/IEC 14496-10、別名H.264）方式が提案されている（以下、H.264方式と呼ぶ）。
【０００３】
図６は、このH.264方式の圧縮手順を説明する図である。
【０００４】
入力された画像データは、マクロブロックに分けられ、差分器６０１で予測値との差分を求める。この差分は、ＤＣＴ部６０２で整数ＤＣＴ変換されて、量子化部６０３で量子化される。この量子化された結果の一方は、差分画像データとしてエントロピー符号化部６１５に送られる。他方は、逆量子化部６０４で逆量子化され、逆ＤＣＴ変換部６０５で逆整数ＤＣＴ変換され、加算器６０６で予測値を加えて画像を復元する。こうして復元された画像データの一方は、イントラ予測のためのフレームメモリ６０７に送られて記憶される。他方はフィルタ６０９で、デブロッキングフィルタ処理が行われた後、インター予測のためのフレームメモリ６１０に送られる。
【０００５】
フレームメモリ６０７のイントラ予測のための画像データは、イントラ予測部６０８におけるイントラ予測で使用される。このイントラ予測では、同一ピクチャ内で、既に符号化されたブロックの隣接画素の値を予測値として用いる。一方、フレームメモリ６１０のインター予測のための画像データは、後述するように、複数のピクチャで構成され、そのピクチャがリスト０（list 0）とリスト１（list 1）の２つのリストに分けられてインター予測部６１１で使用される。この予測した画像データは、メモリコントローラ６１３によってフレームメモリ６１０に記憶され、フレームメモリ６１０の画像データが更新される。インター予測部６１１におけるインター予測では、フレーム毎の異なる画像データに対して、動き予測部６１２で動き検出を行って最適な動きベクトルを求め、予測画像データを決定する。
【０００６】
これらイントラ予測とインター予測の結果である画像データの内、最適な予測データがスイッチ６１４で選択され、一方は、イントラ予測モード又は予測ベクトルがエントロピー符号化部６１５に送られる。ここで予測値は差分画像データと共に符号化され、出力ビットストリームが形成される。また他方は、差分器６０１に送られて、入力される画像データとの差分が取られる。
【０００７】
ここで、H.264のインター予測について、図７、図９、図１０及び図１１を参照して詳細に説明する。
【０００８】
H.264のインター予測では、複数のピクチャを予測に用いることができる。このため参照ピクチャを特定するためにリストを２つ（List 0及びList 1）用意している。ここで各リストには、最大５枚の参照ピクチャを割り当てられるようにしている。
【０００９】
Ｐピクチャでは、List 0のみを使用して、主に前方向予測を行う。ＢピクチャではList 0及びList 1を用いて、双方向予測（又は前方、或は後方のみの予測）を行う。即ち、List 0には、主に前方向予測のためのピクチャが割り当てられ、List 1には主に後方向予測のためのピクチャが収められる。
【００１０】
図７は、各ピクチャの表示順序と符号化順序を示す図である。尚、ここでは、Ｉピクチャ、Ｐピクチャ及びＢピクチャの割合を、標準的なＩピクチャが１６フレーム間隔、Ｐピクチャが４フレーム間隔、その間のＢピクチャが３フレームである場合で説明する。
【００１１】
図において、７０１は、表示順に並べた画像データを示し、四角の中にはピクチャの種類と表示順を示す番号が記入されている。例えばＩ00は、表示順が０番目のＩピクチャであり、イントラ予測のみを行う。Ｐ04は表示順が４番目のＰピクチャであり、前方向予測のみを行う。Ｂ01は、表示順が１番目のＢピクチャであり、双方向予測を行う。ここで符号化を行う順序は表示順序と異なり、予測を行う順に符号化を行う。即ち、符号化順は、図７の７０２で示す様に、Ｉ00，Ｐ04、Ｂ01，Ｂ02，Ｂ03，Ｐ08，Ｂ05．Ｂ06，...といった順になる。
【００１２】
図８は、符号化されるピクチャと、参照リストとの関係を示す図である。
【００１３】
８０２は参照リスト（List 0）を示し、一旦符号化され復号化されたピクチャが収められている。例えば、Ｐ24のピクチャ（表示順が２４番目のピクチャで、Ｐピクチャ）でインター予測を行う場合、リスト内の既に符号化が終わって復号化されたピクチャを参照する。この例では、Ｐ04，Ｐ08，Ｐ12，Ｉ16，Ｐ20がリストに収められている。インター予測では、マクロブロック毎に、このリスト中の参照ピクチャ内から最適な予測値をもつ動きベクトルを求めて符号化する。リスト内のピクチャは、参照ピクチャ番号が順に与えられて区別される（図示した番号とは別に与えられる）。こうしてＰ24の符号化が終わると、こんどは新たにＰ24が復号化されて参照リストに追加される。この参照リストからは、最も古い参照ピクチャ（ここではＰ04）がリストから除去される。符号化は、この後、Ｂ21，Ｂ22，Ｂ23と行われてＰ28へと続く。
【００１４】
更に、この参照リストの変化の様子を、各ピクチャ毎に示したのが図９である。
【００１５】
図９では、符号化されるピクチャ順に上から下へと、符号化中のピクチャとList 0及びList 1の内容を示してある。図の様にＰピクチャ（又はＩピクチャ）が符号化されると、参照リストが更新され、その参照リストの最も古いピクチャが除去されている。この例では、List 1は１つのピクチャしか持っていないが、これは後方参照を多くすると復号までのバッファ量が増えてしまうため、あまり離れた後方ピクチャの参照を避けたためである。
【００１６】
ここで挙げた例においては、参照に用いるピクチャはＩ及びＰピクチャとし、Ｉ及びＰピクチャは全て参照リストに順次加えている。またList 1で後方予測に使うピクチャは１ピクチャだけとした。これは通常最もよく用いられるであろうピクチャの構成で、最も良く使用されるであろう一例に過ぎず、H.264自体は、参照リストの構成に、より高い自由度を持っている。例えば、全てのＩ及びＰピクチャを参照リストに加える必要は無く、またＢピクチャを参照に加えることも可能である。また明示的に指示されるまで参照リストに留まる長期参照リストも定義されている。
【００１７】
図１０及び図１１は、Ｂピクチャを参照リストに加える場合の、符号化順の様子及び参照リストの変化の様子を示す図である。
【００１８】
Ｂピクチャを参照リストに加える場合、全てのＢピクチャを符号化する度に、参照リストに追加する必要は無い。連続するＢピクチャのうち、一部のＢピクチャのみを参照リストに追加する方法が考えられている。例として、Ｂピクチャが３フレーム続く構成で、中間のＢピクチャのみを参照ピクチャに加える場合を示す。この場合、符号化順序は、図１０に示す様に、Ｐピクチャの符号化後、中間のＢピクチャを符号化し、順次残りのＢピクチャを符号化してゆく。図１０の例では、Ｐ08の符号化後、Ｂ06を符号化し、Ｂ05，Ｂ07の順で符号化してゆく。Ｂ06は符号化した後、参照リストに追加される。
【００１９】
図１１は、ピクチャの符号化順に応じた参照リストの更新を説明する図である。尚、図１１では図１０の場合とピクチャの番号を変更しているが、Ｉ，Ｐ，Ｂピクチャの番号順は図１０に示すピクチャの順番に対応している。
【００２０】
図１１では、１１００，１１０１で示すように、Ｐ40，Ｐ44を符号化した後、参照リスト０(List 0)，１(List 1)が更新されている。尚、Ｂピクチャの利用に関係する技術を開示する文献として特許文献１が挙げられる。
【特許文献１】特開２００４−８８７２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
このように、H.264では、符号化処理の際、Ｂピクチャを参照リストに追加するか否かを選択可能である。一般に、Ｂピクチャの方が符号化効率を高く出来るため、圧縮率を高めるためには、Ｂピクチャを多めに設定した方が良い。しかしながら、Ｂピクチャを単に多くして、参照リストに追加しない場合は、参照に使われるＩＰピクチャが、符号化対象ピクチャから時間的に離れてしまう。このため、動きの大きな画像については、中間のＢピクチャを参照リストに追加する図１０の構成の方が、参照ピクチャと符号化対象ピクチャとの時間間隔が近く、動き補償が行いやすいと考えられる。
【００２２】
一方、H.264の規格では、Ｂピクチャの枚数を幾つにするか、またＢピクチャを参照するかどうかについては決められていない。即ち、画像や圧縮目的によって、Ｂピクチャを参照リストに加えるかどうかは任意とされている。このため、Ｂピクチャを参照リストに加えるかどうかは、画像や圧縮目的に応じて固定的に設定されており、符号化中に画像の性質が変化した場合などでも、同じ設定が使用されていた。尚、特許文献１に記載の技術は、Ｂピクチャの枚数について符号化順序を工夫をしたものである。従って、Ｂピクチャの参照について言及したものではない。
【００２３】
本発明の目的は上記従来技術の問題点を解決することにある。
【００２４】
本発明の特徴は、Ｂピクチャを参照ピクチャに加えるか否かを選択できるようにすることで、より効率の良い画像符号化を行うことができる。
【課題を解決するための手段】
【００２５】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
撮像装置により撮像された画像を入力して、Ｉピクチャ、Ｐピクチャ及びＢピクチャを含む複数のフレームで構成される画像データとして符号化を行う画像処理装置であって、
前記Ｉピクチャをフレーム内予測により符号化する第１符号化手段と、
参照ピクチャを参照して前記Ｐピクチャをフレーム間予測及び動き補償により符号化する第２符号化手段と、
前記第１及び第２符号化手段による符号化の後、前記Ｉピクチャ又はＰピクチャの間に存在する複数の前記Ｂピクチャを、前記参照ピクチャを参照して前記フレーム間予測及び動き補償により符号化する第３符号化手段と、
前記画像データの符号化の途中で、前記第３符号化手段で符号化されたＢピクチャを復号したピクチャを、前記参照ピクチャとして使用するか否かを判定する判定手段と、
前記判定手段によって、前記第３符号化手段で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用するように判定されると、前記Ｂピクチャを復号したピクチャにより前記参照ピクチャを更新する更新手段と、を有し、
前記判定手段は、ピント外れにより画像の鮮鋭度が低い状態、及び、手ぶれによりフレーム間の相関が低い状態のうち、少なくとも一つの状態を検出した場合には、前記第３符号化手段で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用しないと判定することを特徴とする。
【００２６】
上記目的を達成するために本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
撮像装置により撮像された画像を入力して、Ｉピクチャ、Ｐピクチャ及びＢピクチャを含む複数のフレームで構成される画像データとして符号化を行う画像処理方法であって、
前記Ｉピクチャをフレーム内予測により符号化する第１符号化工程と、
参照ピクチャを参照して前記Ｐピクチャをフレーム間予測及び動き補償により符号化する第２符号化工程と、
前記第１及び第２符号化工程での符号化の後、前記Ｉピクチャ又はＰピクチャの間に存在する複数の前記Ｂピクチャを、前記参照ピクチャを参照して前記フレーム間予測及び動き補償により符号化する第３符号化工程と、
前記画像データの符号化の途中で、前記第３符号化工程で符号化されたＢピクチャを復号したピクチャを、前記参照ピクチャとして使用するか否かを判定する判定工程と、
前記判定工程で、前記第３符号化工程で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用するように判定されると、前記Ｂピクチャを復号したピクチャにより前記参照ピクチャを更新する更新工程と、を有し、
前記判定工程は、ピント外れにより画像の鮮鋭度が低い状態、及び、手ぶれによりフレーム間の相関が低い状態のうち、少なくとも一つの状態を検出した場合には、前記第３符号化工程で符号化されたＢピクチャを復号したピクチャを前記参照ピクチャとして使用しないと判定することを特徴とする。
【発明の効果】
【００２７】
本発明によれば、Ｂピクチャを参照ピクチャに加えるか否かを選択できるようにしたことにより、より効率の良い画像符号化を行えるという効果がある。
【発明を実施するための最良の形態】
【００２８】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００２９】
本実施の形態に係る圧縮手順を図１乃至図３を参照して説明する。尚、本実施の形態では、Ｂピクチャを参照リストに加えるか否かを選択する機能をもつＢピクチャセレクタを設け、Ｂピクチャを参照リストに加えるか否かを変更可能にしている。
【００３０】
図１は、本発明の実施の形態に係る画像符号化装置の構成を説明する機能ブロック図である。
【００３１】
入力される画像データ(Input Video)は、マクロブロックに分けられた画像データである。差分器１０１は、その入力した画像データと、イントラ予測部(Intra Prediction)１０８或はインター予測部１１１(INter Prediction)からの予測値との差分を求める。ＤＣＴ変換部(Integer Transform)１０２は、差分器１０１の出力を整数ＤＣＴ変換し、その変換した結果は量子化部(Quant)１０３で量子化される。こうして量子化された結果の一方は、差分画像データとしてエントロピー符号化部(Entropy Coding)１１５に送られる。また他方は、逆量子化部(Inv Quant)１０４で逆量子化され、逆整数ＤＣＴ変換部(Inv Integer Transform)１０５で逆整数ＤＣＴ変換される。加算器１０６は、その逆整数ＤＣＴ変換された結果に予測値を加えて画像を復元する。こうして復元された画像の一方は、イントラ予測のためのフレームメモリ(Frame Mem)１０７に送られて格納される。他方はフィルタ(Deblocking Filter)１０９で、デブロッキングフィルタ処理が行われた後、インター予測のためのフレームメモリ１１０に格納される。
【００３２】
フレームメモリ１０７の画像データは、イントラ予測のための画像データであり、イントラ予測部１０８におけるイントラ予測で使用される。このイントラ予測では、同一ピクチャ内で、既に符号化されたブロックの隣接画素の値を予測値として用いる。またフレームメモリ１１０に格納されたインター予測のための画像データは、後述するように、複数のピクチャで構成され、そのピクチャがList 0とList 1の２つの参照リストに分けられており、インター予測部１１１で使用される。こうして予測された画像データにより、メモリコントローラ(Memory Controller)１１３によって、参照リスト内のピクチャが更新される。インター予測部１１１では、フレームの異なる画像データに対して、動き予測部(Motion Estimation)１１２で動き検出を行って最適な動きベクトルを求め、予測画像を決定する。
【００３３】
これらイントラ予測とインター予測の結果、最適な予測値がスイッチ１１４で選択される。このスイッチ１１４で選択されたイントラ予測モード又は予測ベクトルが、エントロピー符号化部１１５と差分器１０１に送られる。エントロピー符号化部１１５では、差分画像データと共に符号化し、出力ビットストリームを形成する。Ｂピクチャセレクタ(B reference Decision)１１６は、Ｂピクチャを符号化した後、そのＢピクチャを参照リストに加えるかどうかを選択する。そのＢピクチャを参照リストに加える場合は、メモリコントローラ１１３に対してＢピクチャを参照リストに追加して更新するように伝える。
【００３４】
図では、Ｂピクチャセレクタ１１６からの指示は、メモリコントローラ１１３にのみ関連しているように描画している。しかし参照リストに加えないピクチャについては、デブロッキングフィルタ１０９の処理は不要である。よって、Ｂピクチャセレクタ１１６の出力をデブロッキングフィルタ１０９に入力して、参照リストに加えないＢピクチャに対してデブロッキングフィルタ処理を行わないように制御しても良い。
【００３５】
本実施の形態では、画像を符号化する過程で、画像の性質などに応じて、Ｂピクチャを参照リストに加えるか否かを適宜、選択して切り替えることを特徴としている。
【００３６】
この手順を図２のフローチャートで説明する。
【００３７】
図２は、本実施の形態に係る画像符号化装置による符号化処理を制御する制御部の処理を説明するフローチャートである。尚、この制御部としては、後述する図５のカメラ制御部５０５などが挙げられるが、本発明は、このようなカメラ制御だけに限定されるものではない。
【００３８】
まずステップＳ２０１で、符号化の開始が指示されるとステップＳ２０２に進み、各ピクチャに対する符号化処理を行う。この符号化では図１を参照して説明したように、予測値との差分データをＤＣＴ変換して量子化してエントロピー符号化するとともに、フレーム間予測、フレーム内予測、及び動き補償による符号化を行う。この符号化の後ステップＳ２０３で、その符号化したピクチャが最後のピクチャかどうかを判断し、そうであればステップＳ２０７に進み、符号化を終了する。
【００３９】
一方、ステップＳ２０３で、最後のピクチャでなければステップＳ２０４に進み、参照リストを更新するか否かを判断する。まずステップＳ２０４では、その符号化したピクチャがＢピクチャかどうかを判断する。Ｂピクチャでない場合、即ち、Ｉピクチャ又はＰピクチャである場合はステップＳ２０６に進み、その符号化したＩ又はＰピクチャを参照リストに追加して更新する。
【００４０】
一方、ステップＳ２０４でＢピクチャである場合はステップＳ２０５に進み、これまでの符号化結果や画像の性質に応じて、そのＢピクチャを参照リストに追加するか否かを判断する。ここで参照リストに追加する場合はステップＳ２０６に進み、参照リストの更新する。それ以外のＢピクチャについては、参照リストの更新を行わず、ステップＳ２０２における次のピクチャの符号化処理に移る。
【００４１】
本実施の形態に係る参照ピクチャの更新処理を図３及び図４を参照して説明する。ここでは、Ｉピクチャ、Ｐピクチャ及びＢピクチャの割合を、標準的なＩピクチャが１６フレーム間隔、Ｐピクチャが４フレーム間隔、その間のＢピクチャが３フレームである場合で説明する。
【００４２】
図３は、表示順に並べられているピクチャを符号化している途中で、Ｂピクチャを参照リストに追加するように指示された場合の具体例を説明する図である。
【００４３】
図３において、３０１は表示順に並べた画像データを示し、３０２は符号化順を示す。Ｉ00（０番目でＩピクチャ）から、Ｉ16（１６番目でＩピクチャ）までを符号化する。ここで、Ｐ08（８番目でＰピクチャ）までは、Ｂピクチャを参照リストに追加しない状態（Ｂピクチャ参照無し）であり、Ｐ08以降のピクチャを、Ｂピクチャを参照リストに追加する状態（Ｂピクチャ参照有り）で符号化する例を示している。
【００４４】
始めに符号化するピクチャ、即ち、Ｉ00からＰ04及びＰ08については、Ｂピクチャ参照無しで符号化している。次にＰ12の符号化した後、Ｂピクチャ参照無しであれば、次にＢ09が符号化される。しかし、ここではＢピクチャを参照するように変更されているので、Ｐ08とＰ12の間にあるＢ09〜Ｂ11の符号化に際しては、参照に用いる予定のＢ10をまず最初に符号化して参照リストに追加する。そして、その後、Ｂ09，Ｂ11を符号化する。以下も同様に、ＩピクチャとＰピクチャ間のＢピクチャについては、参照に用いる予定のＢピクチャを先に符号化して参照リストに追加し、他のＢピクチャは、その後に符号化する。例えば、Ｐ12とＩ16との間のＢ13〜Ｂ15の符号化に際しては、参照に用いる予定のＢ14をまず最初に符号化して参照リストに追加し、その後、Ｂ13，Ｂ15を符号化する。
【００４５】
図４は、符号化の途中からＢピクチャを参照する様に変更した場合の、参照リストの更新の様子を示す図である。尚、符号化初期では、参照リスト内に十分なピクチャが保持されていないので、説明の都合上、各ピクチャの番号を図３と異ならせているが、Ｉ，Ｐ，Ｂピクチャの順番は、前述した例と同じである。
【００４６】
図４では、上から下に、時系列で参照リストの変化を示している。図の４００は、符号化対象となっているピクチャを示す。４０１は参照リスト０（List 0）のピクチャを示し、４０２は参照リスト１（List 1）のピクチャの様子を示している。尚、この例では、参照リスト内のピクチャ数は、List 0に５枚、List 1に１枚となっている。List 1は、通常Ｂピクチャの後方参照用に用いられるが、時間的に大きく離れたピクチャを参照すると、復号時の遅延が大幅に増加するため、通常は、最近のＩ又はＰピクチャを１枚だけ参照している。例えば、最初のＰ40を符号化する場合、Ｐピクチャであるから参照リスト０から参照するので、この時点で参照リスト０内にあるＰ20，Ｐ24，Ｐ28，Ｉ32及びＰ36を参照する。Ｐ40の符号化が終了した後は、Ｐピクチャであるから、参照リストの更新が行われる。即ち、４１０で示すように、参照リスト０については、リスト内で最も古いＰ20が破棄され、Ｐ40が新たにリストに加わる。同様に参照リスト１については、Ｐ36が破棄され、Ｐ40がリストに加わる。
【００４７】
これにより次のＢ37では、参照リスト０から、Ｐ24，Ｐ28，Ｉ32，Ｐ36を参照し、参照リスト１から、Ｐ40を参照して符号化する。このＢ37の符号化が終了した後は、Ｂピクチャであり、この時点ではＢピクチャの参照を行っていないから、参照リストの更新は行わない。
【００４８】
次にＰ44の符号化後からＢピクチャの参照を行う場合を考える。この場合、表示順序では、Ｐ44の符号化まではＢピクチャ参照を行わない。そしてＰ44を符号化して参照リストに追加更新（４１１）した後、次に符号化されるのは、Ｂ41，Ｂ42、Ｂ43のうち、参照リストに追加する予定のＢ42となる。そして、このＢ42の符号化を終了した後、４１２で示すように、Ｂ42が参照リスト０，１に追加されて参照リストの更新が行われる。更に、この次に符号化するピクチャ、即ち、Ｂ41は、参照リスト０からＩ32，Ｐ36，Ｐ40及びＰ44を、参照リスト１からＢ42を参照して符号化される。続くＢ43も同様に、参照リスト０からＩ32，Ｐ36，Ｐ40及びＰ44を、参照リスト１からＢ42を参照して符号化される。また次のＰ48も同様に、参照リスト０からＩ32，Ｐ36，Ｐ40，Ｐ44を、参照リスト１からＢ42を参照して符号化される。
【００４９】
本実施の形態では、図１に示すように、符号化部にＢピクチャセレクタ１１６を設けて、Ｂピクチャを参照リストに追加するか否かを選択して切り替えている。この切り替えの判断（図２のステップＳ２０５に相当）は、符号化部の内部で判断するか、符号化部の外部で判断するかのいずれでも可能である。
【００５０】
符号化部の内部で切り替えの判断を行う場合は、図１に示した符号化部に、画像の性質（輝度レベル、色情報、レベル分布、レベル分散、周波数特性、又はこれらの組み合わせ等）や、符号化の状態（符号量、量子化パラメータの値、圧縮率、符号劣化によるＳ／Ｎ値、動きベクトルの長さ、動きベクトルの符号量、又はこれらの組み合わせ等）を調べる手段を設けて、その結果から判断することができる。この場合、一連の画像を、符号化処理する最中に、Ｂピクチャ参照の可否を判断して切り替えるようにしても良い。また或は、処理開始前に予備的に符号化処理を行って画像の性質などを判断し、その判断結果に応じて、処理開始前にＢピクチャ参照の可否を判断しても良い。
【００５１】
Ｂピクチャを参照リストに追加するか否かの判断を、符号化部の外部で行う場合では、例えば、図５に示す様に、符号化部がテレビカメラと接続されている場合、撮影時のカメラの状態に応じて、Ｂピクチャ参照の変更を符号化部に指示することができる。
【００５２】
図５は、本実施の形態に係る撮像装置の構成を説明するブロック図である。
【００５３】
５０１はレンズ部であり、５０２は撮像素子、５０３はカメラ信号処理部である。５０４は符号化部であって、図１に示すような符号化処理を行う。５０５はカメラ制御部で、カメラ全体の処理をコントロールする。ＣＰＵ５０５ａは、ＲＯＭ５０５ｂに記憶されたプログラムに従って、この撮像装置の動作を制御している。ＲＡＭ５０５ｃは、ＣＰＵ５０５ａの制御時、各種データを記憶するためのワークエリアとして使用される。５０６は焦点（Focus）検出部であって、画像の合焦状態を検出する。５０７，５０８はレンズアクチュエータで、ピント調整やズームの動作を実行させる。５０９は動きセンサで、カメラ全体の手ぶれ状態を検出する。カメラ制御部５０５は、各センサ類からの信号の状況やレンズの動作状態等を把握して、符号化部５０４にＢピクチャ参照を行うかどうかを指示している。尚、これ以外にも、符号化部５０４で符号化した画像データを記憶する記憶媒体（例えば、磁気テープ、メモリカード、ＤＶＤなど）を有している。
【００５４】
本実施の形態に係るカメラ制御部５０５は、前述の図２のフローチャートで示される処理を実行するプログラムをＲＯＭ５０５ｂに記憶しており、このプログラムはＣＰＵ５０５ａにより実行される。そしてステップＳ２０５における判断処理では、例えば、焦点検出部５０６で、ピントはずれの状態を検出した場合、画像の鮮鋭度が低く符号化は容易であるためＢピクチャ参照をする効果が低い。よってこの場合、カメラ制御部５０５は、符号化部５０４に対して「Ｂピクチャ参照無し」を指示する。一方、ピントが合った場合では、画像の鮮鋭度が高くなり、符号化が困難となってくる反面、Ｂピクチャ参照の効果が高くなる。よって、このような場合には、カメラ制御部５０５から符号化部５０４に対して「Ｂピクチャ参照有り」を指示する。
【００５５】
また他の例として、動きセンサ５０９により手ブレの状態を検出する。ここで手ぶれ状態であると検出すると、各フレーム間の相関が低く、Ｂピクチャを参照する効果が低いと考えられる。従って、この場合は、カメラ制御部５０５から符号化部５０４に対して「Ｂピクチャ参照無し」を指示する。一方、手ぶれ状態で無い場合は、「Ｂピクチャ参照有り」を指示する。また、パンニング撮影の様に、比較的ゆっくり画面が動くような撮影状態の場合は、時間的に近い画像間の相関が高い。即ち、Ｂピクチャ参照の効果が高くなるので、「Ｂピクチャ参照有り」を指示する。
【００５６】
更に他の例として、カメラ制御部５０５が、レンズアクチュエータ５０７，５０８に対してピント調整やズーム動作の指示を行っている場合には、カメラ制御部５０５は、センサ出力の結果によらず、制御中の動作判断に基づいてＢピクチャ参照の可否を判断する。こうしてＢピクチャ参照をすべきかどうかを決定して指示することができる。
【００５７】
このように、Ｂピクチャを参照リストに追加するか否かの判断は、外部の状態から決めることができる。この場合、撮影中（符号化処理中）に外部状況の変化から、Ｂピクチャ参照を行うか否かを切り替えることもできるし、撮影前（符号化処理前）にその時の外部状況から、Ｂピクチャ参照を行うか否かを切り替えることもできる。
【００５８】
以上説明したように本実施の形態によれば、符号化部にＢピクチャセレクタ１１６を設けて、Ｂピクチャを参照リストに追加するか否かを選択して切り替えることにより、最適な符号化処理を実現している。
【００５９】
尚、説明の都合上、図１において、Ｂピクチャセレクタ１１６を符号化部の内部に一体化して設けた例で説明したが、これは実装された場合、Ｂピクチャセレクタが同一のＩＣチップ内に内蔵されることを意味するものではない。よって、Ｂピクチャセレクタ１１６が別のＩＣチップ上に構成されてもよい。
【００６０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。上記実施形態では、図２のフローチャートに対応したプログラムである。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００６１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６２】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【００６４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態に係る画像符号化装置の構成を説明する機能ブロック図である。
【図２】本実施の形態に係る画像符号化装置による符号化処理を制御する制御部の処理を説明するフローチャートである。
【図３】表示順に並べられているピクチャを符号化している途中で、Ｂピクチャを参照リストに追加するように指示された場合の具体例を説明する図である。
【図４】符号化の途中からＢピクチャを参照する様に変更した場合の、参照リストの更新の様子を示す図である。
【図５】本実施の形態に係る撮像装置の構成を説明するブロック図である。
【図６】H.264方式の圧縮手順を説明する図である。
【図７】各ピクチャの表示順序と符号化順序を示す図である。
【図８】符号化されるピクチャと、参照リストとの関係を示す図である。
【図９】参照リストの変化の様子を、各ピクチャ毎に示した図である。
【図１０】Ｂピクチャを参照リストに加える場合の符号化順の様子を説明する図である。
【図１１】Ｂピクチャを参照リストに加える場合の参照リストの変化の様子を示す図である。
【図１】
0004702943.tif 000002
【図２】
0004702943.tif 000003
【図３】
0004702943.tif 000004
【図４】
0004702943.tif 000005
【図５】
0004702943.tif 000006
【図６】
0004702943.tif 000007
【図７】
0004702943.tif 000008
【図８】
0004702943.tif 000009
【図９】
0004702943.tif 000010
【図１０】
0004702943.tif 000011
【図１１】
0004702943.tif 000012