JP2008530680A - 読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上 - Google Patents

読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上 Download PDF

Info

Publication number
JP2008530680A
JP2008530680A JP2007554724A JP2007554724A JP2008530680A JP 2008530680 A JP2008530680 A JP 2008530680A JP 2007554724 A JP2007554724 A JP 2007554724A JP 2007554724 A JP2007554724 A JP 2007554724A JP 2008530680 A JP2008530680 A JP 2008530680A
Authority
JP
Japan
Prior art keywords
data
level cache
memory
unit
search range
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
JP2007554724A
Other languages
English (en)
Other versions
JP4861338B2 (ja
Inventor
イェー アー エム ペテルス,ハルム
セトゥラマン,ラマナサン
フェルドマン,ヘラルド
ペー エー ミューイセン,パトリク
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2008530680A publication Critical patent/JP2008530680A/ja
Application granted granted Critical
Publication of JP4861338B2 publication Critical patent/JP4861338B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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/436Methods 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 using parallelised computational arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Input (AREA)

Abstract

本発明は、処理ユニット12及びメモリユニット14を有するデータ処理装置と、データ処理装置のメモリユニット14の動作の制御方法とに関する。メモリユニット14は、主要メモリ16と、処理装置12へ直接的に接続され、処理ユニット12による読出アクセスのために現在処理対象であるスライド検索範囲の全ての画素を保持するよう構成される低レベルキャッシュメモリ20.2と、低レベルキャッシュメモリとフレームメモリとの間に接続される高レベルキャッシュメモリ18と、高レベルキャッシュメモリと低レベルキャッシュメモリとの間に接続され、処理ユニットに従う走査方向及び走査順序に依存して画素ブロックの1つの検索範囲行又は1つの検索範囲列を保持するよう構成される第1のプレフェッチ・バッファ20.1とを有する。読出機能及びフェッチ機能はメモリユニット14で分離される。フェッチ機能はより高いキャッシュレベルに集められ、読出機能はより低いキャッシュレベルに集められる。このようにして、同時の読出及びフェッチは達成され、データ処理装置の性能が向上する。

Description

本発明は、特に映像データ処理用途のための、処理ユニット及びメモリユニットを有するデータ処理装置に関する。本発明は、また、このようなデータ処理装置のメモリユニットの動作を制御する方法に関する。
欧州特許出願EP04101677.5は、全体として、本願に参照することによって援用される。
映像データ処理装置は、一方では高速な処理速度を実現するために必要とされるが、他方で、それらは柔軟であるべきである。映像データ処理装置の柔軟性は、スケーリング、フィルタリング、動作検出などのような様々な映像処理アルゴリズムを扱うことが可能なその機能と、様々なビデオ画像フォーマットを処理可能なその能力とによって反映される。
映像処理システムのメモリユニットは、一般的にフレームメモリを有する。フレームメモリは、フレームとも呼ばれる映像シーケンスの1又は幾つかのビデオ画像を表示するために必要とされる情報を保持する。動作推定のような多数の映像アプリケーションは、キャッシュメモリにおいて現在処理されるビデオ画像のセグメントをバッファリングすることによる利益を享受する。よく知られるように、キャッシュメモリは、フレームメモリに比較してそのサイズがより小さく、また、処理ユニットへ直接に接続されるので、待ち時間の減少をもたらし、更に、動作に要する電力がより小さい。待ち時間は、処理ユニットからの読み出し要求の後に最初の画像データを取り出すために必要とされるタイムスパンを決定する。
既知の映像データ処理装置で、メモリユニットは、多層キャッシュメモリを有する階層メモリアーキテクチャを有する。最下のキャッシングレベルにある、以降単にキャッシュとも呼ばれるキャッシュメモリは処理ユニットに最も近く、一方、最高のキャッシングレベルにあるキャッシュメモリはフレームメモリに最も近い。
処理ユニットとフレームメモリとの間に異なるキャッシングレベルを提供することによって、メモリユニットの費用と性能との間のバランスは達成される。費用要因は、映像データ処理装置全体のチップ領域及び電力条件である。
キャッシュ内のデータに関する交換方法は、映像処理アルゴリズムの形式及びシステムの所望の予測可能性に依存して、動的又は静的のいずれか一方である。動的交換方法を伴うメモリユニットでは、キャッシュ・ヒット又はキャッシュ・ミスのいずれか一方が生ずる。キャッシュ・ミス状態で、所望のデータは、アクセスされるキャッシュでは見つけられず、より高いキャッシングレベルから又はフレームメモリから複製される必要がある。これに関連する時間ペナルティは、待ち時間及びメモリの帯域幅(bandwidth)に依存する。メモリの帯域幅は、いくつのビットが1つのクロック周期でメモリによって供給され得るかを決定する。
対照的に、キャッシュ・ミス状態は、例えば、よく知られる先入れ先出し交換方法などの静的な交換方法を用いる場合には生ずる可能性が低い。静的な交換方法は、予測可能なメモリアクセスパターンを伴う処理アルゴリズムに適する。
US6,449,692B1は、3段階キャッシュ構造を有するメモリユニットを備える映像データ処理装置について記載する。キャッシングレベルはL1からL3で表される。キャッシュレベルの番号表示は、処理ユニットが、キャッシュからのデータ読み出し又はキャッシュへのデータ書き込みの最中である場合にキャッシュにアクセスするところの昇順に対応する。これは、メモリユニットへの読み出しアクセスが最初にL1キャッシュへアドレス指定され、キャッシュ・ミスがそのキャッシュに生ずる場合には、L2キャッシュへのアクセスが後に続き、ヒットがキャッシュ又は最終的に主要メモリで成立するまで、以降同様に続くことを意味する。
US6,449,692B1の装置におけるメモリユニットのキャッシングレベルL1及びL2は、非画素情報しか保存しない。非画素情報は、処理ユニットへのアクセスを可能にするアドレス変換情報又は命令を含む。対照的に、L3キャッシュメモリは、非画素情報だけでなく画素データも保存する。非画素情報又は画素データのいずれか一方へキャッシングレベルL3の区分を動的に割り当てるキャッシュ制御回路が設けられる。アドレス及びアービトレーション回路は、異なるキャッシュレベルへの処理ユニットのアクセスを制御する。バスインターフェースユニットは、直接的にL3キャッシュレベル及び処理ユニットに主要メモリへのアクセスを提供する。処理ユニットが画素データに関する読み出し要求を発行し、キャッシュ・ヒットが生ずる場合に、L3キャッシュは、L1及びL2キャッシュレベルをバイパスするレジスタを介して処理ユニットへ要求されるデータを供給する。キャッシュ・ミスが生ずる場合には、処理ユニットは直接的に主要メモリをアドレス指定する。
US6,449,692B1の映像データ処理装置で、全てのキャッシュレベルは、フェッチ機能のみならず読み出し機能を提供する。各キャッシュレベルは、その各自のサポートされる形式のデータを目的とする。映像データ処理装置の総体的な処理速度は、キャッシュメモリユニットが処理ユニットへの出力(読み出し機能)及び主要メモリ又はより高いレベルのキャッシュからのデータの記憶(フェッチ機能)を並行して、即ち同時に実行することができないという事実によって制限される。
欧州特許出願EP04101677.5 米国特許US6,449,692B1
従って、本発明は、同時タスクとして読み出し動作及びフェッチ動作を実行することが可能な、メモリユニットを有する映像データ処理装置及び、データ処理装置のメモリユニットの動作を制御する方法を提供することを目的とする。
本発明の第1の態様に従って、データ要素の2次元主要配列を処理するデータ処理装置は、
− 前記主要配列を保存する主要メモリを有する主要メモリユニットと、
− 前記主要配列の2次元サブ配列を形成するデータブロックを順次に処理し、前記主要配列の予め設定された数のデータブロック列及びデータブロック行に広がるスライド検索範囲のデータ要素に関する読み出し要求を供給するよう構成される処理ユニットと、
− 前記主要メモリへ接続される高レベルキャッシュメモリを有する高レベルキャッシュユニットであって、
− 前記スライド検索範囲よりも大きい画像のスライド領域を形成するためのデータブロックを前記主要メモリからフェッチし、
− 前記高レベルキャッシュメモリから第1のプレフェッチ・バッファへ前記スライド検索範囲を更新するために必要とされる保存されたスライド領域のデータ要素をプレフェッチして、これらのデータ要素を前記第1のプレフェッチ・バッファの出力で供給するよう構成される高レベルキャッシュユニットと、
− 前記処理ユニットと前記第1のプレフェッチ・バッファとの間に直接的に接続される低レベルキャッシュメモリを有する低レベルキャッシュユニットであって、
− 前記第1のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新し、
− 前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記処理ユニットへ必要とされるデータ要素を選択及び出力するよう構成される低レベルキャッシュユニットと、
を有する。
本発明のデータ処理装置の好ましい使用は映像処理との関連であるが、それはこのような用途に制限されない。本発明のデータ処理装置は、いずれかの2次元データ配列、例えば、地震学データ(seismological data)の配列の処理との関連で使用され得る。2次元データ配列は、2次元行列に対応する方法で順序づけられるデータ構造の組である。画像処理との具体的関連では、主要配列とも称される2次元データ配列は画像である。
他の一般的用語は、これに関連して以下のように言い換えられるべきである。
“データ要素”→“画素”、
“データブロック”→“画素ブロック”、
“データ行”→“画素行”、
“データ列”→“画素列”、
“データブロック列”→“画素ブロック列”、
“データブロック行”→“画素ブロック行”。
以下で、本発明に係るデータ処理装置は、ビデオ画像の処理における好ましい使用との関連で記載される。映像処理アプリケーションで、画像は、例えば、映像フレーム又は映像フィールドであっても良い。映像フレームは、通常、画像の全ての画素を含む。映像フィールドは、通常、インタレース式に配置された画素行の組を含む。インタレース走査は、当該技術では広く知られた概念であり、相補的なサブセットの画素行を有する時間的に連続するビデオ画像の供給に関する。
画像は、当該データ処理装置の主要メモリに保存される。当該データ処理装置の処理ユニットは、前記画像の2次元サブ配列を形成する画素ブロックを順次に処理するよう構成される。従って、画素ブロックは一時に1つを処理される。画素ブロックは、例えば、8×8、16×16又は32×32の画素から成る。前記処理ユニットは、異なる映像処理コンテキストで異なる画素ブロックサイズを用いるよう構成されても良い。
前記処理ユニットは、更に、前記画像の予め設定された数の画素ブロック列及び画素ブロック行に広がるスライド検索範囲の画素に関する読み出し要求を供給するよう構成される。スライド検索範囲の概念は、当該技術でよく知られており、例えば、様々な既知の動作推定アルゴリズムのような検索方法を用いる映像処理アルゴリズムにおいて使用される。検索範囲は、画像のサブ配列を形成する画素ブロックの2次元配列である。スライド移動検索範囲は、検索範囲の一端で画素ブロックを検出して、検索範囲の反対の端で画素ブロックを加えることによって実現される。どの画素ブロックが検出され、どの画素ブロックが加えられるかは、画像の全域における検索範囲のスライド移動の所定方向に依存する。検索範囲の移動は、例えば、水平に左から右への移動であっても良い。検索範囲の移動は、画素ブロックを処理するために処理ユニットによって用いられる処理アルゴリズムの走査方向及び走査順序と結合される。様々な動作方向及び動作順序の例は、図4の記載に関連して以下で説明される。検索範囲のサイズ、即ち、2次元で検索範囲に含まれる画素ブロックの数は、処理ユニットによって使用されるアルゴリズムの形式に依存する。例えば、検索範囲のサイズは、動作推定アルゴリズムにおいて運動ベクトルの長さに依存する。それは、また、映像アプリケーションではフレームサイズに依存する。
本発明のデータ処理装置は、高レベルキャッシュメモリを有する高レベルキャッシュユニットと、低レベルキャッシュメモリを有する低レベルキャッシュユニットとを有する。前記低レベルキャッシュメモリは、以降、L0キャッシュ、検索範囲バッファ、又はSAバッファとも呼ばれる。留意すべきは、本発明の好ましい適用分野では、通常、前記処理ユニットと高レベルキャッシュメモリとの間にはレジスタが存在しない。他の適用分野では、表示L0キャッシュはレジスタと呼ぶ。しかし、本願では、L0キャッシュとしての低レベルキャッシュメモリの表示は、このキャッシュメモリがレジスタであることを示唆しない。
夫々のメモリに加えて、高レベルキャッシュユニット及び低レベルキャッシュユニットは、通常、関連する制御ユニットを有する。この制御ユニットは、ここではキャッシュ制御装置と呼ばれる。キャッシュ制御装置は、ハードウェア又はソフトウェアのいずれか一方で実施され得る。これに対して、低レベルキャッシュ制御装置はL0キャッシュ制御装置とも呼ばれる。高レベルキャッシュは、以降、L1キャッシュ又は縞地(stripe)バッファとも呼ばれる。これに対して、高レベルキャッシュ制御装置はL1キャッシュ制御装置とも呼ばれる。
本発明に係るデータ処理装置は、フェッチが1つのキャッシュレベルに集中し、読み出しが他のキャッシュレベルに集中する場合に、同時の読み出し及びフェッチが達成され得るという一般概念に基づく。
特に、本発明は、読み出し動作及びフェッチ動作の間に認められるパラメータの解析に基づく。これらのパラメータは、異なる映像フォーマット規格及び異なる映像処理アルゴリズムで変化するので、柔軟性のために提供することが重要である。本発明に係る映像処理装置は、スケーリング、フィルタリング、動作検出などのような様々なアルゴリズムと、共通中間フォーマット(Common Intermediate Format;CIF)、標準精細度テレビジョン(Standard Definition Television;SDTV)、又は高精細度テレビジョン(High Definition Television;HDTV)のような様々な映像フォーマットとを扱うことができる。
本発明に係る映像処理装置は、読み出し及びフェッチに関してメモリユニットの動作に影響を及ぼす以下のパラメータの認識に基づく。
[1.ブロックサイズ]
前記メモリユニットのフレームメモリは、様々なブロックサイズ、例えば、8×8又は16×16の画素で編成され得る。ブロック編成は、低レベルキャッシュの交換方法、即ち、いくつ、どの画素が、処理が続く場合に低レベルキャッシュにロードされる必要があるのかを制御する。
[2.走査方向及び走査順序]
連続する画素ブロックの処理において、前記処理ユニットは、様々な映像処理アルゴリズムにおいて様々な方向及び順序に従い、従って、様々な可能な順序でメモリユニットに保存される映像フレームの画素にアクセスすることができる。走査方向は、上から下、下から上、左から右、又は右から左のいずれか1つである。走査順序は、画素ブロック行ごと若しくは画素ブロック列ごと又は蛇行式(meandering style)のいずれか1つである。
[3.映像フォーマット]
フレームメモリは、様々な色空間又は映像フォーマットで編成され得る。映像フォーマットは、色ごとに8ビット若しくは画素ごとに24ビットを必要とするRGB、又は様々な二段抽出YUVフォーマットのいずれか1つである。これらは、輝度及び色の違いに基づく既知の映像フォーマットである。
[4.サブピクセル精度]
よく知られるように、フレーム内の対象間に滑らかな境界を発生させるデータは、画素グリッドよりも細かい精度を必要とする。必要とされるブロックの座標を基に、メモリユニットは、更なる画素とともに適切なブロックを検出して供給するべきである。これは、必要とされるサブピクセル精度を発生させるために、例えばバイリニア補間などの補間の実行を可能にする。
[5.窓サイズ]
窓サイズは、前記メモリユニットから読み出される領域のサイズを決定するために前記処理ユニットによって使用されるパラメータである。
[6.窓座標]
窓座標は、例えば、現在求められる読み出し窓の左上角を決定するような(X,Y)座標の形式で前記処理ユニットによって与えられる。
本発明に係るデータ処理装置は、パラメータ1〜3、即ち、ブロックサイズ、走査方向及び走査順序、並びに映像フォーマットがフェッチ動作に関連するという認識に基づく。本発明の映像処理装置に係る好ましい実施例では、これらのパラメータは、より高いキャッシュレベルで扱われる。従って、フェッチ機能は、高レベルキャッシュ及び高レベルキャッシュ制御装置に集められる。
しかし、1つの固定の映像フォーマットしか処理しないよう構成される処理装置も本発明の適用範囲に含まれることが知られる。映像フォーマット(パラメータ3)の柔軟性を可能にする処理装置は、本発明のデータ処理装置に係る好ましい実施例として以下で更に記載される。
対照的に、パラメータ4〜6、即ち、サブピクセル精度、窓サイズ及び窓座標が読み出し動作に関連することは、本発明のデータ処理装置の根底にある更なる認識である。本発明のデータ処理装置で、これらのパラメータ4〜6は、より高いキャッシュレベルでは扱われず、より低いキャッシュレベルで扱われる。従って、読み出し機能は、低レベルキャッシュ及び低レベルキャッシュ制御装置に集められる。
本発明に従う低レベルキャッシュユニット及び高レベルキャッシュユニットにおいて扱うパラメータの分配は、以下の表で簡単に述べられる。
Figure 2008530680
先と同じく、映像フォーマットパラメータは、表の完全性のために含まれる。本発明の一実施例で、高レベルキャッシュユニットは、例えば、CIF規格、SDTV規格又はHDTV規格のような、画素データを保存するための1つの一般的な標準映像フォーマットに適合される。
記載されるパラメータの分配を達成するよう、本発明に係るデータ処理装置の高レベルキャッシュユニットは、画素ブロックへの画素の分配ではなく、画素行の分配に従って、高レベルキャッシュを編成する。より厳密には、前記高レベルキャッシュユニットは、前記スライド検索範囲よりも大きい画像のスライド領域を形成する画素ブロックを前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて画素行又は画素列への分配に従って前記スライド領域を保存するよう構成される。前記スライド領域は、概して、前記スライド検索範囲と同じ移動を行う。望ましくは、前記高レベルキャッシュユニットは、画素行へのフェッチされる画素の分配を使用するよう構成される。代替案として、前記高レベルキャッシュユニットは、画素列へのフェッチされる画素の分配を使用するよう構成される。この代替の実施例は、例えば、垂直ピークにおいて適用される。
更に、スライド検索範囲を更新するために、前記高レベルキャッシュユニットは、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる画素ブロックを前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて画素行又は画素列への分配に従って前記画素ブロックを保存するよう構成される。従って、より高いキャッシュレベルで画素行分配を導入することによって、前記低レベルキャッシュユニットに関してブロックサイズ(パラメータ1)の概念は存在しない。
更に、前記第1のプレフェッチ・バッファの提供は、走査方向及び走査順序(パラメータ2)が、前記低レベルキャッシュユニットの観点からすれば関連しないことを確実にする。前記低レベルキャッシュユニットは、単に、前記プレフェッチ・バッファで供給されるデータを複製すべきである。前記低レベルキャッシュメモリへこれらのデータを複製することによって、前記低レベルキャッシュによって提供される検査範囲は更新される。前記高レベルキャッシュユニットは、前記高レベルキャッシュメモリから前記第1のプレフェッチ・バッファへ、前記スライド検索範囲を更新するために必要とされる前記保存されるスライド領域の画素をプレフェッチすることによってこの処理を制御し、前記第1のプレフェッチ・バッファの出力で前記画素を供給する。このプレフェッチの実施は、どの画素が前記処理ユニットによって必要とされうるかを予測するために、特定の映像処理アルゴリズムの知識を含む。このようにして、前記高レベルキャッシュユニットは、前記高レベルキャッシュメモリに保存される適切な画素行を然るべく選択し、該選択される画素行を前記第1のプレフェッチ・バッファへ複製する。従って、前記低レベルキャッシュ制御装置は、走査方向及び走査順序のフェッチ関連のパラメータを扱う必要はない。望ましくは、複製は、スライド移動ステップにより前記検索範囲から落ちる前記低レベルキャッシュメモリ内の画素の上書きを含む。
本発明に係るデータ処理装置の低レベルキャッシュユニットは、前記第1のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新し、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に必要とされるデータ要素を前記低レベルキャッシュメモリから選択して、前記処理ユニットへ出力するよう構成される。以下で更に記載される詳細な実施例で、前記処理ユニットによって必要とされる画素の選択は、前記処理ユニットで実施される特定の処理アルゴリズムによって使用される場合に、パラメータ4〜6、即ち、サブピクセル精度、窓サイズ及び窓座標の認識を暗に示す。
従って、本発明に従って、前記主要メモリからのフェッチに関連する全てのパラメータは、前記高レベルキャッシュ制御装置によって扱われ、一方、前記低レベルキャッシュ制御装置は、前記処理ユニットからの読み出し要求への応答及び前記処理ユニットへの画素データの供給に係る機能に制限され得る。本発明に係るデータ処理装置では、より低いキャッシュレベルからより高いキャッシュレベルへ又は前記主要メモリへ送られるフェッチ要求は必要とされない。
本発明に係るデータ処理装置におけるフェッチ機能及び読み出し機能の分離達成に起因して、前記高レベルキャッシュユニット及び前記低レベルキャッシュユニットは、並行してフェッチ動作及び読み出し動作を実行することが可能となる。これは、同時通信及び計算とも呼ばれる。これは、総じて、即ち、主要メモリ及び全てのキャッシュレベルを含め、当該データ処理装置のメモリユニットの待ち時間を減少させる。更に、フェッチステップ及び読み出しステップの分離は、全てのキャッシュレベルにおいて機能の好ましくない重複を低減する。これは、それ自体の中核機能のための必要とされるチップ面積及び性能に関して各キャッシュレベルを最適化することを可能にする。更に、保全性及び可能な機能拡張は、より良い効率を伴って処理され得る。
以下で、本発明に係るデータ処理装置の好ましい実施形態が記載される。
前記低レベルキャッシュにおける選択される映像フォーマット(パラメータ3)の影響は、予め設定された数のビット部分を有し、画像の映像フォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定された画素データフォーマットに従ってその出力部で前記スライド領域のデータ要素を供給する前記高レベルキャッシュ制御装置の適合によって、本発明に係るデータ処理装置の好ましい実施例では取り除かれる。本発明に係るデータ処理装置の本実施形態の高レベルキャッシュユニットによって使用される画素フォーマットは、予め設定された数のビット位置を有する。従って、全ての映像フォーマットの画素は、前記低レベルキャッシュユニットの観点からすれば外観は全く同一である。画素フォーマットにおけるビット位置の数は、全ての既知の映像フォーマットに適合するために十分に大きく選択される。現在処理される映像フォーマットによって使用されない画素フォーマットのビット位置は、例えば「0」といった所定ビット値により前記高レベルキャッシュユニットによって補充される。ビット値「0」の使用は、接続される処理データ経路を簡単に保つ。前記第1のプレフェッチ・バッファにより前記高レベルキャッシュメモリを介して使用されないビット位置へ「0」を書き込むことによって、映像フォーマット制御は前記低レベルキャッシュで必要とされない。前記低レベルキャッシュメモリの出力は正しいフォーマットを有する。
本発明の更なる実施形態で、前記低レベルキャッシュユニットは、2つの窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出し、該取り出された窓座標及び窓サイズパラメータ(パラメータ5及び6)に依存して前記処理ユニットへ前記低レベルキャッシュメモリに保存される画素を供給するよう構成される。
更なる実施形態で、望ましくは、前記低レベルキャッシュ制御装置は、更に、前記処理ユニットがサブピクセル精度で画素データを処理するかどうかを、読み出し要求から取り出された前記窓座標から検出し、前記処理ユニットへサブピクセル精度処理のために必要とされる全ての更なる画素を供給するよう構成される。
本発明に係るデータ処理装置の他の好ましい実施形態は、前記高レベルキャッシュメモリと前記主要メモリとの間に接続され、並列な方法で前記高レベルキャッシュメモリへ画素データを供給するよう構成される第2のプレフェッチ・バッファを更に有する。この実施形態で、前記高レベルキャッシュユニットは、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記画像の選択された画素ブロックを前記主要メモリから前記第2のプレフェッチ・バッファへプレフェッチし、前記高レベルキャッシュメモリにおける前記スライド領域を前記第2のプレフェッチ・バッファの出力で供給される画素により更新するよう構成される。
前記第2のプレフェッチ・バッファは、然るべく前記高レベルキャッシュの隣に複製されるべき画素を前記第2のプレフェッチ・バッファにロードすることによって、フェッチ動作を更に加速させることができる。データは、前記第2のプレフェッチ・バッファから前記高レベルキャッシュメモリへ並行して供給される。前記第2のプレフェッチ・バッファの動作は、前記高レベルキャッシュ制御装置によって制御され、先と同じく、前記処理ユニットが現在処理される画像の画素を要求するところの順序の認識に基づく。
本発明に係るデータ処理装置に設けられる前記主要メモリユニットは、更なる実施形態で、複数の画素ブロック行及び画素ブロック列で配置される画素ブロックへの前記画像の分配に従って読み出し動作及び書き込み動作において前記主要メモリにアクセスするよう構成される。
好ましい実施形態で、前記低レベルキャッシュメモリはスクラッチパッドの形をとる。即ち、前記低レベルキャッシュメモリは、この実施形態で、完全な検索範囲を保持するよう構成される。このようにして、完全な検索範囲は、処理が始まる前に、低レベルスクラッチパッドに保存され得る。キャッシュ・ミスは、この実施形態では完全に回避される。望ましくは、低レベルキャッシュユニットは、検索範囲が画像において次の位置へ動く場合に、先入れ先出し交換方法に従って前記低レベルスクラッチパッドに保存される画素を置換するよう構成される。
映像用途にとってスクラッチパッドは好ましいが、本発明に係るデータ処理装置の他の用途は、より低いキャッシュレベルで完全な検索範囲の存在を必要としない。このような用途に関して、検索範囲よりも小さく画像の領域を保つよう構成されるキャッシュメモリが使用される。
他の実施形態で、前記低レベルキャッシュメモリは、複数のメモリバンクを有する。前記低レベルキャッシュユニットは、画素ブロックの連続する画素行に属する画素を異なるメモリバンクに保存し、並行して前記処理ユニットへ必要とされる画素ブロックの複数の画素行を出力するよう構成される。このようにして、前記処理ユニットと前記低レベルキャッシュとの間の通信の帯域幅は、更に増大しうる。望ましくは、前記低レベルキャッシュユニットは、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法(interleaved manner)で前記低レベルキャッシュメモリ内の場所をアドレス指定するよう構成される。このようにして、バンク衝突は、並行して幾つかの行を出力する場合に回避される。
本発明に係るデータ処理装置の好ましい実施形態で、前記低レベルキャッシュメモリは複数の行ユニットを有し、夫々の行ユニットは各自の第1のメモリバンク数を有し、夫々のメモリバンクは第2の画素数を保存するアドレス指定可能な場所を有する。前記低レベルキャッシュユニットは、画素ブロックの各自の画素行の、又は画素ブロックの各自の交互にされた画素行の組に属する画素行の、画素を保存するよう構成される。前記メモリバンクの各自のアドレス指定可能な場所は、夫々、画素行に沿った前記第2の数の連続する画素から成る各自の画素群を保存するよう構成される。従って、連続する画素群は、該群に属する前記各自の画素行の画素を保存する前記行ユニットの前記メモリバンクに亘って円循環方式で区別される。前記低レベルキャッシュユニットは、前記スライド検索範囲の移動時に前記スライド検索範囲から落ちる陳腐化した画素を前記メモリバンクにおいて、前記陳腐化した画素と同じ画素行からの前記検索範囲における新しい画素によって置換することによって前記スライド検索範囲を更新するよう構成される。前記低レベルキャッシュユニットは、複数の行ユニットから各自の画素行に関して画素を並行して取り出して出力するよう構成される。
本発明の更なる実施形態で、各画素ブロック行における所定の走査方向は左から右又は右から左のいずれかであり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上のいずれかである。言い換えると、前記走査方向は蛇行していない。よく知られるように、蛇行する走査方向は夫々の行とともに変わる。即ち、例えば、第1の行が左から右へ処理される場合に、次の行は右から左へ処理されうる。この実施形態で、前記高レベルキャッシュユニットは、前記画像の新しい画素ブロック行又は画素ブロック列の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するよう構成される。
更なる実施形態で、前記高レベルキャッシュユニットは、新しい画像の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するよう構成される。
明細書及び特許請求の範囲で記載される本発明に係るデータ処理装置の実施形態は、特に明記しない限り、互いに組み合わされ得る。
本発明の第2の態様に従って、メモリユニットの主要メモリに保存される画像の2次元サブ配列を形成する画素ブロックを順次に処理して、前記画像の予め設定された数の画素ブロック列及び画素ブロック行に広がるスライド検索範囲の画素ブロックに関して前記メモリユニットへ読み出し要求を供給する処理ユニットによりデータ処理装置の前記メモリユニットの動作を制御する方法であって、
− 前記スライド検索範囲よりも大きい前記画像のスライド領域を前記主要メモリから高レベルキャッシュメモリへフェッチして、画素行又は画素列への分配に従って前記スライド領域を前記高レベルキャッシュメモリに保存するステップと、
− 所定の動作順序及び走査方向に従って前記スライド領域を更新するための画素ブロックを前記主要メモリから前記高レベルキャッシュメモリへフェッチして、画素行又は画素列への分配に従って前記高レベルキャッシュメモリに前記画素ブロックを保存するステップと、
− 後のスライド検索範囲の移動において前記検索範囲を更新するために必要とされる前記検索領域の画素を前記高レベルキャッシュメモリから第1のプレフェッチ・バッファへプレフェッチして、前記第1のプレフェッチ・バッファの出力で供給するステップと、
− 前記第1のプレフェッチ・バッファの出力で供給される前記画素を用いて、前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新するステップと、
− 前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリから前記処理ユニットへ必要とされる画素を選択及び出力するステップと、
を有する方法が提供される。
本発明に係る方法は、本発明に係るデータ処理装置のメモリサブシステムの制御に関連する。当該方法の利点は、データ処理装置に関して上述された利点に対応する。
以下で、本発明に係る方法の好ましい実施形態が説明される。この実施形態は、上述されたように、同時の読み出し及びフェッチを可能にするデータ処理装置の実施形態に関する方法態様を表す。従って、以下の記載は省略されており、更なる説明のために上記項目が更に参照される。
本発明の1つの実施形態は、予め設定された数のビット部分を有し、前記画像の映像フォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定データフォーマットに従って、低レベルキャッシュメモリへ前記スライド領域の画素を供給するステップを有する。
更なる実施形態で、前記スライド検索範囲の全ての画素は前記低レベルキャッシュメモリで供給され、前記低レベルキャッシュメモリに保存される画素は、先入れ先出し交換方式に従って前記スライド検索範囲を更新するために置換される。
更なる実施形態で、前記低レベルキャッシュメモリは複数のメモリバンクを有する。画素ブロックの連続する画素行に属する画素は、異なるメモリバンクに保存され、必要とされる画素ブロックの複数の画素行は、並行して前記低レベルキャッシュメモリから前記処理ユニットへ出力される。
他の実施形態で、前記低レベルキャッシュメモリ内の場所は、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法でアドレス指定される。
更なる実施形態は、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記画像の選択された画素ブロックを、前記主要メモリから第2のプレフェッチ・バッファへプレフェッチするステップと、前記高レベルキャッシュメモリにおける前記スライド領域を前記第2のプレフェッチ・バッファの出力で供給される画素により更新するステップとを有する。
更なる実施形態は、窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出すステップと、該取り出された窓座標及び窓サイズパラメータに依存して前記処理ユニットへ前記低レベルキャッシュユニットに保存される画素を供給するステップとを有する。
他の実施形態で、各ブロック行における所定の走査方向は左から右又は右から左であり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上である。この実施形態に係る方法は、前記画像の新しい画素ブロック行又は画素ブロック列の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するステップを有する。
他の実施形態は、新しい画像の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するステップを有する。
本発明の更なる実施形態は、添付の図面を参照して以下で記載される。
図1は、本発明のデータ処理装置の第1の実施例を形成する映像処理装置10のブロック図を示す。映像処理装置10は、処理ユニット12と、処理ユニット12へ接続されたメモリユニット14とを有する。映像処理システム10は、スケーリング、フィルタリング、動作検出、動作推定などのような映像処理アルゴリズムを実行することに特化した組み込みシステムを表す。
映像処理装置10のメモリユニット14は、フレームメモリ16と、処理ユニット12とフレームメモリ16との間に接続された高レベルスクラッチパッド18及び低レベルスクラッチパッド20とを有する。高レベルスクラッチパッド18は、以降、L1スクラッチパッドとも称される。第1のプレフェッチ・バッファ20.1は、高レベルスクラッチパッド18と低レベルスクラッチパッド20.2との間に設けられる。低レベルスクラッチパッド20は、以降、L0スクラッチパッド及び検索範囲(SA)スクラッチパッドとも称される。
処理ユニット12と接続してメモリユニット14を動作させるために必要な全ての制御動作は、1又は幾つかのメモリ制御装置によって制御される。本実施例で、フレームメモリ制御装置22はフレームメモリ16の動作を制御し、高レベルスクラッチパッド制御装置24はL1スクラッチパッド18及びプレフェッチ・バッファ20.1の動作を制御し、低レベルキャッシュ制御装置26は検索範囲スクラッチパッド20.2の動作を制御する。高レベルスクラッチパッド制御装置24及び高レベルスクラッチパッド18は高レベルキャッシュユニットを形成する。低レベルキャッシュ制御装置26及び低レベルスクラッチパッド20.2は低レベルキャッシュユニットを形成する。高レベルスクラッチパッド制御装置24及び低レベルキャッシュ制御装置26は、また、L1スクラッチ制御装置及びL0スクラッチ制御装置と夫々称される。以下の項目は、幾つかの例として、L0スクラッチパッド20.2、L1スクラッチパッド18、及びプレフェッチ・バッファ20.1のサイズ及び帯域幅を決定するための指針を与える。
[1.L0スクラッチパッド]
扱われる映像フォーマットの柔軟性を提供しない実施形態で、L0スクラッチパッドの必要とされるメモリサイズは、一般的に、処理される映像フォーマットに依存する。以下の表2は、検索範囲サイズ及びメモリサイズに関して3つの映像フォーマット、即ち、CIF、SDTV、及びHDTVのサイズ要求を簡単に述べる。メモリサイズは、2つの場合、即ち、以下の表で「Y」と呼ばれる8ビットの輝度情報しか搬送しない画素の場合及び、表2でRGBと呼ばれる、全部で24ビットに達する3つの色に関する輝度情報を搬送するカラー画素の場合に関して特定される。
Figure 2008530680
上の表を読むための指針として、1つの例が表2の一番下の行に関して説明される。HDTVフォーマットにおける検索範囲は、水平方向において17の8×8画素ブロックを有し、垂直方向に置いて9の8×8画素ブロックを有する。全ての画素が24ビットを保持するところのRGB画素フォーマットでは、17×9×8×8×24=235008ビット=229.5kbitがSAバッファのために必要とされる。画素ごとに8ビットの輝度情報しか用いない場合に、78336ビット、即ち、76.5kbitはL0スクラッチパッドの最小サイズである。
選択される映像フォーマットの柔軟性を提供する実施形態で、SAスクラッチパッドのサイズは、サポートされる映像フォーマットによって必要とされる最大値である。
他の実施形態では、L0キャッシュがL0スクラッチパッドよりむしろ使用される。この実施形態で、L0キャッシュは、全部の調整範囲を保存するために必要とされるよりも小さいメモリ容量を有しても良い。しかし、処理ユニット12によって実行される特定の映像処理アルゴリズムに依存して選択される適切なプレフェッチ方法は、読み出し要求がL0キャッシュへ入力される場合に、キャッシュ・ミス状態を完全に回避することができる。
[2.L1スクラッチパッド]
HDTVフォーマットの例に関して、L1スクラッチパッドのメモリサイズは、8×8の画素を含む2000の画素ブロックの全てが保存される必要があるという必要条件によって決定される。24ビットの画素サイズを考えると、L1スクラッチパッドは3Mbitのメモリサイズを有するべきである。
一実施形態では、L1キャッシュがL1スクラッチパッドの代わりに使用される。それは、L1キャッシュ18がスライド領域よりも小さい状態にあることを意味する。望ましくは、この実施形態は、L1キャッシュ18.2に加えて第2のプレフェッチ・バッファ18.1を有する図2の実施例に関連して用いられる。高レベルキャッシュ制御装置24′で適切なキャッシュ交換方法を実施することによって、L1キャッシュは、常に、L0スクラッチパッド20.2又はL0キャッシュ20.2で検索範囲を更新するために必要とされる画素を保持することができる。
[3.第1のプレフェッチ・バッファ]
L0スクラッチパッド20の第1のプレフェッチ・バッファ20.1のサイズは、HDTV映像フォーマットの例に関して与えられる以下の指針に従って定められる。検索範囲の高さ、又は、言い換えると、1つの検索範囲列のサイズは、8×8画素を夫々有する9の画素ブロックである。従って、定常状態の間、9の画素ブロックの1つのこのような検索範囲列は、検索範囲を更新するために必要とされる。全ての画素は最大24ビットを有するので、プレフェッチ・バッファ20.1は、9×8×8×24=13824ビット=13.5kbitの大きさを有するべきである。
[4.帯域幅]
メモリ帯域幅に関して、通常、処理データ経路並列処理は、画素ブロックの画素行のサイズ、例えば、8×8画素ブロックの場合に8の画素に等しい。これは、一時的なアップコンバージョンや非インタレース走査などのための動作推定のようなブロックに基づく処理アプリケーションの場合に保持する。
帯域幅は、連続する画素行が異なるメモリバンクにあるようにメモリシステムを編成することによって並行して画素ブロックの複数の画素行を供給することによって、更に増大する。バンクセットの中でバンク行を交互配置することによって、バンク衝突は、並行して幾つかの行を出力する場合に回避される。並行して幾つかの連続する画素行を出力するよう構成されるメモリ構造の例は、欧州特許出願EP04101677.5の請求項19及び請求項20に係る実施例で、及び、出願当初のEP04101677.5の12〜23頁で詳細に記載されるEP04101677.5の図7のメモリ構造で、与えられる。
図1の映像処理装置の動作に関する記載に戻ると、代替の実施例は図2を参照して簡単に記載される。図2のブロック図は、本発明の第2の実施例に従う映像処理装置の詳細を示す。図2の映像処理装置10′の構造は、ほとんどの部分で、図1の映像処理装置10の構造に対応する。本記載は相違点に限られ、他に特に与えられない限り、同じ部分に関して図1の参照符号を用いうる。映像処理装置10′の高レベルスクラッチパッド18′は、フレームメモリ16とL1スクラッチパッド18.2との間に接続された第2のプレフェッチ・バッファ18.1を有する。プレフェッチ・バッファ18.1は、L1スクラッチパッド18.2へ並列に幾つかの画素を供給可能な並列出力を有する。第2のプレフェッチ・バッファ18.1の動作は高レベルキャッシュ制御装置24′によって制御される。
次に、同時の通信及び計算に関する図1及び図2の映像処理装置の動作は、更に図3〜7を参照して記載される。
初期化相の間、L1スクラッチパッドは、ホストシステムを介してフェッチ関連パラメータをロードされる。この情報を基に、スライド領域は、フレームメモリ16からL1スクラッチパッド18へフェッチされる。L1スクラッチパッド制御装置24はフェッチ動作を処理する。スライド検索範囲は、幾つかの画素ブロック行に及び、少なくともスライド検索範囲に含まれる画素ブロック行の数に広がる。これは、処理ユニット12によって実行されるべき映像処理アルゴリズムによって使用される。L1スクラッチパッド18に記憶されるスライド領域は、例えば、映像フレームの全ての画素ブロック列に及び多数の画素ブロック行に広がる縞地を形成する。これは、検索範囲に含まれる画素ブロック行と同一である。特に上から下への処理ユニットの走査方向に適する他の例では、スライド領域は、水平方向に検索範囲と同じ広がりを有するが、垂直方向では、検索範囲よりも多い画素ブロック行に、又はフレームの完全な垂直伸長に広がる。L1スクラッチパッド18は画素行形態でスライド領域を保持し、一方、フレームメモリ16は画素ブロックへの分配に従ってフレームを保持する。L1はダイレクトマッピング方式で編成される。
L0スクラッチパッド20.2は、プレフェッチ・バッファ20.1を介して、処理されるべき第1の画素ブロックへ割り当てられる各自の検索範囲の必要とされるデータをロードすることによって、初期化される。L1スクラッチパッド制御装置24は、データが所定順序でプレフェッチ・バッファ20.1を介して供給されるよう制御する。
図3は、検索領域に基づく映像処理アルゴリズムを表し、且つ、本発明の映像処理装置の実施例で実施されるスクラッチパッド交換方法を表す図を示す。
画素ブロックグリッド30は、完全な映像フレームのサブセットを形成する12×7の画素ブロックの領域を表す。各画素ブロックは8×8画素から成る。これは、画素ブロックグリッド30の左上角にある画素ブロック32の2つの側面に書かれた番号によって示される。画素ブロックグリッド30の中の検索範囲34は、実線によって輪郭を描かれる。検索範囲は9×5=45の画素ブロックから成る。検索範囲の行は9の画素ブロックから成る。検索範囲の列は5の画素ブロックから成る。検索範囲の現在処理される中央の画素ブロックは、大文字Nによって示される。検索範囲の以前の中央画素ブロックは、大文字Oによって示される。
現在の中央画素ブロックの処理は、現在の中央画素ブロックの周りの9×5の画素ブロックの夫々の検索範囲の走査を含む。従って、前の中央画素ブロックOの処理が終了する場合に、検索範囲は、処理ユニット12が新しい中央画素ブロックNを処理する前に、L1スクラッチパッド18及びプレフェッチ・バッファ20.1を介して既知の走査順序及び走査方向に従ってL0スクラッチパッド20.2において更新される。
図3で示される例で、L0スクラッチパッド20.2における検索範囲は、同時にSAバッファ20.2から前の左端の検索範囲列38を消去しながら、SAバッファ20.2に新しい検索範囲列36をロードすることによって更新される。新しい右端の検索範囲列36は図3で網掛けによって強調され、一方、検索範囲バッファ20.2から消去されるブロックは「X」の印を付される。右への検索範囲の結果として得られるスライド方向は、矢印40によって示される。
第1のプレフェッチ・バッファ20.1に関して、第1のプレフェッチ・バッファ20.1に含まれる画素は、新しい検索範囲列36に含まれる画素である。これらの画素は、画素行によって画素行をL0スクラッチパッド20.2へ供給され、同時に、画素行の全ての画素が供給される。先に説明されたように、実際には、より低いキャッシュレベルではブロックサイズの概念は存在しない。
図4は、走査順序及び走査方向の組合せの幾つかの例を示し、これらは、映像フレーム又は映像フィールドを処理するための様々なアルゴリズムによって使用され得る。概して、走査方向は、連続する画素行又は画素列の処理順序を示す。走査順序は、処理が行ごとに又は列ごとに実行されるかどうかを示す。映像処理アルゴリズムによって用いられる走査順序及び走査方向の認識は、適切なキャッシュ又はスクラッチパッド交換方法の選択に極めて重要である。必要とされるデータのプレフェッチを含むこのような交換方法の実施は、当該技術ではよく知られる。
図4a)は、処理ユニット12が上から下への走査方向及び行ごとの走査順序で検索範囲内の画素ブロックを処理するところの実施形態を示す。この実施形態で、各処理ブロック行における処理は左から右へ実行される。
図4b)は、処理ユニット12が下から上へと続く走査方向及び行ごとの走査順序で含まれる画素ブロックの処理を実行するところの代替の実施形態を示す。この実施形態で、各画素ブロック行の画素ブロックは右から左へ走査される。
図4c)は、処理が左から右への走査方向及び列ごとの走査順序で実行されるところの第3の代替の実施形態を示す。この実施形態で、各画素ブロック列は下から上へ走査される。
図4d)は、処理が上から下への走査方向及び行ごとの走査順序で実行されるところの第4の代替の実施形態を示す。この実施形態は、画素ブロック行における処理が蛇行式で実行されるという事実を除けば、図4a)の実施形態と同じである。一番上の画素ブロック行は左から右へ走査され、一方、下方向で次の画素ブロック行は右から左へ処理され、以下同様に続く。
図4e)は、処理ユニット12が下から上への走査方向及び行ごとの走査モードで検索範囲を走査するところの第5の代替の実施形態を示す。図4b)の実施形態とは対照的に、処理は蛇行式で実行される。一番下の画素ブロック行は右から左へ走査され、一方、上方向で次の画素ブロック行は左から右へ走査され、以下同様に続く。
図4f)は、処理ユニット12が左から右への走査方向及び列ごとの走査順序で検索範囲を処理するところの第6の代替の実施形態を示す。図4c)の実施形態とは対照的に、列の走査は蛇行式に実行される。一番左端の列は下から上へ走査され、一方、右方向で次の列は上から下へ走査され、以下同様に続く。図4a)〜4c)の非蛇行式の例で、特別の注意は、新しい行又は列への切替えに関する交換方法を設計する際に払われるべきである。この場合に、全ての検索範囲は、概して、処理ユニット12が進み、次の行又は列の最初の画素ブロックを処理する前に、L0スクラッチパッド20.2において置換されるべきであり得る。この状況におけるスクラッチパッド交換は、上述された初期化相に対応する。当然、L1及びL0スクラッチパッドの更新前に現在の映像処理アルゴリズムのフェッチ関連のパラメータをリロードすることは、この状況では不要である。
図5は、L0スクラッチパッド20.2での交換方法における走査方向の影響の説明図である。図5は、図3の例の代替案を形成する検索範囲の第2の例を示す。本例で、検索範囲は、12の画素ブロックの検索範囲行と、8の画素ブロックの検索範囲列とから成る。図3の例と同様に、破線のグリッドは画素ブロックを示す。図5の説明図は、4つの可能な実施形態を簡単に述べる。図5に示される第1の実施形態で、走査範囲のスライド方向は、図3に示される方向と同じであり、即ち、左から右へ移動する。結果として、現在処理対象となっている検索範囲の右端の検索範囲列44は、L0スクラッチパッド20.2に補充されるべきであり、高レベルキャッシュ制御装置24によって第1のプレフェッチ・バッファ20.1にロードされる。検索範囲列44の右側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
図5で示される第2の実施形態で、走査範囲は右から左へスライドし、新しい左端の検索範囲列46は、プレフェッチ・バッファ20.1及びL1スクラッチパッド18を介してL0スクラッチパッド20.2にロードされるべきである。検索範囲列46の左側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
図5で示される第3の実施形態で、検索範囲は上から下へスライドする。従って、新しい下端の検索範囲行48は、処理が続く場合に、L0スクラッチパッド20.2にロードされるべきである。検索範囲行48の下側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
最後に、図5で示される第4の実施形態で、検索範囲は下から上への方向でスライドする。従って、新しい上端の検索範囲行50はL0スクラッチパッド20.2にロードされるべきである。検索範囲行50の上側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
図6は、窓及び窓座標によるその定義に関する説明図である。図6には検索範囲52が示される。範囲52の中の窓54は、所定の窓サイズ並びに1つのX座標及び1つのY座標によって定められる。検索範囲の左上角は、窓54の左上角の位置を定めるための検索範囲の原点を形成する。窓座標X及びYは、L0スクラッチパッド制御装置26による読み出し要求から得られる。例えば、窓座標X及びYは、4分の1画素解像度で2つの正の整数値によって形成され得る。このように固定小数点数演算は回避される。L0スクラッチパッド制御装置26は、図7を参照して以下で説明されるように、可能なサブピクセル解像度を検出する。
図7は、L0スクラッチパッド制御装置26に含まれる制御回路の一部とともに、図1のL0スクラッチパッド20.2の区分の描写を示す。図示されるL0スクラッチパッド区分は12のメモリバンクから成る。その中のメモリバンク56〜66は、個々の参照符号を付される。各メモリバンクは、4画素の幅と、32画素の深さとを有する。窓54′は、メモリバンク56〜64の部分に広がるよう示される。L0スクラッチパッド20.2は、本実施形態ではダイレクトマッピングをなされる。従って、多数のバンクからの寄与は、窓を完全にするために必要とされる。窓54′の座標は、サブピクセル精度であると仮定される。従って、窓は、補間フィルタリングをサポートするよう更なる画素により広げられる。窓サイズが16×16画素であるところの例を考えると、L0スクラッチパッド制御装置26は、サブピクセル精度を検出し、処理ユニット12へ17×17の窓を供給する。
本発明のデータ処理装置の第1の実施例を形成する映像処理装置のブロック図を示す。 本発明の第2の実施例に従う映像処理装置の詳細を示す。 検索範囲に基づく映像処理アルゴリズムを表し、且つ、本発明の第3の実施例に従うキャッシュ交換方法を表す図を示す。 本発明の様々な実施例における走査順序及び走査方向の組合せの幾つかの例を示す。 本発明の様々な実施例でのキャッシュ交換方法における走査方向の影響の説明図である。 窓座標の説明図である。 ダイレクトマッピング・キャッシュを用いる本発明の更なる実施例における窓サイズの説明図である。

