JP2012501154A - 復号システムおよび方法 - Google Patents

復号システムおよび方法 Download PDF

Info

Publication number
JP2012501154A
JP2012501154A JP2011525151A JP2011525151A JP2012501154A JP 2012501154 A JP2012501154 A JP 2012501154A JP 2011525151 A JP2011525151 A JP 2011525151A JP 2011525151 A JP2011525151 A JP 2011525151A JP 2012501154 A JP2012501154 A JP 2012501154A
Authority
JP
Japan
Prior art keywords
decoding
video signal
macroblock
lookup table
codeword
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011525151A
Other languages
English (en)
Other versions
JP5149444B2 (ja
Inventor
シャオ、シュ
バオ、イリアン
サブラマニアン、シタラマン・ガナパシー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2012501154A publication Critical patent/JP2012501154A/ja
Application granted granted Critical
Publication of JP5149444B2 publication Critical patent/JP5149444B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4436Power management, e.g. shutting down unused components of the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

復号システムおよび方法が開示される。特定の一実施形態では、ビデオ復号器システムは、第1の復号パスと、該第1の復号パスよりも遅い平均レートで復号するように構成される第2の復号パスとを含む。該ビデオ復号器システムは、符号化ビデオ信号の第1の部分を該第1の復号パスまたは該第2の復号パスに与えるように構成される動的スイッチを含む。該動的スイッチはさらに、該第1の部分の復号処理に関連する復号メトリックの値に応答して、該符号化ビデオ信号の後続部分を該第1の復号パスまたは該第2の復号パスに与えるように構成される。
【選択図】 図1

Description

本開示は、一般に復号システムおよび方法に関する。
技術の進歩により、より小型でより強力なコンピューティングデバイスをもたらした。たとえば、現在、小型で軽量な、ユーザが容易に持ち運べるポータブルワイヤレス電話、携帯情報端末(PDA)、ページングデバイスなどのワイヤレスコンピューティングデバイスを含む様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、セルラー電話やインターネットプロトコル(IP)電話などのポータブルワイヤレス電話は、ボイスおよびデータパケットをワイヤレスネットワークを介して通信できる。さらに、多くのそのようなワイヤレス電話は、その中に組み込まれた他のタイプのデバイスを含む。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、ビデオプレーヤ、およびオーディオファイルプレーヤをも含むことができる。また、そのようなワイヤレスコンピューティングデバイスは、ウェブブラウザアプリケーションなど、インターネットにアクセスするために使用できるソフトウェアアプリケーションを含む実行可能な命令を処理することができる。したがって、これらのワイヤレスコンピューティングデバイスはかなりの計算能力を含むことができる。
そのようなワイヤレスコンピューティングデバイスにおいて、信号データのコードワードを変換するためにルックアップテーブルを使用して符号化ビデオデータは復号され得る。速い結果を返すために、各コードワードルックアップ動作中にアクティブにされるルックアップテーブルにおいてコードワードの全セットは記憶され得るが、大きな電力消費量が大きくなる。ビデオデータを復号する遅延は復号ビデオデータの閲覧者によって容易に気づかれ得るので、ポータブルデバイスにおける限られた電力リソースの大きい消耗にもかかわらず、全コードワードセットテーブルルックアップがしばしば実行される。
特定の一実施形態では、ビデオ復号器システムにおいて符号化ビデオ信号を受信することを含む方法が開示される。本方法は、該ビデオ復号器システムの第1の復号パスまたは第2の復号パスにおいて復号される該符号化ビデオ信号の第1の部分を送信することを含む。該第2の復号パスは、該第1の復号パスよりも少ない平均電力を使用するように構成される。本方法は、該符号化ビデオ信号の該第1の部分を復号することに関連する復号メトリックを決定することを含む。本方法はまた、該復号メトリックに応答して、該第1の復号パスまたは該第2の復号パスにおいて復号される該符号化ビデオ信号の後続部分を選択的に送信することを含む。本方法は、該第1の部分と該後続部分との復号に基づいて復号ビデオ信号を生成することをさらに含む。
別の特定の実施形態では、符号化ビデオ信号を受信するように構成され、復号ビデオ信号を出力するように構成されるビデオ復号器システムが開示される。該ビデオ復号器システムは、第1の復号パスと第2の復号パスとを含む。該第2の復号パスは、該第1の復号パスよりも遅い平均レートで復号するように構成される。該ビデオ復号器システムはまた、該符号化ビデオ信号の第1の部分を該第1の復号パスまたは該第2の復号パスのいずれかに与えるように構成される動的スイッチを含む。該動的スイッチはさらに、該第1の部分の復号処理に関連する復号メトリックの値に応答して、該符号化ビデオ信号の後続部分を該第1の復号パスまたは該第2の復号パスに与えるように構成される。
別の特定の実施形態では、複数のルックアップテーブルを含むシステムが開示される。複数のルックアップテーブルは、可変長コーディングスキームのコードワードの完全セットに対応する第1のデータを記憶している第1のルックアップテーブルを含む。複数のルックアップテーブルはまた、コードワードの第1の不完全セットに対応する第2のデータを記憶している第2のルックアップテーブルを含む。本システムは、第1のコードワードを含む可変長コーディングビットストリームの部分を受信するように構成されるスイッチをさらに含む。該スイッチは、該第1のコードワードを復号することに関連する復号メトリックの値に応答して、該第1のコードワードを該複数のルックアップテーブルのうちの第1の選択されたルックアップテーブルに送信し、後続コードワードを該複数のルックアップテーブルのうちの第2の選択されたルックアップテーブルに送信するように構成される。
別の特定の実施形態では、ポータブル電子デバイスは、アンテナを介して符号化高精細度ビデオ信号をワイヤレスで受信するように構成されるワイヤレスコントローラを含む。該ポータブル電子デバイスはまた、該符号化高精細度ビデオ信号を復号するための第1の手段と、該第1の手段よりも遅い平均速度で該符号化高精細度ビデオ信号を復号し、該第1の手段よりも少ない平均電力を使用するための第2の手段とを含む。該ポータブル電子デバイスは、該高精細度ビデオ信号のマクロブロックの復号されていない係数の数に応答して、さらに、マクロブロックの復号されていない係数を復号するために利用可能な残りの処理サイクルの数に応答して、該第1の手段または該第2の手段を動的に選択する選択回路をさらに含む。該選択回路は、該マクロブロックの少なくとも1つの先行部分の復号処理に基づいて該マクロブロックの特定の部分を復号するために、該第1の手段または該第2の手段を選択するように構成される。
開示される実施形態によって与えられる1つの特定の利点は、符号化信号の先行部分の復号処理に基づく復号パスの動的選択によって可能にされる効率的な復号である。効率的な復号は節電につながり得る。
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討の後に明らかになろう。
復号システムの第1の例示的な実施形態のデータフロー図。 復号システムの第2の例示的な実施形態のデータフロー図。 復号システムの第3の例示的な実施形態のデータフロー図。 復号パイプラインの特定の例示的な実施形態のデータフロー図。 復号方法の特定の例示的な実施形態のフローチャート。 復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システムを含むポータブル電子デバイスの特定の例示的な実施形態のブロック図。
図1を参照すると、復号システムの第1の例示的な実施形態が示され、概して100で示される。符号化ビデオファイル110からの符号化ビデオ信号をビデオセグメント復号器104に与えるためにメモリ102が結合される。ビデオセグメント復号器104は、ディスプレイデバイス108へ出力を与えるマルチメディアディスプレイプロセッサ106に結合される。
ビデオセグメント復号器104は、符号化ビデオ信号の1つまたは複数の符号化ビデオセグメント112を受信し、復号ビデオ信号の復号ビデオ信号セグメント140を出力するように構成される。ビデオセグメント復号器104は、第1の復号パス122と第2の復号パス124とを含む。第2の復号パス124は、第1の復号パス122よりも遅い平均レートで復号するように構成される。第2の復号パス124はまた、第1の復号パス122よりも少ない平均電力を使用するように構成され得る。動的スイッチ120は、符号化ビデオ信号の部分の先行復号パフォーマンスに基づいて、第1の復号パス122または第2の復号パス124のいずれかにおいて復号される符号化ビデオ信号の部分を選択し、指示するように構成される。したがって、ビデオセグメント復号器104は、符号化ビデオ信号が復号されているときに復号の様々なステージにおいて、より速くおよびより高電力の復号か、またはより遅くおよびより低電力の復号を動的に選択し得る。
第1の復号パス122、第2の復号パス124、またはそれらの任意の組合せを介して復号される復号ビデオデータ126は、復号メトリック論理回路128に与えられ、また、出力ビデオ信号を生成するために使用される。復号メトリック論理回路128は、復号ビデオデータ126とクロック信号118とに応答して、復号メトリック130を生成する。復号メトリック130は動的スイッチ120に与えられて、スイッチ120が、第1の復号パス122が選択されるか、または第2の復号パス124が選択されるかを決定できるようにする。たとえば、復号メトリック130は、ビデオ信号の残りの部分を復号するための残りの時間量またはクロックサイクルの数を示す。別の例として、復号メトリック130は、ビデオ信号の復号を完了するために必要とされるクロックサイクルの最悪数を超える利用可能なクロックサイクルの数を示す。たとえば、復号されるべき既知の量のデータが残っているとき、その既知の量のデータの復号を完了するためのクロックサイクルの最悪数が決定され、利用可能なクロックサイクルの実際の数と比較される。復号メトリック130は、いくつのクロックサイクルが最悪要求を超えて利用可能であるかを示し得る。
動作中、符号化ビデオファイル110は、代表的な符号化ビデオセグメント112を含む一連の符号化ビデオセグメントとしてビデオセグメント復号器104に与えられ得る。たとえば、符号化ビデオセグメント112は高精細度ビデオ信号のマクロブロックである。ビデオセグメント復号器104は、ディスプレイデバイス108においてビデオ信号の高精細度ディスプレイをサポートするためのデータ出力レートを満たすことができる。たとえば、ビデオ信号の各マクロブロックのクロック信号118の指定された数のサイクルは、高精細度ディスプレイをサポートするのに十分である。
動的スイッチ120は、復号ビデオ信号の高精細度ディスプレイをサポートするための総ビデオデータ出力レートを維持しながら第2の復号パス124のより遅い平均レートで復号するために十分な時間または十分な処理サイクルが利用可能であるときに、特定のマクロブロックを復号している間に第1の復号パス122から第2の復号パス124へ動的に切り替わるように構成され得る。たとえば、動的スイッチ120は、符号化ビデオセグメント112の第1の部分114を第1の復号パス122または第2の復号パス124に与え、その後、第1の部分114の復号処理に関連する復号メトリック130の値に応答して符号化ビデオセグメント112の後続部分116を第1の復号パス122または第2の復号パス124に与えるように構成される。
特定の例として、符号化ビデオセグメント112は符号化ビデオ信号のマクロブロックに対応し、第1の部分114はマクロブロックの前半に対応し、後続部分116はマクロブロックの後半に対応することができる。マクロブロックの前半が復号された後、動的スイッチ120は、復号メトリック130の評価に基づいて、電力を節約するために、第2の復号パス124においてより遅いレートでマクロブロックの後半を復号するために十分な時間が利用可能であるかどうかを決定することができる。たとえば、復号メトリック130が、復号を完了するためにクロックサイクルの最悪数を上回る十分なクロックサイクルが利用可能であることを示した場合、動的スイッチ120は、第2の復号パス124においてマクロブロックの後半を復号することを選択することができる。別の特定の例として、第1の部分114および後続部分は、マクロブロック内の符号化データの個々のブロックに対応することができる。さらに別の特定の例として、第1の部分114および後続部分116は、ビデオ信号を符号化するために使用される個々のコードワードに対応し、動的スイッチ104は、コードワード単位で復号パス122または124を選択することができる。
図4に関して説明されるように、復号ビデオデータ126は、マルチメディアディスプレイプロセッサ106に与えられる復号ビデオセグメント140を生成するように処理され得る。たとえば、符号化ビデオセグメント112が符号化高精細度ビデオ信号のマクロブロックを表す場合、復号ビデオ信号セグメント140は、高精細度ビデオ信号の復号されたマクロブロックを表す。ビデオセグメント復号器104は、マクロブロック単位で動作する復号パイプラインの1つまたは複数のステージとして動作し、指定された全出力レートを維持しながら信号を効率的に復号するために、動的スイッチ120を介して、より低電力の復号とより速い復号との間で動的に選択することができる。
図2を参照すると、復号システムを通るデータフローの第2の例示的な実施形態が示され、概して200で示される。動的スイッチ210において符号化ビデオ信号202は受信される。動的スイッチ210は、第1のルックアップテーブル222を含む第1の復号パス220に結合される。動的スイッチ210はまた、第2のルックアップテーブル242と、パス論理246と、第1のルックアップテーブル222とを含む第2の復号パス240に結合される。特定の一実施形態では、システム200は、符号化ビデオ信号を復号するように構成されるビデオ復号器システムとして、図1のビデオセグメント復号器104中などに実装される。
符号化ビデオ信号202は、可変長コーディング(VLC)スキームのコードワードC1,C2,...Cnのストリーム204を含む。動的スイッチ210は、復号コードワード250を生成するために、コードワードC1,C2,...Cnのストリーム204の各コードワードを第1の復号パス220または第2の復号パス240に動的に割り当てるように構成される。動的スイッチ210は、符号化ビデオ信号202の残りを復号するために利用可能な処理またはクロックサイクルの現在の数を示し得る復号メトリック212に基づいて、各コードワードを第1のパス220または第2のパス240に割り当てることができる。たとえば、復号メトリック212は、高精細度ディスプレイに対する所望のデータ出力レートをサポートするなどのためにマクロブロック当たりの予定された(budgeted)時間量またはクロックサイクルのしきい値を超えることなしに、高精細度ビデオ信号のマクロブロックの復号を完了するための残りのクロックサイクルの数を示すことができる。
第1のルックアップテーブル222は、VLCコードワードの第1のセット224に対応する第1のデータを記憶する。VLCコードワードの第1のセット224は、符号化ビデオ信号202を符号化するために使用されるVLCスキームのコードワードの完全セットを含むことができる。第2のルックアップテーブル242は、VLCコードワードの第2のセット244に対応する第2のデータを記憶し、第1のルックアップテーブル222よりも少ないコードワードを含む。VLCコードワードの第2のセット244は、符号化ビデオ信号202を符号化するために使用されるVLCスキームのコードワードの不完全セットを含むことができる。VLCコードワードの第2のセット244は、統計的に頻繁に遭遇する可能性がある短いコードワードを含むことができる。ビデオ信号を復号する間に遭遇する可能性があるコードワードのより小さいセットを記憶することによって、第2のルックアップテーブル242では、各ルックアップ動作中に使用する電力が第1のルックアップテーブル222よりも著しく少なくなり得るが、その結果、ルックアップ動作中にコードワードが発見されないことがあり得る。
第2の復号パス240は、第1のルックアップテーブル222にアクセスする前に第2のルックアップテーブル242にアクセスするように構成される。第2のルックアップテーブル242におけるルックアップ動作によりコードワードが発見された場合、すなわち「ヒット」の場合、パス論理246は復号コードワード250を返す。しかしながら、パス論理246が、第2のルックアップテーブル242においてミスが生じたと決定した場合、第2のルックアップ動作を実行するために、コードワードは第1のルックアップテーブル222に与えられる。
特定の一実施形態では、復号メトリック212は、各コードワード204が復号されるにつれて更新される。動的スイッチ210は、前のコードワードを復号した後に復号メトリック212の値に応答して特定のコードワードを復号するために第1の復号パス220または第2の復号パス240を選択するように構成され得る。たとえば、コードワードC1は第1の復号パス220または第2の復号パス240を介して復号され、復号メトリック212は、コードワードC1の復号を反映するように更新され、動的スイッチ210は、更新された復号メトリック212を使用して、次のコードワードC2を第1の復号パス220を介して復号するか、または第2の復号パス240を介して復号するかを選択することができる。
別の例として、図3に関して説明されるように、符号化ビデオ信号202は、周波数変換されたピクセルを表す係数を含み、復号メトリック212は、符号化ビデオ信号202の残りの係数を復号するために利用可能な時間量に基づいて決定される。各コードワードが、実行情報(たとえば、ゼロ係数の数)とレベル情報(たとえば、非ゼロ係数値)とを含む情報を符号化するように、コードワードC1,C2,...Cnのストリーム204を介して係数は符号化され得る。ゼロ係数値の数は、復号されるコードワード204の総数に影響を及ぼすことによって、符号化ビデオ信号202を復号するための時間量に影響を及ぼし得る。
動作中、動的スイッチ210は、復号メトリック212に応答して第1の復号パス220または第2の復号パス240を動的に選択するように構成され得る。第2の復号パス240は、第1の復号パス220よりも平均して少ない電力を使用して、第1の復号パス220よりも平均して遅い速度で符号化ビデオ信号202を復号するために選択され得る。第1の復号パス220は、第2の復号パス240よりも、平均して速い速度で、平均して多くの電力を消費して、復号するために選択され得る。
特定の一実施形態では、第1のルックアップテーブル222におけるVLCコードワードの第1のセット224はVLCコードワードの完全セットであり、それにより第1のルックアップテーブル222に与えられたあらゆる有効なコードワード204は、第1のルックアップテーブル222における単一のルックアップ動作を介して位置を特定されることが保証される。単一のルックアップ動作で任意のコードワード204の位置を特定するために、第1のルックアップテーブル222のあらゆるエントリはコードワード204と実質的に同時に比較され得る。100コードワードVLCスキームが使用される例示的な例では、第1のルックアップテーブル222においてルックアップ動作ごとに100回の同時比較が実行され、速いおよび確実な結果を生成することができるが、比較的大量の電力を使用することがある。
対照的に、第2のルックアップテーブル242におけるVLCコードワードの第2のセット244は、より少ない数のVLCコードワードを含むことができ、それにより第2のルックアップテーブル242において実行される各ルックアップ動作は、第1のルックアップテーブル222におけるルックアップ動作よりも小さい量の電力を使用する。パス論理246は、第2のルックアップテーブル242におけるルックアップ動作が成功し(すなわち、「ヒット」)、復号コードワード250を生じたか、または失敗した(すなわち、「ミス」)かを決定する。失敗した場合、パス論理246は、ミスを生じたコードワード204を、ヒットが保証される可能性がある第1のルックアップテーブル222に送る。
符号化ビデオ信号202を符号化するために使用されるVLCスキームの特定のコードワード204が、統計的に符号化ビデオ信号202中に含まれる可能性が他のコードワードよりも高い場合、VLCコードワードの第2のセット244は、統計的に最も総合効率を改善する可能性が高いコードワード204を含むように選択され得る。たとえば、VLCスキームの約10〜15個のコードワードが、統計的にルックアップ動作の約70〜80%に対応する可能性があると決定され得る。
VLCコードワードの第1のセット224が100個のコードワードを含み、VLCコードワードの第2のセット244が、コードワードルックアップの70パーセントに対応する10個のコードワードを含む例示的な実施形態では、第2のルックアップテーブル242におけるルックアップ動作のために電力量Pが消費される。これらのルックアップの70パーセントは成功するが、これらのルックアップの30パーセントは第1のルックアップテーブル222に送信されるミスとなる。第1のルックアップテーブル222は、10倍もの数のコードワードを記憶しており、ルックアップ動作当たり第2のルックアップテーブル242の10倍もの電力量(すなわち、10P)を消費し得る。したがって、第2のパス240を介して復号される各コードワードのために消費される平均電力は、Pavg=0.7P+0.3(P+10P)=4Pとして与えられ、第2のパス240を介して復号される各コードワードのルックアップ動作の平均数は、Nlookups=0.7+0.3*2=1.3として与えられる。これらの結果は、例示的な実施形態において、平均して、第2の復号パス240は、第1の復号パス220よりも60%少ない電力を使用しながら、第1の復号パス220よりも30%遅くコードワードを復号することを示す。そのような結果は、システム200の極めて簡略化され一般化された分析から生じ、説明のためにのみ復号パスの概略比較を生成し、他の特定の実装形態では、他の結果が得られる可能性があることを理解されよう。
図3を参照すると、復号システムを通るデータフローの第3の例示的な実施形態が示され、概して300で示される。特定の一実施形態では、システム300は、図1のシステム100または図2のシステム200の特定の実装形態とされることができる。システム300は、コードワードC1C2,...Cnのストリーム304を含む可変長符号化ビットストリーム302を受信する動的スイッチ310を含む。動的スイッチ310は、復号メトリック論理回路360から受信した復号メトリック366の値に基づいてコードワード304を第1のルックアップテーブル322または第2のルックアップテーブル342に与えるように構成される。復号メトリック論理回路360は、サイクルアキュムレータ回路370に応答し、また、位置アキュムレータ回路380に応答する。
第1のルックアップテーブル322は、可変長コーディング(VLC)スキームのコードワードの第1のセット324に対応する第1のデータを記憶する。第2のルックアップテーブル342は、VLCコードワードの第2のセット344に対応する第2のデータを記憶する。特定の一実施形態では、第2のルックアップテーブル342におけるルックアップ動作は、第1のルックアップテーブル322におけるルックアップ動作よりも少ない電力を消費する。第1のルックアップテーブル322は、第2のルックアップテーブル342において特定のコードワード346が発見されなかったとき、特定のコードワード346のルックアップ動作を実行するように構成される。特定の一実施形態では、VLCコードワードの第1のセット324は特定のVLCスキームのコードワードの完全セットであり、コードワードの第2のセット344はコードワードの不完全セットである。
第1のルックアップテーブル322および第2のルックアップテーブル342の各々は、代表的な復号コードワードC7 350などの復号コードワードを返すルックアップ動作をサポートするように適合される。一般に、可変長符号化ビットストリーム302は、12個の代表的なマクロブロックM1〜M12に分割されたビデオ画像390として示される複数のマクロブロックとしてビデオ信号を符号化することができる。特定の代表的なマクロブロックM7 392は、6つの代表的なブロックB0〜B5のデータを含むものとして示される。他の実施形態では、マクロブロックM7 392は、6つ以上のブロックのデータを含むことができる。各ブロックは、ビデオ画像390のデータに対応する係数データを含むことができる。たとえば、ピクセルデータを周波数領域中の周波数データに変換するために、離散コサイン変換、整数変換または他の方法を使用してビデオ画像は符号化され、ブロックB0〜B5は、量子化周波数変換値を示す係数データを含むことができる。特定の一実施形態では、代表的なブロックB0〜B3、B4およびB5は、それぞれルーマデータYならびにクロマデータCbおよびCrを含むことができる。
特定のコードワードは、ゼロ係数の数と非ゼロ係数値とを示すデータを符号化することができる。たとえば、部分的に復号された代表的なブロックB1 394は、一連の点線として示されるジグザグパターン396に従う復号係数を示し、各点線は、ゼロ係数の任意の数(すなわち、実行値)と非ゼロ係数(すなわち、レベル値)とを含むことができるコードワードを表す。第1のコードワードc1は、4つのゼロ係数と、値v1を有する非ゼロ係数とを表す。第2のコードワードc2は、単一のゼロ係数と、値v2を有する非ゼロ係数とを表す。第3のコードワードc3は、ゼロ係数がないことと、値v3を有する1つの非ゼロ係数とを表す。第4のコードワードc4は、ゼロ係数がないことと、値v4を有する1つの非ゼロ係数とを表す。第5のコードワードc5は、5つのゼロ係数と、値v5を有する1つの非ゼロ係数とを表す。第6のコードワードc6は、5つのゼロ係数と、値v6を有する1つの非ゼロ係数とを表す。現在の復号コードワード、代表的なコードワードC7 350は、2つのゼロ係数352と、値Vを有する1つの非ゼロ係数354とを表す。
位置アキュムレータ回路380は、可変長コーディングビットストリーム302中で符号化される信号の復号位置を示すように構成され得る。たとえば、位置アキュムレータ回路380は、現在マクロブロック内の現在の復号位置のジグザグロケーションを追跡し、現在マクロブロックの復号済み係数の数を示すカウンタ382、または現在マクロブロックの残りの係数の数を示しているカウンタ384、またはその両方を更新するように適合される。位置アキュムレータ回路380は、各復号コードワードに応答して復号位置を更新し、更新された値を復号メトリック論理回路360に与えることができる。
サイクルアキュムレータ370は、可変長コーディングビットストリーム302を復号するために使用された処理サイクルの数を示すように構成され得る。たとえば、サイクルアキュムレータ回路370は、復号プロセスの特定の部分の開始以降の使用済みクロックサイクルの数を示すカウンタ372、復号プロセスの特定の部分を完了するための残りのクロックサイクルの数を示すカウンタ374、またはその両方を更新するように適合される。サイクルアキュムレータ回路370は、各経過したクロックサイクル、各復号コードワード、またはその両方に応答してサイクル値を更新し、更新された値を復号メトリック論理回路360に与えることができる。
特定の一実施形態では、復号メトリック論理回路360は、概して、利用可能な時間量を、可変長符号化ビットストリーム302の第1の部分を復号するために使用されるクロックサイクルの数だけ低減することと、残りの係数カウントを第1の部分中の復号済み係数の数だけ低減することとによって、第1の部分を復号することに基づいて復号メトリック366を生成するように構成される。特に、復号メトリック論理回路360は、1つまたは複数のラッチ、フリップフロップ、他の記憶デバイス、またはそれらの任意の組合せを含む位置記憶回路362において、位置アキュムレータ回路380から受信した更新された復号位置データを記憶することができる。復号メトリック論理回路360はまた、1つまたは複数のラッチ、フリップフロップ、他の記憶デバイス、またはそれらの任意の組合せを含むサイクル記憶回路364において、サイクルアキュムレータ回路370から受信した更新されたサイクルデータを記憶することができる。復号メトリック論理回路360は、復号メトリック366を生成するために、記憶された位置データとサイクルデータとに対して、1つまたは複数の算術演算もしくは論理演算を実行することができる。
動作中、動的スイッチ310は、第1のコードワード(たとえば、C1)を含む可変長コーディングビットストリーム302の部分を受信し、第1のコードワードを第1の選択されたルックアップテーブル322または342に与えるように構成される。その後、動的スイッチ310は、第1のコードワードを復号することに関連する復号メトリック366の値に応答して、後続コードワード(たとえば、C2,C3,...Cn)を第2の選択されたルックアップテーブル322または342に与える。例示的な実施形態では、コードワード304はバレルシフタ(図示せず)において受信され、動的スイッチ310は、1つまたは複数のマルチプレクサ、クロスバー、あるいは他のスイッチング回路などを介してバレルシフタを第1のルックアップテーブル322または第2のルックアップテーブル342のいずれかに選択的に結合することによって、各コードワード304をルックアップテーブル322または324のうちの一方に送信するか、または与えるように構成される。
可変長コーディングビットストリーム302は、代表的なマクロブロックM1〜M12など、複数のマクロブロックを有する符号化高精細度ビデオ信号を含むことができる。復号メトリック論理回路360は、1つのマクロブロックの復号が完了し、次のマクロブロックの復号が開始している場合などに、各マクロブロックにおいて位置アキュムレータ回路380とサイクルアキュムレータ回路370とを初期化するように構成され得る。
図示されるように、各マクロブロックは6つのブロックを含み、各ブロックは8×8=64個の係数値を含む。ブロックのいずれの係数値もゼロ値ではない場合、ブロックは64個の別個のコードワードとして符号化され得る。対照的に、ブロックの最後の(すなわち、位置(行,列)=(7,7)における)係数以外すべてがゼロ値を有する場合、ブロックは単一のコードワードとして符号化され得る。
システム300は、各マクロブロックの復号が、予定時間(time budget)または予定サイクル(cycle budget)として働くことができる予め定められた時間期間または予め定められた数のクロックサイクル内で実行されることを保証することによって、高精細度ディスプレイレートをサポートするように構成され得る。たとえば、各マクロブロックは6つのブロックを含み、各ブロックは64個の係数を含み、それらの係数は最高64個のコードワードとして符号化される。したがって、特定のマクロブロックを復号することにより、マクロブロックのための予定時間内で最高約384個のコードワードを復号することができる。
マクロブロックM6の復号が完了し、マクロブロックM7の復号が開始するときなど、マクロブロックの復号が開始するとき、位置アキュムレータ回路380は、復号済み係数の数を示すカウンタ382における復号されたゼロ係数を示すために、または残りの係数の数を示すカウンタ384における復号される残りの384個の係数を示すために、またはその両方を示すために初期化され得る。同様に、サイクルアキュムレータ回路370は、使用済みクロックサイクルの数を示すカウンタ372における使用された0サイクル、残りのクロックサイクルの数を示すカウンタ374におけるサイクルバジェット、またはその両方を示すために初期化され得る。
例示的な例として、128MHzで動作するモバイルデバイスプロセッサにおいて復号される、30フレーム毎秒で1920×1080解像度の高精細度ビデオ信号の場合、各マクロブロックは、約522クロックサイクルの予定処理(processing budget)を有することができる。ヘッダ情報を処理することなど、係数復号以外に追加の処理が必要とされることがあるので、各マクロブロックを復号するための予定サイクルは、384サイクルと低いことがある。図示された実施形態において各マクロブロックは384個以下のコードワードを使用して符号化され、いずれのコードワードも第1のルックアップテーブル322における単一のルックアップ動作によって位置を特定され得るので、各マクロブロックは、少なくとも384サイクルの予定(budget)内で確実に復号され得る。
復号メトリック論理回路360は、位置記憶回路362とサイクル記憶回路364とにおいて記憶された値を更新し、復号メトリック366の値を生成し、復号メトリック366の値を動的スイッチ310に与える。復号メトリック366の値は、復号されるべき符号化信号の残りの量と復号を実行するために利用可能な時間量との間の関係を示すことができる。たとえば、復号メトリックは、特定のマクロブロックに対する予定のうちの残りのサイクル数マイナス特定のマクロブロック中の復号されるべき残りの係数の数を示すことができる。そのような一実施形態では、復号メトリックのゼロ値は、最も遅い(すなわち、あらゆる残りの係数について1つのコードワードの)場合、マクロブロックの復号が予定サイクル内で完了することを保証するために、第1のルックアップテーブル322が選択されるべきであることを動的スイッチに示すことができる。ただし、復号メトリック366の任意の正値は、少なくとも1つの追加のサイクルが利用可能であることを示すので、動的スイッチ310は、総平均電力消費量を低減するために第2のルックアップテーブル342を選択することができ、第2のルックアップテーブル342においてミスが生じた場合、予定サイクルの残りの間に第1のルックアップテーブル322において第2のルックアップ動作が実行され得る。
各コードワードが復号されるにつれて、復号位置は、コードワードによって符号化された係数の数に基づいて更新され、使用済みまたは残りのクロックサイクルのカウントは、コードワードを復号するために使用されたサイクル数を反映するために更新され、復号メトリック366の値は、次のコードワードのために更新され得る。このようにして、システム300は、高精細度ディスプレイをサポートするためのデータ出力レートを保証しながら電力消費量を実質的に低減するために、より低電力の、より遅い復号と、より高電力の、より速い復号との間で動的に切り替わることができる。
復号メトリック366の与えられた例は復号位置とクロックサイクルとの間の特定の関係を示すが、他の関係を使用することもできる。たとえば、復号メトリック366は、使用済みサイクルと復号済み係数(または復号位置)との間の差、残りのサイクルと残りの係数との間の差、使用済みサイクルに対する復号済み係数の比、残りのサイクルに対する残りの係数の比、または移動平均、全統計結果などの他の関係、あるいはそれらの任意の組合せを示すことができる。さらに、与えられた例はマクロブロック粒度(granularity)での復号、すなわちマクロブロックごとにサイクルカウントおよび復号カウントをリセットすることを示すが、ブロック単位、またはブロックのグループ、マクロブロックのグループ、あるいは可変長符号化ビットストリーム302の任意の他の部分など、静的または動的に決定され得る、他の粒度を使用することができる。
図4を参照すると、復号パイプラインの特定の例示的な実施形態が示され、概して400で示される。復号パイプライン400は、ビットストリームパーサステージ401と、内部メモリ403と、ピクセルプロセッサステージ405とを含む。特定の一実施形態では、復号パイプライン400はマクロブロック復号パイプラインであり、ビットストリームパーサステージ401は、符号化マクロブロック402を受信し、第1のパイプラインサイクル中にマクロブロック係数データ456を内部メモリ403に出力するように適合され、ピクセルプロセッサステージ405は、内部メモリ403からマクロブロック係数データ456を読み取り、次のパイプラインサイクル中に再構成されたマクロブロック492を生成するためにマクロブロック係数データ456を使用するように適合される。特定の一実施形態では、符号化マクロブロック402は符号化ビデオ信号のコードワードを含み、復号パイプライン400はビデオ復号器システムの一部として実装される。
ビットストリームパーサステージ401は、符号化マクロブロック402を受信するように構成され、復号メトリック論理回路460によって与えられる復号メトリック466の値に応答する動的スイッチ410を含む。動的スイッチ410は、第1のルックアップテーブル422と、第2のルックアップテーブル442と、第3のルックアップテーブル462とを含む複数のルックアップテーブルのうちの選択された1つにおいて復号するために符号化マクロブロック402の部分を選択的に与える。第1のルックアップテーブル422は、第2のルックアップテーブル442においてミスが生じたとき、ルックアップ動作を実行するように構成される。同様に、第2のルックアップテーブル442は、第3のルックアップテーブル462においてミスが生じたとき、ルックアップ動作を実行するように構成される。ルックアップテーブル422、442、および462は、内部メモリ403において記憶される係数データ450を生成し、係数データ450は、復号フィードバックプロセスにおいて復号メトリック論理回路460によって使用される。概して、第3のルックアップテーブル462を除いて、ビットストリームパーサステージ401は、実質的に図1〜図3のいずれかに関して説明したように機能することができる。
第1のルックアップテーブル422は、単一のルックアップ動作によって可変長コーディング(VLC)スキームの任意のコードワードの復号を行うために、VLCスキームのコードワードの完全セットを含むことができる。第2のルックアップテーブル442は、平均して第1のルックアップテーブル422よりも低電力の復号を行うために統計的に遭遇する可能性が最も高いコードワードのより小さいセットを含むことができるが、第1のルックアップテーブル422における別のルックアップ動作によって解決される、第2のルックアップテーブルにおけるルックアップ動作から生じるミスによって、場合によっては平均復号時間がより長くなる。
第3のルックアップテーブル462は、平均して第2のルックアップテーブル442よりも一層低電力の復号を行うために統計的に遭遇する可能性が最も高い、第2のルックアップテーブル442のコードワードの一層より小さいセットを含むことができる。第3のルックアップテーブル462において生じるミスは、第2のルックアップテーブル442において後続のルックアップ動作や、場合によっては第1のルックアップテーブル422において第3のルックアップ動作をもたらす。別の実施形態では、特定のコードワードが第3のルックアップテーブル462において発見されないとき、その特定のコードワードは、第1のルックアップテーブル422または第2のルックアップテーブル442に送信される。3つのルックアップテーブル422、442、および462を用いて示したが、他の実施形態では、ビットストリームパーサステージ401は、2つのルックアップテーブルのみ、または4個以上のルックアップテーブルを含むことができる。
図5を参照すると、復号方法の特定の例示的な実施形態が示され、概して500で示される。特定の実施形態では、方法500は、図1〜図4に示されるシステムのいずれかにおいて実行され得る。
502において、ビデオ復号器システムにおいて符号化ビデオ信号が受信される。たとえば、符号化ビデオ信号は、例示的な、非限定的な例として、Moving Picture Experts Group(MPEG)符号化規格MPEG−1、MPEG−2、およびMPEG−4、またはSociety of Motion Picture and Television Engineers(SMPTE)521Mのビデオコーデック規格(「VC−1」)などの可変長コーディング(VLC)スキームのコードワードのストリームを含む。
504に進むと、ビデオ復号器システムの第1の復号パスまたは第2の復号パスにおいて復号される符号化ビデオ信号の第1の部分が送信される。第2の復号パスは、第1の復号パスよりも少ない平均電力を使用するように構成される。特定の一実施形態では、第2の復号パスは、第1の復号パスよりも遅い平均レートで復号するようにさらに構成される。
506に進むと、符号化ビデオ信号の第1の部分を復号することに関連する復号メトリックが決定される。たとえば、復号メトリックは、復号されるべき残りのデータの量と、復号されるべき残りのデータを復号するために利用可能な時間量またはクロックサイクルの数との間の関係を示す。
508に進むと、第1の復号パスまたは第2の復号パスにおいて復号される符号化ビデオ信号の後続部分が選択的に送信され、その選択は復号メトリックに応答する。たとえば、特定の一実施形態では、より遅い平均レートで後続部分を復号するために十分な時間が利用可能であることを復号メトリックが示すときに、後続部分は第2の復号パスに送信され、そうでないとき後続部分は第1の復号パスに送信される。特定の一実施形態では、符号化ビデオ信号の第1の部分は可変長コーディングスキームの少なくとも第1のコードワードを含み、後続部分は可変長コーディングスキームの少なくとも第2のコードワードを含む。
510に移動して、第1の復号パスを選択するか、または第2の復号パスを選択するかの決定が行われる。510において、後続部分を復号するために第1の復号パスが選択されるとき、512において、可変長符号化スキームのコードワードの第1のセットを含む第1のルックアップテーブルに第2のコードワードが送信される。たとえば、コードワードの第1のセットは、テーブルルックアップミスなしに単一のルックアップ動作であらゆるコードワードの位置が特定されることを保証するVLCスキームのコードワードの完全セットを含む。
510において、後続部分を復号するために第2の復号パスが選択されるとき、514において、可変長符号化スキームのコードワードの第2のセットを含む第2のルックアップテーブルに第2のコードワードが送信される。第2のルックアップテーブルは、第1のルックアップテーブルよりも少ないコードワードを含む。たとえば、第2のルックアップテーブルは、統計的にVLCスキームを使用して符号化された任意の符号化ビットストリーム中に生じる可能性が最も高いVLCスキームのコードワードのセットを含む。第2のルックアップテーブルはより少ないテーブルエントリ(table entries)を含むので、第2のルックアップテーブルにおけるルックアップ動作は、第1のルックアップテーブルにおけるルックアップ動作よりも消費する電力が少ないが、テーブルルックアップミスを生じることもあり得る。516において、第2のコードワードが第2のルックアップテーブルにおいて復号されたかどうかの決定が行われる。第2のコードワードが第2のルックアップテーブルにおいて復号されなかったとき、すなわちテーブルルックアップミスが生じたとき、512において、第2のコードワードが第1のルックアップテーブルに送信される。
特定の一実施形態では、符号化ビデオ信号の第1の部分と後続部分とが、符号化ビデオ信号の特定のマクロブロックに対応し、復号メトリックは、復号ビデオ信号の高精細度ディスプレイをサポートするデータ出力レートを維持するように特定のマクロブロックの残りのピクセルを復号するために利用可能な時間量を示す。特定の一実施形態では、方法は518に続き、518において、マクロブロック復号パイプラインの第1のステージにおいて生成された特定のマクロブロックに対応する復号データがマクロブロック復号パイプラインの内部メモリに記憶される。520において、内部メモリから復号データが読み取られ、マクロブロック復号パイプラインの第2のステージにおいて特定のマクロブロックが再構成され得る。第1のステージは、予め定められた時間量内で特定のマクロブロックに対応する復号データを生成し、第2のステージは、同時に、予め定められた時間量内で先行マクロブロックを再構成する。
522に移動して、復号ビデオ信号が生成される。復号ビデオ信号は、符号化ビデオ信号の第1の部分と(任意の後続部分を含む)第2の部分とを復号することに基づき、VLC符号化スキームの1つまたは複数のマクロブロックを含み得る。
図示されるように、符号化ビデオ信号を復号することは、復号速度を高めるための第1の復号パス、または処理リソースがより遅い速度で復号を可能にするのに十分であるときに電力を節約するための第2の復号パスを動的に選択することを含むことができる。先行復号パフォーマンスに基づく復号メトリックを使用するそのような動的選択は、各パイプラインステージが割り当てられた予定リソース(resource budget)を超えないことを保証しながら復号プロセスがパイプライン化されるとき、電力消費量の低減を可能にする。たとえば、各パイプラインステージは、高精細度ビデオ信号のマクロブロックを処理するために割り当てられた予定の処理サイクルを有し、割り当てられた予定の処理サイクルの順守を保証しながら電力を低減した復号を実行することができる。
図6を参照すると、ポータブル電子デバイスの特定の例示的な実施形態が示され、概して600で示される。ポータブル電子デバイスは、復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664を含む。ポータブル電子デバイス600は、メモリ632に結合される、デジタル信号プロセッサ(DSP)などのプロセッサ610を含む。プロセッサ610はまた、復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664に結合される。例示的な例では、復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664は、図1〜図4に示されるシステムのいずれかを含むか、または図5の方法に従って動作するか、またはそれらの任意の組合せである。ポータブル電子デバイス600は、電話、携帯情報端末(PDA)、ポータブルゲーム機、ノートブックコンピュータまたはタブレットコンピュータ、あるいは任意の他のタイプのポータブル電子デバイスであり得る。
図6は、プロセッサ610とディスプレイデバイス628とに結合されるディスプレイコントローラ626を示す。オーディオ符号器/復号器(コーデック)634はまた、プロセッサ610に結合されることができる。スピーカ636およびマイクロフォン638はコーデック634に結合されることができる。
図6はまた、ワイヤレスコントローラ640がプロセッサ610とワイヤレスアンテナ642とに結合されることができることを示す。ワイヤレスコントローラ640は、アンテナ642を介して符号化高精細度ビデオ信号668を受信するように構成され、メモリ632は、符号化高精細度ビデオ信号668を記憶するように構成され得る。復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664は、符号化高精細度ビデオ信号668を復号し、ディスプレイデバイス628において表示するために出力ビデオ信号をディスプレイコントローラ626に与えるように適合され得る。
復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664は、ディスプレイレート要件を満たす低電力演算を動的に選択する方法で符号化高精細度ビデオ信号668を復号することができる。たとえば、最小データレートディスプレイ要件を有する可変長コードワード符号化スキームを使用して符号化高精細度ビデオ信号668を符号化する場合、ビデオ復号器システム664は、最小データレートディスプレイ要件の順守が保証されるまで、より高い平均電力消費でより速い復号演算を選択し、その後、より低い平均電力消費でより遅い復号演算を選択することができる。
特定の一実施形態では、復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664は、符号化高精細度ビデオ信号668を復号するための第1の手段と、第1の手段よりも遅い平均速度で、第1の手段よりも少ない平均電力を使用して符号化高精細度ビデオ信号668を復号するための第2の手段とを含む。復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664はまた、高精細度ビデオ信号668のマクロブロックの復号されていない係数の数に応答して、さらに、マクロブロックの復号されていない係数を復号するために利用可能な残りの処理サイクルの数に応答して、第1の手段または第2の手段を動的に選択する選択回路を含むことができる。一例として、図2に示されるように、第1の手段は、コードワードの第1のセット224を記憶している第1のルックアップテーブル222をもつ第1の復号パス220を含み、第2の手段は、コードワードの第2のセット244を記憶している第2のルックアップテーブル242をもつ第2の復号パス240を含むことができる。別の例として、図3に示されるように、第1の手段は、コードワードの第1のセット324を記憶している第1のルックアップテーブル322を含み、第2の手段は、コードワードの第2のセット344を記憶している第2のルックアップテーブル342を含むことができる。
さらに別の例として、図4の復号パイプライン400などのように、高精細度信号の特定のマクロブロックの係数を決定する第1のパイプラインステージと、第1のパイプラインステージにおいて決定される特定のマクロブロックの係数を受信し、特定のマクロブロックの係数を使用して高精細度ビデオ信号を再構成する第2のパイプラインステージとを含む復号パイプライン中に、第1の手段と第2の手段とが組み込まれ得る。第1の手段は、第1のルックアップテーブル422、第2のルックアップテーブル442、またはその両方に対応し、第2の手段は、第3のルックアップテーブル462、第2のルックアップテーブル442、またはその両方に対応することができる。代替的に、復号するための第1および第2の手段は、1つまたは複数のメモリデバイス、レジスタ、キャッシュ、ラッチ、フリップフロップ、状態機械、プログラマブルアレイ、あるいは他の回路または回路デバイスなど、データ記憶および検索を可能にする他の構造、ハードウェア、ファームウェア、あるいはそれらの任意の組合せを含むことができる。
特定の一実施形態では、プロセッサ610、ディスプレイコントローラ626、メモリ632、コーデック634、ワイヤレスコントローラ640、および復号メトリックに基づいて復号パスを選択する動的スイッチをもつビデオ復号器システム664は、システムインパッケージまたはシステムオンチップデバイス622中に含まれる。特定の一実施形態では、入力デバイス630および電源644はシステムオンチップデバイス622に結合される。その上、特定の一実施形態では、図6に示されるように、ディスプレイデバイス628、入力デバイス630、スピーカ636、マイクロフォン638、ワイヤレスアンテナ642、および電源644は、システムオンチップデバイス622の外部にある。ただし、ディスプレイデバイス628、入力デバイス630、スピーカ636、マイクロフォン638、ワイヤレスアンテナ642、および電源644の各々は、インタフェースまたはコントローラなどのシステムオンチップデバイス622の構成要素に結合されることができる。
当業者には、さらに、ここで開示された実施形態に関連して記述された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを言うまでもない。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップは、上記では概して、それらの機能に関して記述された。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、記述された機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
ここで開示された実施形態に関連して記述された方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施されることができる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD−ROM)、または当技術で知られている記憶媒体の他の任意の形式に存在し得る。典型的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、および記憶媒体へ情報を書き込めるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに不可欠であり得る。プロセッサおよび記憶媒体はASIC(application-specific integrated circuit)中に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末中に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末中に個別構成要素として存在し得る。
開示された実施形態の前述は、開示された実施形態を当業者が作成または使用できるように提供される。これらの実施形態の様々な変更は当業者には容易に明白となり、また、ここで定義される原理は、本開示の範囲から逸脱せずに他の実施形態に適用され得る。したがって、本開示は、ここで示された実施形態に限定されることを意図するものではなく、次の特許請求の範囲によって定義される原理および新規の特徴と一致する可能な最も広い範囲まで許容されることを意図する。
開示された実施形態の前述は、開示された実施形態を当業者が作成または使用できるように提供される。これらの実施形態の様々な変更は当業者には容易に明白となり、また、ここで定義される原理は、本開示の範囲から逸脱せずに他の実施形態に適用され得る。したがって、本開示は、ここで示された実施形態に限定されることを意図するものではなく、次の特許請求の範囲によって定義される原理および新規の特徴と一致する可能な最も広い範囲まで許容されることを意図する。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(1) 符号化ビデオ信号を受信し、復号ビデオ信号を出力するように構成されるビデオ復号器システムを備えるシステムであって、
前記ビデオ復号器システムは、
第1の復号パスと、
前記第1の復号パスよりも遅い平均レートで復号するように構成される第2の復号パスと、
前記符号化ビデオ信号の第1の部分を前記第1の復号パスまたは前記第2の復号パスに与えるように構成される動的スイッチと、を含み、
前記動的スイッチは、さらに、前記符号化ビデオ信号の前記第1の部分の復号処理に関連する復号メトリックの値に応答して、前記符号化ビデオ信号の後続部分を前記第1の復号パスまたは前記第2の復号パスに与えるように構成される、
システム。
(2) 前記第2の復号パスは、前記第1の復号パスよりも少ない平均電力を使用するように構成される、上記(1)のシステム。
(3) 前記符号化ビデオ信号は、周波数変換されたピクセルを表す係数を含み、前記復号メトリックは、前記符号化ビデオ信号の残りの係数を復号するために利用可能な時間量に基づいて決定される、上記(1)のシステム。
(4) 前記利用可能な時間量を、前記第1の部分を復号するために使用されるクロックサイクルの数だけ低減することと、残りの係数カウントを前記第1の部分の係数の数だけ低減することとによって、前記第1の部分を復号することに基づいて、前記復号メトリックを生成するように構成される復号メトリック論理をさらに備える、上記(3)のシステム。
(5) アンテナを介して前記符号化ビデオ信号を受信するように構成されるワイヤレスコントローラと、
前記符号化ビデオ信号を記憶するためのメモリと、
前記ビデオ復号器システムによって出力された前記復号ビデオ信号をディスプレイデバイスに与えるように構成されるディスプレイコントローラと、
をさらに備える、上記(1)のシステム。
(6) 前記第1の部分および前記第2の部分は可変長コーディングスキームのコードワードに対応し、
前記復号メトリックは、各コードワードが復号されるにつれて更新され、
前記動的スイッチは、前のコードワードを復号した後に前記復号メトリックの値に応答して特定のコードワードを復号するために前記第1の復号パスまたは前記第2の復号パスを選択するように構成される、上記(1)のシステム。
(7) 前記符号化ビデオ信号は高精細度ビデオ信号のマクロブロックを含み、
前記動的スイッチは、復号ビデオ信号の高精細度ディスプレイをサポートするためのデータ出力レートを維持しながら前記遅い平均レートで復号するために十分な処理サイクルが利用可能であるときに、特定のマクロブロックを復号している間に前記第1の復号パスから前記第2の復号パスに動的に切り替わるように構成される、上記(6)のシステム。
(8) 前記第1の復号パスは、前記可変長コーディングスキームの前記コードワードの完全セットに対応する第1のデータを記憶する第1のルックアップテーブルを含み、
前記第2の復号パスは、前記第1のルックアップテーブルを含み、またコードワードの不完全セットに対応する第2のデータを記憶する第2のルックアップテーブルを含み、前記コードワードの不完全セットは、統計的に受信される可能性があるコードワードを含み、
前記第2の復号パスは、前記第1のルックアップテーブルにアクセスする前に前記第2のルックアップテーブルにアクセスするように構成される、上記(7)のシステム。
(9) 前記ビデオ復号器システムは、
前記動的スイッチを含み、前記符号化ビデオ信号の可変長コーディングスキームのコードワードに対応する係数データを出力するように構成されるビットストリームパーサと、
高精細度ビデオ信号の特定のマクロブロックに対応する前記係数データを記憶するように構成される内部メモリと、
前記係数データを使用して前記復号ビデオ信号の前記特定のマクロブロックを再構成するために前記内部メモリにアクセスするように構成されるピクセルプロセッサと、
をさらに備え、前記ビットストリームパーサと前記ピクセルプロセッサとはマクロブロック復号器パイプラインの別個のステージとして実装される、
上記(1)のシステム。
(10) ビデオ復号器システムにおいて符号化ビデオ信号を受信することと、
前記符号化ビデオ信号の第1の部分を、前記ビデオ復号器システムの第1の復号パスまたは第2の復号パスに送信することと、ここで、前記第2の復号パスは、前記第1の復号パスよりも少ない平均電力を使用するように構成される、
前記符号化ビデオ信号の前記第1の部分を復号することに関連する復号メトリックを決定することと、
前記復号メトリックに応答して、前記符号化ビデオ信号の後続部分を前記第1の復号パスまたは前記第2の復号パスに選択的に送信することと、
前記第1の部分および前記後続部分を復号することに基づいて復号ビデオ信号を生成することと、
を含む方法。
(11) 前記第2の復号パスは、さらに、前記第1の復号パスよりも遅い平均レートで復号するように構成される、上記(10)の方法。
(12) 前記復号メトリックが、より遅い平均レートで前記後続部分を復号するために十分な時間が利用可能であることを示すとき、前記後続部分は前記第2の復号パスに送信される、上記(10)の方法。
(13) 前記第1の部分は、可変長符号化スキームの少なくとも第1のコードワードを含み、前記後続部分は、可変長コーディングスキームの少なくとも第2のコードワードを含む、上記(10)の方法。
(14) 前記後続部分を復号するために前記第1の復号パスが選択されるとき、前記可変長符号化スキームのコードワードの第1のセットを含む第1のルックアップテーブルに前記第2のコードワードを送信することと、
前記後続部分を復号するために前記第2の復号パスが選択されるとき、前記可変長符号化スキームの前記コードワードの第2のセットを含む第2のルックアップテーブルに前記第2のコードワードを送信することと、
をさらに含み、前記第2のルックアップテーブルは前記第1のルックアップテーブルよりも少ないコードワードを含む、
上記(13)の方法。
(15) 前記第1の部分および前記後続部分は前記符号化ビデオ信号の特定のマクロブロックに対応し、
前記復号メトリックは、前記復号ビデオ信号の高精細度ディスプレイをサポートするためのデータ出力レートを維持するように前記特定のマクロブロックの残りのピクセルを復号するために利用可能な時間量を示す、上記(10)の方法。
(16) マクロブロック復号パイプラインの第1のステージにおいて生成される特定のマクロブロックに対応する復号データを前記マクロブロック復号パイプラインの内部メモリに記憶することと、
前記内部メモリから前記復号データを読み取り、前記マクロブロック復号パイプラインの第2のステージにおいて前記特定のマクロブロックを再構成することと、
をさらに含み、前記第1のステージは、予め定められた時間量内で前記特定のマクロブロックに対応する前記復号データを生成し、前記第2のステージは、同時に前記予め定められた時間量内で先行マクロブロックを再構成する、
上記(15)の方法。
(17) 可変長コーディングスキームのコードワードの完全セットに対応する第1のデータを記憶する第1のルックアップテーブルと、前記コードワードの第1の不完全セットに対応する第2のデータを記憶する第2のルックアップテーブルと、を含む複数のルックアップテーブルと、
第1のコードワードを含む可変長コーディングビットストリームの部分を受信し、前記第1のコードワードを復号することに関連する復号メトリックの値に応答して、前記第1のコードワードを前記複数のルックアップテーブルのうちの第1の選択されたルックアップテーブルに送信し、後続コードワードを前記複数のルックアップテーブルのうちの第2の選択されたルックアップテーブルに送信するように構成されるスイッチと、
を備えるシステム。
(18) 前記第2のルックアップテーブルにおけるルックアップ動作は、前記第1のルックアップテーブルにおけるルックアップ動作よりも少ない電力を消費し、前記第1のルックアップテーブルは、前記第2のルックアップテーブルにおいて特定のコードワードが発見されないとき、前記特定のコードワードのルックアップ動作を実行するように構成される、上記(17)のシステム。
(19) 前記可変長コーディングビットストリーム中で符号化される信号の復号位置を示すように構成される位置アキュムレータと、
前記可変長コーディングビットストリームを復号するために使用された処理サイクルの数を示すように構成されるサイクルアキュムレータと、
をさらに備える、上記(18)のシステム。
(20) 前記復号位置と前記処理サイクルの数とを使用して前記復号メトリックの前記値を決定するように構成される復号メトリック論理をさらに備える、上記(19)のシステム。
(21) 前記可変長コーディングビットストリームは、複数のマクロブロックを有する符号化高精細度ビデオ信号を含み、前記復号メトリック論理は、各マクロブロックにおいて前記位置アキュムレータと前記サイクルアキュムレータとを初期化するように構成される、上記(20)のシステム。
(22) 前記複数のルックアップテーブルは、前記コードワードの第2の不完全セットに対応する第3のデータを記憶する第3のルックアップテーブルをさらに含み、前記選択されたルックアップテーブルが前記第3のルックアップテーブルであり、前記特定のコードワードが前記第3のルックアップテーブルに記憶されていないとき、前記特定のコードワードは前記第1のルックアップテーブルまたは前記第2のルックアップテーブルに送信される、上記(21)のシステム。
(23) アンテナを介して符号化高精細度ビデオ信号を受信するように構成されるワイヤレスコントローラと、
前記符号化高精細度ビデオ信号を復号する第1の手段と、
前記復号する第1の手段よりも少ない平均電力を使用して、前記復号する第1の手段よりも遅い平均速度で、前記符号化高精細度ビデオ信号を復号する第2の手段と、
前記符号化高精細度ビデオ信号のマクロブロックの復号されていない係数の数に応答して、さらに、前記マクロブロックの前記復号されていない係数を復号するために利用可能な残りの処理サイクルの数に応答して、前記復号する第1の手段または前記復号する第2の手段を動的に選択する選択回路と、
を備え、前記選択回路は、前記マクロブロックの少なくとも1つの先行部分の復号処理に基づいて前記マクロブロックの特定の部分を復号するために、前記復号する第1の手段または前記復号する第2の手段を選択するように構成される、
ポータブル電子デバイス。
(24) 前記復号する第1の手段は、コードワードの第1のセットを記憶する第1のルックアップテーブルを備え、前記復号する第2の手段は、コードワードの第2のセットを記憶する第2のルックアップテーブルを備え、前記第2のセットは、前記第1のセットよりも少ないコードワードを含む、上記(23)のポータブル電子デバイス。
(25) 前記復号する第1の手段と前記復号する第2の手段とは復号パイプライン中に実装され、前記復号パイプラインは、
前記符号化高精細度ビデオ信号の特定のマクロブロックの係数を決定する第1のパイプラインステージと、
前記第1のパイプラインステージにおいて決定された前記特定のマクロブロックの前記係数を受信し、前記特定のマクロブロックの前記係数を使用して前記高精細度ビデオ信号を再構成する第2のパイプラインステージと、
を備える、上記(24)のポータブル電子デバイス。

