(57)【要約】  本発明は、データのブロックに分割されたピクチャのシーケンスをエンコードする方法であって、−現ピクチャに含まれる現ブロックと予測関数を使用した候補範囲との差から残差誤差ブロックを計算するステップと、−前記残差誤差ブロックのエントロピーを計算するステップと、−前記現ブロックと前記候補範囲との全体誤差を計算するステップと、−前記予測関数を実施するように適合されたビデオ処理装置の消費電力を推定するステップと、−前記エントロピーと、前記全体誤差と、前記ビデオ処理装置の前記推定消費電力とに基づいてレート歪み値を計算するステップと、−前記レート歪み値に従って予測関数を選択するために、一式の予測関数を使用して前記のステップに一式の候補範囲を適用するステップとを有する。
2007538415.tif 000002
【特許請求の範囲】
【請求項１】
データのブロックに分割されたピクチャのシーケンスをエンコードする方法であって、
−現ピクチャに含まれる現ブロックと予測関数を使用した候補範囲との差から残差誤差ブロックを計算するステップと、
−前記残差誤差ブロックのエントロピーを計算するステップと、
−前記現ブロックと前記候補範囲との全体誤差を計算するステップと、
−前記予測関数を実施するように適合されたビデオ処理装置の消費電力を推定するステップと、
−前記エントロピーと、前記全体誤差と、前記ビデオ処理装置の前記推定消費電力とに基づいてレート歪み値を計算するステップと、
−前記レート歪み値に従って予測関数を選択するために、一式の予測関数を使用して前記のステップに一式の候補範囲を適用するステップと
を有する方法。
【請求項２】
請求項１に記載のビデオエンコード方法であって、
前記推定ステップは、前記一式の予測関数についてビデオデコーダの消費電力を使用することができるビデオエンコード方法。
【請求項３】
請求項１に記載のビデオエンコード方法であって、
前記推定ステップは、所定数のピクチャについて、前記一式の異なる予測関数の電力レート歪み値を計算し、次のピクチャのエンコードについて、前記電力レート歪み値を最小化する予測関数を選択することができるビデオエンコード方法。
【請求項４】
請求項１に記載のビデオエンコード方法であって、
前記推定ステップは、前記予測関数の計算及び転送パラメータから前記ビデオ処理装置の消費電力を推定することができるビデオエンコード方法。
【請求項５】
請求項４に記載のビデオエンコード方法であって、
前記推定ステップは、前記ビデオ処理装置の技術特性から前記ビデオ処理装置の消費電力を推定することができるビデオエンコード方法。
【請求項６】
請求項１に記載のビデオエンコード方法であって、
前記レート歪み値は、推定の消費電力と重み係数との積に依存し、
前記重み係数は、前記ビデオ処理装置の電力供給レベルに依存するビデオエンコード方法。
【請求項７】
データのブロックに分割されたピクチャのシーケンスをエンコードするビデオエンコーダであって、
請求項１に記載のビデオエンコード方法のステップを実施する手段を有するビデオエンコーダ。
【請求項８】
請求項７に記載のビデオエンコーダと、前記ビデオエンコーダに供給する電力供給を有するハンドヘルド装置。
【請求項９】
プログラムがプロセッサにより実行されると、請求項１に記載のビデオエンコード方法を実施するプログラム命令を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのブロックに分割されたピクチャのシーケンスをエンコードする方法に関し、その方法は予測ブロックに基づくエンコード方法に基づく。
【０００２】
本発明は、デジタルビデオエンコーダ（例えば、ホームサーバ、デジタルビデオレコーダ、ビデオカメラ等、より具体的には携帯電話又は携帯情報端末）に組み込む製品に特に関係し、その装置は送信前にビデオデータを取得してエンコードすることができる内蔵カメラを有する。
【背景技術】
【０００３】
従来のビデオエンコーダでは、メモリ転送のほとんど（その結果として大量の消費電力）は、動き推定から生じている。動き推定は、レート歪みの基準に従って現ブロックと一式の複数の候補参照ブロックとの間の最適なマッチングを検索することを有し、現ブロックと候補参照ブロックとの間の差は、残差誤差ブロックを形成する。
【０００４】
G.Sullivan、T.Wiegandによる“Rate  Distortion  Optimization  for  Video  Compression”、IEEE  Signal  Processing  Magazine、pp.74-90、1998年11月という題の文献は、レート歪み値を計算する方法を記載している。この値cは、式(1)に示すように、残差誤差ブロックのエントロピーhから、その残差誤差ブロックから得られる再構成誤差mseで計算される。
【０００５】
c=h+λ1*mse      (1)
但しλ1は重み係数である。
【０００６】
これは、期待ビットレートに従って現ブロックをエンコードするために最良の形態を選択することに役立つ。選択される最善の参照ブロックは、レート歪み値を最小化するものである。次に、残差誤差ブロックはエントロピー符号化され、その関連の動きベクトル及び／又はエンコードモードと共に送信される。
【０００７】
しかし、限られた電力を有する携帯用装置に埋め込まれたビデオエンコーダの場合には特に、このようなレート歪み値は最適ではない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ビデオ処理装置（すなわち、ビデオデコーダ又はビデオエンコーダ）の消費電力を低減することを可能にするエンコード方法を提案することが、本発明の目的である。
【課題を解決するための手段】
【０００９】
このため、本発明によるビデオエンコード方法は、
−現ピクチャに含まれる現ブロックと予測関数を使用した候補範囲との差から残差誤差ブロックを計算し、
−前記残差誤差ブロックのエントロピーを計算し、
−前記現ブロックと前記候補範囲との全体誤差を計算し、
−前記予測関数を実施するように適合されたビデオ処理装置の消費電力を推定し、
−前記エントロピーと、前記全体誤差と、前記ビデオ処理装置の前記推定消費電力とに基づいてレート歪み値を計算し、
−前記レート歪み値に従って予測関数を選択するために、一式の予測関数を使用して前記のステップに一式の候補範囲を適用する
ことを有することを特徴とする。
【００１０】
従って、本発明は、エンコード段階で、予測処理の消費電力を考慮に入れて、新しいレート歪み値による全ての利用可能なものから予測関数（すなわち最善のエンコードモード）を選択することが可能になる。換言すると、従来のレート歪み値は、三次元としての消費電力の推定を受け取って、電力レート歪み値になり、消費電力とビットレート又は帯域と画質との間のより良いトレードオフを可能にする。
【００１１】
本発明の第１実施例によれば、レート歪み値は、電力と調和した予測関数を選択することにより、ピクチャの対応のエンコードシーケンスをデコードするビデオデコーダによる予測関数の推定消費電力を考慮に入れる。
【００１２】
本発明の他の実施例によれば、レート歪み値は、予測を実行するためにビデオエンコーダにより必要な消費電力を考慮に入れる。
【００１３】
本発明はまた、前記のビデオエンコード方法を実施するビデオエンコーダに関する。
【００１４】
本発明は、そのビデオエンコーダと、そのビデオエンコーダを供給する電力供給とを有するハンドヘルド装置に関する。
【００１５】
最後に、本発明は、プログラムがプロセッサにより実行されると、本発明によるビデオエンコード方法を実施するプログラム命令を有するコンピュータプログラムプロダクトに関する。
【００１６】
本発明の前記及び他の態様は、以下に説明する実施例から明らかであり、それを参照して説明する。
【発明を実施するための最良の形態】
【００１７】
本発明について、添付図面を参照して、一例として詳細に説明する。
【００１８】
本発明は、ビデオエンコーダ及び／又はデコーダの消費電力の関数として、エンコード処理、特に予測ステップを適応する方法に関する。エンコード処理は、例えばそのエンコーダ及び／又はデコーダのバッテリレベルを考慮に入れて適応される。
【００１９】
その方法は、携帯電話又は内蔵カメラのように、限られた電力を有し、ビデオシーケンスのエンコード及びデコードを処理する必要があるハンドヘルド装置のために特に設けられる。
【００２０】
MPEG-4若しくはH.264ビデオエンコーダ、又はその他の同等のレート歪みに基づくビデオエンコーダで使用され得る。その方法は、オーディオ及び静止画エンコード／デコードにも拡張され得る。
【００２１】
本発明は、以下の検討に基づく。専用のコプロセッサと外部メモリモジュールとに結合された中央処理装置CPUを有する従来のビデオアーキテクチャについて検討する。長期にわたって、中央処理装置CPUは、消費電力に関してこれらの３つの要素のうち最も消費電力が高いと考えられており、アルゴリズムの計算上の複雑性もまた、そのエネルギー消費を決定することを示す。現時点で、計算上の負荷とメモリアクセスとの間の配分は、より良いバランスを保っている。現在の発展を考慮すると、後者の優位がすぐに予想され得る。従って、そのようなアーキテクチャを考慮して、低電力のアプリケーションは、現在のアルゴリズムに比較してかなりのメモリアクセスの低減を必要とする。更に、CPUに近いメモリモジュールはデータにアクセスするときの小さいエネルギー損失を意味するため、これらのアクセスの局所性も重要である。
【００２２】
図１に示す従来のビデオエンコーダの場合、前述の要素は、離散コサイン変換DCT（11）と、スカラ量子化Q（12）と、可変長符号化VCL（13）と、逆量子化IQ（14）と、逆離散コサイン変換IDCT（15）と、動き補償MC（16）と、動き推定ME（18）とを実行するように適合される。動き補償及び動き推定モジュールは、外部フレームメモリモジュールMEM（17）に結合されている。
【００２３】
図２に示す従来のビデオエンコーダの場合、前述の要素は、可変長符号化VCD（21）と、逆量子化IQ（22）と、逆離散コサイン変換IDCT（22）と、動き補償MC（24）と、ブロック再構成REC（25）とを実行するように適合される。動き補償モジュールは、外部フレームメモリモジュールMEM（26）に結合されている。
【００２４】
消費電力に関するボトルネックは、これらのビデオアーキテクチャの異なるユニット間での転送量にある。本発明は、メモリ転送のほとんどが動き推定及び動き補償から生じているという観測に基づく。これらの動き動作は、画素への多数のアクセスを表し、外部メモリモジュールへの多数のアクセスを表す。検索範囲が大きいほど、メモリの大きさが大きくなり、従って電力損失が大きくなる。
【００２５】
本発明によれば、その目的は、予測処理の消費電力をも考慮に入れることにより、エンコード段階で、利用可能なものから最善の予測関数を選択することにある。本発明は、新しいレート歪みの基準を使用することが、デコーダレベル若しくはエンコーダレベル又はその双方で、全体の消費電力／ビットレート／画質のトレードオフを増加さえ得る３つの場合を提案する。
【００２６】
図３は、本発明によるエンコード方法を示したブロック図である。その方法は、ピクチャのシーケンスをエンコードすることができ、ピクチャはデータのブロックに分割されている。
【００２７】
それは、現ピクチャに含まれる現ブロックと、予測関数の使用による１つの候補範囲との差から、残差誤差ブロックを計算する第１のステップReseC（33）を有する。
【００２８】
予測関数は、一式の予測関数から選択される。予測関数は、同じフレーム又は以前若しくは以後のフレームにある他の範囲からの画素に基づいて、現フレームで現ブロック（すなわち、エンコードされる対象のもの）を予測する方法として定義される。
【００２９】
例えば、一式の予測関数は、従来の動き推定に基づく。その従来の動き推定は、参照ピクチャ（すなわち以前又は以後のピクチャ）で候補参照ブロックを検索することを有し、そのブロックは現ピクチャに含まれる現ブロックに対応する。その候補参照ブロック（すなわち候補範囲）は、検索範囲と呼ばれる参照ピクチャの所定の範囲で検索される。MPEG2標準の例では、検索範囲はデコードについて256ラインに限定される。検索範囲の大きさは計算リソースに応じて減少し得ることが、当業者に明らかである。
【００３０】
他の予測関数pf1は、H.264イントラ予測に基づく。エンコードする現ブロックXの所定の画素x(i,j)について、残差値r(i,j)は、図４で説明するように、ブロックXの左隣のコラムAと上隣のラインBとから計算され、この例ではA及びBは候補範囲を作る。残差値r(i,j)は次のように計算される。
【００３１】
r(i,j)=x(i,j)-avg(A,B)
但し、avg(A,B)は、セグメントA及びBの平均値を計算することができる関数である。この第１の予測関数は、一様の範囲に特に適合される。
【００３２】
他の予測関数pf2は、H.264イントラ垂直予測に基づく。図４に示す表記を用いて、残差値は次のように計算される。
【００３３】
r(i,j)=x(i,j)-b(i)
この空間予測関数は、垂直に一様の範囲に特に適合される。
【００３４】
他の予測関数pf3は、H.264イントラ水平予測に基づく。図４に示す表記を用いて、残差値は次のように計算される。
【００３５】
r(i,j)=x(i,j)-a(j)
この空間予測関数は、水平に一様の範囲に特に適合される。複数の他の空間予測も可能である。それらは、デコード可能にするために、共通してA及びBセグメントのみを使用し、又はXの可逆関数を適用する必要がある。
【００３６】
他の予測関数pf4は、現フレームF(t)の画素x(i,j)のブロックXと、直前のフレームF(t-1)で同じ位置を有する画素y(i,j)の対応するブロックYとを表す図５に基づき、この場合のブロックYは候補範囲を形成する。この関数は、“連結時間予測（Collocated  Temporal  Prediction）”と呼ばれる。図５に示す表記を用いて、残差値は次のように計算される。
【００３７】
r(i,j)=x(i,j)-y(i,j)
この時間予測関数は、静的な範囲に特に適合される。“連結限定動き推定（Collocated  Restricted  Motion  Estimation）”と呼ばれ、動き推定が連結ブロック内でのみ実行されるこの予測関数の拡張も使用され得る。
【００３８】
“時間ヒストグラム予測（Temporal  Histogram  Prediction）”と呼ばれる他の予測関数pf5は、以前のフレームの連結ブロックのヒストグラムを使用する。例えば、図６に示すように、h1及びh2がヒストグラムの２つの最大値である場合、値h1及びh2と値x(i,j)の近似度に応じて、残差値は次のように計算される。
【００３９】
r(i,j)=x(i,j)-h1  又は  r(i,j)=x(i,j)-h2
そのため、この選択肢をデコーダに通知するために、１ビットが伝送される。この時間予測関数もまた、静的な範囲に適合される。
【００４０】
本発明は、これらの異なる予測関数が異なる消費電力を有するという事実に基づく。例えば、時間予測関数は参照フレームを有する外部メモリモジュールに多くのアクセスを必要とするため、空間予測関数より消費電力が大きい。
【００４１】
これらの予測関数は、一例として示されており、本発明の範囲を逸脱することなく、他の予測関数も使用され得る点に留意すべきである。また、例えば16×16、16×8、8×16、8×8、8×4、4×8又は4×4画素のような異なるサイズを有するデータブロックに並行予測関数が適用され得る点にも留意すべきである。
【００４２】
エンコード方法は、残差誤差ブロックのエントロピーhを計算する第２のステップHC（34）を有する。そのステップは、残差誤差ブロックのエントロピー符号化に必要な最小ビット数を決定することができる。エントロピーhは、次の式を使用して、当業者に既知の原理に従って計算される。
【００４３】
【数１】
2007538415.tif 000003
但し、piは画素のブロックに存在するデータ値の確率であり、画素値が8ビット値である場合にはIは一般的に255に等しい。
【００４４】
エンコード方法は、現ブロックと候補範囲との間の全体誤差を計算する第３のステップMetC（32）を有する。
【００４５】
全体誤差を計算するステップは、例えば平均２乗誤差MSEの計算に基づき、MSEの式は次になる。
【００４６】
【数２】
2007538415.tif 000004
但し、k×lは現ブロックのサイズである。
【００４７】
他の例として、計算するステップは平均絶対誤差MAEの計算に基づき、MAEの式は次になる。
【００４８】
【数３】
2007538415.tif 000005
全体誤差は、現ブロックの値と候補範囲の値とに基づく他の異なる関数を使用することにより計算され得ることは、当業者に明らかである。
【００４９】
エンコード方法は、予測関数を実施するように適合されたビデオ処理装置（すなわち、ビデオエンコーダ又はビデオデコーダ）の消費電力を推定する第４のステップPowC（37）を有する。推定は、以下のパラメータの関数として実行される。
【００５０】
推定ステップは、一式のパラメータSoP（36）からビデオ処理装置の消費電力を推定することができる。当然のことながら、これらの消費電力パラメータは、予測関数の特性であり、すなわち、予測関数の計算及び転送パラメータである。計算パラメータは、例えば次のものがある。
−演算量（加算、乗算等）
−条件付き分岐及び基本関数（絶対値、最小値、最大値等の計算等）の量
転送パラメータは、例えば次のものがある。
−メモリ要件（形式、サイズ等）
−メモリ転送量
任意選択で、これらの消費電力パラメータは、プラットフォーム情報であり、すなわち、ビデオ処理装置の技術特性である。これらの技術特性は、例えば次のものがある。
−プロセッサの特性、特にその動作周波数
−キャッシュメモリのサイズ
−内蔵メモリのサイズ
−外部メモリのサイズ
−基本演算（ゲート）の消費電力
−異なるメモリとプロセッサとの間の交換での消費電力
任意選択で、これらの消費電力パラメータは、例えばビデオ処理装置の現バッテリレベルのような電力供給情報である。
【００５１】
消費電力の評価は巧妙な問題である。チップが存在する場合にのみ、正確な測定が得られる。しかし、低い精度を犠牲にして、ソフトウェアに基づく測定も可能である。
【００５２】
本発明は、メモリアクセス数とメモリの局所性と計算コストとの関数として、以下に示す相対的な重みで、アルゴリズムの重要な部分の消費電力を計算することができる。
【００５３】
【表１】
2007538415.tif 000006
これらの重みは、数年先にあると思われる標準的なアーキテクチャ（CPU＋メモリ＋コプロセッサ）（すなわち、計算のペイロードに対してメモリアクセスについて高いペイロードを有する）を仮定して決定されている。
【００５４】
エンコード方法は、残差誤差ブロックのエントロピーと全体誤差とビデオ処理装置の推定消費電力とに基づいてレート歪み値を計算する第５のステップPRDC（35）を有する。
【００５５】
本発の第１実施例によれば、推定ステップは、一式の予測関数についてビデオデコーダの消費電力を推定することができる。
【００５６】
電力レート歪み値は、デコーダの消費電力を低減するために、電力と調和した予測関数を選択することにより、エンコーダレベルで使用される。
【００５７】
歪み値は、通常通り、残差データのエントロピーhと、現ブロックと候補範囲との間の再構成誤差“ove”とに依存する。現在の予測関数をデコードするために必要な消費電力もまた考慮に入れられ、デコーダ側で全体の電力の歪み／ビットレートのトレードオフを増加させる。従って、かなりの電力利得がわずかなエンコード効率の損失を補う。本発明による歪み値cは以下に示すように計算される。
【００５８】
c=h+λ1*ove+λ2*powerdecoder(parameters)      (2)
但し、λ1及びλ2は重み係数であり、powerdecoder()は予測を実行するためにデコーダで必要な消費電力を示し、parametersは消費電力の推定を可能にする要素である。これらのパラメータについては前述した。
【００５９】
通信の形式及びプロトコルに応じて、デコーダについてのおおよその情報がエンコーダで利用可能である。式(2)で、消費電力の結果は、プラットフォーム情報による予測関数の特性の重みから生じ得る。これらのパラメータの可用性が、デコードの電力の推定を、多かれ少なかれ正確にする。
【００６０】
この第１の実施例の変更形態によれば、受信装置は、推定装置とその受信装置との間の通信の初期化中に、プラットフォーム情報として前述したその主な消費電力の特性を送信することができ、その主な消費電力の特性は、式(2)で更に正確に受信装置のデコーダの消費電力を推定するために、放出装置のエンコーダにより直接に使用され得る。
【００６１】
代替として、この情報が利用可能でない場合、エンコーダは、例えば標準的なARM9プロセッサで、所定量の内蔵メモリと外部メモリと通常の転送コストとで、標準的なデコードプラットフォームを仮定することができる。
【００６２】
更に、受信装置が定期的にバッテリレベルを放出／エンコード装置に送信することができる場合、後者はデコーダにより使用される電力の重要度を増加又は減少させるために、λ2で直接に動作することができる。例えば、バッテリレベルが減少すると、予測関数の選択肢で消費電力の重要度を補足するために、λ2が増加する。従って、高消費の予測関数が不利になる。
【００６３】
本発明の第２の実施例によれば、推定ステップは、一式の予測関数のビデオエンコーダの消費電力を推定することができる。
【００６４】
エンコーダで、全ての並行予測関数が計算される場合、エンコード消費電力を保存することができない。しかし、複数の評価された予測関数の選択により、エンコーダレベルの消費電力を減少することができる。
【００６５】
本発明によれば、選択は、学習段階を通じて計算された電力レート歪み値に依存する。この学習段階は、全ての予測関数で数個のピクチャをテストすることを有する。テストされたピクチャは、ピクチャのシーケンスの最初のピクチャでもよく、場面カット直後の数個のピクチャでもよい。実際に、２つの場面カットの間で、所定のシーケンスは安定した時間及び空間特性を有することが仮定される。その結果、エンコーダで利用可能な全ての予測関数を体系的にテストすることを回避するために、学習段階は最も適切な予測関数を選択することができる。この選択は、以下に示す提案の電力レート歪み値に基づく。
【００６６】
c=h+λ1*mse+λ3*powerencoder(parameters)      (3)
但し、λ3はλ2と同じ役目をする重み係数であり、powerencoder()は予測を実行するためにエンコーダで必要な消費電力を示す。parametersは前述のものである。当然のことながら、プラットフォーム情報は利用可能であり、電力のスケーラビリティが適用される必要がある場合にのみ、バッテリレベルが必要になる。
【００６７】
式(4)に示すように、双方の手法を結合することも可能である。この場合、エンコーダ及びデコーダ装置は、エンド・ツー・エンドでの電力品質のトレードオフを最適化するために、協力して動作する。
【００６８】
c= h+λ1*mse+λ2*powerdecoder(parameters)+λ3*powerencoder(parameters)      (4)
例えば、高バッテリレベルを有する携帯電話がピクチャのシーケンスをエンコードしており、低バッテリレベルを有する第２の携帯電話にエンコードシーケンスを送信しているとする。その結果、第２の携帯電話のデコーダは、低消費電力の予測関数を必要とする。この場合、重み係数λ2は高く、重み係数λ3は低い。高消費電力の予測関数を不利にして、第２の携帯電話の低バッテリレベルを考慮するために、あらゆることが行われる。
【００６９】
エンコード方法は、電力レート歪み値から最善の予測関数及び対応する最善の候補範囲を選択するために、一式の予測関数を使用して、前述のステップを一式の候補範囲に適用する第６のステップSoC（31）を有する。このため、評価された予測関数の歪み値がメモリRES（38）に格納され、最善の予測（すなわち電力レート歪み値を最小化するもの）が現ブロックをエンコードするために選択される。
【００７０】
請求項の如何なる参照符号も特許請求の範囲を限定するものとして解釈されるべきではない。“有する”という動詞及びその活用の使用は、請求項に記載のもの以外の他のステップ又は要素の存在を除外するものではない。単数の要素又はステップは、複数のそのような要素又はステップの存在を除外するものではない。
【図面の簡単な説明】
【００７１】
【図１】従来のビデオエンコーダのブロック図
【図２】従来のビデオエンコーダのブロック図
【図３】本発明によるエンコード方法を示したブロック図
【図４】空間予測関数が計算される現ブロックとその隣接とを表す図
【図５】時間予測関数が計算される２つの連続フレームの２つのブロック
【図６】現在の連結のブロックについて時間予測関数が計算される過去のフレームのブロックのヒストグラム
【図１】
2007538415.tif 000007
【図２】
2007538415.tif 000008
【図３】
2007538415.tif 000009
【図４】
2007538415.tif 000010
【図５】
2007538415.tif 000011
【図６】
2007538415.tif 000012
【国際調査報告】
2007538415.tif 000013
2007538415.tif 000014