(57)【要約】【課題】本発明は、一実施形態において、ビデオエラーを隠蔽するためのシステムおよび方法を提供する。そのシステムがデータパケットを受信し、デパケット化し、順序付けし（９１５）そして復号化するとき、そのシステムが損失ビデオデータパケットによりもたらされるエラーを隠蔽するように、そのシステムは、通信ネットワークに亘り、送信のためのビデオデータパケットにビデオ情報を符号化し、再順序付けしそしてパケット化する。一実施形態において、そのシステムおよび方法は、隣接するマクロブロックが同じビデオデータパケットに配置されないように、ビデオ情報を符号化し且つパケット化する。さらに、そのシステムと方法は、復号化プロセスを容易にするためにビデオデータパケットに伴う情報を提供することが可能である。そのようなスキームに対する利点は、ビデオデータパケット損失によるエラーがビデオフレームにおいて空間的に分布されることである。それ故、損失マクロブロックの周りのデータの領域がうまく復号化される場合、復号化器は、より高いビデオ品質に導く、より高い正確度をもつ動きベクトルと空間コンテンツを予測することができる。
2005501488.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを処理するシステムであって：
マクロブロックを生成するため且つマクロブロックを符号化するためにビデオ信号の各々のフレームを処理するための符号化エンジン；
各々の符号化マクロブロックに複数のマクロブロック群識別子（ＭＢＧＩＤ）からＭＢＧＩＤを割り当てるためのマクロブロック再順序付けエンジン；並びに
ＭＢＧＩＤに従って特定のデータパケットに各々の符号化マクロブロックを配置するためのマクロブロックパケット化エンジン；
から構成されることを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、マクロブロック再順序付けエンジンは、隣接する符号化マクロブロックに異なるＭＢＧＩＤを割り当てる、ことを特徴とするシステム。
【請求項３】
請求項１に記載のシステムであって、符号化エンジンは、インター符号化マクロブロックである符号化マクロブロックの各々のために非差分符号化動きベクトルを生成する、ことを特徴とするシステム。
【請求項４】
請求項１に記載のシステムであって、マクロブロックパケット化エンジンは、異なるデータパケットに異なる割り当てＭＢＧＩＤをもつ符号化マクロブロックを配置する、ことを特徴とするシステム。
【請求項５】
請求項１に記載のシステムであって、ＭＢＧＩＤは、１から最大群識別子（ＭＧＩＤ）までの値である、ことを特徴とするシステム。
【請求項６】
請求項５に記載のシステムであって、マクロブロック再順序付けエンジンは、ビデオデータレートに基づいてＭＧＩＤを決定する、ことを特徴とするシステム。
【請求項７】
請求項５に記載のシステムであって、マクロブロック再順序付けエンジンは、ビデオフォーマットに基づいてＭＧＩＤを決定する、ことを特徴とするシステム。
【請求項８】
請求項１に記載のシステムであって、符号化エンジンは、重要な差異が現時点のフレームの所定のマクロブロックのデータと前のフレームの最もよく適合するオフセットマクロブロックのデータとの間にある場合、インター符号化マクロブロックとして現時点のフレームの所定のマクロブロックを符号化する、ことを特徴とするシステム。
【請求項９】
請求項１に記載のシステムであって、符号化エンジンは、重要な類似性が現時点のフレームの所定のマクロブロックのデータと前のフレームの最もよく適合するオフセットマクロブロックのデータとの間にある場合、インター符号化マクロブロックとして現時点のフレームの所定のマクロブロックを符号化する、ことを特徴とするシステム。
【請求項１０】
請求項１に記載のシステムであって、符号化エンジンは、所定フレームにおいてイントラ符号化マクロブロックを識別するイントラマクロブロックマップをさらに生成する、ことを特徴とするシステム。
【請求項１１】
請求項１０に記載のシステムであって、符号化エンジンは、最少ビット数を生成するイントラマクロブロックマップ符号化方法を選択することによりイントラマクロブロックマップを符号化する、ことを特徴とするシステム。
【請求項１２】
請求項１０に記載のシステムであって、符号化エンジンは、イントラマクロブロックマップを符号化するためにランレングス符号化を用いる、ことを特徴とするシステム。
【請求項１３】
請求項１０に記載のシステムであって、符号化エンジンは、イントラマクロブロックマップを符号化するためにビットマップを用いる、ことを特徴とするシステム。
【請求項１４】
請求項１に記載のシステムであって、受信装置のマクロブロックパケット化エンジンは、符号化マクロブロックをデパケット化する、ことを特徴とするシステム。
【請求項１５】
請求項１に記載のシステムであって、受信装置のマクロブロックパケット化エンジンは、符号化マクロブロックを順序付ける、ことを特徴とするシステム。
【請求項１６】
請求項１に記載のシステムであって、受信装置の符号化エンジンは、符号化マクロブロックを復号化し且つ欠落した復号化マクロブロックを検出する、ことを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムであって、受信装置の符号化エンジンは、所定の欠落した復号化マクロブロックがイントラ符号化マクロブロックとして符号化される場合、ビデオエラーの隠蔽効果のために隣接する復号化マクロブロックのデータから所定の欠落した復号化マクロブロックのデータを空間的に補間する、ことを特徴とするシステム。
【請求項１８】
請求項１６に記載のシステムであって、受信装置の符号化エンジンは、所定の欠落した復号化マクロブロックがイントラ符号化マクロブロックとして符号化される場合、ビデオエラーの隠蔽効果のための動き補償により所定の欠落した符号化マクロブロックのデータコンテンツを再構築するために隣接する復号化マクロブロックの動きベクトルに基づいて所定の欠落した復号化マクロブロックの動きベクトルを評価する、ことを特徴とするシステム。
【請求項１９】
請求項１に記載のシステムであって、マクロブロックパケット化エンジンは、回線交換ネットワークにおけるトランスポートのための特定のフォーマットにＭＢＧＩＤに従った各々の符号化マクロブロックを配置するためのトランスポートエンジンである、ことを特徴とするシステム。
【請求項２０】
ビデオデータを処理する方法であって：
マクロブロックを生成するためにビデオ信号の各々のフレームを処理する段階；
マクロブロックを符号化する段階；
複数のマクロブロック群識別子（ＭＢＧＩＤ）から各々の符号化マクロブロックにＭＢＧＩＤを割り当てる段階；並びに
ＭＢＧＩＤに従って特定のデータパケットに各々の復号化マクロブロックを配置する段階；
から構成されることを特徴とする方法。
【請求項２１】
請求項２０に記載のシステムであって、割り当てる段階は、隣接する符号化マクロブロックに異なるＭＢＧＩＤを割り当てる手順からさらに構成される、ことを特徴とする方法。
【請求項２２】
請求項２０に記載のシステムであって、インター符号化マクロブロックである各々の符号化マクロブロックのために非差分符号化動きベクトルを生成する段階からさらに構成される、ことを特徴とする方法。
【請求項２３】
請求項２０に記載のシステムであって、配置する段階は、異なるデータパケットに異なる割り当てＭＢＧＩＤをもつ符号化マクロブロックを配置する手順からさらに構成される、ことを特徴とする方法。
【請求項２４】
請求項２０に記載の方法であって、ＭＢＧＩＤは、１から最大群識別子（ＭＧＩＤ）までの値である、ことを特徴とする方法。
【請求項２５】
請求項２３に記載の方法であって、ビデオデータレートに基づいてＭＧＩＤを決定する段階からさらに構成される、ことを特徴とする方法。
【請求項２６】
請求項２３に記載の方法であって、ビデオフォーマットに基づいてＭＧＩＤを決定する段階からさらに構成される、ことを特徴とする方法。
【請求項２７】
請求項２０に記載の方法であって、符号化する段階は、重要な差異が現時点のフレームの所定のマクロブロックのデータと前のフレームの最もよく適合するオフセットマクロブロックのデータとの間にある場合、インター符号化マクロブロックとして現時点のフレームの所定のマクロブロックを符号化する手順からさらに構成される、ことを特徴とする方法。
【請求項２８】
請求項２０に記載のシステムであって、符号化する段階は、重要な類似性が現時点のフレームの所定のマクロブロックのデータと前のフレームの最もよく適合するオフセットマクロブロックのデータとの間にある場合、インター符号化マクロブロックとして現時点のフレームの所定のマクロブロックを符号化する手順からさらに構成される、ことを特徴とする方法。
【請求項２９】
請求項２０に記載の方法であって、所定フレームにおいてイントラ符号化マクロブロックを識別するイントラマクロブロックマップを生成する段階からさらに構成される、ことを特徴とする方法。
【請求項３０】
請求項２９に記載の方法であって、最少ビット数を生成するイントラマクロブロックマップ符号化方法を選択する段階からさらに構成される、ことを特徴とする方法。
【請求項３１】
請求項２９に記載の方法であって、イントラマクロブロックマップを符号化するためにランレングス符号化を用いる段階からさらに構成される、ことを特徴とする方法。
【請求項３２】
請求項２９に記載の方法であって、イントラマクロブロックマップを符号化するためにビットマップを用いる段階からさらに構成される、ことを特徴とする方法。
【請求項３３】
請求項２０に記載の方法であって、符号化マクロブロックをデパケット化する段階からさらに構成される、ことを特徴とする方法。
【請求項３４】
請求項２０に記載の方法であって、符号化マクロブロックを順序付ける段階からさらに構成される、ことを特徴とする方法。
【請求項３５】
請求項２０に記載の方法であって、符号化マクロブロックを復号化する段階と欠落した復号化マクロブロックを検出する段階とからさらに構成される、ことを特徴とする方法。
【請求項３６】
請求項３５に記載の方法であって、所定の欠落した復号化マクロブロックがイントラ符号化マクロブロックとして符号化される場合、ビデオエラーの隠蔽効果のために隣接する復号化マクロブロックのデータから所定の欠落した復号化マクロブロックのデータを空間的に補間する段階からさらに構成される、ことを特徴とする方法。
【請求項３７】
請求項３５に記載の方法であって、所定の欠落した復号化マクロブロックがイントラ符号化マクロブロックとして符号化される場合、ビデオエラーの隠蔽効果のための動き補償により所定の欠落した符号化マクロブロックのデータコンテンツを再構築するために隣接する復号化マクロブロックの動きベクトルに基づいて所定の欠落した復号化マクロブロックの動きベクトルを評価する段階からさらに構成される、ことを特徴とする方法。
【請求項３８】
請求項２０に記載の方法であって、回線交換ネットワークにおけるトランスポートのための特定のフォーマットにＭＢＧＩＤに従った各々の符号化マクロブロックを配置すする段階からさらに構成される、ことを特徴とする方法。
【請求項３９】
プログラムを実施する電子的に読み取り可能な媒体であって、プログラムはビデオデータを処理するための方法の段階を実行するために機械により実行可能であり、前記方法の段階は：
マクロブロックを生成するためにビデオ信号の各々のフレームを処理する段階；
マクロブロックを符号化する段階；
複数のマクロブロック群識別子（ＭＢＧＩＤ）から各々の符号化マクロブロックにＭＢＧＩＤを割り当てる段階；並びに
ＭＢＧＩＤに従って特定のデータパケットに各々の復号化マクロブロックを配置する段階；
から構成される、ことを特徴とする電子的に読み取り可能な媒体。
【請求項４０】
請求項３９に記載の電子的に読み取り可能な媒体であって、前記方法の段階は、隣接する符号化マクロブロックに異なるＭＢＧＩＤを割り当てる手順からさらに構成される、ことを特徴とする電子的に読み取り可能な媒体。
【請求項４１】
請求項３９に記載の電子的に読み取り可能な媒体であって、前記方法の段階は、インター符号化マクロブロックである各々の符号化マクロブロックのために非差分符号化動きベクトルを生成する段階からさらに構成される、ことを特徴とする電子的に読み取り可能な媒体。
【請求項４２】
請求項３９に記載の電子的に読み取り可能な媒体であって、前記配置する段階は、異なるデータパケットに異なる割り当てＭＢＧＩＤをもつ符号化マクロブロックを配置する手順からさらに構成される、ことを特徴とする電子的に読み取り可能な媒体。
【請求項４３】
請求項３９に記載の電子的に読み取り可能な媒体であって、前記符号化する段階は、重要な差異が現時点のフレームの所定のマクロブロックのデータと前のフレームの最もよく適合するオフセットマクロブロックのデータとの間にある場合、インター符号化マクロブロックとして現時点のフレームの所定のマクロブロックを符号化する手順からさらに構成される、ことを特徴とする電子的に読み取り可能な媒体。
【請求項４４】
請求項３９に記載の電子的に読み取り可能な媒体であって、前記符号化する段階は、重要な類似性が現時点のフレームの所定のマクロブロックのデータと前のフレームの最もよく適合するオフセットマクロブロックのデータとの間にある場合、インター符号化マクロブロックとして現時点のフレームの所定のマクロブロックを符号化する手順からさらに構成される、ことを特徴とする電子的に読み取り可能な媒体。
【請求項４５】
請求項３９に記載の電子的に読み取り可能な媒体であって、所定フレームにおいてイントラ符号化マクロブロックを識別するイントラマクロブロックマップを生成する段階からさらに構成される、ことを特徴とする方法。
【請求項４６】
ビデオデータを処理する方法であって：
ビデオ信号の各々のフレームのためにマクロブロックを生成する段階；
マクロブロックを符号化する段階；
複数のマクロブロック群識別子（ＭＢＧＩＤ）から各々の符号化マクロブロックにＭＢＧＩＤを割り当てる段階；
異なるデータパケットに異なる割り当てＭＢＧＩＤをもつ符号化マクロブロックを配置する段階；
遠隔装置に異なるデータパケットを送信する段階；
遠隔装置において受信された異なるデータパケットの符号化マクロブロックを復号化する段階；
欠落した復号化マクロブロックを検出する段階；並びに
欠落した復号化マクロブロックのデータを再構築する段階；
から構成されることを特徴とする方法。
【請求項４７】
請求項４６に記載の方法であって、前記データを再構築する段階は、所定の欠落した復号化マクロブロックがイントラ符号化マクロブロックとして符号化される場合、ビデオエラーの隠蔽効果のために隣接する復号化マクロブロックのデータから所定の欠落した復号化マクロブロックのデータを空間的に補間する手順からさらに構成される、ことを特徴とする方法。
【請求項４８】
請求項４６に記載の方法であって、前記データを再構築する段階は、所定の欠落した復号化マクロブロックがインター符号化マクロブロックとして符号化される場合、ビデオエラーの隠蔽効果のための動き補償により所定の欠落した復号化マクロブロックのデータコンテンツを再構築するために隣接する復号化マクロブロックの動きベクトルに基づいて所定の靴楽した復号化マクロブロックの動きベクトルを評価する手順からさらに構成される、ことを特徴とする方法。
【請求項４９】
ビデオデータを処理するためのシステムであって：
マクロブロックを生成するためにビデオ信号の各々のフレームを処理するための手段；
マクロブロックを符号化するための手段；
複数のマクロブロック群識別子（ＭＢＧＩＤ）から各々の符号化マクロブロックにＭＢＧＩＤを割り当てるための手段；並びに
ＭＢＧＩＤに従って特定のデータパケットに各々の符号化マクロブロックを配置するための手段；
から構成されることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ビデオ通信に関し、特に、ビデオエラー隠蔽に関する。
【背景技術】
【０００２】
ビデオ画像はグローバルコミュニケーションの一部として次第に重要になってきた。特に、ビデオ会議およびビデオ電話は、デスクトップおよび部屋ベースの会議、インターネットおよび電話回線におけるビデオ、監視およびモニタリング、遠隔治療およびコンピュータベースのトレーニングおよび教育のような幅広いアプリケーションを有している。これらのアプリケーションの各々において、ビデオとそれに伴うオーディオ情報は、電話回線、ＩＳＤＮ、ＤＳＬおよび超音波を含む通信回線を通じて送信される。
【０００３】
ビデオ会議において用いられる標準ビデオフォーマットは、国際電気通信連合（ＩＴＵ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｕｎｉｏｎ）のＨ．２６１ビデオ会議規格の一部である共通中間フォーマット（ＣＩＦ：Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ）である。主なＣＩＦフォーマットはまた、全ＣＩＦまたはＦＣＩＦとして知られている。ＦＣＩＦより大きいかまたは小さいかどちらかの解像度をもつ付加的なフォーマットがまた確立された。図１は、先行技術に従った、１つの画素に対して１２ビットが必要であるという仮定の下での種々のビデオフォーマットに関するビットレートの要求および解像度についての表である。示されているビットレート（単位は秒当たりのメガビット、すなわちＭｂｐｓとして）は非圧縮のカラービデオフレームに対するものである。
【０００４】
現在、ビデオ信号の効率的な送信および受信は、ビデオおよびそれに伴うオーディオデータの符号化および圧縮を必要としている。ビデオ圧縮符号化はデジタルビデオデータを符号化する方法であり、それ故、ビデオデータを記憶するために記憶容量をあまり必要とせず、必要とされる送信帯域幅は減少されている。特定の圧縮／展開ＣＯＤＥＣ）スキームは、必要とされる送信ビットレートを減少させてビデオフレームを圧縮するためにしばしば用いられる。それ故、ＣＯＤＥＣハードウェアおよびソフトウェアは、デジタルビデオデータがオリジナル（非圧縮）のデジタルビデオフォーマットにより必要とされるよりコンパクトなバイナリフォーマットに圧縮されることを可能にする。
【０００５】
ソースビデオ信号を符号化し且つ圧縮することに対する幾つかの従来の方法がある。一部の規格が、静止画像に対するＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、並びに動画像に対するＨ．２６１、Ｈ．２６３、ＭＰＥＧ、ＭＰＥＧ−２およびＭＰＥＧ−４のような特定のアプリケーションについてデザインされている。これらの符号化規格は、一般にマクロブロックと呼ばれる１６ｘ１６画素におけるブロックベースの動き補償予測を代表的に用いる。マクロブロックは、クロミナンスデータが垂直方向および水平方向において２：１にサブサンプリングされる４：２：０サンプリング構造に従ったクロミナンスデータの４つの８ｘ８ブロックおよびクロミナンスデータの２つの対応する８ｘ８ブロックを含む情報の単位である。
【０００６】
実際的には、オーディオデータはまた、ビデオデータと共に圧縮され、送信され、そして同期化される必要がある。同期化、多重化およびプロトコルの問題は、Ｈ．３２０（ＩＳＤＮベースのビデオ会議）、Ｈ．３２４（ＰＯＴＳベースのビデオ電話）およびＨ．３２３（ＬＡＮまたはＩＰベースのビデオ会議）のような規格によりカバーされている。Ｈ．２６３（または前身のＨ．２６１）は、これらの規格群のビデオ符号化部分を提供する。
【０００７】
動き評価および補償スキームは、ビデオ信号に必要な送信帯域幅を減少させるために、一般に用いられる１つの従来の方法である。マクロブロックは基本データ単位であるため、動く評価および補償スキームは、現時点のビデオフレームにおける所定のマクロブロックを前に送信されたビデオフレームにおける所定のマクロブロックの周辺領域と比較することが可能である。一般に、前に送信されたビデオフレームにおける非常によく適合されたマクロブロックは、所定のマクロブロックの幅より小さい幅だけ所定のマクロブロックから空間的にオフセットされる。データの近い適合がみられる場合、僅かの差（すなわち、残差）および空間オフセットは符号化され且つ送信されることが必要であるように、前に送信された基準ビデオフレームにおいて近い適合をみるオフセットマクロブロックから現時点のビデオフレームにおける所定のマクロブロックを減じる。空間オフセットは、一般にうごきベクトルと呼ばれる。動き評価および補償プロセスが効率的である場合、残留残差マクロブロックは、前のビデオフレームから現時点のビデオフレームに変化する画素に関するデータを表すために必要な情報量と動きベクトルのみを含む必要がある。それ故、代わらないビデオフレームの領域は符号化されず且つ送信されない。
【０００８】
従来、Ｈ．２６３規格は、動き評価および動き補償のために用いられた動きベクトルは差分符号化されるように指定している。差分符号化は送信のために必要とされるデータ量を減少させるが、動きベクトルデータが１つのマクロブロックに対して損失されるか破損されたいずれかのエラーは隣接するマクロブロックに影響を及ぼす。その結果、より低いビデオ品質に導く破損されたデータのためにエラーが伝搬する。
【０００９】
パケット交換通信ネットワークにおいて送信のためのビデオフレーム情報が準備されたとき、符号化スキームは、通信ネットワークにおける送信のためのデータパケットに動き評価および補償技術または他の圧縮スキームにより圧縮されるビデオフレーム情報を変換する。データパケットは非常により送信効率を可能にするが、失われ、破損され、または遅延されたデータパケットはまた、ビデオ品質の劣化をもたらすエラーに導くこととなる。また、ビデオデータは、終点の１つが回線交換ネットワークに関連し、回線交換ネットワークブリッジ装置に交換されるゲートウェイまたは他のパケットが用いられる、異種通信ネットワークにおいて送信されることが可能である。
【００１０】
現在、失われたデータパケットまたは破損されたデータパケットはしばしばビデオ品質を低下させる原因となる。それ故、データパケット損失に起因するエラーを隠蔽するために、データパケットを整理し且つ送信するシステムおよび方法に対する要請がある。
【発明の開示】
【課題を解決するための手段】
【００１１】
本発明は、ビデオデータのパケット損失に関連する先行技術の問題を克服または実質的に軽減する。一般に、本発明は、ビデオデータのパケット損失によりもたらされるビデオエラーを隠蔽するための能力をもつパケット交換ネットワークに亘る送信のためのビデオ情報を符号化し、最順序付けし並びにパケット化するシステムおよび方法を提供する。
【００１２】
代表的な実施形態において、ビデオ信号はマクロブロックの集合に符号化される。それに、マクロブロック再順序付けエンジンは、各々のマクロブロックに、マクロブロック群識別子（ＭＢＧＩＤ：ＭａｃｒｏＢｌｏｃｋ  Ｇｒｏｕｐ  ＩＤｅｎｔｉｆｉｅｒ）と呼ばれる整数レベルを割り当てる。有利なことに、一実施形態において、隣接するマクロブロックは同一のＭＢＧＩＤを割り当てられない。それに、マクロブロックパケット化エンジンは、同一のＭＢＧＩＤが割り当てられるマクロブロックは一緒にパケット化されるように、マクロブロックのパケット化を可能にする。隣接するマクロブロックが同一のＭＢＧＩＤを割り当てられない実施形態に対しては、空間的に隣接しているマクロブロックは一緒にパケット化されないようになる。さらに、イントラマクロブロックマップのような対応するデータは、対応する復号化プロセスを容易にするためにある他の機構により移行されるか、ピクチャヘッダに組み込まれることが可能である。
【００１３】
さらに他の本発明の実施形態において、画像処理エンジンが符号化マクロブロック青含むデータパケットを受信するとき、そのデータパケットはデパケット化され、符号化マクロブロックは順序付けられ且つ復号化される。代替の実施形態において、画像処理エンジンは受信されたデータパケットをデパケット化し、次いで、処理遅延を減少させるために、データパケットが受信された順序にマクロブロックを復号化させる。１つまたはそれ以上のデータパケットが失われる場合、うまく送信されたデータパケットのマクロブロックに伴うデータが、損失データパケットの影響を減じるために用いられる。損失マクロブロックがイントラ符号化されたかまたはインター符号化されたかに基づく種々の方法は、欠落したマクロブロックを補償する。補償時に、ビデオ信号が表示されることが可能である。結果として、本発明のシステムおよび方法は、データパケット損失からもたらされるビデオエラーを隠蔽することができる。
【発明を実施するための最良の形態】
【００１４】
本発明は、データパケット損失によって引き起こされるビデオ信号におけるエラーを隠蔽する。本発明のシステムおよび方法は、マクロブロックをビデオフレームにおいて柔軟性のある順序（例えば、非ラスター走査）にパケット化することにより既存の技術とは異なっている。既存のビデオ符号化規格とは対象的に、マクロブロックは、マクロブロックの並べ替えパターンにより指定される順序にパケット化される。さらに、各々のマクロブロックについての動きベクトルは非差分符号化されることが可能である。これらの改善は、通信回線におけるデータパケット損失によりもたらされる外乱を減少させようとするものである。本発明の範囲は、Ｈ．２６１、Ｈ．２６３、Ｈ．２６４、ＭＰＥＧ、ＭＰＥＧ−２およびＭＰＥＧ−４を含むが、これらに限定されない種々のビデオ規格をカバーする。
【００１５】
図２は、代表的なビデオ会議システム２００を示している。ビデオ会議システム２００は、現地のビデオ会議ステーション２０２とネットワーク２０６により接続された遠隔地のビデオ会議ステーション２０６とを含む。図２は２つのビデオ会議ステーション２０２および２０４のみを示しているが、当業者は、さらに多くのビデオ会議ステーションがビデオ会議システム２００に連結されることが可能であることを理解するであろう。本発明のシステムおよび方法は、ビデオデータがネットワークにおいて送信される任意の通信システムにおいて利用することが可能であることに留意する必要がある。ネットワーク２０６は、ＰＯＴＳ、ケーブル、光ファイバおよび高周波媒体のようないずれかの種類の電子送信媒体とすることが可能であるが、これらに限定されるものではない。
【００１６】
図３は、代表的なビデオ会議ステーション３００のブロック図である。簡単化のために、遠隔のビデオ会議ステーション２０４（図２）は類似する構成を含むことが可能であるが、ビデオ会議ステーション３００は現地のビデオ会議ステーション２０２（図２）として説明することとする。一実施形態において、ビデオ会議ステーション３００は、表示装置３０２、ＣＰＵ３０４、記憶装置３０６、少なくとも１つのビデオ捕捉装置３０８、画像処理エンジン３１０および通信インタフェース３１２を含む。また、他の装置は、ビデオ会議ステーション３００において提供され、または、上記の名前を挙げた装置全部とは限らないが提供される。少なくとも１つのビデオ捕捉装置３０８は、電荷結合素子（ＣＣＤ）カメラ、相補形金属酸化膜半導体（ＣＭＯＳ）カメラまたはいずれかの他の種類の画像捕捉装置として実現されることが可能である。少なくとも１つのビデオ捕捉装置３０８は、ユーザ、会議室または他のシーンの画像を捕捉し、画像処理エンジン３１０に画像を送信する。一般に、画像処理エンジン３１０は、通信インタフェース３１２が遠隔のビデオ会議ステーション２０４にデータパケットを送信する前に、ビデオ画像を処理してデータパケットにする。画像処理エンジン３１０については、図４と関連させて、さらに詳細に説明する。逆に、画像処理エンジン３１０はまた、表示装置３０２における表示のためのビデオ信号に遠隔のビデオ会議ステーションから受信されたデータパケットを変換する。
【００１７】
図４は、図３の画像処理エンジン３１０の代表的な実施形態である。画像処理エンジン３１０は、符号化エンジン４０２、マクロブロックパケット化エンジン４０４、マクロブロックパケット化エンジン４０６および通信バッファ４０８を含む。初めに、ビデオ捕捉装置３０８（図３）からのビデオ信号は、各々のビデオのフレームを好適なフォーマットに変換し、ビデオ信号の各々のフレームをマクロブロックの集合に変換する符号化エンジン４０２に入る。マクロブロックは、ピクチャ要素（または画素という）に関連するクロミナンス成分と輝度から構成されるデータのブロックを含むデータ単位である。例えば、Ｈ．２６３において、マクロブロックは、輝度データの４つの８ｘ８ブロックと４：２：０クロマサンプリングフォーマットにおける対応するクロミナンスの２つの８ｘ８ブロックから成る。データの８ｘ８ブロックデータは、各々のデータはビデオフレームの画素に対応する８列ｘ８行のデータの行列である。４：２：０クロマフォーマット化マクロブロックは、ビデオフレームの１６画素ｘ１６画素区分をカバーするデータから構成される。しかしながら、本発明は従来定義されたようなマクロブロックに限定されるものではないが、輝度および／またはクロミナンスデータから構成されるいずれかのデータ単位に拡張することが可能である。さらに、本発明の範囲は、輝度データの４つの８ｘ８ブロックとクロミナンスデータの４つの対応する８ｘ８のブロックから構成される４：２：２クロマサンプリングフォーマット、または輝度データの８ｘ８ブロックとクロミナンスデータの８つの対応する８ｘ８ブロックから構成される４：４：４クロマサンプリングフォーマットのような他のサンプリングフォーマットをカバーする。
【００１８】
さらに、符号化エンジン４０２は、データコンテンツを表すために用いられるビット数を減少させるための各々のマクロブロックを符号化する。各々のマクロブロックは、“イントラ符号化”または“インターコード化”されることが可能であり、フレームは、イントラ符号化およびインターコード化マクロブロックのいずれかの組み合わせから構成される。インターコード化されたマクロブロックは、一時的な類似性（すなわち、１つのフレームからのマクロブロックと前の符号化フレームからの非常によい適合性をもつマクロブロックとの間に存在する類似性）を用いて符号化される。厳密にいうと、所定のインター符号化マクロブロックは、所定のマクロブロックと前のビデオフレームからの近い適合性をみるマクロブロックとの間の符号化された差から構成される。前の基準ビデオフレームからの近い適合をみるマクロブロックは、所定のマクロブロックと関連する画素からオフセットされる画素と関連するデータから構成されることが可能である。また、イントラ符号化マクロブロックは、ＪＰＥＧの静止画像符号化規格により採用されているものと同様の方法で、他のビデオフレームからの情報を用いることを伴わずに符号化される。
【００１９】
例えば、所定のマクロブロックがインター符号化マクロブロックとして符号化されることが可能であるかどうかを決定するために、符号化エンジン４０２は、例えば、マクロブロック内の同じ場所に位置する画素に対応するデータ間の平均絶対誤差または平均２乗誤差により差が理解されることが可能である前のビデオフレーム（オフセットマクロブロックと呼ばれる）からのマクロブロックのデータをもつ現時点のビデオフレームの所定のマクロブロックのデータの間の差を計算する。所定のマクロブロックのために、符号化エンジン４０２が、複数の空間的オフセットマクロブロックに対するエラーを計算する。符号化エンジン４０２が所定の異なる閾値より大きいエラーのみを見つける場合、所定のマクロブロックからのデータと前のフレー間からのデータとの間に著しい類似性は存在せず、マクロブロックはイントラ符号化される。しかしながら、１つのエラーが、所定のマクロブロックおよび前のフレームからの所定のオフセットマクロブロックのための所定の差の閾値より小さいことが見つけられた場合、所定のマクロブロックはインター符号化される。
【００２０】
所定のマクロブロックをインター符号化するために、符号化エンジン４０２は、所定の差のデータを与えるためにオフセットマクロブロックデータ（すなわち、所定のマクロブロックの画素に関連する輝度およびクロミナンスデータが全ての画素のためのオフセットマクロブロックの対応する画素に関連する輝度およびクロミナンスデータから減じられる）から所定のマクロブロックのデータが減じられ、離散コサイン変換および量子化法等のような標準的な符号化技術を用いて差データを符号化し、所定のマクロブロックからオフセットマクロブロックにオフセットベクトル（動きベクトルという）を決定し、動きベクトルを符号化する。
【００２１】
現在、Ｈ．２６１およびＨ．２６３のようなビデオ符号化規格は、インター符号化マクロブロックの動きベクトルが、符号化効率を改善するために差分符号化されることを指定する、しかしながら、所定のマクロブロックに関連する符号化された動きベクトルデータは一般に隣接するマクロブロックの動きベクトルデータと無関係でないため、差分符号化は、損失されまたは破損された動きベクトルデータがエラーを伴わないで復号化される隣接するマクロブロックに伝搬するように原因となる。それ故、所定のマクロブロックの動きベクトルデータの影響は、その所定のマクロブロックに空間的に局在されていない。しかしながら、各々のインター符号化マクロブロックの動きベクトルが非差分符号化される場合、動きベクトルデータの影響はその所定のマクロブロックに局在され、その結果、エラー回復力が著しく向上する。殆どの場合、差分技術から非差分技術への動きベクトル符号化方法における変化は、全体的な符号化効率においてもたらされる損失は小さい（一般に数％より小さい）。有利なことに、従来の方法と対照的に、各々のインター符号化マクロブロックに関連する動きベクトル成分は、本発明の一実施形態に従って、差分符号化されない。
【００２２】
本発明の他の実施形態において、符号化エンジン４０２は、“ウォークアラウンドリフレッシュ”機構を用いて、フレームのマクロブロックをイントラ符号化することが可能である。“ウォークアラウンドリフレッシュ”機構は、各々のフレームのマクロブロックの特定なパターンをイントラ符号化することにより、データドリフトと呼ばれる基準フレーム不適合を一掃するための決定論的機構である。符号化エンジン４０２は、現時点のフレームのインター符号化マクロブロックの復号化におけるオフセットマクロブロックとして基準フレームのマクロブロックを用いる。本発明の一実施形態において、“ウォークアラウンドリフレッシュ”機構は、所定の整数のウォークアラウンドインターバルの集合から選択された整数のウォークアラウンドインターバルｗを用いて、マクロブロックのパターンをイントラ符号化することを可能にする。例えば、ｗ＝４７の場合、符号化エンジン４０２は、ｗ番目毎のマクロブロックをイントラ符号化する。ウォークアラウンドインターバルは、ビデオデータ送信レートとエラーレートとに基づいて選択されることが可能である。“ウォークアラウンドリフレッシュ”イントラ符号化マクロブロックは、遠隔のビデオ会議ステーション２０４（図２）の符号化エンジンにより受信されるとき、これらの“ウォークアラウンドリフレッシュ”イントラ符号化マクロブロックは、ビデオデータ送信エラーにより破損されることがあり得る前のフレームから対応するマクロブロックを置き換える。ビデオデータ送信エラーにより破損され得るマクロブロックはどれでも、さらに伝搬し（および置き換えられずに）、遠隔のビデオ会議ステーション２０４の符号化エンジンが他の受信マクロブロックを復号化するために基準マクロブロックとしてその破損されたマクロブロックを用いるとき、データドリフトが拡大することがあり得る。それ故、“ウォークアラウンドリフレッシュ”イントラ符号化マクロブロックは、基準マクロブロックとして用いられる“リフレッシュ”イントラ符号化マクロブロックの集合を遠隔のビデオ会議ステーション２０４の符号化エンジンに提供し、これにより、データドリフトの伝搬を低減する。
【００２３】
さらに、符号化エンジン４０２は、符号化ビデオフレームにおけるどのマクロブロックがイントラ符号化されるかを識別するイントラマクロブロックマップを生成することが可能である。イントラマクロブロックマップが生成された後、画像プロセッシングエンジン３１０は遠隔のビデオ会議ステーション２０４にそのマップを送信する。そのマップは、例えば、符号化されたビデオフレームに関連するピクチャヘッダフィールドの一部として送信されることが可能であるが、他のフィールドは用いられることが可能である。
【００２４】
本発明に従って、符号化エンジン４０２は、２つの方法の１つにおいてイントラマクロブロックマップを生成することが可能である。本発明の一実施形態において、符号化エンジン４０２は、フレーム内のイントラ符号化マクロブロックの場所を示すためにランレングス符号化を用いる。ランレングス符号化は、連続する文字列のサイズを減少させる技術である。本発明の他の実施形態において、符号化エンジン４０２は、ビットマップにおける各々のビットがフレームの１つのマクロブロックに対応するビットマップを生成する。ビットの値は、対応するマクロブロックの符号化タイプを識別する。例えば、本発明の一実施形態において、“１”ビットは、対応するマクロブロックがイントラ符号化されることを意味する。本発明の他の実施形態において、“１”ビットは、対応するマクロブロックがインター符号化されることを意味する。イントラマクロブロックの生成するための他の方法を、本発明における使用のために検討することが可能である。
【００２５】
本発明の他の実施形態において、符号化エンジン４０２は、最少のビット数を生成するイントラマクロブロックマップ符号化方法を選択する。例えば、３５２ｘ２８８画素（すなわち、３５２画素の水平解像度、２８８画素の垂直解像度）ＦＤＩＦビデオフレームは、２２ｘ１８マクロブロックマトリクスとして構成される３９６個のマクロブロックから構成される。必要とされ得るビットのオーバーヘッドは何れも含むことなく、ビットマップ符号化方法は３９６ビット（各々のマクロビットに対して１ビット）を必要とする。それ故、３９６ビットは、ＦＣＩＦフレーム内のイントラ符号化マクロブロックの数から独立して、ビットマップ符号化イントラマクロブロックマップを送信するために用いられる。しかしながら、対照的に、ランレングス符号化イントラマクロブロックマップを送信するために用いられるビット数はＦＣＩＦフレーム内のイントラ符号化マクロブロックの数に依存する。ランレングス符号化イントラマクロブロックマップを送信するコストはイントラ符号化マクロブロック当たり８ビット（すなわち、ラン値当たり８ビット）であって、ラン値はＦＣＩＦフレーム内のイントラ符号化マクロブロックの場所を識別する。従って、ＦＣＩＦフレームがｎ個のイントラ符号化マクロブロックを含む場合、８ｎビットが、レンレングス符号化イントラマクロブロックマップを転送するために必要とされる。
【００２６】
このようにして、ＣＩＦフレームは５０未満（ｎ＜５０）のイントラ符号化マクロブロックを含む場合は、ソースコーディングエンジン４０２はランレングス符号化方法を選択し、そうでない場合は、ソースコーディングエンジン４０２はビットマップ符号化方法を選択する。イントラマクロブロックマップ符号化方法の選択は、ＦＣＩＦビデオフレームが代表的な例であるビデオフォーマットに依存する。
【００２７】
その後、符号化マクロブロックはマクロブロック再符号化エンジン４０４に転送される。マクロブロック再符号化エンジン４０４は符号化マクロブロックを再度順序付ける。具体的には、各々のマクロブロックは、複数のマクロブロック群識別子（ＭＢＧＩＤ）からＭＢＧＩＤを割り当てられる。代表的な実施形態において、マクロブロックは、行当たり１１個のマクロブロックをもつ９行を有するＱＣＩＦフォーマット化フレームに対して、図５に示した代表的なマクロブロック割り当てパターンに従ったナンバリングされた６つに対する１つである。最大のＭＢＧＩＤは最大群識別子（ＭＧＩＤ）と呼ばれる。図５の代表的な実施形態においては、ＭＧＩＤ＝６である。図５に示したように、ＭＢＧＩＤは、同じＭＢＧＩＤを割り当てられる隣接するマクロブロックを最少にするような方法で、割り当てられる。また、他の割り当てパターンが、隣接するマクロブロックにまたはいずれかの他の割り当て順序に、同じＭＢＧＩＤを割り当てることが可能である。
【００２８】
図６を参照して以下にさらに説明するように、マクロブロックの割り当ては、それによって隣接するマクロブロックが同じＭＢＧＩＤを割り当てられないが、損失データパケットがフレームに亘って空間的に分布されるため、フレームの１つの領域におけるエラーの密度を最小化し、有利である。損失パケットによるエラーはフレームの１つの領域に密度高くなる傾向にないため、損失マクロブロックに関連する損失データは、隣接するマクロブロックからのデータを用いてさらに正確に再構築することが可能である。換言すれば、データ損失はフレーム内に空間的に局在していない場合、隣接するマクロブロックからのデータの空間的補間と損なわれたマクロブロック動きベクトルの評価はさらに正確に決定される。
【００２９】
遠隔のビデオ会議ステーション２０４（図２）の画像処理エンジン３１０（図３）の符号化エンジン４０２は、ビデオ品質を改善するためにマクロブロックの並べ換えと共に種々のエラー隠蔽技術を用いることが可能である。例えば、本発明の一実施形態において、符号化エンジン４０２は、損失インター符号化マクロブロックに隣接するマクロブロックを復号化し、損失マクロブロックの動きベクトルを評価し、さらに、損失マクロブロックのデータを再構築するために評価された動きベクトルを用いる。本発明の他の実施形態において、符号化エンジン４０２は損失イントラ符号化マクロブロックに隣接するマクロブロックを復号化し、損失データを再構築するために復号化された隣接のデータを空間的に補間することが可能である。本発明の範囲は、損失または破損マクロブロックによるビデオ品質を改善するために、マクロブロックの並び換えと共に用いられる他のエラー隠蔽技術をカバーする。
【００３０】
異なる再順序付けパターンおよびＭＢＧＩＤを、本発明に従って利用することが可能である。本発明の一実施形態において、マクロブロック再順序付けエンジン４０４は、ビデオデータレートおよび／またはビデオフォーマットに基づいて、ＭＧＩＤを選択する。
【００３１】
図４を再び参照するに、一旦、マクロブロックがＭＢＧＩＤを割り当てられると、マクロブロックパケット化エンジン４０６は、それらのＭＢＧＩＤに従って、決定論的データパケットにそのマクロブロックを配置する。それ故、同じＭＢＧＩＤ（例えば、ＭＢＧＩＤ＝１）をもつマクロブロックは、共通の離散的データパケット（例えば、データパケット＝１）に配置される。図５の、本発明の代表的な実施形態を参照するに、パケット化エンジン４０６は、ＱＣＩＦフレーム当たり６つのデータパケットにマクロブロックを配置する。しかしながら、パケット化エンジンは、所定のＭＢＧＩＤをもつマクロブロックをトランスポートするために、所定のＭＢＧＩＤをもつ２つ以上のパケットを用いることが可能である。例えば、パケット化エンジン４０６は、ＭＢＧＩＤ＝１をもつマクロブロックの一部から構成される第１データパケット１とＭＢＧＩＤ＝１をもつマクロブロックの残りの部分から構成される第２データパケットとを生成することが可能である。この方法におけるパケットの分割は、ネットワーク２０６（図２）に関連する最大転送ユニットサイズ（ＭＩＵ）により一般に左右される。
【００３２】
その後、データパケットは、通信インタフェース３１２（図３）によりネットワーク２０６（図２）に亘る送信のための通信バッファ４０８に転送される。パケット損失に対する回復力をさらに促進するために、ピクチャヘッダがデータパケット内に送信されることが可能である。
【００３３】
対照的に、画像処理エンジン３１０はまた、遠隔の場所から受信されたビデオデータパケットを処理し、表示のためにビデオ信号を提供する。初めに、データパケットは通信インタフェース３１２（図３）により受信され、通信バッファ４０８に転送される。ビデオデータパケットは、次いで、マクロブロックをアンパックするマクロブロックパケット化エンジン４０６に送信される。次いで、マクロブロック並べ換えエンジン４０４は、それらのオリジナルの順序付けられたパターン（すなわち、代表的にはラスタ走査（図２）である、遠隔のビデオ会議ステーション２０４におけるマクロブロック並べ換えの前のパターン）にマクロブロックの順序を戻す。
【００３４】
その後、符号化エンジン４０２は復号化器として機能し、ビデオデータパケットがネットワーク２０６に亘る移行において失われたかどうかを決定する。図６は、ＭＢＧＩＤ＝５をもつマクロブロックについての符号化マクロブロックデータを含むデータパケットが失われたときの、図５のＱＣＩＦフレームマクロブロック再順序付けパターンを示す図である。損失マクロブロックは“ｘ”によりマーキングされている。損失マクロブロックは、本発明の一実施形態に従って、ＱＣＩＦフレームに亘って有利に空間的に分布され、それ故、空間的補間または動きベクトル評価および補償のような方法を用いる、正確で複雑度の小さエラー隠蔽技術を可能にすることに留意する必要がある。図６は、議論の都合上、１種類の損失データパケットを示しているが、本発明の範囲は、移行の間にデータパケットの数はどれでも破損または損失されたときのエラー隠蔽をカバーする。ここでは、同じ構成要素が、送信機能と受信機能の両方に対して用いられるように表されているが、それら構成要素は分離した受信装置および送信装置において具現化されることが可能であることに、さらに留意する必要がある。
【００３５】
再び図４を参照するに、各々の損失マクロブロックに対して、符号化エンジン４０２は、損失マクロブロックがイントラ符号化されたかインター符号化されたかのどちらであるかを決定する。例えば、符号化エンジン４０２は、損失マクロブロックがイントラ符号化されたかどうかを決定するためにイントラマクロブロックマップを調べることが可能である。上記のように、イントラマクロブロックマップは、ピクチャヘッダフィールドにまたはビデオストリームの外側に伝達される副情報として送信されることが可能であり、イントラ符号化マクロブロックを識別するビットマップとして構成されるランレングス符号化アルゴリズムまたはある他の効率的符号化方法を用いて、圧縮されることが可能である。
【００３６】
損失マクロブロックがイントラ符号化される場合、幾つかのエラー隠蔽技術を用いることが可能である。例えば、損失マクロブロックが、“ウォークアラウンドリフレッシュ”機構の一部としてイントラ符号化される場合、符号化エンジン４０２は、２つの“対応する”マクロブロックがそれぞれのフレームの同じ空間領域をカバーする、前のフレームからの“対応する”マクロブロックのコンテンツで損失マクロブロックを置き換える。本発明に従って、“ウォークアラウンドリフレッシュ”機構の処理レートはデータとエラーレートとの関数である。
【００３７】
また、損失イントラ符号化マクロブロックが、“ウォークアラウンドリフレッシュ”機構の一部として符号化されない場合、符号化エンジン４０２は、隣接するマクロブロックから損失マクロブロックのコンテンツを空間的に補間する。本発明の一実施形態においては、損失マクロブロックの各々の８ｘ８ブロックが、隣接するマクロブロックにある２つの最近接ブロックから空間的に補間去れる。図７は、隣接するマクロブロックにある画素に関連するデータを用いる代表的な補間スキームについて示している。図７は、損失マクロブロック７０５、左側の隣接するマクロブロック７１０、上側の隣接するマクロブロック７１５および右側のマクロブロック７２０を含む。例えば、失われた１６ｘ１６マクロブロック７０５の左上側ブロック７２５についてのデータを再構築（補間）するために、符号化エンジン４０２（図４）は、左側の隣接するマクロブロック７１０の右上側８ｘ８ブロック７３５からデータ７３０（ｘで示される）の最終列におけるデータと、上側の隣接するマクロブロック７１５の左下側８ｘ８ブロック７４５からデータ７４０（ｘで示される）の最終行におけるデータと、を補間する。
【００３８】
同様に、失われたマクロブロック７０５の右上側ブロック７５０についてのデータを再構築するために、符号化エンジン４０２は、右側の隣接するマクロブロック７２０の左上側８ｘ８ブロック７６０からデータ７５５の第１列におけるデータと、上側の隣接するマクロブロック７１５の右下側８ｘ８ブロック７７０からデータ７６５の最終行におけるデータと、を補間する。また、補間の他の方式を適用することが可能であり、隣接するマクロブロックの他のブロックを用いることが可能であり、それらは本発明の範囲内にある。
【００３９】
損失マクロブロックがインター符号化される場合、符号化エンジン４０２は、隣接するマクロブロックの動きベクトルを調べることにより損失マクロブロックの動きベクトルの評価を計算する。図８は、本発明の一実施形態に従って、損失マクロブロックｍの動きベクトルを評価するために用いられる隣接するマクロブロックのブロック図である。損失マクロブロックｍに対して、３つの隣接するマクロブロックａ、ｂおよびｃの動きベクトルの平均値が計算される。例えば、マクロブロックｍの評価された動きベクトルのｘ成分はＭＶｍｘ＝ｍｅｄｉａｎ（ＭＶａｘ，ＭＶｂｘ，ＭＶｃｘ）であり、マクロブロックｍの評価された動きベクトルのｙ成分はＭＶｍｙ＝ｍｅｄｉａｎ（ＭＶａｙ，ＭＶｂｙ，ＭＶｃｙ）であり、ここで、ＭＶａｘ，ＭＶｂｘ，ＭＶｃｘは、それぞれマクロブロックａ、ｂおよびｃの動きベクトルのｘ成分であり、ＭＶａｙ，ＭＶｂｙ，ＭＶｃｙは、それぞれマクロブロックａ、ｂおよびｃの動きベクトルのｙ成分である。本発明の図８における実施形態は、マクロブロックｍに対して評価される動きベクトルを計算するために、隣接するマクロブロックａ、ｂおよびｃからの動きベクトルを用いているが、損失マクロブロックの動きベクトルを評価するために、隣接するマクロブロックの数および組み合わせはいずれを用いても構わない。
【００４０】
一旦、損失マクロブロックの動きベクトルが評価されると、符号化エンジン４０２（図４）は、損失マクロブロックのデータコンテンツを再構築するために評価された動きベクトルを用いることにより、損失マクロブロックを補償する。所定フレームの全ての損失マクロブロックのデータコンテンツが再構築された後、符号化エンジン４０２は、表示装置３０２（図３）における表示のためにビデオ信号にマクロブロックを変換する。１つの損失データパケットのみを示しているが、本発明は、エラーを隠蔽するために複数の損失データパケットを用いることが可能である。
【００４１】
図９は、本発明の一実施形態に従った、パケット交換ネットワークに亘ってビデオデータを送信するときの、ビデオエラー隠蔽のための方法の段階についての代表的なフローチャート９００である。段階９０５において、ビデオ捕捉装置３０８（図３）はビデオ画像を捕捉し且つビデオ信号を生成する。次に、段階９１０において、符号化エンジン４０２（図４）（または、送信のためにデータを処理するときは復号器と呼ばれる）は、ビデオ信号を受信し且つビデオ信号を１つまたはそれ以上のイントラ符号化マクロブロックおよびインター符号化マクロブロックに変換する。ビデオフレームは、インター符号化マクロブロック、イントラ符号化マクロブロックまたはイントラ符号化マクロブロックとインター符号化マクロブロックのいずれかの組み合わせから構成されることが可能である。本発明の一実施形態において、“ウォークアラウンドリフレッシュ”機構は、所定のウォークアラウンドインターバルの集合から選択されたウォークアラウンドインターバルを用いて、マクロブロックのパターンをイントラ符号化することを可能にする。ウォークアラウンドインターバルは、ビデオデータおよびエラーレートに基づいて選択されることが可能である。さらに、符号化エンジン４０２は、各々の符号化マクロブロックのために非差分符号化動きベクトルを計算する。
【００４２】
次いで、段階９１５において、符号化エンジン４０２は、イントラ符号化マクロブロックの場所を識別するイントラマクロブロックマップを生成する。本発明の一実施形態において、そのイントラマクロブロックマップは、イントラマクロブロックマップを符号化するために必要な総ビット数に基づくランレングス符号化方法かまたはビットマップ符号化方法のどちらかを用いて符号化される。
【００４３】
次に、マクロブロック再順序付けエンジン４０４は、段階９２０において各々のマクロブロックにＭＢＧＩＤを割り当てる。例えば、マクロブロックは、図５に示すようなパターンにＭＢＧＩＤを割り当てられることが可能である。一実施形態において、マクロブロックは、同じＭＢＧＩＤを割り当てられる隣接するマクロブロックを最少化するように割り当てられる。また、隣接するマクロブロックに同じＭＢＧＩＤを割り当てる他の実施形態について検討することが可能である。
【００４４】
次いで、マクロブロックパケット化エンジン４０６（図４）は、段階９２５における、それらのＭＢＧＩＤにより、離散的なデータパケットを生成し且つ離散的なデータパケットにマクロブロックを配置する。例えば、同じＭＢＧＩＤをもつマクロブロックは、共通の離散データブロックに配置すられる。また、マクロブロックパケット化エンジン４０６は、回線交換ネットワークにおけるトランスポートについて特定のフォーマットにマクロブロックを配置するために、トランスポートエンジンであることが可能である。最終的に、段階９３０において、データパケットおよびピクチャヘッダ（イントラマクロブロックマップを含む）は、遠隔のビデオ会議ステーション２０４（図２）への送信のために通信バッファ４０８に送信される。
【００４５】
図１０は、本発明に従った、ビデオデータを受信するときの、ビデオエラー隠蔽のための方法の段階についての代表的なフローチャート１０００である。段階１００５において、通信バッファ４０８（図４）は、ネットワーク２０６（図２）により遠隔のビデオ会議ステーション２０４（図２）から送信されたデータパケットを受信する。その後、段階１０１０において、マクロブロックパケット化エンジン４０６（図４）は、じゅしんされたデータパケットをマクロブロックにデパケット化する。その後、段階１０１５において、マクロブロック再順序付けエンジン４０４（図４）は、ビデオフレームにおいて適切な空間配置にマクロブロックを配置する。
【００４６】
次に、符号化エンジン４０２（図４）は段階１０２０においてマクロブロックを復号化する。符号化エンジン４０２（復号化器として機能する）またはビデオデータパケット変換（例えば、ＲＴＰシーケンス番号）に関連するある他の機構は、ビデオフレームから構成されるいずれかのマクロブロックが段階１０２５において失われたかどうかを決定する。１つまたはそれ以上のビデオデータパケットが、ネットワーク２０６におけるビデオデータパケットの送信により損失または破損される場合、マクロブロックは失われる。段階１０２５において、マクロブロックが欠落していないことが決定される場合、次いで、段階１０３０において、マクロブロックは表示装置３０２（図３）により表示される。しかしながら、段階１０２５において、１つまたはそれ以上のマクロブロックが欠落する場合、その１つまたはそれ以上の欠落したマクロブロックに関連するデータは、段階１０３５において、マクロブロック符号化タイプに基づいて再構築される。符号化エンジン４０２は、各々の損失マクロブロックの符号化タイプを決定するために、イントラマクロブロックマップを用いることが可能である。
【００４７】
例えば、損失マクロブロックが“ウォークアラウンドリフレッシュ”機構の一部としてイントラ符号化される場合、符号化エンジン４０２は損失マクロブロックコンテンツを前のフレームからの対応するマクロブロックのデータコンテンツに置き換える。また、損失イントラ符号化マクロブロックが“ウォークアラウンドリフレッシュ”機構の一部として符号化されない場合、損失マクロブロックコンテンツは、最近接の隣接するマクロブロックから空間的に補間される。本発明の一実施形態において、符号化エンジン４０２は、隣接するマクロブロックからデータを補間するために２次元補間を用いる（図７）。
【００４８】
また、損失マクロブロックがインター符号化される場合、符号化エンジン４０２は、隣接するマクロブロックの動きベクトルを調べることにより損失マクロブロックの動きベクトルを評価する。本発明の一実施形態において、動きベクトルは、３つの隣接するマクロブロックの動きベクトルの中央値として計算される（図８）。次いで、符号化エンジン４０２は、損失マクロブロックデータコンテンツの評価を再構築することにより損失マクロブロックのデータコンテンツを補償するために、評価された動きベクトルを用いる。一旦、失われたマクロブロックのデータコンテンツが再構築されると、段階１０２５において、マクロブロックは表示創始３０２により表示される。
【００４９】
本発明について、代表的な実施形態を参照して説明した。本発明の主旨と範囲から逸脱することなく、種々の変更を実施することが可能であることは、当業者にははっきり理解されるであろう。さらに、本発明は特定の実施形態と特定のアプリケーションにおける実施についてのコンテキストにおいて説明したが、本発明の有用性はそれらに限定されるものではなく、且つ本発明はあらゆる環境および実施において優位性を有して用いられることができることを、当業者は理解されるであろう。従って、上記説明および図面は、限定の意味ではなく、例示であるとして認識されるべきものである。
【図面の簡単な説明】
【００５０】
【図１】先行技術に従った、種々のビデオフォーマットに対する解像度とビットレートの要求についての表である。
【図２】本発明に従った、代表的なビデオ会議システムを示すブロック図である。
【図３】図２のビデオ会議システムの代表的なビデオ会議ステーションのブロック図である。
【図４】図３の画像処理エンジンの代表的な実施形態を示すブロック図である。
【図５】ＱＣＩＦフォーマット化ビデオフレームのためのマクロブロック再順序付けパターンの代表的な図であって、各々の値が対応する空間の場所におけるマクロブロックに割り当てられるＭＢＧＩＤである、図である。
【図６】図５のＱＣＩＦフレームマクロブロック再順序付けパターンの代表的な図であって、ＭＢＧＩＤをもつマクロブロックのための符号化マクロブロックデータを含むデータパケットが失われた、図である。
【図７】本発明の一実施形態に従った、隣接するマクロブロックにある画素に関連するデータを用いる２次元補間スキームについてのブロック図である。
【図８】本発明に従った、損失マクロブロックｍの動きベクトルを評価するために用いられる隣接するマクロブロックの代表的なブロック図である。
【図９】本発明の一実施形態に従った、ビデオデータ処理の方法の段階についての代表的なフロー図である。
【図１０】本発明に従った、ビデオデータを受信するときのビデオエラー隠蔽のための方法の段階についての代表的なフロー図である。
【図１】
2005501488.tif 000003
【図２】
2005501488.tif 000004
【図３】
2005501488.tif 000005
【図４】
2005501488.tif 000006
【図９】
2005501488.tif 000007
【図１０】
2005501488.tif 000008
【国際公開パンフレット】
2005501488.tif 000009
2005501488.tif 000010
2005501488.tif 000011
2005501488.tif 000012
2005501488.tif 000013
2005501488.tif 000014
2005501488.tif 000015
2005501488.tif 000016
2005501488.tif 000017
2005501488.tif 000018
2005501488.tif 000019
2005501488.tif 000020
2005501488.tif 000021
2005501488.tif 000022
2005501488.tif 000023
2005501488.tif 000024
2005501488.tif 000025
2005501488.tif 000026
2005501488.tif 000027
2005501488.tif 000028
2005501488.tif 000029
2005501488.tif 000030
2005501488.tif 000031
2005501488.tif 000032
2005501488.tif 000033
2005501488.tif 000034
2005501488.tif 000035
2005501488.tif 000036
2005501488.tif 000037
2005501488.tif 000038
2005501488.tif 000039
2005501488.tif 000040
2005501488.tif 000041
2005501488.tif 000042
2005501488.tif 000043
2005501488.tif 000044
2005501488.tif 000045
2005501488.tif 000046
2005501488.tif 000047
【国際調査報告】
2005501488.tif 000048