JP2015511414A - ビデオスケーラのリンギング低減 - Google Patents

ビデオスケーラのリンギング低減 Download PDF

Info

Publication number
JP2015511414A
JP2015511414A JP2014549099A JP2014549099A JP2015511414A JP 2015511414 A JP2015511414 A JP 2015511414A JP 2014549099 A JP2014549099 A JP 2014549099A JP 2014549099 A JP2014549099 A JP 2014549099A JP 2015511414 A JP2015511414 A JP 2015511414A
Authority
JP
Japan
Prior art keywords
video data
scaling
coefficient
value set
video
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.)
Granted
Application number
JP2014549099A
Other languages
English (en)
Other versions
JP6190386B2 (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 JP2015511414A publication Critical patent/JP2015511414A/ja
Application granted granted Critical
Publication of JP6190386B2 publication Critical patent/JP6190386B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本発明の実施形態は、概して、ビデオスケーラにおけるリンギング低減について示唆する。方法の一実施形態は、複数のビデオデータ値セットを含むビデオデータのストリームを受信するステップと、当該ビデオデータストリームから得た第1ビデオデータ値セットをメモリに保存するステップとを含む。スケーリング技術に基づき、第1ビデオデータ値セットに対する第1スケーリング値セットを決定し、当該ビデオデータの線形補間に基づき、第1ビデオデータ値セットに対する第2スケーリング値セットを決定する。該方法は、受信したビデオデータにおける振幅の変化率を検出するステップと、ビデオデータの前記変化率の少なくとも一部に基づき、ミックス制御信号を生成するステップと、ミックス制御信号の少なくとも一部に基づき、ブレンド値セットを生成するために、第1スケーリング値セット及び第2スケーリング値セットをミックスするステップと、ブレンド値セットを用いて、スケーリングビデオデータ出力を生成するステップとを更に含む。

Description

本発明の実施形態は、概して電子データ通信分野に関し、より具体的には、ビデオスケーラのリンギング低減に関する。
電子デバイスにビデオ画像を提示する場合、特定のシステムで画像を表示するためにビデオデータストリームに対するスケールの変更がしばしば求められることがある。本願における、ビデオデータストリームのスケールを変更する回路、素子、モジュールを、一般的にまとめて「スケーラ」と言う。
スケーラは、膨大な数の多様な技術を応用することができる。しかしながら、特定のスケーリング技術は、「フィルタリンギング」(以下、「リンギング」とも言う)を生じさせてしまうこともある。リンギングの原因は、入力データの急速な変化、つまり、高エネルギーと高周波数を共に持つ入力データの変化である。入力信号における変化は、自然画像(カメラで撮影した画像)には相対的に稀であるため、ビデオデータをスケーリングする際であっても、リンギングはあまり問題にはならなかった。しかしながら、コンピュータソースからのグラフィック画像は急速変化の特性を有することが多く、よってリンギングが生じる可能性も高くなる。グラフィック要素はしばしばビデオ画像とミックスされたり、ビデオ画像の上に重ね合わさったりするため、用いたスケーリング技術によって生じたリンギングは視聴者にとって好ましくない場合もあり、技術の性能特性を損なってしまいかねない。
本発明の実施形態は、本発明を説明するための一例に過ぎず、本発明の範囲を限定する訳ではない。更に、添付図面において、類似の要素には、同じ参考符号を付与するものとする。
適応スケーラを含むマルチメディア装置又はシステムの一実施形態を示す図である。 適応スケーラの一実施形態を示す図である。 垂直スケーラ部の一実施形態を示す図である。 変化率検出と係数ミックスを含む垂直スケーラ部の一実施形態を示す図である。 並列作動する複数のスケーラを含む垂直スケーラ部の一実施形態を示す図である。 変化率検出モジュールの一部の一実施形態を示す図である。 変化率検出モジュールの一部の一実施形態を示す図である。 スケーリングを行ったビデオデータの生成プロセスの一実施形態を示すフローチャートである。 スケーリング装置又はシステムの一実施形態におけるFIRデジタルフィルタを示す図である。 ビデオスケーリングプロセス、装置、又はシステムの一実施形態におけるサンプリングレートの変更方法を示す図である。 スケーリングプロセス、装置、又はシステムの一実施形態における、FIRフィルタのサンプルレートのデシメーションによる変更方法を示す図である。 スケーリングプロセス、装置、又はシステムの一実施形態における、FIRフィルタのサンプルレートの補間による変更方法を示す図である。 システムの一実施形態における、サンプリング比(sampling ratio)によるフィルタ演算の変更方法を示す図である。 サンプリング比によりフィルタ演算を変更するシステムを示す図である。 スケーリングプロセス、装置、又はシステムの一実施形態における、入力フロー制御を行う多相FIRデジタルフィルタを示す図である。 スケーリングプロセス、装置、又はシステムの一実施形態における、入力フロー及び出力フローの制御を行う多相FIRデジタルフィルタを示す図である。 ビデオスケーリングプロセス、装置、又はシステムの一実施形態における、相累算器を示す図である。 ビデオスケーラの一実施形態に対するサンプルの入力シーケンスを示す図である。 多相FIRフィルタを含むビデオスケーラにより処理された入力シーケンスを示す図である。 線形補間器を含むビデオスケーラにより処理された入力シーケンスを示す図である。
本発明の実施形態は、概して、ビデオスケーラにおけるリンギング低減について示唆する。
本発明の第1様態において、方法の一実施形態は、複数のビデオデータ値セットを含むビデオデータのストリームを受信するステップと、当該ビデオデータストリームから得た第1ビデオデータ値セットをメモリに保存するステップとを含む。スケーリング技術に基づき、第1ビデオデータ値セットに対する第1スケーリング値セットを決定し、当該ビデオデータの線形補間に基づき、第1ビデオデータ値セットに対する第2スケーリング値セットを決定する。該方法は、受信したビデオデータにおける振幅の変化率を検出するステップと、ビデオデータの前記変化率の少なくとも一部に基づき、ミックス制御信号を生成するステップと、ミックス制御信号の少なくとも一部に基づき、ブレンド値セットを生成するために、第1スケーリング値セット及び第2スケーリング値セットをミックスするステップと、ブレンド値セットを用いて、スケーリングビデオデータ出力を生成するステップとを更に含む。
本発明の第2様態において、装置の一実施形態は、ビデオデータストリームからのビデオデータ値セットを保存するメモリと、ビデオスケーリング技術を用いてビデオデータストリームに対する第1スケーリング値セットを決定するスケーリング値決定部とを含む。当該装置は、ビデオデータストリームの振幅における変化率を判定し、判定した前記変化率に基づいてミックス制御信号を決定する検出素子と、線形補間に基づく第2スケーリング値セットを、第1スケーリング値セットとミックスしてブレンド値セットを生成するミキシング素子とを、更に含む。
本発明の実施形態は、概して、ビデオスケーラにおけるリンギング低減について示唆する。
一部の実施形態において、方法、装置又はシステムは、ビデオスケーラにおけるリンギング低減を提供する。一部の実施形態において、ビデオスケーリングに用いられる方法、装置又はシステムは、多相フィルタを応用する技術などのスケーリング技術を用いた線形補間を実行し、ビデオスケーリングにより生じたリンギングを低減する。
ビデオスケーリングは、デジタルビデオ画像のサイズ変更又は解像度変更に用いられる信号処理機能である。ビデオのフォーマット変換にビデオスケーリングが求められることがよくある。フォーマット変換は、通常、テレビや他のデジタルディスプレイで行われるが、DVDプレーヤ、BluRayプレーヤ、或いは放送用セットトップボックスなどのビデオソースデバイスで行われることもある。
例えば、DVD光学ディスクは動画を圧縮ファイルとして保存することができる。保存している動画を再生するために、DVDプレーヤは、光学ディスクからデータを読み取り、解凍処理を行って標準画質のビデオ信号を取得する。標準画質ビデオの解像度は、一般的に、720×480PPF(60Hz標準の場合)、或いは720×576PPF(50Hz標準の場合)である。
標準画質ビデオ信号は、フォーマット変換を行うことで、高解像度ディスプレイ上に表示することができる。当該フォーマット変換処理は、通常、ビデオスケーリングを必要とする。例えば、高解像度ディスプレイで一般的に用いられる解像度は、1920×1080PPFである。標準画質ビデオ信号は、720×480の解像度から1920×1080の解像度に変換され、高解像度ディスプレイで視認できるようになる。当該変換は、ビデオスケーラにより行われる。
「スケーリング比」とは、ビデオスケーラの出力を入力で割った比を指す。これは、「垂直スケーリング比」及び「水平スケーリング比」と表現する方が便利であることが多い。例えば、前述の例のように、720×480の解像度を持つ入力ビデオ信号を1920×1080の出力解像度に変換するスケーラは、以下の比を用いるものとする。
垂直スケーリング比=(垂直出力解像度)/(垂直入力解像度)
=1080/480
水平スケーリング比=(水平出力解像度)/(水平入力解像度)
=1920/720
当該の例示からも分かるように、スケーリング比は整数比であり、水平スケーリングと垂直スケーリングは、異なるスケーリング比を必要とする。更に、信号とディスプレイに用いられ得る解像度は非常に多い上に、標準ビデオフォーマットの変換は勿論のこと、ビデオスケーラを用いて、ビデオスケーリングを必要とするユーザ制御、例えばズーム、アンダースキャン、アスペクト比補正などを遂行することもできる。このため、市販のビデオスケーラは、スケーリング比の範囲に渡ってスケーリングを十分に行える程度のプログラム性を備える必要がある。
ビデオ画像は、個別の絵素又は画素の配列で構成される。画素はビデオ信号のデジタルサンプルであり、ビデオスケーリングは、デジタルサンプリングレート変換を応用したものである。
一部の実施形態において、特定のスケーリング技術を用いるビデオスケーラは、データの変化率を検出し、ミックス制御信号を生成する変化率検出モジュール又は素子を含んでも良い。一部の実施形態において、ビデオスケーラは、スケーリング値、つまり線形補間係数又は輝度値などを生成し、フィルタリンギングの低減のために、線形補間によるスケーリング値と、ミックス制御信号に基づいて選んだスケーリング技術により生成/取得したスケーリング値とをミックスする係数ミキサモジュール又は素子を含んでも良い。ここでは、変化率検出と係数ミックスに関する論議は概して二つのモジュール又は素子を想定しているが、実施形態はそれに限られず、例えば、検出機能とミックス機能を同時に提供する単一モジュール又は素子であっても良く、二つ以上のモジュール又は素子により検出機能とミックス機能を提供しても良い。
ビデオ画像のスケーリング又はサイズ変更に用いられる技術は非常に多様である。一般的なスケーリング技術には、次の手法などが含まれるが、但しこれらに限られる訳ではない。
(1)最近傍法(画素複製)
(2)線形補間、及び双線形補間(「双」が前に付く場合は、二次補間を意味する):所定の画素(又はサンプル点)間の直線分上に存在する画素を算出する方法
(3)三次補間、及び双三次補間:多項式を用いて補間画素値を算出。
多項式を用いる関連手法は他にも非常に多く、エルミート補間やCatmull−Romスプライン法などが挙げられる。しかしながら、これらは多項式を採用する数学的方法の事例に過ぎず、多項式を採用する方法として可能なもののリストを包括的に記載しているわけではない。
(4)多相フィルタバンク:多相フィルタバンクはフーリエ解析と関係のある技術であり、これにより、装置、システム又はプロセスは、データサンプルセットの周波数成分を演算し、周波数と入出力間位相関係に基づいて出力サンプルを演算することができる。
前述のスケーリング技術は、概ね、最も単純なものから複雑なものの順かつ、出力画質が低いものから高いものの順で羅列されている。実行コストも、ロジック要件、演算時間、電力消費量、その他の要因に関して、概ね前述の順序に従う。
採用可能な技術のうち、多相フィルタバンクをビデオスケーリングに用いれば、高性能や順応性など、利点が多い。しかしながら、特定の条件下では、多相フィルタは出力画像に不要なアーチファクトを取り組んでしまう可能性がある。「フィルタリンギング」(又は「リンギング」)とも呼ばれるこのアーチファクトは、当該フィルタでは一般的な問題である。デジタル信号処理分野では、多相フィルタのリンギングは「ギブス現象」として知られている。更に、リンギングは他の多項式技術においても生じ得る問題であり、その結果は「ルンゲ現象」として知られる。
一部の実施形態において、ビデオスケーラ、例えば多相フィルタバンク系のスケーラは、フィルタリンギングを低減する素子を含んでいる。一部の実施形態において、当該スケーラは、次のものを行う。
(1)入力サンプリンググリッドに対する出力画素の位相を演算する。
(2)演算した位相情報を用いて、多相フィルタに対する係数など、スケーリング値セットを決定する。当該係数は、例えば、係数セットの算出や、多相フィルタに対する予め演算された係数の検索などにより決定しても良い。
(3)演算した位相情報を用いて、線形補間係数セットを決定する。当該係数は、例えば、係数セットの算出や、多相フィルタに対する予め演算された係数の検索などにより決定しても良い。
(4)入力サンプルセットの振幅における変化率を演算する。
(5)振幅における変化率の演算結果から変化率(ROC)の多重ビットデジタル信号を生成する。
(6)線形補間係数と多相フィルタ係数とのブレンドに用いるミックス制御として当該変化率信号を用いる。
(7)多相フィルタにてブレンド係数を使用し、出力画素を演算する。
一部の実施形態において、線形補間係数とスケーラ技術用の係数とをミックスするプロセスは、スケーラの出力におけるリンギングを低減することで、多相フィルタバンク系のビデオスケーラを向上させることができる。しかしながら、実施形態は多相フィルタバンクのみに限らず、一部の実施形態において、当該技術を更に他の高性能ビデオスケーラや多項式技術に適用しても良い。
コンピュータ生成画像は、スケーリング画像にリンギングを引き起こし得る特性を有する。突然遷移、例えば単一画素の空間に渡るフルスケール遷移(full−scale transition)などは、自然画像では稀だが、コンピュータグラフィックでは非常に多い問題である。本文にて、「コンピュータソース」は、コンピュータを始め、DVDプレーヤ、AVレシーバ、ビデオセットトップボックスなど、ビデオ信号を生成する家電製品や、他の演算システムのように、メニューやアイコンなどの要素(これに限られる訳ではない)グラフィック画像を含むものの全てを対象とする。更に、あまり一般的ではないが、「ブラックバー(black bar)」の縁に沿って、直線としてリンギングが現れるなど、自然画像に好ましくない水準のリンギングが生じる場合がある。
一部の実施形態において、汎用スケーリング技術を用いてリンギングを低減させ、同時にスケーリング自然画像の画質を維持する。一部の実施形態において、スケーリング技術は、次のような特性を有する。
(1)モジュール式の設計により、YCbCr4:2:2スケーラや4:4:4/RGBスケーラなど周知のスケーラに技術を追加することができる。
(2)水平スケーラと垂直スケーラを個別的に操作できる。
(3)スケーラの操作は追加のラインメモリを必要とせず、よって操作は相対的に簡単なものとなる。
(4)スケーラは、画像特性に対して自己適応性を有しても良く、それによって、性能を調整するソフトウェア制御が簡単なものとなる。
一部の実施形態において、スケーラは、入来画像の内容に基づき、実際の運用でスケーリングフィルタの特性を変更して作動する。一部の実施形態において、汎用スケーラは、生成又は検索した標準フィルタ係数(例えば、リードオンリーメモリ(ROM)に保存されていた係数)を、累算器からの位相情報を用いて内部で生成した係数セットとミックスすることで、当該作動を行う。一部の実施形態において、内部で生成した係数は、線形補間器(LI)係数であっても良い。
線形補間器の利点は、通常、画像にリンギングを引き起こさないという点である。しかしながら、線形補間器をスケーラとして用いる場合、多相フィルタにより生成した画像と同等の画質を持つ画像を得られないのが一般的である。一部の実施形態において、スケーリング値(例えば、係数)のセット二つにインテリジェントブレンド(intelligent blending)を施すことにより、汎用スケーラは、線形補間器と多相フィルタの利点を両方とも活かし、リンギングを低減させながら高画質の出力を得ることができる。
FIR(Finite Input Response)デジタルフィルタは、多種多様の信号アプリケーションで用いることができる。FIRデジタルフィルタは周波数選択性構造であり、ある周波数帯を出力に通過させる一方、その他の周波数帯を減衰させることができる。FIRデジタルフィルタは、ローパス、ハイパス、バンドパス、或いはバンドストップフィルタリング機能を持つようにデザインされても良い。但し、これらの基本種類に限られる訳ではない。その中でも、ローパスFIRフィルタをビデオスケーリングに用いることができる。本明細書では、ローパスフィルタ応答を想定して説明する。
実際には、FIRデジタルフィルタを多様な形態に実現させることができる。ソフトウェアプログラムでも良く、一般のロジック素子で構築したハードウェアでも良い。本明細書では、概ね、ハードウェアとして具現した場合を想定して説明する。
多相FIRフィルタのコンセプトは、デジタル信号処理分野においてデジタルサンプリング率変換を行う手段として用いられる。多相FIRフィルタは、デジタルビデオをスケーリングするアルゴリズムとして上手く機能する。更に、高画質の出力画像を生成する、効率性と費用効率の高い構造として用いることもできる。
しかしながら、多相FIRフィルタとて、完全ではない。ビデオスケーリングに用いる場合、特定の条件では、多相フィルタの出力に歪みが生じてしまうのである。
図1は、適応スケーラを含むマルチメディア装置又はシステムの一実施形態を示す図である。本図面では、装置やシステムを簡略化して図示し、マルチメディアシステムにおける周知の素子は省略している。一部の実施形態において、システムは、特定のビデオデータ150を、例えばレシーバ165を介して受信するか、若しくは生成する。ディスプレイ170(装置又はシステム100の一部であっても一部でなくても良い)に用いられるスケーリングビデオデータ160を生成するためには、スケーリング、或いは一つ以上の素子(例えば一つ以上のプロセッサ175)によるハンドリングが求められる。一部の実施形態において、装置又はシステム100は、ビデオデータの変化に応答し、フィルタリンギングを低減する適応スケーラ105を含む。
一部の実施形態において、適応スケーラ105は、受信した一定数のビデオデータ要素を保存するメモリ107と、入力サンプリンググリッド110に対してビデオデータの位相を判定する素子とを含む。一部の実施形態において、スケーラ105は、演算した位相情報を用いて多相フィルタ係数セット115を決定する。
一部の実施形態において、スケーラは、線形補間フィルタ係数セット120を更に決定する。一部の実施形態において、スケーラ105は、入力サンプルセットの振幅における変化率(ROC)を判定し、判定した振幅の変化率から変化率信号を生成する素子又はモジュール125を含む。一部の実施形態において、スケーラは、係数ミキシング素子又はモジュール130を含み、係数ミキシング素子130は、変化率信号をミックス制御として用いて、線形補間フィルタ係数と多相フィルタ係数をブレンドする。一部の実施形態において、スケーラは多相フィルタにおいて、結果物のブレンド係数を使用し、ディスプレイ170への表示に用いられるスケーリング出力画素160を演算する。
図2は、適応スケーラの一実施形態を示す図である。一部の実施形態において、適応スケーラ200は、ビデオデータのスケーリングに、多相フィルタリングを用いても良い。一部の実施形態において、スケーラ200は、並列バスを介して連結されていても良く、ビデオ入力と共に、Hsync信号、Vsync信号、DE信号、及びビデオクロックを受信する入力ラインバッファ205を含む。入力ラインバッファ205は、システムクロック信号(SYSCLK)及びリセット信号を更に受信しても良い。
図2において、スケーラ200は、フィルタ係数生成器、つまり垂直フィルタ生成器210及び水平フィルタ生成器230を更に含む。図示されているように、垂直乗算器アレイ215により入力ラインバッファ205からのデータと、垂直係数生成器210により生成したブレンド係数とを乗じ、乗算の積を素子で受信して当該積の和を出し、桁あふれを切り捨て、四捨五入をして一定数のビット220にする。結果物の垂直スケーリングデータをFIFOバッファ225に保存する。水平乗算器アレイ235によりFIFOバッファ225からのデータと、水平係数生成器230により生成した係数とを乗じ、乗算の積を素子で受信して当該積の和を出し、桁あふれを切り捨て、四捨五入をして一定数のビット240にする。結果物の水平スケーリングデータを第2FIFOバッファ245に保存する。スケーラは、ビデオ出力と共に、Hsync信号、Vsync信号、DE信号、及びビデオクロックを出力する。
一部の実施形態において、垂直係数生成器210及び水平係数生成器230は、線形補間係数の生成、ビデオデータの変化率の決定、決定したビデオデータの変化率の少なくとも一部に基づいた多相フィルタ係数及び線形補間係数のミックスに用いられる素子(それぞれ260及び270)を含む。一部の実施形態において、スケーラは、素子260及び270を用いて、多相フィルタバンクにより生じたフィルタリンギングを低減する。当該素子の運用に関しては、下記により詳細に説明する。
一部の実施形態において、ミキサ作動は、次の機能を含む。
(1)累算器の位相情報から、線形補間器によるスケーリング値を算出する。
(2)変化率検出モジュールからのミックス制御信号を用いて、多相スケーリング値を、線形補間器によるスケーリング値とミックスし、ブレンド値セットを生成する。
一部の実施形態において、モジュールはリンギング制御レジスタ(RCR)を含む。一部の実施形態において、リンギング制御レジスタは、ソフトウェアによりプログラム可能なレジスタであり、帯分数の形をしている。つまり整数と小数で構成されている。例えば、レジスタは、最低8ビット(4ビットは整数、4ビットは小数)。一部の実施形態において、第1RCRは垂直スケーラのYチャネルに用いられ、第2RCRは水平スケーラのYチャネルに用いられる。
一部の実施形態において、リンギング低減を、オプションとして彩度に適用しても良い。一実施例において、4:2:2スケーラに対し、独立RCRを垂直彩度スケーラに適用することもできる。一部の実施形態において、水平彩度スケーラに対するリンギング低減は、4:2:2スケーラにおいては必要ない。他の実施例において、4:4:4スケーラに対し、垂直部と水平部の両方において、彩度にリンギング低減を適用しても良い。
一部の実施形態において、ディスプレイの上縁、下縁、左縁、右縁で算出を行う「特別な場合」では、特定の信号を提供する。一実施例において、入力Y3が現在の入力であり、Y3が縁に隣接していれば、残りのY入力の6つ全てに対する値は存在しないことになる。一部の実施形態において、値を持たない入力に対しては、欠測データを0に入れ替えるなどの方式で値を与えるものとする。
一部の実施形態において、出力はミックス制御信号であり、例えば、11ビットの二進数で、0>1.0の範囲内であっても良い。よって、mixingControlの最大値は、二進法で1.0000000000になる。
一部の実施形態において、変化率検出モジュール又は素子の作動は、次のものを含む。
(1)最大差:一部の実施形態において、最大差は、以下の通りに判定しても良い。
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は、ラインメモリからの7つのY値である。
変化率検出モジュールによる最大差の判定の実施形態を図5に示し、以下で説明する。
(2)差の和:一部の実施形態において、差の和を以下の通りに判定しても良い。
Sum = Abs[Y1-Y0] + Abs[Y2-Y1] + Abs[Y3-Y2] +
Abs[Y4-Y3] + Abs[Y5-Y4] + Abs[Y6-5]; [2]
変化率検出モジュールによる差の和の判定の実施形態を図6に示し、下記に説明した。
(3)差分比:一部の実施形態において、差分比(differenceRatio)は、次のように、maxDifference及びdifferenceSumを用いて判定する。
IF differenceSum = 0
THEN differenceRatio = 0
ELSE differenceRatio = maxDifference / differenceSum
前述のIF文は、0で割る算出を行わないようにする。differenceSumは、Y0=Y1=Y2=Y3=Y4=Y5=Y6である場合、0となる。
(4)モジュールの出力:一部の実施形態において、変化率検出モジュールの出力(mixingControl)は、differenceRatio、RCR、maxDifferenceから、次のように判定される。
mixingControl = maxDifference × RCR × differenceRatio [3]
一部の実施形態において、mixingControlを算出した結果、1.0より大きい数字が出ると、結果は1.0に限られることになる。従って、mixingControlの二進値は、1.0000000000(二進数)を越えない。
一部の実施形態において、ミキサモジュールの作動は、スケーリング値の入力を、例えばスケーラの係数ROM又は算出した係数の入力のうちから受信し、変化率検出モジュールからミックス制御情報を受信することを含む。一部の実施形態において、ミキサモジュールは更に、受信した位相情報から線形補間係数データを生成する。受信した位相情報は、例えば、累算器レジスタの一定部分であっても良い。一部の実施形態において、ミキサモジュールは、受信したスケーリング値入力データ、生成した線形補間によるスケーリング値データ、及び受信したミックス制御データに基づき、ブレンド値を生成する。
一部の実施形態において、ミキサモジュールへの入力は、次のものであっても良い。
(a)係数ROM、又はその他の係数判定から得た係数値。当該係数値は、次のように表わされても良い。
係数(Coefficients)=C0、C1、C2、C3、C4、C5、C6
(b)スケーラの累算器レジスタの小数部、例えば累算器レジスタの下段17ビット。線形補間データの判定に用いられる位相情報を提供する。
(c)変化率モジュールからのミックス制御信号。係数ミックスを制御する。
一部の実施形態において、係数ミキサモジュールの出力は、次のものであっても良い。
ブレンド係数(Blended Coefficients)=BC0、BC1、BC2、BC3、BC4、BC5、BC6
一部の実施形態において、ミキサモジュール又は素子の作動は、次のものを含む。
(1)累算器の位相情報から線形補間器係数を生成する。線形補間係数は、Li0、Li1、Li2、Li3、Li4、Li5、Li6と指定されても良い。一部の実施形態において、一定の線形補間係数は0になる。例えば、Li0=Li1=Li5=Li6=0となる。従って、これらの要素は判定される必要が無く、モジュールは、残りの係数、つまりLi2、Li3、Li4を判定する。
一部の実施形態において、線形補間器の位相(LIphase)は、位相値とオフセット値の和であり、次のようになる。
LIphase = phase + offset [6]
ここにおいて、
位相(Phase)=スケーラの累算器の小数部。例えば、19ビットの累算器の場合、位相は、累算器値の下段17二進数ビットに相当する。
オフセット(Offset)=定数。本図面では1/62に相当する。17ビットの二進小数に変換すれば、1/62は0.00000100001000010となる。
本図面において、「位相(phase)」と「オフセット(offset)」は両方とも17ビットの小数である。算出において、加算演算により、結果物の整数部への桁上げが可能である。言い換えれば、小数二つを加算した和は、1.0以上の数となる。この場合でも、結果物を更に算出に用いても良い。
一部の実施形態において、ミックス方程式の決定において3つの係数が生成され、そのうちの一つは0である。残りの係数2つは、和が1.0となる小数として見なされる。一部の実施形態において、LI係数のダイナミックレンジは、10ビット以上である。
一部の実施形態において、係数の決定は、次のように行われる。
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
]
(2)ブレンド係数の決定:一部の実施形態において、ブレンド係数は、受信した係数とミックス制御とに基づき、次のように決定する。
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 = (1- mixingControl) × C6
図3は、垂直スケーラ部の一実施形態を示す図である。一部の実施形態において、垂直スケーラ、例えば多相フィルタ系スケーラの輝度部300は、データ経路360と制御ループ350を含む。図面は、垂直スケーラの輝度部を示している。当該スケーラは、彩度部と水平Y/C部を更に含み、当該部は、図示されている輝度部と類似する。
制御ループ350は、加算器304に適切なスケーリング比302の逆数に相当する入力を与えるステップと、フィードバック値を与えるステップとを含む。加算器304の出力と、受信データ306の初期位相値はマルチプレクサ308に入力され、マルチプレクサ308の出力のうち選ばれたものは、累算器310への入力となる。累算器310の出力は、加算器304へのフィードバック値であり、乗算器(本実施例では31×乗算器)312への入力でもある。当該乗算器は、係数ROM316に対する係数セットアドレス314を生成して、係数セット、例えば多相フィルタ係数セットを生成する。本図面では、ROMストレージから係数を得ているが、スケーラは当該形態に限られず、例えば、係数セットの算出を行えるような構造であっても良い。
一部の実施形態において、続いてデータ経路360は、7つのラインメモリ332にてラスタスキャンY入力330を受信して、7つの乗算器336に対する7つの垂直に隣接するY値334を用意し、7つの乗算器336は、係数ROM316から係数セットを受信する。乗算器336は、7つの積のセット(Y×係数(n))338を生成する。当該積の和を出し(例えば、プロセスは、桁あふれの切り捨て、並びに一定数、つまり10ビットへの四捨五入を更に含んでも良い)、その結果の340を以って、スケーリングY入力342を生成する。
一部の実施形態において、スケーラ300は、フィルタリンギング低減に用いられるステップを更に行う。一部の実施形態において、スケーラ300は、線形補間データを生成する。当該線形補間データは、係数ROM316から得た多相係数とミックスされ、ブレンド係数セットが生成される。一部の実施形態において、係数のミックスは、Y値334の振幅における変化率に基づくミックス制御信号に応じて行われる。一部の実施形態において、ブレンド係数セットを乗算器336に供給し、スケーリング出力342の生成に用いる。
図4Aは、変化率検出と係数ミックスを含む垂直スケーラ部の一実施形態を示す図である。一部の実施形態において、垂直スケーラの輝度部400は、データ経路460と制御ループ450を含む。一部の実施形態において、図3に図示されている素子に加え、リンギング低減のために、制御ループ450は、データメモリ332からのデータの変化率を検出しミックス制御信号422を生成する変化率検出モジュール又は素子420を更に含む。一部の実施形態において、変化率モジュール420は、ラインメモリ332の入来輝度(Luma)出力を分析する。一部の実施形態において、変化率モジュール420は、フィルタリンギングを生じ得る遷移を検出し、変化率検出結果の少なくとも一部に基づいてミックス制御信号(mixingControl)422を生成する。一部の実施形態において、ミックス制御信号の生成は、ソフトウェア制御レジスタ(図示せず)に含まれているデータに基づく変化率分析の変更を含む。
一部の実施形態において、制御ループ450は、線形補間係数を生成し、当該線形補間係数を、受信した多相フィルタ係数とミックスする係数ミキサモジュール又は素子424を更に含む。一部の実施形態において、係数ミキサ424は変化率検出モジュール420からミックス制御信号422を、係数ROM316からフィルタ係数データを、累算器310から現在位相情報426を受信し、線形補間係数を生成する。係数ミキサ424はフィルタ係数をミックスしてブレンドフィルタ特性を生成する。一部の実施形態において、係数ミキサ424は、全体的性能を維持しながらリンギングを低減することができる。一部の実施形態において、係数ミキサモジュール又は素子424は、係数要素の算出に用いられるリンギング制御レジスタを一つ以上含む。
図4Bは、並列作動する複数のスケーラを含む垂直スケーラ部の一実施形態を示す図である。一部の実施形態において、垂直スケーラは、並列作動する二つのスケーラを含む。当該作動において、第1スケーラは、累算器からの位相情報を活用し、線形補間を用いてスケーリングを行う線形補間器であり、第2スケーラは多相フィルタである。一部の実施形態において、垂直スケーラのロジックはミックス制御を生成するが、ミックス制御は(図4に図示されているように)係数のミックスに用いられるより、むしろデータのミックスに用いられる。
一部の実施形態において、垂直スケーラの輝度部470は、またデータ経路460と制御ループ450を含む。一部の実施形態において、図3に図示されている素子に加え、輝度部470は、係数ミキサ(図4Aの素子424)を含むより、むしろ多相フィルタを用いてスケーリングを行った輝度476と、線形補間を用いてスケーリングを行った輝度とをミックスし、適応スケーリングを用いたスケーリング輝度492を生成するデータミキサ490を含む。
一部の実施形態において、輝度部470は、線形補間を用いてスケーリングを行う素子又はモジュール472を含み、当該素子又はモジュール472は、ラインメモリ332からのデータ入力と現在位相426とを受信し、線形補間を用いてスケーリングを行った輝度478を生成する。
一部の実施形態において、乗算器336は、和を出し、桁あふれを切り捨て、四捨五入をして一定数のビット474にし、多相フィルタを用いてスケーリング行った輝度476を生成する素子又はモジュールと連結されている。
一部の実施形態において、変化率検出モジュール480は、ラインメモリ332の入来輝度出力を分析し、変化率検出結果の少なくとも一部に基づいてミックス制御信号482を生成する。ミックス制御信号は、データミキサに送られ、多相フィルタを用いてスケーリングを行った輝度476と、線形補間を用いてスケーリングを行った輝度478とをミックスし、適応スケーリングを用いたスケーリング輝度492を生成する。
図3、図4A、図4Bはある素子又はモジュールを含む垂直スケーラの特定の具現方法を図示しているが、当該素子又はモジュールの数は、スケーラの実施形態によって制限されることはない。例えば、図3、図4A、図4Bは、乗算器は7つ、係数セットは31個など、性能とコスト要件などの特定要因のバランスが取れるように素子の数を選んでいる。他の実施形態は、高性能やコスト削減など、一方の要因に重点を置き、それに合わせて素子又はモジュールの数を調整しても良い。
図5は、変化率検出モジュールの一部の一実施形態を示す図である。一部の実施形態において、ビデオスケーラのモジュールにおける変化率検出モジュール500は、隣接する入力値間の最大差を判定する部分を含む。一部の実施形態において、検出モジュール500は、多重入力510を受信する。本図面では、Y0〜Y6で表示される7つのY入力として図示する。Y0〜Y6は、7つの垂直に隣接するY値(垂直スケーラ用)或いは7つの水平に隣接するY値(水平スケーラ用)を表す値である。本図面では7つの値を用いているが、実施形態は、特定の数にこだわる必要はない。
一部の実施形態において、検出モジュール500は、Abs[Y1−Y0]、Abs[Y2−Y1]からAbs[Y6−Y5]まで続く一連の隣接するY値間の差の絶対値520を判定する。一部の実施形態において、判定した差値を最大値関数530に与え、最大値関数530は、いずれの差値が最も大きいかを判定し、maxDifference値540を出力する。
図6は、変化率検出モジュールの一部の一実施形態を示す図である。一部の実施形態において、ビデオスケーラのモジュールにおける変化率検出モジュール600は、差の和を判定する部分を含む。一部の実施形態において、検出モジュール600は、多重入力610を受信する。本図面では、Y0〜Y6で表示される7つのY入力として図示する。一部の実施形態において、検出モジュール600は、Abs[Y1−Y0]、Abs[Y2−Y1]からAbs[Y6−Y5]まで続く一連の隣接するY値間の差の絶対値620を判定する。一部の実施形態において、判定した差値を合計関数630に与え、合計関数630は、差値の和を判定し、differenceSum値640を出力する。
図7は、スケーリングを行ったビデオデータの生成プロセスの一実施形態を示すフローチャートである。一部の実施形態において、700にてビデオデータを受信し、702にて当該ビデオデータをメモリに保存する。更に、一部の実施形態において、720にて位相情報を受信し、722にて当該位相情報を累算する。
一部の実施形態において、710にてメモリから取得したビデオデータの変化率を検出し、712にて当該変化率に基づきミックス制御信号を決定する。一部の実施形態において、724にてビデオスケーリング係数データ、つまり多相係数データを取得する。なお、726にて、累算した位相情報に基づき線形補間係数データを決定する。
一部の実施形態において、728にてブレンド係数を決定する。当該ブレンド係数は、多相係数データ、線形補間係数データ、ミックス制御信号の少なくとも一部に基づく。
一部の実施形態において、740にてビデオデータとブレンド係数を乗算する。742にて、結果として得た積を処理しても良く、処理には、積の合計、桁あふれの切り捨て、結果物の四捨五入が含まれる。744にて、結果として得たスケーリングビデオデータを出力する。
図8は、スケーリング装置又はシステムの一実施形態におけるFIRデジタルフィルタを示す図である。本図面において、FIRデジタルフィルタのオーダー(order)Nは5である。本図面においては、簡略化を目的としてフィルタのオーダーを5に設定している。実際には、FIRフィルタのNの値をより大きく設定することが多い。Nの値は、フィルタの選択的要件やアプリケーションの性能要件に左右される。Nは、奇数又は偶数であっても良く、いずれもローパスフィルタ応答の生成に用いられる。本実施例において、Nは奇数である。
図示されているように、FIRデジタルフィルタは、一連の連結された多重ビットストレージレジスタ815をN個含む。本実施例においては、N=5である。一連のレジスタ815はデータ入力805とクロック信号810を受信し、前から4番目までのレジスタのそれぞれに保持されたデータは、各クロックサイクルごとに次のレジスタにシフトする。各レジスタ815からのデータ出力は、Nセットの乗算器825に与えられ、乗算器は、データ(D0〜D4)にNセットの係数820(C0〜D4)を乗じる。乗算器825が生成した積は、合計ロジック830に与えられ、フィルタリング出力を生成する。
フィルタ800からの新規入力を、クロックの各サイクルに対し演算する。フィルタの各出力F(out)は、従って次のように演算される。
F(out)=C0×D0+C1×D1+C2×D2+C3×D3+C4×D4
ここにおいて、
F(out)は、フィルタの出力値である。
C0、C1、C2、C3、C4=フィルタの係数。固定値である。
D0、D1、D2、D3、D4=入来デジタル信号の時間的に隣接するサンプル5つ。
よって、FIRフィルタの基本要素は、図8に図示されているように、記憶素子又レジスタ、乗算器、係数、合計ロジックとなる。記憶素子は、例えば、共通クロックを有し、データポートは直列に連結されているレジスタであっても良い。入力サンプルは一連のレジスタに供給され、時間的に隣接するサンプルセットはレジスタに保存される。更に、データサンプルセットは、クロックサイクルごとにシフトする(図8の場合、左から右へ)。よって、左レジスタのデータは最新のものであり、右レジスタのデータは最先のものとなる。
オーダーNのローパスフィルタの場合(本実施例においてNは奇数である)、係数は次の方程式を満たす。
Figure 2015511414
前述の通り、デジタルFIRフィルタは、1:1比の入力サンプル及び出力サンプルを生成する。
多相FIRフィルタ、例えば図13に図示されているフィルタ1300や図14に図示されているフィルタ1400は、入力サンプルと出力サンプルの異なる比率の生成、つまりサンプリング率変換が必要となる場合に採用されても良い。サンプリング率変換の基本型2つは、補間とデシメーションである。補間は、出力率が入力率より大きい場合のサンプリング率変換であり、デシメーションは、出力率が入力率より小さい場合のサンプリング率変換である。ビデオスケーリングについては、補間はビデオ画像の解像度向上に用いられることが多く、デシメーションはビデオ画像の解像度低減に用いられる。
図9は、ビデオスケーリングプロセス、装置、又はシステムの一実施形態におけるサンプリングレートの変更方法を示す図である。スケーリング作業において、スケーリング率は変化する。ビデオスケーラはサンプリングレートを変化させるが、一般的に、当該変化はスケーリング比(SR)に相当し、スケーリング比は出力サンプルと入力サンプルの比として表される。
SR=出力サンプル数/入力サンプル数
本明細書では、SRを一次元であると想定する。水平SRと垂直SRが存在してもよいが、本明細書の目的に沿って、スケーリング比をSRと定義する。通常、スケーリング比をL/Mを以って表す。
L/M=SR
ここにおいて、L及びMは整数である。
言い換えれば、L/Mはスケーリング比SRを特定する整数比である。図9は、一連の演算において変更される周波数fsでサンプリングされる入力を図示している。一部の実施形態において、第1演算は、サンプルレートをL値増加させ(910)、サンプルレートをL×fsにする。第2演算は、サンプルレートを1/M減少させ(920)、出力がfs×L/Mのレートでサンプリングされるようにする。
FIRフィルタは、整数の倍数L分サンプルレートを増加させることに用いられても良い。FIRフィルタは更に、サンプルレートを1/M分減少させることに用いられても良い(Mは整数)。L又は1/M分レート変換を行うプロセスを下記に説明する。従って、整数比、つまりL/M分サンプルレートを変化させる演算は、二つのFIRフィルタ演算を直列に繋げて行われる。
一部の実施形態において、ローパスFIRフィルタは、整数1/M分のデシメーション、及び整数L分の補間に用いられても良い。図10及び図11において、二つの演算、つまり整数の倍数L分のサンプリング比の増加と1/M(Mは整数)分のサンプルレートの減少は、別途に図示されている。
図10は、スケーリングプロセス、装置、又はシステムの一実施形態における、FIRフィルタのサンプルレートのデシメーションによる変更方法を示す図である。デシメーションは、デジタルサンプルセットのサンプリング率を減少させる。1/M(Mは整数)によるデシメーションは、ローパスFIRフィルタを用いて達成することができる。当該演算において、ローパスフィルタリングを用いてサンプルストリームの帯域幅を低減し、出力の低いサンプルレートでエイリアシングが行われることを未然に防止する。一実施例においては、fc=0.5/Mの正規化遮断周波数を用いるように設計したローパスFIRフィルタを用いることで、これに成功している。しかしながら、実施形態に、必ず特定の遮断周波数を適用する必要はない。
本図面において、フィルタ演算1000は、サンプル周波数を減少させる一連の演算で構成されも良く、更にビデオスケーリング演算に含まれていても良い。図10において、サンプリング周波数fsを用いて入力データをサンプリングする。FIRフィルタ1010に対して、fc=1/Mである。サンプリング演算1020において、M個のサンプルのそれぞれから1を選び、fs/Mでサンプリングした出力を得る。
図11は、スケーリングプロセス、装置、又はシステムの一実施形態における、FIRフィルタのサンプルレートの補間による変更方法を示す図である。FIRフィルタを用いて、整数Lによる補間を達成する。本図面において、フィルタ演算1100は、fsでサンプリングした入力を、各入力サンプル1110の間にL−1個の0を挿入して変更し、周波数をL×fsとする演算として具現しても良い。変更した入力を遮断周波数fc=1/Lを持つオーダーNのFIRフィルタ1120に与える。Nは、Lの整数倍である。結果として得たデータを振幅ゲイン演算1130により変更して元の信号振幅を復元し、L×fsでサンプリングした出力を得る。ここで、ゲイン平均はLである。
当該演算は、FIRフィルタ1120と振幅ゲイン動作を組み合わせたフィルタ演算として具現しても良い。フィルタ演算1100に関する本図面によれば、fsで入力を再サンプリングし、各入力サンプル1140の間にL−1個の0を挿入することによって変更して、周波数をL×fsとする。変更した入力を、遮断周波数fc=1/LとLの振幅ゲイン動作を持つオーダーNのFIRフィルタ1150に与え、L×fsでサンプリングした出力を得る。
一実施例において、サンプルレートを5増加させる必要があると仮定する。よって、L=5である。FIRフィルタを設計するためには、フィルタのオーダーNと、フィルタの遮断周波数fcを考慮した仕様が必要である。フィルタのオーダーは、アプリケーション、並びにコストと性能間のバランスに左右される。更に、サンプルレートを整数L分増加させる特定のアプリケーションにおいて、NはLの整数倍として選ばれる。例えば、L=5である場合、フィルタのオーダーは25に定められる。
N=25
ここで、L=5、及びN=Lの整数倍
本実施例において、25は奇数である。一部の実施形態において、設計者の選択により、プロセス、装置又はシステムにおけるフィルタのオーダーとして、偶数又は奇数のいずれを用いても良い。フィルタの係数を演算するプロセスは、Nが奇数か偶数かによって若干異なるが、フィルタのオーダーが奇数か偶数かに関わらず、同一の原理が適用されるということが当業者には理解できると思われる。本明細書の実施例においては、Nは奇数である。
フィルタのオーダーNと遮断周波数fcを特定すれば、前述した方程式を用いてローパスFIRフィルタ用の係数25個を演算することができる。係数にはC0、C1、C2...C24の符号を付与し、フィルタにシフトするデータにはD0、D1、D2、D4...の符号を付与する。
Lの倍数を以って補間を行うためには、L−1個の0を各データサンプルの間に挿入する。フィルタのレジスタにシフトした、前から25番目までのデータ値は次のようになる。
D4、0、0、0、0、D3、0、0、0、0、D2、0、0、0、0、D1、0、0、0、0、D0、0、0、0、0
前述のようにFIRフィルタがレジスタにデータを有している時点にて、フィルタは第1フィルタリング出力(Filtered Output)FO(0)を次のように演算する。
FO(0)=C24×D4+C23×0+C22×0+C21×0+C20×0+C19×D3+C18×0+C17×0+C16×0+C15×0+C14×D2+C13×0+C12×0+C11×0+C10×0+C9×D1+C8×0+C7×0+C6×0+C5×0+C4×D0+C3×0+C2×0+C1×0+C0×0
次に、データがシフト(本明細書の場合、右側へシフトする)すれば、フィルタのレジスタにおけるデータは、次のものを含むことになる。
0、D4、0、0、0、0、D3、0、0、0、0、D2、0、0、0、0、D1、0、0、0、0、D0、0、0、0
次のフィルタリング出力は、次のようになる。
FO(1)=C24×0+C23×D4+C22×0+C21×0+C20×0+C19×0+C18×D3+C17×0+C16×0+C15×0+C14×0+C13×D2+C12×0+C11×0+C10×0+C9×0+C8×D1+C7×0+C6×0+C5×0+C4×0+C3×D0+C2×0+C1×0+C0×0
次のクロックサイクルにおいて、データは右側にシフトし、方程式は次のようになる。
FO(2)=C24×0+C23×0+C22×D4+C21×0+C20×0+C19×0+C18×0+C17×D3+C16×0+C15×0+C14×0+C13×0+C12×D2+C11×0+C10×0+C9×0+C8×0+C7×D1+C6×0+C5×0+C4×0+C3×0+C2×D0+C1×0+C0×0
FO(3)=C24×0+C23×0+C22×0+C21×D4+C20×0+C19×0+C18×0+C17×0+C16×D3+C15×0+C14×0+C13×0+C12×0+C11×D2+C10×0+C9×0+C8×0+C7×0+C6×D1+C5×0+C4×0+C3×0+C2×0+C1×D0+C0×0
FO(4)=C24×0+C23×0+C22×0+C21×0+C20×D4+C19×0+C18×0+C17×0+C16×0+C15×D3+C14×0+C13×0+C12×0+C11×0+C10×D2+C9×0+C8×0+C7×0+C6×0+C5×D1+C4×0+C3×0+C2×0+C1×0+C0×D0
この時点にて、5つの出力が演算されている。次のクロックになれば、新規データサンプルD5がフィルタに入り、D0はフィルタから出ていく。レジスタにおけるデータは、次のようになる。
D5、0、0、0、0、D4、0、0、0、0、D3、0、0、0、0、D2、0、0、0、0、D1、0、0、0、0
F0(5)の演算に用いられる方程式は、次のようになる。
FO(5)=C24×D5+C23×0+C22×0+C21×0+C20×0+C19×D4+C18×0+C17×0+C16×0+C15×0+C14×D3+C13×0+C12×0+C11×0+C10×0+C9×D2+C8×0+C7×0+C6×0+C5×0+C4×D1+C3×0+C2×0+C1×0+C0×0
本実施例に基づいて、算出の能率を上げるためには、F0(0)...F0(5)に対する全ての算出において、積25個のうち20個がデータに対し0の値を持ち、よってそれらの乗算結果も結局0となるということ念頭に置く必要がある。従って、0を含む積を取り除いて前述の方程式をより簡略化することができる。下記に前から6番目までのFO結果を示す。
FO(0)=C24×D4+C19×D3+C14×D2+C9×D1+C4×D0
FO(1)=C23×D4+C18×D3+C13×D2+C8×D1+C3×D0
FO(2)=C22×D4+C17×D3+C12×D2+C7×D1+C2×D0
FO(3)=C21×D4+C16×D3+C11×D2+C6×D1+C1×D0
FO(4)=C20×D4+C15×D3+C10×D2+C5×D1+C0×D0
FO(5)に対しては、新規データサンプルD5がフィルタに左側から入り、D0はフィルタから出ていってそれ以上用いられないので、次のようになる。
FO(5)=C24×D5+C19×D4+C14×D3+C9×D2+C4×D1
さらに、最初の方程式5つにおいて、データを指す符号は同じであり(D4...D0)、係数のみが変わるので、変化が明確なパターンに従っているということが分かる。算出したフィルタリング出力は、0を全部合計しているため、入力信号レベルに比べ信号振幅が著しく減少している。FIRフィルタのゲインは、その係数全ての和である。通常的に、係数の和が1なら、ゲインも1である。よって、振幅ゲインは、信号の振幅レベルを元のレベルに復元するために必要である。本実施例では、0の値を持つ積と入力データを持つ積との比が4:1比であるため、5つの乗算器が必要となる。一般的には、各係数にLを乗じて、所望のゲインを得ることができる。
FIRフィルタ係数は、通常、予め一度演算されハードウェアフィルタのレジスタやメモリに保存されても良い。これによって、各係数とLの乗算を、フィルタの係数を演算する際に行うことも可能になる。従って、一部の実施形態において、システムのフィルタに対する係数25個の最終セットは、次のようになる。
L×C0、L×C1、L×C2 ... L×C24
前述した通り、補間に用いられるFIRフィルタを、フィルタのオーダー(N)がL、つまり補間整数の倍数になるように設計しても良い。本実施例においては、L=5、N=25であり、25は5の整数倍である。補間整数の整数倍に当たるオーダーを用いるのは、FIRフィルタのデータレジスタにおける0と実データサンプルの比、つまり1:(L−1)比を維持するためである。本実施例において、L=5、(L−1)=4であり、よって4つの0をデータサンプルD(n)のそれぞれの間に挿入する。データがFIRフィルタのレジスタを介してシフトして行く間、実データサンプルと0の比は、フィルタのオーダーがLの倍数であればそのままに維持される。
図12Aは、システムの一実施形態における、サンプリング比によるフィルタ演算の変更方法を示す図である。本図面において、フィルタ演算1200は、fsでサンプリングした入力を、各入力サンプル1210の間にL−1個の0を挿入して変更し、周波数をL×fsとする演算として具現しても良い。変更した入力を第1FIRフィルタ1220に与える。当該フィルタは、遮断周波数fc=1/LとLの振幅ゲイン動作を持つオーダーNのFIRフィルタである。結果として、L×fsでサンプリングした出力を得る。
第1FIRフィルタ1220の出力を、第2FIRフィルタ1230に与える。第2FIRフィルタ1230は、遮断周波数fc=1/Mを持つ。サンプリング演算1240において、M個のサンプルのそれぞれから1を選び、サンプルレートを1/M分減少させる。結果として、L×fs/M、若しくはfs×サンプリング比L/Mでサンプリングした出力を得る。
図12Bは、サンプリング比によりフィルタ演算の変更するシステムを示す図である。本図面において、組合システムがフィルタ演算1200を運用する。システム1250はオーダーNの多相FIRフィルタを有し、当該フィルタはfc=1/L又はfc=1/Mの遮断周波数を持つ。このようなシステムにおいて、NはLの整数倍であり、更に、システム1250は、Lの平均ゲインを提供し、信号減少を補う。
図12A及び図12Bは、スケーリング比L/Mによるデータの補間又はデシメーションを図示している。整数Lによる補間演算と1/M(Mは整数)によるデシメーション演算に関しては、図10及び図11を参考として、上記に説明されている。図12Aは、二つの演算を組み合わせて図示しており、二つのFIRフィルタが直列に連結されている。
プロセス、装置、又はシステムの一部の実施形態では、直列に連結したFIRフィルタにより、能率をより上げることができる。フィルタ二つが両方ともローパス応答性を有しているなら、実際は、最低遮断周波数を持つフィルタのみを用いても問題はない。他方のFIRフィルタの動作は不要になるためである。一部の実施形態において、最低遮断周波数は、サンプリング率変換の方法が補間とデシメーションのいずれであるかに左右される。サンプリング率変換が補間で行われる場合、正規化遮断周波数fcは1/Lとなる。サンプリング率変換がデシメーションで行われる場合、低い方の遮断周波数は1/Mとなる。
前述したように、フィルタのオーダーがLの倍数なら、L−1個の0を挿入する必要はなくなる。この因子を活用し、多相FIR機構を用いてより簡略化を講じても良い。
多相FIRフィルタを用いるサンプリング率変換器について、FO出力を得るためには、下記の表1に記載の方程式を用いる。これらの方程式は、一連の拡張演算を可能とし、最右列は係数セット(CS)を提供する。本実施例において、Lの値は5、Mの値は3であるため、本実施例のスケーリング比はL/M=5/3となる。
Figure 2015511414
表1において、第1方程式、第4方程式、以下3番目の方程式(「++」が前に付き、太字で表記されているもの)は、補間サンプルの1/M(本実施例では1/3)を表し、補間整数Lは5である。一部の実施形態において、残りの方程式(太字ではないもの)まで演算する必要はなく、フィルタは3番目毎の方程式の演算のみを求める。太字の方程式において、係数は0、1、2、3、4シーケンスでは用いられず、0、3、1、4、2シーケンスでは用いられる。一部の遂行形態では、データが二つの順次出力に対して同じであり、また他の状況では、入力データセットから出力を一つのみ演算する。
図13は、スケーリングプロセス、装置、又はシステムの一実施形態における、入力フロー制御を行う多相FIRデジタルフィルタを示す図である。本図面において、多相FIRデジタルフィルタ1300は、レジスタ815、乗算器825、合計ロジック830の他にも、係数値を保存する係数ストレージメモリ1345と制御ロジックブロック1340を含んでも良く、制御ロジック1340は、入力フロー制御を提供する。図13に図示されているように、制御ロジック1340は係数ストレージメモリ1345に係数セットアドレスを与える。係数セットアドレスは複数の係数セットのうち一つを選ぶときに用いられても良い。本図面では、セットnを選択し、乗算器830はD0〜D4に係数Cn0...Cn4を乗じる。
一実施例において、オーダーNのFIRフィルタ、例えばN=25のFIRフィルタが補間に用いられ、図13のように具現される。本実施例において、フィルタ1300は、N=25の多相FIRフィルタである。係数は、1セットあたり5つの係数を有する5つのセットにまとめる方式で、メモリに保存する。当該メモリに、制御ロジックブロック1340によりアドレスを与える。制御ロジック1340が生成した入力フロー制御を用いて流入データレートを制御し、流入レートが流出レートより小さくなるように維持する。
図14は、スケーリングプロセス、装置、又はシステムの一実施形態における、多相FIRフィルタを示す図である。フィルタ1400は図13のフィルタ1300に類似するが、但し制御ロジックブロック1440は、出力フロー制御に当たる追加の出力信号を有する。一部の実施形態において、図13の制御ロジック1340について記載されている通り、流入レートを制御する一方、出力フロー制御を用いて多相FIRフィルタの出力を制御する。一部の実施形態において、制御ロジック1440は、前頁における方程式の表に示された非順次的順序(太字の方程式)に従い係数セットを循環する。
制御ロジックは、流れ制御信号と係数メモリルックアップアドレスを提供する。スケーリング比が1より大きければ、多相フィルタの出力レートは入力レートより高くなる。この場合、制御ロジックは、レジスタに新規サンプルをシフトさせる時点を定める。スケーリング比が1未満なら、フィルタの出力レートは入力レートより低くなる。この場合、制御ロジックは、フィルタが有効出力を生成できていないクロックサイクルの間、フィルタの出力を無効化する信号を生成する。一部の実施形態において、スケーリングシステムの制御ロジックは、係数セットの検索用アドレスを更に生成する。
図15は、ビデオスケーリングプロセス、装置、又はシステムの一実施形態における、位相累算器を示す図である。一部の実施形態において、多相フィルタの制御関数(control functions)、例えば図13の制御ロジック1340や図14の制御ロジック1440の制御関数は、位相累算器1500を用いて生成することができる。位相累算器(PA)1500は多重ビットクロックレジスタ1520を含む。レジスタ1520の出力を、第1入力として加算器1510に与える。加算器1510への第2入力は制御語である。加算器の出力はレジスタ1510の入力にフィードバックされ、当該入力は、次のクロックサイクルでレジスタ1520にラッチ(latch)される。
図15に図示されているように、制御語(CW)はスケーリング比の逆数であり、従ってCW=1/SRである。制御語は、一般的に、多重ビット有理二進数であっても良い。クロックレジスタ1520に保存される二進数は、整数部と小数部を有する。制御信号ロジック1530により二進数の整数部を受信し、整数部を復号して流れ制御に用いる。制御信号ロジックの出力はシフト入力と無効化出力とになる。保存されている二進数の小数部は、当該小数部にスケーリング比Lの分子を乗じて(乗算器1540)、係数アドレスを生成するために用いられる。
一部の実施形態において、ビデオスケーリング演算の開始時点で、初期値でクロックレジスタ1520を初期化する。垂直スケーリングの場合、ビデオフレームの開始点でレジスタを初期化し、新規出力ラインのそれぞれに対して更新を行う。水平スケーリングの場合、出力の新規水平ラインの開始点でレジスタを初期化し、各出力サンプルに対して更新を行う。
一部の実施形態において、レジスタ1520の小数部における二進値は、入力サンプリンググリッドと出力サンプリンググリッド間の位相差を追跡(又は累積)する。その後、小数部にLを乗じて、本位相値を係数メモリアドレスに変換しても良い。
演算において、クロックレジスタの各更新の結果、レジスタの整数部への桁上げが行われる。当該桁上げの数値は、新規データがビデオスケーラのデータレジスタへシフトする方法(シフト入力)を指す。桁上げの数値部は更に、スケーラの乗算器の出力が無効化となるべきときを指す(無効化出力)。各数値は、次のように解釈される。
(0)整数部への桁上げが0である場合、新規データをデータレジスタにシフトする必要は無く、レジスタに現存するデータから他の出力を演算しても良い。SR>1(CW<1)の状況でのみ生じる。
(1)しかしながら、整数部への桁上げが1である場合、当該桁上げ値は、「新規データセット一つをレジスタにシフトすること」を意味する。
(2)また、整数部への桁上げが2である場合、当該桁上げ値は、「新規データセット二つをレジスタにシフトし、乗算器の現在出力を無効化すること」を意味する。2以上の値は、SR<1(CW>1)の状況でのみ生じる。
例えば、SR=L/M=5/3であると想定する。CWは3/5=0.6となり、レジスタは0で初期化される。
Figure 2015511414
表2における係数値列は、係数アドレスが前述の実施例と同じ順序によりアドレスを循環することを意味する。当該係数セット(coefficient sets)は、太字で番号付けをされている。
Figure 2015511414
ビデオスケーリングプロセス、装置又はシステムの一部の実施形態において、正確な係数サブセットを係数メモリの特定のアドレスに位置付ける。係数セット選択の順序を、PAの小数部と係数乗算器Lにより定める。
流れ制御は前述の実施例のように、整数部の変化によってレジスタに新規データをシフトするか否かを定めても良い。スケーリング比SRが1未満、例えば0.5≦SR<1であれば、整数部の変化は必ず1又は2になる。「1」は、新規データをシフトする必要があることを示し、「2」は二つの新規データをシフトし、乗算器の現在出力を無効化しなければならない(有効出力サンプルではない)ことを意味する。
多相フィルタはビデオスケーリングに大体有用であるが、完璧ではない。FIRフィルタ(多相FIRフィルタを含む)は必ず有限オーダー(N)を持つが当該構造の有限性こそが歪みを引き起こす要因である。FIRフィルタの有限性により生じる歪みは、ギブス現象として知られている。
ギブス現象は、フィルタのレジスタに保存されている入力データが少数の入力サンプルに渡って大きな遷移を見せている場合、FIRフィルタの出力にオーバーシュートとアンダーシュートを生成する。遷移が振幅において大きくなるにつれ、遷移時間が短くなり、歪みはより鮮明になる。
多相FIRフィルタ系ビデオスケーラにおいて、ビデオが自然の風景をカメラで撮影して得たものであれば、歪みを引き起こす遷移は稀である。しかしながら、コンピュータ生成グラフィック要素の場合、歪みの原因となる性質の特徴を含むことがしばしばある。ここにおいて、「コンピュータ生成グラフィック要素」とは、コンピュータで生成したテキストやグラフィック画像を含み、更に、BluRayプレーヤ、DVDプレーヤ、セットトップボックスなどの家電製品で生成したグラフィック要素も含み得る。当該グラフィック要素は、映像に重なり合うメニューやテキストにより生成されるものである。
図16は、ビデオスケーラの一実施形態に対するサンプルの入力シーケンスを示す図である。これらのサンプルの振幅は、0>1の範囲で正規化され、サンプルの範囲は0.1〜0.9である。しかしながら、これらのサンプルは極度の突然遷移を含み、値は0.1から0.9に変化する。これは、コンピュータグラフィックではよく生じるが自然画像では稀であるタイプの遷移を一例であり、このような遷移は、多相FIRフィルタによるスケーリングのとき、問題を引き起こす。
図17Aは、多相FIRフィルタを含むビデオスケーラにより処理された入力シーケンスを示す図である。本図面において、図17Aに図示されている入力シーケンスに、多相FIRフィルタとSR=9/4を用いてスケーリングを施す。9/4によりスケーリングを受けた20個の入力サンプルは、図17Aに示されている通り、45個の出力サンプルを生成する。遷移の両方側で、出力サンプルに生じたオーバーシュート及びリンギングを肉眼で確認することができる。これらのアーチファクトは、スケーリングを行ったビデオ画像でも視認できる。
図17Bは、線形補間器を含むビデオスケーラにより処理された入力シーケンスを示す図である。図17Aとは異なり、図17Bの出力サンプルは、図16に示されているサンプル20個に同比を適用してスケーリングしたものであるが、但し、多相FIRフィルタではなく線形補間器を用いている。図17Aにおける多相フィルタの出力から明確に確認されていたオーバーシュートとリンギングは、線形補間器による出力では、鮮明ではない。
しかしながら、線形補間器の出力は、コンピュータ生成画像によくある連続していない画像では、多相FIRフィルタを圧倒する画質を見せているが、線形補間器は自然画像、例えばカメラで直接撮影した画像のスケーリングにはあまり強くない。自然画像については、多相FIR技術の方が高画質の出力画像を提供する。
線形補間器は、入力サンプルと出力サンプル間の位相関係が知られている場合、画像を簡単にスケーリングする方法を提供する。図17Bに図示されている実施例において、出力は二つの入力サンプルの単純平均である。
一実施例において、位相情報(P)が0と1間の値を有すると仮定する。0は、入力Aとマッチする出力位相を、1は入力サンプルBとマッチする出力位相を指す。0<P<1であるPは、AとB間の位相シフトを意味し、線形補間器の出力は、次のようになる。
LI(output)=(A×(1−P))+(B×P)
一部の実施形態において、位相累算器レジスタ、例えば図15に示されているレジスタ1520の小数部は、線形補間器スケーリングの出力演算に直接用いることができる位相情報を含む。適応スケーリングアルゴリズムは位相累算器の出力を用い、多相FIRビデオスケーラにおけるオーバーシュートとリンギングを低減する。ビデオスケーラの一部の実施形態において、適応スケーリングアルゴリズムは、多相FIRフィルタ係数を、位相累算器から得た位相情報とブレンドする。一部の実施形態において、多相フィルタのデータレジスタに保持されているデータサンプルセットの変化率(ROC)情報を測定し、ブレンドを制御する。当該変化率情報は、二つの係数セットを単一係数セットに組み合わせるブレンド制御となる。
本明細書において、説明のために、本発明の理解に役立つよう特定の数値を設定している。しかしながら、特定の詳細事項が一部無くても本発明の実施が可能であることが、当業者には明白であると思われる。また、周知の構造やデバイスをブロック図の形で示しているが、図示の構成要素の間に中間体構造が存在している可能性もある。本明細書に記載されている構想要素は、ここに記載されていない他の入力や出力を更に持っていても良い。図示の素子又は要素は、異なる配置や順序に従って再配置されても良く、面積の調整や順序付けも当該再配置に含まれる。
本発明は様々なプロセスを含む。本発明のプロセスは、ハードウェア要素により行われても良く、コンピュータ可読型命令により汎用又は専用のプロセッサ又は論理回路をプログラムしてプロセスを実行する方式で具現されても良い。もしくは、ハードウェアとソフトウェアの組み合わせによるプロセスを遂行しても良い。
本発明の一部はコンピュータプログラム製品として提供され、コンピュータや他の電子デバイスに本発明のプロセスを遂行させる命令に関するコンピュータプログラムを保存する持続性コンピュータ可読型記憶媒体もその範疇に含まれる。コンピュータ可読型記憶媒体は、フロッピーディスク(登録商標)、光学ディスク、CD−ROM(compact disk read−only memory)、磁気光学ディスク、ROM(read−only memory)、RAM(random access memory)、EPROM(erasable programmable read−only memory)、EEPROM(electrically−erasable programmable read−only memory)、磁気カード、光学カード、フラッシュメモリ、その他、電子命令の保存に適合する媒体/コンピュータ可読型媒体を含むが、これらに限られる訳ではない。更に、本発明は、遠隔コンピュータからクライアントコンピュータに転送されるコンピュータプログラムとしてダウンロードできるものであっても良い。
本明細書は、ほとんどの方法について最も基本形を基準として説明しているが、各プロセスにおいて、本発明の趣旨から逸脱しない範囲であれば、ステップの追加/削除、情報の追加/削除などを自由に行っても構わない。当業者には、更なる変更や応用が許容されることは既に周知の事実であると思われる。特定の実施形態は、本発明の説明する手段に過ぎず、本発明の範囲を制限する訳ではない。
要素「A」が要素「B」と連結されていると記載されている場合、要素Aは要素Bと直接連結されていても良く、要素Cなどを介して間接的に連結されていても良い。本明細書において要素、特徴、構造、プロセス、又は特性Aが要素、特徴、構造、プロセス、又は特性Bを「引き起こす(cause)」と記載されている場合、「A」は「B」を生じさせた少なくとも一部の原因になり得るが、「B」の発生にかかわる他の要素、特徴、構造、プロセス、又は特性が一つ以上存在するかも知れないということを意味する。本明細書において、ある要素、特徴、構造、プロセス、又は特性についてそれが含まれて「いても良い(may)」、「いても構わない(might)」、若しくは「いることもある(could)」と記載されている場合、当該要素、特徴、構造、プロセス、又は特性は、必ず含まれている必要はない。本明細書において、要素が単数に記載されていたとしても、当該要素が必ずしも一つのみ存在するという訳ではない。
実施形態は、本発明の具現形態又は実施例に当たる。本明細書における、「ある実施形態(an embodiment)」、「一実施形態(one embodiment)」、「一部の実施形態(some embodiments)」、又は「他の実施形態(other embodiments)」という表現は、実施形態に関して記載されている特定の特徴、構造又は特性は、少なくとも一部の実施形態には含まれるが、全ての実施形態に含まれる必要はないという意味を持つ。「ある実施形態(an embodiment)」、「一実施形態(one embodiment)」、「一部の実施形態(some embodiments)」という表現が繰り返して用いられているが、必ずしも同じ実施形態を指す訳ではない。本発明の実施形態に関する前述の説明において、本発明の多様な特徴は、時折、開示の簡素化と、一つ以上の発明様態に対する理解の補助を目的として、単一の実施形態、図面又は説明にまとめられる場合もあることを理解して頂きたい。
100 システム
105 適応スケーラ
107 メモリ
110 入力サンプリンググリッド
115 多相フィルタ係数セット
120 線形補間フィルタ係数セット
125 モジュール
130 モジュール(係数ミキシング素子)
150 ビデオデータ
160 スケーリングビデオデータ(スケーリング出力画素)
165 レシーバ
170 ディスプレイ
175 プロセッサ
200 適応スケーラ
205 入力ラインバッファ
210 垂直フィルタ生成器(垂直係数生成器)
215 垂直乗算器アレイ
220 ビット
225 FIFOバッファ
230 水平フィルタ生成器(水平係数生成器)
240 ビット
245 第2FIFOバッファ
260 素子
270 素子
300 輝度部
300 スケーラ
302 スケーリング比
304 加算器
306 受信データ
308 マルチプレクサ
310 累算器
314 係数セットアドレス
316 係数ROM
330 ラスタスキャンY入力
332 7つのラインメモリ
332 ラインメモリ
332 データメモリ
340 積の和/切り捨て/10ビットへの四捨五入
334 7つの垂直に隣接するY値
336 乗算器
338 7つの積のセット(Y×係数(n))
342 スケーリングY入力
350 制御ループ
360 データ経路
400 輝度部
420 素子(変化率検出モジュール)
422 ミックス制御信号
424 素子(係数ミキサ)
426 現在位相
450 制御ループ
460 データ経路
470 輝度部
472 モジュール
474 ビット
476 多相フィルタを用いてスケーリングを行った輝度
478 線形補間を用いてスケーリングを行った輝度
480 変化率検出モジュール
482 ミックス制御信号
490 データミキサ
492 スケーリング輝度
500 変化率検出モジュール
510 多重入力
520 隣接するY値間の差の絶対値
530 最大値関数
540 maxDifference値
600 変化率検出モジュール
610 多重入力
620 隣接するY値間の差の絶対値
630 合計関数
640 differenceSum値
800 フィルタ
805 データ入力
810 クロック信号
815 多重ビットストレージレジスタ
820 係数
825 乗算器
830 合計ロジック
1300 フィルタ
1340 制御ロジック
1345 係数ストレージメモリ
1400 フィルタ
1440 制御ロジック
1500 位相累算器(PA)
1510 加算器
1520 クロックレジスタ
1530 制御信号ロジック
1540 乗算器

