JP2006191545A - システムオンチップのためのデューアル階層バス構造 - Google Patents

システムオンチップのためのデューアル階層バス構造 Download PDF

Info

Publication number
JP2006191545A
JP2006191545A JP2005351039A JP2005351039A JP2006191545A JP 2006191545 A JP2006191545 A JP 2006191545A JP 2005351039 A JP2005351039 A JP 2005351039A JP 2005351039 A JP2005351039 A JP 2005351039A JP 2006191545 A JP2006191545 A JP 2006191545A
Authority
JP
Japan
Prior art keywords
image data
bus
main
module
memory
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
Application number
JP2005351039A
Other languages
English (en)
Inventor
Hyun-Sang Park
朴 賢 相
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020040106041A external-priority patent/KR100596982B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006191545A publication Critical patent/JP2006191545A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】システムオンチップのためのデューアル階層バス構造を提供する。
【解決手段】このバス構造は、マイクロプロセッサ、イメージキャプチャーモジュール、およびデューアルマスタモジュールを高密度メモリに連結するように適合に設計されたメインバスとメインバスに独立的に動作してデューアルマスタモジュールを高速2次メモリに連結するように適合に設計された2次バスとを含む。
【選択図】 図4

Description

本発明はシステムオンチップ(SOC:SYSTEM−ON−A−CHIP)のためのバス構造に係り、特に、高性能マルチミディア処理アプリケーションに適合に設計されたデューアル階層SOCバス構造に関する。
現代の電子装置は、しだいに、多様なマルチミディア処理能力をユーザに提供する。例えば、携帯電話やPDAのような携帯用電子装置は、ユーザがオーディオやビデオのようなマルチミディア情報の多様な形式をキャプチャー、ダウンロード、ディスプレイ又は処理する。マルチミディアが可能な装置の使用がしだいに普遍化するに従って、より小型化され高速化された装置の需要が継続増加している。即ち、マルチミディアが可能な装置のための改善された設計が継続要求されている。
小型の高性能電子装置の設計や製造に対する接近方式のうちの一つは、1個の集積回路(IC)内に必要なシステム構造要素を全部装着することである。そのような構成要素の配列や設備は、一般的にシステムオンチップ(SOC:SYSTEM−ON−A−CHIP)と言われる。例えば、オーディオプロセッシングアプリケーションのためのSOCは、オーディオ受信機、アナログ−デジタル変換機(ADC)、マイクロプロセッサ、メモリ、及び入/出力ロジックを一つのICチップ上に結合する。
従来のSOCアーキテクチャと関連する一つの問題点は、それらが普通使用される幾つかのマルチミディアフォーマットではデータ処理がうまく行われないというものである。例えば、従来のSOC構造は、多様なMPEGフォーマットのうち、いずれか一つでデータをコーディング(即ち、エンコーディング及びデコーディング)する時、性能は遅く、過度な電力を消費する。これは、従来のSOC構造がコーディング過程の間、メモリから読み込まれるか、メモリに書き込まれる大容量のデータによって圧倒されるという事実にある程度起因する。このような問題を克服するために、マルチミディアプロセッシングアプリケーションの拡張された帯域幅(bandwidth、即ち、データ運搬容量)要求量を収容するように適合に設計された改善されたバス構造が必要である。
マルチミディアプロセッシングアプリケーションのための帯域幅要求量をよりよく理解するために、MPEGエンコーディングとデコーディングの概要を検討する。MPEGは、但し選択された例示である。多くのコーディングの例のうち、いずれか一つを説明することもできるが、MPEGは普遍的に理解される標準であり、下記に記述される本発明の論議のための立派な指針を提供する。
一般に、エンコーディングという用語は、構成を有しない入力データを、構成を有する、即ち、コーディングされたフォーマットに変換するプロセスを言う。例えば、MPEGエンコーディングの場合に、このプロセスは一連の入力ビデオフレームを一連のコーディングされた、即ち、圧縮されたデータフレームに変換することを含む。エンコーディングのプロセスを処理するのに使用される装置を、一般的にエンコーダと称する。MPEGエンコーディングを行う多数の互いに異なるエンコーダの設計が存在する。
デコーディングという用語は、コーディングされたデータから本来の入力データを再構成するプロセスを言う。例えば、MPEGデコーディングの場合に、このプロセスはコーディングされたフレームに基づいて入力ビデオフレームを再構成することを含む。大部分の場合、エンコーディング/デコーディングプロセスの途中に情報の損失のために再構成された入力ビデオフレームは本来の入力ビデオフレームと一致しない。そのような場合に、再構成された入力ビデオフレームは、対応する原本の近似値になる。一般的にデコーディングプロセスを行うのに使用される装置をデコーダと称する。MPEGデコーディングを行う多数の互いに異なるデコーダの設計が存在する。
MPEGエンコーディングに使用される入力ビデオフレームは、一般にロー−カラムフォーマットに配列されたピクセル値の集合で構成される。大部分の場合、各ピクセルは、一つ以上の情報チャンネルのための値を含む。例えば、ピクセルは赤色、緑色、及び青色(RGB)チャンネルのための値を含むことができる。他の場合として、RGBカラーチャンネルは、輝度(Y)と色差(UV)成分で同等に表現することができる。色差値は、一般的にビット数を減少させるために、輝度値と関連してサブサンプルされた値である。例えば、4個の輝度値のブロックは同等な大きさの2個の色差値ブロックと結合して、「マクロブロック」という一つの大きいブロックを形成することができる。一般に、マクロブロックは、いかなる大きさやいかなる数の色差又は輝度ブロックも含むことができる。しかし、説明の便宜のために、マクロブロックは正方形に配列された4個の8×8輝度ブロックと、4個の8×8輝度ブロックの中間でサブサンプルされた8×8赤色色差ブロック、及び8×8青色色差ブロックを含むと仮定する。
MPEGエンコーディングは、まず入力ビデオフレームを3個の他のタイプ(I−フレーム、P−フレーム、B−フレーム)に分けることから始まる。I−フレームは、他のフレームを参照することなく、エンコーディングされるので、イントラコーディド(intra−coded)フレームと言う。P−フレームとB−フレームとは、他のフレームの情報を利用してエンコーディングされるので、インターコーディド(inter−coded)フレームと言う。詳細には、P−フレームのそれぞれは、以前のI−フレーム又はP−フレームに基づいて予測され、B−フレームのそれぞれは、以前及び以後のI−フレーム又はP−フレームに基づいて予測される。
入力ビデオシーケンスでのI−フレームのそれぞれは、量子化された離散コサイン変換(DCT)係数のセットとしてエンコーディングされる。一方、P−フレームとB−フレームのそれぞれは、モーションベクトル及び対応する予測エラーフレームのセットとしてエンコーディングされる。I−フレーム、P−フレーム、及びB−フレームのエンコーディングプロセスは後述する。
入力ビデオシーケンスでの入力ビデオフレームのそれぞれは、演繹的にI−フレーム、P−フレーム、又はB−フレームとして指名される。このような指名をする一つの方法は、フレームタイプが反復されるシーケンスを定義して、反復されるシーケンスによって入力ビデオフレームに対してコーディングを行うことである。例えば、シーケンスがI、B、B、B、P、B、B、B、Pとして定義されると仮定する。この際、Iは、シーケンスの一番目フレームがI−フレームであることを意味し、Bは、シーケンスの二番目フレームがB−フレームであることを意味する。従って、入力ビデオフレームのシーケンスでの一番目フレームはI−フレームとして指名され、二番目フレームはB−フレームとして指名される。
シーケンス内のP−フレームのそれぞれは、以前I−フレーム又はP−フレームに関してコーディングされ、シーケンス内のB−フレームのそれぞれは、以前及び以後のI−フレーム又はP−フレームに関してコーディングされるので、入力ビデオフレームは一般的に順序なくエンコーディングされる。例えば、前記シーケンスでのフレームは、I、P、B、B、B、P、B、B、Bの順次にエンコーディングされることによって、B、B、及びBフレームは、エンコーディングのために必要なIとPフレームにアクセスすることができ、B、B、及びBフレームは、P、Pフレームにアクセスすることができる。即ち、入力ビデオフレームは、まずI−フレーム、B−フレーム、及びP−フレームとして指名され、エンコーディングされる前に対応する所定のシーケンスによって再整列される。コーディングされたフレームは、普通デコーディングされた後に本来の順次に整列される。
I−フレームは、イントラフレームDCTコーディングを利用してエンコーディングされる。イントラフレームDCTコーディングは、フレームを小ブロックに分けることによって始まる。普通、小ブロックのそれぞれは、8ビットピクセル値の8×8ブロックを含む。小ブロックのそれぞれは、離散コサイン変換を利用してDCT係数ブロックに変換される。DCT係数ブロックは、普通、小ブロックと同じ数字の値を有するが、通常、より多くのビットが各値を保存するために使用される。例えば、8ビット値の8ピクセル×8ピクセルブロックは、11ビット値の8×8DCT係数ブロックに変換することができる。多重情報チャンネルのためのピクセル値を含むフレームで、各チャンネルのための小ブロックが個別的にDCTコーディングされる。
次に、イントラフレームDCTコーディングで、各DCT係数ブロックに保存される値は、その値を一定量(普通、2の倍数)に分割して、その結果を切断することによって量子化される。これは、普通、本来のI−フレーム内に含まれた一部情報の損失を招来する。しかし、その情報の損失がI−フレームに対する最終イメージの質を著しく損傷させないようにする方式が採用される。例えば、高周波イメージ成分に対応するDCT係数は、人の目がイメージの他の部分より事物のエッジ近傍の細部事項により少なく敏感するので、普通、低周波イメージ成分に対応することにより大きい程度で量子化される。
最後に、量子化を経た後に、DCT係数ブロックのそれぞれは直列データ化され、可変長コーディング(VLC)を利用してエンコーディングされる。直列データ化は直流成分から始めて、低周波イメージ成分を示す係数から高周波イメージ成分を示す係数まで継続されるジグザグ方式でDCT係数ブロックの値を読み込むことによって連続的に行われる。例えば、次の行列での係数は、ほぼ、1、2、4、7、5、3、6、8、9の順に読み込まれる。
1 2 3
4 5 6
7 8 9
VLCは「0」ではない値が追う「0」ラン(run)を共にグループ化することによって行われる。例えば、「3、1、0、0、5、2、0、0、0」のようなシリーズがジグザグ方式を使用してDCT係数ブロックから読み込まれると仮定すると、その値は次のようなグループに整列される。
(3)、(1)、(0、0、5)、(2)、EOB
ここで、EOBというラベルは「end of block」を示し、これは、そのシーケンスに残っている入力が全部「0」であることを示す。
一応、その値がグループに配列されると、各グループはVLCルックアップテーブルの特定コードワードに代替される。VLCルックアップテーブルは、ルックアップテーブル内のいかなるコードワードも他のいかなるコードワードの前部分とも一致しないという特性を有する。このようにVLCルックアップテーブルによって生成されたコードワードのシリーズはビットストリームに整列されるが、デコーダがビットストリーム内で各コードワードがどこで始めて、どこで終わるかを判断できるようにしながら整列される。前記シリーズのビットストリームへの変換を示すために、次ぎのルックアップテーブルが簡単な例として使用される。グループ「(3)」はコードワード「000」を示し、グループ「(1)」はコードワード「111」を示し、グループ「(0、0、5)」はコードワード「101」を示し、グループ「(2)」はコードワード「110」を示し、ラベルEOBはコードワード「01」を示すと仮定する。結局、シリーズの値は、ビットストリーム「00011110111001」にコーディングすることができる。
P−フレームは、モーションベクトルのセットを生成するために、いかなるフレームに対してもレファレンスフレームに関して相対的なモーション推定を行うことによってエンコーディングされる。P−フレームの場合、レファレンスフレームは入力ビデオシーケンスの以前I−フレーム又はP−フレームであり、各モーションベクトルは、レファレンスフレームとP−フレームとの間で推定されたマクロブロックのモーションを示す。例えば、モーションベクトルは、P−フレームのいかなるマクロブロックとレファレンスフレーム内でマクロブロックと一番よくマッチされるブロック(best match)との間の相対的な移動を定義する。
モーションベクトルは、P−フレームの近似値であるフレーム「V」を生成するために、レファレンスフレームに適用される。モーションベクトルは、レファレンスフレームの各マクロブロックをそのモーションベクトルのうちの一つによって示される量だけ移動させることによって、レファレンスフレームに適用される。その後、P−フレームからフレーム「V」を差し引いて予測フレーム「E」を生成するが、フレーム「E」は後にP−フレームを再構成するために、そのモーションベクトルと共に保存される。
モーションベクトルとフレーム「E」とに基づいて、いかなるフレームを再構成することにおいて、モーションベクトルはレファレンスフレームに付加されフレーム「V」を生成し、その後、フレーム「E」がフレーム「V」に付加され、本来P−フレームの近似値が生成される。フレーム「E」がフレーム「V」での誤差を補償するのに使用されるので、フレーム「E」は度々「モーション補償誤差」と言われる。従って、前述したように、モーションベクトル及びモーション補償誤差を生成するエンコーディング技法は、度々「モーション補償インターフレームコーディング」と言われる。
フレーム「E」は、一般にイントラフレームDCTコーディングと量子化及びVLCを利用してエンコーディングされる。これは、特に、フレーム「V」がP−フレームと非常に類似な場合、即ち、予測エラーが小さい場合において、フレーム「E」を示すのに必要なビット数を相当に減少させる傾向がある。このような場合において、フレーム「E」に対応する量子化されたDCT係数ブロックは、多くの数の「0」を含む傾向がある。結論的に、VLCはDCT係数ブロックのための効率的な圧縮を達成する。
B−フレームは、P−フレームと非常に類似な方式でエンコーディングされる。しかし、B−フレームのためのモーション推定は、1個当り2個のレファレンスフレームと関連され行われる。レファレンスフレームは、入力ビデオシーケンスの以前及び以後I−フレーム又はP−フレームであり、モーション推定は2個のレファレンスフレームと関連され行われたモーション推定に基づいた平均値であるモーションベクトルを生成する。
特に、モーション推定は、一般的に本来の入力ビデオフレームに対して行われるものではなく、以前にエンコーディングされデコーディングされたI−フレームとP−フレーム及びB−フレームとを利用して行われる。言い換えれば、モーション推定が行われる前には、入力ビデオフレームは、イントラフレームDCTコーディング及び量子化され、更に逆量子化及び逆DCTコーディングによって前処理される。このような処理は、モーションベクトルに基づいたフレーム推定がデコーダで反復されることができるように行われる。イントラフレームDCTコーディングと量子化とによって入力ビデオフレームが情報を損失するので、入力ビデオフレームに対するモーション推定実行は、デコーディングプロセスにおいて予測できない結果を誘導することがある。MPEGエンコーディングは、以前にエンコーディング/デコーディングされたフレームに対して行われるモーション推定を必要とするので、大部分のMPEGエンコーダは、このようなフレームを生成するのに使用されるローカルデコーダを含む。
P−フレーム又はB−フレームの特定マクロブロックのためのモーション補償誤差が過度に大きい場合、マクロブロックをエンコーディングするのに、モーション補償インターフレームコーディングの代わりに、イントラフレームDCTコーディングを利用することができる。これは、入力ビデオシーケンスでの相当な変化によるシーケンスのエンコーディング性能低下を防止する。
MPEGエンコーディングの結果はメモリに保存するか、デコーダに伝送することができるビットストリーム(即ち、圧縮されたイメージデータ)に圧縮される。ビットストリームは、一般的にフレームのデコーディングに使用される追加的な情報と共に、VLCコーディングされたDCT係数と、各フレームに対応するモーションベクトルを含む。追加的な情報は、普通各フレームのタイプ、DCT係数のために使用される量子化値などを含む。
他のフレームタイプのそれぞれのために使用されるデコーディング手続きは、一般的にフレームをエンコーディングするのに使用される手続きの逆順である。例えば、I−フレームは、ルックアップテーブルを使用してVLCエンコーディングされたDCT係数をデコーディングして、最終DCT係数に量子化値をかけた後、出力ビデオフレームのためのピクセル値のセットを算出するために、DCT係数を逆DCT変換することによってデコーディングされる。
入力ビデオフレームに対応する出力ビデオフレームを提供するために、P−フレーム及びB−フレームに対して同様な逆手続きが行われる。また、P−フレーム及びB−フレームは、モーションベクトルと前述したモーション補償誤差を使用してデコーディングされる。
一応、デコーディング手続きが完了されると、出力ビデオフレームは入力ビデオフレームに基づいて本来の順次に再整列される。
説明の簡略化のために、幾つかの細部事項がMPEGエンコーディングとデコーディングの説明から省略された。また、MPEG−1、MPEG−2、MPEG−4、及びMPEG−7を含む多様なMPEG標準の特定な細部事項も省略された。しかし、MPEGエンコーディングとデコーディングは広く知られた手続きであり、従って、省略された細部事項は他の資料から求めることができる。
実時間MPEGエンコーディングとデコーディングは、一般に秒当たり数フレームのフレームレートを満足するための最小限の十分な帯域幅を必要とする。即ち、幾つかのフレームのそれぞれは、入力装置から読み込まれメモリに記録される。その後、各フレーム内部のブロックは、DCTコーディング、量子化、及びモーション推定などのために使用されるイメージ圧縮モジュールとメモリとの間で前後に継続伝送される。このような動作は、DRAM又はフラッシュのような低速の高密度メモリに依存する従来のSOC構造の利用可能な帯域幅を容易に消耗する。低速の高密度メモリは、SRAMのような高速の低密度メモリより安く、少ない空間を占めて、より大きい容量を有する。
図1及び図2は、従来のSOC構造を示すブロック図である。図1は、従来の単一階層SOCバス構造を示し、図2は、従来の多重階層SOCバス構造を示す。
図1に示す従来の単一階層SOCバス構造において、多数のモジュール(10乃至80)は、単一システムバス12に連結される。ここで、「モジュール」という用語は、電子装置内の特定な機能的実体を言及するのに使用される。例えば、モジュールはソフトウェアルーチンのセット、特定ハードウェア(例えば、回路)構成、又はそれらの組合を含む意味として理解することができる。「モジュール」という用語は、また、機能的実体の集合、即ち、多重モジュール又はモジュール内の付属要素まで称することもできる。
図1を参照すると、モジュール10はRISC(Reduced Instruction Set Computer)を含み、モジュール20はカメラインターフェースを含み、モジュール30は動画像圧縮モジュールを含み、モジュール40は静止画像圧縮モジュールを含み、モジュール50はグラフィック加速モジュールを含み、モジュール60はイメージデータを液晶表示装置に伝送するように適合に設計された伝送モジュールを含む。モジュール70はメモリコントローラを含み、モジュール80は高密度(例えば、DRAM)メモリを含む。
図1に示すSOCバス構造は、ある程度は安い費用と実現の容易性のために、一番一般的に使用されるSOCバス構造である。しかし、連結されたモジュールのそれぞれに対する帯域幅要求量を足すことによって、バス12上での帯域幅要求量が決定されるので、全体利用可能な帯域幅は、但し少ない数の連結されたモジュールに対する要求量によっても消耗され得る。特に、全体利用可能なシステムバス帯域幅は、入力ビデオが処理される途中に動画像圧縮モジュールとカメラインターフェースとに対する帯域幅要求量によって容易に消耗又は超過され得る。
図1及び図2に示す例示構成要素の間で、又は一般的に下記の説明において、同一参照番号は同一であるか、類似の構成要素を示す。従って、図2の多重階層SOCバス構造において、モジュール10は第1バス12−1に連結され、モジュール20、30、40は第2バス12−2に連結され、モジュール50、60は第3バス12−3に連結される。第1、第2、第3バスは、それぞれ3個のメモリコントローラ70−1、70−2、70−3に連結され、3個のメモリコントローラ70−1、70−2、70−3は、それぞれ3個の高密度メモリ80−1、80−2、80−3に連結される。
多重(例えば、3重)階層を使用することによって、図2のSOCバス構造は、図1に示す単一システムバス構造より多い利用可能な帯域幅を提供する。即ち、図2に示すシステムのための全体利用可能な帯域幅は、各バス階層での利用可能な帯域幅の和である。より多い帯域幅を提供することによって、図2のSOCバス構造は、実時間マルチミディアプロセッシングを効率的に支援することができる。しかし、多重階層バスシステムは高く、製造が難しい。結果的に、このようなシステムタイプは、安い費用と容易な実現とが重要な商用製品の製造に適合ではない。また、図2の多重階層SOCバス構造を使用することによって得られる改善は、それにもかかわらず、高密度メモリ80−2のアクセス速度によって制限されるが、例えば、高密度メモリ80−2は、動画像圧縮モジュール30の帯域幅要求量を収容するのに不十分である可能性もある。
図3は、ノン−SOCコンピュータシステムのための従来のバス構造を示すブロック図である。そのようなシステムは、例えば、特許文献1に開示されている。
米国特許第5,784,592号
図3を参照すると、PCコンピュータシステムは、スタンダードローカルバス120と実時間マルチミディアバス130Bとの間にマルチミディアメモリ160を位置させることによって、高性能マルチミディアプロセッシングを可能にする。マルチミディアメモリ160は、スタンダードローカルバス120へのアクセス時、衝突なしにマルチミディア情報を処理できるように、マルチミディア装置142B、144B、146Bのための保存空間を提供する。
マルチミディアメモリとマルチミディア装置の動作は、チップセット106Bを介したCPU102によって制御される。CPU102は、メインメモリ110からマルチミディアメモリ160にマルチミディア情報を伝送する。又、CPU102は、いつ特定マルチミディアプロセッシング機能を開始又は中止して、いつバス120を介してデータを送るかを知らせる制御信号をマルチミディアメモリとマルチミディア装置とに送る。
図3に示すコンピュータシステムは、最小限2つの限界を有する。一番目の限界は、マルチミディアデータをメインメモリからマルチミディアメモリにフェッチ(fetch)する必要があることである。これは、マルチミディアプロセッシング手続きに相当な費用が追加される。二番目の限界は、一番目の限界と関連があるもので、マルチミディアメモリの大きさに関するものである。マルチミディアメモリは、マルチミディアデータと共にメインメモリからのコード及びオーバーフローデータを含む大容量のデータを保存するように適合に設計される。たとえ、大容量のマルチミディアメモリがメインメモリからマルチミディアデータをフェッチする頻度を減少させても、SOCのような小さい面積での好ましいシステム構造を実現するのは困難である。
最小限前述した従来システムでの明白な制限のため、マルチミディアプロセッシングアプリケーションのための改善されたSOCバス構造が必要である。
前述した問題点を解決するための本発明の目的は、多様なマルチミディアプロセッシング手続きによって消耗されるメインシステムバス帯域幅の量を減少させるための効率的なバス構造を提供することにある。
前記目的を達成するための本発明の一特徴によると、マイクロプロセッサ、イメージキャプチャーモジュール、及びデューアルマスタモジュールを高密度メインメモリに連結するように適合に構成されたメインバス、及び前記メインバスに独立的に動作して前記デューアルマスタモジュールを高速2次メモリに連結するように適合に構成された高速2次バスを含むことを特徴とするSOCバス構造が提供される。
前記目的を達成するための本発明の他の特徴によると、メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記動画像圧縮モジュールで連結する高速2次バスを含むシステムにおいて、(a)カレントフレームに対応するラスタ走査方式のカレントイメージデータを受信する段階、(b)前記ラスタ走査方式のカレントイメージデータを多数のマクロブロックに再整列し、前記多数のマクロブロックを前記2次メモリに保存する段階、(c)前記多数のマクロブロックを前記2次バスを介して前記2次メモリから前記動画像圧縮モジュールに伝送する段階、(d)以前フレームに対応する以前イメージを前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階、及び(e)前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階を含むことを特徴とする方法が提供される。
前記目的を達成するための本発明の更に他の特徴によると、メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記動画像圧縮モジュールで連結する高速2次バスを含むシステムにおいて、前記方法は、(a)カレントフレームに対応するラスタ走査方式のカレントイメージデータを受信する段階、(b)前記ラスタ走査方式のカレントイメージデータを多数のマクロブロックに再製列し、前記多数のマクロブロックを前記2次メモリに保存する段階、(c)以前フレームに対応する以前イメージデータを前記動画像圧縮モジュールに伝送する段階、(d)前記多数のマクロブロックを前記2次バスを介して前記2次メモリから前記動画像圧縮モジュールに伝送する段階、(e)前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階、及び(f)前記圧縮されたイメージデータを前記メインメモリに伝送する段階を含むことを特徴とする方法が提供される。
前記目的を達成するための本発明の更に他の特徴によると、メインメモリを停止画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記停止画像圧縮モジュールで連結する高速2次バスを含むシステムにおいて、(a)イメージキャプチャーモジュールからラスタ走査方式のイメージデータを受信する段階、(b)前記ラスタ走査方式のイメージデータを前記2次バスを介して前記2次メモリに保存された多数のMCUに再整列する段階、(c)圧縮されたイメージデータを前記多数のMCUから生成する段階、及び(d)前記圧縮されたイメージデータを前記メインバスを介して前記メインメモリに保存する段階を含むことを特徴とする方法が提供される。
前記目的を達成するための本発明の更に他の特徴によると、メインメモリをグラフィック加速モジュールと動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記グラフィック加速モジュールと前記動画像圧縮モジュールで連結する高速2次バスを含むSOCにおいて、前記グラフィック加速モジュールにおいて、前記メインバスを介して前記メインメモリからグラフィックデータを受信する段階、前記グラフィックデータを変更するために、前記2次バスを介して前記2次メモリから前記グラフィックデータと関連されたパターンイメージデータを前記グラフィック加速モジュールに伝送する段階、及び前記変更されたグラフィックデータを前記メインバスを介して前記メインメモリに伝送する段階を含むことを特徴とする方法が提供される。
前記目的を達成するための本発明の更に他の特徴によると、メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記動画像圧縮モジュールで連結する高速2次バスを含むシステムで使用されるように適合に構成された方法であって、前記方法は、前記動画像圧縮モジュールで行われ、(a)イメージデータを圧縮する段階、及び(b)前記圧縮されたイメージデータを保存する段階を含み、前記段階(a)は、(a1)前記2次メモリに保存されたカレントフレームに対応する多数のマクロブロックと、以前フレームに対応する以前イメージデータのデコーディングされたバージョンとを利用してモーション推定を行う段階、及び(a2)前記多数のマクロブロックと、前記メインメモリに保存された前記以前イメージデータのデコーディングされたバージョンとを利用してモーション補償を行う段階を含むことを特徴とする方法が提供される。
以下、本発明の好ましい実施例を添付図面を参照して詳細に説明する。各図面の構成要素に参照符号を付与する際、たとえ他の図面上に表示されても、同一構成要素には同一参照符号を付与した。
一般的なアプリケーションにおいて、本発明の実施例は、マルチミディアプロセッシングを行うように適合に設計されたシステムオンチップ(SOC)のためのデューアル階層バス構造を提供する。デューアル階層バス構造は、マルチミディア情報を処理するのに適合に設計された一つ以上のモジュールがメインメモリと2次メモリとにそれぞれ連結されたメインバス及び2次バスを含む。モジュールを2個のバスに連結するのは、2個のバス間のモジュールの帯域幅要求量を分けることによって、SOCのマルチミディア処理能力を向上させるためである。
図4は、本発明の一実施例によるSOCバス構造を示すブロック図である。
図4を参照すると、SOCバス構造は、マイクロプロセッサ310に連結されたメインバス312、イメージキャプチャーモジュール330、デューアルマスタモジュール300、ディスプレイコントロールモジュール370、及び高密度メインメモリ392などを含む。メインメモリは、例えば、SOC外部に位置する少なくとも一つのDRAMモジュール390を制御するメインメモリコントローラ382を含む。メインバス312へのアクセスは、メインバス仲裁回路314によって制御される。
図4のSOCバス構造は、メインバス312から独立的に動作してデューアルマスタモジュール300を高速2次メモリ324と連結させる高速2次バス322を更に含む。高速2次メモリ324は、例えば、最小限一つのSRAMモジュール320を制御する2次メモリコントローラ380を含む。
図4に示すように、デューアルマスタモジュール300は、例えば、動画像圧縮モジュール340、静止画像圧縮モジュール350、及びグラフィック加速モジュール360を含むが、それぞれはメインバス312と2次バス322とに連結される。
一実施例において、動画像圧縮モジュール340は、RGB値のセットや輝度及び色差(YCbCr又はYUV)値のセットとしての加工されないロー(raw)イメージデータを受信するように適合に設計される。動画像圧縮モジュールに受信されたローイメージデータは、普通、ストリミングビデオシーケンスのような動画像のシーケンスに相応する。動画像圧縮モジュールは、例えば、MPEGコーディングのようなコーディング形式を使用してイメージデータを圧縮及び/又は復元する。
同様に、一実施例において、静止画像圧縮モジュール350は、RGB値やYCbCr又はYUV値のセットとしてのローイメージデータを受信するように適合に設計される。しかし、静止画像モジュールによって受信されたイメージデータは、普通、単一イメージと相応する。静止画像圧縮モジュールは、例えば、JPEGコーディングのようなコーディング形式を使用して、ローイメージデータを圧縮及び/又は復元する。
動画像圧縮モジュール340は、MPEGコーディングを使用すると仮定すると、MPEGコーダ/デコーダ(コーデック)を含む。最近のシステムにおいて、MPEGコーデックは、MPEG−4やMPEG−2コンプライアント(compliant)である。同様に、静止画像圧縮モジュール350がJPEGコーディングを使用すると仮定すると、JPEGコーデックを含む。
グラフィック加速モジュール360は、SOCに追加的な特化された機能を提供する。例えば、グラフィック加速モジュール360は、ポリゴンレンダリング又はシステムディスプレイ(図示せず)上に順次にディスプレイされるイメージデータと関連されたテクスチャーマッピングを行うことができる。
ローイメージデータ(又は、より一般的に走査−整列されたイメージデータ)は、デューアルマスタモジュール300によってイメージキャプチャーモジュール330又はメインメモリ392から受信される。ローイメージデータは、2次バス322又は(選択的に提供される)イメージデータバス331を介してイメージキャプチャーモジュール330からデューアルマスタモジュール300に伝送される。イメージデータバス331は、イメージキャプチャーモジュール330を動画像圧縮モジュール340又は静止画像圧縮モジュール350と直列連結する。
イメージキャプチャーモジュール330は、一般的にSOC外部に位置するイメージキャプチャー装置(図示せず)からデータを受信する。イメージキャプチャー装置は、一つ以上の入力信号を一つ以上の出力信号に変換した後、出力信号をイメージキャプチャーモジュール330に送/受信するビデオカメラ、静止画像カメラ、タッチスクリーン、又はその他の装置を含む。例えば、イメージキャプチャー装置は、電子コンポーネント、レンズ、容量性(capacitative)センサ、変換機、電子化学センサ、赤外線感知器などの組合を使用して、受信されたイメージキャプチャー信号を変換することができる。その後、イメージキャプチャー装置は、相応する電子信号をデジタルフォーマットとしてイメージキャプチャーモジュール330に提供することができる。
イメージキャプチャーモジュール330は、一般的にイメージキャプチャー装置の特定タイプから電子信号を受信するように適合に設計された特化されたインターフェース回路を含む。例えば、イメージキャプチャー装置が外部カメラを含む場合、イメージキャプチャーモジュール330は外部カメラを連結し、カメラから特定信号を受信するように適合に設計されたカメラインターフェース回路を含むことができる。そのような場合に、カメラからの信号は、RGB、YCbCr、又はYUVフォーマットのローイメージデータを含むことができる。
イメージキャプチャー装置が外部カメラを含む場合に、カメラは多数の可能なイメージング技術のうち、いずれか一つ、例えば、CMOSイメージセンサやCCDイメージセンサを含むことができる。又、イメージキャプチャー装置は、ディスクリタイジング(discretizing)、サブサンプリング、フィルタリング、又はイメージキャプチャーモジュール330に伝送する前にイメージデータプロセッシングのためのISPを提供する。
イメージデータの受信に続いて、イメージキャプチャーモジュール330は、イメージデータを追加的なプロセッシングのための更に他のモジュールに伝送することができる。例えば、イメージデータはデジタル的にスケール調整されるか、回転されるか、サブサンプル又はフィルタリングなどがされるように、メインメモリ392に伝送することができる。
一応、イメージデータが処理されると(例えば、変換されるか、圧縮される等)、高密度メインメモリ392に保存されるか、ディスプレイコントロールモジュール370を利用してシステムディスプレイに出力される。ディスプレイコントロールモジュール370は、一つ以上のシステムディスプレイと接続又はこれを制御するが、このようなシステムディスプレイは、LCD、CRT、プリンタ等を含む多様な形態とすることができる。
図4に示すデューアル階層バス構造は、マルチミディアが可能な装置に幾つかの利点を提供する。例えば、デューアルマスタモジュール300に連結された2次メモリ324は、メインバス312と連関された資源のために競争するか、メインメモリ392の一般的に遅いアクセス速度を待つことなく、動画像圧縮モジュール340及び静止画像圧縮モジュール350がデータを効率的に読み込んで書き込むようにする。結果的に、メインバス312は、イメージ圧縮技術を特定する帯域幅が強化されたデータ伝送と連関されている超過帯域幅要求量によって圧倒され難い。又、イメージデータの圧縮/復元と連関しているエンコーディング及びデコーディングプロセスは、相当に加速化することができる。
図5は、マルチプレクシングロジック回路342の形式を有する2次バス仲裁メカニズムを示すブロック図である。
図5を参照すると、2次メモリ324へのアクセスは、2次バス322に連結された2次バス仲裁メカニズムによって制御することができる。この技術分野の一般的な技法によると、マルチプレクシングロジック回路342の実現において、デューアルマスタモジュール300からの多くても一つのモジュールが提供されたいかなる時点でも、2次バス322にアクセスすることが保障される限り、多様な特定回路の設計が可能である。又は、メインバス仲裁回路314と、形式と動作面とで類似な通常に提供される2次バス仲裁回路394を提供することもできる(図6参照)。
しかし、図5において、マルチプレクシングロジック回路342は、動画像圧縮モジュール340、静止画像圧縮モジュール350、及びグラフィック加速モジュール360によってデータ出力を受信し、このようなモジュールのうち、多くても一つから受信されたデータを2次バス322に印加する。マルチプレクシングロジック回路342は、外部及び/又は内部制御信号に対する応答として、デューアルマスタモジュール300内のマルチプレックスされたモジュールのそれぞれのための帯域幅を割り当てることができる。例えば、内部制御信号は、マルチプレクシングロジック回路342内に結合されている帯域幅スケジューラによって生成することができる。又は、外部制御信号は、マイクロプロセッサ310又はイメージキャプチャーモジュール330によって生成することができる。
図6は、本発明の他の実施例によるSOCバス構造を示すブロック図である。
図6に示すSOCバス構造は、図6でマルチプレクシングロジック回路342の代わりに、2次バス仲裁回路394が2次メモリへのアクセスを制御するのに使用されることを除いて、図4に示すものと同じである。
従来の技術を利用して、2次バス仲裁回路394は、デューアルマスタモジュール300内のモジュールによる2次バス322への接近及び利用を制御することによって、2次メモリ324へのアクセスを制御する。2次バス322への接近が許容されるようにするために、デューアルマスタモジュール300内のモジュールは、まずアクセス要請信号を生成しなければならない。その後、2次バス仲裁回路394は、アクセス許容応答信号を生成することによって、アクセス要請信号に応答する。アクセス許容応答信号の受信に対応して、要請モジュールは所定の動作のセットを利用して2次バス322に対してデータ伝送を始める。
図7乃至図10は、デューアル階層SOCバス構造に使用されるように適合に設計された例示的な方法を示す流れ図である。
特に、図7乃至図9は、図4及び図6に示すようなデューアル階層SOCバス構造に使用されるように適合に設計された例示的な方法を示す。説明の前後文脈上、例示的なシステムはMPEGと関連されたエンコーディング構成を使用するものと仮定する。図10は、図4及び図6に示すようなデューアル階層SOCバス構造に使用されるように適合に設計された更に他の例示的な方法を示す。又、説明の前後分文脈上、例示的なシステムはJPEGと関連されたエンコーディング構成を使用するものと仮定される。
図7乃至図9と関連され説明された方法が、2次メモリサイズの範囲を有する例示的なシステムに適用される。即ち、本発明によって適合に設計されたSOCを含む製品と関連された実質的制約は、2次メモリのサイズとも言うことができる。最新の高価製品は、比較的大きい2次メモリを含むこともできる。サイズや費用、以前製品との互換性の制約を有する製品は、相対的に小さい2次メモリを含むことができる。下記するように、本発明の利点は、多様な製品タイプや、例えば、2次メモリサイズのような、他の機能を有する多様な製品に適用することができる。
例えば、図7と関連され示される方法は、比較的小さい保存容量を有する2次メモリ324を含むシステム内での使用に特に適合である。そのような場合に、2次メモリ324は、例えば、MPEGエンコーディング動作の進行に使用される現在イメージデータの多数のマクロブロックを臨時的に保存するのに使用される。下に記述する説明において、「現在」及び「以前」という用語は、MPEGエンコーディング/デコーディング動作と関連して前述されたようなフレームのシーケンスを一時的に参照する。しかし、このようなことは、但し便宜上の説明のための例示である。説明のための例示に基づいたノン−MPEGに関する文脈では、「現在フレーム(又はデータ)」及び「以前フレーム(又はデータ)」という用語は、それぞれ「一つのデータセット」及び「他の臨時関連データセット」と広く解釈することができる。
図4、図6、及び図7を参照すると、動画像圧縮モジュール340は、入力ビデオシーケンスでの現在フレームに対応するラスタ走査方式の現在イメージデータを受信する。「ラスタ走査方式」という用語は、従来のMPEG互換イメージキャプチャーモジュール及び関連されたイメージキャプチャー装置によって提供されるビデオイメージデータのシーケンスと明白な関連がある。より一般に、「ローイメージデータ」と共に使用された時には、この用語は視覚ディスプレイに適合に設計されたイメージデータのいかなるより大きいセットから発生されたいかなる方式のビデオデータシーケンスを言う。説明する実施例において、ラスタ走査方式の現在イメージデータは、普通直接連結されたイメージデータバス331を介してイメージキャプチャーモジュール330から動画像圧縮モジュール340で受信される。
ラスタ走査方式の現在イメージデータは、多数のマクロブロックに再整列されるが(702)、マクロブロックは2次バス322を介して2次メモリ324に保存される(705)。多数のマクロブロックは、2次バス322を介して動画像圧縮モジュール340に伝送される。入力ビデオシーケンスでの以前フレームに対応する以前イメージデータは、メインメモリバス312を介してメインメモリ392から動画像圧縮モジュール340に伝送される(706)。
モーション推定は、以前イメージデータを使用して、各マクロブロックに対して行われるが(703)、それによって多数のマクロブロックに対応する多数のモーションベクトルを生成することになる。その後、動画像圧縮モジュール340は、多数のマクロブロックと以前イメージデータから圧縮されたイメージデータを生成する(704)。モーション補償誤差ブロックは、モーションベクトル及び圧縮されたイメージデータに基づいて各マクロブロックのために生成される。その後、圧縮されたイメージデータ及び圧縮されたイメージデータのデコーディングされたバージョンは、メインバス312を介してメインメモリ392に保存される(707)。
モーション補償は、モーションベクトルを以前イメージデータに適用することによって生成された対応するマクロブロック近似値にモーション補償ブロックを付加することによって、後続するデコーディング動作で行われる(703)。
以前イメージデータは、一般的にデコーディングされた形式でメインメモリ392から動画像圧縮モジュール340に伝送される。これは、動画像圧縮モジュール340がまず以前イメージデータをデコーディングせず、モーション推定を行うようにする。
図8は、中間サイズの保存容量を有する2次メモリ324を含むSOCで使用されるように適合に設計された更に他の例示的な方法を示す。
前述された例示より大きい2次メモリを具備するシステムにおいて、2次メモリ324は現在フレームデータのみならず、MPEGエンコーディングプロセス中に使用される一つ以上の以前フレームの色差部分を保存するのに使用することができる。
図8を参照すると、現在フレームに対応するラスタ走査方式の現在イメージデータは、動画像圧縮モジュール340によって受信される。その後、現在イメージデータは、多数のマクロブロックに再整列され(802)、2次バス322を使用して2次メモリ324に保存される(807)。その後、以前フレームに対応する以前イメージデータの輝度部分のデコーディングされたバージョンは、メインバス312を介してメインメモリ392から動画像圧縮モジュール340に読み込まれる(805)。しかし、以前イメージデータの色差部分のデコーディングされたバージョンは、2次バス322を介して2次メモリ324から動画像圧縮モジュール340に読み込まれる(808)。
多数のマクロブロックは、又、2次バス322を介して2次メモリ324から動画像圧縮モジュール340に読み込まれる。その後、モーション推定及びモーション補償は、マクロブロック及び以前イメージデータの色差及び輝度部分を利用して行われる(803)。即ち、動画像圧縮モジュール340は、多数のマクロブロック及び以前イメージデータのそれぞれの成分から圧縮されたイメージデータを生成する(804)。圧縮されたイメージデータ及び圧縮されたイメージデータの輝度部分のデコーディングされたバージョンは、メインバス312を介してメインメモリ392に書き込まれる(806)。しかし、圧縮されたイメージデータの色差部分のデコーディングされたバージョンは、2次バス322を介して2次メモリ324に書き込まれる(809)。
図9は、2次メモリ324が相当に大きい保存容量を有するシステムで使用されるように適合に設計された更に他の例示的な方法を示す。
そのようなシステムにおいて、動画像圧縮モジュール340は、現在フレームとMPEGエンコーディング及び/又はデコーディングプロセス中に使用される以前フレームデータを保存するために2次メモリ324を利用する。
図9を参照すると、現在フレームに対応するラスタ走査方式の現在イメージデータは、動画像圧縮モジュール340によって受信される。現在イメージデータは、多数のマクロブロックに再整列され(902)、2次メモリ324に保存される(906)。以前フレームに対応する以前イメージデータのデコーディングされたバージョンは、2次バス322を介して2次メモリ324から動画像圧縮モジュール340に読み込まれる(907)。多数のマクロブロックは、2次バス322を介して2次メモリ324から動画像圧縮モジュール340に読み込まれる。その後、モーション推定及びモーション補償は、マクロブロック及び以前イメージデータの色差及び輝度部分を利用して行われる(903)。動画像圧縮モジュール340は、多数のマクロブロック及び以前イメージデータから圧縮されたイメージデータを生成する(904)。圧縮されたイメージデータは、メインバス312を介してメインメモリ392に書き込まれる(905)。しかし、圧縮されたイメージデータのデコーディングされたバージョンは、2次バス322を介して2次メモリ324に書き込まれる(908)。
図9と関連して説明した方法において、2次メモリ324から読み込まれるか、2次メモリ324に書き込まれる以前イメージデータは、対応する以前フレームの輝度及び色差部分を含む。同様に、現在イメージデータ及び対応する圧縮されたイメージデータは、又、輝度及び色差部分を含む。
図10は、図4及び図6に示すように、SOCバス構造で使用され、JPEGエンコーディングまでも行うように適合に設計された例示的な方法を示す。
図10を参照すると、ラスタ走査方式のイメージデータは静止画像圧縮モジュール350によって受信される。イメージデータは、普通、イメージキャプチャーモジュール330から受信されるが、イメージキャプチャーモジュール330は、一般的に外部カメラ(図示せず)に連結される。イメージデータは、2次バス322を介して2次メモリ324に保存される(1005)。静止画像圧縮モジュール350は、現在イメージデータを多数のMCU(Minimum Coded Units)に再整列する(1002)。普通、MCUのそれぞれは、RGB又はYUVのようなフォーマットで構成された8×8ピクセルブロックを含む。その後、圧縮されたイメージデータは、スタンダードJPEGコーディングアルゴリズムを利用して多数のMCUから生成される(1003)。JPEGコーディングアルゴリズムは、普通、DCT実行、量子化、及び各MCUに対するVLCを含む。その後、圧縮されたイメージデータは、メインバス312を介してメインメモリ392に保存される(1004)。一般に、MCUは連続的に圧縮される。即ち、MCUは、2次メモリ324から静止画像圧縮モジュール350に読み込まれ、いかなる連続的な順序形態にも圧縮される。
図11は、図4及び図6に示すようにSOCバス構造で使用され、従来のグラフィックプロセッシングまでも行うように適合に設計された例示的な方法を示す更に他の流れ図である。
図11を参照すると、グラフィックデータは、まず、メインバス312からのメインメモリ392からグラフィック加速モジュール360に受信される(1102)。その後、グラフィックデータの各部分は、グラフィック加速モジュール360によってまず変更されるかあるいは、2次バス322を介して2次メモリ324に書き込まれる(1103)。2次メモリ324は、グラフィックデータからパターンイメージデータを形成するために、同様に理解された技法によって利用される。パターンイメージデータは、LCDのディスプレイ又はそのシステムと連関された類似なディスプレイのために適合に設計されたグラフィックデータである。例えば、パターンイメージデータは、テクスチャーマップや、ディスプレイコントロールモジュール370の制御下に、ディスプレイ上にグラフィックで表現されるポリゴンの配列(例えば、三角形)を定義する。一応、グラフィックデータが2次メモリ324を利用してグラフィック加速モジュール360によって変更されると、パターンイメージデータを含む変更されたグラフィックデータは、メインバス312を介してメインメモリ392に書き込まれる(1104)。
前述した例は、デューアル階層バス構造を具備した幾つかの例示的なシステムの文脈で記述された。その例は、但し、2個のバス階層を含むが、2個以上のバスを容易に含むこともできる。又、デューアルマスタモジュール300は、説明された例の2次及びメインバスに連結されるものとして示したが、追加的なバス構造にも容易に連結することができる。このような観点で、デューアルマスタモジュール300は、前述した例で動画像圧縮モジュール、静止画像圧縮モジュール、及びグラフィック加速モジュールを含むと説明した。但し、一つ又はより多くのそのようなモジュールが本発明の他の実施例に存在することができることは、この技術分野の通常的な技術的事項である。又、このようなモジュールは、一つ又はより多くの集積回路に結集することができる。
このような変更は、前述した例及び本発明の範囲内に属する事項によって提示される多数の可能な変更のうち、一部に過ぎない。同様に、前述した方法の段階と関連された特定MPEG及びJPEGは、標準化されたものであるか、非公開されたものであるかを問わず、いかなる適当なビデオデータ圧縮手続き内で本発明のより一般的な応用を示唆するものである。即ち、動画像圧縮モジュールは、MPEG互換モジュールになることもでき、RGB、YCbCr、又はYUVフォーマットで構成されたイメージデータを受信するように適合に設計された一つ又はより多くのモジュールを一般的に含むこともできる。
前述したように、本発明のシステムオンチップのためのデューアル階層バス構造は、マルチミディアデータを処理するSOCシステムのメモリ帯域幅要求量を節減させることによって、マルチミディアデータ処理を効率的に行うことができる。
以上、本発明を実施例に基づいて詳細に説明したが、本発明はこれに限定されず、本発明が属する技術分野において通常の知識を有するものであれば本発明の思想と精神を離れることなく、本発明を修正または変更できる。
従来のシステムオンチップ(SOC)バス構造を示すブロック図である。 従来の多重階層SOCバス構造を示すブロック図である。 従来のノン−SOCバス構造を示すブロック図である。 本発明の一実施例によるSOCバス構造を示すブロック図である。 本発明の一実施例によるバス仲裁モジュールを示すブロック図である。 本発明の他の実施例によるSOCバス構造を示すブロック図である。 本発明の一実施例によるMPEGエンコーディングを行うためのSOCを使用する方法を示す流れ図である。 本発明の他の実施例によるMPEGエンコーディングを行うためのSOCを使用する方法を示す流れ図である。 本発明の更に他の実施例によるMPEGエンコーディングを行うためのSOCを使用する方法を示す流れ図である。 本発明の一実施例によるJPEGエンコーディングを行うためのSOCを使用する方法を示す流れ図である。 本発明の更に他の実施例によるグラフィックプロセッシングを行うためのSOCを使用する方法を示す流れ図である。
符号の説明
300 デューアルマスタモジュール
312 メインバス
322 高速2次バス
324 高速2次メモリ
340 動画像圧縮モジュール
350 停止画像圧縮モジュール
360 グラフィック加速モジュール
370 ディスプレイコントロールモジュール
392 メインメモリ

