JPH10501901A - 画像の回転のための方法および装置 - Google Patents

画像の回転のための方法および装置

Info

Publication number
JPH10501901A
JPH10501901A JP8530489A JP53048996A JPH10501901A JP H10501901 A JPH10501901 A JP H10501901A JP 8530489 A JP8530489 A JP 8530489A JP 53048996 A JP53048996 A JP 53048996A JP H10501901 A JPH10501901 A JP H10501901A
Authority
JP
Japan
Prior art keywords
signal
value
data
image
addr
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
JP8530489A
Other languages
English (en)
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH10501901A publication Critical patent/JPH10501901A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 ラスタ走査表示装置上にランドスケープ画像を生じさせるためにラスタ走査ポートレート画像を90度時計回りまたは反時計回り方向に回転させることができるハードウェア回転ユニットを利用するコンピュータシステムが提供される。ポートレート画像の回転は、ポートレート画像をランドスケープ画像として適当に表示するのに必要な対応するフレームバッファ場所に、ポートレート画像に関連付けられる画素情報をマッピングすることによって達成される。ハードウェア回転ユニットを組込む映像コントローラは、フレームバッファにおいてランドスケープ画像に関連付けられる画素情報のみを記憶する。ハードウェア回転ユニット内の専用回路は、フレームバッファに記憶されるランドスケープ画像画素情報を関与させるポートレート画像データ読出および書込動作のフルサポートを可能にする。

Description