Claims (26)

  1. データ要素の2次元主要配列を処理するデータ処理装置であって、
    − 前記主要配列を保存する主要メモリを有する主要メモリユニットと、
    − 前記主要配列の2次元サブ配列を形成するデータブロックを順次に処理し、前記主要配列の予め設定された数のデータブロック列及びデータブロック行に広がるスライド検索範囲のデータ要素に関する読み出し要求を供給するよう構成される処理ユニットと、
    − 前記主要メモリへ接続される高レベルキャッシュメモリを有する高レベルキャッシュユニットであって、
    − 前記スライド検索範囲よりも大きい画像のスライド領域を形成するためのデータブロックを前記主要メモリからフェッチし、
    − 前記高レベルキャッシュメモリから第1のプレフェッチ・バッファへ前記スライド検索範囲を更新するために必要とされる保存されたスライド領域のデータ要素をプレフェッチして、これらのデータ要素を前記第1のプレフェッチ・バッファの出力で供給するよう構成される高レベルキャッシュユニットと、
    − 前記処理ユニットと前記第1のプレフェッチ・バッファとの間に直接的に接続される低レベルキャッシュメモリを有する低レベルキャッシュユニットであって、
    − 前記第1のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新し、
    − 前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記処理ユニットへ必要とされるデータ要素を選択及び出力するよう構成される低レベルキャッシュユニットと、
    を有するデータ処理装置。
  2. 前記高レベルキャッシュユニットは、
    予め設定された数のビット部分を有し、前記主要配列のフォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定データフォーマットに従って、
    その出力部で前記スライド領域のデータ要素を供給するよう構成される、請求項1記載のデータ処理装置。
  3. 前記第1のプレフェッチ・バッファは、並列な方法で前記低レベルキャッシュメモリへデータを供給するよう構成される、請求項1記載のデータ処理装置。
  4. 前記第1のプレフェッチ・バッファは、検索範囲の1つのデータブロック列又は1つのデータブロック行を置換するデータ要素を保存するよう構成される、請求項1記載のデータ処理装置。
  5. 前記低レベルキャッシュユニットは低レベルスクラッチパッドを有する、請求項1記載のデータ処理装置。
  6. 前記低レベルキャッシュユニットは、先入れ先出し交換方式に従って、前記低レベルスクラッチパッドに保存されるデータ要素を置換するよう構成される、請求項5記載のデータ処理装置。
  7. 前記低レベルキャッシュメモリは複数のメモリバンクを有し、
    前記低レベルキャッシュメモリは、データブロックの連続するデータ行に属するデータ要素を異なるメモリバンクに保存し、並行して前記処理ユニットへ必要とされるデータブロックの複数のデータ行を出力するよう構成される、請求項1記載のデータ処理装置。
  8. 低レベルキャッシュユニットは、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法で前記低レベルキャッシュメモリ内の場所をアドレス指定するよう構成される、請求項7記載のデータ処理装置。
  9. 低レベルキャッシュメモリは複数の行ユニットを有し、夫々の行ユニットは各自の第1のメモリバンク数を有し、夫々のメモリバンクは第2のデータ要素数を保存するアドレス指定可能な場所を有し、
    前記低レベルキャッシュユニットは、データブロックの各自のデータ行の、又はデータブロックの各自の交互にされたデータ行の組に属するデータ行の、データ要素を保存するよう構成され、前記メモリバンクの各自のアドレス指定可能な場所は、夫々、連続するデータ要素群が、該群に属する前記各自のデータ行のデータ要素を保存する前記行ユニットの前記メモリバンクに亘って円循環方式で区別されるように、データ行に沿った前記第2の数の連続するデータ要素から成る各自のデータ要素群を保存するよう構成され、
    前記低レベルキャッシュユニットは、前記スライド検索範囲の移動時に前記スライド検索範囲から落ちる陳腐化したデータ要素を前記メモリバンクにおいて、前記陳腐化したデータ要素と同じデータ行からの前記検索範囲における新しいデータ要素によって置換することによって前記スライド検索範囲を更新するよう構成され、更に、複数の行ユニットから各自のデータ行に関してデータ要素を並行して取り出して出力するよう構成される、請求項1記載のデータ処理装置。
  10. 前記高レベルキャッシュユニットは高レベルスクラッチパッドを有する、請求項1記載のデータ処理装置。
  11. 前記高レベルキャッシュメモリと前記主要メモリとの間に接続され、並列な方法で前記高レベルキャッシュメモリへデータを供給するよう構成される第2のプレフェッチ・バッファを更に有する、請求項1記載のデータ処理装置。
  12. 前記高レベルキャッシュユニットは、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記主要配列の選択されたデータブロックを、前記主要メモリから前記第2のプレフェッチ・バッファへプレフェッチし、前記高レベルキャッシュメモリにおける前記スライド領域を前記第2のプレフェッチ・バッファの出力で供給されるデータ要素により更新するよう構成される、請求項11記載のデータ処理装置。
  13. 前記低レベルキャッシュユニットは、窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出し、該取り出された窓座標及び窓サイズパラメータに依存して前記処理ユニットへ前記低レベルキャッシュユニットに保存されるデータ要素を供給するよう構成される、請求項1記載のデータ処理装置。
  14. 当該装置は画像処理装置であって、
    前記低レベルキャッシュユニットは、画素データがサブピクセル精度で前記処理ユニットによって処理されるかどうかを、読み出し要求から取り出された前記窓座標から検出し、前記処理ユニットへサブピクセル精度処理のために必要とされる全ての更なる画素を供給するよう構成される、請求項13記載のデータ処理装置。
  15. 各ブロック行における所定の走査方向は左から右又は右から左であり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上であり、
    前記高レベルキャッシュユニットは、前記主要配列の新しいデータブロック行又はデータブロック列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するよう構成される、請求項1記載のデータ処理装置。
  16. 前記高レベルキャッシュユニットは、新しい主要配列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するよう構成される、請求項1記載のデータ処理装置。
  17. メモリユニットの主要メモリに保存される主要配列の2次元サブ配列を形成するデータブロックを順次に処理して、前記主要配列の予め設定された数のデータブロック列及びデータブロック行に広がるスライド検索範囲のデータブロックに関して前記メモリユニットへ読み出し要求を供給する処理ユニットによりデータ処理装置の前記メモリユニットの動作を制御する方法であって、
    − 前記スライド検索範囲よりも大きい前記主要配列のスライド領域を前記主要メモリから高レベルキャッシュメモリへフェッチして、前記スライド領域を前記高レベルキャッシュメモリに保存するステップと、
    − 前記スライド領域を更新するためのデータブロックを前記主要メモリから前記高レベルキャッシュメモリへフェッチして、データ行又はデータ列への分配に従って前記高レベルキャッシュメモリに前記データブロックを保存するステップと、
    − 後のスライド検索範囲の移動において前記検索範囲を更新するために必要とされる前記検索領域のデータ要素を前記高レベルキャッシュメモリから第1のプレフェッチ・バッファへプレフェッチして、前記第1のプレフェッチ・バッファの出力で供給するステップと、
    − 前記第1のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新するステップと、
    − 前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリから前記処理ユニットへ必要とされるデータ要素を選択及び出力するステップと、
    を有する方法。
  18. 予め設定された数のビット部分を有し、前記主要配列のフォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定データフォーマットに従って、低レベルキャッシュメモリへ前記スライド領域のデータ要素を供給するステップを有する、請求項17記載の方法。
  19. データは、並列な方法で前記第1のプレフェッチ・バッファから前記低レベルキャッシュメモリへ供給される、請求項17記載の方法。
  20. 前記スライド検索範囲の全てのデータ要素は前記低レベルキャッシュメモリで供給され、
    前記低レベルキャッシュメモリに保存される選択されたデータ要素は、先入れ先出し交換方式に従って新しいデータ要素により前記スライド検索範囲を更新するために置換される、請求項17記載の方法。
  21. 前記低レベルキャッシュメモリは複数のメモリバンクを有し、
    データブロックの連続するデータ行に属するデータ要素は、異なるメモリバンクに保存され、
    必要とされるデータブロックの複数のデータ行は、並行して前記低レベルキャッシュメモリから前記処理ユニットへ出力される、請求項17記載の方法。
  22. 前記低レベルキャッシュメモリ内の場所は、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法でアドレス指定される、請求項21記載の方法。
  23. 所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記主要配列の選択されたデータブロックを、前記主要メモリから第2のプレフェッチ・バッファへプレフェッチし、前記高レベルキャッシュメモリにおける前記スライド領域を前記第2のプレフェッチ・バッファの出力で供給されるデータ要素により更新するステップを有する、請求項17記載の方法。
  24. 窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出し、該取り出された窓座標及び窓サイズパラメータに依存して前記処理ユニットへ前記低レベルキャッシュユニットに保存されるデータ要素を供給するステップを有する、請求項17記載の方法。
  25. 各ブロック行における所定の走査方向は左から右又は右から左であり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上である場合に、
    前記主要配列の新しいデータブロック行又はデータブロック列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するステップを有する、請求項17記載の方法。
  26. 新しい主要配列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第1のプレフェッチ・バッファを介して供給するステップを有する、請求項17記載の方法。
