JP5991722B2 - パラレルスケーラ処理のための装置、及び方法 - Google Patents

パラレルスケーラ処理のための装置、及び方法 Download PDF

Info

Publication number
JP5991722B2
JP5991722B2 JP2014558779A JP2014558779A JP5991722B2 JP 5991722 B2 JP5991722 B2 JP 5991722B2 JP 2014558779 A JP2014558779 A JP 2014558779A JP 2014558779 A JP2014558779 A JP 2014558779A JP 5991722 B2 JP5991722 B2 JP 5991722B2
Authority
JP
Japan
Prior art keywords
vertical
pixels
scaler
horizontal
scalers
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.)
Active
Application number
JP2014558779A
Other languages
English (en)
Other versions
JP2015513837A (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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2015513837A publication Critical patent/JP2015513837A/ja
Application granted granted Critical
Publication of JP5991722B2 publication Critical patent/JP5991722B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Description

本発明は、全体として、図形情報処理に関し、特に、画像のスケーリング方法とスケーリングメカニズムに関する。
図形処理機能を有する電子装置は、近年、次第に普及してきた。特にこれらの装置は、平均的消費者にとって益々手頃になりつつある。これらの電子装置では、スケーラユニットなどの多くの様々な構成要素及び機能ユニットを利用して図形処理が実行されている。スケーラユニット、又はスケーラは、通常、画像や映像フレームのサイズをスケーリングするために使用されている。例えば、1つの特定のシナリオにおいて、原画像が、元のフォーマットサイズが800×600画素であって、特定のディスプレイタイプに合わせるために1024×768画素に拡大しなければならない場合がある。典型的には、スケーラはクロック当たり1画素について逐次的に動作し、スケーリングには、多くの場合、各画素に必要なデータの取り込み及び再取り込みを伴う。この種のスケーリングは非効率であり、図形処理システムのメモリに過大な負荷を与える。
一実施形態において、図形処理システムは、スケーラユニットを含むコンテンプレートであって、スケーラユニットは、複数の垂直方向スケーラ及び水平方向スケーラを含み得る。図形処理システムは、複数のステージのパイプラインを含むことができ、各ステージにおいて様々なタイプの処理が原画像に対して実行され得る。原画像は、スケーラユニットに送られる前に1つ以上のパイプラインステージによって処理又は操作(例えば、回転)され得る。一実施形態において、垂直方向スケーラはスケーラユニットのフロントエンドに位置し得る。垂直方向スケーラは、原画像の画素を回転ユニットから取り込む、又は受け取ることができる。回転ユニットは、図形処理パイプラインにおけるスケーラユニットに先行するステージであり得る。
一実施形態において、スケーラユニットは、4つの垂直方向スケーラを含み得、これら4つの垂直方向スケーラのそれぞれは、画素を垂直方向にスケーリングするように構成し得る。各垂直方向スケーラは、垂直方向のスケーリングを実行するためのマルチタップ・ポリフェーズフィルタを含み得る。各垂直方向スケーラは、マルチタップ・ポリフェーズフィルタの各タップに対応するマルチプレクサを含み得、マルチプレクサは、垂直方向スケーラに供給された画素列から適切な画素を選択するように構成され得る。
各垂直方向スケーラの出力は、対応する水平方向スケーラに送られ得る。水平方向スケーラは、垂直方向スケーラから受け取った画素の水平方向のスケーリングを実行するように構成し得る。一実施形態において、スケーラユニットにおける各垂直方向スケーラに対して1つの水平方向スケーラがあり得る。各水平方向スケーラは、マルチタップ・ポリフェーズフィルタ、及びマルチタップ・ポリフェーズフィルタのタップに連結されたシフトレジスタのチェインを含み得る。対応する垂直方向スケーラから出力された、垂直方向に拡散縮小された各画素は、水平方向スケーラ内のシフトレジスタのチェインを通してシフトされ得る。
一実施形態において、原画像は複数のタイルに分割し得る。スケーラユニットは、原画像をタイル単位で処理するように構成し得る。1つ以上のタイルに跨がる画素列が、画像の左上のタイルの左端列から始めて垂直方向スケーラによって取り込まれ得る。次に、タイルの左端の列が取り込まれた後で、次に右隣りの列が取り込まれ得る。以降、タイルの右端に到達するまで続く。次に、左上タイルの下にあるタイルが処理され、画像内の左端のタイルの列の下端までこのパターンが継続し得る。次に、右隣りのタイルの列が処理され、画像の全てのタイルの列が処理されるまでこの処理が継続し得る。
これら及び他の特徴及び利点は、本明細書に記載されている方法の以下の詳細な説明を考慮して当業者には明らかになるであろう。
本方法とメカニズムの上記の特徴及び利点は、以下の添付図面と関連させて以降の説明を参照することによってより理解され得よう。
図形処理パイプラインの一実施形態を示すブロック図である。 1つ以上の実施形態に係る複数のタイルに分割された原画像である。 1つ以上の実施形態に係る垂直方向スケーラのフロントエンドのブロック図である。 1つ以上の実施形態に係る垂直方向マルチタップ・ポリフェーズフィルタを示すブロック図である。 水平方向マルチタップ・ポリフェーズフィルタの一実施形態のブロック図である。 作業中タイル集合の一実施形態のブロック図である。 垂直方向スケーラユニットに供給された画素列の一実施形態のブロック図である。 最初の水平方向パスにおける垂直方向スケーラによる画素の選択の一実施形態のブロック図である。 第2の水平方向パスにおける垂直方向スケーラによる画素の選択の一実施形態のブロック図である。 垂直方向スケーラと水平方向スケーラとの間の接続の一実施形態のブロック図である。 原画像をスケーリングするための方法の一実施形態を示す概略フローダイアグラムである。 画素をスケーリングするための方法の一実施形態を示す概略フローダイアグラムである。 システムの一実施形態のブロック図である。 コンピュータ可読媒体の一実施形態のブロック図である。
以下の説明では、本明細書で提供されている方法及びメカニズムの完全な理解を提供するために、数多くの具体的な詳細が記載されている。しかし、当業者には、このような具体的な詳細がなくても、様々な実施形態を実行し得ることが認識されよう。いくつかの例においては、本明細書で記載されている方法を不明瞭にすることを避けるために公知の構造体、構成要素、信号、コンピュータプログラム命令、及び技術は詳細に示されていない。説明を簡略化及び明確化するために、図に示されている要素は必ずしも一定の比率で縮小して作図されていないことが理解されるであろう。例えば、一部の要素の寸法は、他の要素に対して誇張されている場合がある。
本明細書は、「一実施形態」という言及を含む。いろいろな文脈で現れる「一実施形態」というフレーズは、必ずしも同じ実施形態を意味しない。特定の特徴、構造、又は特性は、本開示と矛盾しない任意の好適な方法で組み合わせ得る。更に、本願全体を通じて用いられている「し得る」という語句は、強制的な意味(つまり、「しなければいけない」を意味する)よりむしろ、許容的な意味(つまり、「可能性を有する」を意味する)で用いられている。同様に「有する」、「含む」という語句は、含むことを意味するがそれに限定されない。
用語。以下のパラグラフでは、本開示(特許請求の範囲を含む)に記載されている用語の定義及び/又は文脈を提供する。
「備える」、「含む」。この用語は、オープン・エンドである。添付の特許請求の範囲で用いられたとき、この用語は、追加の構造体や手順を排除しない。次のような表現の請求項を考察すると、「複数の垂直方向スケーラを備える装置....」。このような請求項は、その装置が追加の構成要素(例えば、プロセッサ、キャッシュ、メモリコントローラ)を含むことを排除しない。
「構成されている」。様々なユニット、回路、又は構成要素は、1つまたは複数のタスクを実行するように「構成されている」と記載または特許請求される場合がある。このような文脈において、「構成されている」は、ユニット/回路/構成要素が、動作中に1つまたは複数のタスクを実行する構造体(例えば、回路)を含むことを示すことによって構造体を暗示する時に使用される。然るが故に、ユニット/回路/構成要素は、特定のユニット/回路/構成要素が現在動作可能でない(つまり、オンの状態ではない)時でも、タスクを実行するように構成されていると言える。「構成されている」という言葉と共に用いられるユニット/回路/構成要素はハードウェア、例えば、回路、動作を実行できるプログラム命令を格納するメモリ、等を含む。ユニット/回路/構成要素が1つまたは複数のタスクを実行するように「構成されている」と記載するのは、そのユニット/回路/構成要素について、米国特許法第112条第6段落を発動しないように明示的に意図している。更に、「構成されている」は、問題のタスクを実行し得る方法で動作するソフトウェア及び/又はファームウェア(例えば、FPGA又はソフトウェアを実行する汎用プロセッサ)によって操作される一般的な構造体(例えば、一般的な回路)を含み得る。「構成されている」は、1つ以上のタスクを実施又は実行するのに適した装置(例えば、集積回路)を組み立てるように製造工程(例えば、半導体組み立て設備)を構成することも含み得る。
「基づく」。本明細書で用いられているとき、この用語は、判定に影響を及ぼす1つ以上の要因を言い表す時に使用される。この用語は、判定に影響を及ぼし得る追加の要因を排除しない。即ち、判定はこれらの要因だけに基づくか、又は、少なくとも部分的にこれらの要因に基づき得る。「Bに基づきAを判定する」というフレーズを検討してみる。BはAの判定に影響を及ぼす要因であるが、このようなフレーズはAの判定がCにも基づくことを排除しない。他の例では、AはBだけに基づいて判定されることがあり得る。
図1を参照すると、図形処理パイプラインの一実施例を例示するブロック図が示されている。様々な実施形態において、パイプライン10は、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)、装置、プロセッサ、プロセッサコア、又はその他の様々な類似装置に組込み得る。いくつかの実施形態において、パイプライン10の1つ以上のインスタンスが、1つのSoC又はその他の装置内に含まれ得る。
原画像34はメモリ12内に格納でき、原画像34は静止画像またはビデオストリームの1フレームであり得る。他の実施形態において、原画像34は他の場所に格納し得る。原画像34は、メモリ12に格納でき、パイプライン10で処理し得る任意の数の画像、映像または図形データを代表するものである。メモリ12は、任意の数及びタイプのメモリ装置(例えば、ダイナミックランダムアクセスメモリ(DRAM)、キャッシュ)を代表するものである。
原画像34は、画素と呼ばれる多数の離散的な画像の要素で表され得る。デジタル画像処理において、画像または映像フレーム内の情報の最小単位体は「画素」と呼ぶことができる。画素は一般的に規則的な2次元グリッド内に配列されている。原画像34内の各画素は、1つ以上の画素成分によって表し得る。画素成分は、画像が表現される色空間内の各色の色値を含み得る。例えば、色空間は、赤−緑−青(RGB)色空間であり得る。したがって、各画素は、赤色の成分と、緑色の成分と、青色の成分とで表され得る。一実施形態において、色成分の数値は、ゼロから2N-1の範囲であり得、この場合、「N」は、数値を表すのに使用しているビット数である。各色成分の数値は、その画素における対応する色の輝度又は強度を表し得る。ルミナンス及びクロミナンス表現(YCrCb)などの他の色空間も使用し得る。更に、追加の画素成分を含めることができる。例えば、RGB成分とともに混色のためのアルファ値を含めてARGB色空間を形成し得る。各画素を格納するために用いるビット数は利用する特定のフォーマットに依存し得る。例えば、一部のシステムにおける画素は8ビットを必要とし、他のシステムにおける画素は10ビットを必要とするなど、画素当たり様々な数のビットが様々なシステムで用いられている。
パイプライン10は、画素当たり4個までの色成分を処理するために4個の別々のチャネル14〜20を含み得る。各チャネルは、回転ユニット、1組のタイルバッファ、1組の垂直方向スケーラ、及び1組の水平方向スケーラを含む。一実施形態において、チャネル14はアルファチャネルを処理し得る。他の実施形態において、チャネル14は利用されない場合があり、その代わりに、3つの色成分に対応する3つのチャネル16〜20だけが利用されることがある。リードダイレクトメモリアクセス(RDMA)ユニット22は、図形データ(例えば、原画像34)をメモリ12から読み込むように構成し得る。RDMAユニット22は、4個の回転ユニット、4個のタイルバッファ、及びDMAバッファ(非表示)を含み得る。4個のタイルバッファは、原画像34の回転済みタイルを格納するために使用し得る。
原画像の各色成分に対して複数の垂直方向スケーラ及び水平方向スケーラがあり得る。各組の垂直方向スケーラは対応するタイルバッファの組から画素列を取り込むことができる。別の実施形態において、画素はタイルバッファから垂直方向スケーラに送られ得る。チャネル毎の垂直方向スケーラの各組には、任意の数の垂直方向スケーラを含むことができる。一実施形態において、各色成分チャンネルについてパイプライン10の中に4個の別々の垂直方向スケーラがあり得る。他の実施形態において、他の数の垂直方向スケーラを色成分チャネル毎に用いることができる。
原画像34は、複数のタイルに分割でき、回転ユニットによってタイル単位で処理し得る。回転されたタイルは、各色成分チャネルにおけるタイルバッファの1つに格納し得る。一実施形態において、チャネル当たり4個のタイルバッファがあり得るが、別の実施形態においては、他の数のタイルバッファを使用し得る。一実施形態において、垂直方向スケーラは、画素列を対応するタイルバッファから取り込むことができる。画素列は、原画像の1つ以上のタイルに広がり得る。
画素列は、垂直方向スケーラのフロントエンドにあるマルチプレクサに送られ得る。各垂直方向スケーラは、1つのマルチプレクサが垂直方向スケーラのマルチタップ・ポリフェーズフィルタの各タップ用として、複数のマルチプレクサを含み得る。各マルチプレクサは、実行するスケーリングのタイプに基づいて判定される適切な画素を画素列から選択し得る。1組の垂直方向スケーラの各垂直方向スケーラは、1つ以上の画素を処理し、単一の垂直方向にスケーリングされた画素を出力するように構成し得る。
原画像34が処理される時、垂直方向スケーラは、デジタル微分解析機(DDA)を用いて原画像における現在の位置を把握するように構成され得る。DDAは、初期位置と、DDAが原画像の中を各ステップの間にいくつ原画像34の画素又は部分画素を移動するするかを決定するステップを含み得る。「部分画素」という用語は、ステップサイズが単一の画素より小さい時、又は、ステップサイズが小数点以下に小数部分を有するためDDAが画素間に陥る場合に画素の一部を意味する。1より小さいステップがアップスケーリングに相当し、1より大きいステップがダウンスケーリングに相当する、というように、ステップサイズはスケーリングの倍率を制御する。
原画像34は複数のタイルに分割でき、一実施形態において、この複数のタイルは16画素行×128画素列であり得る。しかし、タイルサイズは他の実施形態において異なる場合がある。原画像34の幅は、複数のタイルを用いて原画像34の各行を構成できるように、タイルの幅より大きい場合がある。また、原画像34の長さは、複数のタイルを用いて原画像34の各列を構成できるように、タイルの長さより大きい場合がある。
各組の垂直方向スケーラは、原画像34の左上のタイルから始めて、原画像34のタイルを1回に1個ずつ処理し得る。一実施形態において、垂直方向スケーラは、単一のクロックサイクルにおいて、原画像34の単一の列から画素を取り込むことができる。垂直方向スケーラは、単一の列から必要な数の画素を取り込むために必要な回数の取り込みを実行し得る。この必要な数の画素は、垂直方向スケーラの数と、各垂直方向スケーラのマルチタップ・ポリフェーズフィルタ内のタップの数と、実行されるスケーリングのタイプと、に基づき得る。いくつかの実施形態において、この必要な数の画素は、原画像34の1つより多くのタイルに跨る場合がある。
タイルの列からすべての画素をスケーリングした後、垂直方向スケーラはタイル内を右に1列移動し、この列から画素を取り込むことができる。垂直方向スケーラは、タイルの右端に到達するまで右に向かって移動し続けることができる。次に、垂直方向スケーラはタイルの下の方の行に移動し、タイル全体を取り込むまでこのプロセスを続行することができる。いくつかの場合、最初のパスで処理される画素数が、タイルの1列の画素数と等しいか大きい場合、そのタイルについて単一のパスしか必要としない場合がある。1つのタイルを垂直方向にスケーリングした後、垂直方向スケーラは、直前に完了したタイルが原画像の底部タイルでない場合、直前に完了したタイルの真下にあるタイルに移動する。その場合、原画像から1つのタイル列全部を取り込み、垂直方向にスケーリングした後で、垂直方向スケーラは右隣のタイル列に移動し、原画像全体からすべての画素が取り込まれ、垂直方向にスケーリングされるまでこのパターンを続ける。
各垂直方向スケーラは、各クロックサイクルで垂直方向にスケーリングされた画素を生成し、その画素を対応する水平方向スケーラに送るように構成され得る。一実施形態において、各色成分チャネルについてパイプライン内に4個の別々の水平方向スケーラがあり得、他の実施形態においては、色成分チャネル毎に他の数の水平方向スケーラが用いられる場合がある。様々な実施形態において、パイプライン10の各色成分チャネル内に各垂直方向スケーラに対応する水平方向スケーラがあり得る。
各水平方向スケーラは、垂直方向にスケーリングされた画素を対応する垂直方向スケーラから受け取ることができ、この垂直方向にスケーリングされた画素は、シフトレジスタのチェインの入力に連結され得る。水平方向スケーラのマルチタップ・ポリフェーズフィルタの各タップにシフトレジスタがあり得る。水平方向スケーラは、受け取った画素から水平方向にスケーリングされた画素を生成し得る。
各色成分チャネルにおいて、水平方向スケーラは垂直方向及び水平方向にスケーリングされた画素を正規化ユニット24に出力し得る。一実施形態において、正規化ユニット24は、受け取った画素値を0.0〜1.0の範囲に変換するように構成し得る。例えば、一実施形態において、水平方向スケーラから出力された10ビット画素値は0〜1023の数値を取り得る。このような実施形態において、正規化ユニット24は水平方向スケーラから受け取った数値を1023で割って数値の範囲を変更し得る。他の実施形態において、正規化ユニット24は、画素値を表すために用いられるビット数に応じて他の数値で割り得る。また、正規化ユニット24は、1つ以上の画素値から任意のオフセットを除去するように構成し得る。図1に示すように、チャネル14の水平方向スケーラはディザユニット32に連結されている。一実施形態において、チャネル14はアルファチャネルを処理し、チャネル14内の水平方向スケーラの出力はディザユニット32に送られ得る。
正規化ユニット24は、正規化された画素値を色空間変換(CSC)ユニット26に送り得る。CSCユニット26は、2つの異なる色空間の間で変換するように構成し得る。例えば、一実施形態において、原画像34において画素値はRGB色空間によって表すことができる。この実施形態において、パイプライン10の出力は、YCbCr色空間にある必要があり、CSCユニット26は、画素をRGB色空間からYCbCr色空間に変換し得る。他の実施形態において、様々な他の色空間を利用でき、CSCユニット26は、画素をこれらの様々な色空間の間で変換するように構成し得る。
一実施形態において、CSCユニット26は、画素をクロマ・ダウンサンプリングユニット28に送り得る。クロマ・ダウンサンプリングユニット28は、実施するダウンサンプリングのタイプ(例えば、4:2:2、4:2:0)に基づいて画素の彩度成分をダウンサンプリングするように構成し得る。例えば、一実施形態において、変換先画像が4:2:0構造を用いると指定されている場合、クロマ・ダウンサンプリングユニット28は、原画像の彩度画素成分の垂直方向及び水平方向のダウンサンプリングを実行し得る。いくつかの実施例において、彩度画素成分のダウンサンプリングがない場合、クロマダウンサンプリングユニット28はパススルーユニットであり得る。
クロマダウンサンプリングユニット28は、再フォーマットユニット30に連結し得る。再フォーマットユニット30は、正規化ユニット24によって実行された正規化を反転するように構成し得る。したがって、画素値は、画素が正規化ユニット24によって正規化される前に用いられていた以前の数値範囲に戻すことができる。画素は、再フォーマット化された後でディザユニット32を通過でき、ディザユニット32は、雑音を挿入して量子化誤差をランダム化し得る。ディザユニット32からの出力は、処理された変換先画像であり得る。様々な実施形態において、この処理された変換先画像は、フレームバッファ、メモリ12、ディスプレイコントローラ、ディスプレイ、又は別の場所に書き込み得る。他の実施形態において、図形処理パイプライン10は、他のステージまたはユニットを含むことがあり、及び/又は図1に示すユニットの一部は異なる順序で配置され得る。パイプライン10は、図形処理パイプラインの一実施例であり、本明細書に記載の方法及びメカニズムは、異なるタイプの別の図形処理パイプラインとともに使用し得る。
他の実施形態は、図1に示す構成要素の部分集合又は上位集合、及び/又は他の構成要素を含む、構成要素の他の組み合わせを含み得ることに留意願いたい。特定の構成要素の1つのインスタンスが図1で示されているが、他の実施形態では特定の構成要素の2つまたはそれ以上のインスタンスを含み得る。同様に、本明細書の全体にわたって、1つのインスタンスしか示されていない場合であっても、特定の構成要素の2つまたはそれ以上のインスタンスを含むことがあり、及び/又は、複数のインスタンスが示されていても、1つのインスタンスしか含まない実施形態が用いられることがある。
次に、図2を参照すると、複数のタイルに分割された原画像の一実施形態のブロック図が示されている。一実施形態において、原画像34は水平方向にM個のタイルに、及び垂直方向にN個のタイルに分割し得る。第1列のタイルは、(0,0)、(0,1)など、(0,N−1)まで番号が付けられている。第1行のタイルは、(0,0)、(1,0)など、(M−1,0)まで番号が付けられている。
個々のタイルのサイズは、実施形態ごとに変わり得る。例えば、一実施形態において、個々のタイルは、各行が128画素を含むように、16行×128列であり得る。別の実施形態において、画像のタイル行は、タイルの左側と右側の隣接するタイルから追加の7個の画素を取り込むことによって142画素まで拡大し得る。原画像34の左端では、左端の画素が7回反復され、原画像34の右端では、右端の画素が7回反復され得る。タイルの左右端の隣接するタイルから画素を取り込むこと(又は、端部画素の反復)によって、タイルの端の画素が水平方向にスケーリングされる時に、タイルの左端に対して左側に7個の追加画素が、及びタイルの右端に対して右側に7個の追加画素があるようにして、各水平方向スケーラ内の15タップのポリフェーズフィルタを容易にするために実施し得る。これによって、15タップのポリフェーズフィルタは一貫した方法で端部画素をスケーリングできる。他の実施形態において、水平ポリフェーズフィルタに異なる数のタップを用いる場合は、異なる数の画素をタイルの端部で取り込み又は反復し得る。
一実施形態において、スケーラユニット内のアーキテクチャは複数の垂直方向スケーラから始まり、複数の水平方向スケーラがそれに続き得る。一実施形態において、画素データに対して並列して動作する4個の垂直方向スケーラがあり得る。他の実施形態において、入力画素データに対して並列して動作する他の数の垂直方向スケーラを用い得る。垂直方向スケーラアーキテクチャ/ブロックは、画像の上部左、タイル(0,0)から開始し、タイル(0,N−1)に到達するまで第1列を下方に移動することによって、タイル上を動作し得る。第1列上を動作した後、垂直方向スケーラは次の列の上部、タイル(1,0)に移動し得る。垂直方向スケーラは第2列のタイルをその列の底部まで縦走して、画像の底部右のタイル(M−1,N−1)に到達するまでこのパターンを続け得る。
次に図3を参照すると、垂直方向スケーラのフロントエンドの一実施形態のブロック図が示されている。垂直方向スケーラのフロントエンドは、画素を原画像から取り込むためのフェッチユニット36を含め得る。一実施形態において、フェッチユニット36は、図形パイプラインの前のステージで処理された画素を格納し得るタイルバッファから画素を取り込むことができる。別の実施形態において、原画像はメモリに格納でき、フェッチユニット36は画素をメモリから取り込むことができる。用語「原画像」は、メモリに格納された画像、又は図形処理パイプラインの前のステージ(例えば、回転ユニット)から受け取った画像を意味することができる。付言すれば、用語「原画像」は実際の画像、又はビデオストリームからのフレームを意味することがある。更に、用語「フェッチユニット」及び「フェッチロジック」は、本開示全体を通して互換的に用いられている。
一実施形態において、スケーラユニット全体内の全ての垂直方向スケーラに対して単一のフェッチユニット36があってもよい。別の実施形態において、各垂直方向スケーラは別々のフェッチユニットを有する場合がある。フェッチユニット36は1列の画素を取り込み、1列の画素をマルチプレクサ40A〜Eに供給し得る。マルチプレクサ40A〜Eは、垂直方向スケーラ内で用い得る任意の数のマルチプレクサの代表である。一実施形態において、垂直方向スケーラ内のポリフェーズフィルタの各タップにマルチプレクサがあり得る。各マルチプレクサ40A〜Eからの出力は、対応するポリフェーズフィルタのタップに送られ得る。
制御論理38は、マルチプレクサ40A〜Eに対する選択信号を制御する。制御論理38は、デジタル微分解析機(DDA)を用いて原画像内の現在の画素位置を把握し得る。DDAは、初期位置、及び作業中タイル集合を通る各パスにおいてDDAが移動する原画像の画素または部分画素の数を決定するステップを有する。一実施形態において、DDA値及びステップサイズは、制御論理38内に位置するレジスタに格納され得る。ステップサイズはスケーリング倍率を制御する。1未満のステップはアップスケーリングになり、1より大きいステップはダウンスケーリングになる。
一実施形態において、初期のDDA値は4.20の2の補数形式で24ビットレジスタから読み取り得る。4.20形式は、20ビットの小数部分を伴う4ビットの整数部分として定義され、「.」は、値の整数部分と小数部分を分離する小数点を表す。初期DDA値の4.20形式は、原画像の画素(0,0)を原点として最小又は最大初期DDA値−8〜+7を表し得る。スケーラが原画像の入力画素を順に反復処理するにつれて、ステップ値が現在のDDA値に追加され、次のDDA値を生成することができる。一実施形態において、DDA値の小数部分のビット15が「1」の場合に、4ビット係数インデックス(ビット19:16)が切り上げられるような、丸め処理が実装され得る。また、DDA値の小数部の最上位ビット(19)が「1」の場合、DDA値の4ビット整数部は切り上げ得る。一実施形態において、最大ステップ値は4であり得る。この実施形態において、ステップ値は、3.20形式の23ビット符号なし数であり、このステップ値は2の補数計算で用いる4.20形式にゼロ拡張され得る。他の実施形態において、最大ステップ値は、他の数値であり得る。
別の実施形態において、DDA値は、16.20形式の36ビットの2の補数であり得る。他の実施形態において、DDA値の他のサイズ及び表現を利用し得る。16.20形式を用いてDDA値を表す場合、16ビット整数部(丸め処理後)を用いて原画像の画素位置を決定することができる。垂直方向の場合8で除し、水平方向の場合128で除するこの数値は、どのタイルが参照されているかを示し得る。20ビットの小数部分を係数テーブルのインデックスとして用い得る。一実施形態において、16個の数値が係数テーブルに格納されており、この数値は16個のフェーズに相当する。この実施形態において、小数部分(丸め処理後)の上部4ビットを用いてタップ当たり16個の係数から選択し得る。他の実施形態において、他のフェーズ数を係数テーブルに格納でき、他のビット数の小数部分を用いてこれらのフェーズから選択し得る。
垂直方向スケーラの出力は水平方向スケーラの入力となり、水平方向スケーラは15タップのポリフェーズフィルタを用い得る。水平方向スケーラのタップは、シフトレジスタのように入力され得る。フィルタの説明をすると、一実施形態において、各行の最初の画素をタイルの左側の7個の画素に繰り返し、各行の最後の画素をタイルの右側の7個の画素に繰り返すことによって、タイルは水平方向に拡大され得る。一実施形態において、制御論理38は原画像の端部に関しては、必要なだけマルチプレクサの出力として端部画素を選択するように構成し得る。
次に図4を参照すると、垂直方向マルチタップ・ポリフェーズフィルタの一実施形態のブロック図が示されている。各垂直方向スケーラは、垂直方向マルチタップ・ポリフェーズフィルタ50を含み得る。一実施形態において、マルチタップ・ポリフェーズフィルタ50は5タップの垂直方向スケーラであり、5個のタップのそれぞれは係数テーブルを含むことができる。一実施形態において、各係数テーブルは16個の項目を含むことができる。画素値は画素変数Yを中心として、フィルタ50に入力される画素値は、Y−2、Y−1、Y、Y+1、Y+2を含み得る。各画素には、テーブル52〜60の対応する係数テーブルから得た係数を掛け合せることができる。次に、5個の乗算器62A〜Eの出力及び丸め項64が加算器66によって加算され、結果がクランプユニット68によってクランプされ得る。クランプユニット68の出力は垂直方向にスケーリングされた画素であり、この数値は、対応する水平方向スケーラの入力に送られ得る。一実施形態において、パイプライン化された論理が、乗算器62A〜Eと加算器66を実装するために用いられ得る。
一実施形態において、垂直方向スケーラの入力画素成分は10.0符号なし形式の10ビットであり得る。いくつかの実施形態において、10.0成分は、11ビット(11.0)の2の補数に拡大し得る。一実施形態において、(係数テーブル内の)係数は4.12の2の補数形式の16ビットであり得る。入力成分及び対応する係数をフィルタの各タップで掛け合わせて、27ビット(15.12)の2の補数が得られる。5個のタップ乗算器の出力は(丸め成分とともに)一緒に加算され30ビット(18.12)の2の補数になり得る。次に、ゼロ未満又は1より大きい画素値を14ビット(10.4)符号なし数にクランプし得る。ゼロ未満の数値は全てゼロにクランプされ、1023以上(≧)の数値は1023(0×3FF0)にクランプされ得る。
次に図5を参照すると、水平方向マルチタップ・ポリフェーズフィルタの一実施形態のブロック図が示されている。各水平方向スケーラは、マルチタップ・ポリフェーズフィルタ90を含み得る。一実施形態において、フィルタ90は、15タップのポリフェーズフィルタであり得る。他の実施形態において、フィルタ90は、他の数のタップを含み得る。各タップは、対応する係数テーブル84〜98を含み得る。一実施形態において、各係数テーブルは16個の係数項目を含み得る。他の実施形態において、各係数テーブルは他の数の係数項目を含み得る。
図5に示すように、画素値は変数Xを中心として、画素値は、X+7、...、X+1、X、X−1、...、X−7を含み得る。シフトレジスタ70〜82のチェインの各画素は、対応する係数テーブル84〜98から得た係数に掛け合わせ得る。係数は、係数テーブル84〜98内のプログラマブルレジスタに格納し得る。乗算器100A〜Iの出力及び丸め項102が加算器104で足し合わされ、加算器104の結果はクランプユニット106でクランプされ得る。クランプユニット106の出力は水平方向にスケーリングされた画素であり、この数値は正規化ユニット(非表示)の入力、別のパイプラインステージ、又は別の場所に送られ得る。一実施形態において、水平方向スケーラは、乗算器100A〜I及び加算器104を実装するためにパイプライン化された論理を用い得る。
一実施形態において、4個の水平方向スケーラがあり得る。他の実施形態において、他の数の水平方向スケーラが用いられ得る。4個の水平方向スケーラは、全て、同じ水平方向DDA値であるが異なる垂直方向画素について動作し得る。いくつかの場合、垂直方向スケーラが列の左端の画素を水平方向スケーラに送った時、水平方向スケーラは画素を水平方向フィルタの15個のタップ全てに一括して書き込み得る。水平方向スケーラは、また、初期DDA X値がマイナスの場合に画素を正しく複製することを確実にするために中央のタップが列開始画素−7を指すように設定し得る。他の場合、水平方向スケーラがマルチタップのために端部画素を反復することなく端部画素について動作できるように、追加の画素を隣接するタイルから取り込むことができる。
垂直方向スケーラが画素を処理し、画素を水平方向スケーラに送ると、画素がタップ上をシフトされ、中央タップのポインターが増加する。水平方向スケーラは、中央タップを現在のDDA値によって要求されている画素と比較し、値が一致すると、水平方向スケーラは出力画素の生成を開始し得る。水平方向スケーラがスケーリングされた出力画素を生成している任意のクロックにおいて、次のDDA値も現在の中央タップ値と一致した場合、水平方向スケーラは次の画素にシフトインせず、対応する垂直方向スケーラを次の画素に押し込むことを停止する。
新しい列のタイルを最初に通るパスの際に、水平方向スケーラは同じ列の後続のパスの開始時にこの数値を再ロードする必要があるので、DDA値のコピーをスナップすることがある。一実施形態において、垂直方向スケーラは、新しい列が開始する場合水平方向スケーラに通知し得る。後続の列については、次のDDA値は現在のDDA値にDDAステップサイズを加えた数値であり得る。
一実施形態において、水平方向スケーラは1つ以上の境界状態を判定するように構成し得る。水平方向シフトチェーンの第1のタップは、それが原画像の右端の画素であるかどうかを検出し、この状態検出に対応して、水平方向シフトレジスタチェーンはそれ以上の画素を垂直方向スケーラから受け付けないことがある。水平方向スケーラは、DDA値を増分し続け、タップ値をシフトし続けるが、新しい画素がシフトレジスタにシフト入力されないため、画像の右端の画素がシフトレジスタチェーンの入力で複写され得る。一実施形態において、各水平方向スケーラは、生成された画素数がスケーリング後の出力画像に期待される画素数と等しいかどうかも検出し得る。水平方向スケーラがこの状態を検出した場合、水平方向スケーラは出力画素の生成を停止し、画像の終端に到達したことを示すフラグを設定し得る。次に、水平方向スケーラは、垂直方向スケーラが開始する新しいパスを待ち得る。
一実施形態において、水平方向スケーラに対する入力画素成分は、10.4符号なし形式の14ビットであり、これらの成分は、15ビット(11.4)の2の補数値まで拡大し得る。タップ係数は、16ビット(4.12)の2の補数値であり得る。この入力及び係数を掛け合わせて31ビット(15.16)の2の補数値が得られる。15タップの乗算器の出力は、丸め成分とともに一緒に加算され、35ビット(19.16)の2の補数が生成され得る。この後、画素値は14ビット(10.4)の符号なし数にクランプされ得る。
上記の実施例と様々な成分及び数値の様々な形式及びビット長は、1つの可能な実施形態の代表である。他の実施形態において、垂直方向スケーラ及び水平方向スケーラ内の様々な種々の数値の形式及びビット長は変わり得ることが留意される。
次に図6を参照すると、1つ以上の実施形態に係る作業中タイル集合が示されている。一実施形態において、タイルのサイズは、128×8画素であり、作業中タイル集合は、3個のタイル(タイル112、120、128)を含み得る。一実施形態において、作業中タイル集合は、回転ユニットの出力ステージにあるタイルバッファに格納され得る。タイルバッファは、スケーラユニットの入力ステージにも連結され得る。一実施形態において、タイル112、120、128のそれぞれは、別々のタイルバッファに格納され得る。図6に示す実施例は、説明目的に限定したものであり、他の実施形態において、作業中タイル集合は、他の数のタイルを含む場合があり、タイルのサイズが変わることがある。
他の実施形態において、作業中集合の選択及びサイズは、各垂直方向スケーラのマルチタップ・ポリフェーズフィルタにおけるタップの数、及びスケーラユニットにおける垂直方向スケーラの数に依存し得る。作業中タイル集合の選択及びサイズは、スケーラユニットによって実行される垂直方向アップスケーリングまたはダウンスケーリングの倍率にも依存し得る。これらの要因は、各クロックサイクルにおいて取り込んでスケーラユニット内の複数の垂直方向スケーラに供給する必要がある画素の数を決定し得る。例えば、一実施形態において、スケーラユニットには4個の垂直方向スケーラがあり、各垂直方向スケーラは5タップのポリフェーズフィルタを含み、垂直方向スケーラは4倍のダウンスケーリングを行い得る。この実施形態において、スケーラユニット内の垂直方向スケーラの全てのタップについて十分な画素を取り込むために、少なくとも17個の画素が単一のクロックサイクルにおいて単一の列から取り込まれる必要がある。各タイルは列当たり8個の画素を含むので、この実施形態において少なくとも3個のタイルを取り込む必要がある。
4個の別々の垂直方向スケーラには、3個のタイルから垂直列全体の24画素が供給され得る。各垂直方向スケーラが単一の垂直方向にスケーリングされた画素を出力するために5個の画素を選択し使用するように、垂直方向スケーラのそれぞれは5タップのポリフェーズフィルタであり得る。24画素の垂直方向の列は垂直方向スケーラに供給され、4個のポリフェーズフィルタの20個のタップのそれぞれは、スケーリングされた出力を生成するのに必要な画素を選択し得る。一実施形態において、マルチタップ・ポリフェーズフィルタの各タップは、画素列から選択するためのマルチプレクサを含み得る。最上部の垂直方向スケーラは上部の画素上で動作し、残りの3個の垂直方向スケーラのそれぞれは隣接する垂直方向スケーラより1ステップ下で動作し、クロック当たり合計4個の隣接した、垂直方向にスケーリングされた画素を生成する。
ステップサイズが4の場合に対応したダウンスケーリングの一実施例において、各垂直方向スケーラはクロック当たり4個の画素を消費して、クロック当たり1個の垂直方向にダウンスケールされた画素を生成する。同様に、各水平方向スケーラは、原画像がクロック当たり16画素の正味速度で消費されるように、4クロック当たり1個の画素を生成し得て、スケーリングされた出力画像はクロック当たり1画素の正味速度で生成される。
アップスケーリングの一実施例において、各垂直方向スケーラはクロック当たり0.25個の画素を消費して、クロック当たり1個の垂直方向にアップスケールされた画素を生成する。各水平方向スケーラは、入力画像がクロック当たり1画素の正味速度で消費されるように、クロック当たり1個の画素を生成し、スケーリングされた出力画像はクロック当たり4個の画素の正味速度で生成される。
画像の開始点で、垂直方向スケーラは、フェッチロジックが3個の128×8バッファを画素で満たして、それらを24画素の列として垂直方向スケーラに供給するまで待ち得る。スケーラ制御論理は4個の垂直方向スケーラのために最初の4個のDDA値を計算し得る。第1の垂直方向スケーラは第1のDDA値(DDA−Init)で動作を開始し、第2の垂直方向スケーラは(DDA−Init+1ステップ)で動作を開始し、第3の垂直方向スケーラは(DDA−Init+2ステップ)で動作を開始し、第4の垂直方向スケーラは(DDA−Init+3ステップ)で動作を開始し得る。
フェッチロジックは、クロック当たり24画素の列を垂直方向スケーラに供給し、水平方向に右端の画素に到達するまでステップを進める。現在の組の4個のDDAステップについて動作しながら、スケーラロジックは次の組のステップを見ることができる。次の反復において現在の先頭のタイルバッファが必要ない場合、スケーラロジックはもはやバッファを必要としないという信号をフェッチロジックにアサートし得る。この信号がアサートされたのに応えて、フェッチロジックが右端の画素を垂直方向スケーラに供給した時、フェッチロジックは、原画像の次のタイルを取り込み、作業中集合に追加することができる。この信号がアサートされていない場合、フェッチロジックは作業中集合の次の水平方向パスのために、現在のバッファの組をスケーラ制御論理に供給し続ける。
このプロセスは、スケーラ制御論理が原画像の底部端を検出するまで続く。スケーラ制御論理が検出する多くの様々な境界状態が存在し得る。1つの状態は、いずれかの垂直方向スケーラのタップが原画像の最後の画素を超える画素を必要とする場合である。この状態が検出された場合、スケーラ制御論理は底部画素をそれを必要とするいずれかのタップに供給することによって複製し得る。一実施形態において、スケーラ制御論理は、垂直にスケーリングされた画素がいくつ生成されたかも把握し得る。次の反復時に、全ての垂直方向スケーラがスケーリングされた出力画像の終端部を越えて画素を生成しようとしている場合、スケーラ制御論理は「現在の列が完了」という信号をフェッチロジックにアサートし得る。
次のタイルの列に移動する時、垂直方向スケーラのDDAが再び次の列の画像の最上部にあるので、垂直方向スケーラのDDAにはDDA−Init(4個の別々の垂直方向スケーラについて+0、1、2、及び3ステップ)が再設定される。垂直方向スケーラは、水平方向スケーラの制御論理が画像の右端に到達したと判定するまで列を処理し続け得る。原画像の右下部のタイルに到達すると、垂直方向スケーラは「原画像が完了」という信号をアサートし得る。いくつかの場合、フェッチロジックは、垂直方向スケーラ及び水平方向スケーラから独立してこれを判定し得る。
作業中タイル集合は、またタイル112、120、128の左側のセクション114、122、130に追加の画素をそれぞれ含み得る。これらの7個の追加の画素は、水平方向スケーラのマルチタップ・ポリフェーズフィルタに対応するために取り込まれ、作業中タイル集合の一部として含まれ得る。一実施形態において、水平方向スケーラは15タップのポリフェーズフィルタを含み得る。このような実施形態において、タイルの左側の7個の追加の画素は、作業中タイル集合に含まれ得る。水平方向スケーラがタイル112の左端の画素に中心を置くとき、セクション114の追加の7個の画素が通常の方法で水平方向のスケーリングを実行するのに十分な画素を15タップフィルタに投入されることを可能にし得る。他の実施形態において、タイルの左側の追加の画素が取り込まれない時または作業中タイル集合に含まれない時は、端部画素がスケーラのフェッチロジックにより繰り返され得る。15タップのフィルタがタイル112,120,128の右端の画素にそれぞれ中心を置く時、右側のセクション116、124、132の追加の7個の画素は同様の役目を果たす。
セクション118、126、134を含む作業中タイル集合の最も右側のセクションは、図形処理パイプラインの後のステージにおけるダウンスケーリングに対応するために作業中タイル集合に含まれ得る。クロマダウンスケーリングが後のステージで可能な場合、クロマダウンスケーリングユニットが正しく機能するように、スケーリングユニットによって生成される各タイルは各行に偶数の画素を有する必要がある。4:4:4の4:2:2への変換などのクロマダウンサンプリングの一実施例において、1個の画素を作るために2個の水平方向画素が用いられる。したがって、各行は偶数の画素を有することが必要となる。実行し得るスケーリングのタイプは、各実施形態によって異なり、スケーリングのタイプによって、多くの場合奇数の画素が生成され得る。これらの場合、スケーリングされたタイルの各行が偶数の画素を有するように、セクション118、126、134の追加の画素を用いて追加の画素を生成し得る。他の実施形態において、セクション118、126、134は作業中タイル集合から除外され得る。垂直方向スケーラがタイル112の全ての画素を使い終わったら、タイル112は退場させられ得る。次に、フェッチユニットが次のタイルを取り込み、このタイルをタイル120と128とともに新しい作業中タイル集合として含み得る。
次に、図7を参照すると、垂直方向スケーラユニットに供給される画素列の一実施形態のブロック図が示されている。垂直方向スケーラ142は垂直方向スケーラユニット140の最上部にあり、他の3個の垂直方向スケーラ144〜148のそれぞれは、隣接する垂直方向スケーラより1DDAステップだけ下であり得る。列の画素は、タイル(X,Y)、(X,Y+1)、(X,Y+2)に跨がりうる。図7に示す画素は、原画像の単一の列から来たものであり、この単一の列は、図6に示すような作業中タイル集合から来ている。一実施形態において、作業中タイル集合から来た列の全体は24画素を含み得る。他の実施形態において、作業中タイル集合から来た列の全体は、他の数の画素を含み得る。例えば、別の実施形態において、4個のタイルから成る作業中タイル集合を使用でき、各タイルは16行を有し、したがって、この実施形態の列全体の画素は64画素であり得る。
次に図8を参照すると、最初の水平方向パスにおける垂直方向スケーラによる画素選択の一実施形態のブロック図が示されている。垂直方向スケーラユニット140は、4個の垂直方向スケーラ142〜148を含み、破線は、各垂直方向スケーラが使用する画素を示す。垂直方向スケーラ142は、タイル(X,Y)の行0の画素に中心を置き、垂直方向スケーラ144は、タイル(X,Y)の行2の画素に中心を置き、垂直方向スケーラ146は、タイル(X,Y)の行4の画素に中心を置き、垂直方向スケーラ148は、タイル(X,Y)の行6の画素に中心を置く。この実施例において、初期DDA値は0であり、ステップサイズは2である。一実施形態において、タイル(X,Y)の行0の画素に中心を置く垂直方向スケーラ142の5タップのフィルタに対応するために、タイル(X,Y−1)の底部の2個の画素が画素列に(列の最上部に)含まれ得る。別の実施形態において、タイル(X,Y)の行0の画素は垂直方向スケーラ142の最上部3個のマルチプレクサによって反復して選択することができ、5タップのポリフェーズフィルタの最上部3個のタップにより使用され得る。
一実施形態において、垂直方向スケーラ142〜148の各垂直スケーラは、5タップのポリフェーズフィルタを含み得る。垂直方向スケーラ142〜148の各垂直方向スケーラは、また5個のマルチプレクサを含むことができ、各マルチプレクサはポリフェーズフィルタの対応するタップのための画素を選択するように構成される。図8に示す実施例において、各垂直方向スケーラによって選択される5個の画素は、順番に5個のタップに割り当てられる。例えば、タイル(X,Y−1)の行6の画素は、垂直方向スケーラ142のポリフェーズフィルタの最上部タップに連結されたマルチプレクサによって選択され、タイル(X,Y−1)の行7の画素は、そのポリフェーズフィルタの最上部タップから2番目のタップに連結されたマルチプレクサによって選択されるなどである。他の垂直方向スケーラのそれぞれは、同様にして、対応するポリフェーズフィルタのタップに連結されたマルチプレクサを用いて画素を選択し得る。
図8に示す実施例は、倍率2の垂直方向ダウンスケーリングに対する画素列からの画素の選択を示す。垂直方向ダウンスケーリングの倍率2は、スケーリングされた画像の行数が、原画像の行数の半分であることを示す。この実施例は説明のみを目的としたものであり、他の実施形態において、垂直方向スケーラ142〜148は異なる画素に割り当てることができ、スケーラ間の間隔は、実行するダウンスケーリングまたはアップスケーリングのタイプによって異なり得る。
一実施形態において、垂直スケーラ142〜148は、作業中タイル集合の左端から開始し、最初の水平方向パスにおける作業中タイル集合を右に水平方向に移動しながら画素列を処理し得る。作業中タイル集合を左端から右端まで移動し終わった後、垂直方向スケーラ142〜148のそれぞれは、作業中タイル集合をDDAステップサイズの4倍分だけ下に移動し得る。例えば、この特定のダウンスケーリングの例では、DDAステップサイズは2であり、作業中タイル集合の右端に到達した後、垂直スケーラユニット140の各垂直スケーラは画素列を8画素分下に移動し、作業中タイル集合を通る2番目の水平方向パスにおいてこれらの場所から画素を選択し得る。
次に図9を参照すると、作業中タイル集合を通る第2の水平方向のパスの間に作業中タイル集合から画素を選択する一実施形態のブロック図が示されている。2番目の水平方向パスにおいて、垂直方向スケーラユニット140の各垂直方向スケーラは、画素列の前回の位置より4 DDAステップサイズ下の位置から画素を選択し得る。2番目のパスについては、垂直方向スケーラ142はタイル(X,Y+1)の行0の画素に中心を置き、垂直方向スケーラ144はタイル(X,Y+1)の行2の画素に中心を置き、垂直方向スケーラ146はタイル(X,Y+1)の行4の画素に中心を置き、垂直方向スケーラ148はタイル(X,Y+1)の行6の画素に中心を置く。作業中タイル集合を通る水平方向パスのこのプロセスは、タイルの列の全体がスケーリングされるまで原画像を下に移動し続け得る。次に、このプロセスは、右隣のタイルの列の最上部に移動し、その列を下に移動し、全体の画像が垂直方向にスケーリングされるまでこれを続ける。この実施例は、図8に示す実施例の続きであり、DDAステップサイズは2で2倍の垂直方向ダウンスケーリングに相当する。他の実施形態では、他のステップサイズ、ダウンスケーリング又はアップスケーリング倍率、他の取り込み画素数、及び他の数の垂直方向スケーラが用いられ得る。
次に図10を参照すると、垂直方向スケーラと水平方向スケーラとの間の接続の一実施形態のブロック図が示されている。一実施形態において、垂直方向スケーラユニット140の各垂直方向スケーラ142〜148は、水平方向スケーラユニット150の対応する水平方向スケーラ152〜158に連結され得る。垂直方向スケーラ142はクロックサイクル当たり単一の垂直方向にスケーリングされた画素を水平方向スケーラ152に出力し、垂直方向スケーラ144はクロックサイクル当たり単一の垂直方向にスケーリングされた画素を水平方向スケーラ154に出力し、垂直方向スケーラ146は、クロックサイクル当たり単一の垂直方向にスケーリングされた画素を水平方向スケーラ156に出力し、垂直方向スケーラ148はクロックサイクル当たり単一の垂直方向にスケーリングされた画素を水平方向スケーラ158に出力し得る。
水平方向スケーラ152〜158はスケーリングされた画素を図形パイプラインの次のステージ(非表示)に出力し得る。一実施形態において、次のステージは正規化ユニットであり得る。別の実施形態において、水平方向スケーラ152〜158は、スケーリングされた画素をディスプレイユニット又はディスプレイコントローラに出力し得る。更に別の実施形態において、水平方向スケーラ152〜158は、スケーリングされた画素をメモリに出力し得る。他の実施形態において、他の数の垂直方向スケーラ及び水平方向スケーラがあり得る。
次に図11を参照すると、原画像をスケーリングする方法の一実施形態が示されている。説明の目的のために、本実施形態における手順が順番に示されている。以下に記載の方法の様々な実施形態において、説明されている要素の1つ以上が、同時に実行されてもよいし、示されているのとは異なる順番で実行されてもよいし、又は全体的に省略されてもよいことに留意願いたい。所望に応じて、他の追加要素も実行し得る。
一実施形態において、スケーラユニットは原画像の複数の画素を受け取り得る(ブロック160)。様々な実施形態において、原画像はメモリに格納され、タイルバッファに格納され、図形処理パイプライン中の前のステージによってスケーラユニットに送られ、又は、他の様々な場所のいずれかに格納され若しくは他の様々な任意のユニットによって送られ得る。次に、画素列が複数の垂直方向スケーラに供給される(ブロック162)。次に、各垂直方向スケーラはDDA値及びDDAステップサイズに基づき、画素列から画素を選択し得る(ブロック164)。一実施形態において、各垂直方向スケーラは5タップのポリフェーズフィルタを含み得て、各垂直方向スケーラはフィルタの5個のタップに対して5個の画素を選択し得る。
ブロック164の後、選択された画素は複数の垂直方向スケーラのそれぞれによって垂直方向にスケーリングし得る(ブロック166)。一実施形態において、4個の垂直方向スケーラを用い得るが、他の実施形態においては、他の数の垂直方向スケーラを用い得る。次に、垂直方向にスケーリングされた画素は、複数の水平方向スケーラに送られ得る(ブロック168)。一実施形態において、各垂直方向スケーラは対応する水平方向スケーラに連結され得る。4個の垂直方向スケーラを有する実施形態において、4個の水平方向スケーラがあり得る。
次に、垂直方向にスケーリングされた画素は、複数の水平方向スケーラによって水平方向にスケーリングされる(ブロック170)。複数の水平方向スケーラはそれぞれ、垂直方向にスケーリングされた画素をシフトレジスタのチェインにシフトインし、そしてチェイン中をシフトでき、チェインが垂直方向にスケーリングされた画素で満たされると、水平方向スケーラは水平方向にスケーリングされた画素を生成し得る。次に、垂直方向及び水平方向にスケーリングされた画素は、図形処理パイプラインの次のステージに送られ得る(ブロック172)。一実施形態において、このパイプラインの次のステージは正規化ユニットであり得る。あるいは、他の実施形態において、垂直方向及び水平方向にスケーリングされた画素は、メモリ場所、ディスプレイコントローラ、又はディスプレイユニットに送られ得る。
次に図12を参照すると、画素をスケーリングする方法の一実施形態が示されている。説明の目的のために、本実施形態における手順が順番に示されている。以下に記載の方法の様々な実施形態において、説明されている要素の1つ以上が、同時に実行されてもよいし、示されているのとは異なる順番で実行されてもよいし、又は全体的に省略されてもよいことに留意願いたい。所望に応じて、他の追加要素も実行し得る。
一実施形態において、複数の画素を1つ以上のタイルバッファから取り込み得る(ブロック180)。原画像は、複数のタイルに分割でき、各タイルバッファは原画像から単一のタイルを格納できる。一実施形態において、複数の取り込まれた画素は原画像の単一の列に位置し得る。次に、複数の取り込まれた画素は、複数の垂直方向スケーラによって垂直方向にスケーリングされ得る(ブロック182)。複数の垂直方向スケーラは、複数の取り込まれた画素を同時にスケーリングするように構成され得る。複数の垂直方向スケーラの各垂直方向スケーラは、取り込まれた画素をスケーリングするためのマルチタップ・ポリフェーズフィルタを含み得る。
1つ以上の垂直方向にスケーリングされた画素が、各クロックサイクルの間、各垂直スケーラからそれぞれの水平方向スケーラに送られ得る(ブロック184)。次に、複数の垂直方向にスケーリングされた画素が、複数の水平方向スケーラによって水平方向にスケーリングされ得る(ブロック186)。各水平方向スケーラは、受け取った画素をスケーリングするためのマルチタップ・ポリフェーズフィルタを含み得る。各水平方向スケーラは、受け取った画素内をシフトするシフトレジスタのチェインも含み得、マルチタップ・ポリフェーズフィルタの各タップに対応するシフトレジスタがあり得る。
次に図13を参照すると、システム190の一実施形態のブロック図が示されている。図に示すように、システム190は、デスクトップコンピュータ200、ラップトップコンピュータ210、タブレットコンピュータ220、セル電話230、などのチップ、回路部品、構成部品等を表す。図示の実施形態において、システム190は、外部メモリ192に連結された少なくとも1個の集積回路198のインスタンスを含み得る。集積回路198は、1つ以上の(図1の)パイプライン10のインスタンス又は1つ以上のパイプライン10の一部を含み得る。
集積回路198は1つ以上の周辺機器194及び外部メモリ192に連結されている。電源電圧を集積回路198に供給し、並びに1つ以上の電源電圧をメモリ192及び/又は周辺機器194に供給する電源196も備えられている。様々な実施形態において、電源196はバッテリ(例えば、スマートフォン、ラップトップコンピュータ又はタブレットコンピュータの再充電式バッテリ)を表し得る。いくつかの実施形態において、1つ以上の集積回路198のインスタンスが含まれ得る(そして、1つ以上の外部メモリ192も含まれ得る)。
メモリ192は、ダイナミックランダムアクセスメモリ(DRAM)、同期式DRAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3等)、SDRAM(mDDR3などのモバイルバージョンのSDRAM及び/又はLPDDR2などの低電力タイプのSDRAMを含む)、RAMBUS DRAM(RDRAM)、スタティックRAM(SRAM)などの任意のタイプのメモリであり得る。1つ以上のメモリデバイスを回路基板に連結してシングルインラインメモリモジュール(SIMM)、デュアルインラインメモリモジュール(DIMM)などのメモリモジュールを形成し得る。あるいは、これらのデバイスは、集積回路198とともにチップ・オン・チップ構成、パッケージ・オン・パッケージ構成、又はマルチチップモジュール構成に装填し得る。
周辺機器194は、システム190のタイプに応じて、任意の所望の回路を含み得る。例えば、一実施形態において、周辺機器194は、wifi,Bluetooth(登録商標)、セルラー、全地球測位システムなどの様々なタイプの無線通信用デバイスを含み得る。周辺機器194は、RAM記憶装置、ソリッドステート記憶装置、又はディスク記憶装置を含む追加の記憶装置も含み得る。周辺機器194は、タッチディスプレイスクリーン又はマルチタッチディスプレイスクリーンを含むディスプレイスクリーン、キーボード又はその他の入力デバイス、マイクロフォン、スピーカなどのユーザインターフェースデバイスを含み得る。
次に図14を参照すると、(図1の)パイプライン10に含まれている回路の代表である1つ以上のデータ構造体を含むコンピュータ可読媒体240の一実施形態のブロック図が示されている。概して、コンピュータ可読媒体240は、例えば、ディスク、CD−ROM、又はDVD−ROMの、磁気または光媒体などの任意の永続的記憶媒体、RAM(例えば、SDRAM、RDRAM、SRAMなど)、ROMなどの揮発性または不揮発性メモリ媒体、並びに、伝送媒体、又はネットワーク及び/若しくは無線リンクなどの通信媒体を介して送られる、電気的信号、電磁気的信号、デジタル信号などの信号、を介してアクセス可能な媒体を含み得る。
概して、コンピュータ可読媒体240上の回路のデータ構造体は、プログラムによって読み取られ、回路を包含するハードウェアを組み立てるために直接的または間接的に用いられ得る。例えば、データ構造体は、Verilog又はVHDLなどの高レベル設計言語(HDL)でのハードウェア機能の1つ以上の動作レベルの記述若しくはレジスタトランファーレベル(RTL)記述を含み得る。記述は、記述を合成してゲートのリストを含む1つ以上のネットリストを合成ライブラリから生成する、合成ツールによって読み取られ得る。ネットリストは、回路を包含するハードウェアの機能も表すゲートの集合を含む。ネットリストは、次にマスクに適用する幾何学形状の記述する1つ以上のデータセットを生成するために配置配線され得る。次に様々な半導体製造工程でこのマスクを用いて回路に相当する半導体回路を製造し得る。または、コンピュータ可読媒体240上のデータ構造体は、(合成ライブラリの有無に関係なく)ネットリスト、または所望に応じたデータセットであり得る。更に別の代替では、データ構造体は、スケマティックプログラムの出力、又はネットリスト若しくはそこから導出されたデータセットであり得る。
コンピュータ可読媒体240はパイプライン10の表現を含むが、他の実施形態は、パイプライン10の任意の部分または複数の部分の組み合わせ(例えば、垂直方向スケーラ、水平方向スケーラ)の表現を含み得る。
上記の実施形態は限定しない実施例に過ぎないことが強調されるべきである。上記の開示が完全に理解されれば、当業者には多くの変形及び修正が明らかになるであろう。以下の請求項の範囲が、全てのかかる変形と修正を包含していると解釈されるものとする。

