(57)【要約】【課題】システムオンチップのためのデューアル階層バス構造を提供する。【解決手段】このバス構造は、マイクロプロセッサ、イメージキャプチャーモジュール、およびデューアルマスタモジュールを高密度メモリに連結するように適合に設計されたメインバスとメインバスに独立的に動作してデューアルマスタモジュールを高速２次メモリに連結するように適合に設計された２次バスとを含む。【選択図】    図４
2006191545.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサ、イメージキャプチャーモジュール、及びデューアルマスタモジュールを高密度メインメモリに連結するように構成されたメインバスと、
前記メインバスに独立的に動作して、前記デューアルマスタモジュールを高速２次メモリに連結するように適合に構成された高速２次バスと、を含むことを特徴とするＳＯＣ（Ｓｙｓｔｅｍ−Ｏｎ−ａ−Ｃｈｉｐ）バス構造。
【請求項２】
前記デューアルマスタモジュールは、動画像圧縮モジュール、停止画像圧縮モジュール、及びグラフィック加速モジュールのうち、少なくとも一つを含むことを特徴とする請求項１記載のＳＯＣバス構造。
【請求項３】
前記動画像圧縮モジュールは、ＲＧＢ、ＹＣｂＣｒ、又はＹＵＶフォーマットで構成されたロー（ｒａｗ）イメージデータを受信するように適合に構成されたモジュールを含み、
前記停止画像圧縮モジュールは、ＲＧＢ、ＹＣｂＣｒ、又はＹＵＶフォーマットで構成されたローイメージデータを受信するように適合に構成されたモジュールを含むことを特徴とする請求項２記載のＳＯＣバス構造。
【請求項４】
前記バス構造は、前記２次メモリへのアクセスを制御する２次バス仲裁モジュールを更に含むことを特徴とする請求項２記載のＳＯＣバス構造。
【請求項５】
前記２次バス仲裁モジュールは、バス仲裁回路又はマルチプレクシングロジック回路を含むことを特徴とする請求項４記載のＳＯＣバス構造。
【請求項６】
前記バス構造は、前記メインメモリへのアクセスを制御するメインバス仲裁回路を更に含むことを特徴とする請求項１記載のＳＯＣバス構造。
【請求項７】
前記メインメモリは、一つ以上のＤＲＡＭモジュールを制御するメインメモリコントローラを含み、
前記２次メモリは、一つ以上のＳＲＡＭモジュールを制御する２次メモリコントローラを含むことを特徴とする請求項６記載のＳＯＣバス構造。
【請求項８】
前記バス構造は、前記イメージキャプチャーモジュールと前記動画像圧縮モジュールとを直接連結するイメージデータバスを更に含むことを特徴とする請求項２記載のＳＯＣバス構造。
【請求項９】
前記イメージキャプチャーモジュールは、外部カメラを連結するように適合に構成されたカメラインターフェース回路を含むことを特徴とする請求項８記載のＳＯＣバス構造。
【請求項１０】
前記外部カメラは、ＲＧＢ、ＹＣｂＣｒ、又はＹＵＶフォーマットで構成されたローイメージデータと互換性があるイメージデータを提供することを特徴とする請求項９記載のＳＯＣバス構造。
【請求項１１】
前記バス構造は、前記メインバスに連結されるディスプレイコントロールモジュールを更に含むことを特徴とする請求項１記載のＳＯＣバス構造。
【請求項１２】
メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記動画像圧縮モジュールで連結する高速２次バスを含むシステムにおいて、
（ａ）現在フレームに対応するラスタ走査方式の現在イメージデータを受信する段階と、
（ｂ）前記ラスタ走査方式の現在イメージデータを多数のマクロブロックに再整列して、前記多数のマクロブロックを前記２次メモリに保存する段階と、
（ｃ）前記多数のマクロブロックを前記２次バスを介して前記２次メモリから前記動画像圧縮モジュールに伝送する段階と、
（ｄ）以前フレームに対応する以前イメージを前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階と、
（ｅ）前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階と、を含むことを特徴とする方法。
【請求項１３】
前記動画像圧縮モジュールは、ＭＰＥＧ互換モジュールであることを特徴とする請求項１２記載の方法。
【請求項１４】
前記方法は、前記圧縮されたイメージデータを前記メインバスを介して前記メインメモリに保存する段階を更に含むことを特徴とする請求項１３記載の方法。
【請求項１５】
前記圧縮されたイメージデータは、エンコーディング及びデコーディングされたバージョンで前記メインメモリに保存されることを特徴とする請求項１３記載の方法。
【請求項１６】
前記ラスタ走査方式の現在イメージデータは、前記動画像圧縮モジュールに直接連結されたイメージキャプチャーモジュールからイメージデータバスを介して前記動画像圧縮モジュールに受信されることを特徴とする請求項１３記載の方法。
【請求項１７】
前記段階（ｄ）は、前記以前イメージデータのデコーディングされたバージョンを前記メインバスを介して前記メインメモリから伝送する段階を含み、
前記段階（ｅ）は、前記多数のマクロブロック及び前記以前イメージデータのデコーディングされたバージョンを用いてモーション推定を行う段階と、前記多数のマクロブロック及び前記以前イメージデータのデコーディングされたバージョンを用いてモーション補償を行う段階と、を含むことを特徴とする請求項１５記載の方法。
【請求項１８】
メインメモリを動画像圧縮モジュールで連結するメインバス及び前記メインバスに独立的に動作して、高速２次メモリを前記動画像圧縮モジュールで連結する高速２次バスを含むシステムにおいて、
（ａ）現在フレームに対応するラスタ走査方式の現在イメージデータを受信する段階と、
（ｂ）前記ラスタ走査方式の現在イメージデータを多数のマクロブロックに再整列して、前記多数のマクロブロックを前記２次メモリに保存する段階と、
（ｃ）以前フレームに対応する以前イメージデータを前記動画像圧縮モジュールに伝送する段階と、
（ｄ）前記多数のマクロブロックを前記２次バスを介して前記２次メモリから前記動画像圧縮モジュールに伝送する段階と、
（ｅ）前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階と、
（ｆ）前記圧縮されたイメージデータを前記メインメモリに伝送する段階と、を含むことを特徴とする方法。
【請求項１９】
前記段階（ｃ）は、前記以前イメージデータの色差（ｃｈｒｏｍｉｎａｎｃｅ）及び輝度部分のデコーディングされたバージョンを前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階を更に含むことを特徴とする請求項１８記載の方法。
【請求項２０】
前記段階（ｆ）は、前記圧縮されたイメージデータのエンコーディング及びデコーディングされたバージョンを前記メインメモリに伝送する段階を更に含むことを特徴とする請求項１９記載の方法。
【請求項２１】
前記段階（ｃ）は、
前記以前イメージデータの色差部分を前記２次バスを介して前記２次メモリから前記動画像圧縮モジュールに伝送する段階と、
前記以前イメージデータの輝度部分を前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階と、を更に含むことを特徴とする請求項１８記載の方法。
【請求項２２】
前記段階（ｆ）は、
前記圧縮されたイメージデータのエンコーディングされたバージョンと、前記圧縮されたイメージデータの輝度部分のデコーディングされたバージョンとを前記メインバスを介して前記メインメモリに伝送する段階と、
前記圧縮されたイメージデータの色差部分のデコーディングされたバージョンを前記２次バスを介して前記２次メモリに伝送する段階と、を更に含むことを特徴とする請求項２１記載の方法。
【請求項２３】
前記段階（ｃ）は、前記以前イメージデータの輝度及び色差部分を前記２次バスを介して前記２次メモリから前記動画像圧縮モジュールに伝送する段階を更に含むことを特徴とする請求項１８記載の方法。
【請求項２４】
前記段階（ｆ）は、
前記圧縮されたイメージデータの輝度及び色差部分のデコーディングされたバージョンを前記２次バスを介して前記２次メモリに伝送する段階と、
前記圧縮されたイメージデータの輝度及び色差部分のエンコーディングされたバージョンを前記メインバスを介して前記メインメモリに伝送する段階と、を更に含むことを特徴とする請求項２３記載の方法。
【請求項２５】
メインメモリを停止画像圧縮モジュールで連結するメインバス及び前記メインバスに独立的に動作して高速２次メモリを前記停止画像圧縮モジュールで連結する高速２次バスを含むシステムにおいて、
（ａ）イメージキャプチャーモジュールからラスタ走査方式のイメージデータを受信する段階と、
（ｂ）前記ラスタ走査方式のイメージデータを前記２次バスを介して前記２次メモリに保存された多数のＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔｓ）に再整列する段階と、
（ｃ）圧縮されたイメージデータを前記多数のＭＣＵから生成する段階と、
（ｄ）前記圧縮されたイメージデータを前記メインバスを介して前記メインメモリに保存する段階と、を含むことを特徴とする方法。
【請求項２６】
前記ラスタ走査方式のイメージデータは、外部カメラに連結されたイメージキャプチャーモジュールから受信されることを特徴とする請求項２５記載の方法。
【請求項２７】
前記段階（ｃ）は、前記多数のＭＣＵのうちのそれぞれを前記２次メモリから前記停止画像圧縮モジュールに順次に読み込む段階を更に含むことを特徴とする請求項２６記載の方法。
【請求項２８】
メインメモリをグラフィック加速モジュールと動画像圧縮モジュールとで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記グラフィック加速モジュールと前記動画像圧縮モジュールとで連結する高速２次バスを含むＳＯＣにおいて、
前記グラフィック加速モジュールにおいて、前記メインバスを介して前記メインメモリからグラフィックデータを受信する段階と、
前記グラフィックデータを変更するために、前記２次バスを介して前記２次メモリから前記グラフィックデータに関連するパターンイメージデータを前記グラフィック加速モジュールに伝送する段階と、
前記変更されたグラフィックデータを前記メインバスを介して前記メインメモリに伝送する段階と、を含むことを特徴とする方法。
【請求項２９】
メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記動画像圧縮モジュールで連結する高速２次バスを含むシステムで使用されるように適合に構成された方法であって、
前記方法は、前記動画像圧縮モジュールで行われ、
（ａ）イメージデータを圧縮する段階と、
（ｂ）前記圧縮されたイメージデータを保存する段階と、を含み、前記段階（ａ）は、
（ａ１）前記２次メモリに保存された現在フレームに対応する多数のマクロブロックと、以前フレームに対応する以前イメージデータのデコーディングされたバージョンとを用いてモーション推定を行う段階と、
（ａ２）前記多数のマクロブロックと、前記メインメモリに保存された前記以前イメージデータのデコーディングされたバージョンとを用いてモーション補償を行う段階と、を含むことを特徴とする方法。
【請求項３０】
前記以前イメージデータのデコーディングされたバージョンは前記メインメモリに保存され、前記メインバスを介して前記動画像圧縮モジュールに伝送されることを特徴とする請求項２９記載の方法。
【請求項３１】
前記段階（ｂ）は、前記圧縮されたイメージデータのエンコーディング及びデコーディングされたバージョンを前記メインバスを介して前記メインメモリに伝送する段階を更に含むことを特徴とする請求項３０記載の方法。
【請求項３２】
前記以前イメージデータのデコーディングされたバージョンの色差部分は前記２次メモリに保存され、前記以前イメージデータのデコーディングされたバージョンの輝度部分は前記メインメモリに保存されることを特徴とする請求項２９記載の方法。
【請求項３３】
前記段階（ｂ）は、
前記圧縮されたイメージデータのエンコーディングされたバージョンと前記圧縮されたイメージデータの輝度部分のデコーディングされたバージョンとを前記メインバスを介して前記メインメモリに伝送する段階と、
前記圧縮されたイメージデータの色差部分のデコーディングされたバージョンを前記２次バスを介して前記２次メモリに伝送する段階と、を更に含むことを特徴とする請求項３２記載の方法。
【請求項３４】
前記デコーディングされた以前イメージデータの輝度及び色差部分は前記２次メモリに保存されることを特徴とする請求項２９記載の方法。
【請求項３５】
前記段階（ｂ）は、
輝度及び色差部分を含む前記圧縮されたイメージデータのデコーディングされたバージョンを前記２次メモリに保存する段階と、
前記圧縮されたイメージデータのエンコーディングされたバージョンを前記メインメモリに保存する段階と、を更に含むことを特徴とする請求項３４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムオンチップ（ＳＯＣ：ＳＹＳＴＥＭ−ＯＮ−Ａ−ＣＨＩＰ）のためのバス構造に係り、特に、高性能マルチミディア処理アプリケーションに適合に設計されたデューアル階層ＳＯＣバス構造に関する。
【背景技術】
【０００２】
現代の電子装置は、しだいに、多様なマルチミディア処理能力をユーザに提供する。例えば、携帯電話やＰＤＡのような携帯用電子装置は、ユーザがオーディオやビデオのようなマルチミディア情報の多様な形式をキャプチャー、ダウンロード、ディスプレイ又は処理する。マルチミディアが可能な装置の使用がしだいに普遍化するに従って、より小型化され高速化された装置の需要が継続増加している。即ち、マルチミディアが可能な装置のための改善された設計が継続要求されている。
【０００３】
小型の高性能電子装置の設計や製造に対する接近方式のうちの一つは、１個の集積回路（ＩＣ）内に必要なシステム構造要素を全部装着することである。そのような構成要素の配列や設備は、一般的にシステムオンチップ（ＳＯＣ：ＳＹＳＴＥＭ−ＯＮ−Ａ−ＣＨＩＰ）と言われる。例えば、オーディオプロセッシングアプリケーションのためのＳＯＣは、オーディオ受信機、アナログ−デジタル変換機（ＡＤＣ）、マイクロプロセッサ、メモリ、及び入／出力ロジックを一つのＩＣチップ上に結合する。
【０００４】
従来のＳＯＣアーキテクチャと関連する一つの問題点は、それらが普通使用される幾つかのマルチミディアフォーマットではデータ処理がうまく行われないというものである。例えば、従来のＳＯＣ構造は、多様なＭＰＥＧフォーマットのうち、いずれか一つでデータをコーディング（即ち、エンコーディング及びデコーディング）する時、性能は遅く、過度な電力を消費する。これは、従来のＳＯＣ構造がコーディング過程の間、メモリから読み込まれるか、メモリに書き込まれる大容量のデータによって圧倒されるという事実にある程度起因する。このような問題を克服するために、マルチミディアプロセッシングアプリケーションの拡張された帯域幅（ｂａｎｄｗｉｄｔｈ、即ち、データ運搬容量）要求量を収容するように適合に設計された改善されたバス構造が必要である。
【０００５】
マルチミディアプロセッシングアプリケーションのための帯域幅要求量をよりよく理解するために、ＭＰＥＧエンコーディングとデコーディングの概要を検討する。ＭＰＥＧは、但し選択された例示である。多くのコーディングの例のうち、いずれか一つを説明することもできるが、ＭＰＥＧは普遍的に理解される標準であり、下記に記述される本発明の論議のための立派な指針を提供する。
【０００６】
一般に、エンコーディングという用語は、構成を有しない入力データを、構成を有する、即ち、コーディングされたフォーマットに変換するプロセスを言う。例えば、ＭＰＥＧエンコーディングの場合に、このプロセスは一連の入力ビデオフレームを一連のコーディングされた、即ち、圧縮されたデータフレームに変換することを含む。エンコーディングのプロセスを処理するのに使用される装置を、一般的にエンコーダと称する。ＭＰＥＧエンコーディングを行う多数の互いに異なるエンコーダの設計が存在する。
【０００７】
デコーディングという用語は、コーディングされたデータから本来の入力データを再構成するプロセスを言う。例えば、ＭＰＥＧデコーディングの場合に、このプロセスはコーディングされたフレームに基づいて入力ビデオフレームを再構成することを含む。大部分の場合、エンコーディング／デコーディングプロセスの途中に情報の損失のために再構成された入力ビデオフレームは本来の入力ビデオフレームと一致しない。そのような場合に、再構成された入力ビデオフレームは、対応する原本の近似値になる。一般的にデコーディングプロセスを行うのに使用される装置をデコーダと称する。ＭＰＥＧデコーディングを行う多数の互いに異なるデコーダの設計が存在する。
【０００８】
ＭＰＥＧエンコーディングに使用される入力ビデオフレームは、一般にロー−カラムフォーマットに配列されたピクセル値の集合で構成される。大部分の場合、各ピクセルは、一つ以上の情報チャンネルのための値を含む。例えば、ピクセルは赤色、緑色、及び青色（ＲＧＢ）チャンネルのための値を含むことができる。他の場合として、ＲＧＢカラーチャンネルは、輝度（Ｙ）と色差（ＵＶ）成分で同等に表現することができる。色差値は、一般的にビット数を減少させるために、輝度値と関連してサブサンプルされた値である。例えば、４個の輝度値のブロックは同等な大きさの２個の色差値ブロックと結合して、「マクロブロック」という一つの大きいブロックを形成することができる。一般に、マクロブロックは、いかなる大きさやいかなる数の色差又は輝度ブロックも含むことができる。しかし、説明の便宜のために、マクロブロックは正方形に配列された４個の８×８輝度ブロックと、４個の８×８輝度ブロックの中間でサブサンプルされた８×８赤色色差ブロック、及び８×８青色色差ブロックを含むと仮定する。
【０００９】
ＭＰＥＧエンコーディングは、まず入力ビデオフレームを３個の他のタイプ（Ｉ−フレーム、Ｐ−フレーム、Ｂ−フレーム）に分けることから始まる。Ｉ−フレームは、他のフレームを参照することなく、エンコーディングされるので、イントラコーディド（ｉｎｔｒａ−ｃｏｄｅｄ）フレームと言う。Ｐ−フレームとＢ−フレームとは、他のフレームの情報を利用してエンコーディングされるので、インターコーディド（ｉｎｔｅｒ−ｃｏｄｅｄ）フレームと言う。詳細には、Ｐ−フレームのそれぞれは、以前のＩ−フレーム又はＰ−フレームに基づいて予測され、Ｂ−フレームのそれぞれは、以前及び以後のＩ−フレーム又はＰ−フレームに基づいて予測される。
【００１０】
入力ビデオシーケンスでのＩ−フレームのそれぞれは、量子化された離散コサイン変換（ＤＣＴ）係数のセットとしてエンコーディングされる。一方、Ｐ−フレームとＢ−フレームのそれぞれは、モーションベクトル及び対応する予測エラーフレームのセットとしてエンコーディングされる。Ｉ−フレーム、Ｐ−フレーム、及びＢ−フレームのエンコーディングプロセスは後述する。
【００１１】
入力ビデオシーケンスでの入力ビデオフレームのそれぞれは、演繹的にＩ−フレーム、Ｐ−フレーム、又はＢ−フレームとして指名される。このような指名をする一つの方法は、フレームタイプが反復されるシーケンスを定義して、反復されるシーケンスによって入力ビデオフレームに対してコーディングを行うことである。例えば、シーケンスがＩ１、Ｂ２、Ｂ３、Ｂ４、Ｐ５、Ｂ６、Ｂ７、Ｂ８、Ｐ９として定義されると仮定する。この際、Ｉ１は、シーケンスの一番目フレームがＩ−フレームであることを意味し、Ｂ２は、シーケンスの二番目フレームがＢ−フレームであることを意味する。従って、入力ビデオフレームのシーケンスでの一番目フレームはＩ−フレームとして指名され、二番目フレームはＢ−フレームとして指名される。
【００１２】
シーケンス内のＰ−フレームのそれぞれは、以前Ｉ−フレーム又はＰ−フレームに関してコーディングされ、シーケンス内のＢ−フレームのそれぞれは、以前及び以後のＩ−フレーム又はＰ−フレームに関してコーディングされるので、入力ビデオフレームは一般的に順序なくエンコーディングされる。例えば、前記シーケンスでのフレームは、Ｉ１、Ｐ５、Ｂ２、Ｂ３、Ｂ４、Ｐ９、Ｂ６、Ｂ７、Ｂ８の順次にエンコーディングされることによって、Ｂ２、Ｂ３、及びＢ４フレームは、エンコーディングのために必要なＩ１とＰ５フレームにアクセスすることができ、Ｂ６、Ｂ７、及びＢ８フレームは、Ｐ５、Ｐ９フレームにアクセスすることができる。即ち、入力ビデオフレームは、まずＩ−フレーム、Ｂ−フレーム、及びＰ−フレームとして指名され、エンコーディングされる前に対応する所定のシーケンスによって再整列される。コーディングされたフレームは、普通デコーディングされた後に本来の順次に整列される。
【００１３】
Ｉ−フレームは、イントラフレームＤＣＴコーディングを利用してエンコーディングされる。イントラフレームＤＣＴコーディングは、フレームを小ブロックに分けることによって始まる。普通、小ブロックのそれぞれは、８ビットピクセル値の８×８ブロックを含む。小ブロックのそれぞれは、離散コサイン変換を利用してＤＣＴ係数ブロックに変換される。ＤＣＴ係数ブロックは、普通、小ブロックと同じ数字の値を有するが、通常、より多くのビットが各値を保存するために使用される。例えば、８ビット値の８ピクセル×８ピクセルブロックは、１１ビット値の８×８ＤＣＴ係数ブロックに変換することができる。多重情報チャンネルのためのピクセル値を含むフレームで、各チャンネルのための小ブロックが個別的にＤＣＴコーディングされる。
【００１４】
次に、イントラフレームＤＣＴコーディングで、各ＤＣＴ係数ブロックに保存される値は、その値を一定量（普通、２の倍数）に分割して、その結果を切断することによって量子化される。これは、普通、本来のＩ−フレーム内に含まれた一部情報の損失を招来する。しかし、その情報の損失がＩ−フレームに対する最終イメージの質を著しく損傷させないようにする方式が採用される。例えば、高周波イメージ成分に対応するＤＣＴ係数は、人の目がイメージの他の部分より事物のエッジ近傍の細部事項により少なく敏感するので、普通、低周波イメージ成分に対応することにより大きい程度で量子化される。
【００１５】
最後に、量子化を経た後に、ＤＣＴ係数ブロックのそれぞれは直列データ化され、可変長コーディング（ＶＬＣ）を利用してエンコーディングされる。直列データ化は直流成分から始めて、低周波イメージ成分を示す係数から高周波イメージ成分を示す係数まで継続されるジグザグ方式でＤＣＴ係数ブロックの値を読み込むことによって連続的に行われる。例えば、次の行列での係数は、ほぼ、１、２、４、７、５、３、６、８、９の順に読み込まれる。
１  ２  ３
４  ５  ６
７  ８  ９
【００１６】
ＶＬＣは「０」ではない値が追う「０」ラン（ｒｕｎ）を共にグループ化することによって行われる。例えば、「３、１、０、０、５、２、０、０、０」のようなシリーズがジグザグ方式を使用してＤＣＴ係数ブロックから読み込まれると仮定すると、その値は次のようなグループに整列される。
（３）、（１）、（０、０、５）、（２）、ＥＯＢ
【００１７】
ここで、ＥＯＢというラベルは「ｅｎｄ  ｏｆ  ｂｌｏｃｋ」を示し、これは、そのシーケンスに残っている入力が全部「０」であることを示す。
【００１８】
一応、その値がグループに配列されると、各グループはＶＬＣルックアップテーブルの特定コードワードに代替される。ＶＬＣルックアップテーブルは、ルックアップテーブル内のいかなるコードワードも他のいかなるコードワードの前部分とも一致しないという特性を有する。このようにＶＬＣルックアップテーブルによって生成されたコードワードのシリーズはビットストリームに整列されるが、デコーダがビットストリーム内で各コードワードがどこで始めて、どこで終わるかを判断できるようにしながら整列される。前記シリーズのビットストリームへの変換を示すために、次ぎのルックアップテーブルが簡単な例として使用される。グループ「（３）」はコードワード「０００」を示し、グループ「（１）」はコードワード「１１１」を示し、グループ「（０、０、５）」はコードワード「１０１」を示し、グループ「（２）」はコードワード「１１０」を示し、ラベルＥＯＢはコードワード「０１」を示すと仮定する。結局、シリーズの値は、ビットストリーム「０００１１１１０１１１００１」にコーディングすることができる。
【００１９】
Ｐ−フレームは、モーションベクトルのセットを生成するために、いかなるフレームに対してもレファレンスフレームに関して相対的なモーション推定を行うことによってエンコーディングされる。Ｐ−フレームの場合、レファレンスフレームは入力ビデオシーケンスの以前Ｉ−フレーム又はＰ−フレームであり、各モーションベクトルは、レファレンスフレームとＰ−フレームとの間で推定されたマクロブロックのモーションを示す。例えば、モーションベクトルは、Ｐ−フレームのいかなるマクロブロックとレファレンスフレーム内でマクロブロックと一番よくマッチされるブロック（ｂｅｓｔ  ｍａｔｃｈ）との間の相対的な移動を定義する。
【００２０】
モーションベクトルは、Ｐ−フレームの近似値であるフレーム「Ｖ」を生成するために、レファレンスフレームに適用される。モーションベクトルは、レファレンスフレームの各マクロブロックをそのモーションベクトルのうちの一つによって示される量だけ移動させることによって、レファレンスフレームに適用される。その後、Ｐ−フレームからフレーム「Ｖ」を差し引いて予測フレーム「Ｅ」を生成するが、フレーム「Ｅ」は後にＰ−フレームを再構成するために、そのモーションベクトルと共に保存される。
【００２１】
モーションベクトルとフレーム「Ｅ」とに基づいて、いかなるフレームを再構成することにおいて、モーションベクトルはレファレンスフレームに付加されフレーム「Ｖ」を生成し、その後、フレーム「Ｅ」がフレーム「Ｖ」に付加され、本来Ｐ−フレームの近似値が生成される。フレーム「Ｅ」がフレーム「Ｖ」での誤差を補償するのに使用されるので、フレーム「Ｅ」は度々「モーション補償誤差」と言われる。従って、前述したように、モーションベクトル及びモーション補償誤差を生成するエンコーディング技法は、度々「モーション補償インターフレームコーディング」と言われる。
【００２２】
フレーム「Ｅ」は、一般にイントラフレームＤＣＴコーディングと量子化及びＶＬＣを利用してエンコーディングされる。これは、特に、フレーム「Ｖ」がＰ−フレームと非常に類似な場合、即ち、予測エラーが小さい場合において、フレーム「Ｅ」を示すのに必要なビット数を相当に減少させる傾向がある。このような場合において、フレーム「Ｅ」に対応する量子化されたＤＣＴ係数ブロックは、多くの数の「０」を含む傾向がある。結論的に、ＶＬＣはＤＣＴ係数ブロックのための効率的な圧縮を達成する。
【００２３】
Ｂ−フレームは、Ｐ−フレームと非常に類似な方式でエンコーディングされる。しかし、Ｂ−フレームのためのモーション推定は、１個当り２個のレファレンスフレームと関連され行われる。レファレンスフレームは、入力ビデオシーケンスの以前及び以後Ｉ−フレーム又はＰ−フレームであり、モーション推定は２個のレファレンスフレームと関連され行われたモーション推定に基づいた平均値であるモーションベクトルを生成する。
【００２４】
特に、モーション推定は、一般的に本来の入力ビデオフレームに対して行われるものではなく、以前にエンコーディングされデコーディングされたＩ−フレームとＰ−フレーム及びＢ−フレームとを利用して行われる。言い換えれば、モーション推定が行われる前には、入力ビデオフレームは、イントラフレームＤＣＴコーディング及び量子化され、更に逆量子化及び逆ＤＣＴコーディングによって前処理される。このような処理は、モーションベクトルに基づいたフレーム推定がデコーダで反復されることができるように行われる。イントラフレームＤＣＴコーディングと量子化とによって入力ビデオフレームが情報を損失するので、入力ビデオフレームに対するモーション推定実行は、デコーディングプロセスにおいて予測できない結果を誘導することがある。ＭＰＥＧエンコーディングは、以前にエンコーディング／デコーディングされたフレームに対して行われるモーション推定を必要とするので、大部分のＭＰＥＧエンコーダは、このようなフレームを生成するのに使用されるローカルデコーダを含む。
【００２５】
Ｐ−フレーム又はＢ−フレームの特定マクロブロックのためのモーション補償誤差が過度に大きい場合、マクロブロックをエンコーディングするのに、モーション補償インターフレームコーディングの代わりに、イントラフレームＤＣＴコーディングを利用することができる。これは、入力ビデオシーケンスでの相当な変化によるシーケンスのエンコーディング性能低下を防止する。
【００２６】
ＭＰＥＧエンコーディングの結果はメモリに保存するか、デコーダに伝送することができるビットストリーム（即ち、圧縮されたイメージデータ）に圧縮される。ビットストリームは、一般的にフレームのデコーディングに使用される追加的な情報と共に、ＶＬＣコーディングされたＤＣＴ係数と、各フレームに対応するモーションベクトルを含む。追加的な情報は、普通各フレームのタイプ、ＤＣＴ係数のために使用される量子化値などを含む。
【００２７】
他のフレームタイプのそれぞれのために使用されるデコーディング手続きは、一般的にフレームをエンコーディングするのに使用される手続きの逆順である。例えば、Ｉ−フレームは、ルックアップテーブルを使用してＶＬＣエンコーディングされたＤＣＴ係数をデコーディングして、最終ＤＣＴ係数に量子化値をかけた後、出力ビデオフレームのためのピクセル値のセットを算出するために、ＤＣＴ係数を逆ＤＣＴ変換することによってデコーディングされる。
【００２８】
入力ビデオフレームに対応する出力ビデオフレームを提供するために、Ｐ−フレーム及びＢ−フレームに対して同様な逆手続きが行われる。また、Ｐ−フレーム及びＢ−フレームは、モーションベクトルと前述したモーション補償誤差を使用してデコーディングされる。
【００２９】
一応、デコーディング手続きが完了されると、出力ビデオフレームは入力ビデオフレームに基づいて本来の順次に再整列される。
【００３０】
説明の簡略化のために、幾つかの細部事項がＭＰＥＧエンコーディングとデコーディングの説明から省略された。また、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、及びＭＰＥＧ−７を含む多様なＭＰＥＧ標準の特定な細部事項も省略された。しかし、ＭＰＥＧエンコーディングとデコーディングは広く知られた手続きであり、従って、省略された細部事項は他の資料から求めることができる。
【００３１】
実時間ＭＰＥＧエンコーディングとデコーディングは、一般に秒当たり数フレームのフレームレートを満足するための最小限の十分な帯域幅を必要とする。即ち、幾つかのフレームのそれぞれは、入力装置から読み込まれメモリに記録される。その後、各フレーム内部のブロックは、ＤＣＴコーディング、量子化、及びモーション推定などのために使用されるイメージ圧縮モジュールとメモリとの間で前後に継続伝送される。このような動作は、ＤＲＡＭ又はフラッシュのような低速の高密度メモリに依存する従来のＳＯＣ構造の利用可能な帯域幅を容易に消耗する。低速の高密度メモリは、ＳＲＡＭのような高速の低密度メモリより安く、少ない空間を占めて、より大きい容量を有する。
【００３２】
図１及び図２は、従来のＳＯＣ構造を示すブロック図である。図１は、従来の単一階層ＳＯＣバス構造を示し、図２は、従来の多重階層ＳＯＣバス構造を示す。
【００３３】
図１に示す従来の単一階層ＳＯＣバス構造において、多数のモジュール（１０乃至８０）は、単一システムバス１２に連結される。ここで、「モジュール」という用語は、電子装置内の特定な機能的実体を言及するのに使用される。例えば、モジュールはソフトウェアルーチンのセット、特定ハードウェア（例えば、回路）構成、又はそれらの組合を含む意味として理解することができる。「モジュール」という用語は、また、機能的実体の集合、即ち、多重モジュール又はモジュール内の付属要素まで称することもできる。
【００３４】
図１を参照すると、モジュール１０はＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）を含み、モジュール２０はカメラインターフェースを含み、モジュール３０は動画像圧縮モジュールを含み、モジュール４０は静止画像圧縮モジュールを含み、モジュール５０はグラフィック加速モジュールを含み、モジュール６０はイメージデータを液晶表示装置に伝送するように適合に設計された伝送モジュールを含む。モジュール７０はメモリコントローラを含み、モジュール８０は高密度（例えば、ＤＲＡＭ）メモリを含む。
【００３５】
図１に示すＳＯＣバス構造は、ある程度は安い費用と実現の容易性のために、一番一般的に使用されるＳＯＣバス構造である。しかし、連結されたモジュールのそれぞれに対する帯域幅要求量を足すことによって、バス１２上での帯域幅要求量が決定されるので、全体利用可能な帯域幅は、但し少ない数の連結されたモジュールに対する要求量によっても消耗され得る。特に、全体利用可能なシステムバス帯域幅は、入力ビデオが処理される途中に動画像圧縮モジュールとカメラインターフェースとに対する帯域幅要求量によって容易に消耗又は超過され得る。
【００３６】
図１及び図２に示す例示構成要素の間で、又は一般的に下記の説明において、同一参照番号は同一であるか、類似の構成要素を示す。従って、図２の多重階層ＳＯＣバス構造において、モジュール１０は第１バス１２−１に連結され、モジュール２０、３０、４０は第２バス１２−２に連結され、モジュール５０、６０は第３バス１２−３に連結される。第１、第２、第３バスは、それぞれ３個のメモリコントローラ７０−１、７０−２、７０−３に連結され、３個のメモリコントローラ７０−１、７０−２、７０−３は、それぞれ３個の高密度メモリ８０−１、８０−２、８０−３に連結される。
【００３７】
多重（例えば、３重）階層を使用することによって、図２のＳＯＣバス構造は、図１に示す単一システムバス構造より多い利用可能な帯域幅を提供する。即ち、図２に示すシステムのための全体利用可能な帯域幅は、各バス階層での利用可能な帯域幅の和である。より多い帯域幅を提供することによって、図２のＳＯＣバス構造は、実時間マルチミディアプロセッシングを効率的に支援することができる。しかし、多重階層バスシステムは高く、製造が難しい。結果的に、このようなシステムタイプは、安い費用と容易な実現とが重要な商用製品の製造に適合ではない。また、図２の多重階層ＳＯＣバス構造を使用することによって得られる改善は、それにもかかわらず、高密度メモリ８０−２のアクセス速度によって制限されるが、例えば、高密度メモリ８０−２は、動画像圧縮モジュール３０の帯域幅要求量を収容するのに不十分である可能性もある。
【００３８】
図３は、ノン−ＳＯＣコンピュータシステムのための従来のバス構造を示すブロック図である。そのようなシステムは、例えば、特許文献１に開示されている。
【特許文献１】米国特許第５，７８４，５９２号
【００３９】
図３を参照すると、ＰＣコンピュータシステムは、スタンダードローカルバス１２０と実時間マルチミディアバス１３０Ｂとの間にマルチミディアメモリ１６０を位置させることによって、高性能マルチミディアプロセッシングを可能にする。マルチミディアメモリ１６０は、スタンダードローカルバス１２０へのアクセス時、衝突なしにマルチミディア情報を処理できるように、マルチミディア装置１４２Ｂ、１４４Ｂ、１４６Ｂのための保存空間を提供する。
【００４０】
マルチミディアメモリとマルチミディア装置の動作は、チップセット１０６Ｂを介したＣＰＵ１０２によって制御される。ＣＰＵ１０２は、メインメモリ１１０からマルチミディアメモリ１６０にマルチミディア情報を伝送する。又、ＣＰＵ１０２は、いつ特定マルチミディアプロセッシング機能を開始又は中止して、いつバス１２０を介してデータを送るかを知らせる制御信号をマルチミディアメモリとマルチミディア装置とに送る。
【００４１】
図３に示すコンピュータシステムは、最小限２つの限界を有する。一番目の限界は、マルチミディアデータをメインメモリからマルチミディアメモリにフェッチ（ｆｅｔｃｈ）する必要があることである。これは、マルチミディアプロセッシング手続きに相当な費用が追加される。二番目の限界は、一番目の限界と関連があるもので、マルチミディアメモリの大きさに関するものである。マルチミディアメモリは、マルチミディアデータと共にメインメモリからのコード及びオーバーフローデータを含む大容量のデータを保存するように適合に設計される。たとえ、大容量のマルチミディアメモリがメインメモリからマルチミディアデータをフェッチする頻度を減少させても、ＳＯＣのような小さい面積での好ましいシステム構造を実現するのは困難である。
【００４２】
最小限前述した従来システムでの明白な制限のため、マルチミディアプロセッシングアプリケーションのための改善されたＳＯＣバス構造が必要である。
【発明の開示】
【発明が解決しようとする課題】
【００４３】
前述した問題点を解決するための本発明の目的は、多様なマルチミディアプロセッシング手続きによって消耗されるメインシステムバス帯域幅の量を減少させるための効率的なバス構造を提供することにある。
【課題を解決するための手段】
【００４４】
前記目的を達成するための本発明の一特徴によると、マイクロプロセッサ、イメージキャプチャーモジュール、及びデューアルマスタモジュールを高密度メインメモリに連結するように適合に構成されたメインバス、及び前記メインバスに独立的に動作して前記デューアルマスタモジュールを高速２次メモリに連結するように適合に構成された高速２次バスを含むことを特徴とするＳＯＣバス構造が提供される。
【００４５】
前記目的を達成するための本発明の他の特徴によると、メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記動画像圧縮モジュールで連結する高速２次バスを含むシステムにおいて、（ａ）カレントフレームに対応するラスタ走査方式のカレントイメージデータを受信する段階、（ｂ）前記ラスタ走査方式のカレントイメージデータを多数のマクロブロックに再整列し、前記多数のマクロブロックを前記２次メモリに保存する段階、（ｃ）前記多数のマクロブロックを前記２次バスを介して前記２次メモリから前記動画像圧縮モジュールに伝送する段階、（ｄ）以前フレームに対応する以前イメージを前記メインバスを介して前記メインメモリから前記動画像圧縮モジュールに伝送する段階、及び（ｅ）前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階を含むことを特徴とする方法が提供される。
【００４６】
前記目的を達成するための本発明の更に他の特徴によると、メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記動画像圧縮モジュールで連結する高速２次バスを含むシステムにおいて、前記方法は、（ａ）カレントフレームに対応するラスタ走査方式のカレントイメージデータを受信する段階、（ｂ）前記ラスタ走査方式のカレントイメージデータを多数のマクロブロックに再製列し、前記多数のマクロブロックを前記２次メモリに保存する段階、（ｃ）以前フレームに対応する以前イメージデータを前記動画像圧縮モジュールに伝送する段階、（ｄ）前記多数のマクロブロックを前記２次バスを介して前記２次メモリから前記動画像圧縮モジュールに伝送する段階、（ｅ）前記多数のマクロブロック及び前記以前イメージデータから圧縮されたイメージデータを生成する段階、及び（ｆ）前記圧縮されたイメージデータを前記メインメモリに伝送する段階を含むことを特徴とする方法が提供される。
【００４７】
前記目的を達成するための本発明の更に他の特徴によると、メインメモリを停止画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記停止画像圧縮モジュールで連結する高速２次バスを含むシステムにおいて、（ａ）イメージキャプチャーモジュールからラスタ走査方式のイメージデータを受信する段階、（ｂ）前記ラスタ走査方式のイメージデータを前記２次バスを介して前記２次メモリに保存された多数のＭＣＵに再整列する段階、（ｃ）圧縮されたイメージデータを前記多数のＭＣＵから生成する段階、及び（ｄ）前記圧縮されたイメージデータを前記メインバスを介して前記メインメモリに保存する段階を含むことを特徴とする方法が提供される。
【００４８】
前記目的を達成するための本発明の更に他の特徴によると、メインメモリをグラフィック加速モジュールと動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記グラフィック加速モジュールと前記動画像圧縮モジュールで連結する高速２次バスを含むＳＯＣにおいて、前記グラフィック加速モジュールにおいて、前記メインバスを介して前記メインメモリからグラフィックデータを受信する段階、前記グラフィックデータを変更するために、前記２次バスを介して前記２次メモリから前記グラフィックデータと関連されたパターンイメージデータを前記グラフィック加速モジュールに伝送する段階、及び前記変更されたグラフィックデータを前記メインバスを介して前記メインメモリに伝送する段階を含むことを特徴とする方法が提供される。
【００４９】
前記目的を達成するための本発明の更に他の特徴によると、メインメモリを動画像圧縮モジュールで連結するメインバス、及び前記メインバスに独立的に動作して高速２次メモリを前記動画像圧縮モジュールで連結する高速２次バスを含むシステムで使用されるように適合に構成された方法であって、前記方法は、前記動画像圧縮モジュールで行われ、（ａ）イメージデータを圧縮する段階、及び（ｂ）前記圧縮されたイメージデータを保存する段階を含み、前記段階（ａ）は、（ａ１）前記２次メモリに保存されたカレントフレームに対応する多数のマクロブロックと、以前フレームに対応する以前イメージデータのデコーディングされたバージョンとを利用してモーション推定を行う段階、及び（ａ２）前記多数のマクロブロックと、前記メインメモリに保存された前記以前イメージデータのデコーディングされたバージョンとを利用してモーション補償を行う段階を含むことを特徴とする方法が提供される。
【発明を実施するための最良の形態】
【００５０】
以下、本発明の好ましい実施例を添付図面を参照して詳細に説明する。各図面の構成要素に参照符号を付与する際、たとえ他の図面上に表示されても、同一構成要素には同一参照符号を付与した。
【００５１】
一般的なアプリケーションにおいて、本発明の実施例は、マルチミディアプロセッシングを行うように適合に設計されたシステムオンチップ（ＳＯＣ）のためのデューアル階層バス構造を提供する。デューアル階層バス構造は、マルチミディア情報を処理するのに適合に設計された一つ以上のモジュールがメインメモリと２次メモリとにそれぞれ連結されたメインバス及び２次バスを含む。モジュールを２個のバスに連結するのは、２個のバス間のモジュールの帯域幅要求量を分けることによって、ＳＯＣのマルチミディア処理能力を向上させるためである。
【００５２】
図４は、本発明の一実施例によるＳＯＣバス構造を示すブロック図である。
【００５３】
図４を参照すると、ＳＯＣバス構造は、マイクロプロセッサ３１０に連結されたメインバス３１２、イメージキャプチャーモジュール３３０、デューアルマスタモジュール３００、ディスプレイコントロールモジュール３７０、及び高密度メインメモリ３９２などを含む。メインメモリは、例えば、ＳＯＣ外部に位置する少なくとも一つのＤＲＡＭモジュール３９０を制御するメインメモリコントローラ３８２を含む。メインバス３１２へのアクセスは、メインバス仲裁回路３１４によって制御される。
【００５４】
図４のＳＯＣバス構造は、メインバス３１２から独立的に動作してデューアルマスタモジュール３００を高速２次メモリ３２４と連結させる高速２次バス３２２を更に含む。高速２次メモリ３２４は、例えば、最小限一つのＳＲＡＭモジュール３２０を制御する２次メモリコントローラ３８０を含む。
【００５５】
図４に示すように、デューアルマスタモジュール３００は、例えば、動画像圧縮モジュール３４０、静止画像圧縮モジュール３５０、及びグラフィック加速モジュール３６０を含むが、それぞれはメインバス３１２と２次バス３２２とに連結される。
【００５６】
一実施例において、動画像圧縮モジュール３４０は、ＲＧＢ値のセットや輝度及び色差（ＹＣｂＣｒ又はＹＵＶ）値のセットとしての加工されないロー（ｒａｗ）イメージデータを受信するように適合に設計される。動画像圧縮モジュールに受信されたローイメージデータは、普通、ストリミングビデオシーケンスのような動画像のシーケンスに相応する。動画像圧縮モジュールは、例えば、ＭＰＥＧコーディングのようなコーディング形式を使用してイメージデータを圧縮及び／又は復元する。
【００５７】
同様に、一実施例において、静止画像圧縮モジュール３５０は、ＲＧＢ値やＹＣｂＣｒ又はＹＵＶ値のセットとしてのローイメージデータを受信するように適合に設計される。しかし、静止画像モジュールによって受信されたイメージデータは、普通、単一イメージと相応する。静止画像圧縮モジュールは、例えば、ＪＰＥＧコーディングのようなコーディング形式を使用して、ローイメージデータを圧縮及び／又は復元する。
【００５８】
動画像圧縮モジュール３４０は、ＭＰＥＧコーディングを使用すると仮定すると、ＭＰＥＧコーダ／デコーダ（コーデック）を含む。最近のシステムにおいて、ＭＰＥＧコーデックは、ＭＰＥＧ−４やＭＰＥＧ−２コンプライアント（ｃｏｍｐｌｉａｎｔ）である。同様に、静止画像圧縮モジュール３５０がＪＰＥＧコーディングを使用すると仮定すると、ＪＰＥＧコーデックを含む。
【００５９】
グラフィック加速モジュール３６０は、ＳＯＣに追加的な特化された機能を提供する。例えば、グラフィック加速モジュール３６０は、ポリゴンレンダリング又はシステムディスプレイ（図示せず）上に順次にディスプレイされるイメージデータと関連されたテクスチャーマッピングを行うことができる。
【００６０】
ローイメージデータ（又は、より一般的に走査−整列されたイメージデータ）は、デューアルマスタモジュール３００によってイメージキャプチャーモジュール３３０又はメインメモリ３９２から受信される。ローイメージデータは、２次バス３２２又は（選択的に提供される）イメージデータバス３３１を介してイメージキャプチャーモジュール３３０からデューアルマスタモジュール３００に伝送される。イメージデータバス３３１は、イメージキャプチャーモジュール３３０を動画像圧縮モジュール３４０又は静止画像圧縮モジュール３５０と直列連結する。
【００６１】
イメージキャプチャーモジュール３３０は、一般的にＳＯＣ外部に位置するイメージキャプチャー装置（図示せず）からデータを受信する。イメージキャプチャー装置は、一つ以上の入力信号を一つ以上の出力信号に変換した後、出力信号をイメージキャプチャーモジュール３３０に送／受信するビデオカメラ、静止画像カメラ、タッチスクリーン、又はその他の装置を含む。例えば、イメージキャプチャー装置は、電子コンポーネント、レンズ、容量性（ｃａｐａｃｉｔａｔｉｖｅ）センサ、変換機、電子化学センサ、赤外線感知器などの組合を使用して、受信されたイメージキャプチャー信号を変換することができる。その後、イメージキャプチャー装置は、相応する電子信号をデジタルフォーマットとしてイメージキャプチャーモジュール３３０に提供することができる。
【００６２】
イメージキャプチャーモジュール３３０は、一般的にイメージキャプチャー装置の特定タイプから電子信号を受信するように適合に設計された特化されたインターフェース回路を含む。例えば、イメージキャプチャー装置が外部カメラを含む場合、イメージキャプチャーモジュール３３０は外部カメラを連結し、カメラから特定信号を受信するように適合に設計されたカメラインターフェース回路を含むことができる。そのような場合に、カメラからの信号は、ＲＧＢ、ＹＣｂＣｒ、又はＹＵＶフォーマットのローイメージデータを含むことができる。
【００６３】
イメージキャプチャー装置が外部カメラを含む場合に、カメラは多数の可能なイメージング技術のうち、いずれか一つ、例えば、ＣＭＯＳイメージセンサやＣＣＤイメージセンサを含むことができる。又、イメージキャプチャー装置は、ディスクリタイジング（ｄｉｓｃｒｅｔｉｚｉｎｇ）、サブサンプリング、フィルタリング、又はイメージキャプチャーモジュール３３０に伝送する前にイメージデータプロセッシングのためのＩＳＰを提供する。
【００６４】
イメージデータの受信に続いて、イメージキャプチャーモジュール３３０は、イメージデータを追加的なプロセッシングのための更に他のモジュールに伝送することができる。例えば、イメージデータはデジタル的にスケール調整されるか、回転されるか、サブサンプル又はフィルタリングなどがされるように、メインメモリ３９２に伝送することができる。
【００６５】
一応、イメージデータが処理されると（例えば、変換されるか、圧縮される等）、高密度メインメモリ３９２に保存されるか、ディスプレイコントロールモジュール３７０を利用してシステムディスプレイに出力される。ディスプレイコントロールモジュール３７０は、一つ以上のシステムディスプレイと接続又はこれを制御するが、このようなシステムディスプレイは、ＬＣＤ、ＣＲＴ、プリンタ等を含む多様な形態とすることができる。
【００６６】
図４に示すデューアル階層バス構造は、マルチミディアが可能な装置に幾つかの利点を提供する。例えば、デューアルマスタモジュール３００に連結された２次メモリ３２４は、メインバス３１２と連関された資源のために競争するか、メインメモリ３９２の一般的に遅いアクセス速度を待つことなく、動画像圧縮モジュール３４０及び静止画像圧縮モジュール３５０がデータを効率的に読み込んで書き込むようにする。結果的に、メインバス３１２は、イメージ圧縮技術を特定する帯域幅が強化されたデータ伝送と連関されている超過帯域幅要求量によって圧倒され難い。又、イメージデータの圧縮／復元と連関しているエンコーディング及びデコーディングプロセスは、相当に加速化することができる。
【００６７】
図５は、マルチプレクシングロジック回路３４２の形式を有する２次バス仲裁メカニズムを示すブロック図である。
【００６８】
図５を参照すると、２次メモリ３２４へのアクセスは、２次バス３２２に連結された２次バス仲裁メカニズムによって制御することができる。この技術分野の一般的な技法によると、マルチプレクシングロジック回路３４２の実現において、デューアルマスタモジュール３００からの多くても一つのモジュールが提供されたいかなる時点でも、２次バス３２２にアクセスすることが保障される限り、多様な特定回路の設計が可能である。又は、メインバス仲裁回路３１４と、形式と動作面とで類似な通常に提供される２次バス仲裁回路３９４を提供することもできる（図６参照）。
【００６９】
しかし、図５において、マルチプレクシングロジック回路３４２は、動画像圧縮モジュール３４０、静止画像圧縮モジュール３５０、及びグラフィック加速モジュール３６０によってデータ出力を受信し、このようなモジュールのうち、多くても一つから受信されたデータを２次バス３２２に印加する。マルチプレクシングロジック回路３４２は、外部及び／又は内部制御信号に対する応答として、デューアルマスタモジュール３００内のマルチプレックスされたモジュールのそれぞれのための帯域幅を割り当てることができる。例えば、内部制御信号は、マルチプレクシングロジック回路３４２内に結合されている帯域幅スケジューラによって生成することができる。又は、外部制御信号は、マイクロプロセッサ３１０又はイメージキャプチャーモジュール３３０によって生成することができる。
【００７０】
図６は、本発明の他の実施例によるＳＯＣバス構造を示すブロック図である。
【００７１】
図６に示すＳＯＣバス構造は、図６でマルチプレクシングロジック回路３４２の代わりに、２次バス仲裁回路３９４が２次メモリへのアクセスを制御するのに使用されることを除いて、図４に示すものと同じである。
【００７２】
従来の技術を利用して、２次バス仲裁回路３９４は、デューアルマスタモジュール３００内のモジュールによる２次バス３２２への接近及び利用を制御することによって、２次メモリ３２４へのアクセスを制御する。２次バス３２２への接近が許容されるようにするために、デューアルマスタモジュール３００内のモジュールは、まずアクセス要請信号を生成しなければならない。その後、２次バス仲裁回路３９４は、アクセス許容応答信号を生成することによって、アクセス要請信号に応答する。アクセス許容応答信号の受信に対応して、要請モジュールは所定の動作のセットを利用して２次バス３２２に対してデータ伝送を始める。
【００７３】
図７乃至図１０は、デューアル階層ＳＯＣバス構造に使用されるように適合に設計された例示的な方法を示す流れ図である。
【００７４】
特に、図７乃至図９は、図４及び図６に示すようなデューアル階層ＳＯＣバス構造に使用されるように適合に設計された例示的な方法を示す。説明の前後文脈上、例示的なシステムはＭＰＥＧと関連されたエンコーディング構成を使用するものと仮定する。図１０は、図４及び図６に示すようなデューアル階層ＳＯＣバス構造に使用されるように適合に設計された更に他の例示的な方法を示す。又、説明の前後分文脈上、例示的なシステムはＪＰＥＧと関連されたエンコーディング構成を使用するものと仮定される。
【００７５】
図７乃至図９と関連され説明された方法が、２次メモリサイズの範囲を有する例示的なシステムに適用される。即ち、本発明によって適合に設計されたＳＯＣを含む製品と関連された実質的制約は、２次メモリのサイズとも言うことができる。最新の高価製品は、比較的大きい２次メモリを含むこともできる。サイズや費用、以前製品との互換性の制約を有する製品は、相対的に小さい２次メモリを含むことができる。下記するように、本発明の利点は、多様な製品タイプや、例えば、２次メモリサイズのような、他の機能を有する多様な製品に適用することができる。
【００７６】
例えば、図７と関連され示される方法は、比較的小さい保存容量を有する２次メモリ３２４を含むシステム内での使用に特に適合である。そのような場合に、２次メモリ３２４は、例えば、ＭＰＥＧエンコーディング動作の進行に使用される現在イメージデータの多数のマクロブロックを臨時的に保存するのに使用される。下に記述する説明において、「現在」及び「以前」という用語は、ＭＰＥＧエンコーディング／デコーディング動作と関連して前述されたようなフレームのシーケンスを一時的に参照する。しかし、このようなことは、但し便宜上の説明のための例示である。説明のための例示に基づいたノン−ＭＰＥＧに関する文脈では、「現在フレーム（又はデータ）」及び「以前フレーム（又はデータ）」という用語は、それぞれ「一つのデータセット」及び「他の臨時関連データセット」と広く解釈することができる。
【００７７】
図４、図６、及び図７を参照すると、動画像圧縮モジュール３４０は、入力ビデオシーケンスでの現在フレームに対応するラスタ走査方式の現在イメージデータを受信する。「ラスタ走査方式」という用語は、従来のＭＰＥＧ互換イメージキャプチャーモジュール及び関連されたイメージキャプチャー装置によって提供されるビデオイメージデータのシーケンスと明白な関連がある。より一般に、「ローイメージデータ」と共に使用された時には、この用語は視覚ディスプレイに適合に設計されたイメージデータのいかなるより大きいセットから発生されたいかなる方式のビデオデータシーケンスを言う。説明する実施例において、ラスタ走査方式の現在イメージデータは、普通直接連結されたイメージデータバス３３１を介してイメージキャプチャーモジュール３３０から動画像圧縮モジュール３４０で受信される。
【００７８】
ラスタ走査方式の現在イメージデータは、多数のマクロブロックに再整列されるが（７０２）、マクロブロックは２次バス３２２を介して２次メモリ３２４に保存される（７０５）。多数のマクロブロックは、２次バス３２２を介して動画像圧縮モジュール３４０に伝送される。入力ビデオシーケンスでの以前フレームに対応する以前イメージデータは、メインメモリバス３１２を介してメインメモリ３９２から動画像圧縮モジュール３４０に伝送される（７０６）。
【００７９】
モーション推定は、以前イメージデータを使用して、各マクロブロックに対して行われるが（７０３）、それによって多数のマクロブロックに対応する多数のモーションベクトルを生成することになる。その後、動画像圧縮モジュール３４０は、多数のマクロブロックと以前イメージデータから圧縮されたイメージデータを生成する（７０４）。モーション補償誤差ブロックは、モーションベクトル及び圧縮されたイメージデータに基づいて各マクロブロックのために生成される。その後、圧縮されたイメージデータ及び圧縮されたイメージデータのデコーディングされたバージョンは、メインバス３１２を介してメインメモリ３９２に保存される（７０７）。
【００８０】
モーション補償は、モーションベクトルを以前イメージデータに適用することによって生成された対応するマクロブロック近似値にモーション補償ブロックを付加することによって、後続するデコーディング動作で行われる（７０３）。
【００８１】
以前イメージデータは、一般的にデコーディングされた形式でメインメモリ３９２から動画像圧縮モジュール３４０に伝送される。これは、動画像圧縮モジュール３４０がまず以前イメージデータをデコーディングせず、モーション推定を行うようにする。
【００８２】
図８は、中間サイズの保存容量を有する２次メモリ３２４を含むＳＯＣで使用されるように適合に設計された更に他の例示的な方法を示す。
【００８３】
前述された例示より大きい２次メモリを具備するシステムにおいて、２次メモリ３２４は現在フレームデータのみならず、ＭＰＥＧエンコーディングプロセス中に使用される一つ以上の以前フレームの色差部分を保存するのに使用することができる。
【００８４】
図８を参照すると、現在フレームに対応するラスタ走査方式の現在イメージデータは、動画像圧縮モジュール３４０によって受信される。その後、現在イメージデータは、多数のマクロブロックに再整列され（８０２）、２次バス３２２を使用して２次メモリ３２４に保存される（８０７）。その後、以前フレームに対応する以前イメージデータの輝度部分のデコーディングされたバージョンは、メインバス３１２を介してメインメモリ３９２から動画像圧縮モジュール３４０に読み込まれる（８０５）。しかし、以前イメージデータの色差部分のデコーディングされたバージョンは、２次バス３２２を介して２次メモリ３２４から動画像圧縮モジュール３４０に読み込まれる（８０８）。
【００８５】
多数のマクロブロックは、又、２次バス３２２を介して２次メモリ３２４から動画像圧縮モジュール３４０に読み込まれる。その後、モーション推定及びモーション補償は、マクロブロック及び以前イメージデータの色差及び輝度部分を利用して行われる（８０３）。即ち、動画像圧縮モジュール３４０は、多数のマクロブロック及び以前イメージデータのそれぞれの成分から圧縮されたイメージデータを生成する（８０４）。圧縮されたイメージデータ及び圧縮されたイメージデータの輝度部分のデコーディングされたバージョンは、メインバス３１２を介してメインメモリ３９２に書き込まれる（８０６）。しかし、圧縮されたイメージデータの色差部分のデコーディングされたバージョンは、２次バス３２２を介して２次メモリ３２４に書き込まれる（８０９）。
【００８６】
図９は、２次メモリ３２４が相当に大きい保存容量を有するシステムで使用されるように適合に設計された更に他の例示的な方法を示す。
【００８７】
そのようなシステムにおいて、動画像圧縮モジュール３４０は、現在フレームとＭＰＥＧエンコーディング及び／又はデコーディングプロセス中に使用される以前フレームデータを保存するために２次メモリ３２４を利用する。
【００８８】
図９を参照すると、現在フレームに対応するラスタ走査方式の現在イメージデータは、動画像圧縮モジュール３４０によって受信される。現在イメージデータは、多数のマクロブロックに再整列され（９０２）、２次メモリ３２４に保存される（９０６）。以前フレームに対応する以前イメージデータのデコーディングされたバージョンは、２次バス３２２を介して２次メモリ３２４から動画像圧縮モジュール３４０に読み込まれる（９０７）。多数のマクロブロックは、２次バス３２２を介して２次メモリ３２４から動画像圧縮モジュール３４０に読み込まれる。その後、モーション推定及びモーション補償は、マクロブロック及び以前イメージデータの色差及び輝度部分を利用して行われる（９０３）。動画像圧縮モジュール３４０は、多数のマクロブロック及び以前イメージデータから圧縮されたイメージデータを生成する（９０４）。圧縮されたイメージデータは、メインバス３１２を介してメインメモリ３９２に書き込まれる（９０５）。しかし、圧縮されたイメージデータのデコーディングされたバージョンは、２次バス３２２を介して２次メモリ３２４に書き込まれる（９０８）。
【００８９】
図９と関連して説明した方法において、２次メモリ３２４から読み込まれるか、２次メモリ３２４に書き込まれる以前イメージデータは、対応する以前フレームの輝度及び色差部分を含む。同様に、現在イメージデータ及び対応する圧縮されたイメージデータは、又、輝度及び色差部分を含む。
【００９０】
図１０は、図４及び図６に示すように、ＳＯＣバス構造で使用され、ＪＰＥＧエンコーディングまでも行うように適合に設計された例示的な方法を示す。
【００９１】
図１０を参照すると、ラスタ走査方式のイメージデータは静止画像圧縮モジュール３５０によって受信される。イメージデータは、普通、イメージキャプチャーモジュール３３０から受信されるが、イメージキャプチャーモジュール３３０は、一般的に外部カメラ（図示せず）に連結される。イメージデータは、２次バス３２２を介して２次メモリ３２４に保存される（１００５）。静止画像圧縮モジュール３５０は、現在イメージデータを多数のＭＣＵ（Ｍｉｎｉｍｕｍ  Ｃｏｄｅｄ  Ｕｎｉｔｓ）に再整列する（１００２）。普通、ＭＣＵのそれぞれは、ＲＧＢ又はＹＵＶのようなフォーマットで構成された８×８ピクセルブロックを含む。その後、圧縮されたイメージデータは、スタンダードＪＰＥＧコーディングアルゴリズムを利用して多数のＭＣＵから生成される（１００３）。ＪＰＥＧコーディングアルゴリズムは、普通、ＤＣＴ実行、量子化、及び各ＭＣＵに対するＶＬＣを含む。その後、圧縮されたイメージデータは、メインバス３１２を介してメインメモリ３９２に保存される（１００４）。一般に、ＭＣＵは連続的に圧縮される。即ち、ＭＣＵは、２次メモリ３２４から静止画像圧縮モジュール３５０に読み込まれ、いかなる連続的な順序形態にも圧縮される。
【００９２】
図１１は、図４及び図６に示すようにＳＯＣバス構造で使用され、従来のグラフィックプロセッシングまでも行うように適合に設計された例示的な方法を示す更に他の流れ図である。
【００９３】
図１１を参照すると、グラフィックデータは、まず、メインバス３１２からのメインメモリ３９２からグラフィック加速モジュール３６０に受信される（１１０２）。その後、グラフィックデータの各部分は、グラフィック加速モジュール３６０によってまず変更されるかあるいは、２次バス３２２を介して２次メモリ３２４に書き込まれる（１１０３）。２次メモリ３２４は、グラフィックデータからパターンイメージデータを形成するために、同様に理解された技法によって利用される。パターンイメージデータは、ＬＣＤのディスプレイ又はそのシステムと連関された類似なディスプレイのために適合に設計されたグラフィックデータである。例えば、パターンイメージデータは、テクスチャーマップや、ディスプレイコントロールモジュール３７０の制御下に、ディスプレイ上にグラフィックで表現されるポリゴンの配列（例えば、三角形）を定義する。一応、グラフィックデータが２次メモリ３２４を利用してグラフィック加速モジュール３６０によって変更されると、パターンイメージデータを含む変更されたグラフィックデータは、メインバス３１２を介してメインメモリ３９２に書き込まれる（１１０４）。
【００９４】
前述した例は、デューアル階層バス構造を具備した幾つかの例示的なシステムの文脈で記述された。その例は、但し、２個のバス階層を含むが、２個以上のバスを容易に含むこともできる。又、デューアルマスタモジュール３００は、説明された例の２次及びメインバスに連結されるものとして示したが、追加的なバス構造にも容易に連結することができる。このような観点で、デューアルマスタモジュール３００は、前述した例で動画像圧縮モジュール、静止画像圧縮モジュール、及びグラフィック加速モジュールを含むと説明した。但し、一つ又はより多くのそのようなモジュールが本発明の他の実施例に存在することができることは、この技術分野の通常的な技術的事項である。又、このようなモジュールは、一つ又はより多くの集積回路に結集することができる。
【００９５】
このような変更は、前述した例及び本発明の範囲内に属する事項によって提示される多数の可能な変更のうち、一部に過ぎない。同様に、前述した方法の段階と関連された特定ＭＰＥＧ及びＪＰＥＧは、標準化されたものであるか、非公開されたものであるかを問わず、いかなる適当なビデオデータ圧縮手続き内で本発明のより一般的な応用を示唆するものである。即ち、動画像圧縮モジュールは、ＭＰＥＧ互換モジュールになることもでき、ＲＧＢ、ＹＣｂＣｒ、又はＹＵＶフォーマットで構成されたイメージデータを受信するように適合に設計された一つ又はより多くのモジュールを一般的に含むこともできる。
【産業上の利用可能性】
【００９６】
前述したように、本発明のシステムオンチップのためのデューアル階層バス構造は、マルチミディアデータを処理するＳＯＣシステムのメモリ帯域幅要求量を節減させることによって、マルチミディアデータ処理を効率的に行うことができる。
【００９７】
以上、本発明を実施例に基づいて詳細に説明したが、本発明はこれに限定されず、本発明が属する技術分野において通常の知識を有するものであれば本発明の思想と精神を離れることなく、本発明を修正または変更できる。
【図面の簡単な説明】
【００９８】
【図１】従来のシステムオンチップ（ＳＯＣ）バス構造を示すブロック図である。
【図２】従来の多重階層ＳＯＣバス構造を示すブロック図である。
【図３】従来のノン−ＳＯＣバス構造を示すブロック図である。
【図４】本発明の一実施例によるＳＯＣバス構造を示すブロック図である。
【図５】本発明の一実施例によるバス仲裁モジュールを示すブロック図である。
【図６】本発明の他の実施例によるＳＯＣバス構造を示すブロック図である。
【図７】本発明の一実施例によるＭＰＥＧエンコーディングを行うためのＳＯＣを使用する方法を示す流れ図である。
【図８】本発明の他の実施例によるＭＰＥＧエンコーディングを行うためのＳＯＣを使用する方法を示す流れ図である。
【図９】本発明の更に他の実施例によるＭＰＥＧエンコーディングを行うためのＳＯＣを使用する方法を示す流れ図である。
【図１０】本発明の一実施例によるＪＰＥＧエンコーディングを行うためのＳＯＣを使用する方法を示す流れ図である。
【図１１】本発明の更に他の実施例によるグラフィックプロセッシングを行うためのＳＯＣを使用する方法を示す流れ図である。
【符号の説明】
【００９９】
３００    デューアルマスタモジュール
３１２    メインバス
３２２    高速２次バス
３２４    高速２次メモリ
３４０    動画像圧縮モジュール
３５０    停止画像圧縮モジュール
３６０    グラフィック加速モジュール
３７０    ディスプレイコントロールモジュール
３９２    メインメモリ
【図１】
2006191545.tif 000003
【図２】
2006191545.tif 000004
【図３】
2006191545.tif 000005
【図４】
2006191545.tif 000006
【図５】
2006191545.tif 000007
【図６】
2006191545.tif 000008
【図７】
2006191545.tif 000009
【図８】
2006191545.tif 000010
【図９】
2006191545.tif 000011
【図１０】
2006191545.tif 000012
【図１１】
2006191545.tif 000013