【発明の詳細な説明】 画像の回転のための方法および装置 発明の背景 1.発明の分野 この発明はコンピュータグラフィックスシステムに関し、かつより詳細にはラ スタ走査表示技術を採用する映像表示システムにおける映像表示画像の回転に関 する。 2.関連技術の説明 多くのコンピュータシステムではテレビ受像機に使用されるものと同じラスタ 走査表示技術を採用する映像表示システムを使用する。メモリシステムに記憶さ れるデジタル映像情報が映像表示システムによって使用され、陰極線管、フラッ トパネル表示装置または液晶表示装置等の表示装置のスクリーン上に画像が作り 出される。 ラスタ走査表示技術を採用する映像表示システムは典型的には画像を構成する 点すなわち画素の水平列として画像を記憶する。画像は表示装置のスクリーン上 に点ごとに線ごとにスクリーンの上から下へ「描かれる」。毎秒ごとに表示装置 のスクリーン上に何度も画像を再生する必要がある点は、ラスタ走査技術を採用 する多くの映像表示システムに共通する特徴である。陰極線管の光学出力は素早 く弱まるので、陰極線管の表示装置を有する映像表示システムではフリッカを避 けるために毎秒ごとに画像を何度もリフレッシュすることが必要になる。フラッ トパネル表示装置上に作り出される画像はさまざまなグレーの階調を作り出 すため、またはこの表示装置がカラー情報を表示できる場合にはカラースケール を作り出すために、毎秒ごと何度もリフレッシュする必要がある。 表示装置のスクリーン上の各点に対応する画素情報は典型的にはフレームバッ ファと呼ばれるメモリ素子内に記憶される。この画素情報には表示する点の強度 (すなわち明るさ)が含まれ、またその表示装置が色を表示する能力を有する場 合には色の情報も含み得る。多くのフレームバッファは半導体メモリシステムに おける多数の記憶場所から構成される。実際のところ、ラスタ走査表示システム が費用効率的になったのは比較的安価な半導体メモリシステムが入手可能になっ たためである。画素情報は、典型的には表示装置のスクリーン上に表示される各 画素の順にフレームバッファ内に記憶される。水平走査線あたりの画素の数およ び表示スクリーンあたりの水平走査線の数によってラスタ走査表示システムの解 像度が決まる。 図1は、典型的なラスタ走査映像表示システムを示すブロック図である。CP Uはシステムバスに結合され、映像コントローラもこのシステムバスに結合され ている。表示装置は映像コントローラに結合される。CPUはシステムバスを介 し、デジタル形式で映像情報を映像コントローラへ送る。映像コントローラは、 このデジタル情報を表示装置がラスタ走査画像を表示するために使用する信号に 変換する。 図1に示す従来技術の映像コントローラのブロック図である図2を参照すると 、この映像コントローラは、バスインタフェースユニット、フレームバッファ、 および画像表示システムを含む。バスインタフェースユニットはシステムバスと フレームバッファとに結合されている。フレームバッファは画像表示システムに 結合される。画像表示システムは表示装置に結合される。バスインタフェースユ ニットはシステムバスと映像コントローラとの間のインタフェースとして働く。 映像情報はデジタル形式でフレームバッファ内に記憶される。フレームバッファ の各メモリ場所は表示される1以上の画素に関連する情報を含む。画素表示シス テムはフレームバッファからデジタル画素情報を取込み、このデジタル情報を表 示装置が使用することができる信号に変換し、かつこれらの信号を表示装置に与 える。画像表示システムはフレームバッファ内に記憶されるデジタル画素情報を 毎秒ごとに何度も巡回して表示装置のスクリーン上に画像を再生してもよい。フ レームバッファメモリのアドレスは表示装置のラスタ走査と同期して発生させて もよく、かつフレームバッファ内の各メモリ場所の内容を使用して画像表示処理 を制御してもよい。発明の要約 ラスタ走査表示画像の回転のための方法および論理システムは本発明を構成す る。記載の方法および論理システムはラスタ走査ポートレート画像を時計回りま たは反時計回 りに90°回転させてラスタ走査表示装置上にランドスケープ画像を作り出すた めに必要なすべての機能を実現する。ここで定義するとおり、「ランドスケープ 画像」は表示装置上に表示可能でかつこのランドスケープ画像を作り出す元とな るポートレート画像に対しプラスまたはマイナス90°で配向されている画像を いう。ポートレート画像の回転はこのポートレート画像に関連する画素情報を、 このポートレート画像をランドスケープ画像に適切に表示するために必要な対応 するフレームバッファ場所へマッピングすることによって行なわれる。ここでい う画像の回転は完全にハードウェア内で行なわれる。ハードウェア回転ユニット は専用の回路を備え、この回路は、前記ハードウェア回転ユニットを組込む映像 コントローラが、フレームバッファ内に記憶される画素情報を含むポートレート 画像データの読出および書込動作を十分に支持することができるようにする。ハ ードウェア回転ユニットを組込む映像コントローラはフレームバッファ内のラン ドスケープ画像に関連する画素情報のみを記憶する。前記専用回路はランドスケ ープ画像と関連する記憶された画素情報からポートレート画像と関連する画素情 報が復元できるようにする。こうして、前記専用回路によって、システムバスか らハードウェア回転ユニットを組込む映像コントローラへのアクセスを行なう装 置に対し「透明な」態様で画像の変換が可能になる。図面の簡単な説明 本発明の他の目的および利点については以下の詳細な説明を読みかつ添付の図 面を参照することによって明らかになるであろう。 図1は典型的なラスタ走査映像表示システムのブロック図である。 図2は典型的なラスタ走査表示システムの映像コントローラのブロック図であ る。 図3はラスタ走査表示画像に関連するデジタル情報に対し行なわれる回転動作 を示し、フレームバッファ内のデータの各バイトが単一の画素と関連する情報を 含む。 図4はラスタ走査表示画像に関連するデジタル情報に対し行なわれる回転動作 を示し、フレームバッファ内のデータの各バイトが4つの画素に関連する情報を 含む。 図5はハードウェア回転ユニットを含む映像コントローラのブロック図である 。 図6はアドレス計算機ユニットと、データアセンブリユニットと、コントロー ルユニットとを含むハードウェア回転ユニットのブロック図である。 図7はアドレス計算機ユニットのブロック図である。 図8はデータアセンブリユニットのブロック図である。 図9はコントロールユニット内に実現されその演算シーケンスを記述するため のアルゴリズムステートマシンの図である。 図10は映像データ書込動作に含まれる動作のシーケン スを示し、フレームバッファ内のデータの各バイトが4つの画素に関連する情報 を含む。 図11は映像データ読出動作に含まれる動作のシーケンスを示し、フレームバ ッファ内のデータの各バイトが4つの画素に関連する情報を含む。 本発明はさまざまに修正可能でかつさまざまな代替的形態をとり得るが、図に おいては特定の実施例を例示しかつ明細書において詳細に説明する。しかしなが ら図面および詳細な説明は開示する特定の形態に本発明を限定するためのもので はなく、逆に本発明は添付の請求の範囲により規定される発明の精神および範囲 内で可能なすべての修正例、等価物および代替例を包含することを理解されたい 。発明の詳細な説明 図3はポートレート画像302に関連するデジタル情報をランドスケープ画像 304に関連するフレームバッファ記憶場所へマッピングすることにより行なわ れる画像回転動作を示す図である。この例では、フレームバッファ内の各バイト が1つの画素に関連するデジタル情報を含む。ポートレート画像302は画素位 置の12本の水平線(次元W)からなる画素格子で、1本の線あたり8つの画素 位置がある(次元H)。先にも述べたとおり、ラスタ走査画像は表示装置のスク リーン上に画素ごと線ごとにスクリーンの上から下へ「描かれる」。ここでは1 バイトのデジタル情報が各画素に関連するものと仮定し、かつフレームバッ ファ内の各メモリ場所には1バイトのデジタル情報が記憶されるものとする。そ こで各画素はフレームバッファ内の単一のメモリ場所へマッピングされる。画素 情報は画像を作り出すためにアクセスされる順にフレームバッファ内に記憶され る。フレームバッファメモリアドレスが場所0で始まる場合には、座標(W、H )にある画素に関連する情報は以下の表1に示すとおりのフレームバッファ内の メモリ場所に見つかる。 ランドスケープ画像304は画素位置からなる8本の水平線(次元W*)から なる画素格子で、1本の線あたり12の画素位置がある(次元H*)。ポートレ ート画像302のランドスケープ画像304への変換には、図3に示すとおりポ ートレート画像302を時計回りの方向に90°回転させる動作を含む。ラスタ 走査表示装置上に回転させたポートレート画像302(すなわち作り出されたラ ンドスケープ画像304)を適切に表示する動作には、ポートレート画像302 を構成する画素情報をフレームバッファ内の新しいメモリ場所へマッピングする 動作を含む。たとえば、数画素情報バイトのマッピングは図3のポートレート画 像302およびランドスケープ画像304において特別の記号で表わす。これら のマッピングに関連する情報については以下の表2に示す。 ポートレート画像302に関連するフレームバッファメモリ場所からの画素情 報を、作り出されるランドスケープ 画像302に関連する新たなフレームバッファメモリ場所へマッピングすること ができる数式は以下のとおりである。 ADDR OUT =(((ADDR IN) MOD (H/N))*W)+(((W/N)−1) −INT((ADDR IN)/H)) 上の式において ADDR OUT=ランドスケープ画像304の画素情報に関連するフレーム バッファメモリ場所のアドレス ADDR IN=ポートレート画像302の画素情報に関連するフレームバッ ファメモリ場所のアドレス MOD=モジュロ演算、(A MOD B)は整数Aを整数Bで除算したもの の剰余を返す、たとえば(10 MOD 3)=1 H=ポートレート画像302の1水平走査線あたりの画素の数 N=フレームバッファ内のデータ各1バイトに関連する画素の数 W=ポートレート画像302の水平走査線の数 INT=整数演算子、INT(A)はAの整数部分を返す、たとえばINT( 3.333)=3 たとえば、ここでポートレート画像302における座標(W=1、H=1)に 位置する画素に関連する情報を表わす記号“$”を、作り出すランドスケープ画 像304の適切な表示のためにフレームバッファ内の場所へマッピング することを考える。この例では、 W=ポートレート画像302の水平走査線の数=12 H=ポートレート画像302の1水平走査線あたりの画素の数=8 N=フレームバッファ内のデータ1バイトに関連する画素の数=1 ADDR IN=ポートレート画像302の画素情報に関連するフレームバッ ファメモリ場所のアドレス=0 ADDR OUT=ランドスケープ画像304の画素情報に関連するフレーム バッファメモリ場所のアドレス =(((ADDR IN) MOD (H/N))*W +(((W/N)−1)−INT((ADDR IN) /H)) =(((0) MOD (8/1))*12) +(((12/1)−1)−INT((0)/8)) =0+11 =11 したがって、ラスタ走査表示装置上にポートレート画像302を時計まわり方 向に90°回転させて適切に表示する(すなわち作り出されたランドスケープ画 像304)を表示するためにはフレームバッファ場所11におけるポートレート 画像302の座標(W=1、H=1)にある画素に関連する情報を記憶すること が必要である。 図4はラスタ走査表示画像の画素に関連するデジタル情 報をマッピングすることによって行なわれる画像回転動作を示す第2の図である 。この例では、フレームバッファ内の各バイトが4つの連続する画素に関連する デジタル情報を含む。ポートレート画像402は画素位置(次元W)からなる1 2本の水平な線から構成される画素格子からなり、各線あたりに8つの画素位置 がある(次元H)。この例では、4つの画素に関連するデジタル情報はフレーム バッファ内の各バイトに含まれ、デジタル情報の2つの二値ビットが各画素に関 連する情報を記憶する。したがって4つの画素がフレームバッファ内の一つのメ モリ場所へマッピングされる。先程も述べたとおり、画素情報は画像を作るのに アクセスされる順番にフレームバッファ内に記憶される。フレームバッファメモ リアドレスが場所0で始まりかつバイト内のビット位置がビット位置0を最右ビ ット位置としかつビット位置7を最左ビット位置として連続的に数えられる場合 には、座標(W、H)に位置する画素に関連する情報は以下の表3に示すフレー ムバッファ内のメモリ場所で見つかる。 ランドスケープ画像404は画素位置からなる8本の水平な線(次元W*)か らなる画素格子で、1本あたり12の画素位置がある(次元H*)。 ポートレート画像402をランドスケープ画像404に 変換する動作には図4に示すとおりポートレート画像402を時計回り方向に9 0°回転させる動作を含む。ラスタ走査表示装置上に回転させたポートレート画 像402(すなわち作り出されたランドスケープ画像404)を適切に表示する ためにはポートレート画像402を構成する画素情報をフレームバッファ内の新 たなメモリ場所へマッピングする作業を含む。たとえば、数画素情報量のマッピ ングについては図4のポートレート画像402およびランドスケープ画像404 において特別の記号で表わす。これらのマッピングに関連する情報は以下の表4 に示す。 画素情報をフレームバッファ内の新たなメモリ場所へマッピングするためには 3つの情報が必要である。すなわち1)ベースアドレス、2)バイト位置、およ び3)アドレスオフセットである。ADDR OUTに関する上記式でNを4に 設定すればベースアドレスが算出されるが、これは第1のフレームバッファメモ リ場所のアドレスで、ラスタ走査表示装置上にランドスケープ画像404を適切 に表示するためには修正する必要がある。修正を行なう必要が あるフレームバッファ内に記憶されるバイトの位置を決定するために第2の式が 必要となる。 BYTE POS=((INT((ADDR IN/H) *N)) MOD N) BYTE POSは集合{0、1、2、3}における数であり、バイト位置0 は最右ビット位置1−0に対応し、バイト位置1はビット位置3−2に対応し、 バイト位置2はビット位置5−4に対応し、かつバイト位置3は最左ビット位置 7−6に対応する。このマッピングを完結させるために必要な第3の情報はアド レスオフセット、すなわちADDR OFFである。 ADDR OFF=W/N ここでN個の画素に関連するフレームバッファバイト保持情報では、フレーム バッファ内のNバイトの画素情報をポートレート画像402からランドスケープ 画像404への変換の際に修正する必要がある。修正されるバイトの部分はBY TE POSによって表わされる。図4に示す例では、フレームバッファ内に記 憶される4バイトの画素情報の各々における2ビットを画素情報変換の際に修正 する必要がある。第1に、アドレスADDR INのバイトのうちビット7−6 がベースアドレスADDR OUTのBYTE POSにより示されるビット場 所へ記憶される。アドレスADDR INのバイトのうちビット5−4がアドレ ス(ADDR OUT+ADDR OFF)のBYT E POSにより示されるビット場所へ記憶される。この第3のステップで、ア ドレスADDR INのバイトのうちビット3−2がアドレス(ADDR OU T+(2*ADDR OFF))のBYTE POSで示されるビット場所へ記 憶される。最後に、アドレスADDR INのバイトのうちビット1−0がアド レス(ADDR OUT+(3*ADDR OFF))により示されるビット場 所へ記憶される。 図4を参照して、ポートレート画像402の最初の4つの画素に関連する情報 を表わす記号「$」、「%」、「&」および「@」をフレームバッファ内の場所 へマッピングして新たにランドスケープ画像404を適切に表示すると仮定する 。この例では W=ポートレート画像402の水平走査線の数=12 H=ポートレート画像402の水平走査線あたりの画素の数=8 N=フレームバッファ内のデータの各バイトに関連する画素の数=4 ADDR IN=ポートレート画像402の画素情報を記憶するフレームバッ ファメモリ場所のアドレス=0 ADDR OUT=ランドスケープ画像404の画素情報を記憶するフレーム バッファメモリ場所のアドレス =(((ADDR IN) MOD (H/N))*W +(((W/N)−1)−INT((ADDR IN) /H)) =(((0) MOD (8/4))*12) +(((12/4)−1)−INT((0)/8)) =0+((3−1)−0) =2 BYTE POS=フレームバッファ内の所与のメモリ場所に記憶されるバイ ト内の画素情報の相対的位置 =((INT((ADDR IN/H)*N))NOD N) =((INT((0/8)*4)) MOD 4) =(0 MOD 4) =0 ADDR OFF=アドレス計算のためのアドレスオフセット =W/N =12/4 =3 ラスタ走査表示装置上にポートレート画像402を時計まわりに90°回転さ せて適切に表示(すなわち作り出されたランドスケープ画像404)を表示する ためには以下のような動作が必要となる。 1) ポートレート画像アドレス0に関連するバイトの最左ビット7−6にあ りかつ記号「$」で表わされる、ポートレート画像402の第1の画素に関連す る情報をフレ ームバッファアドレス2のバイトのバイト位置0(最右ビット1−0)に記憶す る必要がある。 2) ポートレート画像アドレス0に関連するバイトのビット5−4にありか つ記号「%」で表わされる、ポートレート画像402の第2の画素に関連する情 報をフレームバッファアドレス(2+3=5)のバイトのバイト位置0(最右ビ ット1−0)に記憶する必要がある。 3) ポートレート画像アドレス0に関連するバイトのビット3−2にありか つ記号「&」で表わされる、ポートレート画像402の第3の画素に関連する情 報をフレームバッファアドレス(2+(2*3)=8)のバイトのバイト位置0 (最右ビット1−0)に記憶する必要がある。 4) ポートレート画像アドレス0に関連するバイトの最右ビット1−0に記 憶されかつ記号「@」により表わされる、ポートレート画像402の第4の画素 に関連する情報をフレームバッファアドレス(2+(3*3)=11)のバイト のバイト位置0(最右ビット1−0)に記憶する必要がある。 類似する等式を使用してラスタ走査表示装置上に反時計まわり方向に90°回 転させたポートレート画像402を適切に表示することができる。 それらの等式は以下のとおりである。 ADDR OUT=(((H/N)−1)−(ADDR IN MOD (H/N)))*W) +INT(ADDR IN/H) BYTE POS=(N−1)−((INT((ADD R IN/H)*N)) MOD N) 図5はハードウェア回転ユニット504を含む映像コントローラ502のブロ ック図である。バスインタフェースユニット503はシステムバス506とハー ドウェア回転ユニット504との間に結合される。ハードウェア回転ユニット5 04はフレームバッファ508に結合され、フレームバッファ508は映像メモ リシステム510の一部である。フレームバッファ508は画像表示システム5 12に結合され、かつ画像表示システム512は表示装置514に結合される。 ハードウェア回転ユニット504はポートレート画像を時計回り方向または反時 計回り方向に90°回転させてラスタ走査表示装置上にランドスケープ画像を作 り出すために必要な上記のすべての機能を実現する。これは、ポートレート画像 に関連する画素情報を、ランドスケープモードで画像を適切に表示するために必 要な対応するフレームバッファ場所へハードウェアマッピングすることにより達 成される。 図6はバスインタフェースユニット503とフレームバッファ508との間に 結合されるハードウェア回転ユニット504のブロック図である。アドレス計算 機ユニット602は1組のアドレスライン602とフレームバッファ508との 間に結合される。データアセンブリユニット60 2は1組のデータライン608とフレームバッファ508との間に結合される。 アドレスデコーダ610はアドレスライン604とコントロールユニット612 との間に結合される。コントロールユニット612は1組のコントロールライン 614と、アドレス計算機ユニット602と、データアセンブリユニット606 とに結合される。 システムバス506はインダストリ・スタンダード・アーキテクチャ(ISA )バス、エクステンディッド・ISA(EISA)バス等でよい。アドレス計算 機ユニット602は、バスインタフェースユニット503とアドレスライン60 4を介してコントロールユニット612からは制御信号をかつシステムバス50 6からはアドレス情報を受ける。アドレス計算機ユニット602はシステムバス 506上で駆動され、ポートレート画像に関連する画素情報を適切に記憶するの に必要なアドレスマッピングを行ない、それにより画像はラスタ走査表示装置上 で表示される際に、時計回りまたは反時計回りの方向に90°回転して表示され る。アドレス計算機ユニット602の一実施例に関連するハードウェアの動作に ついて以下に詳細に述べる。 データアセンブリユニット606はバスインタフェースユニット503とデー タライン608を介してコントロールユニット612からは制御信号をかつシス テムバス506からは画素情報を受ける。データアセンブリユニット606はラ スタ走査表示装置上にポートレート画像を時計回 りまたは反時計回り方向に90°回転させて適切に表示するために必要なデータ 抽出および修正作業を行なう。データアセンブリユニットの一実施例に関連する ハードウェアの動作について以下に詳細に説明する。 コントロールユニット612はバスインタフェースユニット503とコントー ルライン614を介してシステムバス506から制御信号を受けかつアドレスデ コーダ610からアドレス情報を受ける。コントロールユニット612はフレー ムバッファ508に記憶される画素情報を操作する上でのアドレス計算機ユニッ ト602とデータアセンブリユニット606の動作を統括して、ラスタ走査表示 装置上に表示されるポートレート画像を時計回りまたは反時計回り方向に90° 回転させる。コントロールユニット612の一実施例としてステートマシンの動 作について以下に詳細に説明する。 アドレスデコーダ610はバスインタフェースユニット503とアドレスライ ン604を介してシステムバス506からのアドレス情報を受ける。アドレスデ コーダ610はアドレスライン604上のアドレス信号がフレームバッファ50 8で見つかったメモリ場所に対応する場合、コントロールユニット612に信号 で知らせる。 図7はアドレス計算機ユニット602の一実施例を表わす論理回路のブロック 図である。デコーダ702は入力信号SCREEN SIZEで駆動される入力 ポートと出力 信号Wで駆動される出力ポートとを有する。デジタル信号SCREEN SIZ Eはハードウェアレジスタのハードウェア選択スイッチまたはソフトウェア初期 化によって与えられてもよく、ラスタ走査表示装置のスクリーン上にポートレー ト画像を表示するのに使用する水平走査線あたりの画素数(H)と走査線の数( W)のいくつか可能な組合せを符号化する。デコーダ702は入力信号SCRE EN SIZEをデコードしてポートレート画像に存在する走査線の数の二値表 現である、出力信号Wを生成する。デコーダ704は入力ポートが入力信号SC REEN SIZEで駆動されかつ出力ポートが出力信号Hで駆動される。信号 Hはポートレート画像に存在する水平走査線あたりの画素の数の二値表現を含む 。 シフトエレメント706はデータ入力ポートが信号Hで駆動されかつ制御ポー トが信号Nで駆動される。デジタル信号Nはフレームバッファ内のデータの各バ イトに関連する画素の数に等しい値を有する。信号SCREEN SIZEと同 様、信号Nはハードウェア選択スイッチまたはハードウェアレジスタのソフトウ ェア初期化によって与えられてもよい。シフトエレメント706は信号Nの数値 が常に正でありかつ2の倍数である点を利用して信号Nの数値で信号Hの数値を 除算する。数を二値表現したものの各ビットを1ビット位置右へシフトさせるこ とはその数を2で除算することに等しい。シフトエレメント706は信号H の二値表現を含む出力信号を生成することによって信号Hの数値を信号Nの数値 で除算し、各ビットは信号Nの二値の半分の回数右へシフトされる。シフトエレ メント706の出力ポートは(H/N)の二値表現を含む出力信号で駆動される 。 減算器708は「+」入力ポートの信号の値から「−」入力ポートの信号の値 を引いたものに等しい値を有する出力信号で駆動される出力ポートを有する。減 算器708は「+」入力ポートに値(H/N)のシフトエレメント706の出力 信号を有しかつ「−」入力ポートに数「1」の二値表現を有する。したがって、 減算器708の出力ポートは((H/N)−1)の二値表現を含む出力信号によ って駆動される。減算器は通常減算する数の入力ライン(すなわち「−」入力ラ イン)にインバータを加えることによって、全加算器から構成される。「1」の 値を表わす信号で全加算器の桁上げ入力を駆動することは2の補数の減算技術を 実施することになる。 シフトエレメント710はデータ入力ポートが信号ADDR INで駆動され かつコントロールポートが信号Nで駆動される。デジタル信号ADDR INは システムバス506のアドレスラインにより与えられる。シフトエレメント71 0は、信号Nの数値が常に正でかつ2の倍数であることを利用して信号Nの数値 を信号ADDR INの数値に乗算する。数1のビット位置を表わす二値表現の 各ビ ットを左へシフトさせることはその数に2を乗じることに等しい。シフトエレメ ント710は信号Hの二値表現を含む出力信号で出力ポートのラインを駆動し、 各ビットは信号Nの二値の半分に等しい回数左へシフトする。シフトエレメント 710の出力ポートはこうして値(ADDR IN*N)を有する出力信号で駆 動される。 除算器712はシフトエレメント710からの出力信号で被除数入力ポートが 駆動され、除数入力ポートが信号Hで駆動され、商出力ポートは「Q」で表わさ れかつ剰余出力ポートは「R」で表わされる。図示した除算器712はまたRE SET信号を受けるためのリセット入力端末と、除算におけるステップのタイミ ングを制御するためのコントロール信号CLKを受けるためのクロック入力端末 と、除算の開始を指示するコントロール信号START CALCを受けるため の入力端末と、除算の完了時にCALC DONE信号を発する出力端末とを有 する。正のパルスがSTART CALC入力で受信されると、除算器712は 値(ADDR IN*N)の被除数を除数信号Hの値で整数除算したものに基づ き商出力ポート「Q」で商出力信号をかつ剰余出力ポート「R」で剰余出力信号 を生成する。 除算が完了すると、除算器712は値INT((ADDR IN*N)/H) を有する商出力信号で商出力ポート「Q」を駆動する。演算子INTは整数除算 により生成さ れる商を表わす。除算器712はまた値(ADDR IN*N)を値Hで整数除 算したものの剰余に等しい値を有する剰余出力信号で剰余出力ポート「R」を駆 動する。この剰余値は値((ADDR IN*N) MOD H)に等しく、演 算子MODは上記のようなモジュロ演算を示す。除算器712はまた除算が完了 するとCALC DONE出力上に正のパルスを発する。適切な整数除算器アル ゴリズムに関する詳細についてはジャン・ループ・ベアによる「コンピュータシ ステムアーキテクチャ」と題する刊行物に記載されている。(“Computer Syste ms Architecture”by Jean-Loup Baer,Computer Science Press,Rockville,M aryland,1980)当業者であれば同文献に提示されるアルゴリズムに基づき除算 器を実現し得る。 シフトエレメント714はデータ入力ポートが除算器712で生成される剰余 出力信号により駆動されかつコントロールポートが信号Nにより駆動される。こ うして、データ入力ポートは((ADDR IN*N) MOD H)の値を有 する信号で駆動される。シフトエレメント710は信号Nの数値が常に正であり かつ2の倍数であるという事実を利用し、信号Nの数値によって値((ADDR IN*N) MOD H)を有する信号の数値の除算を行なう。シフトエレメ ント714は値((ADDR IN*N) MOD H)の二値表現を含む出力 信号で出力ポートを駆動し、各ビットは信号Nの二値の半分に等しい回数 右へシフトされる。シフトエレメント714の出力ポートはこうして値(((A DDR IN*N) MOD H))/N)の値を有する出力信号で駆動される が、この値は(ADDR IN MOD (H/N))に等しい。 減算器716は、「+」入力ポートで値((H/N)−1)を有する減算器7 08により生成される出力信号を有しかつ「−」入力ポートで値(ADDR I N MOD (H/N))でシフトエレメント714により生成される出力信号 を有する。こうして、減算器716の出力ポートは値(((H/N)−1)−( ADDR IN MOD (H/N)))を有する出力信号で駆動される。 マルチプレクサ718は出力ポートがコントロールポートの回転信号Rの値に 基づき2つの入力ポートの一方の信号に等しい出力信号で駆動される。回転信号 Rの値が0のとき、ポートレート画像に関連する画素情報は時計回りの方向に9 0°回転されることになり、マルチプレクサ718の出力ポートは「0」で示す 入力ポートに入力信号に等しい出力信号で駆動される。回転信号Rの値が1のと き、ポートレート画像に関連する画素情報は反時計回りの方向に90°回転され ることになり、マルチプレクサ718の出力ポートは「1」で示す入力ポートの 入力信号に等しい出力信号で駆動される。こうして、信号Rの値が0のとき、マ ルチプレクサ718の出力ポートは値(ADDR IN MOD (H/C)) で、シフトエレメント714によ り生成される出力信号に等しい出力信号で駆動される。信号Rの値が1のとき、 マルチプレクサ718の出力ポートは値(((H/N)−1)−(ADDR I N MOD (H/N)))で、減算器716により生成される出力信号に等し い出力信号で駆動される。 乗算器720は第1の入力ポートでマルチプレクサ718により生成される出 力信号を有しかつ第2の入力ポートでデコーダ702により生成される出力信号 Wを有する。乗算器720は出力ポートがこの2つの入力ポートの信号の値に対 して行なわれる整数の乗算により生成される値で駆動される。したがって、回転 信号Rが値0を有する場合、マルチプレクサ718の出力ポートは値(ADDR IN MOD (H/C))を有する出力信号で駆動され、かつ乗算器720 の出力ポートは値((ADDR IN MOD (H/C))*W)を有する出 力信号で駆動される。信号Rが値1を有するとき、マルチプレクサ718の出力 ポートは値(((H/N)−1)−(ADDR IN MOD (H/N))) を有する出力信号で駆動され、かつ乗算器720の出力ポートは値((((H/ N)−1)−(ADDR IN MOD (H/N)))*W)を有する出力信 号で駆動される。適切な整数乗算器の実現に関する詳細についてはジャン・ルー プ・ベアによる「コンピュータシステムアーキテクチャ」と題する刊行物(“Co mputer Systems Architecture”by Jean-Loup Baer,Compute r Science Press,Rockville,Maryland,1980.)に記載されている。当業者で あればこの文献に提示されるアルゴリズムに基づき乗算器を実現し得る。 シフトエレメント722はデータ入力ポートが値INT((ADDR IN* N)/H)で、除算器712により生成される商出力信号により駆動され、コン トロールポートは信号Nで駆動される。シフトエレメント722は、信号Nの数 値が常に正でありかつ2の倍数である点を利用し、値INT((ADDR IN* N)/H)を有する信号の数値を信号Nの数値で除算する。シフトエレメント 722の出力ポートはこうして値INT(ADDR IN/H)を有する出力信 号で駆動される。 シフトエレメント724はデータ入力ポートがデコーダ702により生成され る出力信号Wで駆動されかつコントロールポートが信号Nで駆動される。シフト エレメント724は信号Wの数値を信号Nの数値で除算する。シフトエレメント 724の出力ポートは値(W/N)を有する出力信号で駆動される。 減算器726の出力ポートは「+」入力ポートの信号の値−「−」入力ポート の信号の値に等しい値を有する出力信号で駆動される。減算器708は「+」入 力ポートで値(W/N)を有するシフトエレメント724の出力信号を有しかつ 「−」入力ポートで数「1」の二値表現を有する。こうして、減算器726の出 力ポートは値((W/N)− 1)を有する出力信号で駆動される。 減算器728は「+」入力ポートで値((W/N)−1)を有する減算器72 6により生成される出力信号を有し、かつ「−」入力ポートで値INT(ADD R IN/H)を有するシフトエレメント722により生成される出力信号を有 する。こうして、減算器728の出力ポートは値(((W/N)−1)−INT (ADDR IN/H))を有する出力信号で駆動される。 マルチプレクサ730はコントロールポートで回転信号Rの値に基づく2つの 入力ポートのうちの1つの信号に等しい出力信号で駆動される。信号Rが値0を 有する場合、マルチプレクサ730の出力ポートは値(((W/N)−1)−I NT(ADDR IN/H))を有する減算器728により生成される出力信号 に等しい出力信号で駆動される。信号Rが値1を有する場合、マルチプレクサ7 30の出力ポートは値INT(ADDR IN/H)を有するシフトエレメント 722により生成される出力信号に等しい出力信号で駆動される。 加算器732は出力ポートが2つの入力ポートの信号の値の和に等しい値を有 する出力信号BASE ADDRで駆動される。加算器732は一方入力ポート の出力信号が乗算器720により生成されかつ他方入力ポートの出力信号がマル チプレクサ730により生成される。回転信号Rが値0を有する場合、乗算器7 20により生成された出力 信号が値((ADDR IN mod(H/C))*W)を有しかつマルチプレ クサ730により生成された出力信号は値(((W/N)−1)−INT(AD DR IN/H))を有する。回転信号Rは、ポートレート画像に関連する画素 情報を時計回りの方向に90°回転させる場合に値0を有する。こうしてポート レート画像を時計回りに90°回転させる場合、加算器732の出力ポートは値 (((ADDR IN mod (H/N))*W)+(((W/N)−1)− INT(ADDR IN/H)))の値を有する出力信号BASE ADDRで 駆動される。なおこの式は先に説明した、時計回りに90°回転させるラスタ走 査ポートレート画像に関連する画素情報のマッピングのための式と一致する。 信号Rが値1を有する場合、乗算器720により生成される出力信号は値(( ((H/N)−1)−(ADDR−IN mod (H/N)))*W)を有し かつマルチプレクサ730により生成される出力信号は値INT(ADDR I N/H)を有する。回転信号Rは、ポートレート画像に関連する画素情報を反時 計回りに90°回転させる場合値1を有する。こうして、ポートレート画像を反 時計回りに90°回転させる場合、加算器732の出力ポートは(((((H/ N)−1)−(ADDR IN MOD (H/N)))*W)+INT(AD DR IN/H))を有する出力信号BASE ADDRで駆動される。 なお、この式は先に述べた反時計回りに90°回転させたラスタ走査ポートレー ト画像に関連する画素情報のマッピングに関する式と一致する。 以下により詳細に説明するとおり、マルチプレクサ734、レジスタ736、 および加算器738は各バイトが1画素を超える数の画素に関連する情報を記憶 する場合にベースアドレスBASE ADDRにアドレスオフセットを加えてフ レームバッファのバイトをアクセスするための手段を提供する。 除算器740は被除数入力ポートに除算器712により生成される商出力信号 を有し、除数入力ポートに信号Nを有し、「Q」と呼ばれる商出力ポートと「R 」と呼ばれる剰余出力ポートを有する。除算器712の商出力ポート「Q」は使 用しない。除算器712はINT((ADDR IN*N)/H)を値Nで整数 除算したものの剰余に等しい値を有する剰余出力信号で剰余出力ポート「R」を 駆動する。この値はまた演算子MODが上記のようなモジュロ演算を表わす(( INT((ADDR IN/H)*N))MOD N)にも等しい。 減算器742は「+」入力ポートに信号Nを有しかつ「−」入力ポートに値「 1」を有する。減算器742の出力ポートは値(N−1)を有する出力信号で駆 動される。 減算器744は「+」入力ポートで値(N−1)を有する減算器742により 生成される出力信号を有しかつ「 −」入力ポートに値((INT((ADDR IN/H)*N)) MOD N )を有する除算器740により生成される出力信号を有する。減算器744の出 力ポートはこうして値((N−1)−((INT((ADDR IN/H)*N )) MOD N))の二値表現を含む出力信号で駆動される。 マルチプレクサ746はコントロールポートの回転信号Rの値に基づき2つの 入力ポートのうちの一方の信号に等しい出力信号BYTE POSで駆動される 。回転信号Rが値0を有する場合、マルチプレクサ746の出力ポートは値(( INT((ADDR IN/H)*N)) MOD N)を有する、除算器74 0により生成される出力信号に等しい出力信号で駆動される。回転信号Rは、ポ ートレート画像に関連する画素情報を時計回りに90°回転させる場合値0を有 する。したがってポートレート画像を時計回りに90°回転させる場合、マルチ プレクサ746の出力ポートの出力信号BYTE POSは値((INT((A DDR IN/H)*N)) MOD N)を有する。なお、この式は時計回り に90°回転させるラスタ走査ポートレート画像に関連する画素情報のマッピン グの際に必要なフレームバッファバイト修正のバイト位置を決定するために使用 される先に述べた式に一致する。 信号Rが値1を有する場合、マルチプレクサ746の出力ポートは値((N− 1)−((INT((ADDR I N/H)*N)) MOD N))を有する、減算器744により生成される出 力信号に等しい出力信号BYTE POSで駆動される。回転信号Rは、ポート レート画像に関連する画素情報を反時計回りに90°回転させる場合に値1を有 する。こうして、ポートレート画像を反時計回りに90°回転させる場合、マル チプレクサ746の出力ポートの出力信号BYTE POSは値((N−1)− ((INT((ADDR IN/H)*N)) MODN))を有する。なお、 この式は反時計回りに90°回転させるラスタ走査ポートレート画像に関連する 画素情報のマッピングの際に必要なフレームバッファバイト修正のバイト位置を 決定するために使用する先に述べた式と一致する。 上記のとおり、マルチプレクサ734、レジスタ736、および加算器738 は、各バイトが1つを超える数の画素に関連する情報を記憶する場合ベースアド レス信号BASE ADDRにアドレスオフセットを加算してフレームバッファ バイトをアクセスするための手段を提供する。マルチプレクサ734はコントロ ールポートのコントロール信号1ST ADDRの値に基づき2つの入力ポート の一方の信号に等しい出力信号で駆動される出力ポートを有する。信号1ST ADDRが値1を有する場合、マルチプレクサ734の出力ポートは加算器73 2により生成される出力信号BASE ADDRに等しい出力信号で駆動される 。 信号1ST ADDRが値0を有する場合、マルチプレクサ734の出力ポート は以下に説明するとおり加算器738より生成される出力信号に等しい出力信号 で駆動される。 レジスタ736はメモリ記憶素子の集まりである。レジスタ736はデータ入 力ポートがマルチプレクサ734の出力信号で駆動され、出力ポートが出力信号 ADDR OUTで駆動され、かつコントロールポートが信号SYNC ADD Rで駆動される。信号1ST ADDRが値1を有しかつレジスタ736がSY NC ADDRにより能動化される場合、加算器732により生成される出力信 号BASE ADDRはレジスタ736に記憶されかつレジスタ736の出力ポ ートに現われる。こうして、レジスタ736の出力信号ADDR OUTは、信 号1ST ADDRが値1を有する場合マルチプレクサ734の出力信号BAS E ADDRに等しくなる。 加算器738は2つの入力ポートの信号の値の和に等しい値を有する出力信号 で出力ポートを駆動する。加算器738は一方入力ポートで値(W/N)を有す るシフトエレメント724により生成される出力信号を有しかつ他方入力ポート に値ADDR OUTを有するレジスタ736により生成される出力信号を有す る。加算器738の出力ポートは値(ADDR OUT+(W/N))を有する 出力信号で駆動される。 動作の際、ベースアドレスBASE ADDRを計算す る場合信号1ST ADDRは論理1に設定されかつ正のパルスが信号SYNC ADDRとして出されてレジスタ736は信号BASE ADDRを記憶する ことができるようになる。レジスタ736により生成される出力信号、すなわち ADDR OUTは、信号1ST ADDRが値1を有する場合のBASE A DDRに等しい。フレームバッファ内のバイトが1を超える数の画素に関連する 情報を記憶する場合、Nは1より大きい値を有しかつ1バイトを超える画素情報 を回転マッピング動作の際にアクセスしかつ修正する必要がある。この場合、1 ST ADDRはフレームバッファ内の画素情報の最初のバイトがアクセスされ 修正された後に論理0に設定される。加算器738はシフトユニット724の出 力信号の値(W/N)とレジスタ736の出力の信号ADDR OUTの値の和 に等しい値を有する出力信号を生成する。信号ADDR OUTは信号BASE ADDRに等しいので、加算器738の出力信号は(BASE ADDR+( W/N))を有する。マルチプレクサ734は、コントロール入力信号1ST ADDRが値0を有する場合、加算器738の出力信号に等しい出力信号を生成 する。正のパルスが信号SYNC ADDRとして出されてレジスタ736は入 力値(BASE ADDR+(W/N))を記憶することができる。レジスタ7 36が能動化された後、レジスタ736の出力信号ADDR OUTの値は(B ASE ADDR+(W/ N))に等しい値になる。こうして、これでフレームバッファ内の修正する必要 がある次のバイトにアクセス可能となる。 レジスタ736の出力信号ADDR OUTの値が(BASE ADDR+( W/N))に等しい場合、加算器738の出力ポートは(BASE ADDR+ (2*(W/N)))の値を有する出力信号で駆動される。マルチプレクサ73 4は、コントロール入力1ST ADDRが依然として値0を有している状態で 、加算器738の出力信号に等しい出力信号を生成する。レジスタ736が再び 能動化された後、レジスタ736の出力信号ADDR OUTの値が(BASE ADDR+(2*W/N))になる。こうして、修正する必要のあるフレーム バッファ内の第3のバイトにアクセス可能となる。この処理は、アクセスする必 要のあるすべてのバイトが修正されるまで続く。 ここでデータアセンブリユニット606の一実施例を示すブロック図である図 8を参照する。この実施例の構造および機能は図4の例を参考にしながら説明す る。ポートレート画像402に関連する画素情報の第1のバイト(すなわちバイ ト0)のアドレスがシステムバス506のアドレスライン上に存在し、かつポー トレート画像402のバイト0に関連するデータはシステムバス506のデータ ライン上に存在する。マルチプレクサ802は、バスインタフェースユニット5 03とデータライン608を介して、図 4のポートレート画像402において「$」記号で表わされる、システムバス5 06上で駆動されるデータバイトのうちビット7−6の情報を受ける第1の入力 ポートを有する。マルチプレクサ802の第2の入力ポートは図4の「%」記号 で表わす、バスインタフェースユニット503およびデータライン608を介し てシステムバス506上に駆動されるデータバイトのビット5−4の情報を受け る。マルチプレクサ802の第3の入力ポートはバスインタフェースユニット5 03とデータライン608とを介して、図4の「&」により表わされるシステム バス506上に駆動されるデータバイトのうちのビット3−2の情報を受ける。 マルチプレクサ802の第4の入力ポートはバスインタフェースユニット503 およびデータライン608を介して、図4の「@」記号で表わされるシステムバ ス506上に駆動されるデータバイトのうちのビット1−0の情報を受ける。コ ントロールポートを駆動するコントロール信号OP COUNTはフレームバッ ファ情報の修正に含まれるビットを選択するが、これについては以下により詳細 に説明する。 代替的実施例においては、フレームバッファ508のデータの各バイトは2つ の画素に関連する情報を含む。この場合、マルチプレクサ802は2つの入力ポ ートを有し、そのうち第1のポートがバスインタフェースユニット503および データライン608を介してシステムバス506 上に駆動されるデータバイトのうちのビット7−4の情報を受け得る。マルチプ レクサ802の第2の入力ポートはバスインタフェースユニット503とデータ ライン608を介してシステムバス506上に駆動されるデータバイトのビット 3−0の情報を受け得る。マルチプレクサ802の出力ポートは、コントロール 信号OP COUNTの値が0の場合システムバス506上のデータバイトのう ちビット7−4で駆動されることが可能でかつコントロール信号OP COUN Tが値1を有する場合にはシステムバス506上のデータバイトのうちビット3 −0で駆動され得る。なお、信号OP COUNTの値はこの実施例においては 0と1とに限定されている。マルチプレクサ802の出力のビット3−2はマル チプレクサ810Aと810Cの入力ポートに向けられてもよい。マルチプレク サ802の出力のうちのビット1−0はマルチプレクサ810Bおよび810D の入力ポートに向けられてもよい。 コントロールユニット612がアドレス計算機ユニット602に信号を送って アドレスマッピングを開始させ、修正すべきフレームバッファ508内の第1の バイトを決定して、適切に回転されたポートレート画像402(すなわちランド スケープ画像404)を表示できるようにする。アドレス計算機ユニット602 はまた修正すべきフレームバッファ508に記憶されるデータバイトの各部をア クセスするのに必要な信号BYTE POSの値を計算する。 アドレス計算機ユニット602が必要な計算を終わると、信号ADDR OUT の値は2になりかつBYTE POSの値は上記のとおり0になる。コントロー ルユニット612はバス上にハードウェア回転ユニット504とフレームバッフ ァ508を結合する適切なコントロール信号を発してフレームバッファ508に 場所2のデータで前記バスのデータラインを駆動させるようにする。マルチプレ クサ804の第1の入力ポートはフレームバッファ場所2に記憶される画素情報 のビット7−6の情報を受ける。マルチプレクサ804の第2、第3および第4 の入力ポートはフレームバッファ場所2に記憶される画素情報のビット5−4、 3−2および1−0の情報をそれぞれ受ける。マルチプレクサ804の出力ポー トは4つの入力ポートのうちの1つの入力信号に等しい出力信号で駆動されるが 、この選択はコントロールポートを駆動するコントロール信号BYTE POS の値による。図4の例では、信号BYTE POSの値は0で、マルチプレクサ 804の出力ポートは第1の入力ポートの入力信号、すなわちフレームバッファ 場所2に記憶される画素情報のビット1−2に等しい出力信号で駆動されること になる。 代替的実施例では、フレームバッファ508のデータの各バイトは2つの画素 に関連する情報を含む。この場合、マルチプレクサ804は2つの入力ポートを 有してもよく、そのうち第1のポートがフレームバッファ場所2に記憶さ れる画素情報のビット7−4の情報を受ける。マルチプレクサ802の第2の入 力ポートはフレームバッファ場所2に記憶される画素情報のビット3−0の情報 を受け得る。マルチプレクサ804の出力ポートは、コントロール信号BYTE POSの値が1の場合フレームバッファ場所2に記憶される画素情報のビット 7−4で駆動されることが可能でかつコントロール信号BYTE POSの値が 0の場合フレームバッファ場所2に記憶される画素情報のうちビット3−0で駆 動され得る。なお、信号BYTE POSの値はこの実施例においては0と1に 限定されている。マルチプレクサ804の出力のビット3−2はマルチプレクサ 806Aおよび806Cの入力ポートに向けられてもよい。マルチプレクサ80 4の出力のうちのビット1−0はマルチプレクサ806Bおよび806Dの入力 ポートに向けられてもよい。 マルチプレクサ806Aの出力ポートは3つの入力ポートのうちの1つの入力 信号に等しい出力信号で駆動されるが、その選択は第1のコントロールポートの コントロール信号WRITE CYCLCと、第2のコントロールポートのコン トロール信号SER 3の値による。マルチプレクサ806A−806Dの動作 は類似するもので、コントロール信号SER 3がそれぞれSER 2、SER 1、およびSER 0に替わる。コントロール信号WRITE CYCLEは 、システムバス506上に存在するデータ がフレームバッファ508に記憶される場合にアサートされ、これは図4の例の 場合と同様である。コントロール信号WRITE CYCLEがアサートされる 場合、マルチプレクサ806A−806Dは、フレームバッファからのデータバ イトのビットの値で駆動される入力ポートの入力信号に等しい出力信号を生成す る。コントロール信号WRITE CYCLEがアサートされる場合、コントロ ール信号SER 3、SER 2、SER 1およびSER 0の値はマルチプ レクサ806A−806Dにより生成される出力信号を決定しない。 代替的実施例では、フレームバッファ508のデータの各バイトは2つの画素 に関連する情報を含む。この場合、マルチプレクサ806Aおよび806Bは1 つの画素に関連する入力を有することが可能で、かつコントロール信号SER 3およびSER 2は、信号OP COUNTの値が0の場合アサートされ得る 。マルチプレクサ806Cおよび806Dは第2の画素に関連する入力を有する ことが可能で、コントロール信号SER 1およびSER 0は、信号OP C OUNTの値が1の場合にアサートされ得る。なお、信号OP COUNTの値 は0と1に限定される。 レジスタ808A−808Dは、コントロール信号MEM RDにより能動化 される場合、マルチプレクサ806A−806Dによりそれぞれ生成される出力 信号を記憶す る。図4の例では、コントロール信号WRITE CYCLEがアサートされ、 マルチプレクサ806A−806Dはフレームバッファからのデータバイトの入 力ビットに対応する値を有する出力信号を生成する。正のパルスがコントロール 信号MEM RDとして出されて、レジスタ808A−808D内のマルチプレ クサ806A−806Dの出力信号を記憶するようにする。レジスタ808A− 808Dの出力信号は集合的にフレームバッファ508から取出した未修正のデ ータバイトを含む。 マルチプレクサ810Aの出力ポートは2つの入力ポートのうちの一方の入力 信号に等しい出力信号で駆動されるが、その選択はコントロールポートのコント ロール信号POS 3の値による。マルチプレクサ810B−810Dの動作は 同じで、コントロール信号POS 3がそれぞれPOS 2、POS 1、およ びPOS 0に入替わるだけである。マルチプレクサ810A−810Dの出力 信号は集合的にフレームバッファ508に記憶されるデータバイトを含む。フレ ームバッファ508内の各データバイトが4つの画素に関連する情報を含む場合 、コントロール信号POS 0は、BYTE POSの値が0の場合にアサート される。コントロール信号POS 1は、BYTE POSの値が1の場合にア サートされ、コントロール信号POS 2は、BYTE POSの値が2の場合 にアサートされ、かつコントロール信号POS 3は、BYTE POSの値が3の場合にアサートされる。いかなるときも1を超える数のコント ロール信号がアサートされることはない。 代替的実施例においては、フレームバッファ508のデータの各バイトが2つ の画素に関連する情報を含む。この場合、マルチプレクサ810Aおよび810 Bは1つの画素に関連する入力を有することが可能で、双方ともに信号POS 1によって制御可能である。マルチプレクサ810Cおよび810Dは第2の画 素に関連する入力を有することが可能で、双方ともに信号POS 0によって制 御可能である。BYTE POSが値0と1に限定されているので、POS 0 とPOS 1のみが適用可能である。 図4の例では、アドレス計算機ユニット602は上記のとおり信号BYTE POSのための値0を計算する。したがって、コントロール信号POS 0は、 すべてのデータ修正動作の際にアサートされ、フレームバッファ508に記憶さ れるデータバイトのうちのビット1−0を選択して修正する。最初に、マルチプ レクサ802のコントロール信号OP COUNTが値0を有する。マルチプレ クサ802の出力ポートはシステムバス506からのデータのビット7−6、す なわちポートレート画像402に関連しかつ図4の「$」で表わされる画素情報 の2つのビットに等しい値を有する出力信号で駆動される。マルチプレクサ81 0Aのコントロール信号POS 3はデアサートされ、 かつマルチプレクサ810Aの出力ポートはフレームバッファ場所2に記憶され るデータバイトのうちのビット7−6に等しい値を有する出力信号で駆動される 。マルチプレクサ810Bおよび810Cの出力ポートはフレームバッファ場所 2に記憶されるデータバイトのビット5−4および3−2にそれぞれ等しい値を 有する出力信号で駆動される。マルチプレクサ810Dのコントロール信号PO S 0がアサートされ、かつマルチプレクサ810Dの出力ポートがマルチプレ クサ802の出力信号に等しい出力信号で駆動される。マルチプレクサ810A −810Dの集合的出力信号を構成するデータバイトはフレームバッファ502 の場所2に記憶される。こうして、フレームバッファ508の場所2の元のデー タバイトのビット7−2は未修正だが、ビット1−0はこれでシステムバス50 6からのデータバイトのビット7−6の画素情報を含む。フレームバッファ50 8の場所2に記憶される画素情報の修正されたビット1−0は図4のランドスケ ープ画像404の「$」により表わされる。 図4のポートレート画像402からランドスケープ画像404への画素情報の マッピングを完了するため、あと3つのデータバイト修正を行なう必要がある。 図7において、マルチプレクサ734のコントロール信号1ST ADDRは論 理0に設定されかつ正のパルスがレジスタ736のコントロール信号SYNC ADDRとして出される。ア ドレス計算機ユニット602により生成される信号ADDR OUTは(BAS E ADDR+(W/N))の値を有し、BASE ADDRは値2を有しかつ (W/N)は上記のとおり値3を有する。フレームバッファ508の場所5のデ ータバイトが選択されて修正される。 先に述べたとおり、コントロールユニット612はハードウェア回転ユニット 504をフレームバッファ508に結合する適切なコントロール信号をバス上に 出してフレームバッファ508に場所5のデータで前記バスのデータラインを駆 動させる。コントロール信号WRITE CYCLEは依然としてアサートされ た状態で、マルチプレクサ806A−806Dの出力ポートはフレームバッファ 508からのデータバイトの対応するビットに等しい出力信号で駆動されること になる。正のパルスが再びレジスタコントロール信号MEM RDとして出され 、レジスタ808A−808Dにマルチプレクサ806A−806Dにより生成 されるフレームバッファデータバイトのビットを記憶させる。レジスタ808A −808Dの出力信号はフレームバッファ508の場所5から取込んだ未修正の データバイトを集合的に含む。 マルチプレクサ806のコントロール信号OP COUNTは1だけインクリ メントされて、値1を生成する。マルチプレクサ802の出力ポートは、システ ムバス506からのデータのビット5−4、すなわちポートレート画像 402に関連しかつ図4で記号「%」で表わされる画素情報のうちの2つのビッ トの値に等しい出力信号で駆動される。アドレス計算機ユニット602により生 成される信号BYTE POSの値は依然として0であり、かつコントロール信 号POS 0は依然としてアサートされた状態である。マルチプレクサ810A −810Cの出力信号は集合的にフレームバッファ508の場所5の元のデータ バイトのビット7−2を生成する。マルチプレクサ810Dのコントロール信号 POS 0はアサートされて、マルチプレクサ810Dの出力ポートの、マルチ プレクサ802の出力信号に等しい出力信号による駆動を引き起こす。マルチプ レクサ810A−810Dの集合的出力信号からなるデータバイトはフレームバ ッファ508の場所5に記憶される。フレームバッファ508の場所5の元のデ ータバイトのビット7−2は未修正のままだが、ビット1−0はシステムバス5 06からのデータバイトのビット5−4の画素情報を含む。フレームバッファ5 08の場所5に記憶される画素情報の修正されたビット1−0は図4のランドス ケープ画像404における「%」記号により表わされる。 第3のフレームバッファデータバイト修正動作の際、アドレス計算機ユニット 602は値(BASE ADDR+(2*W/N)))を有する信号ADDR OUTを生成する。こうして、フレームバッファ508の場所8のデータバイト が選択されて修正される。レジスタ808A−8 08Dの出力信号はここで再びフレームバッファ508から取込んだ未修正のデ ータバイトを集合的に含む。マルチプレクサ802のコントロール信号OP C OUNTは1だけ増分されて、値2を生成する。マルチプレクサ802の出力ポ ートはシステムバス506からのデータのビット3−2、すなわちポートレート 画像402に関連しかつ図4で記号「&」により表わされる画素情報の2ビット に等しい出力信号で駆動される。マルチプレクサ810A−810Cは元のフレ ームバッファデータバイトのビット7−2を集合的に生成する。マルチプレクサ 810Dの出力ポートはマルチプレクサ802の出力信号に等しい出力信号で駆 動される。マルチプレクサ810A−810Dの集合的出力信号からなるデータ バイトはフレームバッファ508の場所8に記憶される。こうして、フレームバ ッファ508の場所8の元のデータバイトのビット7−2は未修正だが、ビット 1−0はシステムバス506からのデータバイトのビット3−2の画素情報を含 む。フレームバッファ508の場所8に記憶される画素情報の修正されたビット 1−0は図4のランドスケープ画像404では「&」記号により表わされる。 第4および最後のフレームバッファデータバイト修正動作の際、アドレス計算 機ユニット602は値(BASE ADDR+(3*(W/N)))を有する信 号ADDR OUTを生成する。こうして、フレームバッファ508の 場所11のデータバイトが選択されて修正される。レジスタ808A−808D の出力信号は再びフレームバッファ508から取込んだ未修正のデータバイトを 集合的に含む。マルチプレクサ802のコントロール信号OP COUNTは1 だけ増分され、値3を生成する。マルチプレクサ802の出力ポートはシステム バス506からのデータのビット1−0、すなわちポートレート画像402に関 連しかつ図4で「@」記号で表わされる画素情報の2つのビットの値に等しい出 力信号で駆動される。マルチプレクサ810A−810Cは元のフレームバッフ ァデータバイトのビット7−2を集合的に生成する。マルチプレクサ810Dの 出力ポートはマルチプレクサ802の出力信号に等しい出力信号で駆動される。 マルチプレクサ810A−810Dの集合的出力信号を構成するデータバイトは フレームバッファ508の場所11に記憶される。したがってフレームバッファ 508の場所11の元のデータバイトのビット7−2は未修正だが、ビット1− 0はシステムバス506からのデータバイトのビット1−0の画素情報を含む。 フレームバッファ508の場所11に記憶される画素情報の修正されたビット1 −0は図4のランドスケープ画像404における「@」記号で表わされる。 データアセンブリユニット606もポートレート画像402に関連する画素情 報がランドスケープ画像404に関連する記憶された画素情報から復元されるこ とを可能にす る。アドレス計算機ユニット602は適切なアドレスを計算しかつ先程と同様フ レームバッファ508に記憶されるデータバイト内の画素情報の位置を決定する 。ランドスケープ画像404に関連する画素情報はフレームバッファ508から 取込まれかつマルチプレクサ804の入力ポートで使用可能となる。マルチプレ クサ806A−806Dのコントロール信号WRITE CYCLEはデアサー トされ、かつコントロール信号SER 3、SER 2、SER 1、およびS ER 0はマルチプレクサ806A−806Dをそれぞれ制御する。各データバ イトが4つの画素に関連する情報を含む場合には、コントロール信号SER 3 、SER 2、SER 1、およびSER 0のアサートがそれぞれOP CO UNTの0、1、2、および3の値に対応する。 代替的実施例では、フレームバッファ508内のデータの各バイトが2つの画 素に関連する情報を含む。この場合、マルチプレクサ806Aおよび806Bは 1つの画素に関連する入力を有し、コントロール信号SER 3およびSER 2は、信号OP COUNTが値0のときアサートされ得る。マルチプレクサ8 06Cおよび806Dは入力が第2の画素に関連付けられてもよく、制御信号S ER 1およびSER 0は信号OP COUNTが1の値を有するときにアサ ートされてもよい。信号OP COUNTは0および1の値に限られることに注 目されたい。 図4の例では、フレームバッファ508のアドレス0でのシステムバス506 読出要求の結果、アドレス計算器ユニット602が上述のように2のベースアド レスを計算することとなる。制御ユニット612は、ハードウェア回転ユニット 504をフレームバッファ508に結合するバス越しに適当な制御信号を発行し て、フレームバッファ508に前記バスのデータ線を場所2のデータで駆動させ る。信号BYTE POSは0の値を有して、マルチプレクサ804の出力ポー トを、フレームバッファ508のアドレス2のデータバイトのビット1−0の値 に等しい出力信号で駆動させる。バイト2のビット1−0は、図4のランドスケ ープ画像404において「$」で表わされることに注目されたい。信号OP C OUNTは0に初期化されて、マルチプレクサ806A制御信号SER 3を最 初にアサートさせる。アサートされた制御信号SER 3は、マルチプレクサ8 06Aの出力ポートを、マルチプレクサ804の出力信号に等しい出力信号で駆 動する。したがって、マルチプレクサ806Aの出力ポートは、フレームバッフ ァ508の場所2のデータワードのビット1−0に等しい出力信号で駆動される 。マルチプレクサ806B−806Dに対する制御信号はデアサートされて、マ ルチプレクサ806B−806Dの出力ポートを、レジスタ808B−808D からの入力信号に等しい出力信号でそれぞれ駆動する。これらの値は最初は未定 である。正のパルスがレジ スタ制御信号MEM RDとして発行されて、レジスタ808A−808Dに入 力ポートの信号を記憶させる。したがって、レジスタ808Aの出力ポートは、 フレームバッファ508の場所2のデータワードのビット1−0に等しい出力信 号で駆動される。他のすべてのレジスタ出力信号の値はこの時点では未定である 。 第2のデータバイト再構成動作中に、アドレス計算器ユニット602は、上述 した(BASE ADDR+(W/N))に対応する5の信号ADDR OUT に対する値を計算する。フレームバッファ508の場所5のデータはマルチプレ クサ804の入力ポートに対し利用可能にされる。信号BYTE POSは依然 として0の値を有して、マルチプレクサ804の出力ポートを、フレームバッフ ァ508のアドレス5のデータバイトのビット1−0に等しい出力信号で駆動す る。バイト5のビット1−0は、図4のランドスケープ画像404において記号 「%」で表わされることに注意されたい。信号OP COUNTは1で増分され て1になり、対応するマルチプレクサ806B制御信号SER 2がアサートさ れて、マルチプレクサ806Bの出力ポートをマルチプレクサ804の出力信号 に等しい出力信号で駆動する。こうして、マルチプレクサ806Bの出力ポート は、フレームバッファ508の場所5のデータバイトのビット1−0に等しい出 力信号で駆動される。マルチプレクサ806A、806Cおよび806Dに対す る 制御信号がデアサートされて、これらマルチプレクサの出力ポートを、レジスタ 808A、808Cおよび808Dにより発生される入力信号に等しい出力信号 でそれぞれ駆動する。正のパルスがレジスタ制御信号MEM RDとして発行さ れて、レジスタ808A−808Dに入力ポートの信号を記憶させる。したがっ て、フレームバッファ508の場所2のデータバイトのビット1−0の値はレジ スタ808Aの出力ポートに残り、レジスタ808Bの出力ポートは、フレーム バッファ508の場所5のデータワードのビット1−0に等しい出力信号で駆動 される。他のレジスタ出力信号の値は依然として未定である。 第3のデータバイト再構成動作中において、アドレス計算器ユニット602は 、上述した(BASE ADDR(2*(W/N)))に対応する8の信号AD DR OUTに対する値を計算する。フレームバッファ508の場所8のデータ が、マルチプレクサ804の入力ポートに利用可能にされる。信号BYTE P OSは依然として0の値を有して、マルチプレクサ804の出力ポートを、フレ ームバッファ508のアドレス8のデータバイトのビット1−0に等しい出力信 号で駆動する。バイト8のビット1−0は、図4のランドスケープ画像404に おいては「&」で表わされることに注意されたい。信号OP COUNTは1で 増分されて2になり、対応するマルチプレクサ806C制御信号SER 1がア サートされて、マルチプレク サ806Cの出力ポートをマルチプレクサ804の出力信号に等しい出力信号で 駆動する。したがって、マルチプレクサ806Cの出力ポートは、フレームバッ ファ508の場所8のデータバイトのビット1−0に等しい出力信号で駆動され る。マルチプレクサ806A、808Bおよび806Dに対する制御信号がデア サートされて、これらマルチプレクサの出力ポートを、レジスタ808A、80 8Bおよび808Dにより発生される入力信号に等しい出力信号でそれぞれ駆動 する。正のパルスがレジスタ制御信号MEM RDとして発行されて、レジスタ 808A−808Dに、入力ポートの信号を記憶させる。したがって、フレーム バッファ508の場所2のデータバイトのビット1−0に等しい出力信号はレジ スタ808Aの出力ポートに残り、フレームバッファ508の場所5のデータワ ードのビット1−0に等しい出力信号はレジスタ808Bの出力ポートに残り、 レジスタ808Cの出力ポートはフレームバッファ508の場所8のデータワー ドのビット1−0に等しい出力信号で駆動される。レジスタ808Dの出力信号 の値は依然として未定である。 第4および最終のデータバイト再構成動作中において、アドレス計算器ユニッ ト602は、上述した(BASE ADDR+(3*(W/N)))に対応する 11の信号ADDR OUTに対する値を計算する。フレームバッファ508の 場所11のデータがマルチプレクサ804の入力 ポートに利用可能にされる。信号BYTE POSは依然として0の値を有して 、マルチプレクサ804の出力ポートを、フレームバッファ508のアドレス1 1のデータバイトのビット1−0に等しい出力信号で駆動する。バイト11のビ ット1−0は図4のランドスケープ画像404では「@」で表わされることに注 意されたい。信号OP COUNTは1で増分されて3になり、対応するマルチ プレクサ806D制御信号SER 0がアサートされて、マルチプレクサ806 Dの出力ポートをマルチプレクサ804の出力信号に等しい出力信号で駆動する 。したがって、マルチプレクサ806Dの出力ポートは、フレームバッファ50 8の場所11のデータバイトのビット1−0に等しい出力信号で駆動される。マ ルチプレクサ806A−806Cの制御ポートでの制御信号がデアサートされて 、これらマルチプレクサの出力ポートを、レジスタ808A−808Cにより発 生される入力信号に等しい出力信号でそれぞれ駆動する。正のパルスがレジスタ 制御信号MEM RDとして発行されて、レジスタ808A−808Dに入力ポ ートの信号を記憶させる。レジスタ808Aの出力信号はフレームバッファ50 8の場所2のデータバイトのビット1−0に等しいままであり、レジスタ808 Bの出力信号はフレームバッファ508の場所5のデータバイトのビット1−0 に等しいままであり、レジスタ808Cの出力信号はフレームバッファ508の 場所8のデータワードのビ ット1−0に等しいままであり、レジスタ808Dの出力ポートはフレームバッ ファ508の場所11のデータワードのビット1−0に等しい出力信号で駆動さ れる。 フレームバッファ508に記憶されるランドスケープ画像404に関連付けら れる画素情報から再構成される、ポートレート画像402に関連付けられるデー タバイトは、ここでレジスタ808A−808Dの集合的出力信号からなる。こ のデータバイトはここでシステムバス506のデータライン上で駆動されてもよ い。 ここで図9を参照すると、ハードウェア回転ユニット504の制御ユニット6 12内に実施されるアルゴリズムステートマシン900の図が示される。図10 は、フレームバッファ508におけるデータの各バイトが4つの画素に関連付け られる情報を含む、映像データ書込動作に伴う動作のシーケンスを説明するタイ ミング図である。図9および図10を併せて参照して、ポートレート画像に関連 付けられる画素情報を、ランドスケープ画像として表示することを容易にするよ うな態様で、システムバス506からフレームバッファ508へ転送することに 伴う書込動作をここで説明する。 ステートマシン900は全部で5つの状態902、904、906、908お よび910を含む。ステートマシン900は、外部RESET信号がアサートさ れるとアイドル状態902に入り、画像回転動作に関与しない場合には 状態902に留まっている。ステートマシン900は、信号ROT ADDRお よびROTATE ENBがともにクロック信号CLKの立上がり縁でアサート されるとアイドル状態902から状態904へ遷移する。ポートレート画像に関 連付けられる画素情報が、ランドスケープフォーマットにおいてその画像の表示 を促進する態様でフレームバッファ508に記憶される(つまり、時計回りまた は反時計回り方向に90度回転される)ことになると、回転イネーブル信号RO TATE ENBはアサートされる。信号ROT ADDRは、フレームバッフ ァ508内のメモリ場所のアドレスがシステムバス506からバスインタフェー スユニット503を介してアドレスライン604上で検知されると、アドレスデ コーダ610によりアサートされる。 状態904では、制御ユニット612は正のパルスを信号START CAL Cとして発行して、アドレス計算器ユニット602にベースアドレス信号BAS E ADDRとバイト位置信号BYTE POSとを計算させる。アドレス計算 器ユニット602は、ベースアドレス信号BASE ADDRの計算が完了する と信号CALC DONEをアサートする。ステートマシン900は、信号CA LC DONEがクロック信号CLKの立上がり縁でアサートされると状態90 6に遷移する。 状態906では、制御ユニット612はクロック信号C LKの最初のサイクル中に論理1の値で信号1ST ADDRを駆動し正のパル スを信号SYNC ADDRとして発行する。パルスSYNC ADDRは、計 算器ユニット602に、BASE ADDRと同じ値を伴う信号ADDR OU Tを発行させる。状態906におけるクロック信号CLKの2番目のサイクル中 に制御ユニット612は正のパルスを信号RMW OUTとして発行する。信号 RMW OUTのアサーションによって、フレームバッファ508は、ハードウ ェア回転ユニット504をフレームバッファ508に結合するバスのデータライ ンを、アドレスADDR OUTの場所にあるデータで駆動する。データアセン ブリユニット606が、次いで、フレームバッファからのデータバイトを修正し て、システムバス506からバスインタフェースユニット503を介するデータ ライン608上のデータバイトからの画素情報を含むようにする。状態906に おけるクロック信号CLKの3番目のサイクル中に制御ユニット612は正のパ ルスを信号MEM RDとして発行する。データアセンブリユニット606は、 次いで、ハードウェア回転ユニット504をフレームバッファ508に結合する バスのデータラインを、修正されたデータバイトで駆動する。状態906におけ るクロック信号CLKの4番目のサイクル中に制御ユニット612は正のパルス を信号MEM OP DONEとして発行して、フレームバッファ508に、ハ ードウェア回転ユニット5 04をフレームバッファ508に結合するバスのデータライン上の修正された画 素情報をフレームバッファアドレスADDR OUTに記憶させる。信号DON Eがデアサートされる状態での信号MEM OP DONEのアサーションによ り、ステートマシン900はクロック信号CLKの次の立上がり縁で状態906 から908へ遷移する。 状態908中に、制御ユニット612は論理0の値で信号1ST ADDRを 駆動し正のパルスを信号SYNC ADDRとして発行して、アドレス計算器ユ ニット602に(ADDR OUT+(W/R))の値を計算させこの値で信号 ADDR OUTを発行させる。ステートマシン900は、クロック信号CLK の次の立上がり縁で状態908から状態910に遷移する。 状態910において、制御ユニット612はクロック信号CLKの最初のサイ クル中に正のパルスを信号RMW OUTとして発行する。信号RMW OUT のアサーションにより、バッファ508は、ハードウェア回転ユニット504を フレームバッファ508に結合するバスのデータラインを、アドレスADDR OUTの場所にあるデータで駆動する。データアセンブリユニット606は次い でフレームバッファからのデータバイトを修正して、システムバス506からバ スインタフェースユニット503を介してデータライン608上のデータバイト からの画素情報を含むようにする。クロック信号CLKの2番目のサイクル 中に制御ユニット612は正のパルスを信号MEM RDとして発行する。デー タアセンブリユニット606は、次いで、ハードウェア回転ユニット504をフ レームバッファ508に結合するバスのデータ線を、修正されたデータバイトで 駆動する。クロック信号CLKの3番目のクロック中に、制御ユニット612は 正のパルスを信号MEM OP DONEとして発行して、フレームバッファ5 08に、ハードウェア回転ユニット504をフレームバッファ508に結合する バスのデータライン上の修正された画素情報をフレームバッファアドレスADD R OUTに記憶させる。 ステートマシン900は、制御ユニット612が信号MEM OP DONE をアサートするまで状態910に留まる。制御ユニット612は、画像回転動作 が完了すると信号DONEをバスインタフェースユニット503にアサートする 。信号MEM OP DONEおよびDONEがクロック信号CLKの立上がり 縁でともにアサートされる場合には、ステートマシン900は状態902に遷移 する。クロック信号CLKの立上がり縁で信号MEM OP DONEがアサー トされかつ信号DONEがデアサートされる場合には、ステートマシン900は 状態910から状態908へ遷移して戻る。図10の例においては、画像回転動 作が完了する前に、フレームバッファ508の画素情報のさらに2つのバイトが 修正されなければならない。上記 のプロセスは、ランドスケープ画像に関連付けられかつフレームバッファ508 に記憶される4つのデータバイトが修正されて、ポートレート画像に関連付けら れるデータバイトの2ビットセグメントを含むまで、継続される。 代替的実施例において、フレームバッファ508のデータの各バイトは2つの 画素に関連付けられる情報を含む。この例においては、2つのメモリバイトのみ が書込動作中に修正されなければならない。信号OP COUNTは、最初のメ モリバイトの修正中に0の値を有してもよく、2番目のメモリバイトの修正中に 1の値を有してもよい。 図11は、フレームバッファ508のデータの各バイトが4つのピクセルに関 連付けられる情報を含む、映像データ読出動作に伴う動作のシーケンスを説明す るタイミング図である。図9および図10をともに参照して、ランドスケープ画 像に関連付けられかつフレームバッファ508に記憶される情報の4つのバイト からのポートレート画像に関連付けられる情報のバイトの再構成に関与する読出 動作をここで説明する。 アイドル状態902において、信号OP COUNTは0に初期化される。ス テートマシン900は、クロック信号CLKの立上がり縁で信号ROT ADD RおよびROTATE ENBがともにアサートされるとアイドル状態902か ら状態904に遷移する。状態904において制御ユニット612は正のパルス を信号START CAL Cとして発行して、アドレス計算器ユニット602にベースアドレス信号BAS E ADDRおよびバイト位置信号BYTE POSを計算させる。アドレス計 算器ユニット602は、ベースアドレス信号BASE ADDRの計算が完了す ると信号CALC DONEをアサートする。ステートマシン900は信号CA LC DONEがアサートされる状態でクロック信号CLKの立上がり縁におい て状態906に遷移する。 状態906において、制御ユニット612はクロック信号CLKの最初のサイ クル中に論理1の値で信号1ST ADDRを駆動し正のパルスを信号SYNC ADDRとして発行する。パルスSYNC ADDRによって、アドレス計算 器ユニット602はBASE ADDRと同じ値を伴う信号ADDR OUTを 発行する。状態906においてクロック信号CLKの2番目のサイクル中に制御 ユニット612は正のパルスを信号RMW OUTととして発行する。信号RM W OUTのアサーションにより、フレームバッファ508は、ハードウェア回 転ユニット504をフレームバッファ508に結合するバスのデータラインを、 アドレスADDR OUTの場所にあるデータで駆動する。信号OP COUN Tは0の値を有し、対応する制御信号SER 3がアサートされる。データアセ ンブリユニット606は、フレームバッファ508からアドレスADDR OU Tで得られるデータバイトからのビット1− 0を抽出する。状態906においてクロック信号CLKの3番目のサイクル中に 制御ユニット612は正のパルスを信号MEM RDとして発行する。データア センブリユニット606は、次いで、ハードウェア回転ユニット504をシステ ムバス506に結合するバスのデータラインを、フレームバッファ508のアド レスADDR OUTにあるデータバイトのビット1−0に等しい有効ビット7 −6を有するデータバイトで駆動する。状態906においてクロック信号CLK の4番目のサイクル中に制御ユニット612は正のパルスを信号MEM OP DONEとして発行する。信号DONEがデアサートされる状態での信号MEM OP DONEのアサーションによって、ステートマシン900はクロック信 号CLKの次の立上がり縁で状態906から状態908に遷移する。 状態908中に、制御ユニット612は信号1ST ADDRを論理0の値で 駆動し正のパルスを信号SYNC ADDRとして発行して、アドレス計算器ユ ニット602に(ADDR OUT+(W/R))の値を計算させこの値で信号 ADDR OUTを発行させる。ステートマシン900はクロック信号CLKの 次の立上がり縁で状態908から状態910に遷移する。 状態910において制御ユニット612はクロック信号CLKの最初のサイク ル中に正のパルスを信号RMW OUTとして発行する。信号RMW OUTの アサーション により、フレームバッファ508は、ハードウェア回転ユニット504をフレー ムバッファ508に結合するバスのデータラインを、アドレス(ADDR OU T+(W/R))の位置にあるデータで駆動する。制御ユニット612はOP COUNTの値を1で増分して1にし、対応する制御信号SER 2がアサート される。データアセンブリユニット606は、次いで、フレームバッファ508 のアドレス(ADDR OUT+(W/R))からのデータバイトのビット1− 0を抽出する。クロック信号CLKの第2のサイクル中に制御ユニット612は 正のパルスを信号MEM RDとして発行する。データアセンブリユニット60 6は、次いで、ハードウェア回転ユニット504をシステムバス506に結合す るバスのデータラインを、フレームバッファ508のアドレスADDR OUT にあるデータバイトのビット1−0に等しい有効ビット7−6と、フレームバッ ファ508のアドレス(ADDR OUT+(W/R))にあるデータバイトの ビット1−0に等しい有効ビット5−4とを有するデータバイトで駆動する。ク ロック信号CLKの3番目のサイクル中に制御ユニット612は正のパルスを信 号MEM OP DONEとして発行する。 ステートマシン900は、制御ユニット612が信号MEM OP DONE をアサートするまでは状態910に留まっている。制御ユニット612は、画像 回転動作が完 了すると信号DONEをバスインタフェースユニット503にアサートする。ク ロック信号CLKの立上がり縁で信号MEM OP DONEおよびDONEが ともにアサートされる場合には、ステートマシン900は状態902に遷移する 。クロック信号CLKの立上がり縁で信号MEM OP DONEがアサートさ れかつ信号DONEがデアサートされる場合には、ステートマシン900は状態 910から状態908に遷移して戻る。図11の例では、データバイト再構成動 作が完了する前に、フレームバッファ508の画素情報のさらに2つのバイトが アクセスされなければならない。上記のプロセスは、ポートレート画像に関連付 けられる有効バイトが、ランドスケープ画像に関連付けられかつフレームバッフ ァ508に記憶される4つのデータバイトの2ビットセグメントから再構成され るまで継続する。 代替的実施例において、フレームバッファ508のデータの各バイトは、2つ の画素に関連付けられる情報を含む。この場合、ポートレート画像に関連付けら れる有効バイトは、ランドスケープ画像に関連付けられかつフレームバッファ5 08に記憶される2つのデータバイトの4ビットセグメントから再構成される。 信号OP COUNTは、1番目のメモリバイトのアクセス中に0の値を有して もよく、2番目のメモリバイトのアクセス中に1の値を有してもよい。制御信号 SER 3およびSER 2は信号OP C OUNTが0の値を有するときにアサートされてもよく、制御信号SER 1お よびSER 0は信号OP COUNTが1の値を有するときにアサートされて もよい。 この発明はラスタ走査表示画像を時計回りまたは反時計回り方向に90°回転 させることができるように考えられることは、この開示の恩恵を受ける当業者に は理解されることである。さらに、図示され記載されるこの発明の形態は、例示 の、現在好ましい実施例としてとられるものであるということも理解されるべき である。さまざまな修正および変更が、請求の範囲に述べられるこの発明の精神 および範囲から逸脱することなくなされてもよい。以下の請求の範囲はすべての そのような修正および変更を包含すると解釈されることが意図される。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI H04N 1/387 9377−5H G06F 15/66 350B

