(57)【要約】【課題】  動画像符号化に使用するメモリを効率よく利用し、かつ効率の良い動きベクトル探索が可能な動画像符号化装置及びその制御方法、プログラムを提供する。【解決手段】  動き検出部２２は、撮像部の動きを検出する。複数のフレームデータを格納する複数のフレームメモリ１２〜１７を備え、検出された動き情報に基づいて、セレクタ１８は、符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するためのフレームメモリを複数のフレームメモリ１２〜１７から選択する。選択されたフレームメモリに格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動き推定器１９は、動きベクトルを推定する。推定された動きベクトルを用いて、符号化対象のフレームデータを符号化する。そして、符号化された符号化データを出力する。【選択図】  図１
2005184694.tif 000002
【特許請求の範囲】
【請求項１】
動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置であって、
撮像部の動きを検出する検出手段と、
前記複数のフレームデータを格納する複数の格納手段と、
前記検出手段で検出された動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納手段を前記複数の格納手段から選択する選択手段と、
前記選択手段で選択された格納手段に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定手段と、
前記推定手段で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化手段と、
前記符号化手段で符号化された符号化データを出力する出力手段と
を備えることを特徴とする動画像符号化装置。
【請求項２】
前記検出手段は、前記撮像部で撮影された動画像に基づいて、該撮像部の動きを検出する
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記選択手段は、前記検出手段で検出された動き情報に基づいて、前記複数の格納手段に対する書込／読出、電力供給を制御する制御手段を備える
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項４】
前記撮像部の撮影モードを設定する設定手段を更に備え、
前記選択手段は、前記設定手段で設定された撮影モードに基づいて、前記複数の格納手段に対する書込／読出、電力供給を制御する制御手段を備える
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項５】
前記制御手段は、前記選択手段で選択しない格納手段の電力供給を停止する
ことを特徴とする請求項３または請求項４に記載の動画像符号化装置。
【請求項６】
前記検出手段で検出された動き情報に基づいて、前記推定手段の動きベクトルの探索範囲を制御する探索範囲制御手段を更に備える
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項７】
動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置であって、
撮像部の撮影モードを設定する設定手段と、
前記複数のフレームデータを格納する複数の格納手段と、
前記設定手段で設定された撮影モードに基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納手段を前記複数の格納手段から選択する選択手段と、
前記選択手段で選択された格納手段に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定手段と、
前記推定手段で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化手段と、
前記符号化手段で符号化された符号化データを出力する出力手段と
を備えることを特徴とする動画像符号化装置。
【請求項８】
前記選択手段は、前記複数の格納手段に対する書込／読出、電力供給を制御する制御手段を備える
ことを特徴とする請求項７に記載の動画像符号化装置。
【請求項９】
前記制御手段は、前記選択手段で選択しない格納手段の電力供給を停止する
ことを特徴とする請求項８に記載の動画像符号化装置。
【請求項１０】
前記検出手段は、前記撮像部で撮影された動画像に基づいて、該撮像部の動きを検出する
ことを特徴とする請求項７に記載の動画像符号化装置。
【請求項１１】
動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置であって、
撮像部を制御する制御情報を入力する入力手段と、
前記撮像部で撮影された動画像を格納する格納手段と、
前記入力手段で入力された制御情報に基づいて取得される前記撮像部の動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータ数を設定する設定手段と、
前記設定手段で設定された参照フレームデータ数の参照フレームデータを取得する取得手段と、
前記取得手段で取得された参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定手段と、
前記推定手段で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化手段と、
前記符号化手段で符号化された符号化データを出力する出力手段と
を備えることを特徴とする動画像符号化装置。
【請求項１２】
前記動き情報に基づいて、前記推定手段の動きベクトルの探索範囲を制御する探索範囲制御手段を更に備える
ことを特徴とする請求項１１に記載の動画像符号化装置。
【請求項１３】
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御方法であって、
撮像部の動きを検出する検出工程と、
前記検出工程で検出された動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程と、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程と、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程と、
前記符号化工程で符号化された符号化データを出力する出力工程と
を備えることを特徴とする動画像符号化装置の制御方法。
【請求項１４】
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御方法であって、
撮像部の撮影モードを設定する設定工程と、
前記設定工程で設定された撮影モードに基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程と、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程と、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程と、
前記符号化工程で符号化された符号化データを出力する出力工程と
を備えることを特徴とする動画像符号化装置の制御方法。
【請求項１５】
動画像を格納する格納部を有し、前記格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御方法であって、
撮像部を制御する制御情報を入力する入力工程と、
前記入力工程で入力された制御情報に基づいて取得される前記撮像部の動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータ数を設定する設定工程と、
前記設定工程で設定された参照フレームデータ数の参照フレームデータを前記格納部から取得する取得工程と、
前記取得工程で取得された参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程と、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程と、
前記符号化工程で符号化された符号化データを出力する出力工程と
を備えることを特徴とする動画像符号化装置の制御方法。
【請求項１６】
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御を実現するプログラムであって、
撮像部の動きを検出する検出工程のプログラムコードと、
前記検出工程で検出された動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程のプログラムコードと、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程のプログラムコードと、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程のプログラムコードと、
前記符号化工程で符号化された符号化データを出力する出力工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項１７】
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御を実現するプログラムであって、
撮像部の撮影モードを設定する設定工程のプログラムコードと、
前記設定工程で設定された撮影モードに基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程のプログラムコードと、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程のプログラムコードと、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程のプログラムコードと、
前記符号化工程で符号化された符号化データを出力する出力工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項１８】
動画像を格納する格納部を有し、前記格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御を実現するプログラムであって、
撮像部を制御する制御情報を入力する入力工程のプログラムコードと、
前記入力工程で入力された制御情報に基づいて取得される前記撮像部の動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータ数を設定する設定工程のプログラムコードと、
前記設定工程で設定された参照フレームデータ数の参照フレームデータを前記格納部から取得する取得工程のプログラムコードと、
前記取得工程で取得された参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程のプログラムコードと、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程のプログラムコードと、
前記符号化工程で符号化された符号化データを出力する出力工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
近年、新しい動画像の符号化方式として、Ｈ.２６４符号化方式が注目されている。本符号化方式は、ＩＴＵ−ＴとＩＳＯが共同で開発した符号化方式である。この新しい標準は、２００３年夏に標準化される予定である。
【０００３】
この新しい符号化方式の特徴は、従来のＭＰＥＧ−１、２、４符号化方式と異なり、４×４整数変換を用い、イントラ予測も複数用意されている。また、ループ内フィルタが用いられ、動き補償も７種類のサブブロックで行なわれている。また、その動き補償の画素精度もＭＰＥＧ−４符号化方式と同様に、１／４画素精度の動き補償を行なうことができる。更に、エントロピー符号化としてユニバーサル可変長符号化やコンテキスト適応可変長符号化が用いられている。
【０００４】
さらに大きな特徴として、ＭＰＥＧ−１、２、４符号化方式では、符号化対象のフレームの前後２枚の参照画像（フレーム）を用いて動き補償を行なっていたが、より多くの参照画像を用いることが可能になっている。ビットストリームの先頭のヘッダに含まれるｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ符号は、最大１６の値をとることができる。
【０００５】
即ち、動き補償において、符号化対象フレームの前後１６枚のフレームを参照画像として参照することが可能である。符号化対象となるマクロブロックは、前述のとおり、最大１６フレームの画像に対して、７種類のサブブロックについて１／４画素精度で予測誤差を算出し、予測誤差が最小になるマクロブロックを選択することで符号化効率を大幅に改善することが可能となる。
【０００６】
ここで、非特許文献１や非特許文献２でも説明されるＨ．２６４符号化方式の従来の動画像符号化装置の構成について、図１３を用いて説明する。
【０００７】
図１３は従来の動画像符号化装置の構成を示すブロック図である。
【０００８】
動画像符号化装置には、画像データがマクロブロック単位で入力される。切替器１０００は、イントラ符号化するか否かを切り替え、イントラ符号化の場合はイントラ予測器１００１に画像データが入力される。イントラ予測器１００１では、９つのモードで予測を行ない、予測誤差を算出する。
【０００９】
一方、イントラ符号化以外の場合は、差分器１００２に入力され、予測画像との差分を算出して、予測誤差とする。
【００１０】
変換／量子化器１００３は、算出された予測誤差を４×４画素ブロックの整数変換を実行し、得られる係数を量子化する。量子化結果である量子化係数は、エントロピー符号化器１００４で可変長符号化されて出力器１０１４に出力される。同時に、量子化結果は逆量子化／逆変換器１００５に入力され、予測誤差を復元し、加算器１００６で予測画像に加算する。その結果は、復号画像として、フレームメモリ１００７〜１０１０に適宜格納される。
【００１１】
動き推定器１０１１は、フレームメモリ１００７〜１０１０に格納された復号画像と入力画像を比較し、各サブブロック単位で１／４画素精度で動きベクトルを算出する。動きベクトルと選択したフレーム番号は、動き補償器１０１２に入力され、該当するフレームメモリから参照画像を読み込み、予測誤差の最も小さい参照画像を選択して予測画像として差分器１００２に出力する。
【００１２】
また、動きベクトルと選択されたフレーム番号は、動き符号化器１０１３に入力されて符号化され、出力器１０１４に出力される。出力器１０１４は、符号化データを書式に従って整形して出力する。
【非特許文献１】「Overview of the H.264/AVC video Coding Standard」（IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,JULY 2003）
【非特許文献２】「もたつくＭＰＥＧ−４を尻目にＨ.２６４がいざ発進」（日経エレクトロニクス  ２００３．７．７号  ｐｐ．６５〜７４）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述のＨ．２６４符号化方式のように、複数のフレームを参照する符号化方式では、動き補償を実行するために動きベクトルの探索を実行するが、その計算量は参照画像の枚数が増えるにつれて膨大な計算量が必要になるという課題が生じる。
【００１４】
また、特に、ビデオカメラ等の撮像装置において、Ｈ．２６４符号化方式を採用している場合には、そのビデオカメラがパンニングやチルトをする際には、画面全体が大きく変化するため、時間的に離れたフレーム画像のデータの参照が減っても、これを保持しつづけなければならない。
【００１５】
本発明は上記の課題に鑑みてなされたものであり、動画像符号化に使用するメモリを効率よく利用し、かつ効率の良い動きベクトル探索が可能な動画像符号化装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成するための本発明による動画像符号化装置は以下の構成を備える。即ち、
また、好ましくは、動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置であって、
撮像部の動きを検出する検出手段と、
前記複数のフレームデータを格納する複数の格納手段と、
前記検出手段で検出された動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納手段を前記複数の格納手段から選択する選択手段と、
前記選択手段で選択された格納手段に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定手段と、
前記推定手段で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化手段と、
前記符号化手段で符号化された符号化データを出力する出力手段と
を備える。
【００１７】
上記の目的を達成するための本発明による動画像符号化装置は以下の構成を備える。即ち、
動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置であって、
撮像部の撮影モードを設定する設定手段と、
前記複数のフレームデータを格納する複数の格納手段と、
前記設定手段で設定された撮影モードに基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納手段を前記複数の格納手段から選択する選択手段と、
前記選択手段で選択された格納手段に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定手段と、
前記推定手段で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化手段と、
前記符号化手段で符号化された符号化データを出力する出力手段と
を備える。
【００１８】
上記の目的を達成するための本発明による動画像符号化装置は以下の構成を備える。即ち、
動画像中の複数のフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置であって、
撮像部を制御する制御情報を入力する入力手段と、
前記撮像部で撮影された動画像を格納する格納手段と、
前記入力手段で入力された制御情報に基づいて取得される前記撮像部の動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータ数を設定する設定手段と、
前記設定手段で設定された参照フレームデータ数の参照フレームデータを取得する取得手段と、
前記取得手段で取得された参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定手段と、
前記推定手段で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化手段と、
前記符号化手段で符号化された符号化データを出力する出力手段と
を備える。
【００１９】
上記の目的を達成するための本発明による動画像符号化装置の制御方法は以下の構成を備える。即ち、
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御方法であって、
撮像部の動きを検出する検出工程と、
前記検出工程で検出された動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程と、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程と、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程と、
前記符号化工程で符号化された符号化データを出力する出力工程と
を備える。
【００２０】
上記の目的を達成するための本発明による動画像符号化装置の制御方法は以下の構成を備える。即ち、
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御方法であって、
撮像部の撮影モードを設定する設定工程と、
前記設定工程で設定された撮影モードに基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程と、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程と、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程と、
前記符号化工程で符号化された符号化データを出力する出力工程と
を備える。
【００２１】
上記の目的を達成するための本発明による動画像符号化装置の制御方法は以下の構成を備える。即ち、
動画像を格納する格納部を有し、前記格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御方法であって、
撮像部を制御する制御情報を入力する入力工程と、
前記入力工程で入力された制御情報に基づいて取得される前記撮像部の動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータ数を設定する設定工程と、
前記設定工程で設定された参照フレームデータ数の参照フレームデータを前記格納部から取得する取得工程と、
前記取得工程で取得された参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程と、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程と、
前記符号化工程で符号化された符号化データを出力する出力工程と
を備える。
【００２２】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御を実現するプログラムであって、
撮像部の動きを検出する検出工程のプログラムコードと、
前記検出工程で検出された動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程のプログラムコードと、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程のプログラムコードと、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程のプログラムコードと、
前記符号化工程で符号化された符号化データを出力する出力工程のプログラムコードと
を備える。
【００２３】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
動画像中の複数のフレームデータを格納する複数の格納部を有し、前記複数の格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御を実現するプログラムであって、
撮像部の撮影モードを設定する設定工程のプログラムコードと、
前記設定工程で設定された撮影モードに基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータを選択するための格納部を前記複数の格納部から選択する選択工程のプログラムコードと、
前記選択工程で選択された格納部に格納されている参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程のプログラムコードと、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程のプログラムコードと、
前記符号化工程で符号化された符号化データを出力する出力工程のプログラムコードと
を備える。
【００２４】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
動画像を格納する格納部を有し、前記格納部に格納されるフレームデータを参照して、符号化対象のフレームデータに対する動き補償を実行し、前記動画像を符号化する動画像符号化装置の制御を実現するプログラムであって、
撮像部を制御する制御情報を入力する入力工程のプログラムコードと、
前記入力工程で入力された制御情報に基づいて取得される前記撮像部の動き情報に基づいて、前記符号化対象のフレームデータを符号化する場合に参照する参照フレームデータ数を設定する設定工程のプログラムコードと、
前記設定工程で設定された参照フレームデータ数の参照フレームデータを前記格納部から取得する取得工程のプログラムコードと、
前記取得工程で取得された参照フレームデータと前記符号化対象のフレームデータに基づいて、動きベクトルを推定する推定工程のプログラムコードと、
前記推定工程で推定された動きベクトルを用いて、前記符号化対象のフレームデータを符号化する符号化工程のプログラムコードと、
前記符号化工程で符号化された符号化データを出力する出力工程のプログラムコードと
を備える。
【発明の効果】
【００２５】
本発明によれば、動画像符号化に使用するメモリを効率よく利用し、かつ効率の良い動きベクトル探索が可能な動画像符号化装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２７】
＜実施形態１＞
図１は本発明の実施形態１に係る動画像符号化装置の構成を示すブロック図である。
【００２８】
尚、実施形態１では、動画像符号化装置として、カムコーダを例に挙げて説明する。
【００２９】
また、実施形態１では、動画像符号化装置が使用する符号化方式として、Ｈ．２６４符号化方式を例にとって説明するが、これに限定されない。また、説明を容易にするため、過去のフレームを参照する前方向予測を例に取る。また、説明を容易にするため、参照フレーム数を最大５フレームとして説明するが、これに限定されない。
【００３０】
図１において、１は撮像部であり、レンズ等で構成される光学部と光電変換によって画像のディジタル信号を生成する。２はディジタル信号を記憶するフレームメモリである。３はフレーム内符号化／フレーム間符号化の符号化モードに応じて、フレームメモリ２からの出力を選択するセレクタである。
【００３１】
４はＨ．２６４符号化方式によるイントラ予測を実行するイントラ予測器である。５は動き予測誤差を算出する差分器である。６は整数型直交変換を実行し、得られる係数を量子化する変換／量子化器である。１０は量子化係数を逆量子化し、整数型逆直交変換を実行する逆量子化／逆変換器である。
【００３２】
７は変換／量子化器６の量子化結果を符号化するエントロピー符号化器である。８は記録メディア９に符号化データを記録するための記録器である。９は符号化データを記録する記録メディアである。１１は逆量子化／逆変換器１０より得られた予測誤差と予測値（予測画像）を加算する加算器である。
【００３３】
１２、１３、１４、１５、１６、１７はフレームメモリであり、局所復号された画像データをフレーム単位で格納する。１８は入出力を制御するセレクタである。
【００３４】
１９は入力画像と復号画像に基づいて、最適な動きベクトルを該当するフレームから抽出する動き推定器である。２０は動き推定器１９で算出された動きベクトルと該当するフレーム情報から予測画像を生成する動き補償器である。
【００３５】
２１は算出された動きベクトルと該当するフレーム情報に基づいて、動きの情報を符号化する動き符号化器である。２２は動画像符号化装置の動きをジャイロやセンサー等で検出する動き検出器である。２３は動き検出器２２で検出された動画像符号化装置の動きの速度を判定する動き判定器である。
【００３６】
尚、図１の動画像符号化装置は、更に、当該装置全体を制御するＣＰＵ、装置を制御するための各種制御プログラムを記憶するＲＯＭ、各種制御を実行するための各種データの作業領域及び一時待避領域として機能するＲＡＭを有する。
【００３７】
次に、図１の動画像符号化装置の動画像符号化動作について、以下に説明する。
【００３８】
符号化に先立ち、参照に用いることができるフレーム数等を含むヘッダ情報をエントロピー符号化器７が生成し、記録器８を介して記録メディア９に記録する。
【００３９】
撮像部１による撮影フレームの画像データは、フレームメモリ２に格納され、セレクタ３に入力される。セレクタ３では、一定間隔でフレーム内符号化を実行し、それ以外はフレーム間符号化を実行するように、その選択動作が制御される。
【００４０】
最初に、先頭の第１フレームに対してフレーム内符号化を実行する場合について説明する。
【００４１】
入力されたフレームデータは、マクロブロック単位でイントラ予測器４に入力され、ブロック毎にイントラ予測を実行する。その予測結果は、変換／量子化器６に入力され、整数型直交変換を実行し、得られる係数を量子化する。その量子化結果である量子化係数は、エントロピー符号化器７と逆量子化／逆変換器１０に入力される。
【００４２】
エントロピー符号化器７では、入力された量子化結果をエントロピー符号化し、符号化データは記録器８を介して記録メディア９に記録される。
【００４３】
逆量子化／逆変換器１０では、入力された量子化結果から復号画像を得て、加算器１１に入力する。フレーム内符号化では、予測画像はないので、予測値０を加算し、空いているかまたはフレームメモリに記録されている参照画像で最も古い画像データを格納しているフレームメモリに格納する。最初は、フレームメモリ１２〜１７のいずれにも、画像データが格納されていないので、フレームメモリ１２に格納する。
【００４４】
続いて、後続の第２フレームに対してフレーム間符号化を実行する場合について説明する。
【００４５】
動き検出器２２は、動画像符号化装置自体の動きを検出する。例えば、垂直・水平方向の動きベクトルＭＶｘ、ＭＶｙを算出し、これらの２乗和を動画像符号化装置の動きの大きさと定義する。動き判定器２３は、動画像符号化装置の動きの大きさが所定値より大きいか否かを判定する。
【００４６】
動画像符号化装置の動きの大きさが所定値より大きい場合、動き判定器２３は、セレクタ１８にフレームメモリ１２〜１７の内、時間的に新しい２フレームを参照画像とするようにフレームメモリ１２〜１７の出力を選択する。一方、動画像符号化装置の動きの大きさが所定値より小さい場合、動き判定器２３は、セレクタ１８にフレームメモリ１２〜１７の全ての出力を選択する。
【００４７】
動き推定器１９は、選択されたフレームメモリの内容を読み出し、動きベクトルを算出し、動き補償器２０で予測画像を生成し、差分器５に入力する。セレクタ３は出力に差分器５を選択する。差分器５は予測誤差を算出し、その算出結果は変換／量子化器６に入力され、整数型直交変換を実行し、得られる係数を量子化する。その量子化結果である量子化係数は、エントロピー符号化器７と逆量子化／逆変換器１０に入力される。
【００４８】
エントロピー符号化器７では、入力された量子化結果をエントロピー符号化し、符号化データは記録器８を介して記録メディア９に記録される。また、動き推定器１９で算出された動きベクトルは、動き符号化器２１で符号化され、符号化データは記録器８を介して記録メディア９に記録される。
【００４９】
逆量子化／逆変換器１０では、入力された量子化結果から予測誤差を得て、加算器１１に入力する。予測誤差に動き補償器２０からの予測画像（予測値）を加算し、空いているかまたはフレームメモリに記録されている参照画像で最も古い画像データを格納しているフレームメモリに格納する。
【００５０】
次に、実施形態１の動画像符号化装置の動画像符号化処理の処理フローについて、図２を用いて説明する。
【００５１】
図２は本発明の実施形態１に係る動画像符号化装置における動画像符号化処理を示すフローチャートである。
【００５２】
まず、ステップＳ１にて、ヘッダ情報を生成して出力する。ステップＳ２にて、全てのフレームの符号化が終了したか否かを判定する。終了している場合（ステップＳ２でＹＥＳ）、処理を終了する。一方、終了していない場合（ステップＳ２でＮＯ）、ステップＳ３に進む。
【００５３】
ステップＳ３にて、符号化対象のフレームデータを入力する。ステップＳ４にて、動画像符号化装置の動きを検出する。
【００５４】
ステップＳ５にて、検出した動画像符号化装置の動きの大きさを所定値と比較する。動きの大きさが所定値以下である場合（ステップＳ５でＮＯ）、ステップＳ６に進み、参照フレーム数をＭ（この場合は、５）に設定する。一方、動きの大きさが所定値より大きい場合（ステップＳ５でＹＥＳ）、ステップＳ７に進み、参照フレーム数をＮ（この場合は、２）に設定する。ここで、常にＭ＞Ｎである。
【００５５】
ステップＳ８にて、符号化対象のフレームデータの符号化モードを判定する。
【００５６】
符号化モードがフレーム内符号化である場合、ステップＳ９に進み、入力されたフレームデータに対してフレーム内符号化を実行して、ステップＳ１１に進む。
【００５７】
一方、符号化モードがフレーム間符号化である場合、ステップＳ１０に進み、参照フレーム数のフレームメモリの画像を参照しながら動き補償を実行して、フレーム間符号化を実行して、ステップＳ１１に進む。
【００５８】
ステップＳ１１にて、復号画像をフレームメモリの空いているフレームメモリまたは最も時間的に古い画像データが格納されているフレームメモリに格納する。
【００５９】
ステップＳ１２にて、符号化データを記録メディア９に記録して、次のフレームを処理するために、ステップＳ２に戻る。
【００６０】
以上説明したように、実施形態１によれば、撮像部の動きが大きい（激しい）場合、時間的に離れたフレームの参照の頻度が極端に小さくなるため、これを参照しないことで、動き補償に係る演算処理量を大幅に削減することができる。これにより、処理の高速化を図ることができる。
【００６１】
尚、実施形態１においては、参照フレーム数を最大５フレームとしたが、これに限定されず、フレームメモリを必要数揃えることで、その他の枚数の参照にも対応できることは明らかである。
【００６２】
また、実施形態１においては、動きの大きい時の参照フレーム数もこれに限定されない。さらに、動きの大きさに従って選択するフレーム数を可変にしても構わない。例えば、動画像符号化装置の動きの大きさに反比例して参照できるフレーム数を決定しても構わないし、その他の基準を用いてももちろん構わない。
【００６３】
また、実施形態１においては、撮像部１の動きについて、動き検出器２２（センサー）を設けて検出したが、入力された画像データに基づいて、撮像部１の動きを検出する構成でも構わない。例えば、縮小画像を生成して、大まかな動きベクトルを検出したり、画像の数点の動きを検出し、その検出結果を撮像部１の動きとして検出したりする構成でも構わない。
【００６４】
また、実施形態１においては、前方向予測のみを例にとって説明したが、後方向予測や両方向予測を用いた場合も、フレームメモリを必要数揃えることで対応できることは明らかである。
【００６５】
また、実施形態１の動画像符号化装置の各種構成要素の一部または全部の機能を、ソフトウェアで記述し、ＣＰＵ等の演算装置によって処理を実行する構成としてももちろん構わない。
【００６６】
＜実施形態２＞
図３は本発明の実施形態２に係る動画像符号化装置の構成を示すブロック図である。
【００６７】
尚、図３において、実施形態１の図１と同様の機能を果たす部分に関しては、同じ番号を付与し、説明を省略する。
【００６８】
図３において、１００は動き推定器であり、入力画像とフレームメモリ１２〜１７中の復号画像データから参照可能なフレームデータを参照して、最適な動きベクトルを該当するフレームデータから抽出する。
【００６９】
１０１は動き補償器であり、動き推定器１００で算出された動きベクトルと該当するフレーム情報から予測画像を生成する。１０２はフレームメモリ１２〜１７を制御するフレームメモリ制御器であり、フレームメモリ１２〜１７への書込や読出、電力の供給を制御する。
【００７０】
次に、図３の動画像符号化装置の動画像符号化動作について、以下に説明する。
【００７１】
まず、実施形態１と同様に、ヘッダ情報を生成し、記録器８を介して記録メディア９に記録する。
【００７２】
次に、実施形態１と同様に、撮像部１による撮影フレームの画像データは、フレームメモリ２に格納され、セレクタ３に入力される。
【００７３】
フレーム内符号化を実行する場合は、実施形態１と全く同様であり、生成された符号化データは記録器８を介して記録メディア９に記録される。
【００７４】
また、フレームメモリ制御器１０２の指示に従って、復号画像は、空いているかまたはフレームメモリに記録されている参照画像で最も古い画像データを格納しているフレームメモリに格納する。即ち、フレームメモリ制御器１０２は使用していないフレームメモリの１つに電力を供給し、書込可能に設定するか、フレームメモリの中で最も時間の経過したフレームのフレームメモリを書込可能に設定する。
【００７５】
続いて、フレーム間符号化を実行する場合について説明する。
【００７６】
実施形態１と同様に、動き検出器２２は、動画像符号化装置自体の動きを検出する。例えば、垂直・水平方向の動きベクトルＭＶｘ、ＭＶｙを算出し、これらの２乗和を動画像符号化装置の動きの大きさと定義する。動き判定器２３は、動画像符号化装置の動きの大きさが所定値より大きいか否かを判定する。
【００７７】
動画像符号化装置の動きの大きさが所定値より大きい場合、動き判定器２３はフレームメモリ制御器１０２に対して動画像符号化装置が大きく動いたことを通知する。この通知を受けた場合、フレームメモリ制御器１０２は、時間的に新しい２フレームを参照画像とするようにフレームメモリ１２〜１７の出力を選択するために、フレームメモリ１２〜１７の２つのフレームメモリを読出可能に設定し、その他の１つのフレームメモリを書込可能に設定し、更に、それ以外のフレームメモリに対して電力の供給を停止する。
【００７８】
また、動画像符号化装置の動きの大きさが所定値以下である場合、動き判定器２３はフレームメモリ制御器１０２に対して動画像符号化装置が大きく動いていないことを通知する。この通知を受けた場合、フレームメモリ制御器１０２は、フレームデータを格納しているフレームメモリを読出可能に設定する。また、使用していないフレームメモリの１つに電力を供給し、書込可能に設定するか、フレームメモリの中で最も時間の経過したフレームのフレームメモリを書込可能に設定する。
【００７９】
動き推定器１００は、読出可能に設定されているフレームメモリの内容を読み出し、動きベクトルを算出して、動き補償器１０１で予測画像を生成し、差分器５に入力する。以下、実施形態１と同様にして、フレーム間符号化を実行し、符号化データは記録器８を介して記録メディア９に記録する。
【００８０】
逆量子化／逆変換器１０では、入力された量子化結果から予測誤差を得て、加算器１１に入力する。予測誤差に動き補償器１０１からの予測画像を加算し、書込可能に設定されているフレームメモリに格納する。
【００８１】
次に、実施形態２の動画像符号化装置の動画像符号化処理の処理フローについて、図４〜図６を用いて説明する。
【００８２】
図４は本発明の実施形態２に係る動画像符号化装置における動画像符号化処理を示すフローチャートである。
【００８３】
尚、図４において、実施形態１の図２と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００８４】
実施形態１と同様に、ステップＳ１〜ステップＳ４の処理後、ステップＳ５にて、動きの大きさが所定値以下である場合（ステップＳ５でＮＯ）、ステップＳ１００に進み、フレームメモリ制御Ｍを実行する。一方、動きの大きさが所定値より大きい場合（ステップＳ５でＹＥＳ）、ステップＳ１０１に進み、フレームメモリ制御Ｎを実行する。ここで、常にＭ＞Ｎである。
【００８５】
ここで、ステップＳ１００のフレームメモリ制御Ｍの詳細について、図５を用いて説明する。
【００８６】
図５は本発明の実施形態２に係るフレームメモリ制御Ｍの詳細を示すフローチャートである。
【００８７】
ステップＳ１０２にて、参照フレーム数をＭ（この場合は、５）に設定する。ステップＳ１０３にて、電力が供給されず使用されていない不使用フレームメモリの有無を判定する。不使用フレームメモリがない場合（ステップＳ１０３でＮＯ）、ステップＳ１０４に進み、最も時間的に古い画像データ（参照フレーム）が格納されているフレームメモリを書込可能に設定する。
【００８８】
一方、不使用フレームメモリがある場合（ステップＳ１０３でＹＥＳ）、ステップＳ１０５に進み、不使用フレームメモリの１つを選択し、電力を供給して使用できるようにする。次に、ステップＳ１０６にて、ステップＳ１０５で使用が可能になったフレームメモリを書込可能に設定する。
【００８９】
ステップＳ１０７にて、残りのフレームメモリで時間的に新しいものから最大Ｍ個のフレームメモリを読出可能に設定する。これで、フレームメモリ制御Ｍの手順を終了し、図４のステップＳ８に進む。
【００９０】
次に、ステップＳ１０１のフレームメモリ制御Ｎの詳細について、図６を用いて説明する。
【００９１】
図６は本発明の実施形態２に係るフレームメモリ制御Ｎの詳細を示すフローチャートである。
【００９２】
ステップＳ１１０にて、参照フレーム数をＮ（この場合は、２）に設定する。
【００９３】
ステップＳ１１１にて、残りのフレームメモリで時間的に新しいものからＮ個のフレームメモリを読出可能に設定する。ステップＳ１１２にて、残りのフレームメモリのいずれか１つのフレームメモリを書込可能に設定する。
【００９４】
ステップＳ１１３にて、さらに残りのフレームメモリは不使用フレームメモリであるので、それへの電力供給を停止する。これでメモリ制御Ｎの手順を終了し、図４のステップＳ８に進む。
【００９５】
図４に戻り、以降、実施形態１と同様に、ステップＳ８〜ステップＳ１０の処理後、ステップＳ１０２にて、復号画像をフレームメモリの書込可能に設定されているフレームメモリに格納する。ステップＳ１２にて、符号化データを記録メディア９に記録して、次のフレームを処理するためにステップＳ２に戻る。
【００９６】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、不使用フレームメモリへの電力供給を停止することで、消費電力を抑えることができる。そのため、特に、限られた電源で動作している環境においては、その動作時間を延ばすことが可能になる。
【００９７】
尚、実施形態２においては、参照フレーム数を最大５フレームとしたが、これに限定されず、フレームメモリを必要数を揃えることで、その他の枚数の参照にも対応できることは明らかである。
【００９８】
また、実施形態２においては、動きの大きい時の参照フレーム数もこれに限定されない。さらに、動きの大きさに従って選択するフレーム数を可変にしても構わない。例えば、動画像符号化装置の動きの大きさに反比例して参照できるフレーム数を決定しても構わないし、その他の基準を用いてももちろん構わない。
【００９９】
また、実施形態２においては前方向予測のみを例にとって説明したが、後方向予測や両方向予測を用いた場合もフレームメモリを必要数揃えることで対応できることは明らかである。
【０１００】
また、実施形態２の動画像符号化装置の各種構成要素の一部または全部の機能を、ソフトウェアで記述し、ＣＰＵ等の演算装置によって処理を実行する構成としてももちろん構わない。
【０１０１】
＜実施形態３＞
図７は本発明の実施形態３に係る動画像符号化装置の構成を示すブロック図である。
【０１０２】
尚、図７において、実施形態２の図３と同様の機能を果たす部分に関しては、同じ番号を付与し、説明を省略する。
【０１０３】
図７において、２００は動画像符号化装置の撮影モードを設定する撮影モード設定器である。撮影モードには、標準となる「自動モード」の他、スピードの速い被写体を撮影するための「スポーツモード」や、山、海等の風景を撮影するための「風景モード」等があるものとするが、これに限定されない。
【０１０４】
２０１はフレームメモリ１２〜１７を制御するフレームメモリ制御器であり、撮影モードに応じて、フレームメモリ１２〜１７への書込や読出、電力の供給を制御する。２０２は撮像部であり、撮影モード設定器２００の指示に従って、シャッタースピードや絞り値等を制御することが可能である。
【０１０５】
次に、図７の動画像符号化装置の動画像符号化動作について、以下に説明する。
【０１０６】
まず、不図示のユーザは、撮影を開始する前に撮影モード設定器２００を用いて、撮像部２０２の撮影モードを設定する。設定された撮影モードは、撮像部２０２とフレームメモリ制御器２０１に入力される。撮像部２０２は、設定された撮影モードに適したシャッタースピードや絞り値を選択して設定する。
【０１０７】
フレームメモリ制御器２０１では、「自動モード」が選択された場合、参照フレーム数を３とし、フレームメモリ１６及び１７は使用せずに電力の供給を停止する。また、「スポーツモード」が選択された場合、参照フレーム数を１とし、フレームメモリ１４〜１７は使用せずに電力の供給を停止する。更に、「風景モード」が選択された場合、参照フレーム数を５とする。
【０１０８】
以下、電源が供給されているフレームメモリを用いて、各フレームをフレーム内符号化またはフレーム間符号化を実行する。
【０１０９】
フレーム内符号化を実行する場合は、電源が供給さているフレームメモリに対して、フレームメモリ制御器２０１が順番に空いているフレームメモリまたは時間的に最も古いフレームを格納しているフレームメモリを書込可能に設定して、復号画像を格納する。
【０１１０】
フレーム間符号化を実行する場合は、電源が供給さているフレームメモリに対して、フレームメモリ制御器２０１が順番に空いているフレームメモリまたは時間的に最も古い画像データを格納しているフレームメモリを書込可能に設定し、それ以外を読出可能に設定する。
【０１１１】
尚、フレーム間符号化では、参照フレーム数は各撮影モードで設定されているので、これに従って、動きベクトルを算出し、動き補償を実行する。生成された符号化データは、記録器８を介して記録メディア９に記録される。復号画像は、書込可能に設定されているフレームメモリに格納される。
【０１１２】
次に、実施形態３の動画像符号化装置の動画像符号化処理の処理フローについて、図８を用いて説明する。
【０１１３】
図８は本発明の実施形態３に係る動画像符号化装置における動画像符号化処理を示すフローチャートである。
【０１１４】
尚、図８において、実施形態１の図２と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１１５】
ステップＳ２００にて、撮影モードを設定する。
【０１１６】
尚、図８では、撮影モードとして、「スポーツモード」、「風景モード」及び「自動モード」が存在するものとする。
【０１１７】
ステップＳ２０１にて、撮影モードが「スポーツモード」であるか否かを判定する。「スポーツモード」である場合（ステップＳ２０１でＹＥＳ）、ステップＳ２０２に進み、参照フレーム数をＮ（この場合は、１）に設定する。次に、ステップＳ２０３にて、不使用フレームメモリについて電力供給を停止する。その後、ステップＳ１に進む。
【０１１８】
一方、ステップＳ２０１において、撮影モードが「スポーツモード」でない場合（ステップＳ２０１でＮＯ）、ステップＳ２０４に進み、撮影モードが「風景モード」であるか否かを判定する。「風景モード」である場合、ステップＳ２０５に進み、参照フレーム数をＰ（この場合は、５）に設定する。その後、ステップＳ１に進む。
【０１１９】
一方、撮影モードが「風景モード」でない場合（ステップＳ２０４でＮＯ）、ステップＳ２０６に進み、参照フレーム数をＭ（この場合は、３）に設定する。ステップＳ２０７にて、不使用フレームメモリについて電力供給を停止する。その後、ステップＳ１に進む。ここで、常にＰ≧Ｍ≧Ｎである。
【０１２０】
以下、実施形態１と同様に、設定されている参照フレーム数Ｐ、Ｍ、Ｎのいずれかに基づいて、ステップＳ１〜ステップＳ３及びステップＳ８〜ステップＳ１２の処理を実行する。
【０１２１】
以上説明したように、実施形態３によれば、撮影モードによって予想される、符号化対象の動画像の動きの大きさに基づいて、参照フレーム数を制御することで、動きに応じて最適な処理を実行することができる。
【０１２２】
また、予め撮影モードに基づいて、参照フレーム数を設定することにより、最適な参照を可能にすることができる。さらには、不使用フレームメモリに電力の供給を停止することで、消費電力を抑えることができる。そのため、特に、限られた電源で動作している環境においては、その動作時間を延ばすことが可能になる。
【０１２３】
尚、実施形態３においては、参照フレーム数を最大５フレームとしたが、これに限定されず、フレームメモリを必要数を揃えることで、その他の枚数の参照にも対応できることは明らかである。
【０１２４】
また、実施形態３においては前方向予測のみを例にとって説明したが、後方向予測や両方向予測を用いた場合もフレームメモリを必要数揃えることで対応できることは明らかである。
【０１２５】
また、実施形態３の動画像符号化装置の各種構成要素の一部または全部の機能を、ソフトウェアで記述し、ＣＰＵ等の演算装置によって処理を実行する構成としてももちろん構わない。
【０１２６】
＜実施形態４＞
図９は本発明の実施形態４に係る動画像符号化装置の構成を示すブロック図である。
【０１２７】
図９において、３００は装置全体の制御、及び種々の処理を行なう中央演算装置（ＣＰＵ）、３０１は本装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。３０２は動画像符号化装置を構成する各種構成要素を相互に接続し、データ及び制御信号を転送するバスである。
【０１２８】
３０３は装置の起動、各種条件の設定、再生の指示を実行するための端末である。３０４はソフトウェアを蓄積する記憶装置である。３０５は符号化ストリームを蓄積する記憶装置である。記憶装置３０４及び３０５は、動画像符号化装置から切り離して移動できる可搬性記憶媒体で構成することもできる。
【０１２９】
３０７は動画像を１フレームずつ撮影できるカメラ（撮像部）である。３０６はカメラ３０７のカメラ雲台であり、ソフトウェアによって制御され、カメラ３０７からの画像データやカメラ３０７の状態やカメラ雲台３０６自身の状態をバス３０２に出力する機能を有する。
【０１３０】
３０８は画像を表示するモニタである。３１０は通信回線であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。３０９は通信回線３１０を介してストリームを送受信する通信インターフェース（Ｉ／Ｆ）である。
【０１３１】
メモリ３０１には装置全体を制御し、各種ソフトウェアを動作させるためのＯＳや動作させるソフトウェアが格納され、これに加えて、画像データを格納する画像エリア、生成した符号化データを格納する符号エリア、各種演算や符号化の際のパラメータ等を格納するワーキングエリアが存在する。
【０１３２】
このような構成において、通信回線３１０を介して外部端末からカメラ３０７を制御し、カメラ３０７から撮影した動画像を符号化し、通信回線３１０を介してその外部端末に送信する処理について説明する。
【０１３３】
ここでは、符号化方式としてＨ．２６４符号化方式を例にとって説明するが、これに限定されず、２フレーム以上の複数フレームを参照して符号化する符号化方式であれば、どのような符号化方式でも構わない。また、説明を容易にするために、符号化対象のフレームを前後３フレームずつを参照することとするが、これに限定されない。
【０１３４】
処理に先立ち、端末３０３から装置全体に対して起動が指示され、各構成要素が初期化される。これにより、記憶装置３０４に格納されているソフトウェアが、バス３０２を介してメモリ３０１に展開され、ソフトウェアが起動される。
【０１３５】
ここで、メモリ３０１のデータ構成について、図１０を用いて説明する。
【０１３６】
図１０は本発明の実施形態４に係るメモリのデータ構成を示す図である。
【０１３７】
図１０に示すように、メモリ３０１には、装置全体を制御し、各種ソフトウェアを動作させるためのＯＳ、Ｈ．２６４符号化方式を実行する動画像符号化ソフトウェア、通信を制御する通信ソフトウェア、カメラ雲台３０６を制御するカメラ制御ソフトウェアが格納される。また、画像データを記憶する画像エリア１〜７、符号化データを記憶する符号エリア、ワーキングエリアが構成されている。
【０１３８】
このような構成において、ＣＰＵ３００による動画像符号化装置の制御について、図１１を用いて説明する。
【０１３９】
図１１は本発明の実施形態４に係る動画像符号化装置が実行する処理を示すフローチャートである。
【０１４０】
ステップＳ３００にて、カメラ制御ソフトウェアを起動し、各部の初期化を実行し、動画像の撮影を開始する。ステップＳ３０１にて、通信ソフトウェアを起動し、通信回線３１０を介してカメラ制御情報を受信し、符号化データを出力するための準備を実行する。
【０１４１】
ステップＳ３０２にて、端末３０３から処理終了の入力の有無を判定する。入力がある場合（ステップＳ３０２でＹＥＳ）、ステップＳ３０７に進み、通信ソフトウェアを終了する。次に、ステップＳ３０８にて、カメラ制御ソフトウェアを終了した後、全ての処理を終了する。
【０１４２】
一方、ステップＳ３０２において、入力がない場合（ステップＳ３０２でＮＯ）、ステップＳ３０３に進み、通信回線３１０から通信インターフェース３０９を介してカメラ制御要求と動画像伝送要求の有無を判定する。要求がない場合（ステップＳ３０３でＮＯ）、ステップＳ３０２に戻り、要求があるまで待機する。一方、要求がある場合（ステップＳ３０３でＹＥＳ）、ステップＳ３０４に進む。
【０１４３】
ステップＳ３０４にて、動画像符号化ソフトウェアを起動する。ステップＳ３０５にて、符号化と符号化データの送信を実行する。尚、この処理の詳細については、後述する。通信の終了を受信したら、ステップＳ３０６に進む。ステップＳ３０６にて、符号化ソフトウェアを終了し、ステップＳ３０２に戻り、次の指示を待機する。
【０１４４】
次に、ステップＳ３０５の処理の詳細について、図１２を用いて説明する。
【０１４５】
図１２は本発明の実施形態４に係るステップＳ３０５の処理の詳細を示すフローチャートである。
【０１４６】
まず、ステップＳ３５１にて、ヘッダ情報を生成して、メモリ３０１上の符号エリアに格納する。通信ソフトウェアは、符号エリアに符号化データが格納されたら、通信インターフェース３０９を介して通信回線３１０に送出し、送出後、符号エリアの該当する領域をクリアする。以後、特に、符号エリアの符号化データの送信については言及しない。
【０１４７】
ステップＳ３５２にて、通信終了要求の有無を判定する。通信終了要求がある場合（ステップＳ３５２でＹＥＳ）、処理を終了する。一方、通信終了要求がない場合（ステップＳ３５２でＮＯ）、ステップＳ３５３に進む。
【０１４８】
ステップＳ３５３にて、通信回線３１０から通信インターフェース３０９を介してカメラを制御するカメラ制御コマンドを受信していれば、そのコマンドをカメラ雲台３０６に入力する。カメラ雲台３０６は、このカメラ制御コマンドに基づいて、パンニング、チルト、ズーム等の動作を行なう。
【０１４９】
ステップＳ３５４にて、カメラ３０７で撮影されたフレームデータを、カメラ雲台３０６を介して入力し、メモリ３０１上の画像エリア１に格納する。
【０１５０】
ステップＳ３５５にて、カメラ雲台３０６からカメラ３０７の動きに関するデータを取得する。ここで、カメラ雲台３０６は、カメラ制御コマンドを受信してからカメラ雲台３０６を動作させるが、その動きの状態はモータ等の状況を監視することで、カメラ３０７の動きに関するデータを取得することができる。取得したデータは、メモリ３０１上のワーキングエリアに書き込む。
【０１５１】
ステップＳ３５６にて、取得したカメラ３０７の動きに関するデータ（動きの大きさ）と所定値を比較する。
【０１５２】
動きの大きさが所定値以下である場合（ステップＳ３５６でＮＯ）、ステップＳ３５７に進み、前後の参照フレーム数をＭ（この場合、は３）に設定する。次に、ステップＳ３５８にて、後述するフレーム間符号化時の動き補償を行なう際の動きベクトルを探索する範囲をｍ×ｍとする。ここでは、ｍは、例えば、３２画素とする。その後、ステップＳ３６１に進む。
【０１５３】
一方、動きの大きさが所定値より大きい場合（ステップＳ３５６でＹＥＳ）、ステップＳ３５９に進み、前後の参照フレーム数をＮ（この場合は、１）に設定する。ここで、常に、Ｍ＞Ｎである。次に、ステップＳ３６０にて、後述するフレーム間符号化時の動き補償を行なう際の動きベクトルを探索する範囲をｎ×ｎとする。ここでは、ｎは、例えば、５５画素とする。その後、ステップＳ３６１に進む。
【０１５４】
ステップＳ３６１にて、符号化対象のフレームデータの符号化モードを判定する。
【０１５５】
符号化モードがフレーム内符号化である場合、ステップＳ３６２に進み、入力されたフレームデータに対してフレーム内符号化を実行する。そして、生成した符号化データをメモリ３０１上の符号エリアに格納した後、ステップＳ３６４に進む。
【０１５６】
一方、符号化モードがフレーム間符号化である場合、ステップＳ３６３に進み、設定された参照フレーム数の画像エリアの画像を参照しながら、設定された範囲で動きベクトル探索を実行して動き補償を実行することによって、フレーム間符号化を実行する。そして、生成した符号化データをメモリ３０１上の符号エリアに格納した後、ステップＳ３６４に進む。
【０１５７】
ステップＳ３６４にて、復号画像をメモリ３０１上の画像エリアの空いている画像エリアまたは最も時間的に古い画像データが格納されている画像エリアに格納する。ステップＳ３６５にて、符号エリアに格納された符号化データを、通信インターフェース３０９を介して通信回線３１０に送出し、次のフレームを処理するためにステップＳ３５２に戻る。
【０１５８】
以上説明したように、実施形態４によれば、カメラの動きが大きい（激しい）場合、時間的に離れたフレームの参照の頻度が極端に小さくなるため、これを参照しないことで、動き補償に係る演算処理量を大幅に削減することができる。これにより、処理の高速化を図ることができる。
【０１５９】
また、カメラの動きが大きい（激しい）場合、カメラの動きが小さい場合に比べて、動きベクトルの探索範囲を広げることで、正確な動きベクトルの探索を実行することができる。即ち、参照フレーム数を５フレームから２フレームに減じた時は、その動きベクトルの探索範囲を（３０２５（５５×５５）／１０２４（３２×３２））1/2と広げでも演算量は同じであり、ＣＰＵの負担を増やさずに効率よく動きベクトルを探索できる。
【０１６０】
尚、実施形態４においては、参照フレームを、符号化対象のフレームの前後３フレームとしたが、これに限定されず、参照フレームを格納するための画像エリアを必要量確保することでその他の枚数の参照にも対応できることは明らかである。
【０１６１】
また、実施形態４の動画像符号化装置の各種構成要素の一部または全部の機能を、ソフトウェアで記述し、ＣＰＵ等の演算装置によって処理を実行する構成としてももちろん構わない。
【０１６２】
また、実施形態４では、通信ソフトウェアを起動して通信インターフェース３０９を介して通信回線３１０に送信する例について説明したが、記憶装置３０５に格納しても、もちろん構わない。
【０１６３】
また、入力画像もカメラからの撮影画像に限定されず、記憶装置３０５に格納されている動画像データを用いて、画面の動きの大きさを判定しながら、その参照フレーム数を変更することも可能である。さらには、シーンチェンジ等を検出した場合、その参照フレーム数をリセットすることも可能である。
【０１６４】
また、用途や目的に応じて、実施形態１〜４の構成を任意に組み合わせた実施形態を実現することももちろん構わない。
【０１６５】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１６６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１６７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１６８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１６９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１７０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１７１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１７２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１７３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１７４】
【図１】本発明の実施形態１に係る動画像符号化装置の構成を示すブロック図である。
【図２】本発明の実施形態１に係る動画像符号化装置における動画像符号化処理を示すフローチャートである。
【図３】本発明の実施形態２に係る動画像符号化装置の構成を示すブロック図である。
【図４】本発明の実施形態２に係る動画像符号化装置における動画像符号化処理を示すフローチャートである。
【図５】本発明の実施形態２に係るフレームメモリ制御Ｍの詳細を示すフローチャートである。
【図６】本発明の実施形態２に係るフレームメモリ制御Ｎの詳細を示すフローチャートである。
【図７】本発明の実施形態３に係る動画像符号化装置の構成を示すブロック図である。
【図８】本発明の実施形態３に係る動画像符号化装置における動画像符号化処理を示すフローチャートである。
【図９】本発明の実施形態４に係る動画像符号化装置の構成を示すブロック図である。
【図１０】本発明の実施形態４に係るメモリのデータ構成を示す図である。
【図１１】本発明の実施形態４に係る動画像符号化装置が実行する処理を示すフローチャートである。
【図１２】本発明の実施形態４に係るステップＳ３０５の処理の詳細を示すフローチャートである。
【図１３】従来の動画像符号化装置の構成を示すブロック図である。
【符号の説明】
【０１７５】
１、２０２  撮像部
２、１２〜１７、１００７〜１０１０  フレームメモリ
３、１８、１０００  セレクタ
４、１００１  イントラ予測器
５、１００２  差分器
６、１００３  変換／量子化器
７、１００４  エントロピー符号化器
８  記録器
９  記録メディア
１０、１００５  逆量子化／逆変換器
１１、１００６  加算器
１９、１００、１０１１  動き推定器
２０、１０１、１０１２  動き補償器
２１、１０１３  動き符号化器
２２  動き検出器
２３  動き判定器
１０２、２０１  フレームメモリ制御器
２００  撮影モード設定器
３００  ＣＰＵ
３０１  メモリ
３０２  バス
３０３  端末
３０４、３０５  記憶装置
３０６  カメラ雲台
３０７  カメラ
３０８  モニタ
３０９  通信インターフェース
３１０  通信回線
１０１４  出力器
【図１】
2005184694.tif 000003
【図２】
2005184694.tif 000004
【図３】
2005184694.tif 000005
【図４】
2005184694.tif 000006
【図５】
2005184694.tif 000007
【図６】
2005184694.tif 000008
【図７】
2005184694.tif 000009
【図８】
2005184694.tif 000010
【図９】
2005184694.tif 000011
【図１０】
2005184694.tif 000012
【図１１】
2005184694.tif 000013
【図１２】
2005184694.tif 000014
【図１３】
2005184694.tif 000015