JP2009522698A - 画像およびビデオ処理のためのメモリ体系化スキームおよびコントローラ・アーキテクチャ - Google Patents

画像およびビデオ処理のためのメモリ体系化スキームおよびコントローラ・アーキテクチャ Download PDF

Info

Publication number
JP2009522698A
JP2009522698A JP2008549665A JP2008549665A JP2009522698A JP 2009522698 A JP2009522698 A JP 2009522698A JP 2008549665 A JP2008549665 A JP 2008549665A JP 2008549665 A JP2008549665 A JP 2008549665A JP 2009522698 A JP2009522698 A JP 2009522698A
Authority
JP
Japan
Prior art keywords
memory
image
pixel data
word
memory word
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
JP2008549665A
Other languages
English (en)
Other versions
JP5139322B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009522698A publication Critical patent/JP2009522698A/ja
Application granted granted Critical
Publication of JP5139322B2 publication Critical patent/JP5139322B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

本開示は、画像処理に役立つメモリの体系化スキームについて記述する。メモリ・コントローラ・アーキテクチャも記述される。それはこの体系化スキームを利用する。この体系化スキームおよびコントローラ・アーキテクチャは、ビデオ・シーケンスを作成する高性能、高品質画像処理のために特に役立つが、その他の画像処理設定にも適用することができる。これら記述された技術およびメモリの体系化構造によって、ビデオ・デバイスの他の記憶アプリケーションのためにメモリが共有される。

Description

