(57)【要約】      （修正有）【課題】ビデオ・ピクチャの符号化におけるパイプラインによる分散処理をより最適化する。【解決手段】ビデオ信号は、符号化の前処理を行うビデオパイプラインに入力される。ビデオ・パイプラインにおいて、分散計算器部分は、マクロブロックについての複数の分散値を計算し、マクロブロックに対するＤＣＴタイプ標識が、複数の分散値に基づいて決定される。その際、マクロブロックデータの入力、分散値の計算、ＤＣＴタイプ決定に関わるマクロブロック処理、がパイプラインで処理される。【選択図】図１
2006246455.tif 000002
【特許請求の範囲】
【請求項１】
圧縮されるべきビデオ・ピクチャの第１の部分を表す第１のセットのデータを受け取ることと、
第１の複数の変動値を決定することであって、それぞれの前記変動値は、前記第１のセットのデータの対応するサブセットに基づくことと、
前記第１の複数の変動値に基づいてＤＣＴタイプを決定することとを含む方法。
【請求項２】
前記複数の変動値に基づいて前記ＤＣＴタイプを決定することは、前記複数の変動値の第１の変動値の、前記第１の複数の変動値の第２の変動値との比較に基づいて、前記ＤＣＴタイプを決定することを含む請求項１記載の方法。
【請求項３】
前記第１の複数の変動値は、前記第１のセットのデータの第１のサブセットに基づくフレーム変動値と、前記第１のセットのデータの第２のサブセットに基づくフィールド変動値とを含む請求項１記載の方法。
【請求項４】
前記第１の複数の変動値は、前記第１のセットのデータの第１のサブセットに基づく第１のフィールド変動値と、前記第１のセットのデータの第２のサブセットに基づく第２のフィールド変動値とを含む請求項１記載の方法。
【請求項５】
メモリに格納されるべき少なくとも１つの変動値を提供することをさらに含み、前記少なくとも１つの変動値は、前記複数の変動値の少なくとも１つに基づく請求項１記載の方法。
【請求項６】
前記少なくとも１つの変動値は、符号なしであり、奇数のビットによって表される請求項５記載の方法。
【請求項７】
メモリに格納されるべき前記ＤＣＴタイプの標識を提供することをさらに含む請求項６記載の方法。
【請求項８】
前記ＤＣＴタイプの前記標識と、前記少なくとも１つの変動値とは、同時に格納される請求項７記載の方法。
【請求項９】
前記ＤＣＴタイプの前記標識と、前記１つの変動値とは、共通のデータ・ワードに格納される請求項７記載の方法。
【請求項１０】
前記第１のセットのデータを受け取ることは、前記第１のセットのデータを、パイプラインの第１の段で前記パイプラインの第２の段から受け取ることを含む請求項１記載の方法。
【請求項１１】
前記パイプラインの前記第２の段は、ビデオ・スケーラを含む請求項１０記載の方法。
【請求項１２】
前記パイプラインの前記第２の段は、雑音除去フィルタを含む請求項１０記載の方法。
【請求項１３】
前記パイプラインの前記第２の段を、前記パイプラインの第３の段と前記パイプラインの第４の段との１つであるとみなすことをさらに含む請求項１０記載の方法。
【請求項１４】
前記第２の段を識別することは、前記第２の段を識別するために、メモリ位置から値を読み取ることをさらに含む請求項１３記載の方法。
【請求項１５】
第１の期間に、メモリから複数のビデオ・マクロブロックを受け取ることと、
複数の第１の修正されたマクロブロックを生成するために、第２の期間に、パイプラインの第１の段で前記複数のビデオ・マクロブロックを処理することと、
各前記マクロブロックについて複数の変動値を決定するために、第３の期間に、前記パイプラインの第２の段で前記複数の第１の修正されたマクロブロックを処理することとを含む方法。
【請求項１６】
前記パイプラインの前記第１の段で前記複数のビデオ・マクロブロックを処理することは、Ｎ個のマクロブロックに作用し、Ｎは、１より大きい正の整数である請求項１５記載の方法。
【請求項１７】
ビデオ・ピクチャの一部分を表す第１のセットのデータを受け取るための入力と、前記第１のセットのデータに基づいて前記ビデオ・ピクチャの部分を表す第２のデータのセットを提供するための出力とを含む、パイプラインの第１の段と、
前記第２のセットのデータを受け取るための前記第１の段の前記出力に結合された入力と、出力とを含む、前記パイプラインの第２の段とを含むシステムであって、
前記パイプラインの前記第２の段は、
前記第２のセットのデータの１つ又は複数のフィールド変動値を決定するための第１の部分と、
前記第２のセットのデータの１つ又は複数のフレーム変動値を決定するための第２の部分と
を含むシステム。
【請求項１８】
前記第１の部分は、前記第２のセットのデータに基づいて、複数のフィールド変動値を決定するためのものであり、前記第２の部分は、前記第２のセットのデータに基づいて、複数のフレーム変動値を決定するためのものである請求項１７記載のシステム。
【請求項１９】
変動値を受け取るためであって、かつ前記第２のセットのデータの圧縮を制御するための標識を提供するために、前記第１のモジュールと前記第２のモジュールとに結合された第３の部分をさらに含む請求項１８記載のシステム。
【請求項２０】
前記ビデオ・ピクチャの前記部分を表す第３のセットのデータを、前記パイプラインに提供するための出力を含むメモリをさらに含み、前記第１のセットのデータは、前記第３のセットのデータと同一、又は前記第３のセットのデータの一表示のいずれかである請求項１７記載のシステム。
【請求項２１】
前記第１のモジュールの前記出力は、前記第２のセットのデータを前記メモリの入力に提供するために、前記メモリに結合される請求項２０記載のシステム。
【請求項２２】
Ｎビットの情報を同時に転送することができるメモリと、
ビデオ・ピクチャの一部分を表すビデオ情報を受け取るためであって、かつ前記ビデオ・ピクチャの前記部分と、前記ビデオ・ピクチャの前記部分に適用されるべき圧縮のタイプを指示するＹビット値とに基づく分散計算を表すＸビット値を提供するために、前記メモリに結合された処理モジュールとを含み、Ｘ、Ｙ、及びＮは、整数であり、ＸとＹの和は、Ｎより小さいか又はＮと等しいシステム。
【請求項２３】
前記処理モジュールは、さらに、１ビット値である前記Ｙビット値を提供するためのものである請求項２２記載のシステム。
【請求項２４】
前記メモリは、１６又はそれ以上のビットの情報を同時に転送することができる請求項２２記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ビデオ処理に関し、より詳細には、ビデオ・ピクチャの分散処理に関する。
【背景技術】
【０００２】
関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＡＤＡＰＴＩＶＥ  ＢＡＮＤＷＩＤＴＨ  ＦＯＯＴＰＲＩＮＴ  ＭＡＴＣＨＩＮＧ  ＦＯＲ  ＭＵＬＴＩＰＬＥ  ＣＯＭＰＲＥＳＳＥＤ  ＶＩＤＥＯ  ＳＴＲＥＡＭＳ  ＩＮ  Ａ  ＦＩＸＥＤ  ＢＡＮＤＷＩＤＴＨ  ＮＥＴＷＯＲＫ」と題される、２００１年３月２０日に出願された出願番号第０９／８２３，６４６号（代理人整理番号１４５９−ＶｉＸＳ００２）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  Ａ  ＭＵＬＴＩＭＥＤＩＡ  ＳＹＳＴＥＭ」と題される、２００１年５月２４日に出願された出願番号第０９／８６４，５２４号（代理人整理番号１４５９−ＶｉＸＳ００３）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＯＦ  ＭＵＬＴＩＰＬＥＸＩＮＧ  Ａ  ＰＬＵＲＡＬＩＴＹ  ＯＦ  ＣＨＡＮＮＥＬＳ  ＩＮ  Ａ  ＭＵＬＴＩＭＥＤＩＡ  ＳＹＳＴＥＭ」と題される、２００１年５月２４日に出願された出願番号第０９／８６４，６０２号（代理人整理番号１４５９−ＶｉＸＳ００４）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＭＡＮＡＧＩＮＧ  ＲＥＳＯＵＲＣＥＳ  ＩＮ  Ａ  ＭＵＬＴＩＭＥＤＩＡ  ＳＹＳＴＥＭ」と題される、２００１年５月２４日に出願された出願番号第０９／８６４，４７６号（代理人整理番号１４５９−ＶｉＸＳ００８）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＭＵＬＴＩＰＬＥ  ＣＨＡＮＮＥＬ  ＶＩＤＥＯ  ＴＲＡＮＳＣＯＤＩＮＧ」と題される、２００１年１１月２１日に出願された出願番号第０９／９９０，９７６号（代理人整理番号１４５９−ＶｉＸＳ００１２）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＲＡＴＥ  ＣＯＮＴＲＯＬ  ＤＵＲＩＮＧ  ＶＩＤＥＯ  ＴＲＡＮＳＣＯＤＩＮＧ」と題される、２００１年１１月２１日に出願された出願番号第０９／９９０，７３７号（代理人整理番号１４５９−ＶｉＸＳ００１３）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＰＲＯＴＥＣＴＩＮＧ  ＶＩＤＥＯ  ＤＡＴＡ」と題される、２００２年５月２日に出願された出願番号第１０／１３７，１５１号（代理人整理番号１４５９−ＶｉＸＳ００３６）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＤＹＮＡＭＩＣＡＬＬＹ  ＡＤＪＵＳＴＩＮＧ  ＤＡＴＡ  ＲＡＴＥ  ＯＦ  ＷＩＲＥＬＥＳＳ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ」と題される、２���０２年６月１８日に出願された出願番号第１０／１７４，３７１号（代理人整理番号１４５９−ＶｉＸＳ００３８）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＴＵＳ  ＦＯＲ  ＮＯＮ−ＩＮＴＲＵＳＩＶＥ  ＴＲＡＮＳＣＥＩＶＥＲ  ＰＲＯＰＥＲＴＹ  ＡＤＪＵＳＴＭＥＮＴ」と題される、２００３年２月２８日に出願された出願番号第１０／３７６，５８１号（代理人整理番号１４５９−ＶｉＸＳ００４８）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＳＹＳＴＥＭ  ＦＯＲ  ＰＲＯＶＩＤＩＮＧ  ＤＡＴＡ  ＴＯ  ＭＵＬＴＩＰＬＥ  ＤＥＶＩＣＥＳ  ＡＮＤ  ＭＥＴＨＯＤ  ＴＨＥＲＥＯＦ」と題される、２００３年２月２８日に出願された出願番号第１０／３７６，８５３号（代理人整理番号１４５９−ＶｉＸＳ００５１）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＯＦ  ＭＯＴＩＯＮ  ＶＥＣＴＯＲ  ＰＲＥＤＩＣＴＩＯＮ  ＡＮＤ  ＳＹＳＴＥＭ  ＴＨＥＲＥＯＦ」と題される、２００３年１月１６日に出願された出願番号第１０／３４５，７１０号（代理人整理番号１４５９−ＶｉＸＳ００５３）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＯＦ  ＶＩＤＥＯ  ＥＮＣＯＤＩＮＧ  ＵＳＩＮＧ  ＷＩＮＤＯＷＳ  ＡＮＤ  ＳＹＳＴＥＭ  ＴＨＥＲＥＯＦ」と題される、２００３年１月１６日に出願された出願番号第１０／３４５，８４７号（代理人整理番号１４５９−ＶｉＸＳ００５４）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＴＲＡＮＳＣＯＤＩＮＧ  ＶＩＤＥＯ  ＤＡＴＡ」と題される、２００３年２月２４日に出願された出願番号第１０／３７５，５８２号（代理人整理番号１４５９−ＶｉＸＳ００５９）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＰＲＯＣＥＳＳＩＮＧ  ＡＵＤＩＯ  ＦＲＡＭＥＳ」と題される、２００３年６月１３日に出願された出願番号第１０／４６１，０９５号（代理人整理番号１４５９−ＶｉＸＳ００６０）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＡＣＣＵＲＡＴＥＬＹ  ＤＥＴＥＣＴＩＮＧ  ＶＡＬＩＤＩＴＹ  ＯＦ  Ａ  ＲＥＣＥＩＶＥＤ  ＳＩＧＮＡＬ」と題される、２００３年１０月１０日に出願された出願番号第１０／６８３，０６２号（代理人整理番号１４５９−ＶｉＸＳ００６１）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＳＣＡＬＩＮＧ  ＩＭ��ＧＥＳ」と題される、２００３年９月２９日に出願された出願番号第１０／６７３，６９３号（代理人整理番号１４５９−ＶｉＸＳ００６２）を有する、同時係属の米国特許出願に見られる。関連付けられた主題は、参照によりその全体が本明細書に組み込まれている、「ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ  ＦＯＲ  ＮＯＩＳＥ  ＲＥＤＵＣＴＩＯＮ  ＩＮ  ＡＮ  ＩＭＡＧＥ」と題される、２００３年９月２９日に出願された出願番号第１０／６７３，６１２号（代理人整理番号１４５９−ＶｉＸＳ００６３）を有する、同時係属の米国特許出願に見られる。
【０００３】
ビデオ処理技術は、連続して表示されるとき動画ビデオを表す一連の個々のピクチャに作用する。ビデオを構成する一連の個々のピクチャを表すために必要なデータの量を削減するために、しばしば原ピクチャは圧縮されることが望ましい。一般的圧縮技術は、ブロック・ベースのＤＣＴ（離散コサイン変換）方法を用いて、ソース・ピクチャから空間的冗長を除去することである。ブロック・ベースＤＣＴ方法は、ソース・ピクチャの圧縮の最適化を試みるために、ピクチャ・フレーム・データ又はピクチャ・フィールド・データを圧縮することができる。従って、ソース・ピクチャの最適化を改善するためのシステム及び方法が有用である。
【発明の開示】
【０００４】
添付の図面を参照することにより、本開示はよりよく理解され、その多数の特徴及び利点が当業者に明らかにされうる。
【０００５】
異なる図面における同じ参照記号の使用は、同様又は同一のアイテムを示している。
【０００６】
ＤＣＴタイプの標識を決定し格納するシステム及び方法が開示される。詳細には、複数の分散が、マクロブロックに対して決定され、そして、マクロブロックのフレーム又はフィールド圧縮が実施されるべきかどうかを決定するために使用される。本開示は、図１〜７を参照するとよりよく理解される。
【０００７】
図１は、本開示の特定の実施形態によるシステム１００を示す。システム１００は、ビデオ入力１１０、ビデオ・パイプライン１２０、ビデオ・コンプレッサ１３０、メモリ・コントローラ１４０、コントローラ１５０、及びメモリ１６０を含む複数のモジュールを有する、ビデオ処理システムを表す。
【０００８】
本明細書での用語「ポート」は、システム又はシステムの一部分の機能的に関連する接続を幅広く指し示すために使用される。例えば、用語のポートは、システムのある特定の部分に関連する、１つ又は複数の入力接続、１つ又は複数の出力接続、及び１つ又は複数の双方向接続を意味することができる。図におけるコンポーネントの間の特定のポート・タイプは、例示であり、接続を特定のポート・タイプに限定することも、別個のポートの存在を示唆することも必ずしも意図されてないことは認識されよう。例えば、「内向きの」矢印によって表される入力ポートと、「外向きの」矢印によって表される出力ポートを有するように示された特定のモジュールが、現実の実装では、単一の双方向ポートを有することもある。
【０００９】
ビデオ入力１１０は、ビデオデータＳＯＵＲＣＥ  ＶＩＤＥＯを受け取るためのポートを有し、メモリ・コントローラ変動計算器１４０及びコントローラ１５０に接続される。ビデオ・パイプライン１２０は、メモリ・コントローラ１４０及びコントローラ１５０に接続される。ビデオ・コンプレッサ１３０は、メモリ・コントローラ１４０及びコントローラ１５０に接続される。さらに、メモリ・コントローラ１４０は、コントローラ１５０及びメモリ１６０に接続される。
【００１０】
動作中、ビデオ・ストリームの複数の原ピクチャを表すＳＯＵＲＣＥ  ＶＩＤＥＯは、ビデオ入力１１０で受け取られる。原ピクチャは、ビデオ・パイプライン１２０に供給され、これは、ビデオ圧縮のためにピクチャを準備する。ビデオ・パイプライン１２０の特定のモジュール２４０は、図示されており、ピクチャ内の変動を決定するために使用されるパイプライン・ステージ・モジュールを表す。ビデオ・コンプレッサ１３０は、変動計算器２４０からの変動情報に基づいて、ビデオ・パイプライン１２０から前処理されたピクチャを受け取り圧縮する。例示された実施形態では、データは、メモリ・コントローラ１４０を介して、モジュール１１０、１２０、及び１３０の間で転送され、その結果、データがメモリ１６０から要求される時から、それがモジュールで使用可能になる時までの待ち時間が生じる。
【００１１】
メモリ１６０に対する単一のアクセスは、変動計算器２４０の段など、ビデオ・パイプライン１２０内における複数の前圧縮段をサポートするために使用されうるため、効率的処理は、ピクチャ変動情報をビデオ・パイプライン１２０内で計算することによって実現される。本明細書に記載の単一アクセスを使用する能力は、メモリ・コントローラ１４０とメモリ１６０の間、並びにメモリ・コントローラ１４０とそのクライアントの間のデータ帯域幅要件を軽減する。ビデオ・パイプライン１２０の特定の実装形態が、図２に示されている。
【００１２】
図２は、スケーラ２１０、雑音除去フィルタ２２０、変動計算器２４０、及びＤＣＴタイプ選択器２５０を含む、ビデオ・パイプライン１２０の特定の実施形態を示す。２０２、２１２、２２２、２４２、及び２４３によって表される接続のような１つ又は複数の接続は、ビデオ・パイプライン１２０を通って１つ又は複数のデータ・フロー・オプションを実行するために使用されうる。例えば、すべてのデータは、スケーラ２１０から、雑音除去フィルタ２２０、変動計算器２４０、ＤＣＴタイプ選択器２５０へと順次流れることができる。他の実施形態では、データは接続２０２によって表されるように、レジスタ（図示せず）を使用することなどによってスケーラ２１０と雑音除去フィルタ２２０の一方又は両方を選択的にバイパスすることができる。
【００１３】
動作中、ソース・ビデオ・ピクチャは、図２のビデオ・パイプライン１２０で、メモリ１６０から受け取られる。通常、ソース・ピクチャは、ソース・ピクチャの一部分のみを表すデータのセットとして、ビデオ・パイプライン１２０で受け取られ、それによって作用される。例えば、この部分は、ソース・ピクチャの特定のブロックでありうる。一実施形態では、この特定のブロックは、１つ又は複数のマクロブロックでありうる。本明細書で使用されるマクロブロックの用語は、ＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４として参照される、現在使用可能なバージョンの種々のＭＰＥＧ規格など、それらの全てが当業者に容易に知られる、１つ又は複数のＭＰＥＧ仕様に関して理解されるような特定のコンテクストで使用されることに留意されたい。ただし、本明細書の開示における特定のコンテクストの使用は、例示が目的であり、ビデオ情報を処理する他のブロック・ベースのコンテクストに拡張されることは理解されたい。
【００１４】
ビデオ・パイプライン１２０内のソース・ピクチャ情報の送り先は、接続２０２によって示される、スケーラ２１０、雑音除去フィルタ２２０、及び変動計算器２４０を含む１つ又は複数の段でありうる。ビデオ・パイプライン１２０におけるソース・ビデオ・ピクチャの送り先は、設計によって固定される又は可変とされうる。例えば、システム１００は、ソース・ピクチャ・データをスケーラ２１０にもっぱら供給するように設計されうる。或いは、システム１００は、ビデオ・パイプライン１２０のいくつかの段の１つ又は複数にソース・データが供給されることを可能にする、レジスタ（図示せず）を提供することができる。例えば、ソース・データは、レジスタ位置に格納された値に基づいて、スケーラ２１０、雑音除去フィルタ２２０、及び変動計算器２４０のうち１つに提供されうる。
【００１５】
図示のように、スケーラ２１０は、ＭＣ１４０から、ＭＢとラベル付けされたメモリ１６０からのマクロブロックなどの原ソース・ピクチャ・データを受け取ることができる。スケーラ１２０は、垂直及び水平次元のいずれか又は両方でソース・ピクチャをスケールすることができるビデオ・スケーラである。ソース・ピクチャの表現である、スケーラ２１０からのスケールされたピクチャは、メモリ・コントローラ１４０を介して、ビデオ・パイプライン１２０及びメモリ１６０の１つ又は複数の段に供給されうる。スケーラ２１０からのスケールされたピクチャが、雑音除去フィルタ２２０や変動計算器２４０のようなメモリ１６０及びビデオ・パイプライン１２０の段に供給されるかどうかは、設計によって固定される又は可変とされうる。
【００１６】
例えば、システム１００は、スケールされたピクチャ・データを、１つ又は複数の送り先に常に供給するように設計されうる。例えば、スケールされたピクチャ・データは、雑音除去フィルタ２２０に常に提供されうるか、又は、雑音除去フィルタ２２０及びメモリ１６０に常に提供されうる。他の実施形態では、システム１００は、スケールされたデータがビデオ・パイプライン１２０のいくつかの段の１つ又は複数に提供されることを可能にする、レジスタ（図示せず）を提供することができる。例えば、スケールされたデータは、あるレジスタ値に基づいて雑音除去フィルタ２２０と変動計算器２４０のいずれかに供給され、別のレジスタ値に基づいてメモリ１６０に提供されうる。
【００１７】
雑音除去フィルタ２２０は、メモリ１６０からのＭＢとラベル付けされたマクロブロックや、スケーラ２１０からのスケールされたデータのようなピクチャ・データを受け取る。雑音除去フィルタ２２０は、受け取られたピクチャ・データをフィルタ処理し、フィルタ処理されたピクチャ・データを接続２２２で供給する。雑音除去フィルタ２２０からのフィルタ処理されたピクチャ・データは、ビデオ・パイプライン１２０（フィルタ処理されたデータを、特に図示しない複数の段に供給する能力）及びメモリ１６０の１つ又は複数の段に供給されうる。雑音除去フィルタ２２０からのフィルタ処理されたピクチャが、変動計算器２４０などのようなメモリ１６０及びビデオ・パイプライン１２０の段の１つ又は複数に供給されるかどうかは、スケーラ２１０又は雑音除去フィルタ２２０に関して論じられたのと同様に、設計によって固定される又は可変とされうる。
【００１８】
変動計算器２４０は、メモリ１６０からのＭＢとラベル付けされたマクロブロック、スケーラ２１０からのスケールされたデータ、又は雑音除去フィルタ２２０からのフィルタ処理されたデータなどのピクチャ・データを受け取り、受け取られたピクチャ・データの変動情報を決定する。一実施形態では、変動情報は、８×８ブロックの輝度データについて計算される。しかし、効率のため、この計算は、マクロブロック・ベースで実行されうる。
【００１９】
１６×１６マクロブロックは、４つのフィールド・ブロックと４つのフレーム・ブロックを含む。図３は、マクロブロック３１０の４つのフレーム・ブロックと４つのフィールド・ブロックを示す。フレーム・ブロック１は、マクロブロック３１０の最上且つ最左部の６４ピクセルからなる。フレーム・ブロック２は、マクロブロック３１０の最上且つ最右部の６４ピクセルからなる。フレーム・ブロック３は、マクロブロック３１０の最下且つ最左部の６４ピクセルからなる。フレーム・ブロック４は、マクロブロック３１０の最下且つ最右部の６４ピクセルからなる。図３Ｂにはトップ・フィールド・ブロック５及び６が示されており、フィールド・ブロック５及び６は、それぞれ、マクロブロック３１０の左及び右半分のトップ・フィールド（図３Ａの影付けされていないピクセル行）からなる。図３Ｃにはボトム・フィールド・ブロック７及び８が示されており、フィールド・ブロック７及び８は、それぞれ、マクロブロック３１０の左及び右半分のボトム・フィールド（図３Ａの影付けされたピクセル行）からなる。これらの８つの変動計算の１つ又は複数が、接続２４３及び接続２４２によって示されるように、後で使用するためにメモリ１６０に供給されうる。本開示の特定の実施形態によれば、８つの各ブロックについての変動情報を表す値が計算される。
【００２０】
ＤＣＴタイプ選択器２５０は、変動計算器２４０で計算された変動情報に基づいて各マクロブロックごとのＤＣＴタイプを決定する。一実施形態では、ＤＣＴタイプ選択器２５０は、マクロブロックのフレーム変動の合計が、マクロブロックのフィールド分散の合計より小さいとき、マクロブロックに対するフレームＤＣＴ標識を提供する。同様に、ＤＣＴタイプ選択器２５０は、マクロブロックのフィールド分散の合計が、マクロブロックのフレーム分散の合計より小さいとき、マクロブロックに対するフィールドＤＣＴ標識を提供する。最も低い合計のフレーム又はフィールド分散に基づいて、マクロブロックに対するＤＣＴタイプを選択すること、及び、計算されたＤＣＴタイプに基づいて、ビデオ・コンプレッサ１３０においてマクロブロックを圧縮することによって、改善された全体的圧縮が得られることが実証される。
【００２１】
図４は、ビデオ・パイプライン１２０の他の実施形態を示す。先に述べられた要素に類似した要素は、同様に番号が付けられている。図４の実施形態では、各マクロブロックについて変動計算器２４０で計算された８つのブロック変動値が、分散選択２８０及びＤＣＴタイプ選択２９０に供給される。
【００２２】
分散選択２８０は、８つのブロック変動値の最小の分散を選択し、その値、或いはその値の切り捨てられた又は丸められた表現を、分散選択２８０の出力に供給する。一実施形態では、変動計算器２４０によって計算された変動は、１６ビットの値であり、分散選択２８０によって出力された変動値は、１５ビット値である。
【００２３】
ＤＣＴタイプ選択２９０は、先に述べられたのと同様に、複数の分散に基づいて１ビットＤＣＴタイプ標識を決定する。
【００２４】
図４の例示された実施形態では、１ビットＤＣＴタイプ標識は、メモリ１６０に格納されうるデータ・ワードを形成するために、１５ビット分散（σ２）として例示されている変動値と組み合わされる。このように、変動及びＤＣＴタイプ・データは両方とも、単一の書込みで格納されうるため、ＤＣＴタイプ・データ及び分散データが別個に格納される場合よりも狭い帯域幅のみを必要とする。
【００２５】
変動計算器２４０によって計算された変動は、マクロブロックに対する空間アクティビティを測定する。マクロブロックｊの変動などの空間アクティビティ（ａｃｔｊ）は、式１で示されるように、図３の１〜４の４つの輝度、フレーム編成のブロック、図３の５〜８の４つの輝度、フィールド編成のブロックから計算される。マクロブロックがプログレッシブ・ピクチャの一部である場合、フィールド変動は、省略されうることに留意されたい。
ａｃｔｊ＝１＋ｍｉｎ（ｖｂｌｋ１，ｖｂｌｋ２，…，ｖｂｌｋ８）    式１
ここで、ｖｂｌｋ１〜ｖｂｌｋ８は、マクロブロックｊの８つのブロックの変動である。特定の実施形態では、変動ｖｂｌｋ１〜ｖｂｌｋ８は、式２によって決定される分散である。
【数１】
2006246455.tif 000003
ここで、ｎは、８つのブロックのうちの１つを表し、ｋは、ブロックｎの６４ピクセルのうちの１つを表し、Ｐｋは、ｋ番目のピクセルの値を表し、Ｐｍｅａｎｎは、ブロックｎの６４ピクセルの平均値である。
【００２６】
一実施形態では、変動は、マクロブロック単位上の８×８ブロックの輝度データに対して計算される。１６×１６マクロブロックは、４つの変動値及び４つのフィールド変動値を含むべきである。他の実施形態では、他の方法が、ＭＢの分散を決定するために使用されうるが、８つの変動のうちで最も小さい変動の別の２つが、ＭＢの分散として選択される。その結果の変動は、所定のマクロブロックｊに対する１６ビット（１５ビットの分散及び１ビットのＤＣＴ）値の部分としてメモリ内に書き込まれる。
【００２７】
垂直スケーリングがフレームに対して行われた場合、８ではなくて４つの分散の計算だけとなる。この分散の数の減少は、垂直スケーリングを実行するときにトップ又はボトム・フィールドを削減することに起因する。しかし、システム１００の特定の実施形態では、１６×１６マクロブロック全体に対して分散が計算されるため、４つの分散値が依然として存在する。これは、１６本の偶数のフィールド行（２，４，６，…，３２）、又は１６本の奇数のフィールド行（１，３，５，…，３１）をもたらす。
【００２８】
一実施形態では、選ばれた分散のすべてが、ピクチャ全体について累積され、次いで、レート制御アルゴリズムの一部として標準化される。この標準化は、フレームの終端において、分散の和をそのフレーム内のマクロブロックの総数によって割ることによって行われる。
【００２９】
一実施形態では、ブロックについて計算された変動が、それの分散である。使用される分散アルゴリズムは、次のように単純化され減じられる。まず、分散計算は、ＮＲＦからの出力についてなど、８ビットＹ成分出力についてだけ計算される。分散（σ２）は、８×８ブロックの６４成分に対して以下の累積が実行されることにより決定される。
１．ｓ＝ｓ２＝０に初期化する
２．各Ｙ成分（計６４）について、
ｖ＝ＹＣＵＲＲＥＮＴ；
ｓ＝ｓ＋ｖ；
ｓ２＝ｓ２＋ｖ＊ｖ；とする
３．６４成分すべてを受け取った後、
σ２＝ｓ２−（ｓ＊ｓ）／６４
【００３０】
図５は、ｓ及びｓ２を決定するための特定の集積回路の実装形態を示す。詳細には、変動ブロックに対する各入力、Ｙ（輝度）成分は、同じ様式で作用される。従って、集積回路の領域を縮小するために、各輝度成分ごとのｓ及びｓ２を計算するために同じブロックが使用される。この計算は、８ピクセルの単一行に対して実行され、各ピクセルは、ＮＲＦ又はＶＳからの入力である８ビットの符号なし値である。例示された各累積器部分は、８ピクセルのセット（マクロブロック行の２分の１）を受け取った後にリセットされる。２つの中間媒介変数ｓ及びｓ２が計算されると、それらは、図６の変動変数累積ブロックに渡される。
【００３１】
図６の変数累積ブロックは、８つのセットのｓ及びｓ２変数を累積し、それらは、上記のステップ３の式を適用することによって、輝度ブロックのそれぞれの分散（σ２）を計算するために使用される。
【００３２】
集積回路の領域を縮小するために、変数累積ブロックの演算機能は、８つの輝度ブロックの間で共用される。例示された特定の実装形態は、ＭＢ行の各半分が２つの分散フィールド計算に必要とされうることを担うために、２回インスタンス化される算術データ経路を有する。従って、ＭＢ行の所定の半分に対して、ｓ及びｓ２変数のセットのための２つの累積が存在する。
【００３３】
システム１００の一実施形態では、雑音除去フィルタ２２０又はスケーラ２１０は、合計６４ピクセルを処理する。これら６４ピクセルは、１つの単一マクロブロックからのピクセルを表さない。代わりに、これらは、４つの水平に隣接するマクロブロックにわたる１行のピクセルに対応する。従って、図６の２つの各累積経路内に、４つの可能なＭＢのｓ及びｓ２変数を累積するための最大１６個の累積レジスタを含むＭＵＸ部がある。
【００３４】
所定の８×８ブロックのデータについての最終のｓ及びｓ２変動値を使用して、分散が計算される。従って、図６の回路の２つの同一のインスタンス化は、８つの可能な分散のすべてを生成するために用いられうる。最終の分散値は、ソフトウェアによって期待される真の１６ビットの結果ではなくて１５ビットの結果になるように切り捨てられる。このビット縮小は、連結された分散情報データ・ブロックの書込みを容易にするために必要であり、それは、最終のＭＢ分散及びＤＣＴタイプからなる。
【００３５】
また、一実施形態では、変動計算器２４０は、平均フレーム分散の決定を担当する。この平均分散は、単純に、フレーム内のＭＢの数によって割られた、フレームに対するＭＢ分散のすべての和である。
【００３６】
しかし、ハードウェアにおける一定でない除数による除算は、ささいな実装ではない。従って、ソフトウェアは、平均分散計算の実行を促進するために、１／ｎの標準化増倍率を提供する。
【００３７】
図７は、本開示の特定の実施形態による方法を示す。ステップ５０１で、圧縮されるべきビデオ・ピクチャの第１の部分を表す第１のセットのデータが受け取られる。図２に関連して、第１のセットのデータは、変動計算器２４０で受け取られる１つ又は複数のマクロブロックでありうる。第１のデータ・セットは、ユーザの選択に基づいて、複数のパイプライン段の１つから受け取られうる。
【００３８】
ステップ５０２で、第１のセットのデータに基づく第１の複数の分散値が決定される。例えば、各フレーム及びフィールド輝度ブロックに対して１つの、８つの分散値が、決定されうる。
【００３９】
５０２で計算された１つ又は複数の分散値は、ステップ５０３で、メモリに格納するために供給されうる。格納する５０２の実行は、ユーザの選択に基づいて条件付けされうる。データ経路５２０は、ステップ５０４がステップ５０３と独立して実行されうることを示している。
【００４０】
ステップ５０４で、第１のセットのデータの圧縮を制御するＤＣＴタイプは、第１の複数の分散値に基づいて決定される。例えば、ＤＣＴタイプは、フィールド分散がフレーム分散よりも小さい和を有するとき、フィールドＤＣＴに設定されることになる。同様に、ＤＣＴタイプは、フレーム分散がフィールド分散よりも小さい和を有するとき、フレームＤＣＴに設定されることになる。
【００４１】
ステップ５０５及び５０６は、互いに選択的及び独立に実行されうる。ステップ５０６で、ＤＣＴタイプ及び少なくとも１つの分散値の標識が、共通データの書込みの部分としてメモリに同時に供給される。
【００４２】
ステップ５０５で、ＤＣＴタイプ標識は、メモリに格納される。ビデオ・コンプレッサ１３０は、ＤＣＴタイプ標識を使用して、ＤＣＴタイプに関連付けられたマクロブロックがフレーム又はフィールド・データとして圧縮されるかどうかを制御する。
【００４３】
図８は、本開示による他の方法を示す。詳細には、ステップ６０１で、メモリからの複数のビデオ・マクロブロックが、第１の期間に受け取られる。
【００４４】
ステップ６０２で、複数のビデオ・マクロブロックが、複数の第１の修正されたデータ・ブロックを生成するために、パイプラインの第１の段で処理される。例えば、第１の修正されたデータ・ブロックは、スケーラ段からのスケールされたデータ、又は、パイプラインのデータ・フィルタ段からのフィルタされたデータから選択されうる。
【００４５】
ステップ６０３で、複数の第１の修正されたマクロブロックが、第３の期間に、各マクロブロックに対する複数の分散値を決定するために、パイプラインの第２の段で処理される。
【００４６】
上記の詳細な説明において、本明細書の一部分を形成する添付の図面に対して参照が行われており、それは、本発明が実施されうる例示の特定の実施形態によって示されている。これらの実施形態及びそれらのいくつかの変形は、当業者が本発明を実施することを可能にするために十分に詳細に説明されている。本発明の精神又は範囲から逸脱することなく、他の適切な実施形態が使用されうること、並びに論理的及び電気的変更が行われうることを理解されたい。また、本発明の精神又は範囲から逸脱することなく、図に示された機能ブロックは、多数のやり方でさらに組み合わせられ又は分割されうることは認識されよう。従って、上記の詳細な説明は、本明細書に記載の特定の形態に限定されることが意図されず、それどころか、添付の特許請求の範囲の精神及び範囲に正当に含まれうる、かかる代替形態、修正形態、及び均等物を包含することが意図されている。
【図面の簡単な説明】
【００４７】
【図１】本開示によるシステムを示すブロック図である。
【図２】本開示の特定の実施形態による、パイプラインの特定の実施形態を示す図である。
【図３】本開示の特定の実施形態による、マクロブロックに関連付けられた８つのブロックを示す図である。
【図４】本開示の特定の実施形態による、パイプラインの特定の実施形態を示す図である。
【図５】本開示の特定の実施形態による、図２及び４のパイプラインの変動計算器モジュールの特定の実装形態を示すブロック図である。
【図６】本開示の特定の実施形態による、図２及び４のパイプラインの変動計算器モジュールの特定の実装形態を示すブロック図である。
【図７】本開示の特定に実施形態による方法を示す図である。
【図８】本開示の特定に実施形態による方法を示す図である。
【符号の説明】
【００４８】
１１０  ビデオ入力
１２０  ビデオ・パイプライン
１３０  ビデオ・コンプレッサ
１４０  メモリ・コントローラ
１５０  コントローラ
１６０  メモリ
２１０  スケーラ
２２０  ノイズ除去フィルタ
２４０  変動計算器
２５０  ＤＣＴタイプ選択器
【図１】
2006246455.tif 000004
【図２】
2006246455.tif 000005
【図３】
2006246455.tif 000006
【図４】
2006246455.tif 000007
【図５】
2006246455.tif 000008
【図６】
2006246455.tif 000009
【図７】
2006246455.tif 000010
【図８】
2006246455.tif 000011
【外国語明細書】
2006246455000001.pdf