JP2012517774A - ブロックノイズの検出及びフィルタ処理 - Google Patents

ブロックノイズの検出及びフィルタ処理 Download PDF

Info

Publication number
JP2012517774A
JP2012517774A JP2011550203A JP2011550203A JP2012517774A JP 2012517774 A JP2012517774 A JP 2012517774A JP 2011550203 A JP2011550203 A JP 2011550203A JP 2011550203 A JP2011550203 A JP 2011550203A JP 2012517774 A JP2012517774 A JP 2012517774A
Authority
JP
Japan
Prior art keywords
image
block
filter
vertical
horizontal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011550203A
Other languages
English (en)
Other versions
JP2012517774A5 (ja
Inventor
デール リチャード アダムス
ローレンス エー トンプソン
Original Assignee
シリコン イメージ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シリコン イメージ,インコーポレイテッド filed Critical シリコン イメージ,インコーポレイテッド
Publication of JP2012517774A publication Critical patent/JP2012517774A/ja
Publication of JP2012517774A5 publication Critical patent/JP2012517774A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration by non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion

Abstract

ブロックノイズの検出及びフィルタ処理のためのシステム及び方法を開示する。1つの実施形態は、画像内の隣接する画素の画素値の差分量を算出するステップを含む。差分量は、横に隣接する画素の水平差分量及び縦に隣接する画素の垂直差分量を含むことができる。1つの実施形態は、差分量の正規化した合計を使用してブロックノイズのノイズ特性の組及び画像の画像特性の組を求めるステップと、このノイズ及び画像特性の組を使用してブロックノイズフィルタへの入力を構成するステップとをさらに含む。
【選択図】図4

Description

〔優先権の主張〕
本出願は、2009年2月10日に出願された「ブロックノイズの検出及びフィルタ」という名称の米国仮特許出願第61/151,434号の優先権を主張するものであり、該特許の内容は引用により本明細書に明確に組み入れられる。
画像、音声又はビデオコンテンツなどのデジタルコンテンツの圧縮では、圧縮したデジタルコンテンツにアーチファクトが生じることがある。アーチファクトの生じる種類及び程度は、データ型及び圧縮技術によって様々である。通常、圧縮アーチファクトは、DVDなどの媒体、MPEG−1、MPEG−2、MPEG、JPEGなどの圧縮ビデオフォーマットに生じる。特に、デジタル圧縮したビデオ又は画像ファイルには、ブロックノイズが存在することがある。
米国特許出願第12/204,760号明細書
デジタル画像及び/又はビデオ内にどのようにしてブロックノイズが生じるか、及びブロックノイズ検出器によって求めた制御パラメータを使用してどのようにブロックノイズフィルタを適用するかについての例を示すブロック図である。 ブロックノイズ検出器及び/又はブロックノイズフィルタを有する画像又はビデオプロセッサを備えたシステムの例を示すブロック図である。 ブロックノイズ検出器及び/又はブロックノイズフィルタを有する画像又はビデオプロセッサを備えた光ディスク装置の例を示すブロック図である。 ブロックノイズ検出器内の構成要素の例を示すブロック図である。 ブロックノイズフィルタ内の構成要素の例を示すブロック図である。 行又は列にわたる差分量の平均の例を示す図である。 平均差分量に適用したメジアンフィルタの出力の例を示す図である。 DCレベルを除去した平均差分量の例を示す図である。 DCレベルを除去してエッジスパイクを抑えた平均差分量の例を示す図である。 様々なブロック間隔及びオフセットで正規化した合計差分量の例を示す図である。 スケーリングした画像の平均差分量の例を示す図である。 スケーリングした画像の、様々なブロック間隔及びオフセットで正規化した合計差分量の例を示す図である。 隣接する非ゼロの間隔値を合計した場合の、スケーリングした画像の、様々なブロック間隔及びオフセットで正規化した合計差分量の例を示す図である。 行又は列にわたる平均差分量の例を示す図である。 マルチ画素の幅のピークを示す可変オフセットを使用して一定間隔で正規化した合計差分量の例を示す図である。 隣接する非ゼロの距離値を合計した場合の、可変オフセットを使用して一定間隔で正規化した合計差分量の例を示す図である。 図15及び図16Aの合計した差分量を操作することによって得られる値の例を含む表である。 スケーリングの影響があるノイズ境界及び影響がないノイズ境界にブロックノイズフィルタを適用した効果の例を示す図である。 スケーリングの影響があるノイズ境界及び影響がないノイズ境界にブロックノイズフィルタを適用した効果の例を示す図である。 ブロックノイズ検出の例示的な処理のフロー図である。 ブロックノイズフィルタの制御パラメータを選択するための例示的な処理のフロー図である。 画像にブロックノイズフィルタを適用するフロー図である。 本明細書で説明する方法のいずれか1つ又はそれ以上を機械に実施させるための命令セットを実行できる例示的なコンピュータシステムの形の機械の図形表示である。
以下の説明及び図面は例示的なものであり、限定的なものと解釈すべきではない。本開示を完全に理解できるようにするために数多くの具体的な詳細について説明する。しかしながら、いくつかの例では、説明を曖昧にしないために周知の又は従来の詳細については説明していない。本開示における1つの又はある実施形態への言及は、必ずではないが同じ実施形態についての言及とすることができ、このような言及は実施形態の少なくとも1つを意味する。
本明細書における「1つの実施形態」又は「ある実施形態」への言及は、実施形態に関連して説明する特定の特徴、構造又は特性が本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な箇所に出現する「1つの実施形態では」という表現は、必ずしも全てが同じ実施形態について言及するものではなく、他の実施形態を互いに排除する別個の又は代替の実施形態について言及するものでもない。さらに、実施形態によって示すことができるものとできないものがある様々な特徴についても説明する。同様に、実施形態によって要件とすることができるものとできないものがある様々な要件についても説明する。
一般に、本明細書で使用する用語は、本開示の文脈及び個々の用語を使用する特定の文脈において、当技術における通常の意味を有する。実務者に本開示の説明に関するさらなる指針を与えるために、以下又は本明細書の別の箇所において、本開示を説明するために使用するいくつかの用語について説明する。便宜上、イタリック体及び/又は引用符などを使用していくつかの用語を強調表示していることがある。強調表示の使用によって用語の範囲及び意味に影響が及ぶものではなく、強調表示されているかどうかに関わらず、同じ文脈では用語の範囲及び意味は同じものである。なお、同じものを2通り以上の言い方で述べることができる。
この結果、本明細書で用語について詳しく述べたり又は説明したりしているかどうかに関わらず、本明細書で説明する用語のいずれか1つ又はそれ以上に代わりの言語及び同義語を使用することができ、またいずれかの特別な意味が置かれることもない。いくつかの用語については同義語を使用している。1又はそれ以上の同義語の記述は、他の同義語の使用を排除するものではない。本明細書で説明するいずれかの用語の例などの例を本明細書のいずれかの箇所で使用していたとしても、これらは例示的なものにすぎず、本開示又はいずれかの例示する用語の範囲及び意味をさらに限定することを意図するものではない。同様に、本開示は、本明細書で示す様々な実施形態に限定されるものではない。
本開示の範囲をさらに限定することを意図せずに、以下、本開示の実施形態による機器、装置、方法及びこれらの関連結果の例を示す。なお、例では読者の便宜を図って表題又は副題を使用することがあるが、これらは決して本開示の範囲を限定すべきものではない。特に定義していない限り、本明細書で使用する全ての技術用語及び科学用語は、本開示が属する技術の当業者によって一般的に理解されるものと同じ意味を有する。不一致が生じた場合、定義を含めて本明細書が優先する。
本開示の様々な実施形態は、ブロックノイズの検出及びフィルタ処理のためのシステム及び方法を含む。
図1は、デジタル画像及び/又はビデオ102内にどのようにしてブロックノイズ106が生じるか、及びブロックノイズ検出器152によって求めた制御パラメータを使用してどのようにブロックノイズフィルタ154を適用するかについての例を示すブロック図100である。
通常の画像又はビデオ圧縮方式では、デジタル画像/ビデオ102内にブロックノイズなどのアーチファクトが生じる。特に、非可逆圧縮方式を適用することにより、画像/ビデオ106内にブロックノイズが生じることがある。
本明細書で説明する技術は、影響を受けたデジタル画像/ビデオ106を分析して処理し、ブロックノイズ(ブロックサイズ、オフセット、境界位置、(ブロックノイズの程度などの)ブロックノイズの強度など)及び/又は画像特性(画像内の詳細の量など)の属性/特性を識別するブロックノイズ検出器152に関する。
ブロックノイズ検出器152は、ブロックノイズ及び/又は画像特性を使用してブロックノイズフィルタ154への制御パラメータ108を生成することができる。制御パラメータ108は、ブロックノイズフィルタゲイン値、エッジ強度乗数などを含むことができる。ブロックノイズフィルタ154は、オリジナル画像に対し、ブロックノイズアーチファクトの視認性を低減又は除去するように作用することができる。
1つの実施形態では、画像内の(ほぼ)一定間隔を空けた垂直方向のみの端部又は水平方向のみの端部を識別することにより、デジタル圧縮を介して生じたブロックノイズを検出することができる。検出は、垂直及び水平の輝度画素差を分析して規則的な間隔のピークを検出することによって行うことができる。この検出に基づいて、ブロックノイズ境界の位置を示す垂直及び水平マップが生成される。
検出した輝度ブロックサイズから彩度ブロックサイズを推定することができ、彩度画素差データを使用して彩度に関する別個の境界マップが作成される。検出前に解像度をスケーリングした画像にも、サイズ及びオフセットを求めるための修正案を使用して対応がなされ、ブロック境界マップでは、このようなスケーリングによるブロック境界のぶれに関する対策が行われる。これらのブロック境界マップを、マップ内容に基づいて画像内のブロックノイズをフィルタ処理するノイズフィルタ機能に渡すことができる。
一般に、ブロックノイズの検出は、画像フレームの全体又は大部分に対して行われ、通常、検出結果は、フレーム全体又はフレームの大部分を分析するまで完全なものではない。このため、分析結果により多くのデータを含めることにより検出の統計的信頼性が向上する。ビデオソースの場合、フレームの最後まで検出結果を入手することができず、これにより検出処理に1フレーム遅延が生じる。従って、通常、次のフレーム期間においてブロックノイズフィルタ操作が適用されるようになる。ブロックノイズ境界の検出は空間的にのみ行われて時間的側面は伴わず、すなわちビデオフレーム/フィールドシーケンスの各々の単一の画像フレームに対して個別に行われる。
垂直及び水平ブロック境界の位置に加え、この機能は、ブロックノイズフィルタ機能のための制御パラメータも自動的に決定する。これらのパラメータには、垂直及び水平フィルタ強度、及びフィルタがノイズを抑制して画像内の物体の端部に沿ったアーチファクトをフィルタ処理するために使用する垂直及び水平勾配乗数が含まれる。
ブロックノイズを検出して制御パラメータを算出するための処理については、図6〜図16及び図19〜図20に関連する説明をさらに参照しながらより詳細に説明する。
図2は、ブロックノイズ検出器252及び/又はブロックノイズフィルタ254を有する画像又はビデオプロセッサ250を備えたシステム200の例を示すブロック図である。
システム200は、処理装置202、メモリ204、及び/又は画像/ビデオプロセッサ250を含む。いくつかの実施形態では、上述したモジュール/装置又はこれらを表す機能のいずれかが、全体的に又は部分的にシステム200の外部に存在してもよい。
一般に、システム200は、以下に限定されるわけではないが、インターネットコンテンツ(ストリーミング及び/又はローカルに記憶されたもの)、(ビデオカメラ、カメラなどの)デジタル撮像装置によって記録されたコンテンツ、ユーザが作成したコンテンツ、(VHS、磁気媒体又は光学媒体などの)記憶媒体に記憶されたコンテンツなどを含む、様々なソースから得たデジタル画像、デジタルビデオ及び/又はデジタル音声を受け取って処理することができる。互換性のある光学媒体フォーマットの種類として、以下に限定されるわけではないが、CD、DVD、HD−DVD、Blu−ray及びHDVを挙げることができる。互換性のある光ディスクとして、読み出し専用メモリ(ROM)、追記型(WORM)、対話型(I)、及び/又は消去可能型(E)を挙げることもできる。ブロックノイズを含むビデオのさらなるソースとしては、例えば、デジタルブロードキャストテレビ、衛星テレビ、デジタルケーブルテレビなどが挙げられる。
システム200の1つの実施形態は、メモリ204に結合された処理装置202を含む。処理装置202は、システム200が使用する命令を実行できるソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。命令には、メモリ204と通信することによってアクセスすることができる。
1つの実施形態では、処理装置202が、内部及び/又は外部の要求に対処して必要な計算を行う。処理装置202はメモリ204と通信することができ、いくつかの実施形態では、このメモリ204が、処理装置202及び/又は画像プロセッサ250によって実行可能な一連の命令を記憶する。
メモリ204は、画像プロセッサ250のデータ入力/出力バッファとして機能するソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。メモリ204内のデータは、システム200の内部及び/又は外部にあるいずれかのエンティティから受け取ることができる。
システム200の1つの実施形態は、メモリ204に結合することができる画像/ビデオプロセッサ250を含む。画像プロセッサ250は、例えば、ブロックノイズの検出及びブロックノイズのフィルタ処理などの画像及び/又はビデオ処理を実行することができるソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。画像プロセッサ250の1つの実施形態は、ブロックノイズ検出器252及び/又はブロックノイズフィルタ254を含む。デジタル画像/ビデオは、メモリ204から受け取り又は取り出すことができる。
図6〜図16及び図19〜図20の例をさらに参照しながら説明するブロックノイズの検出及び/又はブロックノイズのフィルタ処理に加え、画像プロセッサ250が適用できる処理として、限定ではなく一例として、(拡大、スケーリング、縮小、回転などの)幾何学的変形、色調整、輝度調整、コントラスト調整、量子化、異なる色空間への変換、デジタル合成、光学的合成、補間、エイリアスの低減、フィルタ処理、画像編集、画像登録、画像の安定化、画像のセグメント化などが挙げられる。
図4の例をさらに参照しながらブロックノイズ検出器252の構成要素/モジュール例を示し、図5の例をさらに参照しながらブロックノイズフィルタの構成要素例を示す。
図3は、ブロックノイズ検出器352及び/又はブロックノイズフィルタ354を有する画像又はビデオプロセッサ350を備えた光ディスク装置300の例を示すブロック図である。
(光ディスク装置300などの)メディアプレーヤは、光ディスクリーダ302、処理装置304、メモリユニット306及び/又は画像/ビデオプロセッサを含むことができる。いくつかの実施形態では、上述したモジュール/装置又はこれらを表す機能のいずれかが、全体的に又は部分的に(光ディスク装置300などの)メディアプレーヤの外部に存在してもよい。代替の実施形態では、光ディスク装置以外のメディアプレーヤの場合、本開示の新規技術から逸脱することなく、光ディスクリーダ302を、他のいずれかの適当なメディアリーダに置き換えることができる。他の種類の適当なメディアリーダは、公知の及び/又は便利な手段で動作することができる。
光ディスクリーダ302は、光ディスク上に光を照射し、光ディスクから反射した光を検出し、及び/又は検出した光を電気信号に変換することができるソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。光ディスクリーダ302は、以下に限定されるわけではないが、CD、DVD、HD―DVD、Blu−ray及びHDVなどのあらゆる光ディスクを読み取ることができる。互換性のある光ディスクとして、読み出し専用メモリ(ROM)、追記型(WORM)、対話型(I)、及び/又は消去可能型(E)を挙げることもできる。
1つの実施形態では、光ディスク装置300が、光ディスクリーダ302に結合されたメモリ306を含む。メモリ306は、光ディスクリーダ302のデータ入力/出力バッファとして機能するソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。光ディスク装置300の1つの実施形態は、光ディスクリーダ302に結合された処理装置304を含む。いくつかの例では、処理装置304が、メモリ306及び/又は画像/ビデオプロセッサ350に結合される。処理装置304は、光ディスク装置300が使用する命令を実行できるソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。
1つの実施形態では、処理装置304が、内部及び/又は外部の要求に対処して必要な計算を行う。処理装置304はメモリ406と通信することができ、いくつかの実施形態では、このメモリ406が、処理装置304及び/又は画像プロセッサ350によって実行可能な一連の命令を記憶する。画像/ビデオプロセッサ350は、画像、ビデオ処理、及び/又はデジタル音声処理を実行できるソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。
1つの実施形態では、プロセッサ350が、ブロックノイズの検出及び/又はフィルタ処理に関連するタスクの一部又は全部を実行するためのブロックノイズ検出器352及び/又はブロックノイズフィルタ354を含む。図4の例をさらに参照しながらブロックノイズ検出器252の構成要素/モジュール例を示し、図5の例をさらに参照しながらブロックノイズフィルタの構成要素例を示す。
図4は、ブロックノイズ検出器452内の構成要素の例を示すブロック図である。
ブロックノイズ検出器452は、差分量(dMag)生成器402、dMagプロセッサ404、可変間隔/一定間隔モジュールとスケーリングモジュール408とを有するdMag加算器406、ブロックサイズ及びオフセット評価器410、境界マップ生成器412、フィルタゲイン生成器414、及び/又は(フィルタ制御パラメータ生成器420の構成要素とすることができるような)エッジ勾配乗数生成器416を含む。いくつかの実施形態では、上述したモジュール/装置又はこれらを表す機能のいずれかが、全体的に又は部分的に検出器452の外部に存在してもよい。
差分量(dMag)生成器402は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
dMag生成器402は、(ビデオのフレーム又は画像フレームなどの)画像内の隣接する画素の画素値の差分量を算出することができるソフトウェアエージェント及び/又はハードウェア構成要素のいずれの組み合わせであってもよい。1つの実施形態では、dMag生成器402が、オプティマイザ及び行/列平均生成器を含む。
1つの実施形態では、画像又はビデオのブロックノイズの検出において画像の差分量(dMag)を使用する。差分量は、生成器402が画素値内の垂直及び水平方向の1画素差を計算することによって求めることができる。これらは、隣接する画素位置間の差分の大きさであり、すなわち画素位置Nでは、差分量は画素Nの絶対画素値から画素N+1を減じたものである。差分量は、輝度及び彩度に関して算出することができる。
算出したdMag値を、一連の操作の1又はそれ以上によって(dMagオプティマイザなどにより)最適化して、ブロックノイズを示すための信号対ノイズ比(SNR)を高めることができる。例えば、通常、ブロックノイズによって生じる差分値の大きさは、画像内の主な特徴によって生じる差分値と比較すると相対的に小さい。例えば、通常、ノイズブロック間の境界によって生じる垂直及び水平ラインのクロスハッチは、画像内の他の形状の輪郭と比較すると薄いものである。
より大きな画像特徴がブロックノイズの差分に打ち勝って、ブロックノイズ境界の識別が誤判定されないように、特定の閾値を上回る差分値の大きさを閾値又はその近くに制限することができる。一例として、画素値に8ビット表現を使用する画像の場合、このような閾値を(255の8ビット最大から)10とすることができる。
さらに、通常、ブロックノイズ境界に起因する差分量における小ピークは1画素幅である。(場合によっては、アップスケーリング、彩度アップサンプリング、又は単純に画像画素値の影響によってわずかに大きくなる場合がある。)この結果、このような特徴を検出して分離することができる。
これを行う1つの方法は、このような特徴を除外するフィルタ処理を使用することである。その後、このようなフィルタの出力を画像から取り去ると、ブロックノイズによる差分量値などの小さな特徴のみが残る。この処理によって差分量画像の信号対ノイズ比が増加し、この場合の「信号」はノイズブロック間の境界の差分量であり、通常はブロックノイズの結果である。
1つの実施形態では、行/列平均生成器が、水平及び垂直差分量を各々に垂直な方向に合計した後に平均化する(例えば、水平差分量の行を(垂直方向に)平均化し、垂直差分量の列を(水平方向に)平均化する)。この結果を使用して、行/列平均生成器は、画像の幅である水平差分量ベクトル及び画像の高さである垂直差分量ベクトルを生成することができる。この平均化処理は、規則的なブロック境界の特徴を強化する傾向にある。しかしながら、より不規則に存在する残留画像データ又はランダムノイズデータは補強されず、差分量平均の背景強度が異なるようになる。
図6は、行又は列にわたる差分量(dMag)の平均の例を示す図であり、平均化した水平差分量のプロット600を示している。個々の水平位置に関する差分量を縦軸604に示し、画像の幅全体にわたる画素位置を横軸602に沿って示している。画像内の一定間隔のピーク606は、一般にブロック間の水平境界に対応する。
プロットの平均すなわち「DC」レベル608は、主にランダムノイズ及び低レベル画像データの残りから生じる。画像600の終端の大きなスパイク610は、オリジナル画像と、画像の左右における狭い垂直陰線との間の大きな差分によって生じる。ここでは(及び以下の項では)、例示を目的として水平差分量プロットのみを示す。垂直プロットに関しても同様の結果が得られる。
この方法はブロック境界の位置に対して行われ、この位置は、一般に全ての列にわたる垂直差分量、及び全ての行にわたる水平差分量に関して同じである。ブロックサイズが画像にわたって大幅に変化する例では、修正手順を行うことができる。
図6の例に示すように、通常、平均差分量ベクトル内には、背景すなわち「DC」レベル608が存在する。これは、前の処理ステップのものと同様のメジアンフィルタ法を使用することによって大部分が除去される。メジアンフィルタは、行/列平均生成器によって平均差分量に対して適用することができ、その後、この結果が平均差分量から減じられる。メジアンフィルタは1×N画素の領域に適用され、この場合、Nは一定であっても又はプログラム可能であってもよい。前回と同様に、良好に機能するように経験的に7のN値を示している。
図7は、平均差分量に適用したメジアンフィルタの出力706の例を示している。(なお、画像700内の縦軸704はプロットのデータコンテンツに正規化されているので、メジアンフィルタの出力は、前回のプロットと比較して誇張されたように見える)。
図8は、平均差分量からメジアンフィルタの出力を減じることによってDCレベルを除去した平均差分量の例を示している。背景すなわち「DC」レベルが除去されたことが容易に分かる。
図8の例は、オリジナル画像の黒い境界に起因して、平均差分量の端部に依然としてスパイク810が存在することを示している。これらの境界は、アスペクト比の補正によって生じることがあり(すなわち、レターボックス、ピラーボックス)、或いは画像端部のほんの小さな黒いストリップであることもある。次のステップで平均差分量を分析して、データ内のピークによって表されるブロック境界のサイズ及び位置を求める。しかしながら、これらの非常に大きなスパイクが存在すると、その大きさに起因してブロックサイズ及び位置の分析が狂うことがある。従って、ブロックサイズ及び位置の検出前にこのようなスパイクを除去し、或いは大幅に低減させることが有益である。
これらのスパイクを処理する1つの方法は、差分量ベクトルの端部近くの全ての値を単純に抑制することである。この方法はうまく機能できることが多いが、画像の実際の端部がどこに位置するかについての知識を前提とする。しかしながら、これは必ずしも確実に分かるものではない。ここで使用する技術は、ベクトル内の最初のいくつかの最大値を識別し、これらの最大値の大きさを比較し、その後この比較結果に基づいて最大ピークの振幅を低減させるというものである。
平均差分量から中央値を減じたものにこのアルゴリズム(例えば、行/列平均生成器により)を適用した結果を図9の例に示す。(なお、画像内の縦軸904はプロットデータコンテンツに正規化されているので、大きなピークを低減させることにより全体的なデータセットの縮尺がより均一になっている)。
検出器404の1つの実施形態は、dMagプロセッサ404を含む。dMagプロセッサ404は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
dMagプロセッサ404は、差分量データを分析、処理、及び/又はフィルタ処理して、画像又はビデオフレーム内のブロックノイズを示すSNRを増加させることができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
1つの実施形態では、dMagプロセッサ404が、ブロックノイズに対応する特徴を分離するフィルタを実装する。例えば、特徴を分離するためにメジアンフィルタを使用することができる。メジアンフィルタ又はその他の同様のフィルタは、小さな領域内の中央値画素を選択することができる。プロセッサ404は、水平差分量については1×N画素の水平方向領域に、垂直差分量についてはN×1画素の垂直方向領域にメジアンフィルタを適用することができる。この場合のNは、一定であっても又はプログラム可能であってもよい。例えば、最も一般的なブロックサイズが8画素であるという主な理由により、7のN値を使用することができる。1つの実施形態では、プロセッサ404が、フィルタ処理していない差分量からメジアンフィルタの出力を減じて、ゼロ未満の値をゼロに切り上げる。この処理によって画像特徴の大部分を除去することができ、従ってノイズブロック間の境界を検出するための信号対ノイズ比が増加する。
1つの実施形態では、dMagプロセッサ404が、画像内の物体端部の周囲の差分量値を抑制することができる。差分量から中央値を減じた後でも、依然としてオリジナル画像からの物体端部の残りが存在する。これらは、オリジナル画像内の端部を検出してこれらの位置における差分量を抑制することにより、さらに低減することができる。
1つの実施形態では、プロセッサ404が、例えばオリジナル画像の輝度部分に(3×3ソーベルフィルタなどの)垂直及び水平両方のフィルタを適用し、その後個々の結果の絶対値をとって垂直及び水平勾配量を生じさせることによりエッジ検出を行う。ソーベルフィルタは、例えば以下のようなものである。
Figure 2012517774
(なお、フィルタの出力は、4で除算することによって正規化しなければならない。)
勾配量を閾値と比較し、勾配量が閾値を上回る位置では差分量をゼロに設定することができる。垂直差分量及び水平差分量は、適当な勾配量を使用して別個に処理される。一般的な閾値は、8ビットの勾配量を表すために20に設定することができる。この処理により、差分量データの信号対ノイズ比がさらに向上する。
検出器404の1つの実施形態は、dMag加算器406を含む。dMag生成器406は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
dMag加算器406は、一定の及び/又は可変の距離/間隔合計を生成することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
加算器406は、異なる間隔及びオフセットの差分量を合計してノイズブロックのサイズ及びこれらの位置を識別することができる。加算器406は、データの開始から差分量ベクトル全体にわたって一連の距離間隔及び一連のオフセットで均一に(又はほぼ均一に)間隔を空けた正規化した差分量の合計を算出することができる。
距離サイズは、最小ブロックサイズから最大ブロックサイズ(MinSize:MaxSize)に及ぶことができ、オフセット範囲は、最小開始位置から最大開始位置(MinOffset:MaxOffset)に及ぶことができる。距離サイズによってブロックのサイズが識別され、オフセットによってブロックの位置が識別される。加算器406は、ブロックサイズの範囲内の個々の入力、及びオフセットの範囲内の個々の入力のために差分量データを個別に合計することができる。その後、加算器406は、差分量ベクトル内のいくつかの位置にわたって存在し得る個々のサイズのブロックの個数に基づいて合計を正規化することができる。
全ての距離サイズ及びオフセットの合計が計算されると、加算器406によって全ての合計の平均値が算出される。これを距離/オフセット合計の各々から減じてSNRを向上させる。マイナスの結果はゼロに切り上げることができる。
通常は、差分量ベクトル内の実際のブロック境界のピーク位置と一致する距離サイズ及びオフセットの合計が最大となる(又は最大に近くなる)。このサイズ距離の整数倍数にも同じことが当てはまる。この距離サイズ(及びその倍数)は、差分量ベクトル内のブロック境界のピークと一致するときにも、この距離サイズのオフセットで繰り返す。
図10は、様々なブロック間隔及びオフセットで正規化した合計差分量の例を示す図であり、結果として生じる水平差分量ベクトルの距離/オフセット合計を示している。軸1002はオフセット値を示し、軸1004は正規化した合計差分量の振幅を示し、プロット1000では異なる距離サイズに関して異なる曲線を示している。
加算器406は、この例では4から16までの全ての距離サイズについて、及び1から32までのオフセットについて合計を算出することができる。このプロット内の最高振幅値は、8及び16のブロックサイズに関するものである。これらの両サイズは8画素ごとにピークを繰り返し、ブロックサイズが8である見込みが最も高いことを示している。最初の値のオフセットは8であり、最初のブロック境界が8番目の画素位置又はその近くに存在することを示している(最初のブロックが画像の左端部に一致する8画素幅のブロックに関して予想される)。
ブロックノイズの検出前に画像がスケーリングされている場合、ブロックの間の鮮明な境界が(2つなどの)複数の画素にわたって不鮮明になることがある。これは、ほとんどのシーラに備わっているローパスフィルタ、及び画像内の画素数、従ってブロック内の画素数が変化することによって生じる。この結果、差分量ベクトル内で検出されたブロック境界のピークが単一画素の幅のピークでなく、複数の画素の幅である可能性がある。図11は、スケーリングした画像の平均差分量の例を示すとともに、生じ得るピークの不鮮明化を示している。
プロット1100は、2/3のスケーリング率で縮小された画像の垂直差分量の拡大部分である。この結果、3つのオリジナルの8画素ブロックを含む24画素が16画素にスケーリングされ、(平均して)5−1/3画素ブロックが3つとなる。図11の例のプロット1100では、縮小処理におけるブロック境界の不鮮明化に起因して、全ての3つおきのピークが実際には2画素の幅であることがわかる。
プロット1100に示す差分量ベクトルを、前のステップで説明したように距離/オフセット合計を算出するように処理すると、ブロック境界の不鮮明化により、距離のピークが1画素の幅よりも大きくなる可能性がある。図12は、スケーリングした画像の様々なブロック間隔及びオフセットで正規化した合計差分量の例を示している。
プロット例1200では、最大振幅の距離サイズは16であり、これは3つの5−1/3画素ブロックの群に対応する。距離16のピーク間のオフセット間隔は、次のピークとの距離を求めるために2画素幅の距離ピークのいずれの部分を使用するかによって5画素と6画素の間で変化する。振幅距離が小さいほど同様の挙動を示し、例えば8画素の距離も、明らかに不鮮明な距離ピークを有する。これらの不鮮明な距離ピークでは、ピーク位置に不確実性が加わることにより、及び(公称オフセットの値が複数の位置にわたって広がるため)距離ピーク振幅が減少することにより、ブロックサイズが実際にどれだけであるかを判断することがより困難になる。
この問題を回避する1つの方法は、不鮮明な距離ピークを(スケーリングマネージャ408などによって)1つの値に統一することである。加算器406の1つの実施形態は、スケーリングマネージャ408を含む。スケーリングマネージャ408は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。スケーリングマネージャ408は、スケーリングした画像に合計処理を順応させることができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
例えば、スケーリングマネージャ408は、いずれの側もゼロ値に隣接していない距離ピークの例を1つのピークに統一することができる。これは、例えばピークの各々の側の2つの値をピーク値に加算し、その後隣接する値をゼロに設定することによって行うことができる。合計演算は、両方の隣接する値よりも大きな距離/オフセット値に関してのみ行われる。
隣接する非ゼロの距離値を合計した結果の例を、図13の例示的なプロット1300に示す。このプロットは、図12のプロット1200と同じデータに基づくものであるが、隣接する非ゼロの位置の距離値を合計している。今回は、個々のピーク位置が明確に定められており、異なるオフセットにわたって振幅が規則正しくなっている。
なお、画像のスケーリングを行わなかった場合、通常、個々のピークはばらばらにならず、各々の側にゼロ値が存在する。従って、上述したピークデータ統合操作を行うことによって与えられる影響はほとんど又は全く無く、基本的に距離/オフセットデータは変わらないままとなる。一般に、距離/オフセットデータの組を統合すると、元々の距離/オフセットの組の結果と全く同じ又はそれよりも優れた結果が得られる。
図14は、行又は列にわたる平均差分量の例を示している。
プロット1400が示すピークは、一見すると、ブロックノイズを示す規則的な間隔のパターンであるように見える。プロット1400内のピーク間の間隔を精査すると、これらが7画素又は8画素離れていることが分かる。しかしながら、ピーク間隔のパターンには規則性が無いように見える。
図15は、可変オフセットを使用して一定間隔で正規化した合計差分量のプロット1500の例であり、図14の例に示す平均差分量データのマルチ画素幅のピークを示している。
プロット1500は、ピーク及び可変間隔の寄せ集めのように見え、明確なパターンを示していない。しかしながら、このプロットからは、マルチ画素の幅のピークが存在することが明らかであり、統一したピークプロットを吟味すべきであることを示している。図16Aは、隣接する非ゼロの距離値を合計した場合の、可変オフセットを使用して可変間隔で正規化した合計差分量の例を示している。
プロット1600では、最高ピーク値の距離と、2つの最高距離のピーク間の15個の間隔とによって示されるように、15個のブロックサイズが存在することが見て取れる。しかしながら、このプロットには、15画素の距離に関する他のピークがいくつか存在し、これらの振幅はあまりに大きいので、15個のブロックサイズの選択は不確実である。このことは、差分量プロット内に示すピーク間隔によって裏付けられ、ブロックサイズが15でないことを明確に示している。また、この例の距離/オフセットデータの挙動は、不鮮明なピークを統合した後でさえ識別できるパターンがしばしば全く存在しない多くの場合よりも実際のところ良好である。
従って、画像のスケーリングによってブロックサイズが画像の幅及び/又は高さにわたって可変となる場合には、別の方法を使用して公称ブロックサイズを識別することができる。
この種のスケーリングした画像の1つの重要な特徴は、ブロックサイズは公称値を有するが、使用するスケーリング率に応じて1つのブロックから次のブロックへと±1画素ずつ変化できるという点である。この変化は通常1画素であり、公称ブロックサイズから一方向に生じる。従って、1つの実施形態では、(dMag加算器406などを介して)ピークを合計するときに、距離サイズ内の1画素の変化を用いて合計を行うことができる。
加算器406は開始点を選択し、その後一連の距離サイズ(すなわち、前回の距離/オフセット計算の場合のようにMinSize〜MaxSize)を使用して差分量値を調べることができる。その後、加算器406は、これらの位置で発見した値を合計することができる。個々の距離サイズに関して、加算器406は差分合計の組を求める。例えば、現在の距離サイズから−1画素オフセットした場合を考慮した合計、オフセットを考慮しない合計、及び+1画素オフセットした場合を考慮した合計という3つの異なる合計を算出することができる。
合計に値を追加すべき個々の位置において、(「−1」オフセットの場合には公称及び公称−1などの)考慮した差分量値を調べて最大のものを選択する。選択した位置における値を、その距離の合計に追加する。この位置も開始点になり、これに距離サイズを加えて次の位置を求める。このようにして全ての距離サイズに関して、及び距離ごとに−1、0、+1の画素オフセットに関して差分量値を調べる。合計が算出されると、これらを調べて(もしあれば)どのブロックサイズが示されているかを判定することができる。
dMag加算器406が実行する以下のステップにより、手順をより詳細に説明する。
水平可変距離の処理
A)開始点を識別する。
1)ベクトル内の最大差分量値を求める。(無効な外れ値と考えられる)端部の16画素内にある点を検索から除外する。識別したばかりの最大値の1/4である閾値を設定する。
2) 最小ブロックサイズ(4)のオフセットから開始して、閾値を上回るが(無効な外れ値とみなされるであろう)前回求めた最大値を上回らない位置に到達するまで値を調べる。これが第1の開始位置候補である。
3)開始位置候補を実証する。この値は、両側の値(すなわち、真のピーク)を上回るとともに閾値を上回らなければならない。現在の候補が実証されなかった場合、有効な開始位置が見つかるまで値を調べ続ける。開始点が差分量配列内に離れ過ぎている(すなわち、配列の終端に近い)場合、この差分量データは識別可能なブロック境界を示すものではなく、従って全ての合計をゼロに設定する。これが真であるための条件は、(幅−1−MaxSize−HorizontalStartLocation)がゼロ以下であることである。
B)MinSize〜MaxSizeの個々の距離サイズに対して以下を行う。
1)個々の距離の−1、0、及び+1のオフセット変化を考慮して、開始点から開始して距離値ずつ差分量値を調べる。個々の距離及び−1、0、+1のオフセット変化の値を合計する。この合計は以下のように行う。
−1のオフセット変化
現在の距離サイズの増分を用いて値を調べる。公称位置における値が公称位置−1における値を下回る場合、−1のオフセット変化の場合の距離合計に、この位置における値−1を加え、そうでない場合には公称位置における値を加える。識別した最大位置を次のステップの開始点として使用する。
0のオフセット変化
現在の距離サイズの増分を用いて値を調べる。オフセットがゼロなので、公称距離サイズでの値のみを使用する。識別した位置を次のステップの開始点として使用する。
+1のオフセット変化
現在の距離サイズの増分を用いて値を調べる。公称位置における値が公称位置+1における値を下回る場合、+1のオフセット変化の場合の距離合計に、この位置における値+1を加え、そうでない場合には公称位置における値を加える。識別した最大位置を次のステップの開始点として使用する。
2)合計を(幅/距離−サイズ)で除算することにより個々の合計を正規化する。
垂直可変距離の処理
A)水平処理を繰り返すが、画像幅の代わりに垂直差分量ベクトル及び(垂直ベクトル長である)画像高さを使用する。垂直ブロック境界の場合、開始点が差分量ベクトルの終端に近すぎることにより有効なブロックサイズが存在しない条件は、(高さ−1−MaxSize−VerticalStartLocation)がゼロ以下であることである。
図16Bの例示的な表は、図15及び図16Aの例におけるプロット1500及び1600で使用した例の差分量データに対してこの手順を実行した結果を示している。
8画素距離の−1オフセット及び7画素距離の+1オフセットに関して最大距離合計が見出される。図16Bの表内では、これらを要素1610として識別している。この種の関係(すなわち、距離Nの−1オフセットと距離N−1の+1オフセットとの合計が両方とも大きくかつ類似する場合)は、スケーリングした画像の平均ブロックサイズがこれらの2つの距離サイズ間に存在することを示す。従って、この例では、ブロックサイズが7画素と8画素の間になるようにスケーリングされたようである。この種の場合には、小さい方の距離を公称ブロックサイズとして使用することが慣例である。
次のステップでは、このブロックサイズして特定のブロック境界位置(不均一な間隔で発生する)をどのように識別するかを示す。また、値1610とサイズ及び構造が類似するが、最大値の距離サイズの2倍の距離サイズに関する1620として識別される値にも留意されたい。非可変オフセットを使用した距離/オフセット合計法の場合と同様に、この方法は、最大値を生じるために合計される同じデータ点に2倍の距離サイズがまたがることになるので典型的なパターンである。
この可変オフセット合計を評価器410が使用してブロックサイズを求めることができる。
検出器404の1つの実施形態は、ブロックサイズ及びオフセット評価器410を含む。ブロックサイズ及びオフセット評価器410は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
評価器410は、差分量データからブロックノイズ特性を求めることができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
例えば、加算器406により生成される差分量の可変オフセット合計を評価器410が使用してブロックサイズを求めることができる。評価器410は、水平及び垂直の合計に関して処理を行うことができ、以下の例示的なステップにおいて詳細に示す。
A)最初と最後の距離合計(すなわち、MinSize距離の−1オフセット及びMaxSize距離の+1オフセット)を隣接値に設定することにより、これらを効果的に廃棄することができる。これは、これらのブロックサイズがMinSize〜MaxSize(例えば、4:16)のブロックサイズ範囲外にあるという理由で行われる。
B)最大差分量合計を含む距離サイズ及び可変オフセット値を求める。
C)最大合計がゼロでないことをチェックする。(この条件は、距離の開始位置が右/下の画像端部に近すぎて、この結果全ての合計が前のステップでゼロに設定されているときに発生する。)ゼロである場合、ブロックサイズを(有効なブロックサイズが見つからないことを示す)ゼロに設定して終了する。
D)識別した最大合計を、同じ距離の他の2つの可変オフセットの合計と比較する。
E)(「現在の距離」が最大の距離を示す場合)以下のようにしてブロックサイズを求める。
中心(ゼロ)オフセットがその距離の最大値である場合、又は距離の全てのオフセットが等しい場合、現在の距離が偶数であって現在の距離の半分の中心オフセットの値が最大値に非常に近ければ(例えば、7/8)、ブロックサイズを現在の距離の半分に設定し、そうでなければブロックサイズを現在の距離に設定する。
そうでない場合、−1オフセットは最大でないので、次に小さな距離値を調べる。前のステップにおいて正規化処理を実行する方法に起因して、次に大きな距離の−1オフセットの方が常に大きいので、+1オフセットが最大であることはない。
次に小さな距離サイズの+1オフセットがこの同じ距離の0及び−1オフセットと類似する(例えば、15/16)か又は上回り、現在の距離の+1オフセットに近い(例えば、3/4)場合、
最大距離(N)が奇数であり、かつ(N+1)/2の距離の−1オフセットが最大値に近い(例えば、7/8)場合、
(N−1)/2の距離の+1オフセットが(N+1)/2の距離の−1オフセットに近い(3/4)場合、
ブロックサイズを(N−1)/2に設定する。
そうでない場合、ブロックサイズをN−1に設定する。
そうでない場合、最大距離(N)が偶数であり、かつN/2の距離の−1オフセットが最大値に近い(7/8)場合、
(N/2)−1の距離の+1オフセットが、N/2距離の−1オフセットに近い(例えば、3/4)場合、
ブロックサイズを(N/2)−1に設定する。
そうでない場合、ブロックサイズをN−1に設定する。
そうでない場合、ブロックサイズをN−1に設定する。
そうでない場合、ブロックサイズをNに設定する。
1つの実施形態では、評価器410が、オフセットピーク間の間隔を求めるために、加算器406が生成した距離/オフセット合計も調べる。例えば、評価器410は、正規化した差分量の合計を様々な距離及びオフセットにわたって調べて、ピーク間の最高(又は最高に近い)振幅ピーク及び間隔を識別することができる。
評価器410は、ピーク振幅及び間隔データの両方を使用してブロックサイズ及びオフセットを識別することができる。以下の手順を使用して、どのピーク振幅が大きいか、及びこれらのピーク間の間隔を識別する。
A)最大ピーク振幅を求める。この値から、閾値(最大の5/8である上限閾値、及び最大の3/8である下限閾値)の組を生成する。後でブロックノイズフィルタパラメータを設定する際に使用するために最大値を保存し、ブロックサイズ及び開始ブロック境界位置をアルゴリズムで求める際に使用するために最大値を含むオフセットを保存する。
B)距離サイズごとに、個々のオフセットでの値を調べ、上限閾値を超える値を有する全てのピーク及び下限閾値を下回る値を超える全てのピークを識別する。
C)上限閾値を超える少なくとも1つのピークを有する距離サイズごとに、距離のオフセットを調べて、下限閾値を超えるピーク間の間隔を識別する。ピーク間の間隔は、単純にこれらのピークのオフセット値間の差分である。閾値を超えるピーク間の個々の間隔を「オフセット配列」に保存する。
D)統合された距離/オフセット値の垂直及び水平の両方の組に対して(すなわち、画像スケーリングによる隣接ピークが1画素幅のピークに統合されている場合)上記の処理を行う。
図10の例に示す距離/オフセットデータにこの手順を実行した場合、以下のピーク間隔が求められる。
距離における最大ピーク:16
オフセットにおける最大ピーク:32
距離サイズ8の場合の水平オフセット間隔:
8 8 8
距離サイズ16の場合の水平オフセット間隔:
8 8 8
このデータに基づいて、ブロックサイズが8であることが確実に明らかである。しかしながら、図16Aに示す距離/オフセットデータに同じ手順を実行した場合、以下が求められる。
距離における最大ピーク:15
オフセットにおける最大ピーク:11
距離サイズ14の場合の水平オフセット間隔:
4 3 5 2 4 3
距離サイズ15の場合の水平オフセット間隔:
2 6 7 8
距離サイズ16の場合の水平オフセット間隔:
3 6 7 3 6
この例では、ブロックサイズがどのようなものであり得るかを示す明確な指標はない。距離サイズ間に、矛盾する間隔が示される。この種の不確定なデータが、可変オフセット手順も使用する理由の1つである。
このようにして求めた(オフセット配列などの)ピーク間隔測定値を評価器410が使用して、ブロックサイズ及びオフセットを求めることができる。
ブロックサイズは、距離/オフセット配列内の距離サイズ及びピーク値間の間隔の両方によって求められるが、開始オフセットは、距離/オフセット配列内の最大ピークのブロックサイズ及びオフセットによって決まる。
以下の一連の優先順位を付けたステップ例を実行して、ブロックサイズ及びオフセットを求めることができる。これらのステップは、オフセット配列データに対して実行される。「MaxPeakOffset」という用語は、前のステップからの統合したピークデータセットを使用して振幅が最大となるピークのオフセットを示す。同じ一連のステップを、垂直及び水平の両方のオフセット配列に適用することができる。
A)標準的な8画素ブロックサイズを探す。これが真であるための条件は以下の通りである。
・非ゼロの入力を含むオフセット配列内の最大距離サイズが16である。
・最大ピーク値が8の倍数の距離サイズで発生する。
・少なくとも3つの測定されたピーク間間隔がオフセット配列行の1つに存在する。
・距離サイズ8のオフセット配列内の最初の3つの入力が全て8である。
・距離サイズ16のオフセット配列内の最初の3つの入力が全て8である。
ブロックサイズを8に設定する。
開始オフセットを(MaxPeakOffset mod 8)+8に設定する。
B) 4、8、12及び16の距離サイズ内に現れる4画素ブロックサイズを探す。これが真であるための条件は以下の通りである。
・非ゼロの入力を含むオフセット配列内の最大距離サイズが16である。
・最大ピークが4の倍数の距離サイズで発生する。
・オフセット配列内の全ての4の倍数の距離が少なくとも1つの非ゼロ入力を有する。
・オフセット配列内の4の倍数の距離のうちの少なくとも3つが4の平均間隔を有する。
ブロックサイズを4に設定する。
開始オフセットを(MaxPeakOofset mod 4)+4に設定する。
C)距離サイズの半分が同じピーク間隔を有する偶数の距離サイズを探す。これが真であるための条件は以下の通りである。
・最大差分値を有する距離サイズが偶数である。
・この距離サイズのオフセット配列内の全ての入力が同じである。
・この距離サイズのオフセット配列内の全ての入力が、この距離サイズの半分のオフセット配列内の入力と同じである。
・ブロックサイズをこの距離のピーク間間隔に設定する。
・開始オフセットを(MaxPeakOffset mod BlockSize)+BlockSizeに設定する。
D)距離サイズの2/3及び1/3が同じブロックサイズを有する3の倍数の距離サイズを探す。これが真であるための条件は以下の通りである。
・最大差分値を有する距離サイズが3の倍数である。
・この距離サイズが12以上である(従って、この1/3は4以上である)。
・この距離サイズのオフセット配列内の全ての入力が同じである。
・この距離サイズのオフセット配列内の全ての入力が、この距離サイズの2/3のオフセット配列内の入力と同じであり、かつこの距離サイズの1/3のオフセット配列内の入力と同じである。
・ブロックサイズをこの距離のピーク間間隔に設定する。
・開始オフセットを(MaxPeakOffset mod BlockSize)+BlockSizeに設定する。
E)(単複の)非ゼロの測定オフセットを有する、最大ピーク値を含む距離サイズに等しい単一の距離サイズのみを探す。これが真であるための条件は以下の通りである。
・非ゼロの入力を含むオフセット配列内に単一の距離サイズが存在する。
・この距離サイズのオフセット配列内の最初の入力が距離サイズと同じである。
・公称ブロックサイズをこの距離サイズに設定する。
・開始オフセットを(MaxPeakOofset mod BlockSize)+BlockSizeに設定する。
F)4−4−3の11の「マクロ」ブロックの特別な例を探す。この状況は、VCD画像のスケーリングのいくつかの場合に見られる。これが真であるための条件は以下の通りである。
・最大又は最大に近いピークが11の距離サイズで発生する。
・オフセット配列内に5よりも多くのピーク間間隔入力が存在する。
・11画素距離の行内の最初の6つのオフセット配列入力が、「4 4 3 4 4 3」の数列の回転変動である。
ブロックサイズを4に設定する。
開始オフセット値を、最大ピークのオフセットを求められた距離サイズ(すなわち、11)で除算した余りに設定し、この余りが公称ブロックサイズ(4)未満の場合には公称ブロックサイズ(4)を加算する。
G)5のブロックを有し、ピーク間間隔が5−11又は11−5の距離16のオフセット配列入力内にある16の「マクロ」ブロックの特別な例を探す。この例は、一般に1920を1280に縮小すること、及び1080を720に縮小することによって生じる。(すなわち、3つの8画素ブロックが16画素内の3ブロックの群に縮小される。)これが真であるための条件は以下の通りである。
・非ゼロの入力を含むオフセット配列内の最大距離サイズが16である。
・最大ピークが16の距離サイズで発生する。
・オフセット配列内に2又はそれ以上のピーク間間隔入力が存在する。
・16画素距離の行内の最初の2つのオフセット配列入力が5−11又は11−5である。
ブロックサイズを5に設定する。
開始オフセット値を、最大ピークのオフセットを求められた距離サイズ(すなわち、16)で除算した余りに設定し、この余りが公称ブロックサイズ(5)未満の場合には公称ブロックサイズ(5)を加算する。
H)(単複の)非ゼロの測定オフセットを有する単一の距離サイズのみを探す。
ブロックサイズを、単一の距離のオフセット配列内の入力の(四捨五入した)平均値に設定する。
・評価器410は、最初に単一の距離サイズの統合された距離/オフセット合計内のオフセット入力を調べ、その後最大値入力のオフセットを発見することにより、開始オフセット値を求めることができる。次に、この開始オフセットを、このオフセットを単一の距離サイズで除算した後の余りに設定し、その余りが公称ブロックサイズ未満の場合には公称ブロックサイズを加算することができる。
I)その他の場合、ブロックサイズ及びオフセットを(ブロックが検出されなかったことを示す)ゼロに設定する。
その後、評価器410は、オフセット配列内の入力及び可変オフセット(−1/0/+1)法に基づく入力を調べることにより、前のステップで求めたブロックサイズ及びオフセットから最終的なものを選択することができる。オフセット配列内の入力から求めたブロックサイズが(有効なブロックサイズが見つからなかったことを示す)ゼロである場合、可変オフセット法によって求めた値を使用する。
垂直ブロックサイズ及びオフセットを求めるための1つの特例が存在する。オフセット配列内の入力から求めた垂直ブロックサイズが2である場合、オリジナル画像データは、ほぼ間違いなく、間に時間差を有する2つの織り混ざったフィールドが混在するものである(例えば、これらは同じ時点から得られたものではない)。この場合、ブロックサイズを(有効ブロックサイズが存在しないことを示す)ゼロに設定する。
検出器404の1つの実施形態は、境界マップ生成器412を含む。境界マップ生成器412は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
境界マップ生成器412は、公称ブロックサイズ及び開始ブロック境界位置を使用してブロック境界のマップを生成することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
生成器412は、差分量ベクトル内のピークの間隔に基づいて輝度ブロック境界を判定することができる。使用する手順は、すでに判定されている最初のブロック境界の位置から開始することができ、その後差分量データを公称ブロックサイズずつ調べる。各ステップにおいて、最大ピーク位置を求めて小ウィンドウが検索され、これがその後、ブロック境界としてマーキングされる。この位置が次の検索の開始点となり、処理はデータの終わりまで続く。
生成器412は、この処理中に識別されたブロック境界の位置を含むブロック境界マップを作成することができる。境界マップは、差分量ベクトルと同じサイズのベクトルである。境界マップ入力は3つの値を有し、0は、ある位置にブロック境界が存在しないことを示し、1は、ある位置にブロック境界が存在することを示し、1/2の値は、二次的境界の特徴が存在することを示す。二次的境界の特徴は、スケーリングによって不鮮明になった境界を含み、従って境界が1よりも大きな画素幅であることを示す。
以下の手順では、これをどのように実行するかに関するさらなる詳細を示す。なお、ブロック境界マップは、手順の前に全てゼロに初期化することができ、処理の各ステップのデフォルト検索ウィンドウは±2画素である。この手順は、水平及び垂直の両方の輝度ブロック境界マップの場合と同じである。
A)最初に、ブロックサイズが0であるかどうかをチェックする。0であれば、ブロックノイズ境界が見つからず、境界マップは全てゼロのままとなる。
B)最初の境界の位置を開始オフセット値に設定する。この位置の境界マップ値を最大値である1.0に設定する。これが、最初のピーク検索の基準にもなる。
C)スケーリングによって生じる開始位置における「二倍幅ピーク」を探す。開始位置に隣接する位置のいずれかが開始位置の大きさよりも大きい場合、この隣接するブロック境界マップの位置の値を1.0に設定する。そうでない場合、開始位置に隣接する位置のいずれかが開始位置の大きさの1/10よりも大きければ、ブロック境界マップの値を0.5に設定する。
D)個々のブロック境界位置候補の周りのウィンドウ内のピークを探しながら、以下のように差分量データを調べる。
基準に公称ブロックサイズを追加して、新たなピーク検索のためにウィンドウの中心位置を求める。
検索ウィンドウ内の最大値(すなわちピーク)の位置を識別する。
新たに識別されたピークの大きさが前の位置のピークの大きさの1/5を上回る場合、
・このブロック境界マップ内の位置を1.0に設定する。
・これを現在のピーク及び次の検索のための基準としてマーキングする。
スケーリングによって生じる開始位置における「二倍幅ピーク」を探す。開始位置に隣接する位置のいずれかが開始位置の大きさの1/10よりも大きい場合、ブロック境界マップの値を0.5に設定する。
そうでない場合、新たに識別されたピークの大きさが前の位置のピーク値の1/20を上回り、次に高い位置における大きさが新たなピークの大きさの4倍未満であれば(注:これにより、真のピークでなく検索ウィンドウの境界に存在するにすぎないピーク位置が排除される)、
・ブロック境界位置配列内のこの位置を変更せずに、これを次の検索のための基準として設定する。
そうでない場合、次の検索のための基準として前回の基準及び公称ブロックサイズを使用する。
差分量ベクトルの終端に達するまで上記一連のステップを繰り返す。
生成器412は、彩度のマップを生成することもできる。彩度ブロック境界マップを作成する手順は、輝度マップを作成する手順と類似する。違いは、輝度の代わりに彩度差分量データを使用し、彩度ブロック境界マップでは、彩度拡大の後に画像スケーリングを行う可能性により2つの別個のピークが可能になる点である。従って、以下の修正手順の例を使用することができる。
A)最初に、ブロックサイズが0であるかどうかをチェックする。0であれば、ブロックノイズ境界が見つからず、境界マップは全てゼロのままとなる。
B)最初の境界の位置を開始オフセット値に設定することができる。この位置の境界マップ値を最大値である1.0に設定する。これが、最初のピーク検索の基準にもなる。
C)スケーリングによって生じる開始位置における「二倍幅ピーク」を探す。開始位置に隣接する位置のいずれかが開始位置の大きさよりも大きい場合、この隣接するブロック境界マップの位置の値を1.0に設定する。そうでない場合、開始位置に隣接する位置のいずれかが開始位置の大きさの1/10よりも大きければ、ブロック境界マップの値を0.5に設定する。
D)個々のブロック境界位置候補の周りのウィンドウ内のピークを探しながら、以下のように差分量データを調べる。
基準に公称ブロックサイズを追加して、新たなピーク検索のためにウィンドウの中心位置を求める。
検索ウィンドウ内の最大値(すなわちピーク)の位置を識別する。
新たに識別されたピークの大きさが前の位置のピークの大きさの1/5を上回る場合、
・このブロック境界マップ内の位置を1.0に設定する。
・これを現在のピーク及び次の検索のための基準としてマーキングする。
スケーリングによって生じる開始位置における「二倍幅ピーク」及び「二重分離ピーク」を探す。開始位置に直接隣接する位置のいずれかが開始位置の大きさの1/10よりも大きい場合、ブロック境界マップの値を0.5に設定する。直接隣接する位置が有効値を有していない場合、境界マップ値を変更するための同じ基準を使用して中心から2画素離れた隣接位置をチェックする。
・複数の二重ピークの選択を不適格とみなす。
複数の分離したピークがある場合、2つのうちの大きい方を選択する。
そうでない場合、分離したピークが左に、接続されたピークが右にあれば、大きい方を選択する。
そうでない場合、分離したピークが右に、接続されたピークが左にあれば、大きい方を選択する。
そうでない場合、新たに識別されたピークの大きさが前の位置のピーク値の1/20を上回り、次に高い位置における大きさが新たなピークの大きさの4倍未満であれば(注:これにより、真のピークでなく検索ウィンドウの境界に存在するにすぎないピーク位置が排除される)、
・ブロック境界位置配列内のこの位置を変更せずに、これを次の検索のための基準として設定する。
そうでない場合、次の検索のための基準として前の基準及び公称ブロックサイズを使用する。
差分量ベクトルの終端に達するまで上記一連のステップを繰り返す。
検出器404の1つの実施形態は、フィルタゲイン生成器414を含む。フィルタゲイン生成器414は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
フィルタゲイン生成器414は、ブロックノイズフィルタのフィルタゲイン値を算出し、決定し、生成することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
フィルタゲイン生成器414は、基準値から開始して、いくつかの計算した「修正子」に基づいて基準値を修正することによりフィルタゲインを算出することができる。これらの修正子は以下に列挙する因子に基づくものであり、これらを基準ゲインに加えて最終的なゲイン値を求めることができる。一般に、縦横のフィルタゲインに関して別個の修正子値を計算することができる。ゲイン計算における因子として、以下を使用することができる。
・公称ゲインは1.0である。
・ブロック境界強度(BBS)によりゲインが増加する。
・低い詳細度(合計した差分量)によりゲインが増加する。
・ブロックサイズを大きいことによりゲインが増加する。
・1.0未満のブロック境界強度によりゲインが急速に減少する。
・ブロック境界強度とともに閾値を超える距離をカウントすることにより、ブロックノイズがさらに存在するかどうかを判定することができ、すなわち著しいブロックノイズが存在しないとみなされる場合、ゲインをゼロに設定することができる。
修正子を全て計算したら、これらを基準ゲイン値と統一して水平及び垂直フィルタゲインを生成することができる。最初のステップは、ブロックノイズが存在しないことを示す条件を識別することである。これらの条件が存在しない場合、基準ゲイン値に様々なゲイン修正子を追加し、結果を上限及び下限(それぞれ2.3及び0)に限定する。その後、ゲイン修正子の効果によってゼロゲインとなる場合、及び修正子の総合効果の大部分が画像詳細修正子の大きさによって構成される場合のような特別な場合、フィルタゲインを1.0に設定する。このことは、画像の詳細度が高いこと自体によってフィルタゲインがゼロに強制されるという例を認識することを目的としている。
水平及び垂直ゲインを計算したら、もう1つの特別な条件を探す。以下の条件が満たされる場合、水平及び垂直フィルタゲインをゼロに設定する。
1)距離/オフセット法を介したブロックサイズの判定が水平及び垂直ともにゼロである。
2)フィルタゲインの一方がゼロであり、又は両方とも非常に低い(この場合、低い=0.25)。
検出器404の1つの実施形態は、エッジ勾配乗数生成器416を含む。エッジ勾配乗数生成器416は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
エッジ勾配乗数生成器416は、ブロックノイズフィルタのエッジ勾配乗数を算出し、決定し、及び/又は生成することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよく、これらの構成要素及び機能については図5の例をさらに参照しながら説明する。1つの実施形態では、フィルタゲイン生成器414及び/又はエッジ勾配乗数生成器が、フィルタ制御パラメータ生成器420の構成要素である。
フィルタゲイン生成器416は、基準値から開始して、いくつかの計算した「修正子」に基づいて基準値を修正することによりフィルタゲインを算出することができる。これらの修正子は、例えば画像内の詳細のブロック強度及びレベルに基づいて決定することができ、これらを基準勾配乗数に加えて最終的な勾配乗数値が得られる。水平及び垂直フィルタゲインに関して別個の修正子値を計算する。勾配乗数の計算における因子として以下を使用することができる。
・公称乗数は2.0である。
・高いブロック境界強度により乗数が減少し、非常に低いブロック境界強度により乗数が増加する。
・高い詳細度により乗数が増加する。
修正子を全て計算したら、生成器416は、基準勾配乗数値を統一して水平及び垂直勾配乗数を生成することができる。基準勾配乗数値には2つの修正子を加えることができ、結果を下限である1.0に限定する。
図5は、ブロックノイズフィルタ554内の構成要素の例を示すブロック図である。
ブロックノイズの処理における次の段階は、ブロックノイズ境界をフィルタ処理することである。これを効果的に行うために、ブロックノイズフィルタを、画像内のブロックノイズの特性に基づいて適切に構成することができる。フィルタへの制御入力として、例えば、(図4の例のブロックノイズ検出器によって求められた)輝度及び/又は彩度境界マップ、垂直及び水平フィルタゲイン値、及び垂直及び水平エッジ強度乗数(エッジ勾配乗数など)が挙げられる。フィルタ入力マネージャ502は、フィルタ554へのこれらの入力を算出又は管理することができる。これらの後者の値は、例えば以下のような因子に基づいて自動的に決定することができる。
・ブロック検出強度(ピーク差分量値)
・ブロックサイズ
・画像内の詳細のレベル(画像全体にわたる差分量値の正規化した合計)
・閾値を超える大きさを有する距離の数。
・フィルタ制御値を計算するためのプロトコルは、複数の画像タイプの分析から得られる経験的データに基づくことができる。
フィルタ入力マネージャ502は、フィルタ554への以下の入力を算出又は管理することができる。
水平輝度ブロック境界マップ:
水平輝度ブロック境界位置のマップ。これは入力画像の幅の配列であり、入力は一次及び二次境界を示す。
垂直輝度ブロック境界マップ:
垂直輝度ブロック境界位置のマップ。これは入力画像の幅の配列であり、入力は一次及び二次境界を示す。
水平彩度ブロック境界マップ:
水平彩度ブロック境界位置のマップ。これは入力画像の幅の配列であり、入力は一次及び二次境界を示す。
垂直彩度ブロック境界マップ:
垂直彩度ブロック境界位置のマップ。これは入力画像の幅の配列であり、入力は一次及び二次境界を示す。
水平フィルタゲイン:
水平フィルタのゲイン値。ゲイン値は、水平フィルタ係数及びフィルタの幅の選択に影響を与える。
垂直フィルタゲイン:
垂直フィルタのゲイン値。ゲイン値は、垂直フィルタ係数及びフィルタの幅の選択に影響を与える。
水平勾配乗数:
水平勾配は、水平方向の画像特徴エッジにおけるフィルタ処理を抑制するために使用される。勾配乗数は、抑制を行う度合いに影響を与える。
垂直勾配乗数:
垂直勾配は、垂直方向の画像特徴エッジにおけるフィルタ処理を抑制するために使用される。勾配乗数は、抑制を行う度合いに影響を与える。
ブロックノイズフィルタ554の1つの実施形態は、画像勾配生成器504を含む。画像勾配生成器504は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
画像勾配生成器504は、画像内の勾配を算出し、決定し、及び/又は生成することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
画像勾配は、画像内のオブジェクトの端部に沿ったアーチファクトを抑制するために使用することができる。勾配は、5×5ソーベルフィルタを使用して輝度画素データを用いて計算される。ソーベルフィルタは、例えば以下のように定義される。
HorSobelFilter5×5=[−1 0 0 0 1
−2 0 0 0 2
−4 0 0 0 4
−2 0 0 0 2
−1 0 0 0 1];
VertSobelFilter5×5=[ 1 2 4 2 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
−1 −2 −4 −2 −1];
(なお、フィルタの出力は10で除算することにより正規化される)
最初に、輝度データに2次元ガウスフィルタを適用することができ、その後ソーベルフィルタを適用して垂直及び水平画像勾配を生成する。この結果の絶対値をとって垂直及び水平勾配の大きさを取り出すことができる。
ブロックノイズフィルタ554の1つの実施形態は、垂直フィルタ506を含む。垂直フィルタ506は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
垂直フィルタ506は、縦寸法に沿って画像をフィルタ処理することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
垂直フィルタ506は、ブロック境界マップ、フィルタゲイン及び/又は勾配乗数入力値のうちの1つ又はそれ以上に基づいて画像を縦寸法に沿ってフィルタ処理することができる。このフィルタは、垂直ブロック境界マップにより示されるブロック境界位置におけるY、Cb及びCrの垂直差分を、境界に隣接するブロックの高さの一部にわたって分配する。
フィルタ506は、垂直フィルタゲイン要素に基づいて垂直輝度フィルタの係数を決定することができる。輝度フィルタは、例えばブロック境界位置のそれぞれの側に反映される3つの係数で構成される。これ以外の数の係数も同様に使用することができる。係数を追加すると、より良い結果を生み出すことができる。以下の方程式は、どのようにしてフィルタ係数を計算できるかについての例を示している。
Figure 2012517774
フィルタは、輝度ブロック境界マップ内のピークを有する位置において適用することができる。境界マップ内の隣接位置が同じ非ゼロの振幅を有する場合、指数が最高の(又は最高に近い)ものを中心ピークの位置として選択することができる。
1つの実施形態では、3つの輝度差分値が算出され、その後これらにフィルタ係数の組を各々乗じる。最初の差分値は、中心ピーク位置における隣接画素間の差分に基づいて求めることができる。残りの2つの差分値は、計算した最初の差分値、個々の隣接位置における隣接画素値間の差分、及び隣接位置のブロック境界マップの強度値に基づいて算出することができる。
中心ブロック境界差分値は、中心位置の画素値と次に高い位置の画素値との間の差分である。隣接値は、まず個々の隣接位置の境界マップ値がゼロであるかどうかに基づいて求めることができる。ゼロである場合、隣接差分値もゼロとなる。そうでない場合、隣接値は、中心差分値及び隣接画素差分値の大きさの最小値(又は最小に近い値)に隣接画素差分値の符号(±1)を乗じたものである。
中心画素が位置Nにある場合、3つの差分値の各々をどのように計算するかについての例が以下の方程式によって記述される(この場合、「Diff1」は中心位置にあるが、「Diff0」及び「Diff2」は、それぞれ中心の前後の位置にある)。
Figure 2012517774
その後、計算したフィルタ係数及び個々の画素位置のブロック境界差分値を使用して、画像に垂直フィルタ506を適用することができる。ブロック境界ピーク位置から±4画素内の近くに位置し、境界に対して垂直方向にある個々の画素については、垂直フィルタ506がフィルタの効果を算出し、フィルタ計算に基づいて画素値を修正する。以下の方程式は、Nがブロック境界(2画素間に位置すると仮定)の直前(真上)の画素位置にあると仮定した場合、いかにしてフィルタ計算を行うかについての例を示している。この計算は、境界と直交する画素の1つの列に関するものである。
Figure 2012517774
1つの実施形態では、垂直フィルタ506が、例えば垂直フィルタゲイン係数に基づいて垂直彩度の係数を算出する。通常、彩度の方が輝度よりも帯域幅が小さくブロックサイズが大きいので、彩度の方が強くフィルタ処理される。彩度フィルタは、ブロック境界位置のそれぞれの側に反映される最大4つの係数で構成することができる。これ以外の数の係数も同様に使用することができる。係数を追加すると、より良い結果を生み出すことができる。通常、彩度ブロックの方が輝度ブロックよりも大きく、従って効果的に取り除くにはより大きなフィルタが必要であるため、彩度フィルタの係数の数の方が多い。また、彩度の不鮮明なブロック境界は、輝度のように1画素ではなく2画素に及ぶこともある。以下の方程式は、いかにしてフィルタ係数を計算できるかについての例を記述するものである。
Figure 2012517774
垂直フィルタ506は、輝度ブロック境界マップ内のピークを有する位置において適用することができる。境界マップ内の隣接位置が同じ非ゼロの振幅を有する場合、指数が最高のものが中心ピークの位置として選択される。彩度ブロック境界マップは、Cb及びCrの両方に使用され、フィルタはこれらの両方に全く同様に実施される。
彩度の差分値は、輝度に3つの差分値を使用するのに対して5つの差分値を使用する点を除き、輝度の場合と同様に算出される。通常使用する差分値の数が多い理由は2つある。
1)通常、彩度ブロックの方が輝度ブロックよりも大きいので、彩度フィルタがまたがる画素位置の数の方が多い。
2) 彩度フィルタにより、接していない隣接ブロックの境界値が、アップサンプリングされた彩度のスケーリングに対応できるようになる。
中心画素が位置Nにある場合、以下の方程式により、5つの差分値の各々をどのように計算するかについての例が記述される(この場合、「Diff2」が中心位置にあり、他の「Diff」の値が中心に隣接する位置にある)。
Figure 2012517774
その後、計算したフィルタ係数及び個々の画素位置のブロック境界差分値を使用してフィルタ自体を画像に適用する。ブロック境界ピーク位置から±6画素内の近くに位置し、境界に対して垂直方向にある個々の画素については、垂直フィルタ506がフィルタの効果を算出し、フィルタ計算に基づいて画素値を修正する。
以下の方程式は、Nがブロック境界(2画素間に位置すると仮定)の直前(真上)の画素位置であると仮定した場合、いかにしてフィルタ計算を行うかについての例を示している。この計算は、境界に沿った1つの列に関するものである。2つの別個の種類のフィルタ計算が存在し、1つは分離したピークがブロック境界マップ内に存在しない(すなわち、「隣接」値が中央ピークから1画素しか離れていない位置にあり)場合に使用され、もう1つは少なくとも1つの分離したピークが存在する(すなわち、「隣接」値が中央ピークから2画素離れた位置にある)場合に使用される。
分離していない2つのピークが存在する場合、以下の方程式を使用する。
Figure 2012517774
分離した2つのピークが存在する場合、以下の方程式を使用する。
Figure 2012517774
ブロックノイズフィルタ554の1つの実施形態は、水平フィルタ510を含む。水平フィルタ510は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
水平フィルタ510は、横寸法に沿って画像をフィルタ処理することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。
1つの実施形態では、水平フィルタ510が、水平ブロック境界マップ、フィルタゲイン、及び勾配乗数の入力値に基づいて、垂直フィルタ処理した後の画像を横寸法に沿ってフィルタ処理する。このフィルタは、水平ブロック境界マップによって指定されるブロック境界位置におけるY、Cb及びCrの水平差分を、境界に隣接するブロックの幅の一部にわたって分配する。
水平フィルタ510は、オリジナル画像ではなく垂直フィルタの出力に適用され、水平ブロック境界マップによって指定される位置において水平方向に適用されるという点を除き、垂直フィルタと同様に実施することができる。
個々の水平ブロック境界位置のフィルタ処理が完了した後で、垂直フィルタ処理した画像とオリジナル画像とを、例えばエッジブレンダ508により垂直勾配の強度値に基づいて混合することができる。この出力を水平フィルタへ送ることができる。ブレンダ508は、垂直フィルタ処理した画像と水平フィルタ処理した画像とを、入力画像の水平勾配を使用して混合することができる。1つの実施形態では、エッジブレンダ508が、水平画像勾配の大きさに水平勾配乗数を乗じたものに基づいてブレンド係数を生成する。結果として得られるブレンドマップ値が1を超えた場合、1に切り下げることができる。その後、ブレンドマップ及び混合した画像を、垂直フィルタ処理した画像に使用する方法と同様の方法で算出することができる。
ブロックノイズフィルタ554の1つの実施形態は、エッジスムーザ512を含む。エッジスムーザ512は、ファームウェア、ハードウェア、これらの組み合わせ、又はいずれかの適用可能な公知の又は便利な装置又はシステムにおいて、例えば機械上のコンピュータ可読媒体又はコンピュータ可読記憶媒体内で具体化されるソフトウェアとして実現することができる。本明細書で説明するこの及びその他のエンジンは、本明細書で暗示的に、明示的に又は本質的に説明する機能の少なくとも一部及び/又は同等の機能を実行できるあらゆる機械、製造物又は合成物を含むことが意図されている。
エッジスムーザ512は、ブロック境界を除去して及び/又はアーチファクトをフィルタ処理することができるハードウェア構成要素及び/又はソフトウェアエージェントのいずれの組み合わせであってもよい。エッジスムーザ512は、2008年9月4日に出願された「画像内のエッジを滑らかにして不揃いを解消するためのシステム、方法及び装置」という名称の同時係属中米国特許出願第12/204,760号に記載されるように実現することができ、該特許内容は引用により本明細書に組み入れられる。
1つの実施形態では、エッジスムーザ512が、結果として得られた画像にエッジスムージングを行ってブロック境界を除去し、画像内の物体端部に沿ったアーチファクトをフィルタ処理する。あらゆる好適なエッジスムージングフィルタを使用することができる。フィルタのカーネルサイズは、ブロックフィルタのゲイン値に基づいて決定することができる。1つの実施形態では、垂直及び水平フィルタゲイン値がゼロである場合、エッジスムージングステップが省略される。両方のゲイン値が2未満の場合、小さなフィルタカーネルを使用する。そうでない場合、大きなエッジスムージングフィルタカーネルを使用する。
図17〜図18は、スケーリングの影響があるノイズ境界及び影響がないノイズ境界にブロックノイズフィルタを適用した効果の例を示している。
ブロックノイズフィルタは、境界に隣接するとともにこれに垂直な画素の中の隣接ブロック間の境界にわたって差分を分配することによりブロックノイズを低減させる。フィルタ係数は、フィルタへの制御入力であるフィルタゲイン値に基づく。フィルタの位置は、入力ブロック境界マップによって決定され、ブロック境界は、2つの画素位置間に位置するように指定される。
フィルタの効果の例を図17の例に示す。この図は、「画素0」と「画素1」の間に位置する仮想ブロック境界にわたるビデオ信号の大きさを示すものであり、左ブロックのレベルは0であり、右ブロックは1である。プロット内の赤い線は、元々の事前フィルタ処理後の信号である。フィルタにより、ブロック境界に隣接する画素間の左右のブロック(すなわち、元々の信号における0から1への大きな段差)間の差が広がる。青い線は、フィルタ処理した結果である。
フィルタは、ブロック境界に対するスケーリングの影響を処理することもできる。このことを図18の例に示しており、ここでは2回スケーリングされた信号を示している。この例は、最初に4:2:0から4:4:4にアップサンプリングして、その後異なる解像度にスケーリングした彩度信号をシミュレーションしたものである。これにより、ブロック境界近くの画素内に2画素幅の棚(すなわち、図の赤線内の画素−1及び画素0)が生じる。この結果、画素値がブロック境界を左から右へ移行する際に、画素値内に左側の画素−2と画素−1の間の小さな段差、及び右側の画素0と画素1の間の大きな主な段差という2つの段差が存在する。元々の信号を赤色で示し、最終的なフィルタ処理した結果を青色で示している。フィルタ全体に対する大小の段差の影響を茶色及び黄色でそれぞれ示している。2つの段差の応答の合計が全体的なフィルタ応答となる。
フィルタを適用した後で、フィルタ処理した画像及びフィルタ処理していない画像にエッジブレンディング操作を行うことができ、ブレンディングの程度は勾配乗数の制御入力によって決まる。場合によっては、エッジスムージング機能を適用してブロックノイズを除去し、画像内の物体端部に沿ったアーチファクトをフィルタ処理する。
図19は、ブロックノイズ検出のための処理例のフロー図である。
処理1902において、差分量(dMag)を算出する。処理1904において、高レベルのdMag値を抑制する。処理1906において、dMagから中央値を取り除く。処理1908において、物体端部周囲のdMag値を抑制する。処理1910において、行及び列にわたるdMagの平均を算出し、この平均を最適化して中央値を減じる。処理1912において、dMagsの合計を算出し、場合によっては正規化する。処理1914は、距離/オフセット合計からのピークを処理ブロック1912で計算した固定オフセットと統合するものである。次に処理ブロック1918において、これらの統合したピークの距離/オフセット合計を調べて、距離サイズごとの異なるオフセット値のピーク間の間隔を求める。次に処理ブロック1920において、このピーク間隔を、固定距離と距離オフセットとの合計に基づいてブロックサイズ及びオフセットを求める基準として使用する。処理1914、1918及び1920と平行して、処理ブロック1916において、可変オフセットを用いて算出した正規化した距離/オフセット合計を調べてブロックサイズを求める。処理1922において、処理1920及び1916で2つの異なる方法で求めたブロックサイズ及びオフセット値を調べて、最終的なブロックサイズ及びオフセットを選択する。
図20は、ブロックノイズフィルタの制御パラメータを選択するための処理例のフロー図である。
処理2002において、ブロックノイズフィルタゲインを求める。処理2004において、エッジ勾配乗数を求める。処理2006において、ブロックノイズをフィルタ処理する。
図21は、画像にブロックノイズフィルタを適用するフロー図である。
処理2102において、画像内のブロックノイズ特性に基づいてブロックノイズフィルタのゲイン設定を選択する。処理2104において、垂直ゲイン係数を使用して垂直輝度フィルタの係数を算出する。
処理2106において、垂直ゲイン係数を使用して垂直彩度フィルタの係数を算出する。処理2108において、垂直フィルタ及び彩度フィルタの係数を使用して縦寸法に沿って画像をフィルタ処理し、垂直フィルタ処理した画像を生成するとともに、垂直フィルタ処理した画像とオリジナル画像を混合することにより混合画像を生成する。
処理2110において、水平ゲイン係数を使用して水平彩度フィルタの係数を算出する。処理2112において、水平ゲイン係数を使用して水平輝度フィルタの係数を算出する。処理2114において、垂直フィルタ処理した画像を、水平フィルタ及び彩度フィルタの係数を使用して横寸法に沿ってフィルタ処理し、水平フィルタ処理した画像を生成する。処理2116において、垂直フィルタ処理した画像と水平フィルタ処理した画像とを混合することにより混合画像を生成する。
図22は、本明細書で説明する方法のいずれか1つ又はそれ以上を機械に実施させるための命令セットを実行できる例示的なコンピュータシステムの形の機械の図形表示である。
図22の例では、コンピュータシステム2200が、プロセッサ、メモリ、不揮発性メモリ、及びインターフェイス装置を含む。様々な一般的な構成要素(キャッシュメモリなど)については、説明を簡単にするために省略する。コンピュータシステム900は、本明細書で説明する構成要素のいずれかを実装できるハードウェア装置を示すものである。コンピュータシステム2200は、いずれの適用可能な公知の又は便利な種類であってもよい。コンピュータシステム2200の構成要素は、バス又は他の何らかの公知の又は便利な装置を介してともに結合することができる。
プロセッサは、例えばIntel Pentium(登録商標)マイクロプロセッサ又はMotorolaパワーPCマイクロプロセッサなどの従来のマイクロプロセッサとすることができる。当業者であれば、「機械可読(記憶)媒体」又は「コンピュータ可読(記憶)媒体」という用語が、プロセッサがアクセスできるあらゆる種類の装置を含むことを認識するであろう。
メモリは、バスなどによってプロセッサに結合される。メモリは、限定ではなく一例として、ダイナミックラム(DRAM)及びスタティックRAM(SRAM)などのランダムアクセスメモリ(RAM)を含むことができる。メモリは、ローカルメモリ、遠隔メモリ、又は分散メモリであってもよい。
バスは、プロセッサを不揮発性メモリ及びドライブユニットにも結合する。多くの場合、不揮発性メモリは、磁気フロッピ、又はCD―ROM、EPROM又はEEPROMなどの、ハードディスク、光磁気ディスク、光ディスク、読み出し専用メモリ(ROM)、磁気又は光学カード、又は多量のデータのための別の形の記憶装置である。多くの場合、このデータの一部は、コンピュータ2200内のソフトウェアの実行中に、直接メモリアクセス処理によってメモリに書き込まれる。不揮発性記憶装置は、ローカル不揮発性記憶装置、遠隔不揮発性記憶装置、又は分散型不揮発性記憶装置とすることができる。システムは、メモリ内の全ての利用可能な適用可能データで構築することができるので、不揮発性メモリは任意である。典型的なコンピュータシステムは、通常、少なくともプロセッサ、メモリ、及びメモリをプロセッサに結合する装置(バスなど)を含む。
通常、ソフトウェアは、不揮発性メモリ及び/又はドライブユニットに記憶される。実際には、大きなプログラムの場合、プログラム全体をメモリに記憶することが不可能なこともある。にもかかわらず、必要な場合には、ソフトウェアが実行のために処理に適したコンピュータ可読の場所に移動され、本明細書では、例示を目的としてこの場所のことをメモリという。ソフトウェアを実行のためにメモリに移動するときでさえ、通常、プロセッサはハードウェアレジスタを活用して、ソフトウェアに関連する値、及び理想的には実行速度を上げるように機能するローカルキャッシュを記憶する。本明細書で使用するソフトウェアプログラムは、ソフトウェアプログラムが「コンピュータ可読媒体内で実施される」と言う場合、いずれかの公知の又は便利な場所(不揮発性記憶装置からハードウェアレジスタまで)に記憶されることが想定されている。プロセッサが読み込み可能なレジスタに、プログラムに関連する少なくとも1つの値が記憶される場合、プロセッサは、「プログラムを実行するように構成されている」とみなされる。
バスは、プロセッサをネットワークインターフェイス装置にも結合する。インターフェイスは、モデム又はネットワークインターフェイスの一方は両方を含むことができる。モデム又はネットワークインターフェイスは、コンピュータシステム2200の一部と見なすことができる。インターフェイスは、アナログモデム、isdnモデム、ケーブルモデム、トークンリングインターフェイス、衛星通信インターフェイス(「ダイレクトPC」など)、又はコンピュータシステムを他のコンピュータシステムに結合するためのその他のインターフェイスを含むことができる。インターフェイス208は、1又はそれ以上の入力及び/又は出力装置を含むことができる。I/O装置は、限定ではなく一例として、キーボード、マウス又はその他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、及びディスプレイ装置を含むその他の入力及び/又は出力装置を含むことができる。ディスプレイ装置は、限定ではなく一例として、ブラウン管(CRT)、液晶ディスプレイ(LCD)、又は他の何らかの適用可能な公知の又は便利なディスプレイ装置を含むことができる。説明を簡単にするために、インターフェイス内には、図22の例には示していないいずれかの装置のコントローラが存在することが想定される。
動作中は、コンピュータシステム900を、ディスクオペレーティングシステムなどのファイル管理システムを含むオペレーティングシステムソフトウェアによって制御することができる。関連するファイル管理システムソフトウェアを含むオペレーティングシステムソフトウェアの一例として、ワシントン州レドモンドのMicrosoft社製のWindows(登録商標)として知られているオペレーティングシステムのファミリ、及びこれらの関連するファイル管理システムがある。この関連するファイル管理システムソフトウェアを含むオペレーティングシステムソフトウェアの別の例には、Linuxオペレーティングシステム及びこの関連するファイル管理システムがある。通常、ファイル管理システムは、不揮発性メモリ及び/又はドライブユニット内に記憶され、オペレーティングシステムが必要とする様々な行為をプロセッサに実行させてデータを入出力するとともに、ファイルを不揮発性メモリ及び/又はドライブユニットに記憶することを含めてメモリにデータを記憶する。
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットにおける演算のアルゴリズム及び記号表現の観点から示すことができる。これらのアルゴリズムによる記述及び表現は、データ処理における当業者が自らの研究内容を他の当業者に最も効果的に伝えるために使用する手段である。本明細書では、及び一般的に、アルゴリズムとは、望ましい結果をもたらす首尾一貫した一連の演算であると考えられる。これらの演算は、物理量の物理的操作を必要とするものである。必ずしもそうではないが、通常これらの量は、記憶、転送、合成、比較、及び別様に操作できる電気又は磁気信号の形をとる。主に共通使用という理由で、時にはこれらの信号をビット、値、要素、記号、文字、用語、番号などと呼ぶことが便利であることが分かっている。
しかしながら、これらの及び同様の用語は、全て適当な物理量に関連付けられるべきものであり、またこれらの量に与えられた便利な表記に過ぎないことに留意されたい。以下の説明から明らかなように、特に別途述べていない限り、本発明全体を通じて「processing(処理する)」又は「computing(算出する)」又は「calculating(計算する)」又は「determining(決定する)」又は「displaying(表示する)」などの用語を利用した説明は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリ、レジスタ、又はその他のこのような情報記憶装置、送信又は表示装置内の物理量として同様に表される他のデータに変換するコンピュータシステム又は同様の電子コンピュータ装置の動作及び処理を意味するものである。
本明細書で示すアルゴリズム及び表示は、本質的にいずれかの特定のコンピュータ又はその他の装置に関連するものではない。本明細書の教示に従うプログラムとともに様々な汎用システムを使用することができ、或いはいくつかの実施形態の方法を実行するために、より特殊化した装置を構成することが便利であると証明することができる。以下の説明から様々なこれらのシステムに必要な構造が明らかとなるであろう。また、いずれかの特定のプログラミング言語に関連して技術を説明しているわけではなく、従って様々なプログラミング言語を使用して様々な実施形態を実施することができる。
代替の実施形態では、機械がスタンドアロン装置として動作し、又は他の機械に接続する(例えば、ネットワーク化する)ことができる。ネットワーク化した展開では、この機械は、クライアント−サーバのネットワーク環境ではサーバ又はクライアントマシンとして、又はピアツーピア(又は分散型)ネットワーク環境ではピアマシンとして動作することができる。
この機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、ラップトップコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、iPhone、Blackberry、プロセッサ、電話、ウェブ機器、ネットワークルータ、スイッチ又はブリッジ、又はこの機械が取るべき行動を指定する(順次的な又はそれ以外の)命令セットを実行できるいずれの機械であってもよい。
例示的な実施形態では、機械可読媒体又は機械可読記憶媒体を単一の媒体として示しているが、「機械可読媒体」及び「機械可読記憶媒体」という用語は、1又はそれ以上の命令セットを記憶する単一の媒体又は複数の媒体(集中型又は分散型データベース及び/又は関連するキャッシュ及びサーバなど)を含むと理解すべきである。この「機械可読媒体」及び「機械可読記憶媒体」という用語はまた、機械が実行するための命令セットを記憶し、コード化し、又は伝達することができ、本明細書で開示した技術及び技術革新の方法のいずれか1つ又はそれ以上を機械に実行させるいずれかの媒体を含むと理解すべきである。
一般に、本開示の実施形態を実施するために実行されるルーチンは、オペレーティングシステム又は特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、又は「コンピュータプログラム」と呼ぶ一連の命令の一部として実現することができる。通常、コンピュータプログラムは、コンピュータ内の様々なメモリ及び記憶装置に様々な時点で設定され、コンピュータ内の1又はそれ以上の処理装置又はプロセッサによって読み込まれて実行された場合、本開示の様々な態様に関する要素を実行するようにコンピュータを動作させる1又はそれ以上の命令を含む。
さらに、実施形態については、完全に機能するコンピュータ及びコンピュータシステムを背景として説明したが、当業者であれば、様々な実施形態を様々な形のプログラム製品として販売することができ、また実際に販売を行うために、特定の種類の機械又はコンピュータ可読媒体に関係なく本開示が等しく適用されることを認識するであろう。
機械可読記憶媒体、機械可読媒体、又はコンピュータ可読(記憶)媒体のさらなる例として、以下に限定されるわけではないが、とりわけ揮発性及び不揮発性記憶装置、フロッピ及びその他のリムーバブルディスク、ハードディスクドライブ、(コンパクトディスク型読み出し専用メモリ(CD―ROM)、デジタル多用途ディスク(DVD)などの)光ディスクなどの記録可能型媒体、及びデジタル及びアナログ通信リンクなどの送信型媒体が挙げられる。
文脈上明確に別の意味に解す場合を除き、説明及び特許請求の範囲を通じて、「備える(comprise)」、「備えている(comprising)」という単語、及び同様の単語は、排他的又は網羅的な意味ではなく包括的な意味で、すなわち「含むけれども限定はされない」という意味で解釈すべきである。本明細書で使用する「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的ないずれかの接続又は結合を意味し、要素間の接続の結合は、物理的なもの、論理的なもの、又はこれらの組み合わせとすることができる。また、「本明細書において(herein)」、「上記で(above)」、「以下で(below)」という単語、及び同様の趣旨の単語は、本出願において使用する場合、総じて本出願のことを意味し、本出願のいずれかの特定の部分を意味するものではない。状況によっては、上記の詳細な説明において単数形又は複数形を使用する単語が、それぞれ複数又は単数を含むことがある。2又はそれ以上の項目のリストに関する「又は(or)」という単語は、リスト内の項目のいずれか、リスト内の項目全て、及びリスト内の項目のいずれかの組み合わせという単語の解釈を全て含む。
上記の本開示の実施形態についての詳細な説明は網羅的なものではなく、又は本教示を上記で開示した形に限定するものでもない。上記では、例示を目的として本開示の特定の実施形態及び例について説明しているが、当業者であれば理解するであろうように、本開示の範囲内で様々な同等の修正が可能である。例えば、処理又はブロックを所定の順序で示しているが、代替の実施形態では、ステップを有するルーチンを異なる順序で実施し、又は異なる順序のブロックを有するシステムを使用することができ、いくつかの処理又はブロックを削除、移動、追加、細分化、結合、及び/又は修正して代替例又は副結合を提供することができる。これらの処理又はブロックの各々は、様々な異なる方法で実施することができる。また、場合によって処理又はブロックが連続して実行されるように示しているが、代わりにこれらの処理又はブロックを並行して、又は異なる時間に実行することもできる。さらに、本明細書で示すあらゆる特定の数字は一例にすぎず、代替の実施構成では異なる値又は範囲を使用することができる。
本明細書で提示する本開示の教示は、上述したシステムに限らず他のシステムにも適用することができる。上述した様々な実施形態の要素及び行為を組み合わせてさらなる実施形態を提供することができる。
上述したあらゆる特許及び出願及びその他の引用文献は、添付の出願書類にリストできるあらゆるものを含め、引用により本明細書に組み入れられる。必要であれば、本開示の態様を、上述した様々な引用文献のシステム、機能及び概念を採用してさらに別の本開示の実施形態を提供するように修正することができる。
上記の詳細な説明に照らして、本開示にこれらの及びその他の変更を行うことができる。上記の説明では本開示のいくつかの実施形態について説明し、また考えられる最良の形態について説明しているが、これらが本文中でいかに詳細に見えても、様々な方法で教示を実践することができる。システムの詳細は、この実施構成の詳細において大幅に変更することができるが、それでもなお本明細書で開示する主題に含まれる。上述したように、本開示のいくつかの特徴又は態様を説明する際に使用した特定の用語を、この用語が関連する本開示のいずれかの特定の特性、特徴又は態様に制限されるように本明細書で定義し直されていることを意味するものであると理解すべきではない。一般に、以下の特許請求の範囲で使用する用語は、上記の詳細な説明の項で明確に定義していない限り、本開示を本明細書で開示する特定の実施形態に限定するものであると解釈すべきではない。従って、本開示の実際の範囲は、開示した実施形態のみならず、特許請求の範囲による開示を実践又は実施する全ての同等の方法も含むものである。
以下、本開示のいくつかの態様をいくつかの請求項の形で示すが、発明者らは、本開示の様々な態様をあらゆる数の請求項の形で検討している。例えば、米国特許法第112条第13段落に従って、本開示の1つの態様のみを手段プラス機能の請求項として記載しているが、他の態様も同様に、手段プラス機能の請求項として、又はコンピュータ可読媒体内で具体化されるような他の形で具体化することができる。(米国特許法第112条第13段落の下で処理されると想定される請求項は、いずれも「〜のための手段(means for)」という単語で始まる。)従って、出願人は、本願出願後に追加の請求項を加えて、本開示の他の態様のために追加の請求項の形を続ける権利を有している。
400 ブロックノイズ検出器
402 差分量生成器
404 dMagプロセッサ
406 dMag加算器
408 スケーリングマネージャ
410 ブロックサイズ及びオフセット評価器
412 境界マップ生成器
414 フィルタゲイン生成器
416 エッジ勾配乗数生成器
420 フィルタ制御パラメータ生成器

Claims (48)

  1. 画像内のブロックノイズを検出する方法であって、
    前記画像内の隣接する画素の画素値の差分量を算出するステップと、
    前記画像内の特徴によって生じた前記差分量から差分量の組を排除するステップと、
    前記画像にメジアンフィルタを適用して出力を生成するステップと、
    前記差分量から前記出力を減じるステップと、
    前記画像内のエッジ検出を行ってエッジ画素位置を検出するステップと、
    を含むことを特徴とする方法。
  2. 前記差分量が、横に隣接する画素の水平差分量及び縦に隣接する画素の垂直差分量を含み、
    前記水平差分量を垂直方向に平均化して、前記画像の幅の前記水平差分量の平均値の第1のベクトルを生成するステップと、
    前記垂直差分量を水平方向に平均化して、前記画像の高さの前記垂直差分量の平均値の第2のベクトルを生成するステップと、
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記第1のベクトルを前記画像の前記幅に沿った画素位置と対照させてグラフにプロットするステップをさらに含む、
    ことを特徴とする請求項2に記載の方法。
  4. 前記第2のベクトルを前記画像の前記高さに沿った画素位置と対照させてグラフにプロットするステップをさらに含む、
    ことを特徴とする請求項2に記載の方法。
  5. 前記垂直差分量の前記平均値又は前記水平差分量の前記平均値からDCレベルを除去するステップをさらに含む、
    ことを特徴とする請求項2に記載の方法。
  6. 前記DCレベルが、前記平均値にメジアンフィルタを適用し、この結果を前記平均値から減じることによって除去される、
    ことを特徴とする請求項5に記載の方法。
  7. 前記第1及び第2のベクトルの値を前記画像の前記エッジ近くに抑制するステップをさらに含む、
    ことを特徴とする請求項2に記載の方法。
  8. 1組の距離サイズ候補及び1組のオフセット候補について前記差分量の正規化した合計を求めるステップと、
    前記正規化した合計の最大値を使用して、前記ブロックノイズの距離サイズ及びオフセットを求めるステップと、
    をさらに含むことを特徴とする請求項2に記載の方法。
  9. 前記距離サイズ及びオフセットを使用して、公称ブロックサイズ及び開始境界ブロック位置を求めるステップをさらに含む、
    ことを特徴とする請求項8に記載の方法。
  10. 3つの正規化した前記差分量の合計を求めるステップをさらに含み、
    前記3つの正規化した合計の第1の合計では、公称位置及び該公称位置−1を使用して合計値を算出し、該合計値のうちの大きい方をもたらす前記位置を選択し、
    前記3つの正規化した合計の第2の合計では、公称位置及び該公称位置+1を使用して合計値を算出し、該合計値のうちの大きい方をもたらす前記位置を選択し、
    前記3つの正規化した合計の第3の合計では、前記公称位置を使用して合計値を算出し、前記公称位置を選択する、
    ことを特徴とする請求項8に記載の方法。
  11. 最大限に正規化した差分量の合計を生成する距離サイズ候補及びオフセット値を識別するステップと、
    前記最大限に正規化した合計を、前記距離サイズ候補の他の2つのオフセット値に関して算出した合計と比較して、前記ブロックノイズのブロックサイズを求めるとともに、前記公称ブロックサイズ及び前記開始境界位置を使用して最終的なブロックサイズ及びオフセット値を選択するステップと、
    をさらに含むことを特徴とする請求項10に記載の方法。
  12. 次の境界ブロック位置を識別するステップをさらに含み、
    前記次の境界ブロック位置が、
    前記開始ブロック位置を前記公称ブロックサイズにより増分することと、
    前記次の境界ブロック位置の周辺のウィンドウ内の最大又は最大に近い差分量値の位置を識別することと、
    前記最大又は最大に近い値の前記位置を前記次のブロック境界位置として選択することと、
    によって求められる、
    ことを特徴とする請求項9に記載の方法。
  13. 複数の次の境界ブロック位置を使用してブロック境界マップを生成するステップをさらに含む、
    ことを特徴とする請求項12に記載の方法。
  14. 前記差分量を使用して前記画像がスケーリングされているかどうかを判定するステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  15. 前記横及び縦に隣接する画素が1画素差である、
    ことを特徴とする請求項1に記載の方法。
  16. 閾値以上の前記差分量の組を識別し、該差分量の組を前記閾値に設定することにより、前記差分量の組を減衰させるステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  17. 前記メジアンフィルタの前記出力を前記差分量から減じるステップが、ゼロ未満の値をゼロに切り上げるステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  18. 前記エッジ検出がソーベルフィルタを使用して行われる、
    ことを特徴とする請求項1に記載の方法。
  19. 前記ソーベルフィルタが3×3である、
    ことを特徴とする請求項18に記載の方法。
  20. 前記エッジ画素位置における前記エッジ差分量を抑制するステップが、対応する勾配の大きさが勾配閾値以上の前記エッジ画素位置の位置における前記エッジ差分量をゼロに設定するステップをさらに含む、
    ことを特徴とする請求項2に記載の方法。
  21. 前記差分量が、輝度及び彩度に関して算出される、
    ことを特徴とする請求項2に記載の方法。
  22. 前記彩度に関して算出した前記差分量を使用して彩度ブロック境界マップを生成し、前記輝度に関して算出した前記差分量を使用して輝度ブロック境界マップを生成するステップをさらに含む、
    ことを特徴とする請求項21に記載の方法。
  23. 正規化した合計を使用して前記ブロックノイズのノイズ特性の組を求め、差分量データを使用して前記画像の画像特性の組を求めるステップをさらに含む、
    ことを特徴とする請求項8に記載の方法。
  24. 前記ノイズ特性の組が、ブロックノイズの強度及びブロックサイズを含み、前記画像特性の組が、前記画像内の詳細量を含む、
    ことを特徴とする請求項23に記載の方法。
  25. 前記ノイズ特性及び画像特性の組を使用してブロックノイズフィルタのゲイン値を求めるステップをさらに含む、
    ことを特徴とする請求項23に記載の方法。
  26. ブロックノイズフィルタを、画像内のブロックノイズをフィルタ処理するように構成する方法であって、
    横に隣接する画素の水平差分量及び縦に隣接する画素の垂直差分量を含む、前記画像内の隣接する画素の画素値の差分量を算出するステップと、
    前記差分量の正規化した合計を使用して前記ブロックノイズのノイズ特性の組を求めるステップと、
    差分量データを使用して前記画像の画像特性の組を求めるステップと、
    前記ノイズ特性及び画像特性の組を使用して前記ブロックノイズフィルタへの入力を構成するステップと、
    を含むことを特徴とする方法。
  27. 前記ブロックノイズフィルタへの前記入力が、垂直フィルタゲイン及び水平フィルタゲインを有するゲイン値を含む、
    ことを特徴とする請求項26に記載の方法。
  28. 前記ノイズ特性の組が、ブロックノイズの強度及びブロックサイズを含み、
    前記画像特性の組が、前記画像内の詳細量を含む、
    ことを特徴とする請求項26に記載の方法。
  29. 前記ゲイン値が、水平フィルタゲイン及び垂直フィルタゲインを含む、
    ことを特徴とする請求項26に記載の方法。
  30. ブロックノイズの強度が増加した場合に前記ブロックノイズフィルタの前記ゲイン値を増加させるステップをさらに含む、
    ことを特徴とする請求項27に記載の方法。
  31. 前記画像内の詳細量が少ない場合に前記ブロックノイズフィルタの前記ゲイン値を増加させるステップをさらに含む、
    ことを特徴とする請求項27に記載の方法。
  32. ブロックノイズが大きい場合に前記ブロックノイズフィルタの前記ゲイン値を増加させるステップをさらに含む、
    ことを特徴とする請求項27に記載の方法。
  33. 前記ブロックノイズフィルタへの前記入力が、水平エッジ乗数及び垂直エッジ乗数を有するエッジ勾配乗数をさらに含む、
    ことを特徴とする請求項26に記載の方法。
  34. ブロックノイズの強度が増加した場合に前記エッジ勾配乗数を減少させるステップをさらに含む、
    ことを特徴とする請求項33に記載の方法。
  35. 前記画像内の詳細量が多い場合に前記エッジ勾配乗数を増加させるステップをさらに含む、
    ことを特徴とする請求項33に記載の方法。
  36. 前記画像内のブロックノイズ境界位置のブロック境界マップを生成するステップをさらに含み、前記ブロック境界マップが垂直及び水平境界を含む、
    ことを特徴とする請求項26に記載の方法。
  37. 前記ブロックノイズフィルタを、前記ブロック境界マップ、前記ゲイン値、及び前記エッジ勾配乗数で構成するステップと、
    前記画像に前記ブロックノイズフィルタを適用してフィルタ処理した画像を生成するステップと、
    をさらに含むことを特徴とする請求項26に記載の方法。
  38. 前記フィルタ処理した画像にエッジブレンディングを行うステップをさらに含む、
    ことを特徴とする請求項37に記載の方法。
  39. 前記フィルタ処理した画像にエッジスムージングを行うステップをさらに含む、
    ことを特徴とする請求項37に記載の方法。
  40. 画像にブロックノイズフィルタを適用する方法であって、
    前記画像内のブロックノイズ特性に基づいて、前記ブロックノイズフィルタの、垂直ゲイン係数を含むゲイン設定を選択するステップと、
    前記垂直ゲイン係数を使用して垂直輝度フィルタの係数の組を算出するステップと、
    前記垂直ゲイン係数を使用して垂直彩度フィルタの係数の組を算出するステップと、
    前記垂直フィルタ及び彩度フィルタの前記係数を使用して前記画像を縦寸法に沿ってフィルタ処理して、垂直フィルタ処理した画像を生成するステップと、
    を含むことを特徴とする方法。
  41. 前記ゲイン設定が水平ゲイン係数を含み、
    前記水平ゲイン係数を使用して水平輝度フィルタの係数の組を算出するステップと、
    前記水平ゲイン係数を使用して水平彩度フィルタの係数の組を算出するステップと、
    前記水平フィルタ及び彩度フィルタの前記係数を使用して前記画像を横寸法に沿ってフィルタ処理して、水平フィルタ処理した画像を生成するステップと、
    をさらに含むことを特徴とする請求項40に記載の方法。
  42. 前記垂直フィルタ処理した画像と前記画像を混合することによって第1の混合画像を生成するステップと、
    前記垂直フィルタ処理した画像と前記水平フィルタ処理した画像とを混合することによって第2の混合画像を生成するステップと、
    をさらに含むことを特徴とする請求項41に記載の方法。
  43. 前記混合画像にエッジスムージングを行うステップをさらに含む、
    ことを特徴とする請求項42に記載の方法。
  44. 前記画像内の隣接する画素の画素値の差分量を算出するための手段と、
    前記画像内の特徴によって生じる前記差分量から差分量の組を排除するための手段と、
    距離サイズ候補の組及びオフセット候補の組の正規化した前記差分量の合計を求めるための手段と、
    前記差分量値の行及び列の平均を算出して求めるための手段と、
    前記距離サイズ及びオフセットを使用して公称ブロックサイズ及び開始境界ブロック位置を求めるための手段と、
    前記公称ブロックサイズを使用して前記開始ブロック位置を増分することによって求められる次の境界ブロック位置を識別する手段と、
    前記正規化した合計の最大値を使用して前記ブロックノイズの距離サイズ及びオフセットを求めるための手段と、
    複数の次の境界ブロック位置を使用してブロック境界マップを生成する手段と、
    を備えることを特徴とするシステム。
  45. 動作時に光ディスクを読み取る光ディスクリーダと、
    前記光ディスクリーダに結合されたメモリと、
    前記メモリに結合されたグラフィックプロセッサと、
    を備え、前記グラフィックプロセッサが、画像にブロックノイズフィルタを適用するアルゴリズムを実行し、該アルゴリズムが、
    前記画像内のブロックノイズ特性に基づいて、前記ブロックノイズフィルタの、垂直ゲイン係数及び水平ゲイン係数を含むゲイン設定を選択することと、
    前記垂直ゲイン係数を使用して垂直輝度フィルタの係数を算出することと、
    前記垂直ゲイン係数を使用して垂直彩度フィルタの係数を算出することと、
    前記垂直フィルタ及び彩度フィルタの前記係数を使用して、前記画像を縦寸法に沿ってフィルタ処理して垂直フィルタ処理した画像を生成することと、
    前記水平ゲイン係数を使用して水平輝度フィルタの係数を算出することと、
    前記水平ゲイン係数を使用して水平彩度フィルタの係数を算出することと、
    前記水平フィルタ及び彩度フィルタの前記係数を使用して、前記垂直フィルタ処理した画像を横寸法に沿ってフィルタ処理して水平フィルタ処理した画像を生成することと、
    前記垂直フィルタ処理した画像と前記画像とを混合することによって第1の混合画像を生成することと、
    前記垂直フィルタ処理した画像と前記水平フィルタ処理した画像とを混合することによって第2の混合画像を生成することと、
    によって実行される、
    ことを特徴とする光ディスク装置。
  46. 前記光ディスクリーダがBlu−rayディスクリーダである、
    ことを特徴とする請求項45に記載の装置。
  47. 前記光ディスクリーダがDVDリーダである、
    ことを特徴とする請求項45に記載の装置。
  48. 前記光ディスクリーダがHD−DVDリーダである、
    ことを特徴とする請求項5に記載の装置。
JP2011550203A 2009-02-10 2010-02-10 ブロックノイズの検出及びフィルタ処理 Pending JP2012517774A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15143409P 2009-02-10 2009-02-10
US61/151,434 2009-02-10
PCT/US2010/023775 WO2010093709A2 (en) 2009-02-10 2010-02-10 Block noise detection and filtering

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014204094A Division JP5839631B2 (ja) 2009-02-10 2014-10-02 ブロックノイズの検出方法

Publications (2)

Publication Number Publication Date
JP2012517774A true JP2012517774A (ja) 2012-08-02
JP2012517774A5 JP2012517774A5 (ja) 2013-04-11

Family

ID=42540320

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011550203A Pending JP2012517774A (ja) 2009-02-10 2010-02-10 ブロックノイズの検出及びフィルタ処理
JP2014204094A Expired - Fee Related JP5839631B2 (ja) 2009-02-10 2014-10-02 ブロックノイズの検出方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014204094A Expired - Fee Related JP5839631B2 (ja) 2009-02-10 2014-10-02 ブロックノイズの検出方法

Country Status (6)

Country Link
US (2) US8452117B2 (ja)
EP (1) EP2396966B1 (ja)
JP (2) JP2012517774A (ja)
KR (2) KR101649882B1 (ja)
CN (2) CN102349107B (ja)
WO (1) WO2010093709A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014192896A (ja) * 2013-03-26 2014-10-06 Tektronix Inc ブロック・アトリビュート決定システム及び方法
KR20180072548A (ko) * 2016-12-21 2018-06-29 애피컬 리미티드 이미지 데이터의 인코딩 및 디코딩
JP2020531991A (ja) * 2017-12-08 2020-11-05 サムスン エレクトロニクス カンパニー リミテッド ディスプレイ装置およびディスプレイ装置の制御方法

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7982798B2 (en) 2005-09-08 2011-07-19 Silicon Image, Inc. Edge detection
JP5336939B2 (ja) * 2009-06-15 2013-11-06 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US8587705B2 (en) * 2010-06-28 2013-11-19 Intel Corporation Hardware and software partitioned image processing pipeline
US8600188B2 (en) 2010-09-15 2013-12-03 Sharp Laboratories Of America, Inc. Methods and systems for noise reduction and image enhancement
US8588535B2 (en) 2010-09-15 2013-11-19 Sharp Laboratories Of America, Inc. Methods and systems for estimation of compression noise
KR101704439B1 (ko) * 2010-09-28 2017-02-09 삼성전자주식회사 메디안 필터링 방법 및 장치
US8532429B2 (en) 2010-09-28 2013-09-10 Sharp Laboratories Of America, Inc. Methods and systems for noise reduction and image enhancement involving selection of noise-control parameter
US8538193B2 (en) 2010-09-28 2013-09-17 Sharp Laboratories Of America, Inc. Methods and systems for image enhancement and estimation of compression noise
CN102447817B (zh) * 2010-09-30 2014-11-26 瑞昱半导体股份有限公司 图像处理装置与空间图像噪声消除方法
US8471932B2 (en) * 2010-09-30 2013-06-25 Apple Inc. Spatial filtering for image signal processing
US9025675B2 (en) * 2011-06-22 2015-05-05 Texas Instruments Incorporated Systems and methods for reducing blocking artifacts
AU2011265383A1 (en) * 2011-12-20 2013-07-04 Canon Kabushiki Kaisha Geodesic superpixel segmentation
US9071842B2 (en) * 2012-04-19 2015-06-30 Vixs Systems Inc. Detection of video feature based on variance metric
US9071825B2 (en) * 2012-04-24 2015-06-30 Tektronix, Inc. Tiling or blockiness detection based on spectral power signature
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
JP6620354B2 (ja) * 2015-09-30 2019-12-18 Kddi株式会社 動画像の処理装置、処理方法及びコンピュータ可読記憶媒体
US10441071B2 (en) * 2017-12-19 2019-10-15 PierPoint, Inc. Travel tray and container system
CN108566551B (zh) * 2018-04-18 2020-11-27 上海顺久电子科技有限公司 一种图像处理方法及装置
CN113994671A (zh) * 2019-06-14 2022-01-28 北京字节跳动网络技术有限公司 基于颜色格式处理视频单元边界和虚拟边界
CN110322463B (zh) * 2019-06-18 2021-07-20 合肥安杰特光电科技有限公司 一种可用于高速图像的边缘检测方法
JP7291846B2 (ja) 2019-07-09 2023-06-15 北京字節跳動網絡技術有限公司 適応ループフィルタリングのためのサンプル決定
WO2021004542A1 (en) 2019-07-11 2021-01-14 Beijing Bytedance Network Technology Co., Ltd. Sample padding in adaptive loop filtering
KR20220031611A (ko) 2019-07-15 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 루프 필터링에서의 분류
WO2021052509A1 (en) 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Selective application of sample padding in adaptive loop filtering
WO2021057946A1 (en) 2019-09-27 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Adaptive loop filtering between different video units
CN114556939A (zh) 2019-10-10 2022-05-27 北京字节跳动网络技术有限公司 自适应环路滤波中不可用样点位置处的填充处理
KR20220083715A (ko) * 2019-10-29 2022-06-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 루마 차이를 이용한 크로스 컴포넌트 적응적 루프 필터
CN111445427B (zh) * 2020-05-20 2022-03-25 青岛信芯微电子科技股份有限公司 视频图像处理方法以及显示设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070242896A1 (en) * 2006-04-18 2007-10-18 Pioneer Corporation Block noise removal device
JP2007312370A (ja) * 2006-04-18 2007-11-29 Pioneer Electronic Corp ブロックノイズ除去装置

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US723209A (en) * 1902-05-20 1903-03-17 Gerhard Reimers Grease-cup.
US4573070A (en) * 1977-01-31 1986-02-25 Cooper J Carl Noise reduction system for video signals
US4997321A (en) 1989-01-24 1991-03-05 Adams Dale R Apparatus for aligning and reboring a damaged throughbore of a housing
US5357606A (en) 1992-02-25 1994-10-18 Apple Computer, Inc. Row interleaved frame buffer
KR960028124A (ko) 1994-12-30 1996-07-22 이몬 제이. 월 필름 소스에 의해 생성된 비디오 필드 식별 방법 및 장치
US5550592A (en) 1995-04-25 1996-08-27 Texas Instruments Incorporated Film mode progressive scan conversion
US5852475A (en) 1995-06-06 1998-12-22 Compression Labs, Inc. Transform artifact reduction process
US5532751A (en) 1995-07-31 1996-07-02 Lui; Sam Edge-based interlaced to progressive video conversion system
US5857118A (en) 1995-08-04 1999-01-05 Apple Computer, Inc. shared video display in a multiple processor computer system
US6064776A (en) 1995-10-27 2000-05-16 Kabushiki Kaisha Toshiba Image processing apparatus
US5790269A (en) 1995-12-12 1998-08-04 Massachusetts Institute Of Technology Method and apparatus for compressing and decompressing a video image
EP0809409B1 (en) * 1996-05-24 2001-08-29 Matsushita Electric Industrial Co., Ltd. Method and circuit to determine a noise value that corresponds to the noise in a signal
US5796875A (en) 1996-08-13 1998-08-18 Sony Electronics, Inc. Selective de-blocking filter for DCT compressed images
CN1216199A (zh) 1997-01-30 1999-05-05 松下电器产业株式会社 数字图象填补方法、图象处理装置及数据记录媒体
JP3095140B2 (ja) 1997-03-10 2000-10-03 三星電子株式会社 ブロック化効果の低減のための一次元信号適応フィルター及びフィルタリング方法
DE69720192T2 (de) 1997-05-30 2003-12-04 St Microelectronics Srl Nachverarbeitungsmethode zur Verringerung von Artefakten in blockweise kodierten digitalen Bildern, und Vorrichtung zur Verwendung der Methode
US6069664A (en) 1997-06-04 2000-05-30 Matsushita Electric Industrial Co., Ltd. Method and apparatus for converting a digital interlaced video signal from a film scanner to a digital progressive video signal
WO1999018727A1 (en) 1997-10-06 1999-04-15 Dvdo, Inc. Digital video system and methods for providing same
US6014182A (en) 1997-10-10 2000-01-11 Faroudja Laboratories, Inc. Film source video detection
US6055018A (en) 1997-11-04 2000-04-25 Ati Technologies, Inc. System and method for reconstructing noninterlaced captured content for display on a progressive screen
US6229578B1 (en) * 1997-12-08 2001-05-08 Intel Corporation Edge-detection based noise removal algorithm
JP4186242B2 (ja) * 1997-12-26 2008-11-26 ソニー株式会社 画像信号処理装置及び画像信号処理方法
CN100369488C (zh) * 1998-05-22 2008-02-13 松下电器产业株式会社 数据块噪声消除装置及点时钟信号控制装置
US6285801B1 (en) 1998-05-29 2001-09-04 Stmicroelectronics, Inc. Non-linear adaptive image filter for filtering noise such as blocking artifacts
US6587158B1 (en) 1998-07-23 2003-07-01 Dvdo, Inc. Method and apparatus for reducing on-chip memory in vertical video processing
US6681059B1 (en) 1998-07-28 2004-01-20 Dvdo, Inc. Method and apparatus for efficient video scaling
US6489998B1 (en) 1998-08-11 2002-12-03 Dvdo, Inc. Method and apparatus for deinterlacing digital video images
US6999047B1 (en) 1998-08-12 2006-02-14 Koninklijke Philips Electronics N.V. Displaying video on a plasma display panel
US6515706B1 (en) 1998-09-15 2003-02-04 Dvdo, Inc. Method and apparatus for detecting and smoothing diagonal features video images
US6700622B2 (en) 1998-10-02 2004-03-02 Dvdo, Inc. Method and apparatus for detecting the source format of video images
US7236209B2 (en) 1998-11-30 2007-06-26 Monster Cable Products, Inc. Method and apparatus for automatic selection of video interface
US6473476B1 (en) 1999-01-06 2002-10-29 Dvdo, Incorporated Method and apparatus for providing deterministic resets for clock divider systems
US6393505B1 (en) 1999-01-06 2002-05-21 Dvdo, Inc. Methods and apparatus for data bus arbitration
US6219747B1 (en) 1999-01-06 2001-04-17 Dvdo Inc Methods and apparatus for variable length SDRAM transfers
US6975777B1 (en) 1999-03-26 2005-12-13 Victor Company Of Japan, Ltd. Apparatus and method of block noise detection and reduction
JP3603995B2 (ja) 1999-03-31 2004-12-22 シャープ株式会社 高周波無線通信装置
US6421090B1 (en) 1999-08-27 2002-07-16 Trident Microsystems, Inc. Motion and edge adaptive deinterlacing
US6459455B1 (en) 1999-08-31 2002-10-01 Intel Corporation Motion adaptive deinterlacing
US6621937B1 (en) 1999-10-08 2003-09-16 Eastman Kodak Company Removing chroma noise from digital images by using variable shape pixel neighborhood regions
JP2001245155A (ja) 1999-12-24 2001-09-07 Sanyo Electric Co Ltd 画像データのエッジ補正方法、及びその装置
US7089577B1 (en) 2000-01-14 2006-08-08 Terayon Communication Systems, Inc. Process for supplying video-on-demand and other requested programs and services from a headend
KR100351816B1 (ko) 2000-03-24 2002-09-11 엘지전자 주식회사 포맷 변환 장치
WO2001080559A2 (en) 2000-04-18 2001-10-25 Silicon Image Method, system and apparatus for identifying the source type and quality level of a video sequence
CA2344615A1 (en) 2000-09-08 2002-03-08 Jaldi Semiconductor Corp. A method and apparatus for motion adaptive deinterlacing
US7016080B2 (en) * 2000-09-21 2006-03-21 Eastman Kodak Company Method and system for improving scanned image detail
US6757442B1 (en) 2000-11-22 2004-06-29 Ge Medical Systems Global Technology Company, Llc Image enhancement method with simultaneous noise reduction, non-uniformity equalization, and contrast enhancement
JP4086479B2 (ja) 2001-03-23 2008-05-14 Necディスプレイソリューションズ株式会社 画質改善装置および画質改善方法
US7023487B1 (en) 2002-01-25 2006-04-04 Silicon Image, Inc. Deinterlacing of video sources via image feature edge detection
US6975776B2 (en) 2002-02-14 2005-12-13 Tektronix, Inc. Predicting human vision perception and perceptual difference
US7154556B1 (en) 2002-03-21 2006-12-26 Pixelworks, Inc. Weighted absolute difference based deinterlace method and apparatus
JP3865732B2 (ja) 2002-04-01 2007-01-10 松下電器産業株式会社 フィールド補間方式決定装置
JP4060748B2 (ja) 2002-05-07 2008-03-12 松下電器産業株式会社 画像角度検出装置それを備えた走査線補間装置
US7136541B2 (en) 2002-10-18 2006-11-14 Sony Corporation Method of performing sub-pixel based edge-directed image interpolation
KR20040054032A (ko) 2002-12-16 2004-06-25 삼성전자주식회사 영상신호의 포맷 검출장치 및 방법
KR100505663B1 (ko) 2003-01-02 2005-08-03 삼성전자주식회사 적응형 윤곽 상관 보간에 의한 디스플레이 장치의 순차주사 방법
KR100510671B1 (ko) 2003-01-08 2005-08-31 엘지전자 주식회사 인터레이스 영상에서의 동일 프레임 검출 장치
US7154555B2 (en) 2003-01-10 2006-12-26 Realnetworks, Inc. Automatic deinterlacing and inverse telecine
US7394856B2 (en) * 2003-09-19 2008-07-01 Seiko Epson Corporation Adaptive video prefilter
JP2005122361A (ja) 2003-10-15 2005-05-12 Sony Computer Entertainment Inc 画像処理装置及び方法、コンピュータプログラム、記録媒体
JP4280614B2 (ja) 2003-12-09 2009-06-17 Okiセミコンダクタ株式会社 ノイズ低減回路及び方法
TWI225365B (en) 2003-12-12 2004-12-11 Sunplus Technology Co Ltd Detecting apparatus capable of detecting bad edition of image signal
US7362376B2 (en) 2003-12-23 2008-04-22 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7345708B2 (en) 2003-12-23 2008-03-18 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7400359B1 (en) 2004-01-07 2008-07-15 Anchor Bay Technologies, Inc. Video stream routing and format conversion unit with audio delay
US7349028B2 (en) 2004-01-30 2008-03-25 Broadcom Corporation Method and system for motion adaptive deinterlacer with integrated directional filter
US7557861B2 (en) 2004-01-30 2009-07-07 Broadcom Corporation Reverse pull-down video using corrective techniques
US7529426B2 (en) 2004-01-30 2009-05-05 Broadcom Corporation Correlation function for signal detection, match filters, and 3:2 pulldown detection
US7412096B2 (en) 2004-01-30 2008-08-12 Broadcom Corporation Method and system for interpolator direction selection during edge detection
US7257272B2 (en) 2004-04-16 2007-08-14 Microsoft Corporation Virtual image generation
CN1326399C (zh) 2004-04-29 2007-07-11 华亚微电子(上海)有限公司 隔行视频流到逐行视频流的转换方法与系统
JP4534594B2 (ja) 2004-05-19 2010-09-01 ソニー株式会社 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
US7391468B2 (en) 2004-07-06 2008-06-24 Magnum Semiconductor, Inc. Telecine conversion detection for progressive scan playback
US7710501B1 (en) 2004-07-12 2010-05-04 Anchor Bay Technologies, Inc. Time base correction and frame rate conversion
KR101127220B1 (ko) 2004-07-28 2012-04-12 세종대학교산학협력단 움직임 보상 적응형 순차주사화 장치 및 그 방법
CA2616875A1 (en) * 2004-07-30 2006-02-02 Algolith Inc. Apparatus and method for adaptive 3d artifact reducing for encoded image signal
US7468757B2 (en) 2004-10-05 2008-12-23 Broadcom Corporation Detection and correction of irregularities while performing inverse telecine deinterlacing of video
JP3916637B2 (ja) 2005-03-08 2007-05-16 三菱電機株式会社 映像信号処理装置、映像信号処理方法、及び映像信号表示装置
US7657098B2 (en) 2005-05-02 2010-02-02 Samsung Electronics Co., Ltd. Method and apparatus for reducing mosquito noise in decoded video sequence
KR101120092B1 (ko) 2005-06-04 2012-03-23 삼성전자주식회사 복합 영상 신호의 화질 개선 방법, 그 장치 및 복합 영상신호의 디코딩 방법 및 장치
US7414671B1 (en) 2005-06-30 2008-08-19 Magnum Semiconductor, Inc. Systems and methods for display object edge detection and pixel data interpolation in video processing systems
US7982798B2 (en) 2005-09-08 2011-07-19 Silicon Image, Inc. Edge detection
US7865035B2 (en) 2005-10-06 2011-01-04 Samsung Electronics Co., Ltd. Video quality adaptive coding artifact reduction
CN1761286A (zh) * 2005-11-03 2006-04-19 上海交通大学 用边缘检测、运动检测和中值滤波去除蚊式噪声的方法
US7474671B2 (en) * 2005-11-04 2009-01-06 Research In Motion Limited System and method for resolving contention among applications requiring data connections between a mobile communications device and a wireless network
US8274605B2 (en) 2005-11-10 2012-09-25 Broadcom Corporation System and method for adjacent field comparison in video processing
JP4710635B2 (ja) 2006-02-07 2011-06-29 ソニー株式会社 画像処理装置および方法、記録媒体、並びに、プログラム
TWI323606B (en) * 2006-02-22 2010-04-11 Huper Lab Co Ltd Image noise reduction method based on local correlation
JP4649355B2 (ja) * 2006-03-27 2011-03-09 富士通株式会社 ブロックノイズ検出方法及び装置並びにブロックノイズ低減方法及び装置
KR101277255B1 (ko) 2006-06-13 2013-06-26 서강대학교산학협력단 복합 영상 신호에서의 화질 개선 방법 및 그 장치, 복합영상 신호에서의 왜곡 제거 방법 및 그 장치
US7551800B2 (en) 2006-08-09 2009-06-23 Fotonation Vision Limited Detection of airborne flash artifacts using preflash image
CN101123677B (zh) * 2006-08-11 2011-03-02 松下电器产业株式会社 改善图像锐度的方法、装置及集成电路
US20080143873A1 (en) 2006-12-15 2008-06-19 Darren Neuman Tv user interface and processing for personal video players
JP4290193B2 (ja) * 2006-12-26 2009-07-01 三洋電機株式会社 画像処理装置
US8189946B2 (en) * 2007-01-24 2012-05-29 Canon Kabushiki Kaisha Image processing apparatus and method thereof for detecting and removing noise in decoded images
US7940992B2 (en) 2007-03-05 2011-05-10 Siemens Aktiengesellschaft Visual discrimination model for single image applications
US8195002B2 (en) * 2007-06-14 2012-06-05 Texas Instruments Incorporated Adaptive post-deringing filter on compressed images
KR100872253B1 (ko) * 2007-08-23 2008-12-05 삼성전기주식회사 이미지 센서에 의해 생성된 이미지의 노이즈 제거 방법
JP5076755B2 (ja) * 2007-09-07 2012-11-21 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JPWO2009037803A1 (ja) * 2007-09-20 2011-01-06 パナソニック株式会社 画像ノイズ除去装置、画像ノイズ除去方法及び画像ノイズ除去プログラム
US8331717B2 (en) * 2007-10-03 2012-12-11 Panasonic Corporation Method and apparatus for reducing block noise
CN101237523B (zh) * 2008-02-25 2013-03-06 宝利微电子系统控股公司 主边缘检测方法和基于该方法的降噪方法及装置
US8559746B2 (en) * 2008-09-04 2013-10-15 Silicon Image, Inc. System, method, and apparatus for smoothing of edges in images to remove irregularities
JP5352191B2 (ja) * 2008-10-31 2013-11-27 三星電子株式会社 ノイズ低減装置、ノイズ低減方法及びプログラム
US8559716B2 (en) * 2011-05-19 2013-10-15 Foveon, Inc. Methods for suppressing structured noise in a digital image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070242896A1 (en) * 2006-04-18 2007-10-18 Pioneer Corporation Block noise removal device
JP2007312370A (ja) * 2006-04-18 2007-11-29 Pioneer Electronic Corp ブロックノイズ除去装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014192896A (ja) * 2013-03-26 2014-10-06 Tektronix Inc ブロック・アトリビュート決定システム及び方法
KR20180072548A (ko) * 2016-12-21 2018-06-29 애피컬 리미티드 이미지 데이터의 인코딩 및 디코딩
JP2018107797A (ja) * 2016-12-21 2018-07-05 アピカル リミテッド 画像データのエンコード及びデコード
KR102531468B1 (ko) * 2016-12-21 2023-05-11 암, 리미티드 이미지 데이터의 인코딩 및 디코딩
JP2020531991A (ja) * 2017-12-08 2020-11-05 サムスン エレクトロニクス カンパニー リミテッド ディスプレイ装置およびディスプレイ装置の制御方法
US11290750B2 (en) 2017-12-08 2022-03-29 Samsung Electronics Co., Ltd. Display apparatus and method of controlling the same

Also Published As

Publication number Publication date
JP5839631B2 (ja) 2016-01-06
CN104702965A (zh) 2015-06-10
EP2396966B1 (en) 2018-09-05
WO2010093709A2 (en) 2010-08-19
CN102349107B (zh) 2015-02-18
KR101649882B1 (ko) 2016-08-22
JP2015043595A (ja) 2015-03-05
KR20110116055A (ko) 2011-10-24
CN104702965B (zh) 2018-01-26
CN102349107A (zh) 2012-02-08
KR101699837B1 (ko) 2017-01-25
US8891897B2 (en) 2014-11-18
US20100202262A1 (en) 2010-08-12
KR20150024947A (ko) 2015-03-09
US8452117B2 (en) 2013-05-28
EP2396966A2 (en) 2011-12-21
US20130322778A1 (en) 2013-12-05
EP2396966A4 (en) 2015-04-15
WO2010093709A3 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
JP5839631B2 (ja) ブロックノイズの検出方法
EP2332325B1 (en) System, method, and apparatus for smoothing of edges in images to remove irregularities
US7406208B2 (en) Edge enhancement process and system
TWI575503B (zh) 影像處理裝置及影像處理方法
TWI406571B (zh) Image Processing Method for Enhancing Image Edge Resolution
JP2000032465A (ja) ブロッキングア―チファクト等のノイズを除去するための非線形適応性イメ―ジフィルタ
WO2011033619A1 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び、記憶媒体
JPWO2002093935A1 (ja) 画像処理装置
US7570831B2 (en) System and method for estimating image noise
KR20090102610A (ko) 영상 스케일링 검출 방법 및 장치
JP2007053618A (ja) データ処理装置およびデータ処理方法、並びにプログラム
US20130022288A1 (en) Image processing apparatus and method for reducing edge-induced artefacts
EP2461291A1 (en) Detecting a border region in an image
Trentacoste et al. Unsharp masking, countershading and halos: enhancements or artifacts?
US20110243472A1 (en) Image processing device and spatial noise reducing method
JP2009212969A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2011065339A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び、記憶媒体
EP1631068A2 (en) Apparatus and method for converting interlaced image into progressive image
JP2005527051A (ja) 鮮鋭化されたエッジを計算するユニットおよび方法
Nasonov et al. Adaptive image deringing
JP2014045398A (ja) 画像処理装置、および画像処理方法、並びにプログラム
JPH1166292A (ja) ノイズ低減装置
Bronstein SIMD implementation of the bilateral filter

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140227

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140320

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140320

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140603