Claims (25)

  1. 符号化ビデオ信号を受信し、復号ビデオ信号を出力するように構成されるビデオ復号器システムを備えるシステムであって、
    前記ビデオ復号器システムは、
    第1の復号パスと、
    前記第1の復号パスよりも遅い平均レートで復号するように構成される第2の復号パスと、
    前記符号化ビデオ信号の第1の部分を前記第1の復号パスまたは前記第2の復号パスに与えるように構成される動的スイッチと、を含み、
    前記動的スイッチは、さらに、前記符号化ビデオ信号の前記第1の部分の復号処理に関連する復号メトリックの値に応答して、前記符号化ビデオ信号の後続部分を前記第1の復号パスまたは前記第2の復号パスに与えるように構成される、
    システム。
  2. 前記第2の復号パスは、前記第1の復号パスよりも少ない平均電力を使用するように構成される、請求項1のシステム。
  3. 前記符号化ビデオ信号は、周波数変換されたピクセルを表す係数を含み、前記復号メトリックは、前記符号化ビデオ信号の残りの係数を復号するために利用可能な時間量に基づいて決定される、請求項1のシステム。
  4. 前記利用可能な時間量を、前記第1の部分を復号するために使用されるクロックサイクルの数だけ低減することと、残りの係数カウントを前記第1の部分の係数の数だけ低減することとによって、前記第1の部分を復号することに基づいて、前記復号メトリックを生成するように構成される復号メトリック論理をさらに備える、請求項3のシステム。
  5. アンテナを介して前記符号化ビデオ信号を受信するように構成されるワイヤレスコントローラと、
    前記符号化ビデオ信号を記憶するためのメモリと、
    前記ビデオ復号器システムによって出力された前記復号ビデオ信号をディスプレイデバイスに与えるように構成されるディスプレイコントローラと、
    をさらに備える、請求項1のシステム。
  6. 前記第1の部分および前記第2の部分は可変長コーディングスキームのコードワードに対応し、
    前記復号メトリックは、各コードワードが復号されるにつれて更新され、
    前記動的スイッチは、前のコードワードを復号した後に前記復号メトリックの値に応答して特定のコードワードを復号するために前記第1の復号パスまたは前記第2の復号パスを選択するように構成される、請求項1のシステム。
  7. 前記符号化ビデオ信号は高精細度ビデオ信号のマクロブロックを含み、
    前記動的スイッチは、復号ビデオ信号の高精細度ディスプレイをサポートするためのデータ出力レートを維持しながら前記遅い平均レートで復号するために十分な処理サイクルが利用可能であるときに、特定のマクロブロックを復号している間に前記第1の復号パスから前記第2の復号パスに動的に切り替わるように構成される、請求項6のシステム。
  8. 前記第1の復号パスは、前記可変長コーディングスキームの前記コードワードの完全セットに対応する第1のデータを記憶する第1のルックアップテーブルを含み、
    前記第2の復号パスは、前記第1のルックアップテーブルを含み、またコードワードの不完全セットに対応する第2のデータを記憶する第2のルックアップテーブルを含み、前記コードワードの不完全セットは、統計的に受信される可能性があるコードワードを含み、
    前記第2の復号パスは、前記第1のルックアップテーブルにアクセスする前に前記第2のルックアップテーブルにアクセスするように構成される、請求項7のシステム。
  9. 前記ビデオ復号器システムは、
    前記動的スイッチを含み、前記符号化ビデオ信号の可変長コーディングスキームのコードワードに対応する係数データを出力するように構成されるビットストリームパーサと、
    高精細度ビデオ信号の特定のマクロブロックに対応する前記係数データを記憶するように構成される内部メモリと、
    前記係数データを使用して前記復号ビデオ信号の前記特定のマクロブロックを再構成するために前記内部メモリにアクセスするように構成されるピクセルプロセッサと、
    をさらに備え、前記ビットストリームパーサと前記ピクセルプロセッサとはマクロブロック復号器パイプラインの別個のステージとして実装される、
    請求項1のシステム。
  10. ビデオ復号器システムにおいて符号化ビデオ信号を受信することと、
    前記符号化ビデオ信号の第1の部分を、前記ビデオ復号器システムの第1の復号パスまたは第2の復号パスに送信することと、ここで、前記第2の復号パスは、前記第1の復号パスよりも少ない平均電力を使用するように構成される、
    前記符号化ビデオ信号の前記第1の部分を復号することに関連する復号メトリックを決定することと、
    前記復号メトリックに応答して、前記符号化ビデオ信号の後続部分を前記第1の復号パスまたは前記第2の復号パスに選択的に送信することと、
    前記第1の部分および前記後続部分を復号することに基づいて復号ビデオ信号を生成することと、
    を含む方法。
  11. 前記第2の復号パスは、さらに、前記第1の復号パスよりも遅い平均レートで復号するように構成される、請求項10の方法。
  12. 前記復号メトリックが、より遅い平均レートで前記後続部分を復号するために十分な時間が利用可能であることを示すとき、前記後続部分は前記第2の復号パスに送信される、請求項10の方法。
  13. 前記第1の部分は、可変長符号化スキームの少なくとも第1のコードワードを含み、前記後続部分は、可変長コーディングスキームの少なくとも第2のコードワードを含む、請求項10の方法。
  14. 前記後続部分を復号するために前記第1の復号パスが選択されるとき、前記可変長符号化スキームのコードワードの第1のセットを含む第1のルックアップテーブルに前記第2のコードワードを送信することと、
    前記後続部分を復号するために前記第2の復号パスが選択されるとき、前記可変長符号化スキームの前記コードワードの第2のセットを含む第2のルックアップテーブルに前記第2のコードワードを送信することと、
    をさらに含み、前記第2のルックアップテーブルは前記第1のルックアップテーブルよりも少ないコードワードを含む、
    請求項13の方法。
  15. 前記第1の部分および前記後続部分は前記符号化ビデオ信号の特定のマクロブロックに対応し、
    前記復号メトリックは、前記復号ビデオ信号の高精細度ディスプレイをサポートするためのデータ出力レートを維持するように前記特定のマクロブロックの残りのピクセルを復号するために利用可能な時間量を示す、請求項10の方法。
  16. マクロブロック復号パイプラインの第1のステージにおいて生成される特定のマクロブロックに対応する復号データを前記マクロブロック復号パイプラインの内部メモリに記憶することと、
    前記内部メモリから前記復号データを読み取り、前記マクロブロック復号パイプラインの第2のステージにおいて前記特定のマクロブロックを再構成することと、
    をさらに含み、前記第1のステージは、予め定められた時間量内で前記特定のマクロブロックに対応する前記復号データを生成し、前記第2のステージは、同時に前記予め定められた時間量内で先行マクロブロックを再構成する、
    請求項15の方法。
  17. 可変長コーディングスキームのコードワードの完全セットに対応する第1のデータを記憶する第1のルックアップテーブルと、前記コードワードの第1の不完全セットに対応する第2のデータを記憶する第2のルックアップテーブルと、を含む複数のルックアップテーブルと、
    第1のコードワードを含む可変長コーディングビットストリームの部分を受信し、前記第1のコードワードを復号することに関連する復号メトリックの値に応答して、前記第1のコードワードを前記複数のルックアップテーブルのうちの第1の選択されたルックアップテーブルに送信し、後続コードワードを前記複数のルックアップテーブルのうちの第2の選択されたルックアップテーブルに送信するように構成されるスイッチと、
    を備えるシステム。
  18. 前記第2のルックアップテーブルにおけるルックアップ動作は、前記第1のルックアップテーブルにおけるルックアップ動作よりも少ない電力を消費し、前記第1のルックアップテーブルは、前記第2のルックアップテーブルにおいて特定のコードワードが発見されないとき、前記特定のコードワードのルックアップ動作を実行するように構成される、請求項17のシステム。
  19. 前記可変長コーディングビットストリーム中で符号化される信号の復号位置を示すように構成される位置アキュムレータと、
    前記可変長コーディングビットストリームを復号するために使用された処理サイクルの数を示すように構成されるサイクルアキュムレータと、
    をさらに備える、請求項18のシステム。
  20. 前記復号位置と前記処理サイクルの数とを使用して前記復号メトリックの前記値を決定するように構成される復号メトリック論理をさらに備える、請求項19のシステム。
  21. 前記可変長コーディングビットストリームは、複数のマクロブロックを有する符号化高精細度ビデオ信号を含み、前記復号メトリック論理は、各マクロブロックにおいて前記位置アキュムレータと前記サイクルアキュムレータとを初期化するように構成される、請求項20のシステム。
  22. 前記複数のルックアップテーブルは、前記コードワードの第2の不完全セットに対応する第3のデータを記憶する第3のルックアップテーブルをさらに含み、前記選択されたルックアップテーブルが前記第3のルックアップテーブルであり、前記特定のコードワードが前記第3のルックアップテーブルに記憶されていないとき、前記特定のコードワードは前記第1のルックアップテーブルまたは前記第2のルックアップテーブルに送信される、請求項21のシステム。
  23. アンテナを介して符号化高精細度ビデオ信号を受信するように構成されるワイヤレスコントローラと、
    前記符号化高精細度ビデオ信号を復号する第1の手段と、
    前記復号する第1の手段よりも少ない平均電力を使用して、前記復号する第1の手段よりも遅い平均速度で、前記符号化高精細度ビデオ信号を復号する第2の手段と、
    前記符号化高精細度ビデオ信号のマクロブロックの復号されていない係数の数に応答して、さらに、前記マクロブロックの前記復号されていない係数を復号するために利用可能な残りの処理サイクルの数に応答して、前記復号する第1の手段または前記復号する第2の手段を動的に選択する選択回路と、
    を備え、前記選択回路は、前記マクロブロックの少なくとも1つの先行部分の復号処理に基づいて前記マクロブロックの特定の部分を復号するために、前記復号する第1の手段または前記復号する第2の手段を選択するように構成される、
    ポータブル電子デバイス。
  24. 前記復号する第1の手段は、コードワードの第1のセットを記憶する第1のルックアップテーブルを備え、前記復号する第2の手段は、コードワードの第2のセットを記憶する第2のルックアップテーブルを備え、前記第2のセットは、前記第1のセットよりも少ないコードワードを含む、請求項23のポータブル電子デバイス。
  25. 前記復号する第1の手段と前記復号する第2の手段とは復号パイプライン中に実装され、前記復号パイプラインは、
    前記符号化高精細度ビデオ信号の特定のマクロブロックの係数を決定する第1のパイプラインステージと、
    前記第1のパイプラインステージにおいて決定された前記特定のマクロブロックの前記係数を受信し、前記特定のマクロブロックの前記係数を使用して前記高精細度ビデオ信号を再構成する第2のパイプラインステージと、
    を備える、請求項24のポータブル電子デバイス。
