JP5241743B2 - デュアルステージイントラプレディクションビデオエンコーディングシステム及び方法 - Google Patents

デュアルステージイントラプレディクションビデオエンコーディングシステム及び方法 Download PDF

Info

Publication number
JP5241743B2
JP5241743B2 JP2010010974A JP2010010974A JP5241743B2 JP 5241743 B2 JP5241743 B2 JP 5241743B2 JP 2010010974 A JP2010010974 A JP 2010010974A JP 2010010974 A JP2010010974 A JP 2010010974A JP 5241743 B2 JP5241743 B2 JP 5241743B2
Authority
JP
Japan
Prior art keywords
prediction mode
encoding
type
level
prediction
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.)
Active
Application number
JP2010010974A
Other languages
English (en)
Other versions
JP2010178335A (ja
Inventor
ガーグ アトゥル
カーパティ トーマス
Original Assignee
エヌヴィディア コーポレイション
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 エヌヴィディア コーポレイション filed Critical エヌヴィディア コーポレイション
Publication of JP2010178335A publication Critical patent/JP2010178335A/ja
Application granted granted Critical
Publication of JP5241743B2 publication Critical patent/JP5241743B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/162User input
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

[0001]本発明は、グラフィックエンコーディングの分野に係る。
[0002]電子システム及び回路は、現代社会の進歩に相当の寄与をしてきており、効果的な結果を達成するため多くの用途において使用されている。デジタルコンピュータ、計算器、オーディオ装置、ビデオ装置及び電話システムの如き多くの電子技術は、ビジネス、科学、教育及び娯楽のほとんどの領域においてデータ、アイデア及びトレンドを分析して通信する上での生産性の増大及びコスト削減を容易にするものである。これらアクティビティには、ビデオエンコーディング及びデコーディングが必要とされることが多い。しかしながら、エンコーディング及びデコーディングには、貴重なリソースを占有してしまい且つ時間を消費するような複雑な処理が必要となることがある。
[0003]デジタル媒体が発展するにつれて、ビデオコンテンツの普及が急増してきている。ビデオコンテンツは、典型的に、大量のデータを含むものであり、これは、記憶したり通信したりするのに比較的にコストが掛かるものである。これらの情報を圧縮する試みにおいて、エンコーディング及びデコーディング技法が使用されることが多い。しかしながら、エンコーディング及びデコーディング技法により試みられる圧縮比率が高くなるにつれて、典型的に、失われる情報が増大してしまう。もし、圧縮において「失われる」情報が多過ぎると、ビデオプレゼンテーションの品質及びユーザーの体験が低下してしまうことになる。
[0004]H.264の如きビデオ圧縮技法は、生のビデオストリームを圧縮するのに時間的及び空間的プレディクションを使用することが多い。典型的な圧縮エンジンは、イントラプレディクションモジュール、モーションプレディクションモジュール、変換モジュール及びエントロピーコーディングモジュールを含むことができる。ベースラインプロフィール4:2:0ビデオの場合には、マクロブロックは、16x16−ピクセルルマブロック及び2つの8x8−クロマブロックを含むものとして定義される。H.264ビデオコーディングにおいては、各マクロブロックは、イントラプレディクション(I)マクロブロック又はインタープレディクション(P)マクロブロックとしてコード化される。典型的に、エンコードされたビットストリームにおけるマクロブロックのほとんどは、Pタイプマクロブロックであり、従って、そのマクロブロックのコストをIタイプマクロブロックとして計算するのは、コンピューティングリソースの上で非常にコストの掛かるものとなる。
[0005]マルチレベルプレディクションモード(multi−level prediction mode)エンコーディングタイプ判断方法及びシステムが提供される。1つの実施形態では、プレディクションモードレベルの指示が受け取られ、前記プレディクションモードレベルに従ってエンコーディングが行われる。前記プレディクションモードレベルの指示は、プログラム可能であり、異なるレベルに設定することができる。前記プレディクションモードレベルは、プログラマブルエンコーディングタイプ判断ポイント(例えば、早い時期、中間時期、遅い時期等の)に関連付けられる。前記エンコーディング処理は、Iタイプ又はPタイプのエンコーディングを判断することを含む。1つの実施形態では、イントラプレディクション関連サーチの少なくとも一部分及びインタープレディクション関連サーチが並列に行われるようなマルチステージエンコーディングタイプ方法も実施される。
[0006]添付図面は、本明細書に組み込まれ本明細書の部分を構成するもので、本発明の原理を典型的に例示するため含まれたものであり、そこに例示された特定の実施に本発明を限定しようとするものではない。これら図面は、特に指示のない限り、正しいスケールで描かれていない。
本発明の1つの実施形態による典型的なエンコーディングアーキテクチャーのブロック図である。 本発明の1つの実施形態によりエンコーディングを実施することのできる典型的なコンピュータシステムのブロック図である。 本発明の1つの実施形態によりエンコーディングを実施することのできるエンコーダシステム300のブロック図である。 本発明の1つの実施形態によるデュアルフェーズマクロブロック決定及びコーディング処理を例示する図である。 本発明の1つの実施形態による典型的なマルチレベルプレディクションモードエンコーディングタイプ判断方法のフローチャートである。 本発明の1つの実施形態による典型的な融通性のあるエンコーディングタイプ決定処理のフローチャートである。 本発明の1つの実施形態による典型的なエンコーディングシステム600のブロック図である。 本発明の1つの実施形態によるマルチステージエンコーディングタイプ方法700のフローチャートである。 本発明の1つの実施形態による典型的なビデオプロセッサ又はグラフィックプロセッサを組み込む典型的なアーキテクチャーを示している。 本発明の1つの実施形態によるハンドヘルド型装置の典型的な構成部分のブロック図である。
[0017]幾つかの実施例が添付図面に例示されている本発明の好ましい実施形態について、以下、詳細に参照する。本発明は、これら好ましい実施形態に関連して説明されるのであるが、これらは、本発明をこれら実施形態に限定するものでないことを理解されたい。反対に、本発明は、特許請求の範囲の記載により限定されるような本発明の精神及び範囲内に含まれる代替物、変更及び均等物を含む。更に、次の本発明の詳細な説明において、本発明の理解を完全なものとするため、種々な特定の細部について説明する。しかしながら、本発明は、これらの特定の細部を伴わずとも実施できるものであることは、当業者には明らかであろう。他方では、本発明の態様を不必要に不明瞭にしないために、良く知られた方法、手順、構成部分及び回路については、詳細に説明しない。
[0018]以下の詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションの手順、論理ブロック、処理及び他の記号表現の形でなされている。これらの記述及び表現は、データ処理分野における当業者が自己の研究成果を他の当業者へ効果的に伝えるのに一般的に使用する手段である。手順、論理ブロック、処理等は、ここでも、且つ一般的にも、希望の結果をもたらすステップ又は命令の自己矛盾のないシーケンスであると考えられている。それらステップは、物理量の物理的操作を含む。必ずしもそうではないが、通常、これらの量は、コンピュータシステムにおいて、記憶され、転送され、結合され、比較され、その他の操作を受けることのできる電気的、磁気的、光学的又は量子的信号の形をとる。主として慣用されているという理由で、これらの信号を、ビット、値、要素、記号、文字、用語、数字等として示すのが、時には、便利であることが分かっている。
[0019]しかしながら、これら及び同様の用語の全ては、適当な物理量に関連付けられており、これらの量に適用されている便宜的なラベルに過ぎないことに注意されたい。以下の説明から明らかなように、特に指示のない限り、本願明細書を通じて、「処理」、「コンピューティング」、「計算する」、「決定する」、「表示する」、「アクセスする」、「書く」、「含む」、「記憶する」、「送信する」、「トラバースする」、「関連付ける」、「識別する」等の如き用語を使用している記述は、物理(例えば、電子的)量として表されたデータを操作し変換するコンピュータシステム又は同様の処理装置(例えば、電気的、光学的又は量子的、コンピューティング装置)の動作及び処理についてなされていることを理解されたい。これら用語は、コンピュータシステムの構成部分(例えば、レジスタ、メモリ、他のこのような情報記憶装置、送信又は表示装置等)内の物理量を操作し又は他の構成部分内の物理量として同様に表される他のデータへと変換するような処理装置の動作及び処理を指している。
[0020]以下の詳細な説明のある部分は、方法の形にて提示され説明されている。ステップ及びそれらのシーケンスは、ここでは、この方法のオペレーションを記述する図にて説明されているのであるが、このようなステップ及びシーケンスは、典型的なものである。実施形態は、種々な他のステップ及びここで図のフローチャートに列挙されたステップの変形例を、ここで示し説明するものとは違ったシーケンスにて行うことができるように、十分に適合したものとすることができる。
[0021]詳細な説明のある部分は、コンピュータメモリにて行われるデータビットに対するオペレーションの手順、ステップ、論理ブロック、処理及び他の記号的表現の形にて与えられている。これらの記述及び表現は、データ処理分野の当業者が、自己の研究成果を他の当業者へと最も効果的に伝えるのに使用する手段である。手順、コンピュータ実施ステップ、論理ブロック、処理等は、ここでも、又、一般的にも、希望の結果を達成するためのステップ又は命令の自己矛盾のないシーケンスであると考えられている。これらステップは、物理量の物理的操作を必要とするものである。必ずしもそうではないが、通常、これらの量は、コンピュータシステムにおいて、記憶され、転送され、結合され、比較され、その他の操作がなされる電気的又は磁気的信号の形をとる。主として、慣用されているという理由で、これらの信号を、ビット、値、要素、記号、文字、用語、数字等として示すのが、時には、便利であることが分かっている。
[0022]しかしながら、これら及び同様の用語の全ては、適当な物理量に関連付けられるべきであり、これらの量に適用されている便宜的なラベルに過ぎないことに、注意されたい。以下の説明から明らかなように、特にそうではないと断らない限り、本願明細書を通じて、「アクセスする」、「書く」、「含む」、「記憶する」、「送信する」、「トラバースする」、「関連付ける」、「識別する」等の如き用語を使用している記述は、コンピュータシステムのレジスタ及びメモリ内の物理(電子的)量として表されたデータを、操作し、そのコンピュータシステムメモリ又はレジスタ、又は他のそのような情報記憶装置、送信又は表示装置内の物理量として同様に表された他のデータへと変換するコンピュータシステム又は同様の電子的コンピューティング装置の動作及び処理についてなされていることを、理解されたい。
[0023]コンピューティング装置は、典型的には、少なくとも、ある形のコンピュータ読み取り可能な媒体を含む。コンピュータ読み取り可能な媒体は、コンピューティング装置によりアクセスされることのできる任意の利用可能な媒体であってよい。これに限定されないが、一例として、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体及び通信媒体を含む。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール又は他のデータの如き情報を記憶するための任意の方法又は技法にて実施される揮発性及び不揮発性、リムーバブル及びノンリムーバブル媒体を含む。コンピュータ記憶媒体は、これに限定されないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技法、CD−ROM、デジタルバーサタイルディスク(DVD)又は他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、又は希望の情報を記憶するのに使用され且つコンピューティング装置によりアクセスされる任意の他の媒体を含む。通信媒体は、典型的には、搬送波の如き変調データ信号又は他の輸送機構において、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを実施し、又、任意の情報配信媒体を含む。用語「変調データ信号」は、その信号にて情報をエンコードするような仕方にて設定され又は変更される1つ以上の特性を有するような信号を意味している。これに限定するものではないが、一例とし、通信媒体は、ワイヤードネットワーク又はダイレクトワイヤード接続の如きワイヤード媒体及び音響、高周波、赤外線及び他のワイヤレス媒体の如きワイヤレス媒体を含む。前述したものの任意のものの組合せもまた、コンピュータ読み取り可能な媒体の範囲内に含まれるものである。
[0024]幾つかの実施形態については、1つ以上のコンピュータ又は他の装置によって実行されるプログラムモジュールの如きコンピュータ実施可能な命令に一般的に関連して説明される。一般的に、プログラムモジュールは、特定のタスクを行う又は特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、種々な実施形態において望まれるように、結合され又は分散されることができる。
[0025]ここに説明する実施形態は、コンピュータシステムの離散構成部分としてCPU及びGPUを説明するのであるが、当業者であれば、CPU及びGPUは、単一装置として一体化することができ、又、CPU及びGPUは、命令ロジック、バッファ、関数ユニット等の如き種々なリソースを共用することができ、又は、グラフィック及び汎用オペレーションのために別々のリソースを設けることができることは、認識されよう。従って、GPUと関連付けられるものとしてここに説明した回路及び/又は機能の任意のもの又は全てのものは、適当にコンフィギュレーションされたCPUにて、実施し、又、実行することのできるものでもある。
[0026]更に又、ここに説明する実施形態は、GPUに関して説明されるのであるが、ここに説明する回路及び/又は機能は、汎用又は他の特定用途コプロセッサの如き他のタイプのプロセッサにても実施でき、又、CPU内においても実施することができるものであることを理解されたい。
[0027]本発明によれば、効率的で効果的なビデオ圧縮を容易に行うことができる。本発明の1つの実施形態では、マクロブロックタイプの判断は、I又はPタイププレディクションでそのマクロブロックをコーディングするコストを評価することによりなされる。この判断は、各マクロブロックについてなされる。各Iタイプマクロブロックのコストを決定するには、比較的に多くのリソースが必要とされ、性能に影響が及ぼされ、そして、各マクロブロックのイントラコストを決定すると、より良好にマクロブロックタイプ判断を容易に行うことができ、その結果としてエンコードされたビットストリームの品質を改善することができる。本発明のシステム及び方法によれば、エンコーディングにおける性能と品質との間のバランスを、融通性をもって且つ効率的に容易にとることができる。本発明のシステム及び方法によれば、プレディクション関連コストを決定し且つプレディクションタイプ判断をなすのに使用されるリソースの量の選択をプログラム可能なものとすることができる。
[0028]1つの実施形態では、イントラプレディクション及び計算は、費やされる計算の複雑さの量及び最終的に圧縮されたビットストリームの品質を制御できるように、2つのプログラム可能なフェーズに分割される。計算の複雑さを低いものに選択することができ、そうすることにより、より多くのマクロブロックを処理することができ、より大きなフレームサイズ又はより高いフレームレートとすることができ、又は一定量のデータをエンコードするための電力使用をより低いものとすることができる。同様に、より高い品質を必要とする用途の場合には、計算の複雑さを高いものに選択することができる。このような融通性のあるスキームでは、各フェーズにてなされるワークを設定することにより、計算の複雑さを微細に制御することが可能となる。1つの典型的な実施では、幾つかのイントラプレディクション及びインタープレディクションオペレーションが同時に開始され且つ並列して行われる。
[0029]図1は、本発明の1つの実施形態による典型的なエンコーディングアーキテクチャー100のブロック図である。このエンコーディングアーキテクチャー100は、エンコーディングシステム110及びリモートデコーダ150を含む。エンコーディングシステム110は、現在フレーム(例えば、現在フレーム104及び105)を受け取り、それら現在フレームをエンコードし、それから、そのエンコードされた現在フレーム(例えば、現在フレーム101、102及び103)をリモートデコーダ150へと送る。エンコーディングシステム110は、エンコーダ120、再構成デコーダ140及びメモリ130を含む。エンコーダ120は、それらフレームをエンコードし、それらをリモートデコーダ150及び再構成デコーダ140へと送る。再構成デコーダ140は、それらフレームをデコードし、それらをメモリ130へと送り、再構成フレーム131、132及び133として記憶させる。1つの典型的な実施では、再構成フレーム131、132及び133は、現在フレーム101、102及び103に対応している。
[0030]図2は、本発明の実施形態を具現化できるコンピュータシステムの1つの実施形態である典型的なコンピュータシステム200を示すブロック図である。このコンピュータシステム200は、中央処理装置201、主メモリ202(例えば、ランダムアクセスメモリ)、ノースブリッジ209及びサウスブリッジ205を有するチップセット203、リムーバブルデータ記憶装置204、入力装置207、信号通信ポート208、及びディスプレイ220に結合されるグラフィックサブシステム210を含む。コンピュータシステム200は、コンピュータシステム200の構成部分を通信できるように結合する幾つかのバスを含む。通信バス291(例えば、フロントサイドバス)は、チップセット203のノースブリッジ209を中央処理装置201に結合する。通信バス292(例えば、主メモリバス)は、チップセット203のノースブリッジ209を主メモリ202に結合する。通信バス293(例えば、アドバンスドグラフィックポートインターフェース)は、チップセット203のノースブリッジをグラフィックサブシステム210に結合する。通信バス294、295及び297(例えば、PCIバス)は、チップセット203のサウスブリッジ205を、それぞれリムーバブルデータ記憶装置204、入力装置207、信号通信ポート208に結合する。グラフィックサブシステム210は、グラフィックプロセッサ211及びフレームバッファ215を含む。
[0031]コンピュータシステム200の構成部分は、種々な機能及び性能を与えるように、協働して動作する。1つの典型的な実施では、コンピュータシステム200の構成部分は、コンピュータシステム200に含まれた機能構成部分のあるものに欠陥があるとしても、所定のタイプの機能を与えるように、協働して動作する。通信バス291、292、293、294、295及び297は、情報を通信する。中央プロセッサ201は、情報を処理する。主メモリ202は、中央プロセッサ201のための情報及び命令を記憶する。リムーバブルデータ記憶装置204も又、情報及び命令を記憶する(例えば、大型情報貯蔵装置として機能する)。入力装置207は、情報を入力し及び/又はディスプレイ220上の情報をポインティング又はハイライトするための機構を与える。信号通信ポート208は、外部装置に対する通信インターフェース(例えば、ネットワークとのインターフェース)を与える。表示装置220は、フレームバッファ215に記憶されたデータに従って情報を表示する。グラフィックプロセッサ211は、中央プロセッサ201からのグラフィックコマンドを処理し、その結果として生ずるデータをフレームバッファ215へと与えて、記憶させ且つ表示モニタ220により検索できるようにする。
[0032]次に、図3を参照するに、そこには、本発明の1つの実施形態による量子化エンコーダシステム300のブロック図が示されている。この量子化エンコーダシステム300は、モーションサーチエンジン310、モーション補償モジュール321、変換モジュール322、量子化モジュール323、量子化係数バッファモジュール324、量子化ポストプロセッサ(QPP)325、逆量子化モジュール326、逆変換モジュール327、再構成/デブロックモジュール328及びエントロピーエンコーダ330を含む。モーションサーチエンジン310は、再構成/デブロックモジュール328及びモーション補償モジュール321に通信できるように結合され、モーション補償モジュール321は、変換モジュール322に通信できるように結合され、そして、変換モジュール322は、量子化モジュール323に通信できるように結合されている。量子化モジュール323は、量子化係数バッファモジュール324及び逆量子化モジュール324に通信できるように結合され、逆量子化モジュール324は、逆変換モジュール327に通信できるように結合され、そして、逆変換モジュール327は、再構成/デブロックモジュール328に通信できるように結合されている。
[0033]量子化エンコーダシステム300の構成部分は、圧縮比を増大させるように協働して動作する。モーションサーチモジュール310は、生のビデオデータ(例えば、ピクチャデータ、フレームデータ等)の入力ビットストリームを受け取り、多くは16x16ピクセルのマクロブロックにてそれを処理し、その処理された情報は、モーション補償モジュール321へと送られる。1つの実施形態では、モーションサーチモジュール310による処理は、ピクチャ又はフレームの生ビデオデータを、フレームベースにて、再構成/デブロックモジュール328から受け取られた再構成ピクチャ又はフレームデータと比較して、「画像モーション」指示を検出することを含む。変換エンジン322は、モーション補償情報を受け取り、付加的なオペレーション(例えば、離散コサイン変換等)を行い、データ(例えば、変換された係数等)を量子化モジュール323へ出力する。量子化モジュール323は、受け取られた情報の量子化を行い、その量子化の結果は、量子化係数バッファ324、逆量子化モジュール326へと送られる。情報のバッファリング又は一時的記憶を行い且つ種々なエンコーディングステージにおいて独立してオペレーションを行えるようにし、又、同時にオペレーションを行えるようにすることにより効率を増大させるため、量子化バッファ324の如きバッファを使用することができる。例えば、量子化係数バッファ324は、量子化モジュール323の結果を記憶する。エントロピーエンコーダ330は、量子化バッファ324からデータを取り出し、エンコードされたビットストリームを出力する。逆量子化モジュール326、逆変換モジュール327及び再構成/デブロックモジュール328を含む再構成パイプは、フレーム又はピクチャに関連付けられた再構成ビットストリームの生成に向けられたオペレーションを行う。1つの実施形態では、結果を改善するため、後処理量子化が使用される。1つの典型的な実施では、「Post Processing Encoding System and Method」と題する同時係属出願(代理人管理番号NVID−P003716)に記載されたような後処理量子化が使用される。
[0034]図4は、本発明の1つの実施形態によるデュアルフェーズマクロブロック決定及びエンコーディング処理を例示する図である。1つの実施形態では、種々なプレディクションモードレベルをプログラム可能なものとしている。プレディクションモードレベルをプログラム可能としたことにより、特定の目的又は用途に基づいてリソース使用と品質とのバランスをとることができるようになる。1つの典型的な実施では、プレディクションモードレベルは、I/Pタイプ判断ポイント選択に対応しており、そのI/Pタイプ判断ポイントは、プログラム可能なものされている。例えば、判断ポイントをプログラム可能としたことにより、I/Pタイプ判断を、予備データ、比較的に広範なデータ又はそれらの間のどこかに入るデータに基づいてなすことができるようになる。1つの典型的な実施では、I/Pタイプ判断は、予備データが使用できるときには、その処理の早い時期において行うことができ、又、このI/Pタイプ判断は、広範なデータが使用でき、比較的に最適な判断がなされるときには、その処理の遅い時期において行うことができ、又、このI/Pタイプ判断は、中間量のデータに基づいて、早い時期の指定と遅い時期の指定との間のどこかにおいて行うことができる。I/P判断ポイントの選択により、第1のフェーズと第2のフェーズとの間の境界が定められる。
[0035]1つの実施形態では、第1のフェーズ及び第2のフェーズにおいてなされる計算は、I/Pタイプ判断ポイントのプログラミングに依存している。1つの典型的な実施では、I/P判断ポイントのプログラミング選択は、コスト決定の複雑さに関連つけられている。1つの実施形態では、大マクロブロックコスト複雑さ、部分サブマクロブロックコスト複雑さ及び完全サブブロックコスト複雑さを含むコスト複雑さの3つのレベルがある。例えば、もし、マクロブロックが4x4ピクセルサブブロックを有する16x16ピクセルマクロブロックである場合には、大マクロブロックコスト複雑さは、16x16コストを決定することを含み、部分サブマクロブロックコスト複雑さは、4x4コストのうちのあるものを決定することを含み、完全サブマクロブロックコスト複雑さは、4x4コストの全てを決定することを含む。1つの典型的な実施では、大マクロブロックコスト複雑さは、リソースを保存するものとして考えられており、早い時期のI/Pタイプ判断に使用され、部分サブマクロブロックコスト複雑さは、リソースの保存と品質との調和をとるものと考えられており、中間時期のI/Pタイプ決定に使用され、完全サブマクロブロックコスト複雑さは、品質を最大とするものとして考えられており、遅い時期の決定に使用される。
[0036]第1のフェーズは、時間t1、t2又はt3で終わり、第2のフェーズは、時間t1、t2又はt3で開始できる。I/Pタイプ判断ポイント401の選択は、時間t1に対応しており、I/P判断ポイント420の選択は、時間t2に対応しており、I/P判断ポイント403の選択は、時間t3に対応している。第1のフェーズオペレーション411において、16x16イントラコストが計算され、I/P判断が判断ポイント401までの16x16イントラコスト及びフルインターコストに基づいてなされる。もし、そのマクロブロックモードがイントラとして判断される場合には、その時には、第2のフェーズオペレーション412において、16x16イントラと4x4イントラモードとの間のウイナーを決定するため更に別の計算がなされる。もし、マクロブロックモードがインター(P)として判断される場合には、その時には、第2のフェーズオペレーション412においてプレディクションがなされるだけである。I/Pタイプ判断ポイント401の選択は、イントラコスト決定のための計算上の複雑さを最少とする。
[0037]第1のフェーズオペレーション421において、16x16モードイントラコスト計算と4x4モードイントラコスト計算のうちのあるものとの両者が、第1のフェーズにて判断ポイント402までに行われる。オペレーション421の1つの典型的な実施では、9個の可能性のあるモードの全てからの幾つかの4x4モードが、第1のフェーズにて計算される。第1のフェーズオペレーション431において、16x16モードイントラコスト計算と4x4モードイントラコスト計算の全てとの両者が、判断ポイント403までに行われる。そして、このことは、実際のプレディクションが第2のフェーズオペレーション432にてなされることを意味している。判断ポイント403の選択は、最も多くの計算を必要とする判断を含む。判断ポイント402の選択は、判断ポイント401及び403の2つの極端の間の計算の複雑さにおける融通性のスライディングスケールを与える。もし、そのマクロブロックがイントラとして判断される場合には、その時には、4x4モードの全てがより正確なものとするため再計算される。ほとんどの場合、マクロブロックタイプは、インター(P)であるので、4x4モードを部分的に計算することにより、品質をほとんど劣化させずに多くの計算を省くことができる。
[0038]次の表は、第1のフェーズIP1及び第2のフェーズIP2のコンテンツと共に3つの判断ポイントを示している。
Figure 0005241743
[0039]1つの実施形態では、インタープレディクションコスト決定は、イントラプレディクションコスト決定が開始されるときに、開始される。1つの典型的な実施では、インターコスト計算は、第1のフェーズにて完全になされる。第1のフェーズは、プレディクションのために可能性のあるモードを通してサーチし、Iタイププレディクション及びPタイププレディクションを行うためのコストを計算する。これらのコストは、マクロブロックモードウイナーをIタイプ又はPタイプとして決定するため比較される。1つの実施形態では、判断ポイントのプログラミング容易性は、次のイントラコスト判断に影響を及ぼす。第2のフェーズにおいて、もしマクロブロックモードがイントラである場合には、最終モードウイナーを決定するため、より詳細な分析がなされる。例えば、最終マクロブロックイントラモードは、4x4又は16x16モードである。第2のフェーズは、選択されたモードを使用して実際のプレディクションを行い、その処理パイプラインに沿って更に使用するためそのデータを処理する。
[0040]I/Pタイプ判断及びプレディクションにおける種々なプレディクションモードレベル又は調整の融通性のある選択は、ユーザープログラミングに基づくことができる。ユーザーは、どのイントラプレディクションモード(例えば、16x16、4x4等)をそのビットストリームに使用できるかということ、及びI/Pタイプ判断ポイントの位置をプログラムすることができる。1つの典型的な実施では、第1のフェーズは、16x16モードのアベイラビリティから開始され、16x16計算の後に第2のフェーズの方へと進む。
[0041]図5Aは、本発明の1つの実施形態による典型的なマルチレベルプレディクションモードエンコーディングタイプ判断方法500のフローチャートである。
[0042]オペレーション501において、プレディクションモードレベルの指示が受け取られる。1つの実施形態では、プレディクションモードレベルの指示は、プログラムできるものである。プレディクションモードレベルの指示は、ユーザー入力、アプリケーションのタイプ等を含む種々な考慮事項に基づくことができる。プレディクションモードレベルは、プログラム可能なエンコーディングタイプ判断ポイントに関連付けることができる。1つの典型的な実施では、早い時期のプレディクションモードレベル、中間時期のプレディクションモードレベル及び遅い時期のモードレベルを含む3つのプレディクションモードレベルがある。
[0043]オペレーション502において、エンコーディングのタイプがプレディクションモードレベルに従って決定される。1つの実施形態では、このエンコーディングのタイプの決定は、融通性のあるエンコーディングタイプ決定処理を含む。
[0044]オペレーション503において、オペレーション502にて決定されたタイプのエンコーディングが行われる。1つの典型的な実施では、Iタイプ又はPタイプの
エンコーディングが、受け取られたビデオ情報に対して行われる。
[0045]図5Bは、本発明の1つの実施形態による典型的な融通性のあるエンコーディングタイプ決定処理550のフローチャートである。1つの実施形態では、フルマクロブロックタイププレディクションは、16x16ピクセルマクロブロックイントラプレディクションタイプであり、サブマクロブロックタイププレディクションは、4x4ピクセルサブブロックイントラプレディクションタイプである。
[0046]オペレーション509において、Iタイプサーチ及びプレディクション情報がオペレーション511、515及び520へ供給され、オペレーション510において、Pタイプサーチ及びプレディクション情報がオペレーション513、517及び521へ供給される。
[0047]オペレーション511において、第1のレベルのエンコーディングコストの計算を含めて、有効マクロブロックモードが処理される。1つの実施形態では、第1のレベルのエンコーディングコストは、大マクロブロックコスト複雑さに対応している。例えば、もし、アプリケーションが16x16マクロブロックを含む場合には、第1のレベルのエンコーディングコストがその16x16マクロブロックについて計算される。
[0048]オペレーション512において、プレディクションモードレベルの受け取られた指示が第1のレベルのプレディクションモード指示であるかの決定がなされる。もし、そのプレディクションモードレベルの指示が第1のレベルのプレディクションモード指示でない場合には、この処理は、オペレーション516へ進む。もし、このプレディクションモードレベルの指示が第1のレベルのプレディクションモード指示である場合には、この処理は、オペレーション513へ進む。
[0049]オペレーション513にて、マクロブロックのIタイプエンコーディング又はPタイプエンコーディングを行うかの判断が、第1のレベルのエンコーディングコストに基づいてなされる。もし、その判断がタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション524へ進む。もし、その判断がIタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション514へ進む。
[0050]有効4x4モードの処理がオペレーション514において行われ、コストが計算される。そのオペレーション514が完了するとき、この処理は、オペレーション519へジャンプする。
[0051]オペレーション516において、プレディクションモードレベルの受け取られた指示が第2のプレディクションモードレベル指示であるかの決定がなされる。もし、このプレディクションモードレベルの指示が第2のレベルのプレディクションモード指示でない場合には、この処理は、オペレーション520へ進む。もし、このプレディクションモードレベルの指示が第2のレベルのプレディクションモード指示である場合には、この処理は、オペレーション515へ進む。
[0052]第2のレベルのエンコーディングコストの計算を含めて、有効マクロブロックモードの部分サブセットがオペレーション515にて処理される。1つの実施形態では、第2のレベルのエンコーディングコストは、中間マクロブロックコスト複雑さに対応している。例えば、もし、アプリケーションが16x16マクロブロック及び4x4サブブロックを含む場合には、第2のレベルのエンコーディングコストがその4x4サブブロックのあるもについて計算される。
[0053]オペレーション517の場合には、マクロブロックのIタイプエンコーディング又はPタイプエンコーディングを行うべきかの判断が、第2のレベルのエンコーディングコストに基づいてなされる。もし、その判断がPタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション524へ進む。もし、その判断がIタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション518へ進む。
[0054]オペレーション518において、全ての有効4x4モードの処理が行われ、全てのコストが計算される。この処理は、オペレーション519へ進む。
[0055]オペレーション519において、フル(例えば、16x16等)マクロブロックタイププレディクション又はサブ(4x4等)マクロブロックタイププレディクションをなすかの決定がなされる。1つの実施形態では、プレディクション情報が再び生成され、その判断に使用される。この処理は、オペレーション523へジャンプする。
[0056]第3のレベルのエンコーディングコストの計算を含めて、全ての有効マクロブロックモードがオペレーション520において処理される。1つの実施形態では、この第3のレベルのエンコーディングコストは、小マクロブロックコスト複雑さに対応している。例えば、もし、アプリケーションが16x16マクロブロック及び4x4サブブロックを含む場合には、この第3のレベルのエンコーディングコストは、全ての4x4サブブロックについて再計算される。
[0057]オペレーション521において、もし、プレディクションモードレベルの受け取られた指示が第のプレディクションモードレベル指示である場合には、マクロブロックのIタイプエンコーディング又はPタイプエンコーディングを行うかの判断が、第のレベルのエンコーディングコストに基づいてなされる。もし、その判断がPタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション524へ進む。もし、その判断がIタイプエンコーディングを行うべきであるとする場合には、この処理は、オペレーション523へ進む。
[0058]オペレーション523において、Iタイプマクロブロック処理が行われ、オペレーション524において、Pタイプマクロブロック処理が行われる。各Iタイプマクロブロック又はPタイプマクロブロック処理が完了する時、この処理は、オペレーション525へジャンプし、変換が行われる。
[0059]1つの実施形態では、幾つかのエンコーディングオペレーションが並列して行われる。図6は、本発明の1つの実施形態による典型的なエンコーディングシステム600のブロック図である。このエンコーディングシステム600は、第1のステージ610、第2のステージ620及び第3のステージ630を含む。第1のステージ610は、インタープレディクション関連サーチを行うためのインタープレディクション関連サーチモジュール611と、インタープレディクションコストを決定するためのプレディクション及びコストモジュール612と、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングを判断するためのI/P判断モジュール613と、を含む。1つの典型的な実施では、インタープレディクション関連サーチは、モーションサーチタイプである。第2のステージ620は、イントラプレディクション関連サーチを行うためのイントラサーチモジュール621と、イントラプレディクションコストを決定するためのプレディクション及びコストモジュール622と、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングについての前記判断に基づいて変換を行うための変換モジュール623と、を含む。第3のステージ630は、他の残りのエンコーディングオペレーションを行う。
[0060]エンコーディングシステム600の各構成部分は、協調エンコーディングを行うように協働して動作する。第1のステージ610及び第2のステージ620は、ビデオストリームを受け取る。第1のステージ610のオペレーションの部分は、第2のステージ620と並列して行われる。例えば、インターサーチ611及びイントラサーチ621は、ビデオストリームが受け取られる時に、並列して各オペレーションを開始する。イントラプレディクションコストは、インタープレディクションタイプエンコーディング又はイントラプレディクションタイプエンコーディングについての判断をするのに使用するため、第2のステージ620から第1のステージ610へ通信される。I/P判断の結果は、変換モジュール623へ供給される。変換モジュール623は、又、その判断がPタイプエンコーディングを行うべきとする場合には、ステージ610からサーチ及びプレディクション情報を受け取り、その判断がIタイプエンコーディングを行うべきとする場合には、ステージ620からサーチ及びプレディクション情報を受け取る。
[0061]エンコーディングシステム600が種々なアーキテクチャーにて容易に実施されることは、理解されよう。1つの実施形態では、第1のステージ及び第2のステージは、離散した構成部分にて行われる。例えば、第1のステージ及び第2のステージは、グラフィックプロセッサにて行うことができる。1つの実施形態では、第1のステージは、第1の離散した構成部分にて行われ、第2のステージは、第2の離散した構成部分にて行われる。例えば、第1のステージは、中央プロセッサにて行うことができ、第2のステージは、グラフィックプロセッサにて行うことができる。エンコーディングシステム600は、マルチレベルプレディクションモードエンコーディングタイプ判断処理(例えば、500等)を実施して、インタープレディクションコストやイントラプレディクションコストを決定し、又、インタープレディクションタイプエンコーディングか又はイントラプレディクションタイプエンコーディングかを判断するのにも使用できる。
[0062]図7は、本発明の1つの実施形態によるマルチステージエンコーディングタイプ方法700のフローチャートである。1つの実施形態では、イントラプレディクション関連サーチ及びインタープレディクション関連サーチは、余すところのないサーチである。更に、マルチステージエンコーディングタイプ方法700は、フルマクロブロックタイププレディクション又はサブマクロブロックタイププレディクションをなすべきかの判断に基づいて行うことができる。
[0063]オペレーション710において、イントラプレディクション関連サーチ及び対応するプレディクションが行われ、この場合において、そのイントラプレディクション関連サーチの少なくとも部分は、インタープレディクション関連サーチと並列して行われる。
[0064]オペレーション720において、インタープレディクション関連サーチ及び対応するプレディクションが行われ、この場合において、そのインタープレディクション関連サーチの少なくとも部分は、イントラプレディクション関連サーチと並列して行われる。
[0065]オペレーション730において、マルチレベルプレディクションモードエンコーディングタイプ判断処理が行われる。このマルチレベルプレディクションモードエンコーディングタイプ判断処理を行うにおいて、融通性のあるエンコーディングタイプ決定処理(例えば、550等)を使用することができることは、理解されよう。
[0066]図8は、本発明の1つの実施形態による典型的なビデオプロセッサ又はグラフィックプロセッサを組み込んだ典型的なアーキテクチャーを示している。図8に示されるように、システム800は、2つのパワードメイン821及び822を含むプログラマブルSOC集積回路装置810を実施する。パワードメイン821は、「常時オン」パワーアイランド831を含む。パワードメイン822は、そのSOCのコアと称され、CPUパワーアイランド832、GPUパワーアイランド833、ノンパワーゲーテッド機能アイランド834及びビデオプロセッサ835のインスタンスを含む。システムアーキテクチャー800の図8の実施形態は、電池駆動式ハンドヘルド型SOC集積回路装置の特定用途装置機能に向けられている。このSOC810は、電力管理装置850に結合され、その電力管理装置850は、電源電池(Power Cell)851(例えば、1つ以上の電池)に結合される。この電力管理装置850は、それぞれ専用のパワーレール861及び862を介してパワードメイン821及び822へ電力を与えるように結合される。この電力管理装置850は、SOC810のための電力供給源として機能する。この電力管理装置850は、電源電池851からのエネルギーをレール861−862のための必要な電圧へと転送するため、電力調整回路、電圧ポンピング回路、電流源回路等を組み入れている。
[0067]図8の実施形態では、ビデオプロセッサは、ドメイン822内にある。このビデオプロセッサは、画像及びビデオのエンコーディングのための特殊化ビデオ処理ハードウエアを与える。前述したように、このビデオプロセッサのハードウエア構成部分は、実時間ビデオエンコーディングを行うため特に最適化されている。ドメイン821の常時オンパワーアイランド831は、スリープモードからSOC810をウエイクアップするための機能を含む。この常時オンドメイン821の構成部分は、アクティブのままで、ウエイクアップ信号を待つ。CPUパワーアイランド832は、ドメイン822内にある。このCPUパワーアイランド832は、SOC810のためのより複雑なソフトウエアベースの機能を実行する計算ハードウエアリソースを与える。GPUパワーアイランド833も又、ドメイン822内にある。このGPUパワーアイランド833は、3次元レンダリング機能を実行するためのグラフィックプロセッサハードウエア機能を与える。
[0068]図9は、本発明の1つの実施形態によるハンドヘルド型装置900の構成部分を示す図を示している。図9に示されるように、ハンドヘルド型装置900は、図8に関して前述したようなシステムアーキテクチャー800を含む。このハンドヘルド型装置900は、この装置900に種々な能力及び機能を付加する周辺装置901−907を含むように示されている。この装置900は、周辺装置901−907を有するように示されているのであるが、この装置900の実施においては、これら周辺装置901−907の全てを必要としない場合もあることに注意されたい。例えば、ディスプレイ903がタッチスクリーンディスプレイであるような実施形態では、キーボード902は省くことができる。同様に、例えば、セルフォン又はワイファイケイパビリティを必要としない実施形態の場合には、高周波トランシーバを省くことができる。更に又、付加的な機能を組み込むため、図示した周辺装置901−907以外の付加的な周辺装置を、この装置900に加えることができる。例えば、データ記憶等のために、ハードドライブ又はソリッドステート大容量記憶装置を付加することができる。
[0069]高周波トランシーバ901により、二方向セルフォン通信及び高周波ワイヤレスモデム通信機能を可能とすることができる。キーボード902は、ボタンプッシュ、ポインタ操作、スクロールホイール、ジョグダイアル、タッチパッド等を介してのユーザー入力を可能とするものである。1つ以上のディスプレイ903は、画像、グラフィックユーザーインターフェース、フルモーションビデオ、テキスト等を介してのビジュアル出力を与えるものである。オーディオ出力構成部分904は、ユーザーへオーディオ出力(例えば、可聴命令、セルフォン会話、MP3歌再生等)を与えるものである。GPS構成部分905は、受信されたGPS信号によるGPS位置情報計測サービスを提供する。このGPS位置情報計測サービスによれば、例えば、ナビゲーションアプリケーション及びロケーションアプリケーションのオペレーションが可能とされる。リムーバブル記憶装置周辺構成部分906は、フラッシュメモリ、SDカード、スマートカード等の如きリムーバブル記憶装置の着脱を可能とする。画像キャプチャ構成部分907は、静止画像又はフルモーションビデオの取り込みを可能とする。ハンドヘルド型装置900は、セルラー通信技法によるスマートフォン、携帯情報端末、モバイルビデオ再生装置、モバイルオーディオ再生装置、ナビゲーション装置又はこれらの全ての特性及び機能を含む組合せ機能装置を実施するのに使用することができる。
[0070]従って、本発明によれば、リソースを融通性をもって且つ指示に従って使用することが容易とされる。エンコーディングパイプオペレーションに対する停止衝撃を最小として、実行時間の速度(例えば、実時間にて等)で圧縮を行うことができる。更に又、オペレーションを並列して行うことができ、応答性及び効率を増大することができる。
[0071]本発明の特定の実施形態の前述の説明は、例示のための説明として提示されたものである。これら説明は、これが全てであるというものでなく、又、本発明を、ここで開示した形そのものに限定しようとするものでなく、前述したことを考慮するならば、多くの変更及び変形が可能であるものである。これら実施形態は、本発明の原理及びその実際の応用について最良な説明をなし、それにより、他の当業者が、本発明及び種々な実施形態を、意図するような特定の用途に適合するように種々な変更を加えて最良に利用できるようにするために、選択され説明されているのである。本発明の範囲は、特許請求の範囲及びそれらの均等物により定められるものとせんとするものである。方法の特許請求の範囲の記載における各ステップの列挙の順番は、その特許請求の範囲の記載において明示していない限り、それらステップを行うための順番を特定しているものではない。
100・・・エンコーディングアーキテクチャー、101・・・現在フレーム、102・・・現在フレーム、103・・・現在フレーム、104・・・現在フレーム、105・・・現在フレーム、110・・・エンコーディングシステム、120・・・エンコーダ、130・・・メモリ、131・・・再構成フレーム、132・・・再構成フレーム、133・・・再構成フレーム、140・・・再構成デコーダ、150・・・リモートデコーダ、200・・・コンピュータシステム、201・・・中央処理装置(中央プロセッサ)、202・・・主メモリ、203・・・チップセット、204・・・リムーバブルデータ記憶装置、205・・・サウスブリッジ、207・・・入力装置、208・・・信号通信ポート、209・・・ノースブリッジ、210・・・グラフィックサブシステム、211・・・グラフィックプロセッサ、215・・・フレームバッファ、220・・・表示装置(ディスプレイ)、291・・・通信バス、292・・・通信バス、293・・・通信バス、294・・・通信バス、295・・・通信バス、297・・・通信バス、300・・・量子化エンコーダシステム、310・・・モーションサーチエンジン(モジュール)、321・・・モーション補償モジュール、322・・・変換モジュール、323・・・量子化モジュール、324・・・量子化係数バッファ、325・・・量子化ポストプロセッサ(QPP)、326・・・逆量子化モジュール、327・・・逆変換モジュール、328・・・再構成/デブロックモジュール、330・・・エントロピーエンコーダ、500・・・マルチレベルプレディクションモードエンコーディングタイプ判断方法、550・・・融通性のあるエンコーディングタイプ決定処理、600・・・エンコーディングシステム、610・・・第1のステージ、611・・・インタープレディクション関連サーチモジュール、612・・・プレディクション及びコストモジュール、613・・・I/P判断モジュール、620・・・第2のステージ、621・・・イントラサーチモジュール、622・・・プレディクション及びコストモジュール、623・・・変換モジュール、630・・・第3のステージ、700・・・マルチステージエンコーディングタイプ方法、800・・・システムアーキテクチャー、810・・・プログラマブルSOC集積回路装置、821・・・パワードメイン、822・・・パワードメイン、831・・・「常時オン」パワーアイランド、832・・・CPUパワーアイランド、833・・・GPUパワーアイランド、834・・・ノンパワーゲーテッド機能アイランド、835・・・ビデオプロセッサ、850・・・電力管理装置、851・・・電源電池、861・・・パワーレール、862・・・パワーレール、870・・・メモリ、900・・・ハンドヘルド型装置、901・・・高周波トランシーバ、902・・・キーボード、903・・・ディスプレイ、904・・・オーディオ出力構成部分、905・・・GPS構成部分、906・・・リムーバブル記憶装置周辺構成部分、907・・・画像キャプチャ構成部分

Claims (8)

  1. マルチレベルプレディクションモードを使用したエンコーディングタイプ判断の方法であって、該マルチレベルプレディクションモードは、プログラム可能なエンコーディングタイプ判断時点の選択に対応し、該マルチレベルプレディクションモードは、早い時点のプレディクションモードレベル、中間時点のプレディクションモードレベル及び遅い時点のプレディクションモードレベルからなる3つのプレディクションモードレベルを含み、
    プレディクションモードレベルの指示を受け取るステップであって、前記プレディクションモードレベルの指示がプログラム可能であり、前記3つのプレディクションモードレベルのいずれか一つに設定される、ステップと、
    前記受け取ったプレディクションモードレベルに対応するイントラ/インター(I/P)判断時点においてエンコーディングのタイプをIタイプエンコーディング又はPタイプエンコーディングに決定するステップであって、該決定するステップは、前記イントラ/インター(I/P)判断時点の選択をプログラミングするステップを含み、前記イントラ/インター(I/P)判断時点の前記選択は、早い判断時点、中間の判断時点及び遅い判断時点からなる3つの判断時点の一つを指定する、ステップと、
    前記タイプのエンコーディングを行うステップと、
    を含む方法。
  2. 前記プレディクションモードレベルの指示が、ユーザー入力に基づいている、請求項1に記載の方法。
  3. 前記プレディクションモードレベルの指示が、アプリケーションに基づいている、請求項1に記載の方法。
  4. 前記プレディクションモードレベルが、プログラマブルエンコーディングタイプ判断ポイントに関連付けられている、請求項1に記載の方法。
  5. 早い時期のプレディクションモードレベル、中間時期のプレディクションモードレベル及び遅い時期のモードレベルを含む3つのプレディクションモードレベルがある、請求項1に記載の方法。
  6. 前記決定するステップが、
    第1のレベルのエンコーディングコストを計算することを含めて有効マクロブロックモードを処理する段階と、
    前記プレディクションモードレベルの前記受け取られた指示が第1のレベルのプレディクションモード指示であるかを決定する段階と、
    前記プレディクションモードレベルの前記受け取られた指示が第1のプレディクションモードレベル指示であるならば、前記第1のレベルのエンコーディングコストに基づいて前記マクロブロックのIタイプエンコーディング又はPタイプエンコーディングを行うかの判断をする段階と、
    第2のレベルのエンコーディングコストを計算することを含めて前記有効マクロブロックモードの部分サブセットを処理する段階と、
    前記プレディクションモードレベルの前記受け取られた指示が第2のプレディクションモードレベル指示であるかを決定する段階と、
    前記プレディクションモードレベルの前記受け取られた指示が第2のプレディクションモードレベル指示であるならば、前記第2のレベルのエンコーディングコストに基づいて前記マクロブロックのIタイプエンコーディング又はPタイプエンコーディングを行うかの判断をする段階と、
    を含む、請求項1に記載の方法。
  7. フルマクロブロックタイププレディクション又はサブマクロブロックタイププレディクションをなすかの決定をするステップを更に含む、請求項1に記載の方法。
  8. 前記フルマクロブロックタイププレディクションが、16ピクセル×16ピクセルマクロブロックイントラプレディクションタイプであり、前記サブマクロブロックタイププレディクションは、4ピクセル×4ピクセルマクロブロックイントラプレディクションタイプである、請求項7に記載の方法。
JP2010010974A 2009-02-02 2010-01-21 デュアルステージイントラプレディクションビデオエンコーディングシステム及び方法 Active JP5241743B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/364,316 2009-02-02
US12/364,316 US9432674B2 (en) 2009-02-02 2009-02-02 Dual stage intra-prediction video encoding system and method

Publications (2)

Publication Number Publication Date
JP2010178335A JP2010178335A (ja) 2010-08-12
JP5241743B2 true JP5241743B2 (ja) 2013-07-17

Family

ID=42397707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010010974A Active JP5241743B2 (ja) 2009-02-02 2010-01-21 デュアルステージイントラプレディクションビデオエンコーディングシステム及び方法

Country Status (5)

Country Link
US (1) US9432674B2 (ja)
JP (1) JP5241743B2 (ja)
KR (1) KR101316503B1 (ja)
CN (1) CN101795408B (ja)
TW (1) TW201044881A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243606A1 (en) 2010-09-24 2012-09-27 Nokia Corporation Methods, apparatuses and computer programs for video coding
JP2012099890A (ja) * 2010-10-29 2012-05-24 Sony Corp 画像処理装置、画像処理方法、および画像処理システム
CN103636203B (zh) * 2011-06-17 2017-07-14 寰发股份有限公司 内部预测模式编码的方法及装置
US10757437B2 (en) 2014-07-17 2020-08-25 Apple Inc. Motion estimation in block processing pipelines
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2600240A (en) * 1948-05-22 1952-06-10 Philadelphia Children Hospital Construction of incubators for infants
US3076451A (en) * 1959-05-12 1963-02-05 Air Shields Infant incubator
US3335713A (en) * 1963-11-05 1967-08-15 Air Shields Infant incubator
US4146885A (en) * 1977-10-13 1979-03-27 Lawson Jr William H Infant bed and apnea alarm
US4730604A (en) * 1987-03-16 1988-03-15 Boggs Randy S Arhythmic baby bed
US5317767A (en) * 1992-06-16 1994-06-07 Hargest Thomas S Sudden infant death syndrome prevention apparatus and method
JP3050736B2 (ja) * 1993-12-13 2000-06-12 シャープ株式会社 動画像符号化装置
US5561876A (en) * 1995-01-23 1996-10-08 Petruzella; Steven A. Infant mattress
US6131216A (en) * 1997-03-28 2000-10-17 Pine; Macdonald Method and apparatus for removing heavy gases from infant cribs
US5887304A (en) * 1997-07-10 1999-03-30 Von Der Heyde; Christian P. Apparatus and method for preventing sudden infant death syndrome
US6025888A (en) * 1997-11-03 2000-02-15 Lucent Technologies Inc. Method and apparatus for improved error recovery in video transmission over wireless channels
US6074340A (en) * 1998-01-23 2000-06-13 Sweeney; Stephen J. Incubator mattress tray with warming function
US6336237B1 (en) * 2000-05-11 2002-01-08 Halo Innovations, Inc. Mattress with conditioned airflow
US6765964B1 (en) * 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR100425676B1 (ko) * 2001-03-15 2004-04-03 엘지전자 주식회사 비디오 전송 시스템의 에러 복구 방법
FR2828055B1 (fr) * 2001-07-27 2003-11-28 Thomson Licensing Sa Procede et dispositif de codage d'une mosaique d'images
JP2003152752A (ja) * 2001-08-29 2003-05-23 Matsushita Electric Ind Co Ltd データ送受信方法
CN1513268B (zh) * 2001-09-14 2010-12-22 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置和图象处理系统
US6651278B2 (en) * 2001-10-12 2003-11-25 Darlene Diak Ghanem Quick change bedsheet set
US7266254B2 (en) * 2002-02-13 2007-09-04 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus, and method therefor
US7170937B2 (en) * 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7289672B2 (en) * 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US20030235249A1 (en) * 2002-06-25 2003-12-25 Chengji Zhao Video encoder and method for encoding video frames
KR100534207B1 (ko) * 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US7003821B2 (en) * 2003-06-30 2006-02-28 Graco Children's Products Inc. Child containment structure with ventilation panel
KR101014660B1 (ko) * 2003-10-24 2011-02-16 삼성전자주식회사 인트라 예측 방법 및 장치
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
KR100621137B1 (ko) * 2004-02-27 2006-09-13 세이코 엡슨 가부시키가이샤 동화상 부호화 장치 및 동화상 처리장치
WO2005089297A2 (en) * 2004-03-16 2005-09-29 Mario Michel Rathle Self-ventilating and self-cooling variable geometry pillow
US7366238B2 (en) 2004-05-07 2008-04-29 Micronas Usa, Inc. Noise filter for video processing
EP1605706A2 (en) 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
KR20060008523A (ko) * 2004-07-21 2006-01-27 삼성전자주식회사 영상의 인트라 예측 방법 및 그 장치
JP4495580B2 (ja) * 2004-12-13 2010-07-07 パナソニック株式会社 面内予測装置および面内予測方法
FR2881898A1 (fr) * 2005-02-10 2006-08-11 Thomson Licensing Sa Procede et dispositif de codage d'une image video en mode inter ou intra
US7706442B2 (en) * 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
JP2006295796A (ja) * 2005-04-14 2006-10-26 Nec Electronics Corp 画像データ復号装置及び画像データ復号方法
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
GB0512901D0 (en) * 2005-06-24 2005-08-03 Harding Lynda J A device for supporting and rolling a mattress
JP2007013298A (ja) 2005-06-28 2007-01-18 Renesas Technology Corp 画像符号化装置
KR100678911B1 (ko) * 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
KR100995226B1 (ko) * 2005-07-22 2010-11-17 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP5089878B2 (ja) * 2005-10-28 2012-12-05 パナソニック株式会社 画像符号化装置
JP2007208802A (ja) * 2006-02-03 2007-08-16 Victor Co Of Japan Ltd 画像符号化装置及び画像符号化方法
JP4677932B2 (ja) * 2006-03-06 2011-04-27 日本電気株式会社 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体
JP4769605B2 (ja) * 2006-03-17 2011-09-07 富士通株式会社 動画像符号装置及び方法
JP4771288B2 (ja) * 2006-04-03 2011-09-14 富士ゼロックス株式会社 データ処理装置及びプログラム
US8396117B2 (en) * 2006-05-30 2013-03-12 Google Inc. Apparatus, arrangement, method and computer program product for digital video processing
KR100802207B1 (ko) * 2006-07-18 2008-02-11 연세대학교 산학협력단 동영상의 움직임 추정을 위한 움직임 예측방법 및 움직임추정 부호화기
TW200845758A (en) * 2007-05-03 2008-11-16 Nat Univ Chung Cheng Fast intra coding algorithms for dynamic definition adjustment
JP2008227670A (ja) 2007-03-09 2008-09-25 Victor Co Of Japan Ltd 画像符号化装置
US7953284B2 (en) * 2007-03-29 2011-05-31 James Au Selective information handling for video processing
EP2163097A2 (en) * 2007-05-25 2010-03-17 Arc International, Plc Adaptive video encoding apparatus and methods
CN100594732C (zh) * 2007-11-16 2010-03-17 中国科学院计算技术研究所 一种帧间模式选择方法
US8165210B2 (en) * 2007-12-17 2012-04-24 Vixs Systems, Inc. Video codec with shared interpolation filter and method for use therewith
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors

Also Published As

Publication number Publication date
CN101795408A (zh) 2010-08-04
JP2010178335A (ja) 2010-08-12
TW201044881A (en) 2010-12-16
CN101795408B (zh) 2014-02-19
US20100195730A1 (en) 2010-08-05
US9432674B2 (en) 2016-08-30
KR101316503B1 (ko) 2013-10-10
KR20100089039A (ko) 2010-08-11

Similar Documents

Publication Publication Date Title
CN101015215B (zh) 用于在视频编码解码器中实施快速模式决策的方法及设备
US8897365B2 (en) Video rate control processor for a video encoding process
US8666181B2 (en) Adaptive multiple engine image motion detection system and method
KR20160052688A (ko) 범용 스크린 콘텐츠 코덱
JP5241743B2 (ja) デュアルステージイントラプレディクションビデオエンコーディングシステム及び方法
KR102294209B1 (ko) 범위성 비디오 코딩 공간 모드용 대역폭 절감 구조
CN103327325A (zh) 基于hevc标准的帧内预测模式快速自适应选择方法
KR20110046566A (ko) 디코딩 시스템 및 방법
KR20190015218A (ko) 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템
KR20070028404A (ko) 픽처를 저장하는 방법, 비디오 복호기, 비디오 부호기,휴대 장치 및 컴퓨터 프로그램 제품
JP2011530222A (ja) 雑音除去のための統合時間フィルタを備えたビデオエンコーダ
KR20150070313A (ko) 다수의 독립 코딩 스트림들 사이에서 공유된 모션 추정을 포함하는 비디오 코딩
KR101425286B1 (ko) 모션 추정을 위한 완전한 서브 매크로블록 형상 후보 저장 및 복구 프로토콜
CN109922340A (zh) 图像编解码方法、装置、系统及存储介质
US8879629B2 (en) Method and system for intra-mode selection without using reconstructed data
CN103096051B (zh) 一种图像块信号分量采样点的帧内解码方法和装置
WO2018119609A1 (zh) 一种基于模板匹配的编解码方法及装置
US10313681B2 (en) Techniques for rate-distortion optimization in video compression
Lim et al. Video streaming on embedded devices through GPRS network
WO2022258010A1 (zh) 点云编码处理方法、解码处理方法及装置
EP4354876A1 (en) Encoding control method and apparatus, and decoding control method and apparatus
WO2023185806A9 (zh) 一种图像编解码方法、装置、电子设备及存储介质
WO2023051375A1 (zh) 帧内预测方法及装置
WO2022258055A1 (zh) 点云属性信息编码方法、解码方法、装置及相关设备
Wu et al. A novel embedded bandwidth-aware frame compressor for mobile video applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120321

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120326

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120521

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130205

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130402

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5241743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

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