Claims (1)

  1. 【特許請求の範囲】 1.フレームバッファに結合するようにされるハードウェア回転ユニットであっ て、 フレームバッファ内の記憶場所に対応する入力アドレス信号を受けるよう結合 されるアドレス計算器ユニットを含み、前記記憶場所は元のラスタ走査画像に関 連付けられるデータを記憶することができ、前記ハードウェア回転ユニットはさ らに、 前記アドレス計算器ユニット内において、前記入力アドレス信号を受け、前記 フレームバッファ内の記憶場所に各々が対応するような少なくとも1つの出力ア ドレス信号を生成するよう結合されるハードウェア論理を含み、前記フレームバ ッファの各記憶場所は回転されるラスタ走査画像に関連付けられ、前記回転され るラスタ走査画像は90度回転される前記元のラスタ走査画像であり、前記ハー ドウェア回転ユニットはさらに、 前記元のラスタ走査画像に関連付けられるデータを受け前記データを前記回転 されるラスタ走査画像に帰すよう結合されるデータアセンブリユニットを含む、 ハードウェア回転ユニット。 2.前記入力アドレスを受け、それを受取るとアルゴリズムステートマシンの動 作状態に従って前記アドレス計算器ユニットおよび前記データアセンブリユニッ トを可能化するよう結合される制御ユニットをさらに含む、請求項1に 記載のハードウェア回転ユニット。 3.前記データアセンブリユニットはコンピュータシステムバスと映像フレーム バッファとの間に結合される1対のマルチプレクサを含み、各マルチプレクサは データビットの複数の組のうちの1つを選択して前記システムバスと前記フレー ムバッファとの間で伝送するようにされる、請求項1に記載のハードウェア回転 ユニット。 4.前記ハードウェア論理は前記出力アドレス信号(ADDR OUT)を生成 するようともに結合される複数の加算器と減算器と乗算器と除算器とシフトユニ ットとデコーダとマルチプレクサとを含み、前記出力アドレス信号(ADDR OUT)は第3の項と第5の項との和から第6の項の値を引いたものに等しい値 を有し、 第1の項は、前記元のラスタ走査画像の水平走査線ごとの画素の数(H)を、 データの各バイトに関連付けられる画素の数(N)で除算した商に等しい値を有 し、 第2の項は、前記第1の項の値を法とした前記入力アドレス信号(ADDR IN)の値の結果に等しい値を有し、前記モジュロ演算は、前記入力アドレス信 号(ADDR IN)を前記第1の項の値で整数除算した剰余を生じさせ、 前記第3の項は、前記第2の項の値と、前記元のラスタ走査画像の水平走査線 の数(W)との積に等しい値を有し、 第4の項は、前記元のラスタ走査画像の水平走査線の数(W)を、データの各 バイトに関連付けられる画素の数 (N)で除算した商に等しい値を有し、 前記第5の項は、前記第4の項から量1を引いた値に等しい値を有し、 前記第6の項は、前記入力アドレス信号(ADDR IN)を、前記元のラス タ走査画像の水平走査線ごとの画素の数(H)で整数除算した商に等しい値を有 する、請求項1に記載のハードウェア回転ユニット。 5.前記ハードウェア論理は、ベースアドレス信号とバイト位置信号とアドレス オフセット信号とを生ずるようにともに結合される複数の加算器と減算器と乗算 器と除算器とシフトユニットとデコーダとマルチプレクサとレジスタとを含み、 前記アドレスオフセット信号は入力アドレス信号に対する出力アドレス信号のオ フセットに対応する、請求項3に記載のハードウェア回転ユニット。 6.前記ベースアドレス信号は第3の項と第5の項の和から第6の項の値を引い たものに等しい値を有し、 第1の項は、前記元のラスタ走査画像の水平走査線ごとの画素の数(H)を、 データの各バイトに関連付けられる画素の数(N)で除算した商に等しい値を有 し、 第2の項は、前記第1の項の値を法とした前記入力アドレス信号(ADDR IN)の値の結果に等しい値を有し、前記モジュロ演算は、前記入力アドレス信 号(ADDR IN)を前記第1の項の値で整数除算した剰余を生じさせ、 前記第3の項は、前記第2の項の値と、前記元のラスタ 走査画像の水平走査線の数(W)との積に等しい値を有し、 第4の項は、画像の水平走査線の数(W)を、データの各バイトに関連付けら れる画素の数(N)で除算した商に等しい値を有し、 前記第5の項は、前記第4の項から量1を引いた値に等しい値を有し、 前記第6の項は、前記入力アドレス信号(ADDR IN)を、前記元のラス タ走査画像の水平走査線ごとの画素の数(H)で整数除算した商に等しい値を有 する、請求項5に記載のハードウェア回転ユニット。 7.前記バイト位置は第3の項の値に等しい値を有し、 第1の項は、前記入力アドレス信号(ADDR IN)を、前記元のラスタ走 査画像の水平走査線ごとの画素の数(H)によって除算した商に等しい値を有し 、 第2の項は、前記第1の項と、データの各バイトに関連付けられる画素の数( N)との積に等しい値を有し、 前記第3の値は、データの各バイトに関連付けられる画素の数(N)を法とし た前記第2の項の値の結果に等しい値を有し、前記モジュロ演算は、前記第2の 項の値を、データの各バイトに関連付けられる画素の数(N)で整数除算した剰 余を生ずる、請求項5に記載のハードウェア回転ユニット。 8.前記アドレスオフセット信号の値は、データの各バイトに関連付けられる画 素の数(N)により除算される前記 元のラスタ走査画像の水平走査線の数(W)に等しい、請求項5に記載のハード ウェア回転ユニット。 9.システムバスと表示装置との間に結合される映像コントローラを含み、前記 映像コントローラは、 前記システムバスから、元のラスタ走査画像に関連付けられる入力アドレス信 号および対応するデータ信号を受取り、 表示情報を前記表示装置に伝送するようにされ、 前記映像コントローラは、 ラスタ走査画像に関連付けられるデータを記憶することができる複数の記憶場 所を含むフレームバッファと、 前記コンピュータシステムと前記フレームバッファとの間に結合されるハード ウェア回転ユニットとを含み、前記ハードウェア回転ユニットは、元のラスタ走 査画像に関連付けられる前記入力アドレスおよび対応するデータを前記システム バスから受けて、回転されたラスタ走査画像に関連付けられる少なくとも1つの 出力アドレス信号および対応するデータ信号を生成するようにされ、前記回転さ れたラスタ走査画像は90度回転された前記元のラスタ走査画像であり、前記映 像コントローラはさらに、 前記フレームバッファと前記表示装置との間に結合される画像表示システムを 含み、前記表示システムは回転されたラスタ走査画像に関連付けられるデータを 前記フレームバッファから受け表示情報を前記表示装置に伝送するよう にされる、コンピュータシステム。 10.前記ハードウェア回転ユニットは、回転されたラスタ走査画像に関連付け られる2つの出力アドレス信号および対応するデータ信号を生ずる、請求項9に 記載のコンピュータシステム。 11.前記ハードウェア回転ユニットは、回転されたラスタ走査画像に関連付け られる4つの出力アドレス信号および対応するデータ信号を生ずる、請求項9に 記載のコンピュータシステム。 12.ラスタ走査ポートレート画像に関連付けられる画素情報を修正してラスタ 走査ランドスケープ画像を表示する方法であって、 (i)ラスタ走査ポートレート画像の水平走査線ごとの画素の数(H)と、( ii)ラスタ走査ポートレート画像の水平走査線の数(W)と、(iii)データの 各バイトに関連付けられる画素の数(N)とを含むシステム構成データに関連付 けられる信号の値を初期化するステップと、 ラスタ走査ポートレート画像に関連付けられるフレームバッファ記憶場所に対 応する入力アドレス信号(ADDR IN)をコンピュータシステムバスから読 出すステップと、 前記信号ADDR IN、H、WおよびNの値で計算を行なって少なくとも1 つの出力アドレス信号(ADDR OUT)の値を得るステップとを含み、前記 出力アドレス 信号ADDR OUTはラスタ走査ランドスケープ画像に関連付けられるフレー ムバッファ記憶場所に対応し、前記ラスタ走査ランドスケープ画像は90度回転 される前記ラスタ走査ポートレート画像である、ラスタ走査ポートレート画像に 関連付けられる画素情報を修正してラスタ走査ランドスケープ画像を表示するた めの方法。 13.前記計算を行なうステップは、前記ADDR IN、H、WおよびN信号 の値の少なくとも1つの組合せを加算、減算、乗算および除算するステップを含 む、請求項12に記載の方法。 14.前記ADDR INに関連付けられるデータを前記ADDR OUTに帰 するステップと、ADDR OUTに関連付けられる前記データを前記フレーム バッファに書込むステップとをさらに含む、請求項12に記載の方法。 15.前記ADDR OUTのシーケンシャルな増分内でデータをラスタ走査す るステップと、表示装置上に前記ラスタ走査されたデータを表示するステップと をさらに含む、請求項14に記載の方法。