Claims (30)

  1. ビデオデータをスケーリングする方法であって、
    複数のビデオデータ値セットを含むビデオデータストリームを受信するステップと、
    前記ビデオデータストリームから得た第1ビデオデータ値セットをメモリに保存するステップと、
    スケーリング技術に基づき、前記第1ビデオデータ値セットに対する第1スケーリング値セットを決定するステップと、
    前記ビデオデータの線形補間に基づき、前記第1ビデオデータ値セットに対する第2スケーリング値セットを決定するステップと、
    受信した前記ビデオデータにおける振幅の変化率を検出するステップと、
    前記ビデオデータの前記変化率の少なくとも一部に基づき、ミックス制御信号を生成するステップと、
    前記ミックス制御信号の少なくとも一部に基づき、ブレンド値セットを生成するために、前記第1スケーリング値セット及び前記第2スケーリング値セットをミックスするステップと、
    前記ブレンド値セットを用いて、スケーリングビデオデータ出力を生成するステップとを含むことを特徴とする、方法。
  2. 前記スケーリング技術は、多相フィルタバンク技術を含むことを特徴とする、請求項1に記載の方法。
  3. 前記第1スケーリング値セットは、前記スケーリング技術に基づく前記第1ビデオデータ値セットに対する第1係数セットであり、前記第2スケーリング値セットは、前記ビデオデータの線形補間に基づく前記第1ビデオデータ値セットに対する第2係数セットであることを特徴とする、請求項1に記載の方法。
  4. 前記ミックスするステップは、前記ミックス制御信号の少なくとも一部に基づき、係数ブレンドセットを生成するために、前記第1係数セット及び前記第2係数セットをミックスするステップを含むことを特徴とする、請求項3に記載の方法。
  5. 前記第1係数セットを決定するステップは、メモリから前記第1係数セットを検索するステップ、又は前記第1係数セットを算出するステップのうちいずれかを含むことを特徴とする、請求項4に記載の方法。
  6. 前記ビデオデータの位相を演算するステップを更に含み、前記第1係数セット及び第2係数セットを決定するステップは、前記ビデオデータの位相を演算するステップの少なくとも一部に基づくことを特徴とする、請求項4に記載の方法。
  7. 前記スケーリングビデオデータを生成するステップは、前記第1ビデオデータ値セットに前記ブレンド係数セットを乗じるステップを含むことを特徴とする、請求項4に記載の方法。
  8. 前記係数ブレンドセットを用いて生成した前記スケーリングビデオ出力のフィルタリンギングは、前記第1係数セットを用いて生成し得るスケーリングビデオ出力におけるフィルタリンギングのレベルより低いレベルであることを特徴とする、請求項7に記載の方法。
  9. 前記第1スケーリング値セットは、前記スケーリング技術によりスケーリングを施された前記第1ビデオデータ値セットに対する第1輝度値セットであり、前記第2スケーリング値セットは、前記ビデオデータの線形補間を用いてスケーリングを行った前記第1ビデオデータ値セットに対する第2輝度値セットであることを特徴とする、請求項1に記載の方法。
  10. 前記ミックスするステップは、前記ミックス制御信号の少なくとも一部に基づき、スケーリング輝度値を生成するために、前記第1輝度値セットと前記第2輝度値セットをミックスするステップを含むことを特徴とする、請求項9に記載の方法。
  11. 前記ミックス制御信号を生成するステップは、前記第1ビデオデータ値セットの隣接値間の最大差と、前記第1ビデオデータ値セットの隣接値間の差の和との差分比を決定するステップを含むことを特徴とする、請求項1に記載の方法。
  12. 前記ミックス制御信号を生成するステップは、前記隣接値間の最大差に、前記差分比と、所定のレジスタ値とを乗じるステップを含むことを特徴とする、請求項11に記載の方法。
  13. ビデオデータをスケーリングする装置であって、
    ビデオデータストリームからのビデオデータ値セットを保存するメモリと、
    ビデオスケーリング技術を用いて前記ビデオデータストリームに対する第1スケーリング値セットを決定するスケーリング値決定部と、
    前記ビデオデータストリームの振幅における変化率を判定し、判定した前記変化率に基づいてミックス制御信号を決定する検出素子と、
    線形補間に基づく第2スケーリング値セットを、前記第1スケーリング値セットとミックスしてブレンド値セットを生成するミキシング素子とを含むことを特徴とする、装置。
  14. 前記ビデオスケーリング技術は、多相フィルタ系技術であることを特徴とする、請求項13に記載の装置。
  15. 前記第1スケーリング決定部は係数決定部であり、前記第1スケーリング値セットはスケーリング技術に基づく前記第1ビデオデータ値セットに対する第1係数セットであり、前記第2スケーリング値セットは前記ビデオデータの線形補間に基づく前記第1ビデオデータ値セットに対する第2係数セットであることを特徴とする、請求項13に記載の装置。
  16. 前記ミキシング素子によるミックスは、前記ミックス制御信号の少なくとも一部に基づき、係数ブレンドセットの生成を目的とする、前記第1係数セット及び前記第2係数セットのミックスを含むことを特徴とする、請求項15に記載の装置。
  17. 前記ブレンド係数セットに、前記メモリからの前記第1ビデオデータ値セットを乗じる複数の乗算器を更に含むことを特徴とする、請求項16に記載の装置。
  18. 前記ビデオデータストリームからの位相データを累算する累算器を更に含み、前記第1係数セット及び前記第2係数セットの決定は、前記累算器により累算された位相データの少なくとも一部に基づくことを特徴とする、請求項16に記載の装置。
  19. 前記係数決定部は、係数値を保持するメモリを含み、前記第1係数セットの決定は、前記メモリからの係数値の取得を含むことを特徴とする、請求項16に記載の装置。
  20. 前記複数の乗算器により生成した値の和を出し、スケーリングビデオ出力を生成する素子を更に含むことを特徴とする、請求項16に記載の装置。
  21. 前記第1スケーリング値セットは、前記スケーリング技術によりスケーリングを施された前記第1ビデオデータ値セットに対する第1輝度値セットであり、前記第2スケーリング値セットは、前記ビデオデータの線形補間を用いてスケーリングを行った前記第1ビデオデータ値セットに対する第2輝度値セットであることを特徴とする、請求項13に記載の装置。
  22. 前記ミキシング素子によるミックスは、前記ミックス制御信号の少なくとも一部に基づき、スケーリング輝度値の生成を目的とする、前記第1輝度値セット及び前記第2輝度値セットのミックスを含むことを特徴とする、請求項21に記載の装置。
  23. 前記検出素子による前記ミックス制御信号の生成は、隣接ビデオデータ値の間の最大差と、前記隣接ビデオデータ値の間の差の和との差分比の決定を含むことを特徴とする、請求項13に記載の装置。
  24. 前記検出素子は、所定のレジスタ値を保持する少なくとも一つのレジスタを含み、前記ミックス制御信号の生成は、前記隣接値間の最大差に、前記差分比と、所定のレジスタ値との乗算を含むことを特徴とする、請求項23に記載の装置。
  25. 命令シーケンスを表すデータを記憶している持続性コンピュータ可読型記憶媒体であって、前記命令シーケンスをプロセッサにより実行させた場合、前記プロセッサは、
    複数のビデオデータ値セットを含むビデオデータストリームの受信と、
    前記ビデオデータストリームから得た第1ビデオデータ値セットのメモリへの保存と、
    多相フィルタ技術に基づく、前記第1ビデオデータ値セットに対する第1スケーリング値セットの決定と、
    前記ビデオデータの線形補間に基づく、前記第1ビデオデータ値セットに対する第2スケーリング値セットの決定と、
    受信した前記ビデオデータにおける振幅の変化率の検出と、
    前記ビデオデータの前記変化率の少なくとも一部に基づく、ミックス制御信号の生成と、
    前記ミックス制御信号の少なくとも一部に基づく、ブレンド値セットを生成するための、前記第1スケーリング値セット及び前記第2スケーリング値セットのミックスと、
    前記ブレンド値セットを用いた、スケーリングビデオデータ出力の生成とからなる演算の遂行を含むことを特徴とする、記憶媒体。
  26. 前記第1スケーリング値セットは、前記スケーリング技術に基づく前記第1ビデオデータ値セットに対する第1係数セットであり、前記第2スケーリング値セットは、前記ビデオデータの線形補間に基づく前記第1ビデオデータ値セットに対する第2係数セットであることを特徴とする、請求項25に記載の記憶媒体。
  27. 前記ミックスは、前記ミックス制御信号の少なくとも一部に基づく、係数ブレンドセットを生成するための、前記第1係数セット及び前記第2係数セットのミックスを含む、請求項26に記載の記憶媒体。
  28. 前記第1係数セットの決定は、メモリからの前記第1係数セットの検索、又は前記第1係数セットの算出のうちいずれかを含むことを特徴とする、請求項27に記載の記憶媒体。
  29. 前記プロセッサにより実行させた場合、該プロセッサは前記ビデオデータの位相の演算を遂行する命令を更に含み、前記第1係数セット及び前記第2係数セットの決定は、前記ビデオデータの位相の演算の少なくとも一部に基づくことを特徴とする、請求項27に記載の記憶媒体。
  30. 前記スケーリングビデオデータの生成は、前記第1ビデオデータ値セットと前記ブレンド係数セットとの乗算を含むことを特徴とする、請求項27に記載の記憶媒体。
