JP2014053896A - ピクセルバッファリング - Google Patents

ピクセルバッファリング Download PDF

Info

Publication number
JP2014053896A
JP2014053896A JP2013183997A JP2013183997A JP2014053896A JP 2014053896 A JP2014053896 A JP 2014053896A JP 2013183997 A JP2013183997 A JP 2013183997A JP 2013183997 A JP2013183997 A JP 2013183997A JP 2014053896 A JP2014053896 A JP 2014053896A
Authority
JP
Japan
Prior art keywords
image data
buffer
resolution
image
processing module
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
JP2013183997A
Other languages
English (en)
Other versions
JP5717815B2 (ja
Inventor
Fishwick Steven
フィッシュウィック スティーヴン
Morphet Stephen
モーフェット スティーヴン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
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 Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of JP2014053896A publication Critical patent/JP2014053896A/ja
Application granted granted Critical
Publication of JP5717815B2 publication Critical patent/JP5717815B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/053Detail-in-context presentations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • 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/0102Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving the resampling 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/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】画像データを画像処理モジュールに提供する方法及びシステムを提供する。
【解決手段】画像データが縮小器に読み出される。第1解像度の画像データが第1バッファの中に格納される。画像処理モジュールが要求する画像データ領域が予想され、予想データ領域の少なくとも一部に対応するデータが第2バッファの中に格納される。第2バッファのデータは、第1解像度よりも高い解像度を有する。データ要求がモジュールから受け取られると、要求データに対応するデータが第2バッファにあるかが決定される。要求データに対応するデータが第2バッファにある場合は、画像データは、第2バッファから画像処理モジュールに提供される。要求データに対応するデータが第2バッファにはない場合は、要求データの代替物を高解像度に適合する解像度で提供するために第1バッファからのデータが拡大され、拡大データがモジュールに提供される。
【選択図】図3

Description

本発明は、画像データを画像処理モジュールに提供する方法及びシステムに関する。
画像又はビデオ処理システムは、メモリシステムに対して重い要求を課す可能性がある。一般的に、画像処理デバイスは、有限の帯域幅を有するバスを用いてメモリに接続される。多くの場合に、バスを通じてメモリにから読み出されるか、又はメモリに書き込まれるデータの量を低減することを目的とするバッファ又はキャッシュとして作動する画像処理デバイスに対してローカルなメモリも存在することになる。バスを通じてメモリからデータを読み取るのは、ローカルメモリから同じデータを読み取るのと比較して相対的に低速であり、より多くの電力を消費する。
何らかのメモリ帯域幅は不可避である。一般的な処理システムは、各入力画像フレームをメモリからバスを通じて読み取り、各出力画像フレームをメモリにバスを通じて書き込まなければならない。高精細(HD)ビデオでは、フレームは、1920ピクセル幅及び1080ピクセル高である場合がある。一般的な420色度サブサンプリングモードでは、フレームサイズは、約3.1メガバイト(MB)である。24フレーム毎秒(fps)の入力フレームレートでは、入力データ帯域幅だけで約74MB/秒である。
出力ビデオのサイズ及びフレームレートは、適用される処理に基づいて、入力ビデオのサイズ及びフレームレートとは異なる場合がある。1つの考えられる処理アルゴリズムは、入力フレームを24fpsで読み取り、出力フレームを例えば120fpsで書き込むことができる高精細動き補償フレームレートコンバータである。この場合、上述の74MB/秒の入力データ帯域幅に加えて、出力データ帯域幅は、300MB/秒よりも大きい。この量のデータ転送はほぼ不可避である。
例示的なフレームレート変換アルゴリズムは、2つの主要段階で作動する。最初に、動き推定が、連続する入力フレームの対の間の動きを表すベクトル場を計算する。第2に、映像構築又は内挿段階が、入力フレームから得られて動きベクトルによって決定された位置で出力フレームに置かれたピクセルを用いていくつかの出力フレームを構成する。
動き推定には様々な手法が存在する。一般的なものは、フレームを小さい矩形ブロックに分割し、各ブロックに対して、隣接入力フレーム内でピクセルデータの適合区域を検索するものである。一般的に、検索処理は、いくつかの動きベクトル候補の各々の評価を必要とし、適合の品質は、ブロック内のピクセルと隣接フレームからのピクセルとの間の差絶対値和(SAD)のようなメトリックを用いて決定される。ピクセルの適合区域の間の位置オフセットは、当該ブロックに対する動きベクトルを決定する。
動きベクトル候補は、検索範囲のあらゆるベクトルとすることができる。検索範囲は、ブロックを取り囲み、そのサイズは、検出して追跡することができる動きの範囲を決定する。多くの場合に、類似の値を有するいくつかの候補が存在し、これは、隣接フレームからのピクセルを複数回読み出さなければならないことを意味する。従って、検索範囲に対応する隣接フレームピクセルデータをローカルバッファに格納することが適切である。バッファが一杯になると、いずれの付加的なメモリ帯域幅も消費することなく、多くのベクトル候補を試験することができるが、バッファを一杯にするメモリ帯域幅消費を考慮しなければならない。
アルゴリズムの映像構築段階では、選択された動きベクトルに対応するピクセルデータが、出力フレーム内のその位置に投影される。いくつかの別の動き推定結果を投影することができ、出力フレーム内のピクセル値は、これらの各々の合成物から形成される。また、映像構築に使用されるピクセルデータは、動き推定のためにピクセルを供給するものと同じピクセルデータバッファから読み出される。
図1は、ピクセルデータバッファの設計に対する1つの手法を示している。バッファ100を動き推定器の検索範囲105と同じサイズに示しており、このバッファは、動き推定が発生するブロック110を中心とする。実際には、バッファサイズは、フレームレートコンバータの映像構築段階のような他の処理にデータを供給するために若干拡張される場合がある。動き推定処理が次のブロック115に移動すると、ピクセルデータバッファは、検索範囲の一方のエッジにあるブロック列120に対応するデータを廃棄して、検索範囲の反対のエッジにあるブロック列125に対応するデータを読み取る。検索範囲の高さがV個のブロックである場合には、動き推定器内で処理される各新しいブロックに対して、ピクセルデータのV個のブロックを読み出さなければならない。検索範囲が画面のエッジと重なり始めると、ある程度の節約を行うことができるが、この節約は、処理位置が次の行に下がる時に長いブロック行130を読み取る必要性によってほぼ相殺される。次の行の反対の終端にジャンプして戻る処理が、負担の大きいバッファ内容145全体の入れ替えを必要とすることになることに関しては、ラスター走査順序140よりは蛇行処理順序135が好ましい。
フレームの動き推定において、隣接フレーム内のピクセルデータの全てのブロックを少なくとも一度は調べなければならないと予想するのは妥当性がある。殆どの動きはほぼ平行移動のものであり、ベクトル場は比較的均一である。隣接フレームのかなりの部分が動き推定器によるアクセスを受けないという例外はあるが、この例外が適用されることに依存することは決してできない。隣接フレームからの各ブロックが、たった一度だけ読み出される場合には、動き推定器は、メモリ帯域幅に関して最適なものであるとある程度いうことができる。
図1の設計は、最適な設計のメモリ帯域幅消費の約V倍という犠牲を払って、ピクセルデータバッファに必要とされるストレージの量を最小にするという利点を有する。妥当性のある垂直動き検索範囲では、Vは特に小さいわけではない。
図2は、全フレーム幅であるピクセルデータバッファ200を示している。動き推定器の検索範囲205は、処理中のブロック210に対応する。動き推定が次のブロック215に進むと、1つの付加的なブロック220を読み出さなければならず、1つのブロック225が廃棄されなければならない。読み取りブロック位置は、処理位置が現在の行の終端に来ると次の行の開始点に折り返し、蛇行処理順序とラスター走査処理順序の間の違いはそれ程有意ではなくなる。各フレームブロックは一度しか読み取る必要がないので、この設計は、最適なメモリ帯域幅を得る。フレームが幅広である場合には、最初のブロックを処理することができるようにバッファが十分に一杯になる前に大幅な遅延がある場合がある。この設計の最も有意な欠点は、ピクセルデータバッファにかなり大量のローカルメモリを必要とすることである。
通常、この種の用途では、メモリキャッシュは、キャッシュ・ミスの際にメモリからバスを通じてデータを取得するのに要する時間に起因して、ピクセルデータバッファの適切な代替物ではない。それとは対照的に、ピクセルデータバッファ設計は、データが即座に利用可能であることを保証する。これは、ビデオ処理のような計算負荷が高い実時間アプリケーションでは有意である。
ビデオフレームサイズが増大すると、ピクセルデータバッファに必要とされるストレージ量は比例して増大する。高精細(HD)画像は、1920×1080ピクセルである。ビデオシーケンスにおける動きのサイズには制限がないが、多くの場合に、動き推定器の検索範囲のサイズには実際的な制約条件が存在する。検索範囲の垂直サイズVは、特に重要なものである。動き推定器が、HDビデオ内の移動の大部分を追跡するためには、バッファは、数百ピクセル高であることが必要な場合がある。ピクセルデータバッファが画面幅であり、垂直検索範囲Vが200ピクセルである場合には、約1920×200ピクセルに対するストレージが必要である。(図2は、バッファが、その幅の一部にわたって1ブロック短い場合があることを示す。)多くの場合に、動き推定は、異なるフレーム間で又は同時に異なる間隔にわたって作動し、場合によって2つ、3つ、又は4つのフレームに関するピクセルデータを同時に必要とする。従って、ストレージ要件は、それに応じて拡大されなければならない。必要とされる合計ストレージ量は大きく、ピクセルデータバッファリングは、動き推定デバイスのシリコン面積のかなりの割合に対応する。
超高精細テレビジョン(UHDTV)規格は、HDよりも高い解像度を有する新しいビデオフォーマットを定める。4K UHDTVは、各寸法においてHDのサイズの2倍、すなわち、3840×2160ピクセルのフレームを有するフォーマットである。フレームを読み取る必要性は不可避のままに留まり、従って、メモリ帯域幅は、少なくともフレーム面積に比例し、すなわち、4倍に増大する。その結果、不要なメモリ帯域幅を追加することなく、ピクセルデータバッファリングを可能な限り最適に近いように設計することが望ましい。これは、画面の全幅のピクセルデータバッファの使用を意味する。一般的な動きベクトルも、フレームサイズに比例してスケーリングされ、従って、検索範囲寸法は2倍になる。従って、この場合、全幅のピクセルデータバッファは、約3840×400ピクセルになり、HD方式のサイズの4倍、従って、そのシリコン面積のほぼ4倍になる。
8K UHDTVフレームは、各寸法において4K UHDTVのサイズの2倍である。それによって帯域幅要件は、HDビデオのもの16倍に増大し、ピクセルデータバッファストレージ量の16倍が必要である。
本出願人は、画像データバッファによって必要とされるメモリ空間の量を低減し、同時にメモリ帯域幅消費も低減することが望ましいと考えた。
本発明により、画像データを第1の解像度まで縮小する縮小器内に画像データをメモリから読み取る段階と、第1の解像度の画像データを第1のバッファに格納する段階と、画像処理モジュールが要求することになる画像データ領域を予想する段階と、予想画像データ領域の少なくとも一部に対応する画像データをメモリからバッファ内の画像データが第1の解像度よりも高い解像度にある第2のバッファに格納する段階と、画像処理モジュールから画像データに対する要求を受け取る段階と、要求画像データの少なくとも一部分に対応する画像データが第2のバッファにはないと決定する段階と、要求画像データの少なくとも一部分に対する代替物を高い解像度に少なくとも適合する解像度で提供するために第1のバッファからの画像データを拡大する段階と、拡大画像データを画像処理モジュールに提供する段階とを含む画像データを画像処理モジュールに提供する方法を提供する。
本発明の実施形態は、要求画像データに対応する画像データが第2のバッファにはない場合に、画像データをメモリから取り出すことが必要になるという多くの用途において許容不能な遅延をもたらす場合がある危険性なしに、第2のバッファ内に高い解像度で格納される画像データの量を小さくすることができるという利点を有する。要求画像データに対応する画像データが第2のバッファにはない場合には、要求画像データに対する代替物を高い解像度に少なくとも適合する解像度で提供するために第1のバッファからの画像データが拡大される。この方法は、一部の事例では、低品質の画像データが画像処理モジュールに提供される場合があるという欠点を有する。高周期情報は、縮小処理中に失われ、その後に、画像データを拡大することに基づいて回収することができない。しかし、この方法は、画像データバッファによって必要とされるメモリ空間を低減することができるという利点を有する。
画像の領域に関する画像データは、第2のバッファ内と第1のバッファ内の両方に格納される場合があるが、第2のバッファ(高解像度画像データを格納する)は、小さくすることができるので(低い解像度の画像データを第1のバッファ内に有するというフォールバックに起因して)、これらのバッファの両方に必要とされる合計メモリ空間は、第1のバッファの中に格納される画像データの全てが高い解像度で格納された場合のものよりも小さくすることができる。
従って、これはまた、より大きい画像領域に関する画像データを同じ量のバッファメモリに格納することができることを意味する。これは、一部の用途において、バッファ内には存在しない画像データを再度読み取るのに必要とされるメモリ帯域幅をバッファによって必要とされるメモリ空間量を増加させることなく低減することができるという利点を有する。
本発明の好ましい実施形態において、第1のバッファは、画像フレームの全幅に対応する画像データを格納する。
好ましくは、第2のバッファ内の画像データは、メモリから第2のバッファの中に読み出される。しかし、別の実施形態において、予想画像データ領域の少なくとも一部に対応する画像データをメモリから第2のバッファに格納する段階は、画像データを第2の解像度まで縮小する縮小器内に画像データをメモリから読み取る段階と、第2の解像度の画像データを第2のバッファに格納する段階とを含む。
本発明の実施形態は、要求画像データの一部分に対応する画像データが第2のバッファにあると決定する段階と、画像データを第2のバッファから画像処理モジュールに高い解像度に少なくとも等しい解像度で提供する段階とを更に含む。
画像データは、第1及び第2のバッファの各々の内部に矩形ブロックで配置することができる。好ましくは、第1のバッファ内のブロックのサイズは、第1の解像度と高い解像度の間の差に対応する倍率によって第2のバッファ内のブロックのサイズに関連している。
第2のバッファは、内容アドレスメモリを用いて実施することができる。
画像処理モジュールが要求することになる画像データ領域は、画像処理モジュール又は更に別の画像処理モジュールによって供給されるデータを用いて予想することができる。例えば、画像処理モジュールが要求することになる画像データ領域は、画像処理モジュール又は更に別の画像処理モジュールによって供給される動きベクトルを用いて予想することができる。
本発明の好ましい実施形態において、第1の解像度の画像データは、第1の解像度の画像データをメモリに書込み、かつ第1の解像度の画像データをメモリから第1のバッファの中に読み取ることによって第1のバッファの中に格納される。第1の解像度の画像データをメモリに書き込む段階は、メモリ帯域幅を使用する。しかし、本出願人は、そうでなければ画像データを再度読み取って縮小することが必要になる用途において、第1の解像度の画像データをメモリに書き込むことにより、全体的なメモリ帯域幅の節約をもたらすことができることを認めた。第1の解像度の画像データをメモリに書込み、かつメモリから読み取るのに必要とされるメモリ帯域幅の量は、高い解像度にある画像データを読み取るのに必要とされるメモリ帯域幅よりも小さくすることができ、この節約は、画像データをメモリから複数回読み取る必要がある場合に増加することになる。更に、この方法は、画像データを一度しか縮小しなくてもよいので、画像データを縮小するのに必要とされる処理電力を低減することを可能にする。
本発明の更に好ましい実施形態において、縮小器は、高い解像度にある画像データと第1の解像度から高い解像度に拡大された画像データとの間の差を決定することによって残差画像データを生成する。
この実施形態において、予想画像データ領域の少なくとも一部に対応する第2のバッファ内の画像データは、残差画像データを含むことができる。残差画像データは、高い解像度と同じ解像度を有する。しかし、残差画像データを使用する利点は、多くの場合に、残差画像データは、高い解像度の画像データよりも容易かつ十分に圧縮することができる点である。これは、残差画像データをメモリから読み取り、かつメモリに書き込むのに必要とされるメモリ帯域幅を高い解像度の画像データを読み取るのに必要とされるメモリ帯域幅よりも有利に小さくすることができることを意味する。更に、第2のバッファによって必要とされるメモリ空間は、低減することができる。残差画像データは、非可逆圧縮又は可逆圧縮を用いて圧縮することができる。
この実施形態において、画像データを第2のバッファから画像処理モジュールに提供する段階は、第1のバッファからの画像データを高い解像度に少なくとも適合するように拡大する段階と、第2のバッファからの残差画像データを拡大画像データと組み合わせる段階と、結果を画像処理モジュールに提供する段階とを含むことができる。
本発明の更に好ましい実施形態において、本方法は、画像の一部における高周期情報の量を決定する段階を含む。この段階は、残差画像データを解析することによって行うことができる。
この実施形態において、予想画像データ領域の一部に対応する画像データは、画像のその部分における高周期情報の量が閾値よりも少ないと決定された場合には、第2のバッファに格納されない場合がある。それによってメモリ帯域幅を節約することが可能になり、更に、他のデータによる占有に向けて第2のバッファ内の空間を解放することが可能になる。これらの他のデータは、依然として格納されていないデータ、又は既に格納されている(将来的に有用である可能性がある)第2のバッファをキャッシュデータのように考えたデータであり、押し出しを回避することができる。
予想画像データ領域の一部に対応する画像データは、予想画像データ領域のその部分が画像処理モジュールによって使用されることにならないことが示された場合にも、第2のバッファに格納されない場合がある。これは、例えば、予想画像データにおける信頼性が低い場合とすることができる。
本発明の更に好ましい実施形態において、どれ程の画像データがメモリから第2のバッファに格納されるかは、メモリ帯域幅消費率要件を踏まえて決定される。
好ましくは、閾値は、画像の異なる部分における高周期情報の量及びメモリ帯域幅消費率要件を踏まえて調節される。
本発明の更に好ましい実施形態において、画像処理モジュール又は更に別の画像処理モジュールからの第1の解像度での画像データに対する要求に応じて、第1の解像度の画像データを第1のバッファから画像処理モジュール又は更に別の画像処理モジュールに提供することができる。例えば、画像処理モジュール又は更に別の画像処理モジュールは、第1の解像度にある画像データを使用する動き推定器を含むことができる。
画像処理モジュールは、例えば、動き推定器の結果に基づいて、少なくとも高い解像度にある画像を出力するフレームレートコンバータの映像構築器とすることができる。一実施形態において、フレームレートコンバータの映像構築器は、第1のバッファから第1の解像度にある画像データが供給される解析器を更に含む。
本発明の実施形態において、第1のバッファからの拡大画像データと第2のバッファから供給される画像データとの間の潜在的な不連続の場所が識別される。本発明の好ましい実施形態において、不連続の可視性を低減するために、混合ユニットが、第2のバッファからの画像データを第1のバッファからの拡大画像データと不連続の近くで組み合わせる。
本発明の更に好ましい実施形態において、予想画像データ領域の少なくとも一部に対応する少なくとも一部の色度画像データは、第2のバッファに格納されない。本出願人は、一般的に、色度画像データでは、高周期情報は、輝度画像データにおいて知覚される程容易には知覚されないことを認めた。従って、1つ又はそれよりも多くの画像ピクセルにおける色度画像データを第2のバッファの中に読み出さないことにより、メモリ帯域幅を取り置くことが可能になり、同時に、画像処理モジュールに提供される画像データの品質のあらゆる低下が抑制される。更に、それによって第2のバッファ内の空間を他のデータによる占有に向けて解放することが可能になる。
本発明により、メモリからの画像データを第1の解像度まで縮小するように構成された縮小器と、第1の解像度の画像データを格納するように配置された第1のバッファと、予想画像データ領域の少なくとも一部に対応する画像データを格納するように配置されて、バッファ内の画像データが第1の解像度よりも高い解像度にある第2のバッファと、画像データをメモリから縮小器内に読み取って第1の解像度の画像データを第1のバッファに格納し、画像処理モジュールが要求することになる画像データ領域を予想し、予想画像データ領域の少なくとも一部に対応する画像データをメモリから第2のバッファに格納し、画像データに対する要求を画像処理モジュールから受け取り、要求画像データ領域の少なくとも一部に対応する画像データが第2のバッファに格納されていないと決定し、要求画像データ領域の少なくとも一部分に対する代替物を高い解像度に少なくとも適合する解像度で提供するために第1のバッファからの画像データを拡大器を用いて拡大し、かつ拡大画像データを画像処理モジュールに提供するように構成されたプロセッサとを含む画像データを画像処理モジュールに提供するためのシステムも提供する。
従って、本発明の好ましい実施形態において、第2のバッファは、キャッシュのように作動させることができ、いくつかのピクセルブロックを高解像度で格納する。第2の(高い解像度の)バッファの内容は、画像処理モジュールによって要求されるピクセルデータを供給し、同時にメモリ帯域幅消費を更に調整するために、予想アルゴリズム及びレート制御アルゴリズムを使用することができるバッファコントローラによって維持することができる。
アプリケーション(動き推定器及びフレームレートコンバータの映像構築器のような)は、第1のバッファ又は第2のバッファのいずれかからのデータにアクセス可能である。例えば、動き推定器は、完全に第1のバッファからの低い(第1の)解像度のデータから作動するように設計することができる。映像構築器は、出力フレームが可能な場合は必ず入力フレームの解像度を維持するように、好ましくは、高解像度データを用いて作動されなければならない。第2の(高解像度の)バッファへのアクセスは、バッファコントローラを通じたものであり、バッファコントローラは、高解像度データが高解像度バッファ内で利用可能な場合は高解像度データを供給し、高解像度データが利用可能ではない場合は、第1の(低解像度の)バッファからのデータを拡大したものを供給する。
本発明の好ましい実施形態の更に別の特徴及び利点は、以下に続く詳細説明から明らかになるであろう。
ここで、本発明の実施形態を添付図面を参照して単なる例として以下に説明する。
動き推定器の検索範囲と同じサイズのピクセルデータバッファの図である。 ビデオフレームと同じ幅のピクセルデータバッファの図である。 本発明の実施形態におけるバッファコントローラの制御下にある高解像度バッファ及び低解像度バッファを有するシステムのアーキテクチャを示すブロック図である。 本発明の実施形態における低解像度フレームと残差データとを格納する拡張システムのブロック図である。 本発明の実施形態におけるバッファ制御ユニットのブロック図である。 本発明の実施形態における残差データのバッファリングを管理する別のバッファ制御ユニットのブロック図である。 バッファストレージブロックに対する要求データの様々なアラインメントの図である。 要求されたブロック内のデータのバッファからの利用可能性及び取得不能性の図である。 本発明の実施形態における混合ユニットを組み込むバッファ制御ユニットの変形の図である。 本発明の実施形態における中間解像度のデータを格納する付加的なバッファを有するシステムのブロック図である。
本明細書に説明するピクセルバッファリング技術は、オンチップメモリのサイズを入力フレームサイズから分離し、同時にメモリ帯域幅消費を制限する。
このアーキテクチャは、2つの両極端の間の有利で柔軟な妥協を提供する。図1のシステムは、小さいオンチップバッファメモリを使用するが、メモリ帯域幅は過剰である。全幅の高解像度ピクセルバッファを有する図2のシステムは、法外に大きいオンチップバッファメモリ量という犠牲を払って、メモリ帯域幅を最小にする。いずれの手法も、ビデオ解像度が低い場合は実現可能であるが、解像度が高まる時に両方の欠点が明らかになる。適切な倍率及びバッファサイズの選択により、説明する技術は、コストと帯域幅と画像品質との適切な均衡を求めることを可能にする。説明する例は、主に高解像度ビデオ処理システムに関するが、低解像度システムに同じく適用することができ、この場合、既存の設計に優る更に別の節約を行うことができる。
下記の例を動き補償フレームレートコンバータの状況で説明する。しかし、当業者は、この技術を様々な画像処理用途及びビデオ処理用途に適用することができることを認めるであろう。
本明細書では「アプリケーション」という用語をバッファリングされたピクセルデータを使用する処理ブロック又はモジュールを説明するのに使用する。一般的にアプリケーションは、ピクセルバッファリングシステムと同じハードウエアデバイスの一部として具現化され、例えば、汎用コンピュータ上で作動するソフトウエアアプリケーションと混同しないようにされなければならない。動き補償フレームレートコンバータは、バッファリングされたピクセルデータを使用するアプリケーションの一例であり、このアプリケーションは、各々がピクセルデータを異なる手法で使用するいくつかのアプリケーションとして具現化することができることが分かるであろう。
図3は、高解像度ビデオフレームがメモリ300に格納されるシステムの簡単なブロック図を示している。縮小ユニット305は、高解像度フレームを低い解像度のものに変換し、低解像度ピクセルデータを低解像度バッファ310に格納する。メモリ帯域幅消費を最小にするために、縮小画像の全幅のバッファが好ましい。
縮小処理は、画像スケーリングのための公知の技術のうちのあらゆるものを使用することができる。低解像度バッファからのピクセルが出力画像内に出現することができるので、双3次型のようなある程度高い品質のスケーリング器が推奨される。
一部のアプリケーションに対しては、縮小データの解像度で全く差し支えない。そのようなアプリケーションを低解像度アプリケーション315として示している。フレームレートコンバータの例では、以下に説明するように、動き推定器を低解像度アプリケーションとして作動させることを可能にすることができる。
バッファ制御ユニット320は、高解像度画像データを高解像度アプリケーション335に提供する。高解像度アプリケーションは、図2に示すような高解像度ピクセルデータを含む最大サイズのピクセルデータバッファへのアクセスを有するかのように作動する。実際にはそのようなバッファは存在しない。バッファ制御ユニット320は、小量の高解像度データを高解像度バッファ330内に維持する。アプリケーション335がピクセルデータを要求すると、バッファ制御ユニットは、そのピクセルデータが利用可能である場合には、それを高解像度バッファ330から供給する。データが高解像度バッファから利用可能ではない場合には、バッファ制御ユニットは、データを低解像度バッファ310から拡大器325を通じて供給する。低解像度データの縮尺が高解像度フレームのものと適合するように、拡大器の比は、縮小器305の比に適合する。高解像度アプリケーション335は、いずれかの特定のピクセルが低解像度経路を通じて供給されたか否かを把握する必要はない。当然ながら、縮小処理中には高周期情報が失われる。出力を構成するのに拡大データが使用される場合には、高周期情報の欠如は、画像の目視可能な不鮮明化をもたらす場合がある。
バッファ制御ユニット320は、可能な場合は必ず、高解像度アプリケーション335によって要求されるデータが高解像度バッファ330に存在することを保証する。
一例では、高解像度バッファ330内のピクセルデータストレージは、矩形ブロックに編成される。これらのストレージブロックのサイズは、バッファリングシステムの最良の性能に関して選択することができ、高解像度アプリケーション335による処理に使用されるいずれかのブロックがある場合には、そのブロックサイズとは異なる場合がある。高解像度ストレージのブロックへの分割は、拡大器325及び低解像度バッファ310からの拡大データの領域の要求に対するバッファ内容の好ましい細分性における管理を可能にする。
同じく低解像度バッファ310も、ピクセルデータを矩形ブロックで格納することができる。例えば、縮小器305及び拡大器325に使用される倍率によって高解像度ストレージブロックサイズに関連する低解像度ストレージブロックサイズを選択することを特に好適とすることができる。このようにして、1つの低解像度ブロックは、1つの高解像度ブロックに対応する。
メモリキャッシュは公知である。従来のメモリキャッシュは、データに対する要求を特定のメモリアドレスから受け取り、このデータを要求が行われたデバイスに供給する。初めてデータピースが要求される場合は、このデータピースは、メモリからバスを通じて取り出される。2回目に要求された場合には、データをメモリから再度取り出すのではなく、キャッシュから供給することができるように、データはキャッシュ内で複製される。これは、「キャッシュ・ヒット」として公知である。キャッシュ内のストレージの量は比較的小さく、従って、キャッシュが作業データセット全体の複製物を保持することは一般的に可能ではない。これは、画像データ又はビデオデータの場合にそうであるように、ワーキングセットが大きい場合に特に適用される。一般的にキャッシュ内にロードされる新しいデータピースは、別のデータピースを押し出すことになる。押し出されたデータピースが再度要求された場合には、それをメモリから再度取り出すことが必要になる。読み取り要求によってデータがメモリから取り出される状況は、「キャッシュ・ミス」として公知である。キャッシュのサイズ、マッピング規則、及び置換ポリシーが、キャッシュの挙動を決定し、これらは、汎用性能、又は特定のアプリケーションにおける性能に関して選択することができる。
先取りは、データピースがキャッシュから近々に要求さることになることを予想することができる時にキャッシュと共に使用される技術である。先取りは、データが最初に要求される時にキャッシュ・ヒットが発生するように、データをキャッシュ内に転送する。この転送は、ビデオアプリケーションにおいて、例えば、ピクセルブロックがラスター走査順序で処理されている場合に適切なものとすることができる。1つのブロックの処理が完了する直前に次のブロックの処理が始まるのに次のブロックに関するデータが即座に利用可能であるように、次のブロックに関するデータをキャッシュ内に取り出すための先取り命令を出すことができる。先取りは、帯域幅消費を低減しないが、キャッシュ・ミスに関する待ち時間(遅延)を隠すのに確かに役立つ。先取りが使用される場合には、先取りデータが、他のデータをそれが依然として使用状態にある間にキャッシュから押し出すことになり、付加的なキャッシュ・ミスを引き起こす可能性を考慮しなければならない。
高解像度バッファ330及びコントローラ320は、高解像度バッファにはないデータに対する要求により、このデータがメモリから取り出されることがない点で従来のキャッシュとは異なる。代替的に、データは、低解像度バッファ310から拡大器325を通じて提供される。このようにしてメモリアクセスの待ち時間が常に回避される。
高解像度バッファ330を埋める上で「キャッシュ・ミス」のような手段がない場合には、何らかの他の機構を設けなければならない。バッファコントローラ320は、この機能をアプリケーション335へのデータの供給と並行して実施する。
バッファ制御ユニット320の構造を図5に示している。読み取りコントローラ500は、アプリケーションから画像データブロックに対する要求を受け取る。高解像度バッファ505から必要とされるデータを決定するために、この要求は、例えば、この要求を高解像度ストレージブロックサイズに対してマップすることによって処理される。次に、高解像度バッファが要求データを含むか否かを決定するために、このバッファが照会される。バッファを照会するための機構は、キャッシュ設計に使用されるものと類似の技術を使用することができる。例えば、バッファリングデータ515の各ブロックと共にタグ510が格納され、このタグは、フレーム内のピクセルデータの座標から、又はメモリ内のデータのアドレスから導出することができる。この場合、バッファは、特定のタグに対応するデータを取得することを可能にする内容アドレスメモリ(CAM)として具現化することができる。
要求データが高解像度バッファ内に含まれる場合には、データは、経路520を通じてマルチプレクサ525に供給される。要求データが高解像度バッファ内に含まれない場合には、要求は、拡大器に(更に拡大器から低解像度バッファに)送られ、低解像度データを拡大したものが経路530を通じて供給される。代替的に、低解像度データを拡大することに関連付けられた待ち時間の大部分が、高解像度バッファの照会に取られる時間の背後で目立たないように、データに対する要求は、高解像度バッファと拡大器に同時に送ることができる。
任意的に、データに対する要求は、バスを通じてメモリに送ることができ、高解像度のものが、経路535を通じてマルチプレクサに供給される。一般的に、システムは、メモリへのアクセスに関する有意な待ち時間及び帯域幅消費を回避するために、データを低解像度バッファ経路又は高解像度バッファ経路のいずれかを通じて供給する。それにも関わらず、一部のアプリケーションでは、データをメモリから供給するという選択肢を有利とすることができる。
マルチプレクサ525は、読み取りコントローラ500の制御下で、出力540において適切なデータをアプリケーションに供給するように様々なデータ経路の間で切り換えを行う。
先取りコントローラ545は、メモリからデータを読み取り、それを高解像度バッファに格納するように機能する。理想的には、データがアプリケーションによって要求される前に、全てのデータが取り出されてしまっており、高解像度バッファ内で利用可能になる。実際には、データの利用可能性は、要求の予想可能性、高解像度バッファ内のストレージポリシー(すなわち、1つのデータピースを格納することが、別のもの押し出しをもたらすか否か)、及びメモリインタフェースに適用されるレート制御のような他のファクタに依存することになる。一般的に、先取り制御アルゴリズムは、アプリケーションの特性に依存することになる。
フレームレートコンバータの映像構築段階は、高解像度アプリケーションとして作動する可能性が高い。入力フレーム内のピクセルデータを取得すべき場所を識別するために、動き推定段階中に決定される動きベクトルが使用される。次に、得られたピクセルデータは、場合によって他の入力フレームから得られた他のピクセルデータと合成され、表示のための出力フレーム内に入れられる。
動きベクトルが、映像構築器の正確なデータ要件を把握することを可能にするように、動き推定アプリケーションが十分に先行して作動する場合には、映像構築アプリケーションにおける先取り制御は容易である。この場合、先取り制御は、予想されるデータ要求のFIFO(先入れ先出し)待ち行列を含むことができ、データは、映像構築器によって要求される直前に高解像度バッファに供給される。
実際の動きベクトルが十分に先行して利用可能ではない場合には、先取りコントローラは、映像構築器が行う可能性が高い要求を識別しようと試みることができる。
予想法の一例は、動きが、前のフレーム間隔中の同じ場所に存在したものと同じになると仮定することである。移動物体は、通常は移動し続け、従って、この仮定は、通常、良好な予想をもたらす。例外は、ベクトルが、離遠した物体の動きに対応する移動物体のエッジである。ベクトル場の動き補償は、これらの場合の予想を改善することができる。
多くの場合に、フレーム内で大半を占める動きは、カメラの動き、例えば、水平パンの場合におけるものに起因する。この動きを表すベクトルは、広域動きベクトルとして公知であり、ベクトル場の平均値から導出することができる。シーンが移動物体を含む場合でさえも、中央値を用いて計算された平均は、多くの場合に、フレーム内のブロックの大部分における動きベクトルにつての良好な予想である広域動きベクトルを生成する。従って、広域動きベクトルは、先取りコントローラによる使用に適する別の予想をもたらす。
前のフレーム間隔からのベクトルを個々に使用する場合、又は広域動きとして使用する場合のいずれにおいても、予想の精度は、フレーム間隔毎にそれ程変化しない動きを拠り所とする。幸いにも、これは一般的に言えることである。動き推定が現在のフレーム間隔内で進行中に、これらのベクトルを予想の中に組み込むことができ、小さい動き変化に対応することが可能になる。
予想が失敗した場合には、要求されたピクセルデータは、高解像度バッファ内では利用可能とはならず、従って、代わりに低解像度ピクセルデータが供給されることになる。予想は、移動物体又は急激な動き変化が存在する場合に失敗する可能性が最も高い。モーションブラーは、移動物体の外見を不鮮明にする可能性があり、閲覧者は、不規則に移動する物体を追跡することができにくくなる。従って、低解像度ピクセルデータの供給は、高解像度の内容が不在であるか又は容易に知覚されないかのいずれかである画像区域に適合する可能性が高い。その結果、予想失敗の視覚的影響は低減される。
予想が良好に機能する理想的な場合には、高解像度ピクセルデータの供給に起因するメモリ帯域幅消費は、全てのピクセル(又はピクセルブロック)が一度読み出される最適な場合に近づくと予想することができる。実際には、高解像度アプリケーションによって要求されるピクセルブロックは、高解像度バッファ内に使用されるストレージブロックグリッドと整合する可能性が低い。
図7aは、不整合データ要求の一般的な場合を示している。ブロック700が要求された場合には、4つのストレージブロック711、712、713、及び714からのピクセルが出力されなければならない。高解像度アプリケーションがブロックをラスター走査順序で処理する場合には、高解像度バッファのキャッシュ効果は、メモリ帯域幅消費を4×から2×に低減することができる。例えば、ブロック720が要求された場合には、ストレージブロック713及び714は、前のアクセスからのバッファ内に留まり、2つの付加的なブロック731及び732が必要である。
リソースが許す場合には、より大きい高解像度バッファにより、1つの行の処理中にロードされたブロックが、次の行が処理される時の再使用に向けて利用可能なままに留まることを可能にすることができる。例えば、ブロック740が要求された場合には、ストレージブロック712及び714はバッファ内に留まり、付加的なブロック751及び752が必要である。次に、ブロック760が要求された場合には、ブロック714、732、及び752はバッファ内に留まり、1つの付加的なブロック753が必要である。この場合、メモリ帯域幅消費を1×に近づけることができる。
代替的に、ブロック処理順序をラスター走査から傾斜レイアウト、又はアプリケーションが許す場合はモートン順序レイアウトに変更することにより、バッファサイズの大幅な増加なしにキャッシュ性能の改善を得ることができる。
動き補償システムでは、ベクトル場が均一な場合には、ブロック要求は、詰まったグリッド(ブロック700、720、740、及び760等)で配置されることになる。ベクトル場が均一ではない場合には、740、760、780のようなブロック要求のシーケンスがもたらされる場合がある。このシーケンスは、全く予想可能にすることができるが(ベクトル場の前の情報が与えられた場合)、バッファのキャッシュ性能を狂わせる可能性も高い。例えば、ストレージブロック732及び792はバッファ内に留まることができるが、ブロック731及び791は廃棄されてしまっている可能性が高い。
動き推定器は、低解像度アプリケーションとして作動するのに非常に適する処理である。信号調節は、動き推定器の性能を改善する公知の技術であり、多くの場合に、画像データのローパスフィルタ処理を含む。信号調節が有利である理由は、ノイズ低減、及び差絶対値和(SAD)のようなブロック適合手段の非常に高周期の細部への過感度を含む。その結果、低い解像度に縮小されたデータに対して動き推定器を作動させることには、通常、非常に僅かな欠点しか存在せず、時にはある程度の利点が存在する。
それにも関わらず、動き推定器は、ある程度予想可能なデータへのアクセスを行い、局所性の程度は、動き推定器を高解像度処理として具現化するように選択される場合に、高解像度バッファが良好に機能することができるようなものである。
動き推定器では、ピクセルデータブロックの比較は、一般的に、1つのフレーム内の1つのグリッド整合ピクセルブロックと、隣接フレーム内のいくつかの不整合候補ブロックとの比較である。図7bには、いくつかの不整合候補ブロックを示している。候補ブロック位置の選択は、本明細書では解説しないが、当業者には馴染み深いものになる複雑な題材である。この選択は、基本的に、物体の動きを予想する問題である。候補ブロック位置の集合は、一般的に、動きベクトル場が時間と共に改善して適合することを可能にする小さい位置変化を伴って、1つ又はそれよりも多くの可能性が高い動きベクトルの周囲に集塊することになる。それぞれ4つ及び2つの候補を有する集塊777及び778を示している。いくつかの候補場所は、ピクセルデータストレージブロックの同じ集合からのデータを必要とするので、バッファが良好に機能することを見ることができる。
各候補ブロック位置は、候補が試験されるに時に要求されることになるピクセルデータの区域を表すので、候補ブロック位置は、これらの位置を十分に先行して予想できる限り、先取りコントローラ545への有利な入力を供給する。先取りコントローラは、アプリケーションからデータ経路550を通じて、この種のデータを含むことができる入力を取得する。
図4は、更に別の例示的なシステムにおいて実施することができる付加的な細部を示すブロック図である。
多くのアプリケーションでは、各ビデオフレームは何回か処理される。動き推定器の例では、検索は、1対のフレーム間で発生する。最初の動き推定は、フレーム0とフレーム1の間で発生する。2回目の動き推定はフレーム1とフレーム2の間、3回目の動き推定はフレーム2とフレーム3の間で発生し、以降同じように続く。シーケンス内の最初のフレームを除き、各フレームは、2つの動き推定によって必要とされる。より高度な動き推定器は、異なる間隔及び異なる方向にわたって検索を実施することができる(例えば、フレームnの内容をフレームn−1内で検索する段階は、フレームn−1の内容をフレームn内で検索する段階と同じではない)。その結果、各ビデオフレームは、2回、3回、又はそれよりも多い回数読み出されることになる場合がある。フレーム全体をバッファストレージに格納するのは通常は実現可能ではないので、上記に応じてメモリ帯域幅は増大する。
別の実施形態において、メモリ400は、縮小器410によって処理される高解像度ビデオフレーム405のためのストレージを含む。低解像度バッファ制御415は、ここでもまた、縮小ピクセルデータを低解像度バッファに格納し、更にこれらのデータをメモリ420に戻す。同じフレームが2回目に処理される場合には、低解像度バッファコントローラは、低解像度フレーム420をメモリから取得し、高解像度フレームを再度縮小する必要性を回避する。
高解像度フレームのメモリサイズがBであり、かつ0.5という一般的な縮小係数が使用される場合には、低解像度フレームのサイズはB/4である。最初にフレームが処理される場合には、メモリ帯域幅消費は、Bの読み取りにB/4の書込みを加えたものである。2回目にフレームが処理される場合には、メモリ帯域幅消費はB/4の読み取りである。n回目に処理されるフレームでは、合計メモリメモリ帯域幅消費は、縮小フレームを格納しないシステムにおけるnBと比較すると(1+n/4)Bである。従って、一度よりも多くアクセスされるあらゆるフレームにおいて帯域幅の節約が存在する。縮小器410は少数のフレームしか処理しなくてもよいので、シリコン面積を節約するか又は電力消費を低減する機会も存在する。
縮小器410は、残差出力を生成することができる。残差は、高解像度ピクセルデータと、低解像度ピクセルデータが拡大される時に最終的に再現されることになるピクセルデータとの間の差である。残差データは、高解像度ピクセルデータと同じ解像度を有するが、圧縮することが比較的容易であるという利点を有する。残差符号化器425は、残差データを圧縮して、それを430にあるメモリに格納する。
この場合、バッファ制御ユニット435は、高解像度ピクセルデータ330のバッファではなく、符号化された残差データ440のバッファを維持する。高解像度アプリケーションがピクセルデータを要求し、適切な残差データピースが残差バッファ440内で利用可能である場合には、残差は445で復号され、低解像度データを拡大したものに追加される。これは、高解像度データを直接供給することと等しい。
残差データの圧縮性は、かなり高い周期の細部の区域における非常に僅かなものから、高解像度フレームが非常に僅かな高周期細部のみを有する区域におけるかなりのものまでの間で変化する。最悪の場合には、メモリから取り出さなければならない残差データのサイズは、高解像度ピクセルデータが供給された場合のものと同じである。平均すると、残差データは小さく、メモリ帯域幅が更に低減される。更に、圧縮された残差データは、残差バッファ440内で小さい空間しか占有せず、バッファの有効サイズを増大させ、これは、バッファコントローラ435が、アプリケーションに低解像度ピクセルデータを供給しなければならなくなる機会が少ないことを意味する。
図6は、図4のシステムにおいて機能するように修正された図5のバッファ制御ユニットを示している。高解像度ピクセルデータバッファは、残差バッファ600と、図4のブロック445に対応する残差復号器605とで置換される。
復号された残差データは、610において低解像度データと加え合わされて、高解像度ピクセルデータがマルチプレクサに供給される。バッファリングなし残差データ経路615が使用される場合には、このデータは、残差復号器に伝達されなければならない。
残差データは、好ましくは、高解像度バッファによって使用されるストレージブロックサイズと同じサイズのブロックで格納することができる。残差データの圧縮には様々な方法を適切なものとすることができ、そのような方法は、画像及びビデオの符号化の分野から公知である。離散余弦変換(DCT)又はウェーブレットに基づく方法が適切である。そのような方法を使用すると、残差データの非可逆符号化を考慮することも可能になる。非可逆符号化は、例えば、JPEG画像符号化又はMPEGビデオ符号化に使用される。
本明細書に説明するシステムでは、残差の非可逆符号化は、メモリ帯域幅を更に低減することができ、可逆残差符号化を用いて可能なものよりも遥かに大量の残差を高解像度バッファに格納することを可能にすることができる。考えられる欠点は、低解像度画像を拡大したものと残差とでの高解像度ピクセルデータの再構成がもはや完全なものではないということである。多くの場合に、損失の程度は視覚的に知覚不能とすることができ、殆どの場合には、再構成された高解像度データは、かなりの程度の情報損失をそれ自体が意味する低解像度データを拡大したものの使用よりも好ましいものになる。非可逆残差圧縮を使用するか否か、及び使用される圧縮の程度は、アプリケーションに依存することになる。
残差を計算することにより、高解像度画像の内容を解析する機会も与えられる。残差が格納されない図3のシステムにおいてさえも、この解析を実施することにはかなりの利点が存在する。ブロックの残差が小さい場合には、画像のその部分の内部には、僅かな高周期内容も存在しない。バッファの使用及び帯域幅消費を最適化するために、画像内の高周期細部の分散の情報をバッファコントローラ320を使用することができる。
ブロックにおける残差が、高解像度ピクセルデータと低解像度ピクセルデータとの間で有意な視覚差が存在しないことになると決定することができる程に十分に小さい場合には、高解像度アプリケーションによって高解像度データが要求されることになると予想される場合であっても、バッファコントローラは、メモリから高解像度データをロードしないことを選択することができる。高解像度バッファ内のデータの不在により、代わりに低解像度データが供給されることになり、帯域幅消費の節約が提供されることになる。
アプリケーションによって供給される情報を用いて類似の恩典を得ることができる。図5及び図6は、両方共にアプリケーションデータを先取りコントローラに供給する入力550及び620を示している。アプリケーションデータは、上述したように、動きベクトルデータと広域動きベクトルデータとを含むことができるが、更に別のデータ、例えば、アルゴリズムの性能に関するものを含むことができる。
フレームレートコンバータの例では、映像構築器は、合成画像を構成するときに動きベクトル及びピクセルデータを解析することができる。先取りコントローラが帯域幅消費を最適化することを可能にするアプリケーションデータを映像構築器が供給することができるいくつかの状況が発生する場合がある。
上述したように、一般的な映像構築器は、いくつかの入力フレームからいくつかの異なる動きベクトル場に従って投影されたピクセルデータを用いて合成画像を作成する。映像構築器の仕事は、可能な最良の合成出力を生成するために、異なる投影の間の不適合を解決することである。一般的に出力は、画像内のあらゆる特定の位置における投影の一部又は全ての間の重み付きの混合物である。
一例では、映像構築器は、解析段階と合成段階という2つの部分に分割される。この場合、解析段階は低解像度アプリケーションとして作動し、合成段階は高解像度アプリケーションとして作動する。
解析段階が、投影のうちの全て又は大部分が互いに適合すると決定する場合には、混合は不要であり、適合する投影のうちのいずれのものも、出力画像において単独に使用するのに十分に良好なものである。この場合、解析段階は、投影画像のうちの1枚だけが合成段階によって必要とされることを示すアプリケーションデータを先取りコントローラに送ることができる。この投影に対応する高解像度データが、高解像度バッファ内に取り出されることになるが、他の投影に関するデータは、取り出されることにはならない。
合成画像の正当性の信頼度が低い場合には、様々な種類のエラー隠蔽が使用される。1つの特定の種類のエラー隠蔽は、出力画像にローパスフィルタ又はぼけ処理を適用することである。解像度がフィルタ処理によって劣化されることになる場合には、高解像度データを読み取ることには殆ど意味がないことを認識されるであろう。従って、アプリケーションデータをバッファコントローラに送ることにより、エラー隠蔽の使用を示すことができる。バッファコントローラは、高解像度データを読み取ることを回避することになり、帯域幅消費の低減がもたらされる。
合成段階によって投影画像の部分集合しか必要とされないと決定することができる場合はいつでも、類似の節約を行うことができる。
上述の例がフレームレート変換以外のアプリケーションに関連すること、及び先取りコントローラがメモリ帯域幅消費を適切な手法で最適化することを可能にするアプリケーションデータを多くのアルゴリズムが供給することができることになることは明らかであろう。
上述の例は、バッファコントローラが、低解像度データで十分になることを示す情報に基づいて、高解像度データのある一定のブロックを取り出すことを回避する状況を表している。高解像度データが望ましいものになるが、いずれかの理由から利用可能ではない他の場合が存在する可能性がある。理由は、高解像度バッファ内の不十分な空間、アプリケーション又は先取りコントローラによる不正確な予想、又は高解像度データを供給するには不十分な利用可能メモリ帯域幅を含むことができる。
この後者の場合には、システムは、消費されるメモリ帯域幅の量に対して制限を課すことができる。図7の説明及び不整合データ要求の解説において、要求のアラインメント及びバッファのキャッシュ性能に基づいて、メモリ帯域幅消費が要求データ量の1×と4×との間で変化することができると示した。
一例では、高解像度データ先取りにレート制御を適用することができる。例えば、要求データ量の2.2×のメモリ帯域幅を典型的に消費することになるシステムを1.5×しか消費しないように制限することができる。帯域幅制限は、高解像度データのある一定のブロックを読み取ることを回避し、その代わりに低解像度データをアプリケーションに供給することによって適用される。
符号化ビットストリームを望ましいデータレートで生成するという要件が高頻度で存在するビデオ符号化では、レート制御アルゴリズムが使用される。ビデオ符号化器は、各符号化ブロックに対して使用される量子化の程度を変更することによってデータレートを制御する。高解像度データがメモリから読み出される図3のシステムでは、レートコントローラは、各ブロックに関するデータを読み取ること又は読み出さないことのいずれかを行うことができる。図4のシステムでは、残差データが適切に符号化された場合に、レートコントローラは、各ブロックにおける残差のうちの全てを読み取ること、一部を読み取ること、又はいずれも読み出さないことを選択することができる。それによって図3のシステムにおいて可能なものよりも高度なレート制御を可能にすることができる。
典型的なレート制御アルゴリズムは、ターゲットレートよりも大きい短期の変動を多くの場合に許容しながら、ターゲットレートを長期的に得ることになる。ビデオ処理のようなフレーム単位のシステムでは、利用可能な帯域幅をフレームにわたって適切に分散させることが望ましい。レート制御は、フレームの上部部分に高解像度データを供給することがフレームの下側部分でデータが不足することを意味する場合には、そうすることで帯域幅を浪費すべきではない。一方、存在しない高解像度細部を予想して、帯域幅を過度に確保すべきではない。残差の計算に関して説明したもののようなフレーム内の細部の分散の解析は、レートコントローラが帯域幅を適切に割り当てるのに使用することができるデータを提供する。アプリケーションデータが、画像のうちの一部の部分に関する高解像度データを読み取ることを先取りコントローラが回避することも可能にする場合には、アプリケーションデータをレートコントローラに供給して、レート制御計算の中に組み込むことができる。
図7は既に説明しており、データ要求のアラインメントの帯域幅に対する効果も解説した。高解像度データが高解像度バッファから利用可能ではない場合にもたらされる別の問題は、出力画像内で高解像度データと低解像度データの間の遷移が発生する場合の目視可能な不連続の可能性である。
図8aは、高解像度データが完全には利用可能ではない状況を示している。800のような陰付きに示すストレージブロックは、高解像度データが利用可能なブロックであり、805のような陰なしブロックは、高解像度データが利用可能ではないブロックである。ピクセルデータブロック810に対する要求は、完全に高解像度バッファから満たすことができる。しかし、ピクセルデータブロック815は、高解像度バッファ内では利用可能ではないストレージブロック805からのデータを必要とする。従って、要求のうちの少なくとも部分820は、低解像度データを用いて満たさなければならない。
図8bは、ブロック810に対する要求の後のある時点で発生する更に別のピクセルデータブロック850に対する要求を示している。前にバッファ内で利用可能であったストレージブロック800に関する高解像度データ、従って、要求の部分855は、低解像度データを用いて満足される。
815又は825のようなブロックが要求される場合には、読み取りコントローラは、要求ブロックに対して低解像度ピクセルデータのみを供給するか、又は利用可能な高解像度ピクセルを供給し、かつ残りの部分を低解像度バッファから供給するかという選択肢を有する。この決定は、利用可能な高解像度ピクセルの比率、又はブロック内でのこれらのピクセルの分散に基づくことができる。高解像度ピクセルと低解像度ピクセルとの組合せが供給される場合には、図5の読み取り制御ユニット500は、高解像度バッファ内でのデータの部分利用可能性に応答して、ピクセル単位でマルチプレクサ525を制御しなければならない。図6に示す類似のユニットは、類似の挙動を示している。
解像度の不連続に対する手法は、アプリケーションに強く依存する。データが要求された場合に、どのピクセルを高解像度バッファから供給することができ、どれを低解像度バッファから供給することができるかは常に把握される。この場合、アプリケーションは、可能性が高いあらゆる不連続の可視性を決定するために、残差サイズ、又は画像解析中に得られる他の情報のようなデータを考慮することができる。1つの選択肢は、平滑化後処理アプリケーションによって不連続を隠蔽することである。この手法は、H.264のようなビデオ復号器において公知であるデブロッキング手法と類似のものと捉えることができる。代替的に、低解像度データのみの供給は、ブロック内の不連続を回避することになるが、必ずしもこれらのブロックのエッジにおける不連続を回避することにはならない。図8aでは、ピクセルデータブロック815がアプリケーションに供給される時に、内部エッジ825及び830における不連続が把握される。図8bでは、例えば、映像構築器アプリケーションにおいてピクセルデータが出力画像に組み立てられる時になって初めて外部エッジ860及び865における不連続を把握することができる。
代替の手法は、データが供給される時にフィルタ処理又は混合処理を適用する。図9は、図5のシステムに対する適切な修正を示すが、この修正は、図6のシステムにも同じく適用することができる。マルチプレクサは、混合ユニット910によって置換され、混合ユニット910は、読み取り制御ユニット900からの適切な制御915により、高解像度データと低解像度データの間の滑らかな遷移を与える。混合制御データは、ピクセル単位の切り換えを与えるのではなく、この場合、各位置に使用するべき低解像度データの比率を示す小数値を与えなければならない。低解像度データは常に利用可能であり、高解像度データはそうではない場合があるので、混合領域は、常に不連続線の高解像度側に位置する。混合ユニットの詳細な制御は、アプリケーションと各特定の場合に使用される先取りアルゴリズムとに依存し、特に、読み取り要求のパターン及び高解像度バッファ内でのデータの利用可能性を先行して把握することができる程度に依存することになる。
ビデオ画像は、多くの場合に、輝度データと色度データを用いて表される。輝度データは、高解像度の白黒画像を含み、色度データは、有色画像を形成するのに必要とされる追加データを含む。色度データは、一般的に部分サンプリングされ、従って、対応する輝度データよりも低い解像度にある。画像内の細部及び鮮明度の知覚は、主に輝度データからもたらされ、画像の劣化が容易に知覚される前に色度データからかなりの量の情報を削除することができることは公知である。
別の例では、バッファコントローラは、輝度データと色度データを別個に処理する。データを高解像度バッファ内にロードするか否かの決定を行う場合に、先取りコントローラは、輝度データに対して、対応する色度データに対して行うものとは異なる決定を行うことができる。この決定は、例えば、輝度データ及び色度データ内の高周期細部の量、アプリケーションからのデータ、又はレートコントローラの要件に基づくとすることができる。画像データに対する要求は、輝度データ又は色度データが高解像度バッファ内で利用可能であるか否かに従って処理され、取得不能なあらゆる成分は、低解像度バッファから拡大器を通じて供給される。システムは、殆どの色度データが低解像度バッファから供給され、帯域幅を節約し、かつ輝度データに対してより大きい高解像度バッファ空間を作るように構成することができる。代替的に、システムは、全ての色度データを低解像度バッファから供給することができる。
上述の例では、画像データが2つの解像度で存在するシステムを説明した。同じ技術をあらゆる個数の解像度に拡張することができることは明らかである。例えば、システムは、中程度の解像度の画像バッファを追加することができる。図10は、バッファ制御ユニット1000が高解像度バッファ1015と中解像度バッファ1010の両方を管理する図3のシステムの修正を示している。スケーリング器1005は、高解像度から中解像度への縮小及び中解像度から高分解能への拡大の両方を実施する。システムは、解析が、低解像度データが使用された場合に画像内容が許容不能に劣化することになることを示すが、高解像度データの使用が際立った利点を殆どもたらさないことになる場合に、中解像度の画像データをバッファリングすることを選択することができる。中解像度バッファ1010は、高解像度バッファ1015と共に、各解像度のデータに割り当てられるストレージの比率を変更することができる単一のメモリ1020に統合することができる。高解像度データではなく中解像度データのストレージは、メモリ1020の有効容量を増大させ、システムのバッファリング性能を改善する。
300 外部メモリ
305 縮小
310 低解像度バッファ
315 低解像度アプリケーション
325 拡大

Claims (54)

  1. 画像データを画像処理モジュールに提供する方法であって、
    画像データをメモリから該画像データを第1の解像度まで縮小する縮小器内に読み取る段階と、
    前記第1の解像度の画像データを第1のバッファに格納する段階と、
    前記画像処理モジュールが要求することになる画像データ領域を予想する段階と、
    前記予想画像データ領域の少なくとも一部に対応する画像データをメモリから第2のバッファの中に格納し、該第2のバッファの該画像データが、前記第1の解像度よりも高い解像度にある段階と、
    前記画像処理モジュールから画像データに対する要求を受け取る段階と、
    前記要求画像データの少なくとも一部分に対応する画像データが前記第2のバッファにはないと決定する段階と、
    前記要求画像データの前記少なくとも一部分に対する代替物を前記高い解像度に少なくとも適合する解像度で提供するために前記第1のバッファからの画像データを拡大する段階と、
    前記拡大画像データを前記画像処理モジュールに提供する段階と、
    を含むことを特徴とする方法。
  2. 前記予想画像データ領域の少なくとも一部に対応する画像データをメモリから前記第2のバッファの中に格納する前記段階は、
    画像データをメモリから該画像データを第2の解像度まで縮小する縮小器の中に読み取る段階と、
    前記第2の解像度の画像データを前記第2のバッファに格納する段階と、
    を含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記要求画像データの一部分に対応する画像データが前記第2のバッファにあると決定する段階と、
    画像データを前記第2のバッファから前記画像処理モジュールに前記高い解像度に少なくとも等しい解像度で提供する段階と、
    を更に含むことを特徴とする請求項1又は請求項2に記載の方法。
  4. 前記第1のバッファは、画像フレームの全幅に対応する画像データを格納することを特徴とする請求項1から請求項3のいずれか1項に記載の方法。
  5. 画像データが、前記第1及び第2のバッファの各々に矩形ブロックで配置されることを特徴とする請求項1から請求項4のいずれか1項に記載の方法。
  6. 前記第1のバッファ内の前記ブロックのサイズが、前記第1の解像度と前記高い解像度の間の差に対応する倍率によって前記第2のバッファ内の前記ブロックのサイズに関連することを特徴とする請求項5に記載の方法。
  7. 前記第2のバッファは、内容アドレスメモリを用いて実施されることを特徴とする請求項1から請求項6のいずれか1項に記載の方法。
  8. 前記画像処理モジュールが要求することになる画像データ領域が、該画像処理モジュール又は更に別の画像処理モジュールによって供給されるデータを用いて予想されることを特徴とする請求項1から請求項7のいずれか1項に記載の方法。
  9. 前記画像処理モジュールが要求することになる前記画像データ領域は、該画像処理モジュール又は前記更に別の画像処理モジュールによって供給される動きベクトルを用いて予想されることを特徴とする請求項8に記載の方法。
  10. 前記第1の解像度の画像データを前記第1のバッファに格納する段階は、該第1の解像度の画像データをメモリに書き込む段階と、該第1の解像度の画像データをメモリから該第1のバッファの中に読み取る段階とを含むことを特徴とする請求項1から請求項9のいずれか1項に記載の方法。
  11. 前記縮小器は、前記高い解像度での画像データと前記第1の解像度から該高い解像度に拡大された画像データとの間の差を決定することによって残差画像データを生成することを特徴とする請求項1から請求項10のいずれか1項に記載の方法。
  12. 前記残差画像データは、非可逆圧縮又は可逆圧縮を用いて圧縮されることを特徴とする請求項11に記載の方法。
  13. 前記第2のバッファにおいて前記予想画像データ領域の少なくとも一部に対応する画像データが、残差画像データを含むことを特徴とする請求項11又は請求項12に記載の方法。
  14. 画像データを前記第2のバッファから前記画像処理モジュールに提供する段階は、
    前記第1のバッファからの画像データを前記高い解像度に少なくとも適合するように拡大する段階と、
    前記第2のバッファからの残差画像データを前記拡大画像データと組み合わせる段階と、
    その結果を前記画像処理モジュールに提供する段階と、
    を含む、
    ことを特徴とする請求項13に記載の方法。
  15. 前記画像の一部における高周期情報の量を決定する段階を更に含むことを特徴とする請求項1から請求項14のいずれか1項に記載の方法。
  16. 前記予想画像データ領域の一部に対応する画像データが、それが該画像のその部分における高周期情報の量が閾値よりも少ないと決定された場合に前記第2のバッファに格納されないことを特徴とする請求項15に記載の方法。
  17. 前記予想画像データ領域の一部に対応する画像データが、該予想画像データ領域のその部分が前記画像処理モジュールによって使用されることにならないことが示された場合に前記第2のバッファに格納されないことを特徴とする請求項1から請求項16のいずれか1項に記載の方法。
  18. どれ程の画像データがメモリから前記第2のバッファに格納されるかが、メモリ帯域幅消費率要件を踏まえて決定されることを特徴とする請求項1から請求項17のいずれか1項に記載の方法。
  19. 前記閾値は、前記画像の異なる部分における高周期情報の量及び前記メモリ帯域幅消費率要件を踏まえて調節されることを特徴とする請求項16に従属する時の請求項18に記載の方法。
  20. 前記第1の解像度での画像データに対する前記又は更に別の画像処理モジュールからの要求に応じて、第1の解像度の画像データを前記第1のバッファから該又は該更に別の画像処理モジュールに提供する段階を更に含むことを特徴とする請求項1から請求項19のいずれか1項に記載の方法。
  21. 前記又は前記更に別の画像処理モジュールは、前記第1の解像度の前記画像データを使用する動き推定器を含むことを特徴とする請求項20に記載の方法。
  22. 少なくとも前記高い解像度の画像データが提供された前記画像処理モジュールは、動き推定器の結果に基づいて画像を出力することを特徴とする請求項1から請求項21のいずれか1項に記載の方法。
  23. 前記画像処理モジュールは、フレームレートコンバータの映像構築器を含むことを特徴とする請求項22に記載の方法。
  24. 前記フレームレートコンバータの前記映像構築器は、前記第1のバッファから前記第1の解像度の画像データが提供された解析器を更に含むことを特徴とする請求項20に従属する時の請求項23に記載の方法。
  25. 前記第1のバッファからの前記拡大画像データと前記第2のバッファから提供された画像データとの間の潜在的な不連続の場所が識別されることを特徴とする請求項1から請求項24のいずれか1項に記載の方法。
  26. 混合ユニットが、前記不連続の可視性を低減するために該不連続の近くで前記第2のバッファからの画像データを前記第1のバッファからの拡大画像データと組み合わせることを特徴とする請求項25に記載の方法。
  27. 前記予想画像データ領域の前記少なくとも一部に対応する少なくとも一部の色度画像データが、前記第2のバッファに格納されないことを特徴とする請求項1から請求項26のいずれか1項に記載の方法。
  28. 画像データを画像処理モジュールに提供するためのシステムであって、
    メモリからの画像データを第1の解像度まで縮小するように構成された縮小器と、
    前記第1の解像度の画像データを格納するように配置された第1のバッファと、
    予想画像データ領域の少なくとも一部に対応する画像データを格納するように配置された第2のバッファであって、該第2のバッファに格納される該画像データの解像度が前記第1の解像度よりも高い前記第2のバッファと、
    画像データをメモリから前記縮小器内に読み取り、かつ前記第1の解像度の画像データを前記第1のバッファに格納し、
    前記画像処理モジュールが要求することになる画像データ領域を予想し、
    前記予想画像データ領域の少なくとも一部に対応する画像データをメモリから前記第2のバッファの中に格納し、
    画像データに対する要求を前記画像処理モジュールから受け取り、
    前記要求画像データの少なくとも一部分に対応する画像データが前記第2のバッファにはないと決定し、
    前記要求画像データ領域の前記少なくとも一部分に対する代替物を前記高い解像度に少なくとも適合する解像度で提供するために、拡大器を用いて前記第1のバッファからの画像データを拡大し、かつ
    前記拡大画像データを前記画像処理モジュールに提供する、
    ように構成されたプロセッサと、
    を含むことを特徴とするシステム。
  29. 前記プロセッサは、前記予想画像データ領域の少なくとも一部に対応する画像データを、
    画像データをメモリから該画像データを第2の解像度まで縮小する縮小器内に読み取り、かつ
    前記第2の解像度の画像データを前記第2のバッファに格納する、
    ことによって前記第2のバッファに格納するように構成されることを特徴とする請求項28に記載のシステム。
  30. 前記プロセッサは、
    前記要求画像データの一部分に対応する画像データが前記第2のバッファにあると決定し、かつ
    画像データを前記第2のバッファから前記画像処理モジュールに前記高い解像度に少なくとも等しい解像度で提供する、
    ように更に構成されることを特徴とする請求項28又は請求項29に記載のシステム。
  31. 前記第1のバッファは、画像フレームの全幅に対応する画像データを格納することを特徴とする請求項28から請求項30のいずれか1項に記載のシステム。
  32. 前記画像データは、前記第1及び第2のバッファの各々に矩形ブロックで配置されることを特徴とする請求項28から請求項31のいずれか1項に記載のシステム。
  33. 前記第1のバッファ内の前記ブロックのサイズが、前記第1の解像度と前記高い解像度の間の差に対応する倍率によって前記第2のバッファ内の前記ブロックのサイズに関連することを特徴とする請求項32に記載のシステム。
  34. 前記第2のバッファは、内容アドレスメモリを用いて実施されることを特徴とする請求項28から請求項33のいずれか1項に記載のシステム。
  35. 前記画像処理モジュールが要求することになる画像データ領域が、該画像処理モジュール又は更に別の画像処理モジュールによって供給されるデータを用いて予想されることを特徴とする請求項28から請求項34のいずれか1項に記載のシステム。
  36. 前記画像処理モジュールが要求することになる前記画像データ領域は、該画像処理モジュール又は前記更に別の画像処理モジュールによって供給される動きベクトルを用いて予想されることを特徴とする請求項35に記載のシステム。
  37. 前記プロセッサは、前記第1の解像度の画像データをメモリに書込み、かつ該第1の解像度の画像データをメモリから前記第1のバッファの中に読み取ることにより、該第1の解像度の画像データを該第1のバッファに格納するように構成されることを特徴とする請求項28から請求項36のいずれか1項に記載のシステム。
  38. 前記縮小器は、前記高い解像度での画像データと前記第1の解像度から該高い解像度に拡大された画像データとの間の差を決定することによって残差画像データを生成することを特徴とする請求項28から請求項37のいずれか1項に記載のシステム。
  39. 前記残差画像データは、非可逆圧縮又は可逆圧縮を用いて圧縮されることを特徴とする請求項38に記載のシステム。
  40. 前記第2のバッファに格納されて前記予想画像データ領域の少なくとも一部に対応する画像データが、残差画像データを含むことを特徴とする請求項38又は請求項39に記載のシステム。
  41. 前記プロセッサは、前記第2のバッファから画像データを、
    前記第1のバッファからの画像データを拡大器を用いて前記高い解像度に少なくとも適合するように拡大し、
    前記第2のバッファからの残差画像データを前記高い解像度に少なくとも適合するように拡大された前記第1のバッファからの画像データと組み合わせ、かつ
    その結果を前記画像処理モジュールに提供する、
    ことによって前記画像処理モジュールに提供するように構成されることを特徴とする請求項30に従属する時の請求項40に記載のシステム。
  42. 前記プロセッサは、前記画像の一部における高周期情報の量を決定するように更に構成されることを特徴とする請求項28から請求項41のいずれか1項に記載のシステム。
  43. 前記予想画像データ領域の一部に対応する画像データが、それが該画像のその部分における高周期情報の量が閾値よりも少ないと決定された場合に前記第2のバッファに格納されないことを特徴とする請求項42に記載のシステム。
  44. 前記予想画像データ領域の少なくとも一部に対応する画像データが、該予想画像データ領域のその部分が前記画像処理モジュールによって使用されることにならないことが示された場合に前記第2のバッファに格納されないことを特徴とする請求項28から請求項43のいずれか1項に記載のシステム。
  45. どれ程の画像データがメモリから前記第2のバッファに格納されるかが、メモリ帯域幅消費率要件を踏まえて決定されることを特徴とする請求項28から請求項44のいずれか1項に記載のシステム。
  46. 前記閾値は、前記画像の異なる部分における高周期情報の量及び前記メモリ帯域幅消費率要件を踏まえて調節されることを特徴とする請求項43に従属する時の請求項45に記載のシステム。
  47. 前記プロセッサは、前記第1の解像度での画像データに対する前記又は更に別の画像処理モジュールからの要求に応じて、第1の解像度の画像データを前記第1のバッファから該又は該更に別の画像処理モジュールに提供するように更に構成されることを特徴とする請求項28から請求項46のいずれか1項に記載のシステム。
  48. 前記第1の解像度での画像データを要求する前記又は前記更に別の画像処理モジュールは、該第1の解像度での該画像データを使用する動き推定器を含むことを特徴とする請求項47に記載のシステム。
  49. 少なくとも前記高い解像度での画像データを要求する前記画像処理モジュールは、動き推定器の結果に基づいて画像を出力することを特徴とする請求項28から請求項48のいずれか1項に記載のシステム。
  50. 前記画像処理モジュールは、フレームレートコンバータの映像構築器を含むことを特徴とする請求項49に記載のシステム。
  51. 前記フレームレートコンバータの前記映像構築器は、前記第1のバッファから前記第1の解像度の画像データが提供された解析器を更に含むことを特徴とする請求項47に従属する時の請求項50に記載のシステム。
  52. 前記プロセッサは、前記第1のバッファからの前記拡大画像データと前記第2のバッファから提供された画像データとの間の潜在的な不連続の場所を識別するように更に構成されることを特徴とする請求項28から請求項51のいずれか1項に記載のシステム。
  53. 混合ユニットが、前記不連続の可視性を低減するために該不連続の近くで、前記第2のバッファから提供された画像データを前記第1のバッファからの拡大画像データと組み合わせることを特徴とする請求項52に記載のシステム。
  54. 前記予想画像データ領域の前記少なくとも一部に対応する少なくとも一部の色度画像データが、前記第2のバッファに格納されないことを特徴とする請求項28から請求項53のいずれか1項に記載のシステム。
JP2013183997A 2012-09-05 2013-09-05 ピクセルバッファリング Active JP5717815B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1215870.5 2012-09-05
GB1215870.5A GB2496015B (en) 2012-09-05 2012-09-05 Pixel buffering

Publications (2)

Publication Number Publication Date
JP2014053896A true JP2014053896A (ja) 2014-03-20
JP5717815B2 JP5717815B2 (ja) 2015-05-13

Family

ID=47136993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013183997A Active JP5717815B2 (ja) 2012-09-05 2013-09-05 ピクセルバッファリング

Country Status (6)

Country Link
US (3) US10109032B2 (ja)
JP (1) JP5717815B2 (ja)
CN (1) CN103686044B (ja)
DE (1) DE102013013636B9 (ja)
GB (1) GB2496015B (ja)
TW (1) TWI596570B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015195572A (ja) * 2014-03-28 2015-11-05 パナソニックIpマネジメント株式会社 コンテンツ処理装置およびコンテンツ処理方法
JPWO2016039167A1 (ja) * 2014-09-12 2017-06-22 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法、及び、プログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582160B2 (en) 2013-11-14 2017-02-28 Apple Inc. Semi-automatic organic layout for media streams
US9489104B2 (en) 2013-11-14 2016-11-08 Apple Inc. Viewable frame identification
US20150254806A1 (en) * 2014-03-07 2015-09-10 Apple Inc. Efficient Progressive Loading Of Media Items
US10382782B2 (en) * 2014-06-27 2019-08-13 Samsung Electronics Co., Ltd. Image frame interpolation apparatus, display apparatus and control method thereof
CN109074630A (zh) * 2016-05-20 2018-12-21 上海安科迪智能科技有限公司 具有分布式存储器的阵列照相机成像***
US10319114B2 (en) * 2017-07-13 2019-06-11 Google Llc Foveated compression of display streams
GB2570118B (en) * 2018-01-10 2020-09-23 Advanced Risc Mach Ltd Storage management methods and systems
CN113455008B (zh) * 2019-02-25 2024-04-09 谷歌有限责任公司 可变端点用户界面渲染
CN111831239B (zh) * 2019-04-15 2023-07-11 深信服科技股份有限公司 一种虚拟桌面残影消除方法、装置、电子设备及存储介质
US10972629B2 (en) * 2019-09-11 2021-04-06 Toshiba Tec Kabushiki Kaisha Image processing apparatus configured to combine image information such that the combined first image information and second image information have the first resolution
CN112565585B (zh) * 2019-09-26 2021-12-24 珠海格力电器股份有限公司 图像显示电路、图像显示方法及图像显示设备
CN110636294B (zh) * 2019-09-27 2024-04-09 腾讯科技(深圳)有限公司 视频解码方法及装置,视频编码方法及装置
US11330296B2 (en) 2020-09-14 2022-05-10 Apple Inc. Systems and methods for encoding image data
CN114675418A (zh) * 2021-05-08 2022-06-28 胡大文 超轻巧的穿戴显示装置和用于显示装置的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010171480A (ja) * 2009-01-20 2010-08-05 Panasonic Corp 画像復号化装置および画像符号化装置、並びに画像復号化方法および画像符号化方法
JP2010288110A (ja) * 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3014618A (en) 1960-01-06 1961-12-26 Andrew G Kireta Cartridge dispenser
GB2235856B (en) * 1989-09-01 1993-11-17 Quantel Ltd Improvements in or relating to electronic graphic systems
WO1993018618A1 (en) * 1992-03-03 1993-09-16 Kabushiki Kaisha Toshiba Time-varying image encoder
GB9214218D0 (en) 1992-07-03 1992-08-12 Snell & Wilcox Ltd Motion compensated video processing
US5929919A (en) 1994-04-05 1999-07-27 U.S. Philips Corporation Motion-compensated field rate conversion
JP3773585B2 (ja) * 1996-03-29 2006-05-10 富士通株式会社 画像符号化装置
DE19637463A1 (de) * 1996-09-13 1998-03-26 Gsf Forschungszentrum Umwelt Verfahren zur Anzeige von geometrischen Objektoberflächen
US5861920A (en) * 1996-11-08 1999-01-19 Hughes Electronics Corporation Hierarchical low latency video compression
US6618443B1 (en) * 1997-03-12 2003-09-09 Matsushita Electric Industrial Co., Ltd. Upsampling filter for a down conversion system
US20020196853A1 (en) * 1997-06-04 2002-12-26 Jie Liang Reduced resolution video decompression
JP3844844B2 (ja) * 1997-06-06 2006-11-15 富士通株式会社 動画像符号化装置及び動画像符号化方法
KR100412501B1 (ko) * 2001-11-30 2003-12-31 삼성전자주식회사 움직임 보상을 위한 화소값 선택 장치 및 방법
US6812929B2 (en) * 2002-03-11 2004-11-02 Sun Microsystems, Inc. System and method for prefetching data from a frame buffer
JP3882651B2 (ja) 2002-03-20 2007-02-21 富士ゼロックス株式会社 画像処理装置およびプログラム
US7075535B2 (en) * 2003-03-05 2006-07-11 Sand Codex System and method for exact rendering in a zooming user interface
JP2005286472A (ja) * 2004-03-29 2005-10-13 Sanyo Electric Co Ltd 画像処理装置および画像処理方法
US20060008154A1 (en) * 2004-07-01 2006-01-12 Belle Ronny V Video compression and decompression to virtually quadruple image resolution
US7965773B1 (en) * 2005-06-30 2011-06-21 Advanced Micro Devices, Inc. Macroblock cache
US7920628B2 (en) * 2005-07-29 2011-04-05 Broadcom Corporation Noise filter for video compression
JP4594201B2 (ja) * 2005-09-28 2010-12-08 パナソニック株式会社 画像符号化方法、画像符号化装置、プログラムおよび集積回路
US8325798B1 (en) * 2005-12-15 2012-12-04 Maxim Integrated Products, Inc. Adaptive motion estimation cache organization
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US7855752B2 (en) * 2006-07-31 2010-12-21 Hewlett-Packard Development Company, L.P. Method and system for producing seamless composite images having non-uniform resolution from a multi-imager system
PL2123052T3 (pl) * 2007-01-18 2011-05-31 Fraunhofer Ges Forschung Strumień danych wideo o skalowalnej jakości
TW200838321A (en) * 2007-03-02 2008-09-16 X8 Technology Inc Motion estimation method and system with dual search windows for high resolution video coding
CN100562919C (zh) 2007-03-14 2009-11-25 华为技术有限公司 对视频信号进行垂直分辨率调整的装置和方法
US20080285652A1 (en) * 2007-05-14 2008-11-20 Horizon Semiconductors Ltd. Apparatus and methods for optimization of image and motion picture memory access
US7705889B2 (en) * 2007-06-15 2010-04-27 Sony Corporation Shutter time compensation
US20100271554A1 (en) * 2007-09-10 2010-10-28 Volker Blume Method And Apparatus For Motion Estimation In Video Image Data
KR100909390B1 (ko) 2007-09-18 2009-07-24 한국과학기술원 고속 움직임 보상 장치 및 방법
US8565310B2 (en) * 2008-01-08 2013-10-22 Broadcom Corporation Hybrid memory compression scheme for decoder bandwidth reduction
US20100215104A1 (en) * 2009-02-26 2010-08-26 Akira Osamoto Method and System for Motion Estimation
GB2471323B (en) * 2009-06-25 2014-10-22 Advanced Risc Mach Ltd Motion vector estimator
US8508659B2 (en) * 2009-08-26 2013-08-13 Nxp B.V. System and method for frame rate conversion using multi-resolution temporal interpolation
US8971400B2 (en) * 2010-04-14 2015-03-03 Mediatek Inc. Method for performing hybrid multihypothesis prediction during video coding of a coding unit, and associated apparatus
RU2549157C1 (ru) * 2010-04-23 2015-04-20 М энд К ХОЛДИНГС ИНК. Устройство для кодирования движущегося изображения
US9602819B2 (en) * 2011-01-31 2017-03-21 Apple Inc. Display quality in a variable resolution video coder/decoder system
US8805170B2 (en) * 2012-03-07 2014-08-12 Broadcom Corporation System and method for memory storage of video data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010171480A (ja) * 2009-01-20 2010-08-05 Panasonic Corp 画像復号化装置および画像符号化装置、並びに画像復号化方法および画像符号化方法
JP2010288110A (ja) * 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015195572A (ja) * 2014-03-28 2015-11-05 パナソニックIpマネジメント株式会社 コンテンツ処理装置およびコンテンツ処理方法
JPWO2016039167A1 (ja) * 2014-09-12 2017-06-22 ソニーセミコンダクタソリューションズ株式会社 画像処理装置、画像処理方法、及び、プログラム

Also Published As

Publication number Publication date
US11587199B2 (en) 2023-02-21
GB201215870D0 (en) 2012-10-24
TW201417038A (zh) 2014-05-01
GB2496015A (en) 2013-05-01
DE102013013636B9 (de) 2015-09-03
DE102013013636B4 (de) 2015-07-09
US20190026857A1 (en) 2019-01-24
TWI596570B (zh) 2017-08-21
US10109032B2 (en) 2018-10-23
US20140063031A1 (en) 2014-03-06
US20230196503A1 (en) 2023-06-22
DE102013013636A1 (de) 2014-03-13
JP5717815B2 (ja) 2015-05-13
CN103686044A (zh) 2014-03-26
CN103686044B (zh) 2015-08-12
GB2496015B (en) 2013-09-11

Similar Documents

Publication Publication Date Title
JP5717815B2 (ja) ピクセルバッファリング
JP4410206B2 (ja) 動き推定システムおよび方法
US10897633B2 (en) System and method for real-time processing of compressed videos
CN107846597B (zh) 用于视频解码器的数据缓存方法和装置
KR100952861B1 (ko) 디지털 비디오 데이터 처리
US20060050976A1 (en) Caching method and apparatus for video motion compensation
RU2420915C2 (ru) Операции повторной дискретизации и изменения размера изображения для кодирования и декодирования видео с переменной разрешающей способностью
US6470051B1 (en) MPEG video decoder with integrated scaling and display functions
US7116828B2 (en) Integrated video decoding system with spatial/temporal video processing
US6442206B1 (en) Anti-flicker logic for MPEG video decoder with integrated scaling and display functions
US6757330B1 (en) Efficient implementation of half-pixel motion prediction
US8400460B2 (en) Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image date processing device
JP2010507352A (ja) 下層のフィルタリングを備えたスケーラブルビデオ符号化
US8718142B2 (en) System and method for frame rate conversion that utilizes motion estimation and motion compensated temporal interpolation employing embedded video compression
WO2000041394A1 (en) Method and apparatus for performing motion compensation in a texture mapping engine
JPH11328369A (ja) キャッシュシステム
Beric et al. Algorithm/Architecture co-design of a picture-rate up-conversion module
CN111343465A (zh) 电子电路和电子设备
Beric et al. PARAMETERS ANALYSIS OF A PICTURE-RATE UP-CONVERTERSION MODULE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140410

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140410

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150126

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: 20150218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150317

R150 Certificate of patent or registration of utility model

Ref document number: 5717815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250