(57)【要約】  本発明の実施形態は、概して、ビデオスケーラにおけるリンギング低減について示唆する。方法の一実施形態は、複数のビデオデータ値セットを含むビデオデータのストリームを受信するステップと、当該ビデオデータストリームから得た第１ビデオデータ値セットをメモリに保存するステップとを含む。スケーリング技術に基づき、第１ビデオデータ値セットに対する第１スケーリング値セットを決定し、当該ビデオデータの線形補間に基づき、第１ビデオデータ値セットに対する第２スケーリング値セットを決定する。該方法は、受信したビデオデータにおける振幅の変化率を検出するステップと、ビデオデータの前記変化率の少なくとも一部に基づき、ミックス制御信号を生成するステップと、ミックス制御信号の少なくとも一部に基づき、ブレンド値セットを生成するために、第１スケーリング値セット及び第２スケーリング値セットをミックスするステップと、ブレンド値セットを用いて、スケーリングビデオデータ出力を生成するステップとを更に含む。
2015511414.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをスケーリングする方法であって、
複数のビデオデータ値セットを含むビデオデータストリームを受信するステップと、
前記ビデオデータストリームから得た第１ビデオデータ値セットをメモリに保存するステップと、
スケーリング技術に基づき、前記第１ビデオデータ値セットに対する第１スケーリング値セットを決定するステップと、
前記ビデオデータの線形補間に基づき、前記第１ビデオデータ値セットに対する第２スケーリング値セットを決定するステップと、
受信した前記ビデオデータにおける振幅の変化率を検出するステップと、
前記ビデオデータの前記変化率の少なくとも一部に基づき、ミックス制御信号を生成するステップと、
前記ミックス制御信号の少なくとも一部に基づき、ブレンド値セットを生成するために、前記第１スケーリング値セット及び前記第２スケーリング値セットをミックスするステップと、
前記ブレンド値セットを用いて、スケーリングビデオデータ出力を生成するステップとを含むことを特徴とする、方法。
【請求項２】
前記スケーリング技術は、多相フィルタバンク技術を含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記第１スケーリング値セットは、前記スケーリング技術に基づく前記第１ビデオデータ値セットに対する第１係数セットであり、前記第２スケーリング値セットは、前記ビデオデータの線形補間に基づく前記第１ビデオデータ値セットに対する第２係数セットであることを特徴とする、請求項１に記載の方法。
【請求項４】
前記ミックスするステップは、前記ミックス制御信号の少なくとも一部に基づき、係数ブレンドセットを生成するために、前記第１係数セット及び前記第２係数セットをミックスするステップを含むことを特徴とする、請求項３に記載の方法。
【請求項５】
前記第１係数セットを決定するステップは、メモリから前記第１係数セットを検索するステップ、又は前記第１係数セットを算出するステップのうちいずれかを含むことを特徴とする、請求項４に記載の方法。
【請求項６】
前記ビデオデータの位相を演算するステップを更に含み、前記第１係数セット及び第２係数セットを決定するステップは、前記ビデオデータの位相を演算するステップの少なくとも一部に基づくことを特徴とする、請求項４に記載の方法。
【請求項７】
前記スケーリングビデオデータを生成するステップは、前記第１ビデオデータ値セットに前記ブレンド係数セットを乗じるステップを含むことを特徴とする、請求項４に記載の方法。
【請求項８】
前記係数ブレンドセットを用いて生成した前記スケーリングビデオ出力のフィルタリンギングは、前記第１係数セットを用いて生成し得るスケーリングビデオ出力におけるフィルタリンギングのレベルより低いレベルであることを特徴とする、請求項７に記載の方法。
【請求項９】
前記第１スケーリング値セットは、前記スケーリング技術によりスケーリングを施された前記第１ビデオデータ値セットに対する第１輝度値セットであり、前記第２スケーリング値セットは、前記ビデオデータの線形補間を用いてスケーリングを行った前記第１ビデオデータ値セットに対する第２輝度値セットであることを特徴とする、請求項１に記載の方法。
【請求項１０】
前記ミックスするステップは、前記ミックス制御信号の少なくとも一部に基づき、スケーリング輝度値を生成するために、前記第１輝度値セットと前記第２輝度値セットをミックスするステップを含むことを特徴とする、請求項９に記載の方法。
【請求項１１】
前記ミックス制御信号を生成するステップは、前記第１ビデオデータ値セットの隣接値間の最大差と、前記第１ビデオデータ値セットの隣接値間の差の和との差分比を決定するステップを含むことを特徴とする、請求項１に記載の方法。
【請求項１２】
前記ミックス制御信号を生成するステップは、前記隣接値間の最大差に、前記差分比と、所定のレジスタ値とを乗じるステップを含むことを特徴とする、請求項１１に記載の方法。
【請求項１３】
ビデオデータをスケーリングする装置であって、
ビデオデータストリームからのビデオデータ値セットを保存するメモリと、
ビデオスケーリング技術を用いて前記ビデオデータストリームに対する第１スケーリング値セットを決定するスケーリング値決定部と、
前記ビデオデータストリームの振幅における変化率を判定し、判定した前記変化率に基づいてミックス制御信号を決定する検出素子と、
線形補間に基づく第２スケーリング値セットを、前記第１スケーリング値セットとミックスしてブレンド値セットを生成するミキシング素子とを含むことを特徴とする、装置。
【請求項１４】
前記ビデオスケーリング技術は、多相フィルタ系技術であることを特徴とする、請求項１３に記載の装置。
【請求項１５】
前記第１スケーリング決定部は係数決定部であり、前記第１スケーリング値セットはスケーリング技術に基づく前記第１ビデオデータ値セットに対する第１係数セットであり、前記第２スケーリング値セットは前記ビデオデータの線形補間に基づく前記第１ビデオデータ値セットに対する第２係数セットであることを特徴とする、請求項１３に記載の装置。
【請求項１６】
前記ミキシング素子によるミックスは、前記ミックス制御信号の少なくとも一部に基づき、係数ブレンドセットの生成を目的とする、前記第１係数セット及び前記第２係数セットのミックスを含むことを特徴とする、請求項１５に記載の装置。
【請求項１７】
前記ブレンド係数セットに、前記メモリからの前記第１ビデオデータ値セットを乗じる複数の乗算器を更に含むことを特徴とする、請求項１６に記載の装置。
【請求項１８】
前記ビデオデータストリームからの位相データを累算する累算器を更に含み、前記第１係数セット及び前記第２係数セットの決定は、前記累算器により累算された位相データの少なくとも一部に基づくことを特徴とする、請求項１６に記載の装置。
【請求項１９】
前記係数決定部は、係数値を保持するメモリを含み、前記第１係数セットの決定は、前記メモリからの係数値の取得を含むことを特徴とする、請求項１６に記載の装置。
【請求項２０】
前記複数の乗算器により生成した値の和を出し、スケーリングビデオ出力を生成する素子を更に含むことを特徴とする、請求項１６に記載の装置。
【請求項２１】
前記第１スケーリング値セットは、前記スケーリング技術によりスケーリングを施された前記第１ビデオデータ値セットに対する第１輝度値セットであり、前記第２スケーリング値セットは、前記ビデオデータの線形補間を用いてスケーリングを行った前記第１ビデオデータ値セットに対する第２輝度値セットであることを特徴とする、請求項１３に記載の装置。
【請求項２２】
前記ミキシング素子によるミックスは、前記ミックス制御信号の少なくとも一部に基づき、スケーリング輝度値の生成を目的とする、前記第１輝度値セット及び前記第２輝度値セットのミックスを含むことを特徴とする、請求項２１に記載の装置。
【請求項２３】
前記検出素子による前記ミックス制御信号の生成は、隣接ビデオデータ値の間の最大差と、前記隣接ビデオデータ値の間の差の和との差分比の決定を含むことを特徴とする、請求項１３に記載の装置。
【請求項２４】
前記検出素子は、所定のレジスタ値を保持する少なくとも一つのレジスタを含み、前記ミックス制御信号の生成は、前記隣接値間の最大差に、前記差分比と、所定のレジスタ値との乗算を含むことを特徴とする、請求項２３に記載の装置。
【請求項２５】
命令シーケンスを表すデータを記憶している持続性コンピュータ可読型記憶媒体であって、前記命令シーケンスをプロセッサにより実行させた場合、前記プロセッサは、
複数のビデオデータ値セットを含むビデオデータストリームの受信と、
前記ビデオデータストリームから得た第１ビデオデータ値セットのメモリへの保存と、
多相フィルタ技術に基づく、前記第１ビデオデータ値セットに対する第１スケーリング値セットの決定と、
前記ビデオデータの線形補間に基づく、前記第１ビデオデータ値セットに対する第２スケーリング値セットの決定と、
受信した前記ビデオデータにおける振幅の変化率の検出と、
前記ビデオデータの前記変化率の少なくとも一部に基づく、ミックス制御信号の生成と、
前記ミックス制御信号の少なくとも一部に基づく、ブレンド値セットを生成するための、前記第１スケーリング値セット及び前記第２スケーリング値セットのミックスと、
前記ブレンド値セットを用いた、スケーリングビデオデータ出力の生成とからなる演算の遂行を含むことを特徴とする、記憶媒体。
【請求項２６】
前記第１スケーリング値セットは、前記スケーリング技術に基づく前記第１ビデオデータ値セットに対する第１係数セットであり、前記第２スケーリング値セットは、前記ビデオデータの線形補間に基づく前記第１ビデオデータ値セットに対する第２係数セットであることを特徴とする、請求項２５に記載の記憶媒体。
【請求項２７】
前記ミックスは、前記ミックス制御信号の少なくとも一部に基づく、係数ブレンドセットを生成するための、前記第１係数セット及び前記第２係数セットのミックスを含む、請求項２６に記載の記憶媒体。
【請求項２８】
前記第１係数セットの決定は、メモリからの前記第１係数セットの検索、又は前記第１係数セットの算出のうちいずれかを含むことを特徴とする、請求項２７に記載の記憶媒体。
【請求項２９】
前記プロセッサにより実行させた場合、該プロセッサは前記ビデオデータの位相の演算を遂行する命令を更に含み、前記第１係数セット及び前記第２係数セットの決定は、前記ビデオデータの位相の演算の少なくとも一部に基づくことを特徴とする、請求項２７に記載の記憶媒体。
【請求項３０】
前記スケーリングビデオデータの生成は、前記第１ビデオデータ値セットと前記ブレンド係数セットとの乗算を含むことを特徴とする、請求項２７に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概して電子データ通信分野に関し、より具体的には、ビデオスケーラのリンギング低減に関する。
【背景技術】
【０００２】
電子デバイスにビデオ画像を提示する場合、特定のシステムで画像を表示するためにビデオデータストリームに対するスケールの変更がしばしば求められることがある。本願における、ビデオデータストリームのスケールを変更する回路、素子、モジュールを、一般的にまとめて「スケーラ」と言う。
【０００３】
スケーラは、膨大な数の多様な技術を応用することができる。しかしながら、特定のスケーリング技術は、「フィルタリンギング」（以下、「リンギング」とも言う）を生じさせてしまうこともある。リンギングの原因は、入力データの急速な変化、つまり、高エネルギーと高周波数を共に持つ入力データの変化である。入力信号における変化は、自然画像（カメラで撮影した画像）には相対的に稀であるため、ビデオデータをスケーリングする際であっても、リンギングはあまり問題にはならなかった。しかしながら、コンピュータソースからのグラフィック画像は急速変化の特性を有することが多く、よってリンギングが生じる可能性も高くなる。グラフィック要素はしばしばビデオ画像とミックスされたり、ビデオ画像の上に重ね合わさったりするため、用いたスケーリング技術によって生じたリンギングは視聴者にとって好ましくない場合もあり、技術の性能特性を損なってしまいかねない。
【図面の簡単な説明】
【０００４】
本発明の実施形態は、本発明を説明するための一例に過ぎず、本発明の範囲を限定する訳ではない。更に、添付図面において、類似の要素には、同じ参考符号を付与するものとする。
【図１】適応スケーラを含むマルチメディア装置又はシステムの一実施形態を示す図である。
【図２】適応スケーラの一実施形態を示す図である。
【図３】垂直スケーラ部の一実施形態を示す図である。
【図４Ａ】変化率検出と係数ミックスを含む垂直スケーラ部の一実施形態を示す図である。
【図４Ｂ】並列作動する複数のスケーラを含む垂直スケーラ部の一実施形態を示す図である。
【図５】変化率検出モジュールの一部の一実施形態を示す図である。
【図６】変化率検出モジュールの一部の一実施形態を示す図である。
【図７】スケーリングを行ったビデオデータの生成プロセスの一実施形態を示すフローチャートである。
【図８】スケーリング装置又はシステムの一実施形態におけるＦＩＲデジタルフィルタを示す図である。
【図９】ビデオスケーリングプロセス、装置、又はシステムの一実施形態におけるサンプリングレートの変更方法を示す図である。
【図１０】スケーリングプロセス、装置、又はシステムの一実施形態における、ＦＩＲフィルタのサンプルレートのデシメーションによる変更方法を示す図である。
【図１１】スケーリングプロセス、装置、又はシステムの一実施形態における、ＦＩＲフィルタのサンプルレートの補間による変更方法を示す図である。
【図１２Ａ】システムの一実施形態における、サンプリング比（ｓａｍｐｌｉｎｇ  ｒａｔｉｏ）によるフィルタ演算の変更方法を示す図である。
【図１２Ｂ】サンプリング比によりフィルタ演算を変更するシステムを示す図である。
【図１３】スケーリングプロセス、装置、又はシステムの一実施形態における、入力フロー制御を行う多相ＦＩＲデジタルフィルタを示す図である。
【図１４】スケーリングプロセス、装置、又はシステムの一実施形態における、入力フロー及び出力フローの制御を行う多相ＦＩＲデジタルフィルタを示す図である。
【図１５】ビデオスケーリングプロセス、装置、又はシステムの一実施形態における、相累算器を示す図である。
【図１６】ビデオスケーラの一実施形態に対するサンプルの入力シーケンスを示す図である。
【図１７Ａ】多相ＦＩＲフィルタを含むビデオスケーラにより処理された入力シーケンスを示す図である。
【図１７Ｂ】線形補間器を含むビデオスケーラにより処理された入力シーケンスを示す図である。
【発明を実施するための形態】
【０００５】
本発明の実施形態は、概して、ビデオスケーラにおけるリンギング低減について示唆する。
【０００６】
本発明の第１様態において、方法の一実施形態は、複数のビデオデータ値セットを含むビデオデータのストリームを受信するステップと、当該ビデオデータストリームから得た第１ビデオデータ値セットをメモリに保存するステップとを含む。スケーリング技術に基づき、第１ビデオデータ値セットに対する第１スケーリング値セットを決定し、当該ビデオデータの線形補間に基づき、第１ビデオデータ値セットに対する第２スケーリング値セットを決定する。該方法は、受信したビデオデータにおける振幅の変化率を検出するステップと、ビデオデータの前記変化率の少なくとも一部に基づき、ミックス制御信号を生成するステップと、ミックス制御信号の少なくとも一部に基づき、ブレンド値セットを生成するために、第１スケーリング値セット及び第２スケーリング値セットをミックスするステップと、ブレンド値セットを用いて、スケーリングビデオデータ出力を生成するステップとを更に含む。
【０００７】
本発明の第２様態において、装置の一実施形態は、ビデオデータストリームからのビデオデータ値セットを保存するメモリと、ビデオスケーリング技術を用いてビデオデータストリームに対する第１スケーリング値セットを決定するスケーリング値決定部とを含む。当該装置は、ビデオデータストリームの振幅における変化率を判定し、判定した前記変化率に基づいてミックス制御信号を決定する検出素子と、線形補間に基づく第２スケーリング値セットを、第１スケーリング値セットとミックスしてブレンド値セットを生成するミキシング素子とを、更に含む。
【０００８】
本発明の実施形態は、概して、ビデオスケーラにおけるリンギング低減について示唆する。
【０００９】
一部の実施形態において、方法、装置又はシステムは、ビデオスケーラにおけるリンギング低減を提供する。一部の実施形態において、ビデオスケーリングに用いられる方法、装置又はシステムは、多相フィルタを応用する技術などのスケーリング技術を用いた線形補間を実行し、ビデオスケーリングにより生じたリンギングを低減する。
【００１０】
ビデオスケーリングは、デジタルビデオ画像のサイズ変更又は解像度変更に用いられる信号処理機能である。ビデオのフォーマット変換にビデオスケーリングが求められることがよくある。フォーマット変換は、通常、テレビや他のデジタルディスプレイで行われるが、ＤＶＤプレーヤ、ＢｌｕＲａｙプレーヤ、或いは放送用セットトップボックスなどのビデオソースデバイスで行われることもある。
【００１１】
例えば、ＤＶＤ光学ディスクは動画を圧縮ファイルとして保存することができる。保存している動画を再生するために、ＤＶＤプレーヤは、光学ディスクからデータを読み取り、解凍処理を行って標準画質のビデオ信号を取得する。標準画質ビデオの解像度は、一般的に、７２０×４８０ＰＰＦ（６０Ｈｚ標準の場合）、或いは７２０×５７６ＰＰＦ（５０Ｈｚ標準の場合）である。
【００１２】
標準画質ビデオ信号は、フォーマット変換を行うことで、高解像度ディスプレイ上に表示することができる。当該フォーマット変換処理は、通常、ビデオスケーリングを必要とする。例えば、高解像度ディスプレイで一般的に用いられる解像度は、１９２０×１０８０ＰＰＦである。標準画質ビデオ信号は、７２０×４８０の解像度から１９２０×１０８０の解像度に変換され、高解像度ディスプレイで視認できるようになる。当該変換は、ビデオスケーラにより行われる。
【００１３】
「スケーリング比」とは、ビデオスケーラの出力を入力で割った比を指す。これは、「垂直スケーリング比」及び「水平スケーリング比」と表現する方が便利であることが多い。例えば、前述の例のように、７２０×４８０の解像度を持つ入力ビデオ信号を１９２０×１０８０の出力解像度に変換するスケーラは、以下の比を用いるものとする。
垂直スケーリング比＝（垂直出力解像度）／（垂直入力解像度）
＝１０８０／４８０
水平スケーリング比＝（水平出力解像度）／（水平入力解像度）
＝１９２０／７２０
【００１４】
当該の例示からも分かるように、スケーリング比は整数比であり、水平スケーリングと垂直スケーリングは、異なるスケーリング比を必要とする。更に、信号とディスプレイに用いられ得る解像度は非常に多い上に、標準ビデオフォーマットの変換は勿論のこと、ビデオスケーラを用いて、ビデオスケーリングを必要とするユーザ制御、例えばズーム、アンダースキャン、アスペクト比補正などを遂行することもできる。このため、市販のビデオスケーラは、スケーリング比の範囲に渡ってスケーリングを十分に行える程度のプログラム性を備える必要がある。
【００１５】
ビデオ画像は、個別の絵素又は画素の配列で構成される。画素はビデオ信号のデジタルサンプルであり、ビデオスケーリングは、デジタルサンプリングレート変換を応用したものである。
【００１６】
一部の実施形態において、特定のスケーリング技術を用いるビデオスケーラは、データの変化率を検出し、ミックス制御信号を生成する変化率検出モジュール又は素子を含んでも良い。一部の実施形態において、ビデオスケーラは、スケーリング値、つまり線形補間係数又は輝度値などを生成し、フィルタリンギングの低減のために、線形補間によるスケーリング値と、ミックス制御信号に基づいて選んだスケーリング技術により生成／取得したスケーリング値とをミックスする係数ミキサモジュール又は素子を含んでも良い。ここでは、変化率検出と係数ミックスに関する論議は概して二つのモジュール又は素子を想定しているが、実施形態はそれに限られず、例えば、検出機能とミックス機能を同時に提供する単一モジュール又は素子であっても良く、二つ以上のモジュール又は素子により検出機能とミックス機能を提供しても良い。
【００１７】
ビデオ画像のスケーリング又はサイズ変更に用いられる技術は非常に多様である。一般的なスケーリング技術には、次の手法などが含まれるが、但しこれらに限られる訳ではない。
（１）最近傍法（画素複製）
（２）線形補間、及び双線形補間（「双」が前に付く場合は、二次補間を意味する）：所定の画素（又はサンプル点）間の直線分上に存在する画素を算出する方法
（３）三次補間、及び双三次補間：多項式を用いて補間画素値を算出。
多項式を用いる関連手法は他にも非常に多く、エルミート補間やＣａｔｍｕｌｌ−Ｒｏｍスプライン法などが挙げられる。しかしながら、これらは多項式を採用する数学的方法の事例に過ぎず、多項式を採用する方法として可能なもののリストを包括的に記載しているわけではない。
（４）多相フィルタバンク：多相フィルタバンクはフーリエ解析と関係のある技術であり、これにより、装置、システム又はプロセスは、データサンプルセットの周波数成分を演算し、周波数と入出力間位相関係に基づいて出力サンプルを演算することができる。
【００１８】
前述のスケーリング技術は、概ね、最も単純なものから複雑なものの順かつ、出力画質が低いものから高いものの順で羅列されている。実行コストも、ロジック要件、演算時間、電力消費量、その他の要因に関して、概ね前述の順序に従う。
【００１９】
採用可能な技術のうち、多相フィルタバンクをビデオスケーリングに用いれば、高性能や順応性など、利点が多い。しかしながら、特定の条件下では、多相フィルタは出力画像に不要なアーチファクトを取り組んでしまう可能性がある。「フィルタリンギング」（又は「リンギング」）とも呼ばれるこのアーチファクトは、当該フィルタでは一般的な問題である。デジタル信号処理分野では、多相フィルタのリンギングは「ギブス現象」として知られている。更に、リンギングは他の多項式技術においても生じ得る問題であり、その結果は「ルンゲ現象」として知られる。
【００２０】
一部の実施形態において、ビデオスケーラ、例えば多相フィルタバンク系のスケーラは、フィルタリンギングを低減する素子を含んでいる。一部の実施形態において、当該スケーラは、次のものを行う。
【００２１】
（１）入力サンプリンググリッドに対する出力画素の位相を演算する。
【００２２】
（２）演算した位相情報を用いて、多相フィルタに対する係数など、スケーリング値セットを決定する。当該係数は、例えば、係数セットの算出や、多相フィルタに対する予め演算された係数の検索などにより決定しても良い。
【００２３】
（３）演算した位相情報を用いて、線形補間係数セットを決定する。当該係数は、例えば、係数セットの算出や、多相フィルタに対する予め演算された係数の検索などにより決定しても良い。
【００２４】
（４）入力サンプルセットの振幅における変化率を演算する。
【００２５】
（５）振幅における変化率の演算結果から変化率（ＲＯＣ）の多重ビットデジタル信号を生成する。
【００２６】
（６）線形補間係数と多相フィルタ係数とのブレンドに用いるミックス制御として当該変化率信号を用いる。
【００２７】
（７）多相フィルタにてブレンド係数を使用し、出力画素を演算する。
【００２８】
一部の実施形態において、線形補間係数とスケーラ技術用の係数とをミックスするプロセスは、スケーラの出力におけるリンギングを低減することで、多相フィルタバンク系のビデオスケーラを向上させることができる。しかしながら、実施形態は多相フィルタバンクのみに限らず、一部の実施形態において、当該技術を更に他の高性能ビデオスケーラや多項式技術に適用しても良い。
【００２９】
コンピュータ生成画像は、スケーリング画像にリンギングを引き起こし得る特性を有する。突然遷移、例えば単一画素の空間に渡るフルスケール遷移（ｆｕｌｌ−ｓｃａｌｅ  ｔｒａｎｓｉｔｉｏｎ）などは、自然画像では稀だが、コンピュータグラフィックでは非常に多い問題である。本文にて、「コンピュータソース」は、コンピュータを始め、ＤＶＤプレーヤ、ＡＶレシーバ、ビデオセットトップボックスなど、ビデオ信号を生成する家電製品や、他の演算システムのように、メニューやアイコンなどの要素（これに限られる訳ではない）グラフィック画像を含むものの全てを対象とする。更に、あまり一般的ではないが、「ブラックバー（ｂｌａｃｋ  ｂａｒ）」の縁に沿って、直線としてリンギングが現れるなど、自然画像に好ましくない水準のリンギングが生じる場合がある。
【００３０】
一部の実施形態において、汎用スケーリング技術を用いてリンギングを低減させ、同時にスケーリング自然画像の画質を維持する。一部の実施形態において、スケーリング技術は、次のような特性を有する。
【００３１】
（１）モジュール式の設計により、ＹＣｂＣｒ４：２：２スケーラや４：４：４／ＲＧＢスケーラなど周知のスケーラに技術を追加することができる。
【００３２】
（２）水平スケーラと垂直スケーラを個別的に操作できる。
【００３３】
（３）スケーラの操作は追加のラインメモリを必要とせず、よって操作は相対的に簡単なものとなる。
【００３４】
（４）スケーラは、画像特性に対して自己適応性を有しても良く、それによって、性能を調整するソフトウェア制御が簡単なものとなる。
【００３５】
一部の実施形態において、スケーラは、入来画像の内容に基づき、実際の運用でスケーリングフィルタの特性を変更して作動する。一部の実施形態において、汎用スケーラは、生成又は検索した標準フィルタ係数（例えば、リードオンリーメモリ（ＲＯＭ）に保存されていた係数）を、累算器からの位相情報を用いて内部で生成した係数セットとミックスすることで、当該作動を行う。一部の実施形態において、内部で生成した係数は、線形補間器（ＬＩ）係数であっても良い。
【００３６】
線形補間器の利点は、通常、画像にリンギングを引き起こさないという点である。しかしながら、線形補間器をスケーラとして用いる場合、多相フィルタにより生成した画像と同等の画質を持つ画像を得られないのが一般的である。一部の実施形態において、スケーリング値（例えば、係数）のセット二つにインテリジェントブレンド（ｉｎｔｅｌｌｉｇｅｎｔ  ｂｌｅｎｄｉｎｇ）を施すことにより、汎用スケーラは、線形補間器と多相フィルタの利点を両方とも活かし、リンギングを低減させながら高画質の出力を得ることができる。
【００３７】
ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｎｐｕｔ  Ｒｅｓｐｏｎｓｅ）デジタルフィルタは、多種多様の信号アプリケーションで用いることができる。ＦＩＲデジタルフィルタは周波数選択性構造であり、ある周波数帯を出力に通過させる一方、その他の周波数帯を減衰させることができる。ＦＩＲデジタルフィルタは、ローパス、ハイパス、バンドパス、或いはバンドストップフィルタリング機能を持つようにデザインされても良い。但し、これらの基本種類に限られる訳ではない。その中でも、ローパスＦＩＲフィルタをビデオスケーリングに用いることができる。本明細書では、ローパスフィルタ応答を想定して説明する。
【００３８】
実際には、ＦＩＲデジタルフィルタを多様な形態に実現させることができる。ソフトウェアプログラムでも良く、一般のロジック素子で構築したハードウェアでも良い。本明細書では、概ね、ハードウェアとして具現した場合を想定して説明する。
【００３９】
多相ＦＩＲフィルタのコンセプトは、デジタル信号処理分野においてデジタルサンプリング率変換を行う手段として用いられる。多相ＦＩＲフィルタは、デジタルビデオをスケーリングするアルゴリズムとして上手く機能する。更に、高画質の出力画像を生成する、効率性と費用効率の高い構造として用いることもできる。
【００４０】
しかしながら、多相ＦＩＲフィルタとて、完全ではない。ビデオスケーリングに用いる場合、特定の条件では、多相フィルタの出力に歪みが生じてしまうのである。
【００４１】
図１は、適応スケーラを含むマルチメディア装置又はシステムの一実施形態を示す図である。本図面では、装置やシステムを簡略化して図示し、マルチメディアシステムにおける周知の素子は省略している。一部の実施形態において、システムは、特定のビデオデータ１５０を、例えばレシーバ１６５を介して受信するか、若しくは生成する。ディスプレイ１７０（装置又はシステム１００の一部であっても一部でなくても良い）に用いられるスケーリングビデオデータ１６０を生成するためには、スケーリング、或いは一つ以上の素子（例えば一つ以上のプロセッサ１７５）によるハンドリングが求められる。一部の実施形態において、装置又はシステム１００は、ビデオデータの変化に応答し、フィルタリンギングを低減する適応スケーラ１０５を含む。
【００４２】
一部の実施形態において、適応スケーラ１０５は、受信した一定数のビデオデータ要素を保存するメモリ１０７と、入力サンプリンググリッド１１０に対してビデオデータの位相を判定する素子とを含む。一部の実施形態において、スケーラ１０５は、演算した位相情報を用いて多相フィルタ係数セット１１５を決定する。
【００４３】
一部の実施形態において、スケーラは、線形補間フィルタ係数セット１２０を更に決定する。一部の実施形態において、スケーラ１０５は、入力サンプルセットの振幅における変化率（ＲＯＣ）を判定し、判定した振幅の変化率から変化率信号を生成する素子又はモジュール１２５を含む。一部の実施形態において、スケーラは、係数ミキシング素子又はモジュール１３０を含み、係数ミキシング素子１３０は、変化率信号をミックス制御として用いて、線形補間フィルタ係数と多相フィルタ係数をブレンドする。一部の実施形態において、スケーラは多相フィルタにおいて、結果物のブレンド係数を使用し、ディスプレイ１７０への表示に用いられるスケーリング出力画素１６０を演算する。
【００４４】
図２は、適応スケーラの一実施形態を示す図である。一部の実施形態において、適応スケーラ２００は、ビデオデータのスケーリングに、多相フィルタリングを用いても良い。一部の実施形態において、スケーラ２００は、並列バスを介して連結されていても良く、ビデオ入力と共に、Ｈｓｙｎｃ信号、Ｖｓｙｎｃ信号、ＤＥ信号、及びビデオクロックを受信する入力ラインバッファ２０５を含む。入力ラインバッファ２０５は、システムクロック信号（ＳＹＳＣＬＫ）及びリセット信号を更に受信しても良い。
【００４５】
図２において、スケーラ２００は、フィルタ係数生成器、つまり垂直フィルタ生成器２１０及び水平フィルタ生成器２３０を更に含む。図示されているように、垂直乗算器アレイ２１５により入力ラインバッファ２０５からのデータと、垂直係数生成器２１０により生成したブレンド係数とを乗じ、乗算の積を素子で受信して当該積の和を出し、桁あふれを切り捨て、四捨五入をして一定数のビット２２０にする。結果物の垂直スケーリングデータをＦＩＦＯバッファ２２５に保存する。水平乗算器アレイ２３５によりＦＩＦＯバッファ２２５からのデータと、水平係数生成器２３０により生成した係数とを乗じ、乗算の積を素子で受信して当該積の和を出し、桁あふれを切り捨て、四捨五入をして一定数のビット２４０にする。結果物の水平スケーリングデータを第２ＦＩＦＯバッファ２４５に保存する。スケーラは、ビデオ出力と共に、Ｈｓｙｎｃ信号、Ｖｓｙｎｃ信号、ＤＥ信号、及びビデオクロックを出力する。
【００４６】
一部の実施形態において、垂直係数生成器２１０及び水平係数生成器２３０は、線形補間係数の生成、ビデオデータの変化率の決定、決定したビデオデータの変化率の少なくとも一部に基づいた多相フィルタ係数及び線形補間係数のミックスに用いられる素子（それぞれ２６０及び２７０）を含む。一部の実施形態において、スケーラは、素子２６０及び２７０を用いて、多相フィルタバンクにより生じたフィルタリンギングを低減する。当該素子の運用に関しては、下記により詳細に説明する。
【００４７】
一部の実施形態において、ミキサ作動は、次の機能を含む。
【００４８】
（１）累算器の位相情報から、線形補間器によるスケーリング値を算出する。
【００４９】
（２）変化率検出モジュールからのミックス制御信号を用いて、多相スケーリング値を、線形補間器によるスケーリング値とミックスし、ブレンド値セットを生成する。
【００５０】
一部の実施形態において、モジュールはリンギング制御レジスタ（ＲＣＲ）を含む。一部の実施形態において、リンギング制御レジスタは、ソフトウェアによりプログラム可能なレジスタであり、帯分数の形をしている。つまり整数と小数で構成されている。例えば、レジスタは、最低８ビット（４ビットは整数、４ビットは小数）。一部の実施形態において、第１ＲＣＲは垂直スケーラのＹチャネルに用いられ、第２ＲＣＲは水平スケーラのＹチャネルに用いられる。
【００５１】
一部の実施形態において、リンギング低減を、オプションとして彩度に適用しても良い。一実施例において、４：２：２スケーラに対し、独立ＲＣＲを垂直彩度スケーラに適用することもできる。一部の実施形態において、水平彩度スケーラに対するリンギング低減は、４：２：２スケーラにおいては必要ない。他の実施例において、４：４：４スケーラに対し、垂直部と水平部の両方において、彩度にリンギング低減を適用しても良い。
【００５２】
一部の実施形態において、ディスプレイの上縁、下縁、左縁、右縁で算出を行う「特別な場合」では、特定の信号を提供する。一実施例において、入力Ｙ３が現在の入力であり、Ｙ３が縁に隣接していれば、残りのＹ入力の６つ全てに対する値は存在しないことになる。一部の実施形態において、値を持たない入力に対しては、欠測データを０に入れ替えるなどの方式で値を与えるものとする。
【００５３】
一部の実施形態において、出力はミックス制御信号であり、例えば、１１ビットの二進数で、０＞１．０の範囲内であっても良い。よって、ｍｉｘｉｎｇＣｏｎｔｒｏｌの最大値は、二進法で１．００００００００００になる。
【００５４】
一部の実施形態において、変化率検出モジュール又は素子の作動は、次のものを含む。
【００５５】
（１）最大差：一部の実施形態において、最大差は、以下の通りに判定しても良い。
maxDifference=Max[Abs[Y1-Y0], Abs[Y2-Y1], Abs[Y3-Y2],
Abs[Y4-Y3], Abs[Y5-Y4], Abs[Y6-Y5]];      [1]
ここにおいて、
Max[ ]は、値リストから最大値を探し出す関数である。
Abs[ ]は、絶対値関数である。
Y0〜Y1は、ラインメモリからの７つのＹ値である。
【００５６】
変化率検出モジュールによる最大差の判定の実施形態を図５に示し、以下で説明する。
【００５７】
（２）差の和：一部の実施形態において、差の和を以下の通りに判定しても良い。
Sum = Abs[Y1-Y0] + Abs[Y2-Y1] + Abs[Y3-Y2] +
Abs[Y4-Y3] + Abs[Y5-Y4] + Abs[Y6-5];      [2]
【００５８】
変化率検出モジュールによる差の和の判定の実施形態を図６に示し、下記に説明した。
【００５９】
（３）差分比：一部の実施形態において、差分比（ｄｉｆｆｅｒｅｎｃｅＲａｔｉｏ）は、次のように、ｍａｘＤｉｆｆｅｒｅｎｃｅ及びｄｉｆｆｅｒｅｎｃｅＳｕｍを用いて判定する。
IF differenceSum = 0
THEN differenceRatio = 0
ELSE differenceRatio = maxDifference / differenceSum
【００６０】
前述のＩＦ文は、０で割る算出を行わないようにする。ｄｉｆｆｅｒｅｎｃｅＳｕｍは、Ｙ０＝Ｙ１＝Ｙ２＝Ｙ３＝Ｙ４＝Ｙ５＝Ｙ６である場合、０となる。
【００６１】
（４）モジュールの出力：一部の実施形態において、変化率検出モジュールの出力（ｍｉｘｉｎｇＣｏｎｔｒｏｌ）は、ｄｉｆｆｅｒｅｎｃｅＲａｔｉｏ、ＲＣＲ、ｍａｘＤｉｆｆｅｒｅｎｃｅから、次のように判定される。
mixingControl = maxDifference × RCR × differenceRatio     [3]
【００６２】
一部の実施形態において、ｍｉｘｉｎｇＣｏｎｔｒｏｌを算出した結果、１．０より大きい数字が出ると、結果は１．０に限られることになる。従って、ｍｉｘｉｎｇＣｏｎｔｒｏｌの二進値は、１．００００００００００（二進数）を越えない。
【００６３】
一部の実施形態において、ミキサモジュールの作動は、スケーリング値の入力を、例えばスケーラの係数ＲＯＭ又は算出した係数の入力のうちから受信し、変化率検出モジュールからミックス制御情報を受信することを含む。一部の実施形態において、ミキサモジュールは更に、受信した位相情報から線形補間係数データを生成する。受信した位相情報は、例えば、累算器レジスタの一定部分であっても良い。一部の実施形態において、ミキサモジュールは、受信したスケーリング値入力データ、生成した線形補間によるスケーリング値データ、及び受信したミックス制御データに基づき、ブレンド値を生成する。
【００６４】
一部の実施形態において、ミキサモジュールへの入力は、次のものであっても良い。
【００６５】
（ａ）係数ＲＯＭ、又はその他の係数判定から得た係数値。当該係数値は、次のように表わされても良い。
係数（Coefficients）＝Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６
【００６６】
（ｂ）スケーラの累算器レジスタの小数部、例えば累算器レジスタの下段１７ビット。線形補間データの判定に用いられる位相情報を提供する。
【００６７】
（ｃ）変化率モジュールからのミックス制御信号。係数ミックスを制御する。
【００６８】
一部の実施形態において、係数ミキサモジュールの出力は、次のものであっても良い。
ブレンド係数（Blended Coefficients）＝ＢＣ０、ＢＣ１、ＢＣ２、ＢＣ３、ＢＣ４、ＢＣ５、ＢＣ６
【００６９】
一部の実施形態において、ミキサモジュール又は素子の作動は、次のものを含む。
【００７０】
（１）累算器の位相情報から線形補間器係数を生成する。線形補間係数は、Ｌｉ０、Ｌｉ１、Ｌｉ２、Ｌｉ３、Ｌｉ４、Ｌｉ５、Ｌｉ６と指定されても良い。一部の実施形態において、一定の線形補間係数は０になる。例えば、Ｌｉ０＝Ｌｉ１＝Ｌｉ５＝Ｌｉ６＝０となる。従って、これらの要素は判定される必要が無く、モジュールは、残りの係数、つまりＬｉ２、Ｌｉ３、Ｌｉ４を判定する。
【００７１】
一部の実施形態において、線形補間器の位相（ＬＩｐｈａｓｅ）は、位相値とオフセット値の和であり、次のようになる。
LIphase = phase + offset      ［６］
ここにおいて、
位相（Phase）＝スケーラの累算器の小数部。例えば、１９ビットの累算器の場合、位相は、累算器値の下段１７二進数ビットに相当する。
オフセット（Offset）＝定数。本図面では１／６２に相当する。１７ビットの二進小数に変換すれば、１／６２は０．０００００１００００１００００１０となる。
【００７２】
本図面において、「位相（phase）」と「オフセット（offset）」は両方とも１７ビットの小数である。算出において、加算演算により、結果物の整数部への桁上げが可能である。言い換えれば、小数二つを加算した和は、１．０以上の数となる。この場合でも、結果物を更に算出に用いても良い。
【００７３】
一部の実施形態において、ミックス方程式の決定において３つの係数が生成され、そのうちの一つは０である。残りの係数２つは、和が１．０となる小数として見なされる。一部の実施形態において、ＬＩ係数のダイナミックレンジは、１０ビット以上である。
【００７４】
一部の実施形態において、係数の決定は、次のように行われる。
IF [ LIphase ≦ 0.5
THEN :
Li2 = 0.5 - Liphase
Li3 = LIphase + 0.5
Li4 = 0
ELSE :
Li2 = 0
Li3 = 1.5 - LIphase
Li4 = LIphase - 0.5
]
【００７５】
（２）ブレンド係数の決定：一部の実施形態において、ブレンド係数は、受信した係数とミックス制御とに基づき、次のように決定する。
BC0 = (1 - mixingControl) × C0
BC1 = (1 - mixingControl) × C1
BC2 = ((1 - mixingControl) × C2) + (mixingControl × Li2)
BC3 = ((1 - mixingControl) × C3) + (mixingControl × Li3)
BC4 = ((1 - mixingControl) × C4) + (mixingControl × Li4)
BC5 = (1 - mixingControl) × C5
BC6 = (１- mixingControl) × C6
【００７６】
図３は、垂直スケーラ部の一実施形態を示す図である。一部の実施形態において、垂直スケーラ、例えば多相フィルタ系スケーラの輝度部３００は、データ経路３６０と制御ループ３５０を含む。図面は、垂直スケーラの輝度部を示している。当該スケーラは、彩度部と水平Ｙ／Ｃ部を更に含み、当該部は、図示されている輝度部と類似する。
【００７７】
制御ループ３５０は、加算器３０４に適切なスケーリング比３０２の逆数に相当する入力を与えるステップと、フィードバック値を与えるステップとを含む。加算器３０４の出力と、受信データ３０６の初期位相値はマルチプレクサ３０８に入力され、マルチプレクサ３０８の出力のうち選ばれたものは、累算器３１０への入力となる。累算器３１０の出力は、加算器３０４へのフィードバック値であり、乗算器（本実施例では３１×乗算器）３１２への入力でもある。当該乗算器は、係数ＲＯＭ３１６に対する係数セットアドレス３１４を生成して、係数セット、例えば多相フィルタ係数セットを生成する。本図面では、ＲＯＭストレージから係数を得ているが、スケーラは当該形態に限られず、例えば、係数セットの算出を行えるような構造であっても良い。
【００７８】
一部の実施形態において、続いてデータ経路３６０は、７つのラインメモリ３３２にてラスタスキャンＹ入力３３０を受信して、７つの乗算器３３６に対する７つの垂直に隣接するＹ値３３４を用意し、７つの乗算器３３６は、係数ＲＯＭ３１６から係数セットを受信する。乗算器３３６は、７つの積のセット（Ｙ×係数（ｎ））３３８を生成する。当該積の和を出し（例えば、プロセスは、桁あふれの切り捨て、並びに一定数、つまり１０ビットへの四捨五入を更に含んでも良い）、その結果の３４０を以って、スケーリングＹ入力３４２を生成する。
【００７９】
一部の実施形態において、スケーラ３００は、フィルタリンギング低減に用いられるステップを更に行う。一部の実施形態において、スケーラ３００は、線形補間データを生成する。当該線形補間データは、係数ＲＯＭ３１６から得た多相係数とミックスされ、ブレンド係数セットが生成される。一部の実施形態において、係数のミックスは、Ｙ値３３４の振幅における変化率に基づくミックス制御信号に応じて行われる。一部の実施形態において、ブレンド係数セットを乗算器３３６に供給し、スケーリング出力３４２の生成に用いる。
【００８０】
図４Ａは、変化率検出と係数ミックスを含む垂直スケーラ部の一実施形態を示す図である。一部の実施形態において、垂直スケーラの輝度部４００は、データ経路４６０と制御ループ４５０を含む。一部の実施形態において、図３に図示されている素子に加え、リンギング低減のために、制御ループ４５０は、データメモリ３３２からのデータの変化率を検出しミックス制御信号４２２を生成する変化率検出モジュール又は素子４２０を更に含む。一部の実施形態において、変化率モジュール４２０は、ラインメモリ３３２の入来輝度（Ｌｕｍａ）出力を分析する。一部の実施形態において、変化率モジュール４２０は、フィルタリンギングを生じ得る遷移を検出し、変化率検出結果の少なくとも一部に基づいてミックス制御信号（ｍｉｘｉｎｇＣｏｎｔｒｏｌ）４２２を生成する。一部の実施形態において、ミックス制御信号の生成は、ソフトウェア制御レジスタ（図示せず）に含まれているデータに基づく変化率分析の変更を含む。
【００８１】
一部の実施形態において、制御ループ４５０は、線形補間係数を生成し、当該線形補間係数を、受信した多相フィルタ係数とミックスする係数ミキサモジュール又は素子４２４を更に含む。一部の実施形態において、係数ミキサ４２４は変化率検出モジュール４２０からミックス制御信号４２２を、係数ＲＯＭ３１６からフィルタ係数データを、累算器３１０から現在位相情報４２６を受信し、線形補間係数を生成する。係数ミキサ４２４はフィルタ係数をミックスしてブレンドフィルタ特性を生成する。一部の実施形態において、係数ミキサ４２４は、全体的性能を維持しながらリンギングを低減することができる。一部の実施形態において、係数ミキサモジュール又は素子４２４は、係数要素の算出に用いられるリンギング制御レジスタを一つ以上含む。
【００８２】
図４Ｂは、並列作動する複数のスケーラを含む垂直スケーラ部の一実施形態を示す図である。一部の実施形態において、垂直スケーラは、並列作動する二つのスケーラを含む。当該作動において、第１スケーラは、累算器からの位相情報を活用し、線形補間を用いてスケーリングを行う線形補間器であり、第２スケーラは多相フィルタである。一部の実施形態において、垂直スケーラのロジックはミックス制御を生成するが、ミックス制御は（図４に図示されているように）係数のミックスに用いられるより、むしろデータのミックスに用いられる。
【００８３】
一部の実施形態において、垂直スケーラの輝度部４７０は、またデータ経路４６０と制御ループ４５０を含む。一部の実施形態において、図３に図示されている素子に加え、輝度部４７０は、係数ミキサ（図４Ａの素子４２４）を含むより、むしろ多相フィルタを用いてスケーリングを行った輝度４７６と、線形補間を用いてスケーリングを行った輝度とをミックスし、適応スケーリングを用いたスケーリング輝度４９２を生成するデータミキサ４９０を含む。
【００８４】
一部の実施形態において、輝度部４７０は、線形補間を用いてスケーリングを行う素子又はモジュール４７２を含み、当該素子又はモジュール４７２は、ラインメモリ３３２からのデータ入力と現在位相４２６とを受信し、線形補間を用いてスケーリングを行った輝度４７８を生成する。
【００８５】
一部の実施形態において、乗算器３３６は、和を出し、桁あふれを切り捨て、四捨五入をして一定数のビット４７４にし、多相フィルタを用いてスケーリング行った輝度４７６を生成する素子又はモジュールと連結されている。
【００８６】
一部の実施形態において、変化率検出モジュール４８０は、ラインメモリ３３２の入来輝度出力を分析し、変化率検出結果の少なくとも一部に基づいてミックス制御信号４８２を生成する。ミックス制御信号は、データミキサに送られ、多相フィルタを用いてスケーリングを行った輝度４７６と、線形補間を用いてスケーリングを行った輝度４７８とをミックスし、適応スケーリングを用いたスケーリング輝度４９２を生成する。
【００８７】
図３、図４Ａ、図４Ｂはある素子又はモジュールを含む垂直スケーラの特定の具現方法を図示しているが、当該素子又はモジュールの数は、スケーラの実施形態によって制限されることはない。例えば、図３、図４Ａ、図４Ｂは、乗算器は７つ、係数セットは３１個など、性能とコスト要件などの特定要因のバランスが取れるように素子の数を選んでいる。他の実施形態は、高性能やコスト削減など、一方の要因に重点を置き、それに合わせて素子又はモジュールの数を調整しても良い。
【００８８】
図５は、変化率検出モジュールの一部の一実施形態を示す図である。一部の実施形態において、ビデオスケーラのモジュールにおける変化率検出モジュール５００は、隣接する入力値間の最大差を判定する部分を含む。一部の実施形態において、検出モジュール５００は、多重入力５１０を受信する。本図面では、Ｙ０〜Ｙ６で表示される７つのＹ入力として図示する。Ｙ０〜Ｙ６は、７つの垂直に隣接するＹ値（垂直スケーラ用）或いは７つの水平に隣接するＹ値（水平スケーラ用）を表す値である。本図面では７つの値を用いているが、実施形態は、特定の数にこだわる必要はない。
【００８９】
一部の実施形態において、検出モジュール５００は、Ａｂｓ［Ｙ１−Ｙ０］、Ａｂｓ［Ｙ２−Ｙ１］からＡｂｓ［Ｙ６−Ｙ５］まで続く一連の隣接するＹ値間の差の絶対値５２０を判定する。一部の実施形態において、判定した差値を最大値関数５３０に与え、最大値関数５３０は、いずれの差値が最も大きいかを判定し、ｍａｘＤｉｆｆｅｒｅｎｃｅ値５４０を出力する。
【００９０】
図６は、変化率検出モジュールの一部の一実施形態を示す図である。一部の実施形態において、ビデオスケーラのモジュールにおける変化率検出モジュール６００は、差の和を判定する部分を含む。一部の実施形態において、検出モジュール６００は、多重入力６１０を受信する。本図面では、Ｙ０〜Ｙ６で表示される７つのＹ入力として図示する。一部の実施形態において、検出モジュール６００は、Ａｂｓ［Ｙ１−Ｙ０］、Ａｂｓ［Ｙ２−Ｙ１］からＡｂｓ［Ｙ６−Ｙ５］まで続く一連の隣接するＹ値間の差の絶対値６２０を判定する。一部の実施形態において、判定した差値を合計関数６３０に与え、合計関数６３０は、差値の和を判定し、ｄｉｆｆｅｒｅｎｃｅＳｕｍ値６４０を出力する。
【００９１】
図７は、スケーリングを行ったビデオデータの生成プロセスの一実施形態を示すフローチャートである。一部の実施形態において、７００にてビデオデータを受信し、７０２にて当該ビデオデータをメモリに保存する。更に、一部の実施形態において、７２０にて位相情報を受信し、７２２にて当該位相情報を累算する。
【００９２】
一部の実施形態において、７１０にてメモリから取得したビデオデータの変化率を検出し、７１２にて当該変化率に基づきミックス制御信号を決定する。一部の実施形態において、７２４にてビデオスケーリング係数データ、つまり多相係数データを取得する。なお、７２６にて、累算した位相情報に基づき線形補間係数データを決定する。
【００９３】
一部の実施形態において、７２８にてブレンド係数を決定する。当該ブレンド係数は、多相係数データ、線形補間係数データ、ミックス制御信号の少なくとも一部に基づく。
【００９４】
一部の実施形態において、７４０にてビデオデータとブレンド係数を乗算する。７４２にて、結果として得た積を処理しても良く、処理には、積の合計、桁あふれの切り捨て、結果物の四捨五入が含まれる。７４４にて、結果として得たスケーリングビデオデータを出力する。
【００９５】
図８は、スケーリング装置又はシステムの一実施形態におけるＦＩＲデジタルフィルタを示す図である。本図面において、ＦＩＲデジタルフィルタのオーダー（ｏｒｄｅｒ）Ｎは５である。本図面においては、簡略化を目的としてフィルタのオーダーを５に設定している。実際には、ＦＩＲフィルタのＮの値をより大きく設定することが多い。Ｎの値は、フィルタの選択的要件やアプリケーションの性能要件に左右される。Ｎは、奇数又は偶数であっても良く、いずれもローパスフィルタ応答の生成に用いられる。本実施例において、Ｎは奇数である。
【００９６】
図示されているように、ＦＩＲデジタルフィルタは、一連の連結された多重ビットストレージレジスタ８１５をＮ個含む。本実施例においては、Ｎ＝５である。一連のレジスタ８１５はデータ入力８０５とクロック信号８１０を受信し、前から４番目までのレジスタのそれぞれに保持されたデータは、各クロックサイクルごとに次のレジスタにシフトする。各レジスタ８１５からのデータ出力は、Ｎセットの乗算器８２５に与えられ、乗算器は、データ（Ｄ０〜Ｄ４）にＮセットの係数８２０（Ｃ０〜Ｄ４）を乗じる。乗算器８２５が生成した積は、合計ロジック８３０に与えられ、フィルタリング出力を生成する。
【００９７】
フィルタ８００からの新規入力を、クロックの各サイクルに対し演算する。フィルタの各出力Ｆ（ｏｕｔ）は、従って次のように演算される。
Ｆ（ｏｕｔ）＝Ｃ０×Ｄ０＋Ｃ１×Ｄ１＋Ｃ２×Ｄ２＋Ｃ３×Ｄ３＋Ｃ４×Ｄ４
ここにおいて、
Ｆ（ｏｕｔ）は、フィルタの出力値である。
Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４＝フィルタの係数。固定値である。
Ｄ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４＝入来デジタル信号の時間的に隣接するサンプル５つ。
【００９８】
よって、ＦＩＲフィルタの基本要素は、図８に図示されているように、記憶素子又レジスタ、乗算器、係数、合計ロジックとなる。記憶素子は、例えば、共通クロックを有し、データポートは直列に連結されているレジスタであっても良い。入力サンプルは一連のレジスタに供給され、時間的に隣接するサンプルセットはレジスタに保存される。更に、データサンプルセットは、クロックサイクルごとにシフトする（図８の場合、左から右へ）。よって、左レジスタのデータは最新のものであり、右レジスタのデータは最先のものとなる。
【００９９】
オーダーＮのローパスフィルタの場合（本実施例においてＮは奇数である）、係数は次の方程式を満たす。
2015511414.tif 000003
【０１００】
前述の通り、デジタルＦＩＲフィルタは、１：１比の入力サンプル及び出力サンプルを生成する。
【０１０１】
多相ＦＩＲフィルタ、例えば図１３に図示されているフィルタ１３００や図１４に図示されているフィルタ１４００は、入力サンプルと出力サンプルの異なる比率の生成、つまりサンプリング率変換が必要となる場合に採用されても良い。サンプリング率変換の基本型２つは、補間とデシメーションである。補間は、出力率が入力率より大きい場合のサンプリング率変換であり、デシメーションは、出力率が入力率より小さい場合のサンプリング率変換である。ビデオスケーリングについては、補間はビデオ画像の解像度向上に用いられることが多く、デシメーションはビデオ画像の解像度低減に用いられる。
【０１０２】
図９は、ビデオスケーリングプロセス、装置、又はシステムの一実施形態におけるサンプリングレートの変更方法を示す図である。スケーリング作業において、スケーリング率は変化する。ビデオスケーラはサンプリングレートを変化させるが、一般的に、当該変化はスケーリング比（ＳＲ）に相当し、スケーリング比は出力サンプルと入力サンプルの比として表される。
ＳＲ＝出力サンプル数／入力サンプル数
【０１０３】
本明細書では、ＳＲを一次元であると想定する。水平ＳＲと垂直ＳＲが存在してもよいが、本明細書の目的に沿って、スケーリング比をＳＲと定義する。通常、スケーリング比をＬ／Ｍを以って表す。
Ｌ／Ｍ＝ＳＲ
ここにおいて、Ｌ及びＭは整数である。
【０１０４】
言い換えれば、Ｌ／Ｍはスケーリング比ＳＲを特定する整数比である。図９は、一連の演算において変更される周波数ｆｓでサンプリングされる入力を図示している。一部の実施形態において、第１演算は、サンプルレートをＬ値増加させ（９１０）、サンプルレートをＬ×ｆｓにする。第２演算は、サンプルレートを１／Ｍ減少させ（９２０）、出力がｆｓ×Ｌ／Ｍのレートでサンプリングされるようにする。
【０１０５】
ＦＩＲフィルタは、整数の倍数Ｌ分サンプルレートを増加させることに用いられても良い。ＦＩＲフィルタは更に、サンプルレートを１／Ｍ分減少させることに用いられても良い（Ｍは整数）。Ｌ又は１／Ｍ分レート変換を行うプロセスを下記に説明する。従って、整数比、つまりＬ／Ｍ分サンプルレートを変化させる演算は、二つのＦＩＲフィルタ演算を直列に繋げて行われる。
【０１０６】
一部の実施形態において、ローパスＦＩＲフィルタは、整数１／Ｍ分のデシメーション、及び整数Ｌ分の補間に用いられても良い。図１０及び図１１において、二つの演算、つまり整数の倍数Ｌ分のサンプリング比の増加と１／Ｍ（Ｍは整数）分のサンプルレートの減少は、別途に図示されている。
【０１０７】
図１０は、スケーリングプロセス、装置、又はシステムの一実施形態における、ＦＩＲフィルタのサンプルレートのデシメーションによる変更方法を示す図である。デシメーションは、デジタルサンプルセットのサンプリング率を減少させる。１／Ｍ（Ｍは整数）によるデシメーションは、ローパスＦＩＲフィルタを用いて達成することができる。当該演算において、ローパスフィルタリングを用いてサンプルストリームの帯域幅を低減し、出力の低いサンプルレートでエイリアシングが行われることを未然に防止する。一実施例においては、ｆｃ＝０．５／Ｍの正規化遮断周波数を用いるように設計したローパスＦＩＲフィルタを用いることで、これに成功している。しかしながら、実施形態に、必ず特定の遮断周波数を適用する必要はない。
【０１０８】
本図面において、フィルタ演算１０００は、サンプル周波数を減少させる一連の演算で構成されも良く、更にビデオスケーリング演算に含まれていても良い。図１０において、サンプリング周波数ｆｓを用いて入力データをサンプリングする。ＦＩＲフィルタ１０１０に対して、ｆｃ＝１／Ｍである。サンプリング演算１０２０において、Ｍ個のサンプルのそれぞれから１を選び、ｆｓ／Ｍでサンプリングした出力を得る。
【０１０９】
図１１は、スケーリングプロセス、装置、又はシステムの一実施形態における、ＦＩＲフィルタのサンプルレートの補間による変更方法を示す図である。ＦＩＲフィルタを用いて、整数Ｌによる補間を達成する。本図面において、フィルタ演算１１００は、ｆｓでサンプリングした入力を、各入力サンプル１１１０の間にＬ−１個の０を挿入して変更し、周波数をＬ×ｆｓとする演算として具現しても良い。変更した入力を遮断周波数ｆｃ＝１／Ｌを持つオーダーＮのＦＩＲフィルタ１１２０に与える。Ｎは、Ｌの整数倍である。結果として得たデータを振幅ゲイン演算１１３０により変更して元の信号振幅を復元し、Ｌ×ｆｓでサンプリングした出力を得る。ここで、ゲイン平均はＬである。
【０１１０】
当該演算は、ＦＩＲフィルタ１１２０と振幅ゲイン動作を組み合わせたフィルタ演算として具現しても良い。フィルタ演算１１００に関する本図面によれば、ｆｓで入力を再サンプリングし、各入力サンプル１１４０の間にＬ−１個の０を挿入することによって変更して、周波数をＬ×ｆｓとする。変更した入力を、遮断周波数ｆｃ＝１／ＬとＬの振幅ゲイン動作を持つオーダーＮのＦＩＲフィルタ１１５０に与え、Ｌ×ｆｓでサンプリングした出力を得る。
【０１１１】
一実施例において、サンプルレートを５増加させる必要があると仮定する。よって、Ｌ＝５である。ＦＩＲフィルタを設計するためには、フィルタのオーダーＮと、フィルタの遮断周波数ｆｃを考慮した仕様が必要である。フィルタのオーダーは、アプリケーション、並びにコストと性能間のバランスに左右される。更に、サンプルレートを整数Ｌ分増加させる特定のアプリケーションにおいて、ＮはＬの整数倍として選ばれる。例えば、Ｌ＝５である場合、フィルタのオーダーは２５に定められる。
Ｎ＝２５
ここで、Ｌ＝５、及びＮ＝Ｌの整数倍
【０１１２】
本実施例において、２５は奇数である。一部の実施形態において、設計者の選択により、プロセス、装置又はシステムにおけるフィルタのオーダーとして、偶数又は奇数のいずれを用いても良い。フィルタの係数を演算するプロセスは、Ｎが奇数か偶数かによって若干異なるが、フィルタのオーダーが奇数か偶数かに関わらず、同一の原理が適用されるということが当業者には理解できると思われる。本明細書の実施例においては、Ｎは奇数である。
【０１１３】
フィルタのオーダーＮと遮断周波数ｆｃを特定すれば、前述した方程式を用いてローパスＦＩＲフィルタ用の係数２５個を演算することができる。係数にはＣ０、Ｃ１、Ｃ２...Ｃ２４の符号を付与し、フィルタにシフトするデータにはＤ０、Ｄ１、Ｄ２、Ｄ４...の符号を付与する。
【０１１４】
Ｌの倍数を以って補間を行うためには、Ｌ−１個の０を各データサンプルの間に挿入する。フィルタのレジスタにシフトした、前から２５番目までのデータ値は次のようになる。
Ｄ４、０、０、０、０、Ｄ３、０、０、０、０、Ｄ２、０、０、０、０、Ｄ１、０、０、０、０、Ｄ０、０、０、０、０
【０１１５】
前述のようにＦＩＲフィルタがレジスタにデータを有している時点にて、フィルタは第１フィルタリング出力（Ｆｉｌｔｅｒｅｄ  Ｏｕｔｐｕｔ）ＦＯ（０）を次のように演算する。
ＦＯ（０）＝Ｃ２４×Ｄ４＋Ｃ２３×０＋Ｃ２２×０＋Ｃ２１×０＋Ｃ２０×０＋Ｃ１９×Ｄ３＋Ｃ１８×０＋Ｃ１７×０＋Ｃ１６×０＋Ｃ１５×０＋Ｃ１４×Ｄ２＋Ｃ１３×０＋Ｃ１２×０＋Ｃ１１×０＋Ｃ１０×０＋Ｃ９×Ｄ１＋Ｃ８×０＋Ｃ７×０＋Ｃ６×０＋Ｃ５×０＋Ｃ４×Ｄ０＋Ｃ３×０＋Ｃ２×０＋Ｃ１×０＋Ｃ０×０
【０１１６】
次に、データがシフト（本明細書の場合、右側へシフトする）すれば、フィルタのレジスタにおけるデータは、次のものを含むことになる。
０、Ｄ４、０、０、０、０、Ｄ３、０、０、０、０、Ｄ２、０、０、０、０、Ｄ１、０、０、０、０、Ｄ０、０、０、０
【０１１７】
次のフィルタリング出力は、次のようになる。
ＦＯ（１）＝Ｃ２４×０＋Ｃ２３×Ｄ４＋Ｃ２２×０＋Ｃ２１×０＋Ｃ２０×０＋Ｃ１９×０＋Ｃ１８×Ｄ３＋Ｃ１７×０＋Ｃ１６×０＋Ｃ１５×０＋Ｃ１４×０＋Ｃ１３×Ｄ２＋Ｃ１２×０＋Ｃ１１×０＋Ｃ１０×０＋Ｃ９×０＋Ｃ８×Ｄ１＋Ｃ７×０＋Ｃ６×０＋Ｃ５×０＋Ｃ４×０＋Ｃ３×Ｄ０＋Ｃ２×０＋Ｃ１×０＋Ｃ０×０
【０１１８】
次のクロックサイクルにおいて、データは右側にシフトし、方程式は次のようになる。
ＦＯ（２）＝Ｃ２４×０＋Ｃ２３×０＋Ｃ２２×Ｄ４＋Ｃ２１×０＋Ｃ２０×０＋Ｃ１９×０＋Ｃ１８×０＋Ｃ１７×Ｄ３＋Ｃ１６×０＋Ｃ１５×０＋Ｃ１４×０＋Ｃ１３×０＋Ｃ１２×Ｄ２＋Ｃ１１×０＋Ｃ１０×０＋Ｃ９×０＋Ｃ８×０＋Ｃ７×Ｄ１＋Ｃ６×０＋Ｃ５×０＋Ｃ４×０＋Ｃ３×０＋Ｃ２×Ｄ０＋Ｃ１×０＋Ｃ０×０
ＦＯ（３）＝Ｃ２４×０＋Ｃ２３×０＋Ｃ２２×０＋Ｃ２１×Ｄ４＋Ｃ２０×０＋Ｃ１９×０＋Ｃ１８×０＋Ｃ１７×０＋Ｃ１６×Ｄ３＋Ｃ１５×０＋Ｃ１４×０＋Ｃ１３×０＋Ｃ１２×０＋Ｃ１１×Ｄ２＋Ｃ１０×０＋Ｃ９×０＋Ｃ８×０＋Ｃ７×０＋Ｃ６×Ｄ１＋Ｃ５×０＋Ｃ４×０＋Ｃ３×０＋Ｃ２×０＋Ｃ１×Ｄ０＋Ｃ０×０
ＦＯ（４）＝Ｃ２４×０＋Ｃ２３×０＋Ｃ２２×０＋Ｃ２１×０＋Ｃ２０×Ｄ４＋Ｃ１９×０＋Ｃ１８×０＋Ｃ１７×０＋Ｃ１６×０＋Ｃ１５×Ｄ３＋Ｃ１４×０＋Ｃ１３×０＋Ｃ１２×０＋Ｃ１１×０＋Ｃ１０×Ｄ２＋Ｃ９×０＋Ｃ８×０＋Ｃ７×０＋Ｃ６×０＋Ｃ５×Ｄ１＋Ｃ４×０＋Ｃ３×０＋Ｃ２×０＋Ｃ１×０＋Ｃ０×Ｄ０
【０１１９】
この時点にて、５つの出力が演算されている。次のクロックになれば、新規データサンプルＤ５がフィルタに入り、Ｄ０はフィルタから出ていく。レジスタにおけるデータは、次のようになる。
Ｄ５、０、０、０、０、Ｄ４、０、０、０、０、Ｄ３、０、０、０、０、Ｄ２、０、０、０、０、Ｄ１、０、０、０、０
【０１２０】
Ｆ０（５）の演算に用いられる方程式は、次のようになる。
ＦＯ（５）＝Ｃ２４×Ｄ５＋Ｃ２３×０＋Ｃ２２×０＋Ｃ２１×０＋Ｃ２０×０＋Ｃ１９×Ｄ４＋Ｃ１８×０＋Ｃ１７×０＋Ｃ１６×０＋Ｃ１５×０＋Ｃ１４×Ｄ３＋Ｃ１３×０＋Ｃ１２×０＋Ｃ１１×０＋Ｃ１０×０＋Ｃ９×Ｄ２＋Ｃ８×０＋Ｃ７×０＋Ｃ６×０＋Ｃ５×０＋Ｃ４×Ｄ１＋Ｃ３×０＋Ｃ２×０＋Ｃ１×０＋Ｃ０×０
【０１２１】
本実施例に基づいて、算出の能率を上げるためには、Ｆ０（０）...Ｆ０（５）に対する全ての算出において、積２５個のうち２０個がデータに対し０の値を持ち、よってそれらの乗算結果も結局０となるということ念頭に置く必要がある。従って、０を含む積を取り除いて前述の方程式をより簡略化することができる。下記に前から６番目までのＦＯ結果を示す。
ＦＯ（０）＝Ｃ２４×Ｄ４＋Ｃ１９×Ｄ３＋Ｃ１４×Ｄ２＋Ｃ９×Ｄ１＋Ｃ４×Ｄ０
ＦＯ（１）＝Ｃ２３×Ｄ４＋Ｃ１８×Ｄ３＋Ｃ１３×Ｄ２＋Ｃ８×Ｄ１＋Ｃ３×Ｄ０
ＦＯ（２）＝Ｃ２２×Ｄ４＋Ｃ１７×Ｄ３＋Ｃ１２×Ｄ２＋Ｃ７×Ｄ１＋Ｃ２×Ｄ０
ＦＯ（３）＝Ｃ２１×Ｄ４＋Ｃ１６×Ｄ３＋Ｃ１１×Ｄ２＋Ｃ６×Ｄ１＋Ｃ１×Ｄ０
ＦＯ（４）＝Ｃ２０×Ｄ４＋Ｃ１５×Ｄ３＋Ｃ１０×Ｄ２＋Ｃ５×Ｄ１＋Ｃ０×Ｄ０
【０１２２】
ＦＯ（５）に対しては、新規データサンプルＤ５がフィルタに左側から入り、Ｄ０はフィルタから出ていってそれ以上用いられないので、次のようになる。
ＦＯ（５）＝Ｃ２４×Ｄ５＋Ｃ１９×Ｄ４＋Ｃ１４×Ｄ３＋Ｃ９×Ｄ２＋Ｃ４×Ｄ１
【０１２３】
さらに、最初の方程式５つにおいて、データを指す符号は同じであり（Ｄ４...Ｄ０）、係数のみが変わるので、変化が明確なパターンに従っているということが分かる。算出したフィルタリング出力は、０を全部合計しているため、入力信号レベルに比べ信号振幅が著しく減少している。ＦＩＲフィルタのゲインは、その係数全ての和である。通常的に、係数の和が１なら、ゲインも１である。よって、振幅ゲインは、信号の振幅レベルを元のレベルに復元するために必要である。本実施例では、０の値を持つ積と入力データを持つ積との比が４：１比であるため、５つの乗算器が必要となる。一般的には、各係数にＬを乗じて、所望のゲインを得ることができる。
【０１２４】
ＦＩＲフィルタ係数は、通常、予め一度演算されハードウェアフィルタのレジスタやメモリに保存されても良い。これによって、各係数とＬの乗算を、フィルタの係数を演算する際に行うことも可能になる。従って、一部の実施形態において、システムのフィルタに対する係数２５個の最終セットは、次のようになる。
Ｌ×Ｃ０、Ｌ×Ｃ１、Ｌ×Ｃ２  ...  Ｌ×Ｃ２４
【０１２５】
前述した通り、補間に用いられるＦＩＲフィルタを、フィルタのオーダー（Ｎ）がＬ、つまり補間整数の倍数になるように設計しても良い。本実施例においては、Ｌ＝５、Ｎ＝２５であり、２５は５の整数倍である。補間整数の整数倍に当たるオーダーを用いるのは、ＦＩＲフィルタのデータレジスタにおける０と実データサンプルの比、つまり１：（Ｌ−１）比を維持するためである。本実施例において、Ｌ＝５、（Ｌ−１）＝４であり、よって４つの０をデータサンプルＤ（ｎ）のそれぞれの間に挿入する。データがＦＩＲフィルタのレジスタを介してシフトして行く間、実データサンプルと０の比は、フィルタのオーダーがＬの倍数であればそのままに維持される。
【０１２６】
図１２Ａは、システムの一実施形態における、サンプリング比によるフィルタ演算の変更方法を示す図である。本図面において、フィルタ演算１２００は、ｆｓでサンプリングした入力を、各入力サンプル１２１０の間にＬ−１個の０を挿入して変更し、周波数をＬ×ｆｓとする演算として具現しても良い。変更した入力を第１ＦＩＲフィルタ１２２０に与える。当該フィルタは、遮断周波数ｆｃ＝１／ＬとＬの振幅ゲイン動作を持つオーダーＮのＦＩＲフィルタである。結果として、Ｌ×ｆｓでサンプリングした出力を得る。
【０１２７】
第１ＦＩＲフィルタ１２２０の出力を、第２ＦＩＲフィルタ１２３０に与える。第２ＦＩＲフィルタ１２３０は、遮断周波数ｆｃ＝１／Ｍを持つ。サンプリング演算１２４０において、Ｍ個のサンプルのそれぞれから１を選び、サンプルレートを１／Ｍ分減少させる。結果として、Ｌ×ｆｓ／Ｍ、若しくはｆｓ×サンプリング比Ｌ／Ｍでサンプリングした出力を得る。
【０１２８】
図１２Ｂは、サンプリング比によりフィルタ演算の変更するシステムを示す図である。本図面において、組合システムがフィルタ演算１２００を運用する。システム１２５０はオーダーＮの多相ＦＩＲフィルタを有し、当該フィルタはｆｃ＝１／Ｌ又はｆｃ＝１／Ｍの遮断周波数を持つ。このようなシステムにおいて、ＮはＬの整数倍であり、更に、システム１２５０は、Ｌの平均ゲインを提供し、信号減少を補う。
【０１２９】
図１２Ａ及び図１２Ｂは、スケーリング比Ｌ／Ｍによるデータの補間又はデシメーションを図示している。整数Ｌによる補間演算と１／Ｍ（Ｍは整数）によるデシメーション演算に関しては、図１０及び図１１を参考として、上記に説明されている。図１２Ａは、二つの演算を組み合わせて図示しており、二つのＦＩＲフィルタが直列に連結されている。
【０１３０】
プロセス、装置、又はシステムの一部の実施形態では、直列に連結したＦＩＲフィルタにより、能率をより上げることができる。フィルタ二つが両方ともローパス応答性を有しているなら、実際は、最低遮断周波数を持つフィルタのみを用いても問題はない。他方のＦＩＲフィルタの動作は不要になるためである。一部の実施形態において、最低遮断周波数は、サンプリング率変換の方法が補間とデシメーションのいずれであるかに左右される。サンプリング率変換が補間で行われる場合、正規化遮断周波数ｆｃは１／Ｌとなる。サンプリング率変換がデシメーションで行われる場合、低い方の遮断周波数は１／Ｍとなる。
【０１３１】
前述したように、フィルタのオーダーがＬの倍数なら、Ｌ−１個の０を挿入する必要はなくなる。この因子を活用し、多相ＦＩＲ機構を用いてより簡略化を講じても良い。
【０１３２】
多相ＦＩＲフィルタを用いるサンプリング率変換器について、ＦＯ出力を得るためには、下記の表１に記載の方程式を用いる。これらの方程式は、一連の拡張演算を可能とし、最右列は係数セット（ＣＳ）を提供する。本実施例において、Ｌの値は５、Ｍの値は３であるため、本実施例のスケーリング比はＬ／Ｍ＝５／３となる。
【表１】
2015511414.tif 000004
【０１３３】
表１において、第１方程式、第４方程式、以下３番目の方程式（「＋＋」が前に付き、太字で表記されているもの）は、補間サンプルの１／Ｍ（本実施例では１／３）を表し、補間整数Ｌは５である。一部の実施形態において、残りの方程式（太字ではないもの）まで演算する必要はなく、フィルタは３番目毎の方程式の演算のみを求める。太字の方程式において、係数は０、１、２、３、４シーケンスでは用いられず、０、３、１、４、２シーケンスでは用いられる。一部の遂行形態では、データが二つの順次出力に対して同じであり、また他の状況では、入力データセットから出力を一つのみ演算する。
【０１３４】
図１３は、スケーリングプロセス、装置、又はシステムの一実施形態における、入力フロー制御を行う多相ＦＩＲデジタルフィルタを示す図である。本図面において、多相ＦＩＲデジタルフィルタ１３００は、レジスタ８１５、乗算器８２５、合計ロジック８３０の他にも、係数値を保存する係数ストレージメモリ１３４５と制御ロジックブロック１３４０を含んでも良く、制御ロジック１３４０は、入力フロー制御を提供する。図１３に図示されているように、制御ロジック１３４０は係数ストレージメモリ１３４５に係数セットアドレスを与える。係数セットアドレスは複数の係数セットのうち一つを選ぶときに用いられても良い。本図面では、セットｎを選択し、乗算器８３０はＤ０〜Ｄ４に係数Ｃｎ０...Ｃｎ４を乗じる。
【０１３５】
一実施例において、オーダーＮのＦＩＲフィルタ、例えばＮ＝２５のＦＩＲフィルタが補間に用いられ、図１３のように具現される。本実施例において、フィルタ１３００は、Ｎ＝２５の多相ＦＩＲフィルタである。係数は、１セットあたり５つの係数を有する５つのセットにまとめる方式で、メモリに保存する。当該メモリに、制御ロジックブロック１３４０によりアドレスを与える。制御ロジック１３４０が生成した入力フロー制御を用いて流入データレートを制御し、流入レートが流出レートより小さくなるように維持する。
【０１３６】
図１４は、スケーリングプロセス、装置、又はシステムの一実施形態における、多相ＦＩＲフィルタを示す図である。フィルタ１４００は図１３のフィルタ１３００に類似するが、但し制御ロジックブロック１４４０は、出力フロー制御に当たる追加の出力信号を有する。一部の実施形態において、図１３の制御ロジック１３４０について記載されている通り、流入レートを制御する一方、出力フロー制御を用いて多相ＦＩＲフィルタの出力を制御する。一部の実施形態において、制御ロジック１４４０は、前頁における方程式の表に示された非順次的順序（太字の方程式）に従い係数セットを循環する。
【０１３７】
制御ロジックは、流れ制御信号と係数メモリルックアップアドレスを提供する。スケーリング比が１より大きければ、多相フィルタの出力レートは入力レートより高くなる。この場合、制御ロジックは、レジスタに新規サンプルをシフトさせる時点を定める。スケーリング比が１未満なら、フィルタの出力レートは入力レートより低くなる。この場合、制御ロジックは、フィルタが有効出力を生成できていないクロックサイクルの間、フィルタの出力を無効化する信号を生成する。一部の実施形態において、スケーリングシステムの制御ロジックは、係数セットの検索用アドレスを更に生成する。
【０１３８】
図１５は、ビデオスケーリングプロセス、装置、又はシステムの一実施形態における、位相累算器を示す図である。一部の実施形態において、多相フィルタの制御関数（ｃｏｎｔｒｏｌ  ｆｕｎｃｔｉｏｎｓ）、例えば図１３の制御ロジック１３４０や図１４の制御ロジック１４４０の制御関数は、位相累算器１５００を用いて生成することができる。位相累算器（ＰＡ）１５００は多重ビットクロックレジスタ１５２０を含む。レジスタ１５２０の出力を、第１入力として加算器１５１０に与える。加算器１５１０への第２入力は制御語である。加算器の出力はレジスタ１５１０の入力にフィードバックされ、当該入力は、次のクロックサイクルでレジスタ１５２０にラッチ（ｌａｔｃｈ）される。
【０１３９】
図１５に図示されているように、制御語（ＣＷ）はスケーリング比の逆数であり、従ってＣＷ＝１／ＳＲである。制御語は、一般的に、多重ビット有理二進数であっても良い。クロックレジスタ１５２０に保存される二進数は、整数部と小数部を有する。制御信号ロジック１５３０により二進数の整数部を受信し、整数部を復号して流れ制御に用いる。制御信号ロジックの出力はシフト入力と無効化出力とになる。保存されている二進数の小数部は、当該小数部にスケーリング比Ｌの分子を乗じて（乗算器１５４０）、係数アドレスを生成するために用いられる。
【０１４０】
一部の実施形態において、ビデオスケーリング演算の開始時点で、初期値でクロックレジスタ１５２０を初期化する。垂直スケーリングの場合、ビデオフレームの開始点でレジスタを初期化し、新規出力ラインのそれぞれに対して更新を行う。水平スケーリングの場合、出力の新規水平ラインの開始点でレジスタを初期化し、各出力サンプルに対して更新を行う。
【０１４１】
一部の実施形態において、レジスタ１５２０の小数部における二進値は、入力サンプリンググリッドと出力サンプリンググリッド間の位相差を追跡（又は累積）する。その後、小数部にＬを乗じて、本位相値を係数メモリアドレスに変換しても良い。
【０１４２】
演算において、クロックレジスタの各更新の結果、レジスタの整数部への桁上げが行われる。当該桁上げの数値は、新規データがビデオスケーラのデータレジスタへシフトする方法（シフト入力）を指す。桁上げの数値部は更に、スケーラの乗算器の出力が無効化となるべきときを指す（無効化出力）。各数値は、次のように解釈される。
【０１４３】
（０）整数部への桁上げが０である場合、新規データをデータレジスタにシフトする必要は無く、レジスタに現存するデータから他の出力を演算しても良い。ＳＲ＞１（ＣＷ＜１）の状況でのみ生じる。
【０１４４】
（１）しかしながら、整数部への桁上げが１である場合、当該桁上げ値は、「新規データセット一つをレジスタにシフトすること」を意味する。
【０１４５】
（２）また、整数部への桁上げが２である場合、当該桁上げ値は、「新規データセット二つをレジスタにシフトし、乗算器の現在出力を無効化すること」を意味する。２以上の値は、ＳＲ＜１（ＣＷ＞１）の状況でのみ生じる。
【０１４６】
例えば、ＳＲ＝Ｌ／Ｍ＝５／３であると想定する。ＣＷは３／５＝０．６となり、レジスタは０で初期化される。
【表２】
2015511414.tif 000005
【０１４７】
表２における係数値列は、係数アドレスが前述の実施例と同じ順序によりアドレスを循環することを意味する。当該係数セット（ｃｏｅｆｆｉｃｉｅｎｔ  ｓｅｔｓ）は、太字で番号付けをされている。
2015511414.tif 000006
【０１４８】
ビデオスケーリングプロセス、装置又はシステムの一部の実施形態において、正確な係数サブセットを係数メモリの特定のアドレスに位置付ける。係数セット選択の順序を、ＰＡの小数部と係数乗算器Ｌにより定める。
【０１４９】
流れ制御は前述の実施例のように、整数部の変化によってレジスタに新規データをシフトするか否かを定めても良い。スケーリング比ＳＲが１未満、例えば０．５≦ＳＲ＜１であれば、整数部の変化は必ず１又は２になる。「１」は、新規データをシフトする必要があることを示し、「２」は二つの新規データをシフトし、乗算器の現在出力を無効化しなければならない（有効出力サンプルではない）ことを意味する。
【０１５０】
多相フィルタはビデオスケーリングに大体有用であるが、完璧ではない。ＦＩＲフィルタ（多相ＦＩＲフィルタを含む）は必ず有限オーダー（Ｎ）を持つが当該構造の有限性こそが歪みを引き起こす要因である。ＦＩＲフィルタの有限性により生じる歪みは、ギブス現象として知られている。
【０１５１】
ギブス現象は、フィルタのレジスタに保存されている入力データが少数の入力サンプルに渡って大きな遷移を見せている場合、ＦＩＲフィルタの出力にオーバーシュートとアンダーシュートを生成する。遷移が振幅において大きくなるにつれ、遷移時間が短くなり、歪みはより鮮明になる。
【０１５２】
多相ＦＩＲフィルタ系ビデオスケーラにおいて、ビデオが自然の風景をカメラで撮影して得たものであれば、歪みを引き起こす遷移は稀である。しかしながら、コンピュータ生成グラフィック要素の場合、歪みの原因となる性質の特徴を含むことがしばしばある。ここにおいて、「コンピュータ生成グラフィック要素」とは、コンピュータで生成したテキストやグラフィック画像を含み、更に、ＢｌｕＲａｙプレーヤ、ＤＶＤプレーヤ、セットトップボックスなどの家電製品で生成したグラフィック要素も含み得る。当該グラフィック要素は、映像に重なり合うメニューやテキストにより生成されるものである。
【０１５３】
図１６は、ビデオスケーラの一実施形態に対するサンプルの入力シーケンスを示す図である。これらのサンプルの振幅は、０＞１の範囲で正規化され、サンプルの範囲は０．１〜０．９である。しかしながら、これらのサンプルは極度の突然遷移を含み、値は０．１から０．９に変化する。これは、コンピュータグラフィックではよく生じるが自然画像では稀であるタイプの遷移を一例であり、このような遷移は、多相ＦＩＲフィルタによるスケーリングのとき、問題を引き起こす。
【０１５４】
図１７Ａは、多相ＦＩＲフィルタを含むビデオスケーラにより処理された入力シーケンスを示す図である。本図面において、図１７Ａに図示されている入力シーケンスに、多相ＦＩＲフィルタとＳＲ＝９／４を用いてスケーリングを施す。９／４によりスケーリングを受けた２０個の入力サンプルは、図１７Ａに示されている通り、４５個の出力サンプルを生成する。遷移の両方側で、出力サンプルに生じたオーバーシュート及びリンギングを肉眼で確認することができる。これらのアーチファクトは、スケーリングを行ったビデオ画像でも視認できる。
【０１５５】
図１７Ｂは、線形補間器を含むビデオスケーラにより処理された入力シーケンスを示す図である。図１７Ａとは異なり、図１７Ｂの出力サンプルは、図１６に示されているサンプル２０個に同比を適用してスケーリングしたものであるが、但し、多相ＦＩＲフィルタではなく線形補間器を用いている。図１７Ａにおける多相フィルタの出力から明確に確認されていたオーバーシュートとリンギングは、線形補間器による出力では、鮮明ではない。
【０１５６】
しかしながら、線形補間器の出力は、コンピュータ生成画像によくある連続していない画像では、多相ＦＩＲフィルタを圧倒する画質を見せているが、線形補間器は自然画像、例えばカメラで直接撮影した画像のスケーリングにはあまり強くない。自然画像については、多相ＦＩＲ技術の方が高画質の出力画像を提供する。
【０１５７】
線形補間器は、入力サンプルと出力サンプル間の位相関係が知られている場合、画像を簡単にスケーリングする方法を提供する。図１７Ｂに図示されている実施例において、出力は二つの入力サンプルの単純平均である。
【０１５８】
一実施例において、位相情報（Ｐ）が０と１間の値を有すると仮定する。０は、入力Ａとマッチする出力位相を、１は入力サンプルＢとマッチする出力位相を指す。０＜Ｐ＜１であるＰは、ＡとＢ間の位相シフトを意味し、線形補間器の出力は、次のようになる。
ＬＩ（ｏｕｔｐｕｔ）＝（Ａ×（１−Ｐ））＋（Ｂ×Ｐ）
【０１５９】
一部の実施形態において、位相累算器レジスタ、例えば図１５に示されているレジスタ１５２０の小数部は、線形補間器スケーリングの出力演算に直接用いることができる位相情報を含む。適応スケーリングアルゴリズムは位相累算器の出力を用い、多相ＦＩＲビデオスケーラにおけるオーバーシュートとリンギングを低減する。ビデオスケーラの一部の実施形態において、適応スケーリングアルゴリズムは、多相ＦＩＲフィルタ係数を、位相累算器から得た位相情報とブレンドする。一部の実施形態において、多相フィルタのデータレジスタに保持されているデータサンプルセットの変化率（ＲＯＣ）情報を測定し、ブレンドを制御する。当該変化率情報は、二つの係数セットを単一係数セットに組み合わせるブレンド制御となる。
【０１６０】
本明細書において、説明のために、本発明の理解に役立つよう特定の数値を設定している。しかしながら、特定の詳細事項が一部無くても本発明の実施が可能であることが、当業者には明白であると思われる。また、周知の構造やデバイスをブロック図の形で示しているが、図示の構成要素の間に中間体構造が存在している可能性もある。本明細書に記載されている構想要素は、ここに記載されていない他の入力や出力を更に持っていても良い。図示の素子又は要素は、異なる配置や順序に従って再配置されても良く、面積の調整や順序付けも当該再配置に含まれる。
【０１６１】
本発明は様々なプロセスを含む。本発明のプロセスは、ハードウェア要素により行われても良く、コンピュータ可読型命令により汎用又は専用のプロセッサ又は論理回路をプログラムしてプロセスを実行する方式で具現されても良い。もしくは、ハードウェアとソフトウェアの組み合わせによるプロセスを遂行しても良い。
【０１６２】
本発明の一部はコンピュータプログラム製品として提供され、コンピュータや他の電子デバイスに本発明のプロセスを遂行させる命令に関するコンピュータプログラムを保存する持続性コンピュータ可読型記憶媒体もその範疇に含まれる。コンピュータ可読型記憶媒体は、フロッピーディスク（登録商標）、光学ディスク、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、磁気光学ディスク、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ−ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、磁気カード、光学カード、フラッシュメモリ、その他、電子命令の保存に適合する媒体／コンピュータ可読型媒体を含むが、これらに限られる訳ではない。更に、本発明は、遠隔コンピュータからクライアントコンピュータに転送されるコンピュータプログラムとしてダウンロードできるものであっても良い。
【０１６３】
本明細書は、ほとんどの方法について最も基本形を基準として説明しているが、各プロセスにおいて、本発明の趣旨から逸脱しない範囲であれば、ステップの追加／削除、情報の追加／削除などを自由に行っても構わない。当業者には、更なる変更や応用が許容されることは既に周知の事実であると思われる。特定の実施形態は、本発明の説明する手段に過ぎず、本発明の範囲を制限する訳ではない。
【０１６４】
要素「Ａ」が要素「Ｂ」と連結されていると記載されている場合、要素Ａは要素Ｂと直接連結されていても良く、要素Ｃなどを介して間接的に連結されていても良い。本明細書において要素、特徴、構造、プロセス、又は特性Ａが要素、特徴、構造、プロセス、又は特性Ｂを「引き起こす（ｃａｕｓｅ）」と記載されている場合、「Ａ」は「Ｂ」を生じさせた少なくとも一部の原因になり得るが、「Ｂ」の発生にかかわる他の要素、特徴、構造、プロセス、又は特性が一つ以上存在するかも知れないということを意味する。本明細書において、ある要素、特徴、構造、プロセス、又は特性についてそれが含まれて「いても良い（ｍａｙ）」、「いても構わない（ｍｉｇｈｔ）」、若しくは「いることもある（ｃｏｕｌｄ）」と記載されている場合、当該要素、特徴、構造、プロセス、又は特性は、必ず含まれている必要はない。本明細書において、要素が単数に記載されていたとしても、当該要素が必ずしも一つのみ存在するという訳ではない。
【０１６５】
実施形態は、本発明の具現形態又は実施例に当たる。本明細書における、「ある実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一部の実施形態（ｓｏｍｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、又は「他の実施形態（ｏｔｈｅｒ  ｅｍｂｏｄｉｍｅｎｔｓ）」という表現は、実施形態に関して記載されている特定の特徴、構造又は特性は、少なくとも一部の実施形態には含まれるが、全ての実施形態に含まれる必要はないという意味を持つ。「ある実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一部の実施形態（ｓｏｍｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」という表現が繰り返して用いられているが、必ずしも同じ実施形態を指す訳ではない。本発明の実施形態に関する前述の説明において、本発明の多様な特徴は、時折、開示の簡素化と、一つ以上の発明様態に対する理解の補助を目的として、単一の実施形態、図面又は説明にまとめられる場合もあることを理解して頂きたい。
【符号の説明】
【０１６６】
１００  システム
１０５  適応スケーラ
１０７  メモリ
１１０  入力サンプリンググリッド
１１５  多相フィルタ係数セット
１２０  線形補間フィルタ係数セット
１２５  モジュール
１３０  モジュール（係数ミキシング素子）
１５０  ビデオデータ
１６０  スケーリングビデオデータ（スケーリング出力画素）
１６５  レシーバ
１７０  ディスプレイ
１７５  プロセッサ
２００  適応スケーラ
２０５  入力ラインバッファ
２１０  垂直フィルタ生成器（垂直係数生成器）
２１５  垂直乗算器アレイ
２２０  ビット
２２５  ＦＩＦＯバッファ
２３０  水平フィルタ生成器（水平係数生成器）
２４０  ビット
２４５  第２ＦＩＦＯバッファ
２６０  素子
２７０  素子
３００  輝度部
３００  スケーラ
３０２  スケーリング比
３０４  加算器
３０６  受信データ
３０８  マルチプレクサ
３１０  累算器
３１４  係数セットアドレス
３１６  係数ＲＯＭ
３３０  ラスタスキャンＹ入力
３３２  ７つのラインメモリ
３３２  ラインメモリ
３３２  データメモリ
３４０  積の和／切り捨て／１０ビットへの四捨五入
３３４  ７つの垂直に隣接するＹ値
３３６  乗算器
３３８  ７つの積のセット（Ｙ×係数（ｎ））
３４２  スケーリングＹ入力
３５０  制御ループ
３６０  データ経路
４００  輝度部
４２０  素子（変化率検出モジュール）
４２２  ミックス制御信号
４２４  素子（係数ミキサ）
４２６  現在位相
４５０  制御ループ
４６０  データ経路
４７０  輝度部
４７２  モジュール
４７４  ビット
４７６  多相フィルタを用いてスケーリングを行った輝度
４７８  線形補間を用いてスケーリングを行った輝度
４８０  変化率検出モジュール
４８２  ミックス制御信号
４９０  データミキサ
４９２  スケーリング輝度
５００  変化率検出モジュール
５１０  多重入力
５２０  隣接するＹ値間の差の絶対値
５３０  最大値関数
５４０  ｍａｘＤｉｆｆｅｒｅｎｃｅ値
６００  変化率検出モジュール
６１０  多重入力
６２０  隣接するＹ値間の差の絶対値
６３０  合計関数
６４０  ｄｉｆｆｅｒｅｎｃｅＳｕｍ値
８００  フィルタ
８０５  データ入力
８１０  クロック信号
８１５  多重ビットストレージレジスタ
８２０  係数
８２５  乗算器
８３０  合計ロジック
１３００  フィルタ
１３４０  制御ロジック
１３４５  係数ストレージメモリ
１４００  フィルタ
１４４０  制御ロジック
１５００  位相累算器（ＰＡ）
１５１０  加算器
１５２０  クロックレジスタ
１５３０  制御信号ロジック
１５４０  乗算器
【図１】
2015511414.tif 000007
【図２】
2015511414.tif 000008
【図３】
2015511414.tif 000009
【図４Ａ】
2015511414.tif 000010
【図４Ｂ】
2015511414.tif 000011
【図５】
2015511414.tif 000012
【図６】
2015511414.tif 000013
【図７】
2015511414.tif 000014
【図８】
2015511414.tif 000015
【図９】
2015511414.tif 000016
【図１０】
2015511414.tif 000017
【図１１】
2015511414.tif 000018
【図１２Ａ】
2015511414.tif 000019
【図１２Ｂ】
2015511414.tif 000020
【図１３】
2015511414.tif 000021
【図１４】
2015511414.tif 000022
【図１５】
2015511414.tif 000023
【図１６】
2015511414.tif 000024
【図１７Ａ】
2015511414.tif 000025
【図１７Ｂ】
2015511414.tif 000026
【国際調査報告】
2015511414.tif 000027
2015511414.tif 000028