JP2007554724A 2005-02-15 2006-02-13 読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上 Active JP4861338B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05101101 2005-02-15
EP05101101.3 2005-02-15
PCT/IB2006/050461 WO2006087665A2 (en) 2005-02-15 2006-02-13 Enhancing performance of a memory unit of a data processing device by separating reading and fetching functionalities

Publications (2)

Publication Number Publication Date
JP2008530680A true JP2008530680A (ja) 2008-08-07
JP4861338B2 JP4861338B2 (ja) 2012-01-25

Family

ID=36685766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007554724A Active JP4861338B2 (ja) 2005-02-15 2006-02-13 読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上

Country Status (5)

Country Link
US (1) US7797493B2 (ja)
EP (1) EP1854011A2 (ja)
JP (1) JP4861338B2 (ja)
CN (1) CN100527099C (ja)
WO (1) WO2006087665A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016502211A (ja) * 2012-12-27 2016-01-21 インテル・コーポレーション 画像メモリアクセスの最適化
KR101627456B1 (ko) * 2015-03-16 2016-06-07 성균관대학교산학협력단 그래픽 사용자 인터페이스 품질 개선방법 및 그 방법을 수행하는 프로그램이 저장된 기록매체

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1854011A2 (en) 2005-02-15 2007-11-14 Koninklijke Philips Electronics N.V. Enhancing performance of a memory unit of a data processing device by separating reading and fetching functionalities
KR20090032261A (ko) * 2007-09-27 2009-04-01 삼성전자주식회사 움직임 추정에 기초하여 움직임 보상을 수행하는 영상 처리장치 및 그 방법
US8406314B2 (en) * 2007-11-28 2013-03-26 Sharp Laboratories Of America, Inc. Two-dimensional DPCM with PCM escape mode
CN102542525B (zh) * 2010-12-13 2014-02-12 联想(北京)有限公司 一种信息处理设备以及信息处理方法
KR20120066305A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 비디오 움직임 예측 및 보상용 캐싱 장치 및 방법
JP2013061846A (ja) * 2011-09-14 2013-04-04 Sony Corp 情報処理方法、情報処理システム、情報処理装置、及びプログラム
JP5973707B2 (ja) * 2011-10-14 2016-08-23 オリンパス株式会社 三次元内視鏡装置
US9224186B2 (en) * 2013-09-27 2015-12-29 Apple Inc. Memory latency tolerance in block processing pipelines
US9367467B2 (en) * 2014-08-22 2016-06-14 Nvidia Corporation System and method for managing cache replacements
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US9978118B1 (en) 2017-01-25 2018-05-22 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with data compression
US10242654B2 (en) * 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US10514753B2 (en) 2017-03-27 2019-12-24 Microsoft Technology Licensing, Llc Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
US10410349B2 (en) 2017-03-27 2019-09-10 Microsoft Technology Licensing, Llc Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
US10255891B2 (en) 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines
US10592663B2 (en) * 2017-12-28 2020-03-17 Intel Corporation Technologies for USB controller state integrity protection
US10884938B2 (en) * 2018-12-13 2021-01-05 International Business Machines Corporation Method and apparatus for prefetching data items to a cache
CN109710309B (zh) * 2018-12-24 2021-01-26 安谋科技(中国)有限公司 减少存储体冲突的方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0291776A (ja) * 1988-09-29 1990-03-30 Toshiba Corp 画像処理装置
DE69128741T2 (de) 1990-05-18 1998-07-16 Koninkl Philips Electronics Nv Mehrstufiger Befehlscachespeicher und Verwendungsverfahren dafür
JPH07219847A (ja) * 1994-01-31 1995-08-18 Fujitsu Ltd 情報処理装置
JP3717212B2 (ja) * 1995-10-27 2005-11-16 株式会社日立製作所 情報処理装置及び情報処理ユニット
US6091768A (en) * 1996-02-21 2000-07-18 Bru; Bernard Device for decoding signals of the MPEG2 type
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
US5912676A (en) * 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
US6112293A (en) 1997-11-17 2000-08-29 Advanced Micro Devices, Inc. Processor configured to generate lookahead results from operand collapse unit and for inhibiting receipt/execution of the first instruction based on the lookahead result
US6130680A (en) * 1997-12-01 2000-10-10 Intel Corporation Method and apparatus for multi-level demand caching of textures in a graphics display device
EP0926600B1 (en) 1997-12-24 2003-06-11 Texas Instruments Inc. Computer system with processor and memory hierarchy and its operating method
GB2335126B (en) * 1998-03-06 2002-05-29 Advanced Risc Mach Ltd Image data processing apparatus and a method
US6437789B1 (en) * 1999-02-19 2002-08-20 Evans & Sutherland Computer Corporation Multi-level cache controller
US6466227B1 (en) * 1999-09-01 2002-10-15 Mitsubishi Electric Research Laboratories, Inc. Programmable architecture for visualizing sampled and geometry data
US6957305B2 (en) * 2002-08-29 2005-10-18 International Business Machines Corporation Data streaming mechanism in a microprocessor
US20050262276A1 (en) * 2004-05-13 2005-11-24 Ittiam Systamc (P) Ltd. Design method for implementing high memory algorithm on low internal memory processor using a direct memory access (DMA) engine
CN100403803C (zh) * 2005-01-19 2008-07-16 威盛电子股份有限公司 具有快取的阶层式搜寻方法与系统
WO2006077365A1 (en) * 2005-01-19 2006-07-27 Biolipox Ab Indoles useful in the treatment of inflammation
EP1854011A2 (en) 2005-02-15 2007-11-14 Koninklijke Philips Electronics N.V. Enhancing performance of a memory unit of a data processing device by separating reading and fetching functionalities

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016502211A (ja) * 2012-12-27 2016-01-21 インテル・コーポレーション 画像メモリアクセスの最適化
KR101627456B1 (ko) * 2015-03-16 2016-06-07 성균관대학교산학협력단 그래픽 사용자 인터페이스 품질 개선방법 및 그 방법을 수행하는 프로그램이 저장된 기록매체

