ビデオ処理における電力及び計算負荷管理技法
ビデオ処理及び復号化において電力及び計算負荷管理のための技術が提供される。1つの構成において、ビデオを有するデータストリームから情報を抽出し、編集するように機能する一組の命令を有するプロセッサを含む装置が提供される。プロセッサは、情報に基づいて電力管理(PM)シーケンスと称されデータストリームを処理するために構文解析または復号化動作の一組を優先させ、優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一方の予測値を計算するように動作する。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、ビデオ処理の分野に関し、より詳細には、ビデオ処理及び復号における電力及び計算負荷管理のための技法に関する。
【背景技術】
【0002】
ビデオデータ中に含まれるデジタル情報の量は膨大であり、ビデオカメラのパフォーマンスの進歩とともに増加する傾向がある。ビデオデータの処理は、ビデオ対応デバイス、及び、特に、セルラー電話、携帯情報端末(PDA)、ラップトップコンピュータなど、ワイヤレス通信デバイスの電力及び計算リソースに大きな負担をかける。
【0003】
ビデオ圧縮は主に空間的及び時間的冗長性を低減するが、ソースビデオがキャプチャされた(又は場合によっては、記憶から抽出された)後、再構成されたビデオがディスプレイにおいて表示(消費)される前に必要とされる、幾つかの前処理演算及び後処理演算がある。ビデオ処理は、主に、電力要件(バッテリー、通話時間など)に正比例する必要とされる算術演算のために、メモリ(記憶及びデータ転送)及び計算負荷に大きな負担をかける。
【0004】
ビデオ中の冗長性の量が与えられれば、そのような演算の量の比例低減が予想されるはずである。圧縮比は桁数が多い(100:1〜1000:1)ので、実装オーバーヘッドにもかかわらず、処理すべきビデオデータの量の著しい低減を達成することができる。空間時間的冗長性は、圧縮メタデータを使用して識別され、電力を節約する、冗長演算の低減に対応し得る。様々なレベルの冗長性は、プロセッサに対する様々なレベルの消費電力及び計算負荷につながる。
【0005】
従って、ビデオ処理及び復号における電力及び計算負荷管理のための技法が必要である。
【発明の概要】
【0006】
関連出願
本出願は、本出願と同日に出願された、POWER AND COMPUTATIONAL LOAD MANAGEMENT TECHNIQUES IN VIDEO PROCESSINGと題する米国特許出願(一時的に代理人整理番号第IDF071979U1号によって参照される)に関し、すべて本出願の譲受人に譲渡され、それらの全文の各々が全ての目的のために参照により本明細書に明確に組み込まれる、2008年8月19日に出願された米国仮出願第61/090,176号及び2008年11月14日に出願された米国仮出願第61/114,988号の利益を主張する。
【0007】
本明細書では、ビデオ処理及び復号において電力及び計算負荷を管理するための技法について説明する。一構成では、ビデオを有するビットストリームから情報を抽出し、コンパイルするように動作可能な命令のセットを有するプロセッサを備える装置を提供する。プロセッサは、復号可能単位の優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一つの情報及び計算予測に基づいて復号可能単位を選択的に復号するためにビットストリームから復号可能単位の電力管理(PM)シーケンスを優先順位づけするように動作する。装置はまたプロセッサに接続されるメモリを含む。
【0008】
本装置はまた、プロセッサに結合されたメモリを含む。
【0009】
別の態様では、ビデオを有するビットストリームから情報を抽出し、コンパイルするように動作可能な命令のセットを有するプロセッサを備える集積回路(IC)を提供する。プロセッサは、復号可能単位の優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一つの情報及び計算予測に基づいて復号動作のためにビットストリームから復号単位のPMシーケンスを優先順位づけするように動作する。本集積回路はまた、プロセッサに結合されたメモリを含む。
【0010】
別の構成では、コンピュータに、ビデオデータを含んでいるビットストリームから情報を抽出させ、コンパイルさせるための命令を有するコンピュータ可読媒体を含むコンピュータプログラム製品を提供する。命令は、さらに、プロセッサに、復号可能単位の優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一つの情報及び計算予測に基づいて復号可能単位を選択的に復号するためにビットストリームから復号可能単位の電力管理(PM)シーケンスを優先順位づけするように動作する。
【0011】
構成のさらなる態様は、利用可能電力及び/又は現在計算負荷のための選択低電力モードに基づいて1以上の復号可能単位の優先PMシーケンスを選択的に復号するデコーダを含む。
【0012】
概要は、本開示の全範囲を表すものではなく、本開示の全範囲を表すものと解釈すべきでもなく、これら及び追加の態様は、特に添付の図面とともに発明を実施するための形態を読めばより容易に明らかになろう。
【図面の簡単な説明】
【0013】
【図1】ワイヤレスデバイスの概略ブロック図。
【図2A】データストリームを示す図。
【図2B】ビデオレイヤデータを示す図。
【図2C】一般的なMPEGフォーマットを示す図。
【図2D】復号可能ユニットをもつ一般的なMPEGビットストリームを示す図。
【図3A】電力管理モジュール並びにビデオエンコーダ及びデコーダエンジンのブロック図。
【図3B】電力管理モジュールとともに使用するデコーダエンジンのブロック図。
【図4】復号可能ユニットの優先電力管理(PM)シーケンスを復号するための電力及び計算負荷を予測するためのプロセスのフローチャート。
【図5】トランスポートレイヤ(TL)構文解析器及び処理ユニットを示す図。
【図6】TL情報抽出器及びコンパイラを示す図。
【図7】受信タイムスライスを示す図。
【図8】復号可能ユニット発生器のTL優先PMシーケンスを示す図。
【図9】TL復号MIPS及び電力予測器(power projector)を示す図。
【図10】電力及び計算負荷管理を用いて復号するためのプロセスを示す図。
【図11】TLモード中のマルチレイヤ低電力モードセット発生器を示す図。
【図12】ビデオシーケンス/ピクチャレイヤ(VS/PL)構文解析器及び処理ユニットを示す図。
【図13】VS/PL抽出器及びコンパイラを示す図。
【図14】受信タイムスライス中のVS/PL情報を示す図。
【図15】復号対象VS/PL優先シーケンス発生器を示す図。
【図16】VS/PL復号MIPS及び電力予測器によってMIPSを推定するためのプロセスのフローチャート。
【図17】VS/PL復号MIPS及び電力予測器を示す図。
【図18】VS/PLモード中のマルチレイヤ低電力モードセット発生器を示す図。
【図19】スライス/マクロブロックレイヤ(S/MBL)構文解析器及び処理ユニットを示す図。
【図20】S/MBL抽出器及びコンパイラを示す図。
【図21】復号対象S/MBL優先シーケンス発生器を示す図。
【図22】S/MBLモード中のマルチレイヤ低電力モードセット発生器を示す図。
【図23】電力管理演算のハイレベルブロック図。
【図24】例示的な標準(通常)復号プロセスを順番に示す図。
【図25】電力管理演算を用いるTL復号プロセスのフローチャートを示す図。
【図26】電力管理演算を用いるVS/PL復号プロセスのフローチャートを示す図。
【図27】VS/PL情報抽出プロトコルのブロック図。
【図28】VS/PL情報抽出プロトコルによるビットストリームからのVS/PL被復号ユニットのブロック図。
【図29】電力管理演算を用いるS/MBL復号プロセスのフローチャートを示す図。
【図30】S/MBL情報抽出プロトコルのブロック図。
【図31】S/MBL情報抽出プロトコルによるビットストリームからのS/MBL被復号ユニットのブロック図。
【図32】選択された電力管理モードに従う最終スライス及びマクロブロック復号のブロック図。
【図33】マルチレイヤ電力管理モードの階層構成のブロック図。
【発明を実施するための形態】
【0014】
理解を容易にするために、適切な場合、各図に共通である同じ要素を区別するためにサフィックスを付加する場合があることを除いて、可能な場合、そのような要素を示すために同じ参照符号を使用している。図面中の画像は、説明のために簡略化されており、一定の縮尺で示されていない。構成の特徴は、さらなる具陳なしに他の構成に有利に組み込むことができることが企図される。
【0015】
添付の図面は、開示の例示的な構成を示し、従って、他の等しく有効な構成を認め得る本開示の範囲を限定するものと見なすべきではない。
【0016】
「例示的」という単語は、本明細書では「例、事例、又は例示の働きをすること」を意味するために使用する。本明細書で「例示的」として説明するいかなる構成又は設計も、必ずしも他の構成又は設計よりも好ましい又は有利であると解釈すべきではなく、「コア」、「エンジン」、「機械」、「プロセッサ」及び「処理ユニット」という用語は互換的に使用される。
【0017】
本明細書で説明する技法は、無線通信、コンピューティング、パーソナル電子機器、ハンドセットなどのために使用できる。無線通信のためのこれらの技法の例示的な使用について以下で説明する。
【0018】
図1に、無線通信システムにおける無線機器10の構成のブロック図を示す。無線機器10はハンドセットとすることができる。無線機器10又はハンドセットは、セルラー又はカメラ電話、端末、ワイヤレス搭載携帯情報端末(PDA)、無線通信機器、ビデオゲーム機、ラップトップコンピュータ、ビデオ対応デバイス又は何らかの他の無線搭載デバイスとすることができる。無線通信システムは、符号分割多元接続(CDMA)システム、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))システム、又は何らかの他のシステムとすることができる。
【0019】
無線機器10は、受信経路及び送信経路を介して双方向通信を行うことが可能である。受信経路上で、基地局によって送信された信号は、アンテナ12によって受信され、受信機(RCVR)14に供給される。受信機14は、受信信号を調整し、デジタル化し、さらなる処理のためにサンプルをデジタルセクション20に供給する。送信経路上で、送信機(TMTR)16は、デジタルセクション20から送信すべきデータを受信し、データを処理し、調整し、変調信号を発生し、変調信号はアンテナ12を介して基地局に送信される。
【0020】
デジタルセクション20は、例えば、モデムプロセッサ22、ビデオプロセッサ24、コントローラ/プロセッサ26、ディスプレイプロセッサ28、ARM/DSP32、グラフィックス処理ユニット(GPU)34、内部メモリ36、及び外部バスインターフェース(EBI)38など、様々な処理ユニットと、インターフェースユニットと、メモリユニットとを含む。モデムプロセッサ22は、データ送信及び受信(例えば、変調及び復調)のための処理を実行する。ビデオプロセッサ24は、カムコーダ、ビデオ再生、及びビデオ会議などのビデオアプリケーションのためのビデオコンテンツ(例えば、静止画像、動画、及び移動テキスト)に対する処理を実行する。ビデオプロセッサ24はビデオ符号化及び復号演算又はコーデック演算を実行する。ビデオ符号化及び復号演算は、デジタル部20中の別のプロセッサによって実行されるか、又はデジタル部20中の様々なプロセッサにわたって共有され得る。コントローラ/プロセッサ26は、デジタル部20内の様々な処理ユニット及びインターフェースユニットの演算を指示することができる。ディスプレイプロセッサ28は、ディスプレイユニット30上でのビデオ、グラフィックス、及びテキストの表示を可能にするための処理を実行する。ARM/DSP32は、無線機器10のための様々なタイプの処理を実行することができる。グラフィックス処理ユニット34はグラフィックス処理を実行する。
【0021】
GPU34は、例えば、公開されている文献「OpenGL Specification, Version 1.0」2005年7月28日に準拠する。この文献は、セルラー電話及び他の上記の無線通信装置などの携帯及び移動機器に好適な2Dベクターグラフィックスのための規格である。さらに、GPU34はまた、OpenGL2.0、OpenGL ES2.0、又はD3D9.0グラフィックス規格に準拠することができる。
【0022】
本明細書で説明する技法は、デジタル部20中のプロセッサのいずれか、例えば、ビデオプロセッサ24のために使用できる。内部メモリ36は、デジタル部20内の様々なユニットのためのデータ及び/又は命令を記憶する。EBI38は、バス又はデータラインDLを通したデジタル部20(例えば、内部メモリ36)とメインメモリ40との間のデータの転送を可能にする。
【0023】
デジタル部20は、1つ以上のDSP、マイクロプロセッサ、RISCなどを用いて実装できる。デジタル部20はまた、1つ以上の特定用途向け集積回路(ASIC)又は何らかの他のタイプの集積回路(IC)上に作製できる。
【0024】
本明細書で説明する技法は様々なハードウェアユニットにおいて実装できる。例えば、本技法は、ASIC、DSP、RISC、ARM、デジタル信号処理機器(DSPD)、プログラマブル論理機器(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、及び他の電子ユニットにおいて実装できる。
【0025】
無線機器10又は他のビデオ対応機器に送信されなければならないか、又はそれによって処理されなければならない情報の量を低減するために、未加工ビデオデータを圧縮することができる。圧縮は、例えば、ISO/IECのMoving Picture Expert Group MPEG-2及びMPEG-4、ITU-TのH.264/AVCなど(AVCはAdvanced Video Codingを表す)による規格を含む、産業に適合したビデオ圧縮規格及び通信規格のうちの1つ又は複数に準拠するビデオ符号化技法を使用して実行できる。アドビーフラッシュ(Adobe Flash)プレーヤにおいて使用されるVP6などの非標準圧縮方法に準拠するビデオ符号化技法を使用して、圧縮ビデオデータを発生させることもできる。この構成では、未加工及び圧縮ビデオデータは、無線又は有線インターフェース又はそれらの組合せを使用して、無線機器10又は他のビデオ対応機器に、それから、又はその内部で送信できる。代替的に、圧縮データはDVDなどのメディアに記憶できる。
【0026】
圧縮ビデオデータは、例えば、実時間トランスポート(Real Time Transport Protocol)仕様においてIETFによって定義されたインターネットプロトコル(IP)を使用するトランスポートプロトコルを使用する送信のためのペイロードフォーマットでカプセル化される。
【0027】
図2Aに、無線機器10又は他のビデオ対応機器によって送信又は処理されなければならないデータストリーム及び対応するプロトコルのブロック図を示す。データストリーム2141は、例えば、トランスポートプロトコル仕様2145によって指定されたようにカプセル化されたトランスポートレイヤデータ2142と、ビデオレイヤデータ2143とからなる。トランスポートレイヤデータは、対応するトランスポートプロトコルで指定されたデータ表現のフォーマット又はシンタックス(syntax)又はセマンティクス(semantics)に従い、ビデオレイヤデータは、圧縮規格などのビデオ符号化プロトコル2144で指定されたビデオデータの表現のためのフォーマット又はシンタックス又はセマンティクスに従う。
【0028】
トランスポートプロトコル2145は、送信又は記憶のために、例えば、MP4のようなファイルフォーマット、又はRTP又はUDP又はIPなどのトランスポートフォーマットでビデオレイヤデータをカプセル化する。ビデオ符号化プロトコル2144は、MPEG−2又はMPEG−4又はH.264/AVCなどのビデオ符号化規格若しくは実質ビデオ(Real Video)又はウィンドウズ(登録商標)メディア(Windows(登録商標) Media)などの他のビデオコーデックとすることができる。トランスポートレイヤデータのシンタックス及びセマンティクスはトランスポートプロトコルによって支配又は指定され、ビデオレイヤデータのシンタックス及びセマンティクスはビデオ符号化プロトコルによって支配又は指定される。
【0029】
図2Bに、ビデオレイヤデータ2143のフォーマットを示す。ビデオレイヤデータは、シーケンス又はグループオフピクチャ(GOP)又はピクチャレイヤデータ2243と、スライス又はマクロブロック(MB)レイヤデータ2254と、ブロックレイヤデータ2247とを備える。
【0030】
受信機において、データストリームが受信されたとき、従来のシステムでは、ビデオプロセッサは、対応するトランスポートプロトコル仕様及びビデオ符号化プロトコル又は標準規格によって指定された順序でデータストリームを構文解析し、復号する。トランスポート構文解析器は、本明細書では通常パース演算と呼ばれるトランスポートプロトコル仕様に対応する順序でカプセル化を解く。ビデオデコーダは、本明細書では通常復号演算と呼ばれるビデオ符号化プロトコル又は標準規格によって指定された順序でビデオレイヤデータを構文解析し、復号する。
【0031】
以下で説明するシステム及び方法では、ビデオプロセッサは、データストリームの一部を選択的に構文解析及び/又は復号若しくは処理し、構文解析及び/又は復号演算並びに処理演算の順序は、利用可能な電力又は計算処理電力に基づく。
【0032】
図2Cに、一般的なMPEGパケットフォーマット50を示す。MPEGパケットフォーマットはデータストリーム2141の一例である。MPEGパケットフォーマット50は複数のMPEGレイヤ52、54、56、58、60、62及び64を含む。MPEGレイヤは、トランスポートレイヤ52と、シーケンスレイヤ54と、グループオフピクチャ(GOP)レイヤ56と、ピクチャレイヤ58と、スライスレイヤ60と、マクロブロック(MB)レイヤ62と、ブロックレイヤ64とを含む。図2Aでは、レイヤは、復号及び処理を必要とするレイヤの階層順を表すために積み重ねられた状態で示されている。本明細書では、説明のために、シーケンスレイヤ54とピクチャレイヤ58は、本明細書で説明する電力負荷管理のために互いにグループ化され、ビデオシーケンス/ピクチャレイヤ(VS/PL)70と呼ばれる。幾つかの規格では、シーケンスレイヤ又はピクチャレイヤのみが存在するか、若しくはレイヤの組合せが存在することがある。さらに、スライスレイヤ60とマクロブロック(MB)レイヤ62は、本明細書で説明する電力負荷管理のために互いにグループ化されて、スライス/MBレイヤ(S/MBL)72を形成する。幾つかの規格では、レイヤのうちの1つ又は複数を省略するか又は組み合わせることができる。
【0033】
MPEG圧縮では、ビデオフレームを符号化し、イントラ符号化(I)フレーム、予測符号化(P)フレーム、及び双方向予測符号化(B)フレームのうちの1つ又は複数を含み得るグループオフピクチャ(GOP)にフォーマットすることができる。幾つかのBフレームは参照フレームとすることができる。非参照Bフレームをbフレームと呼ぶことがある。諒解され得るように、規格における全てのフレーム及びフレームの構成について説明することは差し控える。
【0034】
図2Dに、復号可能ユニットをもつ一般的なMPEGビットストリームを示す。ビットストリームは、シーケンスレイヤ54において、シーケンスヘッダ54Aと、それに続くシーケンスデータ54Bとを含む。シーケンスレイヤ54は復号可能ユニットである。シーケンスデータ54Bは、ピクチャ1、ピクチャ2、ピクチャ3、....、ピクチャ(N−1)及びピクチャNとして示される複数のピクチャを含むピクチャレイヤ58を含む。各ピクチャは復号可能ユニットである。各ピクチャは、ピクチャヘッダ58Aとピクチャデータ58Bとを含む。ピクチャデータ58Bはスライスレイヤ60を含む。スライスレイヤ60は、スライス1、スライス2、スライス3、....、スライス(M−1)及びスライスMとして示される複数のスライスを含む。各スライスは復号可能ユニットである。スライスは、スライスヘッダ60Aと、それに続くスライスデータ60Bとを含む。スライスのスライスデータ60Bはマクロブロックレイヤ62を含む。マクロブロックレイヤ62は、MB1、MB2、MB3、...、MB(P−1)及びMB Pとして示される複数のマクロブロックを含む。各マクロブロックは復号可能ユニットである。各マクロブロックは、MBヘッダ62AとMBデータ62Bとを含む。幾つかの復号可能ユニットは別の復号可能ユニットに依存する。従って、優先順位付けは従属復号可能ユニットを考慮に入れることになる。その上、各レイヤ中の復号可能ユニットのうちの1つ又は複数は可分である。
【0035】
図3Aに、電力管理モジュール100並びにビデオ符号器エンジン102及びビデオ復号器エンジン104のブロック図を示す。電力管理モジュール100はマルチレベル低電力モードセット発生器114を有する。マルチレベルモードセット発生器114は、MPEGフォーマットの階層(段階化)レイヤに従って構成された複数の低電力モードを有する。複数の低電力モードは、各レイヤにおける制度(granularity)及び/又は視覚的品質の改善のために選択的に復号できる復号可能ユニットの優先電力管理(PM)シーケンスに基づく。精度は、所定の電力消費量ターゲットに対して得られる視覚的品質を最大にするために実行できる構文解析演算又は復号演算の程度を指し得る。PMシーケンスは、電力管理を可能にする復号演算又は構文解析演算のシーケンスである。PMシーケンスは、選択的復号演算及び/又は構文解析演算の先行処理(look-ahead processing)によって所定の電力に対する視覚的品質を最大にすることを試みる。マルチレベル低電力モードセット発生器114は複数のレイヤモードを有する。この構成では、複数のレイヤモードは、TLモードと、VS/PLモードと、SL/MBモードとを含む。諒解され得るように、本明細書で説明する技法は、MPEGフォーマットに限定されるものではなく、他のビデオ圧縮及び/又はトランスポートプロトコルフォーマットとともに使用できる。
【0036】
一実施形態では、ビデオデータを含むデータストリームからの情報を抽出し、コンパイルし、この情報に基づいて、電力管理を可能にするデータストリームのための復号演算及び構文解析演算のシーケンス(PMシーケンス)を優先順位付けする。
【0037】
別の実施形態では、優先順位付けは、復号演算と構文解析演算とのうちの少なくとも1つの先行処理に基づく。さらに別の実施形態では、優先PMシーケンスの各々のための電力と計算負荷とのうちの少なくとも1つの予測を計算する。別の実施形態では、電力管理シーケンスを優先順位付けすることは、視覚的品質と精度(granularity)とのうちの少なくとも1つに基づく。
【0038】
これらの実施形態は、優先順位に基づいて優先電力管理シーケンスを選択的に復号するための低電力モード又は品質モードの階層リストを発生することをさらに備える。様々な低電力モード又は品質モードは、様々な程度の視覚的品質に対応する。低電力モードの選択は、利用可能な電力又は計算負荷に応答することができる。さらに、優先電力管理シーケンスのうちの1つ以上の選択的復号は、選択された低電力モードに応答することができる。別の実施形態では、選択的復号は、優先電力管理シーケンスのための電力と計算負荷とのうちの少なくとも1つの予測を計算することに基づくことができる。
【0039】
例示的な構成では、予測モードによって示される冗長性の程度は、例えば、レイヤの段階的セットを生じ、これは低/低減電力動作モードの段階的セットにマッピングできる。H.264予測モードを使用する1つのフォーマットは、インター予測モード及びイントラ予測モードに対応する減少順のビデオ中の冗長性のレベルが、スキップモードと、ダイレクトモードと、インター予測モードと、イントラ予測モードとを含むことに基づく。モードの順序はまた、損なわれたとき(これらのモードに対応するMBの復号及び再構成の際に不正確さが導入されたとき)の視覚的品質に関して増加する影響の程度に対応する。これらの概念は他のビデオ符号化規格及びフォーマットに拡張できる。
【0040】
電力最適化ビデオ処理に向けてビデオ中の冗長性を利用するために、デコーダエンジン104のみを含むか、エンコーダエンジン102のみを含むか、又はエンコーダエンジンとデコーダエンジンにわたって調整される、幾つかの態様を電力負荷管理のために採用することができる。デコーダエンジンのみ(DO)解法の場合、DO解法は、機器10において復号又はレンダリング中に適用することができ、エンコーダアグノスティックである。解法は、適合カテゴリーと非適合カテゴリーとに分けられ得る。適合カテゴリー解法は、規格適合性を維持するビデオストリームを出力するであろう。ここでは、厳密な適合要件が満たされるべきである。非適合解法では、この解法の利点は、視覚的品質に対する影響を最小にするためのフレキシビリティと(適合解法に比較して)複雑度のより大きい低減である。
【0041】
エンコーダエンジン102のみ(EO)解法の場合、全ての複雑度低減方法は符号化中に組み込まれ、デコーダアグノスティックである。EO解法では、全ての符号化関数は処理能力の観点からバイアスされる。随意に、処理能力のコスト関数が、レート歪み(RD)電力最適化と呼ばれるRD最適化に含まれる。
【0042】
ジョイントエンコーダデコーダエンジン(JED)解法の場合、符号化中に電力低減方法が組み込まれるか又は採用され、デコーダエンジンは、(電力/負荷/コストの)低減の増大を可能にするための適切な相互アクションを実行する。JED解法では、エンコーダエンジンは、上記で説明したDO解法方法を適用するためにデコーダエンジンの機能を認識しており、デコーダエンジンにおいて使用するために、ビットストリーム(ユーザフィールド又は補足拡張情報(SEI)メッセージ)又はサイドチャネル中に適切なアクションのためのインジケータを組み込む。電力低減のセットに基づく前もって同意されたプロトコルが、電力/負荷/コストの低減の増大のためにエンコーダエンジンとデコーダエンジンの両方によって採用されるであろう。
【0043】
DO解法は、デコーダエンジンが符号化プロセスを認識していないオープンエンド型アプリケーションに適用する。例には、モバイルTV、ビデオオンデマンド(VOD)、PMPなどが含まれるであろう。EO解法は、低電力機器を駆動するために電力フレンドリーなビットストリームが必要とされるビデオサーバにおいて適用されるであろう。EO解法はまた、ソースの複数の符号化バージョンが発生され、ネットワークサーバがネットワーク/チャネル状態に基づいてそれらを適応的に選択し、それらの間で切り替わるシナリオにおいて有用である。JED解法は、DO又はEO解法方法に比較して、所定の品質のための電力低減に関して最も多くの利得を与える。JED解法は、通信/制御パス(リアルタイム又はアプリオリ(apriori))が可能である、クローズ又は対話型アプリケーションに適用する。
【0044】
以下の説明は、DO解法を対象とし、ビデオ復号における実装及び演算複雑度を調整するためのマルチレイヤフレームワーク構成を与える。モバイルTV、ポータブルマルチメディアプレーヤ(PMP)、(ムービー/DVDプレーヤ)などの様々なアプリケーションによって拡張されたビデオ再生が必要とされる場合、ビデオ復号及びレンダリング演算における負荷管理が可能である。マルチレイヤフレームワーク構成において実施される、本明細書で説明する技法は、任意のビデオ又はマルチメディアアプリケーションに拡張され得る。
【0045】
負荷又は電力管理は、限定はしないが、遅延、電力消費量、及び毎秒百万命令又はプロセッササイクル(MIPS)有用性を含むランタイム複雑度の調整を参照する。調整は、利用可能な処理、電力及び時間リソースを想定して、ユーザ経験、特に、ビデオ品質を最適化することを含む。調整はまた、例えば、オーディオ品質、応答時間、グラフィックスの品質など、ビデオ品質以外の他の性能ファクタを包含し得る、ユーザの経験品質(QoE)を最適化するために行われ得る。マルチレイヤフレームワーク構成は、(1つ以上の)アプリケーションによるビデオデコーダ実装形態に対する瞬時の要求に対する予備的応答と反動的応答の両方に対して、精度の様々なレベルにおいてそのような調整を可能にする。代替の実行又は制御/データフローパスが利用可能な情報及び電力(バッテリー)レベルに基づいて、及びプロセッサ失速(processor stalling)を避けるために推奨される。
【0046】
上記に鑑みて、本明細書で行う説明は、主に、デコーダエンジン104によって実行されるDO演算を対象とする。デコーダエンジン104によるビデオ復号の後に、ディスプレイプロセッサ28中のレンダリングステージ28A(図23)によって実行されるレンダリングが続き得る。復号/レンダリングは連続プロセスである必要はない。例えば、複数のスライスを並行して復号することができ、画像の列を並行して、又は連続的とは見なされ得ない波形様式でレンダリングすることができる。とはいえ、復号の後に連続してレンダリングを行うのが標準であるが、一構成では、これらの演算は並行化される。レンダリングは、一般に、後処理(色空間変換、スケーリングなど)と、それに続く、表示すべき画像の合成と、表示プロセス(ディスプレイバッファへの転送、このバッファからの読込み、及び表示するための書込み)とを含む。例示のために、復号の後に連続プロセスにおいてレンダリングが行われ、復号は時間順に行われる(タイミングは、復号のための復号タイムスタンプと、レンダリング/表示のための提示タイムスタンプとに基づく)。しかしながら、このプロセス(復号及びレンダリング)への入力は、(おそらくファインダの場合を除いて)必ずしも視覚的品質に関して重要性の順に優先順位付けされない(すなわち、瞬間デコーダリフレッシュ(IDR)フレーム、フレーム内(I)フレーム及び予測(P)フレームが点在する)ビデオビットストリームである。また、ビデオビットストリームをデコーダエンジン104に配信するトランスポートレイヤプロトコルは、パケット/シーケンス番号の順にデコーダエンジン104に提示されるパケットで配信する。ビットストリームを受信順で処理することにより、フレームドロップが生じることがあり、(バッテリーを節約するためにユーザ起動されたか、若しくは利用可能な又は割り当てられた電力に基づいてシステムによって変調された)低電力動作のために出力ビデオの品質を抑圧することはできない。プロセッササイクル、MIPSの不足、並びに/若しくは累積遅延及び待ち時間により、一般にサイズがより大きいキーフレームがドロップされて、長い継続時間の間ビデオがストールすることになり得る。
【0047】
エンコーダエンジン102は、ビデオデータを取得又は発生し、MPEG規格、H.264又は他の規格に従って圧縮する。ビデオデータは、符号化が、機器10の画質、電力、及び/又は計算負荷要件、並びに/若しくは出力ビデオインターフェースの送信機能、帯域幅、若しくは機器10又はビデオ対応機器の他の特性(例えば、無線又は有線インターフェース)を満たすように、ビデオ情報の選択された部分を抽出するために処理される。さらに、符号化は、(受信者による)復号が、品質、電力及び/又は計算要件並びに受信者のデコーダエンジン又は受信機14の機能を満たすようなものとすることができる。
【0048】
図3Bに、電力管理モジュール100とともに使用するデコーダエンジン104のブロック図を示す。デコーダエンジン104は、電力管理又は低電力モードが必要でないときにビットストリームを復号するための標準(通常)シーケンス復号処理ユニット105を含む。デコーダエンジン104はまた、トランスポートレイヤ(TL)構文解析器及び処理ユニット106と、ビデオシーケンス/ピクチャレイヤ(VS/PL)構文解析器及び処理ユニット108と、スライス/MBレイヤ(S/MBL)構文解析器及び処理ユニット110と、ブロックレイヤ構文解析器及び処理ユニット112とを含む。例示的な構成では、ブロックレイヤ64における電力及び計算負荷管理については説明しない。
【0049】
以下の説明からわかるように、TL構文解析器及び処理ユニット106はトランスポートレイヤ52を構文解析し、処理する。VS/PL構文解析器及び処理ユニット108は、少なくともシーケンスレイヤ54及びピクチャレイヤ58を構文解析し、処理する。シーケンスレイヤ54とピクチャレイヤ58との組合せは、以下でビデオシーケンス/ピクチャレイヤ(VS/PL)70と呼ばれる。しかしながら、VS/PL構文解析器及び処理ユニット108は、GOPレイヤ56を構文解析し、処理することもでき、又は何らかの他の構文解析器及び処理ユニットをGOPレイヤ56のために採用することができる。従って、参照番号70からGOPレイヤ56への線は想像線で示されている。S/MBL構文解析器及び処理ユニット110は、スライスレイヤ60及びマクロブロック(MB)レイヤ62を構文解析し、処理する。ブロックレイヤ構文解析器及び処理ユニット112は、MPEGフォーマットのビデオ又はプログラミングを復号するためにブロックレイヤ64を構文解析し、処理する。
【0050】
本明細書で説明する電力及び計算負荷管理機能を実行するために、構文解析器及び処理ユニット106、108、110、及び112のうちの1つ又は複数を、並行して、別々に、又は組み合わせて動作させるために採用することができる。さらに、構文解析器及び処理ユニット106、108、110、及び112の電力及び計算負荷管理機能のうちの1つ又は複数を省略することができる。とはいえ、例示的な構成では、また、電力を効率的に使用しながらユーザの経験を維持又は向上させるように、ティアのうちのいずれか1つにおいて視覚的品質を電力負荷及び精度とトレードして視覚的品質を制御するティア化された電力及び計算負荷管理機能を与えるために、構文解析器及び処理ユニット106、108及び110を必要に応じて選択的に作動させる。
【0051】
図4に、復号可能ユニットの優先電力管理(PM)シーケンスを復号するための電力及び計算負荷を予測するためのプロセス120のフローチャートを示す。選択的復号のために、ビットストリームと、それに伴う復号可能ユニットの電力管理(PM)シーケンスを優先順位付けするために、各階層(ティア化)レイヤについて3段階プロセス120を実行して、階層的に構成された低電力動作モードを与える。プロセス120はビデオビットストリームの非因果性に依拠し、その効率はルックアヘッドの量(デコーダエンジンの入力バッファ深度)に依存する。
【0052】
プロセス120はブロック122において開始し、レイヤ情報の構文解析及び抽出を行う。ブロック122の後にブロック124が続き、復号を必要とする復号可能ユニットのPMシーケンス(シーケンスレイヤではない)を優先順位付けする。説明のために、後でより詳細に説明するように、復号可能ユニットの優先PMシーケンスをリストの形式で示す。「復号可能ユニットの優先PMシーケンス」という用語は、以下で、「優先PMシーケンス」と呼ばれることがある。ただし、各シーケンスは1つ以上の可分復号可能ユニットを含む。復号可能ユニットは、以下の説明からわかるように、ピクチャ、スライス、及びマクロブロックのグループのうちの1つ又は複数を備える。
【0053】
ブロック124の後にブロック126が続き、優先PMシーケンスのための電力及び計算負荷を予測する。例示的な構成では、計算負荷は、百万命令毎秒(MIPS)の数に応じて予測される。対応するMIPSは、予測電力又は所定の電力を必要とする。
【0054】
ブロック126において、優先PMシーケンスと、対応するMIPS、続いて、PMシーケンスのうちの1つ又は複数を復号するために必要とされる電力との相関がある。ブロック122及び124については、以下でH.264規格に関して説明する。ブロック126は、典型的なシナリオ(例えば、テストビットストリーム)に対応する電力分析からの結果と、随意に、予測において使用するフィードバック駆動型トレーニング又はランタイム更新とを使用することができる。ビットストリームが知られると、ビットストリームを完了まで復号するのに十分な電力が機器10にないかどうかをユーザに通知するために、電力及び計算負荷(処理能力)を予測することができる。従って、(再生中などに)ビットストリームが完全に復号される前に電力(バッテリー又は電力)が消耗した場合、ユーザは、ビットストリームを完了することを可能にするであろう電力モードを選択するためのオプションを有する。
【0055】
前述のように、圧縮データフォーマット中の様々なレイヤについて3段階プロセス120を反復することができる。(様々なレイヤに対応する)各ブロック126の後、デコーダエンジン104が復号演算の電力及び計算負荷管理に利用するための低電力モードの階層セットが発生される。これは、オンザフライで起こり得るか、又はリアルタイム演算より前に、適宜に選択されたビットストリームのセットと、事前に較正/プログラムされたデコーダについて、あらかじめ設定され得る。
【0056】
図5に、トランスポートレイヤ(TL)構文解析器及び処理ユニット106を示す。TL構文解析器及び処理ユニット106は、TL情報抽出器及びコンパイラ150(図6)と、TL優先PMシーケンス発生器152(図8)と、TL復号MIPS及び電力予測器154(図9)とを含む。トランスポートレイヤ(TL)構文解析器及び処理ユニット106は、トランスポートレイヤ52のための復号演算の電力及び計算負荷管理において使用する3段階プロセス120を実行する。
【0057】
図6に、TL情報抽出器及びコンパイラ150を示す。TL情報抽出器及びコンパイラ150は、ビデオビットストリームを受信するためのトランスポートプロトコルに依存する。受信タイムスライス190の部分の一例を図7に示す。例示的な構成では、ビットストリーム中の様々な情報をTL情報抽出器及びコンパイラ150によって抽出し、コンパイルすることができる。TL情報抽出器及びコンパイラ150は、図7に示す受信タイムスライス190を構文解析する。TL情報抽出器及びコンパイラ150は、ランダムアクセスポイント(RAP)抽出器160と、状態情報抽出器166と、ビットストリーム特性抽出器176と、トランスポートレイヤ情報コンパイラ186とを含む。RAP抽出器160は、取得としてフラグを付けられたパケット/スライスのロケーション、サイズ、提示タイムスタンプ(PTS)などを有する情報162を抽出することができる。RAP抽出器160はまた、トランスポートヘッダ(例えば、リアルタイムトランスポートプロトコル(RTP)ペイロードフォーマットのエントリポイントヘッダ)中のRAP164のシーケンスを抽出することができる。例示的な構成では、状態情報抽出器166によって抽出された状態情報は、(ブロードキャスト又はモバイルTVアプリケーションなどにおける)チャネル変更170及びユーザ閲覧選好172に関する情報を含む。抽出された状態情報166はまた、アプリケーションにおける変更174(例えば、解像度/プレビューモード又はピクチャインピクチャモード)などを含み得る。
【0058】
ビットストリーム特性抽出器176は、ビットレート178、フレームレート180、解像度182、アプリケーション(記憶対ストリーミング)184などを抽出する。ビットレート178の場合、値は、場合によっては容易に入手可能である(例えばMPEGファイルフォーマット)。他の場合には、ビットレートは、トランスポートヘッダ及びパディングが削除された後に、タイムスタンプによって示される1秒当たりのビットストリームのサイズに基づいて、トランスポートレイヤ情報コンパイラ186などによって計算される。TLレイヤ情報抽出器及びコンパイラ150は、受信タイムスライスのトランスポートレイヤから直接抽出可能でない情報を計算するためのTL情報コンパイラ186を含む。パケットサイズ及びビットレートのための例示的な計算については、図9に関して説明する。
【0059】
図7に、この例では、受信データ中にRAP1191、RAP2196、...RAPN198をもつ受信タイムスライス190を示す。(受信タイムスライス190は、随意に、記憶されたファイルから抽出されたビットストリームのセクションとすることができる)。RAP1191など各RAPは、ヘッダ192と、それに続く、Iフレームなど、ランダムアクセスポイントである符号化フレームに関係するデータを有するペイロード193とを有する。ヘッダは、そのうちの1つがPTS1区間194である複数のフィールドを含む。各RAPについてPTS1区間194から絶対RAPロケーション(パケット)及びPTS値が計算される(例えば、RTPでは、ランダムアクセス(RA)カウントと基準時間とPTSオフセットとから導出される)。RAP2196は、ヘッダと、それに続く、Iフレームなど、ランダムアクセスポイントである符号化フレームに関係するデータを有するペイロードとを有する。ヘッダは、そのうちの1つがPTS2区間である複数のフィールドを含む。
【0060】
RAP−−GOPとして示される区間は、RAPフレームで開始し、次のRAPフレームまでのグループオフピクチャとして定義される。トランスポートレイヤにおいて、RAPは復号可能ユニットである。さらに、RAP−−GOPは、トランスポートレイヤのための復号可能ユニットとすることができる。アプリケーションに基づいて、必要な場合、より多くのデータが検索又は要求される。例えば、記憶されたビデオの再生中に、ビットレート及びフレームレートを査定するために、数秒(2〜5秒)相当のデータを求めてファイルフォーマットヘッダを探索することが可能であり得る。次いで、利用可能な電力に基づいて、データのすべてを復号するか、又は低減されたフレームレートに向けて復号することを決定する。
【0061】
受信タイムスライス190は、MediaFLO(商標)のためのスーパーフレーム、又はDVB−H(Hはハンドヘルドを表す)などのデジタルビデオブロードキャスト(DVB)のためのタイムスライスとすることができる。
【0062】
図8に、TL優先PMシーケンス発生器152を示す。上記で抽出された情報を処理して、復号可能ユニット200のTL優先PMシーケンスのリストを生成する。TL優先PMシーケンス発生器152は絶対パラメータ値を導出する。トランスポートレイヤ52を仮定すると、対応するGOPとともに複数のパケットRAP1191、RAP2196、...RAPN198が受信されている。従って、デコーダエンジン104によって復号すべき復号可能ユニットのTL優先PMシーケンスは、ブロック202で開始する。ここで、復号可能ユニットは、ブロック202におけるRAP1、ブロック204におけるRAP−−GOP1の残部、ブロック206におけるRAP2、ブロック208におけるRAP−GOP2の残部である。TL優先PMシーケンスの優先順位付けは、ブロック210における復号可能ユニットRAPN、及びブロック212におけるRAP−−GOPNの残部まで続く。復号可能ユニットのTL優先PMシーケンスの上記の説明は、シーケンスの構成の一例にすぎない。
【0063】
図9に、TL復号MIPS及び電力予測器154を示す。トランスポートレベル52において、第1のレベルの電力/計算負荷低減が可能である。このレベルは、粗い電力/計算負荷低減を行うことができる。例えば、最低電力モード設定の場合、又は機器10のバッテリーレベルが<10%まで消耗したとき、(ブロック202、206及び210によって示される)RAPパケットのみが復号されることになり、レンダリングステージ28Aによってレンダリングしながら、随意に、グラフィックス処理ユニット34は、Iフレーム間に遷移効果を生成するようにトリガされ得る。遷移効果は、スライドショー効果の代わりに低コスト「ビデオ」を与える。低電力モードに基づいて、スキップされた復号可能ユニットを補償するために他のビデオ補償を使用することができる。例えば、画像モーフィングを採用することができる。補償の別の例はオプティカルフローを採用することができる。
【0064】
TL復号MIPS及び電力予測器154は、TL優先PMシーケンス200のリスト中の復号可能ユニットのPMシーケンスの1つ、複数又はすべてを復号するためのMIPSに対する予測(列4)を表すデータを発生する。例示及び説明のためにのみ、MIPS予測テーブル230を示す。テーブルは複数の列を有する。列C1では、トランスポートレイヤ情報又は復号可能ユニットのTL優先PMシーケンスが項目別に示されている。列2では、復号可能ユニットの一部又は全部を復号するためのパケットサイズが識別される。列C3では、ビットレート計算が識別される。列C4では、復号可能ユニットを復号するための予測MIPSが与えられる。諒解され得るように、列C3中のビットレート及び列C2中のパケットサイズは、優先順位付け段階中に導出され得る。
【0065】
この例では、行R1は、復号可能ユニット200のTL優先PMシーケンスのリスト中の第1の復号可能ユニットを識別する。この例では、第1の復号可能ユニットはRAP1である。RAP1のパケットサイズは、TL抽出器及びコンパイラ150から抽出され、コンパイルされた情報に基づいて計算できる。例示的な構成では、RAP1のための復号パケットサイズは、RAP1のためのトランスポートパケットのサイズ、すなわち、(トランスポートヘッダ192+ペイロード193)のサイズに対応する。RAP2のための復号パケットサイズは、RAP2のためのトランスポートパケットのサイズ、すなわち、(トランスポートヘッダ+ペイロード)のサイズに対応する。同様に、RAPNのための復号パケットサイズは、RAPNのためのトランスポートパケットのサイズ、すなわち、(トランスポートヘッダ+ペイロード)のサイズに対応する。行RN+1(最後の行)は、スライス190など、受信タイムスライス全体に対応する。従って、各復号可能ユニットのためのMIPSの予測が計算され、受信タイムスライス190のトランスポートレイヤ52全体のための行RN+1において、全ての復号可能ユニットのためのMIPSの予測が計算される。
【0066】
列3では、ビットレートが計算又は抽出される。この場合、ビットレートは、(PTS2−PTS1)つまり(PTS2マイナスPTS1)で除算された区間(RAP−−GOP1)のサイズに従って、RAP、GOP1、PTS2、PTS1に基づいて計算される。RAP2、...RAPNのためのビットレートは、RAP1と同様にして計算される。行RN+1では、ビットレートは、受信タイムスライス/区間(PTS2−PTS1)のサイズである。
【0067】
列4では、行R1において、RAP1を復号するための予測MIPSは2つの値を有する。第1の値は、RAP1のIフレームサイズの関数である。第2の値は、所定のコーデックのためのサイズ(RAP−−GOP1)のビットストリームのその部分の関数である。MIPの予測のための情報は、トランスポートヘッダ(RAP及び対応するPTS)から入手可能である。従って、復号可能ユニットは可分であり、MIPSを予測するとき、完全には復号されない。代わりに、以下でより詳細に説明するように、必要な情報を抽出するために、そのヘッダ又は一部分のみを復号する必要がある。行RN+1では、タイムスライス全体を復号するための予測MIPSは、所定のコーデックのための(そのタイムスライスの)ビットストリームサイズに従って予測される。指定された量に対する復号するためのMIPS予測は、電力プロファイリング及び分析によるものであることに留意されたい。
【0068】
列C4中のMIPS予測の各々について、対応する電力要件を判断することができる。対応する電力は、必要に応じて計算され得るか、又はルックアップテーブルに事前記憶され得る。これは、一般に、3段階プロセス120の第3段階を完了する。
【0069】
図10に、電力及び計算負荷管理を用いて復号するためのプロセス240を示す。復号可能ユニットのうちの1つ又は複数を復号するためのMIPS要件、及び所定の瞬間における利用可能なMIPS、(又は電力要件対利用可能な電力/アンペア)が与えられれば、受信タイムスライス190の全部を復号するか、一部を復号するかの決定を行うことができる。プロセス240は、想像線で示されたプロセス120の第3段階とともに示されている。プロセス120の第3段階は、トランスポートレイヤ52を復号するために必要な計算負荷及び/又は電力のための必要な予測を与える。従って、ブロック242において、MIPSを予測する。ブロック244において、予測MIPSに対応する電力を判断する。例示的な構成はMIPSと電力の関係を考慮に入れているが、電力及び計算負荷に影響を及ぼす他の値を採用することができる。
【0070】
ブロック244は第3段階を終了する。ブロック244の後にブロック246が続き、所定の瞬間の利用可能なMIPS(計算負荷)を判断する。また、ブロック244の後にブロック248が続き、所定の瞬間の利用可能な電力を判断する。ブロック246とブロック248は並列に示されている。とはいえ、様々な構成において、プロセス240のブロック及び本明細書で説明する他のプロセスは、図示の順序で実行され、若しくは、これらのステップの少なくとも2つ又はその部分は、同時に、並行して、又は異なる順序で実行され得る。
【0071】
ブロック246の後にブロック250が続き、予測MIPSが利用可能なMIPSよりも大きいかどうかの判断を行う。その判断が、その瞬間に利用可能な計算負荷が十分であることを意味する「いいえ」である場合、ブロック254においてトランスポートレイヤ52のすべてを復号し得る。しかしながら、ブロック250における判断が、利用可能な計算負荷が不十分であることを意味する「はい」である場合、ブロック256において、低電力モード設定260(図11)のリスト中で識別されるモードのうちのいずれかに従ってトランスポートレイヤ52の一部を復号し得る。
【0072】
ブロック248の後にブロック252が続き、予測電力が利用可能な電力に匹敵するかどうかの判断を行う。ブロック252における判断が、利用可能な電力が十分であることを意味する「いいえ」である場合、トランスポートレイヤ52のすべてを復号し得る。しかしながら、ブロック252における判断が、利用可能な電力が不十分であることを意味する「はい」である場合、ブロック256において、低電力モード設定260(図11)のリスト中で識別されるモードのうちのいずれかに従ってトランスポートレイヤ52の一部を復号し得る。ブロック250とブロック252からの両方の条件がいいえである場合、トランスポートレイヤ52のすべてが復号されるであろう。全ての他の場合には、トランスポートレイヤ52は部分的に復号されるであろう。ブロック248、252は、それらも随意であることを示すために想像線で示されている。
【0073】
図11に、TLモード中のマルチレイヤ低電力モードセット発生器114を示す。マルチレイヤ低電力モードセット発生器114は、選択可能な低電力モード設定のリスト260を発生する。図11の例示的な構成では、行R1のモード1、行2のモード1A、及び行3のモード2として示される複数のトランスポートレイヤ低電力モードがある。トランスポートレイヤモード1は、例えば、全てのRAPを使用するスライドショー(以下「SS−RAP」と呼ぶ)に対応する。トランスポートレイヤモード1Aは、レンダリングステージ28Aによる遷移効果をもつSS−RAPに対応する。従って、モード1Aは、モード1に勝る拡張視覚的品質を与えるという点で、モード1とは異なる。トランスポートレイヤモード2は、利用可能な電力に基づくRAP−−GOPの選択的な復号に対応する。列C2のリストは、デコーダエンジン104に、トランスポートレイヤ52において復号可能ユニットのうちの1つ又は複数を選択的に復号させるための必要な命令を与えるであろう。
【0074】
TLモード中の電力管理モジュール100は、予測MIPS及び/又は電力に基づいて、ビットストリームの復号のために低電力モード1、1A又は2のうちのどれをユーザに与えることができるかの判断を行う。ビデオシーケンス/ピクチャレイヤに関して後述するように、復号可能ユニットの他のレイヤの電力を管理することに基づいて、さらに節約され得る利用可能な電力がある場合、モード2を選択することができる。
【0075】
TLモード1Aが選択された場合、遷移効果をもつSS−RAP(Iフレーム)の通常復号が行われる。しかしながら、TLモード1が選択された場合、電力管理モジュール100は、視覚的品質のさらなるアップグレードのためにVS/PLモード3に進み得る。
【0076】
シーケンス/ピクチャレイヤ
図12に、ビデオシーケンス/ピクチャレイヤ(VS/PL)構文解析器及び処理ユニット108を示す。VS/PL構文解析器及び処理ユニット108は、VS/PL情報抽出器及びコンパイラ280(図13)と、VS/PL優先PMシーケンス発生器282(図15)と、VS/PL復号MIPS及び電力予測器284(図17)とを含む。VS/PL構文解析器及び処理ユニット108は、VS/PL70のための復号演算の電力/計算負荷管理において使用する3段階プロセス120を実行する。
【0077】
図13に、VS/PL情報抽出器及びコンパイラ282を示す。VS/PL情報抽出器及びコンパイラ282はビデオビットストリームのVS/PLフォーマットに依存する。VS/PL70による受信タイムスライス330の一例を図14に示す。ビデオコーデック(エンコーダエンジン及びデコーダエンジン)に基づいて、シーケンスレイヤ54において情報を抽出する。MPEG−2及びMPEG−4の場合、ビデオシーケンスレイヤパラメータを抽出する。これは、ビデオデコーダエンジン104へのインターフェースを必要とする。抽出については、図27及び図28に関して後述する。
【0078】
トランスポートレイヤ52に記載されている幾つかのパラメータ(例えばIフレームロケーション又はパケットID)が検索できなかった場合、そのような情報はシーケンスレイヤ54において抽出され得る。VS/PL情報抽出器及びコンパイラ280はIフレームロケーション284又はパケットID286を抽出する。VS/PL情報抽出器及びコンパイラ282はまた、H.264規格又はシーケンスレイヤ54などのためのシーケンスパラメータセット(SPS)から、プロファイル290、レベル292、及びパラメータ制約(constrained_set_flags)294を抽出する。ピクチャパラメータセット(PPS)を使用することもできる。
【0079】
VS/PL情報抽出器及びコンパイラ282はまた、ピクチャ情報296を抽出又はコンパイルすることができる。ピクチャ情報は、データを復号/処理するために必要とされる計算負荷を査定するための、幾つかの参照フレーム298、解像度300、(まだ検索されていない場合)フレームレート302、表示パラメータ(VUI)などを含み得る。追加情報は、基準ロケーション304と、参照ピクチャサイズ306と、PTSと、基準ピクチャ情報308とに関する情報を含む。また、非参照ピクチャロケーション310、非参照ピクチャサイズ312、非参照ピクチャ情報314、及びPTSを抽出又はコンパイルすることができる。コンパイルされる情報は情報コンパイラ316によってコンパイルされる。VS/PL情報を抽出するために、シーケンスヘッダ及び全てのピクチャヘッダのみが復号される。図27及び図28でより詳細に説明するように、ピクチャのペイロードは復号されないままである。
【0080】
図15に、VS/PL優先PMシーケンス発生器282を示す。VS/PL優先PMシーケンス発生器282において、抽出された情報から絶対パラメータ値を導出する。復号可能ユニットの優先PMシーケンスVS/PLのリスト360は、精度の改善のためのより多くの詳細でポピュレートされる。優先順位付けは、図8に関して説明したものと同様である。しかしながら、このレベル又はレイヤにおいて、トランスポートレイヤ52中で識別された複数のパケットRAP1、RAP2、...RAPN(ブロック362、382、388)に、H.264の場合はIDR及びIフレームなど、Iフレームのタイプに基づいて、さらに資格を与えるか又は優先順位を付ける。代替的に、ピクチャヘッダ情報を使用して全てのIフレームを識別し、次いで優先順位付けする。
【0081】
例示的な構成では、ブロック又は区間RAP−−GOP1364を他のVS/PL復号可能ユニットにさらに再分割する。これらのVS/PL復号可能ユニットを、IDR(又は、MPEG−2におけるクローズドGOPの始端のIフレーム)の後に非IDR Iフレーム(オープンGOP)が続くように、さらに優先順位付けする。従って、IDRフレーム366の後にIフレーム368が続くように、優先順位が設定され得る。Iフレーム366の後にPフレーム370が続き、その後に参照Bフレーム372が続く。次いで、参照Bフレーム372の後に、bフレーム374として示される非参照Bフレームが続く。図14は、フレームタイプ(P、B及びb)を示す受信タイムスライス330を示す。
【0082】
従って、デコーダエンジン104によって復号すべきVS/PL優先PMシーケンスは、ブロック362においてRAP1で開始し、その後にブロック364においてRAP−−GOP1が続く。ブロック366、368、370、372及び374に従って、RAP−−GOP1をさらに優先順位付けする。bフレームに基づいて、RAP−−GOP1に対応する区間をさらに優先順位付けすることができる。例示的な構成では、ブロック376〜ブロック380において、bフレームのサイズ情報を使用して、VS/PL優先PMシーケンスをさらに優先順位付けする。例えば、FRUC_THR(ブロック376)として示されるFRUCしきい値よりも大きいサイズ情報を有するbフレームは、FRUCしきい値よりも小さいサイズを有するbフレームよりも高い優先度を有することができる。さらに、DROP_THRとして示されるドロップしきい値よりも小さいbフレームにフラグを付け、それをFRUCなしに完全にドロップすることができる。従って、ブロック378において、優先順位付け基準は、DROP_THR<b<FRUC_THRとして設定できる。ブロック380において、優先順位付け基準は、b<DROP_THとして設定できる。これらのしきい値は、必要とされる処理サイクル/電力の低減率にマッピングできる。
【0083】
ブロック382は、RAP2を復号するための優先順位を設定する。ブロック384の後にブロック382が続き、上記のブロック366、368、370、372、374、376、378及び380と同様にRAP−−GOP2の残部を優先順位付けする。ブロック386におけるVS/PL優先PMシーケンスの優先順位付けは、RAPNの復号を優先順位付けするためのブロック388まで続く。ブロック388の後にブロック390が続き、復号のためにRAP−−GOPNの残部を優先順位付けする。
【0084】
計算負荷のステータスに応じて、適切な数の低優先度シーケンス又は選択可能な復号可能ユニットの削除によって復号演算のシーケンスを低減又は変更することができる。
【0085】
図16に、VS/PL復号MIPS及び電力予測器284によってMIPSを予測するためのプロセス400のフローチャートを示す。プロセス400はブロック402で開始し、IDRフレームサイズを復号するためのMIPSを判断する。ブロック402の後にブロック404が続き、全てのIフレームサイズを復号するためのMIPSを判断する。ブロック404の後にブロック406が続き、全てのPフレームサイズを復号するためのMIPSを判断する。ブロック406の後にブロック408が続き、全てのBフレームサイズを復号するためのMIPSを判断する。ブロック408の後にブロック410が続き、様々な条件をもつ全てのbフレームサイズを復号するためのMIPSを判断する。例えば、(b1フレーム及びb2フレームなど)bフレームの一部がドロップされる場合、復号するための予測MIPSは0に設定される。
【0086】
図17に、VS/PL復号MIPS及び電力予測器284を示す。フレームレベルにおいて、(IDR、I、P、B、b...などの)フレームタイプ、サイズ(306又は312)及びフレームレート302は、それらを復号するために必要とされるプロセッササイクルの量又は割合を査定するために使用できる主要なファクタである(他の修飾子が含まれ得る)。特定のテストビットストリームを使用する電力プロファイリング及び分析を使用して、フレームタイプ(IDR、I、P、B、b...)に基づくプロセッササイクルの量とフレームサイズとの間の関係を導出することができる。これらの関係は、MIPS及び電力予測において後で使用するためにルックアップテーブル中に構成できる。他の条件をこの分析中に定め、後で外挿することができる。例えば、1参照ピクチャシナリオのためのマッピングを導出し、独立分析に基づいて5参照ピクチャに対する相対複雑度を外挿することができる。H.264規格の場合、スライスヘッダが構文解析されるまで、フレームレベル情報は利用不可能である。
【0087】
図17では、VS/PL復号MIPS及び電力予測器284は、復号するための予測MIPSのリスト440を発生する。リストは、例示及び説明のために発生される。行R1において、VS/PL復号MIPS及び電力予測器284は、各IDRのサイズ(IDR)に基づいてIDRフレームのために予測する。行R2において、VS/PL復号MIPS及び電力予測器284は、Iフレームサイズ(サイズ(I1)、サイズ(I2)、...)のシーケンスに基づいて、全てのIフレームのための予測MIPSを発生する。行R3において、VS/PL復号MIPS及び電力予測器284は、Pフレームサイズ(サイズ(P1)、サイズ(P2)、...)に基づいて、全てのPフレームのための予測MIPSを発生する。行R4において、VS/PL復号MIPS及び電力予測器284は、Bフレームサイズ(サイズ(B1)、サイズ(B2)、...)に基づいて、全てのBフレームのための予測MIPSを発生する。行R5において、VS/PL復号MIPS及び電力予測器284は、Bフレームサイズ(サイズ(b1)、サイズ(b2)、...)に基づいて、全てのBフレーム(非参照Bフレーム)のための予測MIPSを発生する。全てのbフレームのためのMIPSを予測するとき、b1及びb2がドロップされるかどうかの判断を行う。そうであれば、予測MIPSはゼロ(0)に設定される。また、b1、b2、...などの代わりにFRUCに関する予測がある。
【0088】
図10及び図17に関して、復号するための予測MIPSのリスト450中のMIPS予測の各々について、対応する電力要件が適用される。MIPS要件、及び所定の瞬間における利用可能なMIPS、(又は電力要件対利用可能な電力/アンペア)が与えられれば、図10に関して上述したのと同様の方法で、復号可能ユニットである全てのフレーム又は選択されたフレーム(一部)を復号するという決定を行うことができる。
【0089】
シーケンス/ピクチャレベル処理の終了時に、中間の精度電力低減モードが可能である(Iフレームが一般にGOP中の30%のビットを構成し、ビットの数がMIPS要件に比例すると仮定すると、約5%ずつ0〜60%の低減が可能である)。プロセッサ負荷及び電力レベルの現在のステータスに関するフィードバックに応じて、演算のシーケンスは、適切な数の低優先度エンティティの削除によって短縮される。シーケンス/ピクチャレイヤにおいて可能なモードは、電力要件の増加順に図18に掲示されている。
【0090】
図18は、VS/PLモード中のマルチレイヤ低電力モードセット発生器114を示す。マルチレイヤ低電力モードセット発生器114は低電力モードのリスト450を発生する。リストは、説明のために発生される。リストは、RAP及び全てのIフレームを使用するスライドショーを復号するための命令に対応するVS/PLレイヤモード3を含む。従って、モード1Aが選択された場合、電力管理モジュール100は、視覚的品質又は精度の改善のためにIフレームのすべてがまた復号され得るように、追加のMIPSが利用可能であるかどうかを評価するであろう。VS/PLレイヤモード3の後に、全てのIフレーム及びPフレームのみを使用する低減されたフレームレートに基づいて復号するための命令に対応するVS/PLレイヤモード4Aが続く。VS/PLレイヤモード4Aの後に、B(及びb)フレームの代わりに選択的FRUCを用いる、全てのIフレーム及びPフレームのみを使用する低減されたフレームレートに基づいて復号するための命令に対応するVS/PLレイヤモード4Bが続く。モード4Bにおいて、Iフレーム及びPフレームは通常復号を使用して復号される。しかしながら、Bフレームは復号されない。代わりに、全てのB又はbフレームについて、各B又はbフレームの代わりに選択的FRUCが使用される。VS/PLレイヤモード4Bの後に、上記のように、Iフレーム及びPフレームなど、利用可能な電力に基づいてRAP−−GOPを選択的に復号するための命令に対応するVS/PLレイヤモード4Cが続く。ただし、代替演算として、選択的な数のB又はbフレームについて、各B又はbフレームの代わりに選択的FRUCが使用される。VS/PLレイヤモード4Cの後に、全てのIフレーム及びPフレームを使用する(モード4Cよりも高い)低減されたフレームレートに基づいて復号するための命令に対応するVS/PLレイヤモード4Dが続く。全てのBフレームをも含めることができる。代わりに、(随意に、選択的な数のBフレームについて)各Bフレームの代わりに選択的FRUCが使用され、bフレームのための演算は使用されない。代わりに、bフレームはスキップ又はバイパスされ得る。VS/PLレイヤモード4Dの後に、全ての受信フレーム(I、P、B及びb)を復号するための命令に対応するVS/PLレイヤモード5が続く。
【0091】
VS/PLレイヤモード3又は5が選択された場合、スキップマクロブロック(MB)の代わりに、さらなる代替演算が使用されるであろう。さらに、モード2から、モード4A〜4D及び5によって与えられる改良によって、さらなる拡張された視覚的品質又は精度が達成され得る。
【0092】
スライス/MBレイヤ
図19に、スライス/マクロブロックレイヤ(S/MBL)構文解析器及び処理ユニット110を示す。S/MBL構文解析器及び処理ユニット110は、S/MBL情報抽出器及びコンパイラ460(図20)と、S/MBL優先PMシーケンス発生器462(図21)と、S/MBL復号MIPS及び電力予測器464とを含む。S/MBL構文解析器及び処理ユニット110は、S/MBL72のための復号演算の電力/負荷管理において使用する3段階プロセス120を実行する。
【0093】
図20にS/MBL情報抽出器及びコンパイラ460を示す。S/MBL情報抽出器及びコンパイラ460は、ビデオビットストリームが圧縮されたプロトコル又は規格に依存する。ここで、S/MBL情報抽出器及びコンパイラ460は、スライス情報470とMB情報472とを抽出する。スライス情報470及びMBヘッダは、図15からの優先シーケンス中で識別されたピクチャに対応するピクチャについて構文解析される。前のレイヤVS/PL70中の優先シーケンス(図15)からのフレームの選択された部分に、復号すべきというフラグが付けられていることがある。電力管理のより細かい精度が必要とされる場合、復号は、全てのピクチャについて続き得ることに留意されたい。従って、スライスヘッダ及びMBヘッダのみが復号される。
【0094】
ヘッダが間違っていることが検出された場合、MB又はスライス全体の係数/MBデータを廃棄することができる。随意に、ゼロMV隠蔽を適用し、後で、より高度な誤り訂正(EC)を用いて改良することができる。MB情報472は、MBタイプ474と、動きベクトル(MV)476と、モード478と、サイズ480と、他の情報482と、フレーム484ごとのMBマップとを含む。
【0095】
例示的なフレームごとのMBマップは、以下で全体的に示すように参照により本明細書に組み込まれる、本明細書と同時に出願され、代理人整理番号第071445号を有する特許出願第12/145,900号に記載されている。
【0096】
図21に、S/MBL優先PMシーケンス発生器462を示す。S/MBL優先PMシーケンスのリスト490は、スライス情報及びMBマップを使用して、図15中の優先リスト中の各フレームの複雑度を推定する。一構成では、ブロック492におけるPフレームスライス及びブロック502におけるBフレームスライスのみをさらに優先順位付けする。前のレイヤにおいて、VS/PLのどの選択されたモードの場合も、全てのIフレームは復号されるべきである。Pフレームスライスは、ブロック494におけるスライスごとのROI MBとブロック496におけるモード平滑化を施した非ROI MBとに基づいて、さらに優先順位付けされる。モード平滑化は、ブロック498における強制均一動きとブロック500における強制Pスキップとに従って、さらに優先順位付けされる。Bフレームスライスは、ブロック504におけるスライスごとのROI MBとブロック506におけるモード平滑化を施した非ROI MBとに基づいて、さらに優先順位付けされる。モード平滑化は、ブロック507における強制均一動き及びブロック508における強制Bスキップに従って、さらに優先順位付けされる。
【0097】
モード平滑化は、同様の特性をもつグループMBに適用できる。MBの3×3又は5×5ウィンドウごとに、MBのウィンドウをモードの均一性について査定する。ウィンドウ中のアウトライアー(残りのMBとは異なるモードをもつMB)を識別する。アウトライアーがわずかに異なる場合、それらにウィンドウのモードを強制する。他の場合、アウトライアーのモードを維持する。例えば、3×3MBウィンドウにおいて、1つのMBはインターモードであり、他のMBはスキップモードである場合、インターMBの(CBP又はMBサイズによって示される)残差がSkip_thresholdよりも小さければ、そのMBにスキップモードを強制する。モード平滑化の後、スキップモードMB対ダイレクト/インターモードMBの比を計算し、複雑度のファクタとして含める。さらに、(代理人整理番号第071445号を有する特許出願第12/145,900号に記載のように)スキップMBの連結された領域をMB膨張及びMB浸食によってタイルとして組み合わせることができる。次いで、タイルを、スキップ/静的、非静的、均一動き、region-of-interest(ROI、相対MB/タイルサイズに基づく)などと見なすことができる。均一動きタイルの場合、MBのMVを量子化し、そのタイルに1つのMVを強制することができる(これは、これらのMBの残差/CBPがゼロ又は概ゼロであるという条件で行われ得ることに留意されたい)。別のオプションでは、非静的又はROIタイルのみを復号し、残部をスキップさせる。この場合、非ROI MBの一部はスキップ以外のモードであり得るが、ブロック500及びブロック508のように、それらをスキップさせることになる。
【0098】
図22に、S/MBLモード中のマルチレイヤ低電力モードセット発生器114を示す。マルチレイヤ低電力モードセット発生器114は低電力モードの階層リスト650を発生する。フレーム中のどのMBを処理するか、及びどの受信フレームを処理するかを操作する能力により、復号及びレンダリングプロセスを管理する際に、かなりの精度レベルが可能になる。さらに、上述のMBレベルの電力最適化は、復号中に(オンザフライで)実行され得る。この場合も、対応する低電力モードに対する電力の低減の割合をマッピングするために、詳細なプロファイリング及び電力分析が必要とされる。
【0099】
モードの例は、S/MBLモード6A、6B、6C、7A、7B、7C及び8として表される。モード6Aでは、Iフレームは、Iフレームの通常復号のとおりに復号される。ただし、電力が許すとき、視覚的品質又は精度を改善するために追加の代替演算を行うことができる。例えば、モード6Aでは、非ROI MBをもつPフレームにP_Skipを強制し、Bフレーム及びbフレームに選択的FRUCを強制することができる。モード6Bでは、Iフレームは、Iフレームの通常復号のとおりに復号される。モード6Bにおける代替演算は、モード平滑化を施したPフレームにP_Skipを強制し、Bフレーム及びbフレームに選択的FRUCを強制することを含むことができる。モード6Cでは、Iフレームは、通常復号プロセスに従って復号される。ただし、代替演算として、モード平滑化を施したPフレームに均一動きを強制し、Bフレーム及びbフレームに選択的FRUCを強制することができる。モード7Aでは、Iフレーム及びPフレームは、通常復号プロセスに従って復号される。だたし、代替演算として、非ROI MBをもつBフレームにSkipを強制する。モード7Bでは、Iフレーム及びPフレームは、通常復号プロセスに従って復号される。だたし、代替演算として、モード平滑化を施したBフレームにSkipを強制する。モード7Cでは、Iフレーム及びPフレームは、通常復号プロセスに従って復号される。だたし、代替演算として、モード平滑化を施したBフレームに均一動きを強制する。モード8では、全ての受信フレーム(I、P、B及びb)が復号される。
【0100】
図23に、電力管理演算のハイレベルブロック図を示す。ブロック図は、ディスプレイプロセッサ28のレンダリングステージ28Aと通信しているデコーダエンジン104を含む。従って、電力管理(PM)モジュール100は、TLモード、VS/PLモード及びS/MBLモードにおいてビットストリームを処理する。PMモジュール100は、選択された低電力モードに従って復号可能ユニットを復号するようにデコーダエンジン104を制御する。レンダリング中に必要とされる処理はまた、上記で説明した低電力動作モードのいずれかにおけるフレームワークからの演算の優先シーケンスから導出される。さらに、デコーダエンジン114の出力は、他の機器、メモリ、又は装置に送信できる。デコーダからの出力は、最終的な記憶又は消費(表示)のために別のビデオ対応装置に転送できる。グラフィックス処理ユニット34はまた、ディスプレイプロセッサ28と通信している。
【0101】
図24に、例示的な標準(通常)復号プロセス700を順番に示す。また、プロセス700について、図2Dに関して説明する。ビデオシーケンス及びピクチャレイヤにおいて開始して、標準(通常)復号プロセス700は、ブロック702においてシーケンスヘッダ54Aを復号し、続いてブロック704においてピクチャ1のピクチャヘッダ58Aを復号する。ピクチャ1のピクチャヘッダを復号した後、スライス及びマクロブロック情報を含むピクチャデータ58Bを復号する。従って、ピクチャ1データが復号されるとき、スライス1〜Mによって示されるスライスユニットのすべてが復号される。各スライスは同様に復号されるので、ただ1つのスライスについて、より詳細に説明する。
【0102】
スライス1が復号されるとき、ブロック706においてピクチャ1のスライス1のスライスヘッダ60Aを復号する。次いで、ブロック708においてピクチャ1のスライス1のマクロブロック(MB)1のMBヘッダ62Aを復号する。MB1のMBヘッダ62Aが復号された後、ブロック710においてピクチャ1のスライス1のMB1の関連するMBデータを復号する。次いで、次のマクロブロックを取得する。従って、ブロック712においてピクチャ1のスライス1のマクロブロック(MB)2のMBヘッダ62Aを復号する。MB2のMBヘッダが復号された後、ブロック714においてピクチャ1のスライス1のMB2の関連するMBデータ62Bを復号する。マクロブロックヘッダを復号し、続いて関連するMBデータ62Bの復号することは、スライス中の全ての残りのMBについて続く。この例では、N個のMBがある。従って、ピクチャ1のスライス1の復号は、ブロック716においてピクチャ1のスライス1のMB NのMBヘッダを復号し、続いてブロック718においてピクチャ1のスライス1のMB Nの関連するMBデータ62Bを復号することで終了するであろう。
【0103】
従って、プロセス700は、スライド1について上述したのと同様にして残りのスライスの各々を復号することによって、ピクチャ1情報を復号し続けるであろう。この例では、M個のスライスがある。従って、ブロック720において、ブロック706〜718に関して上述した方法でスライスMを復号する。
【0104】
次に、プロセス700は、ピクチャ2などの次のピクチャフレームを復号するであろう。ピクチャ2を復号するために、プロセス700は、スライス1〜Mのロケーションを導出するために、ブロック722においてピクチャ2のピクチャヘッダ58Aを復号するであろう。従って、ブロック724において、ブロック706〜718に関して上述した方法でスライス1を復号する。ピクチャ2の全ての残りのスライスは同様に復号される。従って、ブロック726において、ピクチャ2の復号を完了するために、ブロック706〜718に関して上述した方法でスライスMを復号する。
【0105】
プロセス700は、最後のピクチャZまで同様にして連続的に全てのピクチャフレームの復号を反復する。この例では、ピクチャ1〜Zがある。従って最後のピクチャであるピクチャZを復号するために、プロセス700は、ブロック728においてピクチャZのピクチャヘッダ58Aを復号し、続いてブロック730においてスライス1を復号するであろう。ピクチャZ中の各スライスは、ブロック732におけるスライスMまで復号される。
【0106】
図25に、電力管理演算を用いるTL復号プロセス800のフローチャートを示す。プロセス800はブロック802で開始し、図6及び図8に関して説明したように、TL情報抽出及び復号可能ユニットのPMシーケンスのTL優先順位付けを行う。ブロック802の後にブロック804が続き、TL優先PMシーケンスについてMIPS及び/又は電力負荷を予測する。ブロック804の後にブロック806が続き、TL低電力モードセットのためのMIPSを予測する。ブロック806の後にブロック808が続き、ビットストリームを復号するために十分な電力があるかどうかの判断を行う。判断が「はい」である場合、図24に関して説明した手順に従って、ブロック810において通常復号プロセス700を行うことができる。しかしながら、判断が「いいえ」である場合、オプションとして、ブロック812において、ビデオを再生するなどのための電力が不十分であることをユーザに通知する。ユーザは、選択すべきモード1、1A及び2に対応する低電力モードオプションを与えられるであろう。代わりに、低電力モードを自動的に選択することができる。ブロック812の後にブロック814が続き、ユーザによって又は自動的にTL低電力モードを選択する。図25のフローチャートは図26に進む。
【0107】
図26に、電力管理演算を用いるVS/PL復号プロセス900のフローチャートを示す。プロセス900は、ブロック902において、図13及び図15で説明したように、VS/PL情報抽出及びPMシーケンスのVS/PL優先順位付けを実行することで開始する。ブロック904において、図16及び図17に関して説明したように、全てのフレームタイプ(復号可能ユニット)のためのMIPSを予測する。ブロック906おいて、図18に示すように、VS/PL優先PMシーケンスに基づいて、各VS/PL低モードセットのためのMIPS及び/又は電力負荷を予測する。予測MIPSに基づいて、PMシーケンスは、視覚的品質及び精度に基づいて互いにグループ化される。(全てのシーケンスなど)シーケンスの一部は、不十分な電力のために復号することができない。従って、ブロック908において、最大利用可能電力を下回る、VS/PL低電力モードセットからの低電力モードのランク付けされたサブセットを発生する。ランク付けは、視覚的品質及び/又は精度の改善によるものである。ブロック910において、随意に、ユーザに電力の制限を通知し、低電力モードオプションの選択を与える。ブロック912において、サブセットの最高ランクの低電力モードを選択するか、又はユーザによって低電力モードを選択する。ブロック914において、選択されたVS/PL低電力モードに基づいて、適宜に図24の通常復号プロセス700に戻って復号演算を挿入することによって、復号を開始する。
【0108】
一構成では、各フレームが1つの選択された低電力モードに基づいて復号された後に、MIPSを再予測することができる。その後、ビットストリーム中の次のフレーム又は他の未復号フレームを、異なる選択されたモードを使用して復号することができる。従って、低電力モードは、ビットストリームの復号中に動的に変更され得るか又はオンザフライで発生され得る。
【0109】
図27に、図24の通常復号プロセス700から分岐するVS/PL情報抽出プロトコル902Aのブロック図を示す。図27では、VS/PL情報抽出プロトコル902Aは、ブロック950においてシーケンスヘッダ54Aを復号する。従って、ピクチャ1〜Nについて示されている各ブロックの上の矢印によって示されるように、ピクチャ1〜Nのロケーションが導出される。ブロック952において、ピクチャ1のピクチャヘッダ58Aを復号する。ブロック954において、ピクチャ2のピクチャヘッダ58Aを復号する。全てのピクチャヘッダが復号される。ブロック956において、ピクチャZ(最後のピクチャ)のピクチャヘッダを復号する。従って、ピクチャヘッダ58Aの復号により、特定のビットストリームのための復号可能ユニットのPMシーケンスを導出し、復号可能ユニットのPMシーケンスのためのMIPSを予測することが可能になる。
【0110】
図28に、VS/PL情報抽出プロトコル902AによるビットストリームからのVS/PL被復号ユニットのブロック図を示す。シーケンスヘッダ54Aは、シーケンスヘッダ54Aが復号されたことを示すためにハッチングされた状態で示されている。さらに、ピクチャ1〜Nの各々のためのピクチャヘッダ58Aは、ピクチャヘッダ58Aが復号されたことを示すためにハッチングされた状態で示されている。ピクチャデータ58Bは、この時点でピクチャデータ58Bが未復号のままであることを示すためにハッチングされない状態のままである。シーケンスデータ54Bも未復号のままである。ピクチャヘッダ58Aの復号により、ピクチャデータを復号することなしにスライス及びマクロブロックレイヤについて必要なスライスロケーションを取得することが可能になる。
【0111】
図29に、電力管理演算を用いるS/MBL復号プロセス1000のフローチャートを示す。プロセス1000は、ブロック1002において、図20及び図21で説明したように、S/MBL情報抽出及び復号可能ユニットのPMシーケンスのS/MBL優先順位付けを実行することで開始する。一構成では、Pフレーム及びBフレームのための情報のみを抽出し、優先順位付けする。ブロック1004において、S/MBL低電力モードの各々のためのMIPSを再予測する。ブロック1006において、最大利用可能電力を下回る、S/MBL低電力モードセットからの低電力モードのランク付けされたサブセットを発生する。ランク付けは、視覚的品質及び/又は精度の改善によるものである。ブロック1008において、随意に、ユーザに電力の制限を通知し、低電力モードオプションの選択を与える。ブロック1010において、サブセットの最高ランクの低電力モードを選択するか、又はユーザによって低電力モードを選択する。ブロック1012において、選択されたS/MBL低電力モードに基づいて、適宜に図24の通常復号プロセス700に戻って復号演算を挿入することによって、Pフレームスライス及びBフレームスライス並びにMBデータの復号を開始する。ブロック1012の後、低電力モードが残りの利用可能な電力に従ってアップグレード又はダウングレードされ得るように、1つ以上のフレームが復号された後にMIPSを再予測する。
【0112】
図30に、図24の通常復号プロセス700から分岐するS/MBL情報抽出プロトコル1002Aのブロック図を示す。図30について、図31に関して説明する。図31は、S/MBL情報抽出プロトコル1002AによるビットストリームからのS/MBL被復号ユニットのブロック図を示す。S/MBL情報抽出プロトコル1002Aは、第1のピクチャ1のピクチャデータ58Bを復号する。ピクチャデータ58Bを復号するために、低電力モードが選択できるまでスライスヘッダ60A及びMBヘッダ62Bのみを復号する。ピクチャ1〜Nのブロックの上の矢印はピクチャのロケーションを示す。矢印のブラックシェーディングは、低電力モードに基づくピクチャの選択を示す。シェーディングなしの矢印は、選択されていないピクチャを示す。ブロック1050において、ピクチャ1のスライスヘッダ60Aを復号する。ブロック1052において、ピクチャ1のスライス1のMB1のMBヘッダ62Aを復号する。ブロック1054において、ピクチャ1のスライス1のMB2のMBヘッダ62Aを復号する。ブロック1056において、ピクチャ1のスライス1のMB NのMBヘッダを復号し、ピクチャ1のスライス1の全てのマクロブロックヘッダが復号される。マクロブロックデータ62Bは復号されない。ピクチャデータ58B、スライスヘッダ60A及びMBヘッダ62Aのハッチングは、それらの復号を示す。
【0113】
各スライスのスライスヘッダ60Aが復号され、続いてスライスの各MBのMBヘッダが復号される。ブロック1058において、ブロック1050〜1056と同様にしてピクチャ1のスライスM(最後のスライス)を復号する。すべて残りのピクチャは同様にして復号される。ブロック1060において、ブロック1050〜1058に関して上述したようにピクチャZ(最後のピクチャ)を復号する。従って、スライス及びマクロブロックヘッダの復号により、特定のビットストリームのための復号可能ユニットのPMシーケンスを導出し、復号可能ユニットのPMシーケンスのためのMIPSを予測することが可能になる。
【0114】
図32に、選択された電力管理モードに従う最終スライス及びマクロブロック復号のブロック図を示す。スライスデータ60B及びMBデータ62Bは、(モード6A〜6C及び7A〜7Cなどの)選択された低電力モードの場合の復号すべきPMシーケンスに従って復号される。スライスデータ60B及びMBデータ62Bは、それらの復号を示すためにハッチングされた状態で示されている。
【0115】
図33に、マルチレイヤ電力管理モードの階層構成のブロック図を示す。TL PM処理1200は、トランスポートレイヤ52において電力管理の第1ティアを開始する。TL PM処理1200の結果として、予測MIPSに基づいて複数の低電力モードが確立される。一構成では、モード1、1A及び2が提案される。電力管理演算は、VS/PL PM処理1202において第2ティアに続く。電力管理の第2ティアは、シーケンス及びピクチャレイヤ70において行われる。VS/PL PM処理1202は、予測MIPS並びに視覚的品質及び/又は精度に応じて複数の低電力モードを生成する。一構成では、モード3、4A〜4Dが発生される。モード5は電力モードであるが、全てのフレームが復号される場合、低電力モードでないことがある。とはいえ、電力管理演算は、S/MBL PM処理1204において第3ティアに続く。電力管理の第3ティアは、スライス及びマクロブロックレイヤ72において行われる。S/MBL PM処理1204は、予測MIPS並びに視覚的品質及び/又は精度に応じて複数の低電力モードを生成する。一構成では、モード6A〜6C及び7A〜7Cが発生される。モード8は、電力が許す場合、全てのフレームが復号されることを可能にする。さらに、モード8は、ビットストリームの一部が復号され、MIPSの再予測が、全ての残りのフレームが復号できることを示した後に使用できる。
【0116】
1つ以上の例示的な構成では、説明した機能はハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装できる。ソフトウェアで実装した場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶するか、若しくはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージ機器、若しくは命令又はデータ構造の形態の所望のプログラムコードを担持又は記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などの無線技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0117】
開示した構成の前述の説明は、当業者が本開示を製作又は使用できるように提供したものである。これらの構成への様々な変更は当業者には容易に明らかになり、本明細書で定義された一般原理は、本開示の趣旨又は範囲から逸脱することなく他の構成に適用できる。従って、本開示は、本明細書で示した構成に限定されるものではなく、本明細書で開示した原理及び新規の特徴に一致する最も広い範囲を与えられるべきである。
【技術分野】
【0001】
本開示は、一般に、ビデオ処理の分野に関し、より詳細には、ビデオ処理及び復号における電力及び計算負荷管理のための技法に関する。
【背景技術】
【0002】
ビデオデータ中に含まれるデジタル情報の量は膨大であり、ビデオカメラのパフォーマンスの進歩とともに増加する傾向がある。ビデオデータの処理は、ビデオ対応デバイス、及び、特に、セルラー電話、携帯情報端末(PDA)、ラップトップコンピュータなど、ワイヤレス通信デバイスの電力及び計算リソースに大きな負担をかける。
【0003】
ビデオ圧縮は主に空間的及び時間的冗長性を低減するが、ソースビデオがキャプチャされた(又は場合によっては、記憶から抽出された)後、再構成されたビデオがディスプレイにおいて表示(消費)される前に必要とされる、幾つかの前処理演算及び後処理演算がある。ビデオ処理は、主に、電力要件(バッテリー、通話時間など)に正比例する必要とされる算術演算のために、メモリ(記憶及びデータ転送)及び計算負荷に大きな負担をかける。
【0004】
ビデオ中の冗長性の量が与えられれば、そのような演算の量の比例低減が予想されるはずである。圧縮比は桁数が多い(100:1〜1000:1)ので、実装オーバーヘッドにもかかわらず、処理すべきビデオデータの量の著しい低減を達成することができる。空間時間的冗長性は、圧縮メタデータを使用して識別され、電力を節約する、冗長演算の低減に対応し得る。様々なレベルの冗長性は、プロセッサに対する様々なレベルの消費電力及び計算負荷につながる。
【0005】
従って、ビデオ処理及び復号における電力及び計算負荷管理のための技法が必要である。
【発明の概要】
【0006】
関連出願
本出願は、本出願と同日に出願された、POWER AND COMPUTATIONAL LOAD MANAGEMENT TECHNIQUES IN VIDEO PROCESSINGと題する米国特許出願(一時的に代理人整理番号第IDF071979U1号によって参照される)に関し、すべて本出願の譲受人に譲渡され、それらの全文の各々が全ての目的のために参照により本明細書に明確に組み込まれる、2008年8月19日に出願された米国仮出願第61/090,176号及び2008年11月14日に出願された米国仮出願第61/114,988号の利益を主張する。
【0007】
本明細書では、ビデオ処理及び復号において電力及び計算負荷を管理するための技法について説明する。一構成では、ビデオを有するビットストリームから情報を抽出し、コンパイルするように動作可能な命令のセットを有するプロセッサを備える装置を提供する。プロセッサは、復号可能単位の優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一つの情報及び計算予測に基づいて復号可能単位を選択的に復号するためにビットストリームから復号可能単位の電力管理(PM)シーケンスを優先順位づけするように動作する。装置はまたプロセッサに接続されるメモリを含む。
【0008】
本装置はまた、プロセッサに結合されたメモリを含む。
【0009】
別の態様では、ビデオを有するビットストリームから情報を抽出し、コンパイルするように動作可能な命令のセットを有するプロセッサを備える集積回路(IC)を提供する。プロセッサは、復号可能単位の優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一つの情報及び計算予測に基づいて復号動作のためにビットストリームから復号単位のPMシーケンスを優先順位づけするように動作する。本集積回路はまた、プロセッサに結合されたメモリを含む。
【0010】
別の構成では、コンピュータに、ビデオデータを含んでいるビットストリームから情報を抽出させ、コンパイルさせるための命令を有するコンピュータ可読媒体を含むコンピュータプログラム製品を提供する。命令は、さらに、プロセッサに、復号可能単位の優先PMシーケンスの各々に対して電力及び計算負荷の少なくとも一つの情報及び計算予測に基づいて復号可能単位を選択的に復号するためにビットストリームから復号可能単位の電力管理(PM)シーケンスを優先順位づけするように動作する。
【0011】
構成のさらなる態様は、利用可能電力及び/又は現在計算負荷のための選択低電力モードに基づいて1以上の復号可能単位の優先PMシーケンスを選択的に復号するデコーダを含む。
【0012】
概要は、本開示の全範囲を表すものではなく、本開示の全範囲を表すものと解釈すべきでもなく、これら及び追加の態様は、特に添付の図面とともに発明を実施するための形態を読めばより容易に明らかになろう。
【図面の簡単な説明】
【0013】
【図1】ワイヤレスデバイスの概略ブロック図。
【図2A】データストリームを示す図。
【図2B】ビデオレイヤデータを示す図。
【図2C】一般的なMPEGフォーマットを示す図。
【図2D】復号可能ユニットをもつ一般的なMPEGビットストリームを示す図。
【図3A】電力管理モジュール並びにビデオエンコーダ及びデコーダエンジンのブロック図。
【図3B】電力管理モジュールとともに使用するデコーダエンジンのブロック図。
【図4】復号可能ユニットの優先電力管理(PM)シーケンスを復号するための電力及び計算負荷を予測するためのプロセスのフローチャート。
【図5】トランスポートレイヤ(TL)構文解析器及び処理ユニットを示す図。
【図6】TL情報抽出器及びコンパイラを示す図。
【図7】受信タイムスライスを示す図。
【図8】復号可能ユニット発生器のTL優先PMシーケンスを示す図。
【図9】TL復号MIPS及び電力予測器(power projector)を示す図。
【図10】電力及び計算負荷管理を用いて復号するためのプロセスを示す図。
【図11】TLモード中のマルチレイヤ低電力モードセット発生器を示す図。
【図12】ビデオシーケンス/ピクチャレイヤ(VS/PL)構文解析器及び処理ユニットを示す図。
【図13】VS/PL抽出器及びコンパイラを示す図。
【図14】受信タイムスライス中のVS/PL情報を示す図。
【図15】復号対象VS/PL優先シーケンス発生器を示す図。
【図16】VS/PL復号MIPS及び電力予測器によってMIPSを推定するためのプロセスのフローチャート。
【図17】VS/PL復号MIPS及び電力予測器を示す図。
【図18】VS/PLモード中のマルチレイヤ低電力モードセット発生器を示す図。
【図19】スライス/マクロブロックレイヤ(S/MBL)構文解析器及び処理ユニットを示す図。
【図20】S/MBL抽出器及びコンパイラを示す図。
【図21】復号対象S/MBL優先シーケンス発生器を示す図。
【図22】S/MBLモード中のマルチレイヤ低電力モードセット発生器を示す図。
【図23】電力管理演算のハイレベルブロック図。
【図24】例示的な標準(通常)復号プロセスを順番に示す図。
【図25】電力管理演算を用いるTL復号プロセスのフローチャートを示す図。
【図26】電力管理演算を用いるVS/PL復号プロセスのフローチャートを示す図。
【図27】VS/PL情報抽出プロトコルのブロック図。
【図28】VS/PL情報抽出プロトコルによるビットストリームからのVS/PL被復号ユニットのブロック図。
【図29】電力管理演算を用いるS/MBL復号プロセスのフローチャートを示す図。
【図30】S/MBL情報抽出プロトコルのブロック図。
【図31】S/MBL情報抽出プロトコルによるビットストリームからのS/MBL被復号ユニットのブロック図。
【図32】選択された電力管理モードに従う最終スライス及びマクロブロック復号のブロック図。
【図33】マルチレイヤ電力管理モードの階層構成のブロック図。
【発明を実施するための形態】
【0014】
理解を容易にするために、適切な場合、各図に共通である同じ要素を区別するためにサフィックスを付加する場合があることを除いて、可能な場合、そのような要素を示すために同じ参照符号を使用している。図面中の画像は、説明のために簡略化されており、一定の縮尺で示されていない。構成の特徴は、さらなる具陳なしに他の構成に有利に組み込むことができることが企図される。
【0015】
添付の図面は、開示の例示的な構成を示し、従って、他の等しく有効な構成を認め得る本開示の範囲を限定するものと見なすべきではない。
【0016】
「例示的」という単語は、本明細書では「例、事例、又は例示の働きをすること」を意味するために使用する。本明細書で「例示的」として説明するいかなる構成又は設計も、必ずしも他の構成又は設計よりも好ましい又は有利であると解釈すべきではなく、「コア」、「エンジン」、「機械」、「プロセッサ」及び「処理ユニット」という用語は互換的に使用される。
【0017】
本明細書で説明する技法は、無線通信、コンピューティング、パーソナル電子機器、ハンドセットなどのために使用できる。無線通信のためのこれらの技法の例示的な使用について以下で説明する。
【0018】
図1に、無線通信システムにおける無線機器10の構成のブロック図を示す。無線機器10はハンドセットとすることができる。無線機器10又はハンドセットは、セルラー又はカメラ電話、端末、ワイヤレス搭載携帯情報端末(PDA)、無線通信機器、ビデオゲーム機、ラップトップコンピュータ、ビデオ対応デバイス又は何らかの他の無線搭載デバイスとすることができる。無線通信システムは、符号分割多元接続(CDMA)システム、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))システム、又は何らかの他のシステムとすることができる。
【0019】
無線機器10は、受信経路及び送信経路を介して双方向通信を行うことが可能である。受信経路上で、基地局によって送信された信号は、アンテナ12によって受信され、受信機(RCVR)14に供給される。受信機14は、受信信号を調整し、デジタル化し、さらなる処理のためにサンプルをデジタルセクション20に供給する。送信経路上で、送信機(TMTR)16は、デジタルセクション20から送信すべきデータを受信し、データを処理し、調整し、変調信号を発生し、変調信号はアンテナ12を介して基地局に送信される。
【0020】
デジタルセクション20は、例えば、モデムプロセッサ22、ビデオプロセッサ24、コントローラ/プロセッサ26、ディスプレイプロセッサ28、ARM/DSP32、グラフィックス処理ユニット(GPU)34、内部メモリ36、及び外部バスインターフェース(EBI)38など、様々な処理ユニットと、インターフェースユニットと、メモリユニットとを含む。モデムプロセッサ22は、データ送信及び受信(例えば、変調及び復調)のための処理を実行する。ビデオプロセッサ24は、カムコーダ、ビデオ再生、及びビデオ会議などのビデオアプリケーションのためのビデオコンテンツ(例えば、静止画像、動画、及び移動テキスト)に対する処理を実行する。ビデオプロセッサ24はビデオ符号化及び復号演算又はコーデック演算を実行する。ビデオ符号化及び復号演算は、デジタル部20中の別のプロセッサによって実行されるか、又はデジタル部20中の様々なプロセッサにわたって共有され得る。コントローラ/プロセッサ26は、デジタル部20内の様々な処理ユニット及びインターフェースユニットの演算を指示することができる。ディスプレイプロセッサ28は、ディスプレイユニット30上でのビデオ、グラフィックス、及びテキストの表示を可能にするための処理を実行する。ARM/DSP32は、無線機器10のための様々なタイプの処理を実行することができる。グラフィックス処理ユニット34はグラフィックス処理を実行する。
【0021】
GPU34は、例えば、公開されている文献「OpenGL Specification, Version 1.0」2005年7月28日に準拠する。この文献は、セルラー電話及び他の上記の無線通信装置などの携帯及び移動機器に好適な2Dベクターグラフィックスのための規格である。さらに、GPU34はまた、OpenGL2.0、OpenGL ES2.0、又はD3D9.0グラフィックス規格に準拠することができる。
【0022】
本明細書で説明する技法は、デジタル部20中のプロセッサのいずれか、例えば、ビデオプロセッサ24のために使用できる。内部メモリ36は、デジタル部20内の様々なユニットのためのデータ及び/又は命令を記憶する。EBI38は、バス又はデータラインDLを通したデジタル部20(例えば、内部メモリ36)とメインメモリ40との間のデータの転送を可能にする。
【0023】
デジタル部20は、1つ以上のDSP、マイクロプロセッサ、RISCなどを用いて実装できる。デジタル部20はまた、1つ以上の特定用途向け集積回路(ASIC)又は何らかの他のタイプの集積回路(IC)上に作製できる。
【0024】
本明細書で説明する技法は様々なハードウェアユニットにおいて実装できる。例えば、本技法は、ASIC、DSP、RISC、ARM、デジタル信号処理機器(DSPD)、プログラマブル論理機器(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、及び他の電子ユニットにおいて実装できる。
【0025】
無線機器10又は他のビデオ対応機器に送信されなければならないか、又はそれによって処理されなければならない情報の量を低減するために、未加工ビデオデータを圧縮することができる。圧縮は、例えば、ISO/IECのMoving Picture Expert Group MPEG-2及びMPEG-4、ITU-TのH.264/AVCなど(AVCはAdvanced Video Codingを表す)による規格を含む、産業に適合したビデオ圧縮規格及び通信規格のうちの1つ又は複数に準拠するビデオ符号化技法を使用して実行できる。アドビーフラッシュ(Adobe Flash)プレーヤにおいて使用されるVP6などの非標準圧縮方法に準拠するビデオ符号化技法を使用して、圧縮ビデオデータを発生させることもできる。この構成では、未加工及び圧縮ビデオデータは、無線又は有線インターフェース又はそれらの組合せを使用して、無線機器10又は他のビデオ対応機器に、それから、又はその内部で送信できる。代替的に、圧縮データはDVDなどのメディアに記憶できる。
【0026】
圧縮ビデオデータは、例えば、実時間トランスポート(Real Time Transport Protocol)仕様においてIETFによって定義されたインターネットプロトコル(IP)を使用するトランスポートプロトコルを使用する送信のためのペイロードフォーマットでカプセル化される。
【0027】
図2Aに、無線機器10又は他のビデオ対応機器によって送信又は処理されなければならないデータストリーム及び対応するプロトコルのブロック図を示す。データストリーム2141は、例えば、トランスポートプロトコル仕様2145によって指定されたようにカプセル化されたトランスポートレイヤデータ2142と、ビデオレイヤデータ2143とからなる。トランスポートレイヤデータは、対応するトランスポートプロトコルで指定されたデータ表現のフォーマット又はシンタックス(syntax)又はセマンティクス(semantics)に従い、ビデオレイヤデータは、圧縮規格などのビデオ符号化プロトコル2144で指定されたビデオデータの表現のためのフォーマット又はシンタックス又はセマンティクスに従う。
【0028】
トランスポートプロトコル2145は、送信又は記憶のために、例えば、MP4のようなファイルフォーマット、又はRTP又はUDP又はIPなどのトランスポートフォーマットでビデオレイヤデータをカプセル化する。ビデオ符号化プロトコル2144は、MPEG−2又はMPEG−4又はH.264/AVCなどのビデオ符号化規格若しくは実質ビデオ(Real Video)又はウィンドウズ(登録商標)メディア(Windows(登録商標) Media)などの他のビデオコーデックとすることができる。トランスポートレイヤデータのシンタックス及びセマンティクスはトランスポートプロトコルによって支配又は指定され、ビデオレイヤデータのシンタックス及びセマンティクスはビデオ符号化プロトコルによって支配又は指定される。
【0029】
図2Bに、ビデオレイヤデータ2143のフォーマットを示す。ビデオレイヤデータは、シーケンス又はグループオフピクチャ(GOP)又はピクチャレイヤデータ2243と、スライス又はマクロブロック(MB)レイヤデータ2254と、ブロックレイヤデータ2247とを備える。
【0030】
受信機において、データストリームが受信されたとき、従来のシステムでは、ビデオプロセッサは、対応するトランスポートプロトコル仕様及びビデオ符号化プロトコル又は標準規格によって指定された順序でデータストリームを構文解析し、復号する。トランスポート構文解析器は、本明細書では通常パース演算と呼ばれるトランスポートプロトコル仕様に対応する順序でカプセル化を解く。ビデオデコーダは、本明細書では通常復号演算と呼ばれるビデオ符号化プロトコル又は標準規格によって指定された順序でビデオレイヤデータを構文解析し、復号する。
【0031】
以下で説明するシステム及び方法では、ビデオプロセッサは、データストリームの一部を選択的に構文解析及び/又は復号若しくは処理し、構文解析及び/又は復号演算並びに処理演算の順序は、利用可能な電力又は計算処理電力に基づく。
【0032】
図2Cに、一般的なMPEGパケットフォーマット50を示す。MPEGパケットフォーマットはデータストリーム2141の一例である。MPEGパケットフォーマット50は複数のMPEGレイヤ52、54、56、58、60、62及び64を含む。MPEGレイヤは、トランスポートレイヤ52と、シーケンスレイヤ54と、グループオフピクチャ(GOP)レイヤ56と、ピクチャレイヤ58と、スライスレイヤ60と、マクロブロック(MB)レイヤ62と、ブロックレイヤ64とを含む。図2Aでは、レイヤは、復号及び処理を必要とするレイヤの階層順を表すために積み重ねられた状態で示されている。本明細書では、説明のために、シーケンスレイヤ54とピクチャレイヤ58は、本明細書で説明する電力負荷管理のために互いにグループ化され、ビデオシーケンス/ピクチャレイヤ(VS/PL)70と呼ばれる。幾つかの規格では、シーケンスレイヤ又はピクチャレイヤのみが存在するか、若しくはレイヤの組合せが存在することがある。さらに、スライスレイヤ60とマクロブロック(MB)レイヤ62は、本明細書で説明する電力負荷管理のために互いにグループ化されて、スライス/MBレイヤ(S/MBL)72を形成する。幾つかの規格では、レイヤのうちの1つ又は複数を省略するか又は組み合わせることができる。
【0033】
MPEG圧縮では、ビデオフレームを符号化し、イントラ符号化(I)フレーム、予測符号化(P)フレーム、及び双方向予測符号化(B)フレームのうちの1つ又は複数を含み得るグループオフピクチャ(GOP)にフォーマットすることができる。幾つかのBフレームは参照フレームとすることができる。非参照Bフレームをbフレームと呼ぶことがある。諒解され得るように、規格における全てのフレーム及びフレームの構成について説明することは差し控える。
【0034】
図2Dに、復号可能ユニットをもつ一般的なMPEGビットストリームを示す。ビットストリームは、シーケンスレイヤ54において、シーケンスヘッダ54Aと、それに続くシーケンスデータ54Bとを含む。シーケンスレイヤ54は復号可能ユニットである。シーケンスデータ54Bは、ピクチャ1、ピクチャ2、ピクチャ3、....、ピクチャ(N−1)及びピクチャNとして示される複数のピクチャを含むピクチャレイヤ58を含む。各ピクチャは復号可能ユニットである。各ピクチャは、ピクチャヘッダ58Aとピクチャデータ58Bとを含む。ピクチャデータ58Bはスライスレイヤ60を含む。スライスレイヤ60は、スライス1、スライス2、スライス3、....、スライス(M−1)及びスライスMとして示される複数のスライスを含む。各スライスは復号可能ユニットである。スライスは、スライスヘッダ60Aと、それに続くスライスデータ60Bとを含む。スライスのスライスデータ60Bはマクロブロックレイヤ62を含む。マクロブロックレイヤ62は、MB1、MB2、MB3、...、MB(P−1)及びMB Pとして示される複数のマクロブロックを含む。各マクロブロックは復号可能ユニットである。各マクロブロックは、MBヘッダ62AとMBデータ62Bとを含む。幾つかの復号可能ユニットは別の復号可能ユニットに依存する。従って、優先順位付けは従属復号可能ユニットを考慮に入れることになる。その上、各レイヤ中の復号可能ユニットのうちの1つ又は複数は可分である。
【0035】
図3Aに、電力管理モジュール100並びにビデオ符号器エンジン102及びビデオ復号器エンジン104のブロック図を示す。電力管理モジュール100はマルチレベル低電力モードセット発生器114を有する。マルチレベルモードセット発生器114は、MPEGフォーマットの階層(段階化)レイヤに従って構成された複数の低電力モードを有する。複数の低電力モードは、各レイヤにおける制度(granularity)及び/又は視覚的品質の改善のために選択的に復号できる復号可能ユニットの優先電力管理(PM)シーケンスに基づく。精度は、所定の電力消費量ターゲットに対して得られる視覚的品質を最大にするために実行できる構文解析演算又は復号演算の程度を指し得る。PMシーケンスは、電力管理を可能にする復号演算又は構文解析演算のシーケンスである。PMシーケンスは、選択的復号演算及び/又は構文解析演算の先行処理(look-ahead processing)によって所定の電力に対する視覚的品質を最大にすることを試みる。マルチレベル低電力モードセット発生器114は複数のレイヤモードを有する。この構成では、複数のレイヤモードは、TLモードと、VS/PLモードと、SL/MBモードとを含む。諒解され得るように、本明細書で説明する技法は、MPEGフォーマットに限定されるものではなく、他のビデオ圧縮及び/又はトランスポートプロトコルフォーマットとともに使用できる。
【0036】
一実施形態では、ビデオデータを含むデータストリームからの情報を抽出し、コンパイルし、この情報に基づいて、電力管理を可能にするデータストリームのための復号演算及び構文解析演算のシーケンス(PMシーケンス)を優先順位付けする。
【0037】
別の実施形態では、優先順位付けは、復号演算と構文解析演算とのうちの少なくとも1つの先行処理に基づく。さらに別の実施形態では、優先PMシーケンスの各々のための電力と計算負荷とのうちの少なくとも1つの予測を計算する。別の実施形態では、電力管理シーケンスを優先順位付けすることは、視覚的品質と精度(granularity)とのうちの少なくとも1つに基づく。
【0038】
これらの実施形態は、優先順位に基づいて優先電力管理シーケンスを選択的に復号するための低電力モード又は品質モードの階層リストを発生することをさらに備える。様々な低電力モード又は品質モードは、様々な程度の視覚的品質に対応する。低電力モードの選択は、利用可能な電力又は計算負荷に応答することができる。さらに、優先電力管理シーケンスのうちの1つ以上の選択的復号は、選択された低電力モードに応答することができる。別の実施形態では、選択的復号は、優先電力管理シーケンスのための電力と計算負荷とのうちの少なくとも1つの予測を計算することに基づくことができる。
【0039】
例示的な構成では、予測モードによって示される冗長性の程度は、例えば、レイヤの段階的セットを生じ、これは低/低減電力動作モードの段階的セットにマッピングできる。H.264予測モードを使用する1つのフォーマットは、インター予測モード及びイントラ予測モードに対応する減少順のビデオ中の冗長性のレベルが、スキップモードと、ダイレクトモードと、インター予測モードと、イントラ予測モードとを含むことに基づく。モードの順序はまた、損なわれたとき(これらのモードに対応するMBの復号及び再構成の際に不正確さが導入されたとき)の視覚的品質に関して増加する影響の程度に対応する。これらの概念は他のビデオ符号化規格及びフォーマットに拡張できる。
【0040】
電力最適化ビデオ処理に向けてビデオ中の冗長性を利用するために、デコーダエンジン104のみを含むか、エンコーダエンジン102のみを含むか、又はエンコーダエンジンとデコーダエンジンにわたって調整される、幾つかの態様を電力負荷管理のために採用することができる。デコーダエンジンのみ(DO)解法の場合、DO解法は、機器10において復号又はレンダリング中に適用することができ、エンコーダアグノスティックである。解法は、適合カテゴリーと非適合カテゴリーとに分けられ得る。適合カテゴリー解法は、規格適合性を維持するビデオストリームを出力するであろう。ここでは、厳密な適合要件が満たされるべきである。非適合解法では、この解法の利点は、視覚的品質に対する影響を最小にするためのフレキシビリティと(適合解法に比較して)複雑度のより大きい低減である。
【0041】
エンコーダエンジン102のみ(EO)解法の場合、全ての複雑度低減方法は符号化中に組み込まれ、デコーダアグノスティックである。EO解法では、全ての符号化関数は処理能力の観点からバイアスされる。随意に、処理能力のコスト関数が、レート歪み(RD)電力最適化と呼ばれるRD最適化に含まれる。
【0042】
ジョイントエンコーダデコーダエンジン(JED)解法の場合、符号化中に電力低減方法が組み込まれるか又は採用され、デコーダエンジンは、(電力/負荷/コストの)低減の増大を可能にするための適切な相互アクションを実行する。JED解法では、エンコーダエンジンは、上記で説明したDO解法方法を適用するためにデコーダエンジンの機能を認識しており、デコーダエンジンにおいて使用するために、ビットストリーム(ユーザフィールド又は補足拡張情報(SEI)メッセージ)又はサイドチャネル中に適切なアクションのためのインジケータを組み込む。電力低減のセットに基づく前もって同意されたプロトコルが、電力/負荷/コストの低減の増大のためにエンコーダエンジンとデコーダエンジンの両方によって採用されるであろう。
【0043】
DO解法は、デコーダエンジンが符号化プロセスを認識していないオープンエンド型アプリケーションに適用する。例には、モバイルTV、ビデオオンデマンド(VOD)、PMPなどが含まれるであろう。EO解法は、低電力機器を駆動するために電力フレンドリーなビットストリームが必要とされるビデオサーバにおいて適用されるであろう。EO解法はまた、ソースの複数の符号化バージョンが発生され、ネットワークサーバがネットワーク/チャネル状態に基づいてそれらを適応的に選択し、それらの間で切り替わるシナリオにおいて有用である。JED解法は、DO又はEO解法方法に比較して、所定の品質のための電力低減に関して最も多くの利得を与える。JED解法は、通信/制御パス(リアルタイム又はアプリオリ(apriori))が可能である、クローズ又は対話型アプリケーションに適用する。
【0044】
以下の説明は、DO解法を対象とし、ビデオ復号における実装及び演算複雑度を調整するためのマルチレイヤフレームワーク構成を与える。モバイルTV、ポータブルマルチメディアプレーヤ(PMP)、(ムービー/DVDプレーヤ)などの様々なアプリケーションによって拡張されたビデオ再生が必要とされる場合、ビデオ復号及びレンダリング演算における負荷管理が可能である。マルチレイヤフレームワーク構成において実施される、本明細書で説明する技法は、任意のビデオ又はマルチメディアアプリケーションに拡張され得る。
【0045】
負荷又は電力管理は、限定はしないが、遅延、電力消費量、及び毎秒百万命令又はプロセッササイクル(MIPS)有用性を含むランタイム複雑度の調整を参照する。調整は、利用可能な処理、電力及び時間リソースを想定して、ユーザ経験、特に、ビデオ品質を最適化することを含む。調整はまた、例えば、オーディオ品質、応答時間、グラフィックスの品質など、ビデオ品質以外の他の性能ファクタを包含し得る、ユーザの経験品質(QoE)を最適化するために行われ得る。マルチレイヤフレームワーク構成は、(1つ以上の)アプリケーションによるビデオデコーダ実装形態に対する瞬時の要求に対する予備的応答と反動的応答の両方に対して、精度の様々なレベルにおいてそのような調整を可能にする。代替の実行又は制御/データフローパスが利用可能な情報及び電力(バッテリー)レベルに基づいて、及びプロセッサ失速(processor stalling)を避けるために推奨される。
【0046】
上記に鑑みて、本明細書で行う説明は、主に、デコーダエンジン104によって実行されるDO演算を対象とする。デコーダエンジン104によるビデオ復号の後に、ディスプレイプロセッサ28中のレンダリングステージ28A(図23)によって実行されるレンダリングが続き得る。復号/レンダリングは連続プロセスである必要はない。例えば、複数のスライスを並行して復号することができ、画像の列を並行して、又は連続的とは見なされ得ない波形様式でレンダリングすることができる。とはいえ、復号の後に連続してレンダリングを行うのが標準であるが、一構成では、これらの演算は並行化される。レンダリングは、一般に、後処理(色空間変換、スケーリングなど)と、それに続く、表示すべき画像の合成と、表示プロセス(ディスプレイバッファへの転送、このバッファからの読込み、及び表示するための書込み)とを含む。例示のために、復号の後に連続プロセスにおいてレンダリングが行われ、復号は時間順に行われる(タイミングは、復号のための復号タイムスタンプと、レンダリング/表示のための提示タイムスタンプとに基づく)。しかしながら、このプロセス(復号及びレンダリング)への入力は、(おそらくファインダの場合を除いて)必ずしも視覚的品質に関して重要性の順に優先順位付けされない(すなわち、瞬間デコーダリフレッシュ(IDR)フレーム、フレーム内(I)フレーム及び予測(P)フレームが点在する)ビデオビットストリームである。また、ビデオビットストリームをデコーダエンジン104に配信するトランスポートレイヤプロトコルは、パケット/シーケンス番号の順にデコーダエンジン104に提示されるパケットで配信する。ビットストリームを受信順で処理することにより、フレームドロップが生じることがあり、(バッテリーを節約するためにユーザ起動されたか、若しくは利用可能な又は割り当てられた電力に基づいてシステムによって変調された)低電力動作のために出力ビデオの品質を抑圧することはできない。プロセッササイクル、MIPSの不足、並びに/若しくは累積遅延及び待ち時間により、一般にサイズがより大きいキーフレームがドロップされて、長い継続時間の間ビデオがストールすることになり得る。
【0047】
エンコーダエンジン102は、ビデオデータを取得又は発生し、MPEG規格、H.264又は他の規格に従って圧縮する。ビデオデータは、符号化が、機器10の画質、電力、及び/又は計算負荷要件、並びに/若しくは出力ビデオインターフェースの送信機能、帯域幅、若しくは機器10又はビデオ対応機器の他の特性(例えば、無線又は有線インターフェース)を満たすように、ビデオ情報の選択された部分を抽出するために処理される。さらに、符号化は、(受信者による)復号が、品質、電力及び/又は計算要件並びに受信者のデコーダエンジン又は受信機14の機能を満たすようなものとすることができる。
【0048】
図3Bに、電力管理モジュール100とともに使用するデコーダエンジン104のブロック図を示す。デコーダエンジン104は、電力管理又は低電力モードが必要でないときにビットストリームを復号するための標準(通常)シーケンス復号処理ユニット105を含む。デコーダエンジン104はまた、トランスポートレイヤ(TL)構文解析器及び処理ユニット106と、ビデオシーケンス/ピクチャレイヤ(VS/PL)構文解析器及び処理ユニット108と、スライス/MBレイヤ(S/MBL)構文解析器及び処理ユニット110と、ブロックレイヤ構文解析器及び処理ユニット112とを含む。例示的な構成では、ブロックレイヤ64における電力及び計算負荷管理については説明しない。
【0049】
以下の説明からわかるように、TL構文解析器及び処理ユニット106はトランスポートレイヤ52を構文解析し、処理する。VS/PL構文解析器及び処理ユニット108は、少なくともシーケンスレイヤ54及びピクチャレイヤ58を構文解析し、処理する。シーケンスレイヤ54とピクチャレイヤ58との組合せは、以下でビデオシーケンス/ピクチャレイヤ(VS/PL)70と呼ばれる。しかしながら、VS/PL構文解析器及び処理ユニット108は、GOPレイヤ56を構文解析し、処理することもでき、又は何らかの他の構文解析器及び処理ユニットをGOPレイヤ56のために採用することができる。従って、参照番号70からGOPレイヤ56への線は想像線で示されている。S/MBL構文解析器及び処理ユニット110は、スライスレイヤ60及びマクロブロック(MB)レイヤ62を構文解析し、処理する。ブロックレイヤ構文解析器及び処理ユニット112は、MPEGフォーマットのビデオ又はプログラミングを復号するためにブロックレイヤ64を構文解析し、処理する。
【0050】
本明細書で説明する電力及び計算負荷管理機能を実行するために、構文解析器及び処理ユニット106、108、110、及び112のうちの1つ又は複数を、並行して、別々に、又は組み合わせて動作させるために採用することができる。さらに、構文解析器及び処理ユニット106、108、110、及び112の電力及び計算負荷管理機能のうちの1つ又は複数を省略することができる。とはいえ、例示的な構成では、また、電力を効率的に使用しながらユーザの経験を維持又は向上させるように、ティアのうちのいずれか1つにおいて視覚的品質を電力負荷及び精度とトレードして視覚的品質を制御するティア化された電力及び計算負荷管理機能を与えるために、構文解析器及び処理ユニット106、108及び110を必要に応じて選択的に作動させる。
【0051】
図4に、復号可能ユニットの優先電力管理(PM)シーケンスを復号するための電力及び計算負荷を予測するためのプロセス120のフローチャートを示す。選択的復号のために、ビットストリームと、それに伴う復号可能ユニットの電力管理(PM)シーケンスを優先順位付けするために、各階層(ティア化)レイヤについて3段階プロセス120を実行して、階層的に構成された低電力動作モードを与える。プロセス120はビデオビットストリームの非因果性に依拠し、その効率はルックアヘッドの量(デコーダエンジンの入力バッファ深度)に依存する。
【0052】
プロセス120はブロック122において開始し、レイヤ情報の構文解析及び抽出を行う。ブロック122の後にブロック124が続き、復号を必要とする復号可能ユニットのPMシーケンス(シーケンスレイヤではない)を優先順位付けする。説明のために、後でより詳細に説明するように、復号可能ユニットの優先PMシーケンスをリストの形式で示す。「復号可能ユニットの優先PMシーケンス」という用語は、以下で、「優先PMシーケンス」と呼ばれることがある。ただし、各シーケンスは1つ以上の可分復号可能ユニットを含む。復号可能ユニットは、以下の説明からわかるように、ピクチャ、スライス、及びマクロブロックのグループのうちの1つ又は複数を備える。
【0053】
ブロック124の後にブロック126が続き、優先PMシーケンスのための電力及び計算負荷を予測する。例示的な構成では、計算負荷は、百万命令毎秒(MIPS)の数に応じて予測される。対応するMIPSは、予測電力又は所定の電力を必要とする。
【0054】
ブロック126において、優先PMシーケンスと、対応するMIPS、続いて、PMシーケンスのうちの1つ又は複数を復号するために必要とされる電力との相関がある。ブロック122及び124については、以下でH.264規格に関して説明する。ブロック126は、典型的なシナリオ(例えば、テストビットストリーム)に対応する電力分析からの結果と、随意に、予測において使用するフィードバック駆動型トレーニング又はランタイム更新とを使用することができる。ビットストリームが知られると、ビットストリームを完了まで復号するのに十分な電力が機器10にないかどうかをユーザに通知するために、電力及び計算負荷(処理能力)を予測することができる。従って、(再生中などに)ビットストリームが完全に復号される前に電力(バッテリー又は電力)が消耗した場合、ユーザは、ビットストリームを完了することを可能にするであろう電力モードを選択するためのオプションを有する。
【0055】
前述のように、圧縮データフォーマット中の様々なレイヤについて3段階プロセス120を反復することができる。(様々なレイヤに対応する)各ブロック126の後、デコーダエンジン104が復号演算の電力及び計算負荷管理に利用するための低電力モードの階層セットが発生される。これは、オンザフライで起こり得るか、又はリアルタイム演算より前に、適宜に選択されたビットストリームのセットと、事前に較正/プログラムされたデコーダについて、あらかじめ設定され得る。
【0056】
図5に、トランスポートレイヤ(TL)構文解析器及び処理ユニット106を示す。TL構文解析器及び処理ユニット106は、TL情報抽出器及びコンパイラ150(図6)と、TL優先PMシーケンス発生器152(図8)と、TL復号MIPS及び電力予測器154(図9)とを含む。トランスポートレイヤ(TL)構文解析器及び処理ユニット106は、トランスポートレイヤ52のための復号演算の電力及び計算負荷管理において使用する3段階プロセス120を実行する。
【0057】
図6に、TL情報抽出器及びコンパイラ150を示す。TL情報抽出器及びコンパイラ150は、ビデオビットストリームを受信するためのトランスポートプロトコルに依存する。受信タイムスライス190の部分の一例を図7に示す。例示的な構成では、ビットストリーム中の様々な情報をTL情報抽出器及びコンパイラ150によって抽出し、コンパイルすることができる。TL情報抽出器及びコンパイラ150は、図7に示す受信タイムスライス190を構文解析する。TL情報抽出器及びコンパイラ150は、ランダムアクセスポイント(RAP)抽出器160と、状態情報抽出器166と、ビットストリーム特性抽出器176と、トランスポートレイヤ情報コンパイラ186とを含む。RAP抽出器160は、取得としてフラグを付けられたパケット/スライスのロケーション、サイズ、提示タイムスタンプ(PTS)などを有する情報162を抽出することができる。RAP抽出器160はまた、トランスポートヘッダ(例えば、リアルタイムトランスポートプロトコル(RTP)ペイロードフォーマットのエントリポイントヘッダ)中のRAP164のシーケンスを抽出することができる。例示的な構成では、状態情報抽出器166によって抽出された状態情報は、(ブロードキャスト又はモバイルTVアプリケーションなどにおける)チャネル変更170及びユーザ閲覧選好172に関する情報を含む。抽出された状態情報166はまた、アプリケーションにおける変更174(例えば、解像度/プレビューモード又はピクチャインピクチャモード)などを含み得る。
【0058】
ビットストリーム特性抽出器176は、ビットレート178、フレームレート180、解像度182、アプリケーション(記憶対ストリーミング)184などを抽出する。ビットレート178の場合、値は、場合によっては容易に入手可能である(例えばMPEGファイルフォーマット)。他の場合には、ビットレートは、トランスポートヘッダ及びパディングが削除された後に、タイムスタンプによって示される1秒当たりのビットストリームのサイズに基づいて、トランスポートレイヤ情報コンパイラ186などによって計算される。TLレイヤ情報抽出器及びコンパイラ150は、受信タイムスライスのトランスポートレイヤから直接抽出可能でない情報を計算するためのTL情報コンパイラ186を含む。パケットサイズ及びビットレートのための例示的な計算については、図9に関して説明する。
【0059】
図7に、この例では、受信データ中にRAP1191、RAP2196、...RAPN198をもつ受信タイムスライス190を示す。(受信タイムスライス190は、随意に、記憶されたファイルから抽出されたビットストリームのセクションとすることができる)。RAP1191など各RAPは、ヘッダ192と、それに続く、Iフレームなど、ランダムアクセスポイントである符号化フレームに関係するデータを有するペイロード193とを有する。ヘッダは、そのうちの1つがPTS1区間194である複数のフィールドを含む。各RAPについてPTS1区間194から絶対RAPロケーション(パケット)及びPTS値が計算される(例えば、RTPでは、ランダムアクセス(RA)カウントと基準時間とPTSオフセットとから導出される)。RAP2196は、ヘッダと、それに続く、Iフレームなど、ランダムアクセスポイントである符号化フレームに関係するデータを有するペイロードとを有する。ヘッダは、そのうちの1つがPTS2区間である複数のフィールドを含む。
【0060】
RAP−−GOPとして示される区間は、RAPフレームで開始し、次のRAPフレームまでのグループオフピクチャとして定義される。トランスポートレイヤにおいて、RAPは復号可能ユニットである。さらに、RAP−−GOPは、トランスポートレイヤのための復号可能ユニットとすることができる。アプリケーションに基づいて、必要な場合、より多くのデータが検索又は要求される。例えば、記憶されたビデオの再生中に、ビットレート及びフレームレートを査定するために、数秒(2〜5秒)相当のデータを求めてファイルフォーマットヘッダを探索することが可能であり得る。次いで、利用可能な電力に基づいて、データのすべてを復号するか、又は低減されたフレームレートに向けて復号することを決定する。
【0061】
受信タイムスライス190は、MediaFLO(商標)のためのスーパーフレーム、又はDVB−H(Hはハンドヘルドを表す)などのデジタルビデオブロードキャスト(DVB)のためのタイムスライスとすることができる。
【0062】
図8に、TL優先PMシーケンス発生器152を示す。上記で抽出された情報を処理して、復号可能ユニット200のTL優先PMシーケンスのリストを生成する。TL優先PMシーケンス発生器152は絶対パラメータ値を導出する。トランスポートレイヤ52を仮定すると、対応するGOPとともに複数のパケットRAP1191、RAP2196、...RAPN198が受信されている。従って、デコーダエンジン104によって復号すべき復号可能ユニットのTL優先PMシーケンスは、ブロック202で開始する。ここで、復号可能ユニットは、ブロック202におけるRAP1、ブロック204におけるRAP−−GOP1の残部、ブロック206におけるRAP2、ブロック208におけるRAP−GOP2の残部である。TL優先PMシーケンスの優先順位付けは、ブロック210における復号可能ユニットRAPN、及びブロック212におけるRAP−−GOPNの残部まで続く。復号可能ユニットのTL優先PMシーケンスの上記の説明は、シーケンスの構成の一例にすぎない。
【0063】
図9に、TL復号MIPS及び電力予測器154を示す。トランスポートレベル52において、第1のレベルの電力/計算負荷低減が可能である。このレベルは、粗い電力/計算負荷低減を行うことができる。例えば、最低電力モード設定の場合、又は機器10のバッテリーレベルが<10%まで消耗したとき、(ブロック202、206及び210によって示される)RAPパケットのみが復号されることになり、レンダリングステージ28Aによってレンダリングしながら、随意に、グラフィックス処理ユニット34は、Iフレーム間に遷移効果を生成するようにトリガされ得る。遷移効果は、スライドショー効果の代わりに低コスト「ビデオ」を与える。低電力モードに基づいて、スキップされた復号可能ユニットを補償するために他のビデオ補償を使用することができる。例えば、画像モーフィングを採用することができる。補償の別の例はオプティカルフローを採用することができる。
【0064】
TL復号MIPS及び電力予測器154は、TL優先PMシーケンス200のリスト中の復号可能ユニットのPMシーケンスの1つ、複数又はすべてを復号するためのMIPSに対する予測(列4)を表すデータを発生する。例示及び説明のためにのみ、MIPS予測テーブル230を示す。テーブルは複数の列を有する。列C1では、トランスポートレイヤ情報又は復号可能ユニットのTL優先PMシーケンスが項目別に示されている。列2では、復号可能ユニットの一部又は全部を復号するためのパケットサイズが識別される。列C3では、ビットレート計算が識別される。列C4では、復号可能ユニットを復号するための予測MIPSが与えられる。諒解され得るように、列C3中のビットレート及び列C2中のパケットサイズは、優先順位付け段階中に導出され得る。
【0065】
この例では、行R1は、復号可能ユニット200のTL優先PMシーケンスのリスト中の第1の復号可能ユニットを識別する。この例では、第1の復号可能ユニットはRAP1である。RAP1のパケットサイズは、TL抽出器及びコンパイラ150から抽出され、コンパイルされた情報に基づいて計算できる。例示的な構成では、RAP1のための復号パケットサイズは、RAP1のためのトランスポートパケットのサイズ、すなわち、(トランスポートヘッダ192+ペイロード193)のサイズに対応する。RAP2のための復号パケットサイズは、RAP2のためのトランスポートパケットのサイズ、すなわち、(トランスポートヘッダ+ペイロード)のサイズに対応する。同様に、RAPNのための復号パケットサイズは、RAPNのためのトランスポートパケットのサイズ、すなわち、(トランスポートヘッダ+ペイロード)のサイズに対応する。行RN+1(最後の行)は、スライス190など、受信タイムスライス全体に対応する。従って、各復号可能ユニットのためのMIPSの予測が計算され、受信タイムスライス190のトランスポートレイヤ52全体のための行RN+1において、全ての復号可能ユニットのためのMIPSの予測が計算される。
【0066】
列3では、ビットレートが計算又は抽出される。この場合、ビットレートは、(PTS2−PTS1)つまり(PTS2マイナスPTS1)で除算された区間(RAP−−GOP1)のサイズに従って、RAP、GOP1、PTS2、PTS1に基づいて計算される。RAP2、...RAPNのためのビットレートは、RAP1と同様にして計算される。行RN+1では、ビットレートは、受信タイムスライス/区間(PTS2−PTS1)のサイズである。
【0067】
列4では、行R1において、RAP1を復号するための予測MIPSは2つの値を有する。第1の値は、RAP1のIフレームサイズの関数である。第2の値は、所定のコーデックのためのサイズ(RAP−−GOP1)のビットストリームのその部分の関数である。MIPの予測のための情報は、トランスポートヘッダ(RAP及び対応するPTS)から入手可能である。従って、復号可能ユニットは可分であり、MIPSを予測するとき、完全には復号されない。代わりに、以下でより詳細に説明するように、必要な情報を抽出するために、そのヘッダ又は一部分のみを復号する必要がある。行RN+1では、タイムスライス全体を復号するための予測MIPSは、所定のコーデックのための(そのタイムスライスの)ビットストリームサイズに従って予測される。指定された量に対する復号するためのMIPS予測は、電力プロファイリング及び分析によるものであることに留意されたい。
【0068】
列C4中のMIPS予測の各々について、対応する電力要件を判断することができる。対応する電力は、必要に応じて計算され得るか、又はルックアップテーブルに事前記憶され得る。これは、一般に、3段階プロセス120の第3段階を完了する。
【0069】
図10に、電力及び計算負荷管理を用いて復号するためのプロセス240を示す。復号可能ユニットのうちの1つ又は複数を復号するためのMIPS要件、及び所定の瞬間における利用可能なMIPS、(又は電力要件対利用可能な電力/アンペア)が与えられれば、受信タイムスライス190の全部を復号するか、一部を復号するかの決定を行うことができる。プロセス240は、想像線で示されたプロセス120の第3段階とともに示されている。プロセス120の第3段階は、トランスポートレイヤ52を復号するために必要な計算負荷及び/又は電力のための必要な予測を与える。従って、ブロック242において、MIPSを予測する。ブロック244において、予測MIPSに対応する電力を判断する。例示的な構成はMIPSと電力の関係を考慮に入れているが、電力及び計算負荷に影響を及ぼす他の値を採用することができる。
【0070】
ブロック244は第3段階を終了する。ブロック244の後にブロック246が続き、所定の瞬間の利用可能なMIPS(計算負荷)を判断する。また、ブロック244の後にブロック248が続き、所定の瞬間の利用可能な電力を判断する。ブロック246とブロック248は並列に示されている。とはいえ、様々な構成において、プロセス240のブロック及び本明細書で説明する他のプロセスは、図示の順序で実行され、若しくは、これらのステップの少なくとも2つ又はその部分は、同時に、並行して、又は異なる順序で実行され得る。
【0071】
ブロック246の後にブロック250が続き、予測MIPSが利用可能なMIPSよりも大きいかどうかの判断を行う。その判断が、その瞬間に利用可能な計算負荷が十分であることを意味する「いいえ」である場合、ブロック254においてトランスポートレイヤ52のすべてを復号し得る。しかしながら、ブロック250における判断が、利用可能な計算負荷が不十分であることを意味する「はい」である場合、ブロック256において、低電力モード設定260(図11)のリスト中で識別されるモードのうちのいずれかに従ってトランスポートレイヤ52の一部を復号し得る。
【0072】
ブロック248の後にブロック252が続き、予測電力が利用可能な電力に匹敵するかどうかの判断を行う。ブロック252における判断が、利用可能な電力が十分であることを意味する「いいえ」である場合、トランスポートレイヤ52のすべてを復号し得る。しかしながら、ブロック252における判断が、利用可能な電力が不十分であることを意味する「はい」である場合、ブロック256において、低電力モード設定260(図11)のリスト中で識別されるモードのうちのいずれかに従ってトランスポートレイヤ52の一部を復号し得る。ブロック250とブロック252からの両方の条件がいいえである場合、トランスポートレイヤ52のすべてが復号されるであろう。全ての他の場合には、トランスポートレイヤ52は部分的に復号されるであろう。ブロック248、252は、それらも随意であることを示すために想像線で示されている。
【0073】
図11に、TLモード中のマルチレイヤ低電力モードセット発生器114を示す。マルチレイヤ低電力モードセット発生器114は、選択可能な低電力モード設定のリスト260を発生する。図11の例示的な構成では、行R1のモード1、行2のモード1A、及び行3のモード2として示される複数のトランスポートレイヤ低電力モードがある。トランスポートレイヤモード1は、例えば、全てのRAPを使用するスライドショー(以下「SS−RAP」と呼ぶ)に対応する。トランスポートレイヤモード1Aは、レンダリングステージ28Aによる遷移効果をもつSS−RAPに対応する。従って、モード1Aは、モード1に勝る拡張視覚的品質を与えるという点で、モード1とは異なる。トランスポートレイヤモード2は、利用可能な電力に基づくRAP−−GOPの選択的な復号に対応する。列C2のリストは、デコーダエンジン104に、トランスポートレイヤ52において復号可能ユニットのうちの1つ又は複数を選択的に復号させるための必要な命令を与えるであろう。
【0074】
TLモード中の電力管理モジュール100は、予測MIPS及び/又は電力に基づいて、ビットストリームの復号のために低電力モード1、1A又は2のうちのどれをユーザに与えることができるかの判断を行う。ビデオシーケンス/ピクチャレイヤに関して後述するように、復号可能ユニットの他のレイヤの電力を管理することに基づいて、さらに節約され得る利用可能な電力がある場合、モード2を選択することができる。
【0075】
TLモード1Aが選択された場合、遷移効果をもつSS−RAP(Iフレーム)の通常復号が行われる。しかしながら、TLモード1が選択された場合、電力管理モジュール100は、視覚的品質のさらなるアップグレードのためにVS/PLモード3に進み得る。
【0076】
シーケンス/ピクチャレイヤ
図12に、ビデオシーケンス/ピクチャレイヤ(VS/PL)構文解析器及び処理ユニット108を示す。VS/PL構文解析器及び処理ユニット108は、VS/PL情報抽出器及びコンパイラ280(図13)と、VS/PL優先PMシーケンス発生器282(図15)と、VS/PL復号MIPS及び電力予測器284(図17)とを含む。VS/PL構文解析器及び処理ユニット108は、VS/PL70のための復号演算の電力/計算負荷管理において使用する3段階プロセス120を実行する。
【0077】
図13に、VS/PL情報抽出器及びコンパイラ282を示す。VS/PL情報抽出器及びコンパイラ282はビデオビットストリームのVS/PLフォーマットに依存する。VS/PL70による受信タイムスライス330の一例を図14に示す。ビデオコーデック(エンコーダエンジン及びデコーダエンジン)に基づいて、シーケンスレイヤ54において情報を抽出する。MPEG−2及びMPEG−4の場合、ビデオシーケンスレイヤパラメータを抽出する。これは、ビデオデコーダエンジン104へのインターフェースを必要とする。抽出については、図27及び図28に関して後述する。
【0078】
トランスポートレイヤ52に記載されている幾つかのパラメータ(例えばIフレームロケーション又はパケットID)が検索できなかった場合、そのような情報はシーケンスレイヤ54において抽出され得る。VS/PL情報抽出器及びコンパイラ280はIフレームロケーション284又はパケットID286を抽出する。VS/PL情報抽出器及びコンパイラ282はまた、H.264規格又はシーケンスレイヤ54などのためのシーケンスパラメータセット(SPS)から、プロファイル290、レベル292、及びパラメータ制約(constrained_set_flags)294を抽出する。ピクチャパラメータセット(PPS)を使用することもできる。
【0079】
VS/PL情報抽出器及びコンパイラ282はまた、ピクチャ情報296を抽出又はコンパイルすることができる。ピクチャ情報は、データを復号/処理するために必要とされる計算負荷を査定するための、幾つかの参照フレーム298、解像度300、(まだ検索されていない場合)フレームレート302、表示パラメータ(VUI)などを含み得る。追加情報は、基準ロケーション304と、参照ピクチャサイズ306と、PTSと、基準ピクチャ情報308とに関する情報を含む。また、非参照ピクチャロケーション310、非参照ピクチャサイズ312、非参照ピクチャ情報314、及びPTSを抽出又はコンパイルすることができる。コンパイルされる情報は情報コンパイラ316によってコンパイルされる。VS/PL情報を抽出するために、シーケンスヘッダ及び全てのピクチャヘッダのみが復号される。図27及び図28でより詳細に説明するように、ピクチャのペイロードは復号されないままである。
【0080】
図15に、VS/PL優先PMシーケンス発生器282を示す。VS/PL優先PMシーケンス発生器282において、抽出された情報から絶対パラメータ値を導出する。復号可能ユニットの優先PMシーケンスVS/PLのリスト360は、精度の改善のためのより多くの詳細でポピュレートされる。優先順位付けは、図8に関して説明したものと同様である。しかしながら、このレベル又はレイヤにおいて、トランスポートレイヤ52中で識別された複数のパケットRAP1、RAP2、...RAPN(ブロック362、382、388)に、H.264の場合はIDR及びIフレームなど、Iフレームのタイプに基づいて、さらに資格を与えるか又は優先順位を付ける。代替的に、ピクチャヘッダ情報を使用して全てのIフレームを識別し、次いで優先順位付けする。
【0081】
例示的な構成では、ブロック又は区間RAP−−GOP1364を他のVS/PL復号可能ユニットにさらに再分割する。これらのVS/PL復号可能ユニットを、IDR(又は、MPEG−2におけるクローズドGOPの始端のIフレーム)の後に非IDR Iフレーム(オープンGOP)が続くように、さらに優先順位付けする。従って、IDRフレーム366の後にIフレーム368が続くように、優先順位が設定され得る。Iフレーム366の後にPフレーム370が続き、その後に参照Bフレーム372が続く。次いで、参照Bフレーム372の後に、bフレーム374として示される非参照Bフレームが続く。図14は、フレームタイプ(P、B及びb)を示す受信タイムスライス330を示す。
【0082】
従って、デコーダエンジン104によって復号すべきVS/PL優先PMシーケンスは、ブロック362においてRAP1で開始し、その後にブロック364においてRAP−−GOP1が続く。ブロック366、368、370、372及び374に従って、RAP−−GOP1をさらに優先順位付けする。bフレームに基づいて、RAP−−GOP1に対応する区間をさらに優先順位付けすることができる。例示的な構成では、ブロック376〜ブロック380において、bフレームのサイズ情報を使用して、VS/PL優先PMシーケンスをさらに優先順位付けする。例えば、FRUC_THR(ブロック376)として示されるFRUCしきい値よりも大きいサイズ情報を有するbフレームは、FRUCしきい値よりも小さいサイズを有するbフレームよりも高い優先度を有することができる。さらに、DROP_THRとして示されるドロップしきい値よりも小さいbフレームにフラグを付け、それをFRUCなしに完全にドロップすることができる。従って、ブロック378において、優先順位付け基準は、DROP_THR<b<FRUC_THRとして設定できる。ブロック380において、優先順位付け基準は、b<DROP_THとして設定できる。これらのしきい値は、必要とされる処理サイクル/電力の低減率にマッピングできる。
【0083】
ブロック382は、RAP2を復号するための優先順位を設定する。ブロック384の後にブロック382が続き、上記のブロック366、368、370、372、374、376、378及び380と同様にRAP−−GOP2の残部を優先順位付けする。ブロック386におけるVS/PL優先PMシーケンスの優先順位付けは、RAPNの復号を優先順位付けするためのブロック388まで続く。ブロック388の後にブロック390が続き、復号のためにRAP−−GOPNの残部を優先順位付けする。
【0084】
計算負荷のステータスに応じて、適切な数の低優先度シーケンス又は選択可能な復号可能ユニットの削除によって復号演算のシーケンスを低減又は変更することができる。
【0085】
図16に、VS/PL復号MIPS及び電力予測器284によってMIPSを予測するためのプロセス400のフローチャートを示す。プロセス400はブロック402で開始し、IDRフレームサイズを復号するためのMIPSを判断する。ブロック402の後にブロック404が続き、全てのIフレームサイズを復号するためのMIPSを判断する。ブロック404の後にブロック406が続き、全てのPフレームサイズを復号するためのMIPSを判断する。ブロック406の後にブロック408が続き、全てのBフレームサイズを復号するためのMIPSを判断する。ブロック408の後にブロック410が続き、様々な条件をもつ全てのbフレームサイズを復号するためのMIPSを判断する。例えば、(b1フレーム及びb2フレームなど)bフレームの一部がドロップされる場合、復号するための予測MIPSは0に設定される。
【0086】
図17に、VS/PL復号MIPS及び電力予測器284を示す。フレームレベルにおいて、(IDR、I、P、B、b...などの)フレームタイプ、サイズ(306又は312)及びフレームレート302は、それらを復号するために必要とされるプロセッササイクルの量又は割合を査定するために使用できる主要なファクタである(他の修飾子が含まれ得る)。特定のテストビットストリームを使用する電力プロファイリング及び分析を使用して、フレームタイプ(IDR、I、P、B、b...)に基づくプロセッササイクルの量とフレームサイズとの間の関係を導出することができる。これらの関係は、MIPS及び電力予測において後で使用するためにルックアップテーブル中に構成できる。他の条件をこの分析中に定め、後で外挿することができる。例えば、1参照ピクチャシナリオのためのマッピングを導出し、独立分析に基づいて5参照ピクチャに対する相対複雑度を外挿することができる。H.264規格の場合、スライスヘッダが構文解析されるまで、フレームレベル情報は利用不可能である。
【0087】
図17では、VS/PL復号MIPS及び電力予測器284は、復号するための予測MIPSのリスト440を発生する。リストは、例示及び説明のために発生される。行R1において、VS/PL復号MIPS及び電力予測器284は、各IDRのサイズ(IDR)に基づいてIDRフレームのために予測する。行R2において、VS/PL復号MIPS及び電力予測器284は、Iフレームサイズ(サイズ(I1)、サイズ(I2)、...)のシーケンスに基づいて、全てのIフレームのための予測MIPSを発生する。行R3において、VS/PL復号MIPS及び電力予測器284は、Pフレームサイズ(サイズ(P1)、サイズ(P2)、...)に基づいて、全てのPフレームのための予測MIPSを発生する。行R4において、VS/PL復号MIPS及び電力予測器284は、Bフレームサイズ(サイズ(B1)、サイズ(B2)、...)に基づいて、全てのBフレームのための予測MIPSを発生する。行R5において、VS/PL復号MIPS及び電力予測器284は、Bフレームサイズ(サイズ(b1)、サイズ(b2)、...)に基づいて、全てのBフレーム(非参照Bフレーム)のための予測MIPSを発生する。全てのbフレームのためのMIPSを予測するとき、b1及びb2がドロップされるかどうかの判断を行う。そうであれば、予測MIPSはゼロ(0)に設定される。また、b1、b2、...などの代わりにFRUCに関する予測がある。
【0088】
図10及び図17に関して、復号するための予測MIPSのリスト450中のMIPS予測の各々について、対応する電力要件が適用される。MIPS要件、及び所定の瞬間における利用可能なMIPS、(又は電力要件対利用可能な電力/アンペア)が与えられれば、図10に関して上述したのと同様の方法で、復号可能ユニットである全てのフレーム又は選択されたフレーム(一部)を復号するという決定を行うことができる。
【0089】
シーケンス/ピクチャレベル処理の終了時に、中間の精度電力低減モードが可能である(Iフレームが一般にGOP中の30%のビットを構成し、ビットの数がMIPS要件に比例すると仮定すると、約5%ずつ0〜60%の低減が可能である)。プロセッサ負荷及び電力レベルの現在のステータスに関するフィードバックに応じて、演算のシーケンスは、適切な数の低優先度エンティティの削除によって短縮される。シーケンス/ピクチャレイヤにおいて可能なモードは、電力要件の増加順に図18に掲示されている。
【0090】
図18は、VS/PLモード中のマルチレイヤ低電力モードセット発生器114を示す。マルチレイヤ低電力モードセット発生器114は低電力モードのリスト450を発生する。リストは、説明のために発生される。リストは、RAP及び全てのIフレームを使用するスライドショーを復号するための命令に対応するVS/PLレイヤモード3を含む。従って、モード1Aが選択された場合、電力管理モジュール100は、視覚的品質又は精度の改善のためにIフレームのすべてがまた復号され得るように、追加のMIPSが利用可能であるかどうかを評価するであろう。VS/PLレイヤモード3の後に、全てのIフレーム及びPフレームのみを使用する低減されたフレームレートに基づいて復号するための命令に対応するVS/PLレイヤモード4Aが続く。VS/PLレイヤモード4Aの後に、B(及びb)フレームの代わりに選択的FRUCを用いる、全てのIフレーム及びPフレームのみを使用する低減されたフレームレートに基づいて復号するための命令に対応するVS/PLレイヤモード4Bが続く。モード4Bにおいて、Iフレーム及びPフレームは通常復号を使用して復号される。しかしながら、Bフレームは復号されない。代わりに、全てのB又はbフレームについて、各B又はbフレームの代わりに選択的FRUCが使用される。VS/PLレイヤモード4Bの後に、上記のように、Iフレーム及びPフレームなど、利用可能な電力に基づいてRAP−−GOPを選択的に復号するための命令に対応するVS/PLレイヤモード4Cが続く。ただし、代替演算として、選択的な数のB又はbフレームについて、各B又はbフレームの代わりに選択的FRUCが使用される。VS/PLレイヤモード4Cの後に、全てのIフレーム及びPフレームを使用する(モード4Cよりも高い)低減されたフレームレートに基づいて復号するための命令に対応するVS/PLレイヤモード4Dが続く。全てのBフレームをも含めることができる。代わりに、(随意に、選択的な数のBフレームについて)各Bフレームの代わりに選択的FRUCが使用され、bフレームのための演算は使用されない。代わりに、bフレームはスキップ又はバイパスされ得る。VS/PLレイヤモード4Dの後に、全ての受信フレーム(I、P、B及びb)を復号するための命令に対応するVS/PLレイヤモード5が続く。
【0091】
VS/PLレイヤモード3又は5が選択された場合、スキップマクロブロック(MB)の代わりに、さらなる代替演算が使用されるであろう。さらに、モード2から、モード4A〜4D及び5によって与えられる改良によって、さらなる拡張された視覚的品質又は精度が達成され得る。
【0092】
スライス/MBレイヤ
図19に、スライス/マクロブロックレイヤ(S/MBL)構文解析器及び処理ユニット110を示す。S/MBL構文解析器及び処理ユニット110は、S/MBL情報抽出器及びコンパイラ460(図20)と、S/MBL優先PMシーケンス発生器462(図21)と、S/MBL復号MIPS及び電力予測器464とを含む。S/MBL構文解析器及び処理ユニット110は、S/MBL72のための復号演算の電力/負荷管理において使用する3段階プロセス120を実行する。
【0093】
図20にS/MBL情報抽出器及びコンパイラ460を示す。S/MBL情報抽出器及びコンパイラ460は、ビデオビットストリームが圧縮されたプロトコル又は規格に依存する。ここで、S/MBL情報抽出器及びコンパイラ460は、スライス情報470とMB情報472とを抽出する。スライス情報470及びMBヘッダは、図15からの優先シーケンス中で識別されたピクチャに対応するピクチャについて構文解析される。前のレイヤVS/PL70中の優先シーケンス(図15)からのフレームの選択された部分に、復号すべきというフラグが付けられていることがある。電力管理のより細かい精度が必要とされる場合、復号は、全てのピクチャについて続き得ることに留意されたい。従って、スライスヘッダ及びMBヘッダのみが復号される。
【0094】
ヘッダが間違っていることが検出された場合、MB又はスライス全体の係数/MBデータを廃棄することができる。随意に、ゼロMV隠蔽を適用し、後で、より高度な誤り訂正(EC)を用いて改良することができる。MB情報472は、MBタイプ474と、動きベクトル(MV)476と、モード478と、サイズ480と、他の情報482と、フレーム484ごとのMBマップとを含む。
【0095】
例示的なフレームごとのMBマップは、以下で全体的に示すように参照により本明細書に組み込まれる、本明細書と同時に出願され、代理人整理番号第071445号を有する特許出願第12/145,900号に記載されている。
【0096】
図21に、S/MBL優先PMシーケンス発生器462を示す。S/MBL優先PMシーケンスのリスト490は、スライス情報及びMBマップを使用して、図15中の優先リスト中の各フレームの複雑度を推定する。一構成では、ブロック492におけるPフレームスライス及びブロック502におけるBフレームスライスのみをさらに優先順位付けする。前のレイヤにおいて、VS/PLのどの選択されたモードの場合も、全てのIフレームは復号されるべきである。Pフレームスライスは、ブロック494におけるスライスごとのROI MBとブロック496におけるモード平滑化を施した非ROI MBとに基づいて、さらに優先順位付けされる。モード平滑化は、ブロック498における強制均一動きとブロック500における強制Pスキップとに従って、さらに優先順位付けされる。Bフレームスライスは、ブロック504におけるスライスごとのROI MBとブロック506におけるモード平滑化を施した非ROI MBとに基づいて、さらに優先順位付けされる。モード平滑化は、ブロック507における強制均一動き及びブロック508における強制Bスキップに従って、さらに優先順位付けされる。
【0097】
モード平滑化は、同様の特性をもつグループMBに適用できる。MBの3×3又は5×5ウィンドウごとに、MBのウィンドウをモードの均一性について査定する。ウィンドウ中のアウトライアー(残りのMBとは異なるモードをもつMB)を識別する。アウトライアーがわずかに異なる場合、それらにウィンドウのモードを強制する。他の場合、アウトライアーのモードを維持する。例えば、3×3MBウィンドウにおいて、1つのMBはインターモードであり、他のMBはスキップモードである場合、インターMBの(CBP又はMBサイズによって示される)残差がSkip_thresholdよりも小さければ、そのMBにスキップモードを強制する。モード平滑化の後、スキップモードMB対ダイレクト/インターモードMBの比を計算し、複雑度のファクタとして含める。さらに、(代理人整理番号第071445号を有する特許出願第12/145,900号に記載のように)スキップMBの連結された領域をMB膨張及びMB浸食によってタイルとして組み合わせることができる。次いで、タイルを、スキップ/静的、非静的、均一動き、region-of-interest(ROI、相対MB/タイルサイズに基づく)などと見なすことができる。均一動きタイルの場合、MBのMVを量子化し、そのタイルに1つのMVを強制することができる(これは、これらのMBの残差/CBPがゼロ又は概ゼロであるという条件で行われ得ることに留意されたい)。別のオプションでは、非静的又はROIタイルのみを復号し、残部をスキップさせる。この場合、非ROI MBの一部はスキップ以外のモードであり得るが、ブロック500及びブロック508のように、それらをスキップさせることになる。
【0098】
図22に、S/MBLモード中のマルチレイヤ低電力モードセット発生器114を示す。マルチレイヤ低電力モードセット発生器114は低電力モードの階層リスト650を発生する。フレーム中のどのMBを処理するか、及びどの受信フレームを処理するかを操作する能力により、復号及びレンダリングプロセスを管理する際に、かなりの精度レベルが可能になる。さらに、上述のMBレベルの電力最適化は、復号中に(オンザフライで)実行され得る。この場合も、対応する低電力モードに対する電力の低減の割合をマッピングするために、詳細なプロファイリング及び電力分析が必要とされる。
【0099】
モードの例は、S/MBLモード6A、6B、6C、7A、7B、7C及び8として表される。モード6Aでは、Iフレームは、Iフレームの通常復号のとおりに復号される。ただし、電力が許すとき、視覚的品質又は精度を改善するために追加の代替演算を行うことができる。例えば、モード6Aでは、非ROI MBをもつPフレームにP_Skipを強制し、Bフレーム及びbフレームに選択的FRUCを強制することができる。モード6Bでは、Iフレームは、Iフレームの通常復号のとおりに復号される。モード6Bにおける代替演算は、モード平滑化を施したPフレームにP_Skipを強制し、Bフレーム及びbフレームに選択的FRUCを強制することを含むことができる。モード6Cでは、Iフレームは、通常復号プロセスに従って復号される。ただし、代替演算として、モード平滑化を施したPフレームに均一動きを強制し、Bフレーム及びbフレームに選択的FRUCを強制することができる。モード7Aでは、Iフレーム及びPフレームは、通常復号プロセスに従って復号される。だたし、代替演算として、非ROI MBをもつBフレームにSkipを強制する。モード7Bでは、Iフレーム及びPフレームは、通常復号プロセスに従って復号される。だたし、代替演算として、モード平滑化を施したBフレームにSkipを強制する。モード7Cでは、Iフレーム及びPフレームは、通常復号プロセスに従って復号される。だたし、代替演算として、モード平滑化を施したBフレームに均一動きを強制する。モード8では、全ての受信フレーム(I、P、B及びb)が復号される。
【0100】
図23に、電力管理演算のハイレベルブロック図を示す。ブロック図は、ディスプレイプロセッサ28のレンダリングステージ28Aと通信しているデコーダエンジン104を含む。従って、電力管理(PM)モジュール100は、TLモード、VS/PLモード及びS/MBLモードにおいてビットストリームを処理する。PMモジュール100は、選択された低電力モードに従って復号可能ユニットを復号するようにデコーダエンジン104を制御する。レンダリング中に必要とされる処理はまた、上記で説明した低電力動作モードのいずれかにおけるフレームワークからの演算の優先シーケンスから導出される。さらに、デコーダエンジン114の出力は、他の機器、メモリ、又は装置に送信できる。デコーダからの出力は、最終的な記憶又は消費(表示)のために別のビデオ対応装置に転送できる。グラフィックス処理ユニット34はまた、ディスプレイプロセッサ28と通信している。
【0101】
図24に、例示的な標準(通常)復号プロセス700を順番に示す。また、プロセス700について、図2Dに関して説明する。ビデオシーケンス及びピクチャレイヤにおいて開始して、標準(通常)復号プロセス700は、ブロック702においてシーケンスヘッダ54Aを復号し、続いてブロック704においてピクチャ1のピクチャヘッダ58Aを復号する。ピクチャ1のピクチャヘッダを復号した後、スライス及びマクロブロック情報を含むピクチャデータ58Bを復号する。従って、ピクチャ1データが復号されるとき、スライス1〜Mによって示されるスライスユニットのすべてが復号される。各スライスは同様に復号されるので、ただ1つのスライスについて、より詳細に説明する。
【0102】
スライス1が復号されるとき、ブロック706においてピクチャ1のスライス1のスライスヘッダ60Aを復号する。次いで、ブロック708においてピクチャ1のスライス1のマクロブロック(MB)1のMBヘッダ62Aを復号する。MB1のMBヘッダ62Aが復号された後、ブロック710においてピクチャ1のスライス1のMB1の関連するMBデータを復号する。次いで、次のマクロブロックを取得する。従って、ブロック712においてピクチャ1のスライス1のマクロブロック(MB)2のMBヘッダ62Aを復号する。MB2のMBヘッダが復号された後、ブロック714においてピクチャ1のスライス1のMB2の関連するMBデータ62Bを復号する。マクロブロックヘッダを復号し、続いて関連するMBデータ62Bの復号することは、スライス中の全ての残りのMBについて続く。この例では、N個のMBがある。従って、ピクチャ1のスライス1の復号は、ブロック716においてピクチャ1のスライス1のMB NのMBヘッダを復号し、続いてブロック718においてピクチャ1のスライス1のMB Nの関連するMBデータ62Bを復号することで終了するであろう。
【0103】
従って、プロセス700は、スライド1について上述したのと同様にして残りのスライスの各々を復号することによって、ピクチャ1情報を復号し続けるであろう。この例では、M個のスライスがある。従って、ブロック720において、ブロック706〜718に関して上述した方法でスライスMを復号する。
【0104】
次に、プロセス700は、ピクチャ2などの次のピクチャフレームを復号するであろう。ピクチャ2を復号するために、プロセス700は、スライス1〜Mのロケーションを導出するために、ブロック722においてピクチャ2のピクチャヘッダ58Aを復号するであろう。従って、ブロック724において、ブロック706〜718に関して上述した方法でスライス1を復号する。ピクチャ2の全ての残りのスライスは同様に復号される。従って、ブロック726において、ピクチャ2の復号を完了するために、ブロック706〜718に関して上述した方法でスライスMを復号する。
【0105】
プロセス700は、最後のピクチャZまで同様にして連続的に全てのピクチャフレームの復号を反復する。この例では、ピクチャ1〜Zがある。従って最後のピクチャであるピクチャZを復号するために、プロセス700は、ブロック728においてピクチャZのピクチャヘッダ58Aを復号し、続いてブロック730においてスライス1を復号するであろう。ピクチャZ中の各スライスは、ブロック732におけるスライスMまで復号される。
【0106】
図25に、電力管理演算を用いるTL復号プロセス800のフローチャートを示す。プロセス800はブロック802で開始し、図6及び図8に関して説明したように、TL情報抽出及び復号可能ユニットのPMシーケンスのTL優先順位付けを行う。ブロック802の後にブロック804が続き、TL優先PMシーケンスについてMIPS及び/又は電力負荷を予測する。ブロック804の後にブロック806が続き、TL低電力モードセットのためのMIPSを予測する。ブロック806の後にブロック808が続き、ビットストリームを復号するために十分な電力があるかどうかの判断を行う。判断が「はい」である場合、図24に関して説明した手順に従って、ブロック810において通常復号プロセス700を行うことができる。しかしながら、判断が「いいえ」である場合、オプションとして、ブロック812において、ビデオを再生するなどのための電力が不十分であることをユーザに通知する。ユーザは、選択すべきモード1、1A及び2に対応する低電力モードオプションを与えられるであろう。代わりに、低電力モードを自動的に選択することができる。ブロック812の後にブロック814が続き、ユーザによって又は自動的にTL低電力モードを選択する。図25のフローチャートは図26に進む。
【0107】
図26に、電力管理演算を用いるVS/PL復号プロセス900のフローチャートを示す。プロセス900は、ブロック902において、図13及び図15で説明したように、VS/PL情報抽出及びPMシーケンスのVS/PL優先順位付けを実行することで開始する。ブロック904において、図16及び図17に関して説明したように、全てのフレームタイプ(復号可能ユニット)のためのMIPSを予測する。ブロック906おいて、図18に示すように、VS/PL優先PMシーケンスに基づいて、各VS/PL低モードセットのためのMIPS及び/又は電力負荷を予測する。予測MIPSに基づいて、PMシーケンスは、視覚的品質及び精度に基づいて互いにグループ化される。(全てのシーケンスなど)シーケンスの一部は、不十分な電力のために復号することができない。従って、ブロック908において、最大利用可能電力を下回る、VS/PL低電力モードセットからの低電力モードのランク付けされたサブセットを発生する。ランク付けは、視覚的品質及び/又は精度の改善によるものである。ブロック910において、随意に、ユーザに電力の制限を通知し、低電力モードオプションの選択を与える。ブロック912において、サブセットの最高ランクの低電力モードを選択するか、又はユーザによって低電力モードを選択する。ブロック914において、選択されたVS/PL低電力モードに基づいて、適宜に図24の通常復号プロセス700に戻って復号演算を挿入することによって、復号を開始する。
【0108】
一構成では、各フレームが1つの選択された低電力モードに基づいて復号された後に、MIPSを再予測することができる。その後、ビットストリーム中の次のフレーム又は他の未復号フレームを、異なる選択されたモードを使用して復号することができる。従って、低電力モードは、ビットストリームの復号中に動的に変更され得るか又はオンザフライで発生され得る。
【0109】
図27に、図24の通常復号プロセス700から分岐するVS/PL情報抽出プロトコル902Aのブロック図を示す。図27では、VS/PL情報抽出プロトコル902Aは、ブロック950においてシーケンスヘッダ54Aを復号する。従って、ピクチャ1〜Nについて示されている各ブロックの上の矢印によって示されるように、ピクチャ1〜Nのロケーションが導出される。ブロック952において、ピクチャ1のピクチャヘッダ58Aを復号する。ブロック954において、ピクチャ2のピクチャヘッダ58Aを復号する。全てのピクチャヘッダが復号される。ブロック956において、ピクチャZ(最後のピクチャ)のピクチャヘッダを復号する。従って、ピクチャヘッダ58Aの復号により、特定のビットストリームのための復号可能ユニットのPMシーケンスを導出し、復号可能ユニットのPMシーケンスのためのMIPSを予測することが可能になる。
【0110】
図28に、VS/PL情報抽出プロトコル902AによるビットストリームからのVS/PL被復号ユニットのブロック図を示す。シーケンスヘッダ54Aは、シーケンスヘッダ54Aが復号されたことを示すためにハッチングされた状態で示されている。さらに、ピクチャ1〜Nの各々のためのピクチャヘッダ58Aは、ピクチャヘッダ58Aが復号されたことを示すためにハッチングされた状態で示されている。ピクチャデータ58Bは、この時点でピクチャデータ58Bが未復号のままであることを示すためにハッチングされない状態のままである。シーケンスデータ54Bも未復号のままである。ピクチャヘッダ58Aの復号により、ピクチャデータを復号することなしにスライス及びマクロブロックレイヤについて必要なスライスロケーションを取得することが可能になる。
【0111】
図29に、電力管理演算を用いるS/MBL復号プロセス1000のフローチャートを示す。プロセス1000は、ブロック1002において、図20及び図21で説明したように、S/MBL情報抽出及び復号可能ユニットのPMシーケンスのS/MBL優先順位付けを実行することで開始する。一構成では、Pフレーム及びBフレームのための情報のみを抽出し、優先順位付けする。ブロック1004において、S/MBL低電力モードの各々のためのMIPSを再予測する。ブロック1006において、最大利用可能電力を下回る、S/MBL低電力モードセットからの低電力モードのランク付けされたサブセットを発生する。ランク付けは、視覚的品質及び/又は精度の改善によるものである。ブロック1008において、随意に、ユーザに電力の制限を通知し、低電力モードオプションの選択を与える。ブロック1010において、サブセットの最高ランクの低電力モードを選択するか、又はユーザによって低電力モードを選択する。ブロック1012において、選択されたS/MBL低電力モードに基づいて、適宜に図24の通常復号プロセス700に戻って復号演算を挿入することによって、Pフレームスライス及びBフレームスライス並びにMBデータの復号を開始する。ブロック1012の後、低電力モードが残りの利用可能な電力に従ってアップグレード又はダウングレードされ得るように、1つ以上のフレームが復号された後にMIPSを再予測する。
【0112】
図30に、図24の通常復号プロセス700から分岐するS/MBL情報抽出プロトコル1002Aのブロック図を示す。図30について、図31に関して説明する。図31は、S/MBL情報抽出プロトコル1002AによるビットストリームからのS/MBL被復号ユニットのブロック図を示す。S/MBL情報抽出プロトコル1002Aは、第1のピクチャ1のピクチャデータ58Bを復号する。ピクチャデータ58Bを復号するために、低電力モードが選択できるまでスライスヘッダ60A及びMBヘッダ62Bのみを復号する。ピクチャ1〜Nのブロックの上の矢印はピクチャのロケーションを示す。矢印のブラックシェーディングは、低電力モードに基づくピクチャの選択を示す。シェーディングなしの矢印は、選択されていないピクチャを示す。ブロック1050において、ピクチャ1のスライスヘッダ60Aを復号する。ブロック1052において、ピクチャ1のスライス1のMB1のMBヘッダ62Aを復号する。ブロック1054において、ピクチャ1のスライス1のMB2のMBヘッダ62Aを復号する。ブロック1056において、ピクチャ1のスライス1のMB NのMBヘッダを復号し、ピクチャ1のスライス1の全てのマクロブロックヘッダが復号される。マクロブロックデータ62Bは復号されない。ピクチャデータ58B、スライスヘッダ60A及びMBヘッダ62Aのハッチングは、それらの復号を示す。
【0113】
各スライスのスライスヘッダ60Aが復号され、続いてスライスの各MBのMBヘッダが復号される。ブロック1058において、ブロック1050〜1056と同様にしてピクチャ1のスライスM(最後のスライス)を復号する。すべて残りのピクチャは同様にして復号される。ブロック1060において、ブロック1050〜1058に関して上述したようにピクチャZ(最後のピクチャ)を復号する。従って、スライス及びマクロブロックヘッダの復号により、特定のビットストリームのための復号可能ユニットのPMシーケンスを導出し、復号可能ユニットのPMシーケンスのためのMIPSを予測することが可能になる。
【0114】
図32に、選択された電力管理モードに従う最終スライス及びマクロブロック復号のブロック図を示す。スライスデータ60B及びMBデータ62Bは、(モード6A〜6C及び7A〜7Cなどの)選択された低電力モードの場合の復号すべきPMシーケンスに従って復号される。スライスデータ60B及びMBデータ62Bは、それらの復号を示すためにハッチングされた状態で示されている。
【0115】
図33に、マルチレイヤ電力管理モードの階層構成のブロック図を示す。TL PM処理1200は、トランスポートレイヤ52において電力管理の第1ティアを開始する。TL PM処理1200の結果として、予測MIPSに基づいて複数の低電力モードが確立される。一構成では、モード1、1A及び2が提案される。電力管理演算は、VS/PL PM処理1202において第2ティアに続く。電力管理の第2ティアは、シーケンス及びピクチャレイヤ70において行われる。VS/PL PM処理1202は、予測MIPS並びに視覚的品質及び/又は精度に応じて複数の低電力モードを生成する。一構成では、モード3、4A〜4Dが発生される。モード5は電力モードであるが、全てのフレームが復号される場合、低電力モードでないことがある。とはいえ、電力管理演算は、S/MBL PM処理1204において第3ティアに続く。電力管理の第3ティアは、スライス及びマクロブロックレイヤ72において行われる。S/MBL PM処理1204は、予測MIPS並びに視覚的品質及び/又は精度に応じて複数の低電力モードを生成する。一構成では、モード6A〜6C及び7A〜7Cが発生される。モード8は、電力が許す場合、全てのフレームが復号されることを可能にする。さらに、モード8は、ビットストリームの一部が復号され、MIPSの再予測が、全ての残りのフレームが復号できることを示した後に使用できる。
【0116】
1つ以上の例示的な構成では、説明した機能はハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装できる。ソフトウェアで実装した場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶するか、若しくはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージ機器、若しくは命令又はデータ構造の形態の所望のプログラムコードを担持又は記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などの無線技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0117】
開示した構成の前述の説明は、当業者が本開示を製作又は使用できるように提供したものである。これらの構成への様々な変更は当業者には容易に明らかになり、本明細書で定義された一般原理は、本開示の趣旨又は範囲から逸脱することなく他の構成に適用できる。従って、本開示は、本明細書で示した構成に限定されるものではなく、本明細書で開示した原理及び新規の特徴に一致する最も広い範囲を与えられるべきである。
【特許請求の範囲】
【請求項1】
ビデオデータを含むデータストリームを処理する方法であって、
前記データストリームから情報を抽出し、編集すること;
前記抽出及び編集情報に基づいて復号及び構文解析動作のため前記データストリームから電力管理(PM)シーケンスの優先順位を決定すること、
のステップを含む方法。
【請求項2】
前記優先順位を決定することは、復号及び構文解析動作の少なくとも一方の先行処理に基づいている、請求項1の方法。
【請求項3】
前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算するステップを更に含む、請求項1の方法。
【請求項4】
電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成するステップを更に含む、請求項1の方法。
【請求項5】
電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号及び構文解析動作の精度の少なくとも一方に基づく、請求項1の方法。
【請求項6】
利用可能電力量又は処理電力に応じて低電力モードを選択すること、及び前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号することのステップを更に含む、請求項4の方法。
【請求項7】
前記選択的復号化は前記優先電力管理(PM)シーケンスの各々によって要求される電力及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の少なくとも一方に基づいている、請求項6の方法。
【請求項8】
ビデオデータを含むデータストリームを処理する装置であって、
前記データストリームから情報を抽出し、編集する構文解析器と、
前記抽出及び編集情報に基づいて復号及び構文解析動作のため前記データストリームから電力管理(PM)シーケンスを優先順位を決定する処理装置と、
を具備する、装置。
【請求項9】
前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算する予測器を更に具備する、装置。
【請求項10】
前記電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号動作の精度の少なくとも一方に基づく、請求項8の装置。
【請求項11】
電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成する生成器を更に具備する、請求項8の装置。
【請求項12】
前記処理装置は利用可能電力量又は処理電力に応じて低電力モードを選択し、前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号する、請求項11の装置。
【請求項13】
ビデオデータを含むデータストリームを処理する装置であって、
前記データストリームから情報を抽出し、編集する手段と;
前記抽出及び編集情報に基づいて復号動作のため前記データストリームから電力管理(PM)シーケンスの優先順位を決定する手段と、
を具備する、装置。
【請求項14】
電力管理(PM)シーケンスの優先順位を決定する前記手段は前記復号動作の先行処理に基づいて優先順位を決定する、請求項13の装置。
【請求項15】
前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算する手段を更に具備する、請求項13の装置。
【請求項16】
前記電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号動作の精度の少なくとも一方に基づく、請求項13の装置。
【請求項17】
電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成する手段を更に含む、請求項13の装置。
【請求項18】
利用可能電力量又は処理電力に応じて低電力モードを選択する手段と、前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号する手段と、を具備する、請求項17の装置。
【請求項19】
前記選択的復号化は前記優先電力管理(PM)シーケンスの各々によって要求される電力及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の少なくとも一方に基づいている、請求項18の装置。
【請求項20】
ビデオデータを含むデータストリームを処理するためのコンピュータプログラム製品であって、実行されると、プロセッサに
前記データストリームから情報を抽出し、編集させ、
前記抽出及び編集情報に基づいて復号動作のため前記データストリームから電力管理(PM)シーケンスの優先順位を決定させる、命令を記憶するコンピュータ可読媒体を含む、コンピュータプログラム製品。
【請求項21】
電力管理(PM)シーケンスの優先順位を決定させることはは前記復号動作の先行処理に基づいている、請求項20のコンピュータプログラム製品。
【請求項22】
前記コンピュータ可読媒体は実行されるとプロセッサに、前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算させる命令を更に記憶する、請求項20のコンピュータプログラム製品。
【請求項23】
電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号動作の精度の少なくとも一方に基づく、請求項20のコンピュータプログラム製品。
【請求項24】
前記コンピュータ可読媒体は更に実行されたときプロセッサに、電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成させる命令を記憶する、請求項20のコンピュータプログラム製品。
【請求項25】
前記コンピュータ可読媒体は更に実行されたときプロセッサに、利用可能電力量又は処理電力量に応じて低電力モードを選択させ、前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号させる命令を記憶する、請求項24のコンピュータプログラム製品。
【請求項26】
前記選択的復号化は前記優先電力管理(PM)シーケンスの各々によって要求される電力及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の少なくとも一方に基づいている、請求項25のコンピュータプログラム製品。
【請求項1】
ビデオデータを含むデータストリームを処理する方法であって、
前記データストリームから情報を抽出し、編集すること;
前記抽出及び編集情報に基づいて復号及び構文解析動作のため前記データストリームから電力管理(PM)シーケンスの優先順位を決定すること、
のステップを含む方法。
【請求項2】
前記優先順位を決定することは、復号及び構文解析動作の少なくとも一方の先行処理に基づいている、請求項1の方法。
【請求項3】
前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算するステップを更に含む、請求項1の方法。
【請求項4】
電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成するステップを更に含む、請求項1の方法。
【請求項5】
電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号及び構文解析動作の精度の少なくとも一方に基づく、請求項1の方法。
【請求項6】
利用可能電力量又は処理電力に応じて低電力モードを選択すること、及び前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号することのステップを更に含む、請求項4の方法。
【請求項7】
前記選択的復号化は前記優先電力管理(PM)シーケンスの各々によって要求される電力及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の少なくとも一方に基づいている、請求項6の方法。
【請求項8】
ビデオデータを含むデータストリームを処理する装置であって、
前記データストリームから情報を抽出し、編集する構文解析器と、
前記抽出及び編集情報に基づいて復号及び構文解析動作のため前記データストリームから電力管理(PM)シーケンスを優先順位を決定する処理装置と、
を具備する、装置。
【請求項9】
前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算する予測器を更に具備する、装置。
【請求項10】
前記電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号動作の精度の少なくとも一方に基づく、請求項8の装置。
【請求項11】
電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成する生成器を更に具備する、請求項8の装置。
【請求項12】
前記処理装置は利用可能電力量又は処理電力に応じて低電力モードを選択し、前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号する、請求項11の装置。
【請求項13】
ビデオデータを含むデータストリームを処理する装置であって、
前記データストリームから情報を抽出し、編集する手段と;
前記抽出及び編集情報に基づいて復号動作のため前記データストリームから電力管理(PM)シーケンスの優先順位を決定する手段と、
を具備する、装置。
【請求項14】
電力管理(PM)シーケンスの優先順位を決定する前記手段は前記復号動作の先行処理に基づいて優先順位を決定する、請求項13の装置。
【請求項15】
前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算する手段を更に具備する、請求項13の装置。
【請求項16】
前記電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号動作の精度の少なくとも一方に基づく、請求項13の装置。
【請求項17】
電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成する手段を更に含む、請求項13の装置。
【請求項18】
利用可能電力量又は処理電力に応じて低電力モードを選択する手段と、前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号する手段と、を具備する、請求項17の装置。
【請求項19】
前記選択的復号化は前記優先電力管理(PM)シーケンスの各々によって要求される電力及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の少なくとも一方に基づいている、請求項18の装置。
【請求項20】
ビデオデータを含むデータストリームを処理するためのコンピュータプログラム製品であって、実行されると、プロセッサに
前記データストリームから情報を抽出し、編集させ、
前記抽出及び編集情報に基づいて復号動作のため前記データストリームから電力管理(PM)シーケンスの優先順位を決定させる、命令を記憶するコンピュータ可読媒体を含む、コンピュータプログラム製品。
【請求項21】
電力管理(PM)シーケンスの優先順位を決定させることはは前記復号動作の先行処理に基づいている、請求項20のコンピュータプログラム製品。
【請求項22】
前記コンピュータ可読媒体は実行されるとプロセッサに、前記優先電力管理(PM)シーケンスの各々によって要求される電力の予測値及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の予測値を計算させる命令を更に記憶する、請求項20のコンピュータプログラム製品。
【請求項23】
電力管理(PM)シーケンスの優先順位を決定することは、前記ビデオの視覚品質および前記復号動作の精度の少なくとも一方に基づく、請求項20のコンピュータプログラム製品。
【請求項24】
前記コンピュータ可読媒体は更に実行されたときプロセッサに、電力管理(PM)シーケンスの優先順位に基づいて低電力モードの階層リストを生成させる命令を記憶する、請求項20のコンピュータプログラム製品。
【請求項25】
前記コンピュータ可読媒体は更に実行されたときプロセッサに、利用可能電力量又は処理電力量に応じて低電力モードを選択させ、前記選択低電力モードに応じて前記優先電力管理シーケンスの1以上を選択的に復号させる命令を記憶する、請求項24のコンピュータプログラム製品。
【請求項26】
前記選択的復号化は前記優先電力管理(PM)シーケンスの各々によって要求される電力及び前記優先電力管理(PM)シーケンスの各々に対して要求される計算負荷の少なくとも一方に基づいている、請求項25のコンピュータプログラム製品。
【図1】
【図2A】
【図2B】
【図2C】
【図2D】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図2A】
【図2B】
【図2C】
【図2D】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【公表番号】特表2012−500603(P2012−500603A)
【公表日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2011−523972(P2011−523972)
【出願日】平成21年8月19日(2009.8.19)
【国際出願番号】PCT/US2009/054369
【国際公開番号】WO2010/022190
【国際公開日】平成22年2月25日(2010.2.25)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公表日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願日】平成21年8月19日(2009.8.19)
【国際出願番号】PCT/US2009/054369
【国際公開番号】WO2010/022190
【国際公開日】平成22年2月25日(2010.2.25)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]