(57)【特許請求の範囲】
【請求項１】
符号化中におけるリアルタイムビデオノイズ除去方法であって、
画像の現在のフレームと、前記現在のフレームにおけるフラットエリアとを取得するステップと、
前記フラットエリアに対してノイズ除去処理を実行するステップと、
前記現在のフレームがPフレームであるか否かを判定し、前記現在のフレームが前記Pフレームである場合、前記現在のフレームのサブマクロブロックを読み取り、それ以外の場合、手順を終了させるステップと、
前記サブマクロブロックが、インターサブマクロブロックであるか否かを判定し、前記サブマクロブロックが、前記インターサブマクロブロックである場合、前記サブマクロブロックの残余係数に対して整数離散コサイン変換を実行し、前記サブマクロブロックの非ダイレクトな現在の成分係数を取得し、
前記サブマクロブロックの前記非ダイレクトな現在の成分係数の絶対値が、前記サブマクロブロックの前記非ダイレクトな現在の成分係数のオフセットよりも大きい場合、前記非ダイレクトな現在の成分係数のオリジナルのサインビットを確保し、前記非ダイレクトな現在の成分係数の前記絶対値を減少させ、または、
前記サブマクロブロックの前記非ダイレクトな現在の成分係数の前記絶対値が、前記サブマクロブロックの前記非ダイレクトな現在の成分係数のオフセットよりも小さいのであれば、前記非ダイレクトな現在の成分係数の値を0へ設定し、さらに、前記サブマクロブロックが、前記現在のフレームの最後のインターサブマクロブロックであるか否かを判定し、前記サブマクロブロックが、前記現在のフレームの前記最後のインターサブマクロブロックである場合、前記手順を終了させ、それ以外の場合、
次のサブマクロブロックを読み取り、さらに、前記次のサブマクロブロックがインターサブマクロブロックであるか否かを判定するステップと、
前記サブマクロブロックの前記非ダイレクトな現在の成分係数の前記絶対値が、前記サブマクロブロックの前記非ダイレクトな現在の成分係数の前記オフセットよりも大きい場合、前記非ダイレクトな現在の成分係数の前記オリジナルのサインビットを確保し、前記非ダイレクトな現在の成分係数の前記絶対値を減少させるステップは、
前記サブマクロブロックの前記非ダイレクトな現在の成分係数の前記絶対値が、前記サブマクロブロックの前記非ダイレクトな現在の成分係数の前記オフセットよりも大きく、前記非ダイレクトな現在の成分係数の前記値が0よりも大きい場合、前記非ダイレクトな現在の成分係数から前記オフセットを減算し、または、
前記非ダイレクトな現在の成分係数の前記値が、0よりも小さい場合、前記非ダイレクトな現在の成分係数へ前記オフセットを追加するステップとを備える、方法。
【請求項２】
前記現在のフレームにおける前記フラットエリアを取得するステップは、
前記現在のフレームにおける現在の画素と、前記現在の画素を備える選択されたエリアとを取得するステップと、
前記エリアにおける残りの画素の画素値と、前記現在の画素の画素値との差の絶対値が、指定されたしきい値よりも小さいか否かを判定するステップと、
前記差の前記絶対値が、前記指定されたしきい値よりも小さい場合、前記エリアが、前記フラットエリアに属すると判定し、それ以外の場合、前記エリアが、前記フラットエリアではないと判定するステップとを備える、請求項1に記載の方法。
【請求項３】
前記フラットエリアに対して前記ノイズ除去処理を実行するステップは、
前記フラットエリアに対して平均ノイズ除去処理または重み平均ノイズ除去処理を実行するステップを備える、請求項1に記載の方法。
【請求項４】
ノイズ除去強度、前記サブマクロブロックを用いて同じサイズを有するサブマクロブロックを処理する回数、および、前記サブマクロブロックの前記非ダイレクトな現在の成分係数を取得するステップと、
前記ノイズ除去強度、前記回数、および、前記サブマクロブロックの前記非ダイレクトな現在の成分係数に従う計算によって、前記サブマクロブロックの前記非ダイレクトな現在の成分係数の前記オフセットを取得するステップとをさらに備える、請求項1に記載の方法。
【請求項５】
メモリおよびプロセッサを備える端末であって、前記メモリは、コンピュータ可読命令を記憶し、前記命令は、前記プロセッサによって実行された場合、前記プロセッサに対して、請求項１から4の何れか一項に記載の方法を実行させる、端末。
【請求項６】
コンピュータ実行可能命令を備える1つまたは複数の不揮発性コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、1つまたは複数のプロセッサによって実行された場合、前記プロセッサに対して、請求項１から4の何れか一項に記載の方法を実行させる、1つまたは複数の不揮発性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
この出願は、その全体が参照により本明細書に組み込まれる、2015年11月18日出願の「REAL-TIME VIDEO DENOISING METHOD AND APPARATUS DURING CODING」と題された中国特許出願第201510798985.1号の優先権を主張する。
【０００２】
本開示は、信号処理の分野に関し、詳細には、符号化中におけるリアルタイムビデオノイズ除去方法および端末、ならびに、不揮発性コンピュータ可読記憶媒体に関する。
【背景技術】
【０００３】
現在、ほとんどのスマートフォンは、既に、ビデオシューティング機能を有する。レンズおよび費用の制限により、単一画素の光束は比較的貧弱であり、キャプチャされたビデオには多くのランダムノイズが存在し、特に、ランダムノイズは、比較的暗い背景においてより目立つ。一方では、ノイズは、画像の鮮明度および品質を低下させる。他方では、残余は、符号化中、過度に大きく、符号ストリームの数を増加させ、ネットワークおよびストレージのより高い負荷をもたらす。
【０００４】
ビデオに関するノイズ除去の事前処理を実行することは、ビデオ品質を改善することができるのみならず、ネットワーク送信をも容易にする。したがって、ビデオノイズ除去は、リアルタイムストリーミングメディアサービス、モバイルビデオフォン、ネットワークビデオチャット、または、帯域幅に限定されたそのようなものに関する実用的な価値を有する。
【０００５】
既存のノイズ除去方法は、通常、空間領域または時間領域に基づく。平均ノイズ除去、非ローカル平均(略してNLM)、ブロックマッチング3D(略してBM3D)のような空間領域ノイズ除去は、単一の画像における近隣画素間の相関のみを考慮する。平均ノイズ除去は、端部およびテクスチャ領域を平滑化し、画像品質の低下をもたらす。NLMおよびBM3Dは、大量の計算を必要とし、ビデオチャットシナリオへ適合できない。時間領域ノイズ除去は、近隣フレーム間の情報を考慮する。時間領域ノイズ除去の基本的なアイデアは、前景画素および後景画素を決定することである。時間領域平均ノイズ除去は、静止後景エリアのために使用され、空間領域ノイズ除去は、移動している前景エリアのために使用される。この方法の難しさは、前景および後景を正確に決定することであり、マルチフレームデータがバッファされる必要がある。したがって、この方法は、モバイル端末へもまた適用可能ではない。
【０００６】
別の領域変換方法が存在する。すなわち、画像が、ウェーブレット変換またはフーリエ変換のような変換によって、周波数領域へ変換される。高周波帯域係数におけるノイズ除去処理もまた、所望される効果を達成する。この種の方法は、追加の変換処理と、比較的高い計算複雑さとを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これを考慮して、既存の整数離散コサイン変換情報を十分活用し、計算量を減少させ、リアルタイムビデオを実施し、ネットワーク帯域幅のボトルネックを打ち破ることができるように、符号化中に、リアルタイムビデオノイズ除去方法を提供することが必要である。
【０００８】
それに加えて、計算量を減少させ、リアルタイムビデオを実施し、ネットワーク帯域幅のボトルネックを打ち破ることができるように、符号化中の端末と、不揮発性コンピュータ記憶媒体とを提供することもまた必要である。
【課題を解決するための手段】
【０００９】
符号化中におけるリアルタイムビデオノイズ除去方法であって、以下のステップ、すなわち、
画像の現在のフレームと、現在のフレームにおけるフラットエリアとを取得するステップと、
フラットエリアに対してノイズ除去処理を実行するステップと、
現在のフレームがPフレームであるか否かを判定し、現在のフレームがPフレームである場合、現在のフレームのサブマクロブロックを読み取り、それ以外の場合、手順を終了させるステップと、
サブマクロブロックが、インターサブマクロブロックであるか否かを判定し、サブマクロブロックが、インターサブマクロブロックである場合、サブマクロブロックに対して整数離散コサイン変換を実行し、整数離散コサイン変換が実行されるサブマクロブロックに対してノイズ除去処理を実行し、さらに、サブマクロブロックが、現在のフレームの最後のインターサブマクロブロックであるか否かを判定し、サブマクロブロックが、現在のフレームの最後のインターサブマクロブロックである場合、手順を終了させ、それ以外の場合、
次のサブマクロブロックを読み取り、さらに、次のサブマクロブロックがインターサブマクロブロックであるか否かを判定するステップとを含む、方法。
【００１０】
メモリおよびプロセッサを備える端末であって、メモリは、コンピュータ可読命令を記憶し、命令は、プロセッサによって実行された場合、プロセッサに対して、上述の方法を実行させる、端末。
【００１１】
コンピュータ実行可能命令を含む1つまたは複数の不揮発性コンピュータ可読記憶媒体であって、コンピュータ実行可能命令は、1つまたは複数のプロセッサによって実行された場合、プロセッサに対して、上述の方法をを実行させる、1つまたは複数の不揮発性コンピュータ可読記憶媒体。
【００１２】
本発明の1つまたは複数の実施形態の詳細は、以下の添付図面および説明において提供される。本開示の他の特徴、目的、および利点が、明細書、添付図面、および特許請求の範囲においてより明確になる。
【００１３】
本発明の実施形態、または、既存の技術における技術的解決策を、より明確に説明するために、以下は、実施形態または既存の技術を説明するために必要とされる添付図面を簡潔に説明する。明らかに、以下の説明における添付図面は、単に本発明のいくつかの実施形態しか図示しておらず、当業者であれば、創造的な努力なくこれら添付図面から他の図面を導出し得る。
【図面の簡単な説明】
【００１４】
【図１】実施形態に従う符号化中におけるリアルタイムビデオノイズ除去方法のアプリケーション環境の概要図である。
【図２】実施態様に従う図1の端末の内部構成の概要図である。
【図３】実施態様に従う符号化中におけるリアルタイムビデオノイズ除去方法のフローチャートである。
【図４】現在読み取られているサブマクロブロックに対して整数離散コサイン変換を実行し、整数離散コサイン変換が実行される現在のサブマクロブロックに対してノイズ除去処理を実行する具体的なフローチャートである。
【図５】実施形態に従う符号化中におけるリアルタイムビデオノイズ除去装置の構成ブロック図である。
【図６】別の実施形態に従う符号化中におけるリアルタイムビデオノイズ除去装置の構成ブロック図である。
【発明を実施するための形態】
【００１５】
本開示の目的、技術的解決策、および利点をより明確にするために、以下はさらに、本開示を、添付図面および実施形態を参照して詳細に説明する。本明細書で説明される具体的な実施形態は、本開示を限定するのではなく、単に本開示を説明することが意図されていることが理解されるべきである。
【００１６】
図1は、実施形態に従う符号化中におけるリアルタイムビデオノイズ除去方法のアプリケーション環境の概要図である。アプリケーション環境は、1つまたは複数の端末を含み得る。リアルタイムビデオノイズ除去方法は、端末のビデオシューティング機能におけるビデオノイズ除去処理、または、リアルタイムストリーミングメディアサービスにおけるビデオノイズ除去処理へ適用され得るか、または、多数の端末間のリアルタイムビデオコールにおけるビデオノイズ除去処理へ適用され得る。図1は、2つの端末によってリアルタイムビデオコールを実行するアプリケーション環境である。このアプリケーション環境は、単なる例であり、本明細書に限定されない。別の実施形態では、サーバを使用することによって、多数の端末が、データを送信し得る。
【００１７】
図2は、実施形態に従う図1における端末の内部構成の概要図である。図2に図示されるように、端末は、システムバスによって接続されるプロセッサ、記憶媒体、メモリ、ネットワークインターフェース、音声収集装置、ディスプレイスクリーン、スピーカ、および入力装置を含む。端末の記憶媒体は、オペレーティングシステムを記憶し、さらに、符号化中におけるリアルタイムビデオノイズ除去装置を含む。符号化中におけるリアルタイムビデオノイズ除去装置は、符号化中にリアルタイムビデオノイズ除去方法を実施するように構成される。プロセッサは、計算および制御機能を提供し、端末全体の動作をサポートするように構成される。端末におけるメモリは、記憶媒体におけるリアルタイムビデオノイズ除去装置の実行のための環境を提供する。ネットワークインターフェースは、たとえば、データをサーバまたは端末へ送信し、サーバまたは端末によって返されたデータを受信するように、サーバまたは別の端末とのネットワーク通信を実行するように構成される。端末のディスプレイスクリーンは、液晶ディスプレイスクリーン、または、電子インクディスプレイスクリーンであり得る。入力装置は、ディスプレイスクリーン上に覆われたタッチレイヤであり得るか、または、キー、トラックボール、または、端末の筐体に配置されたタッチパネルであり得るか、または、外部接続されたキーボード、タッチパネル、またはマウスであり得る。端末は、モバイル電話、タブレットコンピュータ、または携帯情報端末であり得る。当業者であれば、図2に図示される構成は単に、本願の解決策に関連する構成の一部のブロック図であり、この出願の解決策が適用される端末への限定を構成するものではないことを理解するであろう。具体的な端末は、図面に図示されたものよりも多くの構成要素または少ない構成要素を含み得るか、または、いくつかの構成要素が結合され得るか、または、異なる構成要素展開が使用され得る。
【００１８】
図3は、実施態様に従う符号化中におけるリアルタイムビデオノイズ除去方法のフローチャートである。図3に図示されるように、符号化中におけるリアルタイムビデオノイズ除去方法は、以下のステップを含む。
【００１９】
ステップ302:画像の現在のフレームと、現在のフレームにおけるフラットエリアとを取得する。
【００２０】
実施形態では、現在のフレームにおけるフラットエリアを取得するステップは、現在のフレームにおける現在の画素と、現在の画素を含む選択されたエリアとを取得するステップと、エリアにおける残りの画像の画素値と、現在の画素の画素値との差の絶対値が、指定されたしきい値よりも小さいか否かを判定し、そうである場合、エリアが、フラットエリアに属すると判定し、または、そうでない場合、エリアが、フラットエリアではないと判定するステップとを含む。
【００２１】
具体的には、画像は、YUVまたはRGB色空間を使用することによって示され得る。YUVにおけるYは、明度、すなわち、グレースケール値を示し、UおよびVは、クロミナンスを示し、画像の色および飽和を説明し、画素の色を指定するために使用される。RGBは赤(red)、緑(green)、および青(blue)である。
【００２２】
グレースケール値の範囲は、[0,255]であり、画像の幅はMであり、その高さはNであると指定される。指定されたしきい値はTHであり、現在の画素(i,j)の画素値はP(i,j)であり、フィルタテンプレートの半径はrであり、フィルタテンプレートの半径rを有する範囲は、現在の画素を含むエリアである。フィルタテンプレートの半径rを有する範囲における画素の画素値と、現在の画素(i,j)の画素値P(i,j)との差分の絶対値が、指定されたしきい値THよりも小さい場合、フィルタテンプレートの半径rを有する範囲を有するエリアが、フラットエリアであることが判定される。
【００２３】
ステップ304:フラットエリアに対してノイズ除去処理を実行する。
【００２４】
具体的には、フラットエリアにおける画素に対するノイズ除去処理は、平均ノイズ除去または重み平均ノイズ除去によって実行され得る。
【００２５】
フラットエリアにおける画素に対して平均ノイズ除去処理を実行することによって取得される画素の画素値は、フラットエリアにおけるすべての画素の画素値の平均値であり得、画素の画素値との差分のその絶対値は、指定されたしきい値よりも小さい。
【００２６】
計算式は式(1)および式(2)の通りである。
【００２７】
【数１】
0006615346.tif 000002
【００２８】
【数２】
0006615346.tif 000003
【００２９】
p(i,j)は、ノイズ除去が実行されない画素(i,j)の画素値を示し、p(m,n)は、ノイズ除去が実行されない画素(m,n)の画素値を示し、p'(i,j)は、ノイズ除去が実行される画素(i,j)の画素値を示し、(m,n)の値は、半径rによって決定される。
【００３０】
フラットエリアにおける画素に対して重み平均ノイズ除去を実行することは、式(1)および式(2)における計算に含まれる各画素へ重み値を割り当てることを意味する。画素の画素値との差分の絶対値が、フラットエリアにおける指定されたしきい値よりも小さいすべての画素の画素値は、画素に対応する重み値を乗じられ、その後、ノイズ除去が実行される画素の画素値を取得するように、平均値が評価される。
【００３１】
本明細書において、指定されたしきい値THは、フィルタリング強度によって制御され得る。TH=255であれば、フィルタリングは、一般的な平均フィルタリングへグレードを落とされる。このケースでは、フィルタリング強度は、最強である。TH=0であれば、画像はフィルタされない。したがって、帯域幅が比較的低いのであれば、THの値は、十分に増加され得、符号レートを低減するように、画像に対して比較的強いフィルタリングが実行される。帯域幅が比較的高いのであれば、テクスチャおよび境界情報のダメージを防ぐために、THの値が減少され得、これによって、フラットエリアのみがフィルタされるようになる。
【００３２】
ステップ306:現在のフレームがPフレームであるか否かを判定し、そうである場合、ステップ308を実行し、または、そうでない場合、手順を終了する。
【００３３】
具体的には、ビデオ符号化中のフレームが、Iフレーム、Pフレーム、およびBフレームへ分類される。Iフレームは、イントラ基準フレームであり、キーフレームとしても称され、GOP(グループオブピクチャ)符号化の最初のフレームである。Iフレームの符号化は、前のフレームおよび後のフレームに依存しない。Pフレームは、画像シーケンスにおける前の符号化フレームを用いて時間冗長情報を十分に減少することによって、送信されたデータボリュームを圧縮する符号化画像であり、予測フレームとしても称される。Bフレームは、双方向予測フレームである。Bフレームの基準フレームは、いくつかの前の近隣フレーム、現在のフレーム、およびいくつかの後のフレームである。Iフレーム空間が、ビデオ符号化中に設定された後、PフレームとBフレームのみが、2つの近隣Iフレーム間に存在し得る。ビデオコールのアプリケーションシナリオは、極端に高いリアルタイムを必要とする。レイテンシを伴うBフレーム以外のIフレームおよびPフレームが通常選択される。
【００３４】
ステップ308:現在のフレームのサブマクロブロックを読み取る。
【００３５】
具体的には、現在のフレームは、マクロブロック(macroblock)であり得、多数のサブマクロブロックへ分割され得る。例としてH.264を使用して、サブマクロブロックのサイズは、8*8、16*16等であり得る。サブマクロブロックのサイズは、マクロブロックのもの以下である。まず、現在のフレームの第1のサブマクロブロックが読み取られる。
【００３６】
ステップ310:現在読み取られているサブマクロブロックが、インターサブマクロブロックであるか否かを判定し、そうである場合、ステップ312を実行し、または、そうでない場合、ステップ316を実行する。
【００３７】
具体的には、インターフレームサブマクロブロックは、インターサブマクロブロックである。インターサブマクロブロックの係数は、基準ブロックの値を使用することによって調節され得、これによって、インターサブマクロブロックは、インターサブマクロブロックの基準ブロックへより近くなる。イントラブロックは、対応する基準ブロックを有さない。したがって、イントラブロックは処理されない。イントラブロックは、現在のフレームのみに依存し、現在のフレームの場所の上側画素および左画素に従って、予測によって取得される。
【００３８】
ステップ312:現在読み取られているサブマクロブロックに対して整数離散コサイン変換を実行し、整数離散コサイン変換が実行される現在のサブマクロブロックに対してノイズ除去処理を実行する。
【００３９】
具体的には、整数離散コサイン変換は、符号化中に現在読み取られているサブマクロブロックに対して実行される。
【００４０】
ステップ314:現在読み取られているサブマクロブロックが、現在のフレームの最後のインターサブマクロブロックであるか否かを判定し、そうである場合、手順を終了し、または、そうでない場合、ステップ316を実行する。
【００４１】
ステップ316:次のサブマクロブロックを読み取り、さらに、ステップ310を実行する。
【００４２】
符号化中におけるリアルタイムビデオノイズ除去方法によって、フラットエリアにおけるノイズを低減するように、画像のフラットエリアに対して最初にノイズ除去処理が実行され、整数離散コサイン変換がさらに、現在のフレームのサブマクロブロックに対して実行され、整数離散コサイン変換が実行される現在のサブマクロブロックに対してノイズ除去処理が実行される。整数離散コサイン変換は、符号化中に使用される既存のモジュールであり、したがって、計算量を減少させるように、ダイレクトに多重化され得る。符号ストリームの数が、ノイズ除去によって減少され、リアルタイムビデオが実施され、ネットワーク帯域幅のボトルネックが打ち破られる。
【００４３】
実施形態では、図4に図示されるように、現在読み取られているサブマクロブロックに対して整数離散コサイン変換を実行し、整数離散コサイン変換が実行されている現在のサブマクロブロックに対してノイズ除去処理を実行するステップは、以下のステップを含む。
【００４４】
ステップ402:現在のサブマクロブロックの非ダイレクトな現在の成分係数を取得するために、現在読み取られているサブマクロブロックの残余係数に対して整数離散コサイン変換を実行する。
【００４５】
具体的には、残余係数は、符号化されるべき画像と、予測された画像との差分値である。予測された画像は、符号化中に生成される。
【００４６】
ステップ404:現在のサブマクロブロックの非ダイレクトな現在の成分係数を調節し、これによって、非ダイレクトな現在の成分係数の絶対値が、0へ向けて調節されるようになる。
【００４７】
具体的には、残余係数に対してDCT変換が実行された後、先頭における0番目の係数が、低周波数のダイレクトな現在の成分であり、残りの係数は、全体的に、非ダイレクトな現在の成分と称される。ダイレクトな現在の成分は、ブロックの低周波数成分であり、画像の輝度を決定する。非ダイレクトな現在の成分は、画像の高周波数成分であり、画像の詳細を決定する。フィルタされたノイズは、主に、中間および高周波数からなる。したがって、非ダイレクトな現在の成分が主に処理される。
【００４８】
実施形態では、非ダイレクトな現在の成分係数の絶対値が、0へ向けて調節されるように、現在のサブマクロブロックの非ダイレクトな現在の成分係数を調節するステップは、
非ダイレクトな現在の成分係数のオリジナルのサインビットを確保し、現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットよりも大きいのであれば、非ダイレクトな現在の成分係数の絶対値を減少させるステップ、または、
現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数よりも小さいのであれば、非ダイレクトな現在の成分係数の値を0へ設定するステップを含む。
【００４９】
さらに、非ダイレクトな現在の成分係数のオリジナルのサインビットを確保し、現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットよりも大きいのであれば、非ダイレクトな現在の成分係数の絶対値を減少させるステップは、
現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットよりも大きく、非ダイレクトな現在の成分係数の値が0よりも大きいのであれば、非ダイレクトな現在の成分係数から、オフセットを減算するステップ、または、非ダイレクトな現在の成分係数の値が、0よりも小さいのであれば、非ダイレクトな現在の成分係数へオフセットを加算するステップを含む。
【００５０】
実施形態では、符号化中におけるリアルタイムビデオノイズ除去方法はさらに、現在のサブマクロブロックの各係数のオフセットを取得するステップを含む。
【００５１】
現在のサブマクロブロックの各係数のオフセットを取得するステップは、ノイズ除去強度、現在のサブマクロブロックを用いて同じサイズを有するサブマクロブロックを処理する回数、および、現在のサブマクロブロックの非ダイレクトな現在の成分係数を取得するステップと、ノイズ除去強度、回数、および、現在のサブマクロブロックの非ダイレクトな現在の成分係数に従う計算によって、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットを取得するステップとを含む。
【００５２】
オフセットは、サブマクロブロックの各係数に対応するオフセットを示し、統計値である。例としてH.264を使用して、サブマクロブロックのタイプは、輝度4*4、8*8、および16*16、ならびにクロミナンス4*4および8*8へ分類され得る。
【００５３】
サブマクロブロックの各タイプのオフセット計算式は、式(3)のようであり得る。
【００５４】
offset(i)=(strength*count+sum(i)/2)/(sum(i)+1)  式(3)
【００５５】
offset(i)は、サブマクロブロックのi番目の係数のオフセットであり、strengthは、ノイズ除去強度であり、countは、現在のサブマクロブロックと同じサイズを有するサブマクロブロックを処理する回数であり、sum(i)は、i係数の値の合計を示す。sum(i)/2は、切り捨てのために加算される。1は、分母が0になることを防ぐために、分母へ加えられる。式(3)は、変形され得る。たとえば、分母へ加えられる1は、別の正の数であり得る。
【００５６】
フィルタリング強度strengthが改善された場合、offset(i)の値が増加し得る。サブマクロブロックの各非ダイレクトな現在の成分係数がゼロになる可能性が改善され得、これによって、インターサブマクロブロックは、対応する基準ブロックへより類似するようになる。符号レート低減およびノイズ除去の目的が、最終的に達成される。ネットワーク帯域幅または記憶空間が不十分であれば、符号レートを低減するように、フィルタリング強度strengthが改善され得る。
【００５７】
図5は、実施形態に従う符号化中におけるリアルタイムビデオノイズ除去装置の構成ブロック図である。図5に図示されるように、リアルタイムビデオノイズ除去装置は、取得モジュール510、ノイズ除去モジュール520、判定モジュール530、および読取モジュール540を含む。
【００５８】
取得モジュール510は、現在のフレームと、現在のフレームにおけるフラットエリアとを取得するように構成される。
【００５９】
この実施形態では、取得モジュール510は、現在のフレームにおける現在の画素と、現在の画素を含む選択されたエリアとを取得し、エリアにおける残りの画素の画素値と、現在の画素の画素値との差分の絶対値が、指定されたしきい値よりも小さいか否かを判定し、そうである場合、このエリアがフラットエリアに属していると判定し、または、そうでない場合、このエリアがフラットエリアではないと判定するように構成される。
【００６０】
グレースケール値の範囲が[0,255]であり、画像の幅はMであり、高さはNであると指定される。指定されたしきい値はTHであり、現在の画素(i,j)の画素値はp(i,j)であり、フィルタテンプレートの半径はrであり、フィルタテンプレートの半径rを有する範囲は、現在の画素を含むエリアである。フィルタテンプレートの半径rを有する範囲における画素の画素値と、現在の画素p(i,j)の画素値(i,j)との差分の絶対値が、指定されたしきい値THよりも小さいのであれば、フィルタテンプレートの半径rを有する範囲を有するエリアは、フラットエリアであると判定される。
【００６１】
ノイズ除去モジュール520は、フラットエリアに対してノイズ除去処理を実行するように構成される。
【００６２】
具体的には、ノイズ除去モジュール520は、平均ノイズ除去または重み平均ノイズ除去によって、フラットエリアにおける画素に対してノイズ除去処理を実行し得る。
【００６３】
フラットエリアにおける画素に対して平均ノイズ除去処理を実行することによって取得される画素の画素値は、画素の画素値との差分の絶対値が、指定されたしきい値よりも小さいフラットエリアにおけるすべての画素の画素値の平均値であり得る。
【００６４】
計算式は、式(1)および式(2)の通りである。
【００６５】
【数３】
0006615346.tif 000004
【００６６】
【数４】
0006615346.tif 000005
【００６７】
P(i,j)は、ノイズ除去が実行されない画素(i,j)の画素値を示す。P(m,n)は、ノイズ除去が実行されない画素(m,n)の画素値を示し、P'(i,j)は、ノイズ除去が実行される画素(i,j)の画素値を示す。(m,n)の値は、半径rによって決定される。
【００６８】
フラットエリアにおける画素に対して重み平均ノイズ除去を実行することは、式(1)および式(2)における計算に含まれる各画素へ、重み値を割り当てることを意味する。画素の画素値との差分の絶対値が、フラットエリアにおける指定されたしきい値よりも小さいすべての画素の画素値が、画素に対応する重み値を乗じられ、その後、ノイズ除去が実行される画素の画素値を取得するように、平均値が評価される。
【００６９】
本明細書において、指定されたしきい値THは、フィルタリング強度によって制御され得る。TH=255であれば、フィルタリングは、平均フィルタリングへグレードを落とされる。このケースでは、フィルタリング強度は、最強である。TH=0であれば、画像はフィルタされない。したがって、帯域幅が比較的低いのであれば、THの値は、十分に増加され得、符号レートを低減するように、画像に対して、比較的強いフィルタリングが実行される。帯域幅が比較的高いのであれば、テクスチャおよび境界情報のダメージを防ぐために、THの値が減少され得、これによって、フラットエリアのみがフィルタされるようになる。
【００７０】
判定モジュール530は、現在のフレームがPフレームであるか否かを判定するように構成され、そうである場合、読取モジュール540は、現在のフレームのサブマクロブロックを読み取るように構成され、または、そうでない場合、手順は終了する。
【００７１】
具体的には、ビデオ符号化中のフレームが、Iフレーム、Pフレーム、およびBフレームへ分類される。Iフレームは、イントラ基準フレームであり、キーフレームとも称され、GOP符号化の最初のフレームである。Iフレームの符号化は、前のフレームおよび後のフレームに依存しない。Pフレームは、画像シーケンスにおいて、前に符号化されたフレームを用いて、時間冗長情報を十分に減少させることによって、送信されたデータ量を圧縮する符号化画像であり、予測フレームとも称される。Bフレームは、双方向予測フレームである。フレームが、Bフレームへ圧縮される場合、フレームの基準フレームは、いくつかの前の近隣フレーム、現在のフレーム、およびいくつかの後のフレームである。ビデオ符号化中、Iフレーム空間が設定された後、PフレームとBフレームのみが、2つの近隣Iフレーム間に存在し得る。ビデオコールのアプリケーションシナリオは、極端に高いリアルタイムを必要とする。レイテンシを伴うBフレーム以外のIフレームおよびPフレームが通常選択される。
【００７２】
判定モジュール530はさらに、現在読み取られているサブマクロブロックが、インターサブマクロブロックであるか否かを判定するように構成され、そうである場合、ノイズ除去モジュールはさらに、現在読み取られているサブマクロブロックに対して整数離散コサイン変換を実行し、整数離散コサイン変換が実行される現在のサブマクロブロックに対してノイズ除去処理を実行するように構成される。さらに、判定モジュール530は、現在読み取られているサブマクロブロックが、現在のフレームの最後のインターサブマクロブロックであるか否かを判定し、そうである場合、手順を終了し、それ以外の場合、読取モジュール540はさらに、次のサブマクロブロックを読み取るように構成され、その後、判定モジュール530は、現在読み取られているサブマクロブロックが、インターサブマクロブロックであるか否かを判定する。
【００７３】
インターサブマクロブロックは、インターサブマクロブロックである。インターサブマクロブロックの係数は、基準ブロックの値を使用することによって調節され得、これによって、インターサブマクロブロックは、インターサブマクロブロックの基準ブロックへより類似するようになる。イントラブロックは、対応する基準ブロックを有さない。したがって、イントラブロックは処理されない。イントラブロックは、現在のフレームのみに依存し、現在のフレームの場所の上側画素および左画素に従って、予測によって取得される。
【００７４】
符号化中におけるリアルタイムビデオノイズ除去装置によって、フラットエリアにおけるノイズを低減するように、画像のフラットエリアに対して最初にノイズ除去処理が実行され、整数離散コサイン変換がさらに、現在のフレームのサブマクロブロックに対して実行され、整数離散コサイン変換が実行される現在のサブマクロブロックに対してノイズ除去処理が実行される。整数離散コサイン変換は、符号化中における既存のモジュールであり、したがって、計算量を減少させるように、ダイレクトに多重化され得る。符号ストリームの数が、ノイズ除去によって減少され、リアルタイムビデオが実施され、ネットワーク帯域幅のボトルネックが打ち破られる。
【００７５】
実施形態では、ノイズ除去モジュール520はさらに、現在のサブマクロブロックの非ダイレクトな現在の成分係数を取得するために、現在読み取られているサブマクロブロックの残余係数に対して整数離散コサイン変換を実行し、現在のサブマクロブロックの非ダイレクトな現在の成分係数を調節するように構成され、これによって、非ダイレクトな現在の成分係数の絶対値が、0へ向けて調節されるようになる。
【００７６】
具体的には、残余係数に対してDCT変換が実行された後、先頭における0番目の係数が、低周波数のダイレクトな現在の成分であり、残りの係数は、全体的に、非ダイレクトな現在の成分と称される。ダイレクトな現在の成分は、ブロックの低周波数成分であり、画像の輝度を決定する。非ダイレクトな現在の成分は、画像の高周波数成分であり、画像の詳細を決定する。フィルタされたノイズは、主に、中間および高周波数からなる。したがって、非ダイレクトな現在の成分が主に処理される。
【００７７】
実施形態では、ノイズ除去モジュール520はさらに、非ダイレクトな現在の成分係数のオリジナルのサインビットを確保し、現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットよりも大きいのであれば、非ダイレクトな現在の成分係数の絶対値を減少させるか、または、現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数よりも小さいのであれば、非ダイレクトな現在の成分係数の値を0へ設定するように構成される。
【００７８】
さらに、ノイズ除去モジュール520はさらに、現在のサブマクロブロックの非ダイレクトな現在の成分係数の絶対値が、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットよりも大きく、非ダイレクトな現在の成分係数の値が0よりも大きいのであれば、非ダイレクトな現在の成分係数から、オフセットを減算するか、または、非ダイレクトな現在の成分係数の値が、0よりも小さいのであれば、非ダイレクトな現在の成分係数へオフセットを加算するように構成される。
【００７９】
図6は、別の実施形態に従う符号化中におけるリアルタイムビデオノイズ除去装置の構成ブロック図である。図6に図示されるように、取得モジュール510、ノイズ除去モジュール520、判定モジュール530、および読取モジュール540に加えて、符号化中におけるリアルタイムビデオノイズ除去装置はさらに、オフセット取得モジュール550を含む。
【００８０】
オフセット取得モジュール550は、現在のサブマクロブロックの各係数のオフセットを取得するように構成され、具体的には、ノイズ除去強度、現在のサブマクロブロックを用いて同じサイズを有するサブマクロブロックを処理する回数、および、現在のサブマクロブロックの非ダイレクトな現在の成分係数を取得するステップと、ノイズ除去強度、回数、および、現在のサブマクロブロックの非ダイレクトな現在の成分係数に従う計算によって、現在のサブマクロブロックの非ダイレクトな現在の成分係数のオフセットを取得するステップとを含む。
【００８１】
オフセットは、サブマクロブロックの各係数に対応するオフセットを示し、統計値である。例としてH.264を使用して、サブマクロブロックのタイプは、輝度4*4、8*8、および16*16、ならびにクロミナンス4*4および8*8であり得る。
【００８２】
サブマクロブロックの各タイプのオフセット計算式は、式(3)のようであり得る。
【００８３】
offset(i)=(strength*count+sum(i)/2)/(sum(i)+1)  式(3)
【００８４】
offset(i)は、サブマクロブロックのi番目の係数のオフセットであり、strengthは、ノイズ除去強度であり、countは、現在のサブマクロブロックと同じサイズを有するサブマクロブロックを処理する回数であり、sum(i)は、i係数の値の合計を示す。sum(i)/2は、切り捨てのために加算される。1は、分母が0になることを防ぐために、分母へ加えられる。式(3)は、変形され得る。たとえば、分母へ加えられる1は、別の正の数であり得る。
【００８５】
フィルタリング強度strengthが改善された場合、offset(i)の値が増加し得る。サブマクロブロックの各非ダイレクトな現在の成分係数がゼロになる可能性が改善され得、これによって、インターサブマクロブロックは、対応する基準ブロックへより類似するようになる。符号レート低減およびノイズ除去の目的が、最終的に達成される。ネットワーク帯域幅または記憶空間が不十分であれば、符号レートを低減するように、フィルタリング強度strengthが改善され得る。
【００８６】
当業者であれば、先述した実施形態における方法のステップのすべてまたはいくつかが、関連するハードウェアに対して命令するコンピュータプログラムによって実施され得ることを理解し得る。プログラムは、不揮発性コンピュータ可読記憶媒体に記憶され得、実行された場合、先述した方法実施形態の手順を含み得る。記憶媒体は、磁気ディスク、光ディスク、読取専用メモリ(ROM)等であり得る。
【００８７】
先述した実施形態は、本開示のいくつかの実施方式を単に説明しており、これらの説明は具体的で詳細であるが、本開示の特許範囲への限定として理解されることはない。当業者であればさらに、本開示の概念から逸脱することなく、変形および改善を行い得、これらは、すべて、本開示の保護範囲内にあることが注目されるべきである。したがって、本開示の特許保護範囲は、添付された特許請求の範囲に従うべきである。
【符号の説明】
【００８８】
510  取得モジュール
520  ノイズ除去モジュール
530  判定モジュール
540  読取モジュール
550  オフセット取得モジュール
【図１】
0006615346.tif 000006
【図２】
0006615346.tif 000007
【図３】
0006615346.tif 000008
【図４】
0006615346.tif 000009
【図５】
0006615346.tif 000010
【図６】
0006615346.tif 000011