JP2014549099A 2011-12-22 2012-12-10 ビデオスケーラのリンギング低減 Expired - Fee Related JP6190386B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/335,398 US20130162901A1 (en) 2011-12-22 2011-12-22 Ringing suppression in video scalers
US13/335,398 2011-12-22
PCT/US2012/068730 WO2013095970A1 (en) 2011-12-22 2012-12-10 Ringing suppression in video scalers

Publications (2)

Publication Number Publication Date
JP2015511414A true JP2015511414A (ja) 2015-04-16
JP6190386B2 JP6190386B2 (ja) 2017-08-30

Family

ID=48654189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014549099A Expired - Fee Related JP6190386B2 (ja) 2011-12-22 2012-12-10 ビデオスケーラのリンギング低減

Country Status (7)

Country Link
US (1) US20130162901A1 (ja)
EP (1) EP2795917A4 (ja)
JP (1) JP6190386B2 (ja)
KR (1) KR101816661B1 (ja)
CN (1) CN104041062B (ja)
TW (1) TWI504246B (ja)
WO (1) WO2013095970A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104041055B (zh) * 2012-01-19 2018-01-02 惠普发展公司,有限责任合伙企业 正确调整增强内容的大小以产生最优化源内容
US8971447B1 (en) * 2013-10-17 2015-03-03 Fujitsu Limited Variable delay of data signals
CN103778595B (zh) 2013-12-31 2017-01-11 上海晨思电子科技有限公司 一种图像缩小处理的方法及装置
KR102214028B1 (ko) 2014-09-22 2021-02-09 삼성전자주식회사 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들
JP7168332B2 (ja) * 2018-03-16 2022-11-09 株式会社Soken リンギング抑制回路
CN108467118B (zh) * 2018-05-15 2020-08-04 江南大学 一种固定化藻菌去除养殖废水氮磷的方法
US11941783B2 (en) * 2020-08-28 2024-03-26 Apple Inc. Scaler de-ringing in image processing circuitry

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879558A (ja) * 1994-06-29 1996-03-22 Sony Corp 画像データ用のデジタルフィルタ及びデジタルフィルタシステム
JP2004153761A (ja) * 2002-11-01 2004-05-27 Matsushita Electric Ind Co Ltd 補間装置
GB2478401A (en) * 2010-03-05 2011-09-07 Intel Corp System, method, and computer program product for image re-scaling

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939576A (en) * 1989-07-24 1990-07-03 Campbell Jack J Adaptive ringing reducer for television signal processing
US5594467A (en) * 1989-12-06 1997-01-14 Video Logic Ltd. Computer based display system allowing mixing and windowing of graphics and video
US6018753A (en) 1997-07-29 2000-01-25 Lucent Technologies Inc. Interpolating filter banks in arbitrary dimensions
US6108047A (en) * 1997-10-28 2000-08-22 Stream Machine Company Variable-size spatial and temporal video scaler
US20030080981A1 (en) * 2001-10-26 2003-05-01 Koninklijke Philips Electronics N.V. Polyphase filter combining vertical peaking and scaling in pixel-processing arrangement
US7391933B2 (en) * 2003-10-30 2008-06-24 Samsung Electronics Co., Ltd. Method and apparatus for image interpolation based on adaptive polyphase filters
ITMI20041971A1 (it) * 2004-10-15 2005-01-15 Uni Degli Studi Brescia Metodo di codifica video scalabile
US7639873B2 (en) * 2005-07-28 2009-12-29 Microsoft Corporation Robust shot detection in a video
EP4372743A2 (en) 2006-01-27 2024-05-22 Dolby International AB Efficient filtering with a complex modulated filterbank
US7894685B2 (en) * 2008-07-01 2011-02-22 Texas Instruments Incorporated Method and apparatus for reducing ringing artifacts
CN101330610A (zh) * 2008-07-22 2008-12-24 华为技术有限公司 水印嵌入方法及装置、提取方法及装置和处理系统
US8279240B2 (en) * 2008-09-29 2012-10-02 Intel Corporation Video scaling techniques
US8300948B2 (en) * 2008-11-28 2012-10-30 Broadcom Corporation De-ringing operation for image processing
CA3162807C (en) * 2009-01-16 2024-04-23 Dolby International Ab Cross product enhanced harmonic transposition
TWI392335B (zh) * 2009-08-14 2013-04-01 Sunplus Technology Co Ltd 在縮放器中去除一影像訊號之環形雜訊之濾波系統及方法
KR20110042423A (ko) * 2009-10-19 2011-04-27 세종대학교산학협력단 영상의 경계영역을 적응적으로 고려하는 영상 향상 알고리즘 장치 및 방법
US20110298972A1 (en) * 2010-06-04 2011-12-08 Stmicroelectronics Asia Pacific Pte. Ltd. System and process for image rescaling using adaptive interpolation kernel with sharpness and de-ringing control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879558A (ja) * 1994-06-29 1996-03-22 Sony Corp 画像データ用のデジタルフィルタ及びデジタルフィルタシステム
JP2004153761A (ja) * 2002-11-01 2004-05-27 Matsushita Electric Ind Co Ltd 補間装置
GB2478401A (en) * 2010-03-05 2011-09-07 Intel Corp System, method, and computer program product for image re-scaling