Claims (14)

  1. 複数の垂直方向スケーラであって、前記複数の垂直方向スケーラには画素が並列して供給され、前記画素は単一の原画像に対応し、各垂直方向スケーラが前記画素から垂直方向のスケーリングのために複数の画素を選択し、垂直方向にスケーリングされた1つの画素を生成するように構成された、複数の垂直方向スケーラと、
    複数の水平方向スケーラであって、各水平方向スケーラがそれぞれの垂直方向スケーラの出力に連結され、前記それぞれの垂直方向スケーラから受け取った前記単一の原画像に対応する画素の水平方向スケーリングを実行するように構成された、複数の水平方向スケーラとを、備え
    前記画素は前記原画像の単一の列の中に位置し、前記単一の列が前記原画像の1つ以上のタイルに跨っており、
    各垂直方向スケーラが、原画像をスケーリングするためにデジタル微分解析機(DDA)値及びDDAステップサイズを用いるように更に構成される、装置。
  2. 前記複数の水平方向スケーラの各水平方向スケーラがそれぞれの垂直方向スケーラから受け取った、垂直方向にスケーリングされた画素を格納するためのシフトレジスタのチェインを含む、請求項1に記載の装置。
  3. フェッチユニットを更に備え、前記フェッチユニットが、
    各タイルバッファが原画像の所与のタイルを格納する1つ以上のタイルバッファから画素列を取り込み、
    前記画素列を前記複数の垂直方向スケーラに送る、ように構成された、請求項1に記載の装置。
  4. 前記原画像の前記1つ以上のタイルが1つ以上のタイルバッファ内に格納される、請求項に記載の装置。
  5. 前記複数の垂直方向スケーラが画素の各列の異なる垂直部分を処理するように垂直列内に配置され、各垂直方向スケーラは隣接する垂直方向スケーラから単一のDDAステップ離れて配置されている、請求項に記載の装置。
  6. 回転ユニットを更に備え、原画像が、前記複数の垂直方向スケーラに送られる前に前記回転ユニットによって回転される、請求項1に記載の装置。
  7. 前記複数の垂直方向スケーラ及び前記複数の水平方向スケーラのそれぞれが、画素をスケーリングするためのマルチタップ・ポリフェーズフィルタを含み、前記マルチタップ・ポリフェーズフィルタの各タップが係数テーブルを含み、前記係数テーブルが複数のプログラマブルレジスタを含む、請求項1に記載の装置。
  8. 単一の原画像から複数の画素を受け取る手順と、
    複数の垂直方向スケーラ及び複数の水平方向スケーラを用いて垂直方向及び水平方向にスケーリングされた画素を生成する手順と、を含み、
    垂直方向及び水平方向にスケーリングされた画素を生成する手順が、
    前記複数の垂直方向スケーラを用いて画素列を垂直方向にスケーリングする手順と、
    前記垂直方向にスケーリングされた画素を前記複数の水平方向スケーラに送る手順と、 前記垂直方向にスケーリングされた画素を前記複数の水平方向スケーラを用いて水平方向にスケーリングする手順と、を含み、
    前記画素列を垂直方向にスケーリングする手順の前に、前記複数の垂直方向スケーラの各垂直方向スケーラが、ダイレクト微分解析機(DDA)値とDDAステップサイズに基づき前記複数の受け取った画素から画素を選択する手順を更に含む、方法。
  9. 1つ以上のタイルバッファから単一の原画像に対応する複数の画素を取り込む手順と、
    複数の垂直方向スケーラを用いて、前記複数の取り込んだ画素を垂直方向にスケーリングする手順と、
    各クロックサイクルの間に1つ以上の垂直にスケーリングされた画素を各垂直方向スケーラからそれぞれの水平方向スケーラに送る手順と、
    複数の水平方向スケーラを用いて複数の垂直方向にスケーリングされた画素を水平方向にスケーリングする手順と、を含み、
    各垂直方向スケーラ及び各水平方向スケーラがマルチタップ・ポリフェーズフィルタを含む、方法。
  10. 前記複数の取り込まれた画素が前記原画像の単一の列に位置している、請求項に記載の方法。
  11. 前記複数の垂直方向スケーラが前記複数の取り込まれた画素を同時にスケーリングするように構成されている、請求項に記載の方法。
  12. 前記複数の水平方向スケーラの各水平方向スケーラが、チェイン状に接続した複数のシフトレジスタを有し、前記チェインが前記マルチタップ・ポリフェーズフィルタの各タップに対応するシフトレジスタを含む、請求項に記載の方法。
  13. 複数の垂直方向スケーラであって、前記複数の垂直方向スケーラには画素が並列して供給され、各垂直方向スケーラが前記画素から垂直方向のスケーリングのために複数の画素を選択し、垂直方向にスケーリングされた1つの画素を生成するように構成された、複数の垂直方向スケーラと、
    複数の水平方向スケーラであって、各水平方向スケーラがそれぞれの垂直方向スケーラの出力に連結され、前記それぞれの垂直方向スケーラから受け取った画素の水平方向スケーリングを実行するように構成された、複数の水平方向スケーラと、
    回転ユニットであって、原画像が、前記複数の垂直方向スケーラに送られる前に前記回転ユニットによって回転される、回転ユニットと、を備える、装置。
  14. 複数の垂直方向スケーラであって、前記複数の垂直方向スケーラには画素が並列して供給され、各垂直方向スケーラが前記画素から垂直方向のスケーリングのために複数の画素を選択し、垂直方向にスケーリングされた1つの画素を生成するように構成された、複数の垂直方向スケーラと、
    複数の水平方向スケーラであって、各水平方向スケーラがそれぞれの垂直方向スケーラの出力に連結され、前記それぞれの垂直方向スケーラから受け取った画素の水平方向スケーリングを実行するように構成された、複数の水平方向スケーラと、を備え、
    前記複数の垂直方向スケーラ及び前記複数の水平方向スケーラのそれぞれが、画素をスケーリングするためのマルチタップ・ポリフェーズフィルタを含み、前記マルチタップ・ポリフェーズフィルタの各タップが係数テーブルを含み、前記係数テーブルが複数のプログラマブルレジスタを含む、装置。
JP2014558779A 2012-02-24 2013-02-19 パラレルスケーラ処理のための装置、及び方法 Active JP5991722B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/404,850 US8687922B2 (en) 2012-02-24 2012-02-24 Parallel scaler processing
US13/404,850 2012-02-24
PCT/US2013/026672 WO2013126330A1 (en) 2012-02-24 2013-02-19 Parallel scaler processing

Publications (2)

Publication Number Publication Date
JP2015513837A JP2015513837A (ja) 2015-05-14
JP5991722B2 true JP5991722B2 (ja) 2016-09-14

Family

ID=47722182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014558779A Active JP5991722B2 (ja) 2012-02-24 2013-02-19 パラレルスケーラ処理のための装置、及び方法

Country Status (7)

Country Link
US (1) US8687922B2 (ja)
EP (1) EP2631869B1 (ja)
JP (1) JP5991722B2 (ja)
KR (1) KR101494957B1 (ja)
CN (1) CN103473735B (ja)
TW (1) TWI489443B (ja)
WO (1) WO2013126330A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI447828B (zh) * 2011-06-22 2014-08-01 Inotera Memories Inc 製程原始資料的壓縮方法及壓縮系統
KR102023501B1 (ko) * 2013-10-02 2019-09-20 삼성전자주식회사 설정가능한 이미지 처리 파이프라인을 포함하는 시스템 온 칩과, 상기 시스템 온 칩을 포함하는 시스템
KR102114233B1 (ko) * 2013-12-13 2020-05-25 삼성전자 주식회사 영상 처리 장치
KR102117075B1 (ko) 2014-03-11 2020-05-29 삼성전자주식회사 재구성 가능한 이미지 스케일링 회로
KR102248789B1 (ko) * 2014-10-07 2021-05-06 삼성전자 주식회사 이미지 해상도에 따라 리소스를 공유할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
KR102254676B1 (ko) * 2014-10-31 2021-05-21 삼성전자주식회사 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
US20160132284A1 (en) * 2014-11-07 2016-05-12 Qualcomm Incorporated Systems and methods for performing display mirroring
KR102317789B1 (ko) 2015-02-12 2021-10-26 삼성전자주식회사 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
US9679356B2 (en) * 2015-03-19 2017-06-13 Xerox Corporation Vectorized two stage tile-based scaling
CN104767910A (zh) * 2015-04-27 2015-07-08 京东方科技集团股份有限公司 视频图像拼接系统及方法
CN105243966A (zh) * 2015-11-03 2016-01-13 京东方科技集团股份有限公司 一种图像显示装置及图像显示方法
US10755380B2 (en) * 2015-11-11 2020-08-25 Texas Instruments Incorporated Down scaling images in a computer vision system
GB2551745B (en) * 2016-06-29 2020-04-08 Advanced Risc Mach Ltd Data processing systems
US11386644B2 (en) * 2017-10-17 2022-07-12 Xilinx, Inc. Image preprocessing for generalized image processing
KR102459652B1 (ko) * 2018-03-08 2022-10-28 엘지전자 주식회사 표시장치와 그 영상 처리 방법
US20190139184A1 (en) * 2018-08-01 2019-05-09 Intel Corporation Scalable media architecture for video processing or coding
US11042735B2 (en) * 2018-09-25 2021-06-22 Drägerwerk AG & Co. KGaA System and method for verifying whether text will be properly rendered in a target area of a user interface and/or a graphics file
US10972744B2 (en) 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling
CN115150566A (zh) * 2022-09-01 2022-10-04 杭州雄迈集成电路技术股份有限公司 一种多路多分辨率视频实时输出方法和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384912A (en) 1987-10-30 1995-01-24 New Microtime Inc. Real time video image processing system
US5204916A (en) 1991-08-06 1993-04-20 Eastman Kodak Company Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening
US5353056A (en) 1992-10-27 1994-10-04 Panasonic Technologies, Inc. System and method for modifying aberration and registration of images
US5574572A (en) * 1994-09-07 1996-11-12 Harris Corporation Video scaling method and device
JPH10134176A (ja) * 1996-10-29 1998-05-22 Sony Corp 画像信号処理方法及び装置
JPH10133643A (ja) * 1996-10-29 1998-05-22 Shimadzu Corp デジタル画像処理装置
JPH10304184A (ja) * 1997-05-02 1998-11-13 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
US6903733B1 (en) * 1997-11-24 2005-06-07 Pixelworks, Inc. Ultra-high bandwidth multi-port memory system for image scaling applications
US6724948B1 (en) * 1999-12-27 2004-04-20 Intel Corporation Scaling images for display
JP3763394B2 (ja) * 2000-10-31 2006-04-05 株式会社デジタル 画像縮小方法およびその装置
ATE452385T1 (de) * 2001-10-10 2010-01-15 Texas Instruments Inc Einrichtung und verfahren zur bildskalierung
US6924948B2 (en) * 2003-08-21 2005-08-02 Arc Design, Inc. Multifocal lens system for digital cameras
FI20045157A (fi) 2004-04-29 2005-10-30 Nokia Corp Menetelmä ja laitteisto digitaalisen matriisikuvan alaspäin skaalaamiseksi
TWI267031B (en) * 2004-12-14 2006-11-21 Vxis Technology Corp Image scaling controller and method thereof
US20070041662A1 (en) * 2005-08-22 2007-02-22 Eric Jeffrey Efficient scaling of image data
US7477323B2 (en) * 2005-11-07 2009-01-13 Kolorific, Inc. Method and system for digital image magnification and reduction
TWI370439B (en) * 2007-05-18 2012-08-11 Au Optronics Corp Video scaling apparatus and method of the same
US8195008B2 (en) * 2007-06-28 2012-06-05 Broadcom Corporation Method and system for processing video data in a multipixel memory to memory compositor
CN100570701C (zh) * 2007-11-16 2009-12-16 炬力集成电路设计有限公司 一种图像缩放装置、方法及图像显示设备
US7852531B2 (en) * 2007-12-12 2010-12-14 Xerox Corporation Digital correction for alignment of a plurality of color channels of a color image forming device
TWI351873B (en) * 2007-12-13 2011-11-01 Magima Digital Information Co Ltd A picture scaling device and a picture scaling met
US9172900B2 (en) * 2008-04-09 2015-10-27 Imagine Communications Corp. Video multiviewer system with switcher and distributed scaling and related methods
US8121434B2 (en) * 2008-06-13 2012-02-21 Microsoft Corporation Multi-pass image resampling
US8593483B2 (en) * 2009-10-20 2013-11-26 Apple Inc. Temporal filtering techniques for image signal processing