本発明は、画像およびビデオ処理に関し、更に詳しくは、ビデオ・シーケンスの画像フレーム処理のための記憶装置に関する。
デジタル・ビデオ機能は、デジタル・テレビ、デジタル直接衛星放送システム、無線通信デバイス、ポータブル・デジタル・アシスタント(PDA)、ラップトップ・コンピュータ、デスクトップ・コンピュータ、直接2方式通信デバイス(しばしば、「ウォーキ・トーキー」と称される)、および、例えばセルラ、衛星、または地上ベースの無線電話のような無線電話を含む広範囲のデバイスに組み入れることができる。これらのデバイスは、フル・モーション・ビデオ・シーケンスを作成し、修正し、送信し、格納し、再生する際に、従来のアナログ・ビデオ・システムに対して著しい改善を提供することができる。
多くのビデオ処理およびコーディング技術が、デジタル・ビデオ・シーケンスの通信のために確立された。Moving Picture Experts Group(MPEG)は、例えば、MPEG−1、MPEG−2、およびMPEG−4を含む多くのビデオ・コーディング規格を開発した。他の規格は、ITU H.263規格およびITU H.264規格を含んでいる。更に、多くの所有権付き規格も様々な企業によって開発されている。また、新しい規格の出現および発展が続いている。
これらのビデオ規格の多くはデータ圧縮を利用する。例えば、多くのビデオ・コーディング技術は、インター・フレーム圧縮を提供するために、時間的またはインター・フレーム相関を活用することによってデータを圧縮するように設計されたグラフィクスおよびビデオ圧縮アルゴリズムを利用する。インター・フレーム圧縮技術は、画像フレームのピクセル・ベースの表現を、動作表現に変換することによって、フレームにわたったデータ冗長を活用する。更に、ビデオ圧縮技術はしばしば、空間またはイントラ・フレーム相関と称される、画像フレーム内の類似性を利用する。これによって、画像フレーム内の動作表現が更に圧縮されるイントラ・フレーム圧縮が可能となる。このイントラ・フレーム圧縮は、一般に、例えば、離散コサイン変換(DCT)変換のような静止画像を圧縮する従来処理に基づく。
しかしながら、ビデオ圧縮を行なう前に、多くの「フロント・エンド」画像処理技術が、ビデオ・シーケンスの画像フレームについて実行される。例えば、フロント・エンド画像処理技術は、しばしば、画像センサから生成された画像について用いられる。そのような画像処理技術の例は、幾つか名前を挙げると、モザイク解除、レンズ・ロールオフ補正、スケーリング、色補正、色変換、および空間フィルタを含む。この処理は、例えば色調再生、彩度、色相再生、および鮮鋭度のような視覚的な画像品質特性を改善することができる。
例えば、ビデオ・アプリケーションで使用される幾つかの画像センサは、各センサの表面に配置されたカラー・フィルタ・アレイ(CFA)を使用して、シーンをサンプリングする。様々なCFAパターンを使用することが可能であり、各フォトサイトにつき3つの明度を得るために、デジタル・シグナル・プロセッサ(DSP)を使用することができる。しかしながら、高品質のカラー・ビデオ画像を得るための画像処理技術が必要とされる。一般に、これらの画像処理技術が、ビデオ・コーディング・ユニットによる画像圧縮またはその他のビデオ・コーディングに先行する限りは、これらの技術は、本明細書において、「フロント・エンド」画像処理と称される。しかしながら、他の用語では、これらの画像処理技術は、「ポスト処理」ステップとも称される。なぜなら、これらの処理は、画像が画像センサによって取得された後になされるからである。
あいにく、これらの画像処理ステップは、リアルタイム・ビデオ電話通信(VT)アプリケーションにおけるリアルタイム・ビデオ・エンコードに対する問題を呈する。例えば、ビデオ・シーケンスのリアルタイム送信を保証するために、全ての画像処理を極めて迅速に行なう必要がある。従って、リアルタイム画像処理は、一般に幾つかの異なる画像処理モジュールによる広範囲な画像処理が実行されることを保証するために、非常に高い帯域幅メモリと大規模な記憶装置とを必要とする。あいにく、メモリ帯域幅およびメモリ・スペースは、ほとんどのビデオ・コーディング・デバイスの場合、制限されている。
発明の概要
本開示は、画像処理に役立つメモリ体系化スキームについて記述する。この体系化スキームは、ビデオ・シーケンスを生成する画像の高品質な高性能画像処理のために役立つが、その他の画像処理設定にも適用可能である。また、メモリの記述された技術および体系構成によって、メモリが、ビデオ・デバイスのその他のストレージ・アプリケーションで共有されるようになる。
この開示に従って、複数の画像のためのピクセル・データを含むようにメモリ・ワードが定義される。例えば、各メモリ・ワードは、処理パイプラインまたはビデオ・シーケンス内に、幾つかのシーケンシャルな画像のためのピクセル・データを含めることができる。メモリの隣接するメモリ・ワードは、シーケンシャルな画像の隣接するピクセルのデータを含むことができる。異なる画像のピクセル・データが、並列画像処理のために、異なる画像処理モジュールに送られるように、各メモリ・ワードからのピクセル・データの分離を容易にするメモリ・コントローラ・アーキテクチャもまた記述される。この開示に従って、共有されたメモリ・ワードにおける画像データの構成は、画像センサ処理を加速し、リアルタイム・ビデオ電話(VT)アプリケーションのために特に望ましい。更に、本明細書に記載のメモリ体系化スキームおよびコントローラ・アーキテクチャはまた、例えば、デバイスのデジタル・シグナル・プロセッサ(DSP)によって実行される32ビット命令または64ビット命令や、他のタイプの非ピクセル情報のようなその他の情報を、メモリ・ワード内に格納する能力をサポートすることができる。従って、本明細書で記述されたメモリ構成およびコントローラ・アーキテクチャによって、メモリは、フロント・エンド・ビデオ処理アプリケーションおよびその他のアプリケーションの両方に共有されるようになる。
1つの実施形態では、本開示は、第1の画像の第1のピクセル・データと、第2の画像の第1のピクセル・データとを含む第1のメモリ・ワードを、メモリ内に格納することと、第1の画像の第2のピクセル・データと、第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードを、メモリ内に格納することとを備える方法を提供する。
別の実施形態では、本開示は、第1の画像の第1のピクセル・データと第2の画像の第1のピクセル・データとを含む第1のメモリ・ワード、および、第1の画像の第2のピクセル・データと第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードを含むメモリと、第1および第2の画像の第1のピクセル・データを送るために、メモリ・アクセス・サイクルで、第1のメモリ・ワードにアクセスするコントローラとを備えるデバイスを提供する。
別の実施形態では、本開示は、第1の画像の第1のピクセル・データと第2の画像の第1のピクセル・データとを含む第1のメモリ・ワードと、第1の画像の第2のピクセル・データと第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードとを備えるメモリを提供する。
本発明の1または複数の実施形態の詳細は、添付図面および以下に記述される。本発明の他の特徴、目的、および利点は、詳細説明、図面、および特許請求の範囲から明らかになるであろう。
詳細な説明
本開示は、複数の異なる画像のためのピクセル・データが、メモリ・ワードに含まれているメモリのための体系スキームを記述する。言い換えれば、所与のメモリ・ワードは、多くの画像のためのピクセル・データを含むように定義することができる。幾つかの画像の連続的なピクセルが、メモリの隣接した行内に格納される。ここで、各行は、1または複数の画像について、ピクセル・データを含むメモリ・ワードによって定義される。本開示に従って、メモリ・ワード内の画像データの構成は、リアルタイム・ビデオ電話(VT)のために特に好適なフロント・エンド画像処理を加速することができる。並列画像処理のために、異なる画像のピクセル・データが、異なる画像処理モジュールに送られることを可能にするために、各メモリ・ワードからのピクセル・データの分離を容易にするメモリ・コントローラ・アーキテクチャも記述される。幾つかの実施形態では、所与のメモリ・ワードは、多くの並列画像処理動作によって「共有」され、多くの画像のための画像データが、共有されたメモリ・ワードから、多くの画像処理動作へと同時に逆多重化(すなわち、分散)される。これは、実際に、多くの画像処理動作が、共有されたメモリ・ワードに同時にアクセスし、メモリ・ワードの異なる部分内にカプセル化された異なる画像を処理することを可能にする。
記述されたメモリ体系化スキームおよびコントローラ・アーキテクチャはまた、例えば、デバイスのデジタル・シグナル・プロセッサ(DSP)によって実行される32ビット命令または64ビット命令、キャッシュとして格納される情報、またはその他のタイプのデータのような他の情報を格納する能力をサポートすることができる。言い換えれば、メモリ体系化スキームは、例えば64ビット幅のような比較的広いメモリ・ワードを可能にし、これは、メモリが、多くのアプリケーションのために使用されることを可能にする。同時に、記載されたメモリ・コントローラ・アーキテクチャによって、例えば、所与のメモリ・ワードから幾つかの画像のピクセルを分離するために、比較的広いメモリ・ワードが、より小さなユニットに分離される。これによって、幾つかの画像のピクセルが、フロント・エンド画像処理モジュールによって並列して処理される。このように、記載された体系化スキームおよびコントローラ・アーキテクチャは、フロント・エンド画像処理を加速することができ、これは、特に、リアルタイム・ビデオ電話(VT)アプリケーションに望ましい。
図1は、典型的なビデオ・コーディング・デバイス2を例示するブロック図である。ビデオ・コーディング・デバイス2は、ビデオ・データをコード化および送信することが可能なデジタル・ビデオ・デバイスの一部を形成することができる。ビデオ・データは、ビデオ・カメラから取得され、ビデオ・アーカイブから検索され、あるいはその他の方法で取得される。コーディング・デバイス2は、例えば、デジタル・テレビ、デジタル直接衛星放送システム、無線通信デバイス、携帯情報端末(PDA)、ラップトップ・コンピュータ、デスクトップ・コンピュータ、デジタル・カメラ、デジタル記録デバイス、ネットワーク対応デジタル・テレビ、セルラまたは衛星無線電話、あるいはVT機能を備えた任意の電気通信デバイスのようなデバイス内に実装される。コーディング・デバイス2は、例えばMPEG−4、ITU−T H.263、ITU−T H.264、あるいはその他任意のビデオ・コーディング規格のようなビデオ・コーディング規格に従うことができる。コーディング・デバイス2は、例えば動作予測および動作補正のようなインター・フレーム・コーディング技術をサポートすることができ、例えば、イントラ・フレーム・コーディングのために使用されるイントラ予測コーディングや空間推定のようなその他の技術をサポートすることができる。
図1に示されるように、コーディング・デバイス2は、ビデオ・シーケンスをコード化するビデオ・コーディング装置4、およびコーディング前後のビデオ・シーケンスを格納するビデオ・メモリ14を含む。デバイス2はまた、コード化されたシーケンスを他のデバイスへ送信するための送信機16と、恐らくは、例えばビデオ・カメラのように、ビデオ・シーケンスを取得し、取得したシーケンスをメモリ14に格納するためのビデオ・キャプチャ・デバイス12を含む。コーディング・デバイス2の様々な要素は、通信バス15を経由して通信可能に接続されうる。その他多くの要素もコーディング・デバイス10に含まれうるが、簡略のために図1では例示していない。本明細書に記載された技術がその他様々なアーキテクチャで実装されうるように、図1に例示するアーキテクチャは単に典型例である。
ビデオ・メモリ14は一般に、比較的大きなメモリ・スペースを含む。ビデオ・メモリ14は、例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM)、あるいはFLASHメモリを含みうる。メモリ14は、いわゆる「NOR」あるいは「NAND」メモリ技術、あるいはその他のデータ・ストレージ技術に基づきうる。他の例において、ビデオ・メモリ14は、不揮発性メモリあるいはその他のタイプのデータ記憶装置を含みうる。
ビデオ・コーディング装置4は、ハードウェア、ソフトウェア、ファームウェア、および/または1または複数のマイクロプロセッサの組み合わせを含むモバイル無線電話のためのいわゆる「チップ・セット」、デジタル・シグナル・プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはこれらの様々な組み合わせを備える。ビデオ・コーディング装置4は、一般に、ローカル・メモリ8に接続されたビデオ・コーダ6を含んでいる。ビデオ・コーダ6は、デジタル・ビデオ・データのエンコードおよびデコードのためのエンコーダ/デコーダ(コーデック)を備えうる。ローカル・メモリ8は、ビデオ・メモリ14に対してより小型かつより高速なメモリ・スペースを備えうる。一例として、ローカル・メモリ8は、シンクロナスDRAM(SDRAM)を備えうる。ローカル・メモリ8は、ビデオ・コーディング装置4の他の構成要素とともに統合された「オンチップ」メモリを備え、プロセッサ集約的なコーディング処理中、データへの極めて迅速なアクセスを提供する。しかしながら、メモリ14および8は、同じメモリ部分に結合されうるし、あるいは、多くの他の構成で実現されうる。
ビデオ・コーディング装置4は、ローカル・メモリ8に対する書き込みおよびメモリ・フェッチを制御するメモリ・コントローラ10を含んでいる。繰り返すが、図1に例示するアーキテクチャは単なる典型例であり、メモリ8およびメモリ・コントローラ10内で実現される技術はまた、他のアーキテクチャへも適用され、外部メモリ14の体系にも適用することができる。
一例として、ビデオ・コーダ6は、フロント・エンド・ビデオ処理ユニット18およびビデオ・コーディング・ユニット19を含むことができる。フロント・エンド・ビデオ処理装置18は、一般に、画像品質を改善するためにビデオ・シーケンスのフレームについて1または複数の画像処理技術を実行し、もって、ビデオ・シーケンスの品質を改善する。例えば、フロント・エンド・ビデオ処理ユニット18は、例えば、モザイク解除、レンズ・ロールオフ補正、スケーリング、色補正、色変換、および空間フィルタリングのような技術を実行することができる。更に、フロント・エンド・ビデオ処理ユニット18は、他の技術を実行することができる。一般に、これら技術がビデオ・コーダ6によるコーディング前である限りは、ユニット18によって実行される技術は、「フロント・エンド」画像処理技術と称される。
ビデオ・キャプチャ・デバイス12は、各センサの表面に配置されたカラー・フィルタ・アレイ(CFA)を含む画像センサを備えうる。この場合、ユニット18によって実行されるフロント・エンド画像処理は、デバイス12によって取得されたビデオ・シーケンスの品質を改善することができる。例えば、ビデオ・コーダ6は、ユニット18を定義するようにプログラムされたDSPを含むことができる。これは、画像キャプチャ・デバイス12によって取得された画像のフロント・エンド処理を実行する。上述したように、メモリ8内で実現される体系化スキームは、画像処理帯域幅効率を改善し、メモリ8(又はメモリ14)の同じ領域が、これらの両方のフロント・エンド画像処理目的、およびその他の記憶目的のために使用されるようにすることができる。
ビデオ・コーディング・ユニット19は、ビデオ・コーディングを行なう。それは、例えばインター・フレーム圧縮またはイントラ・フレーム圧縮のような1または複数のビデオ圧縮技術を含む。例えば、ビデオ・コーディング・ユニット19は、時間的すなわちインター・フレーム・データ相関を利用してインター・フレーム圧縮を提供するために、動作推定技術および動作補正技術を実施することができる。あるいは、またはそれに加えて、ビデオ・コーディング・ユニット19は、空間的すなわちイントラ・フレーム・データ相関を利用してイントラ・フレーム圧縮を提供するために、空間推定技術およびイントラ予測技術を実施することができる。動作補正(またはイントラ予測)の出力は、「残差」(residual)と呼ばれ、一般に、コード化される現在のビデオ・ブロックと、動作推定または空間推定によって識別される予測ブロックとの間の差を示すデータのブロックを備える。
ビデオ・コーディング・ユニット19が、残差を生成するために動作補正(またはイントラ予測)を行なった後、この残差を更にコード化し、データを更に圧縮するために、一連の追加ステップを実行することができる。これら実行される追加ステップは、使用されているコーディング規格に依存するが、一般に「残差コーディング」と称される。何れの場合も、ビデオ・コーディング・ユニット19は、例えばビデオ・デバイス2の送信機16を経由して他のデバイスへビデオ・シーケンスを通信する必要のあるデータ量を低減するために、これらビデオ圧縮技術のうちの1または複数を実行する。
本開示の技術は、フロント・エンド・ビデオ処理ユニット18による画像処理中に容易に適用可能である。特に、本開示は、画像処理帯域幅効率を改善し、メモリ8(又はメモリ14)の同じ領域が、例えばビデオ圧縮または非ビデオ・アプリケーションのためのような他の記憶目的のために使用されることを可能にするローカル・メモリ8(または、例えば外部メモリ14のような類似のメモリ)のための体系化技術を考慮する。更に、本開示は、メモリ8(またはメモリ14)内のデータ体系化スキームを利用することができるメモリ・コントローラ10のためのアーキテクチャを提案する。フロント・エンド画像処理に関する典型的な目的のために記述されたが、本明細書で記述されたメモリ・アーキテクチャは、多くの画像が処理される他の環境にも適用されうる。
図2は、本明細書で記述したメモリ体系化技術を実施する典型的なデバイス20を図示する別のブロック図である。この例において、デバイス20は、メモリ22と、メモリ22へのアクセスを制御するメモリ・コントローラ24とを含んでいる。メモリ・コントローラ24は、(28A、28Bおよび28Cと呼ばれ、集合的に「モジュール28」と称される)複数の画像処理ユニット26に接続されることができる。簡略のために3つのモジュールのみが図示されているが、画像処理ユニット26は、任意の数の画像処理モジュール28を含むことができる。モジュール28は、モザイク解除モジュール、レンズ・ロールオフ補正モジュール、スケーリング・モジュール、色補正モジュール、色変換モジュール、および空間フィルタ・モジュール、または、その他多くのフロント・エンド画像処理モジュールを含みうる。更に、モジュール28は、同じ機能を実行する多くの画像処理モジュールを含む。これによって、異なる画像について、この機能を並列実行することができる。
本開示の技術に従って、幾つかの異なる画像に関連付けられたピクセルは、同じメモリ・ワード内に格納される。そして、メモリ・ワードは、ピクセルに分けられ、モジュール28によって並列処理される。ある実施形態では、異なる画像に関連付けられた画像データは、同時にメモリ22から読み取られ、モジュール28へ分配される。実際、これによって、モジュール28は、効率的な方法でメモリ22を共有することができる。
メモリ・コントローラ24は更に、例えばデジタル・シグナル・プロセッサ(DSP)25のような他のデバイス、または、その他のタイプのハードウェア、プロセッサ、またはロジック回路にも接続されうる。このように、メモリ22の内容は、異なるタイプのハードウェア、プロセッサ、および処理ユニットにおいて使用されうる。繰り返すが、本開示は特に、メモリ22の内容の画像処理に非常に役立つメモリ体系化スキームを考慮する。これは柔軟性が高く、他のタイプのデータもメモリ22に格納することができる。
デバイス20は、図1のデバイス2に相当しうるが、本開示は必ずしもこの点に限定されていない。例えば、メモリ22は、メモリ8または14の何れかに相当することができ、メモリ・コントローラ24は、メモリ・コントローラ10に相当することができる。画像処理ユニット26は、フロント・エンド・ビデオ処理ユニット18に相当することができ、DSP25は、ビデオ・コーディング・ユニット19に相当することができる。しかしながら、繰り返すが、図2に例示するアーキテクチャは、多くのデバイスおよびシステムにより広く適用可能であり、図1のデバイス2に必ずしも限定されない。
本開示に従って、メモリ22はメモリ・ワードに体系化される。各メモリ・ワードは、複数の異なる画像に関連付けられたピクセル・データを格納するために使用される。例えば、メモリ22内のメモリ・ワードの各々は、幾つかの画像のためのピクセル・データをサポートするように定義することができる。一方、現在、ほんの僅かの画像しか格納されていないのであれば、所与のピクセル・データは、ピクセル・データで完全に占められる必要はない。一例として、幾つかの異なる画像用のそれぞれの第1のピクセルは、第1のメモリ・ワードに格納されうる。各異なる画像の次のピクセルはそれぞれ、第2のメモリ・ワードに格納されうる。したがって、幾つかの画像の連続的なピクセルは、メモリ22の連続した行に格納される。各行は、幾つかの画像のピクセル・データを含むメモリ・ワードによって定義される。
メモリ・コントローラ24は、1メモリ・ワードの異なるデータが、並列処理のためにモジュール28のうちの異なる1つへ同時に送信されるように、メモリ22内のメモリ・ワードからのデータ抽出を考慮するように構成される。モジュール28の各々は、モジュールのうちの他のものの処理時間と本質的に近い(あるいは一致する)時間間隔内でそれぞれのデータを処理するように構成されうる。これは、画像データの効率的な同時処理を可能にする。
しかしながら、例えば実行可能命令のような非ピクセル・データを格納するために、特定のメモリ・ワードが使用される場合、メモリ・コントローラ24は、十分なメモリ・ワード(この場合、命令)がDSP25に送られることを可能にする。他の非ピクセル情報も、メモリ・ワードに格納されうる。メモリ・コントローラ24は、メモリ・ワードの内容を定義するコマンドを受信することができる。そして、所与のメモリ・ワードが幾つかの異なる画像のためのピクセル・データを格納するために使用される場合、異なる画像に関連付けられたピクセル・データを並列処理できるように、メモリ・コントローラ24は、メモリ・ワードからそのようなピクセル・データを同時に分けることができる。
図3は、本開示に従った典型的なメモリ体系化を例示する典型的なブロック図である。図3のデータ構造30は、メモリ22に格納されうる。図3に示すように、データ構造30の各行は、複数の異なる画像、すなわちゼロまたはそれ以上の画像のためのピクセル・データを含むメモリ・ワードを備える。例えば、第1の行(第1のメモリ・ワード)は、画像Pのためのピクセル・データP、画像Qのためのピクセル・データQ、および画像Rのためのピクセル・データRを含みうる。Pは、画像Pの第1のピクセルを表わし、Qは、画像Qの第1のピクセルを表わし、Rは、画像Rのための第1のピクセルを表わしうる。他の画像の第1のピクセルも含まれうる。例えば、メモリ・ワードが幅64ビットで、ピクセルがそれぞれ8ビットを含む場合、8つの異なる画像用の8つの異なるピクセルが、単一のメモリ・ワードに格納されうる。
同様に、第2の行(第2のメモリ・ワード)は、画像Pのためのピクセル・データP、画像Qのためのピクセル・データQ、および画像Rのためのピクセル・データRを含みうる。Pは、画像Pの第2のピクセルを表わし、Qは、画像Qの第2のピクセルを表わし、Rは、画像Rのための第2のピクセルを表わしうる。従って、画像P、QおよびRの隣接するピクセルは、メモリの隣接する行に格納されうる。各行は、いくつかの異なる画像について、唯一のピクセル値のデータを含んでいるかもしれないが、所与の画像について1を超えるピクセルを、所与のメモリ・ワードに格納することも可能である。
図3のデータ構造30の例では、全てのメモリ・ワードが、画像P、QおよびRのためのピクセル・データを格納することができる。この場合、各画像は、N+1個のピクセルを含みうる。ここで、N+1は、画像の記憶のために割り付けられた行の数を表わす。以下により詳細に示すように、例えば、ほんの少しの画像しか処理されておらず、余分なスペースが、メモリ・ワードの各々に存在する場合、メモリ・ワードの1または複数のセクション(又はスロット)は、データを含んでいないこともありうる。実際は、単一の画像を格納し処理するために、同じ体系化スキームを使用できる場合もある。その場合、メモリ・ワードはそれぞれ、データの唯一のピクセルしか含まない。しかしながら、この場合、各メモリ・ワードの余分なスペースは一般に未使用だろう。
更に、データ構造30は、N+1個の行それぞれについて、例えば図2のメモリ22内において、隣接したメモリ・スペース内で繰り返されうる。これによって、図4を用いて更に説明するように、追加の画像グループが、共有メモリ・ワードを用いて格納されるようになる。
図4は、本開示に従ったメモリ体系を例示する別の典型的なブロック図である。図4のデータ構造40は、メモリ22に格納され、本開示に従ったメモリの論理体系を表わす。図4に示すように、データ構造40の各行は、複数の異なる画像用のピクセル・データを含むメモリ・ワードを備える。しかしながら、この場合、最初のN+1個の行(最初のN+1個のメモリ・ワード)は、画像P、QおよびRのピクセル・データを含んでいる。一方、それ以降の行(それ以降のメモリ・ワード)は、画像X、YおよびZのためのピクセル・データを含んでいる。
図3および図4に例示するようなメモリ・ワードの行構成は、フロント・エンド画像処理には極めて有利になりえる。この場合、メモリ・コントローラ24は、異なる画像用のピクセル・データを同時に分け、画像処理ユニット26の異なる画像処理モジュール28へ、異なる画像用のピクセル・データを転送するように構成されうる。したがって、いくつかの画像は、画像処理ユニット26によって並列処理され、これによって、メモリ22は、多くのモジュール28によって効率的に共有される。更に、メモリ22内でのデータ構造30(図3)の全体長さにわたって横切ることによって、メモリ・コントローラ24は、画像P、Qおよび/またはRのピクセルにすべてアクセスしたことを確認することができる。従って、データ構造30内の隣接するメモリ・ワード内に、画像の全てのピクセルではなく、各メモリ・ワードに各画像の1つのみのピクセルを含めることが望ましい。この場合、データ構造30を介した1つのパスが、画像処理ユニット26によるデータ構造30内の所与の画像の処理を保証することができる。
同時に、データ構造30および40内のメモリ・ワードの比較的大きな幅(行)は、非ピクセル・データあるいは他のタイプのデータを格納するために、そのようなデータが使用されることを可能にする。メモリに格納されうる他のタイプのデータの例は、グラフィックス深さ情報、グラフィックス・バッファのz−バッファ情報、あるいはコンピュータ実行可能なソフトウェア命令を含んでいる。また別の例では、格納されるデータは、非ビデオ・アプリケーションを含み、任意の目的のために使用されるキャッシュを備えることができる。任意のメモリ・ワードの特徴を定義するために、メモリ・コントローラ24によって制御信号が受信されうる。64ビットのメモリ・ワードの場合、幾つかのワードは、実行可能なソフトウェア命令でありうる。これは、アクセスされることが可能であり、実行のためにDSP25へ転送されることが可能である。他のメモリ・ワードは、(図3および図4に示すように)異なる画像用のピクセル・データを含みうる。また、他のワードは、例えばグラフィックス・バッファ情報のような他のタイプのデータあるいはキャッシュを含みうる。重要なことに、メモリ・コントローラ24は、メモリ22のメモリ・ワードにおいて、これら異なるタイプの情報をサポートするように構成される。メモリ22は、それ自体、様々な物理構成のうちの何れかを採用している。例えば、メモリ22は、幅8ビットのメモリ・モジュールからなる8つのバンクを構成することができる。別の例として、メモリ22は、幅32ビット・ワードのアドレス可能なメモリ・モジュールからなる2つのバンクを構成することができる。また別の例として、メモリ22は、幅64ビット・ワードのアドレス可能なメモリを提供する単一のメモリ・モジュールを備えることができる。
図5は、本開示による異なるタイプのデータで構成されたメモリ・ワード51−55を示す別のブロック図である。ここで示すように、メモリ・ワード51、52、53および54は、幾つかの画像用のピクセル・データを含んでいる。例えば、メモリ・ワード51は、8つの異なる画像のピクセル0を含んでいる。同様に、メモリ・ワード52は、8つの異なる画像のピクセル1を含んでいる。メモリ・ワード53は、8つの異なる画像のピクセル2を含んでいる。また、メモリ・ワード54は、8つの異なる画像のピクセルNを含んでいる。しかしながら、幾つかの場合、8未満のピクセルが、メモリ・ワード51−54に格納されうる。この場合、ピクセル「スロット」の1または複数は、空であるか、ヌル・データが格納されうる。
メモリ・ワード51−54内のピクセル「スロット」の各々は、特定のフロント・エンド画像処理モジュールに相当しうる。特に、8つの画像の各々は、各メモリ・ワードの同じ「スロット」内に、1つのピクセルを格納しうる。このように、特定の画像処理モジュールに画像を送る必要がある場合、画像は、メモリ・ワード51−54の、対応する「スロット」に格納されることができる。そして、メモリ・ワード51−54を介した1つのパスが、所与の画像のピクセルを、必要に応じて処理できることを保証することができる。また他の例では、同じピクセルが、多くの画像処理モジュールへ送られうる。
従来のフロント・エンド画像処理は一般に連続的である。すなわち、所与の画像に関し、最初の処理の全てが、次の処理が実行される前に実行される。本開示の教示は、連続的なフロント・エンド画像処理を実行する能力を持っているが、そのような処理が、シーケンスのうちの幾つかの異なる画像に関して並列して行なわれることを可能にする。例えば、再び図5に示すように、画像1は、第1の画像処理モジュールに相当するメモリ・ワード51−54のメモリ・スロットに格納される一方、画像2は、別の画像処理モジュールに相当するメモリ・ワード51−54のメモリ・スロットに格納されうる。その他の画像も同様に、メモリ・ワード51−54のメモリ・スロット内に格納されうる。
所与の画像は、本質的には、メモリ・ワードのいくつかのスロットを通り、次に、連続的なフロント・エンド画像処理と、メモリへの次の書き込みがなされる。言い換えれば、図5では、(メモリ・ワード51−54の第2のスロットに格納される)画像2は、(例えば第1のスロット)のような異なるスロットに予め格納されており、その後、処理されて、第2のスロットへの書き込みがなされうる。このように、すべての画像は、未だに連続方式で処理されうる。しかしながら、本メモリ体系化スキームによって、そのような連続的な処理が、幾つかの画像について並列して実行されることが可能となる(これは、本質的には、画像が、処理および書き込みを介してメモリの異なるスロットを横切るいわゆる画像処理パイプラインを生成する)。メモリ・コントローラ24は、ピクセル・トラッキング、それぞれのメモリ・ワードからのピクセル分離、適切なモジュール28へのピクセルの転送、異なるメモリ・ワードへのピクセルの書き込みを容易にするロジックを含む。
図6は、メモリ・コントローラ60のブロック図である。それは、メモリ・コントローラ24(図2)の1つの典型的な実施形態である。メモリ・コントローラ60は、異なる処理モジュールへ、所与のメモリ・ワードのデータの異なる部分を転送することができるように、メモリに格納されたメモリ・ワードからの同時データ抽出を容易にするメモリ出力ロジック61を含んでいる。更に、メモリ・コントローラ60は、メモリ入力ロジック62を含む。メモリ入力ロジックは、処理されたデータを受け取り、このデータを、メモリ・ワードへ結合して、メモリに書き込まれる。制御信号63および64は、データ・フローがどのようにしてメモリに入力され、どのようにしてメモリから出力されるのかを制御するために、ロジック61および62へ送られる。
例えば、メモリからメモリ・ワードが受け取られた場合、出力ロジック61は、様々なサブパーツにデータを分けることができる。これらは、1または複数の異なるモジュールへ送られることができる。図6の例では、メモリ・ワードは、図5のメモリ・ワード51−55のうちの1つを含みうる。例えば、メモリ・ワード51がメモリから受け取られると、メモリ・コントローラの出力ロジック61は、8つの異なる画像のピクセル・データを分けることができる。制御信号63は、どのタイプのデータがメモリ・ワードに含まれているのかを識別する。従って、(図5のメモリ・ワード51に示すように)8つの異なる画像用のピクセル・データは、(図6に示すように)第1のデータ、第2のデータ、第3のデータ、第4のデータ、第5のデータ、第6のデータ、第7のデータ、および第8のデータに相当しうる。メモリ出力ロジック61は、所与のメモリ・ワードの異なるデータを、異なる処理モジュールへ転送する。
一方、非ピクセル情報を備えるメモリ・ワード55が、メモリから受け取られると、メモリ・コントローラの出力ロジック61は、そのような情報を、どこへ送るかを決定することができる。例えば、メモリ・ワード55が、コンピュータ実行可能命令である場合、メモリ・ワード55は、実行のために、例えばDSP25(図2)のような共通の処理モジュールへ転送されうる。繰り返すが、制御信号63は、どのタイプのデータがメモリ・ワードに含まれているのかを識別し、この場合、例えば、DSP25によって実行されるコンピュータ実行可能命令のような非ピクセル・データを含むとしてメモリ・ワード55を識別する。
メモリ入力ロジック62は、一般に、出力ロジック61の逆の処理を行い、メモリにデータを書き込む。従って、8つの異なる画像の8つのピクセルが、8つの異なるモジュールによって処理されると、メモリ入力ロジック62は、異なる画像の処理されたピクセル・データを受け取り、この処理されたピクセル・データを、メモリ・ワードと結合して、メモリに書き込む。一方、処理されたデータが、非ピクセル・データに相当する場合、制御信号64は、このようにしてデータの識別を行い、メモリ内に非ピクセル・データとして格納する。このように、メモリ・コントローラ60は、メモリ・ワード内の幾つかの異なる画像のピクセル・データの操作を可能とし、更に、メモリの共通のデータ構造内に格納されたメモリ・ワードから非ピクセル・データを抽出したり、逆にメモリ・ワードへ非ピクセル・データを格納したりする機能をサポートする。
図7は、本開示の実施形態に従った処理を例示するフローチャートである。図7は、図2に関して説明される。図7に示すように、メモリ22は、第1の画像の第1のピクセル・データと、第2の画像の第1のピクセル・データとを含む第1のメモリ・ワードを格納する(70)。言い換えれば、メモリ・ワードは、2またはそれ以上の異なる画像用のピクセル・データを含んでいる。メモリ22は更に、第1の画像の第2のピクセル・データと、第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードを格納する(71)。したがって、メモリ22に格納された連続的なメモリ・ワードは、異なる画像の隣接するピクセルを格納することができる。
メモリ・コントローラ24は、例えば、メモリ・サイクルで、メモリ22から第1のメモリ・ワードにアクセスする(72)。コントローラ24によるメモリ・アクセスは、例えば、画像処理ユニット26から送られるようなフロンド・エンド画像処理コマンドに応じうる。メモリ・コントローラ24は、第1の画像の第1のピクセル・データを第1の画像処理モジュール(例えば、モジュール28A)へ送り、第2の画像の第1のピクセル・データを第2の画像処理モジュール(例えば、モジュール28B)へ送る(73)。モジュール28Aおよび28Bは、第1および第2の画像の第1のピクセル・データを同時に処理し(74)、処理結果をメモリ・コントローラ24へ返す。メモリ・コントローラ24は、その後、例えば別のメモリ・サイクルで、第1および第2の画像の処理された第1のピクセル・データのバージョンを共通のメモリ・ワードへ格納する(75)。この処理されたバージョンは、オリジナルのメモリ・ワードとは異なるメモリ・ワードに格納されうる。更に、そのようなデータの後の処理が、画像処理モジュール28のうちの異なるモジュールでなされるように、ピクセル・データの処理されたバージョンが、メモリ・ワードのそれぞれの異なるスロットに移動されうる。
そして、メモリ・コントローラ24は、例えば、別のメモリ・サイクルで、メモリ22から、第2のメモリ・ワードへアクセスし(76)、第1の画像の第2のピクセル・データを、第1の画像処理モジュール(例えば、モジュール28A)へ送り、第2の画像の第2のピクセル・データを、第2の画像処理モジュール(例えば、モジュール28B)へ送る(77)。このようにして、モジュール28Aおよび28Bは、画像処理のため、同じ画像の連続したピクセルを受け取る。モジュール28Aおよび28Bは、第1および第2の画像の第2のピクセル・データを同時に処理し(78)、処理結果をメモリ・コントローラ24へ返す。メモリ・コントローラ24は、その後、例えば別のメモリ・サイクルで、第1および第2の画像の処理された第2のピクセル・データのバージョンを共通のメモリ・ワードへ格納する(79)。この処理は、モジュール28Aおよび28Bが異なる画像のピクセルの全てを処理できるように、メモリ22に格納された多くの連続的なメモリ・ワードについて続けられる。
図7はフロー図として示されているが、本開示の教示に従い、メモリ・アクセスは一般に、あらゆる画像処理と並列してなされることが注目されるべきである。これによって、読み取り/書き込みの間に、メモリに対するアイドルなサイクルが存在しないことを保証することができる。したがって、図7のフローチャートは、各ステップが、連続的に実行される必要があるものとして見られるべきでない。むしろ、図7に示すステップのうちの1または複数は、同時に実行されうる。一般に、画像処理モジュールが、処理のためにサイクルを用いる場合は常に、処理時間の効率的な使用を促進するために、同時メモリ・アクセスを実行することができる。
メモリ・サイクル中、メモリ・ワードは、メモリから抽出され、ピクセルへ分離され、処理のために異なるピクセルが転送される。次のメモリ・サイクル中、処理されたピクセルのバージョンが結合され、共通のメモリ・ワードに格納される。この処理は、メモリ・ワードのピクセルの全てが処理されるまで、メモリに格納された連続的なメモリ・ワードにわたって、ピクセル抽出と、その後引き続いてなされる書き込みとを繰り返すことによって、続けられる。しかしながら、繰り返すが、メモリ・アクセスは、一般に、処理モジュールによって実行される画像処理と並行してなされる。
各画像のピクセルは全て、隣接するメモリ・ワードに格納されうる。このように、メモリ・ワードに格納された所与の画像を処理する必要がある場合、メモリ・ワードにわたる完全なパスは、所与のモジュールがその画像のピクセルをすべて受け取ることを保証することができる。更に、幾つかの画像のピクセルが、メモリ・ワードに格納されるので、メモリ・ワードにわたる完全なパスによって、異なる画像に関して並行して実行される幾つかの連続する画像処理技術が可能となる。
繰り返すが、本開示に従って、メモリ・ワード内の画像データの構成によって、フロント・エンド画像処理帯域幅効率を改善することができる。これは、リアルタイムVTアプリケーションに特に好ましい。メモリ・コントローラ用に具体的に記述されたアーキテクチャは、異なる画像のピクセル・データが、並列画像処理のために異なる画像処理モジュールへ送られるようにするために、各メモリ・ワードからのピクセル・データの分離を容易にする。更に、本明細書に記載のメモリ体系化スキームは、例えば、DSPによって実行される32ビット命令または64ビット命令のような他の情報、あるいは、他のアプリケーションのために使用されるデータを格納する機能をサポートする。例えば、フロント・エンド画像処理におけるピクセルの記憶用途ではない場合、同じメモリがグラフィック・バッファとして使用されうる。同時に、記述されたメモリ・コントローラ・アーキテクチャは、例えば、所与のメモリ・ワードから幾つかの画像のピクセルを分離するために、比較的広いメモリ・ワードが、より小さなユニットへ分けられることを可能にする。これによって、幾つかの画像のピクセルが、フロンド・エンド画像処理モジュールによって並列して処理されるようになる。このようにして、説明した体系化スキームおよびコントローラ・アーキテクチャは、フロント・エンド画像処理を加速することができる。これは、リアルタイムVTアプリケーションに特に望ましい。更に、例えば、フロント・エンド・ビデオ処理が実行されていない場合、メモリを他の目的のために使用することができる等、メモリに柔軟性を与える。
しかしながら、本明細書で記述された技術に対し、様々な変形例がなされうる。例えば、幾つかの場合、メモリ・コントローラは、同じピクセル・データを、1を超える画像処理モジュールへ送るように構成されうる。更に、2D空間フィルタリングを行う幾つかの場合、画像処理モジュールのうちの1または複数は、入力の幾つかのライン(例えば、隣接した画像、または、隣接したピクセルに関連付けられた幾つかのピクセル)を受け取り、この幾つかのラインに基づいて、出力の1つのライン(この場合、フィルタされた出力)を出力することができる。これら実施形態およびその他の実施形態は、請求項の範囲内にある。
図1は、本明細書で記述されたメモリ体系化技術を実施する典型的なデバイスを図示するブロック図である。 図2は、本明細書で記述されたメモリ体系化技術を実施する典型的なデバイスを図示する別のブロック図である。 図3は、本開示に従った典型的なメモリ体系化を図示するブロック図である。 図4は、本開示に従った典型的なメモリ体系化を図示するブロック図である。 図5は、本開示に従った異なる画像のピクセル・データで構成された典型的なメモリ・ワードを図示するブロック図である。 図6は、本明細書で記述されたメモリ・ワードをサポートし、かつメモリがその他の目的に使用されることを可能にする典型的なコントローラ・アーキテクチャを図示するブロック図である。 図7は、本開示の実施形態に従った典型的な処理を図示するフローチャートである。

Claims (31)

  1. 第1の画像の第1のピクセル・データと、第2の画像の第1のピクセル・データとを含む第1のメモリ・ワードをメモリ内に格納することと、
    前記第1の画像の第2のピクセル・データと、前記第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードを前記メモリ内に格納することと
    を備える方法。
  2. 前記第1の画像の第3のピクセル・データと、前記第2の画像の第3のピクセル・データとを含む第3のメモリ・ワードを前記メモリ内に格納することを更に備える請求項1に記載の方法。
  3. 前記第1のメモリ・ワードは更に、第3の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは更に、前記第3の画像の第2のピクセル・データを含む請求項1に記載の方法。
  4. 前記第1および第2のメモリ・ワードは、前記メモリのうちの隣接する行である請求項1に記載の方法。
  5. 前記第1および第2の画像の隣接するピクセルは、前記メモリのうちの隣接する行に格納され、前記第1および第2のメモリ・ワードはそれぞれ、複数の画像からのピクセルを含む請求項1に記載の方法。
  6. 前記第1のピクセル・データと前記第2のピクセル・データとを同時に取得するために、前記メモリから、メモリ・アクセス・サイクルで、前記第1のメモリ・ワードへアクセスすることと、
    前記メモリ・アクセス・サイクルで前記第1のメモリ・ワードへアクセスすることに応答して、前記第1の画像の第1のピクセル・データを、第1の画像処理モジュールへ送ることと、
    前記メモリ・アクセス・サイクルで前記第1のメモリ・ワードへアクセスすることに応答して、前記第2の画像の第1のピクセル・データを、第2の画像処理モジュールへ送ることと
    を更に備える請求項1に記載の方法。
  7. 前記第1の画像処理モジュールにおいて、前記第1の画像の第1のピクセル・データを処理することと、
    同時に、前記第2の画像処理モジュールにおいて、前記第2の画像の第1のピクセル・データを処理することと
    を更に備える請求項6に記載の方法。
  8. 前記第1の画像の第1のピクセル・データの処理されたバージョンを、前記第2の画像の第1のピクセル・データの処理されたバージョンと、共通のメモリ・ワードにおいて結合することと、
    異なるメモリ・アクセス・サイクルで、前記共通のメモリ・ワードを、前記メモリへ格納し戻すことと
    を更に備える請求項7に記載の方法。
  9. メモリ・アクセス・サイクルで、前記メモリから前記第1のメモリ・ワードへアクセスすることと、
    前記メモリ・アクセス・サイクルで前記第1のメモリ・ワードへアクセスすることに応答して、前記第1および第2の画像の第1のピクセル・データを画像処理モジュールへ送ることと、
    前記画像処理モジュールにおいて、前記第1および第2の画像の第1のピクセル・データを処理することと、
    異なるメモリ・アクセス・サイクルで、前記第1および第2の画像の第1のピクセル・データの処理されたバージョンを、前記メモリに格納し戻すこととを更に備え、
    前記第1および第2の画像の第1のピクセル・データの処理されたバージョンは、前記メモリの共通のメモリ・ワード内に格納される請求項1に記載の方法。
  10. 前記メモリに非ピクセル・データを格納することを更に備える請求項1に記載の方法。
  11. 前記第1のメモリ・ワードは、プロセッサによって実行可能な命令の幅と一致し、
    前記方法は更に、
    前記第1のメモリ・ワードの幅全体を、ピクセル・データとともにパックするために、前記第1の画像および前記第2の画像を含む複数の画像からの第1のピクセル・データを格納することを備える請求項1に記載の方法。
  12. デバイスであって、
    第1の画像の第1のピクセル・データと、第2の画像の第1のピクセル・データとを含む第1のメモリ・ワードと、
    前記第1の画像の第2のピクセル・データと、前記第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードとを含むメモリと、
    前記第1および第2の画像の前記第1のピクセル・データを送るために、メモリ・アクセス・サイクルで、前記第1のメモリ・ワードにアクセスするコントローラと
    を備えるデバイス。
  13. 前記メモリは、前記第1の画像の第3のピクセル・データと、前記第2の画像の第3のピクセル・データとを含む第3のメモリ・ワードを含む請求項12に記載のデバイス。
  14. 前記第1のメモリ・ワードは更に、第3の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは更に、前記第3の画像の第2のピクセル・データを含む請求項12に記載のデバイス。
  15. 前記第1および第2のメモリ・ワードは、前記メモリのうちの隣接する行である請求項12に記載のデバイス。
  16. 前記第1および第2の画像の隣接するピクセルは、前記メモリのうちの隣接する行に格納され、前記第1および第2のメモリ・ワードはそれぞれ、ビデオ・シーケンスの複数の画像からのピクセルを含む請求項12に記載のデバイス。
  17. 第1の画像処理モジュールと、第2の画像処理モジュールとを更に備え、
    前記コントローラは、前記メモリ・アクセス・サイクルで前記第1のメモリ・ワードへアクセスすることに応答して、前記第1の画像の第1のピクセル・データを、前記第1の画像処理モジュールへ送り、
    前記コントローラは、前記メモリ・アクセス・サイクルで前記第1のメモリ・ワードへアクセスすることに応答して、前記第2の画像の第1のピクセル・データを、前記第2の画像処理モジュールへ送る請求項12に記載のデバイス。
  18. 前記第1の画像処理モジュールは、前記第1の画像の第1のピクセル・データを処理し、
    同時に、前記第2の画像処理モジュールは、前記第2の画像の第1のピクセル・データを処理する
    請求項17に記載のデバイス。
  19. 前記コントローラは、前記第1の画像の第1のピクセル・データの処理されたバージョンを、前記第2の画像の第1のピクセル・データの処理されたバージョンと、共通のメモリ・ワードにおいて結合し、
    前記コントローラは、異なるメモリ・アクセス・サイクルで、前記共通のメモリ・ワードを、前記メモリへ格納し戻す
    請求項18に記載のデバイス。
  20. 画像処理モジュールを更に備え、
    前記コントローラは、前記メモリ・アクセス・サイクルで前記第1のメモリ・ワードへアクセスすることに応答して、前記第1および第2の画像の第1のピクセル・データを画像処理モジュールへ送り、
    前記画像処理モジュールは、前記第1および第2の画像の第1のピクセル・データを処理し、
    前記コントローラは、異なるメモリ・アクセス・サイクルで、前記第1および第2の画像の第1のピクセル・データの処理されたバージョンを、前記メモリに格納し戻し、
    前記第1および第2の画像の第1のピクセル・データの処理されたバージョンは、前記メモリの共通のメモリ・ワード内に格納される請求項12に記載のデバイス。
  21. 前記メモリは更に、非ピクセル・データを含む請求項12に記載のデバイス。
  22. 命令を実行することができるプロセッサを更に備え、
    前記第1のメモリ・ワードは、前記命令に関連付けられた幅と一致し、
    前記メモリは、前記第1のメモリ・ワードの幅全体を、前記第1の画像および前記第2の画像を含む複数の画像からのピクセル・データとともにパックするために、前記複数の画像からの第1のピクセル・データを格納する請求項12に記載のデバイス。
  23. メモリであって、
    第1の画像の第1のピクセル・データと、第2の画像の第1のピクセル・データとを含む第1のメモリ・ワードと、
    前記第1の画像の第2のピクセル・データと、前記第2の画像の第2のピクセル・データとを含む第2のメモリ・ワードと
    を備えるメモリ。
  24. 前記第1の画像の第3のピクセル・データと、前記第2の画像の第3のピクセル・データとを含む第3のメモリ・ワードを更に備える請求項23に記載のメモリ。
  25. 前記第1のメモリ・ワードは更に、第3の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは更に、前記第3の画像の第2のピクセル・データを含む請求項23に記載のメモリ。
  26. 前記第1および第2のメモリ・ワードは、前記メモリのうちの隣接する行である請求項23に記載のメモリ。
  27. 前記第1および第2の画像の隣接するピクセルは、前記メモリのうちの隣接する行に格納され、前記第1および第2のメモリ・ワードはそれぞれ、ビデオ・シーケンスの複数の画像からのピクセルを含む請求項23に記載のメモリ。
  28. 前記メモリに格納された非ピクセル・データを更に備える請求項23に記載のメモリ。
  29. 前記メモリ・ワードは64ビットを備え、前記第1および第2のピクセルはそれぞれ8ビットを備える請求項23に記載のメモリ。
  30. 前記第1のメモリ・ワードは、第3の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは、前記第3の画像の第2のピクセル・データを含み、
    前記第1のメモリ・ワードは、第4の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは、前記第4の画像の第2のピクセル・データを含み、
    前記第1のメモリ・ワードは、第5の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは、前記第5の画像の第2のピクセル・データを含み、
    前記第1のメモリ・ワードは、第6の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは、前記第6の画像の第2のピクセル・データを含み、
    前記第1のメモリ・ワードは、第7の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは、前記第7の画像の第2のピクセル・データを含み、
    前記第1のメモリ・ワードは、第8の画像の第1のピクセル・データを含み、前記第2のメモリ・ワードは、前記第8の画像の第2のピクセル・データを含む請求項29に記載のメモリ。
  31. 前記メモリは、各々が2またはそれ以上の画像のピクセル・データを含む少なくとも512メモリ・ワードを定める少なくとも512行を含む請求項29に記載のメモリ。
