JP2004509528A - DCTインタフェースのためのRGB色空間とYCrCb色空間との間のデータ転送 - Google Patents
DCTインタフェースのためのRGB色空間とYCrCb色空間との間のデータ転送 Download PDFInfo
- Publication number
- JP2004509528A JP2004509528A JP2002527198A JP2002527198A JP2004509528A JP 2004509528 A JP2004509528 A JP 2004509528A JP 2002527198 A JP2002527198 A JP 2002527198A JP 2002527198 A JP2002527198 A JP 2002527198A JP 2004509528 A JP2004509528 A JP 2004509528A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tile
- color space
- array
- rgb
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
- H04N1/646—Transmitting or storing colour television type signals, e.g. PAL, Lab; Their conversion into additive or subtractive colour signals or vice versa therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Color Television Systems (AREA)
- Color Image Communication Systems (AREA)
- Processing Of Color Television Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
RGB色空間メモリ(24)とDCTブロック演算エンジン(12)に有用なYCrCb色空間メモリ(38)との間でデータを転送する方法は、スループットを著しく向上させプロセッサオーバーヘッドを減少させる。例示的な1実施形態によると、DMA機能は、RGB色空間を表す外部メモリからデータを取り出し、そのデータをJPEG変換のために与えつつYCrCb色空間変換をオンザフライで実行するように最適化される。より具体的には、データは、RGB色空間メモリからYCrCb色空間メモリを処理するように適合されたDCTブロック演算エンジン(12)に転送される。この方法は、C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域にデータを与えるステップを含み、1個のタイルは、Crデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当する。データは、1度に1個のタイルでデータにアクセスすることでタイルアレイのアドレスで取り出され、各タイル内のローとタイルアレイ内のタイルがトラッキングされる。アドレスは、C、トラッキングしたロー及びタイルアレイ内のトラッキングしたタイルの関数として生成される。データを取り出しながら、取り出したデータを用いてRGBディスプレイスクリーン領域に対応するY、Cr及びCbデータアレイのバッファに充てんする。他の実施形態は、逆の動作を有効的に用いたDCTブロック演算エンジン(12)からRGB色空間メモリ(24)へのデータ転送に関する。
Description
【0001】
(発明の分野)
本発明はビデオデータ処理に関し、より具体的には異なるフォーマット間でのビデオデータの変換に関する。
【0002】
(発明の背景)
エレクトロニクス産業は、ますます複雑な機能を常に加速しつづけるスピードで達成する装置を実現するために、半導体技術の進歩に依存しつづけている。多くのビデオアプリケーションの場合、機能性の高い装置を実現するには、異なる物理メモリ空間及び/又は異なる色表示フォーマット同士間でのデータの迅速な移動が必要となる。このようなデータの移動に使用するプロセスに依って、装置の有用性や全体的な操作性を著しく向上させることもできるし、不利益に損ねることもある。
【0003】
ビデオ通信は、ビデオデータを遠隔配置された端末間でどのように移動させるかに主に依存する効率レーティングを有するビデオデータ処理を含む例示的なアプリケーションである。典型例のアプリケーションは、チャンネルに適したチャンネルインタフェース/ドライバを用いてPOTS(plain old telephone service:従来の普通の電話サービス)又はISDN回線などのチャンネルでビデオデータとの通信を試みる第1及び第2の遠隔配置された端末を要する。第1の端末では、ビデオデータが、第1の端末でデータを表示するのに便利なフォーマットでソースから収集される。次いで収集したデータを新しいフォーマットに圧縮し、圧縮フォーマットで第2の端末に伝送する。ビデオデータを圧縮する前に、データは圧縮により適合したフォーマットに変換される。次いで第2の端末がそのデータを指定した使用に便利な他のフォーマットに圧縮解除する。したがって、このタイプのビデオデータ処理の効率レーティングは、ビデオデータをフォーマット間で変換し遠隔配置された端末間で移動させる際にどのように処理するかということに大きく依存している。
【0004】
ビデオデータ処理のアプリケーションは、ビデオデータ圧縮フォーマッティングに特に力を入れたものも含み種々の方法を使用して効率レーティングを向上させてきた。ビデオアプリケーションの一般的な圧縮フォーマットはJPEGであり、これは一般に色空間のYCrCb(luma, chroma red and chroma blue)表示を用いる。しかしながら、コンピュータは典型的にRGB(レッド、グリーン、ブルー)色空間を用いてデータを表示する。LCDやCRTなどの商品としてのディスプレイはRBG入力によって制御されるので、RGB色空間はディスプレイに有益な色空間である。JPEGは8×8のブロックを用いて色を圧縮する。JPEG圧縮では一般に、圧縮の前にRGBのフラットフレームバッファからYCrCbに変える必要がある。JPEG圧縮解除では普通、表示の目的でYCrCb出力をJPEGからRGB色空間に変える必要がある。
【0005】
JPEGアプリケーションにおける効率レーティングの向上のためのこれまでの試みでは、近年のシステムが要求する高速アプリケーションの幾つかに追いつかない。例えばこのような試みには、各プロセッサとメモリユニットを相互にリンクさせるバスの有効的な使用や管理が必要となり、さらにプロセッサがフラットフレームバッファの3つのRGBコンポーネントそれぞれをリトリーブして3つのYCrCbコンポーネントそれぞれに変換する方法も必要となる。データをRGBフォーマットのメモリディスプレイバッファからJPEG圧縮エンジンのDCT圧縮段階に効率的に移動させるための他の方法では、3つのYCrCbコンポーネントそれぞれに変換するためにRGBコンポーネントに直接パイピングするフルラインバッファを有するDMAの使用が必要となる。これらの方法はどれも(DMAによるフルラインバッファリングの使用に伴う)費用、消費電力及び/又はプロセッサに必要な帯域及びメモリに鑑みて、どちらかというと有用ではない。
【0006】
(概要)
本発明の目的は、改良型のデータ転送を提供することである。本発明を独立クレームによって定義する。
【0007】
従属クレームは、有用な実施形態を定義する。
【0008】
本発明の種々の態様によると、本発明の実施形態は、RGB色空間とYCrCb色空間メモリとの間で、上述のアプリケーションに適用する方法でデータを転送することに関する方法と装置の形態で例示される。
【0009】
本発明のより特定の態様は、DCTブロック演算エンジンとの通信のためにYCrCb色空間メモリを使用する特定のアプリケーションに関する。この実施形態及びアプリケーションに関連して、本発明の態様は、スループットを向上させプロセッサオーバーヘッドを低減するようにRGB色空間メモリとDCTブロック演算エンジンとの間でデータを転送する方法及び装置に関する。
【0010】
特定の実施形態では、DMA機能は、RGB色空間を示す例示的なメモリからデータを取り出し、JPEG変換のためにデータを与えつつオンザフライでYCrCb色空間変換を実行するように最適化される。データは、RGB色空間メモリからYCrCb色空間メモリを処理するように適合されたDCTブロック演算エンジンへと転送される。この方法は、C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域にデータを与えるステップを含み、1個のタイルは、Crデータアレイ及びCbデータアレイの少なくとも1つのDCTに充分なRGBデータに相当する。データは、1度に1個のタイルでデータにアクセスすることでタイルアレイのアドレスで取り出され、各タイル内のローとタイルアレイ内のタイルの両方が取り出される。アドレスは、C、トラッキングしたロー及びタイルアレイ内のトラッキングしたタイルの関数として生成される。データを取り出しながら、取り出したデータを使用してRGBディスプレイスクリーン領域に対応するY、Cr及びCbデータアレイのバッファに充てんする。
【0011】
他の実施形態は、逆の動作を有効的に使用したDCTブロック演算エンジンからRGB色空間メモリへのデータの転送に特に関する。
【0012】
他のより具体的な実施形態では、本発明は、上述のデータ操作を処理し、アレイにおけるタイルの数とTNとの積と、トラッキングしたローのカウントとCのカウントと定数との積との和の関数として、アドレスの1つを演算するようにプログラムされ構成されたプロセッサ装置の使用に関するものであり、TNは、タイルアレイ内のトラッキングしたタイルの数に対応する。
【0013】
さらに他のより具体的な実施形態では、プロセッサ装置は、アレイにおけるタイルの数とTNとの積と、トラッキングしたローのカウントとCのカウントと定数との積との和の関数として、またタイルのワードセグメント内のカウントの関数として、アドレスの1つを演算するようにさらにプログラムされ構成される。例えば、タイルは16ワードセグメントを用いて実行することができる。
【0014】
上記の概要は、本発明の全ての態様の全容を提供することを意図するものではない。本発明の他の態様は、詳細な説明に関連して例示され説明される。
【0015】
本発明の種々の態様及び利点は、種々の実施形態の以下の詳細な説明を読み進め図面を参照することで明らかとなるであろう。
【0016】
本発明は種々の改変や代替形態を容れることができ、その詳細を例として図面に示し詳細に説明する。しかしながら、本発明を説明する任意の実施形態に限定するものではいないことを理解すべきである。それどころか、本発明は添付の請求の範囲によって定義されるその趣旨や範囲内にある全ての改変、等価及び代替を包含するものである。
【0017】
(詳細な説明)
本発明はビデオデータ処理に関する種々のアプリケーションを有し、例えばYCrCb色空間メモリ形式でデータを処理するためによりよく適合された演算エンジンへの表示のために、RGB色空間とYCrCb色空間メモリとの間でデータを効率的に移動させることに関連する使用に特に有用であることがわかっている。本発明はこのようなアプリケーションに必ずしも限定されないが、このような状況で実施される例示的な実施形態の説明によって、本発明の種々の態様を理解することができる。
【0018】
一実施形態によると、本発明は、RGB色空間とJPEGDCT圧縮に連結するYCrCb色空間メモリとの間でデータを移動させるデータ処理装置に関する。本実施形態は異なるアプリケーションを有することができる。例えばある例では、データ処理装置はRGB色空間からJPEGDCT圧縮に連結するYCrCb色空間メモリにデータを移動させるように適合させることができ、別の例では、データ処理装置はYCrCb色空間メモリ形式のJPEGDCT圧縮から表示のためにRGB色空間にデータを移動させるように適合させることができる。アプリケーションにかかわらず、RGB色空間データは、C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域に配置される(1個のタイルは、CrデータアレイとCbデータアレイのうちの少なくとも一方のDCTに充分なRGBデータに相当する)。データは、色空間メモリのうちの1つからデータを取り出し、取り出したデータを他の色空間メモリに保存することによって、色空間メモリ間で転送される。データはCの関数として、また一度に1つのタイルにアクセスし各タイル内のローとタイルアレイ内のタイルの両方のトラッキングに応じて転送される。
【0019】
上記の実施形態に関連して、1つの特定のアプリケーションは、RGB色空間を表す外部メモリからデータを取り出しそのデータをJPEG変換のために提供する一方で、YCrCb色空間変換をオンザフライで実行するように適合されたDMA機能を最適化することに関する。シーケンスは、16カラム×16ローの単一の矩形タイルにおけるレッド、グリーン及びブルーのソースデータからなる4つの8×8ブロックを通過する。このタイルは、4つの8×8Yマトリックス、1つの8×8Crマトリックス及び1つのCbマトリックスを有するYCrCb色空間に対応する。DMA動作(又は全体的なシーケンシング)は、シーケンスにおいて1回だけメモリから読み取るように最適化され、これがSDRAMメモリや線形バースト取り出しを好む他のメモリ(又はバスアーキテクチャ)に適している。例えば単純な1024バイトのバッファを用いてRGB−YCrCb色空間変換をオンザフライで実行できる順序で進めることで、内部バッファリングを最小にすることができる。
【0020】
図面を参照し本発明にしたがうと、図1は、ARMベースのデータ処理装置10とDCT演算プロセッサ装置12との間の高速データ転送を要する特定の実施形態のブロック図を例示し、DCT演算プロセッサ装置12は、例えばDCTブロック12a、量子化器ブロック12b及びハフマンコーディング(HC)(「エンコーディング及び/又はデコーディング」)ブロック12cを含む。ARMベースのデータ処理装置10は、ARMCPU20と、例えばシステムメモリ(例えば、SDRAM)22、RGBメモリ24、及びDMAコントローラ(DMAC)26を含むシステムコンポーネントとの間の通信用のAHB(アドバンスドハイパフォーマンスバス)16を含む。ブリッジインタフェース28もまたバス16に接続され、AMBA−APB(アドバンスドマイクロコントローラバスアーキテクチャ−アドバンスドペリフェラルバス)30を介して種々の周辺装置に通信上連結する。想定される全ての実施形態やアプリケーションに必ずしも必要ではないが、AHB16などの高速バスの使用が本発明の色変換によってもたらされる高スループットにマッチさせるのに特に有用である。本発明の実施形態から利点を得る他のデータ高性能バシングCPU装置としては、IBMのCoreConnectオンチップバス及びモトローラのIP−バスが挙げられる。
【0021】
RBGメモリ24からAHB16とDMAC26まで延びる点線は、RGBメモリ24への他のデータアクセス(読取及び/又は書込み)パス、即ちAHB16にわたったDMAC26によるパス又はDMAC26による直接的なパスを表す。
【0022】
既述の実施形態に関連して上述したように、本発明の実施形態はRGB色空間とYCrCb色空間との間での変換に限定されない。例えば両方向の矢印とハフマンエンコーディング/デコーディングブロックで示されるように、図1はRGB色空間からYCrCb色空間への変換、YCrCb色空間からRGB色空間への変換又は両方の変換を想定している。このような変換は、3つの機能的に記述されたブロック、即ちワードラインバッファ34、色空間変換演算ブロック36及びYCrCb色空間メモリ38を用いて一般的に示される。これらの機能的に記述されたブロック(及び図1に示す他のブロック)は、任意の種々のタイプの完全に及び/又は部分的にプログラマブルなプロセッサを用いて実行することができるが、多くの実施形態は、種々のバッファと組合せた従来通りのALU型(加算器、シフタ及び乗算器)ロジックを用いてうまく実行することができる。
【0023】
上述のようなデータ処理装置は、色空間のYCrCb表示を用いるJPEGなどのビデオ圧縮フォーマットに特に有用である。JPEGは、DCT圧縮段階での処理のためにYCrCb色空間における8×8の色ブロックを使用し、一方でARMCPU(図1の20)などのコンピュータは典型的にRGB色空間(例えば図1のメモリ24)を用いてディスプレイデータを保存する。JPEG圧縮が通常、圧縮前にRGBからYCrCbへの変換を要し、JPEG圧縮解除は、保存やそれに続く表示のためにYCrCb出力をJPEGからRGB色空間に変換することを要する。
【0024】
ディスプレイスクリーン上のデータは、カラムとローで編成される。説明の目的で、例示的なディスプレイスクリーンは、480×240のディスプレイ用に480本のカラムと240本のローを有する。典型的なディスプレイリフレッシュは、ディスプレイドライバに表示したりその後コンピュータスクリーンに表示するためにメモリからデータを絶えず取り出すことを含む。このメモリを動作効率で編成するために、メモリのデータをリフレッシュされるスクリーン上の第1のピクセルから始めてスクリーン上の最後のピクセルまで配置する。ディスプレイリフレッシュは、ロー0、カラム0、ディスプレイバッファアドレス0から始まる。次いでロー0、カラム479に到達するまでカラム番号を増やす。ディスプレイリフレッシュはロー1、カラム0からカラム479まで続く。このプロセスは、ディスプレイの終わりに到達するまで続き、そしてこのプロセスを繰り返す。一般的な他の方法では、ディスプレイの上半分と下半分を同時にリフレッシュする。しかしながら両方の場合において、ディスプレイデータを線形順序でメモリに配置する。
【0025】
データを同じ順序でメモリに配置することによって、データが保存されているDRAM装置からデータを効率的に削除することができる。DRAM装置はアクセスされた最後のデータと同じページに配置されたデータをリトリーブするのにより効率的であるため、このことが当てはまる。今日人気の高いDRAMの大部分もまた順序が固有で、データがDRAMからバーストされるとそのデータをもっとも効率的に伝達する。ディスプレイデータ及びDRAM保存技術は、DRAMデータの効率的なアクセスを可能にするために一緒にうまく作用する。
【0026】
8ピクセル×8ピクセルブロックを用いてYCrCb色空間で表示される色を圧縮するJPEGの場合、RGB色空間でデータを表すDRAMからデータを効率的に抽出するのが難しい。この問題は、Cr及びCbデータがRGBデータに対するサブサンプリング対応を有することが原因である。RGB色空間のYコンポーネントに対してDCTブロックに表示されるデータは、8×8画像ブロックからのR、G、Bの全てのデータを使用するが、RGB色空間のCr及びCbコンポーネントに対してDCTブロックに表示されるデータは16×16画像ブロックからのR、G及びB全てのデータを使用する。冗長アクセスを最小にするためには、データをRGB色空間メモリから複数回取り出すのではなく、ハードウェア回路で効率的に処理できるように所与のDCTに対して1回だけ取り出すことが望ましい。
【0027】
図2a及び2bに示すように、図2aのRGB色空間フォーマットは、RGBフォーマットで色を表示するスクリーン上の8個の位置を示す。スクリーン上の各位置に、レッド、グリーン及びブルーの値がある。図2bのYCrCb色空間フォーマットは、JPEG色画像保存のために典型的に使用されるYCrCb色空間を示す。左側のYデータは、0.299R+0.587G+0.114Bからなる輝度で、明るさに対する人間の目の反応に比例するようになっている。図2aの図は合計24個の値を有し、図2bの図は12個の値を有する。この差の原因は、CrとCbデータがサブサンプリングされているためである。即ち、RGBの値の各セットに対して1個のY値があり、RGBの4つのセットのそれぞれに対して1個のCrと1個のCb値がある。JPEGはY、Cr及びCbデータの8×8アレイを圧縮し、Yデータに対してメモリからの8×8ブロックを使用し、Cr及びCbデータそれぞれに対して8×8ブロックに圧縮した16×16ブロックを使用する。種々のデータタイプに対して変化するデータサイズの要求によって、このデータをメモリから取り出すための要求が複雑になる。YデータがY値を生成するためにR、G及びB値3つ全てを必要とし、Cr及びCbデータはそれぞれ単一のCr値又はCb値を生成するために4つの位置からR、G及びB値3つ全て(全部で12値)を必要とすることにも留意されたい。このデータをSDRAMから複数回取り出す必要がないことは、電力や性能の理由から有用である。
【0028】
図3及び4は、本発明の例示的な実施形態にしたがった「タイル」変換の図である。図3は、RGB色空間における4つの8×8アレイを示し、3色それぞれが4*8*8*3=768バイトで1個のタイルを形成する。
【0029】
図4は、4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイのグループを示す(4*8*8+8*8+8*8=384バイト)。図4の6個の8×8アレイからなるこのグループは、例えばデータ圧縮のためにDCT演算エンジンによって容易に処理することができる。この場合、「タイル」という用語は、図3に示すようなディスプレイメモリにおけるRGB値の16×16セクションのことをいう。したがって、ディスプレイメモリにおけるRGB値の16×16セクション(この例ではタイルという)を使用してDCT圧縮用の4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイを作成することができる。
【0030】
図5、6及び7は、図3及び4に関連して示したように、データをタイル変換中に走査する方法のより詳細な図をそれぞれ例示する。各タイル及びタイルからなる全体的なアレイは、左から右へ且つ上から下へと、各タイルが完全に走査されてから次のタイルに進むように走査される。図5は、本発明の例示的な実施形態にしたがった、20個のタイル(5本のカラム×4本のロー)からなるアレイの全体的な画像走査の流れを示したディスプレイスクリーンを例示する。図6は図5のタイルのうちの2個を示し、タイルの各走査は16×16のピクセルセクションをトラバースしている。図7は、上述のタイルのうち1個における16個のピクセルの2本のローの走査パスを例示し、各ピクセルはレッド、グリーン、ブルーの値のデータを含む。各走査線は直線における16個のピクセルであり、同じタイルにおける次の16個のワードが続く。16個のピクセルはそれぞれレッド、グリーン及びブルーのバイトを含む。
【0031】
したがって、走査パスは、1)メモリからのデータの取り出しが1回だけとなるように、2)完全なローバッファを必要としないバッファ要求を最小にするように、3)SDRAMに友好的にメモリからデータを取り出すように及び4)RGB−YCrCb計算を最小のバッファリングで完了し、オンザフライで実行し、さらにバッファ要求を最小にするように、最適化されている。
【0032】
本発明によると、DMAアドレスは上記の関数として生成される。例示の目的で、一例の実施形態では、レッド[23:16]、グリーン[15:8]、ブルー[7:0]の各色が8ビットの32ビットの境界に編成されたRGB色空間メモリにおけるデータを有する。さらにこの例示的な実施形態は、YCrCb色空間における対応するデータを用いて圧縮を行う。YCrCb色空間において、各Y値は1つのRGB値に対応し、各Cr値は4つのRGB値に対応し、各Cb値は4つのRGB値に対応する。
【0033】
DMACコントローラ(例えば、図1の26)を用いてRGB色空間メモリ(例えば、24)をアドレス指定し、適切なRGBデータを取り出すことで、計算を実行する。この実施形態の場合、タイルは、Cr又はCbデータの単一のDCTのデータのために使用されるスクリーン上の領域に対応するメモリのデータである。Cr及びCbデータはサブサンプリングされているため、この同じ領域はまたYデータに対しても4つの8×8DCTを生成し、そのために6つのDCTのデータを生成するために単一をタイルを使用する。
【0034】
メモリのどこをアドレス指定するかを正確に決定するための計算は、種々の関数に基づいている。これらの関数は、種々のカウンタ及び「NCol」(タイルカラムの数に等しい)を含む。図5の例示的なタイルアレイでは、カラムの数は5である。アドレスは、以下のカウンタを使用して計算される。
【0035】
WC=ワードカウント。WCカウンタは4ビットの幅で、タイルの16ワードセグメント(0−15)までをカウントし、ワードを転送するたびに増分される。
【0036】
RC=ローカウント。RCカウンタは、タイルを垂直方向にカウントするために使用される。この例示的なアプリケーションでは、RCカウンタは4ビットカウンタであり、0から15までをカウントし、WCカウンタがオーバーフローするたびに増分される。
【0037】
TVCT=タイルトータルカウント。TVCTカウンタは、各画像変換のスタート時にリセットし、RCカウンタがオーバーフローするたびに増分する。このカウンタは、あらゆるデザインのタイルの合計数のカウントを保持するのに適した長さに設定される。
【0038】
種々のアプリケーションにおいて、例えば16ワードバーストを常にサポートすることをバスが保証できる場合、WCパラメータは特に用いない。
【0039】
次いで正確なアドレスを以下の演算から決定する。
【0040】
Address=TVCT*1024+RC*16*NCol+WC
データをディスプレイから圧縮ユニットに移動させるには、上記の計算だけが必要となる。任意のローの終わりのアドレスによってメモリにおけるアドレスの主要な変化が生じるため、典型的には全加算器を用いる。トータルタイルカウント(TVCT)の乗算は従来のシフティングロジックを用いて容易に実行することができ、一方NCol演算はより複雑な乗算又はシフト/加算動作を必要とする。例示的な1実施形態では、NCol演算は単純な整数乗算動作として実行される。当業者がこの説明から理解するように、RC及びWCをさらに分割してRGBからYCrCb生成への最適な流れを形成することができる。
【0041】
種々の実施形態では、乗算又はシフト/加算が数学的に便利である場合にNCol乗算を簡単にすることができる。例えば、この簡略化した方法は、以下の水平解像度、即ち128、240、480、960又は1024ピクセルのときだけサポートが必要な場合に適用する。
【0042】
図8は、例えば、以下の表で説明するようにNColの場合のRC×NColの乗算で使用する回路を例示する。図9のシフタ50は、「一定の入力」を有し6ビットまでのシフトを提供することで数学的演算を提供するマルチプレクサとして機能的に実行され、RCで表される入力数字よりも大きい26までの値を有する数を生成する。
【0043】
5の乗算ブロック52及び3の乗算ブロック54はそれぞれ同様に実行することができる。例えば、5を乗算するためには、ブロック52への入力を左に2回シフトし、結果を入力に加算する。図9は、図8の5の乗算ブロック52を実行するためのシフト/加算回路を例示する。図8のブロック56及び58はマルチプレクサで、それぞれ先行する乗算ブロックの出力を渡すかその入力(「定数」)を渡すかを示す下限入力を有する。
【0044】
以下の表は、これらの一般的な水平解像度を、一連のシフトや幾つかの加算を有する図8の例示的な回路でサポートできる場合を例示する。
【0045】
【表1】
上記の表において、第1、第2及び第3のカラムのエントリはそれぞれブロック50、56及び58の下限入力に対応する。第1のカラムのエントリは、ブロック50のバイナリビット数を示す。第2のカラムのエントリは、マルチプレクサブロック56が5の乗算ブロックの出力を渡すべきかどうかを示し、第3のカラムのエントリは、マルチプレクサブロック58が3の乗算ブロックの出力を渡すべきかどうかを示す。
【0046】
典型的にはデジタルカメラや一定の画像キャプチャ入力を有する装置の場合のように、幾つかのアプリケーションでは、タイルアレイのサイズは事前に知らされている。これらのアプリケーションでは、NCol乗算機能をさらに縮小することができることを当業者なら理解するであろう。
【0047】
図10aは、RGB色空間メモリとYCrCb色空間メモリとの間でデータを効率的に移動させるための他の例示的な回路100を例示する。図10aの上部分は、RGB空間から表示のためのYCrCb変換を経てデータ圧縮やチャンネル102を介したデータ伝送のための、DCTブロックとしてのDCT演算エンジンへの既述のデータの流れを例示し、チャンネル102は典型的に、遠隔端末に通信上連結する高速ドライバ(図示せず)に送るように適合されている。図10aの下部分は、圧縮形式でチャンネル102からRGB空間に変換するためにDCTブロック(YCrCb色空間)に圧縮解除するための逆DCT(「IDCT」)演算エンジンへのデータの逆の流れを例示する。
【0048】
より具体的には、図10aの回路はDCTSDRAMアドレスジェネレータ104を含み、このジェネレータは圧縮のためにRGB色空間メモリ(図示せず)からデータを取り出し、圧縮解除後にRGB色空間メモリにデータを保存するように適合されている。ブロック106で、取り出したRGBデータを例えばDMACによって収集し、またワードラインバッファ108aに分散してブロック110に表示し、該ブロック110は色空間変換値を計算して4つのYバッファ112a〜112dとCrAバッファとCrBバッファの対112e〜112hに表示する。これらのバッファ112a〜hが充てんされると、DCTブロックとしてアクセスされ、DCTブロック114、量子化器116及びハフマンデコーダ118によって圧縮される。多くのアプリケーションでは、ビデオデータをチャンネル102を介した伝送のための他のパラレルソースからのデータと共に表示するために、データマルチプレクサ(図示せず)を用いる。
【0049】
チャンネル102からRGB色空間メモリへのデータ処理経路は上記の説明の逆をたどり、図10aは対応するブロック(例えば、ブロック110はブロック110‘に対応する)を示す。圧縮/圧縮解除機能が例えば特別な即ち専用DSPを用いてプロセッサで実行される場合、多くのアプリケーションではこれらのハードウェア資源を共有する。
【0050】
図10bは、充てんされてDCT機能ブロックを利用可能な場合のDCTブロックを示す。Y1、Y2及びCrA、CrBバッファは同時に充てんされる。しかしながら、このデータはサブサンプリングされているため、Y1及びY2ブロックがCrA及びCrBよりも前に完了する。Y1及びY2ブロックが完了するとすぐにDCTブロックに送ることができる。これは#1として示されている。#2では、Yバッファの第2のセットであるY3及びY4の充てんが始まり、CbA及びCbBバッファを取り出すプロセスが続いている。#2では、2つのYバッファ、即ちY1及びY2の処理を開始することができる。単一のDCTブロックが利用でき、Y1の処理に続いてY2が処理されると仮定する。Y3及びY4バッファが完了してDCTブロックが利用可能になると、DCT変換を#4で示すY3ブロックで続けることができる。また、Y2バッファがフリーな場合、メモリ取り出しを再度開始することができ、#5でCrバッファの余分なセットとしてのCrB及びCbBが利用できる。メモリサブシステムの速度やDCTブロックの速度に依って、#4及び#5をあらゆる順序で実行することができる。単一の16×16ブロックのDCTが4個のYブロック、1個のCrブロック及び1個のCbブロックを生成する。しかしながら、この回路は4個のYバッファ、2個のCrバッファ及び2個のCbバッファを有する。この非対称性は意図的なものであるため、Yデータはそれぞれがパイプライニングを可能にする2つのグループとして利用でき、Cr及びCbデータは16×16ブロック全体が完了するまで利用できない。
【0051】
上述の種々の実施形態は例示のためだけに提示されてきて、本発明を限定しようとするものではない。当業者なら、本明細書中に例示され説明された例示的な実施形態やアプリケーションに厳密にしたがわずに本発明に対してなされ得る種々の改変や変更を容易に認識するであろう。例えば、JPEGフォーマットかデータ圧縮/圧縮解除のいずれかを使用することが必ずしも要求されているわけではなく、他のアプリケーションは、本発明を用いたRGB色空間とYCrCb色空間との間の変換から利益を得ることができるため、本発明の趣旨は請求の範囲で説明される。
【0052】
請求の範囲において、括弧の中にあるあらゆる参照符号は請求の範囲を限定するものではない。「備える」という用語は、請求の範囲に挙げた要素やステップ以外の要素やステップの存在を除外しない。要素の前に付く「a」や「an」は、複数のこのような要素の存在を除外しない。本発明を、幾つかの個別の要素を備えるハードウェアや適切にプログラムされたコンピュータによって実行することができる。幾つかの手段を列挙した装置クレームでは、これらの手段のうちの幾つかを1つのハードウェアの同じアイテムによって具体化することができる。幾つかの手段が互いに異なる従属クレームで記載されているという事実は、これらの手段の組合せを利点のために使用することができないということを示すものではない。
【図面の簡単な説明】
【図1】
本発明の例示的な実施形態にしたがった、ビデオ処理装置のブロック図である。
【図2a】
従来技術で公知のRGB色空間とYCrCb色空間フォーマットの図である。
【図2b】
従来技術で公知のRGB色空間とYCrCb色空間フォーマットの図である。
【図3】
本発明の例示的な実施形態にしたがったタイル変換の図であり、RGB色空間における4個の8×8アレイ(図3)のDCT圧縮用の4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイ(図4)への変換を示す。
【図4】
本発明の例示的な実施形態にしたがったタイル変換の図であり、RGB色空間における4個の8×8アレイ(図3)のDCT圧縮用の4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイ(図4)への変換を示す。
【図5】
本発明の例示的な実施形態にしたがった、タイルアレイレベルでのタイルの画像走査の流れを例示する図。
【図6】
本発明の例示的な実施形態にしたがった、タイルレベルでのタイルの画像走査の流れを例示する図。
【図7】
本発明の例示的な実施形態にしたがった、走査線レベルでのタイルの画像走査の流れを例示する図。
【図8】
DCT圧縮用のデータを取り出すためのアドレスの決定に関連して使用される、本発明の例示的な実施形態にしたがった乗算機能を実行するために使用される回路のブロック図である。
【図9】
サイズが予め決まっている幾つかのアプリケーションに関連して使用される、本発明の例示的な実施形態にしたがった乗算機能を実行するために使用される別の回路のブロック図である。
【図10a−1】
本発明にしたがった、圧縮のための8×8ブロックのバッファリング方法用の例示的な回路の図である。
【図10a−2】
本発明にしたがった、圧縮のための8×8ブロックのバッファリング方法用の例示的な回路の図である。
【図10a−3】
本発明にしたがった、圧縮のための8×8ブロックのバッファリング方法用の例示的な回路の図である。
【図10b】
本発明にしたがった例示的な流れ図であり、YCrCbデータが図10a−2の種々のバッファに書き込まれることを示す。
(発明の分野)
本発明はビデオデータ処理に関し、より具体的には異なるフォーマット間でのビデオデータの変換に関する。
【0002】
(発明の背景)
エレクトロニクス産業は、ますます複雑な機能を常に加速しつづけるスピードで達成する装置を実現するために、半導体技術の進歩に依存しつづけている。多くのビデオアプリケーションの場合、機能性の高い装置を実現するには、異なる物理メモリ空間及び/又は異なる色表示フォーマット同士間でのデータの迅速な移動が必要となる。このようなデータの移動に使用するプロセスに依って、装置の有用性や全体的な操作性を著しく向上させることもできるし、不利益に損ねることもある。
【0003】
ビデオ通信は、ビデオデータを遠隔配置された端末間でどのように移動させるかに主に依存する効率レーティングを有するビデオデータ処理を含む例示的なアプリケーションである。典型例のアプリケーションは、チャンネルに適したチャンネルインタフェース/ドライバを用いてPOTS(plain old telephone service:従来の普通の電話サービス)又はISDN回線などのチャンネルでビデオデータとの通信を試みる第1及び第2の遠隔配置された端末を要する。第1の端末では、ビデオデータが、第1の端末でデータを表示するのに便利なフォーマットでソースから収集される。次いで収集したデータを新しいフォーマットに圧縮し、圧縮フォーマットで第2の端末に伝送する。ビデオデータを圧縮する前に、データは圧縮により適合したフォーマットに変換される。次いで第2の端末がそのデータを指定した使用に便利な他のフォーマットに圧縮解除する。したがって、このタイプのビデオデータ処理の効率レーティングは、ビデオデータをフォーマット間で変換し遠隔配置された端末間で移動させる際にどのように処理するかということに大きく依存している。
【0004】
ビデオデータ処理のアプリケーションは、ビデオデータ圧縮フォーマッティングに特に力を入れたものも含み種々の方法を使用して効率レーティングを向上させてきた。ビデオアプリケーションの一般的な圧縮フォーマットはJPEGであり、これは一般に色空間のYCrCb(luma, chroma red and chroma blue)表示を用いる。しかしながら、コンピュータは典型的にRGB(レッド、グリーン、ブルー)色空間を用いてデータを表示する。LCDやCRTなどの商品としてのディスプレイはRBG入力によって制御されるので、RGB色空間はディスプレイに有益な色空間である。JPEGは8×8のブロックを用いて色を圧縮する。JPEG圧縮では一般に、圧縮の前にRGBのフラットフレームバッファからYCrCbに変える必要がある。JPEG圧縮解除では普通、表示の目的でYCrCb出力をJPEGからRGB色空間に変える必要がある。
【0005】
JPEGアプリケーションにおける効率レーティングの向上のためのこれまでの試みでは、近年のシステムが要求する高速アプリケーションの幾つかに追いつかない。例えばこのような試みには、各プロセッサとメモリユニットを相互にリンクさせるバスの有効的な使用や管理が必要となり、さらにプロセッサがフラットフレームバッファの3つのRGBコンポーネントそれぞれをリトリーブして3つのYCrCbコンポーネントそれぞれに変換する方法も必要となる。データをRGBフォーマットのメモリディスプレイバッファからJPEG圧縮エンジンのDCT圧縮段階に効率的に移動させるための他の方法では、3つのYCrCbコンポーネントそれぞれに変換するためにRGBコンポーネントに直接パイピングするフルラインバッファを有するDMAの使用が必要となる。これらの方法はどれも(DMAによるフルラインバッファリングの使用に伴う)費用、消費電力及び/又はプロセッサに必要な帯域及びメモリに鑑みて、どちらかというと有用ではない。
【0006】
(概要)
本発明の目的は、改良型のデータ転送を提供することである。本発明を独立クレームによって定義する。
【0007】
従属クレームは、有用な実施形態を定義する。
【0008】
本発明の種々の態様によると、本発明の実施形態は、RGB色空間とYCrCb色空間メモリとの間で、上述のアプリケーションに適用する方法でデータを転送することに関する方法と装置の形態で例示される。
【0009】
本発明のより特定の態様は、DCTブロック演算エンジンとの通信のためにYCrCb色空間メモリを使用する特定のアプリケーションに関する。この実施形態及びアプリケーションに関連して、本発明の態様は、スループットを向上させプロセッサオーバーヘッドを低減するようにRGB色空間メモリとDCTブロック演算エンジンとの間でデータを転送する方法及び装置に関する。
【0010】
特定の実施形態では、DMA機能は、RGB色空間を示す例示的なメモリからデータを取り出し、JPEG変換のためにデータを与えつつオンザフライでYCrCb色空間変換を実行するように最適化される。データは、RGB色空間メモリからYCrCb色空間メモリを処理するように適合されたDCTブロック演算エンジンへと転送される。この方法は、C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域にデータを与えるステップを含み、1個のタイルは、Crデータアレイ及びCbデータアレイの少なくとも1つのDCTに充分なRGBデータに相当する。データは、1度に1個のタイルでデータにアクセスすることでタイルアレイのアドレスで取り出され、各タイル内のローとタイルアレイ内のタイルの両方が取り出される。アドレスは、C、トラッキングしたロー及びタイルアレイ内のトラッキングしたタイルの関数として生成される。データを取り出しながら、取り出したデータを使用してRGBディスプレイスクリーン領域に対応するY、Cr及びCbデータアレイのバッファに充てんする。
【0011】
他の実施形態は、逆の動作を有効的に使用したDCTブロック演算エンジンからRGB色空間メモリへのデータの転送に特に関する。
【0012】
他のより具体的な実施形態では、本発明は、上述のデータ操作を処理し、アレイにおけるタイルの数とTNとの積と、トラッキングしたローのカウントとCのカウントと定数との積との和の関数として、アドレスの1つを演算するようにプログラムされ構成されたプロセッサ装置の使用に関するものであり、TNは、タイルアレイ内のトラッキングしたタイルの数に対応する。
【0013】
さらに他のより具体的な実施形態では、プロセッサ装置は、アレイにおけるタイルの数とTNとの積と、トラッキングしたローのカウントとCのカウントと定数との積との和の関数として、またタイルのワードセグメント内のカウントの関数として、アドレスの1つを演算するようにさらにプログラムされ構成される。例えば、タイルは16ワードセグメントを用いて実行することができる。
【0014】
上記の概要は、本発明の全ての態様の全容を提供することを意図するものではない。本発明の他の態様は、詳細な説明に関連して例示され説明される。
【0015】
本発明の種々の態様及び利点は、種々の実施形態の以下の詳細な説明を読み進め図面を参照することで明らかとなるであろう。
【0016】
本発明は種々の改変や代替形態を容れることができ、その詳細を例として図面に示し詳細に説明する。しかしながら、本発明を説明する任意の実施形態に限定するものではいないことを理解すべきである。それどころか、本発明は添付の請求の範囲によって定義されるその趣旨や範囲内にある全ての改変、等価及び代替を包含するものである。
【0017】
(詳細な説明)
本発明はビデオデータ処理に関する種々のアプリケーションを有し、例えばYCrCb色空間メモリ形式でデータを処理するためによりよく適合された演算エンジンへの表示のために、RGB色空間とYCrCb色空間メモリとの間でデータを効率的に移動させることに関連する使用に特に有用であることがわかっている。本発明はこのようなアプリケーションに必ずしも限定されないが、このような状況で実施される例示的な実施形態の説明によって、本発明の種々の態様を理解することができる。
【0018】
一実施形態によると、本発明は、RGB色空間とJPEGDCT圧縮に連結するYCrCb色空間メモリとの間でデータを移動させるデータ処理装置に関する。本実施形態は異なるアプリケーションを有することができる。例えばある例では、データ処理装置はRGB色空間からJPEGDCT圧縮に連結するYCrCb色空間メモリにデータを移動させるように適合させることができ、別の例では、データ処理装置はYCrCb色空間メモリ形式のJPEGDCT圧縮から表示のためにRGB色空間にデータを移動させるように適合させることができる。アプリケーションにかかわらず、RGB色空間データは、C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域に配置される(1個のタイルは、CrデータアレイとCbデータアレイのうちの少なくとも一方のDCTに充分なRGBデータに相当する)。データは、色空間メモリのうちの1つからデータを取り出し、取り出したデータを他の色空間メモリに保存することによって、色空間メモリ間で転送される。データはCの関数として、また一度に1つのタイルにアクセスし各タイル内のローとタイルアレイ内のタイルの両方のトラッキングに応じて転送される。
【0019】
上記の実施形態に関連して、1つの特定のアプリケーションは、RGB色空間を表す外部メモリからデータを取り出しそのデータをJPEG変換のために提供する一方で、YCrCb色空間変換をオンザフライで実行するように適合されたDMA機能を最適化することに関する。シーケンスは、16カラム×16ローの単一の矩形タイルにおけるレッド、グリーン及びブルーのソースデータからなる4つの8×8ブロックを通過する。このタイルは、4つの8×8Yマトリックス、1つの8×8Crマトリックス及び1つのCbマトリックスを有するYCrCb色空間に対応する。DMA動作(又は全体的なシーケンシング)は、シーケンスにおいて1回だけメモリから読み取るように最適化され、これがSDRAMメモリや線形バースト取り出しを好む他のメモリ(又はバスアーキテクチャ)に適している。例えば単純な1024バイトのバッファを用いてRGB−YCrCb色空間変換をオンザフライで実行できる順序で進めることで、内部バッファリングを最小にすることができる。
【0020】
図面を参照し本発明にしたがうと、図1は、ARMベースのデータ処理装置10とDCT演算プロセッサ装置12との間の高速データ転送を要する特定の実施形態のブロック図を例示し、DCT演算プロセッサ装置12は、例えばDCTブロック12a、量子化器ブロック12b及びハフマンコーディング(HC)(「エンコーディング及び/又はデコーディング」)ブロック12cを含む。ARMベースのデータ処理装置10は、ARMCPU20と、例えばシステムメモリ(例えば、SDRAM)22、RGBメモリ24、及びDMAコントローラ(DMAC)26を含むシステムコンポーネントとの間の通信用のAHB(アドバンスドハイパフォーマンスバス)16を含む。ブリッジインタフェース28もまたバス16に接続され、AMBA−APB(アドバンスドマイクロコントローラバスアーキテクチャ−アドバンスドペリフェラルバス)30を介して種々の周辺装置に通信上連結する。想定される全ての実施形態やアプリケーションに必ずしも必要ではないが、AHB16などの高速バスの使用が本発明の色変換によってもたらされる高スループットにマッチさせるのに特に有用である。本発明の実施形態から利点を得る他のデータ高性能バシングCPU装置としては、IBMのCoreConnectオンチップバス及びモトローラのIP−バスが挙げられる。
【0021】
RBGメモリ24からAHB16とDMAC26まで延びる点線は、RGBメモリ24への他のデータアクセス(読取及び/又は書込み)パス、即ちAHB16にわたったDMAC26によるパス又はDMAC26による直接的なパスを表す。
【0022】
既述の実施形態に関連して上述したように、本発明の実施形態はRGB色空間とYCrCb色空間との間での変換に限定されない。例えば両方向の矢印とハフマンエンコーディング/デコーディングブロックで示されるように、図1はRGB色空間からYCrCb色空間への変換、YCrCb色空間からRGB色空間への変換又は両方の変換を想定している。このような変換は、3つの機能的に記述されたブロック、即ちワードラインバッファ34、色空間変換演算ブロック36及びYCrCb色空間メモリ38を用いて一般的に示される。これらの機能的に記述されたブロック(及び図1に示す他のブロック)は、任意の種々のタイプの完全に及び/又は部分的にプログラマブルなプロセッサを用いて実行することができるが、多くの実施形態は、種々のバッファと組合せた従来通りのALU型(加算器、シフタ及び乗算器)ロジックを用いてうまく実行することができる。
【0023】
上述のようなデータ処理装置は、色空間のYCrCb表示を用いるJPEGなどのビデオ圧縮フォーマットに特に有用である。JPEGは、DCT圧縮段階での処理のためにYCrCb色空間における8×8の色ブロックを使用し、一方でARMCPU(図1の20)などのコンピュータは典型的にRGB色空間(例えば図1のメモリ24)を用いてディスプレイデータを保存する。JPEG圧縮が通常、圧縮前にRGBからYCrCbへの変換を要し、JPEG圧縮解除は、保存やそれに続く表示のためにYCrCb出力をJPEGからRGB色空間に変換することを要する。
【0024】
ディスプレイスクリーン上のデータは、カラムとローで編成される。説明の目的で、例示的なディスプレイスクリーンは、480×240のディスプレイ用に480本のカラムと240本のローを有する。典型的なディスプレイリフレッシュは、ディスプレイドライバに表示したりその後コンピュータスクリーンに表示するためにメモリからデータを絶えず取り出すことを含む。このメモリを動作効率で編成するために、メモリのデータをリフレッシュされるスクリーン上の第1のピクセルから始めてスクリーン上の最後のピクセルまで配置する。ディスプレイリフレッシュは、ロー0、カラム0、ディスプレイバッファアドレス0から始まる。次いでロー0、カラム479に到達するまでカラム番号を増やす。ディスプレイリフレッシュはロー1、カラム0からカラム479まで続く。このプロセスは、ディスプレイの終わりに到達するまで続き、そしてこのプロセスを繰り返す。一般的な他の方法では、ディスプレイの上半分と下半分を同時にリフレッシュする。しかしながら両方の場合において、ディスプレイデータを線形順序でメモリに配置する。
【0025】
データを同じ順序でメモリに配置することによって、データが保存されているDRAM装置からデータを効率的に削除することができる。DRAM装置はアクセスされた最後のデータと同じページに配置されたデータをリトリーブするのにより効率的であるため、このことが当てはまる。今日人気の高いDRAMの大部分もまた順序が固有で、データがDRAMからバーストされるとそのデータをもっとも効率的に伝達する。ディスプレイデータ及びDRAM保存技術は、DRAMデータの効率的なアクセスを可能にするために一緒にうまく作用する。
【0026】
8ピクセル×8ピクセルブロックを用いてYCrCb色空間で表示される色を圧縮するJPEGの場合、RGB色空間でデータを表すDRAMからデータを効率的に抽出するのが難しい。この問題は、Cr及びCbデータがRGBデータに対するサブサンプリング対応を有することが原因である。RGB色空間のYコンポーネントに対してDCTブロックに表示されるデータは、8×8画像ブロックからのR、G、Bの全てのデータを使用するが、RGB色空間のCr及びCbコンポーネントに対してDCTブロックに表示されるデータは16×16画像ブロックからのR、G及びB全てのデータを使用する。冗長アクセスを最小にするためには、データをRGB色空間メモリから複数回取り出すのではなく、ハードウェア回路で効率的に処理できるように所与のDCTに対して1回だけ取り出すことが望ましい。
【0027】
図2a及び2bに示すように、図2aのRGB色空間フォーマットは、RGBフォーマットで色を表示するスクリーン上の8個の位置を示す。スクリーン上の各位置に、レッド、グリーン及びブルーの値がある。図2bのYCrCb色空間フォーマットは、JPEG色画像保存のために典型的に使用されるYCrCb色空間を示す。左側のYデータは、0.299R+0.587G+0.114Bからなる輝度で、明るさに対する人間の目の反応に比例するようになっている。図2aの図は合計24個の値を有し、図2bの図は12個の値を有する。この差の原因は、CrとCbデータがサブサンプリングされているためである。即ち、RGBの値の各セットに対して1個のY値があり、RGBの4つのセットのそれぞれに対して1個のCrと1個のCb値がある。JPEGはY、Cr及びCbデータの8×8アレイを圧縮し、Yデータに対してメモリからの8×8ブロックを使用し、Cr及びCbデータそれぞれに対して8×8ブロックに圧縮した16×16ブロックを使用する。種々のデータタイプに対して変化するデータサイズの要求によって、このデータをメモリから取り出すための要求が複雑になる。YデータがY値を生成するためにR、G及びB値3つ全てを必要とし、Cr及びCbデータはそれぞれ単一のCr値又はCb値を生成するために4つの位置からR、G及びB値3つ全て(全部で12値)を必要とすることにも留意されたい。このデータをSDRAMから複数回取り出す必要がないことは、電力や性能の理由から有用である。
【0028】
図3及び4は、本発明の例示的な実施形態にしたがった「タイル」変換の図である。図3は、RGB色空間における4つの8×8アレイを示し、3色それぞれが4*8*8*3=768バイトで1個のタイルを形成する。
【0029】
図4は、4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイのグループを示す(4*8*8+8*8+8*8=384バイト)。図4の6個の8×8アレイからなるこのグループは、例えばデータ圧縮のためにDCT演算エンジンによって容易に処理することができる。この場合、「タイル」という用語は、図3に示すようなディスプレイメモリにおけるRGB値の16×16セクションのことをいう。したがって、ディスプレイメモリにおけるRGB値の16×16セクション(この例ではタイルという)を使用してDCT圧縮用の4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイを作成することができる。
【0030】
図5、6及び7は、図3及び4に関連して示したように、データをタイル変換中に走査する方法のより詳細な図をそれぞれ例示する。各タイル及びタイルからなる全体的なアレイは、左から右へ且つ上から下へと、各タイルが完全に走査されてから次のタイルに進むように走査される。図5は、本発明の例示的な実施形態にしたがった、20個のタイル(5本のカラム×4本のロー)からなるアレイの全体的な画像走査の流れを示したディスプレイスクリーンを例示する。図6は図5のタイルのうちの2個を示し、タイルの各走査は16×16のピクセルセクションをトラバースしている。図7は、上述のタイルのうち1個における16個のピクセルの2本のローの走査パスを例示し、各ピクセルはレッド、グリーン、ブルーの値のデータを含む。各走査線は直線における16個のピクセルであり、同じタイルにおける次の16個のワードが続く。16個のピクセルはそれぞれレッド、グリーン及びブルーのバイトを含む。
【0031】
したがって、走査パスは、1)メモリからのデータの取り出しが1回だけとなるように、2)完全なローバッファを必要としないバッファ要求を最小にするように、3)SDRAMに友好的にメモリからデータを取り出すように及び4)RGB−YCrCb計算を最小のバッファリングで完了し、オンザフライで実行し、さらにバッファ要求を最小にするように、最適化されている。
【0032】
本発明によると、DMAアドレスは上記の関数として生成される。例示の目的で、一例の実施形態では、レッド[23:16]、グリーン[15:8]、ブルー[7:0]の各色が8ビットの32ビットの境界に編成されたRGB色空間メモリにおけるデータを有する。さらにこの例示的な実施形態は、YCrCb色空間における対応するデータを用いて圧縮を行う。YCrCb色空間において、各Y値は1つのRGB値に対応し、各Cr値は4つのRGB値に対応し、各Cb値は4つのRGB値に対応する。
【0033】
DMACコントローラ(例えば、図1の26)を用いてRGB色空間メモリ(例えば、24)をアドレス指定し、適切なRGBデータを取り出すことで、計算を実行する。この実施形態の場合、タイルは、Cr又はCbデータの単一のDCTのデータのために使用されるスクリーン上の領域に対応するメモリのデータである。Cr及びCbデータはサブサンプリングされているため、この同じ領域はまたYデータに対しても4つの8×8DCTを生成し、そのために6つのDCTのデータを生成するために単一をタイルを使用する。
【0034】
メモリのどこをアドレス指定するかを正確に決定するための計算は、種々の関数に基づいている。これらの関数は、種々のカウンタ及び「NCol」(タイルカラムの数に等しい)を含む。図5の例示的なタイルアレイでは、カラムの数は5である。アドレスは、以下のカウンタを使用して計算される。
【0035】
WC=ワードカウント。WCカウンタは4ビットの幅で、タイルの16ワードセグメント(0−15)までをカウントし、ワードを転送するたびに増分される。
【0036】
RC=ローカウント。RCカウンタは、タイルを垂直方向にカウントするために使用される。この例示的なアプリケーションでは、RCカウンタは4ビットカウンタであり、0から15までをカウントし、WCカウンタがオーバーフローするたびに増分される。
【0037】
TVCT=タイルトータルカウント。TVCTカウンタは、各画像変換のスタート時にリセットし、RCカウンタがオーバーフローするたびに増分する。このカウンタは、あらゆるデザインのタイルの合計数のカウントを保持するのに適した長さに設定される。
【0038】
種々のアプリケーションにおいて、例えば16ワードバーストを常にサポートすることをバスが保証できる場合、WCパラメータは特に用いない。
【0039】
次いで正確なアドレスを以下の演算から決定する。
【0040】
Address=TVCT*1024+RC*16*NCol+WC
データをディスプレイから圧縮ユニットに移動させるには、上記の計算だけが必要となる。任意のローの終わりのアドレスによってメモリにおけるアドレスの主要な変化が生じるため、典型的には全加算器を用いる。トータルタイルカウント(TVCT)の乗算は従来のシフティングロジックを用いて容易に実行することができ、一方NCol演算はより複雑な乗算又はシフト/加算動作を必要とする。例示的な1実施形態では、NCol演算は単純な整数乗算動作として実行される。当業者がこの説明から理解するように、RC及びWCをさらに分割してRGBからYCrCb生成への最適な流れを形成することができる。
【0041】
種々の実施形態では、乗算又はシフト/加算が数学的に便利である場合にNCol乗算を簡単にすることができる。例えば、この簡略化した方法は、以下の水平解像度、即ち128、240、480、960又は1024ピクセルのときだけサポートが必要な場合に適用する。
【0042】
図8は、例えば、以下の表で説明するようにNColの場合のRC×NColの乗算で使用する回路を例示する。図9のシフタ50は、「一定の入力」を有し6ビットまでのシフトを提供することで数学的演算を提供するマルチプレクサとして機能的に実行され、RCで表される入力数字よりも大きい26までの値を有する数を生成する。
【0043】
5の乗算ブロック52及び3の乗算ブロック54はそれぞれ同様に実行することができる。例えば、5を乗算するためには、ブロック52への入力を左に2回シフトし、結果を入力に加算する。図9は、図8の5の乗算ブロック52を実行するためのシフト/加算回路を例示する。図8のブロック56及び58はマルチプレクサで、それぞれ先行する乗算ブロックの出力を渡すかその入力(「定数」)を渡すかを示す下限入力を有する。
【0044】
以下の表は、これらの一般的な水平解像度を、一連のシフトや幾つかの加算を有する図8の例示的な回路でサポートできる場合を例示する。
【0045】
【表1】
上記の表において、第1、第2及び第3のカラムのエントリはそれぞれブロック50、56及び58の下限入力に対応する。第1のカラムのエントリは、ブロック50のバイナリビット数を示す。第2のカラムのエントリは、マルチプレクサブロック56が5の乗算ブロックの出力を渡すべきかどうかを示し、第3のカラムのエントリは、マルチプレクサブロック58が3の乗算ブロックの出力を渡すべきかどうかを示す。
【0046】
典型的にはデジタルカメラや一定の画像キャプチャ入力を有する装置の場合のように、幾つかのアプリケーションでは、タイルアレイのサイズは事前に知らされている。これらのアプリケーションでは、NCol乗算機能をさらに縮小することができることを当業者なら理解するであろう。
【0047】
図10aは、RGB色空間メモリとYCrCb色空間メモリとの間でデータを効率的に移動させるための他の例示的な回路100を例示する。図10aの上部分は、RGB空間から表示のためのYCrCb変換を経てデータ圧縮やチャンネル102を介したデータ伝送のための、DCTブロックとしてのDCT演算エンジンへの既述のデータの流れを例示し、チャンネル102は典型的に、遠隔端末に通信上連結する高速ドライバ(図示せず)に送るように適合されている。図10aの下部分は、圧縮形式でチャンネル102からRGB空間に変換するためにDCTブロック(YCrCb色空間)に圧縮解除するための逆DCT(「IDCT」)演算エンジンへのデータの逆の流れを例示する。
【0048】
より具体的には、図10aの回路はDCTSDRAMアドレスジェネレータ104を含み、このジェネレータは圧縮のためにRGB色空間メモリ(図示せず)からデータを取り出し、圧縮解除後にRGB色空間メモリにデータを保存するように適合されている。ブロック106で、取り出したRGBデータを例えばDMACによって収集し、またワードラインバッファ108aに分散してブロック110に表示し、該ブロック110は色空間変換値を計算して4つのYバッファ112a〜112dとCrAバッファとCrBバッファの対112e〜112hに表示する。これらのバッファ112a〜hが充てんされると、DCTブロックとしてアクセスされ、DCTブロック114、量子化器116及びハフマンデコーダ118によって圧縮される。多くのアプリケーションでは、ビデオデータをチャンネル102を介した伝送のための他のパラレルソースからのデータと共に表示するために、データマルチプレクサ(図示せず)を用いる。
【0049】
チャンネル102からRGB色空間メモリへのデータ処理経路は上記の説明の逆をたどり、図10aは対応するブロック(例えば、ブロック110はブロック110‘に対応する)を示す。圧縮/圧縮解除機能が例えば特別な即ち専用DSPを用いてプロセッサで実行される場合、多くのアプリケーションではこれらのハードウェア資源を共有する。
【0050】
図10bは、充てんされてDCT機能ブロックを利用可能な場合のDCTブロックを示す。Y1、Y2及びCrA、CrBバッファは同時に充てんされる。しかしながら、このデータはサブサンプリングされているため、Y1及びY2ブロックがCrA及びCrBよりも前に完了する。Y1及びY2ブロックが完了するとすぐにDCTブロックに送ることができる。これは#1として示されている。#2では、Yバッファの第2のセットであるY3及びY4の充てんが始まり、CbA及びCbBバッファを取り出すプロセスが続いている。#2では、2つのYバッファ、即ちY1及びY2の処理を開始することができる。単一のDCTブロックが利用でき、Y1の処理に続いてY2が処理されると仮定する。Y3及びY4バッファが完了してDCTブロックが利用可能になると、DCT変換を#4で示すY3ブロックで続けることができる。また、Y2バッファがフリーな場合、メモリ取り出しを再度開始することができ、#5でCrバッファの余分なセットとしてのCrB及びCbBが利用できる。メモリサブシステムの速度やDCTブロックの速度に依って、#4及び#5をあらゆる順序で実行することができる。単一の16×16ブロックのDCTが4個のYブロック、1個のCrブロック及び1個のCbブロックを生成する。しかしながら、この回路は4個のYバッファ、2個のCrバッファ及び2個のCbバッファを有する。この非対称性は意図的なものであるため、Yデータはそれぞれがパイプライニングを可能にする2つのグループとして利用でき、Cr及びCbデータは16×16ブロック全体が完了するまで利用できない。
【0051】
上述の種々の実施形態は例示のためだけに提示されてきて、本発明を限定しようとするものではない。当業者なら、本明細書中に例示され説明された例示的な実施形態やアプリケーションに厳密にしたがわずに本発明に対してなされ得る種々の改変や変更を容易に認識するであろう。例えば、JPEGフォーマットかデータ圧縮/圧縮解除のいずれかを使用することが必ずしも要求されているわけではなく、他のアプリケーションは、本発明を用いたRGB色空間とYCrCb色空間との間の変換から利益を得ることができるため、本発明の趣旨は請求の範囲で説明される。
【0052】
請求の範囲において、括弧の中にあるあらゆる参照符号は請求の範囲を限定するものではない。「備える」という用語は、請求の範囲に挙げた要素やステップ以外の要素やステップの存在を除外しない。要素の前に付く「a」や「an」は、複数のこのような要素の存在を除外しない。本発明を、幾つかの個別の要素を備えるハードウェアや適切にプログラムされたコンピュータによって実行することができる。幾つかの手段を列挙した装置クレームでは、これらの手段のうちの幾つかを1つのハードウェアの同じアイテムによって具体化することができる。幾つかの手段が互いに異なる従属クレームで記載されているという事実は、これらの手段の組合せを利点のために使用することができないということを示すものではない。
【図面の簡単な説明】
【図1】
本発明の例示的な実施形態にしたがった、ビデオ処理装置のブロック図である。
【図2a】
従来技術で公知のRGB色空間とYCrCb色空間フォーマットの図である。
【図2b】
従来技術で公知のRGB色空間とYCrCb色空間フォーマットの図である。
【図3】
本発明の例示的な実施形態にしたがったタイル変換の図であり、RGB色空間における4個の8×8アレイ(図3)のDCT圧縮用の4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイ(図4)への変換を示す。
【図4】
本発明の例示的な実施形態にしたがったタイル変換の図であり、RGB色空間における4個の8×8アレイ(図3)のDCT圧縮用の4個の8×8Yアレイ、1個の8×8Crアレイ及び1個の8×8Cbアレイ(図4)への変換を示す。
【図5】
本発明の例示的な実施形態にしたがった、タイルアレイレベルでのタイルの画像走査の流れを例示する図。
【図6】
本発明の例示的な実施形態にしたがった、タイルレベルでのタイルの画像走査の流れを例示する図。
【図7】
本発明の例示的な実施形態にしたがった、走査線レベルでのタイルの画像走査の流れを例示する図。
【図8】
DCT圧縮用のデータを取り出すためのアドレスの決定に関連して使用される、本発明の例示的な実施形態にしたがった乗算機能を実行するために使用される回路のブロック図である。
【図9】
サイズが予め決まっている幾つかのアプリケーションに関連して使用される、本発明の例示的な実施形態にしたがった乗算機能を実行するために使用される別の回路のブロック図である。
【図10a−1】
本発明にしたがった、圧縮のための8×8ブロックのバッファリング方法用の例示的な回路の図である。
【図10a−2】
本発明にしたがった、圧縮のための8×8ブロックのバッファリング方法用の例示的な回路の図である。
【図10a−3】
本発明にしたがった、圧縮のための8×8ブロックのバッファリング方法用の例示的な回路の図である。
【図10b】
本発明にしたがった例示的な流れ図であり、YCrCbデータが図10a−2の種々のバッファに書き込まれることを示す。
Claims (15)
- RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する方法であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与えるステップであって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当するステップと、
色空間メモリの一方からデータを取り出し、取り出したデータを他方の色空間メモリに保存することで色空間メモリの間でデータを転送するステップであって、データはCの関数として、また1度に1個のタイルにアクセスし各タイル内のローとタイルアレイ内のタイルの両方をトラッキングすることの関数として転送されるステップと、を含む方法。 - 転送したデータをYCrCb色空間メモリで圧縮するステップをさらに含む、請求項1記載の方法。
- データを転送する前に、YCrCb色空間メモリで圧縮解除するステップをさらに含む、請求項1記載の方法。
- RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する方法であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与えるステップであって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当するステップと、
1度にデータの1個のタイルにアクセスし各タイル内のローとタイルアレイ内のタイルの両方をトラッキングすることで、タイルアレイのアドレスでデータを取り出すステップであって、アドレスが、C、トラッキングしたロー及びタイルアレイ内のトラッキングしたタイルの関数であり、データを取り出しながら取り出したデータを使用してRGBディスプレイスクリーン領域に対応するY、Cr及びCbデータアレイのバッファを充てんするステップと、を含む方法。 - Y、Cr及びCbデータアレイの各バッファのデータに対してDCTを実行するステップをさらに含む、請求項4記載の方法。
- トラッキングしたローのカウントとCのカウントとの積の関数としてアドレスの1つを演算するステップをさらに含む、請求項4記載の方法。
- アレイにおけるタイルの数とTNとの積と、トラッキングしたローのカウントとCのカウントと定数との積との和の関数として、アドレスの1つを演算するステップであって、TNがタイルアレイ内のトラッキングしたタイルの数に相当するステップをさらに含む、請求項4記載の方法。
- 1個のタイルが、Crデータアレイ、Cbデータアレイ及び4個のYデータアレイのDCT用のRGBデータに対応する、請求項4記載の方法。
- RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する方法であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与えるステップであって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当するステップと、
YCrCb色空間メモリのデータを取り出すステップと、
データを取り出しながら1度に1個のタイルをアドレス指定することで取り出したデータをタイルアレイに書き込むステップであって、アドレスはCの関数として、また各タイル内のローとタイルアレイ内のタイルの両方のトラッキングの関数として決定されるステップと、を含む方法。 - RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する回路装置であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与える手段であって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当する手段と、
一方の色空間メモリからデータを取り出し、取り出したデータを他方の色空間メモリに保存することで色空間同士間でデータを転送する手段であって、データがCの関数として、また1度に1個のタイルにアクセスし、各タイル内のローとタイルアレイ内のタイルの両方をトラッキングすることの関数として転送される手段と、を含む回路装置。 - RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する回路装置であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与えるようにプログラムされ構成されたプロセッサ装置であって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当し、プロセッサ装置が、一方の色空間メモリからデータを取り出し、取り出したデータを他方の色空間メモリに保存することで色空間メモリ同士間でデータを転送するようにプログラム且つ構成され、データが、Cの関数として、また1度に1個のタイルにアクセスし各タイル内のローとタイルアレイ内のタイルの両方をトラッキングすることの関数とし転送されるプロセッサを含む、回路装置。 - プロセッサ装置が、アレイにおけるタイルの数とTNとの積と、トラッキングしたローのカウントとCのカウントと定数との積との和の関数として、アドレスの1つを演算するようにさらにプログラムされ構成され、TNがタイルアレイ内のトラッキングしたタイルの数に対応する、請求項11記載の回路装置。
- RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する回路装置であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与えるようにプログラムされ構成されたプロセッサ装置であって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当し、プロセッサ装置が、1度に1個のデータタイルにアクセスし各タイル内のローとタイルアレイ内のタイルの両方をトラッキングすることでタイルアレイのアドレスでデータを取り出すようにさらにプログラム及び構成され、アドレスはC、トラッキングしたローとタイルアレイ内のトラッキングしたタイルの関数で、データを取り出しながら取り出したデータを使用してRGBディスプレイスクリーン領域に対応するY、Cr及びCbデータアレイのバッファを充てんする、プロセッサ装置を含む回路装置。 - プロセッサ装置が、タイルのワードセグメント内のカウントの関数としてアドレスの1つを演算するようにさらにプログラム且つ構成される、請求項13記載の回路装置。
- RGB色空間メモリとDCTブロック演算エンジンへの表示に有用なYCrCb色空間メモリとの間でデータを転送する回路装置であって、
C本のカラムとR本のローのタイルを有するタイルアレイとしてRGBディスプレイスクリーン領域を有するRGB色空間メモリにデータを与えるようにプログラムされ構成されたプロセッサ装置であって、1個のタイルがCrデータアレイ及びCbデータアレイの少なくとも一方のDCTに充分なRGBデータに相当し、プロセッサ装置がYCrCb色空間メモリのデータを取り出し、データを取り出しながら1度に1個のデータタイルにアクセスすることで取り出したデータをタイルアレイに書き込むようにさらにプログラム及び構成され、アドレスはCの関数、また各タイル内のローとタイルアレイ内のタイルの両方のトラッキングの関数であるプロセッサ装置を含む回路装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/656,021 US6670960B1 (en) | 2000-09-06 | 2000-09-06 | Data transfer between RGB and YCRCB color spaces for DCT interface |
PCT/EP2001/010257 WO2002023889A2 (en) | 2000-09-06 | 2001-09-05 | Data transfer between rgb and ycrcb color spaces for dct interface |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004509528A true JP2004509528A (ja) | 2004-03-25 |
Family
ID=24631301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002527198A Pending JP2004509528A (ja) | 2000-09-06 | 2001-09-05 | DCTインタフェースのためのRGB色空間とYCrCb色空間との間のデータ転送 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6670960B1 (ja) |
EP (1) | EP1317850A2 (ja) |
JP (1) | JP2004509528A (ja) |
KR (1) | KR20020052199A (ja) |
CN (1) | CN1394430A (ja) |
WO (1) | WO2002023889A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005115015A1 (ja) * | 2004-05-20 | 2005-12-01 | Matsushita Electric Industrial Co., Ltd. | 画像処理装置及びデータ処理方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543227B (zh) * | 2003-05-22 | 2010-05-12 | 中国科学院长春光学精密机械与物理研究所 | 一种平板显示屏色度空间变换修正方法 |
US20050134877A1 (en) * | 2003-12-17 | 2005-06-23 | Murata Kikai Kabushiki Kaisha | Color image processing device and color image processing method |
US7469068B2 (en) | 2004-05-27 | 2008-12-23 | Seiko Epson Corporation | Method and apparatus for dimensionally transforming an image without a line buffer |
US20050285871A1 (en) * | 2004-06-29 | 2005-12-29 | Canon Kabushiki Kaisha | Image-processing circuit, electronic apparatus, and method for processing image |
US7304646B2 (en) * | 2004-08-19 | 2007-12-04 | Sony Computer Entertainment Inc. | Image data structure for direct memory access |
EP1966691A2 (en) * | 2005-12-27 | 2008-09-10 | Vaakya Technologies Private Limited | Method and system for compiling a source code |
US8466928B2 (en) * | 2006-10-06 | 2013-06-18 | Canon Kabushiki Kaisha | Image processing apparatus and method |
US20090238069A1 (en) * | 2008-03-19 | 2009-09-24 | Himax Technologies Limited | Device and method for controlling program stream flow |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4553171A (en) | 1984-01-27 | 1985-11-12 | Xerox Corporation | Tile encoding in image printing |
JPH0821233B2 (ja) | 1990-03-13 | 1996-03-04 | 株式会社東芝 | 画像メモリおよび画像メモリからデータを読み出す方法 |
GB9021920D0 (en) * | 1990-10-09 | 1990-11-21 | Texas Instruments Ltd | Improvements in or relating to raster-scanned displays |
US5544284A (en) * | 1992-02-11 | 1996-08-06 | Eastman Kodak Company | Sequential product code quantization of digital color image |
EP0665512B1 (en) | 1994-02-01 | 2000-05-10 | Canon Kabushiki Kaisha | An image processing method and apparatus |
JPH07327134A (ja) * | 1994-05-31 | 1995-12-12 | Canon Inc | 画像処理装置およびその方法 |
JP2630923B2 (ja) | 1994-12-05 | 1997-07-16 | 日本アイ・ビー・エム株式会社 | 画像認識方法及び装置 |
JPH08171384A (ja) | 1994-12-16 | 1996-07-02 | Canon Inc | 走査変換方法及びその装置 |
JP3253489B2 (ja) | 1995-06-08 | 2002-02-04 | 三洋電機株式会社 | 画像データ処理装置 |
US5815168A (en) * | 1995-06-23 | 1998-09-29 | Cirrus Logic, Inc. | Tiled memory addressing with programmable tile dimensions |
US5784050A (en) * | 1995-11-28 | 1998-07-21 | Cirrus Logic, Inc. | System and method for converting video data between the RGB and YUV color spaces |
US5736988A (en) * | 1995-12-04 | 1998-04-07 | Silicon Graphics, Inc. | Apparatus and method for accelerated tiled data retrieval |
TW330273B (en) | 1996-02-13 | 1998-04-21 | Sanyo Electric Co | The image-processing device and method for mapping image memory |
US5867598A (en) | 1996-09-26 | 1999-02-02 | Xerox Corporation | Method and apparatus for processing of a JPEG compressed image |
KR100207705B1 (ko) | 1996-12-04 | 1999-07-15 | 윤종용 | Dct 블럭과 래스터 스캔을 위한 메모리 주소지정장치 및 그 방법 |
US5852742A (en) * | 1997-06-17 | 1998-12-22 | Hewlett-Packard Company | Configurable data processing pipeline |
US5990912A (en) * | 1997-06-27 | 1999-11-23 | S3 Incorporated | Virtual address access to tiled surfaces |
WO1999013429A1 (en) | 1997-09-11 | 1999-03-18 | Intel Corporation | A method for directly compressing a color image and tailoring the compression based on the color filter array, optics, and sensor characteristics |
US6028612A (en) | 1997-11-18 | 2000-02-22 | Stmicroelectronics, Inc. | Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences |
US6356276B1 (en) * | 1998-03-18 | 2002-03-12 | Intel Corporation | Median computation-based integrated color interpolation and color space conversion methodology from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
US6157743A (en) * | 1998-07-31 | 2000-12-05 | Hewlett Packard Company | Method for retrieving compressed texture data from a memory system |
US6415058B2 (en) * | 1998-10-27 | 2002-07-02 | Hewlett-Packard Company | System for compression of digital images comprising low detail areas |
-
2000
- 2000-09-06 US US09/656,021 patent/US6670960B1/en not_active Expired - Fee Related
-
2001
- 2001-09-05 JP JP2002527198A patent/JP2004509528A/ja active Pending
- 2001-09-05 WO PCT/EP2001/010257 patent/WO2002023889A2/en not_active Application Discontinuation
- 2001-09-05 EP EP01969696A patent/EP1317850A2/en not_active Withdrawn
- 2001-09-05 CN CN01803453A patent/CN1394430A/zh active Pending
- 2001-09-05 KR KR1020027005733A patent/KR20020052199A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005115015A1 (ja) * | 2004-05-20 | 2005-12-01 | Matsushita Electric Industrial Co., Ltd. | 画像処理装置及びデータ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20020052199A (ko) | 2002-07-02 |
WO2002023889A2 (en) | 2002-03-21 |
WO2002023889A3 (en) | 2002-06-06 |
CN1394430A (zh) | 2003-01-29 |
US6670960B1 (en) | 2003-12-30 |
EP1317850A2 (en) | 2003-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW583883B (en) | System and method for multiple channel video transcoding | |
US8798157B1 (en) | Forward and inverse transformation of data for video compression | |
JP4151684B2 (ja) | 符号化装置、符号化方法および符号化プログラム、並びに撮像装置 | |
US11308647B2 (en) | Method and system for improving compression ratio by difference between blocks of image file | |
US6940523B1 (en) | On the fly data transfer between RGB and YCrCb color spaces for DCT interface | |
US7421130B2 (en) | Method and apparatus for storing image data using an MCU buffer | |
JP2004509528A (ja) | DCTインタフェースのためのRGB色空間とYCrCb色空間との間のデータ転送 | |
EP2787738B1 (en) | Tile-based compression for graphic applications | |
US5309528A (en) | Image digitizer including pixel engine | |
US10304213B2 (en) | Near lossless compression scheme and system for processing high dynamic range (HDR) images | |
CN102118616A (zh) | 图片解码方法及图片解码器 | |
US11539955B2 (en) | Method and system for improving compression ratio through pixel conversion of image file | |
CN108881923B (zh) | 减少jpeg编解码行缓冲容量的方法 | |
US8473679B2 (en) | System, data structure, and method for collapsing multi-dimensional data | |
US7346220B2 (en) | Method and apparatus for reducing the bandwidth required to transmit image data | |
TWI517695B (zh) | 晶片內/晶片外記憶體管理 | |
US8064709B2 (en) | Method and apparatus for buffering output pixel data of a joint photographic experts group image | |
JP4578444B2 (ja) | ゼロ画素カウント回路 | |
US7469068B2 (en) | Method and apparatus for dimensionally transforming an image without a line buffer | |
US10979723B2 (en) | Image processing method and image processing device | |
JP4122753B2 (ja) | 画像処理装置 | |
CN117979059A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US20140300628A1 (en) | Tile-based compression and decompression for graphic applications | |
JPH06274607A (ja) | 並列信号処理装置 |