JP8530489A 1995-04-07 1996-04-05 画像の回転のための方法および装置 Pending JPH10501901A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41854995A 1995-04-07 1995-04-07
US08/418,549 1995-04-07
PCT/US1996/004682 WO1996031843A1 (en) 1995-04-07 1996-04-05 Method and apparatus for image rotation

Publications (1)

Publication Number Publication Date
JPH10501901A true JPH10501901A (ja) 1998-02-17

Family

ID=23658595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8530489A Pending JPH10501901A (ja) 1995-04-07 1996-04-05 画像の回転のための方法および装置

Country Status (5)

Country Link
US (1) US5966116A (ja)
EP (1) EP0736841A1 (ja)
JP (1) JPH10501901A (ja)
KR (1) KR970703568A (ja)
WO (1) WO1996031843A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132153A (ja) * 1998-10-26 2000-05-12 Seiko Epson Corp コンピュ―タシステム及び表示制御回路
US7417630B2 (en) 2001-08-24 2008-08-26 Sharp Kabushiki Kaisha Display controller, display control method, and image display device
JP2016186541A (ja) * 2015-03-27 2016-10-27 セイコーエプソン株式会社 記憶装置、表示ドライバー、電気光学装置及び電子機器

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011585A (en) 1996-01-19 2000-01-04 Apple Computer, Inc. Apparatus and method for rotating the display orientation of a captured image
US6226016B1 (en) * 1996-02-05 2001-05-01 Seiko Epson Corporation Display apparatus and method capable of rotating an image by 180 degrees
JP4001958B2 (ja) * 1996-08-19 2007-10-31 ソニー株式会社 撮像装置
USRE38471E1 (en) * 1996-09-27 2004-03-23 Apple Computer, Inc. Method and apparatus for display image rotation
US5973734A (en) 1997-07-09 1999-10-26 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
US6259470B1 (en) * 1997-12-18 2001-07-10 Intel Corporation Image capture system having virtual camera
US6275622B1 (en) * 1998-06-30 2001-08-14 Canon Kabushiki Kaisha Image rotation system
US6404909B2 (en) * 1998-07-16 2002-06-11 General Electric Company Method and apparatus for processing partial lines of scanned images
US6310986B2 (en) * 1998-12-03 2001-10-30 Oak Technology, Inc. Image rotation assist circuitry and method
US6317141B1 (en) 1998-12-31 2001-11-13 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US6639603B1 (en) * 1999-04-21 2003-10-28 Linkup Systems Corporation Hardware portrait mode support
US6680738B1 (en) 2002-02-22 2004-01-20 Neomagic Corp. Single-block virtual frame buffer translated to multiple physical blocks for multi-block display refresh generator
US6847385B1 (en) * 2002-06-01 2005-01-25 Silicon Motion, Inc. Method and apparatus for hardware rotation
US7376286B2 (en) * 2002-09-18 2008-05-20 Nxp B.V. Block-based rotation of arbitrary-shaped images
US8561069B2 (en) * 2002-12-19 2013-10-15 Fujitsu Limited Task computing
JP4189252B2 (ja) * 2003-04-02 2008-12-03 パナソニック株式会社 画像処理装置及びカメラ
US7868890B2 (en) * 2004-02-24 2011-01-11 Qualcomm Incorporated Display processor for a wireless device
KR101046587B1 (ko) 2004-07-16 2011-07-06 삼성전자주식회사 디스플레이장치 및 그 제어방법
KR100620372B1 (ko) * 2004-08-18 2006-09-08 삼성전자주식회사 영상을 회전시키는 방법, 컴퓨터 및 저장매체
US7307635B1 (en) * 2005-02-02 2007-12-11 Neomagic Corp. Display rotation using a small line buffer and optimized memory access
US7643038B2 (en) * 2005-06-29 2010-01-05 Qualcomm Incorporated Virtual device buffer for embedded device
US20090231351A1 (en) * 2005-07-21 2009-09-17 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device having data rotation/interleave function
US7512287B2 (en) * 2005-07-25 2009-03-31 Seiko Epson Corporation Method and apparatus for efficient image rotation
US8619313B2 (en) * 2005-10-28 2013-12-31 Hewlett-Packard Development Company, L.P. Scanning device with plural image capture zones on a platen
KR101246568B1 (ko) * 2006-06-09 2013-03-25 삼성전자주식회사 모바일 디스플레이 장치에서 가로 화면을 디스플레이하는방법과 장치 및 이를 포함하는 모바일 액정 표시 장치
KR100809699B1 (ko) * 2006-08-25 2008-03-07 삼성전자주식회사 디스플레이용 데이터 구동 장치, 데이터 출력 장치 및디스플레이용 데이터 구동 방법
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability
US9202444B2 (en) * 2007-11-30 2015-12-01 Red Hat, Inc. Generating translated display image based on rotation of a display device
US8116587B2 (en) * 2010-02-16 2012-02-14 Ricoh Co., Ltd. Method and apparatus for high-speed and low-complexity piecewise geometric transformation of signals
US8717391B2 (en) * 2010-11-19 2014-05-06 Apple Inc. User interface pipe scalers with active regions
US20120324400A1 (en) * 2011-06-15 2012-12-20 Caliendo Jr Neal Robert Rotation Of Multi-Workspace Environment Containing Tiles

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4245321A (en) * 1979-02-16 1981-01-13 The United States Of America As Represented By The Secretary Of The Navy Rotating raster generator
JPS58159184A (ja) * 1982-03-17 1983-09-21 Nec Corp 画像回転装置
GB2119197B (en) * 1982-03-19 1986-02-05 Quantel Ltd Video processing system for picture rotation
US4542377A (en) * 1982-12-27 1985-09-17 International Business Machines Corporation Rotatable display work station
JPS6073671A (ja) * 1983-09-30 1985-04-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション パタ−ン処理装置
US4658430A (en) * 1984-12-27 1987-04-14 International Business Machines Corp. System for rotating binary images
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
US4806920A (en) * 1986-03-28 1989-02-21 Nec Corporation Device for producing an output image while giving an original image a rotation of 90, 180, or 270
US5189404A (en) * 1986-06-18 1993-02-23 Hitachi, Ltd. Display apparatus with rotatable display screen
JPH0661103B2 (ja) * 1986-07-22 1994-08-10 日本電気株式会社 回転図形生成装置
US4929085A (en) * 1986-09-30 1990-05-29 Kabushiki Kaisha Toshiba Image data rotation processing method and apparatus therefor
US5063526A (en) * 1987-06-03 1991-11-05 Advanced Micro Devices, Inc. Bit map rotation processor
JPH077260B2 (ja) * 1987-11-20 1995-01-30 株式会社日立製作所 画像データ回転処理装置及びその方法
JPH01171067A (ja) * 1987-12-26 1989-07-06 Fanuc Ltd アドレス変換回路
EP0431581A3 (en) * 1989-12-06 1993-05-19 Radius Inc. Method and apparatus for changing the orientation of a video display
US5111192A (en) * 1989-12-20 1992-05-05 Xerox Corporation Method to rotate a bitmap image 90 degrees
US5412768A (en) * 1990-01-22 1995-05-02 Matsushita Graphic Communication Systems, Inc. Method and apparatus for rotating an image
US5124692A (en) * 1990-04-13 1992-06-23 Eastman Kodak Company Method and apparatus for providing rotation of digital image data
JPH04128884A (ja) * 1990-09-20 1992-04-30 Nec Off Syst Ltd パターン回転データ処理装置
JP3022903B2 (ja) * 1992-07-27 2000-03-21 富士ゼロックス株式会社 画像回転装置
US5384645A (en) * 1991-10-15 1995-01-24 Fuji Xerox Co., Ltd. Image rotating apparatus
US5361339A (en) * 1992-05-04 1994-11-01 Xerox Corporation Circuit for fast page mode addressing of a RAM with multiplexed row and column address lines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132153A (ja) * 1998-10-26 2000-05-12 Seiko Epson Corp コンピュ―タシステム及び表示制御回路
JP4631112B2 (ja) * 1998-10-26 2011-02-16 セイコーエプソン株式会社 コンピュータシステム及び表示制御回路
US7417630B2 (en) 2001-08-24 2008-08-26 Sharp Kabushiki Kaisha Display controller, display control method, and image display device
JP2016186541A (ja) * 2015-03-27 2016-10-27 セイコーエプソン株式会社 記憶装置、表示ドライバー、電気光学装置及び電子機器

