JP4053925B2 - 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 - Google Patents
映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 Download PDFInfo
- Publication number
- JP4053925B2 JP4053925B2 JP2003131381A JP2003131381A JP4053925B2 JP 4053925 B2 JP4053925 B2 JP 4053925B2 JP 2003131381 A JP2003131381 A JP 2003131381A JP 2003131381 A JP2003131381 A JP 2003131381A JP 4053925 B2 JP4053925 B2 JP 4053925B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- motion vector
- encoding
- motion
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は,符号化器前段で複数の符号化器を用いて動き予測を行ない,その結果を利用して複数の参照画像を用いた動き補償を行なう映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体に関するものである。
【0002】
【従来の技術】
動画像符号化の国際標準であるMPEG−1,MPEG−2などでは,ピクチャごとにIピクチャ,Pピクチャ,Bピクチャなどのピクチャタイプが定義されている。Iピクチャは,イントラ符号化を行なう。Pピクチャは,最も近い過去のIピクチャまたはPピクチャを参照フレームとする片方向予測による動き補償を行なう。Bピクチャは,最も近い過去のPピクチャを参照フレームとする前方向予測と,最も近い未来のPピクチャを参照フレームとする後方向予測とを組み合わせた両方向予測による動き補償を行なう。
【0003】
ここで,ピクチャとは,MPEG−1ではフレームに対応しており,MPEG−2ではフレームまたはフィールドに対応した符号化単位である。ピクチャがフレームに対応しているときには,IピクチャをIフレーム,PピクチャをPフレーム,BピクチャをBフレームとも呼ぶ。また,Pフレームを片方向予測フレーム,Bフレームを両方向予測フレームとも呼ぶ。
【0004】
Iフレーム,Pフレーム,Bフレームを用いて符号化を行なう符号化器は,ハードウェアおよびソフトウェア実装上の制約などから,PフレームおよびIフレームの間隔(以下,この間隔をMとする)を3フレーム程度に固定して用いられることが多い。また,このような動き予測を行なうハードウェアは比較的安価であり,多く普及している。
【0005】
一方,最近の国際標準でもあるH.264などでは,前方向および後方向予測において,2フレーム以上の参照フレームの中から各動き補償単位ごとに最も効率のよいものを選択して動き補償を行なうことができる。これにより,選択可能な参照画像を増やすことでより一致度の高い予測画像を生成し,符号化効率を高めることができる。
【0006】
このような符号化方法を実現する符号化器としては,主にソフトウェアベースの非リアルタイムの符号化が可能なものが存在する。
【0007】
なお,MPEG−1の符号化に関する参考文献として,下記の非特許文献1がある。また,MPEG−2の符号化に関する参考文献として,下記の非特許文献2がある。H.264の符号化に関する参考文献として,下記の非特許文献3がある。
【0008】
【非特許文献1】
ISO/IEC 11172, "Information Technology - Coding of Moving Picture and Associated Audio for Digital Storage Media at Up to about 1.5Mbit/s"(1992)
【非特許文献2】
ITU-T Rec.H.262/ISO/IEC 13818-2 MPEG-2 International Standard: Video part
【非特許文献3】
ITU-T Rec.H.264/ISO/IEC 11496-10, "Advanced Video Coding", Final Committee Draft, Document JVT-E022, September 2002
【0009】
【発明が解決しようとする課題】
一方,MPEG−1,MPEG−2などの従来の符号化方法よりも多くの参照画像を利用した動き補償を用いる符号化器は,その動きベクトル探索により大きな計算量を必要とするため,リアルタイムでの符号化を実現させるためには,ハードウェアおよびソフトウェアの実装が従来の符号化方法に比べ困難でありコストが高くなるという問題があった。
【0010】
本発明は上記問題点の解決を図り,従来よりあるMPEG−1,MPEG−2などの符号化器を用いて複数参照画像を用いた動き補償を伴う符号化器を安価に効率よく実現することができるようにすることを目的とする。
【0011】
【課題を解決するための手段】
本発明は,上記課題を解決するため,MPEG−1,MPEG−2などの従来の動画像符号化標準で行なわれる一つの前方向参照フレームを利用した前方向予測および一つの後方向参照フレームを利用した後方向予測を行なう符号化器を複数個用い,同じ入力映像に対してそれぞれの符号化器のピクチャタイプのタイミングが異なるように動作させることにより,複数の前方向参照フレームを利用した前方向予測および複数の後方向参照フレームを利用した後方向予測を行なうのに必要な動きベクトル情報を得て,複数参照フレームを用いた動き補償を伴う符号化を実現する。
【0012】
同一の入力動画像に対してM個の前段の符号化器が,Mフレームに1枚の間隔でMフレーム前のフレームを参照フレームとする片方向予測を行ない,2つの片方向予測フレームにはさまれるフレームは,その2つのフレームを参照フレームとする両方向予測を行ない,かつ片方向予測は,各符号化器で全て異なったタイミングで行なう。
【0013】
これらM個の符号化器から各フレームの動き補償単位ごとに得られる最大M本の前方向予測動きベクトルと最大M−1本の後方向予測動きベクトルの情報をもとに,符号化器は前方向予測参照フレームを最大M枚,後方向予測参照フレームを最大M−1枚用いた動き補償を行なう。
【0014】
以上の符号化処理は,コンピュータとソフトウェアプログラムとを用いて実現することもでき,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。
【0015】
これにより,従来よりあるMPEG−1,MPEG−2などの符号化器を用いて,複数参照画像を用いた動き補償を伴う符号化装置を,安価に効率よく実現することができる。
【0016】
【発明の実施の形態】
〔実施の形態1〕
図1は,本発明の実施の形態における映像符号化装置の構成例(1)を示す図である。映像符号化装置10は,3つの前処理エンコーダ11(前処理エンコーダA11a,前処理エンコーダB11b,前処理エンコーダC11c)と,メインエンコーダ13と,遅延バッファ15とを備える。遅延バッファ15は,入力画像を一時的に格納し保持する。
【0017】
また,3つの前処理エンコーダ11はそれぞれ動きベクトル探索部12(動きベクトル探索部A12a,動きベクトル探索部B12b,動きベクトル探索部C12c)を備え,メインエンコーダ13は動きベクトル決定部14を備える。
【0018】
映像符号化装置10における前処理エンコーダA11a,前処理エンコーダB11b,前処理エンコーダC11cは,MPEG−2のエンコーダである。入力映像は,これら3つの前処理エンコーダ11に入力され,それぞれの前処理エンコーダ11において,M=3で符号化が行なわれる。
【0019】
ここで,M=3とはPフレームの間隔が3フレームであり,PフレームとPフレームの間の2フレームがBフレームであることを意味する。また,Pフレーム数枚に1回の割合で,Pフレームの代わりにIフレームが挿入されてもよいが,動き探索はPフレームの動き探索と同じように行なうものとする。
【0020】
前処理エンコーダA11a,前処理エンコーダB11b,前処理エンコーダC11cは,同じ入力映像に対して,互いにピクチャタイプが異なるように符号化を行なう。以下,各前処理エンコーダ11による符号化について,図を用いて詳細に説明する。
【0021】
図2は,各前処理エンコーダ11による符号化を説明する図である。図2において,フレーム番号nのフレームが,現在符号化対象となっているフレームである。
【0022】
前処理エンコーダA11aは,フレーム番号n+3x(n,xは整数)のフレームをPフレームまたはIフレームとして入力画像の符号化を実行する。図2(A)では,フレーム番号n−3のフレームを参照フレームとしてフレーム番号nのフレームを符号化している。動きベクトル探索部A12aにより,各マクロブロックごとにフレーム番号nの現在符号化対象のフレームを起点とし,フレーム番号n−3のフレームを終点とする動きベクトルを得ることができる。
【0023】
前処理エンコーダB11bは,フレーム番号n+3x+1をPフレームまたはIフレームとして入力映像の符号化を実行する。図2(B)では,フレーム番号n−2およびn+1のフレームを参照フレームとしてフレーム番号nのフレームを符号化している。動きベクトル探索部B12bにより,各マクロブロックごとにフレーム番号nのフレームを起点とし,フレーム番号n−2のフレームを終点とする動きベクトルと,フレーム番号n+1のフレームを終点とする動きベクトルとを得ることができる。
【0024】
前処理エンコーダC11cは,フレーム番号n+3x+2をPフレームまたはIフレームとして入力画像の符号化を実行する。図2(C)では,フレーム番号n−1およびn+2のフレームを参照フレームとしてフレーム番号nのフレームを符号化している。動きベクトル探索部C12cにより,各マクロブロックごとにフレーム番号nのフレームを起点とし,フレーム番号n−1のフレームを終点とする動きベクトルと,フレーム番号n+2のフレームを終点とする動きベクトルとを得ることができる。
【0025】
このように,3つの前処理エンコーダ11によって,各フレームの各マクロブロックごとに,現在符号化対象となっているフレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1,フレーム番号n+2のフレームを終点とする動きベクトルを得ることができる。
【0026】
ここで,マクロブロックとは,MPEG−1,MPEG−2において動き補償の単位となっている16画素四方の矩形領域を表す。また,フレームピクチャにおけるフィールド予測などの場合には,各マクロブロックごとに1つの参照フレームに対して2つのベクトルを用いるが,本実施の形態1では,フレーム予測だけを行なっているものとする。
【0027】
また,動きベクトルは,局所復号画像に対して,0.5 画素精度で探索を行なった結果が得られるものとする。また,各前処理エンコーダ11では,探索の結果得られた動きベクトルと予測誤差値などをもとに,マクロブロックごとにイントラ符号化,片方向予測,両方向予測などのモード判定を行なうため,必ずしもすべての探索結果の動きベクトルが用いられるわけではないが,本実施の形態1では,探索の結果得られたすべての動きベクトルを得られるものとする。
【0028】
得られた動きベクトル情報とそれに対応する予測誤差値は,各前処理エンコーダ11の各動きベクトル探索部12から,メインエンコーダ13の動きベクトル決定部14に伝達される。
【0029】
メインエンコーダ13の動きベクトル決定部14において,得られた動きベクトル情報の中から,現在のフレームから参照可能なフレームを参照フレームとする動きベクトル情報だけを選び出す。
【0030】
各ピクチャタイプにおける参照可能なフレームの例を図3〜図5に示す。図3は,複数参照フレームを用いた動き補償において,M=1の場合に参照可能なフレームの例を示している。図3では,メインエンコーダ13はM=1で動作しており,ピクチャタイプはPPPP・・・の順となる。また,図3において,フレーム番号nのフレーム(処理順がkのフレーム)が,現在符号化対象となっているフレームである。
【0031】
図3に示すように,フレーム番号nのフレームの前に符号化され,フレーム番号nのフレームが参照可能なフレームは,フレーム番号n−3(処理順k−3),フレーム番号n−2(処理順k−2),フレーム番号n−1(処理順k−1)のフレームである。フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1のフレームを終点とする動きベクトルを選び出す。
【0032】
図4は,M=2の場合に参照可能なフレームの例を示している。図4では,メインエンコーダ13はM=2で動作しており,ピクチャタイプはPBPB・・・の順となる。また,図4において,フレーム番号nのフレーム(処理順がkのフレーム)が,現在符号化対象となっているフレームである。図4(A)は,フレーム番号nのフレームがPピクチャである場合の例であり,図4(B)は,フレーム番号nのフレームがBピクチャである場合の例である。
【0033】
図4(A)に示すように,フレーム番号nのフレームがPピクチャである場合に,フレーム番号nのフレームの前に符号化され,フレーム番号nのフレームが参照可能なフレームは,フレーム番号n−3(処理順k−1),フレーム番号n−2(処理順k−2)のフレームである。フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2のフレームを終点とする動きベクトルを選び出す。
【0034】
図4(B)に示すように,フレーム番号nのフレームがBピクチャである場合に,フレーム番号nのフレームの前に符号化され,フレーム番号nのフレームが参照可能なフレームは,フレーム番号n−3(処理順k−5),フレーム番号n−2(処理順k−2),フレーム番号n−1(処理順k−3),フレーム番号n+1(処理順k−1)のフレームである。フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1のフレームを終点とする動きベクトルを選び出す。
【0035】
図5は,M=3の場合に参照可能なフレームの例を示している。図5では,メインエンコーダ13はM=3で動作しており,ピクチャタイプはPBBPBB・・・の順となる。また,図5において,フレーム番号nのフレーム(処理順がkのフレーム)が,現在符号化対象となっているフレームである。図5(A)は,フレーム番号nのフレームがPピクチャである場合の例であり,図5(B)は,フレーム番号nのフレームがPピクチャ直後のBピクチャ(以下,B1ピクチャという)である場合の例であり,図5(C)は,フレーム番号nのフレームがPピクチャの2フレーム後のBピクチャ(以下,B2ピクチャという)である場合の例である。
【0036】
図5(A)に示すように,フレーム番号nのフレームがPピクチャである場合に,フレーム番号nのフレームの前に符号化され,フレーム番号nのフレームが参照可能なフレームは,フレーム番号n−3(処理順k−3)のフレームである。フレーム番号nのフレームを起点とし,フレーム番号n−3のフレームを終点とする動きベクトルを選び出す。
【0037】
図5(B)に示すように,フレーム番号nのフレームがB1ピクチャである場合に,フレーム番号nのフレームの前に符号化され,フレーム番号nのフレームが参照可能なフレームは,フレーム番号n−3(処理順k−3),フレーム番号n−2(処理順k−2),フレーム番号n−1(処理順k−4),フレーム番号n+2(処理順k−1)のフレームである。フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+2のフレームを終点とする動きベクトルを選び出す。
【0038】
図5(C)に示すように,フレーム番号nのフレームがB2ピクチャである場合に,フレーム番号nのフレームの前に符号化され,フレーム番号nのフレームが参照可能なフレームは,フレーム番号n−3(処理順k−3),フレーム番号n−2(処理順k−5),フレーム番号n−1(処理順k−1),フレーム番号n+1(処理順k−2)のフレームである。フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1のフレームを終点とする動きベクトルを選び出す。
【0039】
動きベクトル決定部14は,以上のように選び出された動きベクトル情報の中から最も効率のよい動きベクトルを選択する。
【0040】
このとき,動きベクトル決定部14は,各マクロブロックごとに片方向予測に関しては,選び出された動きベクトル情報の中から,予測誤差値および動きベクトルの符号化に必要な符号量などから判定して最も効率のよい動きベクトルを選択する。この判定方法は一般の動きベクトルの予測モード判定方式に基づくものであり,本発明の範囲ではないが,一例としては,以下の式(1)により求められる評価関数の値が最も小さくなる動きベクトルを選択する。
【0041】
また,両方向予測に関しては,選ばれた動きベクトル情報の中から,最も効率のよい動きベクトル上位2本を選択する。
【0042】
メインエンコーダ13は,このようにして決定された動きベクトルを用いて,複数の参照フレームを用いる動き補償を伴う符号化を行ない,ビットストリームを出力する。
【0043】
以上のように,MPEG−2などの符号化器を複数用いて,複数参照画像を用いた動き補償を伴う符号化装置を安価に実現することができる。また,本実施の形態1では,動きベクトルの探索をメインエンコーダ13で行なわないため,メインエンコーダ13における計算処理量を大幅に削減することができる。
【0044】
〔実施の形態2〕
本実施の形態2における映像符号化装置の構成は,図1に示す実施の形態1の映像符号化装置10と同じ構成である。
【0045】
映像符号化装置10における前処理エンコーダA11a,前処理エンコーダB11b,前処理エンコーダC11cはMPEG−2のエンコーダであるが,必ずしもエンコーダのすべての機能が必要なわけではなく,原画像を対象とした動きベクトル探索機能(動きベクトル探索部12)が動作すればよい。入力映像は,これら3つの前処理エンコーダ11に入力され,それぞれの前処理エンコーダ11において,M=3で符号化が行なわれる。
【0046】
ここで,M=3とはPフレームの間隔が3フレームであり,PフレームとPフレームの間の2フレームがBフレームであることを意味する。また,Pフレーム数枚に1回の割合で,Pフレームの代わりにIフレームが挿入されてもよいが,動き探索はPフレームの動き探索と同じように行なうものとする。
【0047】
前処理エンコーダA11a,前処理エンコーダB11b,前処理エンコーダC11cは,前述の実施の形態1と同様に,同じ入力映像に対して,互いにピクチャタイプが異なるように符号化を行なう。
【0048】
すなわち,図2に示すように,前処理エンコーダA11aがフレーム番号n+3x(n,xは整数)のフレームをPフレームまたはIフレームとしてベクトル動き探索を行ない,前処理エンコーダB11bがフレーム番号n+3x+1のフレームをPフレームまたはIフレームとしてベクトル動き探索を行ない,前処理エンコーダC11cがフレーム番号n+3x+2のフレームをPフレームまたはIフレームとしてベクトル動き探索を行なう。
【0049】
このように,3つの前処理エンコーダ11によって,各フレームの各マクロブロックごとに,現在符号化対象となっているフレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1,フレーム番号n+2のフレームを終点とする動きベクトルを得ることができる。
【0050】
ここで,マクロブロックとはMPEG−1,MPEG−2において,16画素四方の矩形領域を表す。フレームピクチャにおいてフレーム予測が行なわれた場合には,このマクロブロック単位で動き補償が行なわれる。また,フレームピクチャにおいてフィールド予測を行なわれた場合には,各マクロブロックを2つのフィールドに分け,水平16画素×垂直8画素を単位として,それぞれのフィールドの動き補償を行なう。
【0051】
また,本実施の形態2では,各前処理エンコーダ11から,原画像に対して1画素精度で探索を行なった結果の動きベクトル情報が得られるものとする。また,各前処理エンコーダ11では,探索の結果得られた動きベクトルと予測誤差値などをもとに,マクロブロックごとにイントラ符号化,片方向予測,両方向予測などのモード判定を行なうため,必ずしもすべての探索結果の動きベクトルが用いられるわけではないが,本実施の形態2では,探索の結果得られたすべての動きベクトルを得られるものとする。
【0052】
メインエンコーダ13の動きベクトル決定部14において,前述の実施の形態1と同様に,得られた動きベクトル情報の中から,現在のフレームから参照可能なフレームを参照フレームとする動きベクトル情報だけを選び出す。
【0053】
メインエンコーダ13がM=1で動作する場合には,図3に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1のフレームを終点とする動きベクトルを選び出す。
【0054】
メインエンコーダ13がM=2で動作する場合には,Pピクチャであれば,図4(A)に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2を終点とする動きベクトルを選び出す。また,Bピクチャであれば,図4(B)に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1のフレームを終点とする動きベクトルを選び出す。
【0055】
メインエンコーダ13がM=3で動作する場合には,Pピクチャであれば,図5(A)に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3を終点とする動きベクトルを選び出す。また,B1ピクチャであれば,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+2のフレームを終点とする動きベクトルを選び出す。また,B2ピクチャであれば,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1のフレームを終点とする動きベクトルを選び出す。
【0056】
動きベクトル決定部14は,各マクロブロックごとに選び出された動きベクトルについてその周辺を探索し,その予測誤差値を求める。本実施の形態2の場合には,局所復号画像に対して,0.25画素精度の動きベクトルを求める。例えば,選ばれた動きベクトルの成分が(mvx,mvy)=(a×0.25,b×0.25)(a,bは整数)であるとすると,mvx=(a−2)×0.25〜(a+2)×0.25,mvy=(b−2)×0.25〜(b+2)×0.25の範囲について動きベクトルの探索を実行するものとする。
【0057】
また,フィールド予測などにおいて,各前処理エンコーダ11の動き補償の単位が16画素×8画素などであり,かつ,メインエンコーダ13の動き補償の単位の大きさを16画素×16画素とする場合には,一つの動き補償単位に対して2つの動きベクトル情報が対応しているため,対応する2つのベクトルに関して同様に動きベクトル探索をするものとする。
【0058】
メインエンコーダ13は,このようにして決定された動きベクトルを用いて,複数の参照フレームを用いる動き補償を伴う符号化を行ない,ビットストリームを出力する。
【0059】
以上のように,MPEG−2などの符号化器を複数用いて,複数参照画像を用いた動き補償を伴う符号化装置を安価に実現することができる。
【0060】
また,本実施の形態2では,メインエンコーダ13において動きベクトルの再探索を行なうが,その探索範囲が狭いため,動きベクトルの再探索は比較的計算量が少なくてすむ。そのため,再探索を行なっても従来の複数参照画像を用いる符号化器に比べて大幅に計算量が少ない。しかも,局所画像を用いた高精度のベクトル探索を行なうことができ,符号化効率の面で優れた符号化を行なうことができる。
【0061】
〔実施の形態3〕
図6は,本発明の実施の形態における映像符号化装置の構成例(2)を示す図である。映像符号化装置20は,3つの前処理エンコーダ21(前処理エンコーダA21a,前処理エンコーダB21b,前処理エンコーダC21c),3つの動きベクトル情報抽出部22(動きベクトル情報抽出部A22a,動きベクトル情報抽出部B22b,動きベクトル情報抽出部C22c),メインエンコーダ23,遅延バッファ25を備える。また,メインエンコーダ23は,動きベクトル決定部24を備える。遅延バッファ25は,入力画像を一時的に格納し保持する。
【0062】
映像符号化装置20における前処理エンコーダA21a,前処理エンコーダB21b,前処理エンコーダC21cは,MPEG−2のエンコーダである。入力映像は,これら3つの前処理エンコーダ21に入力され,それぞれの前処理エンコーダ21において,M=3で符号化が行なわれる。
【0063】
ここで,M=3とはPフレームの間隔が3フレームであり,PフレームとPフレームの間の2フレームがBフレームであることを意味する。また,Pフレーム数枚に1回の割合で,Pフレームの代わりにIフレームが挿入されてもよいが,動き探索はPフレームの動き探索と同じように行なうものとする。
【0064】
前処理エンコーダA21a,前処理エンコーダB21b,前処理エンコーダC21cは,同じ入力映像に対して互いにピクチャタイプが異なるように符号化を行なう。
【0065】
すなわち,図2に示すように,前処理エンコーダA21aがフレーム番号n+3x(n,xは整数)のフレームをPフレームまたはIフレームとしてベクトル動き探索を行ない,前処理エンコーダB21bがフレーム番号n+3x+1のフレームをPフレームまたはIフレームとしてベクトル動き探索を行ない,前処理エンコーダC21cがフレーム番号n+3x+2のフレームをPフレームまたはIフレームとしてベクトル動き探索を行なう。
【0066】
前処理エンコーダA21a,前処理エンコーダB21b,前処理エンコーダC21cから,それぞれビットストリームA,ビットストリームB,ビットストリームCが出力され,それぞれ動きベクトル情報抽出部A22a,動きベクトル情報抽出部B22b,動きベクトル情報抽出部C22cに入力される。
【0067】
各動きベクトル情報抽出部22は,それぞれ入力されたビットストリームから,各フレームの各マクロブロックごとに,現在符号化対象となっているフレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1,フレーム番号n+2のフレームを終点とする動きベクトルと,その予測誤差を符号化した際のDCT符号量(予測誤差符号量)と,その予測誤差を符号化した際の量子化パラメータ(量子化ステップ値)とを抽出し,メインエンコーダ23の動きベクトル決定部24に伝達する。
【0068】
ここで,マクロブロックとは,MPEG−1,MPEG−2において,動き補償の単位となっている16画素四方の矩形領域を表す。また,フレームピクチャにおけるフィールド予測などの場合には,各マクロブロックごとに1つの参照フレームに対して2つのベクトルを用いるが,本実施の形態3では,フレーム予測だけを行なっているものとする。また,動きベクトルは,局所復号画像に対して0.5 画素精度で探索を行なった結果が得られるものとする。
【0069】
メインエンコーダ23の動きベクトル決定部24において,得られた動きベクトル情報の中から,現在のフレームから参照可能なフレームを参照フレームとする動きベクトル情報だけを選び出す。
【0070】
メインエンコーダ23がM=1で動作する場合には,図3に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1のフレームを終点とする動きベクトルを選び出す。
【0071】
メインエンコーダ23がM=2で動作する場合には,Pピクチャであれば,図4(A)に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2を終点とする動きベクトルを選び出す。また,Bピクチャであれば,図4(B)に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1のフレームを終点とする動きベクトルを選び出す。
【0072】
メインエンコーダ23がM=3で動作する場合には,Pピクチャであれば,図5(A)に示すように,フレーム番号nのフレームを起点とし,フレーム番号n−3を終点とする動きベクトルを選び出す。また,B1ピクチャであれば,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+2のフレームを終点とする動きベクトルを選び出す。また,B2ピクチャであれば,フレーム番号nのフレームを起点とし,フレーム番号n−3,フレーム番号n−2,フレーム番号n−1,フレーム番号n+1のフレームを終点とする動きベクトルを選び出す。
【0073】
各マクロブロックごとに片方向予測に関しては,選び出された動きベクトル情報の中から,予測誤差符号量,量子化パラメータおよび動きベクトルの符号化に必要な符号量などから判定して最も効率のよい動きベクトルを選択する。この判定方法は,本発明の範囲ではないが,一例としては,以下の式(2)により求められる評価関数の値が最も小さくなる動きベクトルを選択する。
【0074】
また,両方向予測に関しては,選ばれた動きベクトル情報の中から,最も効率のよい動きベクトル上位2本を選択する。
【0075】
また,各動きベクトル情報抽出部22から得られた動きベクトル情報が両方向予測のベクトルであり,その片方のベクトルがメインエンコーダ23において参照可能でない参照フレームを用いている場合には,残りの片方のベクトルについて,実際より予測効率が低下することを見込んで,それに対応する予測誤差符号量を定数倍してから評価する。
【0076】
メインエンコーダ23は,このようにして決定された動きベクトルを用いて,複数の参照フレームを用いる動き補償を伴う符号化を行ない,ビットストリームを出力する。
【0077】
以上のように,MPEG−2などの符号化器を複数用いて,複数参照画像を用いた動き補償を伴う符号化装置を安価に実現することができる。
【0078】
また,本実施の形態3では,各前処理エンコーダ21の内部情報である動きベクトル情報や予測誤差値などを外部に出力する必要がないため,前処理エンコーダ21として通常のエンコーダをほとんどそのまま使用できる長所がある。また,動きベクトルの探索をメインエンコーダ23では行なわないため,メインエンコーダにおける計算処理量を大幅に削減することができる。
【0079】
以下では,前述した各実施の形態1〜3の処理の流れを,図7〜図16に従って説明する。
【0080】
〔実施の形態1の処理フロー〕
実施の形態1では,まず図7のステップS1a,S1b,S1cにおいて,それぞれ図1に示す前処理エンコーダA11aによる符号化処理(図8参照),前処理エンコーダB11bによる符号化処理(図9参照),前処理エンコーダC11cによる符号化処理(図10参照)を行い,ステップS2a,S2b,S2cにおいて,各前処理エンコーダA11aの動きベクトル探索部A12a,前処理エンコーダB11bの動きベクトル探索部B12b,前処理エンコーダC11cの動きベクトル探索部C12cでそれぞれ探索したフレームa,b,cの動きベクトルを記憶する。
【0081】
次に,ステップS3において,メインエンコーダ13で符号化するフレーム番号n(ただし,nはa,b,cより大)を決定し,ステップS4〜S7でフレーム番号nのフレームの全マクロブロックについての符号化を実行する。
【0082】
そのため,まず,ステップS4では,メインエンコーダ13で次に符号化するマクロブロックを順次決定する。ステップS5では,ステップS2a〜S2cで記憶した動きベクトルの読み出し処理(図11参照)を実行し,ステップS6では,読み出した動きベクトルを利用して,マクロブロック符号化処理(図12参照)を実行する。ステップS7の判定によりフレーム番号nのフレームの全マクロブロックについての符号化終了を検出するまで,ステップS4〜S6を繰り返し,全マクロブロックの符号化が終了したならばステップS8へ進む。
【0083】
ステップS8では,全フレームの符号化が終了したかどうかを判定し,全フレームの符号化が終了するまで上記処理を繰り返す。
【0084】
図8は,前処理エンコーダA11aによる符号化処理(図7のステップS1a)のフローチャートである。ステップS10では,前処理エンコーダA11aが次に符号化を行なう画像フレーム番号aを決定する。ステップS11では,aが3の倍数であるかどうかを判定する。ここで,「x%y」はxをyで割ったときの剰余を表す(以下,同様)。aが3の倍数である場合,前処理エンコーダA11aは,ステップS12を実行し,フレームa−3を参照フレームとし,フレームaをIフレームまたはPフレームとして動き探索および符号化を行なう。
【0085】
フレーム番号aを3で割った剰余が1の場合(ステップS13),前処理エンコーダA11aは,ステップS14を実行し,フレームa−2,フレームa+1を参照フレームとし,フレームaをBフレームとして動き探索および符号化を行なう。
【0086】
また,フレーム番号aを3で割った剰余が2の場合(ステップS15(判定処理は省略可能)),前処理エンコーダA11aは,ステップS16を実行し,フレームa−1,フレームa+2を参照フレームとし,フレームaをBフレームとして動き探索および符号化を行なう。
【0087】
図9は,前処理エンコーダB11bによる符号化処理(図7のステップS1b)のフローチャートである。基本的な処理内容は,前処理エンコーダA11aと同様である。ただし,符号化するピクチャタイプのタイミングが異なる。ステップS20では,前処理エンコーダB11bが次に符号化を行なう画像フレーム番号bを決定する。ステップS21では,フレーム番号bを3で割った剰余が1であるかどうかを判定する。剰余が1である場合,前処理エンコーダB11bは,ステップS22を実行し,フレームb−3を参照フレームとし,フレームbをIフレームまたはPフレームとして動き探索および符号化を行なう。
【0088】
フレーム番号bを3で割った剰余が2の場合(ステップS23),前処理エンコーダB11bは,ステップS24を実行し,フレームb−2,フレームb+1を参照フレームとし,フレームbをBフレームとして動き探索および符号化を行なう。
【0089】
また,フレーム番号bを3で割った剰余が0の場合(ステップS25),前処理エンコーダB11bは,ステップS26を実行し,フレームb−1,フレームb+2を参照フレームとし,フレームbをBフレームとして動き探索および符号化を行なう。
【0090】
図10は,前処理エンコーダC11cによる符号化処理(図7のステップS1c)のフローチャートである。基本的な処理内容は,前処理エンコーダA11aと同様である。ただし,符号化するピクチャタイプのタイミングが異なる。ステップS30では,前処理エンコーダC11cが次に符号化を行なう画像フレーム番号cを決定する。ステップS31では,フレーム番号cを3で割った剰余が2であるかどうかを判定する。剰余が2である場合,前処理エンコーダC11cは,ステップS32を実行し,フレームc−3を参照フレームとし,フレームcをIフレームまたはPフレームとして動き探索および符号化を行なう。
【0091】
フレーム番号cを3で割った剰余が0の場合(ステップS33),前処理エンコーダC11cは,ステップS34を実行し,フレームc−2,フレームc+1を参照フレームとし,フレームcをBフレームとして動き探索および符号化を行なう。
【0092】
また,フレーム番号cを3で割った剰余が1の場合(ステップS35),前処理エンコーダC11cは,ステップS36を実行し,フレームc−1,フレームc+2を参照フレームとし,フレームcをBフレームとして動き探索および符号化を行なう。
【0093】
以上の前処理エンコーダA11a,B11b,C11cが行う処理は,ハードウェアによって実現してもよく,また符号化処理を行うソフトウェアプログラムをマイクロコンピュータ等のプロセッサに実行させることによって実現してもよい。ソフトウェアプログラムを用いて前処理エンコーダ11を実現する場合,各前処理エンコーダ11のプロセッサは,メインエンコーダ13のプロセッサとは異なるプロセッサであることが望ましい。
【0094】
図11は,メインエンコーダ13における動きベクトル読み出し処理(図7のステップS5)のフローチャートである。
【0095】
まず,ステップS40では,Pフレームの間隔Mが3かどうかを判定する。M=3でない場合,ステップS47へ進む。M=3の場合,現在の符号化対象フレームのピクチャタイプに応じて以下の処理を行う。符号化対象フレームがPフレームの場合(ステップS41),同位置マクロブロックのフレームn−3を参照画像とする動きベクトルを読み出す(ステップS42)。符号化対象フレームがP直後のBフレームの場合(ステップS43),同位置マクロブロックのフレームn−3,n−2,n−1,n+2を参照画像とする動きベクトルを読み出す(ステップS44)。また,符号化対象フレームがP直前のBフレームの場合(ステップS45),同位置マクロブロックのフレームn−3,n−2,n−1,n+1を参照画像とする動きベクトルを読み出す(ステップS46)。
【0096】
ステップS47の判定で,M=2である場合,現在の符号化対象フレームのピクチャタイプを判定し,Pフレームである場合には(ステップS48),同位置マクロブロックのフレームn−3,n−2を参照画像とする動きベクトルを読み出す(ステップS49)。また,現在の符号化対象フレームがBフレームである場合には(ステップS50),同位置マクロブロックのフレームn−3,n−2,n−1,n+1を参照画像とする動きベクトルを読み出す(ステップS51)。
【0097】
Pフレームの間隔Mが1の場合には,すべてPフレームとして符号化を行うので,同位置マクロブロックのフレームn−3,n−2,n−1を参照画像とする動きベクトルを読み出す(ステップS52〜S54)。その後,図7に示すステップS6に進む。
【0098】
図12は,メインエンコーダ13におけるマクロブロック符号化処理(図7のステップS6)のフローチャートである。現在の符号化対象フレームのピクチャタイプを判定し,Iフレームである場合には(ステップS60),現在処理しているマクロブロックのイントラ符号化を行なう(ステップS61)。
【0099】
Pフレームである場合には(ステップS62),図11の動きベクトル読み出し処理で読み出した動きベクトルに対する予測誤差値および動きベクトル符号量を求める(ステップS63)。続くステップS64では,
(評価値)=(予測誤差値)+(係数)×(動きベクトル符号量)
を計算し,計算結果の評価値が最小となる動きベクトルを選ぶ。ステップS65では,イントラ符号化か,選択した動きベクトルを用いた片方向予測符号化を行なう。
【0100】
Bフレームである場合には(ステップS66),図11の動きベクトル読み出し処理で読み出した動きベクトルに対する予測誤差値および動きベクトル符号量を求める(ステップS67)。続くステップS68では,
(評価値)=(予測誤差値)+(係数)×(動きベクトル符号量)
を計算し,計算結果の評価値が小さい方から2つの動きベクトルを選ぶ。ステップS69では,イントラ符号化か,選択した動きベクトルを2つ用いた両方向予測符号化か,どちらかを用いた片方向予測符号化を行なう。
【0101】
〔実施の形態2の処理フロー〕
実施の形態2の処理フローの概要は,図7で説明した実施の形態1の処理フローと同様である。また,前処理エンコーダA11aによる符号化処理,前処理エンコーダB11bによる符号化処理,前処理エンコーダC11cによる符号化処理についても,図8〜図10で説明した実施の形態1と同様である。また,メインエンコーダ13における動きベクトル読み出し処理も図11に示すとおりであり,実施の形態1と同様である。
【0102】
実施の形態2では,図7のステップS6におけるマクロブロック符号化処理が実施の形態1と異なり,マクロブロック符号化処理は,図13に示すように行なわれる。図13に従って,実施の形態2におけるマクロブロック符号化処理を説明する。
【0103】
現在の符号化対象フレームのピクチャタイプを判定し,Iフレームである場合には(ステップS70),現在処理しているマクロブロックのイントラ符号化を行なう(ステップS71)。
【0104】
Pフレームである場合には(ステップS72),図11の動きベクトル読み出し処理で読み出した各動きベクトルの周辺近傍の動きベクトル探索を行う(ステップS73)。次に,ステップS74では,各探索結果の動きベクトルに対する予測誤差値および動きベクトル符号量を求める。続くステップS75では,
(評価値)=(予測誤差値)+(係数)×(動きベクトル符号量)
を計算し,計算結果の評価値が最小となる動きベクトルを選ぶ。ステップS76では,イントラ符号化か,選択した動きベクトルを用いた片方向予測符号化を行なう。
【0105】
Bフレームである場合には(ステップS77),図11の動きベクトル読み出し処理で読み出した各動きベクトルの周辺近傍の動きベクトル探索を行う(ステップS78)。次に,ステップS79では,動きベクトルに対する予測誤差値および動きベクトル符号量を求める。続くステップS80では,
(評価値)=(予測誤差値)+(係数)×(動きベクトル符号量)
を計算し,計算結果の評価値が小さい方から2つの動きベクトルを選ぶ。ステップS81では,イントラ符号化か,選択した動きベクトルを2つ用いた両方向予測符号化か,どちらかを用いた片方向予測符号化を行なう。
【0106】
〔実施の形態3の処理フロー〕
実施の形態3では,まずステップS101a,S101b,S101cにおいて,それぞれ図6に示す前処理エンコーダA21aによる符号化処理(図8参照),前処理エンコーダB21bによる符号化処理(図9参照),前処理エンコーダC21cによる符号化処理(図10参照)を行い,ステップS102a,S102b,S102cにおいて,前処理エンコーダA21aで符号化したビットストリームAのフレームa相当分,前処理エンコーダB21bで符号化したビットストリームBのフレームb相当分,前処理エンコーダC21cで符号化したビットストリームCのフレームc相当分をそれぞれ出力する。以上の処理を,全フレームの符号化が終了するまで繰り返す(ステップS103a,S103b,S103c)。
【0107】
次に,ステップS104では,メインエンコーダ23で符号化するフレーム番号n(ただし,nはa,b,cより小さいか等しい)を決定し,ステップS105〜S108で,フレーム番号nのフレームの全マクロブロックについての符号化を実行する。そのため,まず,ステップS105では,メインエンコーダ23で次に符号化するマクロブロックを順次決定する。ステップS106では,ビットストリームA,B,Cからマクロブロックの符号化において参照するための符号化参照情報読み出し処理(図15参照)を実行し,ステップS107では,符号化参照情報を利用して,マクロブロック符号化処理(図16参照)を実行する。ステップS108の判定によりフレーム番号nのフレームの全マクロブロックについての符号化終了を検出するまで,ステップS105〜S107を繰り返し,全マクロブロックの符号化が終了したならばステップS109へ進む。
【0108】
ステップS109では,全フレームの符号化が終了したかどうかを判定し,全フレームの符号化が終了するまでステップS104〜S108の処理を繰り返す。
【0109】
ステップS101aにおける前処理エンコーダA21aによる符号化処理,ステップS101bにおける前処理エンコーダB21bによる符号化処理,ステップS101cにおける前処理エンコーダC21cによる符号化処理は,それぞれ図8〜図10で説明した実施の形態1の場合の処理と同様である。
【0110】
図14のステップS106における符号化参照情報読み出し処理は,図15に示すように行なわれる。
【0111】
まず,ステップS110では,Pフレームの間隔Mが3かどうかを判定する。M=3でない場合,ステップS117へ進む。M=3の場合,現在の符号化対象フレームのピクチャタイプに応じて以下の処理を行う。符号化対象フレームがPフレームの場合(ステップS111),ビットストリームA,B,Cから同位置マクロブロックのフレームn−3を参照画像とする動きベクトル,予測誤差符号量,量子化パラメータを読み出す(ステップS112)。符号化対象フレームがP直後のBフレームの場合(ステップS113),ビットストリームA,B,Cから同位置マクロブロックのフレームn−3,n−2,n−1,n+2を参照画像とする動きベクトル,予測誤差符号量,量子化パラメータを読み出す(ステップS114)。また,符号化対象フレームがP直前のBフレームの場合(ステップS115),ビットストリームA,B,Cから同位置マクロブロックのフレームn−3,n−2,n−1,n+1を参照画像とする動きベクトル,予測誤差符号量,量子化パラメータを読み出す(ステップS116)。
【0112】
ステップS117の判定で,M=2である場合,現在の符号化対象フレームのピクチャタイプを判定し,Pフレームである場合には(ステップS118),ビットストリームA,B,Cから同位置マクロブロックのフレームn−3,n−2を参照画像とする動きベクトル,予測誤差符号量,量子化パラメータを読み出す(ステップS119)。現在の符号化対象フレームがBフレームである場合には(ステップS120),ビットストリームA,B,Cから同位置マクロブロックのフレームn−3,n−2,n−1,n+1を参照画像とする動きベクトル,予測誤差符号量,量子化パラメータを読み出す(ステップS121)。
【0113】
Pフレームの間隔Mが1の場合には,すべてPフレームとして符号化を行うので,ビットストリームA,B,Cから同位置マクロブロックのフレームn−3,n−2,n−1を参照画像とする動きベクトル,予測誤差符号量,量子化パラメータを読み出す(ステップS122〜S124)。その後,図14に示すステップS107に進む。
【0114】
図16は,メインエンコーダ23におけるマクロブロック符号化処理(図14のステップS107)のフローチャートである。現在の符号化対象フレームのピクチャタイプを判定し,ピクチャタイプがIフレームである場合には(ステップS130),現在処理しているマクロブロックのイントラ符号化を行なう(ステップS131)。
【0115】
Pフレームである場合には(ステップS132),図15の符号化参照情報読み出し処理で読み出した動きベクトルに対する動きベクトル符号量を求める(ステップS133)。続くステップS134では,
(評価値)=(予測誤差値)×(用いた量子化パラメータ)/(これから用いる量子化パラメータ)+(係数)×(動きベクトル符号量)
を計算し,計算結果の評価値が最小となる動きベクトルを選ぶ。ステップS135では,イントラ符号化か,選択した動きベクトルを用いた片方向予測符号化を行なう。
【0116】
Bフレームである場合には(ステップS136),図15の符号化参照情報読み出し処理で読み出した動きベクトルに対する動きベクトル符号量を求める(ステップS137)。続くステップS138では,
(評価値)=(予測誤差値)×(用いた量子化パラメータ)/(これから用いる量子化パラメータ)+(係数)×(動きベクトル符号量)
を計算し,計算結果の評価値が小さい方から2つの動きベクトルを選ぶ。ステップS139では,イントラ符号化か,選択した動きベクトルを2つ用いた両方向予測符号化か,どちらかを用いた片方向予測符号化を行なう。
【0117】
【発明の効果】
以上の説明したように,本発明によって,MPEG−1,MPEG−2などの符号化器を複数用いて,複数参照画像を用いた動き補償を伴う符号化装置を安価に実現することができる。
【図面の簡単な説明】
【図1】実施の形態1,2における映像符号化装置の構成例を示す図である。
【図2】各前処理エンコーダによる符号化を説明する図である。
【図3】M=1の場合に参照可能なフレームの例を示す図である。
【図4】M=2の場合に参照可能なフレームの例を示す図である。
【図5】M=3の場合に参照可能なフレームの例を示す図である。
【図6】実施の形態3における映像符号化装置の構成例を示す図である。
【図7】実施の形態1,2の処理フローチャートである。
【図8】実施の形態1〜3の前処理エンコーダAによる符号化処理のフローチャートである。
【図9】実施の形態1〜3の前処理エンコーダBによる符号化処理のフローチャートである。
【図10】実施の形態1〜3の前処理エンコーダCによる符号化処理のフローチャートである。
【図11】実施の形態1,2の動きベクトル読み出し処理のフローチャートである。
【図12】実施の形態1のマクロブロック符号化処理のフローチャートである。
【図13】実施の形態2のマクロブロック符号化処理のフローチャートである。
【図14】実施の形態3の処理フローチャートである。
【図15】実施の形態3の符号化参照情報読み出し処理のフローチャートである。
【図16】実施の形態3のマクロブロック符号化処理のフローチャートである。
【符号の説明】
10 映像符号化装置
11 前処理エンコーダ
12 動きベクトル探索部
13 メインエンコーダ
14 動きベクトル決定部
15 遅延バッファ
20 映像符号化装置
21 前処理エンコーダ
22 動きベクトル情報抽出部
23 メインエンコーダ
24 動きベクトル決定部
25 遅延バッファ
Claims (12)
- 複数の参照画像を用いた動き補償を伴う符号化を行なう映像符号化方法であって,
同一の入力映像に対して,M個(Mは2以上の整数)の符号化器がそれぞれ異なるタイミングで予測の種類を変えながら動き予測を行なう過程と,
これらの符号化器から得られる動きベクトルを用いて,複数の参照画像を用いた動き補償を伴う符号化を行なう過程とを有する
ことを特徴とする映像符号化方法。 - 複数の参照画像を用いた動き補償を伴う符号化を行なう映像符号化方法であって,
同一の入力映像に対し,M個(Mは2以上の整数)の符号化器がそれぞれ異なるタイミングで,Mフレームに1フレームの間隔でMフレーム前のフレームを参照フレームとする片方向予測を行ない,2つの片方向予測フレームにはさまれるM−1枚のフレームについてはその2つのフレームを参照フレームとする両方向予測を行なう過程と,
これらM個の符号化器から各動き補償単位ごとに得られる最大M本の前方向予測動きベクトルと最大M−1本の後方向予測動きベクトルを用いて,前方向予測参照フレームを最大M枚,後方向予測参照フレームを最大M−1枚用いた動き補償を伴う符号化を行なう過程とを有する
ことを特徴とする映像符号化方法。 - 請求項1または請求項2記載の映像符号化方法において,
前記動き補償を伴う符号化を行なう過程では,前記M個の符号化器から得られる動きベクトルの近傍に関して再度動きベクトル探索を行ない,動き補償に用いる動きベクトルを決定する
ことを特徴とする映像符号化方法。 - 請求項1または請求項2記載の映像符号化方法において,
前記動き補償を伴う符号化を行なう過程では,前記M個の符号化器から動きベクトルの情報とともに,それぞれの動きベクトル探索時に得られた予測誤差値の情報を得て,その予測誤差値の大きさに基づいて動き補償に用いる動きベクトルを決定する
ことを特徴とする映像符号化方法。 - 請求項1または請求項2記載の映像符号化方法において,
前記動き補償を伴う符号化を行なう過程では,前記M個の符号化器が生成するビットストリームから,動きベクトルの情報,それぞれの動きベクトルに対応する予測誤差を符号化するのに用いた符号量,およびその符号化に用いた量子化ステップ値の情報を得て,それらの情報を用いて動き補償に用いる動きベクトルを決定する
ことを特徴とする映像符号化方法。 - 複数の参照画像を用いた動き補償を伴う符号化を行なう映像符号化装置であって,
同一の入力映像に対して,それぞれ異なるタイミングで予測の種類を変えながら動き予測を行なうM個(Mは2以上の整数)の符号化器と,
前記M個の符号化器から得られる動きベクトルを用いて,複数の参照画像を用いた動き補償を伴う符号化を行なう符号化手段とを備える
ことを特徴とする映像符号化装置。 - 複数の参照画像を用いた動き補償を伴う符号化を行なう映像符号化装置であって,
同一の入力映像に対し,それぞれ異なるタイミングで,M(Mは2以上の整数)フレームに1フレームの間隔でMフレーム前のフレームを参照フレームとする片方向予測を行ない,2つの片方向予測フレームにはさまれるM−1枚のフレームについてはその2つのフレームを参照フレームとする両方向予測を行なうM個の符号化器と,
前記M個の符号化器から各動き補償単位ごとに得られる最大M本の前方向予測動きベクトルと最大M−1本の後方向予測動きベクトルを用いて,前方向予測参照フレームを最大M枚,後方向予測参照フレームを最大M−1枚用いた動き補償を行なう符号化手段と備える
ことを特徴とする映像符号化装置。 - 請求項6または請求項7記載の映像符号化装置において,
前記符号化手段は,前記M個の符号化器から得られる動きベクトルの近傍に関して再度動きベクトル探索を行ない,動き補償に用いる動きベクトルを決定する手段を備える
ことを特徴とする映像符号化装置。 - 請求項6または請求項7記載の映像符号化装置において,
前記符号化手段は,前記M個の符号化器から動きベクトルの情報とともに,それぞれの動きベクトル探索時に得られた予測誤差値の情報を得て,その予測誤差値の大きさに基づいて動き補償に用いる動きベクトルを決定する手段を備える
ことを特徴とする映像符号化装置。 - 請求項6または請求項7記載の映像符号化装置において,
前記符号化手段は,前記M個の符号化器が生成するビットストリームから,動きベクトルの情報,それぞれの動きベクトルに対応する予測誤差を符号化するのに用いた符号量,およびその符号化に用いた量子化ステップ値の情報を得て,それらの情報を用いて動き補償に用いる動きベクトルを決定する手段を備える
ことを特徴とする映像符号化装置。 - 請求項1から請求項5までのいずれか1項に記載された映像符号化方法を,コンピュータに実行させるための映像符号化プログラム。
- 請求項1から請求項5までのいずれか1項に記載された映像符号化方法を,コンピュータに実行させるためのプログラムを記録した映像符号化プログラムの記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003131381A JP4053925B2 (ja) | 2003-05-09 | 2003-05-09 | 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003131381A JP4053925B2 (ja) | 2003-05-09 | 2003-05-09 | 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004336522A JP2004336522A (ja) | 2004-11-25 |
| JP4053925B2 true JP4053925B2 (ja) | 2008-02-27 |
Family
ID=33506570
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003131381A Expired - Fee Related JP4053925B2 (ja) | 2003-05-09 | 2003-05-09 | 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4053925B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100757208B1 (ko) | 2006-02-21 | 2007-09-10 | (주)씨앤에스 테크놀로지 | H.264 부호화를 위한 움직임 추정에서의 고속 다중 참조프레임 선택 방법 |
| BR122020011590B1 (pt) * | 2011-11-08 | 2022-05-03 | Kabushiki Kaisha Toshiba | Método de decodificação realizado pelo menos parcialmente por um circuito eletrônico e método de codificação realizado pelo menos parcialmente por um circuito eletrônico |
-
2003
- 2003-05-09 JP JP2003131381A patent/JP4053925B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004336522A (ja) | 2004-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7444026B2 (en) | Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith | |
| CN1960496B (zh) | 运动矢量检测装置 | |
| JP4166781B2 (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
| CN100563343C (zh) | 用于运动估计的方法和装置 | |
| JP3864098B2 (ja) | 動画像符号化方法、動画像復号方法、及びこれらの方法の実行プログラムとこれらの実行プログラムを記録した記録媒体 | |
| CN108134939A (zh) | 一种运动估计方法及装置 | |
| JP3823767B2 (ja) | 動画像の前景背景領域分離方法、及びその方法を用いた条件付画素補填による動画像符号化方法 | |
| WO2000024202A1 (fr) | Procede et dispositif de detection de vecteurs de mouvement | |
| US7953154B2 (en) | Image coding device and image coding method | |
| CN1835594A (zh) | 在计算机上执行运动矢量检测处理的检测方法以及装置 | |
| JP2007124408A (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
| US20080212719A1 (en) | Motion vector detection apparatus, and image coding apparatus and image pickup apparatus using the same | |
| JP4257789B2 (ja) | 動画像符号化装置 | |
| US20080112487A1 (en) | Image search methods for reducing computational complexity of motion estimation | |
| JP5178616B2 (ja) | シーンチェンジ検出装置および映像記録装置 | |
| JP4053925B2 (ja) | 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 | |
| KR20090014371A (ko) | 움직임 검출 장치 | |
| JP4523024B2 (ja) | 画像符号化装置および画像符号化方法 | |
| JP4083159B2 (ja) | デジタル動画像のモーションベクトル設定方法 | |
| JP4797999B2 (ja) | 画像符号化・復号化装置 | |
| JP4516088B2 (ja) | 動き探索方法、動き探索装置、動き探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JPH10327401A (ja) | 動きベクトル検出方法及びそれを用いた画像信号の符号化方法及び装置 | |
| JP4510701B2 (ja) | 動画像符号化装置 | |
| JP2008311824A (ja) | 画像符号化装置および画像符号化プログラム | |
| JP2007158855A (ja) | 動きベクトル検出装置および動きベクトル検出方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050719 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071023 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071204 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071206 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121214 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121214 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131214 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |