(57)【要約】【課題】  動きベクトル検出の演算量を増加せずに高効率に動画圧縮する動画符号化装置を提供する。【解決手段】  動きベクトル検出回路１０１は整数画素精度で検出された予測ブロック及びその周辺の領域を２タップ画素補間器６０５を用いて小数画素精度で補間し、補間された領域の中から対象ブロックと相関度が高い予測ブロックを示す複数の動きベクトル候補を検出する。動き補償回路１０２回路は検出された予測ブロックを６タップ画像補間器９０１により補間し、対象ブロックと相関度が最も高い予測ブロックを示す動きベクトルを、検出された複数の候補の中から決定する。このように２タップフィルタを使用した小数精度動き予測により動きベクトルの絞込みを行い、絞り込まれた複数の候補に対する６タップフィルタを用いた動き補償を行うことにより、６タップフィルタを使用した動き予測と同様の高効率な動画圧縮を可能にする。【選択図】        図１
2005303994.tif 000002
【特許請求の範囲】
【請求項１】
参照ピクチャの探索エリア内で、所定の領域を第１のフィルタを用いて小数画素精度で補間し、補間された前記領域の中から、対象ブロックとの相関度が高い予測ブロックの位置を示す複数の動きベクトルを検出する動きベクトル検出手段と、
検出された複数の前記動きベクトルで示される各予測ブロックを、前記第１のフィルタよりもタップ数の多い第２のフィルタを用いて小数画素精度で補間し、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、前記対象ブロックとの相関度が最も高い予測ブロックの位置を示す動きベクトルを、前記動きベクトル検出手段によって検出された複数の前記動きベクトルのうちから決定する動きベクトル決定手段と
を備えることを特徴とする動画符号化装置。
【請求項２】
前記動きベクトル検出手段は、
参照ピクチャの探索エリア内で、前記対象ブロックと最も相関度の高い整数画素精度の予測ブロックの位置を示す動きベクトルを検出する整数画素精度動きベクトル検出部と、
整数画素精度で検出された前記動きベクトルによって示される予測ブロックおよびその周辺の前記探索エリア内の領域を、前記第１のフィルタを用いて前記小数画素精度まで補間する小数画素精度補間部と、
前記小数画素精度まで補間された前記領域内で、複数の動きベクトルを検出する小数画素精度動きベクトル検出部とを備え、
前記動きベクトル決定手段は、前記小数画素精度動きベクトル検出部によって検出された複数の前記動きベクトルのうちから決定する
ことを特徴とする請求項１記載の動画符号化装置。
【請求項３】
前記動きベクトル検出手段は、
参照ピクチャの探索エリア内で、前記対象ブロックと最も相関度の高い整数画素精度の予測ブロックの位置を示す動きベクトルを検出する整数画素精度動きベクトル検出部と、
整数画素精度で検出された前記動きベクトルによって示される予測ブロックおよびその周辺の前記探索エリア内の領域を、前記第１のフィルタを用いて第１の小数画素精度まで補間する第１小数画素精度補間部と、
前記第１の小数画素精度まで補間された前記領域内で、動きベクトルを検出する第１小数画素精度動きベクトル検出部と
を備えることを特徴とする請求項１記載の動画符号化装置。
【請求項４】
前記動きベクトル検出手段は、さらに、
前記第１小数画素精度で検出された前記動きベクトルによって示される予測ブロックおよびその周辺の前記探索エリア内の領域を、前記第１のフィルタを用いて、より微細な第２の小数画素精度まで補間する第２小数画素精度補間部と、
前記第２の小数画素精度まで補間された前記領域内で、複数の動きベクトルを検出する第２小数画素精度動きベクトル検出部とを備え、
前記動きベクトル決定手段は、前記第２小数画素精度動きベクトル検出部によって検出された複数の前記動きベクトルのうちから決定する
ことを特徴とする請求項３記載の動画符号化装置。
【請求項５】
前記第２小数画素精度動きベクトル検出部は、前記第２の小数画素精度まで補間された前記領域内で、前方向と後方向との動きベクトルを検出する
ことを特徴とする請求項４記載の動画符号化装置。
【請求項６】
前記第２小数画素精度動きベクトル検出部は、前方向と後方向とについて、少なくとも前記対象ブロックと最も相関度が高い予測ブロックの位置を示す第１の動きベクトルと、２番目に相関度が高い予測ブロックの位置を示す第２の動きベクトルとを検出する
ことを特徴とする請求項５記載の動画符号化装置。
【請求項７】
前記第２小数画素精度動きベクトル検出部は、さらに、
予測ブロックと対象ブロックとの差分データを算出し、算出された差分データに基づいて、値が小さいほど前記予測ブロックと前記対象ブロックとの相関性が高いことを示す符号化コストを算出する符号化コスト算出部と、
前記第２小数画素精度動きベクトル検出部によって検出された前方向の前記動きベクトルが示す前記予測ブロックの前記符号化コストと、後方向の前記動きベクトルが示す前記予測ブロックの前記符号化コストとを比較して、前記比較結果に基づいて、前記対象ブロックの予測方向を判定する方向判定部と
を備えることを特徴とする請求項５記載の動画符号化装置。
【請求項８】
前記方向判定部は、
（１）前方向および後方向の対応する予測ブロックの前記符号化コストの差が所定の範囲内であれば、前記対象ブロックの予測方向を双方向であると判定し、
（２）前方向の前記予測ブロックの符号化コストが、後方向の前記予測ブロックの符号化コストよりも前記所定の範囲を超えて小さい場合、前方向の片方向と判定し、
（３）後方向の前記予測ブロックの符号化コストが、前方向の前記予測ブロックの符号化コストよりも前記所定の範囲を超えて小さい場合、後方向の片方向と判定する
ことを特徴とする請求項７記載の動画符号化装置。
【請求項９】
前記第２小数画素精度動きベクトル検出部は、前方向と後方向とのそれぞれについて複数の動きベクトルを検出し、
前記動きベクトル決定手段は、さらに、各予測ブロックが、前記第２のフィルタを用いて小数画素精度で補間された後、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、値が小さいほど前記予測ブロックと前記対象ブロックとの相関性が高いことを示す第２符号化コストを算出する第２符号化コスト算出部を備え、
前記動きベクトル決定手段は、前記方向判定部によって前記対象ブロックの予測方向が片方向であると判定された場合、前記第２符号化コストに基づいて、検出された前方向または後方向の複数の動きベクトルのうちから、前記対象ブロックと最も相関度の高い予測ブロックの位置を示す動きベクトルを決定する
ことを特徴とする請求項８記載の動画符号化装置。
【請求項１０】
前記動きベクトル決定手段は、前記第２符号化コストが最小となる予測ブロックの位置を示す動きベクトルを選択することにより、前記方向判定部によって前記対象ブロックの予測方向が前方向であると判定された場合、検出された前方向の複数の動きベクトルのうちから前記動きベクトルを決定し、後方向であると判定された場合、検出された後方向の複数の動きベクトルのうちから前記動きベクトルを決定する
ことを特徴とする請求項９記載の動画符号化装置。
【請求項１１】
前記動画符号化装置は、さらに、前記方向判定部によって前記対象ブロックの予測方向が双方向であると判定された場合、前方向と後方向と２つの予測ブロックの平均画像を生成する平均画像生成手段を備え、
前記第２小数画素精度動きベクトル検出部は、前方向と後方向とについて、少なくとも前記対象ブロックと最も相関度が高い予測ブロックの位置を示す第１の動きベクトルと、２番目に相関度が高い予測ブロックの位置を示す第２の動きベクトルとを検出し、
前記動きベクトル決定手段は、前記方向判定部によって前記対象ブロックの予測方向が双方向であると判定された場合、前方向と後方向との各前記第１の動きベクトル１本ずつを前記動きベクトルであると決定し、
前記平均画像生成手段は、前記動きベクトルであると決定された前方向と後方向との各前記第１の動きベクトルで示される２つの予測ブロックの平均画像を生成する
ことを特徴とする請求項９記載の動画符号化装置。
【請求項１２】
前記第１のフィルタは、線形補間により参照ピクチャ内の領域を補間する
ことを特徴とする請求項１記載の動画符号化装置。
【請求項１３】
前記第１のフィルタは２タップフィルタであり、前記第２のフィルタは６タップフィルタである
ことを特徴とする請求項１記載の動画符号化装置。
【請求項１４】
参照ピクチャの探索エリア内で、所定の領域を第１のフィルタを用いて小数画素精度で補間し、補間された前記領域の中から、対象ブロックとの相関度が高い予測ブロックの位置を示す複数の動きベクトルを検出する動きベクトル検出手段と、
検出された複数の前記動きベクトルで示される各予測ブロックを、前記第１のフィルタよりもタップ数の多い第２のフィルタを用いて小数画素精度で補間し、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、前記対象ブロックとの相関度が最も高い予測ブロックの位置を示す動きベクトルを、前記動きベクトル検出手段によって検出された複数の前記動きベクトルのうちから決定する動きベクトル決定手段と
を一体に備えることを特徴とする集積回路。
【請求項１５】
参照ピクチャの探索エリア内で、所定の領域を第１のフィルタを用いて小数画素精度で補間し、補間された前記領域の中から、対象ブロックとの相関度が高い予測ブロックの位置を示す複数の動きベクトルを検出し、
検出された複数の前記動きベクトルで示される各予測ブロックを、前記第１のフィルタよりもタップ数の多い第２のフィルタを用いて小数画素精度で補間し、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、前記対象ブロックとの相関度が最も高い予測ブロックの位置を示す動きベクトルを、検出された複数の前記動きベクトルのうちから決定する
ことを特徴とする動画符号化方法。
【請求項１６】
参照ピクチャの探索エリア内で、所定の領域を第１のフィルタを用いて小数画素精度で補間し、補間された前記領域の中から、対象ブロックとの相関度が高い予測ブロックの位置を示す複数の動きベクトルを検出し、
検出された複数の前記動きベクトルで示される各予測ブロックを、前記第１のフィルタよりもタップ数の多い第２のフィルタを用いて小数画素精度で補間し、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、前記対象ブロックとの相関度が最も高い予測ブロックの位置を示す動きベクトルを、検出された複数の前記動きベクトルのうちから決定する前記各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画符号化装置に関するものであり、特に限られたリソースで動画符号化を行うＬＳＩやソフトウェア等において、効率的な小数精度動き予測を備えた動画符号化装置に関する。
【背景技術】
【０００２】
近年、ＰＣの処理能力の向上、インターネット通信の大容量化などに伴い、デジタルコンテンツの普及が進んできている。動画においても、アナログのＶＨＳからデジタルＤＶＤへと急速に移行中である。動画は膨大な情報量を含んでおり、動画情報をデジタルとして扱うためには、画像圧縮技術が不可欠である。デジタル動画コンテンツは、符号化により情報が圧縮されている。動画圧縮技術は、様々な製品ですでに使われており、例えばＤＶＤレコーダでは、符号化方式としてＭＰＥＧ−２が用いられている。また、テレビ電話用の携帯電話ではＭＰＥＧ−４が用いられている。
【０００３】
今後は、ますます動画の利用シーンが広がると予想される。カメラつき携帯電話がムービーとして用いられるようになると、ＳＤカードのような記憶媒体に動画を蓄積する要求が生じる。一方で、映画などの大画面高精細動画データをインターネットからストリーミングで受信し、視聴することもあるであろう。それらに共通していえるのは、高圧縮化符号化への強い要求であり、高圧縮を実現することで同じ蓄積容量なら長時間記録が可能となり、同じネットワーク帯域であればより高画質な動画を送ることが可能となる。
【０００４】
そこで、ＭＰＥＧ（Moving Picture Experts Group）とＩＴＵ−Ｔでは、より高圧縮な符号化を目指した次世代符号化方式の標準化を行うＪＶＴ（Joint Video Team）を設立し、ＭＰＥＧ−４ ＡＶＣ／Ｈ．２６４が規格化された。以後、その規格をＭＰＥＧ−４ ＡＶＣと呼ぶことにする。ＭＰＥＧ−４ ＡＶＣは、従来のようなピクチャの時間的な相関を利用する動き補償と、空間的な相関を利用するための周波数変換によるハイブリッド符号化器の構成を踏襲している。しかしながら、いくつかのツールを新たに導入するとともに既存のツールを最適化することで、従来の規格（ＩＴＵ−Ｔ Ｈ．２６３やＭＰＥＧ−４）の２倍の符号化効率を達成している。ここで、ピクチャとはフレームまたはフィールドのことを意味する。
【０００５】
ＭＰＥＧ−４ ＡＶＣは高圧縮符号化を実現する反面、符号化に伴い多大な演算量を必要とする。そのためＭＰＥＧ−４ ＡＶＣの処理をＬＳＩに実装する場合、回路規模が大きくなるか、あるいは動作サイクルを増やすために消費電力が大きくなってしまう。ＬＳＩ回路規模の増大は、ＬＳＩのコストを増加させるだけでなく、ＬＳＩ面積が大きくなり小型軽量のモバイル機器には搭載することができない。また、消費電力の増大は、バッテリで駆動する機器においては、稼動時間を著しく減少させる。また、ソフトウェアで実装する場合には、演算量が多いために非常に高速なＣＰＵが必要になるか、処理時間が膨大になる。
【０００６】
図１６は、ＭＰＥＧ−４ ＡＶＣを含む従来のＭＰＥＧ方式で用いられるようなハイブリッド符号化装置の一例である。図１６を用いて、従来の動画符号化装置の内部の構成について説明する。動画符号化装置は、動画像の入力を行う入力部２００１と、ピクチャ間動き予測のための動きベクトル検出回路２００２と、予測画像を作成するための動き補償回路２００４と、減算回路２００３と、直交変換回路２００７と、量子化器２００８と、逆量子化器２０１０と、逆直交変換回路２０１１と、加算回路２００６と、ピクチャ間動き予測の参照ピクチャを保持する参照ピクチャメモリ２００５と、一連の情報に対して対応する符号を割り当てる符号化部２０１２と、符号化されたビット情報を適当な単位で区切り外部に出力する出力部２００９とから構成される。
【０００７】
次に従来の動画符号化装置の動作の概要について、図１７のフローチャートを用いて説明する。
【０００８】
Ｓｔｅｐ２３０１：入力部２００１は、外部メモリより符号化対象ピクチャを読み込む。外部メモリに読み込むべきピクチャがなくなると動作を終了する。入力部２００１は、読み込んだピクチャをマクロブロックと呼ばれるＮ個のブロックに分割する。
【０００９】
Ｓｔｅｐ２３０２：つづいて入力部２００１は、分割したブロックをマクロブロック番号ｎが１からＮまで順番に、動きベクトル検出回路２００２及び減算回路２００３に送る。Ｎ番のマクロブロックを送り終えると、再び新しいピクチャの読み込みを開始する。（Ｓｔｅｐ２３０１へ）
【００１０】
Ｓｔｅｐ２３０３：動きベクトル検出回路２００２は、参照ピクチャメモリ２００５よりｎ番のマクロブロックに対応する参照ピクチャの探索エリアを読み出し、動き予測処理を行う。ここで、動きベクトル検出回路２００２は、後述の６タップフィルタを用いた小数画素精度のブロックマッチングによる動きベクトルの検出を行なう。そして、動き予測処理により求められたｎ番のマクロブロックに対応する動きベクトルを、動き補償回路２００４に出力する。また同時に動きベクトル検出回路２００２は、動きベクトルを符号化部２０１２へ出力する。参照ピクチャの画像は、参照ピクチャメモリ２００５に蓄えられている。
【００１１】
Ｓｔｅｐ２３０４：動き補償回路２００４は、動きベクトル検出回路２００２から得た動きベクトルを基に、参照ピクチャメモリ２００５から画素を取得する。そして、画素補間によりマクロブロックと同じ形状、大きさを有する予測画像を生成し、減算回路２００３および加算回路２００６へ出力する。
【００１２】
Ｓｔｅｐ２３０５：減算回路２００３には、入力部２００１から符号化対象ピクチャのｎ番のマクロブロック画像データが供給されると共に、動き補償回路２００４で動き補償された参照ピクチャの画像データが供給される。減算回路２００３で、符号化対象ピクチャのｎ番のマクロブロックと動き補償された参照ピクチャの画像データとが減算され、差分データが求められる。この差分データが、直交変換回路２００７に供給される。
【００１３】
Ｓｔｅｐ２３０６：直交変換回路２００７では、差分データが直交変換される。直交変換としては、例えばＤＣＴ（離散コサイン変換）が使用される。直交変換回路２００７により変換された変換係数が量子化器２００８に供給される。量子化器２００８で、変換係数が量子化される。量子化器２００８は、量子化処理に使用した量子化値と量子化された変換係数を符号化部２０１２と逆量子化器２０１０に出力する。
【００１４】
Ｓｔｅｐ２３０７：逆量子化器２０１０では、受信した量子化値と変換係数を基に、逆量子化を行う。そして、つづく逆直交変換回路２０１１では逆ＤＣＴなどの逆周波数変換を施し、減算回路２００３が出力したものと同じｎ番のマクロブロックに対する差分データを再生する。そして、その差分データを加算回路２００６に出力する。
【００１５】
Ｓｔｅｐ２３０８：加算回路２００６には、動き補償回路２００４から動き補償された参照ピクチャの画像データが供給される。この予測画像データに、加算回路２００６で再生された差分データが加算され、符号化対象ピクチャの画像データが求められる。求められた符号化対象ピクチャの画像データは、次の参照ピクチャとして、参照ピクチャメモリ２００５のマクロブロック番号ｎに相当する位置に蓄えられる。
【００１６】
Ｓｔｅｐ２３０９：符号化部２０１２は、量子化器２００８から送られた量子化値と量子化された変換係数、動きベクトル検出回路から送られた動きベクトルなどの符号化を行う。符号化にはＣＡＶＬＣと呼ばれる可変長符号化、ＣＡＢＡＣと呼ばれる算術符号化などが利用可能である。符号化部２０１２は、符号化したビット情報を出力部２００９に送る。
【００１７】
Ｓｔｅｐ２３１０：出力部２００９は、符号化部２０１２から受け取ったビット情報を図示しないバッファに蓄え、あらかじめ定められた区切り方に従ってパケット化する。区切り方は、ネットワークへの伝送用途、記録媒体への蓄積用途などに応じて決定される。ｎ番目のマクロブロックに対する全ての処理を終了すると、つづけて（ｎ＋１）番目のマクロブロックの処理に移る。（Ｓｔｅｐ２３０２へ）
【００１８】
上記のようにして、従来の動画符号化装置は、入力画像の符号化を行う。入力部２００１は、時系列に沿って順番にピクチャを読み込む。また一方で、時系列の順番を入れ替えてピクチャを読み込むこともできる。その際、例えば０、３、１、２、６、４、５、９、７、８、…のように時間的に後のピクチャが先に読み込まれ先に符号化される。先に符号化されたピクチャは、参照ピクチャとして参照ピクチャメモリ２００５に蓄積され、ピクチャ間動き予測処理で利用可能となる。動き予測処理では、利用可能な参照ピクチャによって２つに分類され、時間的に前のピクチャのみを参照ピクチャとして動き予測を行うものをＰピクチャと呼び、時間的に前および後のピクチャを参照ピクチャとして動き予測を行うものをＢピクチャと呼ぶ。参照ピクチャとして使用されるピクチャは、しかるべき期間、参照ピクチャメモリ２００５に保持され、動きベクトル検出回路２００２および動き補償回路２００４からアクセス可能である。
【００１９】
さて、図１６のような高能率符号化装置において、一般に、動きベクトル検出回路２００２で動きベクトルを検出する処理が最も負荷が高い。ピクチャ間動き予測方式としてＭＰＥＧでは、画像を複数のブロックに分割しブロック単位で動き補償予測処理を行うことになっている。これはテレビ電話等向けの動画像符号化の国際標準化方式ＩＴＵ−Ｔ Ｈ．２６１でも用いられている。また、ブロック単位での動き補償予測としては、ブロックマッチングによる動きベクトル検出に基づく場合が一般的である。図１８は、ブロックマッチング法を説明する図である。図１８において、２１０１は符号化対象ピクチャを示し、２１０２は参照ピクチャを示している。符号化対象ピクチャ２１０１はブロックに分割され、ブロックごとに参照ピクチャ２１０２内の探索エリア２１０６の中で探索が行われる。探索エリア２１０６のサイズは任意に指定可能である。ここで２１０３を基準ブロック（対象ブロック）とすると、ブロックマッチング法は、探索エリア２１０６の中から基準ブロックと最も似かよったブロックを探索し、その結果最も相関度が高いブロックとして予測ブロック２１０４を検出するものである。類似度の評価にはＳＡＤ（Sum of Absolute Difference）が用いられる。ただし、評価尺度としては、これに限定するものではなく、直交変換されたＳＡＤであるＳＡＤＴ（SAD Transform）などでも良い。この予測ブロック２１０４への相対的な位置の差が動きベクトル２１０４となる。動きベクトル検出回路２００２は、このブロックマッチング法に基づいて動きベクトルを検出する。
【００２０】
ブロックマッチングにより検出される動きベクトルの精度を高め、ピクチャ間動き予測の符号化効率を高めるために、従来より動きベクトル検出回路２００２で、小数精度動きベクトル検出が行われてきた。小数精度動きベクトル検出は、先に説明したブロックマッチング法に則った手法であり、参照ピクチャ２１０２の画素を補間することにより、座標軸上で整数座標位置以外の画素を生成して解像度の高い参照画像を構成し、解像度の高い参照画像を用いて動き予測を行うものである。これにより、基準ブロックとより相関度の高い予測ブロックが生成される可能性があり、より一層符号化効率が高まる。
【００２１】
図１９は、一般的な小数精度動き予測処理を説明するための図であり、図１８における探索エリア２１０６を構成する画素の詳細を示す。探索エリア２１０６中で、丸印は整数画素２５０２を示し、動きベクトル検出回路２００２による整数精度動き予測処理の結果、整数精度での予測ブロック２５０１が得られるものとする。つづいて動きベクトル検出回路２００２は、予測ブロック２５０１の周辺で小数画素精度の動き予測を行うために、探索エリアの画素補間を行う。×印は補間フィルタを用いて1/2画素精度で探索エリアの画素補間を行った結果得られた補間画素２５０３を示す。動きベクトル検出回路２００２では、1/2画素精度の探索エリアを用いて動き予測を行い、1/2画素精度での予測ブロックと動きベクトルを得る。さらに、1/2画素精度動き予測の結果得られた予測ブロックの周辺で、補間フィルタを用いて1/4画素精度で探索エリアの画素補間を行い、図示しない1/4画素精度補間画素を用いて1/4画素精度動き予測処理を行う。その結果、図１８に示した最終的な予測ブロック２１０４と動きベクトル２１０３が得られる。図１９では、整数精度の予測ブロック２５０１の周辺８近傍までしか補間を行っていないが、補間の範囲を広げ、任意のエリアを小数精度の動き予測の探索エリアとすることが可能である。また説明では、1/4画素精度動き予測までとしたが、さらに精度を高め任意の精度の小数精度動き予測を行うことができる。
【００２２】
このような小数精度動き検出を行う際に、動きベクトル検出回路２００２では、１）解像度の高い参照画像を作成する処理と、２）解像度が高く、より広範な探索領域を有する参照画像から動きベクトルを検出する処理が、通常の動き検出処理に加えて必要になる。１）の画素補間に用いるフィルタは、ＭＰＥＧ−２の場合には２タップフィルタによる線形内挿補間である。ＭＰＥＧ−４ ＡＶＣでは６タップフィルタによる参照画像が生成される。より詳細には、まず1/2画素精度の補間値を６タップフィルタで生成し、更に1/4画素精度の補間値を1/2画素精度の画素から２タップフィルタで生成する。
【００２３】
図２０に、参照画像における整数画素と補間画素を示す。図２０を用いて、２タップフィルタと６タップフィルタによる画素補間の違いについて説明する。参照画像中には、太線の円形をした整数画素２２０１と細線の円形をした1/2画素精度補間画素２２０２が規則的に並んでいる。ただし、説明に関係のない画素は記載していない。このような補間画素を用いることによって、参照画像の解像度を高めることができる。２タップフィルタは２画素を利用して線形内挿補間を行うフィルタであり、６タップフィルタは６画素を利用した補間を行うフィルタである。ここで補間画素ｃに着目すると、２タップフィルタは、画素Ｇと画素Ｈを利用して画素ｃを生成する。一方、６タップフィルタは、画素Ｅ、画素Ｆ、画素Ｇ、画素Ｈ、画素Ｉ、画素Ｊの６画素を利用して画素ｃを生成する。
【００２４】
２タップフィルタと６タップフィルタを用いて補間画素を生成する計算式を以下に示す。ここで、ｗ１からｗ６は６タップフィルタの形状すなわち画素の重みを決定する係数である。
・２タップフィルタによる画素補間：
ｃ ＝ （ Ｇ ＋ Ｈ ＋ １）／２
ｆ ＝ （ Ｇ ＋ Ｍ ＋ １）／２
ｇ ＝ （ ｆ ＋ ｈ ＋ １）／２ ＝ （ Ｇ ＋ Ｈ ＋ Ｍ ＋ Ｎ ＋ ２）／４
・６タップフィルタによる画素補間：
ｃ ＝ （ ｗ１＊Ｅ ＋ｗ２＊Ｆ ＋ ｗ３＊Ｇ ＋ ｗ４＊Ｈ ＋ｗ５＊Ｉ ＋ ｗ６＊Ｊ ＋（Ｗ／２））／Ｗ
ｆ ＝ （ ｗ１＊Ａ ＋ ｗ２＊Ｃ ＋ ｗ３＊Ｇ ＋ ｗ４＊Ｍ ＋ ｗ５＊Ｒ ＋ ｗ６＊Ｔ ＋（Ｗ／２））／Ｗ
ｇ ＝ （ ｗ１＊ｄ ＋ ｗ２＊ｅ ＋ ｗ３＊ｆ ＋ ｗ４＊ｈ ＋ ｗ５＊ｉ ＋ ｗ６＊ｊ ＋（Ｗ／２））／Ｗ
Ｗ ＝ ｗ１＋ｗ２＋ｗ３＋ｗ４＋ｗ５＋ｗ６
上記計算式から明らかなように、２タップフィルタに比べて６タップフィルタは、６画素を利用して補間画素を推定するので、より高い精度の画素補間が可能となるが、一方で補間画素を一つ生成するための加算および積算の回数が大幅に増加し、演算負荷が高くなる。更に、演算で参照する画素数が増加するため、メモリのアクセス頻度も増加する。
【００２５】
そこで、小数精度動き予測処理の性能を低下させることなく、処理量を削減し、回路規模を縮小する技術が従来より検討されている。例えば、小数精度動き予測処理において、多段階の動き予測を行うことにより、小数精度の動き予測における探索範囲を絞り込み、処理量を削減する手法が記載されている（特許文献１参照）。また、小数精度動き予測処理において、垂直および水平方向のみ画素補間を行い、斜め方向の画素補間を行わないことにより、高解像度参照画像生成のための演算量と、動きベクトル探索の演算量を削減する手法が記載されている（特許文献２参照）。また、小数精度動き予測処理において、小数精度の参照画像を作成する際、６タップフィルタで生成した１ピクチャ分の補間画像をメモリに保持することで、小数精度動き予測の際、各マクロブロックの探索エリア作成に係わる６タップフィルタの冗長な演算を削減する手法が記載されている（特許文献３参照）。図２１は、特開２００３−３４８５９５号公報に開示されている動画符号化装置の構成を示す。画像生成部２４０１と高解像度参照ピクチャメモリ２４０２が、図１６の従来の動画符号化装置と異なり、高解像度参照ピクチャメモリ２４０２に１ピクチャ分の補間画像が蓄積される。
【特許文献１】特開平７−１６２８６８号公報
【特許文献２】特開平７−９５５８５号公報
【特許文献３】特開２００３−３４８５９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、小数精度動き予測処理において、６タップフィルタによる参照画像生成に必要な演算量の削減について、特開平７−１６２８６８号公報と特開平７−９５５８５号公報は何ら開示をしていない。更に、特開２００３−３４８５９５号公報の方法では補間画素生成のための６タップフィルタの冗長な演算量は削減できるが、画像生成部２４０１で１ピクチャ分の補間画像を全て生成するために、実際には小数精度の動き予測で探索処理に使用されない領域の演算を要する。さらに、６タップフィルタで補間した高解像度参照画像を保持するための大容量の高解像度参照ピクチャメモリ２４０２が新たに必要になる短所がある。
【００２７】
動きベクトル検出回路２００２の演算量を従来に比べて増加させることなく、且つ必要なメモリも増加することなく、６タップフィルタによる参照画像を使用する小数精度動き予測と同様の高効率圧縮を維持することが本発明の目的である。
【課題を解決するための手段】
【００２８】
この課題を解決するために、本発明の動画符号化装置は、参照ピクチャの探索エリア内で、所定の領域を第１のフィルタを用いて小数画素精度で補間し、補間された前記領域の中から、対象ブロックとの相関度が高い予測ブロックの位置を示す複数の動きベクトルを検出する動きベクトル検出手段と、検出された複数の前記動きベクトルで示される各予測ブロックを、前記第１のフィルタよりもタップ数の多い第２のフィルタを用いて小数画素精度で補間し、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、前記対象ブロックとの相関度が高い予測ブロックの位置を示す動きベクトルを、前記動きベクトル検出手段によって検出された複数の前記動きベクトルのうちから決定する動きベクトル決定手段とを備えることを特徴とする。すなわち、動きベクトル検出手段で２タップフィルタを用いて補間画素を生成し、生成された参照画像を用いて小数精度動き予測し動きベクトルの絞込みを行い、絞り込まれた複数の動きベクトルに対して動きベクトル決定手段で６タップフィルタを用いた動き補償により予測ブロックを生成し、動き補償予測ブロックの符号化コスト（または「評価コスト」とも言う。）の比較を行うことにより、演算量を従来に比べて増加させることなく、且つ必要なメモリも増加することなく、６タップフィルタによる参照画像を使用した小数精度動き予測と同様の高効率圧縮を可能とするものである。なお、符号化コストは、予測ブロックと対象ブロックとの差分画像データに基づいて得られる値であって、予測ブロックと対象ブロックとの相関性の低さの度合いを示す。
【００２９】
また、前記第２小数画素精度動きベクトル検出部は、前方向と後方向とのそれぞれについて複数の動きベクトルを検出し、前記動きベクトル決定手段は、さらに、各予測ブロックが、前記第２のフィルタを用いて小数画素精度で補間された後、補間された各予測ブロックと前記対象ブロックとの差分データに基づいて、値が小さいほど前記予測ブロックと前記対象ブロックとの相関性が高いことを示す第２符号化コストを算出する第２符号化コスト算出部を備え、前記動きベクトル決定手段は、前記方向判定部によって前記対象ブロックの予測方向が片方向であると判定された場合、前記第２符号化コストに基づいて、検出された前方向または後方向の複数の動きベクトルのうちから、前記対象ブロックと最も相関度の高い予測ブロックの位置を示す動きベクトルを決定するとしてもよい。これにより、前記方向判定部により決定される動きベクトルの方向にかかわらず、前記動きベクトル決定手段に対して複数の動きベクトル候補を出力し、複数の候補の中から前記対象ブロックと最も相関度の高い予測ブロックの位置を示す動きベクトルを選択できるようにしたものである。
【００３０】
また、前記第１のフィルタは、線形補間により参照ピクチャ内の領域を補間するとしてもよい。前記第１のフィルタが線形補間を行うことにより、少ない演算量で画素補間するようにしたものである。
【００３１】
さらに、前記動きベクトル決定手段は、前記第２符号化コストが最小となる予測ブロックの位置を示す動きベクトルを選択することにより、前記方向判定部によって前記対象ブロックの予測方向が前方向であると判定された場合、検出された前方向の複数の動きベクトルのうちから前記動きベクトルを決定し、後方向であると判定された場合、検出された後方向の複数の動きベクトルのうちから前記動きベクトルを決定するとしてもよい。
【００３２】
また、前記動画符号化装置は、さらに、前記方向判定部によって前記対象ブロックの予測方向が双方向であると判定された場合、前方向と後方向と２つの予測ブロックの平均画像を生成する平均画像生成手段を備え、前記第２小数画素精度動きベクトル検出部は、前方向と後方向とについて、少なくとも前記対象ブロックと最も相関度が高い予測ブロックの位置を示す第１の動きベクトルと、２番目に相関度が高い予測ブロックの位置を示す第２の動きベクトルとを検出し、前記動きベクトル決定手段は、前記方向判定部によって前記対象ブロックの予測方向が双方向であると判定された場合、前方向と後方向との各前記第１の動きベクトル１本ずつを前記動きベクトルであると決定し、前記平均画像生成手段は、前記動きベクトルであると決定された前方向と後方向との各前記第１の動きベクトルで示される２つの予測ブロックの平均画像を生成するとしてもよい。
【００３３】
これにより、前記方向判定部によって判定された対象ブロックの予測方向が前方向のときは、複数の動きベクトル候補とも前方向の動きベクトルであり、前記方向判定部によって判定された対象ブロックの予測方向が後方向のときは、複数の動きベクトル候補とも後方向の動きベクトルであり、前記方向判定部によって判定された対象ブロックの予測方向が双方向のときは、前方向と後方向１本ずつの動きベクトルであるようにしたものである。また、第２符号化コストにより動きベクトル決定手段が動きベクトル候補の中から最適な動きベクトルを選択するようにしたものである。また、第２符号化コスト算出手段が動きベクトル候補の中から６タップフィルタにより補間される参照画像を用いた小数精度動き予測を行った結果得られるものと全く同じ動きベクトルを選択することを可能とするものである。
【発明の効果】
【００３４】
本発明によれば、６タップフィルタによる参照画像を用いて小数精度動き検出を行う場合において、動きベクトル検出の精度を低下させることなく、且つ高解像度参照画像のメモリを追加することなく、動き補償予測処理に係わる演算量を削減することができる。
【００３５】
なお、本発明は、このような動画符号化装置として実現することができるだけでなく、このような動画符号化装置が備える特徴的な手段をステップとする動画符号化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、本発明はこれら実施の形態に何等限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
【００３７】
（実施の形態１）
本発明の第一の実施の形態の動画符号化装置の概要について説明する。本発明の動画符号化装置は、動画像信号を入力とし、画像の符号化を行った後、符号化情報を出力するものであり、映像の蓄積装置や映像伝送装置と組み合わせて幅広く利用可能である。
【００３８】
図１は、本実施の形態の動画符号化装置の構成を示すブロック図である。図１６に示した従来の動画符号化装置と動作が同じ構成要素に対しては、同一の符号を付与するものとする。本実施の形態の動画符号化装置は、あらかじめ２タップフィルタによって生成される探索エリアを用いて動きベクトルの探索を行い、探索によって候補として絞り込まれた複数の動きベクトルについて、最終的に６タップフィルタを用いて補間された小数精度の予測ブロックで動き補償を行なう動画符号化装置であって、動きベクトル検出回路１０１、動き補償回路１０２、動きベクトル決定部１０３、減算回路２００３、参照ピクチャメモリ２００５、加算回路２００６、直交変換回路２００７、量子化器２００８、出力部２００９、逆量子化器２０１０、逆直交変換回路２０１１および符号化部２０１２を備える。これにおいて、動きベクトル検出回路１０１と、動き補償回路１０２と、動きベクトル決定部１０３とが従来と異なる構成要素である。
【００３９】
図２は、本実施の形態における動画符号化装置の動作を示すフローチャートである。ただし、ここでは図１７に示した従来の動画符号化装置と異なる動作についてのみ説明する。
【００４０】
Ｓｔｅｐ２０３：小数精度動き予測を行う場合、従来の動きベクトル検出回路は、６タップフィルタによって生成される探索エリアを用いて動きベクトル検出を行うが、本実施の形態の動きベクトル検出回路１０１は、２タップフィルタによって生成される探索エリアを用いて動きベクトル検出を行う。また、従来の動きベクトル検出回路は、動きベクトルの検出を行った後、符号化部２０１２に動きベクトルを出力していた（図１７のＳｔｅｐ２３０２）が、本実施の形態の動きベクトル検出回路１０１は符号化部２０１２に対して出力を行わない。
【００４１】
Ｓｔｅｐ２０４：本実施の形態の動きベクトル検出回路１０１は、２タップフィルタによって生成される探索エリアを用いて検出した複数の動きベクトルを動き補償回路１０２に出力する。
【００４２】
Ｓｔｅｐ２０５：本実施の形態の動き補償回路１０２は動きベクトル検出回路１０１から入力される複数の動きベクトルに対してそれぞれに動き補償を行い、６タップフィルタを用いて複数の予測画像を生成し減算回路２００３および動きベクトル決定部１０３に出力する。それと同時に、予測画像の生成に使われた複数の動きベクトルを動きベクトル決定部１０３に出力する。
【００４３】
Ｓｔｅｐ２０６：減算回路２００３は、入力部２００１から供給される符号化対象ピクチャと、動き補償回路１０２から入力される複数の予測画像に対して、順番に減算を行い、差分画像データを生成する。この差分画像データが、順番に動きベクトル決定部１０３に供給される。
【００４４】
Ｓｔｅｐ２０７：動きベクトル決定部１０３は、減算部２００３から出力される差分画像データの符号化コストを計算し、最も符号化コストが低い動きベクトルを決定し、符号化部２０１２に出力する。また、同時にその動きベクトルに対応する予測画像を加算回路２００６に、差分画像データを直交変換回路２００７に出力する。以下のＳｔｅｐ２０８〜Ｓｔｅｐ２１２は、図１７で説明したＳｔｅｐ２３０６〜Ｓｔｅｐ２３１０と同様であるので説明を省略する。
【００４５】
次に、動きベクトル検出回路１０１の構成と動作について図を用いて詳細に説明する。
図３は、図１に示した動きベクトル検出回路１０１の内部の構成を示すブロック図である。動きベクトル検出回路１０１は、２タップフィルタによって生成される探索エリアを用いて、複数の動きベクトルを検出する回路であって、前方向参照画像バッファ６０１、後方向参照画像バッファ６０２、前方向Motion Estimation(ＭＥ)６０３、後方向ＭＥ６０４、２タップ画像補間器６０５、マクロブロックバッファ６０６、動きベクトル方向判定部６０７、前方向動きベクトルバッファ６０８、および後方向動きベクトルバッファ６０９を備える。前方向参照画像バッファ６０１は、前方向の参照ピクチャの探索エリアを保持するバッファである。後方向参照画像バッファ６０２は、後方向の参照ピクチャの探索エリアを保持するバッファである。前方向ＭＥ６０３は、マクロブロックバッファ６０６に保持されているマクロブロックと、前方向参照画像バッファ６０１に保持された探索エリアとを用いて動き予測処理を行う。後方向ＭＥ６０４は、マクロブロックバッファ６０６に保持されているマクロブロックと後方向参照画像バッファ６０２に保持された探索エリアを用いて動き予測処理を行う。２タップ画像補間器６０５は、２タップフィルタにより参照画像の補間を行う。マクロブロックバッファ６０６は、符号化対象ピクチャのマクロブロックを保持する。前方向動きベクトルバッファ６０８は、前方向の動きベクトルの候補を保持する。後方向動きベクトルバッファ６０９は、後方向の動きベクトルの候補を保持する。動きベクトル方向判定部６０７は、動き予測処理の結果得られた符号化コストから動きベクトルの方向を決定する。
【００４６】
図４は、本実施の形態１における動画符号化装置の動きベクトル検出回路における動き予測処理の流れを示す流れ図である。図４のフローチャートを用いて、動きベクトル検出回路１０１内部の動作を詳細に説明する。動きベクトル検出回路１０１内部には、図示しないコントローラが存在し、以下の処理を行なう。
【００４７】
Ｓｔｅｐ７０１：入力部２００１から送られたマクロブロックをマクロブロックバッファ６０６に保持する。
【００４８】
Ｓｔｅｐ７０２：コントローラは、マクロブロック番号からそのマクロブロックに対する探索エリアを計算し、参照ピクチャメモリ２００５から探索エリアの画像データを前方向参照画像バッファ６０１と後方向参照画像バッファ６０２にそれぞれ読み込む。ただし、マクロブロックバッファ６０６に保持しているマクロブロックがＰピクチャのものである場合には、後方向参照画像バッファ６０２への読み込みは行わず、以後このマクロブロックに対して後方向に関する処理は行われない。
【００４９】
Ｓｔｅｐ７０３：コントローラは、探索エリアの読み込みが終了すると、前方向ＭＥ６０３と後方向ＭＥ６０４を起動する。前方向ＭＥ６０３は、マクロブロックバッファ６０６に保持されたマクロブロックと前方向参照画像バッファ６０１に保持された探索エリアを用いて動き予測処理を行い、評価コストを最小にする前方向の整数画素精度動きベクトルとコスト値とを得る。同様にして、後方向ＭＥ６０４は、マクロブロックバッファ６０６と後方向参照画像バッファ６０２に保持された探索エリアとを用いて動き予測処理を行い、評価コストを最小にする後方向の整数画素精度動きベクトルとコスト値とを得る。
【００５０】
Ｓｔｅｐ７０４：前方向ＭＥ６０３および後方向ＭＥ６０４は、それぞれ整数画素精度動きベクトルを２タップ画像補間器６０５に送る。２タップ画像補間器６０５は、整数画素精度動きベクトルに基づいてそれぞれの参照画像バッファから整数画素を読み出し、２タップフィルタを用いて1/2画素精度補間画素を生成し、それぞれの参照画像バッファに書き込む。前述したように、整数精度予測ブロックの周辺でのみ1/2画素精度の補間を行う。
【００５１】
Ｓｔｅｐ７０５：コントローラは、1/2画素精度補間画素の書き込みが終了すると、前方向ＭＥ６０３と後方向ＭＥ６０４を再び起動する。前方向ＭＥ６０３は、マクロブロックバッファ６０６と前方向参照画像バッファ６０１に保持された1/2画素精度探索エリアを用いて動き予測処理を行い、評価コストを最小にする前方向の1/2画素精度動きベクトルとコスト値を得る。同様にして、後方向ＭＥ６０４は、マクロブロックバッファ６０６と後方向参照画像バッファ６０２に保持された1/2画素精度画像探索エリアを用いて動き予測処理を行い、評価コストを最小にする後方向の1/2画素精度動きベクトルとコスト値を得る。
【００５２】
Ｓｔｅｐ７０６：前方向ＭＥ６０３および後方向ＭＥ６０４は、それぞれ1/2画素精度動きベクトルを２タップ画像補間器６０５に送る。２タップ画像補間器６０５は、1/2画素精度動きベクトルに基づいてそれぞれの参照画像バッファから整数画素精度と1/2画素精度の画素を読み出し、２タップフィルタを用いて1/4画素精度補間画素を生成し、それぞれの参照画像バッファに書き込む。前述したように、1/2画素精度予測ブロックの周辺でのみ1/4画素精度の補間を行う。
【００５３】
Ｓｔｅｐ７０７：コントローラは、1/4画素精度補間画素の書き込みが終了すると、前方向ＭＥ６０３と後方向ＭＥ６０４を起動する。前方向ＭＥ６０３は、マクロブロックバッファ６０６と前方向参照画像バッファ６０１に保持された1/4画素精度探索エリアを用いて動き予測処理を行い、評価コストを最小にする前方向の1/4画素精度動きベクトルとコスト値を得る。得られた前方向の1/4画素精度動きベクトル（第一動きベクトル）のコスト値を動きベクトル方向判定部６０７に出力するとともに、前方向の1/4画素精度動きベクトル（第一動きベクトル）を前方向動きベクトルバッファ６０８に保存する。このとき評価コストを２番目に最小にする1/4画素精度動きベクトル（第二動きベクトル）も前方向動きベクトルバッファ６０８に記憶しておく。また、必要に応じて第Ｎ動きベクトル（Ｎは３以上）までを記録するようにしても良い。
【００５４】
同様にして、後方向ＭＥ６０４は、マクロブロックバッファ６０６と後方向参照画像バッファ６０２に保持された1/4画素精度探索エリアを用いて動き予測処理を行い、評価コストを最小にする後方向の1/4画素精度動きベクトルとコスト値を得る。得られた後方向の1/4画素精度動きベクトル（第一動きベクトル）のコスト値を動きベクトル方向判定部６０７に出力するとともに、後方向の1/4画素精度動きベクトル（第一動きベクトル）を後方向動きベクトルバッファ６０９に保存する。このとき評価コストを２番目に最小にする1/4画素精度動きベクトル（第二動きベクトル）も後方向動きベクトルバッファ６０９に記憶しておく。また、必要に応じて第Ｎ動きベクトル（Ｎは３以上）までを記録するようにしても良い。
【００５５】
Ｓｔｅｐ７０８：動きベクトル方向判定部６０７は、前方向ＭＥ６０３と後方向ＭＥ６０４から送られたコスト値から動きベクトルの方向すなわち前方向、後方向、双方向を決定する。決定の仕方としては、例えば、コスト値の差分に所定の閾値を設けておき、前方向のコスト値が後方向のコスト値より著しく小さいとき（すなわち、前方向のコスト値と後方向のコスト値との差分が閾値を超えるとき）には前方向とし、反対に後方向のコスト値が前方向のコスト値より著しく小さいとき（すなわち、後方向のコスト値と前方向のコスト値との差分が閾値を超えるとき）には後方向とし、前方向のコスト値と後方向のコスト値が近い値（すなわち、両者の差分が閾値以下）であるならば双方向とする。ただし、これは一例であり動きベクトルの方向決定は、この方法に限ったものではない。また、マクロブロックがＰピクチャのものである場合には、後方向のコスト値は入力されないので、必ず前方向と決定される。
【００５６】
Ｓｔｅｐ７０９：動きベクトル方向判定部６０７は、動きベクトルの方向を決定すると、決定した方向の動きベクトルを動きベクトルバッファより取り出し、動き補償回路１０２に送出する。
【００５７】
（１）双方向と決定した場合は、前方向動きベクトルバッファ６０８より前方向の第一動きベクトルを取得し、後方向動きベクトルバッファ６０９より後方向の第一動きベクトルを取得し、動き補償回路１０２に送る。
【００５８】
（２）また、前方向と決定した場合は、前方向動きベクトルバッファ６０８より前方向の第一動きベクトルと、評価コストを２番目に最小にする第二動きベクトルとを取得し、動き補償回路１０２に送出する。必要に応じて第Ｎ動きベクトルまでを取得し、送出するようにしてもよい。
【００５９】
（３）同様にして、後方向と決定した場合は、後方向動きベクトルバッファ６０９より後方向の第一動きベクトルと評価コストを２番目に最小にする第二動きベクトルを取得し、動き補償回路１０２に送出する。必要に応じて第Ｎ動きベクトルまでを取得し、送出するようにしてもよい。
【００６０】
以上のように、動きベクトル検出回路１０１では２タップフィルタにより生成される参照画像を用いて小数精度動き予測処理が行われ、マクロブロックに対する動きベクトルの候補が絞り込まれる。一方で、動きベクトル検出回路１０１では６タップフィルタによる参照画像を用いた小数精度動き予測処理は行わないので、従来と比較し、補間画素を生成するための演算量や外部メモリからのデータ転送量を増加することなく動き予測を行うことが可能である。動きベクトル検出回路１０１での動き予測処理の結果、絞り込まれた２本以上の動きベクトルが動き補償回路１０２に出力される。
【００６１】
次に、動き補償回路１０２の構成と動作について図を用いて詳細に説明する。
図５は動き補償回路１０２内部の構成を示すブロック図である。動き補償回路１０２は、６タップフィルタにより予測ブロックを生成し、精度の高い動き補償をする回路であって、６タップ画像補間器９０１、６タップ予測ブロックバッファ９０２、動きベクトルバッファ９０３および平均画像生成部９０４を備える。これにおいて、６タップ画像補間器９０１は、６タップフィルタにより参照画像の補間を行い、動き補償予測ブロックを生成する。６タップ予測ブロックバッファ９０２は、６タップ画像補間器９０１により生成された予測ブロックを保持する。動きベクトルバッファ９０３は、動きベクトル検出回路１０１から入力された複数の動きベクトルを保持する。平均画像生成部９０４は、動きベクトルの方向が双方向予測である場合には、６タップ予測ブロックバッファ９０２に保持された前方向の動きベクトルに対応する予測ブロックと、後方向の動きベクトルに対応する予測ブロックとから、２つの予測ブロックの平均画像を生成し、双方向予測ブロックとして減算回路２００３および動きベクトル決定部１０３に出力する。
【００６２】
図６は、図５に示した動き補償回路１０２における動き補償処理の流れを示す流れ図である。図６のフローチャートを用いて、動き補償回路１０２内部の動作を詳細に説明する。動き補償回路１０２内部には、図示しないコントローラが存在し、各モジュールの動作タイミングを制御する。
【００６３】
Ｓｔｅｐ１００１：動きベクトルバッファ９０３は、動きベクトル検出回路１０１から送られた複数本の動きベクトルとそれらの動きベクトルの方向を受け取り、内部の図示しないメモリに保持するとともに、６タップ画像補間器９０１に動きベクトルおよび方向を出力する。
【００６４】
Ｓｔｅｐ１００２：６タップ画像補間器９０１は、各動きベクトルに対応する予測ブロックを作成するための整数画素を参照ピクチャメモリ２００５から読み出す。６タップ画像補間器９０１は、受け取った動きベクトルの方向が異なるとき、そのマクロブロックは双方向予測であると認識し、コントローラに通知する。
【００６５】
Ｓｔｅｐ１００３：６タップ画像補間器９０１は、６タップフィルタを用いて各動きベクトルに対応する予測ブロックを生成し、生成した予測ブロックを６タップ予測ブロックバッファ９０２に格納する。
【００６６】
Ｓｔｅｐ１００４：動きベクトルの方向が双方向予測でない場合には、コントローラは平均画像生成部９０４の動作をオフとし、６タップ予測ブロックバッファ９０２に保持された複数の予測ブロックを、順番に減算回路２００３および動きベクトル決定部１０３に出力する。このとき、送られる予測ブロックの総数（２以上）を動きベクトル決定部１０３に通知する。
【００６７】
Ｓｔｅｐ１００５：コントローラは、それと同時に動きベクトルバッファ９０３に保持された複数の動きベクトルを動きベクトル決定部１０３に送出する。
【００６８】
Ｓｔｅｐ１００６：動きベクトルの方向が双方向予測である場合には、コントローラは平均画像生成部９０４の動作をオンとし、６タップ予測ブロックバッファ９０２に保持された前方向の動きベクトルに対応する予測ブロック、後方向の動きベクトルに対応する予測ブロックを平均画像生成部９０４に入力する。平均画像生成部９０４は、２つの予測ブロックの平均画像を生成し、双方向予測ブロックとして減算回路２００３および動きベクトル決定部１０３に出力する。このとき、送られる予測ブロックの総数（常に１個）を動きベクトル決定部１０３に通知する。
【００６９】
Ｓｔｅｐ１００７：コントローラは、それと同時に動きベクトルバッファ９０３に保持された前方向及び後方向の動きベクトルを動きベクトル決定部１０３に送出する。
【００７０】
以上のように、動き補償回路１０２では６タップフィルタを用いて小数精度の動き補償が行われ、符号化対象マクロブロックに対する予測ブロックが生成される。この動き補償処理は、例えばＭＰＥＧ４−ＡＶＣの復号器の仕様で定められており、符号化装置においても省略することのできない処理である。動き補償回路１０２における動き補償処理の結果、双方向動きベクトルに対しては、１つの双方向予測ブロックが、片方向動きベクトルに対しては複数の予測ブロックが生成される。図７は、２タップフィルタを用いて検出した動きベクトルの符号化コストにより判断して片方向予測か双方向予測かを切り替え、片方向予測の場合には２つの動きベクトルについて６タップ動き予測できることを示す図である。このような双方向の有無による分岐処理は、図７に示すような適応的な判断処理により、演算量の大きい６タップ動き補償回路を最大限に活用できるというメリットがある。２タップ動き予測は、規格本来の６タップ動き予測と比べて画質の低下がある程度は発生するので、可能なかぎり６タップ動き予測を行うことで画質の向上が望まれる。図７に示すように、例えば、６タップ動き予測を、双方向予測候補でｎ個実行可能なフィルタ回路を搭載している符号化装置においては、最大で、片方向予測候補を２＊ｎ個実行可能である。最大でというのは、ｎが１より大きければ、ｎの一部を双方向予測とし、残りを片方向予測とするような組み合わせも可能である。これら双方向・片方向の判定は、Ｐピクチャでは、規格の制約により必ず片方向予測のみとなり、Ｂピクチャでは、２タップフィルタのコストに基づいて適宜判定することが可能である。例えば、ある双方向予測の候補について、前方のコストと後方のコストとが著しく異なる場合には、少ない方向のみを用いる片方向候補とすれば十分である。このような適応回路動作処理により、最小の６タップフィルタ回路を用いて、最大の画質を得ることが可能である。
【００７１】
次に、動きベクトル決定部１０３の構成と動作について図を用いて詳細に説明する。
図８は動きベクトル決定部１０３の内部の構成を示すブロック図である。
【００７２】
動きベクトル決定部１０３は、予測画像バッファ１１０１、動きベクトルバッファ１１０２および符号化コスト計算比較部１１０３を備える。予測画像バッファ１１０１は、候補となる複数の予測ブロックを保持する。動きベクトルバッファ１１０２は、候補となる複数の動きベクトルを保持する。符号化コスト計算比較部１１０３は、マクロブロックの符号化コストを計算し比較する。比較の結果、マクロブロックの符号化コストを最小にする動きベクトルを決定し、それに対応する差分画像データを直交変換回路２００７に出力する。
【００７３】
図９は、動きベクトル決定部１０３における処理の流れを示す流れ図である。図９のフローチャートを用いて、動きベクトル決定部１０３内部の動作を詳細に説明する。動きベクトル決定部１０３内部には、図示しないコントローラが存在し、各モジュールの動作タイミングを制御する。
【００７４】
Ｓｔｅｐ１２０１：コントローラには、動き補償回路１０２から送られる予測ブロックの総数Ｎがあらかじめ通知される。そして、内部に保持する受信した予測画像の個数ｎを０に初期化する。また、符号化コスト計算比較部１１０３内部の図示しない最小コストメモリの値をメモリの最大値に初期化する。ここでは動きベクトルの最大数が２である場合を説明する。双方向予測は２本の動きベクトルからなるので、双方向予測の場合にはＮ＝１となり、片方向予測の場合にはＮ＝１以外（この場合には２）となる。
【００７５】
Ｓｔｅｐ１２０２：動き補償回路１０２から送られた予測ブロックは、予測画像バッファ１１０１の一時記憶領域に保持される。そしてコントローラは、受信した予測画像の個数ｎをインクリメントする。
【００７６】
Ｓｔｅｐ１２０３：Ｎが１のときは、双方向予測の場合であり、動き補償回路１０２から前方、後方２本の動きベクトルが送られ、両方とも動きベクトルバッファ１１０２の主記憶領域に保持される。
【００７７】
Ｓｔｅｐ１２０４：そしてコントローラは、符号化コスト計算比較部１１０３の動作をオフにし、減算回路２００３から入力された差分ブロックを、そのまま直交変換回路２００７に出力する。
【００７８】
Ｓｔｅｐ１２０５：さらに、予測画像バッファ１１０１の一時記憶領域に保持されている予測ブロックを加算回路２００６に出力する。
【００７９】
Ｓｔｅｐ１２０６：動きベクトルバッファ１１０２の主記憶領域に保持されている双方向動きベクトルを符号化部２０１２に出力する。
【００８０】
Ｓｔｅｐ１２０７：Ｎが１でないときは、片方向予測の場合であり、動き補償回路１０２から送られた動きベクトルは、動きベクトルバッファ１１０２の一次記憶領域に保持される。
【００８１】
Ｓｔｅｐ１２０８：動きベクトルを受け取ると、コントローラは、符号化コスト計算比較部１１０３の動作をオンにし、減算回路２００３から入力された差分ブロックのコスト計算を行う。
【００８２】
Ｓｔｅｐ１２０９：そして符号化コスト計算比較部１１０３内部の図示しない最小コストメモリの値と比較し、差分ブロックのコスト値の方が大きいときは、次の予測ブロックを受信する。（Ｓｔｅｐ１２０２へ）
【００８３】
Ｓｔｅｐ１２１０：最小コストメモリの値よりも差分ブロックのコスト値が小さいときは、差分ブロックのコスト値を最小コストメモリに上書きする。
【００８４】
Ｓｔｅｐ１２１１：そして、コントローラは予測画像バッファ１１０１の一時記憶領域に保持されている予測ブロックを予測画像バッファ１１０１の主記憶領域に移動する。同時に、動きベクトルバッファ１１０２の一次記憶領域に保持されている動きベクトルを動きベクトルバッファ１１０２の主記憶領域に移動する。
【００８５】
Ｓｔｅｐ１２１２：ｎ＜Ｎであるならば、次の予測ブロックを受信する。（Ｓｔｅｐ１２０２へ）
【００８６】
Ｓｔｅｐ１２１３：ｎ＝Ｎであるならば、符号化コスト計算比較部１１０３は、減算回路２００３から入力された差分ブロックを直交変換回路２００７に出力する。
【００８７】
Ｓｔｅｐ１２１４：さらに、予測画像バッファ１１０１の主記憶領域に保持されている予測ブロックを加算回路２００６に出力する。
【００８８】
Ｓｔｅｐ１２１５：動きベクトルバッファ１１０２の主記憶領域に保持されている片方向動きベクトルを符号化部２０１２に出力する。
【００８９】
以上のように、動きベクトル決定部１０３では片方向予測の場合において、複数の差分ブロックの符号化コストを計算し比較することにより、符号化コストを最小にする動きベクトルを順次決定する。候補数が複数ある場合でも、順次比較を行い、その時点でのベストのみを残しておけばよいので、複数候補から選択するための作業メモリ等は増加しない。同様に、ベストを求めるための処理も全候補を符号化コストの昇順又は降順に並び替えて符号化コストが最小のものを選択する方法ではなく、比較処理を候補数分だけ実施すればよいだけなので、演算量は十分に小さい。したがって、本発明に述べるような２タップフィルタを用いる方法は、従来の６タップフィルタを用いる方法の低処理量・高画質な方法として、置き換えることに何ら支障は無く、６タップフィルタによる参照画像を使用する小数精度動き予測と同様の高効率圧縮を実現することができる。なおここでは、片方向予測と判定されたときには、符号化コストを最小にする動きベクトルを１つ決定すると説明したが、前方向の片方向予測と判定された場合には、符号化コストの小さいものから順に、２本の動きベクトルを決定するとしてもよい。
【００９０】
次に、従来に比べて演算量を増加させることなく、且つ必要なメモリを増加することなく動画符号化を行う本発明の動画符号化装置の動き予測処理が、６タップフィルタによる参照画像を使用する小数精度動き予測と同様の高効率圧縮を実現する仕組みを説明する。高効率圧縮を実現するためには、具体的には、６タップフィルタによる参照画像生成を行う小数精度動き予測処理で得られる動きベクトルと、本発明の動画符号化装置の動きベクトル検出回路１０１、動き補償回路１０２、動きベクトル決定部１０３による小数精度動き予測処理で得られる動きベクトルが一致することが必要となる。
【００９１】
図１０は、本発明の動画符号化装置における動きベクトル検出回路１０１、動き補償回路１０２、動きベクトル決定部１０３により動きベクトルが得られる過程を示すフローチャートである。図１０を用いて詳細に説明する。
【００９２】
Ｓｔｅｐ３０１：動きベクトル検出回路１０１では、符号化対象のマクロブロックに対する探索エリアを参照ピクチャメモリ２００５から読み込み、整数精度動き予測を行う。その結果、整数精度の動きベクトルを得る。
【００９３】
Ｓｔｅｐ３０２：動きベクトル検出回路１０１では、得られた整数精度の動きベクトルの周辺で、２タップフィルタを用いて小数精度動き予測のための参照画像を生成する。
【００９４】
Ｓｔｅｐ３０３：その参照画像を用いて小数精度動き予測を行い、複数の動きベクトル候補を得る。前述のstep705とstep 706で述べたように、1/2画素精度で符号化コストを最小にするブロックの位置を求め、その位置のブロックの周辺でさらに1/4画素精度で符号化コストを最小にするn個を求める方法もあるし、あるいは、整数精度で検出された符号化コストを最小にするブロックの位置の周辺の全ての1/4画素精度位置の中から、符号化コストを最小にするn個を求めてもよい。いずれにしても、相対的に精度の悪い２タップフィルタでn個へ絞り込み、相対的に精度の良い6タップフィルタで最終的なベクトルを絞り込む。このとき、動き予測に使われる参照画像は、６タップフィルタによって生成される参照画像とは厳密には異なり、従って得られた動きベクトル候補の中で、最も符号化コストが小さいものが、必ずしも６タップフィルタによる参照画像生成を行う小数精度動き予測処理で得られる動きベクトルと一致するとは限らない。一方で、２タップフィルタと６タップフィルタによって生成される参照画像は大変類似しているので、得られた複数の動きベクトル候補の中に、６タップフィルタによって生成された参照画像を用いた小数精度動き予測処理で得られる動きベクトルと一致するものが含まれている可能性は極めて高い。
【００９５】
Ｓｔｅｐ３０４：動き補償回路１０２は、複数の動きベクトル候補に対して動き補償を行い、それらに対する予測ブロックを生成する。このとき動き補償回路１０２は、参照ピクチャメモリ２００５から動きベクトルで示されるブロックの画素補間に必要な画素を取得し、６タップフィルタを用いて予測ブロックを生成する。
【００９６】
Ｓｔｅｐ３０５：動きベクトル決定部１０３は、複数の予測ブロックの符号化コストを計算し、比較することにより、最も符号化コストが低い動きベクトルを得ることができる。得られた動きベクトルは、６タップフィルタによる参照画像を使用する小数精度動き予測処理で得られる動きベクトルと一致する。ここで、予測ブロックの符号化コストの計算と比較は、６タップフィルタにより作成される参照画像を使用して小数精度動きベクトル検出を行うのと全く同一の内容の処理である。
【００９７】
以上のように、本発明の動画符号化装置の動き予測では、６タップフィルタとは異なるフィルタを用いて高解像度参照画像を生成し、小数精度動きベクトル検出を行う。それにより、参照画像生成に係わる演算量を増加させることなく、且つ必要なメモリを増加することなく複数の動きベクトル候補に絞り込むことができる。一方で、６タップフィルタによる参照画像を使用する小数精度動き予測によって得られる動きベクトルは、多くの場合、これらの動きベクトル候補に含まれる。そこで、これら複数の動きベクトル候補に対して６タップフィルタを用いた動き補償を行い、予測ブロックを生成し符号化コストを比較することで、動きベクトル候補の中から６タップフィルタによる参照画像を使用する小数精度動き予測によって得られる動きベクトルと一致するものを選択することができる。符号化に用いられる動きベクトルが一致することから、本発明の動画符号化装置の動き予測処理は、６タップフィルタによる参照画像を使用する小数精度動き予測と同様の高効率圧縮を実現することができる。
【００９８】
以上に説明してきたように、本動画符号化装置は、動きベクトル検出回路１０１で２タップフィルタによる参照画像を使用して小数精度で動き予測し、動きベクトルの絞込みを行うことで、従来に比べて演算負荷を増加させることなく動きベクトル候補を得ることができる。そして、動き補償回路１０２で動き補償を行う際に、絞り込まれた複数の動きベクトル候補に対して６タップフィルタを用いた動き補償予測ブロックの生成を行う。さらに動きベクトル決定部１０３で、各動きベクトルに対応する差分ブロックの符号化コストを計算し比較することにより、従来に比べて演算量を増加させることなく、且つ必要なメモリも増加することなく、６タップフィルタによる参照画像を使用する小数精度動き予測と行う場合と同様の高圧縮率を維持することができる。
【００９９】
なお、ブロック図（図１、図３、図５および図８など）の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【０１００】
例えばメモリ以外の機能ブロックが１チップ化されていても良い。
なお、ここでは、集積回路をＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１０２】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０１０３】
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ１チップ化せずに別構成としても良い。
【０１０４】
さらに、本発明のＬＳＩには、バッファまたはメモリが実装されていてもよいし、いなくてもよい。
【０１０５】
（実施の形態２）
さらに、上記各実施の形態１で示した動画符号化方法および動画復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態１で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０１０６】
図１１は、上記実施の形態１の動画符号化方法および動画復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
【０１０７】
図１１（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図１１（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての動画符号化方法および動画復号化方法が記録されている。
【０１０８】
また、図１１（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての動画符号化方法および動画復号化方法を、フレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画符号化方法および動画復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１０９】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＣＤ−ＲＯＭ、メモリカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１１０】
（実施の形態３）
さらにここで、上記実施の形態１で示した動画像の符号化方法や動画像の復号化方法の応用例とそれを用いたシステムを説明する。
【０１１１】
図１２は、コンテンツ配信サービスを実現するコンテンツ供給システムｅｘ１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ｅｘ１０７〜ｅｘ１１０が設置されている。
【０１１２】
このコンテンツ供給システムｅｘ１００は、例えば、インターネットｅｘ１０１にインターネットサービスプロバイダｅｘ１０２および電話網ｅｘ１０４、および基地局ｅｘ１０７〜ｅｘ１１０を介して、コンピュータｅｘ１１１、ＰＤＡ（personal digital assistant）ｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【０１１３】
しかし、コンテンツ供給システムｅｘ１００は図１２のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ｅｘ１０７〜ｅｘ１１０を介さずに、各機器が電話網ｅｘ１０４に直接接続されてもよい。
【０１１４】
カメラｅｘ１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Personal Digital Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband−Code Division Multiple Access）方式、若しくはＧＳＭ（Global System for Mobile Communications）方式の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０１１５】
また、ストリーミングサーバｅｘ１０３は、カメラｅｘ１１３から基地局ｅｘ１０９、電話網ｅｘ１０４を通じて接続されており、カメラｅｘ１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラｅｘ１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラｅｘ１１６で撮影した動画データはコンピュータｅｘ１１１を介してストリーミングサーバｅｘ１０３に送信されてもよい。カメラｅｘ１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラｅｘ１１６で行ってもコンピュータｅｘ１１１で行ってもどちらでもよい。また、符号化処理はコンピュータｅｘ１１１やカメラｅｘ１１６が有するＬＳＩｅｘ１１７において処理することになる。なお、動画像の符号化・復号化用のソフトウェアをコンピュータｅｘ１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ｅｘ１１５で動画データを送信してもよい。このときの動画データは携帯電話ｅｘ１１５が有するＬＳＩで符号化処理されたデータである。
【０１１６】
このコンテンツ供給システムｅｘ１００では、ユーザがカメラｅｘ１１３、カメラｅｘ１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態１同様に符号化処理してストリーミングサーバｅｘ１０３に送信する一方で、ストリーミングサーバｅｘ１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータｅｘ１１１、ＰＤＡｅｘ１１２、カメラｅｘ１１３、携帯電話ｅｘ１１４等がある。このようにすることでコンテンツ供給システムｅｘ１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【０１１７】
このシステムを構成する各機器の符号化、復号化には上記各実施の形態１で示した動画符号化装置あるいは動画復号化装置を用いるようにすればよい。
【０１１８】
その一例として携帯電話について説明する。
図１３は、上記実施の形態１で説明した動画像の符号化方法と動画像の復号化方法を用いた携帯電話ｅｘ１１５を示す図である。携帯電話ｅｘ１１５は、基地局ｅｘ１１０との間で電波を送受信するためのアンテナｅｘ２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ｅｘ２０３、カメラ部ｅｘ２０３で撮影した映像、アンテナｅｘ２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ｅｘ２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ｅｘ２０８、音声入力をするためのマイク等の音声入力部ｅｘ２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアｅｘ２０７、携帯電話ｅｘ１１５に記録メディアｅｘ２０７を装着可能とするためのスロット部ｅｘ２０６を有している。記録メディアｅｘ２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）の一種であるフラッシュメモリ素子を格納したものである。
【０１１９】
さらに、携帯電話ｅｘ１１５について図１４を用いて説明する。携帯電話ｅｘ１１５は表示部ｅｘ２０２及び操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ｅｘ３１１に対して、電源回路部ｅｘ３１０、操作入力制御部ｅｘ３０４、画像符号化部ｅｘ３１２、カメラインターフェース部ｅｘ３０３、ＬＣＤ（Liquid Crystal Display）制御部ｅｘ３０２、画像復号化部ｅｘ３０９、多重分離部ｅｘ３０８、記録再生部ｅｘ３０７、変復調回路部ｅｘ３０６及び音声処理部ｅｘ３０５が同期バスｅｘ３１３を介して互いに接続されている。
【０１２０】
電源回路部ｅｘ３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ｅｘ１１５を動作可能な状態に起動する。
【０１２１】
携帯電話ｅｘ１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ｅｘ３１１の制御に基づいて、音声通話モード時に音声入力部ｅｘ２０５で集音した音声信号を音声処理部ｅｘ３０５によってデジタル音声データに変換し、これを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。また携帯電話機ｅｘ１１５は、音声通話モード時にアンテナｅｘ２０１で受信した受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、音声処理部ｅｘ３０５によってアナログ音声データに変換した後、これを音声出力部ｅｘ２０８を介して出力する。
【０１２２】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ｅｘ３０４を介して主制御部ｅｘ３１１に送出される。主制御部ｅｘ３１１は、テキストデータを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して基地局ｅｘ１１０へ送信する。
【０１２３】
データ通信モード時に画像データを送信する場合、カメラ部ｅｘ２０３で撮像された画像データをカメラインターフェース部ｅｘ３０３を介して画像符号化部ｅｘ３１２に供給する。また、画像データを送信しない場合には、カメラ部ｅｘ２０３で撮像した画像データをカメラインターフェース部ｅｘ３０３及びＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に直接表示することも可能である。
【０１２４】
画像符号化部ｅｘ３１２は、本願発明で説明した動画符号化装置を備えた構成であり、カメラ部ｅｘ２０３から供給された画像データを上記実施の形態１で示した動画符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ｅｘ３０８に送出する。また、このとき同時に携帯電話機ｅｘ１１５は、カメラ部ｅｘ２０３で撮像中に音声入力部ｅｘ２０５で集音した音声を音声処理部ｅｘ３０５を介してデジタルの音声データとして多重分離部ｅｘ３０８に送出する。
【０１２５】
多重分離部ｅｘ３０８は、画像符号化部ｅｘ３１２から供給された符号化画像データと音声処理部ｅｘ３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ｅｘ３０６でスペクトラム拡散処理し、送受信回路部ｅｘ３０１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ２０１を介して送信する。
【０１２６】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナｅｘ２０１を介して基地局ｅｘ１１０から受信した受信データを変復調回路部ｅｘ３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ｅｘ３０８に送出する。
【０１２７】
また、アンテナｅｘ２０１を介して受信された多重化データを復号化するには、多重分離部ｅｘ３０８は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスｅｘ３１３を介して当該符号化画像データを画像復号化部ｅｘ３０９に供給すると共に当該音声データを音声処理部ｅｘ３０５に供給する。
【０１２８】
次に、画像復号化部ｅｘ３０９は、本願発明で説明した動画復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態１で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをＬＣＤ制御部ｅｘ３０２を介して表示部ｅｘ２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ｅｘ３０５は、音声データをアナログ音声データに変換した後、これを音声出力部ｅｘ２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【０１２９】
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図１５に示すようにデジタル放送用システムにも上記実施の形態１の少なくとも動画符号化装置または動画復号化装置のいずれかを組み込むことができる。具体的には、放送局ｅｘ４０９では映像情報のビットストリームが電波を介して通信または放送衛星ｅｘ４１０に伝送される。これを受けた放送衛星ｅｘ４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナｅｘ４０６で受信し、テレビ（受信機）ｅｘ４０１またはセットトップボックス（ＳＴＢ）ｅｘ４０７などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるＣＤやＤＶＤ等の蓄積メディアｅｘ４０２に記録したビットストリームを読み取り、復号化する再生装置ｅｘ４０３にも上記実施の形態１で示した動画復号化装置を実装することが可能である。この場合、再生された映像信号はモニタｅｘ４０４に表示される。また、ケーブルテレビ用のケーブルｅｘ４０５または衛星／地上波放送のアンテナｅｘ４０６に接続されたセットトップボックスｅｘ４０７内に動画復号化装置を実装し、これをテレビのモニタｅｘ４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に動画復号化装置を組み込んでも良い。また、アンテナｅｘ４１１を有する車ｅｘ４１２で衛星ｅｘ４１０からまたは基地局ｅｘ１０７等から信号を受信し、車ｅｘ４１２が有するカーナビゲーションｅｘ４１３等の表示装置に動画を再生することも可能である。
【０１３０】
更に、画像信号を上記実施の形態１で示した動画符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、ＤＶＤディスクｅｘ４２１に画像信号を記録するＤＶＤレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅｘ４２０がある。更にＳＤカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態１で示した動画復号化装置を備えていれば、ＤＶＤディスクｅｘ４２１やＳＤカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【０１３１】
なお、カーナビゲーションｅｘ４１３の構成は例えば図１４に示す構成のうち、カメラ部ｅｘ２０３とカメラインターフェース部ｅｘ３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータｅｘ１１１やテレビ（受信機）ｅｘ４０１等でも考えられる。
【０１３２】
また、上記携帯電話ｅｘ１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０１３３】
このように、上記実施の形態１で示した動画像の符号化方法あるいは動画像の復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態１で説明した効果を得ることができる。
【０１３４】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【産業上の利用可能性】
【０１３５】
本発明の動画符号化装置は、圧縮されていない動画データを圧縮符号化するエンコーダＬＳＩとして有効である。また、さまざまなシステムに組み込むことにより、映像の蓄積装置や映像伝送装置等としても適用可能である。
【図面の簡単な説明】
【０１３６】
【図１】本実施の形態１における動画符号化装置の構成を示すブロック図である。
【図２】本実施の形態１における動画符号化装置の符号化処理の流れを示す流れ図である。
【図３】本実施の形態１における動画符号化装置の動きベクトル検出回路の構成を示すブロック図である。
【図４】本実施の形態１における動画符号化装置の動きベクトル検出回路における動き予測処理の流れを示す流れ図である。
【図５】本実施の形態１における動画符号化装置の動き補償回路の構成を示すブロック図である。
【図６】本実施の形態１における動画符号化装置の動き補償回路における動き補償処理の流れを示す流れ図である。
【図７】片方向予測か双方向予測かを２タップフィルタを用いて検出した動きベクトルの符号化コストにより判断して切り替え、片方向予測の場合には２つの動きベクトルについて６タップ動き予測できることを示す図である。
【図８】本実施の形態１における動画符号化装置の動きベクトル決定部の構成を示すブロック図である。
【図９】本実施の形態１における動画符号化装置の動きベクトル決定部における処理の流れを示す流れ図である。
【図１０】本実施の形態１における動画符号化装置の動きベクトル検出の流れを示す流れ図である。
【図１１】（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示す。（ｃ）は、フレキシブルディスクＦＤにプログラムの記録再生を行うための構成を示す。
【図１２】コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。
【図１３】上記実施の形態で説明した動画符号化方法と動画復号化方法を用いた携帯電話を示す図である。
【図１４】携帯電話の構成を示すブロック図である。
【図１５】デジタル放送用システムの一例を示す図である。
【図１６】従来のＭＰＥＧ方式で用いられるハイブリッド動画符号化装置の構成の一例を示すブロック図である。
【図１７】従来の動画符号化装置の処理の流れを示すフローチャートである。
【図１８】一般的なブロックマッチング法の説明図である。
【図１９】一般的な小数精度動き予測処理の探索エリアの説明図である。
【図２０】参照画像における整数画素と補間画素を示すとともに、６タップフィルタによる補間画素生成の仕方の説明図である。
【図２１】特開２００３−３４８５９５号公報に開示される動画符号化装置の構成を示すブロック図である。
【符号の説明】
【０１３７】
１０１    動きベクトル検出回路
１０２    動き補償回路
１０３    動きベクトル決定部
６０１    前方向参照画像バッファ
６０２    後方向参照画像バッファ
６０３    前方向ＭＥ
６０４    後方向ＭＥ
６０５    ２タップ画像補間器
６０６    マクロブロックバッファ
６０７    動きベクトル方向判定部
６０８    前方向動きベクトルバッファ
６０９    後方向動きベクトルバッファ
９０１    ６タップ画像補間器
９０２    ６タップ予測ブロックバッファ
９０３    動きベクトルバッファ
９０４    平均画像生成部
１１０１    予測画像バッファ
１１０２    動きベクトルバッファ
１１０３    符号化コスト計算比較部
２００１    入力部
２００２    動きベクトル検出回路
２００３    減算器
２００４    動き補償回路
２００５    参照ピクチャメモリ
２００６    加算器
２００７    直交変換回路
２００８    量子化器
２００９    出力部
２０１０    逆量子化器
２０１１    逆直交変換回路
２０１２    符号化部
２１０１    符号化対象ピクチャ
２１０２    参照ピクチャ
２１０３    基準ブロック
２１０４    予測ブロック
２１０５    動きベクトル
２１０６    探索エリア
２２０１    整数画素
２２０２    ２分の１画素精度補間画素
２４０１    画像生成部
２４０２    高解像度参照ピクチャメモリ
２５０１    整数精度予測ブロック
２５０２    整数画素
２５０３    ２分の１画素精度補間画素
【図１】
2005303994.tif 000003
【図２】
2005303994.tif 000004
【図３】
2005303994.tif 000005
【図４】
2005303994.tif 000006
【図５】
2005303994.tif 000007
【図６】
2005303994.tif 000008
【図７】
2005303994.tif 000009
【図８】
2005303994.tif 000010
【図９】
2005303994.tif 000011
【図１０】
2005303994.tif 000012
【図１１】
2005303994.tif 000013
【図１２】
2005303994.tif 000014
【図１３】
2005303994.tif 000015
【図１４】
2005303994.tif 000016
【図１５】
2005303994.tif 000017
【図１６】
2005303994.tif 000018
【図１７】
2005303994.tif 000019
【図１８】
2005303994.tif 000020
【図１９】
2005303994.tif 000021
【図２０】
2005303994.tif 000022
【図２１】
2005303994.tif 000023