(57)【要約】ビデオビットストリームのテクスチャ逆符号化中にバストラフィックを縮小するための技術が提供される。１つの構成では、ワイヤレス通信装置(例えば携帯電話など)は、ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離するのに作用する命令を実行するように構成されたプロセッサを含む。残留パケット・データは、コーデック独立である汎用命令をもつコーデック独立非ゼロMBパケットを生成するために使用される。その後、コーデック独立非ゼロMBパケットおよびMB情報は、ビデオビットストリームのそれぞれのフレームのピクセルの再構成のために使用される。
2012505607.tif 000002
【特許請求の範囲】
【請求項１】
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む集積回路。
【請求項２】
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する請求項１の集積回路。
【請求項３】
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
請求項１に記載の集積回路。
【請求項４】
前記プロセッサは、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立(codec independent)である汎用命令(universal order)にリストされる前記非ゼロ量子化係数の数である
請求項３の集積回路。
【請求項５】
前記プロセッサは、
24+N16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項１の集積回路。
【請求項６】
前記プロセッサは、
汎用圧縮(universally-packed)非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納にさらに作用する
請求項１の集積回路。
【請求項７】
前記集積回路は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成る前記グループから選ばれたワイヤレス装置の一部である
請求項１の集積回路。
【請求項８】
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む装置。
【請求項９】
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する請求項８の装置。
【請求項１０】
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
請求項８の装置。
【請求項１１】
前記プロセッサは、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項１０の装置。
【請求項１２】
前記プロセッサは、
24+N 16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項８の装置。
【請求項１３】
前記プロセッサは、
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納にさらに作用する
請求項８の装置。
【請求項１４】
前記装置は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成る前記グループから選ばれたワイヤレス装置の一部である
請求項８の装置。
【請求項１５】
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離するための第１の手段と、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成するための第２の手段と、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成するための第３の手段と
を含む装置。
【請求項１６】
前記第２の手段は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)ための手段と、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置するための手段と、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成するための手段とをさらに含む
請求項１５の装置。
【請求項１７】
前記第２の手段は、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットのそれぞれを形成するための手段をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項１６の装置。
【請求項１８】
前記第２の手段は、
24+N 16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットのそれぞれを形成するための手段をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項１５の装置。
【請求項１９】
前記コーデック独立非ゼロMBパケットを格納するための第４の手段をさらに含む請求項１５の装置。
【請求項２０】
ビデオビットストリームのマクロブロック中でテクスチャ逆符号化を行なうためのコンピュータ・プログラムプロダクトであって、
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成し、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することをコンピュータにもたらすための命令を有するコンピュータ可読媒体を含むコンピュータ・プログラムプロダクト。
【請求項２１】
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する請求項２０のコンピュータ・プログラムプロダクト。
【請求項２２】
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
請求項２１のコンピュータ・プログラムプロダクト。
【請求項２３】
前記再スキャンおよび再構成するための命令は、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するための命令をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項２２のコンピュータ・プログラムプロダクト。
【請求項２４】
前記コーデック独立非ゼロMBパケットを生成するための命令は、
24+N16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するための命令をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項２０のコンピュータ・プログラムプロダクト。
【請求項２５】
前記命令は、
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納することをコンピュータにさらにもたらす
請求項２０のコンピュータ・プログラムプロダクト。
【請求項２６】
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離することと、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成することと、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することとを含む、ビデオビットストリームのマクロブロック中でのテクスチャ逆符号化方法。
【請求項２７】
前記生成するステップは、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)ことと、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置することと、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成することとを含む
請求項２６の方法。
【請求項２８】
前記再構成する間に、1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成し、Nは、コーデック独立(codec independent)である汎用命令(universal order)にリストされる前記非ゼロ量子化係数の数である
請求項２７の方法。
【請求項２９】
前記コーデック独立非ゼロMBパケットを生成することは、
24+N16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を生成することを含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
請求項２６の方法。
【請求項３０】
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納することをさらに含む請求項２６の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ビデオ処理の分野に関し、すなわち、ビデオデコーダ中のテクスチャ逆符号化モジュール(texture decoding module)のバストラフィックの縮小のための技術に関する。
【背景技術】
【０００２】
ビデオデータに含まれていたディジタル情報の量は膨大であり、また、そのディジタル情報は、ビデオカメラの性能での進歩と共に増加する傾向がある。ビデオデータの処理は、計算の(computational)、メモリ、帯域幅、および、ビデオ対応のデバイス、特に、携帯電話、携帯情報端末(PDA)、ラップトップ・コンピュータなどのような電池式のワイヤレス通信装置のバッテリ容量に大きな要求を認識する。
【０００３】
Motion Picture Expert Group(MPEG-4)/VC-1/H.264基準に準拠するビデオ処理システムでは、ビットストリームの各マクロブロックの係数は384 16ビットワード(384 16-bit words)を使用して記述される。ビデオデコーダでは、ビデオビットストリームは、構文要素解析を行なうためにARMまたはDSPのプロセッサへ入力され、また、逆符号化された残留データ(residual data)は、ラスタースキャン(raster-scan)・指令で、ビットストリームの各マクロブロックにつき384量子化係数を定義するようにジグザグになっていない。その後、量子化係数は、ビデオプロセッサのピクセル・プロセッサ・アクセラレータにテクスチャ逆符号化ハードウェア(HW)モジュールへ入力される。
【０００４】
テクスチャ逆符号化プロセスは、残留マクロブロック、加算モーション補正したマクロブロック(adding motion compensated macroblocks)を形成するための逆量子化(de-quantization)逆変換のような手続きを含む。３０フレーム/秒のWVGAの表示比率については、テクスチャ逆符号化モジュールへ入力されたマクロブロックにつき384係数が、104MBpsデータトラヒックを生成する。特に、ARMかDSPが外部記憶装置に量子化係数データを書き込む場合、テクスチャ逆符号化HWモジュールは、データバック(data back)をフェッチして(fetches)、また、書き込みキャッシュ・ミスはバストラフィックの２倍の量を引き起こす。画像圧縮は、圧縮したビデオデータの冗長度(redundancy)を著しく縮小するが、そのような処理技術は、ワイヤレス通信装置の総合的特性および消費者に重要な(consumer-critical)特性(例えばバッテリ寿命、通話時間など)を下げるかもしれない。
【０００５】
したがって、ビデオビットストリームのマクロブロック中でのテクスチャ逆符号化中にバストラフィックを縮小するための改善された技術が必要である。
【発明の概要】
【０００６】
ビデオビットストリーム中でのテクスチャ逆符号化中にバストラフィックを縮小するための技術は、ここに記述される。一実施例では、ワイヤレス通信装置(例えば携帯電話など)は、ビットストリームマクロブロック(MB)情報および残留パケット・データに分離するのに作用する命令を実行するように構成されたプロセッサを含む。その後、コーデック独立(codec-independent)非ゼロMBパケットは残留パケット・データから生成される。ピクセルは、コーデック独立非ゼロMBパケットおよびMB情報から再構築される。
【０００７】
開示の様々な他の態様および実施例は、一層に詳細に下に記述される。
【０００８】
概要は意図されるものでも推量されるものでもなく、本開示の十分な範囲および範囲を描写するものであることとして解釈されれば、特に添付図面とともに得られた時、これらおよび追加の態様は詳細な記述からより容易に明白になるだろう。
【図面の簡単な説明】
【０００９】
【図１】図１は、ワイヤレス装置のハイレベル・ブロック図を示す。
【図２】図２は、従来のビデオ逆符号化モジュールのハイレベル・ブロック図を示す。
【図３】図３は、図１のワイヤレス装置のビデオ逆符号化モジュールのハイレベル・ブロック図を示す。
【図４Ａ】図４Ａは、MPEG/VC-1標準に準拠しているビットストリームのマクロブロック中の係数のフォーマットを例証する図を示す。
【図４Ｂ】図４Ｂは、H.264標準に準拠しているビットストリームのマクロブロック中の係数のフォーマットを例証する図を示す。
【図５】図５は、コーデック独立フォーマットへ残留パケット・データを再圧縮するためのプロセスのフローチャートを示す。
【図６】図６は、コーデック独立フォーマットへ残留パケット・データを再圧縮するための第２のプロセスのフローチャートを示す。
【図７】図７は、コーデック独立フォーマットへ残留パケット・データを再圧縮するための第３のプロセスのフローチャートを示す。
【図８】図８は、汎用場所(universal location)およびレベル・データへ逆ジグザグスキャン・命令を合併するプロセスのフローチャートを示す。
【００１０】
理解を促進するために、同一の参照数字が使用されており、そこでは、そのようなエレメントを区別するために適切な場合に添え字が加えられるかもしれない事以外は、図に共通の同一のエレメントを示すことが可能である。図面中のイメージは、説明の目的のために単純化され、一定の比率へ拡大して必ずしも描かれない。
【００１１】
添付された図面は、開示の典型的な構成を例証し、それ自体、他の等しく有効な構成を認めるかもしれない開示の範囲の制限と見なされるべきではない。相応して、それは、いくつかの構成の特徴が、さらなる詳述のない他の構成に有益に組み入れられるかもしれないことが予期される。
【発明を実施するための形態】
【００１２】
「典型的(exemplary)」という用語は、本開示においてもっぱら、「例、インスタンスあるいは実例を提供する」ことを意味するように用いられる。本開示において「典型的」として説明された任意の構成あるいは設計は、必ずしも他の構成あるいは設計に対して有利であるとは解釈されない。今後、用語「コア」、「エンジン」、「マシン」、「プロセッサ」および「演算処理ユニット」、だけでなく用語「フレーム」および「画像」は交換可能に用いられる。
【００１３】
ここに記述された技術は、個人の電子装置、ハンドセットなどの中でワイヤレスおよび有線通信あるいはコンピューティングのために様々なデバイスおよびシステムの中で使用されるかもしれない。無線通信のためのこれらの技術の典型的な使用が下記に述べられる。
【００１４】
図１は、ワイヤレス装置１００の構成のブロック図を示す。それは、本開示のエレメントを組込み、無線通信方式(図示しない)の中で使用されるかもしれない。ワイヤレス装置１００は、例えば、携帯電話(つまりハンドセット)、ビデオゲーム・コンソール、PDA、ラップトップ・コンピュータあるいはビデオかオーディオ/ビデオ対応デバイスかもしれず、無線通信方式は、様々な無線通信方式間のうち、とりわけ符号分割多重アクセス方式(CDMA)システムあるいはグローバル移動体通信システム(Global System for Mobile Communications)(GSMC)かもしれない。
【００１５】
ワイヤレス装置１００は、アンテナ１０２、受信機１０４、送信機１０６、ディジタル・セクション１１０、表示装置１３０および主記億装置１４０を一般に含んでいる。無線通信方式のそれぞれの基地局との双方向通信は、受信及び送信パスによって提供される。受信パスでは、基地局によって送信された信号は、アンテナ１０２によって受信されて受信機１０４に提供される。受信機１０４は受信信号を復調し、ディジタル・セクション１１０へのさらなる処理のために復調信号を転送する。送信パスでは、送信機１０６は、送信されるデータをディジタル・セクション１１０から得て、データによって変調された搬送波信号を生成し、基地局へ送信するためにアンテナ１０２へ変調キャリア信号を転送する。
【００１６】
ディジタル・セクション１１０は、モデム・プロセッサ１１２、ビデオプロセッサ１１４、コントローラ/プロセッサ１１６、表示プロセッサ１１８、アドバンスドRISC(縮小命令セットコンピュータ)マシン/ディジタル信号プロセッサ(ARM/DSP)１２２、グラフィック処理装置(GPU)１２４、内部記憶装置１２６、内部バス１２０および外部インタフェース１２８を実例的に含む。オペレーションでは、ディジタル・セクション１１０のエレメントはコントローラ/プロセッサ１１６によって処理される。
【００１７】
モデム・プロセッサ１１２は、受信機１０４によって提供されるあるいは送信機１０６に指示されたデータの処理(例えば変調/復調)を行なう。ビデオプロセッサ１１４は、符号化/逆符号化、すなわちコーデック、カムコーダ(camcorder)、ビデオプレイバック、ビデオ会議などのような映像アプリケーションによって作られたビデオビットストリーム(例えば、スチール(still)あるいはモーション画像)のためのオペレーションのような処理を行なう。相応して、表示プロセッサ１１８は、ワイヤレス装置１００の表示装置１３０上の逆符号化画像のレンダリングを促進する。
【００１８】
GPU１２４は、ARM/DSP１２２と共同して、ワイヤレス装置１００のためのグラフィック処理オペレーションを促進する。GPU１２４は、例えば公に利用可能である2005年7月28日のドキュメント"Open GL Specification, Version 1.0,"に準拠するかもしれない。このドキュメントは、携帯電話、上述の無線通信装置で言われる他のもののようなハンドヘルドおよび携帯形デバイスにふさわしい2Dベクタグラフィックスのための標準である。さらに、GPU１２４は、OpenGL2.0、OpenGL ES2.0あるいはD3D9.0グラフィックス標準にさらに準拠するかもしれない。
【００１９】
ディジタル・セクション１１０の関数エレメントは、様々なタイプの集積回路のうち、とりわけ特定用途向けIC(ASICs)、RISCs、フィールドプログラマブルゲートアレイ(FPGAs)、マイクロコントローラあるいはマイクロプロセッサを含むように作られるかもしれない。
【００２０】
ワイヤレス装置１００によって受信または送信された圧縮したビデオビットストリームは、産業適合(industry-adapted)画像圧縮および通信の標準の１つ以上に準拠しているビデオコーディング技術を使用して一般に圧縮される。一実施例では、圧縮したビデオビットストリームは、少なくとも１つのMPEG/VC-1/H.264標準に準拠する。MPEG/VC-1/H.264準拠ビデオビットストリームの逆符号化は、それぞれのフレームのマクロブロック中でのテクスチャ逆符号化、および、特にマクロブロックの量子化係数データを判断することを含む。
【００２１】
ディジタル・セクション１１０では、ビデオプロセッサ１１４は、ビデオ逆符号化(VD)モジュール１１５を含み、それは本開示の実施例に従ってマクロブロック中でテクスチャ逆符号化を行ない、メモリ、計算上の帯域幅およびワイヤレス装置１００の電力資源の利用の有効性を増加させるように構成される。特に、VDモジュール１１５は、内部記憶装置１２６(あるいは主記億装置１４０)に格納される係数データの量、およびVDモジュール１１５のピクセル・プロセッサ３６０(図３に示される)に処理するために必然的に転送されることを減らす。
【００２２】
図２は、従来のVDモジュール２００のハイレベル・ブロック図を示す。一般に、VDモジュール２００は、可変長符号(variable length code)(VLC)デコーダ２１０、マクロブロック情報のバッファ２２０、残留パケット・データバッファ２３０、残留パケット・データ処理ユニット２４０、384ワード/マクロブロック容量を備えた係数バッファ２５０およびピクセル・プロセッサ２６０を含んでいる。
【００２３】
入力されたビットストリーム(例えばMPEG-4-準拠ビットストリーム)では、VLCデコーダ２１０はビットストリームを逆符号化し、構文要素解析を行ない、２つのデータパケット中のマクロブロック情報および残留パケット・データを分離する。第１のデータパケット(パケットヘッダ情報のような)はバッファ２２０へ転送され、モーションベクトル、量子化パラメータ(QPs)、ピクセル・プロセッサ２６０の構成のために使用された、符号化されたまたは符号化されなかった係数、バッファアドレスおよび他のプロパティのようなマクロブロック(MB)情報を含んでいる。第２のデータパケットは、ジグザグスキャン順にピクセル量子化係数データを含んでおり、バッファ２３０へ転送される。各マクロブロックについては、パーサー(parser)・パケット・データはヘッダ情報(モード、モーションベクトルなど)、VLC逆符号化係数データ情報(MPEG-4またはVC-1の中のrun-レベルペア、trailing-1、H264 CAVLCの中の非ゼロ係数以前および非ゼロ係数のゼロの数(number of zeros before nonzero coefficient and nonzero coefficients)、あるいはH264 CABACの中の重要な(significant)係数フラグおよび非ゼロ係数の数)を含んでいる。
【００２４】
残留パケット・データ処理ユニット２４０では、量子化係数データの第２のデータパケットは、ラスター(raster)スキャン命令へ逆ジグザグ・モジュール２４２によって逆ジグザグにされる。MPEG-4ビデオビットストリームについては、逆AC/DC予測(prediction)は、逆AC/DC予測モジュール２４４によってMPEG-4イントラ(intra)データのためにやはり処理される。残留パケット・データ処理ユニット２４０の出力は、384ワード/MBの中へ係数データを格納する係数バッファ２５０へ送られる。係数データはゼロおよび非ゼロ係数の両方を含んでいる。
【００２５】
図３は、ワイヤレス装置１００で使用されるVDモジュール１１５のハイレベル・ブロック図を示す。一般に、VDモジュール１１５は、可変長符号(VLC)デコーダ３１０、マクロブロック情報のバッファ３２０、任意の残留パケット・データバッファ３３０(汎用残留パケット・データ処理ユニット３４０)、汎用圧縮(universally-packed)非ゼロ係数バッファ３５０、およびピクセル・プロセッサ３６０を含んでいる。汎用圧縮非ゼロ係数バッファ３５０が非ゼロ係数を含んでいるので、バッファ３５０中の有効データは384未満かもしれないし、非ゼロ係数の数の機能かもしれない。別の構成では、バッファ３５０は384ワード/マクロブロックより大きいかもしれない。例えば、バッファ３５０のサイズは、その後記述された(場所(location)、レベル)フォーマットのために(1+2*384)ワード/マクロブロックの最悪の場合のサイズのために設計されるかもしれない。
【００２６】
入力されたビットストリーム(例えばMPEG-4-準拠ビットストリーム)では、VLCデコーダ３１０はビットストリームを逆符号化し、構文要素解析を行ない、２つのデータパケット中のマクロブロック情報および残留パケット・データを分離する。第１のデータパケットは、バッファ３２０へ転送され、また、モーションベクトル、量子化パラメータ(QPs)、ピクセル・プロセッサ３６０の構成のために使用された、符号化されたまたは符号化されなかった係数、バッファアドレスおよび他のプロパティのようなマクロブロック(MB)情報を含んでいる。第２のデータパケット(残留パケット・データ)は、ジグザグスキャン順にピクセル量子化係数データを含んでおり、随意的に、汎用残留パケット・データ処理ユニット３４０によって処理される前に残留パケット・データバッファ３３０へ転送される。
【００２７】
汎用残留パケット・データ処理ユニット３４０では、量子化係数データの第２のデータパケットは、図４Ａ-４Ｂの中で示されるラスタースキャン命令へ逆ジグザグ・モジュール３４２によって逆ジグザグにされる。MPEG-4のビデオビットストリームについては、逆AC/DC予測は、逆AC/DC予測モジュール３４４によってMPEG-4イントラデータのためにやはり処理される。逆AC/DC予測を行なう場合、オプションのバッファ３３０が使用されるかもしれない。しかしながら、バッファ３３０はVDモジュール１１５の一部である必要はない。その後、MPEGフォーマットかH.246フォーマットでも、残留パケット・データ処理ユニット３４０は再圧縮モジュール３４６中のコーデック独立フォーマットへ逆ジグザグにされた量子化係数データを再圧縮する。再圧縮された係数データ(出力データ)は、汎用圧縮非ゼロ係数バッファ３５０へ送られる。
【００２８】
逆ジグザグ・モジュール３４２では、マクロブロック中でゼロおよび非ゼロ係数が定義される。再圧縮モジュール３４６は、コーデック独立非ゼロMBパケット中で生成し、そこではそのような非ゼロ係数はそれぞれ確認される。非ゼロ係数は、ビットマップ、runレベル(RL)ペアあるいは場所レベル(LL)ペアを使用して確認される。例えば、場所レベル(LL)ペア用の非ゼロ係数は、数の(numerical)ペア(A、B)フォーマットを使用して確認することができ、そしてそこで、AとBは、マクロブロックのY、CrあるいはCbコンポーネントの夫々の中での係数の場所および値(あるいはレベル)のそれぞれの記述子である。
【００２９】
再圧縮中に非ゼロ係数データ(出力データ)は、再圧縮モジュール３４６によって非ゼロ係数データのビットマップ、RLペアあるいはLLペアを含むMBパケット中で再構成される。バッファ３５０中へ、非ゼロ係数の非ゼロMBパケットが格納される。場所とレベルのプロパティが使用される場合に、それぞれのLLペアは、マクロブロックの非ゼロ係数(つまりそれぞれのプロパティの非ゼロ値を有する係数)の場所および絶対値(あるいはレベル)を定義する。しかしながら、データの場所は、命令を増加させるか減少させる際に配列する必要はない。ここで、用語「場所」および「レベル」は、入力されたビデオフォーマットおよびその係数の値での特定の非ゼロ係数の位置へ相応して関連づける。したがって、非ゼロMBパケットはコーデック独立している。非ゼロMBパケットでは、ゼロ係数(つまりゼロに等しい絶対値がある係数)のための情報は省略され、それにより、それぞれのマクロブロックの係数データの圧縮を提供する。
【００３０】
汎用圧縮非ゼロ係数バッファ３５０に格納された非ゼロMBパケットは、バッファ３５０からピクセル・プロセッサ３６０に提供され、そしてそれぞれの非ゼロMBパケットは、プロセッサ３６０によって行なわれたフレーム再構成ルーチンの中でマクロブロック情報と一緒に使用される。ピクセル・プロセッサ３６０では、マクロブロックの省略されたゼロ係数は、非ゼロMBパケットのデータマッピングを使用して非ゼロ量子化係数間のギャップにゼロ係数を配置することによってのように再構築される(restored)。
【００３１】
図４Ａ-４Ｂは、MPEG-4(図４Ａ)およびH.264(図４Ｂ)ビットストリームのマクロブロック中で係数のフォーマットを例証する図を示す。マクロブロックは、各々64の係数(合計384の係数)を有するCr、Cbおよび４つのYコンポーネントを含み、そこでは係数はそれぞれ16ビットワードによって表わされる。再圧縮モジュール３４６の中で再圧縮された非ゼロMBパケットでは、マクロブロックの非ゼロ係数用データだけが含まれ、であるがゆえにゼロ係数は省略される。
【００３２】
コーデック独立非ゼロMBパケットのために予期された、いくつかの再圧縮方式は、再圧縮モジュール３４６中で形成される。オペレーションでは、これらの方式の各々は、実際的な状況中でマクロブロックの係数データを格納すること、および、その結果、トラフィックの送信のために、それぞれのデータ記憶(例えば内部記憶装置１２６)、ピクセル・プロセッサ３６０の間のトラフィック、および帯域幅要件を縮小するために必要なメモリの量を減らす。
【００３３】
図５は、コーデック独立フォーマット中へ残留パケット・データを再圧縮するためのプロセスのフローチャートを示す。プロセス５００は、ブロック５１０で逆ジグザグ命令された(ラスタースキャン命令)係数データを再スキャンすることから始まる。逆ジグザグ・モジュール３４２から逆ジグザグにされた残留パケット・データ(以下時々「シーケンス・データ」と呼ばれる)を再スキャンした後に、シーケンス・データの再スキャンされた係数は、ブロック５２０で非ゼロ位置を示すように(to indicate)ビットマップ命令中でリストされる。ブロック５３０では、ビットマップ中で非ゼロ係数は、パケット長さを伴う(with a packet length)コーデック独立非ゼロMBパケットへ再圧縮される。各MBのパケット長さは(24+N)16ビットワードと等しく、そこではNは多くの非ゼロ係数で１以上３８４以下であり、また、24 16ビットワードが384の係数のマップを保持するために使用される。したがって、量子化係数はすべてのビデオ標準のための一定パターンへ再圧縮される。
【００３４】
図６は、コーデック独立フォーマットへ残留パケット・データを再圧縮するための第２のプロセスのフローチャートを示す。第２のプロセス６００は、ブロック６１０で逆ジグザグ命令された(ラスタースキャン命令)係数データを再スキャンすることから始まる。逆ジグザグ・モジュール３４２からジグザグになっていない残留パケット・データ(以下時々「シーケンス・データ」と呼ばれる)を再スキャンした後に、再スキャンされた係数は、(run、レベル)(run、level)フォーマットで配列されるかもしれない。ブロック６１０での、この逆ジグザグ命令された係数データは、新しい(run、レベル)フォーマットである。ブロック６１０からの量子化された残留パケット・データを逆ジグザグ化した後、データの1ワードは、ブロック６２０で多くのRLペアがそれぞれのMB中であることを示すように使用される。ブロック６３０では、非ゼロ係数は、パケット長さでコーデック独立非ゼロMBパケットへ再圧縮される。各MBのパケット長さは(1+2N)16ビットワードと等しく、そこではブロック６２０で生成された１ワードは、(1+2N)16ビットのワード中で「1」16ビットワードに相当する。したがって、量子化係数はすべてのビデオ標準のための一定パターンへ再圧縮される。
【００３５】
図７は、コーデック独立フォーマットへ残留パケット・データを再圧縮するための第３のプロセスのフローチャートを示す。第３のプロセス７００は、ブロック７００で逆ジグザグ命令された(ラスタースキャン・命令)係数データを再スキャンすることから始まる。逆ジグザグ・モジュール３４２からジグザグになっていない残留パケット・データ(以下時々「シーケンス・データ」と呼ばれる)を再スキャンした後に、再スキャンされた係数は、(場所、レベル)(location, level)フォーマットで配列されるかもしれない。ブロック７１０からの量子化された残留パケット・データを逆ジグザグ化した後、データの1ワードは、ブロック７２０で多くのLLペアがそれぞれのMB中であることを示すように使用される。ブロック７３０では、非ゼロ係数は、パケット長さでコーデック独立非ゼロMBパケットへ再圧縮される。各MBのパケット長さは(1+2N)16ビットワードと等しく、そこではブロック７２０で生成された1ワードは、(1+2N)16ビットのワード中で「1」16ビットワードに相当する。したがって、量子化係数はすべてのビデオ標準のための一定パターンへ再圧縮される。
【００３６】
好ましい第３の実施例中で、第２の実施例でのように、パケット長さは、多くの非ゼロ量子化係数がマクロブロックにあるか示すための1ワードを含む(1+2N)16ビットワードとさらに等しく、また、非ゼロ係数の各々はLLペアに記述される。場所情報は逆ジグザグ処理の副産物だけで、非ゼロ係数のための命令を増加または減少させる際にある必要がない。LLペアのためのフォーマットは、第２のプロセス６００の中で使用される再ソート(re-sorting)手続きでの必要を除去し、ARM又はDSPプロセッサ中でファームウェア開発のためのサイクル・コストを増加させない。
【００３７】
図８は、汎用場所およびレベル・データ中へ逆ジグザグスキャン・命令を合併するプロセス８００のフローチャートを示す。プロセス８００では、LLペアは、ジグザグになっていないデータから直接生成されるかもしれない。したがって、ジグザグになっていない残留パケット・データが逆ジグザグ・モジュール３４２によってのように生成される場合、プロセス８００はブロック８１０で始まる。ブロック８２０では、汎用場所データが生成される。ブロック８３０では、汎用場所データは各係数のLLペアを備えたマップ中へ合併される。
【００３８】
典型的な実施例では、プロセスは、１つ以上のコンピュータ実行命令を含むコンピュータ・プログラムプロダクト型のハードウェア、ソフトウェア、ファームウェアあるいはそれの任意の組合せ中で実行されるかもしれない。ソフトウェア中でインプリメントされた時、コンピュータ・プログラムプロダクトは、コンピュータ可読媒体を使用して格納されるか送信されるかもしれず、それはコンピュータ記憶媒体およびコンピュータ通信媒体を含む。
【００３９】
用語「コンピュータ記憶媒体」は、コンピュータにプロセスを実行させる命令の格納に適した任意の媒体をここに指す。限定ではなく一例として、コンピュータ記憶媒体は、電子記憶装置(例えばRAM、ROM、EEPROMなど)、光学記憶装置(例えばコンパクトディスク(CD)、ディジタル・バーサタイル・ディスク(DVD)など)あるいは磁気記憶装置(例えばハードドライブ、フラッシュ・ドライブ、テープドライブなど)または、コンピュータ・プログラムプロダクトを格納するために適合した他の記憶装置、あるいはそのような記憶装置の組合せを含むsolid-sate記憶装置を含むかもしれない。
【００４０】
用語「コンピュータ通信媒体」は、例えば、変調キャリア波、光学信号、DCあるいはAC電流、および同様の手段を用いて、ある箇所から別の箇所にコンピュータ・プログラムプロダクトを送信するのに適した任意の物理インタフェースをここに参照する。限定ではなく一例として、コンピュータ通信媒体は、ツイストペア線、プリントされた(printed)あるいはフラットケーブル、同軸ケーブル、ファイバ光学ケーブル、ディジタル加入者線(DSL)あるいは他の有線、ワイヤレス、あるいは光学のシリアル、あるいはパラレルインターフェイス、あるいはそれの組合せを含むかもしれない。
【００４１】
開示された構成における上記記載は、当業者をして、本開示の技術の製造又は利用を可能とするために提供される。これら構成への様々な変形例もまた、当業者には明らかであり、本明細書で定義された一般原理は、本開示の精神又は範囲から逸脱することなく他の構成にも適用されうる。従って本開示は、本明細書に示された構成に限定することは意図されておらず、本明細書に開示された原理及び新規特徴と整合が取れた最も広い範囲と一致するように意図されている。
【図１】
2012505607.tif 000003
【図２】
2012505607.tif 000004
【図３】
2012505607.tif 000005
【図４Ａ】
2012505607.tif 000006
【図４Ｂ】
2012505607.tif 000007
【図５】
2012505607.tif 000008
【図６】
2012505607.tif 000009
【図７】
2012505607.tif 000010
【図８】
2012505607.tif 000011
【手続補正書】
【提出日】平成23年5月19日(2011.5.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
開示された構成における上記記載は、当業者をして、本開示の技術の製造又は利用を可能とするために提供される。これら構成への様々な変形例もまた、当業者には明らかであり、本明細書で定義された一般原理は、本開示の精神又は範囲から逸脱することなく他の構成にも適用されうる。従って本開示は、本明細書に示された構成に限定することは意図されておらず、本明細書に開示された原理及び新規特徴と整合が取れた最も広い範囲と一致するように意図されている。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む集積回路。
［２］
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する［１］の集積回路。
［３］
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
［１］に記載の集積回路。
［４］
前記プロセッサは、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立(codec independent)である汎用命令(universal order)にリストされる前記非ゼロ量子化係数の数である
［３］の集積回路。
［５］
前記プロセッサは、
24+N16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［１］の集積回路。
［６］
前記プロセッサは、
汎用圧縮(universally-packed)非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納にさらに作用する
［１］の集積回路。
［７］
前記集積回路は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成る前記グループから選ばれたワイヤレス装置の一部である
［１］の集積回路。
［８］
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む装置。
［９］
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する［８］の装置。
［１０］
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
［８］の装置。
［１１］
前記プロセッサは、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［１０］の装置。
［１２］
前記プロセッサは、
24+N 16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するのにさらに作用し、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［８］の装置。
［１３］
前記プロセッサは、
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納にさらに作用する
［８］の装置。
［１４］
前記装置は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成る前記グループから選ばれたワイヤレス装置の一部である
［８］の装置。
［１５］
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離するための第１の手段と、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成するための第２の手段と、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成するための第３の手段と
を含む装置。
［１６］
前記第２の手段は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)ための手段と、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置するための手段と、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成するための手段とをさらに含む
［１５］の装置。
［１７］
前記第２の手段は、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットのそれぞれを形成するための手段をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［１６］の装置。
［１８］
前記第２の手段は、
24+N 16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットのそれぞれを形成するための手段をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［１５］の装置。
［１９］
前記コーデック独立非ゼロMBパケットを格納するための第４の手段をさらに含む［１５］の装置。
［２０］
ビデオビットストリームのマクロブロック中でテクスチャ逆符号化を行なうためのコンピュータ・プログラムプロダクトであって、
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成し、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することをコンピュータにもたらすための命令を有するコンピュータ可読媒体を含むコンピュータ・プログラムプロダクト。
［２１］
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する［２０］のコンピュータ・プログラムプロダクト。
［２２］
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
［２１］のコンピュータ・プログラムプロダクト。
［２３］
前記再スキャンおよび再構成するための命令は、
1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するための命令をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［２２］のコンピュータ・プログラムプロダクト。
［２４］
前記コーデック独立非ゼロMBパケットを生成するための命令は、
24+N16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成するための命令をさらに含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［２０］のコンピュータ・プログラムプロダクト。
［２５］
前記命令は、
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納することをコンピュータにさらにもたらす
［２０］のコンピュータ・プログラムプロダクト。
［２６］
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離することと、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成することと、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することとを含む、ビデオビットストリームのマクロブロック中でのテクスチャ逆符号化方法。
［２７］
前記生成するステップは、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)ことと、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置することと、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成することとを含む
［２６］の方法。
［２８］
前記再構成する間に、1+2*N 16ビットワードとして定義される前述したそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を形成し、Nは、コーデック独立(codec independent)である汎用命令(universal order)にリストされる前記非ゼロ量子化係数の数である
［２７］の方法。
［２９］
前記コーデック独立非ゼロMBパケットを生成することは、
24+N16ビットワードとして定義されるそれぞれのMBのための前記パケット長さであるところのパケット長さをもつ前記コーデック独立非ゼロMBパケットの各々を生成することを含み、Nは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数である
［２６］の方法。
［３０］
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納することをさらに含む［２６］の方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)1+2*N 16ビットワードおよび24+N 16ビットワードのうちの1つに相当するパケット長さを有するように各々生成されている非ゼロMBパケットで、Nはコーデック独立した汎用命令にリストされる非ゼロ量子化係数の数である、前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、 (iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む集積回路。
【請求項２】
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する請求項１の集積回路。
【請求項３】
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
請求項１に記載の集積回路。
【請求項４】
前記プロセッサは、
汎用圧縮(universally-packed)非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納するようにさらに作用する
請求項１の集積回路。
【請求項５】
前記集積回路は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成る前記グループから選ばれたワイヤレス装置の一部である
請求項１の集積回路。
【請求項６】
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)1+2*N 16ビットワードおよび24+N 16ビットワードのうちの1つに相当するパケット長さを有するように各々生成されている非ゼロMBパケットで、Nはコーデック独立した汎用命令にリストされる非ゼロ量子化係数の数である、前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、 (iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む装置。
【請求項７】
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する請求項６の装置。
【請求項８】
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
請求項６の装置。
【請求項９】
前記プロセッサは、
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納するようにさらに作用する
請求項６の装置。
【請求項１０】
前記装置は、
携帯電話、ビデオゲーム・コンソール、携帯情報端末(PDA)、ラップトップ・コンピュータ、ビデオ対応デバイスおよびオーディオ/ビデオ対応デバイスから成る前記グループから選ばれたワイヤレス装置の一部である
請求項６の装置。
【請求項１１】
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離するための第１の手段と、
1+2*N 16ビットワードおよび24+N 16ビットワードのうちの1つに相当するパケット長さを有するように各々生成されている非ゼロMBパケットで、Nはコーデック独立した汎用命令にリストされる非ゼロ量子化係数の数である、前記残留パケット・データからコーデック独立非ゼロMBパケットを生成するための第２の手段と、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成するための第３の手段と
を含む装置。
【請求項１２】
前記第２の手段は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)ための手段と、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置するための手段と、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成するための手段とをさらに含む
請求項１１の装置。
【請求項１３】
前記コーデック独立非ゼロMBパケットを格納するための第４の手段をさらに含む請求項１１の装置。
【請求項１４】
ビデオビットストリームのマクロブロック中でテクスチャ逆符号化を行なうためのコンピュータ・プログラムプロダクトであって、
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、
1+2*N 16ビットワードおよび24+N 16ビットワードのうちの1つに相当するパケット長さを有するように各々生成されている非ゼロMBパケットで、Nはコーデック独立した汎用命令にリストされる非ゼロ量子化係数の数である、前記残留パケット・データからコーデック独立非ゼロMBパケットを生成し、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することをコンピュータにもたらすための命令を有するコンピュータ可読媒体を含むコンピュータ・プログラムプロダクト。
【請求項１５】
前記ビデオビットストリームは、少なくとも１つのMPEG，VC-1あるいはH.264符号化標準に準拠する請求項１４のコンピュータ・プログラムプロダクト。
【請求項１６】
前記コーデック独立非ゼロMBパケットを生成する前記命令は、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)命令を含み、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置し、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成する
請求項１４のコンピュータ・プログラムプロダクト。
【請求項１７】
前記命令は、
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納することをコンピュータにさらにもたらす
請求項１４のコンピュータ・プログラムプロダクト。
【請求項１８】
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離することと、
1+2*N 16ビットワードおよび24+N 16ビットワードのうちの1つに相当するパケット長さを有するように各々生成されている非ゼロMBパケットで、Nはコーデック独立した汎用命令にリストされる非ゼロ量子化係数の数である、前記残留パケット・データからコーデック独立非ゼロMBパケットを生成することと、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することとを含む、ビデオビットストリームのマクロブロック中でのテクスチャ逆符号化方法。
【請求項１９】
前記生成するステップは、
各マクロブロックに関して量子化係数を定義するように前記残留パケット・データを逆ジグザグにする(un-zigzag)ことと、
非ゼロ量子化係数を、それぞれの１つの非ゼロ量子化係数の、場所、レベル、runおよびレベルを定義する場所およびレベル(LL)ペアおよびrunおよびレベル(RL)ペアの各自の１つへ再スキャンして再配置することと、
多くの前記LLペアあるいは前記RLペアが各MB内にあることを示すようにデータの１ワードを形成することとを含む
請求項１８の方法。
【請求項２０】
汎用圧縮非ゼロ係数バッファ中へ前記コーデック独立非ゼロMBパケットを格納することをさらに含む請求項１８の方法。
【手続補正書】
【提出日】平成23年7月11日(2011.7.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
用語「コンピュータ記憶媒体」は、コンピュータにプロセスを実行させる命令の格納に適した任意の媒体をここに指す。限定ではなく一例として、コンピュータ記憶媒体は、電子記憶装置(例えばRAM、ROM、EEPROMなど)、光学記憶装置(例えばコンパクトディスク(CD)、ディジタル・バーサタイル・ディスク(DVD)など)あるいは磁気記憶装置(例えばハードドライブ、フラッシュ・ドライブ、テープドライブなど)または、コンピュータ・プログラムプロダクトを格納するために適合した他の記憶装置、あるいはそのような記憶装置の組合せを含むソリッドステート(solid-state)記憶装置を含むかもしれない。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、前記非ゼロMBパケットはそれぞれ、1+2*N 16ビットワードおよび24+N 16ビットワードのうちの１つに相当するパケット長さをもつように生成され、そこではNは、コーデック独立(codec-independent)である汎用命令(universal order)にリストされる前記非ゼロ量子化係数の数であり、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む集積回路。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
(i)ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、(ii)前記残留パケット・データからコーデック独立非ゼロ(codec-independent non-zero)MBパケットを生成し、前記非ゼロMBパケットはそれぞれ、1+2*N 16ビットワードおよび24+N 16ビットワードのうちの１つに相当するパケット長さをもつように生成され、そこではNは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数であり、(iii)前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成する命令を実行するように構成されたプロセッサと、
前記命令を含むメモリと
を含む装置。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離するための第１の手段と、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成するための手段で、前記非ゼロMBパケットはそれぞれ、1+2*N 16ビットワードおよび24+N 16ビットワードのうちの１つに相当するパケット長さをもつように生成され、そこではNは、コーデック独立(codec-independent)である汎用命令にリストされる前記非ゼロ量子化係数の数である第２の手段と、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成するための第３の手段と
を含む装置。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
ビデオビットストリームのマクロブロック中でテクスチャ逆符号化を行なうためのコンピュータ・プログラムプロダクトであって、
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離し、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成し、前記非ゼロMBパケットはそれぞれ、1+2*N 16ビットワードおよび24+N 16ビットワードのうちの１つに相当するパケット長さをもつように生成され、そこではNは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数であり、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することをコンピュータにもたらすための命令を有するコンピュータ可読媒体を含むコンピュータ・プログラムプロダクト。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】
ビットストリームマクロブロック(MB)情報および残留パケット・データに逆符号化して分離することと、
前記残留パケット・データからコーデック独立非ゼロMBパケットを生成することで、前記非ゼロMBパケットはそれぞれ、1+2*N 16ビットワードおよび24+N 16ビットワードのうちの１つに相当するパケット長さをもつように生成され、そこではNは、コーデック独立である汎用命令にリストされる前記非ゼロ量子化係数の数であることと、
前記コーデック独立非ゼロMBパケットおよび前記MB情報からピクセルを再構成することとを含む、ビデオビットストリームのマクロブロック中でのテクスチャ逆符号化方法。
【国際調査報告】
2012505607.tif 000012
2012505607.tif 000013
2012505607.tif 000014