Also Published As

Publication number Publication date
EP2795917A4 (en) 2015-09-16
TW201338509A (zh) 2013-09-16
CN104041062A (zh) 2014-09-10
KR101816661B1 (ko) 2018-01-09
TWI504246B (zh) 2015-10-11
US20130162901A1 (en) 2013-06-27
WO2013095970A1 (en) 2013-06-27
CN104041062B (zh) 2019-03-29
KR20140107581A (ko) 2014-09-04
EP2795917A1 (en) 2014-10-29
JP6190386B2 (ja) 2017-08-30

Similar Documents

Publication Publication Date Title
JP6190386B2 (ja) ビデオスケーラのリンギング低減
US5694149A (en) Vertically scaling image signals using digital differential accumulator processing
US6411333B1 (en) Format conversion using patch-based filtering
US20020145610A1 (en) Video processing engine overlay filter scaler
WO2007056623A2 (en) Method and system for digital image magnification and reduction
US5835160A (en) Sampling rate conversion using digital differential analyzers
JP2000310984A (ja) 組み合わされたビデオおよびコンピュータ生成画像をスケーリングするシステムおよび方法
US6166773A (en) Method and apparatus for de-interlacing video fields to progressive scan video frames
CN110677554B (zh) 一种视频放大方法及其装置、电子设备和存储介质
JP2003069960A (ja) パノラマ/ウォータガラス機能実現のための映像処理装置およびその実現方法
EP1176823A1 (en) Image processing circuit
US8499019B2 (en) Electronic hardware resource management in video processing
US20090087119A1 (en) Method and apparatus for arbitrary ratio image reduction
WO2016197393A1 (zh) 并行多相位图像插值装置和方法
US6829302B2 (en) Pixel calculating device
KR20000051198A (ko) 범용 영상 포맷 변환 장치
JP4686048B2 (ja) 画素演算装置
KR20060006062A (ko) 조합된 샘플링 레이트 변환 및 이득 제어된 필터링
JP2003234640A (ja) デジタル信号変換器、変換方法およびビデオモニタ
JPH11191861A (ja) 画像処理装置及び画像処理システム
US20020106136A1 (en) Pixel calculating device
JP2006303693A (ja) 縮小画像の生成機能を備える電子カメラ
CN112862673A (zh) 自适应图像缩放方法及自适应图像缩放装置、存储装置
JP2011160282A (ja) 画像処理装置及び画像処理方法
WO2010091750A1 (en) Scaling method and device for image signals

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160121

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20160121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170804

R150 Certificate of patent or registration of utility model

Ref document number: 6190386

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees