(57)【要約】ひとことで言うと、本原理のある好ましい実施形態によれば、画像のブロックに加えるためのフィルム粒子のブロックのシミュレーションが、まずブロックの少なくとも一つの属性に従って少なくとも一つの画像パラメータを確立することによって行われる。その後、フィルム粒子のブロックが画像パラメータに従って確立される。フィルム粒子ブロックにブロッキング除去フィルタ処理を適用することもできる。
2008517530.tif 000002
【特許請求の範囲】
【請求項１】
画像のブロックに加えるためのフィルム粒子ブロックをシミュレートする方法であって：
少なくとも部分的には前記ブロックの属性に従って、少なくとも一つのパラメータを確立する段階と、
前記少なくとも一つのパラメータに従って少なくとも一つのフィルム粒子ブロックを確立する段階、
とを有する方法。
【請求項２】
前記フィルム粒子ブロック[JL3]をブロッキング除去フィルタ処理する段階をさらに含む、請求項１記載の方法。
【請求項３】
少なくとも一つのフィルム粒子ブロックを確立する前記段階が：
複数のフィルム粒子パターンを選択のために提供する段階と；
前記複数のフィルム粒子パターンのうちから源パターンを選択する段階と；
前記源パターンからフィルム粒子ブロックを選択する段階、
とを有する、請求項１記載の方法。
【請求項４】
前記少なくとも一つの画像パラメータが平均ピクセル強度を含む、請求項１記載の方法。
【請求項５】
前記平均ピクセル強度を、前記画像に伴う補足情報に含まれているピクセル強度の上下の閾値に従って閾値処理する段階をさらに有する、請求項４記載の方法。
【請求項６】
フィルム粒子パターンからフィルム粒子ブロックを選択する前記段階がさらに、フィルム粒子ブロックをランダムに選択する段階である、請求項３記載の方法。
【請求項７】
前記フィルム粒子パターンからフィルム粒子ブロックをランダムに選択する段階が：
第一および第二の擬似乱数を発生させる段階と；
前記第一および第二の擬似乱数に基づいて前記フィルム粒子パターン内の第一および第二のオフセットを生成する段階と；
前記フィルム粒子パターン内で前記第一および第二のオフセットによって指定される位置において前記フィルム粒子ブロックを抽出する段階、
とを有する、請求項６記載の方法。
【請求項８】
前記抽出されたフィルム粒子ブロックをスケーリングする段階をさらに有する、請求項７記載の方法。
【請求項９】
前記第一および第二の数を発生させる段階が：
マクロブロックの色成分に従って選択されたシード値をシフトレジスタにシードとして与える段階と、
上位ビットの組を前記第一の乱数として抽出する段階と、
下位ビットの組を前記第二の乱数として抽出する段階、
とをさらに有する、請求項７記載の方法。
【請求項１０】
複数のフィルム粒子パターンを選択のために提供する段階がさらに、あらかじめ決められたフィルム粒子パターンのデータベースに中身をもたせる段階をさらに有する、請求項３記載の方法。
【請求項１１】
前記のブロッキング除去されたフィルム粒子パターンを前記画像ブロックと合成する段階をさらに有する、請求項１記載の方法。
【請求項１２】
前記ブロッキング除去する段階がさらに、隣接するフィルム粒子ブロックどうしの間の垂直方向の辺をブロッキング除去する段階をさらに有する、請求項１記載の方法。
【請求項１３】
画像の少なくとも一つのブロックにおいて4:2:0のクロマ・フォーマットでフィルム粒子をシミュレートする方法であって：
前記少なくとも一つのブロックの少なくとも一つの属性に従って4:4:4のクロマ・フォーマットで少なくとも一つのフィルム粒子パラメータを確立する段階と；
フィルム粒子パターンのデータベースから、前記少なくとも一つのフィルム粒子パラメータに従って該データベースからフィルム粒子ブロックをランダムに選択することによって、フィルム粒子ブロックを導出する段階；
とを有する方法。
【請求項１４】
前記導出されたフィルム粒子ブロック[JL5]の少なくとも一部分をブロッキング除去する段階をさらに有する、請求項１３記載の方法。
【請求項１５】
前記ブロッキング除去されたフィルム粒子ブロック[JL6]を前記少なくとも一つの画像ブロックと合成する段階をさらに有する、請求項１３記載の方法。
【請求項１６】
画像のブロックに加えるためのフィルム粒子ブロックをシミュレートする装置であって：
少なくとも部分的には前記ブロックの属性に従って、少なくとも一つのパラメータを確立するためで、かつ、前記パラメータに従って少なくとも一つのフィルム粒子ブロックを確立するためのフィルム粒子シミュレータ、
を有する装置。
【請求項１７】
前記フィルム粒子ブロック[JL7]をブロッキング除去フィルタ処理するためのブロッキング除去フィルタをさらに有する、請求項１６記載の装置。
【請求項１８】
前記フィルム粒子シミュレータが：
複数のフィルム粒子パターンを選択のために提供するデータベースと；
前記複数のフィルム粒子パターンのうちから源パターンを選択する手段と；
前記源パターンからフィルム粒子ブロックを選択する手段、
とを有する、請求項１６記載の装置。
【請求項１９】
前記少なくとも一つの画像パラメータが平均ピクセル強度を含む、請求項１６記載の装置。
【請求項２０】
前記平均ピクセル強度を、前記画像に伴う補足情報に含まれているピクセル強度の上下の閾値に従って閾値処理する手段をさらに有する、請求項１９記載の装置。
【請求項２１】
フィルム粒子パターンからフィルム粒子ブロックを選択する前記手段がさらに、フィルム粒子ブロックをランダムに選択する手段を有する、請求項１８記載の装置。
【請求項２２】
前記フィルム粒子パターンからフィルム粒子ブロックをランダムに選択する手段が：
第一および第二の擬似乱数を発生させる手段と；
前記第一および第二の擬似乱数に基づいて前記フィルム粒子パターン内の第一および第二のオフセットを生成する手段と；
前記フィルム粒子パターン内で前記第一および第二のオフセットによって指定される位置において前記フィルム粒子ブロックを抽出する手段、
とを有する、請求項２１記載の装置。
【請求項２３】
前記抽出されたフィルム粒子ブロックをスケーリングする手段をさらに有する、請求項２２記載の装置。
【請求項２４】
前記第一および第二の擬似乱数を発生させる手段が：
マクロブロックの色成分に従って選択されたシード値をシードとして与えられる、上位ビットの組を前記第一の乱数として、下位ビットの組を前記第二の乱数として生じるためのシフトレジスタをさらに有する、請求項２２記載の装置。
【請求項２５】
前記データベースがあらかじめ決められたフィルム粒子パターンを含んでいる、請求項１８記載の装置。
【請求項２６】
前記のブロッキング除去されたフィルム粒子パターンをマクロブロックと合成する手段をさらに有する、請求項１６記載の装置。
【請求項２７】
前記ブロッキング除去フィルタが、隣接するフィルム粒子ブロックどうしの間の垂直方向の辺をブロッキング除去する、請求項１７記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
〈関連出願への相互参照〉
本出願は米国特許法第１１９条（ｅ）のもとで、2004年10月18日に出願された米国仮特許出願第60/619,655号の優先権を主張するものであり、該文献の教示はここに組み込まれる。
〈技術分野〉
本発明は画像におけるフィルム粒子をシミュレートするための技法に関係する。
【背景技術】
【０００２】
動画のフィルムはハロゲン化銀の結晶を乳剤中に分散させたものをフィルムベース上に薄い層としてコーティングしたものである。それらの結晶の露光と現像が、ばらばらな銀の微小粒子からなる写真像を形成する。カラーネガでは、銀は現像後、化学的な除去を受け、銀結晶が形成される場所には色素の小さなしみが生じる。これらの色素の小さな斑点は普通、カラーフィルムにおける粒子（grain）と呼ばれる。もとの乳剤上で銀の結晶がランダムに生成するため、結果として得られる像の上で粒子はランダムに分布しているように見える。一様に露光された領域内でも、露光後に現像される結晶もあれば、現像されない結晶もある。
【０００３】
粒子は大きさと形がさまざまである。フィルムが高速なほど、形成される銀のかたまりおよび生成される色素のしみは大きく、それらはより、ランダムなパターンでまとまる傾向をもつ。粒子パターンは典型的には粒状性（granularity）として知られる。個々の粒子は0.0002mmから約0.002mmとさまざまであり、裸眼で見分けることはできないが、その代わり、目は粒子のグループを解像する。これは小滴（blob）と称される。観察者はそれらの小滴の集まりをフィルムの粒子として識別する。像の解像度が大きくなるほど、フィルムの粒子の知覚は高くなる。フィルムの粒子は映画および高精細度画像では明瞭に認識できる一方、標準精細度テレビでは漸次重要性を失い、それより小さなフォーマットでは知覚できなくなる。
【０００４】
動画フィルムは典型的には、写真フィルムの露光および現像という物理的プロセスから、あるいは画像のその後の編集から帰結する画像依存のノイズを含んでいる。写真フィルムは、写真乳剤の物理的な粒状性から帰結する、特徴的な準ランダムなパターンすなわちきめ（texture）を有する。あるいはまた、計算により生成した画像を写真フィルムに合成するために同様のパターンをシミュレートすることもできる。いずれの場合でも、この画像依存ノイズは粒子と呼ばれる。しばしば、ほどほどの粒子のきめが動画における望ましい特徴を呈する。いくつかの事例では、フィルム粒子は二次元映像の正しい知覚を容易にする視覚的手がかりを与える。フィルム粒子はしばしば、時間基準、視点などについてのさまざまな手がかりを与えるために単一のフィルム内で変化をつけられる。動画産業では粒子のきめを制御するための他の多くの技術的および芸術的使用が存在している。したがって、画像処理および配送チェーンを通じて画像の粒子のある見かけを保存することは、動画産業における要件となっている。
【０００５】
商業的に入手可能ないくつかの製品は、フィルム粒子をシミュレートする機能をもつ。これはしばしばコンピュータ生成されたオブジェクトを自然の場面に合成するためである。米国ニューヨーク州ロチェスターのイーストマン・コダック社からのCineon（登録商標）は、粒子シミュレーションを実装した最初のデジタルフィルムアプリケーションの一つであるが、多くの粒子タイプについて非常にリアルな結果を生じる。しかし、Cineon（登録商標）アプリケーションは、多くの高速フィルムについては良好なパフォーマンスを与えない。これは、高い粒子サイズ設定については該アプリケーションは認識できる斜めの縞を生じてしまうからである。さらに、Cineon（登録商標）アプリケーションは、たとえば画像がコピーまたはデジタル処理されるなど、画像が前処理にかけられるときには十分な忠実度をもった粒子をシミュレートできない。
【０００６】
フィルム粒子をシミュレートするもう一つの商業製品はビジュアル・インフィニティ社からのGrain  Surgery（商標）である。これはAdobe（登録商標）After  Effects（登録商標）のプラグインとして使用される。Grain  Surgery（商標）製品は、乱数の組をフィルタ処理することによって人工的な粒子を生成するように見える。このアプローチは計算量が多いという欠点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
これらの過去の方式はいずれも、圧縮されたビデオにおいてフィルム粒子を復元する問題は解決しない。フィルム粒子は高周波数の準ランダムな現象をなし、それは典型的には、ビデオシーケンスにおける冗長性を利用する通常の空間的および時間的方法を使った圧縮にはかけられない。フィルム由来の画像をMPEG-2またはITU-T  Rec.H.264|ISO/IEC14496-10圧縮技法を使って処理する試みは、通常、受け容れられないほど低い圧縮率か、粒子のきめの完全な消失につながる。
【０００８】
こうして、フィルムのきめをシミュレートする技法、特に比較的計算量の少ない技法の必要性が存在する。
【課題を解決するための手段】
【０００９】
ひとことで言うと、本原理のある好ましい実施形態によれば、画像のマクロブロックに加えるためのフィルム粒子のブロックのシミュレーションが、まずマクロブロックの少なくとも一つの属性に少なくとも部分的に従って少なくとも一つの画像パラメータを確立することによって行われる。その後、フィルム粒子のブロックが画像パラメータに従って確立される。
【発明を実施するための最良の形態】
【００１０】
個々のフィルム粒子ブロックからなるビット精確な（bit-accurate）フィルム粒子パターンをシミュレートするための本原理の技術を理解するため、フィルム粒子シミュレーションの手短な外観が役立つだろう。図１は送信機１０のブロック概略図を描いている。送信機１０は入力ビデオ信号を受け取り、その出力に圧縮されたビデオストリームを生成する。さらに、送信機１０は、サンプル中に存在するフィルム粒子（もし存在すれば）を示す情報をも生成する。実際上、送信機１０は、ケーブルテレビシステムまたは圧縮されたビデオを一つもしくは複数の下流の受信機１１に配信する他のそのようなシステムの、ヘッドエンド・アレイの一部をなすことができる。図１では受信機は一つだけ示されている。送信機１０は、DVDのような媒体を提供するエンコーダの形をとることもできる。受信機１１は、符号化されたビデオストリームを復号し、前記のフィルム粒子情報に基づいてフィルム粒子をシミュレートする。これらはいずれも、送信機１０から、あるいはDVDなどの場合には媒体そのものから直接、受け取る。こうして受信機１１は、シミュレートされたフィルム粒子をもつ出力ビデオストリームを生じる。受信機１１は、セットトップボックスまたは圧縮されたビデオを復号してそのビデオ中にフィルム粒子をシミュレートするはたらきをする他のそのような機構の形をとることもできる。
【００１１】
フィルム粒子の全体的な管理は、送信機１０（すなわちエンコーダ）が入力ビデオにおけるフィルム粒子に関する情報を提供することを必要とする。換言すれば、送信機１０がフィルム粒子を「モデル化する」。さらに、受信機１１（すなわちデコーダ）は、送信機１０から受信されたフィルム粒子情報に従ってフィルム粒子をシミュレートする。送信機１０は、ビデオ符号化プロセスにおいてフィルム粒子を保持することに困難があるときに、受信機１１がビデオ信号中のフィルム粒子をシミュレートできるようにすることによって、圧縮されたビデオの品質を高めるのである。
【００１２】
図１の図示された実施形態では、送信機１０はビデオエンコーダ１２を含んでいる。ビデオエンコーダ１２はITU-T  Rec.H.264|ISO/IEC14496-10ビデオ圧縮規格のようなよく知られたビデオ圧縮技法のいずれかを使ってビデオストリームをエンコードする。任意的に、エンコードの前に入力ビデオストリームにおける一切のフィルム粒子を除去するために、エンコーダ１２の上流にフィルム粒子除去器１４が存在していてもよい。これは図１では破線で描かれているフィルタなどの形である。入力ビデオがフィルム粒子を含まない限りでは、フィルム粒子除去器１４の必要性は存在しない。
【００１３】
フィルム粒子モデル化器１６は、入力ビデオストリームおよびフィルム粒子除去器１４（存在しているとき）の出力信号を受容する。そのような入力情報を使って、該フィルム粒子モデル化器１６は入力ビデオ信号中のフィルム粒子を確立する。最も単純な形では、フィルム粒子モデル化器１６は、種々のフィルム材のためのフィルム粒子モデルを含む探索表を有することができる。入力ビデオ信号における情報は、ビデオ信号への変換前に画像を記録するのにもともと使われた特定のフィルム材を指定し、それによりフィルム粒子モデル化器１６がそのようなフィルム材についての適切なフィルム粒子モデルを選択することを許容する。あるいはまた、フィルム粒子モデル化器１６は、入力ビデオをサンプリングして存在するフィルム粒子パターンを決定するための一つまたは複数のアルゴリズムを実行するプロセッサまたは専用論理回路を有することもできる。
【００１４】
受信機１１は典型的にはビデオデコーダ１８を含む。ビデオデコーダ１８は送信機１０から受信される圧縮されたビデオストリームを復号するはたらきをする。デコーダ１８の構造は、送信機１０内のエンコーダ１２によって実行される圧縮の種別に依存する。よって、たとえば、送信機１０内で出ていくビデオを圧縮するのにITU-T  Rec.H.264|ISO/IEC14496-10ビデオ圧縮規格を用いるエンコーダ１２を使えば、H.264準拠のデコーダ１８の必要性が命じられる。受信機１１内では、フィルム粒子シミュレータ２０がフィルム粒子モデル化器１６からフィルム粒子情報を受け取る。フィルム粒子シミュレータ２０はプログラムされたプロセッサまたはフィルム粒子をシミュレートする機能をもつ専用論理回路の形をとることができる。シミュレートされたフィルム粒子は組み合わせ器２２を介して復号されたビデオストリームと組み合わされる。
【００１５】
フィルム粒子シミュレーションは、もとのフィルム内容の見え方をシミュレートするフィルム粒子サンプルを人工的に生成することをねらいとする。前述のように、フィルム粒子のモデル化は図１の送信器１０で行われるのに対し、フィルム粒子シミュレーションは受信機１１で行われる。具体的には、フィルム粒子シミュレーションは、送信機１０からの入力ビデオストリームの復号とともに受信機１１で行われる。送信機１０は復号されたビデオストリームの出力の上流にある。受信機１１において行われる復号プロセスが、フィルム粒子が加えられた画像は使用しないことを注意しておく。むしろ、フィルム粒子シミュレーションは、復号された画像においてシミュレートされたフィルム粒子を表示のために人工生成するための後処理方法をなす。その理由で、ITU-T  Rec.H.264|ISO/IEC14496-10ビデオ圧縮規格は、フィルム粒子シミュレーション・プロセスについては何の規定も含んでいない。しかし、フィルム粒子シミュレーションは入力ビデオ信号における粒子パターンに関する情報を必要とする。そのような情報は典型的には、ITU-T  Rec.H.264|ISO/IEC14496-10ビデオ圧縮規格を使うときは該圧縮規格の補正１（忠実度範囲拡張［Fidelity  Range  Extensions］）によって規定される補足向上情報（SEI:  Supplemental  Enhancement  Information）メッセージでの送信をされる。
【００１６】
本原理のフィルム粒子シミュレーション技法は、ビット精確な粒子シミュレーションを可能にし、たとえばHD  DVDプレーヤーのような消費者製品への用途をもつ。他の潜在的な用途としては、セットトップボックス、テレビおよびカムコーダーなどといった記録装置さえをも含みうる。フィルム粒子シミュレーションは、ビデオストリームの復号後、ピクセル表示の前に起こる。フィルム粒子シミュレーション・プロセスは、SEIメッセージで送信されたフィルム粒子補足情報の復号を必要とする。フィルム粒子SEIメッセージに影響する仕様は、本技術が品質および計算量の点で高精細度システムの要件を満たすことを保証する。
【００１７】
ITU-T  Rec.H.264|ISO/IEC14496-10フィルム粒子特性SEIメッセージにおいて伝達されるパラメータの値は次の制約条件に従う：
パラメータmodel_idはシミュレーションモデルを指定する。これは0でなければならない。この値はこのフィルム粒子シミュレーションモデルを周波数フィルタ処理として識別する。
【００１８】
パラメータseparate_colour_description_present_flagは、フィルム粒子パラメータが推定される色空間が、ビデオシーケンスがエンコードされた色空間と異なっているかどうかを指定する。このパラメータは0に等しい。これはフィルム粒子シミュレーションについての色空間がエンコードのものと同じであることを示す。
【００１９】
パラメータblending_mode_idは、シミュレートされたフィルム粒子を復号された画像に合成するために使われる合成モードを指定する。このパラメータは0に等しい。これは加法的合成モードに対応する。
【００２０】
パラメータlog2_scale_factorは、SEIメッセージ中でフィルム粒子パラメータを表すのに使われる対数スケール因子を指定する。このパラメータは、フィルム粒子シミュレーションが16ビット演算を使ってできることを保証するよう[2,7]の範囲にある。
【００２１】
パラメータintensity_interval_lower_bound[j][i]およびintensity_interval_upper_bound[j][i]は、フィルム粒子パラメータがすでにモデル化されている色成分jの強度区間iの限界を指定する。すべてのjおよびiについて、パラメータintensity_interval_lower_bound[j][i+1]はまだintensity_interval_upper_bound[j][i]より大きい。多重生成（multi-generational）フィルム粒子が許容されないためである。
【００２２】
パラメータnum_model_values_minus1[j]は、色成分jについての各強度区間において存在するモデル値の数を指定する。すべてのjについて、このパラメータは[0,2]の範囲にあり、帯域通過フィルタ処理および色間（cross-color）相関がサポートされていないことを指定する。
【００２３】
パラメータcomp_model_value[j][i][0]は色成分jおよび強度区間iについてのフィルム粒子強度を指定する。すべてのjおよびiについて、このパラメータは、フィルム粒子シミュレーションが16ビット演算を使って実行できることを保証するよう[0,255]の範囲にある。
【００２４】
パラメータcomp_model_value[j][i][1]は、水平方向の上カット周波数を指定する。これは色成分jおよび強度区間iについてのフィルム粒子の形を特徴付ける。（水平方向の上および下のカット周波数は、垂直方向の上および下のカット周波数とともに、所望のフィルム粒子パターンを特徴付ける二次元フィルタの属性を記述する。）すべてのjおよびiについて、このパラメータは[2,14]の範囲にある。これはすべての必要とされる粒子パターンを含む範囲である。
【００２５】
パラメータcomp_model_value[j][i][2]は、垂直方向の上カット周波数を指定する。これは色成分jおよび強度区間iについてのフィルム粒子の形を特徴付ける。すべてのjおよびiについて、このパラメータは[2,14]の範囲内でなければならない。これはすべての必要とされる粒子パターンを含む範囲である。SEIメッセージにおけるすべての色成分jおよび強度区間iの組み合わせについて、異なる対（comp_model_value[j][i][1]とcomp_model_value[j][i][2]）の数は10を超えないままである。
【００２６】
ITU-T  Rec.H.264|ISO/IEC14496-10規格によって規定されているフィルム粒子SEIメッセージにおける他のすべてのパラメータはこの規定に従う制約条件をもたない。
【００２７】
本原理によれば、現在の映像において、ビット精確なフィルム粒子シミュレーションは、パラメータfilm_grain_characteristics_cancel_flagが1に等しいか、パラメータfilm_grain_characteristics_repetition_periodによって指定されるフレーム範囲が尽きるのでない限り行われる。ITU-T  Rec.H.264|ISO/IEC14496-10規格の現在の仕様は、すべての色成分におけるフィルム粒子のシミュレーションを許容する。フィルム粒子SEIメッセージにおいてパラメータcomp_model_present_flag[c]が1に等しい場合に、フィルム粒子がシミュレートされて復号された画像の色成分cに加えられる。ビット精確なフィルム粒子シミュレーションは：フィルム粒子パラメータのデータベース；一様擬似乱数発生器；および精密な動作シーケンスを指定することによって行われる。フィルム粒子シミュレーションは典型的には、各色成分について独立して行われる。
【００２８】
図２は、フィルム粒子をシミュレートするための本原理のある好ましい実施形態に基づく方法のブロック概略図を描いている[JL1]。本方法は、シミュレートされるフィルム粒子についてのパラメータを確立するための実行１００で開始される。シミュレートされるフィルム粒子についてのパラメータを確立するプロセスの一部は入力ビデオ信号によって担われるフィルム粒子情報を抽出することを含む。ITU-T  Rec.H.264|ISO/IEC14496-10ビデオ符号化規格を使ってエンコードされた入力ビデオ信号については、フィルム粒子情報はSEIメッセージ中に存在する。SEIメッセージを抽出するには、図２に示すようなH.264|MPEG-4  AVC準拠デコーダ１０１を使ってH-264符号化された入力ビデオ信号を復号することが必要となる。
【００２９】
上で論じたように、SEIメッセージはいくつかのパラメータを含む。それにはintensity_interval_lower_bound[c][i]およびintensity_interval_upper_bound[c][i]のパラメータが含まれる。ここで、iの範囲は0からパラメータnum_intensity_intervals_minus1[c]の値までである。これらのSEIメッセージパラメータは、デコーダ１０１による復号に続いて表示バッファ１０２に保存された復号された画像中の重ならない8×8ピクセルブロックのそれぞれの色成分cについて、ステップ１０３の間に計算された平均ピクセル強度値に対して比較を受ける。復号された画像の色成分cからの重ならない8×8ピクセルブロックのそれぞれについて、平均値の計算は、ステップ１０３の間に次のようにして行われる：
avg=0
for(i=0..7,j=0..7)
avg+=decoded_image[c][m+1][n+j]
avg=(avg+32)>>6
ここで、(m,n)はブロックの左上隅の座標であり、decoded_image[c][x][y]は色成分cの座標(x,y)における復号されたピクセル値であり、cは三原色成分の特定の一つを表す0,1,2のいずれかの値をとることができる。マクロブロック平均ピクセル強度の値がintensity_interval_lower_bound[c][i]以上かつintensity_interval_upper_bound[c][i]以下のままであるiの値は、画像中の現在のブロックについてシミュレートされるフィルム粒子についてのフィルム粒子パラメータを選択する基礎としてはたらく。条件を満たす値が存在しなければ、現在のブロックについてフィルム粒子シミュレーションは行われない。
【００３０】
フィルム粒子パラメータ選択プロセスは典型的には、以下のように、4:2:0の色フォーマットに適応するために色成分（c＝1,2）を処理するときにカット周波数をスケーリングするステップを含む：
comp_model_value[c][s][1]=Clip(2,14,(comp_model_value[c][s][1]<<1))
comp_model_value[c][s][2]=Clip(2,14,(comp_model_value[c][s][2]<<1))
ステップ１０４は、フィルム粒子ブロックを確立することを開始する。ただし、該フィルム粒子ブロックは典型的には必ずしも8×8ピクセルの大きさではない。8×8ピクセルのフィルム粒子ブロックを確立するステップは、フィルム粒子データベース１０５から8×8のフィルム粒子サンプルのブロックを取得し、該サンプルを適切な強度にスケーリングすることを含む。ただし、スケーリングは望ましいが、必ずしも行われる必要はない。データベース１０５は典型的には4096のフィルム粒子サンプルの169のパターンを有している。それぞれが64×64のフィルム粒子パターンを表す。データベース１０５は値を2の補数の形で保存する。その範囲は−127から127である。各フィルム粒子パターンの人工生成は、典型的には、フィルム粒子パターンを定義する二次元フィルタを確立する特定の一対のカット周波数を使って行われる。SEIメッセージ中で送信されたカット周波数がフィルム粒子シミュレーションの際にフィルム粒子パターンのデータベース１０５へのアクセスを可能にする。
【００３１】
スケーリングされたカット周波数（comp_model_value[c][s][1]およびcomp_model_value[c][s][2]）は、データベースのどのパターンがフィルム粒子サンプルの源としてはたらくかを決定する。二つのランダム発生された値が、カット周波数に基づいて選択されたパターンから8×8ブロックを選択するはたらきをする。8×8ピクセルのフィルム粒子ブロックを選択するために使われた前記の乱数は、64×64ピクセルのパターン内で水平方向および垂直方向のオフセットを表すもので、次のような手順を使って生成される：
i_offset=(MSB16(x(k,ec))%52)
i_offset&=0xFFFC
i_offset+=m&0x0008
j_offset=(LSB16(x(k,ec))%56)
j_offset&=0xFFF8
j_offset+=n&0x0008
ここで、x(k,ec)はシードecによって開始された擬似乱数列xのk番目のシンボルを示し、MSB16およびLSB16はそれぞれ上位16ビットおよび下位16ビットを表し、(m,n)は復号された画像における現在の8×8ブロックの座標である。i_offsetについて、最初の式が[0,51]の範囲に一様分布値した擬似乱数を発生させ、第二の式がその値を4の倍数に制限し、最後の式はm%16が8に等しいときにi_offsetに8を足す。同等な演算がj_offsetについても実行される。
【００３２】
一様擬似乱数発生器１０６は8×8ピクセルブロックを選択するために使われる擬似乱数を提供する。図３を参照すると、擬似乱数発生器１０６[JL2]は典型的には、x^31+x^3+1の2を法とした原始多項式演算子を実装する32ビットシフトレジスタであり、データベース中の64×64ピクセルのフィルム粒子パターンから8×8ピクセルのフィルム粒子ブロックをランダムに選択するためのものである。8×8フィルム粒子ブロック選択のために使われる二つの擬似乱数は、それぞれ、そのシフトレジスタによって出力される上位16ビットおよび下位16ビットである。
【００３３】
擬似乱数発生器１０６によって生成された擬似乱数値x(k,ec)は、当該画像の16ピクセルごと（水平方向）および16行ごと（垂直方向）に更新を受ける。復号された画像の16×16ピクセルの重ならない領域のそれぞれにおいて、同じ擬似乱数x(k,ec)が使われる。図４に示されるように、結果として得られる擬似乱数値x(k,ec)の列は、16×16ピクセルグリッド上でのラスタスキャン順に従う。図示した実施例は8×8ピクセルのブロックのラスタスキャン順を想定しているが、他の実装もやはり可能である。
【００３４】
乱数発生器１０６は、フィルム粒子を加える対象の色成分（c）に依存して異なるシードをもつ。フィルム粒子SEIメッセージを受領した際、第一の色成分についてフィルム粒子をシミュレートするために使われるシードe1は典型的には値1をもつ。第二の色成分についてフィルム粒子をシミュレートするために使われるシードe2は典型的には値557,794,999をもつ。第三の色成分についてフィルム粒子をシミュレートするために使われるシードe3は典型的には値974,440,221をもつ。
【００３５】
図２を参照すると、ランダムなオフセットを計算したのち、データベースからの64個のフィルム粒子値の抽出および（必要なら）スケーリングは次のように行われる：
scale_factor=BIT0(x(k,ec))==0?comp_model_value[c][s][0]:-
comp_model_value[c][s][0]
for(i=0..7,j=0..7)
g=scale_factor*database[h][v][i+i_offset][j+j_offset]
film_grain_block[i][j]=(((g+2log2_scale_factor-1)>>log2_scale_factor)+32)>>6
ここで、hはcomp_model_value[c][s][1]−2に等しく、vはcomp_model_value[c][s][2]−2に等しく、因子6はフィルム粒子パターンデータベースから取得されたフィルム粒子値をスケーリングする。BIT0は最下位ビット（LSB）を表す。
【００３６】
ステップ１０８の間に、フィルム粒子パターンのシームレスな形成を保証するため、ステップ１０４の間に生成された各フィルム粒子ブロックと以前のブロック１０９との間でブロッキング除去フィルタ処理（deblocking  filtering）が行われる。ブロッキング除去フィルタ処理は、隣接ブロックどうしの間の垂直方向の辺にのみ適用される。ラスタスキャン順のフィルム粒子ブロックのシミュレーションを想定し、current_fg_blockの左端ピクセルがprevious_fg_blockの右端ピクセルに隣接していると想定すると、ブロッキング除去フィルタ処理は典型的には、係数1、2、1をもつ3タップのフィルタによって次のように行われる：
for(i=0,j=0..7)
current_fg_block[i][j]=(previous_fg_block[i+7][j]+
(current_fg_block[i  ][j]<<1)+
current_fg_block[i+1][j]  +2)>>2
previous_fg_block[i+7][j]=(previous_fg_block[i+6][j]+
(previous_fg_block[i+7][j]<<1)+
current_fg_block[i  ][j]  +2)>>2
フィルム粒子シミュレーション・プロセスの終わりには、下記のように、ブロッキング除去されたフィルム粒子ブロックは、ブロック１１０を介して、対応する復号された画像ブロックとの合成を受け、その結果が表示に先立って[0,255]へのクリッピングを受ける：
for(i=0..7,j=0..7)
display_image[c][m+i][n+j]
=Clip(0,255,decoded_image[c][m+i][n+j]+fg_block[i][j])
ここで、(m,n)はブロックの左端の座標であり、decoded_image[c][x][y]は色成分cの座標(x,y)における復号されたピクセル値であり、display_image[c][x][y]は前記座標におけるビデオ出力である。
【００３７】
切り換え要素１１１が、制御要素１１２の制御のもとで、ブロッキング除去されたフィルム粒子ブロックのブロック１１０への通過を制御する。制御要素１１２は前記切り換え要素の制御を、SEIメッセージパラメータfilm_grain_characteristics_cancel_flagが1に等しいか、パラメータfilm_grain_characteristics_repetition_periodによって指定されるフレーム範囲を超えたかに応じて行う。先に論じたようにこれらが、フィルム粒子シミュレーションが行われるかどうかを指定するのである。
【００３８】
以上は、セットトップボックス、HD-DVDプレーヤー、テレビおよびカムコーダーといった消費者電子装置における用途をもつ、フィルム粒子をシミュレートする技法を記載している。ランダムアクセスメモリの比較的低い費用は、フィルム粒子データベース１０５をメモリ要素内に組み込むことを容易に許容する。図２において概括的にブロック１１４で描かれた、マイクロプロセッサ、プログラム可能ゲートアレイおよび専用論理回路のうち一つまたは複数の組み合わせは、フィルム粒子パラメータを確立し、フィルム粒子ブロックを生成し、ブロッキング除去フィルタ処理を行う諸ステップ実行して、ビデオ画像に加えるためのフィルム粒子ブロックを生じることが容易にできる。
【図面の簡単な説明】
【００３９】
【図１】本原理の技法を実施するために有用な、フィルム粒子処理チェーンにおける送信機および受信機の組み合わせのブロック概略図である。
【図２】本原理に基づくフィルム粒子をシミュレートするためのシステムのブロック概略図である。
【図３】図２の方法に基づいてフィルム粒子をシミュレートするための、2を法とする原始多項式を生成するためのシフトレジスタのブロック図である。
【図４】図２の方法に基づいてフィルム粒子を生成することにおける乱数の使用を示すピクセルグリッドを描いた図である。
【図１】
2008517530.tif 000003
【図２】
2008517530.tif 000004
【図３】
2008517530.tif 000005
【図４】
2008517530.tif 000006
【国際調査報告】
2008517530.tif 000007
2008517530.tif 000008
2008517530.tif 000009