Claims (35)

  1. マイクロプロセッサ、イメージキャプチャーモジュール、及びデューアルマスタモジュールを高密度メインメモリに連結するように構成されたメインバスと、
    前記メインバスに独立的に動作して、前記デューアルマスタモジュールを高速2次メモリに連結するように適合に構成された高速2次バスと、を含むことを特徴とするSOC(System−On−a−Chip)バス構造。
  2. 前記デューアルマスタモジュールは、動画像圧縮モジュール、停止画像圧縮モジュール、及びグラフィック加速モジュールのうち、少なくとも一つを含むことを特徴とする請求項1記載のSOCバス構造。
  3. 前記動画像圧縮モジュールは、RGB、YCbCr、又はYUVフォーマットで構成されたロー(raw)イメージデータを受信するように適合に構成されたモジュールを含み、
    前記停止画像圧縮モジュールは、RGB、YCbCr、又はYUVフォーマットで構成されたローイメージデータを受信するように適合に構成されたモジュールを含むことを特徴とする請求項2記載のSOCバス構造。
  4. 前記バス構造は、前記2次メモリへのアクセスを制御する2次バス仲裁モジュールを更に含むことを特徴とする請求項2記載のSOCバス構造。
  5. 前記2次バス仲裁モジュールは、バス仲裁回路又はマルチプレクシングロジック回路を含むことを特徴とする請求項4記載のSOCバス構造。
  6. 前記バス構造は、前記メインメモリへのアクセスを制御するメインバス仲裁回路を更に含むことを特徴とする請求項1記載のSOCバス構造。
  7. 前記メインメモリは、一つ以上のDRAMモジュールを制御するメインメモリコントローラを含み、
    前記2次メモリは、一つ以上のSRAMモジュールを制御する2次メモリコントローラを含むことを特徴とする請求項6記載のSOCバス構造。
  8. 前記バス構造は、前記イメージキャプチャーモジュールと前記動画像圧縮モジュールとを直接連結するイメージデータバスを更に含むことを特徴とする請求項2記載のSOCバス構造。
  9. 前記イメージキャプチャーモジュールは、外部カメラを連結するように適合に構成されたカメラインターフェース回路を含むことを特徴とする請求項8記載のSOCバス構造。
  10. 前記外部カメラは、RGB、YCbCr、又はYUVフォーマットで構成されたローイメージデータと互換性があるイメージデータを提供することを特徴とする請求項9記載のSOCバス構造。
  11. 前記バス構造は、前記メインバスに連結されるディスプレイコントロールモジュールを更に含むことを特徴とする請求項1記載のSOCバス構造。
  12. メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記動画像圧縮モジュールで連結する高速2次バスを含むシステムにおいて、
    (a)現在フレームに対応するラスタ走査方式の現在イメージデータを受信する段階と、
    (b)前記ラスタ走査方式の現在イメージデータを多数のマクロブロックに再整列して、前記多数のマクロブロックを前記2次メモリに保存する段階と、
    (c)前記多数のマクロブロックを前記2次バスを介して前記2次メモリから前記動画像圧縮モジュールに伝送する段階と、
    (d)以前フレームに対応する以前イメージを前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階と、
    (e)前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階と、を含むことを特徴とする方法。
  13. 前記動画像圧縮モジュールは、MPEG互換モジュールであることを特徴とする請求項12記載の方法。
  14. 前記方法は、前記圧縮されたイメージデータを前記メインバスを介して前記メインメモリに保存する段階を更に含むことを特徴とする請求項13記載の方法。
  15. 前記圧縮されたイメージデータは、エンコーディング及びデコーディングされたバージョンで前記メインメモリに保存されることを特徴とする請求項13記載の方法。
  16. 前記ラスタ走査方式の現在イメージデータは、前記動画像圧縮モジュールに直接連結されたイメージキャプチャーモジュールからイメージデータバスを介して前記動画像圧縮モジュールに受信されることを特徴とする請求項13記載の方法。
  17. 前記段階(d)は、前記以前イメージデータのデコーディングされたバージョンを前記メインバスを介して前記メインメモリから伝送する段階を含み、
    前記段階(e)は、前記多数のマクロブロック及び前記以前イメージデータのデコーディングされたバージョンを用いてモーション推定を行う段階と、前記多数のマクロブロック及び前記以前イメージデータのデコーディングされたバージョンを用いてモーション補償を行う段階と、を含むことを特徴とする請求項15記載の方法。
  18. メインメモリを動画像圧縮モジュールで連結するメインバス及び前記メインバスに独立的に動作して、高速2次メモリを前記動画像圧縮モジュールで連結する高速2次バスを含むシステムにおいて、
    (a)現在フレームに対応するラスタ走査方式の現在イメージデータを受信する段階と、
    (b)前記ラスタ走査方式の現在イメージデータを多数のマクロブロックに再整列して、前記多数のマクロブロックを前記2次メモリに保存する段階と、
    (c)以前フレームに対応する以前イメージデータを前記動画像圧縮モジュールに伝送する段階と、
    (d)前記多数のマクロブロックを前記2次バスを介して前記2次メモリから前記動画像圧縮モジュールに伝送する段階と、
    (e)前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階と、
    (f)前記圧縮されたイメージデータを前記メインメモリに伝送する段階と、を含むことを特徴とする方法。
  19. 前記段階(c)は、前記以前イメージデータの色差(chrominance)及び輝度部分のデコーディングされたバージョンを前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階を更に含むことを特徴とする請求項18記載の方法。
  20. 前記段階(f)は、前記圧縮されたイメージデータのエンコーディング及びデコーディングされたバージョンを前記メインメモリに伝送する段階を更に含むことを特徴とする請求項19記載の方法。
  21. 前記段階(c)は、
    前記以前イメージデータの色差部分を前記2次バスを介して前記2次メモリから前記動画像圧縮モジュールに伝送する段階と、
    前記以前イメージデータの輝度部分を前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階と、を更に含むことを特徴とする請求項18記載の方法。
  22. 前記段階(f)は、
    前記圧縮されたイメージデータのエンコーディングされたバージョンと、前記圧縮されたイメージデータの輝度部分のデコーディングされたバージョンとを前記メインバスを介して前記メインメモリに伝送する段階と、
    前記圧縮されたイメージデータの色差部分のデコーディングされたバージョンを前記2次バスを介して前記2次メモリに伝送する段階と、を更に含むことを特徴とする請求項21記載の方法。
  23. 前記段階(c)は、前記以前イメージデータの輝度及び色差部分を前記2次バスを介して前記2次メモリから前記動画像圧縮モジュールに伝送する段階を更に含むことを特徴とする請求項18記載の方法。
  24. 前記段階(f)は、
    前記圧縮されたイメージデータの輝度及び色差部分のデコーディングされたバージョンを前記2次バスを介して前記2次メモリに伝送する段階と、
    前記圧縮されたイメージデータの輝度及び色差部分のエンコーディングされたバージョンを前記メインバスを介して前記メインメモリに伝送する段階と、を更に含むことを特徴とする請求項23記載の方法。
  25. メインメモリを停止画像圧縮モジュールで連結するメインバス及び前記メインバスに独立的に動作して高速2次メモリを前記停止画像圧縮モジュールで連結する高速2次バスを含むシステムにおいて、
    (a)イメージキャプチャーモジュールからラスタ走査方式のイメージデータを受信する段階と、
    (b)前記ラスタ走査方式のイメージデータを前記2次バスを介して前記2次メモリに保存された多数のMCU(Minimum Coded Units)に再整列する段階と、
    (c)圧縮されたイメージデータを前記多数のMCUから生成する段階と、
    (d)前記圧縮されたイメージデータを前記メインバスを介して前記メインメモリに保存する段階と、を含むことを特徴とする方法。
  26. 前記ラスタ走査方式のイメージデータは、外部カメラに連結されたイメージキャプチャーモジュールから受信されることを特徴とする請求項25記載の方法。
  27. 前記段階(c)は、前記多数のMCUのうちのそれぞれを前記2次メモリから前記停止画像圧縮モジュールに順次に読み込む段階を更に含むことを特徴とする請求項26記載の方法。
  28. メインメモリをグラフィック加速モジュールと動画像圧縮モジュールとで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記グラフィック加速モジュールと前記動画像圧縮モジュールとで連結する高速2次バスを含むSOCにおいて、
    前記グラフィック加速モジュールにおいて、前記メインバスを介して前記メインメモリからグラフィックデータを受信する段階と、
    前記グラフィックデータを変更するために、前記2次バスを介して前記2次メモリから前記グラフィックデータに関連するパターンイメージデータを前記グラフィック加速モジュールに伝送する段階と、
    前記変更されたグラフィックデータを前記メインバスを介して前記メインメモリに伝送する段階と、を含むことを特徴とする方法。
  29. メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速2次メモリを前記動画像圧縮モジュールで連結する高速2次バスを含むシステムで使用されるように適合に構成された方法であって、
    前記方法は、前記動画像圧縮モジュールで行われ、
    (a)イメージデータを圧縮する段階と、
    (b)前記圧縮されたイメージデータを保存する段階と、を含み、前記段階(a)は、
    (a1)前記2次メモリに保存された現在フレームに対応する多数のマクロブロックと、以前フレームに対応する以前イメージデータのデコーディングされたバージョンとを用いてモーション推定を行う段階と、
    (a2)前記多数のマクロブロックと、前記メインメモリに保存された前記以前イメージデータのデコーディングされたバージョンとを用いてモーション補償を行う段階と、を含むことを特徴とする方法。
  30. 前記以前イメージデータのデコーディングされたバージョンは前記メインメモリに保存され、前記メインバスを介して前記動画像圧縮モジュールに伝送されることを特徴とする請求項29記載の方法。
  31. 前記段階(b)は、前記圧縮されたイメージデータのエンコーディング及びデコーディングされたバージョンを前記メインバスを介して前記メインメモリに伝送する段階を更に含むことを特徴とする請求項30記載の方法。
  32. 前記以前イメージデータのデコーディングされたバージョンの色差部分は前記2次メモリに保存され、前記以前イメージデータのデコーディングされたバージョンの輝度部分は前記メインメモリに保存されることを特徴とする請求項29記載の方法。
  33. 前記段階(b)は、
    前記圧縮されたイメージデータのエンコーディングされたバージョンと前記圧縮されたイメージデータの輝度部分のデコーディングされたバージョンとを前記メインバスを介して前記メインメモリに伝送する段階と、
    前記圧縮されたイメージデータの色差部分のデコーディングされたバージョンを前記2次バスを介して前記2次メモリに伝送する段階と、を更に含むことを特徴とする請求項32記載の方法。
  34. 前記デコーディングされた以前イメージデータの輝度及び色差部分は前記2次メモリに保存されることを特徴とする請求項29記載の方法。
  35. 前記段階(b)は、
    輝度及び色差部分を含む前記圧縮されたイメージデータのデコーディングされたバージョンを前記2次メモリに保存する段階と、
    前記圧縮されたイメージデータのエンコーディングされたバージョンを前記メインメモリに保存する段階と、を更に含むことを特徴とする請求項34記載の方法。