Also Published As

Publication number Publication date
KR970703568A (ko) 1997-07-03
EP0736841A1 (en) 1996-10-09
US5966116A (en) 1999-10-12
WO1996031843A1 (en) 1996-10-10

Similar Documents

Publication Publication Date Title
JPH10501901A (ja) 画像の回転のための方法および装置
JP2970216B2 (ja) 画像表示装置およびビデオ画素データを生成するための方法
US5602565A (en) Method and apparatus for displaying video image
JPH09326958A (ja) 画像処理装置および処理方法
JPS59186A (ja) ラスタ走査型ビデオ表示器用色信号発生器
US5444497A (en) Apparatus and method of transferring video data of a moving picture
JP4892222B2 (ja) 画像表示装置およびその補正装置
TW200300497A (en) Back-end image transformation
JP2570344B2 (ja) 画像表示装置
JPH1115463A (ja) 図形処理装置及び図形処理方法
IE53301B1 (en) A crt display device with a picture-rearranging circuit
JPH1083168A (ja) 液晶表示装置
KR100210624B1 (ko) 디스플레이 제어방법, 디스플레이 제어기 및 이들을 이용한 디스플레이 장치
JP2005208413A (ja) 画像処理装置及び画像表示装置
JP4987230B2 (ja) 表示システムのための駆動方法、駆動回路、及び駆動装置
JP2609628B2 (ja) メモリアドレス制御装置
JP2008205641A (ja) 画像表示装置
US3688272A (en) Visual indication device in which a part of the indicated data can be changed
JPH11191077A (ja) メモリアドレス発生装置
KR100206580B1 (ko) 액정 표시 장치의 4분주 데이타를 위한 메모리 장치
JP2820068B2 (ja) 画像データ合成表示装置
SU1714584A1 (ru) Устройство дл отображени графической информации
AU673556B2 (en) Colour display system
JPS62223789A (ja) 動画表示装置
JPH04330490A (ja) 画像表示装置