JP2011525151A 2008-08-25 2009-08-25 復号システムおよび方法 Expired - Fee Related JP5149444B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/197,929 US8199829B2 (en) 2008-08-25 2008-08-25 Decoding system and method
US12/197,929 2008-08-25
PCT/US2009/054946 WO2010027815A1 (en) 2008-08-25 2009-08-25 Decoding system and method

Publications (2)

Publication Number Publication Date
JP2012501154A true JP2012501154A (ja) 2012-01-12
JP5149444B2 JP5149444B2 (ja) 2013-02-20

Family

ID=41314480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011525151A Expired - Fee Related JP5149444B2 (ja) 2008-08-25 2009-08-25 復号システムおよび方法

Country Status (7)

Country Link
US (1) US8199829B2 (ja)
EP (1) EP2329651A1 (ja)
JP (1) JP5149444B2 (ja)
KR (1) KR101240058B1 (ja)
CN (1) CN102132565B (ja)
TW (1) TW201016014A (ja)
WO (1) WO2010027815A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4764488B2 (ja) * 2009-03-16 2011-09-07 株式会社東芝 デコード装置およびデコード方法
US9154797B2 (en) 2010-09-20 2015-10-06 Onecodec, Limited Systems and methods for encoding and decoding
WO2012040232A1 (en) * 2010-09-20 2012-03-29 Onecodec, Ltd. Systems and methods for encoding and decoding
CN102547272B (zh) * 2010-12-30 2015-03-11 中国移动通信集团公司 一种解码方法、装置及终端
RU2011118108A (ru) * 2011-05-06 2012-11-20 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ параллельного декодирования для нескольких стандартов связи
US9362933B1 (en) * 2011-07-12 2016-06-07 Marvell International Ltd. Noise-predictive detector adaptation with corrected data
US10129556B2 (en) 2014-05-16 2018-11-13 Bevara Technologies, Llc Systems and methods for accessing digital data
US10025787B2 (en) 2011-08-17 2018-07-17 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
GB2498595B (en) * 2012-02-16 2015-03-04 Imagination Tech Ltd Methods and apparatus for decoding video images
US20140169467A1 (en) * 2012-12-14 2014-06-19 Ce Wang Video coding including shared motion estimation between multple independent coding streams
WO2015176009A1 (en) 2014-05-16 2015-11-19 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
US10241844B2 (en) * 2017-05-11 2019-03-26 Intel Corporation Techniques for heat spreading in an integrated circuit
WO2019143808A1 (en) 2018-01-18 2019-07-25 Bevara Technologies, Llc Browser navigation for facilitating data access

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003174365A (ja) * 2001-12-06 2003-06-20 Canon Inc 復号化装置及びその方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3235555B2 (ja) * 1997-05-14 2001-12-04 日本電気株式会社 信号復号装置及び信号復号方法並びに信号復号処理をコンピュータに行わせるためのプログラムを記録した記録媒体
US5903311A (en) 1997-05-30 1999-05-11 Sony Corporation Run level pair buffering for fast variable length decoder circuit
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US7088322B2 (en) * 2000-05-12 2006-08-08 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US20040158878A1 (en) 2003-02-07 2004-08-12 Viresh Ratnakar Power scalable digital video decoding
US20040193835A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Table lookup instruction for processors using tables in local memory
US7639743B2 (en) 2004-03-25 2009-12-29 Sony Corporation Image decoder and image decoding method and program
KR100666880B1 (ko) * 2005-01-14 2007-01-10 삼성전자주식회사 듀얼 비디오 디코딩 시스템 및 방법
KR100667595B1 (ko) * 2005-12-29 2007-01-11 삼성전자주식회사 가변 길이 디코더
TWI344793B (en) 2006-07-24 2011-07-01 Ind Tech Res Inst Power aware method and apparatus of video decoder on a multi-core platform
US7804435B2 (en) 2006-08-31 2010-09-28 Ati Technologies Ulc Video decoder with reduced power consumption and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003174365A (ja) * 2001-12-06 2003-06-20 Canon Inc 復号化装置及びその方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6012033419; Seong Hwan Cho, et.al.: '"A Low Power Variable Length Decoder for MPEG-2 Based on Nonuniform Fine-Grain Table Partitioning"' IEEE Transactions on Very Large Scale Integration (VLSI) Systems Vol.7, No.2, 199906, p.249-257 *
JPN6012033420; Sung-Won Lee, et.al.: '"A Low-Power Variable Length Decoder for MPEG-2 Based on Successive Decoding of Short Codewords"' IEEE Transactions on Circuits and Syatems II: Analog and Digital Signal Processing Vol.50, No.2, 200302, p.73-82 *

Also Published As

Publication number Publication date
CN102132565A (zh) 2011-07-20
JP5149444B2 (ja) 2013-02-20
US8199829B2 (en) 2012-06-12
CN102132565B (zh) 2014-10-08
EP2329651A1 (en) 2011-06-08
KR101240058B1 (ko) 2013-03-06
KR20110046566A (ko) 2011-05-04
US20100046627A1 (en) 2010-02-25
WO2010027815A1 (en) 2010-03-11
TW201016014A (en) 2010-04-16

Similar Documents

Publication Publication Date Title
JP5149444B2 (ja) 復号システムおよび方法
US8233545B2 (en) Run length encoding in VLIW architecture
US8106804B2 (en) Video decoder with reduced power consumption and method thereof
US9582060B2 (en) Battery-powered device with reduced power consumption based on an application profile data
US7710296B2 (en) N-bin arithmetic coding for context adaptive binary arithmetic coding
US20220377322A1 (en) Intra/inter mode decision for predictive frame encoding
US8238427B2 (en) Rate distortion optimized adaptive intra refresh for video coding
WO2012100032A1 (en) Dynamic video switching
JP2010538398A (ja) マルチステージデータ処理パイプラインにおける命令実行システム及び方法
US9351004B2 (en) Multiview video coding reference picture selection under a one reference picture constraint
Bao et al. A lossless frame recompression scheme for reducing DRAM power in video encoding
US8443413B2 (en) Low-latency multichannel video port aggregator
US20050174270A1 (en) Programmable variable length decoder including interface of cpu processor
US7439886B2 (en) Variable-length decoder, video decoder and image display system having the same, and variable-length decoding method
Chen et al. A 2014 Mbin/s deeply pipelined CABAC decoder for HEVC
US9154158B2 (en) Macro-block encoding of skipped video frames
US20070242749A1 (en) Image frame compression of video stream with fast random accessing and decompressing
EP2490103A2 (en) Video decoder and/or battery-powered device with reduced power consumption and methods thereof
TWI323130B (en) Device for video decoding
Hong et al. A 360Mbin/s CABAC decoder for H. 264/AVC level 5.1 applications
Ahangar et al. Real time low complexity VLSI decoder for prefix coded images
Lai et al. Low power reversible variable length decoder for MPEG-4 based on fast codeword detection and table partition
CN103384329A (zh) 一种基于无码表查找cavlc解码方法
JP2006041659A (ja) 可変長デコーダ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121129

R150 Certificate of patent or registration of utility model

Ref document number: 5149444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees