(57)【要約】【課題】マルチレベルプレディクションモードエンコーディングタイプ判断方法及びシステムを提供する。【解決手段】一実施形態において、受信されたプレディクションモードレベルに従ってエンコーディングが行われる。プレディクションモードレベルの指示は、プログラム可能であり、異なるレベルに設定できる。プレディクションモードレベルは、プログラマブルエンコーディングタイプ判断ポイントに関連付けられる。エンコーディング処理は、Ｉタイプ又はＰタイプエンコーディングかを判断することを含む。イントラプレディクション関連サーチ及びインタープレディクション関連サーチにおいて、マルチステージエンコーディングタイプ方法も実施され、各対応するプレディクションオペレーションが行われ、イントラプレディクション関連サーチの一部分及びインタープレディクション関連サーチが並列に行われる。【選択図】図５Ｂ
2010178335.tif 000002
【特許請求の範囲】
【請求項１】
マルチレベルプレディクションモードエンコーディングタイプ判断方法であって、
プレディクションモードレベルの指示を受け取るステップと、
前記プレディクションモードレベルに従ってエンコーディングのタイプを決定するステップと、
前記タイプのエンコーディングを行うステップと、
を含む方法。
【請求項２】
前記プレディクションモードレベルの指示が、プログラム可能である、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項３】
前記プレディクションモードレベルの指示が、ユーザー入力に基づいている、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項４】
前記プレディクションモードレベルの指示が、アプリケーションに基づいている、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項５】
前記プレディクションモードレベルが、プログラマブルエンコーディングタイプ判断ポイントに関連付けられている、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項６】
早い時期のプレディクションモードレベル、中間時期のプレディクションモードレベル及び遅い時期のモードレベルを含む３つのプレディクションモードレベルがある、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項７】
前記決定するステップが、
第１のレベルのエンコーディングコストを計算することを含めて有効マクロブロックモードを処理する段階と、
前記プレディクションモードレベルの前記受け取られた指示が第１のレベルのプレディクションモード指示であるかを決定する段階と、
前記プレディクションモードレベルの前記受け取られた指示が第１のプレディクションモードレベル指示であるならば、前記第１のレベルのエンコーディングコストに基づいて前記マクロブロックのＩタイプエンコーディング又はＰタイプエンコーディングを行うかの判断をする段階と、
第２のレベルのエンコーディングコストを計算することを含めて前記有効マクロブロックモードの部分サブセットを処理する段階と、
前記プレディクションモードレベルの前記受け取られた指示が第２のプレディクションモードレベル指示であるかを決定する段階と、
前記プレディクションモードレベルの前記受け取られた指示が第２のプレディクションモードレベル指示であるならば、前記第２のレベルのエンコーディングコストに基づいて前記マクロブロックのＩタイプエンコーディング又はＰタイプエンコーディングを行うかの判断をする段階と、
を含む、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項８】
フルマクロブロックタイププレディクション又はサブマクロブロックタイププレディクションをなすかの決定をするステップを更に含む、請求項１に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項９】
前記フルマクロブロックタイププレディクションが、１６ピクセル×１６ピクセルマクロブロックイントラプレディクションタイプであり、前記サブマクロブロックタイププレディクションは、４ピクセル×４ピクセルマクロブロックイントラプレディクションタイプである、請求項８に記載のマルチレベルプレディクションモードエンコーディングタイプ判断方法。
【請求項１０】
マルチステージエンコーディングタイプシステムにおいて、
インタープレディクション関連サーチを行い、インタープレディクションコストを決定し、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングかの判断を行うための第１のステージと、
イントラプレディクション関連サーチを行い、イントラプレディクションコストを決定し、前記インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングかの判断に基づいて変換を行うための第２のステージと、
を備え、
前記イントラプレディクションコストが、前記インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングかの判断に使用するため、前記第２のステージから前記第１のステージへと通信される、マルチステージエンコーディングタイプシステム。
【請求項１１】
前記第１のステージのオペレーションの部分は、前記第２のステージと並列して行われる、請求項１０に記載のマルチステージエンコーディングタイプシステム。
【請求項１２】
前記第１のステージ及び前記第２のステージは、ビデオストリームを受け取る、請求項１０に記載のマルチステージエンコーディングタイプシステム。
【請求項１３】
前記インタープレディクション関連サーチは、モーションサーチタイプである、請求項１０に記載のマルチステージエンコーディングタイプシステム。
【請求項１４】
前記第１のステージ及び前記第２のステージは、離散構成部分において行われる、請求項１０に記載のマルチステージエンコーディングタイプシステム。
【請求項１５】
前記第１のステージは、第１の離散構成部分において行われ、前記第２のステージは、第２の離散構成部分において行われる、請求項１０に記載のマルチステージエンコーディングタイプシステム。
【請求項１６】
前記インタープレディクションコスト、前記イントラプレディクションコストを決定し、前記インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングかの判断をするのに、マルチレベルプレディクションモードエンコーディングタイプ判断処理が使用される、請求項１０に記載のマルチステージエンコーディングタイプシステム。
【請求項１７】
マルチステージエンコーディングタイプ方法において、
イントラプレディクション関連サーチ及び対応プレディクションを行うステップと、
インタープレディクション関連サーチ及び対応プレディクションを行うステップと、
マルチレベルプレディクションモードエンコーディングタイプ判断処理を行うステップと、
を含み、前記イントラプレディクション関連サーチの少なくとも一部分及び前記インタープレディクション関連サーチは、電子システムにおいて並列して行われる、マルチステージエンコーディングタイプ方法。
【請求項１８】
前記マルチレベルプレディクションモードエンコーディングタイプ判断処理を行うのに際し、融通性のあるエンコーディングタイプ決定処理が使用される、請求項１７に記載のマルチステージエンコーディングタイプ方法。
【請求項１９】
前記イントラプレディクション関連サーチ及び前記インタープレディクション関連サーチは、網羅的サーチである、請求項１７に記載のマルチステージエンコーディングタイプ方法。
【請求項２０】
フルマクロブロックタイププレディクション又はサブマクロブロックタイププレディクションをなすかの決定をするステップを更に含む、請求項１７に記載のマルチステージエンコーディングタイプ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、グラフィックエンコーディングの分野に係る。
【背景技術】
【０００２】
[0002]電子システム及び回路は、現代社会の進歩に相当の寄与をしてきており、効果的な結果を達成するため多くの用途において使用されている。デジタルコンピュータ、計算器、オーディオ装置、ビデオ装置及び電話システムの如き多くの電子技術は、ビジネス、科学、教育及び娯楽のほとんどの領域においてデータ、アイデア及びトレンドを分析して通信する上での生産性の増大及びコスト削減を容易にするものである。これらアクティビティには、ビデオエンコーディング及びデコーディングが必要とされることが多い。しかしながら、エンコーディング及びデコーディングには、貴重なリソースを占有してしまい且つ時間を消費するような複雑な処理が必要となることがある。
【０００３】
[0003]デジタル媒体が発展するにつれて、ビデオコンテンツの普及が急増してきている。ビデオコンテンツは、典型的に、大量のデータを含むものであり、これは、記憶したり通信したりするのに比較的にコストが掛かるものである。これらの情報を圧縮する試みにおいて、エンコーディング及びデコーディング技法が使用されることが多い。しかしながら、エンコーディング及びデコーディング技法により試みられる圧縮比率が高くなるにつれて、典型的に、失われる情報が増大してしまう。もし、圧縮において「失われる」情報が多過ぎると、ビデオプレゼンテーションの品質及びユーザーの体験が低下してしまうことになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]Ｈ.２６４の如きビデオ圧縮技法は、生のビデオストリームを圧縮するのに時間的及び空間的プレディクションを使用することが多い。典型的な圧縮エンジンは、イントラプレディクションモジュール、モーションプレディクションモジュール、変換モジュール及びエントロピーコーディングモジュールを含むことができる。ベースラインプロフィール４：２：０ビデオの場合には、マクロブロックは、１６ｘ１６−ピクセルルマブロック及び２つの８ｘ８−クロマブロックを含むものとして定義される。Ｈ.２６４ビデオコーディングにおいては、各マクロブロックは、イントラプレディクション（Ｉ）マクロブロック又はインタープレディクション（Ｐ）マクロブロックとしてコード化される。典型的に、エンコードされたビットストリームにおけるマクロブロックのほとんどは、Ｐタイプマクロブロックであり、従って、そのマクロブロックのコストをＩタイプマクロブロックとして計算するのは、コンピューティングリソースの上で非常にコストの掛かるものとなる。
【課題を解決するための手段】
【０００５】
[0005]マルチレベルプレディクションモード（ｍｕｌｔｉ−ｌｅｖｅｌ  ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）エンコーディングタイプ判断方法及びシステムが提供される。１つの実施形態では、プレディクションモードレベルの指示が受け取られ、前記プレディクションモードレベルに従ってエンコーディングが行われる。前記プレディクションモードレベルの指示は、プログラム可能であり、異なるレベルに設定することができる。前記プレディクションモードレベルは、プログラマブルエンコーディングタイプ判断ポイント（例えば、早い時期、中間時期、遅い時期等の）に関連付けられる。前記エンコーディング処理は、Ｉタイプ又はＰタイプのエンコーディングを判断することを含む。１つの実施形態では、イントラプレディクション関連サーチの少なくとも一部分及びインタープレディクション関連サーチが並列に行われるようなマルチステージエンコーディングタイプ方法も実施される。
【０００６】
[0006]添付図面は、本明細書に組み込まれ本明細書の部分を構成するもので、本発明の原理を典型的に例示するため含まれたものであり、そこに例示された特定の実施に本発明を限定しようとするものではない。これら図面は、特に指示のない限り、正しいスケールで描かれていない。
【図面の簡単な説明】
【０００７】
【図１】本発明の１つの実施形態による典型的なエンコーディングアーキテクチャーのブロック図である。
【図２】本発明の１つの実施形態によりエンコーディングを実施することのできる典型的なコンピュータシステムのブロック図である。
【図３】本発明の１つの実施形態によりエンコーディングを実施することのできるエンコーダシステム３００のブロック図である。
【図４】本発明の１つの実施形態によるデュアルフェーズマクロブロック決定及びコーディング処理を例示する図である。
【図５Ａ】本発明の１つの実施形態による典型的なマルチレベルプレディクションモードエンコーディングタイプ判断方法のフローチャートである。
【図５Ｂ】本発明の１つの実施形態による典型的な融通性のあるエンコーディングタイプ決定処理のフローチャートである。
【図６】本発明の１つの実施形態による典型的なエンコーディングシステム６００のブロック図である。
【図７】本発明の１つの実施形態によるマルチステージエンコーディングタイプ方法７００のフローチャートである。
【図８】本発明の１つの実施形態による典型的なビデオプロセッサ又はグラフィックプロセッサを組み込む典型的なアーキテクチャーを示している。
【図９】本発明の１つの実施形態によるハンドヘルド型装置の典型的な構成部分のブロック図である。
【発明を実施するための形態】
【０００８】
[0017]幾つかの実施例が添付図面に例示されている本発明の好ましい実施形態について、以下、詳細に参照する。本発明は、これら好ましい実施形態に関連して説明されるのであるが、これらは、本発明をこれら実施形態に限定するものでないことを理解されたい。反対に、本発明は、特許請求の範囲の記載により限定されるような本発明の精神及び範囲内に含まれる代替物、変更及び均等物を含む。更に、次の本発明の詳細な説明において、本発明の理解を完全なものとするため、種々な特定の細部について説明する。しかしながら、本発明は、これらの特定の細部を伴わずとも実施できるものであることは、当業者には明らかであろう。他方では、本発明の態様を不必要に不明瞭にしないために、良く知られた方法、手順、構成部分及び回路については、詳細に説明しない。
【０００９】
[0018]以下の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションの手順、論理ブロック、処理及び他の記号表現の形でなされている。これらの記述及び表現は、データ処理分野における当業者が自己の研究成果を他の当業者へ効果的に伝えるのに一般的に使用する手段である。手順、論理ブロック、処理等は、ここでも、且つ一般的にも、希望の結果をもたらすステップ又は命令の自己矛盾のないシーケンスであると考えられている。それらステップは、物理量の物理的操作を含む。必ずしもそうではないが、通常、これらの量は、コンピュータシステムにおいて、記憶され、転送され、結合され、比較され、その他の操作を受けることのできる電気的、磁気的、光学的又は量子的信号の形をとる。主として慣用されているという理由で、これらの信号を、ビット、値、要素、記号、文字、用語、数字等として示すのが、時には、便利であることが分かっている。
【００１０】
[0019]しかしながら、これら及び同様の用語の全ては、適当な物理量に関連付けられており、これらの量に適用されている便宜的なラベルに過ぎないことに注意されたい。以下の説明から明らかなように、特に指示のない限り、本願明細書を通じて、「処理」、「コンピューティング」、「計算する」、「決定する」、「表示する」、「アクセスする」、「書く」、「含む」、「記憶する」、「送信する」、「トラバースする」、「関連付ける」、「識別する」等の如き用語を使用している記述は、物理（例えば、電子的）量として表されたデータを操作し変換するコンピュータシステム又は同様の処理装置（例えば、電気的、光学的又は量子的、コンピューティング装置）の動作及び処理についてなされていることを理解されたい。これら用語は、コンピュータシステムの構成部分（例えば、レジスタ、メモリ、他のこのような情報記憶装置、送信又は表示装置等）内の物理量を操作し又は他の構成部分内の物理量として同様に表される他のデータへと変換するような処理装置の動作及び処理を指している。
【００１１】
[0020]以下の詳細な説明のある部分は、方法の形にて提示され説明されている。ステップ及びそれらのシーケンスは、ここでは、この方法のオペレーションを記述する図にて説明されているのであるが、このようなステップ及びシーケンスは、典型的なものである。実施形態は、種々な他のステップ及びここで図のフローチャートに列挙されたステップの変形例を、ここで示し説明するものとは違ったシーケンスにて行うことができるように、十分に適合したものとすることができる。
【００１２】
[0021]詳細な説明のある部分は、コンピュータメモリにて行われるデータビットに対するオペレーションの手順、ステップ、論理ブロック、処理及び他の記号的表現の形にて与えられている。これらの記述及び表現は、データ処理分野の当業者が、自己の研究成果を他の当業者へと最も効果的に伝えるのに使用する手段である。手順、コンピュータ実施ステップ、論理ブロック、処理等は、ここでも、又、一般的にも、希望の結果を達成するためのステップ又は命令の自己矛盾のないシーケンスであると考えられている。これらステップは、物理量の物理的操作を必要とするものである。必ずしもそうではないが、通常、これらの量は、コンピュータシステムにおいて、記憶され、転送され、結合され、比較され、その他の操作がなされる電気的又は磁気的信号の形をとる。主として、慣用されているという理由で、これらの信号を、ビット、値、要素、記号、文字、用語、数字等として示すのが、時には、便利であることが分かっている。
【００１３】
[0022]しかしながら、これら及び同様の用語の全ては、適当な物理量に関連付けられるべきであり、これらの量に適用されている便宜的なラベルに過ぎないことに、注意されたい。以下の説明から明らかなように、特にそうではないと断らない限り、本願明細書を通じて、「アクセスする」、「書く」、「含む」、「記憶する」、「送信する」、「トラバースする」、「関連付ける」、「識別する」等の如き用語を使用している記述は、コンピュータシステムのレジスタ及びメモリ内の物理（電子的）量として表されたデータを、操作し、そのコンピュータシステムメモリ又はレジスタ、又は他のそのような情報記憶装置、送信又は表示装置内の物理量として同様に表された他のデータへと変換するコンピュータシステム又は同様の電子的コンピューティング装置の動作及び処理についてなされていることを、理解されたい。
【００１４】
[0023]コンピューティング装置は、典型的には、少なくとも、ある形のコンピュータ読み取り可能な媒体を含む。コンピュータ読み取り可能な媒体は、コンピューティング装置によりアクセスされることのできる任意の利用可能な媒体であってよい。これに限定されないが、一例として、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を含む。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール又は他のデータの如き情報を記憶するための任意の方法又は技法にて実施される揮発性及び不揮発性、リムーバブル及びノンリムーバブル媒体を含む。コンピュータ記憶媒体は、これに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技法、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）又は他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は希望の情報を記憶するのに使用され且つコンピューティング装置によりアクセスされる任意の他の媒体を含む。通信媒体は、典型的には、搬送波の如き変調データ信号又は他の輸送機構において、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを実施し、又、任意の情報配信媒体を含む。用語「変調データ信号」は、その信号にて情報をエンコードするような仕方にて設定され又は変更される１つ以上の特性を有するような信号を意味している。これに限定するものではないが、一例とし、通信媒体は、ワイヤードネットワーク又はダイレクトワイヤード接続の如きワイヤード媒体及び音響、高周波、赤外線及び他のワイヤレス媒体の如きワイヤレス媒体を含む。前述したものの任意のものの組合せもまた、コンピュータ読み取り可能な媒体の範囲内に含まれるものである。
【００１５】
[0024]幾つかの実施形態については、１つ以上のコンピュータ又は他の装置によって実行されるプログラムモジュールの如きコンピュータ実施可能な命令に一般的に関連して説明される。一般的に、プログラムモジュールは、特定のタスクを行う又は特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、種々な実施形態において望まれるように、結合され又は分散されることができる。
【００１６】
[0025]ここに説明する実施形態は、コンピュータシステムの離散構成部分としてＣＰＵ及びＧＰＵを説明するのであるが、当業者であれば、ＣＰＵ及びＧＰＵは、単一装置として一体化することができ、又、ＣＰＵ及びＧＰＵは、命令ロジック、バッファ、関数ユニット等の如き種々なリソースを共用することができ、又は、グラフィック及び汎用オペレーションのために別々のリソースを設けることができることは、認識されよう。従って、ＧＰＵと関連付けられるものとしてここに説明した回路及び／又は機能の任意のもの又は全てのものは、適当にコンフィギュレーションされたＣＰＵにて、実施し、又、実行することのできるものでもある。
【００１７】
[0026]更に又、ここに説明する実施形態は、ＧＰＵに関して説明されるのであるが、ここに説明する回路及び／又は機能は、汎用又は他の特定用途コプロセッサの如き他のタイプのプロセッサにても実施でき、又、ＣＰＵ内においても実施することができるものであることを理解されたい。
【００１８】
[0027]本発明によれば、効率的で効果的なビデオ圧縮を容易に行うことができる。本発明の１つの実施形態では、マクロブロックタイプの判断は、Ｉ又はＰタイププレディクションでそのマクロブロックをコーディングするコストを評価することによりなされる。この判断は、各マクロブロックについてなされる。各Ｉタイプマクロブロックのコストを決定するには、比較的に多くのリソースが必要とされ、性能に影響が及ぼされ、そして、各マクロブロックのイントラコストを決定すると、より良好にマクロブロックタイプ判断を容易に行うことができ、その結果としてエンコードされたビットストリームの品質を改善することができる。本発明のシステム及び方法によれば、エンコーディングにおける性能と品質との間のバランスを、融通性をもって且つ効率的に容易にとることができる。本発明のシステム及び方法によれば、プレディクション関連コストを決定し且つプレディクションタイプ判断をなすのに使用されるリソースの量の選択をプログラム可能なものとすることができる。
【００１９】
[0028]１つの実施形態では、イントラプレディクション及び計算は、費やされる計算の複雑さの量及び最終的に圧縮されたビットストリームの品質を制御できるように、２つのプログラム可能なフェーズに分割される。計算の複雑さを低いものに選択することができ、そうすることにより、より多くのマクロブロックを処理することができ、より大きなフレームサイズ又はより高いフレームレートとすることができ、又は一定量のデータをエンコードするための電力使用をより低いものとすることができる。同様に、より高い品質を必要とする用途の場合には、計算の複雑さを高いものに選択することができる。このような融通性のあるスキームでは、各フェーズにてなされるワークを設定することにより、計算の複雑さを微細に制御することが可能となる。１つの典型的な実施では、幾つかのイントラプレディクション及びインタープレディクションオペレーションが同時に開始され且つ並列して行われる。
【００２０】
[0029]図１は、本発明の１つの実施形態による典型的なエンコーディングアーキテクチャー１００のブロック図である。このエンコーディングアーキテクチャー１００は、エンコーディングシステム１１０及びリモートデコーダ１５０を含む。エンコーディングシステム１１０は、現在フレーム（例えば、現在フレーム１０４及び１０５）を受け取り、それら現在フレームをエンコードし、それから、そのエンコードされた現在フレーム（例えば、現在フレーム１０１、１０２及び１０３）をリモートデコーダ１５０へと送る。エンコーディングシステム１１０は、エンコーダ１２０、再構成デコーダ１４０及びメモリ１３０を含む。エンコーダ１２０は、それらフレームをエンコードし、それらをリモートデコーダ１５０及び再構成デコーダ１４０へと送る。再構成デコーダ１４０は、それらフレームをデコードし、それらをメモリ１３０へと送り、再構成フレーム１３１、１３２及び１３３として記憶させる。１つの典型的な実施では、再構成フレーム１３１、１３２及び１３３は、現在フレーム１０１、１０２及び１０３に対応している。
【００２１】
[0030]図２は、本発明の実施形態を具現化できるコンピュータシステムの１つの実施形態である典型的なコンピュータシステム２００を示すブロック図である。このコンピュータシステム２００は、中央処理装置２０１、主メモリ２０２（例えば、ランダムアクセスメモリ）、ノースブリッジ２０９及びサウスブリッジ２０５を有するチップセット２０３、リムーバブルデータ記憶装置２０４、入力装置２０７、信号通信ポート２０８、及びディスプレイ２２０に結合されるグラフィックサブシステム２１０を含む。コンピュータシステム２００は、コンピュータシステム２００の構成部分を通信できるように結合する幾つかのバスを含む。通信バス２９１（例えば、フロントサイドバス）は、チップセット２０３のノースブリッジ２０９を中央処理装置２０１に結合する。通信バス２９２（例えば、主メモリバス）は、チップセット２０３のノースブリッジ２０９を主メモリ２０２に結合する。通信バス２９３（例えば、アドバンスドグラフィックポートインターフェース）は、チップセット２０３のノースブリッジをグラフィックサブシステム２１０に結合する。通信バス２９４、２９５及び２９７（例えば、ＰＣＩバス）は、チップセット２０３のサウスブリッジ２０５を、それぞれリムーバブルデータ記憶装置２０４、入力装置２０７、信号通信ポート２０８に結合する。グラフィックサブシステム２１０は、グラフィックプロセッサ２１１及びフレームバッファ２１５を含む。
【００２２】
[0031]コンピュータシステム２００の構成部分は、種々な機能及び性能を与えるように、協働して動作する。１つの典型的な実施では、コンピュータシステム２００の構成部分は、コンピュータシステム２００に含まれた機能構成部分のあるものに欠陥があるとしても、所定のタイプの機能を与えるように、協働して動作する。通信バス２９１、２９２、２９３、２９４、２９５及び２９７は、情報を通信する。中央プロセッサ２０１は、情報を処理する。主メモリ２０２は、中央プロセッサ２０１のための情報及び命令を記憶する。リムーバブルデータ記憶装置２０４も又、情報及び命令を記憶する（例えば、大型情報貯蔵装置として機能する）。入力装置２０７は、情報を入力し及び／又はディスプレイ２２０上の情報をポインティング又はハイライトするための機構を与える。信号通信ポート２０８は、外部装置に対する通信インターフェース（例えば、ネットワークとのインターフェース）を与える。表示装置２２０は、フレームバッファ２１５に記憶されたデータに従って情報を表示する。グラフィックプロセッサ２１１は、中央プロセッサ２０１からのグラフィックコマンドを処理し、その結果として生ずるデータをフレームバッファ２１５へと与えて、記憶させ且つ表示モニタ２２０により検索できるようにする。
【００２３】
[0032]次に、図３を参照するに、そこには、本発明の１つの実施形態による量子化エンコーダシステム３００のブロック図が示されている。この量子化エンコーダシステム３００は、モーションサーチエンジン３１０、モーション補償モジュール３２１、変換モジュール３２２、量子化モジュール３２３、量子化係数バッファモジュール３２４、量子化ポストプロセッサ（ＱＰＰ）３２５、逆量子化モジュール３２６、逆変換モジュール３２７、再構成／デブロックモジュール３２８及びエントロピーエンコーダ３３０を含む。モーションサーチエンジン３１０は、再構成／デブロックモジュール３２８及びモーション補償モジュール３２１に通信できるように結合され、モーション補償モジュール３２１は、変換モジュール３２２に通信できるように結合され、そして、変換モジュール３２２は、量子化モジュール３２３に通信できるように結合されている。量子化モジュール３２３は、量子化係数バッファモジュール３２４及び逆量子化モジュール３２４に通信できるように結合され、逆量子化モジュール３２４は、逆変換モジュール３２７に通信できるように結合され、そして、逆変換モジュール３２７は、再構成／デブロックモジュール３２８に通信できるように結合されている。
【００２４】
[0033]量子化エンコーダシステム３００の構成部分は、圧縮比を増大させるように協働して動作する。モーションサーチモジュール３１０は、生のビデオデータ（例えば、ピクチャデータ、フレームデータ等）の入力ビットストリームを受け取り、多くは１６ｘ１６ピクセルのマクロブロックにてそれを処理し、その処理された情報は、モーション補償モジュール３２１へと送られる。１つの実施形態では、モーションサーチモジュール３１０による処理は、ピクチャ又はフレームの生ビデオデータを、フレームベースにて、再構成／デブロックモジュール３２８から受け取られた再構成ピクチャ又はフレームデータと比較して、「画像モーション」指示を検出することを含む。変換エンジン３２２は、モーション補償情報を受け取り、付加的なオペレーション（例えば、離散コサイン変換等）を行い、データ（例えば、変換された係数等）を量子化モジュール３２３へ出力する。量子化モジュール３２３は、受け取られた情報の量子化を行い、その量子化の結果は、量子化係数バッファ３２４、逆量子化モジュール３２６へと送られる。情報のバッファリング又は一時的記憶を行い且つ種々なエンコーディングステージにおいて独立してオペレーションを行えるようにし、又、同時にオペレーションを行えるようにすることにより効率を増大させるため、量子化バッファ３２４の如きバッファを使用することができる。例えば、量子化係数バッファ３２４は、量子化モジュール３２３の結果を記憶する。エントロピーエンコーダ３３０は、量子化バッファ３２４からデータを取り出し、エンコードされたビットストリームを出力する。逆量子化モジュール３２６、逆変換モジュール３２７及び再構成／デブロックモジュール３２８を含む再構成パイプは、フレーム又はピクチャに関連付けられた再構成ビットストリームの生成に向けられたオペレーションを行う。１つの実施形態では、結果を改善するため、後処理量子化が使用される。１つの典型的な実施では、「Post Processing Encoding System and Method」と題する同時係属出願（代理人管理番号ＮＶＩＤ−Ｐ００３７１６）に記載されたような後処理量子化が使用される。
【００２５】
[0034]図４は、本発明の１つの実施形態によるデュアルフェーズマクロブロック決定及びエンコーディング処理を例示する図である。１つの実施形態では、種々なプレディクションモードレベルをプログラム可能なものとしている。プレディクションモードレベルをプログラム可能としたことにより、特定の目的又は用途に基づいてリソース使用と品質とのバランスをとることができるようになる。１つの典型的な実施では、プレディクションモードレベルは、Ｉ／Ｐタイプ判断ポイント選択に対応しており、そのＩ／Ｐタイプ判断ポイントは、プログラム可能なものされている。例えば、判断ポイントをプログラム可能としたことにより、Ｉ／Ｐタイプ判断を、予備データ、比較的に広範なデータ又はそれらの間のどこかに入るデータに基づいてなすことができるようになる。１つの典型的な実施では、Ｉ／Ｐタイプ判断は、予備データが使用できるときには、その処理の早い時期において行うことができ、又、このＩ／Ｐタイプ判断は、広範なデータが使用でき、比較的に最適な判断がなされるときには、その処理の遅い時期において行うことができ、又、このＩ／Ｐタイプ判断は、中間量のデータに基づいて、早い時期の指定と遅い時期の指定との間のどこかにおいて行うことができる。Ｉ／Ｐ判断ポイントの選択により、第１のフェーズと第２のフェーズとの間の境界が定められる。
【００２６】
[0035]１つの実施形態では、第１のフェーズ及び第２のフェーズにおいてなされる計算は、Ｉ／Ｐタイプ判断ポイントのプログラミングに依存している。１つの典型的な実施では、Ｉ／Ｐ判断ポイントのプログラミング選択は、コスト決定の複雑さに関連つけられている。１つの実施形態では、大マクロブロックコスト複雑さ、部分サブマクロブロックコスト複雑さ及び完全サブブロックコスト複雑さを含むコスト複雑さの３つのレベルがある。例えば、もし、マクロブロックが４ｘ４ピクセルサブブロックを有する１６ｘ１６ピクセルマクロブロックである場合には、大マクロブロックコスト複雑さは、１６ｘ１６コストを決定することを含み、部分サブマクロブロックコスト複雑さは、４ｘ４コストのうちのあるものを決定することを含み、完全サブマクロブロックコスト複雑さは、４ｘ４コストの全てを決定することを含む。１つの典型的な実施では、大マクロブロックコスト複雑さは、リソースを保存するものとして考えられており、早い時期のＩ／Ｐタイプ判断に使用され、部分サブマクロブロックコスト複雑さは、リソースの保存と品質との調和をとるものと考えられており、中間時期のＩ／Ｐタイプ決定に使用され、完全サブマクロブロックコスト複雑さは、品質を最大とするものとして考えられており、遅い時期の決定に使用される。
【００２７】
[0036]第１のフェーズは、時間ｔ１、ｔ２又はｔ３で終わり、第２のフェーズは、時間ｔ１、ｔ２又はｔ３で開始できる。Ｉ／Ｐタイプ判断ポイント４０１の選択は、時間ｔ１に対応しており、Ｉ／Ｐ判断ポイント４２０の選択は、時間ｔ２に対応しており、Ｉ／Ｐ判断ポイント４０３の選択は、時間ｔ３に対応している。第１のフェーズオペレーション４１１において、１６ｘ１６イントラコストが計算され、Ｉ／Ｐ判断が判断ポイント４０１までの１６ｘ１６イントラコスト及びフルインターコストに基づいてなされる。もし、そのマクロブロックモードがイントラとして判断される場合には、その時には、第２のフェーズオペレーション４１２において、１６ｘ１６イントラと４ｘ４イントラモードとの間のウイナーを決定するため更に別の計算がなされる。もし、マクロブロックモードがインター（Ｐ）として判断される場合には、その時には、第２のフェーズオペレーション４１２においてプレディクションがなされるだけである。Ｉ／Ｐタイプ判断ポイント４０１の選択は、イントラコスト決定のための計算上の複雑さを最少とする。
【００２８】
[0037]第１のフェーズオペレーション４２１において、１６ｘ１６モードイントラコスト計算と４ｘ４モードイントラコスト計算のうちのあるものとの両者が、第１のフェーズにて判断ポイント４０２までに行われる。オペレーション４２１の１つの典型的な実施では、９個の可能性のあるモードの全てからの幾つかの４ｘ４モードが、第１のフェーズにて計算される。第１のフェーズオペレーション４３１において、１６ｘ１６モードイントラコスト計算と４ｘ４モードイントラコスト計算の全てとの両者が、判断ポイント４０３までに行われる。そして、このことは、実際のプレディクションが第２のフェーズオペレーション４３２にてなされることを意味している。判断ポイント４０３の選択は、最も多くの計算を必要とする判断を含む。判断ポイント４０２の選択は、判断ポイント４０１及び４０３の２つの極端の間の計算の複雑さにおける融通性のスライディングスケールを与える。もし、そのマクロブロックがイントラとして判断される場合には、その時には、４ｘ４モードの全てがより正確なものとするため再計算される。ほとんどの場合、マクロブロックタイプは、インター（Ｐ）であるので、４ｘ４モードを部分的に計算することにより、品質をほとんど劣化させずに多くの計算を省くことができる。
【００２９】
[0038]次の表は、第１のフェーズＩＰ１及び第２のフェーズＩＰ２のコンテンツと共に３つの判断ポイントを示している。
【表１】
2010178335.tif 000003
【００３０】
[0039]１つの実施形態では、インタープレディクションコスト決定は、イントラプレディクションコスト決定が開始されるときに、開始される。１つの典型的な実施では、インターコスト計算は、第１のフェーズにて完全になされる。第１のフェーズは、プレディクションのために可能性のあるモードを通してサーチし、Ｉタイププレディクション及びＰタイププレディクションを行うためのコストを計算する。これらのコストは、マクロブロックモードウイナーをＩタイプ又はＰタイプとして決定するため比較される。１つの実施形態では、判断ポイントのプログラミング容易性は、次のイントラコスト判断に影響を及ぼす。第２のフェーズにおいて、もしマクロブロックモードがイントラである場合には、最終モードウイナーを決定するため、より詳細な分析がなされる。例えば、最終マクロブロックイントラモードは、４ｘ４又は１６ｘ１６モードである。第２のフェーズは、選択されたモードを使用して実際のプレディクションを行い、その処理パイプラインに沿って更に使用するためそのデータを処理する。
【００３１】
[0040]Ｉ／Ｐタイプ判断及びプレディクションにおける種々なプレディクションモードレベル又は調整の融通性のある選択は、ユーザープログラミングに基づくことができる。ユーザーは、どのイントラプレディクションモード（例えば、１６ｘ１６、４ｘ４等）をそのビットストリームに使用できるかということ、及びＩ／Ｐタイプ判断ポイントの位置をプログラムすることができる。１つの典型的な実施では、第１のフェーズは、１６ｘ１６モードのアベイラビリティから開始され、１６ｘ１６計算の後に第２のフェーズの方へと進む。
【００３２】
[0041]図５Ａは、本発明の１つの実施形態による典型的なマルチレベルプレディクションモードエンコーディングタイプ判断方法５００のフローチャートである。
【００３３】
[0042]オペレーション５０１において、プレディクションモードレベルの指示が受け取られる。１つの実施形態では、プレディクションモードレベルの指示は、プログラムできるものである。プレディクションモードレベルの指示は、ユーザー入力、アプリケーションのタイプ等を含む種々な考慮事項に基づくことができる。プレディクションモードレベルは、プログラム可能なエンコーディングタイプ判断ポイントに関連付けることができる。１つの典型的な実施では、早い時期のプレディクションモードレベル、中間時期のプレディクションモードレベル及び遅い時期のモードレベルを含む３つのプレディクションモードレベルがある。
【００３４】
[0043]オペレーション５０２において、エンコーディングのタイプがプレディクションモードレベルに従って決定される。１つの実施形態では、このエンコーディングのタイプの決定は、融通性のあるエンコーディングタイプ決定処理を含む。
【００３５】
[0044]オペレーション５０３において、オペレーション５０２にて決定されたタイプのエンコーディングが行われる。１つの典型的な実施では、Ｉタイプ又はＰタイプの
エンコーディングが、受け取られたビデオ情報に対して行われる。
【００３６】
[0045]図５Ｂは、本発明の１つの実施形態による典型的な融通性のあるエンコーディングタイプ決定処理５５０のフローチャートである。１つの実施形態では、フルマクロブロックタイププレディクションは、１６ｘ１６ピクセルマクロブロックイントラプレディクションタイプであり、サブマクロブロックタイププレディクションは、４ｘ４ピクセルサブブロックイントラプレディクションタイプである。
【００３７】
[0046]オペレーション５０９において、Ｉタイプサーチ及びプレディクション情報がオペレーション５１１、５１５及び５２０へ供給され、オペレーション５１０において、Ｐタイプサーチ及びプレディクション情報がオペレーション５１３、５１７及び５２１へ供給される。
【００３８】
[0047]オペレーション５１１において、第１のレベルのエンコーディングコストの計算を含めて、有効マクロブロックモードが処理される。１つの実施形態では、第１のレベルのエンコーディングコストは、大マクロブロックコスト複雑さに対応している。例えば、もし、アプリケーションが１６ｘ１６マクロブロックを含む場合には、第１のレベルのエンコーディングコストがその１６ｘ１６マクロブロックについて計算される。
【００３９】
[0048]オペレーション５１２において、プレディクションモードレベルの受け取られた指示が第１のレベルのプレディクションモード指示であるかの決定がなされる。もし、そのプレディクションモードレベルの指示が第１のレベルのプレディクションモード指示でない場合には、この処理は、オペレーション５１５へ進む。もし、このプレディクションモードレベルの指示が第１のレベルのプレディクションモード指示である場合には、この処理は、オペレーション５１３へ進む。
【００４０】
[0049]オペレーション５１３にて、マクロブロックのＩタイプエンコーディング又はＰタイプエンコーディングを行うかの判断が、第１のレベルのエンコーディングコストに基づいてなされる。もし、その判断がＩタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション５２４へ進む。もし、その判断がＩタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション５１４へ進む。
【００４１】
[0050]有効４ｘ４モードの処理がオペレーション５１４において行われ、コストが計算される。そのオペレーション５１４が完了するとき、この処理は、オペレーション５１９へジャンプする。
【００４２】
[0051]オペレーション５１６において、プレディクションモードレベルの受け取られた指示が第２のプレディクションモードレベル指示であるかの決定がなされる。もし、このプレディクションモードレベルの指示が第２のレベルのプレディクションモード指示でない場合には、この処理は、オペレーション５２０へ進む。もし、このプレディクションモードレベルの指示が第２のレベルのプレディクションモード指示である場合には、この処理は、オペレーション５１５へ進む。
【００４３】
[0052]第２のレベルのエンコーディングコストの計算を含めて、有効マクロブロックモードの部分サブセットがオペレーション５１５にて処理される。１つの実施形態では、第２のレベルのエンコーディングコストは、中間マクロブロックコスト複雑さに対応している。例えば、もし、アプリケーションが１６ｘ１６マクロブロック及び４ｘ４サブブロックを含む場合には、第２のレベルのエンコーディングコストがその４ｘ４サブブロックのあるもについて計算される。
【００４４】
[0053]オペレーション５１７の場合には、マクロブロックのＩタイプエンコーディング又はＰタイプエンコーディングを行うべきかの判断が、第２のレベルのエンコーディングコストに基づいてなされる。もし、その判断がＰタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション５２４へ進む。もし、その判断がＩタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション５１８へ進む。
【００４５】
[0054]オペレーション５１８において、全ての有効４ｘ４モードの処理が行われ、全てのコストが計算される。この処理は、オペレーション５１９へ進む。
【００４６】
[0055]オペレーション５１９において、フル（例えば、１６ｘ１６等）マクロブロックタイププレディクション又はサブ（４ｘ４等）マクロブロックタイププレディクションをなすかの決定がなされる。１つの実施形態では、プレディクション情報が再び生成され、その判断に使用される。この処理は、オペレーション５２３へジャンプする。
【００４７】
[0056]第３のレベルのエンコーディングコストの計算を含めて、全ての有効マクロブロックモードがオペレーション５２０において処理される。１つの実施形態では、この第３のレベルのエンコーディングコストは、小マクロブロックコスト複雑さに対応している。例えば、もし、アプリケーションが１６ｘ１６マクロブロック及び４ｘ４サブブロックを含む場合には、この第３のレベルのエンコーディングコストは、全ての４ｘ４サブブロックについて再計算される。
【００４８】
[0057]オペレーション５２１において、もし、プレディクションモードレベルの受け取られた指示が第１のプレディクションモードレベル指示である場合には、マクロブロックのＩタイプエンコーディング又はＰタイプエンコーディングを行うかの判断が、第１のレベルのエンコーディングコストに基づいてなされる。もし、その判断がＰタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション５２４へ進む。もし、その判断がＩタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション５２３へ進む。
【００４９】
[0058]オペレーション５２３において、Ｉタイプマクロブロック処理が行われ、オペレーション５２４において、Ｐタイプマクロブロック処理が行われる。各Ｉタイプマクロブロック又はＰタイプマクロブロック処理が完了する時、この処理は、オペレーション５２５へジャンプし、変換が行われる。
【００５０】
[0059]１つの実施形態では、幾つかのエンコーディングオペレーションが並列して行われる。図６は、本発明の１つの実施形態による典型的なエンコーディングシステム６００のブロック図である。このエンコーディングシステム６００は、第１のステージ６１０、第２のステージ６２０及び第３のステージ６３０を含む。第１のステージ６１０は、インタープレディクション関連サーチを行うためのインタープレディクション関連サーチモジュール６１１と、インタープレディクションコストを決定するためのプレディクション及びコストモジュール６１２と、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングを判断するためのＩ／Ｐ判断モジュール６１３と、を含む。１つの典型的な実施では、インタープレディクション関連サーチは、モーションサーチタイプである。第２のステージ６２０は、イントラプレディクション関連サーチを行うためのイントラサーチモジュール６２１と、イントラプレディクションコストを決定するためのプレディクション及びコストモジュール６２２と、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングについての前記判断に基づいて変換を行うための変換モジュール６２３と、を含む。第３のステージ６３０は、他の残りのエンコーディングオペレーションを行う。
【００５１】
[0060]エンコーディングシステム６００の各構成部分は、協調エンコーディングを行うように協働して動作する。第１のステージ６１０及び第２のステージ６２０は、ビデオストリームを受け取る。第１のステージ６１０のオペレーションの部分は、第２のステージ６２０と並列して行われる。例えば、インターサーチ６１１及びイントラサーチ６２１は、ビデオストリームが受け取られる時に、並列して各オペレーションを開始する。イントラプレディクションコストは、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングについての判断をするのに使用するため、第２のステージ６２０から第１のステージ６１０へ通信される。Ｉ／Ｐ判断の結果は、変換モジュール６２３へ供給される。変換モジュール６２３は、又、その判断がＰタイプエンコーディングを行うべきとする場合には、ステージ６１０からサーチ及びプレディクション情報を受け取り、その判断がＩタイプエンコーディングを行うべきとする場合には、ステージ６２０からサーチ及びプレディクション情報を受け取る。
【００５２】
[0061]エンコーディングシステム６００が種々なアーキテクチャーにて容易に実施されることは、理解されよう。１つの実施形態では、第１のステージ及び第２のステージは、離散した構成部分にて行われる。例えば、第１のステージ及び第２のステージは、グラフィックプロセッサにて行うことができる。１つの実施形態では、第１のステージは、第１の離散した構成部分にて行われ、第２のステージは、第２の離散した構成部分にて行われる。例えば、第１のステージは、中央プロセッサにて行うことができ、第２のステージは、グラフィックプロセッサにて行うことができる。エンコーディングシステム６００は、マルチレベルプレディクションモードエンコーディングタイプ判断処理（例えば、５００等）を実施して、インタープレディクションコストやイントラプレディクションコストを決定し、又、インタープレディクションタイプエンコーディングか又はイントラプレディクションタイプエンコーディングかを判断するのにも使用できる。
【００５３】
[0062]図７は、本発明の１つの実施形態によるマルチステージエンコーディングタイプ方法７００のフローチャートである。１つの実施形態では、イントラプレディクション関連サーチ及びインタープレディクション関連サーチは、余すところのないサーチである。更に、マルチステージエンコーディングタイプ方法７００は、フルマクロブロックタイププレディクション又はサブマクロブロックタイププレディクションをなすべきかの判断に基づいて行うことができる。
【００５４】
[0063]オペレーション７１０において、イントラプレディクション関連サーチ及び対応するプレディクションが行われ、この場合において、そのイントラプレディクション関連サーチの少なくとも部分は、インタープレディクション関連サーチと並列して行われる。
【００５５】
[0064]オペレーション７２０において、インタープレディクション関連サーチ及び対応するプレディクションが行われ、この場合において、そのインタープレディクション関連サーチの少なくとも部分は、イントラプレディクション関連サーチと並列して行われる。
【００５６】
[0065]オペレーション７３０において、マルチレベルプレディクションモードエンコーディングタイプ判断処理が行われる。このマルチレベルプレディクションモードエンコーディングタイプ判断処理を行うにおいて、融通性のあるエンコーディングタイプ決定処理（例えば、５５０等）を使用することができることは、理解されよう。
【００５７】
[0066]図８は、本発明の１つの実施形態による典型的なビデオプロセッサ又はグラフィックプロセッサを組み込んだ典型的なアーキテクチャーを示している。図８に示されるように、システム８００は、２つのパワードメイン８２１及び８２２を含むプログラマブルＳＯＣ集積回路装置８１０を実施する。パワードメイン８２１は、「常時オン」パワーアイランド８３１を含む。パワードメイン８２２は、そのＳＯＣのコアと称され、ＣＰＵパワーアイランド８３２、ＧＰＵパワーアイランド８３３、ノンパワーゲーテッド機能アイランド８３４及びビデオプロセッサ８３５のインスタンスを含む。システムアーキテクチャー８００の図８の実施形態は、電池駆動式ハンドヘルド型ＳＯＣ集積回路装置の特定用途装置機能に向けられている。このＳＯＣ８１０は、電力管理装置８５０に結合され、その電力管理装置８５０は、電源電池（Ｐｏｗｅｒ  Ｃｅｌｌ）８５１（例えば、１つ以上の電池）に結合される。この電力管理装置８５０は、それぞれ専用のパワーレール８６１及び８６２を介してパワードメイン８２１及び８２２へ電力を与えるように結合される。この電力管理装置８５０は、ＳＯＣ８１０のための電力供給源として機能する。この電力管理装置８５０は、電源電池８５１からのエネルギーをレール８６１−８６２のための必要な電圧へと転送するため、電力調整回路、電圧ポンピング回路、電流源回路等を組み入れている。
【００５８】
[0067]図８の実施形態では、ビデオプロセッサは、ドメイン８２２内にある。このビデオプロセッサは、画像及びビデオのエンコーディングのための特殊化ビデオ処理ハードウエアを与える。前述したように、このビデオプロセッサのハードウエア構成部分は、実時間ビデオエンコーディングを行うため特に最適化されている。ドメイン８２１の常時オンパワーアイランド８３１は、スリープモードからＳＯＣ８１０をウエイクアップするための機能を含む。この常時オンドメイン８２１の構成部分は、アクティブのままで、ウエイクアップ信号を待つ。ＣＰＵパワーアイランド８３２は、ドメイン８２２内にある。このＣＰＵパワーアイランド８３２は、ＳＯＣ８１０のためのより複雑なソフトウエアベースの機能を実行する計算ハードウエアリソースを与える。ＧＰＵパワーアイランド８３３も又、ドメイン８２２内にある。このＧＰＵパワーアイランド８３３は、３次元レンダリング機能を実行するためのグラフィックプロセッサハードウエア機能を与える。
【００５９】
[0068]図９は、本発明の１つの実施形態によるハンドヘルド型装置９００の構成部分を示す図を示している。図９に示されるように、ハンドヘルド型装置９００は、図８に関して前述したようなシステムアーキテクチャー８００を含む。このハンドヘルド型装置９００は、この装置９００に種々な能力及び機能を付加する周辺装置９０１−９０７を含むように示されている。この装置９００は、周辺装置９０１−９０７を有するように示されているのであるが、この装置９００の実施においては、これら周辺装置９０１−９０７の全てを必要としない場合もあることに注意されたい。例えば、ディスプレイ９０３がタッチスクリーンディスプレイであるような実施形態では、キーボード９０２は省くことができる。同様に、例えば、セルフォン又はワイファイケイパビリティを必要としない実施形態の場合には、高周波トランシーバを省くことができる。更に又、付加的な機能を組み込むため、図示した周辺装置９０１−９０７以外の付加的な周辺装置を、この装置９００に加えることができる。例えば、データ記憶等のために、ハードドライブ又はソリッドステート大容量記憶装置を付加することができる。
【００６０】
[0069]高周波トランシーバ９０１により、二方向セルフォン通信及び高周波ワイヤレスモデム通信機能を可能とすることができる。キーボード９０２は、ボタンプッシュ、ポインタ操作、スクロールホイール、ジョグダイアル、タッチパッド等を介してのユーザー入力を可能とするものである。１つ以上のディスプレイ９０３は、画像、グラフィックユーザーインターフェース、フルモーションビデオ、テキスト等を介してのビジュアル出力を与えるものである。オーディオ出力構成部分９０４は、ユーザーへオーディオ出力（例えば、可聴命令、セルフォン会話、ＭＰ３歌再生等）を与えるものである。ＧＰＳ構成部分９０５は、受信されたＧＰＳ信号によるＧＰＳ位置情報計測サービスを提供する。このＧＰＳ位置情報計測サービスによれば、例えば、ナビゲーションアプリケーション及びロケーションアプリケーションのオペレーションが可能とされる。リムーバブル記憶装置周辺構成部分９０６は、フラッシュメモリ、ＳＤカード、スマートカード等の如きリムーバブル記憶装置の着脱を可能とする。画像キャプチャ構成部分９０７は、静止画像又はフルモーションビデオの取り込みを可能とする。ハンドヘルド型装置９００は、セルラー通信技法によるスマートフォン、携帯情報端末、モバイルビデオ再生装置、モバイルオーディオ再生装置、ナビゲーション装置又はこれらの全ての特性及び機能を含む組合せ機能装置を実施するのに使用することができる。
【００６１】
[0070]従って、本発明によれば、リソースを融通性をもって且つ指示に従って使用することが容易とされる。エンコーディングパイプオペレーションに対する停止衝撃を最小として、実行時間の速度（例えば、実時間にて等）で圧縮を行うことができる。更に又、オペレーションを並列して行うことができ、応答性及び効率を増大することができる。
【００６２】
[0071]本発明の特定の実施形態の前述の説明は、例示のための説明として提示されたものである。これら説明は、これが全てであるというものでなく、又、本発明を、ここで開示した形そのものに限定しようとするものでなく、前述したことを考慮するならば、多くの変更及び変形が可能であるものである。これら実施形態は、本発明の原理及びその実際の応用について最良な説明をなし、それにより、他の当業者が、本発明及び種々な実施形態を、意図するような特定の用途に適合するように種々な変更を加えて最良に利用できるようにするために、選択され説明されているのである。本発明の範囲は、特許請求の範囲及びそれらの均等物により定められるものとせんとするものである。方法の特許請求の範囲の記載における各ステップの列挙の順番は、その特許請求の範囲の記載において明示していない限り、それらステップを行うための順番を特定しているものではない。
【符号の説明】
【００６３】
１００・・・エンコーディングアーキテクチャー、１０１・・・現在フレーム、１０２・・・現在フレーム、１０３・・・現在フレーム、１０４・・・現在フレーム、１０５・・・現在フレーム、１１０・・・エンコーディングシステム、１２０・・・エンコーダ、１３０・・・メモリ、１３１・・・再構成フレーム、１３２・・・再構成フレーム、１３３・・・再構成フレーム、１４０・・・再構成デコーダ、１５０・・・リモートデコーダ、２００・・・コンピュータシステム、２０１・・・中央処理装置（中央プロセッサ）、２０２・・・主メモリ、２０３・・・チップセット、２０４・・・リムーバブルデータ記憶装置、２０５・・・サウスブリッジ、２０７・・・入力装置、２０８・・・信号通信ポート、２０９・・・ノースブリッジ、２１０・・・グラフィックサブシステム、２１１・・・グラフィックプロセッサ、２１５・・・フレームバッファ、２２０・・・表示装置（ディスプレイ）、２９１・・・通信バス、２９２・・・通信バス、２９３・・・通信バス、２９４・・・通信バス、２９５・・・通信バス、２９７・・・通信バス、３００・・・量子化エンコーダシステム、３１０・・・モーションサーチエンジン（モジュール）、３２１・・・モーション補償モジュール、３２２・・・変換モジュール、３２３・・・量子化モジュール、３２４・・・量子化係数バッファ、３２５・・・量子化ポストプロセッサ（ＱＰＰ）、３２６・・・逆量子化モジュール、３２７・・・逆変換モジュール、３２８・・・再構成／デブロックモジュール、３３０・・・エントロピーエンコーダ、５００・・・マルチレベルプレディクションモードエンコーディングタイプ判断方法、５５０・・・融通性のあるエンコーディングタイプ決定処理、６００・・・エンコーディングシステム、６１０・・・第１のステージ、６１１・・・インタープレディクション関連サーチモジュール、６１２・・・プレディクション及びコストモジュール、６１３・・・Ｉ／Ｐ判断モジュール、６２０・・・第２のステージ、６２１・・・イントラサーチモジュール、６２２・・・プレディクション及びコストモジュール、６２３・・・変換モジュール、６３０・・・第３のステージ、７００・・・マルチステージエンコーディングタイプ方法、８００・・・システムアーキテクチャー、８１０・・・プログラマブルＳＯＣ集積回路装置、８２１・・・パワードメイン、８２２・・・パワードメイン、８３１・・・「常時オン」パワーアイランド、８３２・・・ＣＰＵパワーアイランド、８３３・・・ＧＰＵパワーアイランド、８３４・・・ノンパワーゲーテッド機能アイランド、８３５・・・ビデオプロセッサ、８５０・・・電力管理装置、８５１・・・電源電池、８６１・・・パワーレール、８６２・・・パワーレール、８７０・・・メモリ、９００・・・ハンドヘルド型装置、９０１・・・高周波トランシーバ、９０２・・・キーボード、９０３・・・ディスプレイ、９０４・・・オーディオ出力構成部分、９０５・・・ＧＰＳ構成部分、９０６・・・リムーバブル記憶装置周辺構成部分、９０７・・・画像キャプチャ構成部分
【図１】
2010178335.tif 000004
【図２】
2010178335.tif 000005
【図３】
2010178335.tif 000006
【図４】
2010178335.tif 000007
【図５Ａ】
2010178335.tif 000008
【図５Ｂ】
2010178335.tif 000009
【図６】
2010178335.tif 000010
【図７】
2010178335.tif 000011
【図８】
2010178335.tif 000012
【図９】
2010178335.tif 000013
【外国語明細書】
2010178335000001.pdf