Also Published As

Publication number Publication date
CN103473735B (zh) 2016-04-20
KR101494957B1 (ko) 2015-02-23
TW201342358A (zh) 2013-10-16
EP2631869B1 (en) 2017-12-20
WO2013126330A1 (en) 2013-08-29
CN103473735A (zh) 2013-12-25
TWI489443B (zh) 2015-06-21
US8687922B2 (en) 2014-04-01
KR20130097689A (ko) 2013-09-03
JP2015513837A (ja) 2015-05-14
US20130223764A1 (en) 2013-08-29
EP2631869A1 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
JP5991722B2 (ja) パラレルスケーラ処理のための装置、及び方法
US11314845B2 (en) Interpolating a sample position value by interpolating surrounding interpolated positions
US10402196B2 (en) Multi-dimensional sliding window operation for a vector processor, including dividing a filter into a plurality of patterns for selecting data elements from a plurality of input registers and performing calculations in parallel using groups of the data elements and coefficients
TWI552111B (zh) 硬體與軟體分劃的影像處理管線
TW200807331A (en) Method and apparatus of removing opaque area as rescaling an image
US9858635B2 (en) Application processor sharing resource based on image resolution and devices including same
EP4156079A1 (en) Image data storage method, image data processing method and system, and related apparatus
US9123278B2 (en) Performing inline chroma downsampling with reduced power consumption
CN105574804A (zh) 应用处理器、片上系统及移动计算装置
US20130223733A1 (en) Pixel normalization
EP3217289A2 (en) System and method for preventing cache contention
US9519959B2 (en) Image processing apparatus, imaging apparatus, and method for processing image
WO2020197699A1 (en) Multiplier-accumulator circuitry having processing pipelines and methods of operating same
WO2016197393A1 (zh) 并行多相位图像插值装置和方法
JP2009098692A (ja) 画像のサイズ変更方法、サイズ変更器、画像処理装置および電子機器
KR101688435B1 (ko) 블록 구조를 이용한 적분 영상 생성 장치 및 그 방법
US11393068B2 (en) Methods and apparatus for efficient interpolation
US9558536B2 (en) Blur downscale
JP6262621B2 (ja) 画像の拡大縮小処理装置および画像の拡大縮小処理方法
TWI799265B (zh) 超解析度裝置及方法
US10169040B2 (en) System and method for sample rate conversion
Chang et al. Efficient memory access methods for framebuffer-less video processing applications
TW202020600A (zh) 可減少多工器數量的查找表配置方法及利用其之資訊處理裝置
JP2005072800A (ja) ブロックマッチング演算装置
Azgın High performance high quality image demosaicing hardware designs

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160810

R150 Certificate of patent or registration of utility model

Ref document number: 5991722

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