JP3670566B2 - 処理時間適応画像符号化方法およびそのプログラムの記録媒体 - Google Patents
処理時間適応画像符号化方法およびそのプログラムの記録媒体 Download PDFInfo
- Publication number
- JP3670566B2 JP3670566B2 JP2000303509A JP2000303509A JP3670566B2 JP 3670566 B2 JP3670566 B2 JP 3670566B2 JP 2000303509 A JP2000303509 A JP 2000303509A JP 2000303509 A JP2000303509 A JP 2000303509A JP 3670566 B2 JP3670566 B2 JP 3670566B2
- Authority
- JP
- Japan
- Prior art keywords
- motion search
- time
- encoding
- motion
- frame
- 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】
【従来の技術】
動画像符号化では,一般的に符号化効率向上のために動き補償フレーム間予測符号化方法が用いられる。この方法は,現フレームの原画像と,それ以前に符号化された他のフレームの復号画像から作られる参照画像との間で,対応する画素間の画像情報の差分(予測誤差と呼ぶ)を符号化する。参照画像の作成には,過去や未来のフレームを使う方法や,過去や未来のフレームをアフィン変換して作成する方法がある。
【0003】
また,予測誤差の符号化では,まず予測誤差について離散コサイン変換(DCT)などの周波数変換を行い,その係数を量子化した後に可変長符号化する。画面内の同じ位置での画素間の予測誤差よりも平行移動した位置の予測誤差の方が小さい場合には,符号化効率を向上するために,平行移動した位置の予測誤差を符号化する。平行移動量は動きベクトルとして符号化される。
【0004】
一般的には,画面を小領域に,例えば縦横16画素のマクロブロックで区切り,その小領域毎に動きベクトルを設定する。例えば,マクロブロック内の画素に対して動きベクトルだけ同様に平行移動した位置の画素を設定し,これらの画素間の予測誤差をDCTする。また,小領域内の各画素に対して同じ動きベクトルを設定するのではなく,隣接小領域の動きベクトルを使い,個々の画素の平行移動量を計算で求める方法もある。
【0005】
参考文献:G.J.Sullivan and R.L.Baker:"Motion Compensation for video compression using contorol grid interpolation",IEEE ICA SSP '91, pp.2713-2716,1991。
【0006】
また,平行移動量が整数ではない場合には,参照画像内で対応する位置に画素がないため,参照画像の周辺画素の画像情報から計算により求める。
【0007】
この平行移動量を求める処理は「動き探索」と呼ばれる。一般的には,画面を縦横16画素のマクロブロックで区切り,そのマクロブロック毎に動きベクトルを求める。マクロブロック内の全画素に対する予測誤差の評価関数としては,マクロブロック内のすべての画素の画像情報の絶対値差分の和や分散等が用いられる。これらの値が小さい位置の動きベクトルを選択すると予測誤差の符号化効率が高くなるため,これらの値が最も小さくなる位置を求める。
【0008】
また,探索範囲を大きくするほど,動きベクトルの候補が増えるため符号化効率の高い動きベクトルを求めることができる。映像符号化方式H.263では,動きベクトルの表現上の制限により探索範囲は最大で縦横16画素ずれた位置になる。この様子を図1に示す。この探索範囲内を1画素ずつずらしながら,絶対値差分和や分散を計算し,これらの値が最小となる位置を求める。
【0009】
しかし,探索範囲を大きくするほど,動き探索の演算量が増える。動き探索の演算量を減らすために様々な手法が用いられている。以下に例を3つ挙げる。
【0010】
[方法1]:絶対値差分和や分散を計算する画素数を少なくする。例えば,マクロブロック内の縦横16画素(合計256画素)のうち,64画素で計算する。マクロブロック内で64画素を選択した例を図2に示す。図2において,黒丸で示した画素を選択すると,64画素の計算となる。
【0011】
[方法2]:探索範囲内で絶対値差分和や分散を計算する位置を少なくする。例えば2画素ずつずらしながら探索する。2画素ずつずらしながら探索する様子を図3に示す。
【0012】
[方法3]:木探索する。例えば,予めある探索位置の候補を決めておき,その位置の周辺のみを探索する。
【0013】
また,動き補償フレーム間予測符号化方法の1つに,カメラのパンニング等の画面全体の動きを計測して,画面全体をアフィン変換して参照画像を作成し,予測誤差を求めるグローバル動き補償方法がある。この際のアフィン変換のパラメータをグローバル動きベクトルと呼び,グローバル動きベクトルを求める処理をグローバル動き探索と呼ぶ。映像符号化方式MPEG−4では,グローバル動き補償と,アフィン変換を使わない動き補償を組み合わせることが可能である。例えば,マクロブロック毎に,グローバル動き補償とアフィン変換を使わない動き補償を選択することができる。符号化効率の高い方を選択することによって,フレーム全体の符号化効率を向上することができる。
【0014】
グローバル動き探索では,画面全体をアフィン変換して画面全体の予測誤差が最も小さくなるアフィン変換パラメータを決定する方法もあるが,マクロブロック毎の動き探索の結果を利用する方法もある。この場合には,各マクロブロックの画面内の位置と動きベクトルから,アフィン変換パラメータを決定して,それをグローバル動きベクトルとする。動き探索の範囲を大きくするほど,予測誤差のより小さいグローバル動きベクトルが求められるが,逆に範囲が大きくなると演算量が大きくなる。
【0015】
【発明が解決しようとする課題】
上記のように,動き探索の探索範囲を大きくすると,演算量が大きくなる。そのため,実時間で動画像を符号化することを目的とした場合,演算量が大きくなると符号化が間に合わず,目的の符号化速度の符号化データを得られない問題が発生する。特に,固定フレームレートの符号化データを出力することを目的とした場合には,1フレームの符号化が実時間でできない場合に,固定フレームレートを維持できない。
【0016】
動画像符号化をハードウェアで実行する場合には,1つの演算命令に対してハードウェアでの演算処理速度が一対一に決まる。したがって,演算量が最大に大きくなった場合にも符号化が実行できるように,予めハードウェアの処理速度を設計すれば,符号化が間に合わない問題は発生しない。
【0017】
他方,ソフトウェアで実行する場合には,演算処理速度が機械に依存するため,1つの演算命令に対して実際の演算処理速度が一対一に決まらない。そのため,演算処理速度の小さい機械上で実行する場合には符号化が間に合わない問題が発生する。また,パーソナルコンピュータ(PC)のように,同じ機械上で他のプログラムが実行される場合がある。この場合には,動画像符号化の最中に他のプログラムが実行されると,機械の演算処理がそのプログラムに割かれるために,符号化を実行できなくなり,結果的に符号化速度が低下する。このように符号化の最中に,符号化のための演算処理が実行されない時間が発生する問題がある。
【0018】
【課題を解決するための手段】
パーソナルコンピュータのような機械の演算処理速度は,CPUのキャッシユへのアクセス速度やメモリへのアクセス速度等にも依存して決まるものであるが,主にプログラム中の演算命令を実行するCPUの処理速度に依存する。また,実際に演算を行うのはCPUであるため,1つの演算命令に対するCPUの命令処理回数が,機械の演算処理速度となる。すなわち,1つの演算命令に対するCPUの命令処理回数をCPUの動作周波数で除算した結果が,その機械上における1つの演算命令の処理時間となる。したがって,例えば1フレームを符号化する処理時間を求めるには,符号化を行っている間のCPUの命令処理回数を計測し,それをCPUの動作周波数で除算すればよい。同様に,動き探索処理を実行する処理時間は,それを行っている間のCPUの命令処理回数を計測すれば求めることができる。
【0019】
このように,CPUの命令処理回数から処理時間を計測することができる。また,本来CPUが実行するべき符号化処理に必要な命令処理回数は,プログラムの構成にのみ依存する。そのため,例えば動き探索処理のように1フレーム符号化するために必要な処理命令数が固定な処理の場合では,必要な命令処理回数を実行前に予め求めておくことが可能である。予測誤差の符号化では,フレーム毎にDCTの演算回数が異なる等で処理命令数が異なる。
【0020】
ただし,上記課題においても述べた通り,符号化の最中に他のプログラムが実行される場合もある。CPUは時分割で動作するため,他のプログラムが実行されている間はCPUは符号化処理を行わない。したがって,符号化を行っている間のCPUの命令処理回数には,他のプログラムを実行するための命令も含まれる。これが,符号化の最中に他のプログラムが実行されると符号化速度が低下する原因となる。
【0021】
本発明は,上記の課題を解決するため,探索精度を切り替えることなどにより,動きベクトル探索やグローバル動きベクトル探索に要する処理命令数を変更することを特徴とする。具体的には,以下の方法を用いる。
【0022】
第1の発明では,演算器で動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,符号化時に各フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索を行うための動き探索目標時間を設定し,前記記憶しておいた動き探索命令数情報に従って,動き探索目標時間から動き探索方法を決定して動き探索処理を制御する。
前記動き探索目標時間の設定では,1フレーム符号化終了後に,計測された符号化時間と前記記憶しておいた動き探索命令数情報とから,動き探索以外の処理の時間を推定し,1フレームの符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索を行うための動き探索目標時間として設定する。なお,以降に説明する発明においても,同様に遅延時間を考慮し,前のフレームの符号化にて遅延が生じている場合には,動き探索目標時間から遅延時間を差し引くことを行う。
【0023】
ここで,動き探索命令数情報とは,実質的に命令数に相当する情報であればよく,例えば時間に換算した値のような情報でもよい。以降に述べる発明でも同様である。
【0024】
この第1の発明によれば,符号化前に予め設定した各動き探索方法に対して,演算器で実行する動き探索の処理命令数を求めておくので,動き探索時間が設定されたときに,その時間に実行される処理命令数を求めて動き探索方法を決定することができる。
【0025】
例えば,次の2種類の動き探索を予め設定しているとする。
【0026】
[方法A]:マクロブロック内の全画素に対して絶対値差分和を求める。探索範囲内で1画素ずつずらして絶対値差分和を求め,絶対値差分和が最も小さい位置の平行移動量を動きベクトルとする。
【0027】
[方法B]:マクロブロック内の全画素に対して絶対値差分和を求める。探索範囲内で2画素ずつずらして絶対値差分和を求め,絶対値差分和が最も小さい位置の平行移動量を動きベクトルとする。
【0028】
符号化前に,予め方法Aと方法Bで動き探索を行った場合に,演算器で実行する命令数を求めておく。この結果,方法Aが10命令で方法Bが5命令であるとする。その後で,演算器を備えた符号化器で符号化する際に動き探索時間が設定され,これが演算器で7命令分であったとする。この場合,方法Aでは7命令内で動き探索を完了できないが,方法Bでは7命令内で完了できる。従っで,方法Bを選択し動き探索を実行すれば,実時間で符号化できることになる。
【0029】
第2の発明では,演算器で動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,符号化時に各フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索を行うための動き探索目標時間を設定し,前記記憶しておいた動き探索命令数情報に従って,動き探索目標時間から動き探索方法を決定し動き探索処理を制御し,その動き探索処理の実行時間を計測し,実際に計測された動き探索時間から,前記記憶しておいた動き探索命令数情報を更新する。
【0030】
この第2の発明によれば,第1の発明において符号化前に予め設定しておいた動き探索の処理命令数を,実際に動き探索を実行する符号化器で処理した命令数で更新することができる。この方法は,符号化前に予め正確な処理命令数を求めることができない場合に好適である。例えば,処理速度の異なる演算器を組み合わせて符号化器を構成する場合においては,符号化器の総合的な処理速度が分からないが,実際に数フレーム符号化して動き探索に必要な処理時間を求め,命令数を求めることができる。また,CPUのような汎用的な演算器で符号化処理を行う場合には,定期的に他のプログラムがCPUを使う場合があるため,実際の符号化にかかる処理時間がわからない。しかし,本発明によれば,実際に符号化して動き探索に必要な処理時間を求め,命令数を求めることができる。
【0031】
第3の発明では,演算器で動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,また符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておき,符号化時に各フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索とグローバル動き探索を行うための動き探索目標時間を設定し,動き探索目標時間から,前記記憶しておいた動き探索命令数情報とグローバル動き探索命令数情報に従って,動き探索方法とグローバル動き探索方法を決定し,動き探索処理とグローバル動き探索処理を制御する。
【0032】
この第3の発明によれば,動き探索の他にグローバル動き探索を行う場合にも,第1の発明と同様に,動き探索を目標時間内に実行できるように,動き探索方法とグローバル動き探索方法を決定することができる。
【0033】
第4の発明では,演算器で動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,また符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておき,符号化時に各フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索とグローバル動き探索を行うための動き探索目標時間を設定し,動き探索目標時間から,前記記憶しておいた動き探索命令数情報とグローバル動き探索命令数情報とに従って,動き探索方法とグローバル動き探索方法を決定し,動き探索処理とグローバル動き探索処理を制御し,その動き探索処理の実行時間を計測し,実際に計測された動き探索時間から,前記記憶しておいた動き探索命令数情報を更新し,またグローバル動き探索処理の実行時間を計測し,実際に計測されたグローバル動き探索時間から,前記記憶しておいたグローバル動き探索命令数情報を更新する。
【0034】
この第4の発明によれば,動き探索の他にグローバル動き探索を行う場合にも,第2の発明と同様に,実際に符号化して動き探索に必要な処理時間を求め,動き探索に必要な命令数を求めることができる。
【0035】
第5の発明では,演算器で画面内を分割した領域毎にブロック動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,符号化時に各フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索を行うための動き探索目標時間を設定し,ブロック動き探索処理で実行される領域毎の動き探索時間を計測し,その計測したブロック毎の動き探索時間を,フレーム単位で合計したフレーム動き探索時間を求め,前記記憶しておいた動き探索命令数情報に従って,動き探索目標時間とフレーム動き探索時間から動き探索方法を決定して動き探索処理を制御する。
【0036】
この第5の発明によれば,領域毎に動き探索を実行して動き探索時間を計測し,その時間の合計値と動き探索目標時間を比較することができる。これは,符号化最中に実際に符号化器が処理した動き探索の命令数が,符号化前に予め設定しておいた動き探索の処理命令数と異なる場合に好適である。例えば,動き探索時間の合計値が目標時間よりも大きくなった場合には,そのフレームの動き探索を強制終了させることができる。領域としてはマクロブロックや,マクロブロックの集合であるスライスを適用することができる。強制終了した場合に探索できなかった領域には,0ベクトル(静止)や,前フレームの同じ位置の動きベクトルや,周囲の領域の動きベクトルを,その領域の動きベクトルとして使用することもできる。
【0037】
第6の発明では,演算器で画面内を分割した領域毎にブロック動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,また符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておき,符号化時に各フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索を行うための動き探索目標時間であるローカル動き探索目標時間と,グローバル動き探索を行うための動き探索目標時間であるグローバル動き探索目標時間を設定し,ブロック動き探索処理で実行される領域毎の動き探索時間を計測し,その計測したブロック毎の動き探索時間を,フレーム単位で合計したフレーム動き探索時間を求め,グローバルブロック動き探索処理で実行される領域毎の動き探索時間を計測し,その計測したブロック毎の動き探索時間を,フレーム単位で合計したフレームグローバル動き探索時間を求め,前記記憶しておいた動き探索命令数情報に従って,ローカル動き探索目標時間とフレーム動き探索時間とから動き探索方法を決定して動き探索処理を制御し,また前記記憶しておいたグローバル動き探索命令数情報に従って,グローバル動き探索目標時間とフレームグローバル動き探索時間とからグローバル動き探索方法を決定し,グローバル動き探索処理を制御する。
【0038】
第6の発明によれば,動き探索の他にグローバル動き探索を行う場合にも,第5の発明と同様に,例えば,符号化最中に実際に符号化器が処理した動き探索やグローバル動き探索の命令数が,符号化前に予め設定しておいた動き探索やグローバル動き探索の処理命令数と異なる場合に,動き探索時間とグローバル動き探索の合計値が目標時間よりも大きくなった場合には,そのフレームの動き探索やグローバル動き探索を強制終了させることができる。
【0039】
第7の発明では,演算器で画面内を分割した領域毎にブロック動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,入力画像の画像情報から,画面内の各領域の画像統計情報を検出し,検出した画像統計情報から,動き探索する領域の順序を決定し,1フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索を行うための動き探索目標時間を設定し,ブロック動き探索処理で実行される領域毎の動き探索時間を計測し,その計測したブロック毎の動き探索時間をフレーム単位で合計したフレーム動き探索時間を求め,前記記憶しておいた動き探索命令数情報に従って,動き探索目標時間とフレーム動き探索時間とから動き探索方法を決定し動き探索処理を制御する。
【0040】
この第7の発明によれば,第5の発明のようにフレーム内の途中で動き探索を終了する場合において,動き探索をする前に予め,各領域に対して動き探索の順序を設定することが可能である。これは,例えば動き探索をする前に,画面内の各領域が動領域かどうかを測定して,動領域を静止領域よりも先に動き探索処理することが可能となる。動き探索の前に静止領域と判断された領域の動き探索で,動き探索時間の合計値が目標時間よりも大きくなり,そのフレームの動き探索を強制終了したとしても,静止領域であるため,その領域の動きベクトルを0ベクトルとすることができる。これにより,実際に動きベクトルを求めた場合からの符号化効率の低下を軽減できる。
【0041】
第8の発明では,演算器で画面内を分割した領域毎にブロック動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定し,符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておき,また符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておき,入力画像の画像情報から,画面内の各領域の画像統計情報を検出し,その検出した画像統計情報から,動き探索する領域の順序を決定し,1フレームの符号化時間を計測し,1フレーム符号化終了後に,前記設定した符号化目標時間と前記計測した符号化時間とから,次のフレームの動き探索を行うための動き探索目標時間であるローカル動き探索目標時間と,グローバル動き探索を行うための動き探索目標時間であるグローバル動き探索目標時間を設定し,ブロック動き探索処理で実行される領域毎の動き探索時間を計測し,その計測したブロック毎の動き探索時間をフレーム単位で合計したフレーム動き探索時間を求め,グローバルブロック動き探索処理で実行される領域毎の動き探索時間を計測し,その計測したブロック毎の動き探索時間をフレーム単位で合計したフレームグローバル動き探索時間を求め,前記記憶しておいた動き探索命令数情報に従って,ローカル動き探索目標時間とフレーム動き探索時間とから動き探索方法を決定し,動き探索処理を制御し,前記記憶しておいたグローバル動き探索命令数情報に従って,グローバル動き探索目標時間とフレームグローバル動き探索時間からグローバル動き探索方法を決定し,グローバル動き探索処理を制御する。
【0042】
この第8の発明によれば,第7の発明と同様に,動き探索をする前に,予め各領域に対して動き探索の順序を設定することにより,フレーム途中で動き探索を強制終了する際の符号化効率の低下を軽減できる。さらに,動き探索をする前に,予め各領域に対して動き探索をするかどうかを決定しておき,符号化の最中ではその領域のみ動き探索をし,グローバル動き探索に割り当てる時間を多くすることが可能である。例えば,動き探索をする前に,予め各領域が動領域か静止領域かを判定しておき,動領域のみ動き探索をして,静止領域は動き探索をしない。これにより,静止領域の動き探索のための時間をグローバル動き探索に割り当てることができる。
【0043】
以上の処理方法をコンピュータによって実現するためのソフトウェアプログラムは,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができる。
【0044】
【発明の実施の形態】
以下,本発明の実施の形態を図面を参照して説明する。
【0045】
第1の実施例では,符号化前に予め,各動き探索方法に対する処理命令数と,各グローバル動き探索方法に対する処理命令数を設定しておき,この値に従って,実時間で動画像を符号化する仕組みを述べる。
【0046】
動作周波数500MHzのCPUを搭載したコンピュータ上で,画面の大きさがCIF(横352画素,縦288画素)の動画像をフレームレートが毎秒10フレームで符号化する場合の動作を示す。
【0047】
動き探索方法としては下記の方法Aと方法Bと方法Cを用意する。画面内のマクロブロックに対してすべて同じ方法を適用する。
【0048】
[方法A]:マクロブロック内の全画素に対して絶対値差分和を求める。探索範囲は縦16画素・横16画素とする。探索範囲内で1画素ずつずらして絶対値差分和を求め,絶対値差分和が最も小さい位置の平行移動量を動きベクトルとする。
【0049】
[方法B]:マクロブロック内の全画素に対して絶対値差分和を求める。探索範囲は縦16画素・横16画素とする。探索範囲内で2画素ずつずらして絶対値差分和を求め,絶対値差分和が最も小さい位置の平行移動量を動きベクトルとする。
【0050】
[方法C]:すべてのマクロブロックの動きベクトルを0ベクトルとする。
【0051】
方法Aの動き探索の命令数は1000万で,方法Bの動き探索の命令数は500万で,方法Cの命令数は1万であるとする。
【0052】
また,グローバル動き探索方法としては,まずどちらも画面を縦8画素・横8画素のブロックに分割し,そのブロック単位に動き探索をする。全ブロックの動き探索が終わった後で,動きベクトルに対するブロック数を集計し,最もブロック数が多い動きベクトルをグローバル動きベクトルとする。ブロック単位の動き探索には,下記の方法Dと方法Eと方法Fを用意する。画面内のブロックに対してすべて同じ方法を適用する。
【0053】
[方法D]:ブロック内の全画素に対して絶対値差分和を求める。探索範囲は縦32画素・横32画素とする。探索範囲内で1画素ずつずらして絶対値差分和を求め,絶対値差分和が最も小さい位置の平行移動量を動きベクトルとする。
【0054】
[方法E]:ブロック内の全画素に対して絶対値差分和を求める。探索範囲は縦32画素・横32画素とする。探索範囲内で2画素ずつすらして絶対値差分和を求め,絶対値差分和が最も小さい位置の平行移動量を動きベクトルとする。
【0055】
[方法F]:すべてのブロックの動きベクトルを0ベクトルとする。
【0056】
方法Dを採用した場合のグローバル動き探索の命令数は3000万で,方法Eを採用した場合のグローバル動き探索の命令数は1500万で,方法Fを採用した場合のグローバル動き探索の命令数は1万であるとする。
【0057】
図4に,第1の実施例における符号化方法の処理手順を示す。なお,図4に示す各ブロックに表記した「部」は「手順」と読み替えることができる。他の実施例も同様である。
【0058】
図4の動き探索制御部(動き探索制御手順)106では,予め設定された方法Aまたは方法Bまたは方法Cの中からいずれかを,また,方法Dまたは方法Eまたは方法Fの中からいずれかを選択する。
【0059】
選択するフローを図5に示す。動き探索目標時間をtarget_me_timeとし,方法Aから方法Fまでの命令数を時間に変換した値を,me_time[i](i=1:方法A,i=2:方法B,i=3:方法C,1=4:方法D,i=5:方法E,i=6:方法F)とする。以下の選択を行う。
【0060】
me_time[1]とme_time[4]の和が,動き探索目標時間(target_me_time)より小さい場合,方法Aと方法Dを選択する(ステップS10)。
【0061】
me_time[1]とme_time[5]の和が,動き探索目標時間(target_me_time)より小さい場合,方法Aと方法Eを選択する(ステップS11)。
【0062】
me_time[1]とme_time[6]の和が,動き探索目標時間(target_me_time)より小さい場合,方法Aと方法Fを選択する(ステップS12)。
【0063】
me_time[2]とme_time[6]の和が,動き探索目標時間(target_me_time)より小さい場合,方法Bと方法Fを選択する(ステップS13)。
【0064】
me_time[3]とme_time[6]の和が,動き探索目標時間(target_me_time)より小さい場合,方法Cと方法Fを選択する(ステップS14)。
【0065】
以上のように,いずれの組み合わせを選択した場合にも,動き探索とグローバル動き探索が動き探索目標時間以内に処理されるように選択する。方法Cと方法Fを選択した場合に動き探索目標時間以内とならない場合(ステップS14でNOの場合)には,そのフレームを符号化せずに,次のフレームを符号化開始するものとする。この場合,動き探索目標時間には,1フレーム符号化するための符号化目標時間が加算される。
【0066】
まず,符号化開始前に目標時間設定部101にて,フレームレートが毎秒10フレームであることから,符号化目標時間として100msecを設定する。また,動きパラメータ記憶部102にて方法Aから方法Cまでの処理命令数を記憶し,グローバル動きパラメータ記憶部103にて方法Dから方法Fまでの処理命令数を記憶する。
【0067】
本実施例では,処理命令数に対応する実際の時間は以下の通りとなる。
【0068】
続いて,符号化を開始後のJ番目とJ+1番目のフレームの符号化手順を説明する。J−1番目のフレームでは符号化目標時間に符号化が間に合わず,J番目のフレームでは符号化目標時間に符号化が間に合ったとする。前提として,J−1番目のフレームに対して動き探索に方法Aを使い,グローバル動き探索に方法Dを使って,符号化時間計測部104において計測した符号化時間が110msecであったとする。すなわち,10msecの遅延が発生している。
【0069】
この状況において,まず動き探索時間設定部105にて,J番目のフレームに対する動き探索目標時間を求める。方法Aと方法Dを使って符号化時間が110msecであったことから,動き探索以外の処理の時間は,
110msec−(方法Aの時間+方法Dの時間)=110msec−(20msec+60msec)=30msec
と計算できる。
【0070】
次のフレームで10msecの遅延から回復することを踏まえ,動き探索目標時間target_me_timeは,
100msec−(遅延時間)−(動き探索以外の時間)=100msec−10msec−30msec=60msec
と設定する。動き探索制御部106では,図5の選択フローに従って,方法Aと方法Eを選択する。
【0071】
画像入力部107にて,1フレーム分の画像情報を取得する。動き探索部108では,方法Aで動き探索を行い,グローバル動き探索部109では,方法Eでグローバル動き探索を行う。フレーム間予測符号化部110では,動き探索部108で求められた動きベクトルとグローバル動き探索部109で求められたグローバル動きベクトルを用いてJ番目のフレームの画像情報を符号化する。局所復号部111では,符号化データを復号する。符号化時間計測部104は,J番目のフレームの符号化時間を計測する。符号化時間は55msecであったとする。
【0072】
この場合,J−1番目のフレームにて発生した10msecの遅延がなくなり,実時間で符号化できていることになる。このように,前フレームで実時間に符号化できない場合であっても,次のフレームの動き探索時間を調整することにより,次のフレームで遅延を解消することができる。
【0073】
続いて,動き探索時間設定部105にて,J+1番目のフレームに対する動き探索目標時間を求める。方法Aと方法Eを使って符号化時間が55msecであったことから,動き探索以外の処理の時間は,
55msec−(方法Aの時間+方法Eの時間)=50msec−(20msec+30msec)=5msec
と計算できる。そのため動き探索目標時間target_me_timeは,
100msec−(動き探索以外の時間)=100msec−5msec=95msec
と設定する。動き探索制御部106では,図5の選択フローに従って,方法Aと方法Dを選択する。
【0074】
画像入力部107にて,1フレーム分の画像情報を取得する。動き探索部108では,方法Aで動き探索を行い,グローバル動き探索部109では,方法Dでグローバル動き探索を行う。フレーム間予測符号化部110では,動き探索部108で求められた動きベクトルとグローバル動き探索部109で求められたグローバル動きベクトルを用いてJ番目のフレームの画像情報を符号化する。局所復号部111では,符号化データを復号する。符号化時間計測部104は,J+1番目のフレームの符号化時間を計測する。
【0075】
このように前フレームの符号化時間が符号化目標時間以内であった場合には,次のフレームの動き探索処理時間を多くすることにより,前フレームよりも符号化効率を上げることが可能である。
【0076】
第1の実施例のように,符号化前に予め,各動き探索方法に対する処理命令数と,各グローバル動き探索方法に対する処理命令数を設定しておき,この値に従って動き探索処理やグローバル動き探索処理を変更することにより,実時間で動画像を符号化できる。
【0077】
なお,第1の実施例では,動きベクトル探索とグローバル動き探索の処理命令数を変更する方法として,探索範囲内で1画素ずつずらす方法(方法Aと方法D),探索範囲内で2画素ずつずらす方法(方法Bと方法E),動きベクトルが0ベクトルの場合のみ計算する方法(方法Cと方法F)を示したが,3画素もしくはそれ以上の画素数ずらすことにより処理命令数をさらに削減することも可能である。また,動きベクトルの探索範囲が縦16画素・横16画素,グローバル動き探索の探索範囲が縦32画素・横32画素の場合のみ示したが,探索範囲を拡大または縮小することにより処理命令数を変更することも可能である。以下に示す第2〜第4の実施例でも同様である。
【0078】
また,グローバル動き探索を用いない場合には,図4に示す第1の実施例において,グローバル動きパラメータ記憶部103の処理およびグローバル動き探索部109の処理を省略した手順になることは説明するまでもない。以下に示す他の実施例においても同様である。
【0079】
第2の実施例では,符号化前に予め,各動き探索方法に対する処理命令数と,各グローバル動き探索方法に対する処理命令数とを設定しておき,この値に従って動画像を符号化し,符号化途中でこれらの処理命令数を変更する仕組みを述べる。
【0080】
動作周波数500MHzのCPUを搭載したコンピュータ上で,画面の大きさがCIF(横352画素,縦288画素)の動画像をフレームレートが毎秒10フレームで符号化する場合の動作を示す。
【0081】
動き探索方法には,第1の実施例と同じく方法Aと方法Bと方法Cを用意し,グローバル動き探索方法には,第1の実施例と同じく方法Dと方法Eと方法Fを用意する。動き探索方法とグローバル動き探索方法は,画面内のマクロブロックに対してすべで同じ方法を適用する。
【0082】
図6に,第2の実施例における符号化方法の処理手順を示す。ここで,動き探索制御部206にて,動き予測方法とグローバル動き探索方法の選択フローは,第1の実施例と同じく図5とする。
【0083】
符号化を開始後のJ番目とJ+1番目のフレームの符号化手順を説明する。J−1番目のフレームでは,符号化目標時間に符号化が間に合わず,J番目のフレームでは,符号化目標時間に符号化が間に合った場合を示す。前提として,J−1番目のフレームに対して,動き探索に方法Aを使い,グローバル動き探索に方法Dを使って,符号化時間計測部204において計測した符号化時間が120msecであったとする。すなわち20msecの遅延が発生している。
【0084】
また,動き探索時間計測部212にて計測された動き探索時間は40msecであり,グローバル動き探索時間計測部214にて計測されたグローバル動き探索時間は60msecであるとする。
【0085】
また,動きパラメータ記憶部202にて記憶している各方法の命令数は,方法Aは1000万で,方法Bは500万で,方法Cは1万であるとする。グローバル動きパラメータ記憶部203にて記憶している各方法の命令数は,方法Dは3000万で,方法Eは1500万で,方法Fは1万であるとする。
【0086】
この状況において,まずJ番目のフレームに対する動き探索命令数とグローバル動き探索命令数の更新を行う。動きパラメータ更新部213にて,方法Aの命令数を40msec*500MHz=2000万に,グローバル動きパラメータ更新部215にて,方法Dの命令数を
60msec*500MHz=3000万
に更新する。
【0087】
したがって,処理命令数に対応する実際の時間は以下の通りとなる。
【0088】
続いて動き探索時間設定部205にて,J番目のフレームに対する動き探索目標時間を求める。方法Aと方法Dを使って符号化時間が120msecであったことから,動き探索以外の処理の時間は,
と計算できる。
【0089】
次のフレームで20msecの遅延から回復することを踏まえ,動き探索目標時間target_me_timeは,
と設定する。動き探索制御部206では,図5のフローに従って,方法Aと方法Fを選択する。
【0090】
画像入力部207にて,1フレーム分の画像情報を取得する。動き探索部208では方法Aで動き探索を行い,グローバル動き探索部209では方法Fでグローバル動き探索を行う。フレーム間予測符号化部210では,動き探索部208で求められた動きベクトルとグローバル動き探索部209で求められたグローバル動きベクトルを用いてJ番目のフレームの画像情報を符号化する。局所復号部211では,符号化データを復号する。符号化時間計測部204では,J番目のフレームの符号化時間を計測する。符号化時間は55msecであったとする。また,動き探索時間計測部212にて計測された動き探索時間は40msecであり,グローバル動き探索時間計測部214にて計測されたグローバル動き探索時間は0.1msecであるとする。
【0091】
この状況において,まずJ+1番目のフレームに対する動き探索命令数とグローバル動き探索命令数の更新を行う。動きパラメータ更新部213にて,方法Aの命令数を40msec*500MHz=2000万に,グローバル動きパラメータ更新部215にて,方法Fの命令数を
0.1msec*500MHz=5万
に更新する。
【0092】
したがって,処理命令数に対応する実際の時間は以下の通りとなる。
【0093】
続いて動き探索時間設定部205にて,J+1番目のフレームに対する動き探索目標時間を求める。方法Aと方法Fを使って符号化時間が55msecであったことから,動き探索以外の処理の時間は,
と計算することができる。そのため,動き探索目標時間target_me_timeは,
と設定する。動き探索制御部206では,図5のフローに従って,方法Aと方法Eを選択する。
【0094】
画像入力部207にて,1フレーム分の画像情報を取得する。動き探索部208では,方法Aで動き探索を行い,グローバル動き探索部209では,方法Eでグローバル動き探索を行う。フレーム間予測符号化部210では,動き探索部208で求められた動きベクトルとグローバル動き探索部209で求められたグローバル動きベクトルを用いてJ+1番目のフレームの画像情報を符号化する。局所復号部211では,符号化データを復号する。符号化時間計測部204は,J+1番目のフレームの符号化時間を計測する。
【0095】
このように第2の実施例では,前フレームの符号化から,その演算器における動き探索命令数とグローバル動き探索命令数を求めて更新することにより,その演算器の演算処理速度に応じた動き探索方法とグローバル動き探索方法の選択をすることができる。
【0096】
また第2の実施例において,動き探索部208の処理を実行した後に,動き探索時間計測部212で動き探索時間を計測して,この時間も使って再度グローバル動き探索を実行する際の動き探索目標時間を再設定する方法も好適である。例えば,J+1番目のフレームにおける動き探索時間が20msecであったとすると,J+1番目のフレームのグローバル動き探索のための動き探索目標時間を,
target_me_time=85.1msec−20msec=65.1msec
と設定する。この情報に基づいて,再度グローバル動き探索方法を決定する。この選択フローを図7に示す。この選択フローに従って方法Dを選択して(ステップS20),グローバル動き探索を行う。グローバル動きベクトルを求めた後の動作は図6の処理手順と同じである。
【0097】
図7の選択フローでは,target_me_timeがme_time[4]より大きい場合に(ステップS20),方法Dを選択し,target_me_timeがme_time[4]以下で,かつme_time[5]より大きい場合には(ステップS21),方法Eを選択する。さらに,target_me_timeがme_time[5]以下で,かつme_time[6]より大きい場合には(ステップS22),方法Fを選択し,me_time[6]以下であればグローバル動き補償は行わない。
【0098】
このように,動き探索後にグローバル動き探索のための動き探索目標時間を再設定することにより,予測誤差のより少ないグローバル動きベクトルを求めることも可能となる。
【0099】
第3の実施例では,符号化前に予め,各動き探索方法に対する処理命令数を設定しておき,この値に従って,実時間で動画像を符号化する仕組みを述べる。ただし,第1の実施例と異なり,動き探索時間をマクロブロック単位に計測して動き探索を制御する。また符号化前に予めマクロブロック毎に動き探索の優先順位を決定する。以下の例では,動き探索目標時間以内にすべてのマクロブロックに対して動き探索を実行できない場合に,強制終了する動作例を示す。
【0100】
動作周波数500MHzのCPUを搭載したコンピュータ上で,画面の大きさがCIF(横352画素,縦288画素)の動画像をフレームレートが毎秒10フレームで符号化する場合の動作を示す。
【0101】
動き探索方法には,第1の実施例に記載の方法Aと方法Bを用意する。方法Aの動き探索の命令数は1000万で,方法Bの動き探索の命令数は500万であるとする。ただし,第1の実施例と異なり,動き探索方法は,画面内のマクロブロックに対して適宜変更する。図8に第3の実施例における符号化方法の処理手順を示す。ここで,動き探索制御部306にて行う動き予測方法の選択フローを図9に示す。
【0102】
ブロック動き探索時間計測部312にて計測されたブロック毎の動き探索時間をフレーム単位で合計し,その合計したフレーム動き探索時間をtotal_me_timeとし,動き探索目標時間をtarget_me_timeとし,方法Aと方法Bまでの命令数を時間に変換した値を,me_time[i](i=1:方法A,i=2:方法B)とする。動き探索をしたマクロブロック数count_MBは,動き探索処理を行った回数をカウントすることにより計測するものとする。画面中のマクロブロック数をtotal_MBとする。
【0103】
また,ブロック優先度検出部316では,画面内のエッジ画素を検出し,マクロブロック毎にエッジ画素数をカウントする。エッジは視覚的な品質を維持するのに重要であるため,画像の品質を向上するために重要である。そのため,エッジ画素を多く含むマクロブロックの符号化効率を向上しておく必要がある。探索ブロック決定部317では,エッジ画素数の多い順番にマクロブロックの番号を並べたリストを作成する。
【0104】
このような手順の構成における本実施例の動作を示す。まず,符号化開始前に目標時間設定部301にて,フレームレートが毎秒10フレームであることから,符号化目標時間として100msecを設定する。また,動きパラメータ記憶部302にて,方法Aと方法Bの処理命令数を記憶する。
【0105】
続いて,符号化を開始後のJ番目のフレームの符号化手順を説明する。前提として,J−1番目のフレームにおける符号化時間計測部304において計測した符号化時間が90msecであったとする。また,total_me_timeは80msecであったとする。
【0106】
この状況において,まず動き探索時間設定部305にて,J番目のフレームに対する動き探索目標時間を求める。符号化時間が90msecであったことから,動き探索以外の処理の時間は,
90msec−80msec=10msec
と計算できる。次のフレームでの動き探索目標時間target_me_timeは,
100msec−(動き探索以外の時間)=100msec−10msec=90msec
と設定する。このため,最初のマクロブロックでは,動き探索方法Aを選択する。
【0107】
画像入力部307にて1フレーム分の画像情報を取得する。ブロック優先度検出部316では,エッジ検出を行い,マクロブロック毎にエッジ画素数をカウントする。探索ブロック決定部317では,エッジ画素の多いマクロブロック順にマクロブロック番号を並べたリストを作成する。ここで作成したリストの例を,図10に示す。ブロック動き探索部308では,図9の選択フローに従って動き探索方法を決定し,図10のリストの順にマクロブロック単位に動き探索をする。
【0108】
動き方法の選択では,図9に示すようにtotal_MBとcount_MBとの差をtotal_MBで割ったものとme_time[1]との積が,target_me_timeとtotal_me_timeとの差より小さい場合に(ステップS30),方法Aを選択する。そうでない場合,total_MBとcount_MBとの差をtotal_MBで割ったものとme_time[2]との積を計算し,それが,target_me_timeとtotal_me_timeとの差より小さい場合(ステップS31),方法Bを選択する。それ以外の場合には,動き探索を中止する。
【0109】
マクロブロック番号200番のマクロブロックを符号化した後で,フレーム動き探索時間が69.9999999msecとなったとすると,図9の選択フローに従って,図10のリストに記載されているマクロブロックのうち,200番より後のマクロブロックについては動き探索を行わない。動き探索を行わないマクロブロックの動きベクトルは0ベクトルとする。
【0110】
フレーム間予測符号化部310では,ブロック動き探索部308で求められた動きベクトルを用いてJ番目のフレームの画像情報を符号化する。局所復号部311では,符号化データを復号する。符号化時間計測部304は,J番目のフレームの符号化時間を計測する。
【0111】
このように,マクロブロック単位に動き探索処理時間を計測することによって,フレーム途中で動き探索処理を終了することが可能である。また,フレーム途中で動き探索を終了する場合であっても,符号化する前に予め各マクロブロックを動き探索する順序を決めておくことにより,エッジ画素を多く含むマクロブロックの符号化効率を向上し,画像品質の劣化を軽減することが可能である。
【0112】
第4の実施例では,符号化前に予め,各動き探索方法に対する処理命令数と,各グローバル動き探索方法に対する処理命令数とを設定しておき,この値に従って,実時間で動画像を符号化する仕組みを述べる。ただし,第1の実施例と異なり,動き探索時間をマクロブロック単位に計測して動き探索を制御し,グローバル動き探索時間をマクロブロック単位に計測してグローバル動き探索を制御する。また,符号化前に予めマクロブロック毎に動き探索とグローバル動き探索の優先順位を決定する。以下の例では,ブロック動き探索部408において,ローカル動き探索目標時間以内にすべてのマクロブロックに対して動き探索を実行できない場合に,強制終了する動作例を示す。
【0113】
動作周波数500MHzのCPUを搭載したコンピュータ上で,画面の大きさがCIF(横352画素,縦288画素)の動画像をフレームレートが毎秒10フレームで符号化する場合の動作を示す。
【0114】
動き探索方法には,第1の実施例と同じく方法Aと方法Bを用意し,グローバル動き探索方法には,第1の実施例と同じく方法Dと方法Eを用意する。方法Aの動き探索の命令数は1000万で,方法Bの動き探索の命令数は500万であるとする。方法Dを採用した場合のグローバル動き探索の命令数は3000万で,方法Eを採用した場合のグローバル動き探索の命令数は1500万であるとする。ただし,第1の実施例と異なり,動き探索方法とグローバル動き探索方法は,画面内のマクロブロックに対して適宜変更する。
【0115】
図11に,第4の実施例における符号化方法の処理手順を示す。動き探索時間設定部405では,動き探索目標時間target_me_timeからローカル動き探索目標時間target_local_me_timeとグローバル動き探索目標時間target_global_me_timeを決定する。方法Aと方法Bの命令数を時間に変換した値を,me_time[i](i=1:方法A,i=2:方法B)とし,方法Dと方法Eの命令数を時間に変換した値を,me_time[i](i=4:方法D,i=5:方法E)とする。次の式に従って求める。
【0116】
target_local_me_time=target_me_time*me_time[1]/(me_time[l]+me_time[4])
target_global_me_time=target_me_time−target_local_me_time
動き探索制御部406における動き予測方法の選択フローを図12に,グローバル動き予測方法の選択フローを図13に示す。
【0117】
ブロック動き探索時間計測部412にて計測されたブロック毎の動き探索時間をフレーム単位で合計し,その合計したフレーム動き探索時間をtotal_local_me_timeとする。動き探索をしたマクロブロック数count_MBは,動き探索処理を行った回数をカウントすることにより計測するものとする。画面中のマクロブロック数をtotal_MBとする。
【0118】
グローバルブロック動き探索時間計測部419にて計測されたブロック毎の動き探索時間をフレーム単位で合計したフレームグローバル動き探索時間をtotal_global_me_timeとする。
【0119】
また,各フレームの画素の画像情報は0〜255までの値を取るものとし,ブロック優先度検出部416では,現フレームの原画像と前フレームの局所復号画像との間で同一位置の画素間の差分の絶対値を求め,差分絶対値が50以上となる画素(ここでは動画素と呼ぶ)の数をマクロブロック毎に計測する。動画素が多いほど,そのマクロブロックは動領域と判定できる。探索ブロック決定部417では,動画素の数の多い順番にマクロブロックの番号を並べたリストを作成する。
【0120】
このような手順の構成における本実施例の動作を示す。まず,符号化開始前に目標時間設定部401にて,フレームレートが毎秒10フレームであることから,符号化目標時間として100msecを設定する。また,動きパラメータ記憶部402にて,方法Aと方法Bの処理命令数を記憶する。
【0121】
続いて,符号化を開始後のJ番目のフレームの符号化手順を説明する。前提として,J−1番目のフレームにおける符号化時間計測部404において計測した符号化時間が100msecであったとする。また,total_local_me_timeは20msecであり,total_g1obal_me_timeは50msecであったとする。
【0122】
この状況において,まず動き探索時間設定部405にて,J番目のフレームに対する動き探索目標時間を求める。符号化時間が100msecであったことから,動き探索以外の処理の時間は,
100msec−20msec−50msec=30msec
と計算できる。次のフレームでの動き探索目標時間target_me_timeは,
100msec−(動き探索以外の時間)=100msec−30msec=70msec
と設定する。これから,ローカル動き探索目標時間target_local_me_timeとグローバル動き探索目標時間target_global_me_timeとを求める。
【0123】
画像入力部407にて1フレーム分の画像情報を取得する。ブロック優先度検出部416では,現フレームの原画像と前フレームの局所復号画像との間の絶対値差分を求め,動画素の数をマクロブロック毎にカウントする。探索ブロック決定部417では,動画素数の多いマクロブロック順にマクロブロック番号を並べたリストを作成する。ここで作成したリストは図10と同じとする。
【0124】
ブロック動き探索部408では,図12の選択フローに従って動き探索方法を決定し,図10のリストの順にマクロブロック単位に動き探索をする。マクロブロック番号100番のマクロブロックを符号化した後で,フレーム動き探索時間が17.49999999msecとなったとすると,図12の選択フローに従って図10のリストに記載されているマクロブロックのうち,100番より後のマクロブロックについては動き探索を行わない。動き探索を行わないマクロブロックの動きベクトルは0ベクトルとする。
【0125】
グローバルブロック動き探索部409では,図13の選択フローに従ってグローバル動き探索方法を決定し,図10のリストの順にマクロブロック単位に動き探索をする。マクロブロック番号50番のマクロブロックを符号化した後で,フレームグローバル動き探索時間が52.49999999msecとなったとすると,図13の選択フローに従って図10のリストに記載されているマクロブロックのうち,50番より後のマクロブロックについては動き探索を行わない。動き探索を行わないマクロブロックの動きベクトルは0ベクトルとする。これらのマクロブロック単位の動きベクトルのうち,最もマクロブロック数の多い動きベクトルをグローバル動きベクトルとする。
【0126】
フレーム間予測符号化部410では,ブロック動き探索部408で求められた動きベクトルとグローバルブロック動き探索部409で求められたグローバル動きベクトルを用いて,J番目のフレームの画像情報を符号化する。局所復号部411では,符号化データを復号する。符号化時間計測部404は,J番目のフレームの符号化時間を計測する。
【0127】
このように,動き探索目標時間からローカル動き探索目標時間とグローバル動き探索目標時間を設定し,マクロブロック単位に動き探索処理時間やグローバル動き探索処理時間を計測することによって,フレーム途中で動き探索処理やグローバル動き探索処理時間を終了することが可能である。
【0128】
また,すべてのマクロブロックに対してブロック動き探索部408が,予め設定したローカル動き探索目標時間以内に終了した場合には,余った時間をグローバル動き探索目標時間に加算することも好適である。例えば,ブロック動き探索時間計測部412で計測されたフレーム動き探索時間が9msecでブロック動き探索部408を終了した場合,グローバル動き探索目標時間target_global_me_timeを
52.5msec+(17.5msec−9msec)=61msec
に設定する。この値に従って図13の選択フローに従ってグローバル動き探索方法を決定する。この場合は最初のマクロブロックに対して方法Dが選択される。その後,図11の手順に従って符号化する。
【0129】
このように,ブロック動き探索処理が目標よりも早く終了した場合には,グローバル動き探索目標時間を再度決定することにより,予測誤差のより少ないグローバル動きベクトルを求めることができる。
【0130】
なお,図12の動き探索の選択フローおよび図13のグローバル動き探索の選択フローに示す選択アルゴリズムは,前述した図9の例と同様であるので,各ステップごとの詳細な説明は省略する。
【0131】
【発明の効果】
本発明によれば,符号化前に予め,各動き探索方法に対する処理命令数と,各グローバル動き探索方法に対する処理命令数を設定しておき,この値に従って動き探索処理やグローバル動き探索処理を変更することにより,実時間で動画像を符号化できる。すなわち,パーソナルコンピュータで符号化する場合のように,他のプログラムが実行される間に符号化処理が停止したり,機種によりCPUの処理速度が異なるため,同一のプログラムでも実行環境により処理時間が異なるような場合にも,動きベクトル探索に要する時間を調節して,実時間で動画像を符号化することができるようになる。
【図面の簡単な説明】
【図1】マクロブロックと探索範囲の関係を示す図である。
【図2】画素の選択方法の例を示す図である。
【図3】探索位置を2画素ずつずらす例を説明する図である。
【図4】第1の実施例の手順を説明する図である。
【図5】第1の実施例における動き探索の選択フローである。
【図6】第2の実施例の手順を説明する図である。
【図7】第2の実施例におけるグローバル動き探索の選択フローである。
【図8】第3の実施例の手順を説明する図である。
【図9】第3の実施例における動き探索の選択フローである。
【図10】動き探索をするマクロブロックの順序の例を示す図である。
【図11】第4の実施例の手順を説明する図である。
【図12】第4の実施例における動き探索の選択フローである。
【図13】第4の実施例におけるグローバル動き探索の選択フローである。
【符号の説明】
101 目標時間設定部
102 動きパラメータ記憶部
103 グローバル動きパラメータ記憶部
104 符号化時間計測部
105 動き探索時間設定部
106 動き探索制御部
107 画像入力部
108 動き探索部
109 グローバル動き探索部
110 フレーム間予測符号化部
111 局所復号部
Claims (9)
- 演算器で動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
動き探索をする動き探索ステップと,
動き探索ステップにて求めた動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と動きパラメータ記憶ステップにて記憶してある動き探索命令数情報とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索を行うための動き探索目標時間として設定する動き探索時間設定ステップと,
動きパラメータ記憶ステップにて記憶してある動き探索命令数情報に従って,動き探索目標時間から動き探索方法を決定し動き探索処理を制御する動き探索制御ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
動き探索をする動き探索ステップと,
動き探索ステップにて求めた動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
動き探索ステップの実行時間を測定する動き探索時間計測ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と動き探索時間計測ステップにて計測された動き探索時間とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索を行うための動き探索目標時間として設定する動き探索時間設定ステップと,
次のフレームの動き探索を行うための動き探索目標時間を設定する動き探索時間設定ステップと,
動きパラメータ記憶ステップにて記憶してある動き探索命令数情報に従って,動き探索目標時間から動き探索方法を決定し動き探索処理を制御する動き探索制御ステップと,
動き探索時間計測ステップにて計測された動き探索時間から,動きパラメータ記憶ステップに記憶してある動き探索命令数情報を更新する動きパラメータ更新ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
動き探索をする動き探索ステップと,
グローバル動き探索をするグローバル動き探索ステップと,
動き探索ステップにて求めた動きベクトルとグローバル動き探索ステップにて求めたグローバル動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておくグローバル動きパラメータ記憶ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と動きパラメータ記憶ステップにて記憶してある動き探索命令数情報とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索とグローバル動き探索を行うための動き探索目標時間として設定する動き探索時間設定ステップと,
動き探索目標時間から,動きパラメータ記憶ステップにて記憶してある動き探索命令数情報とグローバル動きパラメータ記憶ステップにて記憶してあるグローバル動き探索命令数情報に従って,動き探索方法とグローバル動き探索方法を決定し,動き探索処理とグローバル動き探索処理を制御する動き探索制御ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
動き探索をする動き探索ステップと,
グローバル動き探索をするグローバル動き探索ステップと,
動き探索ステップにて求めた動きベクトルとグローバル動き探索ステップにて求めたグローバル動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておくグローバル動きパラメータ記憶ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
動き探索ステップの実行時間を測定する動き探索時間計測ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と動き探索時間計測ステップにて計測された動き探索時間とから,動き探索以外の処理の時間を 推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索とグローバル動き探索を行うための動き探索目標時間として設定する動き探索時間設定ステップと,
動き探索目標時間から,動きパラメータ記憶ステップにて記憶してある動き探索命令数情報とグローバル動きパラメータ記憶ステップにて記憶してあるグローバル動き探索命令数情報に従って,動き探索方法とグローバル動き探索方法を決定し,動き探索処理とグローバル動き探索処理を制御する動き探索制御ステップと,
動き探索時間計測ステップにて計測された動き探索時間から,動きパラメータ記憶ステップに記憶してある動き探索命令数情報を更新する動きパラメータ更新ステップと,
グローバル動き探索ステップの実行時間を測定するグローバル動き探索時間計測ステップと,
グローバル動き探索時間計測ステップにて計測されたグローバル動き探索時間から,グローバル動きパラメータ記憶ステップに記憶してあるグローバル動き探索命令数情報を更新するグローバル動きパラメータ更新ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
画面内を領域に分割し,領域毎に動き探索をするブロック動き探索ステップと,
動き探索ステップにて求めた領域毎に動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
ブロック動き探索ステップで実行される領域毎の動き探索時間を測定するブロック動き探索時間計測ステップと,
ブロック動き探索時間計測ステップにて計測されたブロック毎の動き探索時間を,フレーム単位で合計したフレーム動き探索時間を求めるブロック動き探索時間加算ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と前記フレーム動き探索時間とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索を行うための動き探索目標時間として設定する動き探索時間設定ステップと,
動きパラメータ記憶ステップにて記憶してある動き探索命令数情報に従って,動き探索目標時間とフレーム動き探索時間から動き探索方法を決定し動き探索処理を制御する動き探索制御ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
画面内を領域に分割し,領域毎に動き探索をするブロック動き探索ステップと,
画面内を領域に分割し,領域毎に動き探索をしてグローバル動きベクトルを求めるグローバルブロック動き探索ステップと,
ブロック動き探索ステップにて求めた領域毎の動きベクトルとグローバルブロック動き探索ステップにて求めたグローバル動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておくグローバル動きパラメータ記憶ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
ブロック動き探索ステップで実行される領域毎の動き探索時間を測定するブロック動き探索時間計測ステップと,
ブロック動き探索時間計測ステップにて計測されたブロック毎の動き探索時間を,フレーム単位で合計したフレーム動き探索時間を求めるブロック動き探索時間加算ステップと,
グローバルブロック動き探索ステップで実行される領域毎の動き探索時間を測定するグローバルブロック動き探索時間計測ステップと,
グローバルブロック動き探索時間計測ステップにて計測されたブロック毎の動き探索時間を,フレーム単位で合計したフレームグローバル動き探索時間を求めるグローバルブロック動き探索時間加算ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と前記フレーム動き探索時間と前記フレームグローバル動き探索時間とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値をもとに,次のフレームの動き探索を行うための動き探索目標時間であるローカル動き探索目標時間と,グローバル動き探索を行うための動き探索目標時間であるグローバル動き探索目標時間を設定する動き探索時間設定ステップと,
動きパラメータ記憶ステップにて記憶してある動き探索命令数情報に従って,ローカル動き探索目標時間とフレーム動き探索時間から動き探索方法を決定し動き探索処理を制御する動き探索制御ステップと,
グローバル動きパラメータ記憶ステップにて記憶してあるグローバル動き探索命令数情報に従って,グローバル動き探索目標時間とフレームグローバル動き探索時間からグローバル動き探索方法を決定しグローバル動き探索処理を制御するグローバル動き探索制御ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
画面内を領域に分割し,領域毎に動き探索をするブロック動き探索ステップと,
動き探索ステップにて求めた領域毎に動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
入力画像の画像情報から,画面内の各領域の画像統計情報を検出するブロック優先度検出ステップと,
画像統計情報から,動き探索する領域の順序を決定する探索ブロック決定ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
ブロック動き探索ステップで実行される領域毎の動き探索時間を測定するブロック動き探索時間計測ステップと,
ブロック動き探索時間計測ステップにて計測されたブロック毎の動き探索時間を,フレーム単位で合計したフレーム動き探索時間を求めるブロック動き探索時間加算ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と前記フレーム動き探索時間とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値を,次のフレームの動き探索を行うための動き探索目標時間として設定する動き探索時間設定ステップと,
動きパラメータ記憶ステップにて記憶してある動き探索命令数情報に従って,動き探索目標時間とフレーム動き探索時間から動き探索方法を決定し動き探索処理を制御する動き探索制御ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 演算器で動き探索とグローバル動き探索を行い,動き補償フレーム間予測符号化方式を用いて動画像を符号化する動画像符号化方法において,
画像を入力する画像入力ステップと,
画面内を領域に分割し,領域毎に動き探索をするブロック動き探索ステップと,
画面内を領域に分割し,領域毎に動き探索をしてグローバル動きベクトルを求めるグローバルブロック動き探索ステップと,
ブロック動き探索ステップにて求めた領域毎の動きベクトルとグローバルブロック動き探索ステップにて求めたグローバル動きベクトルを使って動き補償フレーム間予測符号化を行うフレーム間予測符号化ステップと,
符号化データを復号する局所復号ステップと,
を実行する動画像符号化方法であって,
符号化前に予め定められたフレームレートから1フレームを符号化する時間である符号化目標時間を設定する目標時間設定ステップと,
符号化前に予め設定した動き探索方法に対して,演算器で実行する動き探索の処理命令数である動き探索命令数情報を記憶しておく動きパラメータ記憶ステップと,
符号化前に予め設定したグローバル動き探索方法に対して,演算器で実行する動き探索の処理命令数であるグローバル動き探索命令数情報を記憶しておくグローバル動きパラメータ記憶ステップと,
入力画像の画像情報から,画面内の各領域の画像統計情報を検出するブロック優先度検出ステップと,
画像統計情報から,動き探索する領域の順序を決定する探索ブロック決定ステップと,
1フレームの符号化時間を計測する符号化時間計測ステップと,
ブロック動き探索ステップで実行される領域毎の動き探索時間を測定するブロック動き探索時間計測ステップと,
ブロック動き探索時間計測ステップにて計測されたブロック毎の動き探索時間を,フレーム単位で合計したフレーム動き探索時間を求めるブロック動き探索時間加算ステップと,
グローバルブロック動き探索ステップで実行される領域毎の動き探索時間を測定するグローバルブロック動き探索時間計測ステップと,
グローバルブロック動き探索時間計測ステップにて計測されたブロック毎の動き探索時間を,フレーム単位で合計したフレームグローバル動き探索時間を求めるグローバルブロック動き探索時間加算ステップと,
1フレーム符号化終了後に,符号化時間計測ステップにて計測された符号化時間と前記 フレーム動き探索時間と前記フレームグローバル動き探索時間とから,動き探索以外の処理の時間を推定し,目標時間設定ステップにて設定される符号化目標時間から動き探索以外の処理の時間を引き,さらに前のフレームの符号化にて遅延が生じている場合にその遅延時間を引いた値をもとに,次のフレームの動き探索を行うための動き探索目標時間であるローカル動き探索目標時間と,グローバル動き探索を行うための動き探索目標時間であるグローバル動き探索目標時間を設定する動き探索時間設定ステップと,
動きパラメータ記憶ステップにて記憶してある動き探索命令数情報に従って,ローカル動き探索目標時間とフレーム動き探索時間から動き探索方法を決定し動き探索処理を制御する動き探索制御ステップと,
グローバル動きパラメータ記憶ステップにて記憶してあるグローバル動き探索命令数情報に従って,グローバル動き探索目標時間とフレームグローバル動き探索時間からグローバル動き探索方法を決定しグローバル動き探索処理を制御するグローバル動き探索制御ステップと,
を実行することを特徴とする処理時間適応画像符号化方法。 - 請求項1から請求項8までのいずれか1項に記載の処理時間適応画像符号化方法をコンピュータに実行させるためのプログラムを記録した
ことを特徴とする処理時間適応画像符号化プログラムの記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000303509A JP3670566B2 (ja) | 2000-10-03 | 2000-10-03 | 処理時間適応画像符号化方法およびそのプログラムの記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000303509A JP3670566B2 (ja) | 2000-10-03 | 2000-10-03 | 処理時間適応画像符号化方法およびそのプログラムの記録媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002112274A JP2002112274A (ja) | 2002-04-12 |
| JP3670566B2 true JP3670566B2 (ja) | 2005-07-13 |
Family
ID=18784700
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000303509A Expired - Fee Related JP3670566B2 (ja) | 2000-10-03 | 2000-10-03 | 処理時間適応画像符号化方法およびそのプログラムの記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3670566B2 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100727910B1 (ko) * | 2000-10-11 | 2007-06-13 | 삼성전자주식회사 | 하이브리드형 고속 움직임 추정 방법 및 그 장치 |
| US7515634B2 (en) * | 2002-06-28 | 2009-04-07 | Qualcomm Incorporated | Computationally constrained video encoding |
| JP3787633B2 (ja) * | 2003-04-21 | 2006-06-21 | 独立行政法人情報通信研究機構 | 実時間コンテンツ編集システム |
| JP4401861B2 (ja) * | 2004-04-30 | 2010-01-20 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
| JP2007074592A (ja) * | 2005-09-09 | 2007-03-22 | Sony Corp | 画像処理装置および方法、プログラム、並びに記録媒体 |
| TWI305109B (en) * | 2005-12-30 | 2009-01-01 | Altek Corp | Method for processing motion image |
| JP4670688B2 (ja) * | 2006-03-06 | 2011-04-13 | 日本電気株式会社 | 動きベクトル検出方法、動きベクトル検出装置及び動きベクトル検出用プログラム |
| US8340185B2 (en) * | 2006-06-27 | 2012-12-25 | Marvell World Trade Ltd. | Systems and methods for a motion compensated picture rate converter |
| WO2008147565A2 (en) | 2007-05-25 | 2008-12-04 | Arc International, Plc | Adaptive video encoding apparatus and methods |
| JP4891204B2 (ja) * | 2007-11-16 | 2012-03-07 | キヤノン株式会社 | 映像処理装置、映像処理方法、映像処理プログラム及び記憶媒体 |
| JP2011211498A (ja) * | 2010-03-30 | 2011-10-20 | Sanyo Electric Co Ltd | 画像符号化装置および画像符号化方法 |
| JP6922215B2 (ja) | 2016-12-27 | 2021-08-18 | 富士通株式会社 | 動画像符号化装置 |
-
2000
- 2000-10-03 JP JP2000303509A patent/JP3670566B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002112274A (ja) | 2002-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8340189B1 (en) | Phase correlation based motion estimation in hybrid video compression | |
| JP4573438B2 (ja) | 映像コーディング | |
| US20150172687A1 (en) | Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors | |
| JP3670566B2 (ja) | 処理時間適応画像符号化方法およびそのプログラムの記録媒体 | |
| US20060045186A1 (en) | Apparatus and method for coding moving picture | |
| WO2008003220A1 (en) | Motion vector estimation method | |
| JP2003532309A (ja) | 適応動きベクトル場符号化 | |
| JP2000236552A (ja) | 動きベクトル検出装置 | |
| KR100677562B1 (ko) | 움직임 추정 방법 및 장치 | |
| JP5613319B2 (ja) | 映像符号化装置、映像符号化方法および映像符号化プログラム | |
| CN109640097B (zh) | 自适应因子的视频仿射运动估计方法 | |
| US7953154B2 (en) | Image coding device and image coding method | |
| JP4467541B2 (ja) | サブピクセルの動き推定時にモデルスイッチングを通じた圧縮効率を高めるエンコード方法及び装置 | |
| CN109120940B (zh) | 自适应因子的视频缩放运动估计方法 | |
| US20060114997A1 (en) | Temporal prediction in video coding | |
| EP2362655B1 (en) | Motion-vector estimation | |
| JP2009509403A (ja) | 統合時空間予測法 | |
| CN101389032A (zh) | 一种基于图像插值的帧内预测编码方法 | |
| US20240080462A1 (en) | Systems and Methods for Low-Resolution Motion Estimation Searches | |
| JP4677932B2 (ja) | 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体 | |
| KR100490730B1 (ko) | 비디오 영상 압축 시스템에서의 적응적 패턴을 이용한움직임 예측 장치 및 방법 | |
| JP2002247584A (ja) | 画像符号化方法および装置、並びに、画像符号化処理用プログラム及びそのプログラムの記録媒体 | |
| JP3615963B2 (ja) | リアルタイム動映像符号化のための高速動き推定方法及びその装置 | |
| JPH11113003A (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
| JP3860435B2 (ja) | 動画像符号化装置及び方法と、動画像符号化処理用プログラム及びそのプログラムの記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050111 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050223 |
|
| 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: 20050412 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050414 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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: 20090422 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090422 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100422 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100422 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110422 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |