(57)【要約】【課題】  データストリームをエンコードしている間に、電力が最適条件にて使用されるようにすること。【解決手段】  本発明の一態様により提供されるエンコーダは、対応する持続時間中に使用可能な電力量に従って異なるエンコーディング技法を使用する。このような異なるエンコーディング技法を使用することができるため、電力を最適条件にて使用することができる。この最適化は、対応する持続時間において使用可能な電力量に従ってエンコーディング技法の間の動的切換えを行うことにより、更に高められる。一実施形態では、各エンコーディング技法は、対応する精度レベルでモーションベクトルを推定し（それにより、対応するレベルの電力を消費し）、その精度レベルは、使用可能な電力割当量に対応するように選択される。希望の精度レベルでは必要とされない回路は、スイッチオフすることができる。【選択図】図５
2010124468.tif 000002
【特許請求の範囲】
【請求項１】
データストリームをエンコードするエンコーダと、
使用可能な電力量を指示する電力管理モジュールと、
を備え、
前記エンコーダが、前記電力量があるしきい値より多い場合には、第１のエンコーディング技法を使用して前記データストリームをエンコードし、そうでない場合には、第２のエンコーディング技法を使用してエンコードするように設計されている、装置。
【請求項２】
前記電力管理モジュールが、対応する時間インスタンスでの使用可能な電力量のシーケンスを指示するように設計され、
前記データストリームが、デジタル値のシーケンスを含み、
前記エンコーダが、前記シーケンスの電力量の各々を受け取ることに応答して、前記第１のエンコーディング技法又は前記第２のエンコーディング技法を選択し、前記選択されたエンコーディング技法に従って、前記シーケンスのデジタル値の対応するサブセットをエンコードする、請求項１に記載の装置。
【請求項３】
前記第１のエンコーディング技法が、同じ量のデジタル値をエンコードするのに、前記第２のエンコーディング技法より多くの電力を必要とするものであり、前記より多くの電力を必要とする第１のエンコーディング技法が、前記使用可能な電力量がより多いときに選択される、請求項２に記載の装置。
【請求項４】
前記エンコーダが、前記第１のエンコーディング技法及び前記第２のエンコーディング技法をそれぞれ行う第１のブロック及び第２のブロックを備え、前記第１のブロックが、前記第２のエンコーディング技法が選択されるときに、スイッチオフされるように作動でき、前記第１のエンコーディング技法が選択されるときには、スイッチオンされるように作動できる、請求項３に記載の装置。
【請求項５】
前記デジタル値のシーケンスん゛、画像フレームのシーケンスを表し、前記第１のブロックが、第１の解像度で連続する画像フレーム間のモーションを推定するように設計され、前記第２のブロックが、第２の解像度で連続する画像フレーム間のモーションを推定するように設計され、前記第１の解像度が、前記第２の解像度より高い、請求項４に記載の装置。
【請求項６】
前記第１の解像度が、前記画像フレームのピクセルの断片に等しく、前記第２の解像度は、前記画像フレームの１つのピクセルに等しい、請求項５に記載の装置。
【請求項７】
前記使用可能な電力量を受け取り、前記第１のエンコーディング技法又は前記第２のエンコーディング技法を選択し、前記第１のブロック及び前記第２のブロックのうちの１つをスイッチオフするソフトウエアドライバを更に備える、請求項６に記載の装置。
【請求項８】
中央処理装置（ＣＰＵ）及びメモリを更に備え、
前記電力管理モジュールが、電力供給源から受け取られる電力及び前記中央処理装置（ＣＰＵ）及び前記メモリの電力必要条件に基づいて、前記使用可能な電力量を計算する、請求項７に記載の装置。
【請求項９】
前記第２のエンコーディング技法が、更に、
中間画像フレームを欠落させるステップと、
望ましいビットレートで出力を与えるようにレート制御パラメータを調整するステップと、
を含む請求項７に記載の装置。
【請求項１０】
デジタル値のシーケンスをエンコードするエンコーダであって、
第１のエンコーディング技法に基づきエンコーディング動作を行う第１のブロックと、
第２のエンコーディング技法に基づき前記エンコーディング動作を行う第２のブロックと、
使用可能な電力量を受け取り、前記電力量があるしきい値より多い場合には、前記第１のエンコーディング技法を使用して前記データストリームをエンコードし、そうでない場合には、前記第２のエンコーディング技法を使用してエンコードするように決定するドライバと、
を備え、前記ドライバは、前記シーケンスのデジタル値が前記第２のエンコーディング技法を使用してエンコードされるべきである場合には、前記第１のブロックをスイッチオフし、一方、前記シーケンスのデジタル値が前記第１のエンコーディング技法を使用してエンコードされるべきである場合には、前記第２のブロックをスイッチオフするようにされた、エンコーダ。
【請求項１１】
前記ドライバが、対応する時間インスタンスでの使用可能な電力量のシーケンスを受け取るように設計され、
前記データストリームが、前記シーケンスのデジタル値を含み、
前記ドライバが、前記シーケンスの電力量の各々を受け取ることに応答して、前記第１のエンコーディング技法又は前記第２のエンコーディング技法を選択し、前記選択されたエンコーディング技法に従って前記シーケンスのデジタル値の対応するサブセットのエンコーディングを行わせるようにする、請求項１０に記載のエンコーダ。
【請求項１２】
前記第１のエンコーディング技法が、同じ量のデジタル値をエンコードするのに前記第２のエンコーディング技法より多くの電力を必要とし、前記より多くの電力を必要とする第１のエンコーディング技法が、前記使用可能な電力量がより多いときに選択される、請求項１１に記載のエンコーダ。
【請求項１３】
前記シーケンスのデジタル値が、画像フレームのシーケンスを表し、前記第１のブロックが、第１の解像度で連続する画像フレーム間のモーションを推定するように設計され、前記第２のブロックが、第２の解像度で連続する画像フレーム間のモーションを推定するように設計され、前記第１の解像度が、前記第２の解像度より高い、請求項１２に記載のエンコーダ。
【請求項１４】
前記第１の解像度が、前記画像フレームのピクセルの断片に等しく、前記第２の解像度は、前記画像フレームの１つのピクセルに等しい、請求項１３に記載のエンコーダ。
【請求項１５】
前記画像フレームが、Ｈ.２６４標準に従ってエンコードされる、請求項１４に記載のエンコーダ。
【請求項１６】
デジタルデータストリームを処理する方法において、
使用可能な電力量の指示を受け取るステップと、
前記電力量があるしきい値よりも多い場合には、第１のエンコーディング技法を選択し、そうでない場合には、第２のエンコーディング技法を選択するステップと、
前記選択されたエンコーディング技法に従って前記デジタルビットストリームをエンコードするステップと、
を含む方法。
【請求項１７】
前記受け取るステップが、対応する時間インスタンスでの使用可能な電力量のシーケンスを受け取り、
前記データストリームが、デジタル値のシーケンスを含み、
前記選択するステップが、前記シーケンスの電力量の各々を受け取ることに応答して、前記第１のエンコーディング技法又は前記第２のエンコーディング技法を選択し、
前記エンコードするステップが、前記選択されたエンコーディング技法の各々に従って前記シーケンスのデジタル値の対応するサブセットをエンコードする、請求項１６に記載の方法。
【請求項１８】
前記第１のエンコーディング技法が、同じ量のデジタル値をエンコードするのに前記第２のエンコーディング技法より多くの電力を必要とし、前記選択するステップが、前記使用可能な電力量がより多いときに、前記より多くの電力を必要とする第１のエンコーディング技法を選択する、請求項１７に記載の方法。
【請求項１９】
前記エンコーディングの動作が、複数の構成部分を使用して行われ、
当該方法は、更に、前記複数の構成部分のうちのあるものをスイッチオン又はオフするステップを更に含む、請求項１８に記載の方法。
【請求項２０】
前記複数の構成部分の各々が、対応する精度でモーション推定を行うように設計されている、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[002]本発明は、信号処理に係り、より特定すると、データストリームのエンコーディングにおける最適な電力使用に係る。
【背景技術】
【０００２】
[004]エンコーディングとは、一般に、デジタル値のシーケンス（例えば、データストリームにおける）を１つのフォーマットから別のフォーマットへと変換することを言う。エンコーディングには、関連技術においてよく知られているように、圧縮、変換の適用等の如きタスクを行うことが必要とされることが多い。デコーディングとは、一般に、これもまた関連技術において良く知られているように、エンコードされたデータを処理して、できるだけ元に近い形のデータストリームへ戻すことを言う。
【０００３】
[005]一般的には、エンコーディングは、特定のエンコーディング技法を使用して行われ、その後、元のデータストリームを再生するため、対応するデコーディング技法が使用される。あるエンコーディング技法は、ある処理ロジック（ソースデータストリームのデジタル値のシーケンスに対する数学的オペレーションのある定められたセット）により定められる。
【０００４】
[006]異なる処理ロジックのため、異なるエンコーディング技法は、（例えば、圧縮の１つ以上のレベル、データ損失のレベル、精度のレベル等により測定されるような）潜在的に異なる品質を得るのに異なる処理リソースを必要とする。又、これらの処理リソースにより、必要とされる電力量が決定される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
[007]一般的には、データストリームをエンコードしている間に、電力が最適条件にて使用されるのが望ましい。
【０００６】
[008]以下に簡単に述べる添付図面を参照して、本発明の実施形態を以下に説明する。
【図面の簡単な説明】
【０００７】
【図１】本発明の幾つかの態様を実施することのできる典型的な装置の細部を例示するブロック図である。
【図２】本発明の一実施形態において電力が最適条件にて使用される仕方を例示するフローチャートである。
【図３】１つの実施形態におけるビデオエンコーダの細部を例示するブロック図である。
【図４】本発明の一実施形態におけるモーション推定の典型的な計算中の相対的ピクセル位置を例示するブロック図である。
【図５】本発明の一実施形態における使用可能な電力に従ったエンコーディング技法の動的選択を例示する状態図である。
【図６】本発明の一実施形態における異なる使用可能な電力量に対して使用される異なるエンコーディング技法を例示する表である。
【発明を実施するための形態】
【０００８】
[0015]図において、同様の参照番号は、一般的には、同一の、機能的に同様の、及び／又は、構成的に同様の要素を示している。ある要素が最初に現されている図は、対応する参照番号の最も左側の桁の数字により示されている。
【０００９】
１．概要
[0017]本発明の一態様により提供されるエンコーダは、対応する持続時間中に使用可能な電力量に従って異なるエンコーディング技法を使用する。このような異なるエンコーディング技法を使用することができるため、電力を最適条件にて使用することができる。
【００１０】
[0018]本発明の別の態様によれば、この最適化は、対応する持続時間において使用可能な電力量に従ってエンコーディング技法の間の動的切換えを行うことにより、更に高められる。
【００１１】
[0019]一実施形態では、各エンコーディング技法は、対応する精度レベルでモーションベクトルを推定し（それにより、対応するレベルの電力を消費し）、その精度レベルは、使用可能な電力割当量に対応するように選択される。希望の精度レベルでは必要とされない回路は、スイッチオフすることができる。
【００１２】
[0020]本発明の幾つかの態様について、以下に例示のための実施例に関して説明する。しかしながら、当業者には、本発明は、それら特定の細部のうちの１つ以上のものを伴わずとも実施することができるものであり、又、他の方法、構成部分、材料等を用いても実施することができるものであることは、認識されよう。他の例においては、良く知られた構成体、材料又は動作は、本発明の特徴を不明瞭なものとしてしまうことを避けるために、詳細には示していない。更に又、ここに説明する特徴／態様は、種々な組合せにおいて実施することができるものであるが、ここでは、簡潔なものとするため、それら組合せのうちの幾つかのみについて説明している。
【００１３】
２．典型的な装置
[0022]図１は、本発明の幾つかの態様を実施することのできる典型的な装置１００の細部を例示するブロック図である。この装置は、携帯型ビデオカメラに対応しているのであるが、これら特徴は、他の装置においても実施することができるものであることは、本明細書の記載を読むことにより当業者には明らかとなろう。この装置は、ユーザアプリケーション１１０、ソフトウエアドライバ１２０、カメラ１３０、ビデオエンコーダ１４０、中央処理装置（ＣＰＵ）１５０、メモリ１６０、外部インターフェース１７０、電力管理モジュール１８０及び電力供給源１９０を含むものとして示されている。
【００１４】
[0023]ＣＰＵ１５０は、それらが別々のブロックで示されているが、ユーザアプリケーション１１０及びソフトウエアドライバ１２０を構成する種々なソフトウエア命令を実行する。一般に、ＣＰＵ１５０は、対応するユーティリティを与えるため、メモリ１６０における命令を実行する。
【００１５】
[0024]外部インターフェース１７０は、入力構成部分（例えば、キーボード、ポインタデバイス、タッチスクリーン、ボタン、ＵＳＢ入力等）及び出力構成部分（例えば、ディスプレイ、スピーカ）の両者を含むことができ、これらのどれかを使用することにより、種々なユーザインターフェースが与えられる。受け取られた入力は、既知の仕方にてソフトウエアドライバ１２０を介してユーザアプリケーション１１０へと与えられる。同様に、ユーザアプリケーション１１０は、これまた既知の仕方にてソフトウエアドライバ１２０を介して外部インターフェース１７０へと（表示／可聴再生のための）出力データを与えることができる。
【００１６】
[0025]ユーザアプリケーション１１０の各々は、ＣＰＵ１５０により実行されるとき、ユーティリティの対応するセット（例えば、映画の視聴、ビデオの取り込み、歌の再生等）を与える。以下に例示する実施例は、圧縮された形にてビデオ信号を取り込むことに関して説明されるが、本発明の特徴は、種々な他の応用例においても使用することができるものである。このようなビデオキャプチャは、外部インターフェース１７０を介してユーザが適当なセットの入力を与えることに応答して、開始される。
【００１７】
[0026]電力管理モジュール１８０は、電力供給源１９０から電力を受け取り、種々な構成部分（例えば、ＣＰＵ１５０、メモリ１６０）の現在の電力必要条件を推定するように設計されている。電力管理モジュール１８０は、又、このシステムにおいて実行されている各ユーザアプリケーション１１０（例えば、エンコーディング、デコーディング、インターネットブラウジング）の電力必要条件を追跡することもできる。このような推定（又はその他のもの）に基づいて、電力管理モジュール１８０は、ビデオエンコーダ１４０のために使用可能な電力量を計算することができる。一般に、全ての構成部分により消費される電力の和は、電力供給源１９０により与えられる電力レベルより低くなければならない。このような全体的な必要条件に基づいて、エンコーダ１４０のために使用可能な電力が計算される。
【００１８】
[0027]ソフトウエアドライバ１２０は、これら構成部分１３０／１４０／１５０／１６０／１７０及び１８０の各々とインターフェースする対応するドライバを含むことができる。従って、ユーザがビデオキャプチャを要求するとき、対応するソフトウエアドライバが、パス１２３にてカメラ１３０へキャプチャ要求を送る。これに応答して、ソフトウエアドライバ１２０は、パス１３２にて取り込まれた画像／ピクチャーフレームのシーケンスを表すデータストリームを受け取る。このようなデータストリームは、エンコーディングのため、ビデオエンコーダ１４０へ送られる。エンコードされたデータが受け取られ、それから、更なる処理（例えば、２次記憶装置への記憶又は外部装置への送信）のため、ＣＰＵ１５０へと送られる。
【００１９】
[0028]エンコーダ１４０は、ソフトウエアドライバ１２０から受け取られたデータをエンコードする。このようなエンコーディング中に、実施例に関して以下説明するように、電力は、最適条件にて使用される。
【００２０】
３．エンコーディング技法
[0030]図２は、本発明の１つの実施形態におけるエンコーディング技法を例示するフローチャートである。このフローチャートについて、単なる例示として、図１に関して以下説明する。しかしながら、これらの種々な特徴は、他の環境において実施することができ、又、他のタイプのデータ（例えば、オーディオ）に対しても実施することのできるものである。本明細書の記載を読むことにより当業者には明らかなように、本発明の幾つかの態様の範囲及び精神から逸脱することなく、異なる一連のステップを使用して、他の環境における代替的実施形態も実施することができるものである。このフローチャートは、ステップ２０１にて開始され、制御は、ステップ２１０へと続く。
【００２１】
[0031]ステップ２１０において、ソフトウエアドライバ１２０は、入力データストリーム及びエンコーディング動作のために使用可能な電力量を受け取る。その入力データストリームは、問題の情報を表すデジタル値のシーケンスを含む。図１の場合において、これらデジタル値は、カメラ１３０により取り込まれるフレームのシーケンスを表すことができる。この電力量は、任意の持続時間に対して（例えば、後で変えられない限りある１つの持続時間に対して）エンコーダ１４０の実施と調和したものであることができる。
【００２２】
[0032]ステップ２２０において、ソフトウエアドライバ１２０は、使用可能な電力量以下の電力量しか必要としない信号処理技法を選択する。例えば、使用可能な電力が低い場合（例えば、本時間インスタンスでの電力供給源１９０が、電力会社による外部電力供給源からのものではなく、電池に相当する場合）、より低い品質のエンコーディング技法（その必要とされるリソースがより少ない電力しか消費しないと仮定して）が選択される。
【００２３】
[0033]ステップ２４０において、ソフトウエアドライバ１２０は、その選択された信号処理技法を使用して、その入力データストリームをエンコードする。理解されるように、リソース必要条件は、その信号処理技法の実施（ハードウエア、ソフトウエア及びファームウエアの対応する組合せ）により決定される。従って、電力量を指示することにより、総計の使用可能な電力が最適条件にて使用される。このフローチャートは、ステップ２９９で終了する。
【００２４】
[0034]前述のフローチャートは、エンコーディング技法を単一インスタンスにて選択する場合について説明したのであるが、このような特徴を何回か繰り返すことができ、この方が特定の環境においては適していることは、理解されよう。更に、対応するエンコーディング技法を実施するため、種々な方法を使用することができる。このような特徴を例示する典型的な実施について以下説明する。
【００２５】
４．典型的な実施
[0036]図３は、本発明の一実施形態におけるエンコーダの部分の細部を例示するブロック図である。このブロック図では、ドライバ３１０、整数画素（Ｉｎｔｅｇｅｒ  Ｐｅｌ）モーション推定ブロック（ＭＥ）３２０、半画素（Ｈａｒｆ  Ｐｅｌ）モーション推定ブロック３３０、１／４画素（Ｑｕａｒｔｅｒ  Ｐｅｌ）モーション推定ブロック３４０及びロジックブロック３８０を含むものとして示されている。各ブロックについて、以下に更に詳細に説明する。
【００２６】
[0037]ドライバ３１０は、ソフトウエアドライバ１２０におけるドライバのうちの１つに対応することができ、又は、別の仕方として、ビデオエンコーダ１４０内にて実施することができる。一般に、ドライバ３１０は、使用可能な電力量を受け取り、希望のモーション推定ブロックのみをターンオン／オフする。更に、ドライバ３１０は、エンコーディング目的で動作可能な特定の推定ブロックと通信し、ロジックブロック３８０がその動作可能な（スイッチオフされていない）構成部分のみからの使用可能なデータに基づいて他のエンコーディング動作を行えるようにする。
【００２７】
[0038]ロジックブロック３８０は、ブロック３２０／３３０／３４０によって行われるモーション推定動作以外のエンコーディング動作（「他の動作」）の全てを表している。これら他の動作は、対応する環境において使用されている特定のエンコーディングアルゴリズム及び入力／出力フォーマットに依存している。ロジックブロック３８０は、ブロック３２０／３３０及び３４０のうちのどれがターンオン／オフされるかに従って使用可能となる異なる数のモーション推定（対応する精度で）でもって実施されるべきであることを理解されたい。ロジックブロック３８０の実施は、当業者には明らかであろう。
【００２８】
[0039]整数画素モーション推定ブロック（ＭＥ）３２０は、当業分野においてよく知られるように整数ピクセル値の精度に対して２つの連続する画像フレーム（又はそれらの部分）の間のモーションを推定する。例えば、整数画素モーション推定ブロック３２０は、そのシーケンスにおいて受け取られる第１の／前のフレームから１ピクセルの距離ずつ離れた位置に第２の／即時のフレームを置くことができ、その差を計算する。
【００２９】
[0040]図４における位置４１０Ａから４１０Ｈは、典型的な相対的整数ピクセル位置を例示している。各位置（例えば、８つの位置）について計算された推定は、ロジックブロック３８０へ出力として与えられる。整数画素モーション推定ブロック（ＭＥ）３２０は、任意の既知の技法を使用して実施することができ、希望の速度でそのモーション推定を行うために、それに対応して、フレーム当たりＸ量の電力を消費する。
【００３０】
[0041]半画素モーション推定ブロック（ＭＥ）３３０は、半分ピクセルの距離の精度に対して２つの連続するフレームの間のモーションを推定する。例えば、半画素モーション推定ブロック（ＭＥ）３３０は、そのシーケンスにおいて受け取られる対応する第１のフレームから半分ピクセルの距離ずつ離れた位置に第２の画像フレームを置くことができる。
【００３１】
[0042]図４における位置４２０Ａから４２０Ｈは、典型的な相対的半分ピクセル位置を例示している。各位置（例えば、８つの位置）について計算された推定は、パス１４２に出力として与えられる。半画素モーション推定ブロック（ＭＥ）３３０は、任意の既知の技法を使用して実施することができ、希望の速度でそのモーション推定を行うために、それに対応して、フレーム当たりＹ量の電力を消費する。
【００３２】
[0043]同様に、１／４画素モーション推定ブロック（ＭＥ）３４０は、四半分ピクセル値の精度に対して２つの連続する画像フレームの間のモーションを推定する。図４における位置４３０Ａから４３０Ｈは、典型的な相対的四半分ピクセル位置を例示している。１／４画素モーション推定ブロック（ＭＥ）３４０は、任意の既知の技法を使用して実施することができ、希望の速度でそのモーション推定を行うために、それに対応して、フレーム当たりＺ量の電力を消費する。
【００３３】
[0044]ドライバ３１０は、受け取られた電力割当量に基づいて、整数画素モーション推定ブロック（ＭＥ）３２０、半画素モーション推定ブロック（ＭＥ）３３０及び１／４画素モーション推定ブロック（ＭＥ）３４０の動作を制御する。その受け取られる電力割当量（使用可能な電力量）は、エンコーディング動作／モーション推定を行うのに使用可能な電力を指示することができる。ドライバは、又、整数画素モーション推定ブロック（ＭＥ）３２０、半画素モーション推定ブロック（ＭＥ）３３０及び１／４画素モーション推定ブロック（ＭＥ）３４０の電力必要条件の詳細を維持することもできる。
【００３４】
[0045]１つの実施形態では、ドライバ３１０は、例示のため、ロジックブロック３８０における計算を無視できるものと仮定して、エンコーディングのための使用可能な電力が（Ｘ＋Ｙ＋Ｚ：Ｘ＝整数画素に対する電力、Ｙ＝半画素に対する電力及びＺ＝１／４画素に対する電力）以上であるときには、整数画素モーション推定ブロック３２０、半画素モーション推定ブロック３２０及び１／４画素モーション推定ブロック３４０をターンオンする（第１のエンコーディング技法の実施例）。従って、モーション推定は、より多くの数（この場合には、２４）の相対的位置で行われる。従って、ロジックブロック３８０は、２４の位置の各々についての推定値（２つの連続するフレームの間の一致の度合を表す）を受け取り、現在処理されている画像フレームを圧縮するために２４の位置のうちの最も一致しているものを選択することができる。サブピクセルレベルでのより多くの位置をエンコーディングのために考慮しているので、このようにしてエンコードされるフレーム（デジタル値のシーケンス）は、高品質の（情報損失の少ない）エンコード信号を生成する。
【００３５】
[0046]別の仕方として、ドライバ３１０は、エンコーディングのために使用可能な電力が（Ｘ＋Ｙ）より大きく且つ（Ｘ＋Ｙ＋Ｚ）より小さいときには、整数画素モーション推定ブロック３２０及び半画素モーション推定ブロック３３０のみをターンオンすることができる。従って、モーション推定は、比較的により少ない数の（この場合には、１６）相対的位置で行われる。従って、それらフレームをエンコードするため、それら１６の位置のうちで最も近い一致を示すものが（ロジックブロック３８０により）選択され、中間品質のエンコード信号が与えられる。
【００３６】
[0047]同様に、ドライバ３１０は、使用可能な電力が（Ｘ＋Ｙ）より小さく且つＸより大きいときには、整数画素モーション推定ブロック３２０のみをターンオンすることができる。従って、そのモーション推定は、８つの相対的位置で行われる。そして、それらフレームをエンコードするため、８つの位置のなかで最も近い一致を示すものが選択され、低品質のエンコード信号が与えられる。
【００３７】
[0048]更に別の実施形態では、ドライバ３１０は、使用可能な電力量がＸ、Ｙ及びＺである場合において、それぞれ整数画素モーション推定ブロック３２０、半画素モーション推定ブロック３３０及び１／４画素モーション推定ブロック３４０のうちの１つを選択することができる。
【００３８】
[0049]前述したことから、潜在的に、各連続する画像フレームをエンコードするのに、電力を最適条件にて使用することができることは理解されよう。電力消費は、一実施例について後述するように、動的に調整することができる。
【００３９】
５．エンコーディング技法の動的選択
[0051]図５は、本発明の１つの実施形態における使用可能な電力に基づく処理（エンコーディング／デコーディング）技法の動的選択を例示する状態図である。この状態図は、「電力割当量について電力管理モジュールに問い合わせる」状態５１０、高品質状態５２０、中間品質状態５３０、低品質状態５４０及び「低品質及びフレーム欠落」状態５５０の各状態を含むものとして示されている。各状態及び対応する移行について、以下により詳細に説明する。
【００４０】
[0052]「電力割当量について電力管理モジュールに問い合わせる」状態５１０は、エンコーダ３００の初期状態を表している。この状態においては、ドライバ１２０／３１０は、データストリームをエンコードするために使用可能な電力について電力管理システム（ＰＭ）１８０に問い合わせる。ドライバ１２０／３１０は、使用可能な電力の値５１２、５１３及び５１４を受け取り、それぞれ、エンコーダの状態を、高品質状態５２０、中間品質状態５３０及び低品質状態５４０へと変更させる。このような変更のためには、対応するモーション推定ブロックをスイッチングオン／オフし且つそれらをロジックブロック３８０へと通信することが必要とされる。
【００４１】
[0053]高品質状態５２０、中間品質状態５３０及び低品質状態５４０の各々において、ビデオエンコーダ１４０は、それぞれ、高品質、中間品質及び低品質（低品質の場合にはより多くの情報損失）エンコード信号を生成するように動作する。例えば、図３の説明に関しては、電力５１２、５１３及び５１４は、それぞれ、値（Ｘ＋Ｙ＋Ｚ）、（Ｘ＋Ｙ）及びＸを表す。
【００４２】
[0054]従って、高品質状態５２０は、整数画素モーション推定ブロック３２０、半画素モーション推定ブロック３３０及び１／４画素モーション推定ブロック３４０がターンオンされていることを表している。同様に、中間品質状態５３０及び低品質状態５４０は、それぞれ、整数画素モーション推定ブロック３２０及び半画素モーション推定ブロック５４０の両方がターンオンされているときの状態、及び整数画素モーション推定ブロック３２０のみがターンオンされているときの状態を表している。
【００４３】
[0055]「低品質及びフレーム欠落」状態５５０においては、ビデオエンコーダ１４０は、使用可能な電力量内でエンコーディングを行うため、フレームレートを希望の値より低いところまで減少させるようにフレームを欠落させるように動作する。フレーム欠落のため、エンコーディングチェーンに存在する各モジュールの電力使用は、各欠落フレームにつれて減少する。
【００４４】
[0056]しかしながら、フレームの欠落は、エンコーダ出力のビットレートを希望のビットレートから変化（減少）させてしまう結果となる。ビットレートのこのような減少は、当業分野においてよく知られているように、レート制御パラメータ（ＲＣ）を調整することにより補償することができる。例えば、フレーム当たりの平均バイト（一般的には、レート制御（ＲＣ）パラメータとして類別される）が、ビットレート／フレームレートによって与えられ、ビデオエンコーダ（実施例としてロジックブロック３８０）内にプログラムされる。
【００４５】
[0057]エンコーダは、ターゲットビットレートを維持するためフレームが欠落させられるときに、ＲＣパラメータを調整することができる。更に又、フレームの欠落により、フレームをエンコードするためにより多くのビット割当量が与えられる。従って、１つの実施形態では、エンコードフレームの主観品質は、それ程には低下しない。又、エンコードシーケンスの品質は、Ｉ−スライス／フレームの挿入及び／又はより多くのイントラリフレッシュマクロブロックでもって増大させることができる。
【００４６】
[0058]更に又、ドライバ３１０／１２０は、正規間隔で電力割当て（使用可能）を受け取ることができる。一旦割り当てられた電力は、１つ以上のユーザアプリケーションの開始／終了のため、エンコーディング動作中に変化する。従って、ドライバは、使用可能な電力の減少（電力−）又は増大（電力＋）に基づいて、エンコーダの状態を変化させることができる。移行５３２、５４３及び５５４は、（エンコーディングのための）使用可能な電力の増大（＋）による移行を表し、移行５２３、５３４及び５４５は、使用可能な電力の減少（−）による移行を表している。従って、これらの移行は、使用可能な電力の対応する増大又は減少時に生ぜしめられる。
【００４７】
[0059]このような移行の選択は、当業者には明らかなように、その環境の特定の必要条件に基づいて決定することができる。例えば、ドライバ３１０は、もし、使用可能な電力がそのエンコーディング処理中に（Ｘ＋Ｙ＋Ｚ）より低いところまで減少した場合には、そのエンコーダ動作を高品質から中間品質へと切り換えることができる。
【００４８】
[0060]エンコーディング技法の電力の動的選択が前述に従って行われる仕方について、以下に説明するＨ.２６４エンコーダに関して説明する。
【００４９】
６．典型的なＨ.２６４エンコーダ
[0062]図６は、７２０ｐ解像度（１２８０ｘ７２０のサイズを有する画像）でのＨ.２６４エンコーダの場合のエンコーディング技法及び対応する電力必要条件の詳細のリストを例示する表である。縦列６１０は、エンコーディング技法を示しており、縦列６２０は、データのフレームをエンコードするのに必要とされるクロックサイクルの数を示しており、縦列６３０は、３０ｆｐs（フレーム／秒）のスループットを達成するためのクロックサイクルの周波数を示しており、縦列６４０は、対応するエンコーディング技法を行うために３０ｆｐsの場合に必要とされる電力を示している。
【００５０】
[0063]この例示の実施例では、横行６５０は、低品質エンコーディング技法の詳細を示しており、横行６６０は、中間品質エンコーディング技法の詳細を示しており、横行６７０は、高品質エンコーディング技法の詳細を示している。これらの低品質、中間品質及び高品質エンコーディング技法は、Ｈ.２６４標準に従って実施される。３３２ｍＷは、全ビデオエンコーディング処理により消費される一定電力（例えば、ビデオ信号をエンコードするためブロック１４０と関連して動作している間に全てのブロック１３０、１５０、１６０、１７０によって消費される電力）であり、一方、ビデオエンコーダ１４０は、各品質レベルで追加電力を消費するものであると、例示のため更に仮定している。
【００５１】
[0064]続いて、標準リチウムイオン４０００ｍＷｈ電池を有し、この装置（任意数のアプリケーションを実行する）のための希望の寿命が単一電池充電で少なくとも５時間であるような典型的な実施形態について説明する。従って、電力管理モジュール１８０は、任意の時間点で引き出される最大電力を８００ｍＷ（４０００ｍＷｈ／５）に制限する。
【００５２】
[0065]もし、その装置が既に作動されており、７２０ｐ解像度でビデオエンコーディングアプリケーションを開始する時に４００ｍＷを消費しているならば、ソフトウエアドライバ１２０は、（状態５１０に従って）電力管理（ＰＭ）モジュール１８０に問い合わせて４００ｍＷしか使用可能でないことを見出し（移行５１３の実施例）、従って、エンコーディングのための中間品質（状態５３０）をセットする。何故ならば、中間品質では、示されているように、必要とされるのは、３９９ｍＷだけであるからである。
【００５３】
[0066]従って、前述したことから、使用可能な電力に対応するようにエンコーディング技法を選択することができ、従って、電力を最適条件にて使用することができることは、理解されよう。
【００５４】
[0067]更に又、モーション推定ブロック３２０／３３０／３４０のスイッチングオフ／オンを電力の最適化使用のための方法として説明してきたのであるが、当業者には明らかなように、本発明の幾つかの態様の範囲及び精神から逸脱せずに、電力消費を減少させるために他の技法（例えば、ソフトウエアにおいてのみ実施されるとしても、必要な計算量を減少させるような方法を使用して、回路の部分のみをディスエーブルする）をエンコーダに使用することもできる。
【００５５】
[0068]同様に、ビデオデータの処理に関して説明してきたのであるが、これらの特徴は、他のタイプの信号データ（例えば、オーディオ）を判断するのに使用することができることは、理解されよう。
【００５６】
７．むすび
[0070]本発明の種々な実施形態について前述してきたのであるが、これらは単なる例示に過ぎず、これに限定されるものではないことを理解されたい。従って、本発明の幅及び範囲は、前述の典型的な実施形態のいずれによっても限定されるべきものでなく、特許請求の範囲及びそれらの等効物によってのみ定められるべきものである。
【００５７】
[0071]更に、要約書の目的は、一般的には、特許庁及び公衆、特に、特許又は法律用語又は表現法に精通していない科学者、技術者及び実施者が本願の技術的開示の本質及び要旨を一見して素早く決定できるようにすることである。この要約書は、本発明の範囲に関していかようにも限定しようとしているものではない。
【符号の説明】
【００５８】
１００・・・装置、１１０・・・ユーザアプリケーション、１１２・・・パス、１２０・・・ソフトウエアドライバ、１２３・・・パス、１２４・・・パス、１２８・・・パス、１３０・・・カメラ、１３２・・・パス、１３８・・・パス、１４０・・・ビデオエンコーダ、１４２・・・パス、１４８・・・パス、１５０・・・中央処理装置（ＣＰＵ）、１５８・・・パス、１６０・・・メモリ、１６８・・・パス、１７０・・・外部インターフェース、１７８・・・パス、１８０・・・電力管理モジュール、１９０・・・電力供給源、３００・・・エンコーダ、３１０・・・ドライバ、３１２・・・パス、３１３・・・パス、３１４・・・パス、３２０・・・整数画素モーション推定ブロック、３３０・・・半画素モーション推定ブロック、３４０・・・１／４画素モーション推定ブロック、３８０・・・ロジックブロック、４１０Ａ〜４１０Ｈ・・・相対的整数ピクセル位置、４２０Ａ〜４２０Ｈ・・・相対的半分ピクセル位置、４３０Ａ〜４３０Ｈ・・・相対的四半分ピクセル位置、５１０・・・「電力割当量について電力管理モジュールに問い合わせる」状態、５１２・・・使用可能な電力、５１３・・・使用可能な電力、５１４・・・使用可能な電力、５２０・・・高品質状態、５２３・・・移行、５３０・・・中間品質状態、５３２・・・移行、５３４・・・移行、５４０・・・低品質状態、５４３・・・移行、５４５・・・移行、５５０・・・「低品質及びフレーム欠落」状態、５５４・・・移行、６１０・・・縦列（エンコーディング技法を示す）、６２０・・・縦列（データのフレームをエンコードするのに必要とされるクロックサイクルの数を示す）、６３０・・・縦列（３０ｆｐs（フレーム／秒）のスループットを達成するためのクロックサイクルの周波数を示す）、６４０・・・縦列（対応するエンコーディング技法を行うために３０ｆｐsの場合に必要とされる電力を示す）、６５０・・・横列（低品質エンコーディング技法の詳細を示す）、６６０・・・横列（中間品質エンコーディング技法の詳細を示す）、６７０・・・横列（高品質エンコーディング技法の詳細を示す）
【図１】
2010124468.tif 000003
【図２】
2010124468.tif 000004
【図３】
2010124468.tif 000005
【図４】
2010124468.tif 000006
【図６】
2010124468.tif 000007
【図５】
2010124468.tif 000008
【外国語明細書】
2010124468000001.pdf