Also Published As

Publication number Publication date
EP1854011A2 (en) 2007-11-14
JP4861338B2 (ja) 2012-01-25
US20080147980A1 (en) 2008-06-19
US7797493B2 (en) 2010-09-14
WO2006087665A3 (en) 2007-01-18
CN100527099C (zh) 2009-08-12
CN101120325A (zh) 2008-02-06
WO2006087665A2 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4861338B2 (ja) 読み出し機能及びフェッチ機能を分けることによるデータ処理装置のメモリユニットの性能向上
US20100088475A1 (en) Data processing with a plurality of memory banks
JP4744510B2 (ja) データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置
US5287487A (en) Predictive caching method and apparatus for generating a predicted address for a frame buffer
KR101386767B1 (ko) 소스 이미지의 뒤틀린 버전을 표시하는 장치 및 방법
US7835441B2 (en) Supporting motion vectors outside picture boundaries in motion estimation process
CN101147396B (zh) 使用循环缓存存储器以曲折扫描顺序处理数据阵列的方法和设备
US7580042B2 (en) Systems and methods for storing and fetching texture data using bank interleaving
US6662288B1 (en) Address generating apparatus and motion vector detector
US6741256B2 (en) Predictive optimizer for DRAM memory
US20060250408A1 (en) Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment
EP1721298A2 (en) Embedded system with 3d graphics core and local pixel buffer
US20030122837A1 (en) Dual memory channel interleaving for graphics and MPEG
US6778179B2 (en) External dirty tag bits for 3D-RAM SRAM
US20030231176A1 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
KR100917749B1 (ko) 입력 픽셀 스트림 제공 방법 및 회로
KR100637614B1 (ko) 움직이는 2차원 윈도우로 액세스하는 캐시
EP1575298A1 (en) Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
US20150278132A1 (en) System and method for memory access
AU748471B2 (en) Data resampler for data processing system
US20050052459A1 (en) Method and system for rendering macropixels in a graphical image
US6903744B2 (en) Graphics processing system
JP2009003632A (ja) 画像処理システム
KR20010032263A (ko) 데이터처리시스템용 데이터리샘플러
Ng Dynamic memory mapping for window based display system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110922

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111104

R150 Certificate of patent or registration of utility model

Ref document number: 4861338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

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

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250