JP2008549665A 2006-01-05 2007-01-05 画像およびビデオ処理のためのメモリ体系化スキームおよびコントローラ・アーキテクチャ Active JP5139322B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/327,241 US8045021B2 (en) 2006-01-05 2006-01-05 Memory organizational scheme and controller architecture for image and video processing
US11/327,241 2006-01-05
PCT/US2007/060188 WO2007117722A2 (en) 2006-01-05 2007-01-05 Memory organizational scheme and controller architecture for image and video processing

Publications (2)

Publication Number Publication Date
JP2009522698A true JP2009522698A (ja) 2009-06-11
JP5139322B2 JP5139322B2 (ja) 2013-02-06

Family

ID=38223921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008549665A Active JP5139322B2 (ja) 2006-01-05 2007-01-05 画像およびビデオ処理のためのメモリ体系化スキームおよびコントローラ・アーキテクチャ

Country Status (6)

Country Link
US (1) US8045021B2 (ja)
EP (1) EP1992162B1 (ja)
JP (1) JP5139322B2 (ja)
KR (1) KR101232523B1 (ja)
CN (1) CN101443808B (ja)
WO (1) WO2007117722A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011856A (ja) * 2011-06-01 2013-01-17 Canon Inc 撮像システムおよびその制御方法
CN102930501B (zh) * 2012-10-12 2014-12-10 四川虹微技术有限公司 一种控制dibr系统中图像存储的多口内存控制器
US9424490B2 (en) * 2014-06-27 2016-08-23 Microsoft Technology Licensing, Llc System and method for classifying pixels
CN104184963B (zh) * 2014-09-05 2017-10-13 无锡英斯特微电子有限公司 光电导航系统中高效资源利用的方法
CN106201363B (zh) * 2016-07-26 2023-01-31 四川大学 视频流像素级数据随机实时访问的存储器及存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07320027A (ja) * 1994-05-24 1995-12-08 Fuji Photo Film Co Ltd 画像処理装置
JPH10334226A (ja) * 1997-06-04 1998-12-18 Hitachi Ltd 画像データ記憶装置
JPH11205747A (ja) * 1998-01-20 1999-07-30 Victor Co Of Japan Ltd シャフリング回路およびデシャフリング回路
JP2004326814A (ja) * 2004-05-24 2004-11-18 Hitachi Ltd 画像処理装置及び画像処理システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541075A (en) * 1982-06-30 1985-09-10 International Business Machines Corporation Random access memory having a second input/output port
EP0255280A3 (en) 1986-07-24 1990-10-24 Gec Avionics Limited Data storage
JPS63204595A (ja) 1987-02-20 1988-08-24 Fujitsu Ltd マルチプレ−ンビデオram構成方式
US5083257A (en) * 1989-04-27 1992-01-21 Motorola, Inc. Bit plane partitioning for graphic displays
US5265172A (en) * 1989-10-13 1993-11-23 Texas Instruments Incorporated Method and apparatus for producing optical flow using multi-spectral images
US5585863A (en) * 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
WO1997039437A1 (en) 1996-04-12 1997-10-23 Intergraph Corporation High-speed video frame buffer using single port memory chips where pixel intensity values for display regions are stored at consecutive addresses of memory blocks
DE19917092A1 (de) * 1999-04-15 2000-10-26 Sp3D Chip Design Gmbh Verfahren zur Rasterisierung eines Graphikgrundelements
US6675187B1 (en) * 1999-06-10 2004-01-06 Agere Systems Inc. Pipelined linear array of processor elements for performing matrix computations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07320027A (ja) * 1994-05-24 1995-12-08 Fuji Photo Film Co Ltd 画像処理装置
JPH10334226A (ja) * 1997-06-04 1998-12-18 Hitachi Ltd 画像データ記憶装置
JPH11205747A (ja) * 1998-01-20 1999-07-30 Victor Co Of Japan Ltd シャフリング回路およびデシャフリング回路
JP2004326814A (ja) * 2004-05-24 2004-11-18 Hitachi Ltd 画像処理装置及び画像処理システム