JP2005351039A 2004-12-15 2005-12-05 システムオンチップのためのデューアル階層バス構造 Pending JP2006191545A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040106041A KR100596982B1 (ko) 2004-12-15 2004-12-15 이중 계층 버스 구조, 이중 계층 버스 구조를 가진 시스템온 칩 시스템 및 시스템 온 칩 시스템의 버스 액세스 방법
US11/200,039 US7508981B2 (en) 2004-12-15 2005-08-10 Dual layer bus architecture for system-on-a-chip

Publications (1)

Publication Number Publication Date
JP2006191545A true JP2006191545A (ja) 2006-07-20

Family

ID=36798204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005351039A Pending JP2006191545A (ja) 2004-12-15 2005-12-05 システムオンチップのためのデューアル階層バス構造

Country Status (1)

Country Link
JP (1) JP2006191545A (ja)

Similar Documents

Publication Publication Date Title
US7508981B2 (en) Dual layer bus architecture for system-on-a-chip
US8009740B2 (en) Method and system for a parametrized multi-standard deblocking filter for video compression systems
US8576924B2 (en) Piecewise processing of overlap smoothing and in-loop deblocking
US7792385B2 (en) Scratch pad for storing intermediate loop filter data
US7085320B2 (en) Multiple format video compression
US10958923B2 (en) Parallel video encoding
KR101158345B1 (ko) 디블록킹 필터링을 수행하는 방법 및 시스템
US20060143615A1 (en) Multimedia processing system and multimedia processing method
EP1689187A1 (en) Method and system for video compression and decompression (CODEC) in a microprocessor
EP1689186A1 (en) Image processing in portable video communication devices
JP2009267689A (ja) 動画像符号化装置、及び動画像符号化方法
WO2005122587A1 (en) Method of storing pictures in a memory using compression coding and cost function including power consumption
JP2006157925A (ja) パイプラインデブロッキングフィルタ
JP4945513B2 (ja) 可変長復号装置およびそれを用いた動画復号装置
JP2010098352A (ja) 画像情報符号化装置
US7760198B2 (en) Display controller
US20130251037A1 (en) Method and System for Intra-Mode Selection Without Using Reconstructed Data
US8427494B2 (en) Variable-length coding data transfer interface
JP2007503787A (ja) メモリ帯域幅要求が低いビデオ処理装置
US8311123B2 (en) TV signal processing circuit
JP4891335B2 (ja) ハードウェア多標準対応ビデオデコーダ装置
JP2002218474A (ja) 画像データ符号化装置
JP2002112268A (ja) 圧縮画像データ復号装置
JP2006191545A (ja) システムオンチップのためのデューアル階層バス構造
JP2776284B2 (ja) 画像符号化装置