(57)【要約】      （修正有）【課題】モスキートノイズを局所的に除去するようなＭＰＥＧアーチファクト低減手法を提供する。【解決手段】ピクセルブロックの境界を判断し、境界に囲まれた領域がモスキートノイズ又はブロック性に関連すると判断された場合、モスキートノイズ又はブロック性は、領域内のみでそれぞれ実行される。モスキートノイズ低減システムにおいて、ビデオ信号を受領するように準備されたインタフェースを含む。【選択図】図２
2008079281.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号のモスキートノイズを低減する方法であって、
画像に含まれるピクセルのブロックの境界を判断するステップと、
前記境界に囲まれた領域がモスキートノイズを有する場合、前記領域にモスキートノイズ低減動作を適用するステップと、を備える方法。
【請求項２】
境界を判断する前記ステップは、
合成検出カーネルを生成するステップと、
前記合成検出カーネルを前記ビデオ信号に適用するステップと、を備える、請求項１記載の方法。
【請求項３】
前記合成検出カーネルは、水平変分の計算と垂直変分の計算とを含む、請求項２記載の方法。
【請求項４】
更に、水平エッジＥＤにおけるモスキートノイズ低減を禁止するステップを備える、請求項３記載の方法。
【請求項５】
前記水平エッジにおけるモスキートノイズ低減を禁止する前記ステップは、
下付文字ｉが０から画像の幅までである次式
【数１】
2008079281.tif 000013
を使用して、前記水平エッジを検出するステップを備える、請求項４記載の方法。
【請求項６】
ＥＤがThresholdEdge値より大きい場合にはエッジが検出されてＥＤ＝１となり、そうでない場合にはエッジは検出されずＥＤ＝０となる、請求項５記載の方法。
【請求項７】
前記エッジが検出されてＥＤ＝１である時に、モスキートノイズ低減を禁止する、請求項６記載の方法。
【請求項８】
ビデオ信号のモスキートノイズを低減する装置であって、
ピクセルのブロックの境界を判断する手段と、
前記境界に囲まれた領域がモスキートノイズを有する場合、前記領域にモスキートノイズ低減動作を適用する手段と、を備える装置。
【請求項９】
前記境界の判断は、
合成検出カーネルを生成する手段と、
前記合成検出カーネルを前記ビデオ信号に適用する手段と、を備える、請求項８記載の装置。
【請求項１０】
前記合成検出カーネルは、水平変分の計算と垂直変分の計算とを含む、請求項９記載の方法。
【請求項１１】
ビデオ信号のモスキートノイズを低減するコンピュータプログラム製品であって、
ピクセルのブロックの境界を判断するコンピュータコードと、
前記境界に囲まれた領域がモスキートノイズを有する場合、前記領域にモスキートノイズ低減動作を適用するコンピュータコードと、
前記コンピュータコードを格納するコンピュータ読み取り可能な媒体と、を備えるコンピュータプログラム製品。
【請求項１２】
前記境界の判断は、
合成検出カーネルを生成するコンピュータコードと、
前記合成検出カーネルを前記ビデオ信号に適用するコンピュータコードと、を備える、請求項１１記載のコンピュータプログラム製品。
【請求項１３】
前記合成検出カーネルは、水平変分の計算と垂直変分の計算とを含む、請求項１２記載のコンピュータプログラム製品。
【請求項１４】
ビデオ信号のモスキートノイズを低減するシステムであって、
前記ビデオ信号を受領するように構成されたインタフェースと、
前記インタフェースに結合され、画像に含まれるピクセルのブロックの境界を判断する命令を実行し、前記境界に囲まれた領域がモスキートノイズを有する場合、前記領域にモスキートノイズ低減動作を適用する命令を実行するように構成されたプロセッサと、を備えるシステム。
【請求項１５】
前記プロセッサは、合成検出カーネルを生成し、前記合成検出カーネルを前記ビデオ信号に適用することで、前記境界を判断する、請求項１４記載のシステム。
【請求項１６】
前記合成検出カーネルは、水平変分の計算と垂直変分の計算とを含む、請求項１５記載のシステム。
【請求項１７】
前記プロセッサは、更に、水平エッジＥＤにおけるモスキートノイズ低減を禁止する命令を実行する、請求項１６記載のシステム。
【請求項１８】
前記水平エッジにおけるモスキートノイズ低減を禁止する命令は、
下付文字ｉが０から画像の幅までである次式
【数２】
2008079281.tif 000014
を使用して、前記水平エッジを検出するための命令を含む、請求項１７記載のシステム。
【請求項１９】
前記水平エッジを検出するための前記命令は、前記プロセッサにより実行された時、ＥＤがThresholdEdge値より大きい場合にはエッジが検出されて前記プロセッサがＥＤ＝１を設定すると判断し、そうでない場合にはエッジは検出されずに前記プロセッサがＥＤ＝０を設定すると判断する命令を含む、請求項１８記載のシステム。
【請求項２０】
前記プロセッサは、前記エッジが検出されてＥＤ＝１である時に、モスキートノイズ低減を禁止する、請求項１９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ及びグラフィックの画質の改善に関する。
【背景技術】
【０００２】
ＭＰＥＧ圧縮は、デジタルビデオ信号の送信及び格納用に広く使用されるアルゴリズムである。ビデオのＭＰＥＧエンコード及びデコードストリームは、ケーブルテレビ、衛星テレビ、デジタルビデオディスク（ＤＶＤ）を含む様々な用途で使用できる。
【０００３】
ビデオ信号のコンテンツは、一般に、プログレッシブビデオシーケンスのための画像フレームと、インタレースビデオシーケンスのための画像フィールドとの連続を備える。各フレーム／フィールドは、ピクセル（画素）で構成される長方形の空間的範囲で構成される。ビデオコンテンツがＭＰＥＧを使用してエンコードされる時、一般に、ビデオ信号の画像フレーム内のピクセルの８×８ウィンドウ（６４ピクセル）は、次のように処理される。最初に、離散コサイン変換（ＤＣＴ）がウィンドウに適用され、８×８ウィンドウの２Ｄ空間スペクトル表現が生成される。この２Ｄ空間スペクトルは、フーリエ領域における画像の表現であるため、フーリエ画像と呼ばれる場合が多い。フーリエ画像も、６４ピクセルを有する。フーリエ画像におけるピクセルの値は、ＤＣ成分及び様々な周波数又はＡＣ成分を表す。ＤＣ成分は、一般に、フーリエ画像の左上隅のピクセルに位置しいている。フーリエ画像の他の６３ピクセルは、ＡＣ成分を表す。フーリエ画像の生成後、フーリエ画像の全６４ピクセルが量子化されるように、ＭＰＥＧエンコーダ量子化が適用される。
【０００４】
ＭＰＥＧ−２規格は、フレーム内圧縮を提供する。ビデオシーケンスにおいて、隣接画像フレームは、一つ以上のグループオブピクチャ（「ＧＯＰ」）にグループ化される。ＧＯＰでは、一つの画像フレーム、即ちＩフレームは、空間的にエンコードされる。他のフレームについては、差がエンコードされる。差がエンコードされるフレームには、ＰフレームとＢフレームとの二種類がある。Ｐフレームでは、現行フレームと、移動ベクトルによって修正されたＩフレームとの間の差が、空間的にエンコードされる。Ｂフレームでは、現行フレームと、移動ベクトルによって修正されたＩフレーム及びＰフレーム又は二つのＰフレームの加重和との差が、空間的にエンコードされる。「移動ベクトルによって修正された」とは、現在エンコードされるＰ（又はＢ）フレームが、１６×１６ピクセルの正方形に分割され、各正方形について、基準フレームからの何らかの空間的オフセットを有して位置する、最良の一致となる正方形が検索されることを意味する。検索は、ある程度の局部的範囲において行われる。最良一致ブロックの空間的オフセット（垂直及び水平）は、ＭＰＥＧストリームにおいて維持され、移動ベクトルと呼ばれる。Ｐフレームの各１６×１６ブロックは、一つの移動ベクトルを有し、Ｂフレームは、二つの移動ベクトルを有する。インタレース信号のＭＰＥＧ圧縮は、フレームの代わりにフィールドを処理する。
【０００５】
ＭＰＥＧ及びＭＰＥＧ−２規格を使用して画像がデコードされる時、画像フレームは、フーリエ領域から再び空間領域に変換される。ＭＰＥＧ圧縮を使用した画像フレームのエンコード及びデコードにより、処理された画像フレームには、アーチファクトが発生する。ＭＰＥＧエンコード及びデコードにおいて使用された圧縮比、即ち、ビットレートは、アーチファクトのレベルと挙動とを定める。即ち、アーチファクトの視覚的に認知される影響は、ビットレートの関数となる。ＤＣＴプロセスにおいて、ビデオ信号は、ＤＣＴ変換基底のそれぞれに対応する成分の大きさ（係数）の配列に変換される。一般に、低周波数を表現する基底の成分は、図の上部に向かって位置決めされ、大きさが大きい。したがって、比較的大きな量の情報は、こうした成分に割り当てられ、比較的小さな量の情報は、高周波数成分に割り当てられる。これにより、全体として情報の少ないビデオ信号を使用して、元の信号シーケンスを表現することが可能となる。デコード側では、コーディング側から受領した係数加重変換基底の線形加算を行うことで、ビデオ信号を再構築する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
画像信号は水平及び垂直方向の両方に高い相互関係を有するため、水平８ピクセル及び垂直８ピクセルのブロックを使用して、これらの方向で二次元ＤＣＴを実行するのが一般的な方法である。ＤＣＴは、上記のように、特定の係数（低周波基底に対応する係数）に出力を集中させるという意味において最適に近い特性を示す。一方、ＤＣＴは、ブロック歪み及びモスキート歪みのような特徴による画像の劣化の原因にもなり得る。
【０００７】
２Ｍビット／秒より大きなビットレートでは、これ以上のビットレートで現れる主要なアーチファクトは、モスキートノイズとなる（図１Ａに例示）。モスキートノイズは、特に、近傍に高いエッジが存在する、或いはピクセル値の間に他の何らかの高遷移が存在する、ほぼ平坦な領域において、ピクセルのウィンドウ又はブロック内部に現れる高周波パターンである。この種の歪みは、ＤＣＴ係数の粗い量子化が引き起こすもので、結果として得られるブロックは、多くのゼロＤＣＴ係数により表される。僅かなＤＣＴ係数のみが、当初の複雑なブロック画像を表現する。ＤＣＴ係数が量子化されてゼロになる場合、アーチファクトなしで画像を再構築する逆ＤＣＴ（ＩＤＣＴ）の方法は存在しない。ＭＰＥＧ２アーチファクトは、処理の量子化において生成される。量子化中には、量子化マトリクスを、量子化処理の除算器として使用する。量子化マトリクスにおける対角線の要素は大きく、対角線のＤＣＴ係数は、粗く量子化される。こうした特徴の結果、モスキートノイズは、対角線のエッジ領域近くに現れる可能性が高い。モスキートノイズは、ウィンドウ内の領域において明確に視認できるデルタ・インパルスパターンと混合された小さな格子縞として現れる（図１Ｂ〜１Ｆ）。
【０００８】
モスキートノイズは、強いエッジが存在する状態で一般的に平滑な領域を含むブロックに現れる量子化ノイズの均一な空間分布のため、目に見えるようになる。モスキートノイズは、平滑領域で知覚的に視認される。純粋な垂直及び水平のブロック内でのリンギングは、モスキートノイズの一タイプである。ここで、モスキートノイズは、画像フレームの垂直及び水平エッジの近くに現れる。純粋な垂直又は水平エッジによって発生するモスキートノイズは、対角線構造によって発生するものより深刻ではないが、やはりエッジの垂直及び水平のリンギングとして視認される。現在のノイズ処理は、ビデオコンテンツをフィルタリングするために大域的に使用されることから、モスキートノイズを低減すると同時に、ビデオが平滑化されるのを防ぐ方法は存在しない（図１Ａにしました画像のモスキートノイズを大域的に低減した影響を示す図１Ｄに例示）。図示したように、白色のピクセルは、原画像と処理済み画像との差がゼロであることを示し、黒色のピクセルは、原画像と処理済み画像との差が存在することを示す。これにより、変化の少ない大きな範囲に対して、ユーザにとって視認性の高いノイズが生じる。
【０００９】
したがって、必要なものは、モスキートノイズを現行のように大域的に除去するのではなく、局所的に除去するようなＭＰＥＧアーチファクト低減手法である。
【課題を解決するための手段】
【００１０】
ビデオ信号のモスキートノイズを低減する方法について説明する。方法は、ピクセルのブロックの境界を判断するステップと、境界に囲まれた領域がモスキートノイズを有する場合、領域にモスキートノイズ低減動作を適用するステップとにより実行される。
【００１１】
別の実施形態では、ビデオ信号のモスキートノイズを低減する装置について説明する。装置は、ピクセルのブロックの境界を判断する手段と、境界に囲まれた領域がモスキートノイズを有する場合、領域にモスキートノイズ低減動作を適用する手段とを含む。
【００１２】
更に別の実施形態では、ビデオ信号のモスキートノイズを低減するコンピュータプログラム製品について説明する。コンピュータプログラム製品は、ピクセルのブロックの境界を判断するコンピュータコードと、境界に囲まれた領域がモスキートノイズを有する場合、領域にモスキートノイズ低減動作を適用するコンピュータコードと、コンピュータコードを格納するコンピュータ読み取り可能な媒体とを含む。
【００１３】
更に別の実施形態では、ビデオ信号のモスキートノイズを低減するシステムである。システムは、少なくとも、ビデオ信号を受領するように準備されたインタフェースと、
【００１４】
インタフェースに結合され、画像に含まれるピクセルのブロックの境界を判断して、境界に囲まれた領域がモスキートノイズを有する場合、領域にモスキートノイズ低減動作を適用する命令を実行するように準備されたプロセッサと、を含む。
【発明を実施するための最良の形態】
【００１５】
各図面において、同様の参照符号は同様の要素を示す。
【００１６】
本発明の実施形態は、ビデオ信号の画像フレームにおいて、画像フレーム内のアーチファクトを低減するためにピクセル値を修正する、コンピュータプログラム製品を含む方法、装置を提供する。一般に、本明細書で説明した方法及び装置は、一般には約２Ｍビット／秒より高い、中間及び高ビットレートが使用されるＭＰＥＧ圧縮に関連して実行される。こうした手法は、純粋な垂直及び水平ブロック内リンギングと平坦領域（ＤＣ）ブロックアーチファクトとを含むモスキートノイズを除去するのに特に最適である。
【００１７】
モスキートノイズを低減する基本動作は、低域通過フィルタリングである。この処理の欠点は、ノイズを減らすために、画像の細部もぼやけることにある。ビデオの高周波数コンテンツを平滑化することなくモスキートノイズを低減する方法は、ビデオ処理の課題である。モスキートノイズ低減フィルタを大域的に適用する従来のアプローチに反して、本発明は、モスキートノイズ低減フィルタ（ＭＮＳＲＦ）を適応的且つ局所的に使用して、モスキートノイズをフィルタリングする。ＭＰＥＧ２境界検出を使用して、モスキートノイズ低減が必要な領域を確定し、領域がモスキートノイズ領域として検出されている場合にのみモスキートノイズ低減処理が始動される（即ち、領域検出に基づくモスキートノイズ低減）。本発明は、ＭＰＥＧ２ブロック境界を検出する。検出された境界が、モスキートノイズを有する領域の境界を示す場合には、モスキートノイズ低減フィルタが、ブロック内の平坦領域に対して働く。クリーンなブロックの境界に対して、左、右、上、及び下、の四種類の状況が存在する。左領域では、第一のエッジが検出されるまでノイズ低減が実行され、その後停止される。右領域では、ブロックの最後のエッジに達した時にのみ、ノイズ低減が開始される（左から右へ走査）。上及び下の場合、エッジが存在する場所を除き、全てのピクセルが補正される。
【００１８】
モスキートノイズ低減モジュールは、ＭＰＥＧ２境界検出を使用して、モスキートノイズ成分を特定するために提供され、モスキートノイズ低減処理は、領域がモスキートノイズ領域として検出されている場合にのみ始動される。ノイズレベル又は明るさレベル比較ロジックは、ブロックの境界を判断するために使用されるものであり、幾つかのレジスタにより制御可能であるため、比較ロジックはプログラム可能となる。
【００１９】
図２は、本発明の一実施形態による適応的モスキートノイズ低減システム２００を示す。装置２００は、モスキートノイズ低減ブロック２０６のオン／オフを行うフラグ２０４を設定するモスキートノイズ領域検出器２０２を含む。動作中、ビデオ信号２０８は、モスキートノイズ領域検出器２０２とモスキートノイズ低減ブロック２０６との両方において受領される。ビデオ信号２０８の特定の領域にモスキートノイズ低減が必要であるとモスキートノイズ領域検出器２０２が判断した場合、その場合に限り、モスキートノイズ領域検出器２０２は、フラグ２０４を設定し、それ以外の場合、フラグ２０４は未設定のままとなる。フラグ２０４が設定された場合、モスキートノイズ低減ブロック２０６は、モスキートノイズを有すると特定されたビデオ領域にモスキートノイズフィルタを適用する。このようにして、モスキートノイズ低減は、モスキートノイズが存在する可能性の高い領域においてのみ、選択的に適用される。
【００２０】
図３は、適応的モスキートノイズ低減システム２００を使用したモスキートノイズの低減の一例を示す。先に図１Ａに示した従来の大域的モスキートノイズ低減プロトコルと比較して、全体的なモスキートノイズ低減における完全な低減に留意されたい。
【００２１】
事前に選択したモスキートノイズ低減プロトコルを局所的に適用するために、領域検出器は、最初に、オリジナルのＭＰＥＧブロックの予想位置を判断し、特定した後、ブロックがモスキートノイズを含むかを判断する。上記のように、モスキートノイズが生成されるにはＭＰＥＧブロックにエッジが存在する必要があるため、「汚れた」ブロックは、ガウスノイズをＭＰＥＧノイズと取り違えないように、エッジの存在によっても判定できる。以下の節では、領域と、領域を補正するべきか否かとを判断するのに必要な要素について説明する。以下の説明では、領域は８×８のピクセル列を含む。ノイズ含有領域（すなわち「汚れた」領域）は、大きな２Ｄ空間変動（図４の領域Ｎ）を示し、一方、平坦領域は、低空間変動領域（図４の領域Ｆとして図示）であり、インジケータは、汚れた領域を示すように（例えば、０又は１に）設定できる。
【００２２】
以下、モスキートノイズ処理ピクセルPi,jは、ｉ（列番号）及びｊ（行番号）におけるＹチャネルのグレーレベルであり、式１．１及び１．２は、水平及び垂直グレーレベルの二次微分の絶対値を定義する。
【数１】
2008079281.tif 000003
【００２３】
式（１．３）〜（１．８）は、「左水平帯状」変分を定義する。
【数２】
2008079281.tif 000004
【００２４】
式（１．９）〜（１．１１）は、「右垂直帯状」変分を定義する。
【数３】
2008079281.tif 000005
【００２５】
以下の全ての検索変分は、下で説明する領域検出における基本要素として使用される。
【数４】
2008079281.tif 000006
【００２６】
上記のように、モスキートノイズが生成されるにはＭＰＥＧブロックにエッジが存在する必要があるため、「汚れた」ブロック又は領域は、ガウスノイズをＭＰＥＧノイズと取り違えないように、エッジの存在によっても判定する必要がある。以下の節では、領域と、領域を補正するべきか（即ち、モスキートノイズを有するか）否かと、を判断するのに必要な要素について説明する。
【００２７】
図５〜７は、ＭＰＥＧブロックを発見し、モスキートノイズが存在するかを確定するのに使用される代表的な領域検出カーネルを例示する。図５は、ピクセルPijに対して上記で定義した検索変分｛Ａ，Ｂ，Ｃ，Ｄ｝の形状である領域検出において使用されるカーネル５００を例示する。図６及び７で確認されるように、モスキートノイズ領域（Ｎ）は領域検出カーネル５００により検出可能である。図６は、視覚的に、モスキートノイズが存在する場合、検索変分｛Ａ，Ｃ｝が「小さく」、検索変分｛Ｂ，Ｄ｝が「大きい」時にモスキートノイズが存在する場合を例示しており、一方、図７では、検索変分｛Ａ，Ｃ｝が「大きく」、検索変分｛Ｂ，Ｄ｝が「小さい」。
【００２８】
図８は、合成カーネル７００（図９に図示）を形成するために第一の検出カーネル５００と併せて使用される場合に、図１０に例示した状況で領域検出に使用される第二の検出カーネル６００を例示する。例えば、図１０において、第一の領域検出カーネル５００のみでは、「汚れた」モスキートノイズ（Ｎ）領域を検出できない。例えば、第一の検出カーネル５００では、「ケースＡ」及び「ケースＢ」の場合、モスキートノイズ領域Ｎの周囲に水平な境界が存在しないため、モスキートノイズを検出できない。こうした観測に基づくと、周囲に水平な境界が存在しないモスキート範囲に対して、垂直に基づく第二の領域検出カーネル６００が必要になる。
【００２９】
上記のように、モスキートノイズは特殊な遷移によって生じるため、モスキート領域内のどこかには、何らかの遷移が存在するはずである。したがって、二種類の遷移検出が存在する。一つは、左右領域に対するものであり、もう一つは、上下領域に対するものである。左右の遷移検出では、水平遷移の検出を重視する。水平遷移は、左又は右領域の８×８ピクセルマトリクスの四隅において検出される。遷移フラグは、遷移が検出された場合、１に設定される。上下の遷移では、垂直遷移の検出を重視する。垂直遷移は、８×８ピクセル領域において検出される。遷移フラグは、遷移が検出された場合、１に設定される。基本的には、モスキートノイズ領域は、図１１に例示したように、左領域、右領域、下領域、及び上領域として、図１２〜１５にも図示した四種類の領域に分類できる。
【００３０】
したがって、図１２は、モスキートノイズ領域Ｎが領域検出カーネル５００の左側にある代表的な左領域を示し、図１３は、モスキートノイズ領域Ｎが領域検出カーネル５００の右側にある代表的な右領域を示す。上及び下領域（それぞれ図１４及び１５）については、下領域は、領域検出カーネル６００の下方に位置し、上領域は、領域検出カーネル６００の上方に位置する。
【００３１】
更に詳しくは、左領域について、
Threshold_Low_Y<A<Threshold_High_Y
且つ
Threshold_Low_X<C<Threshold_High_X
且つ
B<Threshold_Min_Y
且つ
D<Threshold_Min_X                        (1.21)
であれば
【数５】
2008079281.tif 000007
となり、
右領域について、
((Threshold_Low_Y<B<Threshold_High_Y)
且つ
Threshold_Low_X<D<Threshold_High_X))
且つ
A<Threshold_Min_Y
且つ
C<Threshold_Min_X                        (1.23)
である場合、
【数６】
2008079281.tif 000008
となり、
下領域について、
((Threshold_Low_Y2<I<Threshold_High_Y2)
又は
(Threshold_Low_Y2<J<Threshold_High_Y2))
且つ
Threshold_Low_X2<F<Threshold_High_X2
且つ
E<Threshold_Min_X2                      (1.25)
である場合、
【数７】
2008079281.tif 000009
となり、
上領域について、
((Threshold_Low_Y2<I<Threshold_High_Y2)
又は
(Threshold_Low_Y2<J<Threshold_High_Y2))
且つ
Threshold_Low_X2<G<Threshold_High_X2
且つ
H<Threshold_Min_X2                       (1.27)
であれば、
【数８】
2008079281.tif 000010
となり、
ここで、Threshold_Low_Y、Threshold_High_Y、Threshold_Low_X、Threshold_High_X、Threshold_High_X、Threshold_Min_Y、及びThreshold_Min_Xは、所定の数である（代表値を図１８、表１に示す）。
【００３２】
合成領域検出カーネル７００に加え、モスキートノイズ低減処理を実施するモスキート領域を更に正確に判断するために、エッジ検出も必要となる。水平エッジ検出（ＥＤ）動作は、次のように定義される。
【数９】
2008079281.tif 000011
【００３３】
ここで、下付文字ｉは、０から画像の幅までとなる。
【００３４】
垂直エッジ検出については、次のようになり、
【数１０】
2008079281.tif 000012
【００３５】
更に、次の論理処理となる。
【００３６】
ＥＤ＞ThresholdEdgeである場合、ＥＤ＝１、そうでなければＥＤ＝０。
【００３７】
本発明の実施形態は、本明細書で開示した装置を含め、デジタル電子回路、或いはコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにおいて実現できる。本発明の装置の実施形態は、プログラム可能なプロセッサで実行するために機械読み取り可能なストレージデバイスで明白に具現化されたコンピュータプログラム製品において実現可能であり、本発明の方法ステップは、命令のプログラムを実行し、入力データを操作して出力を生成することで本発明の機能を実行する、プログラム可能なプロセッサにより実行できる。本発明の実施形態は、データストレージシステムと、少なくとも一つの入力デバイスと、少なくとも一つの出力デバイスとからデータ及び命令を受領し、これらに対してデータ及び命令を送信するように結合された、少なくとも一つのプログラム可能なプロセッサを含む、プログラム可能なシステム上で実行可能な、一つ以上のコンピュータプログラムにおいて実施し得るという利点を有する。各コンピュータプログラムは、高レベル手続き型又はオブジェクト指向プログラミング言語において、或いは、望ましい場合には、アセンブリ言語又は機械語において、実現可能であり、いずれの場合においても、言語は、コンパイラ型又はインタプリタ型言語にできる。
【００３８】
適切なプロセッサは、一例として、汎用及び特殊用途マイクロプロセッサの両方を含む。一般に、プロセッサは、読み出し専用メモリ及び／又はランダムアクセスメモリから命令及びデータを受領する。一般に、コンピュータは、データファイルを格納する一つ以上の大量記憶デバイスを含み、こうしたデバイスは、内蔵ハードディスク及びリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、光ディスクとを含む。コンピュータプログラムの命令及びデータを明白に具現化するのに適したストレージデバイスは、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスのような半導体メモリデバイスと、内蔵ハードディスク及びリムーバブルディスクのような磁気ディスクと、光磁気ディスクと、ＣＤ−ＲＯＭディスクとを含め、あらゆる形態の不揮発性メモリを含む。上記のものは何れもＡＳＩＣ（特定用途向け集積回路）により補足すること、或いは、これに組み込むことが可能である。
【００３９】
以上、本発明の多数の実施例について説明してきたが、本発明の趣旨及び範囲から逸脱することなく様々な変形を施し得ることは理解されよう。したがって、添付特許請求の範囲には他の実施形態が含まれる。
【図面の簡単な説明】
【００４０】
【図１Ａ】モスキートノイズの様々な例を示す図である。
【図１Ｂ】モスキートノイズの様々な例を示す図である。
【図１Ｃ】モスキートノイズの様々な例を示す図である。
【図１Ｄ】モスキートノイズの様々な例を示す図である。
【図１Ｅ】モスキートノイズの様々な例を示す図である。
【図１Ｆ】モスキートノイズの様々な例を示す図である。
【図１Ｇ】モスキートノイズの様々な例を示す図である。
【図１Ｈ】モスキートノイズの様々な例を示す図である。
【図２】ブロック境界を判断し、モスキートノイズ低減を適用する装置のブロック図である。
【図３Ａ】従来の大域的モスキートノイズ低減と、本発明の実施形態による局所的モスキートノイズ低減とのモスキートノイズ低減の比較を示す図である。
【図３Ｂ】従来の大域的モスキートノイズ低減と、本発明の実施形態による局所的モスキートノイズ低減とのモスキートノイズ低減の比較を示す図である。
【図４】ノイズ領域に一致する領域Ｎと、フラット領域又は非ノイズ領域に一致する領域Ｆとの比較を示す図である。
【図５】本発明の一実施形態による第一の検出カーネルを示す図である。
【図６】モスキートノイズを検出するのに使用されている第一の検出カーネルを示す図である。
【図７】モスキートノイズを検出するのに使用されている第一の検出カーネルを示す図である。
【図８】本発明の一実施形態による第二の検出カーネルを示す図である。
【図９】本発明の一実施形態による合成検出カーネルを示す図である。
【図１０】合成検出カーネルを使用するのに適したモスキートノイズを、第一の検出カーネルが完全に検出できない状況を示す図である。
【図１１】本発明の一実施形態による代表的な検出プロトコルを示す図である。
【図１２】本発明の一実施形態による左、右、上、及び下領域を示す図である。
【図１３】本発明の一実施形態による左、右、上、及び下領域を示す図である。
【図１４】本発明の一実施形態による左、右、上、及び下領域を示す図である。
【図１５】本発明の一実施形態による左、右、上、及び下領域を示す図である。
【図１６】本発明の一実施形態によるエッジ検出閾値の一覧を表す表１を示す図である。
【図１７】本発明の一実施形態によるエッジ検出プロトコルを示す図である。
【図１８】本発明の一実施形態による代表値を表す表２を示す図である。
【図１９】説明した実施形態において使用される変数の表を示す図である。
【図１Ａ】
2008079281.tif 000015
【図１Ｂ】
2008079281.tif 000016
【図１Ｃ】
2008079281.tif 000017
【図１Ｄ】
2008079281.tif 000018
【図１Ｅ】
2008079281.tif 000019
【図１Ｆ】
2008079281.tif 000020
【図１Ｇ】
2008079281.tif 000021
【図１Ｈ】
2008079281.tif 000022
【図２】
2008079281.tif 000023
【図３Ａ】
2008079281.tif 000024
【図３Ｂ】
2008079281.tif 000025
【図４】
2008079281.tif 000026
【図５】
2008079281.tif 000027
【図６】
2008079281.tif 000028
【図７】
2008079281.tif 000029
【図８】
2008079281.tif 000030
【図９】
2008079281.tif 000031
【図１０】
2008079281.tif 000032
【図１１】
2008079281.tif 000033
【図１２】
2008079281.tif 000034
【図１３】
2008079281.tif 000035
【図１４】
2008079281.tif 000036
【図１５】
2008079281.tif 000037
【図１６】
2008079281.tif 000038
【図１７】
2008079281.tif 000039
【図１８】
2008079281.tif 000040
【図１９】
2008079281.tif 000041
【外国語明細書】
1. TITLE OF THE INVENTION
ADAPTIVE REDUCTION OF LOCAL MPEG ARTIFACTS
2. DETAILED DESCRIPTION OF THE INVENTION
BACKGROUND
[0001]    This invention generally relates to improving video and graphics quality.
[0002]    MPEG compression is a widely used algorithm for digital video signal transmission and storage.  MPEG encoded and decoded streams of video can be used in various applications including cable television, satellite television, and digital video discs (DVD).
[0003]    The content of a video signal generally comprises a sequence of image frames for a progressive video sequence and image fields for an interlaced video sequence.  Each frame/field consists of a rectangular spatial area of pixels.  When video content is encoded using MPEG, generally an 8X8 window of pixels (64 pixels) in an image frame of the video signal is processed as follows.  First, a Discrete Cosine Transform (DCT) is applied to the window to generate a 2-D spatial spectrum representation of the 8X8 window.  This 2-D spatial spectrum is often referred to as a Fourier image, as it is a representation of the image in the Fourier domain.  The Fourier image also has 64 pixels.  The pixel values in the Fourier image represent a DC component and various frequencies or AC components.  The DC component is generally situated in a top left corner pixel of the Fourier image.  The other 63 pixels in the Fourier image represent the AC components.  After generating the Fourier image, an MPEG encoder quantization is applied so that all the 64 pixels in the Fourier image are quantized.
[0004]    The MPEG-2 standard provides for intraframe compression.  In a video sequence, neighboring image frames are grouped into one or more Groups of Pictures ("GOP").  In a GOP, one image frame is encoded spatially, namely the I-frame.  For other frames, differences are encoded.  There are two types of frames where differences are encoded:  P-frame and B-frame.  For a P-frame, the difference between a current frame and a modified by motion vectors I-frame is spatially encoded.  For a B-frame, the difference between a current frame and a weighting sum of a modified by motion vectors I-frame and P-frame or two P-frames is spatially encoded.  "Modified by motion vectors" means that the currently encoded P- (or B-) frame is split by 16x16 pixel squares, and for each square the best matched square located with some spatial offset from the reference frame is searched. The searching happens in some local area. The spatial offset (vertical and horizontal) for the best matching block is kept in the MPEG stream and called the motion vector. Each 16x16 block of P-frame has one motion vector, and the B-frame has two motion vectors.  MPEG compression for an interlaced signal processes fields instead of frames.
[0005]    When an image is decoded using MPEG and MPEG-2 standards, the image frame is converted back from the Fourier domain to the spatial domain.  The encoding and decoding of image frames using MPEG compression causes artifacts to appear in a processed image frame.  The compression ratio, i.e. bit rate used in the MPEG encoding and decoding defines the level and behavior of the artifacts.  That is, the visually perceived effect of the artifacts is a function of the bit rate.  In DCT process, the video signal is transformed into an array of component magnitudes (coefficients) corresponding to each of the DCT transform bases. In general, the components for the bases expressing low frequency, which are positioned towards the top of the figure, have large magnitudes. A relatively large amount of information is therefore allocated to these components while a relatively small amount of information is allocated to high-frequency components. This makes it possible to represent a video signal with less information overall than is used to represent the original signal sequence. On the decoding side, the video signal is reconstructed by performing a linear summation of the coefficient-weighted transform bases received from the coding side.
[0006]    Because a picture signal has high correlation in both the horizontal and vertical directions, it is common practice to perform a two-dimensional DCT in these directions using a 8-pel-horizontal by 8-pel-vertical block. The DCT exhibits nearly optimal characteristics in the sense that it concentrates power in certain coefficients (coefficients corresponding to low-frequency bases), as described above. On the other hand, DCT can also be a cause of picture degradation due to features like block distortion and mosquito noise.
[0007]    For bit rates greater than 2 Mbits/sec, the main artifact appearing at these and higher bit rates is mosquito noise (as illustrated in Fig. 1A).  Mosquito noise is a high frequency pattern that appears inside a window or block of pixels particularly in a more or less flat area in the presence of a high edge in a neighborhood or any other high transition between pixel values. This kind of distortion is brought about by a coarse quantization of DCT coefficients so that the resulting block is represented by many zero DCT coefficients. Only a few DCT coefficients represent an originally complex block image. If the DCT coefficients are quantized to be zero, there is no way for inverse DCT (IDCT) to reconstruct the images without artifacts. MPEG2 artifacts are generated at the processing quantization. During quantization, a quantization-matrix is used as divider in quantization processing.  Element of diagonal in quantization-matrix is bigger so that diagonal DCT coefficient is coarsely quantized. As result of these features, mosquito noise most likely appears near diagonal edge areas.  The mosquito noise appears as a small checkerboard mixed with delta-impulse pattern that is clearly visible in areas within the window (see Figs. 1B thru 1F).
[0008]    Mosquito noise becomes visible due to the uniform spatial distribution of quantization noise appearing in blocks which contain generally smooth areas in the presence of strong edges.  The mosquito noise is perceptually visible in the smooth areas.  Pure vertical and horizontal intrablock ringing is one type of the mosquito noise.  Here, mosquito noise appears close to vertical and horizontal edges in the image frame.  The mosquito noise caused by pure vertical or horizontal edges is less severe than that caused by diagonal structures, but is still visible as vertical and horizontal ringing of the edges. Since current noise processing is globally used to filter the video content, there is no way to reduce mosquito noise and keep the video from not being smoothed simultaneously (as illustrated in Fig. 1D that shows the impact of globally reducing mosquito noise of the image shown in Fig. 1A).  As shown, the white pixels indicate that the difference of original and processed image is zero and dark pixels indicate that there is difference of original and processed images.  Noise it makes for a larger area of small variation which is more visible to the user.
[0009]    Therefore, what is needed is a technique for reducing MPEG artifacts such as locally removing mosquito noise instead of globally removing it as is currently.
SUMMARY OF THE INVENTION
[0010]    A method of reducing mosquito noise of a video signal is described.  The method is performed by determining a border of a block of pixels and if a region surrounded by the border has mosquito noise, then applying a mosquito noise reduction operation on the region.
[0011]    In another embodiment, an apparatus for reducing mosquito noise of a video signal, is described.  The apparatus includes means for determining a border of a block of pixels, and means for applying a mosquito noise reduction operation on the region if a region surrounded by the border has mosquito noise.
[0012]    In still another embodiment, computer program product for reducing mosquito noise of a video signal is described.  The computer program product includes computer code for determining a border of a block of pixels, computer code for applying a mosquito noise reduction operation on the region if a region surrounded by the border has mosquito noise, and computer readable medium for storing the computer code.
[0013]    In yet another embodiment, a system for reducing mosquito noise of a video signal.  The system includes at least an interface arranged to receive the video signal, and
[0014]    a processor coupled to the interface arranged to execute instructions to determine a border of a block of pixels included in an image, and apply a mosquito noise reduction operation on the region if a region surrounded by the border has mosquito noise.
[0015]    Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
[0016]    Embodiments of the present invention provide methods, apparatus, including computer program products, for modifying pixel values in an image frame of a video signal to reduce artifacts in the image frame.  The methods and apparatus described herein are generally performed in the context of MPEG compression in which intermediate and high bit rates are used, generally above 2 Mbits/sec.  These techniques are particularly well suited for removing mosquito noise, including pure vertical and horizontal intrablock ringing, and flat area (DC) blocking artifacts.
[0017]    The basic operation of reducing mosquito noise is low pass filtering.  The drawback of this processing is that in order to reduce the noise the image details are also blurred.  How to reduce mosquito noise without smoothing the video high frequency content is a challenge for video processing.  Contrary to conventional approaches to applying the mosquito noise reducing filter globally, the invention uses the mosquito noise reducing filter (MNSRF) adaptively and locally to filter the mosquito noise.  MPEG2 border detection is used to ascertain those regions requiring mosquito noise reduction where mosquito noise reduction processing is triggered only if the region is being detected as a mosquito noise region (i.e., region detection based mosquito noise reduction). The invention detects MPEG2 block borders.  If the detected borders bound a region with mosquito noise, then a mosquito noise reducing filter operates on the flat region in the block.  There are four situations, left, right, top, and bottom relative to the border with a clean block.  For left regions noise reduction is performed until the first edge is detected, and stops after that.  For right regions, noise reduction is only started once the last edge in the block is reached (scanning from left to right).  For top and bottom situations, all pixels except where an edge exists are corrected.
[0018]    A mosquito noise reduction module is provided to identify the mosquito noise component using MPEG2 border detection where mosquito noise reduction processing is triggered only if the region is being detected as a mosquito noise region. Noise level or brightness level comparison logic is used to determine the border of block which is controlled by several registers so the comparison logic are programmable.
[0019]    Fig. 2 shows an adaptive mosquito noise reduction system 200 in accordance with an embodiment of the invention.  The apparatus 200 includes a mosquito noise region detector 202 that sets a flag 204 to turn on/off of mosquito noise reduction block 206.  During operation, a video signal 208 is received at both the mosquito noise region detector 202 and the mosquito noise reduction block 206.  If, and only if, the mosquito noise region detector 202 determines that a particular region of the video signal 208 requires mosquito noise reduction, the mosquito noise region detector 202 sets the flag 204, otherwise the flag 204 remains unset.  When the flag 204 is set, then the mosquito noise reduction block 206 applies the mosquito noise filter to the video region identified as having mosquito noise.  In this way, mosquito noise reduction is selectively applied only in areas where mosquito noise is likely to reside.
[0020]    Fig. 3 shows an exemplary reduction of mosquito noise using the adaptive mosquito noise reduction system 200.  One should note the stark reduction in overall mosquito noise reduction when compared with conventional global mosquito noise reduction protocols shown earlier in Fig. 1A.
[0021]    In order to locally apply a pre-selected mosquito noise reduction protocol, a region detector first determines a probable location of the original MPEG blocks and, once located, determine if the block contains mosquito noise or not. As previously mentioned, an edge must exist in the MPEG block for mosquito noise to be generated, therefore a "dirty" block must also be qualified by the existence of an edge, so as to not mistake Gaussian noise as MPEG noise. The sections below describe the elements needed to determine a region, and whether it should be corrected or not.  In the following discussion, a region includes an array of 8 x 8 pixels.  A noisy (or "dirty") region shows a large 2D spatial fluctuation (region N of Fig. 4) whereas a flat region is a low spatial fluctuation region (shown as region F of Fig. 4) and an indicator can be set (to 0 or 1, for example) to indicate a dirty region.
[0022]    Hereinafter, mosquito noise processing pixel Pi, j is Y-channel grey level at i (column number) and j (row number), and Eq 1.1 and 1.2 define the absolute of 2nd order differential of horizontal and vertical grey level.
2008079281.tif 000042
[0023]    Equation (1.3)…… (1.8) define 'left horizontal strip' variations.
2008079281.tif 000043
[0024]    Equation (1.9) …… (1.11) define 'right vertical strip' variations.
2008079281.tif 000044
[0025]    All the following search variations are used as basic elements in region detection that will be described below. 
2008079281.tif 000045
[0026]    As previously mentioned, an edge must exist in the MPEG block for mosquito noise to be generated, therefore a "dirty" block or region (i.e., one with mosquito noise) must also be qualified by the existence of an edge, so as to not mistake Gaussian noise as MPEG noise. The sections below and the corresponding figures describe the elements needed to determine a region, and whether it should be corrected or not (i.e., have mosquito noise).
[0027]    Figs 5 - 7 illustrate representative region detection kernels used to locate MPEG blocks and ascertain if mosquito noise is present.  Fig. 5 illustrates a kernel 500 used in region detection formed of search variations {A, B, C, D} defined above with respect to pixel Pij.  As seen in Figs. 6 and 7, a mosquito noise region (N) which can be detected by the region detection kernel 500. Visually, Fig. 6 illustrates that in the case of mosquito noise is present when search variations {A, C} are 'small' whereas search variations {B, D} are 'large' whereas in Fig. 7, search variations {A, C} are 'large' and search variations {B, D} are 'small'.
[0028]    Fig. 8 illustrates a second detection kernel 600 that when used in conjunction with the first detection kernel 500 to form a composite kernel 700 (shown in Fig.9) is used in region detection in those situations illustrated in Fig. 10.  For example, in Fig. 10 the first region detection kernel 500 alone cannot detect the 'dirty' mosquito noise (N) regions.  For example, the first detection kernel 500 has failed in "Case A" and "Case B" to detect mosquito noise since there are no horizontal borders around the mosquito noise regions N. Based on these observations, the vertical based second region detection kernel 600 becomes necessary for the mosquito areas in which there are no horizontal borders around them.
[0029]    As previously discussed, since mosquito noise is caused by special transition there should be some transition somewhere in a mosquito region. Accordingly, there are two types of transition detection. One is for left and right region and another one is for top/bottom region. Left and right transition detection is more emphasis for horizontal transition detection. Horizontal transition is detected at for 4 corners of 8x8 pixels matrix of left or right regions. A transition flag will be set to 1, if there is transition is detected. Top/bottom transition is more emphasis for vertical transition detection. Vertical transition is detected at 8x8 pixels region. The transition flag will be set to 1, if there is transition is detected.  Basically, mosquito noise regions can be classified as four different regions as illustrated in Fig. 11 as left region, right region, bottom region and top region and also shown in FIGs. 12 thru 15.
[0030]    Accordingly, Fig. 12 shows a representative left region where a mosquito noise region N is on the left of the region detect kernel 500 whereas Fig. 13 shows a representative right region where a mosquito noise region N is on the right of the region detect kernel 500.  For top and bottom regions, (Figs. 14 and 15, respectively) the bottom region is located under the region detection kernel 600 and the top region is above the region detection kernel 600.
[0031]    More specifically, for a left region:  
Threshold_Low_Y  ＜   A  ＜  Threshold_High_Y
And
Threshold_Low_X  ＜   C  ＜  Threshold_High_X
And
B  ＜  Threshold_Min_Y
And
D  ＜  Threshold_Min_X      (1.21)
Then
2008079281.tif 000046
For a right region, if  
((Threshold_Low_Y  ＜   B  ＜  Threshold_High_Y)
And
Threshold_Low_X  ＜   D  ＜  Threshold_High_X))
And
A  ＜  Threshold_Min_Y
And
C  ＜  Threshold_Min_X      (1.23)
Then
2008079281.tif 000047
For a bottom region, if  
((  Threshold_Low_Y2 ＜  I  ＜  Threshold_High_Y2 )
Or
(Threshold_Low_Y2 ＜  J  ＜  Threshold_High_Y2 ))
And
Threshold_Low_X2  ＜  F  ＜  Threshold_High_X2  
And
E  ＜  Threshold_Min_X2      (1.25)
Then
2008079281.tif 000048
For top region detection, if 
((  Threshold_Low_Y2 ＜  I  ＜  Threshold_High_Y2 )
Or
(  Threshold_Low_Y2 ＜  J  ＜  Threshold_High_Y2 ))
And
Threshold_Low_X2  ＜  G  ＜  Threshold_High_X2  
And
H   ＜   Threshold_Min_X2      (1.27)
Then
2008079281.tif 000049
where, Threshold_Low_Y, Threshold_High_Y, Threshold_Low_X, Threshold_High_X, Threshold_High_X, Threshold_Min_Y and Threshold_Min_X are pre-determined numbers (representative values of which are shown in Fig. 18 in Table 1).
[0032]    In addition to the composite region detection kernel 700, edge detection is also required in order to more accurately determine the mosquito region to which mosquito noise reduction processing will be implemented. Horizontal edge detection (ED) operation is defined as the following:
2008079281.tif 000050
[0033]    where, sub-index i runs from 0 to width of image.
[0034]    and for vertical edge detection,
2008079281.tif 000051
[0035]    And also, a logical processing,
[0036]    If ED  ＞  ThresholdEdge then ED=1 else ED=0.
[0037]    Embodiments of the invention, including the apparatus disclosed herein, can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus embodiments of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output.  Embodiments of the invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.
[0038]    Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
[0039]    A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.  Accordingly, other embodiments are within the scope of the following claims
3. BRIEF DESCRIPTION OF THE DRAWINGS
[0040]    
Figs. 1A - 1H illustrate various examples of mosquito noise.
Fig. 2 shows a block diagram of an apparatus for reducing detecting block borders and applying mosquito noise reduction.
Figs. 3A and 3B illustrate a comparison of mosquito noise reduction of conventional global mosquito noise reduction and local mosquito noise reduction in accordance with an embodiment of the invention.
Fig. 4 shows a comparison of a region N consistent with a noisy region and a region F consistent with a flat, or non noisy region.
Fig. 5 shows a first detection kernel in accordance with an embodiment of the invention.
Figs. 6 and 7 show the first detection kernel being used to detect mosquito noise.
Fig. 8 shows a second detection kernel in accordance with an embodiment of the invention.
Fig. 9 shows a composite detection kernel in accordance with an embodiment of the invention.
Fig. 10 illustrates a situation where the first detection kernel can not fully detect mosquito noise that is suitable for using the composite detection kernel.
Fig. 11 shows a representative detection protocol in accordance with an embodiment of the invention.
Figs. 12 - 15 show left, right, top, and bottom regions in accordance with an embodiment of the invention.
Fig. 16 shows a Table 1 delineating a list of edge detection threshold values in accordance with an embodiment of the invention.
Fig. 17 shows an edge detection protocol in accordance with an embodiment of the invention.
Fig. 18 shows a Table 2 illustrating representative values in accordance with an embodiment of the invention.
Fig. 19 shows a table of variables used in the described embodiment.
1.  A method of reducing mosquito noise of a video signal, the method comprising:
determining a border of a block of pixels included in an image; and
if a region surrounded by the border has mosquito noise, then
applying a mosquito noise reduction operation on the region.
2.  A method as recited in claim 1, wherein the determining a border comprises:
generating a composite detection kernel; and
applying the composite detection kernel to the video signal.
3.  A method as recited in claim 2, wherein the composite detection kernel includes horizontal variation calculations and vertical variation calculations.
4.  A method as recited in claim 3 further comprising:
inhibiting mosquito noise reduction at a horizontal edge ED.
5.  A method as recited in claim 4, wherein the inhibiting mosquito noise reduction at the horizontal edge comprises:
detecting the horizontal edge using
2008079281.tif 000052
where sub-index i runs from 0 to width of the image.
6.  A method as recited in claim 5, if ED is greater than a ThresholdEdge value, then an edge is detected and ED=1, else no edge is detected and ED=0.
7.  A method as recited in claim 6, inhibiting mosquito noise reduction when the edge is detected and ED = 1.
8.  An apparatus for reducing mosquito noise of a video signal, the method comprising:
means for determining a border of a block of pixels; and
means for applying a mosquito noise reduction operation on the region if a region surrounded by the border has mosquito noise.
9.  An apparatus as recited in claim 8, wherein the determining a border comprises:
means for generating a composite detection kernel; and
means for applying the composite detection kernel to the video signal.
10.  An apparatus as recited in claim 9, wherein the composite detection kernel includes horizontal variation calculations and vertical variation calculations.
11.  Computer program product for reducing mosquito noise of a video signal, the method comprising:
computer code for determining a border of a block of pixels; 
computer code for applying a mosquito noise reduction operation on the region if a region surrounded by the border has mosquito noise; and 
computer readable medium for storing the computer code.
12.  Computer program product as recited in claim 11, wherein the determining a border comprises:
computer code for generating a composite detection kernel; and
computer code for applying the composite detection kernel to the video signal.
13.  Computer program product as recited in claim 12, wherein the composite detection kernel includes horizontal variation calculations and vertical variation calculations.
14.  A system for reducing mosquito noise of a video signal, comprising:
an interface arranged to receive the video signal; and
a processor coupled to the interface arranged to execute instructions to determine a border of a block of pixels included in an image, and apply a mosquito noise reduction operation on the region if a region surrounded by the border has mosquito noise.
15.  A system as recited in claim 14, wherein the processor determines the border by generating a composite detection kernel, and applying the composite detection kernel to the video signal.
16.  A system as recited in claim 15, wherein the composite detection kernel includes horizontal variation calculations and vertical variation calculations.
17.  A system as recited in claim 16 wherein the processor also executes instructions to inhibit mosquito noise reduction at a horizontal edge ED.
18.  A system as recited in claim 17, wherein instructions for inhibiting mosquito noise reduction at the horizontal edge comprises:
instructions for detecting the horizontal edge using
2008079281.tif 000053
where sub-index i runs from 0 to width of the image.
19.  A system as recited in claim 18, wherein the instruction for detecting the horizontal edge includes instructions that when executed by the processor determine that if ED is greater than a ThresholdEdge value, then an edge is detected and the processor sets ED=1, else no edge is detected and the processor sets ED=0.
20.  A system as recited in claim 19, wherein the processor inhibits mosquito noise reduction when the edge is detected and ED = 1.
1. ABSTRACT
Disclosed herein are methods and apparatus, including computer program products, implementing and using techniques for reducing mosquito noise and blockiness in an image frame of a video signal.  A border of a pixel block is determined, and if the region surrounded by the border is determined to be associated with mosquito noise or blockiness, then the mosquito noise or blockiness, respectively, is reduced in the region only.
2. REPRESENTATIVE DRAWING
Fig. 2
2008079281.tif 000054
2008079281.tif 000055
2008079281.tif 000056
2008079281.tif 000057
2008079281.tif 000058
2008079281.tif 000059
2008079281.tif 000060
2008079281.tif 000061
2008079281.tif 000062
2008079281.tif 000063
2008079281.tif 000064
2008079281.tif 000065
2008079281.tif 000066
2008079281.tif 000067
2008079281.tif 000068
2008079281.tif 000069
2008079281.tif 000070
2008079281.tif 000071
2008079281.tif 000072
2008079281.tif 000073
2008079281.tif 000074
2008079281.tif 000075
2008079281.tif 000076
2008079281.tif 000077
2008079281.tif 000078
2008079281.tif 000079
2008079281.tif 000080