Also Published As

Publication number Publication date
CN101443808A (zh) 2009-05-27
CN101443808B (zh) 2013-01-23
WO2007117722A2 (en) 2007-10-18
KR20080092418A (ko) 2008-10-15
EP1992162A2 (en) 2008-11-19
KR101232523B1 (ko) 2013-02-12
EP1992162B1 (en) 2018-07-18
JP5139322B2 (ja) 2013-02-06
US20070153095A1 (en) 2007-07-05
US8045021B2 (en) 2011-10-25
WO2007117722A3 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
USRE49727E1 (en) System and method for decoding using parallel processing
US7924925B2 (en) Flexible macroblock ordering with reduced data traffic and power consumption
US8009729B2 (en) Scaler architecture for image and video processing
US20130064304A1 (en) Method and System for Image Processing in a Microprocessor for Portable Video Communication Devices
US20060133512A1 (en) Video decoder and associated methods of operation
JP5139322B2 (ja) 画像およびビデオ処理のためのメモリ体系化スキームおよびコントローラ・アーキテクチャ
JP2013146080A (ja) 小さな画像又は大きな画像を処理する小さなラインバッファを容易に用いる技術
US7953161B2 (en) System and method for overlap transforming and deblocking
US8443413B2 (en) Low-latency multichannel video port aggregator
US10798419B2 (en) Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels
US7330595B2 (en) System and method for video data compression
US7496235B2 (en) Scan line to block re-ordering buffer for image compression
US20090201989A1 (en) Systems and Methods to Optimize Entropy Decoding
US10778990B2 (en) Embedded codec circuitry for randomized refinement of uncoded-bits
GB2398951A (en) Storage of slices of video frames
JP2006174429A (ja) ビデオデコーダとその動作方法
CN101317461A (zh) 用于图像和视频处理的缩放器结构

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5139322

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

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