(57)【要約】      （修正有）【課題】サブピクセル補間の高速実現のための方法及びシステムを提供する。【解決手段】サブピクセル補間器がフルピクセルから形成したビデオ情報を格納する入力メモリを包含し、又、ハーフピクセルとクォーターピクセルとを並列的に発生させるために少なくとも１個の補間ユニットを包含し、サブピクセル補間期間中に複数個のハーフピクセルと複数個のクォーターピクセルとを発生する。更に、サブピクセル補間器はフルピクセルとハーフピクセルとクォーターピクセルの少なくとも幾つかを格納する出力メモリを包含し、少なくとも１個の補間ユニットは水平ハーフピクセル補間ユニットと、２個の垂直ハーフピクセル補間ユニットと、クォーターピクセル補間ユニットとを包含しており、それらの全ては並列的に動作することが可能である。特定の実施例において、該補間ユニットは加算器及びシフターから形成され且つ乗算器を包含しない。【選択図】図１
2006180509.tif 000002
【特許請求の範囲】
【請求項１】
フルピクセルを有するビデオ情報を受取り、
サブピクセル補間を実施して並列的にハーフピクセル及びクォーターピクセルを発生し、前記サブピクセル補間期間中に複数のハーフピクセルと複数のクォーターピクセルとが同時的に発生され、
前記ハーフピクセル及びクォーターピクセルのうちの少なくとも幾つかを使用して動き補償を実施する、
ことを特徴とする方法。
【請求項２】
請求項１において、サブピクセル補間を実施する場合に、
前記フルピクセルのうちの少なくとも幾つかを使用して水平ハーフピクセルを発生し、各水平ハーフピクセルは２個のフルピクセルの間において水平方向に位置しており、
前記フルピクセルのうちの少なくとも幾つかを使用して第一垂直ハーフピクセルを発生し、各第一垂直ハーフピクセルは２個のフルピクセルの間において垂直方向に位置しており、
前記水平ハーフピクセルのうちの少なくとも幾つかを使用して第二垂直ハーフピクセルを発生し、各第二垂直ハーフピクセルは２個の水平ハーフピクセルの間において垂直に位置している、
ことを特徴とする方法。
【請求項３】
請求項２において、前記第一及び第二垂直ハーフピクセルが同時的に発生されることを特徴とする方法。
【請求項４】
請求項２において、サブピクセル補間を実施する場合に、更に、
前記フルピクセル及びハーフピクセルのうちの少なくとも幾つかを使用して前記クォーターピクセルを発生し、各クォーターピクセルが、１個のフルピクセルと１個のハーフピクセルとの間又は２個のハーフピクセルの間において、水平方向、垂直方向、又は対角線方向に位置されている、
ことを特徴とする方法。
【請求項５】
請求項１において、サブピクセル補間を実施する場合に、
第一組のハーフピクセルと、第二組のハーフピクセルと、第三組のハーフピクセルとを発生し、
前記第一組のハーフピクセルを使用して第一組のクォーターピクセルを発生し、前記第一組のクォーターピクセルは前記第二組のハーフピクセルの発生と同時的に発生され、
前記第二組のハーフピクセルを使用して第二組のクォーターピクセルを発生し、前記第二組のクォーターピクセルは前記第三組のハーフピクセルの発生と同時的に発生される、
ことを特徴とする方法。
【請求項６】
請求項５において、前記ハーフピクセル及びクォーターピクセルを発生する場合に、乗算器を使用することなしに且つ複数個の加算器と複数個のシフターとを使用して前記ハーフピクセル及びクォーターピクセルを発生させることを特徴とする方法。
【請求項７】
請求項１において、
前記ビデオ情報が１６×１６マクロブロックを有しており、
サブピクセル補間を実施する場合に、１７個のハーフピクセルと４８個のクォーターピクセルとを同時的に発生させ、フルピクセル当たり３個のハーフピクセルと１２個のクォーターピクセルとを発生させる、
ことを特徴とする方法。
【請求項８】
サブピクセル補間器において、
フルピクセルを有するビデオ情報を格納することが可能な入力メモリ、
ハーフピクセルとクォーターピクセルとを並列的に発生させるためにサブピクセル補間を実施することが可能な少なくとも１個の補間ユニット、前記サブピクセル補間期間中に複数個のハーフピクセルと複数個のクォーターピクセルとが同時的に発生され、
前記フルピクセル、ハーフピクセル、クォーターピクセルのうちの少なくとも幾つかを格納することが可能な出力メモリ、
を有していることを特徴とするサブピクセル補間器。
【請求項９】
請求項８において、前記少なくとも１個の補間ユニットが、
前記フルピクセルのうちの少なくとも幾つかを使用して水平ハーフピクセルを発生することが可能な水平ハーフピクセル補間ユニット、各水平ハーフピクセルは２個のフルピクセルの間において水平方向に位置しており、
前記フルピクセルのうちの少なくとも幾つかを使用して第一垂直ハーフピクセルを発生することが可能な第一垂直ハーフピクセル補間ユニット、各第一垂直ハーフピクセルは２個のフルピクセルの間において垂直方向に位置しており、
前記水平ハーフピクセルのうちの少なくとも幾つかを使用して第二垂直ハーフピクセルを発生することが可能な第二垂直ハーフピクセル補間ユニット、各第二垂直ハーフピクセルは２個の水平ハーフピクセルの間において垂直方向に位置しており、
前記フルピクセル及びハーフピクセルのうちの少なくとも幾つかを使用して前記クォーターピクセルを発生することが可能なクォーターピクセル補間ユニット、各クォーターピクセルは１個のフルピクセルと１個のハーフピクセルとの間又は２個のハーフピクセルの間において水平方向、垂直方向、又は対角線方向に位置されている、
を有していることを特徴とするサブピクセル補間器。
【請求項１０】
請求項９において、各補間ユニットが複数個の補間器を有しており、各補間器が、
複数個のピクセル値を格納することが可能な複数個の入力レジスタ、
前記入力レジスタ内に格納されている前記複数個のピクセル値を処理することが可能なマルチステージパイプラインを形成している１個又はそれ以上のシフタ及び複数個の加算器、
を有していることを特徴とするサブピクセル補間器。
【請求項１１】
請求項１０において、前記複数個の加算器及び１個又はそれ以上のシフタが、
ハーフピクセル＝（Ａ−５Ｂ＋２０Ｃ＋２０Ｄ−５Ｅ＋Ｆ＋１６）／３２の式により定義されるハーフピクセルを発生することが可能であり、尚Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆは前記入力レジスタ内に格納されている前記複数個のピクセル値を表わしていることを特徴とするサブピクセル補間器。
【請求項１２】
請求項１０において、前記複数個の加算器及び１個又はそれ以上のシフタが、
クォーターピクセル＝（Ａ＋Ｂ＋１）／２
の式によって定義されるクォーターピクセルを発生することが可能であり、尚Ａ及びＢは前記入力レジスタ内に格納されている前記複数個のピクセル値を表わしていることを特徴とするサブピクセル補間器。
【請求項１３】
請求項９において、更に、
前記入力メモリからの前記フルピクセルのサブセットを格納することが可能な１組のレジスタ、
を有しており、前記１組のレジスタは、前記フルピクセルのうちの少なくとも幾つかを前記水平ハーフピクセル補間ユニットへ供給し且つ前記フルピクセルのうちの少なくとも幾つかを前記第二垂直ハーフピクセル補間ユニットへ供給することが可能であることを特徴とするサブピクセル補間器。
【請求項１４】
請求項１３において、更に、
前記１組のレジスタから前記フルピクセルを受取り且つ前記ハーフピクセル補間ユニットから前記ハーフピクセルを受取ることが可能な中間メモリ、
を有しており、前記中間メモリが、更に、前記フルピクセル及びハーフピクセルを前記クォーターピクセル補間ユニットへ供給することが可能であることを特徴とするサブピクセル補間器。
【請求項１５】
請求項１４において、
前記入力メモリがフルピクセルの１６×１６マクロブロックを格納することが可能なバッファを有しており、
前記１組のレジスタが９×６組のレジスタを有しており、
前記水平ハーフピクセル補間ユニットが９個のハーフピクセル補間器を有しており、
前記第一垂直ピクセル補間ユニットが４個のハーフピクセル補間器を有しており、
前記第二垂直ピクセル補間ユニットが４個のハーフピクセル補間器を有しており、
前記クォーターピクセル補間ユニットが４８個のクォーターピクセル補間器を有しており、
前記中間メモリがバッファを有しており、
前記出力メモリがフルピクセル、ハーフピクセル、クォーターピクセルの６４×６４個を格納することが可能なバッファを有している、
ことを特徴とするサブピクセル補間器。
【請求項１６】
フルピクセルを有するビデオ情報供給源、
前記フルピクセルを格納することが可能な入力メモリと、ハーフピクセル及びクォーターピクセルを並列的に発生するためにサブピクセル補間を実施することが可能な少なくとも１個の補間ユニットとを有しており、前記サブピクセル補間期間中に複数個のハーフピクセルと複数個のクォーターピクセルとが同時的に発生されるサブピクセル補間器、
前記フルピクセル、ハーフピクセル、クォーターピクセルのうちの少なくとも幾つかを格納することが可能な出力メモリ、
を有していることを特徴とするシステム。
【請求項１７】
請求項１６において、前記少なくとも１個の補間ユニットが、
前記フルピクセルのうちの少なくとも幾つかを使用して水平ハーフピクセルを発生することが可能な水平ハーフピクセル補間ユニット、各水平ハーフピクセルは２個のフルピクセルの間において水平方向に位置しており、
前記フルピクセルのうちの少なくとも幾つかを使用して第一垂直ハーフピクセルを発生することが可能な第一垂直ハーフピクセル補間ユニット、各第一垂直ハーフピクセルは２個のフルピクセルの間において垂直方向に位置しており、
前記水平ハーフピクセルのうちの少なくとも幾つかを使用して第二垂直ハーフピクセルを発生することが可能な第二垂直ハーフピクセル補間ユニット、各第二垂直ハーフピクセルは２個の水平ハーフピクセルの間において垂直方向に位置しており、
前記フルピクセル及びハーフピクセルのうちの少なくとも幾つかを使用して前記クォーターピクセルを発生することが可能なクォーターピクセル補間ユニット、各クォーターピクセルは１個のフルピクセルと１個のハーフピクセルとの間又は２個のハーフピクセルの間において水平方向、垂直方向、又は対角線方向に位置している、
を有していることを特徴とするシステム。
【請求項１８】
請求項１７において、各補間ユニットが複数個の補間器を有しており、各補間器は、
複数個のピクセル値を格納することが可能な複数個の入力レジスタ、
前記入力レジスタ内に格納される前記複数個のピクセル値を処理することが可能なマルチステージパイプラインを形成している複数個の加算器及び１個又はそれ以上のシフター、
を有していることを特徴とするシステム。
【請求項１９】
請求項１８において、前記サブピクセル補間器が、更に、
前記入力メモリからの前記フルピクセルのサブセットを格納することが可能な１組のレジスタ、
を有しており、前記１組のレジスタが前記フルピクセルのうちの少なくとも幾つかを前記水平ハーフピクセル補間ユニットへ供給し且つ前記フルピクセルのうちの少なくとも幾つかを前記第二垂直ハーフピクセル補間ユニットへ供給することが可能である、ことを特徴とするシステム。
【請求項２０】
請求項１６において、
前記ビデオ情報供給源がビデオエンコーダとビデオデコーダのうちの１つにおいてデブロッキングフィルタを有しており、
前記ビデオエンコーダ又はビデオデコーダが、更に、
量子化離散余弦変換（ＤＣＴ）係数を受取り且つ該ＤＣＴ係数を使用して逆量子化及び逆ＤＣＴ変換機能を実施して第一信号を発生することが可能な逆量子化／変換ユニット、
前記第一信号を第二信号と結合させて前記フルピクセルを有するビデオ情報を発生し且つ前記ビデオ情報を前記デブロッキングフィルタへ供給することが可能な結合器、
動きベクトル及び前記ハーフピクセル及びクォーターピクセルを受取ることが可能であり且つ前記第二信号を発生することが可能な動き補償器、
を有していることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大略、ビデオ圧縮システムに関するものであって、更に詳細には、サブピクセル補間の高速実現のための方法及びシステムに関するものである。
【背景技術】
【０００２】
画像圧縮システムは種々の適用例において益々有用なものとなっている。例えば、ビデオ圧縮は、しばしば、デジタルバーサタイルディスク（ＤＶＤ）又はハードディスクドライブ（ＨＤＤ）上に格納するためにビデオ情報を圧縮するために使用される。別の例として、ビデオ圧縮は、しばしば、インターネット、デジタル加入者線（ＤＳＬ）、ダイレクトブロードキャストサテライト（ＤＢＳ）システム、パケットネットワーク上でのマルチメディアサービス（ＭＳＰＮ）、及びケーブルテレビ（ＣＡＴＶ）ネットワーク等のネットワーク又は通信チャンネルを介してのビデオ情報の実時間ストリーム期間中に使用される。更に、ビデオ圧縮は、コンピュータゲーム、ビデオゲーム、ビデオ会議システム、ビデオ電話、対話的格納媒体（ＩＳＭ）、及び遠隔ビデオ監視（ＲＶＳ）システム等の多くのその他の適用例において使用される。
【０００３】
過去２０年間において幾つかのビデオ圧縮スタンダードが開発されている。最も最近のスタンダードのうちの１つは国際電気通信連合−電気通信（ＩＴＵ−Ｔ）Ｈ．２４６スタンダードである。このＨ．２６４スタンダードはアドバンストビデオコーディング（ＡＶＣ）又はムービングピクチャエクスパーツグループ４（ＭＰＥＧ−４）パート１０としても知られている。このＨ．２６４スタンダードは改良されたレート歪み及びより低いビットレートを包含する前のスタンダードと比較して多数の利点を提供している。その特徴の中で、Ｈ．２４６スタンダードはサブピクセル動き補償をサポートしている。
【０００４】
サブピクセル動き補償は、しばしば、計算が複雑で且つ計算が集中的である。そのために、Ｈ．２６４スタンダード又はその他のスタンダードの一部としてサブピクセル動き補償を使用することは、しばしば、大量の処理時間と資源とを必要とする。その結果、その使用は、典型的に、ビデオ圧縮及び／又は伸張システムの性能を遅滞化させる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、サブピクセル補間の高速実現のための方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第一の実施例においては、サブピクセル補間を高速で実現する方法が提供され、該方法は、フルピクセル即ち完全なピクセルを有するビデオ情報を受取ることを包含している。本方法は、更に、ハーフピクセル即ち半分のピクセルとクォーターピクセル即ち４分の１ピクセルとを並列的に発生させるためのサブピクセル補間を実施することを包含している。該サブピクセル補間期間中に複数個のハーフピクセルと複数個のクォーターピクセルとが同時的に発生される。
【０００７】
本発明の第二の実施例においては、サブピクセル補間器が提供され、それは、フルピクセルから形成したビデオ情報を格納することが可能な入力メモリを包含している。本サブピクセル補間器は、又、ハーフピクセルとクォーターピクセルとを並列的に発生させるためにサブピクセル補間を実施することが可能な少なくとも１個の補間ユニットを包含している。複数個のハーフピクセルと複数個のクォーターピクセルとが該サブピクセル補間期間中に同時的に発生される。更に、本サブピクセル補間器は、フルピクセル、ハーフピクセル、クォーターピクセルのうちの少なくとも幾つかを格納することが可能な出力メモリを包含している。
【０００８】
本発明の第三の実施例においては、フルピクセルを有するビデオ情報の供給源とサブピクセル補間器とを包含するシステムが提供される。このサブピクセル補間は、フルピクセルを格納することが可能な入力メモリを包含している。このサブピクセル補間は、又、ハーフピクセル及びクォーターピクセルを並列的に発生させるためにサブピクセル補間を実施することが可能な少なくとも１個の補間ユニットを包含している。複数個のハーフピクセルと複数個のクォーターピクセルとが該サブピクセル補間期間中に同時的に発生される。更に、このサブピクセル補間は、フルピクセル、ハーフピクセル、クォーターピクセルのうちの少なくとも幾つかを格納することが可能な出力メモリを包含している。
【発明を実施するための最良の形態】
【０００９】
図１は本発明の１実施例に基づく例示的なビデオシステム１００を例示している。この例示した例においては、システム１００は、ビデオエンコーダ１０２、ビデオデコーダ１０４、ディスプレイ装置１０６を包含している。図１に示したビデオシステム１００は単に例示的なものに過ぎない。ビデオシステム１００のその他の実施例を本発明の技術的範囲を逸脱することなしに使用することが可能である。
【００１０】
動作の１つの側面において、ビデオエンコーダ１０２はビデオ情報を圧縮し、且つビデオデコーダ１０４はそのビデオ情報を受取り且つ脱圧縮即ち伸張させる。例えば、ビデオエンコーダ１０２及びビデオデコーダ１０４は、各々、国際電気通信連合−電気通信（ＩＴＵ−Ｔ）Ｈ．２６４スタンダードをサポートすることが可能である。Ｈ．２６４スタンダード又はその他の圧縮スキームを実現するために、ビデオエンコーダ１０２及びビデオデコーダ１０４はサブピクセル補間を実施することが可能である。サブピクセル補間は、ビデオエンコーダ１０２及びビデオデコーダ１０４が、圧縮中又は伸張中の画像に対するサブピクセル即ち部分的なピクセルを識別し且つそれに関して動作することを可能とさせる。サブピクセル即ち部分的なピクセルは、圧縮中又は伸張中の画像内に包含されるピクセルを使用して識別される。
【００１１】
幾つかの実施例においては、ビデオエンコーダ１０２及びビデオデコーダ１０４は、各々、１個又はそれ以上のサブピクセル補間ユニット及びメモリ装置を包含している。該補間ユニットはオリジナルの画像ピクセルを使用して補間を実施することによりサブピクセルを発生し、且つ該メモリ装置は種々のピクセル及びサブピクセルの値を格納する。それらの補間ユニットは並列的に動作することが可能であり、そのことは補間処理を実施するのに必要な時間の量を減少させることに貢献する。更に、該メモリ装置は、補間処理期間中におけるロード及びストア操作の数を減少させることに貢献し、そのことは、又、補間処理を実施するのに必要な時間の量を減少させることに貢献する。
【００１２】
例示した例において、ビデオエンコーダ１０２は圧縮したビデオ情報を発生する。本明細書においては、「ビデオ情報」という用語はビデオ画像のシーケンスを表わす情報のことを意味している。ビデオエンコーダ１０２は圧縮したビデオ情報を発生するか又はその他の態様で供給するための任意の適宜の装置、システム又はメカニズムを表わしている。例えば、ビデオエンコーダ１０２はインターネット、デジタル加入者線（ＤＳＬ）、ワイヤレスネットワーク、ダイレクトブロードキャストサテライト（ＤＢＳ）システム、パケットネットワーク上でのマルチメディアサービス（ＭＳＰＭ）、及びケーブルテレビ（ＣＡＴＶ）ネットワーク等のデータネットワーク１０８を介してビデオデコーダ１０４へストリーミングビデオを送信することが可能なストリーミングビデオ送信器を表わすことが可能である。ビデオエンコーダは、又、ＤＶＤ又はその他の光学的ディスク１１０上に圧縮したビデオ情報を格納することが可能なデジタルバーサタイルディスク（ＤＶＤ）バーナー又はその他の光学的ディスクバーナーを表わすことが可能である。ビデオエンコーダ１０２は、更に、ハードディスクドライブ（ＨＤＤ）１１２上に格納するためのビデオ情報を圧縮することが可能なデジタルビデオデコーダを表わすことが可能である。ビデオエンコーダ１０２はビデオ情報を圧縮するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００１３】
ビデオデコーダ１０４はビデオエンコーダ１０２によって供給される圧縮されたビデオ情報を脱圧縮即ち伸張させる。ビデオデコーダ１０４はビデオ情報を脱圧縮即ち伸張させるための任意の適宜の装置、システム、又はメカニズムを表わしている。例えば、ビデオデコーダ１０４は、ネットワーク１０８を介してビデオエンコーダ１０２からストリーミングビデオを受取ることが可能なストリーミングビデオ受信器を表わすことが可能である。ビデオデコーダ１０４は、又、光学的ディスク１１０から圧縮されたビデオ情報を検索することが可能なＤＶＤプレイヤー又はその他の光学的ディスクプレイヤーを表わすことが可能である。ビデオデコーダ１０４は、更に、ハードディスクドライブ１１２上に格納されているビデオ情報を脱圧縮即ち伸張させることが可能なデジタルビデオデコーダを表わすことが可能である。ビデオデコーダ１０４は、ビデオ情報を脱圧縮即ち伸張させるための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００１４】
例示した例においては、ビデオデコーダ１０４は圧縮されたビデオ情報を伸張させ且つ伸張させたビデオ情報を視聴者に対して提示するためにディスプレイ装置１０６へ供給する。ディスプレイ装置１０６はビデオ情報を一人又はそれ以上の視聴者に対して提供するための任意の適宜の装置、システム、又は構成体を表わしている。ディスプレイ装置１０６は、例えば、テレビ、コンピュータモニタ、又はプロジェクターを表わすことが可能である。ビデオデコーダ１０４は伸張させたビデオ情報を例えばビデオカセットプレイヤー（ＶＣＲ）又はその他の記録装置等の任意のその他又は付加的なデスティネーションへ供給することが可能である。
【００１５】
図１においては別々の部品として示してあるが、ビデオエンコーダ１０２及びビデオデコーダ１０４は単一の装置内において動作することが可能である。例えば、ビデオエンコーダ１０２及びビデオデコーダ１０４はデジタルビデオデコーダ又はその他の装置内において動作することが可能である。ビデオエンコーダ１０２はハードディスクドライブ１１２上に格納するためにビデオ情報を受取り且つ圧縮することが可能であり、且つビデオデコーダ１０４は提示するためにそのビデオ情報を検索し且つ脱圧縮即ち伸張させることが可能である。
【００１６】
この例示した実施例においては、ビデオエンコーダ１０２はビデオ供給源１１４を包含している。ビデオ供給源１１４はビデオエンコーダ１０２によって圧縮されるべきビデオ情報を包含しているビデオ情報信号１１６を供給する。ビデオ供給源１１４は、伸張されたビデオ情報を発生するか又はその他の態様で供給することが可能な任意の装置、システム、又は構成体を表わしている。ビデオ供給源１１４は、例えば、テレビ受信機、ＶＣＲ、ビデオカメラ、生のビデオデータを格納することが可能な格納装置、又は任意のその他の適宜のビデオ情報供給源を包含することが可能である。図１はビデオエンコーダ１０２の一部を形成するものとしてビデオ供給源１１４を例示しているが、ビデオ供給源１１４はビデオエンコーダ１０２の外部に存在することも可能である。
【００１７】
結合器１１８がビデオ供給源１１４へ結合されている。本明細書においては、「結合」という用語及びその派生用語はそれらが互いに物理的に接触しているか否かに拘わらずに、２個又はそれ以上の要素の間での直接的又は間接的な通信のことを意味している。結合器１１８はビデオ供給源１１４から圧縮されていないビデオ情報を包含するビデオ情報信号１１６を受取る。結合器１１８は、又、ビデオエンコーダ１０２におけるその他のコンポーネントからフィードバックビデオ信号１４８を受取る。フィードバックビデオ信号１４８はビデオエンコーダ１０２によって既に圧縮されているビデオ情報と関連している。結合器１１８はビデオ情報信号１１６とフィードバックビデオ信号１４８との間の差異を識別する。結合器１１８は、次いで、識別された差異を残留信号１２０として出力する。結合器１１８は減算器等の信号を結合するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを表わしている。
【００１８】
残留信号１２０は変換／量子化ユニット１２２へ供給される。変換／量子化ユニット１２２は残留信号１２０を処理するための種々の機能を実現する。例えば、変換／量子化ユニット１２２は残留信号１２０（空間ドメインにおいて）を離散余弦変換（ＤＣＴ）係数（周波数ドメインにおいて）へ変換するための変換機能を実現することが可能である。変換／量子化ユニット１２２は、又、ＤＣＴ係数を量子化し且つ量子化したＤＣＴ係数１２４を出力することが可能である。幾つかの実施例においては、変換／量子化ユニット１２２は圧縮中の画像からのピクセルからなるブロック（例えば１６×１６マクロブロック）について動作し且つ量子化したＤＣＴ係数１２４のブロックを発生する。変換／量子化ユニット１２２は、ビデオ情報を変換し且つ量子化するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００１９】
量子化したＤＣＴ係数１２４はエントロピーエンコーダ１２６へ供給される。エントロピーエンコーダ１２６は量子化したＤＣＴ係数１２４を（その他の情報と共に）エンコードして圧縮したビデオ情報１２８を発生する。エントロピーエンコーダ１２６はコンテキスト適用性をベースとした演算コーディング（ＣＡＢＡＣ）及び／又はコンテキスト適用性可変長コーディング（ＣＡＶＬＣ）等の任意の適宜のエンコーディング技術を実現することが可能である。エントロピーエンコーダ１２６は、量子化したＤＣＴ係数１２４及びその他の情報をエンコーディングするための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００２０】
量子化したＤＣＴ係数１２４は逆変換／量子化ユニット１３０へ供給される。逆変換／量子化ユニット１３０は量子化したＤＣＴ係数１２４を処理し且つ変換／量子化ユニット１２２によって実施された処理を逆に行う。例えば、逆変換／量子化ユニット１３０はＤＣＴ係数を発生させるために逆量子化機能を実現することが可能である。逆変換／量子化ユニット１３０は、又、再生された残留信号１３２を発生させるために逆ＤＣＴ変換を実現することが可能である。再生された残留信号１３２はオリジナルの残留信号１２０と一致する場合があり、又は再生された残留信号１３２は残留信号１２０と類似しているが幾らかの差異を有している場合がある。逆変換／量子化ユニット１３０は、逆変換及び逆量子化機能を実施するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００２１】
再生された残留信号１３２は結合器１３４へ供給される。結合器１３４は、又、フィードバックビデオ信号１４８を受取る。次いで、結合器１３４は再生された残留信号１３２とフィードバックビデオ信号１４８とを結合させて結合信号１３６を発生する。結合器１３４は、例えば加算器等の信号を結合させるための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを表している。
【００２２】
結合信号１３６はデブロッキングフィルタ１３８へ供給される。デブロッキングフィルタ１３８は異なる１６×１６マクロブロックの境界に沿って位置しているブロッキングアーチファクト即ち人工的効果等の伸張中の画像内におけるブロッキングアーチファクトを減少させる。このことはフィルタされたビデオ情報１４０を発生させる。デブロッキングフィルタ１３８はブロッキングアーチファクトを減少させるための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを表わしている。
【００２３】
フィルタしたビデオ情報１４０は動き推定器１４２及び動き補償器１４４へ供給される。動き推定器１４２は、又、オリジナルのビデオ情報信号１１６とフィードバックビデオ信号１４８とを受取る。動き推定器１４２は受取った情報を使用して圧縮中のビデオ画像内の動きを識別する。例えば、動き推定器１４２は動きを識別するためにフィールドに基づいた又はフレームに基づいた動き推定を実現することが可能である。次いで、動き推定器１４２は動きベクトル１４６を出力し、それは画像内における識別された動きを表わす。動きベクトル１４６は圧縮したビデオ情報１２８の一部としてコーディングするためにエントロピーエンコーダ１２６へ供給され且つ動き補償器１４４へ供給される。動き推定器１４２は、ビデオ画像における動きを推定するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００２４】
動き補償器１４４はフィルタされたビデオ情報１４０及び動きベクトル１４６を受取る。動き補償器１４４は動きベクトル１４６を使用してフィルタされたビデオ情報１４０を変更し且つフィルタしたビデオ情報１４０内に動きを再導入させる。このことはフィードバックビデオ信号１４８を発生し、該信号はオリジナルのビデオ情報信号１１６と正確に一致する場合も一致しない場合もある。動き補償器１４４はビデオ画像内に動きを導入させるためにビデオ情報を変更するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００２５】
例示した例においては、イントラ予測モードが使用される場合にビデオ情報を処理するためにイントラ予測ユニット１５０が使用される。イントラ予測モードは、Ｈ．２６４スタンダードにおいて定義されており且つ４×４ブロック又はパーティションにおいて１６×１６マクロブロックを解析する。幾つかの実施例においては、イントラ予測モードが使用される場合に、変換／量子化ユニット１２２は４×４パーティションに関してイントラ予測機構を実現する。イントラ予測ユニット１５０は、この処理の逆を実行し且つビデオエンコーダ１０２がイントラ予測モードで動作する場合にフィードバックビデオ信号１４８を発生する。
【００２６】
ビデオデコーダ１０４は図１に示したビデオエンコーダ１０２と類似した多数のコンポーネントを包含することが可能である。例えば、ビデオデコーダ１０４は逆変換／量子化ユニット１３０、結合器１３４、デブロッキングフィルタ１３８、動き補償器１４４、イントラ予測ユニット１５０を包含することが可能である。ビデオデコーダ１０４は、又、エントロピーコーダー１２６によって使用されるコーディング機能の逆を行う逆エントロピーコーダーを包含することが可能である。逆エントロピーコーダーは圧縮されたビデオ情報１２８を受取り、量子化したＤＣＴ係数１２４を逆変換／量子化ユニット１３０へ供給し、且つ動きベクトル１４６を動き補償器１４４へ供給することが可能である。このように、ビデオデコーダ１０４はビデオ情報１２８を脱圧縮即ち伸張し且つ視聴者に対して提示するためにビデオ情報信号１１６を回復する。
【００２７】
動作の１つの側面において、ビデオエンコーダ１０２及びビデオデコーダ１０４はサブピクセル補間を実行する。例えば、ビデオエンコーダ１０２及びビデオデコーダ１０４における動き補償器１４４はサブピクセル動き補償を実行することが可能であり、そのことはサブピクセル補間を使用する。サブピクセル補間は、典型的に、計算が複雑であり且つ計算が集中的である。以下により詳細に説明するように、ビデオエンコーダ１０２及び／又はビデオデコーダ１０４は１個又はそれ以上のサブピクセル補間ユニット及びメモリ装置を包含しており、それらはサブピクセル補間の複雑性を減少させ且つサブピクセル補間の速度を増加させることに貢献する。
【００２８】
特定の実施例において、ビデオエンコーダ１０２及びビデオデコーダ１０４はＨ．２６４補償スキームを実現する。Ｈ．２６４補償スキームは指向的空間予測、マルチフレーム参照、重み付け予測、デブロッキングフィルタリング、可変ブロック寸法、クォーターサンプル正確運動補償等の幾つかの高度なビデオコーディング技術をサポートしている。Ｈ．２６４補償スキームは、又、小さな、ブロックを基礎とした、整数及び階層的変換、及びＣＡＢＡＣ及びＣＡＶＬＣコーディングをサポートしている。
【００２９】
Ｈ．２６４スタンダードはツリー構造型運動補償方法を使用する。この方法は４×４から１６×１６の範囲にわたる可変運動補償ブロック又はパーティション寸法をサポートする。ルミナンスサンプルの場合には、各１６×１６マクロブロックは１個又はそれ以上の１６×１６、１６×８、８×１６、又は８×８ブロックから形成される。各８×８ブロックは、更に、８×４、４×８、又は４×４ブロックへパーティション即ち区画化させることが可能である。このことは運動補償ブロックの選択においてより多くの柔軟性を与え且つビデオ画像における異なるオブジェクトの形状と一致させるために多数の可変ブロック寸法結合を使用することを可能とさせる。
【００３０】
インター符号化（ｉｎｔｅｒ−ｃｏｄｅｄ）マクロブロックにおける各ブロック又はパーティションは動きベクトル１４６により記述される。現在のフレームにおける１個のパーティションの動きベクトル１４６は参照フレームにおける同一の寸法の区域から予測される。２個の動きベクトル１４６の間のオフセットがエンコードされ且つパーティションの選択と共に送信される。Ｈ．２６４スタンダードにおいては、２個の運動ベクトル１４６の間のオフセットはクォーターピクセル分解能を有している。この分解能はより良い精度で動きベクトル１４６を計算することを可能とし、符号化効率を増加させる。
【００３１】
図１はビデオシステム１００の１例を例示しているが、種々の変更を図１に対して行うことが可能である。例えば、図１は、圧縮されたビデオ情報が光学的ディスク１１０を使用してネットワーク１０８を介して、ビデオデコーダ１０４へ、又はハードディスクドライブ１１２上に供給することが可能であることを例示している。ビデオエンコーダ１０２は圧縮したビデオ情報をその他の適宜の格納媒体上に配置させることが可能であり、又はそうでない場合には、該情報を任意の適宜の態様でビデオデコーダ１０４へ通信することが可能である。又、図１はビデオエンコーダ１０２の１つの例示的な実施例を例示している。ビデオエンコーダ１０２のその他の実施例を使用することも可能である。更に、ビデオエンコーダ１０２及びビデオデコーダ１０４は単一のデバイス又は装置に結合させることが可能である。
【００３２】
図２は本発明の１実施例に基づく例示的なサブピクセル補間器２００を例示している。図２に示したサブピクセル補間器２００は単に例示的なものに過ぎない。サブピクセル補間器２００のその他の実施例を本発明の技術的範囲を逸脱することなしに使用することが可能である。又、説明の便宜上、図２のサブピクセル補間器２００を図１のシステム１００における動作として説明する。サブピクセル補間器２００は任意のその他のシステム又は装置において使用することが可能である。
【００３３】
サブピクセル補間器２００はサブピクセル補間をサポートしており、従って、図１のビデオエンコーダ１０２及び／又はビデオデコーダ１０４内のサブピクセル動き補償をサポートしている。サブピクセル補間器２００は、例えば、図１のビデオエンコーダ１０２におけるか又はビデオデコーダ１０４における動き補償器１４４内において使用することが可能である。
【００３４】
この例においては、サブピクセル補間器２００は処理すべきビデオ情報を受取り且つ格納する入力バッファ２０２を包含している。例えば、入力バッファ２０２は図１のデブロッキングフィルタ１３８から１６×１６マクロブロックを受取ることが可能である。１６×１６マクロブロックは画像内のピクセルからなる１６×１６ブロックを表わすデータ値を包含している。オリジナルの画像ピクセルは「フル（ｆｕｌｌ）」ピクセルと呼称することが可能である（ハーフピクセル及びクォーターピクセル等の「部分的な」ピクセルと対比して）。図２に示した入力バッファ２０２の寸法は例示的なものに過ぎない。入力バッファ２０２は、例えば複数個の１６×１６マクロブロック又はその他のデータからなるブロック等の任意のその他の適宜の情報量を格納することが可能である。入力バッファ２０２は任意の適宜の格納装置又は複数個の装置を表わしている。
【００３５】
入力バッファ２０２内に格納されるデータのサブセット又は一部が１組のベクトルレジスタ２０４へ転送される。ベクトルレジスタ２０４は入力バッファ２０２内に格納されているマクロブロックからフルピクセル値のサブセットを格納する。例えば、ベクトルレジスタ２０４は６個のレジスタからなる９個の組を表わすことが可能であり、その場合に各組は入力バッファ２０２におけるマクロブロックの単一の行から６個のフルピクセル値を格納する。このように、ベクトルレジスタ２０４はサブピクセル補間処理期間中に使用すべき５４個のフルピクセル値を包含することが可能である。ベクトルレジスタ２０４は任意の適宜の格納装置又は複数個の装置を表わしている。
【００３６】
ベクトルレジスタ２０４内に格納されているフルピクセル値は水平ハーフピクセル補間ユニット２０６へ供給される。水平ハーフピクセル補間ユニット２０６はハーフピクセルの値を補間するためにフルピクセル値を使用し、それらは画像内のフルピクセルの対の間において水平方向に位置されている。幾つかの実施例においては、水平ハーフピクセル補間ユニット２０６は並列的に入力マクロブロックの複数個の行に対してハーフピクセル値を補間し、そのことはハーフピクセル値を発生するのに必要な時間を減少させることに貢献する。水平ハーフピクセル補間ユニット２０６は、水平方向においてハーフピクセル値を補間するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。水平ハーフピクセル補間ユニット２０６の一部の１例を図３に示してあり、それについて以下に説明する。
【００３７】
水平ハーフピクセル補間ユニット２０６は垂直ハーフピクセル補間ユニット２０８ａに対して識別したハーフピクセル値を供給する。ベクトルレジスタ２０４はフルピクセル値を垂直ハーフピクセル補間ユニット２０８ｂへ供給する。垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂはこれらのピクセル値を使用してフルピクセルの対の間又はハーフピクセル（それらは水平ハーフピクセル補間ユニット２０６によって発生されたもの）の対の間において垂直方向に位置されているハーフピクセルの値を補間する。幾つかの実施例においては、垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂは並列的に入力マクロブロックの複数個の列に対してハーフピクセル値を補間し、そのことはハーフピクセル値を識別するために必要とされる時間を減少させることに貢献する。垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂの各々は、垂直方向においてハーフピクセル値を補間するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂの一部の１例を図４Ａ及び４Ｂに示してあり、それらについて以下に説明する。
【００３８】
水平ハーフピクセル補間ユニット２０６及び垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂからのハーフピクセル値は中間バッファ２１０内に格納される。ベクトルレジスタ２０４からフルピクセル値も中間バッファ２１０内に格納される。中間バッファ２１０はピクセルデータを格納することが可能な任意の適宜の格納装置又は複数個の装置を表わしている。
【００３９】
中間バッファ２１０内に格納されているフルピクセル値及びハーフピクセル値はクォーターピクセル補間ユニット２１２へ供給される。クォーターピクセル補間ユニット２１２はこれらのピクセル値を使用してクォーターピクセルに対する値を補間する。クォーターピクセルはフルピクセルとハーフピクセルとの間又はハーフピクセルの間において水平方向、垂直方向、及び対角線方向に位置されている。幾つかの実施例においては、クォーターピクセル補間ユニット２１２は並列的に入力ブロックの複数個の行及び列に対してクォーターピクセル値を補間し、そのことはクォーターピクセル値を識別するために必要とされる時間を減少させることに貢献する。クォーターピクセル補間ユニット２１２は、クォーターピクセル値を補間するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。クォーターピクセル補間ユニット２１２の一部の１例を図５に示してあり、それについて以下に説明する。
【００４０】
中間バッファ２１０内に格納されているフルピクセル値及びハーフピクセル値は出力バッファ２１４へ供給される。クォーターピクセル補間ユニット２１２からのクォーターピクセル値も出力バッファ２１４へ供給される。出力バッファ２１４はサブピクセル補間器２００外部のコンポーネントによる検索のためにピクセルデータを格納する。例えば、出力バッファ２１４は、動き補償器１４４がピクセルデータを検索し且つ解析することが可能であるようにピクセルデータを格納する。出力バッファ２１４は、ピクセルデータを格納することが可能な任意の適宜の格納装置又は複数個の装置を表わしている。
【００４１】
図２に示したサブピクセル補間器２００は、サブピクセル補間の複雑性を減少させ且つ速度を増加させることに貢献する。例えば、ベクトルレジスタ２０４及びバッファ２０２，２１０，２１４はピクセル値（フル、ハーフ、及び／又はクォーター）のグループを格納することが可能である。このことは、補間処理期間中に必要とされるロード及びストア操作の数を減少させることに貢献する。又、Ｈ．２６４スタンダードを実現する従来の装置は、通常、垂直補間のために行から列へデータを転送するために水平補間の後に転置操作を実施する。サブピクセル補間器２００は転置操作に対する必要性を取除くためにベクトルレジスタ２０４を使用し、そのことも補間処理を実施するのに必要な時間を減少させることに貢献する。更に、ベクトルレジスタ２０４からのデータは補間ユニット２０６，２０８ｂへ直接的に供給され、且つ補間ユニット２０６からのデータは補間ユニット２０８ａへ直接的に供給される。更に、以下に更に詳細に説明するように、サブピクセル補間器２００のアーキテクチャはパイプライン型の態様で構成されており、初期的な待ち時間の後にクロックサイクル当たり多数のサブピクセルを発生させることを可能としている。
【００４２】
更に、垂直及び水平の両方の補間を同時的に実施することが可能である。この実施例においては、サブピクセル補間器２００は９本のラインのピクセルを処理し且つ４組の出力を並列的に発生する。このことは、例えば、サブピクセル補間器２００が第一組のハーフピクセルと、第二組のハーフピクセルと、第三組のハーフピクセルとを発生させることを可能とする。サブピクセル補間器２００は、又、第一組のハーフピクセルを使用して第一組のクォーターピクセルを発生し、その場合に第一組のクォーターピクセルは第二組のハーフピクセルと同時的に発生される。サブピクセル補間器２００は、更に、第二組のハーフピクセルを使用して第二組のクォーターピクセルを発生し、その場合に、第二組のクォーターピクセルは第三組のハーフピクセルと同時的に発生される。特定の実施例においては、ハーフピクセル及びクォーターピクセル補間は原位置で実施され、且つ１７個のハーフピクセルと４８個のクォーターピクセルとがサイクル当たりに計算される。このことは、サブピクセル補間器２００の処理能力を増加させることに貢献する。本明細書においては、「同時的」という用語及びその派生語及び「原位置」という用語は２個又は３個のアクティビティの実施におけるオーバーラップ即ち重ね合わせのことを意味しており、そのオーバーラップは全部又は部分的である。
【００４３】
特定の実施例においては、各１６×１６入力マクロブロックがサブピクセル補間器２００により処理され、且つサブピクセル補間器２００は１５個の１６×１６ブロックを出力する。この１５個の１６×１６出力ブロックはフルピクセルと、ハーフピクセルと、クォーターピクセルとを包含している。又、特定の実施例においては、図２に示したサブピクセル補間器２００はビデオ圧縮又は伸張を実施するプロセッサと共に使用するコプロッサとして実現することが可能である。このコプロセッサは命令当たり１個のロード、１個のストア、２個の演算操作を実施することが可能な４ウエイの非常に長い命令ワード（ＶＬＩＷ）プロセッサを表わすことが可能である。該命令は単一命令マルチデータ（ＳＩＭＤ）命令を表わすことが可能である。
【００４４】
図２はサブピクセル補間器２００の１例を例示しているが、図２に対して種々の変更を行うことが可能である。例えば、入力マクロブロックの寸法（１６×１６）及びベクトルレジスタ２０４の組の寸法（９×６）は単に例示的なものに過ぎない。
【００４５】
図３は本発明の１実施例に基づく例示的な水平ハーフピクセル補間器３００を例示している。図３に示した水平ハーフピクセル補間器３００の実施例は単に例示的なものに過ぎない。水平ハーフピクセル補間器３００のその他の実施例を本発明の技術的範囲を逸脱することなしに使用することが可能である。又、説明の便宜上、水平ハーフピクセル補間器３００を図２のサブピクセル補間器２００における水平ハーフピクセル補間ユニット２０６の一部を形成するものとして説明する。水平ハーフピクセル補間器３００は任意のその他のシステム又は装置において使用することが可能である。
【００４６】
この例においては、水平ハーフピクセル補間器３００は６個の入力レジスタ３０２ａ−３０２ｆを包含している。入力レジスタ３０２ａ−３０２ｆは例えばベクトルレジスタ２０４から受取ったフルピクセル値のような６個の異なるピクセル値を格納することが可能である。入力レジスタ３０２ａ−３０２ｆはステージシフトレジスタ３０４を形成し、その場合にフルピクセル値は１個のレジスタから別のレジスタへシフトされる。第一入力レジスタ３０２ａはベクトルレジスタ２０４のうちの１つからフルピクセル値を受取る。各残りの入力レジスタ３０２ｂ−３０２ｆは、夫々、前の入力レジスタ３０２ａ−３０２ｅからのフルピクセル値を受取る。入力レジスタ３０２ａ−３０２ｆはピクセル値を格納することが可能な任意の構造を包含している。
【００４７】
水平ハーフピクセル補間器３００は、又、８個の加算器３０６ａ−３０６ｈ及び４個のシフター３０８ａ−３０８ｄを包含している。加算器３０６ａ−３０６ｈの各々は、２個又はそれ以上の入力値を加算するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。シフター３０８ａ−３０８ｄの各々は、１個又はそれ以上の方向において１個又はそれ以上のビット位置だけ値をシフトさせるための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００４８】
加算器３０６ａ−３０６ｃの各々は入力レジスタ３０２ａ−３０２ｆのうちの２個から２個のフルピクセル値を受取り且つ加算する。加算器３０６ｄは加算器３０６ａの出力と定数値３１０とを受取り且つ加算する。加算器３０６ｅは加算器３０６ｂの出力とシフター３０８ａの出力とを受取り且つ加算する。シフター３０８ａは加算器３０６ｂの出力を２ビット位置だけ左へシフトさせる（加算器３０６ｂの出力と４とを乗算することに等価）。その結果、加算器３０６ｒは加算器３０６ｂの出力の５倍に等しい値を出力する。
【００４９】
加算器３０６ｆはシフター３０８ｂ−３０８ｃの出力を受取り且つ加算する。シフター３０８ｂ−３０８ｃは加算器３０６ｃの出力を、夫々、４ビット位置（加算器３０６ｃの出力と１６とを乗算することに等価）及び２ビット位置だけ左へシフトさせる。その結果、加算器３０６ｆは加算器３０６ｃの出力の２０倍に等しい値を出力する。
【００５０】
加算器３０６ｇは加算器３０６ｅ及び３０６ｆの出力を受取る。加算器３０６ｇは加算器３０６ｆの出力から加算器３０６ｅの出力を減算する。加算器３０６ｈは加算器３０６ｄ及び３０６ｇの出力を受取り且つ加算する。シフター３０８ｄは５ビット位置だけ加算器３０６ｈの出力を右へシフトさせる（加算器３０６ｈの出力を３２で割算することに等価）。シフター３０８ｄの出力は入力レジスタ３０２ａ−３０２ｆ内に格納されている６個のフルピクセル値を使用して計算した１個のハーフピクセル値を表している。
【００５１】
例示した実施例においては、加算器３０６ａ−３０６ｈ及びシフター３０８ａ−３０８ｄは４ステージパイプライン型アーキテクチャを形成している。第一ステージは加算器３０６ａ−３０６ｃによって表わされる。第二ステージは加算器３０６ｄ−３０６ｆ及びシフター３０８ａ−３０８ｃによって表わされる。第三ステージは加算器３０６ｇによって表わされ、且つ第四ステージは加算器３０６ｈ及びシフター３０８ｄによって表わされる。４個のステージが存在しているので、水平ハーフピクセル補間器３００は３サイクルの待ち時間を有しており、且つその後に、１個のハーフピクセルがクロックサイクル当たりに発生される。水平ハーフピクセル補間器３００のこの実施例は、水平ハーフピクセル補間器３００の動作を遅滞化させる場合のある乗算器の使用を必要とするものではない。
【００５２】
図２に示したサブピクセル補間器２００の実施例において、９個の水平ハーフピクセル補間器３００を水平ハーフピクセル補間ユニット２０６内において使用することが可能である。この実施例においては、９個の水平ハーフピクセル補間器３００がベクトルレジスタ２０４における９個の異なる行からフルピクセル値を受取る。９個の水平ハーフピクセル補間器３００は、次いで、９個の異なる水平ハーフピクセルを同時的に計算する。その他の数の水平ハーフピクセル補間器３００を使用する水平ハーフピクセル補間ユニット２０６のその他の実施例を使用することも可能である。
【００５３】
図３は水平ハーフピクセル補間器３００の１つの例を例示しているが、図３に対して種々の変更を行うことが可能である。例えば、図３に示した水平ハーフピクセル補間器３００と同一の機能を提供するその他の構造を使用することが可能である。
【００５４】
図４Ａ及び４Ｂは本発明の１実施例に基づく例示的な垂直ハーフピクセル補間器４００及び垂直ハーフピクセル補間器４００の配置４５０を例示している。図４Ａに示した垂直ハーフピクセル補間器４００及び図４Ｂに示した配置４５０の実施例は単に例示的なものに過ぎない。垂直ハーフピクセル補間器４００のその他の実施例及びその他の配置４５０を本発明の技術的範囲を逸脱することなしに使用することが可能である。又、説明の便宜上、垂直ハーフピクセル補間器４００及び配置４５０を図２のサブピクセル補間器２００における垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂの一部を形成するものとして説明する。垂直ハーフピクセル補間器４００及び配置４５０は任意のその他のシステム及び装置において使用することが可能である。
【００５５】
図４Ａにおいて、垂直ハーフピクセル補間器４００は６個の入力レジスタ４０２ａ−４０２ｆを包含している。入力レジスタ４０２ａ−４０２ｆはハーフピクセル値を発生するために使用される６個の異なるピクセル値を格納することが可能である。例えば、垂直ハーフピクセル補間器４００が図２の垂直ハーフピクセル補間ユニット２０８ａにおいて使用される場合には、入力レジスタ４０２ａ−４０２ｆ内に格納されるピクセル値は水平ハーフピクセル補間ユニット２０６によって発生されるハーフピクセル値を表わす。垂直ハーフピクセル補間器４００が図２の垂直ハーフピクセル補間ユニット２０８ｂにおいて使用される場合には、入力レジスタ４０２ａ−４０２ｆ内に格納されるピクセル値はベクトルレジスタ２０４からのフルピクセル値を表わす。入力レジスタ４０２ａ−４０２ｆはピクセル値を格納することが可能な任意の構造を包含している。
【００５６】
垂直ハーフピクセル補間器４００は、又、８個の加算器４０４ａ−４０４ｈ及び４個のシフター４０６ａ−４０６ｄを包含している。加算器４０４ａ−４０４ｈの各々は、２個又はそれ以上の入力値を加算するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。シフター４０６ａ−４０６ｄの各々は、１個又はそれ以上の方向において１個又はそれ以上のビット位置だけ値をシフトさせるための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００５７】
加算器４０４ａ−４０４ｃの各々は、入力レジスタ４０２ａ−４０２ｆのうちの２個からピクセル値を受取り且つ加算する。加算器４０４ｄは加算器４０４ａの出力と定数値４０８とを受取り且つ加算する。加算器４０４ｅは加算器４０４ｂの出力とシフター４０６ａの出力とを受取り且つ加算し、該シフターは加算器４０４ｂの出力を２ビット位置だけ左へシフトさせる。加算器４０４ｆはシフター４０６ｂ−４０６ｃの出力を受取り且つ加算し、それらのシフターは、夫々、加算器４０４ｃの出力を４ビット位置及び２ビット位置だけ左へシフトさせる。加算器４０４ｇは加算器４０４ｅの出力と加算器４０４ｆの出力とを受取り且つ加算器４０４ｆの出力から加算器４０４ｅの出力を減算する。加算器４０４ｈは加算器４０４ｄと４０４ｇの出力を受取り且つ加算する。シフター４０６ｄは加算器４０４ｈの出力を５ビット位置だけ右へシフトさせる。シフター４０６ｄの出力は入力レジスタ４０２ａ−４０２ｆ内に格納されている６個のピクセル値（フルピクセル値又はハーフピクセル値）を使用して計算した１個のハーフピクセル値を表わす。
【００５８】
例示した実施例においては、加算器４０４ａ−４０４ｈ及びシフター４０６ａ−４０６ｄは４ステージパイプライン型アーキテクチャを形成している。垂直ハーフピクセル補間器４００は３サイクルの待ち時間を有しており、且つその後に、クロックサイクル当たり１個のハーフピクセルが発生される。垂直ハーフピクセル補間器４００のこの実施例も乗算器の使用を必要とするものではない。
【００５９】
図２に示したサブピクセル補間器２００の実施例において、４個の垂直ハーフピクセル補間器４００を全部で８個の垂直ハーフピクセル補間気器４００に対する垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂの各々において使用することが可能である。このことは、垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂが８個の異なる垂直ハーフピクセルを同時的に計算することを可能とさせる。その他の数の垂直ハーフピクセル補間器４００を使用する垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂのその他の実施例を使用することも可能である。
【００６０】
図４Ｂにおいて、配置４５０が例示されており、それは垂直ハーフピクセル補間ユニット２０８ｂにおいて使用することが可能である。以下に説明するように、垂直ハーフピクセル補間ユニット２０８ａにおいて類似した配置を使用することが可能である。
【００６１】
この例においては、配置４５０は垂直ハーフピクセル補間ユニット４００のうちの４個を包含している（ＶＨＩＵ０−ＶＨＩＵ３）。各々は図４Ａに示したものと同一又は類似した構造を有することが可能である。配置４５０は、又、ベクトルレジスタ２０４からなる列５０２を包含しており、それは、図２における上述した例においては、９個のベクトルレジスタを包含している。配置４５０は、更に、順列ユニット５０４を包含しており、それはベクトルレジスタ２０４からなる列５０２から垂直ハーフピクセル補間ユニット４００に対してデータの経路付けを行う。
【００６２】
図２に示した例においては、ベクトルレジスタ２０４は６個の行と９個の列のレジスタを包含している。５４個のベクトルレジスタ２０４をＲ０乃至Ｒ５３として記すこととする。この例においては、第一行はＲ０−Ｒ５を包含しており、第二行はＲ６−Ｒ１１を包含しており、且つ最後の行はＲ４８−Ｒ５３を包含している。ベクトルレジスタ２０４からのデータは行毎に水平ハーフピクセル補間ユニット２０６へ供給され、且つベクトルレジスタ２０４からのデータは列毎に垂直ハーフピクセル補間ユニット２０８ｂへ供給される。
【００６３】
列毎にデータを垂直ハーフピクセル補間器４００へ供給することを可能とするために、配置４５０は順列ユニット５０４を使用する。順列ユニット５０４は垂直ハーフピクセル補間ユニット２０８ｂ内に埋め込まれている単一命令マルチデータ（ＳＩＭＤ）順列ユニットを表わしている。順列ユニット５０４は４個の垂直ハーフピクセル補間器４００の各々に対して適宜の入力を選択する。特に、第一及び最後のレジスタ値Ｒ１及びＲ４９は、各々、単一の垂直ハーフピクセル補間器へ供給される。第二及び第八レジスタ値Ｒ７及びＲ４３は、各々、２個の垂直ハーフピクセル補間器へ供給される。第三及び第七レジスタ値Ｒ１３及びＲ３７は、各々、３個の垂直ハーフピクセル補間器へ供給される。第四、第五、第六レジスタ値Ｒ１９，Ｒ２５，Ｒ３１は、各々、４個の垂直ハーフピクセル補間器へ供給される。単一のＳＩＭＤ命令を使用して垂直ハーフピクセル補間ユニット２０８ｂを活性化させ且つレジスタからなる列５０２からのデータを垂直ハーフピクセル補間器４００へ供給する。次いで、４個のハーフピクセルが並列的に計算される。
【００６４】
図４Ｂに示したベクトルレジスタからなる列５０２はベクトルレジスタ２０４の組における２番目の列を表わしている。その後のクロックサイクル期間中に、順列ユニット５０４はベクトルレジスタ２０４の組における３番目の列からのデータを検索し且つ供給する。別のその後のクロックサイクル期間中に、順列ユニット５０４はベクトルレジスタ２０４の組におけるその他の列からのデータを検索し且つ供給することが可能である。このように、垂直ハーフピクセル補間ユニット２０８ｂは転置操作を使用することを回避している。
【００６５】
上述したように、垂直ハーフピクセル補間ユニット２０８ａにおいて類似した配置を使用することが可能である。図４Ｂに示したように、垂直ハーフピクセル補間ユニット２０８ｂへ供給されるデータはベクトルレジスタ２０４からくる。図２に示したように、垂直ハーフピクセル補間ユニット２０８ａへ供給されるデータは水平ハーフピクセル補間ユニット２０６からくる。その結果、同一の又は類似した順列ユニット５０４をデータの異なる入力供給源と共に垂直ハーフピクセル補間ユニット２０８ａにおいて使用することが可能である。
【００６６】
図４Ａ及び４Ｂは垂直ハーフピクセル補間器４００及び垂直ハーフピクセル補間器４００の配置４５０の１つの例を例示しているが、図４Ａ及び４Ｂに対して種々の変更を行うことが可能である。例えば、図４Ａに示した垂直ハーフピクセル補間器４００と同一の機能性を提供するその他の構造を使用することが可能である。又、ピクセルデータを垂直ハーフピクセル補間器４００へ経路付けさせるその他の配置を使用することが可能である。
【００６７】
図５は本発明の１実施例に基づく例示的なクォーターピクセル補間器５００を例示している。図５に示したクォーターピクセル補間器５００の実施例は例示的なものに過ぎない。クォーターピクセル補間器５００のその他の実施例を本発明の技術的範囲を逸脱することなしに使用することが可能である。又、説明の便宜上、クォーターピクセル補間器５００を図２のサブピクセル補間器２００におけるクォーターピクセル補間ユニット２１２の一部を形成するものとして説明する。クォーターピクセル補間器５００は任意のその他のシステム又は装置において使用することが可能である。
【００６８】
この例においては、クォーターピクセル補間器５００は２個の入力レジスタ５０２ａ−５０２ｂを包含している。入力レジスタ５０２ａ−５０２ｂは２個の異なるピクセル値を格納することが可能である。これらのピクセル値はフルピクセル値及びハーフピクセル値又は２個のハーフピクセル値を表わすことが可能である。入力レジスタ５０２ａ−５０２ｂはピクセル値を格納することが可能な任意の構造を包含している。
【００６９】
クォーターピクセル補間器５００は、又、２個の加算器５０４ａ−５０４ｂとシフター５０６とを包含している。加算器５０４ａ−５０４ｂの各々は２個又はそれ以上の入力値を加算するための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。シフター５０６は１個又はそれ以上の方向において１個又はそれ以上のビット位置だけ値をシフトさせるための任意のハードウエア、ソフトウエア、ファームウエア、又はそれらの組合わせを包含している。
【００７０】
加算器５０４ａは入力レジスタ５０２ａ−５０２ｂからピクセル値を受取り且つ加算する。加算器５０４ｄは加算器５０４ａの出力と定数値５０８とを受取り且つ加算する。シフター５０６は加算器５０４ｂの出力を１ビット位置だけ右へシフトさせる（加算器５０４ｂの出力を２で割算することと等価）。シフター５０６の出力は、入力レジスタ５０２ａ−５０２ｂ内に格納されている２個のピクセル値を使用して計算した１個のクォーターピクセル値を表わしている。
【００７１】
例示した実施例においては、加算器５０４ａ−５０４ｂとシフター５０６とが２ステージパイプライン型アーキテクチャを形成している。クォーターピクセル補間器５００は１サイクルの待ち時間を有しており、その後に、１個のクォーターピクセルがクロックサイクル当たりに発生される。クォーターピクセル補間器５００のこの実施例は乗算器の使用を必要とするものではない。
【００７２】
図２に示したサブピクセル補間器２００の実施例において、４８個のクォーターピクセル補間器５００をクォーターピクセル補間ユニット２１２内において使用することが可能である。そのことは、クォーターピクセル補間ユニット２１２が４８個の異なるクォーターピクセルを同時的に計算することを可能とさせる。その他の数のクォーターピクセル補間器５００を使用するクォーターピクセル補間ユニット２１２のその他の実施例を使用することが可能である。
【００７３】
合計で、サブピクセル補間器２００は最大で９個の水平ハーフピクセル、８個の垂直ハーフピクセル、４８個のクォーターピクセルを各クロックサイクル毎に発生する。１６×１６マクロブロックが入力として受取られると、サブピクセル補間器２００の出力は６４×６４ブロックとして構成することが可能である。この６４×６４出力ブロックの左上のピクセルをｏ0,0として示し且つ右下のピクセルをｏ63,63として示す。表１はサブピクセル補間器２００によって実施されるサブピクセル補間処理を例示している。この表において、出力値ｏv,hは、最初に、それらの垂直インデックスｖにより、次いで、それらの水平インデックスｈによりインデックスされる。
【００７４】
【表１】
2006180509.tif 000003
【００７５】
表１に示し且つ上に説明したように、最初のハーフピクセル値が発生される前に３サイクルの待ち時間が存在している。その後に、９個の水平ハーフピクセルと８個の垂直ハーフピクセルをクロックサイクル毎に発生することが可能であり、且つ１６×１６マクロブロックの各ラインにおける残りのピクセルを処理するために１５サイクルかかる。又、クォーターピクセル計算を完了するために２個のエキストラなクロックサイクルが必要とされる。その結果、１６×１６マクロブロックの各ラインに対してのクォーターピクセルの計算は２１クロックサイクルかかる。１６×１６マクロブロックの４本のラインを同時的に処理することが可能であるので、１６×１６マクロブロックに対しての全ての部分的なピクセルの計算は４８クロックサイクルかかる。
【００７６】
図５はクォーターピクセル補間器５００の１つの例を例示しているが、図５に対して種々の変更を行うことが可能である。例えば、図５に示したクォーターピクセル補間器５００と同一の機能性を提供するその他の構成を使用することが可能である。
【００７７】
図６は本発明の１実施例に基づく画像マクロブロックが関与する例示的なハーフピクセル補間６００を例示している。特に、図６は図２のサブピクセル補間器２００における水平ハーフピクセル補間ユニット２０６と垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂによって実施される例示的なハーフピクセル補間６００を例示している。図２のサブピクセル補間器２００は本発明の技術的範囲を逸脱することなしに任意のその他の適宜の態様で動作することが可能である。
【００７８】
サブピクセル補間器２００におけるベクトルレジスタ２０４は９個の行の６個のフルピクセル値を格納する。この例においては、フルピクセルは、例えば、図６においてピクセル６０２等のグレイピクセルとして示される。第一繰り返し／クロックサイクル期間中にサブピクセル補間器２００により補間されるハーフピクセルは、例えば、図６においてピクセル６０４等のハッチングしたピクセルとして示される。第２繰り返し／クロックサイクル期間中にサブピクセル補間器２００により補間されるハーフピクセルは、例えば、図６におけるピクセル６０６のように黒色のピクセルとして示してある。
【００７９】
２番目の繰り返しを１つの例として取り上げる。補間ユニット２０６における各水平ハーフピクセル補間器３００は図６における行のうちの１つにおける６個のフルピクセル６０２の値を受取る。これらのフルピクセル６０２を使用して、９個の水平ハーフピクセル補間器３００が図６の列６０８に示したハーフピクセル６０６を発生する。
【００８０】
補間ユニット２０８ｂにおける各垂直ハーフピクセル補間器４００は図６の列６１０に置ける９個のフルピクセル６０２のうちの６個を受取る。これらの垂直ハーフピクセル補間器４００は、図６の列６１０に示した４個のハーフピクセル６０６を発生する。又、補間ユニット２０８ａにおける各垂直ハーフピクセル補間器４００は図６の列６１２における９個のハーフピクセル６０４のうちの６個を受取る。列６１２に置けるハーフピクセル６０４は第一繰り返し期間中に水平ハーフピクセル補間ユニット２０６によって発生されたものである。これらの垂直ハーフピクセル補間器４００は図６の列６１２に示した４個のハーフピクセル６０６を発生する。
【００８１】
このように、水平ハーフピクセル補間ユニット２０６及び垂直ハーフピクセル補間ユニット２０８ａ−２０８ｂは１７個のハーフピクセル値を並列的に発生することが可能である。このアーキテクチャは、サブピクセル補間処理と関連する遅延を減少させ且つサブピクセル補間器２００の処理能力を増加させることに貢献する。
【００８２】
図６は画像マクロブロックが関与するハーフピクセル補間６００の１つの例を例示しているが、図６に対して種々の変更を行うことが可能である。例えば、ハーフピクセル補間は、繰り返しあたりより多くの又はより少ないハーフピクセルが発生される場合のような任意のその他の適宜の態様で発生することが可能である。
【００８３】
図７は本発明の１実施例に基づく画像マクロブロックが関与する例示的クォーターピクセル補間７００を例示している。特に、図７は図２のサブピクセル補間器２００におけるクォーターピクセル補間ユニット２１２によって実施される例示的なクォーターピクセル補間７００を例示している。図２のサブピクセル補間器２００は、本発明の技術的範囲を逸脱することなしに任意のその他の適宜の態様で動作することが可能である。
【００８４】
この例においては、フルピクセルは、例えば図７におけるピクセル７０２のようなグレイ即ち灰色のピクセルとして示してある。サブピクセル補間器２００によって補間されたハーフピクセル（垂直及び水平の両方）は例えば図７におけるピクセル７０４のようなハッチングしたピクセルとして示してある。サブピクセル補間器２００によって補間されたクォーターピクセルは、図７におけるピクセル７０６のようなクロスハッチしたピクセルとして示してある。
【００８５】
図７に示したように、各クォーターピクセル７０６はフルピクセル７０２とハーフピクセル７０４との間、又は２個のハーフピクセル７０４の間において水平方向、垂直方向、又は対角線方向に位置されている。各クォーターピクセル７０６はこれら２個の周りのピクセル値を使用して決定される。
【００８６】
クォーターピクセル補間ユニット２１２は、クォーターピクセル補間ユニット２１２の各クロックサイクル／繰り返し期間中に４８個の異なるクォーターピクセル値を計算することが可能である。このことは、ハーフピクセル補間ユニット２０６，２０８ａ−２０８ｂと並列的に行うことが可能である。例えば、ハーフピクセル補間ユニット２０６，２０８ａ−２０８ｂは１７個のハーフピクセルを発生することが可能である。クォーターピクセル補間ユニット２１２はこれらのハーフピクセルを受取り且つ４８個のクォーターピクセルを発生する。クォーターピクセル補間ユニット２１２がこれらのクォーターピクセルを発生するので、ハーフピクセル補間ユニット２０６，２０８ａ−２０８ｂは別の１７個のハーフピクセルを発生することが可能であり、それらは、後に、クォーターピクセル補間ユニット２１２によって受取られる。このように、補間ユニット２０６，２０８ａ−２０８ｂ，２１２は部分的なピクセルを迅速に発生するために同時的に動作することが可能である。図７に示したように、サブピクセル補間器２００は、画像内の各フルピクセル７０２に対して、３個のハーフピクセル７０４と１２個のクォーターピクセル７０６とを計算する。１６×１６マクロブロックの場合には、このことは、サブピクセル発生器２００がマクロブロック当たり３，８４０個（１６×１６×１５）のフル及び部分的ピクセルを出力することを意味している。これらのハーフピクセル７０４及びクォーターピクセル７０６は、ビデオ情報を圧縮／伸張させる場合に改善された動き補償を与えるために使用することが可能である。図２−５に示したアーキテクチャを使用して、これらのハーフピクセル７０４及びクォーターピクセル７０６は、従来のＨ．２６４及びその他のビデオエンコーダ／デコーダよりもより少ない遅延及びより低い計算オーバーヘッドで発生させることが可能である。
【００８７】
図７は画像マクロブロックが関与するクォーターピクセル補間７００の１つの例を例示しているが、図７に対して種々の変更を行うことが可能である。例えば、クォーターピクセル補間は、例えば、繰り返しあたりより多くの又はより少ないクォーターピクセルが発生される場合に、任意のその他の適宜の態様で発生することが可能である。
【００８８】
図８は本発明の１実施例に基づく画像マイクロブロックが関与する例示的なハーフピクセル及びクォーターピクセル補間８００の付加的な詳細を例示している。図８はフルピクセルと、ハーフピクセルと、クォーターピクセルとを区別するために図７と同一のシェーディングを使用している。
【００８９】
図８において、大文字はフルピクセル（例えばルミナンスピクセル）を示しており、一方小文字はハーフピクセル及びクォーターピクセルを示している。ピクセルｂ及びｈ等のハーフピクセルは、水平ハーフピクセル補間器３００及び垂直ハーフピクセル補間器４００によって計算される。図３及び４に示した実施例においては、補間器３００，４００の各々は６タップ有限インパルス応答（ＦＩＲ）フィルタとして作用する。Ｈ．２６４スタンダードにおいては、６タップＦＩＲフィルタの係数は（１，−５，２０，２０，−５，１）／３２である。水平ハーフピクセル補間器３００は１つの行における６個のフルピクセル値を使用して各ハーフピクセルを計算する。垂直ハーフピクセル補間器４００は、１つの列における６個のフルピクセル値又は６個のハーフピクセル値を使用して各ハーフピクセルを計算する。
【００９０】
この実施例においては、ハーフピクセルｂ及びｈの値は次式、
ｂ＝（Ｅ−５Ｆ＋２０Ｇ＋２０Ｈ−５Ｉ＋Ｊ＋１６）／３２            （１）
ｈ＝（Ａ−５Ｃ＋２０Ｇ＋２０Ｍ−５Ｒ＋Ｔ＋１６）／３２            （２）
を使用して表わすことが可能である。各結果は、最も近い整数へ丸めることが可能である。ハーフピクセルａａ，ｂｂ，ｓ，ｇｇ，ｈｈに対する値はｂと同一の態様で計算される。ｃｃ，ｄｄ，ｍ，ｅｅ，ｆｆに対する値はｈと同一の態様で計算される。ハーフピクセルｊに対する値は該６タップフィルタを水平方向（ｃｃ，ｄｄ，ｈ，ｍ，ｅｅ，ｆｆを使用して）又は垂直方向（ａａ，ｂｂ，ｂ，ｓ，ｇｇ，ｈｈを使用して）に適用することにより計算することが可能であり、それは次式、
ｊ＝（ｃｃ−５ｄｄ＋２０ｈ＋２０ｍ−５ｅｅ＋ｆｆ＋１６）／３２    （３）
ｊ＝（ａａ−５ｂｂ＋２０ｂ＋２０ｓ−５ｇ＋ｈｈ＋１６）／３２      （４）
を使用して表わされる。
【００９１】
ハーフピクセル値が使用可能となると、クォーターピクセル補間器５００はクォーターピクセル値を計算する。クォーターピクセル値は線形補間を使用して計算され、且つそれらの結果は最も近い整数に丸められる。例えば、クォーターピクセルａ，ｄ，ｅの値は次式、
ａ＝（Ｇ＋ｂ＋１）／２                                            （５）
ｄ＝（Ｇ＋ｈ＋１）／２                                            （６）
ｅ＝（ｂ＋ｈ＋１）／２                                            （７）
を使用して表わすことが可能である。残りのクォーターピクセルに対する値は同様の態様で計算することが可能である。
【００９２】
図８は画像マクロブロックが関与するハーフピクセル及びクォーターピクセル補間の１例の付加的な詳細を例示するものであるが、図８に対して種々の変更を行うことが可能である。例えば、より多くの又はより少ないハーフピクセル及びクォーターピクセルを発生させることが可能であり且つサブピクセル補間器２００の各繰り返しにおいて使用することが可能である。
【００９３】
図９は本発明の１実施例に基づく画像ブロックが関与する例示的な第８即ち８番目のピクセル補間９００を例示している。幾つかの実施例においては、図２のサブピクセル補間器２００は、例えば４：２：０サンプリングが使用される場合に第８ピクセル値を識別することを必要とする場合があり、且つクォーターピクセルルミナンス値は第８ピクセルクロミナンス値を必要とする。
【００９４】
この例においては、フルピクセルは例えば図９におけるピクセル９０２のようなグレイ即ち灰色のピクセルとして示してある。第８ピクセルは図９におけるピクセル９０４のようなクロスハッチングしたピクセルとして示してある。この例においては、第８ピクセル９０４は４個の周りのフルピクセル９０２が関与する線形補間を使用して計算される。然しながら、第８ピクセル９０４は任意のその他の適宜の態様で計算することが可能である。例えば、第８ピクセル９０４は隣りのハーフピクセル又はクォーターピクセル又はフル、ハーフ及び／又はクォーターピクセルの組合わせを使用して計算することが可能である。
【００９５】
図９は画像マクロブロックが関与する例示的な第８ピクセル補間９００を例示しているが、図９に対して種々の変更を行うことが可能である。例えば、第８ピクセル９０４は任意のその他の適宜の態様で発生させることが可能である。
【００９６】
図１０は本発明の１実施例に基づくサブピクセル補間の高速実現のための例示的な方法１０００を例示している。説明の便宜上、本方法１０００を図２のサブピクセル補間器２００に関して説明する。本方法１０００は任意のその他の装置によって及び任意のその他のシステムにおいて使用することが可能である。
【００９７】
サブピクセル補間器２００がステップ１００２においてビデオ情報を包含するマクロブロックを受取る。このことは、例えば、サブピクセル補間器２００が１６×１６マクロブロックを受取り且つ該マクロブロックを入力バッファ２０２内に格納することを包含することが可能である。この１６×１６マクロブロックは２５６個のフルピクセル値を包含することが可能である。
【００９８】
サブピクセル補間器２００がステップ１００４において該マクロブロックにおけるフルピクセル値のサブセットを選択する。このことは、例えば、サブピクセル補間器２００がベクトルレジスタ２０４におけるマクロブロックの９個の行の各々から６個のフルピクセル値を格納することを包含することが可能である。
【００９９】
サブピクセル補間器２００がステップ１００６においてフルピクセルのサブセットを使用して水平ハーフピクセルを発生する。このことは、例えば、補間ユニット２０６における各水平ハーフピクセル補間器３００がベクトルレジスタ２０４からフルピクセル値を受取ることを包含することが可能である。このことは、又、水平ハーフピクセル補間器３００の種々のステージが水平ハーフピクセルを発生するために値を加算し且つシフトさせることを包含することが可能である。このことは、更に、中間バッファ２１０内に水平ハーフピクセルを格納することを包含することが可能である。
【０１００】
サブピクセル補間器２００は、ステップ１００８において、フルピクセルのサブセットを使用して垂直ハーフピクセルを発生する。このことは、例えば、補間ユニット２０８ｂにおける各垂直ハーフピクセル補間器４００がベクトルレジスタ２０４からフルピクセル値を受取ることを包含することが可能である。このことは、又、垂直ハーフピクセル補間器４００の種々のステージが垂直ハーフピクセルを発生するために値を加算し且つシフトさせることを包含することが可能である。このことは、更に、中間バッファ２１０内に垂直ハーフピクセルを格納することを包含することが可能である。
【０１０１】
サブピクセル補間器２００は、ステップ１０１０において、水平ハーフピクセルを使用して垂直ハーフピクセルを発生する。このことは、例えば、補間ユニット２０８ａにおける各垂直ハーフピクセル補間器４００が補間ユニット２０６から水平ハーフピクセルを受取ることを包含することが可能である。このことは、又、垂直ハーフピクセル補間器４００の種々のステージが垂直ハーフピクセルを発生するために値を加算し且つシフトさせることを包含することが可能である。このことは、更に、中間バッファ２１０内に垂直ハーフピクセルを格納することを包含することが可能である。
【０１０２】
サブピクセル補間器２００はステップ１０１２においてフルピクセル及びハーフピクセルを使用してクォーターピクセルを発生する。このことは、例えば、補間ユニット２１２における各クォーターピクセル補間器５００が中間バッファ２１２からフルピクセルとハーフピクセル又は２個のハーフピクセルを受取ることを包含することが可能である。このことは、又、クォーターピクセルを発生するためにクォーターピクセル補間器５００の種々のステージが値を加算し且つシフトさせることを包含することが可能である。
【０１０３】
サブピクセル補間器２００は、ステップ１０１４において、種々のフルピクセル、ハーフピクセル、クォーターピクセルを格納する。このことは、例えば、フルピクセル、ハーフピクセル、クォーターピクセルを出力バッファ２１４内に格納することを包含することが可能である。この点において、出力バッファ２１４におけるピクセルデータを検索し且つ任意の適宜の態様で使用することが可能である。例えば、該ピクセルデータは動き補償を実施するために検索し且つ使用することが可能である。然しながら、該ピクセルデータは任意のその他の適宜の目的のために使用することが可能である。
【０１０４】
サブピクセル補間器２００は、ステップ１０１６において、マクロブロックの処理が完了したか否かを判別する。完了していない場合には、サブピクセル補間器２００はステップ１００４へリターンして現在のマクロブロックから別のピクセルのサブセットを選択する。そうでない場合には、そのマクロブロックの処理が完了し、且つ本方法１０００は終了する。この点において、例えば新たなマクロブロックに対して本方法１０００を繰り返す等の任意の適宜のアクションを発生することが可能である。
【０１０５】
図１０はサブピクセル補間の高速実現のための方法１０００の１例を例示しているが、図１０に対して種々の変更を行うことが可能である。例えば、図１０は方法１０００の種々のステップが順番に発生することを例示しているが、図１０に示した種々のステップは並列的に実施することが可能である。特定の例として、ステップ１００６−１０１０を並列的に実施して新たな組のハーフピクセルを発生し且つサブピクセル補間器２００の各繰り返し期間中に前の組のハーフピクセルを使用して１組のクォーターピクセルを発生させることが可能である。
【０１０６】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【０１０７】
【図１】本発明の１実施例に基づく例示的なビデオシステムを示した概略図。
【図２】本発明の１実施例に基づく例示的なサブピクセル補間器を示した概略図。
【図３】本発明の１実施例に基づく例示的な水平ハーフピクセル補間器を示した概略図。
【図４Ａ】本発明の１実施例に基づく例示的な垂直ハーフピクセル補間器を示した概略図。
【図４Ｂ】本発明の１実施例に基づく垂直ハーフピクセル補間器の配置を示した概略図。
【図５】本発明の１実施例に基づく例示的なクォーターピクセル補間器を示した概略図。
【図６】本発明の１実施例に基づく画像マクロブロックが関与する例示的なハーフピクセル補間を示した概略図。
【図７】本発明の１実施例に基づく画像マクロブロックが関与する例示的なクォーターピクセル補間を示した概略図。
【図８】本発明の１実施例に基づく画像マクロブロックが関与する例示的なハーフピクセル及びクォーターピクセル補間の付加的な詳細を示した概略図。
【図９】本発明の１実施例に基づく画像マクロブロックが関与する例示的な第８ピクセル補間を示した概略図。
【図１０】本発明の１実施例に基づくサブピクセル補間の高速実現のための例示的な方法を示したフローチャート。
【符号の説明】
【０１０８】
１００  ビデオシステム
１０２  ビデオエンコーダ
１０４  ビデオデコーダ
１０６  ディスプレイ装置
１０８  データネットワーク
１１０  光学的ディスク
１１２  ハードディスクドライブ
１１４  ビデオ供給源
１１６  ビデオ情報信号
１１８  結合器
１２２  変換／量子化ユニット
１２６  エントロピーエンコーダ
１３０  逆変換／量子化ユニット
１３４  結合器
１３８  デブロッキングフィルタ
１４２  動き推定器
１４４  動き補償器
【図１】
2006180509.tif 000004
【図２】
2006180509.tif 000005
【図３】
2006180509.tif 000006
【図４Ａ】
2006180509.tif 000007
【図４Ｂ】
2006180509.tif 000008
【図５】
2006180509.tif 000009
【図６】
2006180509.tif 000010
【図７】
2006180509.tif 000011
【図８】
2006180509.tif 000012
【図９】
2006180509.tif 000013
【図１０】
2006180509.tif 000014