(57)【要約】【課題】効率的な画像回転の方法および装置。【解決手段】発明は一般的に効率的な画像回転の方法および装置に向けられる。画像は、画像の各データが画像マトリクスの特定の画像行および特定の画像列に対応している画像マトリクスにより定義されることが好ましい。好ましい方法は複数のメモリ行および複数のメモリ列に組織されたメモリ・マトリクスに各データをマッピングすることを含む。マッピングは(a) １つの画像列に対応する少なくとも２つのデータ、および(b) 少なくとも２つの画像ベクトル部分で、第１の画像ベクトル部分は各々１つの画像列に対応する少なくとも２つのデータを含み、第２の画像ベクトル部分は各々別の１つの画像列に対応する少なくとも２つの他のデータを含む画像ベクトル部分、をメモリ行の１つにマッピングすることを含むことが好ましい。さらに、  第１の画像ベクトル部分の少なくとも２つのデータおよび第２の画像ベクトル部分の少なくとも２つの他のデータは各々が同じ画像行に対応することが好ましい。【選択図】図１
2007034304.tif 000002
【特許請求の範囲】
【請求項１】
画像の各データが画像マトリクスの特定の画像行および特定の画像列に対応している画像マトリクスにより定義される画像を効率的に回転する方法で、
複数のメモリ行および複数のメモリ列に組織されるメモリ・マトリクスに各データをマッピングするステップを含み、
該マッピングのステップは、
(a) １つの画像列に対応する少なくとも２つのデータと、
(b) 少なくとも２つの画像ベクトル部分で、第１の画像ベクトル部分は各々１つの画像列に対応する少なくとも２つのデータを含み、第２の画像ベクトル部分は各々別の１つの画像列に対応する少なくとも２つの他のデータを含む画像ベクトル部分と
を１つのメモリ行にマッピングすることを含む方法。
【請求項２】
前記第１の画像ベクトル部分の少なくとも２つのデータおよび前記第２の画像ベクトル部分の少なくとも２つの他のデータは各々が同じ画像行に対応する請求項１に記載される方法。
【請求項３】
前記各画像ベクトル部分はBデータを含み、メモリ・マトリクスはCメモリ列を有し、ここでメモリ列Cは各画像ベクトル部分におけるデータ数および１つのメモリ行における画像ベクトル部分の数Aとの積（C = B ・A）である、請求項２に記載される方法。
【請求項４】
前記データは前記画像マトリクス内でラスタ順序に配列される請求項２に記載される方法。
【請求項５】
さらに前記画像マトリクスを画像提供源から受信し、前記メモリ・マトリクスをメモリに格納することを含み、該メモリは前記メモリ・マトリクスと同数のメモリ行およびメモリ列に組織されている、請求項２に記載される方法。
【請求項６】
さらに前記画像マトリクスを前記メモリから取り出し、該メモリから読み取られたデータをグラフィックス表示装置に伝送することを含み、前記表示装置の表示領域はメモリ・マトリクスと同数のメモリ行およびメモリ列に組織されている、請求項５に記載される方法。
【請求項７】
画像の各データが画像マトリクスの特定の画像行および特定の画像列に対応している画像マトリクスにより定義される画像の効率的な回転を提供するグラフィックス・コントローラで、
複数のメモリ行および複数のメモリ列に組織されるメモリと、
複数のメモリ行および複数のメモリ列に組織されているメモリ・マトリクスに各データを特定のマッピング方式に従いマッピングするメモリ格納方式コントローラで、
マッピング方式はメモリ行の１つに、
(a) １つの画像列に双方とも対応する少なくとも２つのデータと、
(b) 少なくとも２つの画像ベクトル部分で、第１の画像ベクトル部分は各々１つの画像列に対応する少なくとも２つのデータを含み、第２の画像ベクトル部分は各々別の１つの画像列に対応する少なくとも２つの他のデータを含む画像ベクトル部分と
を１つのメモリ行にマッピングすることを含むメモリ格納方式コントローラ、
を含むグラフィックス・コントローラ。
【請求項８】
前記第１の画像ベクトル部分の少なくとも２つのデータおよび前記第２の画像ベクトル部分の少なくとも２つの他のデータは各々が同じ画像行に対応する、請求項７に記載されるグラフィックス・コントローラ。
【請求項９】
前記各画像ベクトル部分はBデータを含み、メモリ・マトリクスはCメモリ列を有し、ここでメモリ列Cは各画像ベクトル部分におけるデータ数および１つのメモリ行における画像ベクトル部分の数Aとの積（C = B ・A）である、請求項８に記載されるグラフィックス・コントローラ。
【請求項１０】
前記データはピクセル・データである、請求項８に記載されるグラフィックス・コントローラ。
【請求項１１】
前記データは画像マトリクス内でラスタ順序に配列される、請求項８に記載されるグラフィックス・コントローラ。
【請求項１２】
さらに前記画像マトリクスを画像提供源から受信し、メモリ・マトリクスをメモリに格納することを含み、メモリはメモリ・マトリクスと同数のメモリ行およびメモリ列に組織されている、請求項１１に記載されるグラフィックス・コントローラ。
【請求項１３】
さらに前記画像マトリクスをメモリから取り出し、該メモリから読み取られたデータをグラフィックス表示装置に伝送することを含み、該表示装置の表示領域はメモリ・マトリクスと同数のメモリ行およびメモリ列に組織されている、請求項８に記載されるグラフィックス・コントローラ。
【請求項１４】
画像の各データが画像マトリクスの特定の画像行および特定の画像列に対応している画像マトリクスにより定義される画像の効率的な回転を提供する画像表示システムで、
データを提供する画像提供源と、
前記データを具現化するグラフィックス表示装置と、
複数のメモリ行および複数のメモリ列に組織されたメモリと、
複数のメモリ行および複数のメモリ列に組織されているメモリ・マトリクスに各データを特定のマッピング方式に従いマッピングするメモリ格納方式コントローラで、
マッピング方式はメモリ行の１つに、
(a) １つの画像列に双方とも対応する少なくとも２つのデータと、
(b) 少なくとも２つの画像ベクトル部分で、第１の画像ベクトル部分は各々１つの画像列に対応する少なくとも２つのデータを含み、第２の画像ベクトル部分は各々別の１つの画像列に対応する少なくとも２つの他のデータを含む画像ベクトル部分と
をマッピングすることを含むメモリ格納方式コントローラを含むグラフィックス・コントローラ、
を含む画像表示システム。
【請求項１５】
前記画像提供源および前記表示装置が該グラフィックス・コントローラから離れている、請求項１４に記載される画像表示システム。 
【請求項１６】
前記第１の画像ベクトル部分の少なくとも２つのデータおよび前記第２の画像ベクトル部分の少なくとも２つの他のデータは各々が同じ画像行に対応する、請求項１４に記載される画像表示システム。
【請求項１７】
前記各画像ベクトル部分はBデータを含み、メモリ・マトリクスはCメモリ列を有し、ここでメモリ列Cは各画像ベクトル部分におけるデータ数および１つのメモリ行における画像ベクトル部分の数Aとの積（C = B ・A）である、請求項１６に記載される画像表示システム。
【請求項１８】
前記データは前記画像マトリクス内でラスタ順序に配列される、請求項１６に記載される画像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像表示システムにおける画像の効率的な回転の方法および装置に関する。特に、好ましい実施形態は画像の回転および非回転双方のために画像データを効率的に取り出せるような方法で画像データをメモリ内で整理する方法および装置に関する。
【背景技術】
【０００２】
画像表示システム、特にモバイルまたは携帯電話など安価で電池駆動の手持式デジタル装置（「携帯デジタル機器」）は通常画像データの１つ以上の提供源および１つまたは複数のＬＣＤパネルなどのグラフィックス表示装置とのインタフェースとしてグラフィックス・コントローラを用いる。画像データの提供源は通常ＣＰＵなどのホスト、およびカメラである。ホストとカメラは画像データを最終的に表示装置に表示されるべくグラフィックス・コントローラに伝送する。表示装置はその表示領域においてデジタル画像データのピクセル（「ピクセル・データ」）を表示するように適応されている。ホストはさらにグラフィックス・コントローラおよびカメラに制御データを伝送し、これらの装置の操作を制御する。グラフィックス・コントローラは通常別個の集積回路（「ＩＣ」）であり、グラフィックス・コントローラ、ホスト、およびカメラは各々互いに離れている。
【０００３】
グラフィックス・コントローラはホストおよびカメラから受信して画像データを処理するための各種処理オプションを提供する。例えば、グラフィックス・コントローラは着信または発信画像データをＪＰＥＧコード化またはデコード化など圧縮または解凍し、画像データをトリミングし、画像データのサイズを変え、画像データを拡大縮小し、利用できるいくつかの色変換方式に従って画像データの色変換を行なうことができる。
【０００４】
グラフィックス・コントローラはしばしば画像データ源から受信した画像データを格納するための埋め込みメモリを含む。さらに画像データ源から受信した画像データを格納するためのメモリはグラフィックス・コントローラＩＣとは別個のＩＣに存在することができる。画像データは後に取り出し、表示装置に伝送するためにメモリのフレーム・バッファ部分に格納されることができる。さらに、メモリに格納する前にデータに対し画像処理操作を行ない、または画像処理操作のためにデータをメモリから取り出し、次に表示装置に伝送するか、メモリに再格納することができる。メモリは行および列を有する２次元のマトリクスとして組織されている。特定の行および列に格納されたピクセル・データは表示装置の対応する行および列にマッピングされる。一般的に、メモリはダイナミック・ランダムアクセス・メモリ（「ＤＲＡＭ」）、シンクロナスＤＲＡＭ（「ＳＤＲＡＭ」）、またはスタティックＲＡＭ（「ＳＲＡＭ」）であって良い。ＳＲＡＭはＤＲＡＭおよびＳＤＲＡＭより高速であるが、より高価である。従ってＤＲＡＭおよびＳＤＲＡＭは画像データを格納するためにしばしば用いられる。
【０００５】
ＤＲＡＭおよびＳＤＲＡＭはコンデンサにデータを格納し、これは漏れのため定期的に再充電またはリフレッシュする必要がある。ＤＲＡＭおよびＳＤＲＡＭの場合、メモリ位置をアクセスする前に行アドレス選択（「ＲＡＳ」）および「プリチャージ」サイクルを必要とする。ＲＡＳおよびプリチャージが完了するとデータは所定の出発点から行内の列を順に通る「バースト・モード」で行に書き込み、またはそこから読み取ることができる。ＤＲＡＭにおける一行全体を「ページ」と呼ぶこともある。 
【特許文献１】米国特許第6,643,415号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来、ホストおよびカメラはラスタ走査順で画像データをグラフィックズ・コントローラに提供する。つまりピクセルは横から横の行を上から下と提供される。ラスタ順序のピクセル・データはさらに一般的に順次のメモリ位置、つまり横から横へとメモリの行に順次格納される。さらに、ピクセル・データは処理または表示装置へ伝送するために一般的にラスタ順序で 取り出される。ラスタ順序で格納用に呈され、横から横へメモリの行に順次格納された画像データをラスタ順序で取り出すことは効率的である。理由はデータをバースト・モードで一行ずつ取り出すことができるからである。
【０００７】
しかし画像表示システムは通常画像回転機能を提供している。画像がラスタ順序でメモリに格納されていると、画像を回転した場合格納した順序とは異なった順序で画像データを取り出さなければならない。ディスプレーに回転画像を一行書き込むためにはピクセル・データをメモリの多数の異なった行から取り出す必要がある。ＤＲＡＭまたはＳＤＲＡＭにおけるページ変更毎にＲＡＳおよびプリチャージサイクルを要するので、一般的にＤＲＡＭメモリを使用している場合画像回転はデータ取り出しの効率をかなり減らす。
【０００８】
従って画像表示システムにおける画像を効率的に回転するための方法および装置が求められている。
【課題を解決するための手段】
【０００９】
発明は一般的に画像の効率的な回転のための方法および装置を対象とする。画像は画像マトリクスによって定義されることが好ましく、ここで画像の各データは画像マトリクスの特定画像行および特定画像列に対応する。好ましい方法は複数のメモリ行および複数のメモリ列に組織されたメモリ・マトリクスに各データをマッピングすることが含まれる。マッピングは１つのメモリ行に、(a)各々画像行の１つに対応する少なくとも２つのデータ、および(b)画像ベクター部分の第１の部分は１つの画像列に各々対応する少なくとも２つのデータを含み、画像ベクター部分の第２の部分は画像列の別の１つに対応する少なくとも２つの別のデータを含む、少なくとも２つの画像ベクター部分をマッピングすることを含むことが好ましい。さらに第１画像ベクター部分の該少なくとも２つのデータ各々および第２画像ベクター部分の該少なくとも２つの別のデータ各々は各々の同じ画像列に対応することが好ましい。
【００１０】
画像の効率的な回転を提供する好ましいグラフィックス・コントローラは複数のメモリ行および複数のメモリ列に組織されるメモリおよびメモリ格納方式コントローラを含む。メモリ格納方式コントローラは各データを特定のマッピング方式に従ってメモリ・マトリクスにマッピングするよう適応されている。メモリ・マトリクスは複数のメモリ行および複数のメモリ列に組織されていることが好ましく、マッピング方式はメモリ列の１つに、(a) １つの画像列に対応する少なくとも２つのデータ、および(b)第１の画像ベクトル部分は各々１つの少なくとも画像列に対応する少なくとも２つのデータを含み、第２の画像ベクトル部分は各々別のメモリ列に対応する少なくとも２つの別のデータを含む、少なくとも２つの画像ベクトル部分をマッピングすることを含む。さらに、第１の画像ベクトル部分のすくなくとも２つのデータおよび第２の画像ベクトル部分の少なくとも２つの別のデータは各々同じ画像行に対応することが好ましい。
【００１１】
画像の効率的な回転を提供する画像表示システムはデータを提供する画像提供源、データを表現するグラフィックス表示装置、複数のメモリ行および複数のメモリ列に組織されたメモリ、およびグラフィックス・コントローラを含む。グラフィックス・コントローラは各データを特定のマッピング方式に従ってメモリ・マトリクスにマッピングするメモリ格納方式コントローラを含むことが好ましい。メモリ・マトリククスは複数のメモリ行および複数のメモリ列に組織されていることが好ましく、マッピング方式は メモリ列の１つに、(a) １つの画像列に対応する少なくとも２つのデータ、および(b)第１の画像ベクトル部分は各々１つの少なくとも画像列に対応する少なくとも２つのデータを含み、第２の画像ベクトル部分は各々別のメモリ列に対応する少なくとも２つの別のデータを含む、少なくとも２つの画像ベクトル部分をマッピングすることを含む。好ましい実施形態で、画像提供源および表示装置はグラフィックス・コントローラから離れている。さらに、該第１のベクトル部分の少なくとも２つデータおよび該第２のベクトル部分の別の少なくとも２つのデータは各々同じ画像行に対応することが好ましい。
【００１２】
好ましい実施形態で、発明は機械により実行される命令のプログラムを具現化する機械読み取り可能な媒体を対象としており、命令のプログラムは画像の効率的な回転を提供する方法を組み込んでいる。媒体に具現化される方法は各データを複数のメモリ行および複数のメモリ列に組織されたメモリ・マトリクスにマッピングすることが含まれることが好ましい。マッピングは１つのメモリ行に、(a)各々画像行の１つに対応する少なくとも２つのデータ、および(b)画像ベクター部分の第１の部分は１つの画像列に各々対応する少なくとも２つのデータを含み、画像ベクター部分の第２の部分は画像列の別の１つに対応する少なくとも２つの別のデータを含む、少なくとも２つの画像ベクター部分をマッピングすることを含むことが好ましい。さらに、該第１のベクトル部分の少なくとも２つデータおよび該第２のベクトル部分の別の少なくとも２つのデータは各々同じ画像行に対応することが好ましい。
【００１３】
本要約は以下に続く図面および詳細な説明を全般的に定める手段として提供され、発明の範囲を限定する目的ではないことが理解されよう。発明の目的、特徴および利点は添付図面と併せて以下の詳細な説明により容易に理解されよう。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図面に基づいて説明する。
【００１５】
［実施形態１］
好ましい実施形態は画像表示システムにおいて画像を効率的に回転させる方法および装置を対象とする。さらに、発明による方法および装置はグラフィックス・コントローラにおいて実施されることが好ましい。以降、発明の具体的な好ましい実施形態について詳細に言及するが、その例は添付図面に図示される。可能な限り同じまたは類似部分は図面および説明で同じ参照番号を用いて言及される。
【００１６】
好ましい実施形態においてグラフィックス・コントローラは、ホストまたはカメラなど少なくとも１つの画像データ提供源、およびグラフィックス表示装置を含む画像表示システムにおいて用いられることが好ましい。グラフィックス・コントローラはシステムの他の要素とは別個のＩＣであることが好ましい。残りの要素は本明細書においてグラフィックス・コントローラと「離れている」と言われる。
【００１７】
好ましいグラフィックス表示コントローラは携帯電話、手持ち式デジタル音楽プレヤー、および携帯端末など携帯デジタル機器において有利に使用される。しかし発明の原理は、ＤＲＡＭ，ＳＤＲＡＭ，または他のメモリを用い、ＲＡＳおよびプリチャージサイクルの必要または他の考慮すべき事項のため１行内の複数の格納場所をアクセスする方が異なった行の同数の格納場所をアクセスするより効率的な任意のシステムにおいて使用することができる。さらに、本明細書において具体的な好ましい実施形態が詳細に説明されるが、別途明示的に述べられない限り、発明がこの状況に限定されなければならないことを示唆する意図はない。
【００１８】
図１は本発明の一実施形態による、グラフィックス・コントローラ10を含む画像表示システム8を示す。システム8は任意のデジタルシステムまたは機器で良い。システム8が携帯デジタル機器である場合、通常電池を電源とする（図示せず）。システム8は通常ホスト12およびグラフィックス表示装置14、ならびに１つ以上のカメラ・モジュール（「かめら」）15を含む。グラフィックス・コントローラ10はホストおよびカメラと表示装置とのインタフェースとなる。グラフィックス・コントローラはホスト、カメラ、および表示装置と離れていることが通常でかつ好ましい。
【００１９】
ホスト12は通常マイクロプロセッサであるが、デジタル信号プロセッサ、コンピュータ、または制御を行うデジタル回路用に適応する他の任意の制御装置で良い。ホスト12はグラフィクッス・コントローラ10のホスト・インタフェース12につながるバス16経由でグラフィックス・コントローラ10と通信する。
【００２０】
表示装置14は１つ以上の表示パネル14aおよび対応する表示領域18を有する。グラフィックス・コントローラは、表示装置バス22経由でグラフィックス・コントローラと表示装置とのインタフェースを行なうための表示装置インタフェース20を含む。携帯電話では通常表示装置としてLCDが使用されるが、ピクセル・データを視覚的に認識できる形で表現できる任意の装置を用いることができる。１つ以上の表示パネル14aは各々の表示領域にピクセル・データを表示するよう適応している。
【００２１】
ピクセル・データは画像「フレーム」に対応している。例えば１つの画像フレームはピクセルを６４行含み、各行に１２８ピクセルを含むことができる。フレームは一般的に表示装置14で閲覧する１つの画像に対応する。ピクセル・データは通常ラスタ順序でカメラ15からストリーミングされる。特定行に対応するすべてのピクセル・データが後続行に対応するピクセル・データの前にストリーミングされるように、特定行のピクセル・データは一緒にグループ化されている。同様に特定フレームのピクセル・データが後続フレームのピクセル・データの前にストリーミングされるように、特定フレームのピクセル・データはいっしょにグループ化されている。従って行およびフレームは順次グラフィックス・コントローラ10に受信される。
【００２２】
グラフィックス・コントローラはDATA線経由でカメラ15からのデータ出力とともに垂直および水平同期化信号（「ＶＳＹＮＣ」および「ＨＳＹＮＣ」）を受信するために並列「データ」インタフェース17を有する。カメラから出るピクセル・データの刻時をするためにカメラ刻時信号ＣＡＭＣＬＫがグラフィックス・コントローラによりカメラに提供される。ピクセル・データのフレームはＶＳＹＮＣ信号で分離される。
【００２３】
カメラ15により提供されるデータに対しいくつかの画像処理操作を行なうことができる。このような画像処理操作は図１において一般的に19として示される画像処理ユニットにより行なわれる。特定の例として、画像処理モジュール19は画像データの圧縮および解凍用のコーダ・デコーダ、ならびにデータの拡大縮小およびトリミング用のリサイザを含むことができる。
【００２４】
さらに、画像処理モジュール19はカラー・フォーマット・コンバータ（「ＣＦＣ」）27を含むことができる。好ましい実施形態でピクセル・データは３つの８ビット・カラー要素で構成される２４ビットをセットとするが、他の任意の範囲でも良く、１つ以上の要素に限定されても良い。他の好ましい実施形態でピクセル・データは１６ビットである。ピクセル・データはカラーまたはグレー・スケールでも良い。カラーのピクセル・データはＹＵＶカラー・フォーマットでカメラ15から出力されることができ、ここで「Ｙ」はデータの輝度値に関するパラメータで、「Ｕ」および「Ｖ」は  ピクセル・データのクロミナンス値に関するパラメータである。ＹＵＶデータはグラフィックス・コントローラにおいてカラー・フォーマット・コンバータにより赤・緑・青（「ＲＧＢ」）カラー・フォーマットに変換されることが好ましい。他の実施形態ではＣＦＣ27によりＲＧＢデータをＹＵＶに変換することができる。
【００２５】
トリミング、拡大縮小、圧縮コード化、およびカラー変換などの画像処理操作はカメラからのデータ受信が「進行中」に行なうことができ、またはメモリに格納されたデータに対し行なうことができる。
【００２６】
好ましい実施形態で、グラフィックス・コントローラは画像データのフレームを格納するための内部メモリ24を含む。しかし別の実施形態でメモリ24はグラフィックス・コントローラから離れていても良い。データはメモリ・コントローラ28の制御の下で内部メモリに格納され、そこから取り出される。メモリ24はＤＲＡＭ，ＳＤＲＡＭ，または１行内の複数の格納場所をアクセスする方が異なった行の同数の格納場所をアクセスするより効率的である操作特性を有する他のメモリであることが好ましい。しかし発明の原理は任意の種類のメモリと併せて用い得ることが理解されよう。
【００２７】
メモリ24に格納された画像データは通常複数の並列「表示パイプ」26経由で取り出され伝送され、これらは先入れ先出しバッファであることが好ましい。表示パイプ26の出力はパイプ26の１つからデータを選択するために選択ユニット25に通される。画像データは選択ユニット25から表示装置インタフェース20および出力バス22経由でグラフィックス表示装置14に伝送される。
【００２８】
図２は典型的なメモリ24の組織を示す。メモリ24は行「Ｒ」および列「Ｃ」の矩形配列からなり、図２においては典型的なフレームＦがメモリの一部分を占めている。具体的には、フレームＦはメモリ24において１１の行および９つの列からなるマトリクスをなしている。マトリクスにはピクセル・データPm, nが存在し、ここでｍおよびｎは 各々フレーム内のピクセルの行および列を特定する数字である。フレームＦはラスタ順序に配列していることが好ましい。メモリ24の行および列は表示装置の特定の行および列にマッピングすることが好ましく、その場合フレームＦがラスタ順序で取り出され表示に書き込まれるとフレームＦは表示装置上で画像として現れる。
【００２９】
ピクセル・データPm, nはラスタ順序でグラフィックス・コントローラに受信され、メモリ24に書き込まれることが好ましいが、必要ではない。しかし、行の変更はＲＡＳおよびプリチャージサイクルを必要とするので、一旦データがメモリの行と列に格納されると、別の行のデータを読み取る前に同じ行のデータをできるだけ読み取ることが好ましいことに留意することが重要である。
【００３０】
発明の好ましい一状況において、メモリ24に格納するためにグラフィックス・コントローラに提供されるピクセル・データPm, nはカメラ15で生成される。この状況および他の類似状況においてはカメラ15の解像度が表示装置14のそれより通常高いため、表示装置のパネル14aに表示しうるより多くのピクセルがメモリ24に格納される可能性がある。すなわち、特定のフレームＦは表示パネルより幅が広く、高く、または双方向に大きい可能性がある。一例として、表示パネルは640のピクセル列かける480のピクセル行、つまり307,000ピクセルの解像度であるのに対し、カメラは100万ピクセル以上のフレームを実現する可能性がある。第２の例として、フレームＦは図２に示すように9 x 11で、表示パネルは図３に示すように4 x 7である。
【００３１】
次に図３を見ると、フレームＦの一部を画像として表示している表示装置14が図示される。ピクセル・データはラスタ順序でメモリ24から取り出され、表示装置14に提供されることが好ましい。表示装置14はピクセル・データをこの順序で受信し、ピクセル・データをラスタ順序でパネル14aに表示するように適応されている。
【００３２】
図３はグラフィックス・コントローラがカメラ・フレームＦからピクセル・データを奪い、または拡大縮小によりフレームのサイズ変更を行なうように適応されていることが好ましいことを示している。サイズ変更操作はフレームＦがメモリに格納される前または後に行なうことができるが、サイズ変更はフレームを表示パネルに伝送する前に行なうべきである。フレームが格納された後にトリミングを行なった場合、ユーザは画像を表示パネル上で「スクロール」または「ぱん」できる可能性がある。フレームがパンされると、サイズ変更操作により以前に取り出されたピクセル・データのいくつかが取り出されず、以前に表示されていない他のピクセル・データが取り出される。
【００３３】
グラフィックス・コントローラ10はさらに画像の回転を提供することができる。図１においてフレーム回転を行なう好ましいユニットは画像回転モジュール29、29bとして示される。周知のユーザ・インタフェースを用いることができる。例えば、ユーザ・インタフェースはキーパッド、マウス、またはトラックボールを用いてメニューからフレーム回転を選択することができる。あるいは、ユーザ・インタフェースはタッチ・パネル上のスイッチ・アイコンを押すことによりフレーム回転を選ぶことができる。当業者には他種のユーザ・インタフェースが知られているであろう。図４に典型的なメニュー・タイプのユーザ・インタフェースを示す。いずれにせよ、一旦ユーザが画像回転をもたらす命令を選ぶと、命令は好ましくはホスト12により検出され、それが適当な命令をホスト・インタフェース12a経由でグラフィックス・コントローラにおける画像回転ユニット29、29bに送信する。
【００３４】
携帯デジタル機器において、ユーザは通常具体的な回転角度または望む回転の中心を入力できないかもしれない。その代わりに、ユーザは画像を表示中心（または他の所定の回転の中心）の周囲に所定の角度で回転させるか否かの選択を提供されるかもしれない。しかし通常の技能を有する者は、ユーザが回転角度および望ましい場合望ましい回転の中心を指定することができる、より高度なユーザ・インタフェースが提供され得ることが容易に理解するであろう。
【００３５】
本発明によりメモリ格納方式を実施するために、グラフィックス・コントローラ10はメモリ格納方式コントローラ29aを含むことが好ましい。メモリ格納方式コントローラ29aは画像回転モジュール29、29bの片方または双方の一部であっても良く、一部でなくても良い。好ましい一実施形態で、コントローラ29aは１つのみのメモリ格納方式を提供するように適応されている。他の実施形態でコントローラ29a は一つ以上のメモリ格納方式を提供するように適応されている。これらの実施形態においてはメモリ格納方式を選択できることが好ましい。例えば、メモリ格納方式コントローラ29aはホスト12によりプログラムすることができる。ホストは例えばコントローラ29aにパラメータを書き込むことにより特定の格納方式を指定することができる。また、ホストはコントローラ29aがいつ用いられるかを指定できることが好ましい。さらに、コントローラ29aが用いられるか、用いられる場合どの格納方式を用いるかはユーザ・インタフェース32経由でのユーザ入力または入力なしで指定することができる。一つの目的は通常回転画像のパーセンテージを推測することに基づく平均効率を増加させることであるので、好ましくは格納される画像が実際に回転されるか否かを知る前に特定のメモリ格納方式が 選ばれる。
【００３６】
メモリ格納方式コントローラ29aは画像回転モジュール29、29bに対しメモリ・アドレスを提供する。好ましい実施形態で、格納方式コントローラ29aは画像回転モジュール29、29ｂに対しピクセル毎にメモリ・アドレスを提供する。メモリ24へ格納用に提供される画像データに関し、画像データはホスト12、カメラ15、または他の画像データ提供源から提出されて良く、ラスタ順序で提出されることが好ましい。格納方式コントローラ29aは提出順序、例えばラスタ順序、におけるデータの位置に基づいて特定のピクセル・データのメモリ・アドレスを指定する。このように、提供源の画像マトリクスの高さ、幅、および整列方式がアドレスの計算のために格納方式コントローラ29aに提供されることが好ましい。さらに、コントローラ29aはピクセル・データがメモリへ提出されるのと同期化してメモリ・アドレスを画像回転モジュールに指定することが好ましい。加えて、コントローラ29aは他の実施形態においてコントローラ29aはピクセル毎でない形でメモリ・アドレスを指定することができる。例えば、カラー・ピクセルは要素データからなるため、コントローラ29aは要素の各々に対し別個のアドレスを指定することができる。通常の技能を有する者は格納方式コントローラ29aの機能がいくつかの異なった方法で実施できることを理解するであろう。例えば、コントローラ29aはハードウェア、ソフトウェア、またはファームウェア、またはこれらの１つ以上の組み合わせからなることができる。
【００３７】
別の好ましい実施形態で、メモリ格納方式コントローラ29aおよび画像回転モジュール29bはメモリに格納された画像データに対し用いられる。画像データはメモリにラスタ順序で格納されていることが好ましい。メモリ格納方式コントローラ29aは、表示装置14、コーデック、または他の画像データ送り先への提出用にメモリから取り出す順序を定義する目的で画像回転モジュール29bに対しメモリ・アドレスを指定することに用いられる。
【００３８】
図１に示される実施形態は画像回転モジュール29および29b双方を含むが、他の実施形態は画像回転モジュール29および29bの１つのみを含む。
【００３９】
図５は図２に示す典型的なメモリ24の別の図を示す。図５において、典型的なフレームがFRメモリの一部分を占める。具体的に、フレームFRはメモリ24内で11列および9行のマトリクスを占める。フレームFRは図２に示すフレームFの回転されたバージョンである。回転角は-90度で、左回り90 度の回転を定義している。図２と５を比較すると、フレームFRはフレームFより幅が広いが高さは低い。
【００４０】
次に図６を見ると、表示装置14が図５におけるフレームFRの一部を表示している。図６に表示される画像は図３に示すF'を回転中心（「CEN. ROT.」）の周りに回転する命令の結果であ、この場合はピクセル・データP6, 6である。
【００４１】
画像を回転する際問題が生じる可能性があり、これは２つの例を考察することにより理解される。第一に、図３を再度参照し、最上の行（P3, 4, P3, 5, P3, 6, P3, 7）を考察する。これらのピクセルはすべて画像の１行に表示される。図２を見ると、画像マトリクスにおけるこれらのピクセルの行インデックスmは３である、すなわちこれらのピクセルはすべてメモリ内の１つの行に格納される。従って図３におけるピクセルはメモリ24から行毎に取り出すことができ、メモリ24に要求されるＲＡＳおよびプリチャージサイクルの数を最小化される。このように、画像が表示用に取り出されるのと同じ順序で格納される場合、メモリ・アクセスが最も効率的になる。
【００４２】
対照的な例として図６を参照し、最上の行のピクセル（P4, 9, P5, 9, P6, 9, P7, 9）を考察する。これらのピクセルはすべて画像の１行に表示されるが、図２においてこれらのピクセル各々の行インデックスmは異なっている、すなわち各ピクセルはメモリ内の異なった行に格納されている。図２に示されるメモリ24からピクセルを取り出すためには、各ピクセルをメモリの異なった行から取り出す必要がある。例えば図２および図６において、P4, 9はメモリの行４から取り出す必要があり、P5, 9は行５から、P6, 9は行６から、およびP7, 9は行７から取り出される必要があり、以下同様である。従って、図６に具現化される画像を図２に示すメモリ24からラスタ順序で取り出すには、ＲＡＳおよびプリチャージサイクルがピクセルの取り出し毎に対し必要となる。言い換えれば、最大数のＲＡＳおよびプリチャージが必要となる。このように、図６に具現化された画像をメモリ24から90度回転して取り出すことは最大の効率の悪さもたらす。
【００４３】
フレームをメモリに格納する前にそのフレームが表示用に回転されることが分かっていれば、図５に示すようにピクセル・データを回転した順序で格納し、データを表示される画像に合わせることができる。しかし、回転があるか否かはしばしば前もって分からない。さらに、同じ画像を１度は回転画像として、また１度は回転されない画像として、２度見る可能性がある。
【００４４】
発明の好ましい実施形態はフレームが表示用に回転されるか否かが格納以前に分からない状況を対象とする。さらに、好ましい実施形態は表示用に同じフレームをメモリから２回以上取り出すことが望ましく、少なくとも１回のフレーム取り出しは回転されない表示向けで、少なくとも１回のフレーム取り出しは回転表示向けであるような状況を対象としている。
【００４５】
好ましい実施形態によれば、図１におけるインタフェース12aまたはインタフェース17経由でグラフィックス・コントローラ10が受信するピクセル・データは特定の配列でメモリ24に格納される。新規の配列は、データが非回転または回転画像のどちらのためにデータが取り出されるかに拘わらず、メモリの各行から少なくとも２つのピクセル・データを取り出せることを保証する。この方法により、各ＲＡＳおよびプリチャージサイクルに対し、少なくとも２つのピクセルが常に取り出されることになる。
【００４６】
発明によるメモリ内のピクセルの好ましい配列を説明する前に、まず図７、８、および９において、典型的な非回転および回転画像マトリクスに加え好ましい配列の説明で参照される別の典型的メモリ24を提示する。
【００４７】
図７はカメラ15から受信したようなラスタ順序で配列され、従って回転されていない画像を定義する、ピクセルPm, n に対応する典型的な「画像マトリクス」IMAGENON-ROT を示す。マトリクスIMAGENON-ROT は幅640ピクセル x 480ピクセルで、従ってROWNON-ROTを480行、およびCOLNON-ROTを640列有する。
【００４８】
図７に対し、図８は図７に示すのと同じピクセルを有するが、画像が+90 度（右回りに90 度）に回転して現れるように配列された画像マトリクスIMAGEROT を示す。マトリクスIMAGEROT は幅480ピクセルかける640ピクセルで、従ってROWROT を640行、およびCOLROTを480列有する。90度右回りの回転の場合、ピクセルPM, Nが逆の配列であることを除き、図８の640行（ROWROT）は図７の640列（COLNON-ROT）に対応する。さらに、図８の480列（COLROT）は図７の480行（ROWNON-ROT）に完全に匹敵する。
【００４９】
図９は、メモリ24が16ビットのピクセルを16個格納するために256ビットの幅である、好ましい実施形態によるメモリ24の一部24aを示す。図示される実施形態で、メモリ24の一部24aは[480 ・ 640]/16 = 19,200ピクセルの16列を格納するために用いられ、16列のCOLMEMおよび19,200行のROWMEMからなる。メモリの一部分24aの幅はメモリ24の図示される実施形態の１「ページ」に対応する。１ページ内のピクセルは、好ましくはバースト・モードの１対のＲＡＳおよびプリチャージサイクルで読み取ることができる。図９に示すメモリ24は例示の目的で下記に引用されるが、発明はこの典型的メモリに限定されるものではないことが理解されよう。例えば、好ましい実施形態では、メモリ24の幅が128ビットである。さらに幅128ビットのメモリは各行が5.33ピクセルを含むような24 bpp の画像データを格納するために用いられることが好ましい。
【００５０】
図１０は発明の好ましい一実施形態による典型的なメモリ格納方式40を示す。メモリの一部分24aは方式40に従って格納されたピクセルPm, nとともに図示される。  図１１は方式40に従い非回転画像マトリクスからピクセルがどのようにメモリ24にマッピングされるかを示す。図１０においてピクセルPm, n は60のブロックBK からなる。ブロックB1 - B60はピクセルPm, n のブロックを表し、行インデックスmは各々1 - 8、9 - 16、 . . . 、 473 - 480に及び、列インデックスnは各ブロックにおいて1 - 640に及ぶ。各ブロックはメモリの一部分24aの320行からなる。グループG1はG1 はピクセルP1, 1、P2, 1、P3, 1、P4, 1、P5, 1、P6, 1、P7, 1、およびP8, 1からなる8ピクセルを指定する。G2はピクセルP1, 2、P2, 2、P3, 2、P4, 2、P5, 2、P6, 2、P7, 2、およびP8, 2からなる別の8ピクセル部分を指定する。
【００５１】
図１１は図７の非回転画像マトリクスで方式40によるグループG1およびG2をハイライトしたものを示す。図１０および１１の比較により、典型的な方式40に従うと、  画像マトリクスIMAGENON-ROTにおける画像列CNON-ROT（「画像列」）の8ピクセル部分（Ｂ＝８）からなる２グループ（Ａ＝２）がメモリの一部分24aの同じメモリ行RM（「メモリ行」）に格納されていることが分かる。例えば、グループG1およびG2は画像マトリクスIMAGENON-ROT の８行（「画像行」）RNR1 - RNR8に定義される画像列CNR1およびCNR2において対応する8-ピクセル部分を表している。グループG1およびG2は双方とも最初のメモリ行RM1に格納され、その行を占め、例えばグループG1がメモリの一部分24aの最初の８列CM1 - CM8（「メモリ列」）を占める。残りの画像列および画像行は同様に扱われる。
【００５２】
画像が回転なしに表示される場合、メモリ格納方式40を用いる結果、非回転画像マトリクスIMAGENON-ROTにおいて同じ画像行ROWNON-ROT（図１１）にある２つのピクセル（Ａ＝２）は同じメモリ行RMにも存在する。従ってこれらの２つのピクセルはメモリの一部分24aにおいてページ変更を必要とせずに読み取ることができる。例えば、最初の画像行RNR1において２つのピクセル P1, 1およびP1, 2は同じメモリ行RM1に位置し、ページ変更なしにいっしょに読み取ることができる。
【００５３】
これに対して画像が表示用に回転される場合、回転画像マトリクスIMAGEROT（図８）において同じ行RRにある８ピクセル（Ｂ＝８）は同じメモリ行RMにもあり、ページ変更を必要とせずに読み取ることができる。例えば、最初のメモリ行RM1はピクセルP1, 1; P2, 1; P3, 1;  . . . ; P8,1を含み、これらすべては回転画像マトリクスIMAGEROTの最初の画像行RR1に位置している。
【００５４】
メモリ構成方式40とラスタ順序のメモリ構成、すなわち図７の非回転画像マトリクスIMAGENON-ROTに示される順序、とを比較してみる。画像を回転せずに表示する場合、ラスタ・メモリ格納方式を用いる結果、ページをまたがることがなく、従ってメモリの一部分24aの特定行におけるすべてのCM = 16ピクセルは１組のＲＡＳおよびプリチャージサイクルまたはページ変更でいっしょに読み取ることができる。しかし、画像が表示用に回転される場合、画像の１行における一つ一つのピクセルは各々メモリの一部分24aの異なった行から取得する必要があり、さらに１５回のページ変更を必要とする。
【００５５】
図１２は発明の別の好ましい実施形態による典型的なメモリ格納方式50を示す。メモリの一部分24aは方式50に従ってピクセルPm, nを格納した形で示される。図１３は方式50に従い非回転画像マトリクスからピクセルがどのようにメモリ24aにマッピングされるかを示す。図１２において、ピクセルPm, nは２４０のブロックBKからなる。ブロックB1 - B240はピクセル Pm, nのブロックを表し、ここで行インデックスmは各々1 - 2, 3 - 4, . . . 479 - 480に及び列インデックスnは各ブロックにおいて1 - 640 に及ぶ。各ブロックはメモリの一部分24aの80の行からなる。グループG1はピクセルP1, 1、P2, 1からなる2-ピクセル部分を指定する。 グループ G2 はピクセルP1, 2、P2, 2からなる2-ピクセル部分を指定する。グループG3 はピクセルP1, 3、P2,3からなる2-ピクセル部分を指定する。グループG4 はピクセルP1, 4、P2, 4からなる2-ピクセル部分を指定する。グループ G5 はピクセルP1, 5、P2, 5からなる2-ピクセル部分を指定する。グループ G8 はピクセルP1, 8、P2, 8からなる2-ピクセル部分を指定する。
【００５６】
図１３は図７の非回転画像マトリクスで方式50に従いピクセルがグループ化されたものを示す。図１２および１３を比較すると、典型的な方式50により画像列CNRの2ピクセル部分（Ｂ＝２）からなる8グループ（Ａ＝８）が同じメモリ行RMに格納されることが分かる。例えば、グループG1 - G8は２つの画像行RNR1およびRNR2に定義される画像列CNR1 - CNR8において対応する2-ピクセル部分を表す。８つのグループG1 - G8 は最初のメモリ行RM1に格納され、その行を占め、例えばグループG1は最初の２つのメモリ列CM1およびCM2を占める。残りの画像列および画像行も同様に扱われる。
【００５７】
画像を回転なしに表示する場合、メモリ格納方式50を用いる結果、非回転画像マトリクスIMAGENON-ROT（図１３）において同じ行ROWNON-ROTにある8ピクセル（Ａ＝８）は同じメモリ行RMにも存在する。従ってこれらの8ピクセルはメモリの一部分24aにおいてページ変更を必要とせずに読み取ることができる。例えば、最初の画像行RNR1において、８つのピクセルP1, 1; P1, 2; P1, 3;  P1, 4; P1, 5; P1, 6; P1, 7;およびP1, 8はすべて同じメモリ行に位置し、ページ変更なしにいっしょに読み取ることができる。
【００５８】
これに対し、画像が表示用に回転される場合、回転画像マトリクスIMAGEROT（図８）において同じ行RRにある２つのピクセル（Ｂ＝２）は同じメモリ行RMにもあり、ページ変更を必要とせずに読み取ることができる。例えば、最初のメモリ行RM1はピクセルP1, 1およびP2, 1を含み、双方とも回転画像マトリクスIMAGEROTの最初の画像行RR1に位置している。従ってメモリ構成方式50を用いて表示用にピクセルを１行得るために、 回転画像はページ変更を７回しか必要とせず、非回転画像は１回のページ変更のみを必要とする。
【００５９】
図１４はさらに別の好ましい実施形態による典型的なメモリ格納方式60を示す。メモリの一部分24aは方式60に従ってピクセルPm, nを格納した形で示される。図１５は方式60に従い非回転画像マトリクスからピクセルがどのようにマッピングされるかを示す。図１４において、ピクセルPm, nは１２０のブロックBKからなる。ブロックB1 - B120 はピクセルPm, nのブロックを表し、ここで行インデックスmは各々1 - 4, 5 - 8, . . . 477 - 480に及び、列インデックスnは各ブロックにおいて1 - 640 に及ぶ。各ブロックはメモリの一部分24aの160の行からなる。グループG1はピクセルP1, 1, P2,1, P3, 1, P4, 1からなる4-ピクセル部分を指定する。  G2 はピクセルP1, 2, P2, 2, P3, 2, P4, 2からなる4-ピクセル部分を指定する。グループG3 はピクセルP1, 3, P2, 3, P3, 3, P4, 3からなる4-ピクセル部分を指定する。G4 はピクセルP1, 4, P2, 4, P3, 4, P4, 4からなる4-ピクセル部分を指定する。
【００６０】
図１５は図７の非回転画像マトリクスで方式60に従いピクセルがグループ化されたものを示す。図１４および１５を比較すると、典型的な方式60により画像列CNRの4ピクセル部分（Ｂ＝４）からなる4グループ（Ａ＝４）が同じメモリ行RM に格納されることが分かる。例えば、グループG1 - G4 は４つの画像行RNR1 - RNR4に定義される画像列CNR1 - CNR4において対応する4-ピクセル部分を表す。４つのグループG1 - G4 は最初のメモリ行RM1に格納され、その行を占め、例えばグループG1は最初の４つのメモリ列CM1 - CM4を占める。残りの画像列および画像行も同様に扱われる。
【００６１】
画像を回転なしに表示する場合、メモリ格納方式60を用いる結果、非回転画像マトリクスIMAGENON-ROT（図１５）において同じ行ROWNON-ROTにある4ピクセル（Ａ＝４）は同じメモリ行RMにも存在する。従ってこれらの4ピクセルはメモリの一部分24aにおいてページ変更を必要とせずに読み取ることができる。例えば、最初の画像行RNR1において、４つのピクセルP1, 1; P1, 2; P1, 3;およびP1, 4はすべて同じメモリ行に位置し、ページ変更なしにいっしょに読み取ることができる。
【００６２】
これに対し、画像が表示用に回転される場合、回転画像マトリクスIMAGEROT（図８）において同じ行RRにある４つのピクセル（Ｂ＝４）は同じメモリ行RMにも存在し、ページ変更を必要とせず読み取ることができる。例えば、最初のメモリ行RM1はピクセルP1, 1; P2, 1; P3, 1;およびP4, 1を含み、これらすべては回転画像マトリクスIMAGEROTの最初の画像行RR1に位置している。従ってメモリ構成方式60を用いると、表示用にピクセルを１行得るために回転および非回転画像の双方ともページ変更を３回のみ必要とする。
【００６３】
画像が少なくとも回転されることもある場合の効率を高める中で、方式40は回転に対し高い効率を提供し、方式50は非回転に対し高い効率を提供し、方式60はその中間である。これらの例において、ＡおよびＢはメモリの一部分24aを均等に分割する画像列の部分CNRのグループを提供するA ・ B = CMを満足する整数値でである。すなわち、方式40においては、画像列CNRのＢ＝８ピクセル部分からなるＡ＝２グループがメモリの一部分24aの１行またはページに均等にはまる。方式50においては、画像列のＢ＝２-ピクセル部分からなるＡ＝８グループが１つのメモリ行にはまり、方式60においては、画像列のＢ＝４-ピクセル部分からなるＡ＝４グループが１つのメモリ行にはまる。但し、これは不可欠ではない。
【００６４】
垂直および水平グループに含まれるピクセルの数は２の累乗であることが好ましい。数を２の累乗にしておくことによりピクセル・アドレスの計算論理を簡素化する。但し、数を２の累乗にすることは好ましいが、不可欠ではない。
【００６５】
図１６は発明の別の好ましい実施形態による典型的なメモリ格納方式70を示す。メモリの一部分24aは方式70に従ってピクセルPm, nを格納した形で示される。図１７は方式70に従い非回転画像マトリクスからピクセルがどのようにマッピングされるかを示す。図１６においては画像列CNRの3-ピクセル部分（Ｂ＝３）が5 1/3グループ（Ａ＝5 1/3）ある。例えばグループG1は画像列CNR1の3-ピクセル部分P1, 2、P2, 2、P3, 2を指定する。グループG2は画像列CNR2の3-ピクセル部分P1, 2、P2, 2、P3, 2を指定する。グループG3は画像列CNR3の3-ピクセル部分P1, 3、P2, 3、P3, 3を指定する。さらにグループG6+は画像列CNR6の1-ピクセル部分P1, 6を指定する。
【００６６】
5 1/3 のグループでは１６-ピクセルのメモリ行RMの内３行、例えばRM1、RM2、およびRM3がグループの非整数（3 ・ 5 1/3 = 16）を受け入れることを要する。しかし、最初のメモリ行（図１６）におけるピクセルP1, 1; P1, 2; P1, 3; P1, 5;およびP1, 6 は非回転画像（図１７）の１つの画像行RNR1に存在する一方、３つのピクセルP1, 1、P2, 1、およびP3, 1が回転画像IMAGEROT（図８）の１つの画像行RR1に存在する。従ってグループが１つの行と完全な関係にあることは不可欠ではなく、ここまでで明らかであろうように、グループが任意の数の行と完全な関係にあることは不可欠ではなく、ブロックBKが典型的なメモリ格納方式40、50、および60のように規則正しく、または矩形であることは不可欠ではない。
【００６７】
１つのメモリ行にマッピングされる画像列CNRの部分が上記の例に示されるように同じB画像行RNRに厳密に対応することも不可欠ではないが、ある程度の重複がなければならない。これは図１８および１９を比較することによって理解できる。
【００６８】
図１８は好ましい実施形態によるさらに別の典型的なメモリ格納方式80を示す。メモリの一部分24aは方式80に従ってピクセルPm, nを格納した形で示される。図１９は方式80に従い非回転画像マトリクスからピクセルがどのようにメモリ24aにマッピングされるかを示す。図１９では図７における非回転画像マトリクスのピクセルが図１８のメモリ格納方式に対応した異なったグループ化配列をしているのを示す。例は画像列CNRの4-ピクセル部分（Ｂ＝４）からなる4つのグループ（Ａ＝４）があるという点で方式60に類似している。図１９はメモリの一部分24aでグループの４つ、すなわちG1 - G4、が最初のメモリ行RM1に格納されているところを示す。例えば、グループG1は画像列CNR1の4-ピクセル部分P1, 1、P2, 1、P3, 1、P4, 1を指定する。グループG2 は画像列の4-ピクセル部分P2, 2、P3, 2、P4, 2、P5, 2を指定する。
【００６９】
画像を回転なしに表示する場合、メモリ格納方式80を用いる結果、最初の画像行RNR1に必要な２つのピクセルP1, 1およびP1, 3はメモリ行RM1に格納される。
【００７０】
これに対し、画像が表示用に回転される場合（図８）、メモリ行RM1は最初の画像行RR1に必要な４つのピクセル、すなわちP1,1 ; P2,1 ; P3,1 ;およびP4,1を提供する。言い換えれば、グループG1 は回転画像マトリクスIMAGEROTの最初の画像行RR1に必要なピクセルの内４つを提供する。
【００７１】
典型的なメモリ格納方式80に関して、画像マトリクスの最上端および最下端にある特定のピクセルを、ラッピング・タイルを用いたタイル・パターンに従い反対端の他のピクセルとグループ化することができる。例えば、画像19におけるピクセルP1, 2はピクセルP479, 2およびP480, 2とグループ化することができる。
【００７２】
画像マトリクスの行−列の対象のため、上述の説明で述べられたことはすべて「画像行」を「画像列」に置き換えても同等に当てはまることが理解されよう。従って、グループGは画像列の部分として示されるが、これらは画像行の部分にも同等になり得る。これは図２０および２１の比較により理解される。
【００７３】
図２０は好ましい実施形態による別の典型的なメモリ格納方式38を示す。メモリの一部分24aは方式38に従ってピクセルPm, nを格納した形で示される。図２１は方式38に従い非回転画像マトリクスからピクセルがどのようにマッピングされるかを示す。図２１では図７における非回転画像マトリクスのピクセルが画像行ROWNON-ROTに従ってグループ化されているのを示す。 8-ピクセル部分（Ｂ＝８）からなる２つのグループ（Ａ＝２）が存在する。ピクセルの部分は画像行ROWNON-ROTの部分である。図２１に示される非回転画像において画像行RNR1のグループG1 = P1, 1, - P1, 8および画像行RNR5のグループG2 = P5, 1 - P5, 8が特に指摘される。
【００７４】
画像を回転なしに表示する場合、最初の画像行RNR1の８つのピクセルP1, 1 - P1, 8（すなわちグループG1）がメモリ行RM1に格納される。
【００７５】
これに対し画像が表示用に回転される場合、回転画像マトリクスIMAGEROT（図８）の画像行RR1に必要な２つのピクセルP1, 1およびP5, 1 がメモリ行RM1に格納される。
【００７６】
図２０および２１の例はさらに１つのメモリ行におけるグループGが画像マトリクスにおいて互いに隣接している必要はないことを図示しており、ここではグループG1およびG2が３つの画像行ROWNON-ROTの間隔で分けられている。
【００７７】
本明細書に記述される方法はピクセルのグループ化が画像行で指定されるか画像列で指定されるか無関係であるため、本明細書で用いられる「ベクトル」の用語は90度の画像回転において一般的に画像行または画像列のいずれかを指すものとする。
【００７８】
本明細書では画像回転が90度の増分であると仮定しているが、好ましい実施形態の原理は他の角度の増分による回転に適用することができる。例えば、画像格納配列の好ましい実施形態は180度および270度の画像回転に向けられる。
【００７９】
モジュール29aはグラフィックス・コントローラ10内のハードウェアとして実施されることが好ましい。しかし、本明細書で説明される特徴および機能のいずれもグラフィックス・コントローラが適当に適応できる限り、グラフィックス・コントローラ内でハードウェアおよびソフトウェアの組み合わせとして、またはソフトウェアとして実施することができることが理解されよう。例えば、機械読み取り可能な媒体に格納される命令のプログラムをグラフィックス・コントローラに含まれる処理装置が実行するために提供することも可能である。さらに、本明細書の説明でグラフィックス・コントローラ10が提供するとされる特徴および機能は発明の原理を逸脱することなくグラフィックス・コントローラ10 の外から提供することもできる。
【００８０】
さらに、効率的な画像回転を提供する具体的なグラフィックス・コントローラおよび方法が好ましいものとして示され説明されているが、既に記載されたものに加え他の構成および方法も発明の原理を逸脱することなく利用できることが理解されよう。
【００８１】
上述の明細書で用いられる用語および表現は限定的ではなく、本明細書内の説明用語として用いられ、このような用語および表現を試用することにより示される特徴と同等のものまたはその一部を除外する意図はなく、発明の範囲は以下の請求項によってのみ定義され限定されるとみなされる。
【図面の簡単な説明】
【００８２】
【図１】本発明の好ましい実施形態による、効率的な画面操作を提供する、ＤＲＡＭに基づいたグラフィックス・コントローラを有する画像表示システムのブロック図。
【図２】画像データを格納したメモリの概要図。
【図３】図１のシステムにおける、画像を表示している表示装置の概要図。
【図４】代表的なユーザ・インタフェースの図。
【図５】図２の画像データを９０度左回りに回転したメモリの概要図。
【図６】図３の画像を９０度左回りに回転した図３の表示装置の概要図。
【図７】普通のラスタ順序で表示されたピクセルに対応する画像マトリクスの概念図。
【図８】９０度右回りに回転された以外は図７のそれに対応する画像マトリクスの概念図。
【図９】好ましい一実施形態による、図１におけるグラフィックス・コントローラのメモリの一部分の概要図。
【図１０】本発明の好ましい実施形態による、第１の代表的メモリ格納方式に従い組織された図９のメモリの概要図。
【図１１】図１０のメモリ格納方式に従いピクセルをグループ化した図５の画像マトリクスを示す概要図。
【図１２】本発明の好ましい一実施形態による、第２の代表的メモリ格納方式に従い組織された図９のメモリの概要図。
【図１３】図１２のメモリ格納方式に従いピクセルをグループ化した図５の画像マトリクスを示す概要図。
【図１４】本発明の好ましい一実施形態による、第３の代表的メモリ格納方式に従い組織された図９のメモリの概要図。
【図１５】図１４のメモリ格納方式に従いピクセルをグループ化した図５の画像マトリクスを示す概要図。
【図１６】本発明の好ましい一実施形態による、第４の代表的メモリ格納方式に従い組織された図９のメモリの概要図。
【図１７】図１６のメモリ格納方式に従いピクセルをグループ化した図５の画像マトリクスを示す概要図。
【図１８】本発明の好ましい一実施形態による、第５の代表的メモリ格納方式に従い組織された図９のメモリの概要図。
【図１９】図１８のメモリ格納方式に従いピクセルをグループ化した図５の画像マトリクスを示す概要図。
【図２０】本発明の好ましい一実施形態による、第６の代表的メモリ格納方式に従い組織された図９のメモリの概要図。
【図２１】図２０のメモリ格納方式に従いピクセルをグループ化した図５の画像マトリクスを示す概要図。
【符号の説明】
【００８３】
10  グラフィックス・コントローラ
12  ホスト
12a  ホストＩ／Ｆ
14  グラフィックス表示装置
15  カメラ
17  データＩ／Ｆ
19  画像処理
20  表示Ｉ／Ｆ
24  内部メモリ
24a  メモリ
24a  メモリ
24a  メモリ
24a  メモリ
28  メモリ制御
29  画像回転
29a  メモリ格納方式コントローラ
29b  画像回転
【図１】
2007034304.tif 000003
【図２】
2007034304.tif 000004
【図３】
2007034304.tif 000005
【図４】
2007034304.tif 000006
【図５】
2007034304.tif 000007
【図６】
2007034304.tif 000008
【図７】
2007034304.tif 000009
【図８】
2007034304.tif 000010
【図９】
2007034304.tif 000011
【図１０】
2007034304.tif 000012
【図１１】
2007034304.tif 000013
【図１２】
2007034304.tif 000014
【図１３】
2007034304.tif 000015
【図１４】
2007034304.tif 000016
【図１５】
2007034304.tif 000017
【図１６】
2007034304.tif 000018
【図１７】
2007034304.tif 000019
【図１８】
2007034304.tif 000020
【図１９】
2007034304.tif 000021
【図２０】
2007034304.tif 000022
【図２１】
2007034304.tif 000023