JP2003338922A - 画像処理装置及び方法 - Google Patents

画像処理装置及び方法

Info

Publication number
JP2003338922A
JP2003338922A JP2002145649A JP2002145649A JP2003338922A JP 2003338922 A JP2003338922 A JP 2003338922A JP 2002145649 A JP2002145649 A JP 2002145649A JP 2002145649 A JP2002145649 A JP 2002145649A JP 2003338922 A JP2003338922 A JP 2003338922A
Authority
JP
Japan
Prior art keywords
buffer
data
memory
image
address
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
JP2002145649A
Other languages
English (en)
Inventor
Yukako Odanaga
由香子 小田長
Tetsuji Sumioka
徹次 住岡
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2002145649A priority Critical patent/JP2003338922A/ja
Publication of JP2003338922A publication Critical patent/JP2003338922A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Studio Circuits (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

(57)【要約】 【課題】 回転処理が高速で行えると共に、バッファの
追加を必要としない回転処理装置を提供することにあ
る。 【解決手段】転送元の矩形領域の画像を正方ブロックに
分割し、正方ブロック単位で、メモリから順に読み出し
て転送させ、メモリから正方ブロック単位で転送されて
きた画像を、バッファへの書き込みと読み出しを制御す
ることにより、正方ブロック単位で回転させ、正方ブロ
ック単位で回転された画像をメモリに転送し、転送元の
矩形領域の画像を読み出した方向に対して回転する方向
となる順番で、転送先の矩形領域に書き込むことで、画
像の回転処理が行える。このような画像の回転処理を、
BitBLT装置で実現する。また、正方ブロックは、
その一辺のデータ長が、メモリからのデータの転送単位
のデータ長に対応するようにすることで、正方ブロック
での回転処理を実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディジタル衛星
放送やディジタルCATV(Cable Television)放送の
画像処理に用いて好適な画像処理装置及び方法に関する
もので、特に、画像の回転処理に関わる。
【0002】
【従来の技術】ディジタルCS(Communication Satell
ite )放送やディジタルBS(Broadcast Satellite )
放送では、ビデオデータやオーディオデータが圧縮さ
れ、固定長のパケットとされ、MPEG(Moving Pictu
re Coding Experts Group )2−TS(Transport Stre
am)のトランスポートストリームに組み込まれて送信さ
れている。このようなディジタルBS放送やCS放送で
送られてくるMPEG2−TSのトランスポートストリ
ームを処理するための画像信号処理チップの開発が進め
られている。
【0003】このような画像信号処理チップには、グラ
フィックスプロセッサが搭載される。グラフィックスプ
ロセッサには、グラフィックスメモリ上の矩形領域の画
像をソース領域からデスティネーション領域に転送する
BitBLT(Bit Block Transfer)装置が設けられる。
BitBLT装置では、画像を転送するのに伴い、コピ
ー、カラー拡張、YCミキシング、カラー変換、アルフ
ァブレンディング、及び画面のスケーリング等が行われ
る。
【0004】
【発明が解決しようとする課題】近年、ディジタルカメ
ラが普及してきていることから、このような信号処理チ
ップで、メモリ上にある矩形領域の回転処理を行えるよ
うにすることが要望されている。
【0005】すなわち、このような画像信号処理チップ
では、放送により送られきた画像ばかりでなく、VCR
(Video Cassette Recorder)やディジタルカメラで撮影
された画像の処理が行われる。特に、ディジタルカメラ
が急速に普及していることから、ディジタルカメラで撮
影した画像の処理が盛んに行われるようになると考えら
れる。
【0006】ディジタルカメラの画面で人物やビルなど
の撮影を行う場合、カメラを90度回転させて、縦長に
して撮影を行うようなことが良くある。このように、カ
メラを90度回転させて撮影された画像を処理するよう
な場合に、メモリ上にある矩形領域の回転処理が行える
ことが望まれる。
【0007】従来、メモリ上にある矩形画像の回転処理
は、ホストプロセッサにより処理するのが一般的であ
る。ところが、ホストプロセッサにより回転処理を行わ
せるようにすると、ホストプロセッサは、元となるピク
セルイメージの矩形領域に対し、画素単位あるいはCP
Uのデータバス幅単位での、回転後の位置の算出と、メ
モリへの再描画を行わなければならない。また、画素単
位あるいはCPUのデータバス単位での処理となるた
め、頻繁なメモリへのアクセスが必要である。
【0008】あるいは、メモリへの効率的なアクセスを
実現するため、ある程度の画素数を含むブロック単位で
回転を実現する場合、回転後のデータを一時的に格納す
るための回転処理用バッファが必要となり、メモリ増設
によるハードウェアの規模が増大する問題がある。
【0009】また、回転処理及び回転する矩形画像をメ
モリに転送する間、各ブロックのアドレス計算や、デー
タ転送は、ホストプロセッサが実行するため、回転機能
を有するシステムに於いて、ホストプロセッサが占有さ
れ、パフォーマンスが低下する問題がある。
【0010】そこで、画像の回転処理をBitBLT装
置で行うようにすることが考えられる。BitBLT装
置は、上述のように、メモリ上の所定の矩形領域の画像
をソース領域からデスティネーション領域に転送する際
に、画像を回転させるような処理を行えるようにするこ
とが考えられる。
【0011】このような画像の回転処理機能をBitB
LT装置に持たせるようにする場合に考慮しなければな
らない点は、先ず、高速処理を可能にできるようにする
ことである。画像の回転処理をするのに、複雑な演算を
必要とするのでは、高速処理は不可能であり、BitB
LT装置で回転処理を行わせることは困難である。ま
た、回転処理を実現するのに、バッファを追加しなけれ
ばならないとすると、回路規模が大型化する。更に、回
転処理をする際に、バッファを何度もアクセスしなけれ
ばならないとすると、高速処理は不可能である。
【0012】したがって、この発明の目的は、回転対象
となる矩形画像の回転処理を行ってメモリへ転送する回
転処理装置であって、回転処理が高速で行えると共に、
バッファの追加を必要としない回転処理装置を提供する
ことにある。
【0013】
【課題を解決するための手段】この発明は、転送元の矩
形領域の画像を正方ブロックに分割し、正方ブロック単
位で、メモリから順に読み出して転送させる手段と、メ
モリから正方ブロック単位で転送されてきた画像を、バ
ッファへの書き込みと読み出しを制御することにより、
正方ブロック単位で回転させる手段と、正方ブロック単
位で回転された画像をメモリに転送し、転送元の矩形領
域の画像を読み出した方向に対して回転する方向となる
順番で、転送先の矩形領域に書き込む手段とを備えるよ
うにした画像処理装置である。
【0014】この発明は、転送元の矩形領域の画像を正
方ブロックに分割し、正方ブロック単位で、メモリから
順に読み出して転送させ、メモリから正方ブロック単位
で転送されてきた画像を、バッファへの書き込みと読み
出しを制御することにより、正方ブロック単位で回転さ
せ、正方ブロック単位で回転された画像をメモリに転送
し、転送元の矩形領域の画像を読み出した方向に対して
回転する方向となる順番で、転送先の矩形領域に書き込
むようにした画像回転処理方法である。
【0015】転送元の矩形領域の画像を正方ブロックに
分割し、正方ブロック単位で、メモリから順に読み出し
て転送させ、メモリから正方ブロック単位で転送されて
きた画像を、バッファへの書き込みと読み出しを制御す
ることにより、正方ブロック単位で回転させ、正方ブロ
ック単位で回転された画像をメモリに転送し、転送元の
矩形領域の画像を読み出した方向に対して回転する方向
となる順番で、転送先の矩形領域に書き込むことで、画
像の回転処理が行える。このような画像の回転処理を、
BitBLT装置で実現する。また、正方ブロックは、
その一辺のデータ長が、メモリからのデータの転送単位
のデータ長に対応するようにすることで、正方ブロック
での回転処理を実現する。
【0016】
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照して説明する。図1は、この発明が適用
されたBitBLT装置の一例の構成を示すものであ
る。このBitBLT装置1は、ディジタルCS放送や
ディジタルBS放送、ディジタルCATV放送で送られ
てきた画像データを処理するために、ディジタルCS放
送やディジタルBS放送、ディジタルCATV放送のセ
ットトップボックスや、テレビジョン受像機で使用され
る画像処理チップ内に設けられる。
【0017】図1に示すように、この発明が適用された
BitBLT装置1は、レジスタ制御部11と、メモリ
リード制御部12と、メモリライト制御部13と、コピ
ー制御部14と、CLUT参照用バッファ15と、回転
制御部16と、セレクタ17とを含んでいる。
【0018】BitBLT装置1は、リードFIFO(F
irst-In First-Out)25及びライトFIFO26を介し
て、メモリバス24と接続されている。メモリバス24
は、メモリ3との間で、画像データをやりとりするため
のバスである。メモリバス24としては、例えば、64
ビットのバス幅のものが用いられる。
【0019】リードFIFO25は、メモリ3から読み
出されたソースデータを一時的に格納するバッファであ
る。ライトFIFO26は、メモリ3へ書き込むデステ
ィネーションデータを一時的に格納するバッファであ
る。
【0020】メモリ3の画像データは、ホストプロセッ
サ2からのコマンドに応じてマッピングされ、一次元配
列又は二次元配列に展開されて格納される。画像データ
としては、1画素当たりのビット数が8ビット、16ビ
ット、又は32ビットとされる。なお、1画素当たりの
ビット数が8ビットのデータは、インデックスデータで
あり、ピクセルデータそのものではなく、色番号を示し
ている。
【0021】メモリ3に対して、メモリコントローラ2
2が設けられる。メモリコントローラ22は、BitB
LT装置1から発行されるメモリ3のリードリクエスト
及びライトリクエストと、読み出し又は書き込みを行う
メモリアドレスにしたがってって、メモリ3からリード
FIFO25へデータを格納し、また、ライトFIFO
26に格納されたデータをメモリ3に書き込むための制
御を行っている。
【0022】ホストプロセッサ2は、メモリ3への画像
データの送出コマンド等、BitBLT装置1にコマン
ドを送出する。ホストプロセッサ2からのコマンドは、
ホストインターフェース21、レジスタバス23を介し
て、BitBLT装置1に送られる。
【0023】BitBLT装置1は、コピー、カラー拡
張、YCミキシング、カラー変換、アルファブレンディ
ング、及び画面のスケーリング等の画像処理を行うハー
ドウェアアクセレータである。更に、この発明では、B
itBLT装置1には、所望の矩形領域の画像を回転さ
せて所望の矩形領域にコピーするような回転機能が付加
されている。
【0024】前述したように、画像データとしては、1
画素当たりのビット数が8ビット、16ビット、又は3
2ビットのフォーマットのものが用いられる。すなわ
ち、画像データは、1ピクセルが2のN乗ビットで表現
されるピクセルデータとされている。この2のN乗で表
現されるフォーマットを、2N {N=0,1,2 …} bpp (b
it per pixel)として定義するものとする。図2は、N
=3(8bpp)のフォーマットと、N=4(16bpp)の
フォーマットと、N=5(32bpp)のフォーマットの
一例である。
【0025】メモリバス24は、メモリ3との間で、画
像データをやりとりするためのバスである。メモリバス
24としては、例えば、64ビットのバス幅のものが用
いられる。メモリバス24には、メモリコントローラ2
2を介して、メモリ3が接続される。メモリ3として
は、例えば、SDRAM(Synchronous Dynamic RandomA
ccess Memory)が用いられる。メモリ3からは、64ビ
ットのデータが一度に転送される。
【0026】メモリ3の画像データは、ホストプロセッ
サ2からのコマンドに応じてマッピングされ、一次元配
列又は二次元配列に展開されて格納される。画像データ
としては、前述したように、1画素当たりのビット数が
8ビットのフォーマット(8bpp)と、1画素当たりの
ビット数が16ビットのフォーマット(16bpp)と、
1画素当たりのビット数が32ビットのフォーマット
(32bpp)が用いられている。
【0027】BitBLT装置1に対するホストプロセ
ッサ2からのコマンドは、ホストインターフェース2
1、レジスタバス23を介して、レジスタ制御部11に
送られる。レジスタ制御部11は、ホストプロセッサ2
がホストインターフェース21を介して設定するレジス
タを受け、各制御部にパラメータを渡している。
【0028】コピー制御を行う場合には、ホストプロセ
ッサ2からのコマンドに基づいて、BitBLT装置1
からメモリコントローラ22に、所望の転送元の矩形領
域のアドレスを指定して、リードリクエストが送られ
る。また、コピー制御を行う場合には、セレクタ17
は、端子17A側に設定される。メモリコントローラ2
2は、リードリクエストを受け取ると、メモリ3上の指
定されたアドレスをアクセスし、所望の転送元の矩形領
域の画像データをメモリ3から読み出す。
【0029】このメモリ3から読み出された矩形領域の
画像データは、メモリコントローラ22、メモリバス2
4、リードFIFO25を介して、メモリリード制御部
12に送られる。そして、メモリ3から送られてきた画
像データは、メモリリード制御部12からコピー制御部
14に送られる。
【0030】コピー制御部14で、カラー拡張、YCミ
キシング、カラー変換、アルファブレンディング、画面
のスケーリング等の処理が行われる。このようにコピー
処理された画像データがセレクタ17を介して、メモリ
ライト制御部13に送れる。
【0031】メモリライト制御部13からメモリコント
ローラ22に、所望の矩形領域の転送先のアドレスを指
定して、ライトリクエストが送られる。メモリコントロ
ーラ22は、ライトリクエストを受け取ると、メモリ3
上の指定されたアドレスをアクセスし、送られてきた画
像データを所望の転送先の矩形領域に書き込む。
【0032】このように、BitBLT装置1では、メ
モリ3の所望の矩形領域の画像データを、所望の矩形領
域にコピーする機能を主に行っている。そして、コピー
制御するのに伴い、カラー拡張、YCミキシング、カラ
ー変換、アルファブレンディング、画面のスケーリング
等の処理を行うことができる。
【0033】また、BitBLT装置1には、インデッ
クスデータ(8bppのフォーマットのデータ)からピク
セルイメージデータへの展開処理を行うためのCLUT
参照用バッファ15が備えられている。CLUT参照用
バッファ15は、図3に示すように、8ビットのインデ
ックスデータを、(α,Y,U,V)からなる32ビッ
トのピクセルデータに変換するためのテーブルであり、
256の色番号に対応する(α,Y,U,V)からなる
32ビットのピクセルデータが格納される。CLUT参
照用バッファ15としては、少なくとも、(32ビット
×256)の容量を有している。また、この発明が適用
されたBitBLT装置1においては、CLUT参照用
バッファ15は、物理的に、複数のバッファBuff0、Buf
f1、Buff2、…に分割されている。
【0034】回転制御を行う場合には、回転元になる転
送元の矩形領域と、回転先になる転送先の矩形領域と、
回転方角度とが指定される。そして、転送元の矩形領域
は、その一辺がメモリバス24のバス幅に対応する複数
の正方ブロックに分割されて処理が行われる。また、回
転制御を行う場合には、セレクタ17は、端子17B側
に設定される。正方ブロックについては、後に説明す
る。
【0035】メモリリード制御部12からは、メモリコ
ントローラ22に、回転元になる転送元の矩形領域の所
望の正方ブロックを指定して、リードリクエストが送ら
れる。メモリコントローラ22は、リードリクエストを
受け取ると、メモリ3上の指定された正方ブロックのデ
ータをアクセスし、この正方ブロックのデータをメモリ
3から読み出す。
【0036】このメモリ3から読み出された矩形領域の
画像データは、メモリコントローラ22、メモリバス2
4、リードFIFO25を介して、メモリリード制御部
12に送られる。そして、メモリ3から送られてきたデ
ータは、メモリリード制御部12から回転制御部16に
送られる。
【0037】ここで、回転元になる転送元の矩形領域は
正方ブロックに分割されて処理されており、正方ブロッ
クの一辺は、メモリバス24のバス幅(例えば64ビッ
ト)に対応しているので、1サイクルで正方ブロックの
一辺に相当するデータがメモリ3からメモリリード制御
部12に転送されてくる。
【0038】メモリリード制御部12からのデータは、
回転制御部16に送られる。回転制御部16は、CLU
T参照用バッファ15にデータを書き込み制御を行うバ
ッファライト制御部18と、CLUT参照用バッファ1
5からのデータの読み出し制御を行うバッファリード制
御部19とを有している。
【0039】CLUT参照用バッファ15は、前述した
ように、インデックスデータをピクセルデータに変換す
るためのものである。CLUT参照用バッファ15は、
図3Bに示すように、例えば256のエントリからな
る。CLUT参照テーブルとしては、通常、例えば不揮
発性RAMが用いられる。CLUT参照テーブルには、
256の各エントリのアドレスに対して、対応するピク
セルデータが書き込まれている。
【0040】図3Aに示すようなデータに対して、その
データの色番号をアドレスとして、CLUT参照テーブ
ルを読み出すことで、8ビットのインデックスデータが
(α,Y,U,V)からなるピクセルデータに変換され
る。
【0041】また、このCLUT参照用バッファ15
は、画像の回転処理を行う場合に、正方ブロック毎の回
転処理をするのに利用される。
【0042】メモリ3から転送されてきた正方ブロック
のデータは、CLUT参照用バッファ15に一旦書き込
まれ、それから、バッファリード制御部19により、C
LUT参照用バッファ15から読み出される。このと
き、正方ブロック毎の回転が完結するように、CLUT
参照用バッファ15に対する書き込みと読み出しが制御
される。また、CLUT参照用バッファ15に対する書
き込みと読み出しが効率的に行えるように、CLUT参
照用バッファ15は、複数のバッファBuff0、Buff1、Bu
ff2、…に物理的に分割されている。このことについて
は、後に、詳述する。
【0043】回転制御部16で、CLUT参照用バッフ
ァ15の読み出しと書き込みを制御することにより、上
述のように、正方ブロック内での回転処理が完結され
る。回転制御部16からのデータは、セレクタ17を介
して、メモリライト制御部13に送られる。
【0044】メモリライト制御部13からメモリコント
ローラ22に、所望の回転先になる転送先の矩形領域の
所望の正方ブロックを指定して、ライトリクエストが送
られる。メモリコントローラ22は、ライトリクエスト
を受け取ると、メモリ3上の指定された転送先の正方ブ
ロックをアクセスし、送られてきた画像データを所望の
転送先の正方ブロックに書き込む。
【0045】このように、回転元となる転送元の矩形領
域を複数の正方ブロックに分割し、この正方ブロックの
データをメモリ3から読み出し、BitBLT装置1に
転送し、BitBLT装置1の回転制御部16を介し
て、回転先となる転送先の矩形領域に書き込む際に、メ
モリ3から読み出す転送元の矩形領域の正方ブロックの
順番と、メモリ3に書き込む転送先の矩形領域の正方ブ
ロックの順番とを入れ替えることで、矩形領域の全体的
な回転制御が行える。更に、CLUT参照用バッファ1
5に対する書き込みと読み出しの制御により、各正方ブ
ロック毎の回転が完結する。これにより、回転制御が実
現される。
【0046】つまり、図4は、回転元となる転送元の矩
形領域を時計方向に90度回転させるときの処理を示す
ものである。
【0047】図4Aに示すように、転送元の矩形領域G
1は、複数の正方ブロックU1、U2、U3、U4、U
5、U6に分割されて処理される。時計方向の回転を行
う場合には、正方ブロックU1、U2、U3、U4、U
5、U6は、左から右、上から下の順に、メモリ3から
読み出され、BitBLT装置1の回転制御部16に送
られる。
【0048】BitBLT装置1の回転制御部16で、
CLUT参照用バッファ15に対する書き込みと読み出
しを制御することにより、図4Bに示すように、各正方
ブロックのデータは、正方ブロック毎に、時計方向に回
転される。このように、時計方向に回転された正方ブロ
ックRU1、RU2、RU3、RU4、RU5、RU6
がBitBLT装置1からメモリ3に送られる。
【0049】メモリ3には、図4Cに示すように、時計
方向に90度回転された正方ブロックRU1、RU2、
RU3、RU4、る5、RU6が、上から下、右から左
の順に書き込まれる。これにより、転送先の矩形領域G
2の画像は、転送元の矩形領域G1の画像を時計方向に
90度回転させたものとなる。
【0050】図5は、回転元となる転送元の矩形領域を
反時計方向に90度回転させるときの処理を示すもので
ある。反時計方向に回転させる場合も、時計方向の場合
と同様に、転送元の矩形領域G1は、複数の正方ブロッ
クU1、U2、U3、U4、U5、U6に分割されて処
理され、正方ブロックU1、U2、U3、U4、U5、
U6は、左から右、上から下の順に、メモリ3から読み
出され、BitBLT装置1の回転制御部16に送られ
る。
【0051】BitBLT装置1の回転制御部16で、
CLUT参照用バッファ15に対する書き込みと読み出
しを制御することにより、図5Bに示すように、各正方
ブロックのデータは、正方ブロック毎に、反時計方向に
回転される。このように、反時計方向に回転された正方
ブロックLU1、LU2、LU3、LU4、LU5、L
U6がBitBLT装置1からメモリ3に送られる。
【0052】メモリ3には、図5Cに示すように、反時
計方向に90度回転された正方ブロックLU1、LU
2、LU3、LU4、LU5、LU6が、下から上、左
か右の順に書き込まれる。これにより、転送先の矩形領
域G2の画像は、転送元の矩形領域G1の画像を反時計
方向に90度回転させたものとなる。
【0053】次に、BitBLT装置1を使った回転制
御の詳細について説明する。図6は、時計方向の回転制
御の詳細を説明するもであり、図7は、反時計方向の回
転制御を説明するものである。回転処理を行うために、
ホストプロセッサ2がレジスタ制御部11に設定するパ
ラメータは、以下のようなものがある(図8参照)。
【0054】(1) vsz: 対象矩形画像Y方向ライン数 (2) hsz: 対象矩形画像X方向ピクセル数 (3) src_pitch: 転送元画像のX方向ラインオフセット
(ピクセル数) (4) src_adr: 転送元矩形画像のスタートアドレス (5) dst_pitch: 転送先画像のX方向ラインオフセット
(ピクセル数)。 (6) dst_adr: 転送先矩形画像のスタートアドレス。
【0055】また、パラメータ(1)〜(6)に加え、ホスト
プロセッサ2は次のパラメータを設定する。 (7) 転送元画像ピクセルフォーマット (8) 回転角度 (9) 回転処理開始命令
【0056】図6A及び図7Aに示すように、回転処理
の対象となる転送元の画像の矩形領域は、対象矩形画像
Y方向ライン数vszと、対象矩形画像X方向ピクセル数hsz
と、転送元画像のX方向ラインオフセットsrc_pitchと、
転送元矩形画像のスタートアドレスsrc_adrとにより指
定される。図6B及び図7Bに示すように、転送先の画
像の矩形領域は、転送先画像のX方向ラインオフセットd
st_pitchと、転送先矩形画像のスタートアドレスdst_ad
rとにより指定される。
【0057】メモリ3上に展開する画像データは、図9
に示すように、二次元に展開しても、図9に示すよう
に、一次元に展開するようにしても良い。パラメータ
(2)(3)(5)(6)により、各ラインの先頭アドレスをライン
先頭アドレスに pitchを加算することで、一次元、二次
元配列に対応することができる。
【0058】転送元画像のピクセルフォーマットは、8
bppのフォーマットか、16bppフォーマットか、32bp
pフォーマットである。回転角度は、時計方向に90度
又は反時計方向に90度である。回転処理開始命令が与
えられると、回転処理が開始され、時計方向又は反時計
方向に回転処理が行われる。
【0059】図10は、回転処理を示すフローチャート
である。図10において、ホストプロセッサ2からBi
tBLT装置1に対して、回転開始命令が与えらると、
回転処理が開始される(ステップS1)。
【0060】先ず、1つの正方ブロックの一辺のピクセ
ル数が求められる(ステップS2)。前述したように、
回転処理を行う場合、矩形領域は正方ブロックに分割さ
れて処理され、この正方ブロックの一辺のビット数は、
メモリバス8のビット幅に対応している。したがって、
1つの正方ブロックの一辺のピクセル数は、メモリバス
24のバス幅と、フォーマットで決められている1画素
当たりのビット数とから、ピクセル数=メモリバスのビ
ット幅/1画素当たりのビット数として求められる。
【0061】例えば、メモリバス8のデータ幅が64ビ
ットで、ピクセルフォーマットが8bppの場合には、正
方ブロック一辺のピクセル数は、 ピクセル数=64(ビット)/8(bpp)=8 となる。
【0062】ピクセルフォーマットが16bppの場合に
は、正方ブロック一辺のピクセル数は、 ピクセル数=64(ビット)/16(bpp)=4 となる。
【0063】ピクセルフォーマットが32bppの場合に
は、正方ブロック一辺のピクセル数は、 ピクセル数=64(ビット)/32(bpp)=2 となる。
【0064】ステップS2で、1つの正方ブロックの一
辺のピクセル数が求められたら、次に、正方ブロックに
分割された回転対象となる転送元の画像の矩形領域のX
方向及びY方向のブロック数が取得される(ステップS
3)。
【0065】回転元となる転送元画像の矩形領域のX方
向のブロック数は、転送元の画像の矩形領域のX方向の
画素数を、正方ブロックの一辺の画素数で割り算するこ
とで求められる。転送元の画像の矩形領域のX方向の画
素数は、パラメータhszとして入力されている。また、
正方ブロックの一辺の画素数は、ステップS2で求めら
れている。また、回転元となる転送元画像の矩形領域の
Y方向のブロック数は、転送元の画像の矩形領域のY方
向の画素数を、正方ブロックの一辺の画素数で割り算す
ることで求められる。転送元の画像の矩形領域のY方向
の画素数は、パラメータvszとして入力されている。
【0066】なお、回転元となる転送元の矩形画像X方
向ピクセル数hsz及びY方向ピクセル数vszは正方ブロッ
クのピクセル数で割り切れるとは限らない。したがっ
て、回転元となる元画像の矩形領域のX方向及びY方向
のブロック数は、対象矩形画像X方向ピクセル数hsz及び
Y方向ピクセル数vszのパラメータを、正方ブロックの
ピクセル数で割ったときの商のブロック数と等しいか、
それ以上となる。
【0067】ステップS3で、正方ブロックに分割した
ときの回転対象となる矩形領域の画像のX方向及びY方
向のブロック数が取得されたら、次に、正方ブロックの
境界から回転対象画像部分までのオフセット値 v_offse
t、及び、正方ブロック境界から回転対象画像部分まで
の水平方向オフセット値 h_offset が算出される(ステ
ップS4)。
【0068】このオフセット値 v_offset, h_offset
は、X方向ピクセル数hsz及びY方向ライン数vszと、矩
形画像のスタートアドレスsrc_adrと、ブロック一辺の
ピクセル数から算出される。
【0069】次に、回転対象となる転送元の矩形領域の
画像の左端のソース先頭ラインアドレスが取得される
(ステップS5)。これは、 転送元矩形画像のスター
トアドレス src_adrと、転送元画像のX方向ラインオフ
セットsrc_pitchと、1画素当たりのピクセル数bppと、
垂直方向ブロック位置により算出される。
【0070】次に、転送先となる矩形領域の画像の左端
のデスティネーション先頭ラインアドレスが取得される
(ステップS6)。これは、回転方向、転送先矩形画像
のスタートアドレスdst_adr、転送先画像のX方向ライン
オフセットdst_pitch、1画素当たりのピクセル数bpp、
正方ブロックの境界から回転対象画像部分までの垂直方
向オフセット値v_offset、正方ブロック境界から回転対
象画像部分までの水平方向オフセットh_offset、垂直方
向ブロック位置により算出される。
【0071】次に、転送元となる矩形領域の画像の各正
方ブロック先頭アドレスsrc_blk_adrが取得される(ス
テップS7)。この転送元となる矩形領域の画像の各正
方ブロック先頭アドレスsrc_blk_adrは、ソース先頭ア
ドレスに、正方ブロック一辺分のピクセル数をインクリ
メントしていくことにより算出される。
【0072】次に、転送先となる矩形領域の各正方ブロ
ック先頭アドレスdst_blk_adrが取得される(ステップ
S8)。この転送先となる矩形領域の各正方ブロック先
頭アドレスdst_blk_adrは、デスティネーション先頭ア
ドレスに、正方ブロック一辺分のピクセル数をインクリ
メントしていくことにより算出される。
【0073】以上のようにして、回転制御に必要な各値
が求められたら、回転処理が開始される。
【0074】回転処理では、先ず、上述のようにして求
められた、回転元ブロック先頭アドレスsrc_blk_adrの
位置の正方ブロックの画像データが、メモリ3から読み
出される(ステップS9)。この読み出された正方ブロ
ックの画像データは、メモリコントローラ22、メモリ
バス24、リードFIFO25を介して、メモリリード
制御部12に送られる。
【0075】バッファライト制御部18の制御により、
メモリ3から送られてきた正方ブロックのデータがCL
UT参照用バッファ15に書き込まれる(ステップS1
0)。そして、CLUT参照用バッファ15に書き込ま
れた正方ブロックのデータは、バッファリード制御部1
9により、読み出される(ステップS11)。
【0076】CLUT参照用バッファ15は、複数のバ
ッファBuff0、Buff1、Buff2、…に物理的に分割されて
おり、CLUT参照用バッファ15に、データを書き込
み、読み出しすることで、正方ブロック内での回転処理
が完結する。
【0077】バッファリード制御部19から読み出され
た正方ブロックの画像データは、セレクタ17を介して
メモリライト制御部13に送られ、この正方ブロックの
データは、ライトFIFO26、メモリコントローラ2
2を介して、メモリ3に送られ、メモリ3の回転先ブロ
ック先頭アドレスdst_blk_adrに書き込まれる(ステッ
プS12)。
【0078】このように、ステップS9からステップS
12で、1つの正方ブロックをメモリ3から読み出し
て、CLUT参照用バッファ15での読み出し/書き込
みにより、正方ブロック内での回転を完結させて、再
び、メモリ3に正方ブロックのデータを書き込んだら、
水平方向に並ぶ正方ブロックの読み出しが終了したかど
うかが判断される(ステップS13)。
【0079】終了していない場合には、ステップS15
で、右に一つブロックが進められて(ステップS1
5)、ステップS7にリターンされる。そして、ステッ
プS7で、メモリ3の正方ブロック一辺分のアドレスが
src_blk_adrに加算されて次のブロックの先頭アドレス
が求められ、ステップS8で、転送先のブロック先頭ア
ドレスdst_blk_adrが取得される。それから、ステップ
S9からステップS12で、次の正方ブロックがメモリ
3から読み出され、CLUT参照用バッファ15での読
み出し/書き込みにより、正方ブロック内での回転を完
結され、再び、メモリ3に正方ブロックのデータを書き
込まれる。
【0080】以上の処理を繰り返していくことにより、
転送元の矩形領域の正方ブロックがメモリ3から、左か
ら右の順に読み出されていき、CLUT参照用バッファ
15の書き込み/読み出しにより、各正方ブロックの回
転が完結され、メモリ3の転送先のアドレスに、時計方
向なら上から下の順に、反時計方向なら下から上の順
に、書き込まれていく。そして、転送元の矩形領域の正
方ブロックが左端まで読み出されると、ステップS13
で、水平方向に並ぶ正方ブロックの読み出しが終了した
かどうかが判断される。
【0081】ステップS13で、水平方向に並ぶ正方ブ
ロックの読み出しが終了したと判断された場合には、垂
直方向の読み出しが終了したかどうかが判断される(ス
テップS14)。垂直方向の読み出しが終了していない
場合には、ステップS16で、垂直方向に一つブロック
が下げられ、ステップS17で、 矩形画像の左端に移
動され、ステップS5にリターンされる。
【0082】ステップS5、S6に戻り、ラインの先頭
アドレスが取得される。そして、ステップS7で、メモ
リ3の正方ブロック一辺分のアドレスがsrc_blk_adrに
加算されて次のブロックの先頭アドレスが求められ、ス
テップS8で、転送先のブロック先頭アドレスdst_blk_
adrが取得される。それから、ステップS9からステッ
プS12で、次の正方ブロックがメモリ3から読み出さ
れ、CLUT参照用バッファ15での読み出し/書き込
みにより、正方ブロック内での回転を完結され、再び、
メモリ3に正方ブロックのデータを書き込まれる。
【0083】以上の処理を繰り返していくことにより、
転送元の矩形領域の正方ブロックがメモリ3から、左か
ら右の順に読み出されていき、CLUT参照用バッファ
15の書き込み/読み出しにより、各正方ブロックの回
転が完結され、メモリ3の転送先のアドレスに、時計方
向なら上から下の順に、反時計方向なら下から上の順
に、書き込まれていく。更に、転送元の矩形領域の正方
ブロックが左端まで読み出されると、1つ下に並ぶある
水平方向の正方ブロックに対して、同様の処理が行われ
ていく。
【0084】やがて、転送元の矩形領域の画像に対する
処理が全て終了すると、ステップS13で、水平方向の
読み出しが全て終了したと判断され、ステップS14
で、垂直方向の読み出しが終了したかどうかが判断され
る。転送元の矩形領域の画像に対する処理が全て終了す
ると、ステップS18で、ホストプロセッサ2へ終了の
割り込みが発生され、ステップS19で、回転処理が終
了される。
【0085】前述したように、CLUT参照用バッファ
15は、複数のバッファBuff0、Buff1、Buff2、…に物
理的に分割されており、回転処理を行う場合には、CL
UT参照用バッファ15に、データを書き込み、読み出
しすることで、正方ブロック内での回転処理が完結され
る。このCLUT参照用バッファ15の回転処理を行う
際の制御について説明する。
【0086】CLUT参照用バッファ15は、16ビッ
トのデータ幅を有しており、0〜n個に、物理的に分割
される。16ビットのデータ幅は、8ビットのインデッ
クスデータを、16ビットのピクセルデータに変換する
ためである。
【0087】このCLUT参照用バッファ15の分割数
nは、メモリバス24のビット幅と、ピクセルフォーマ
ットのビット数とから、n = { メモリバスビット幅(bi
t)/ ピクセルフォーマット(bpp) }として決められる。
【0088】なお、メモリバス24のビット幅は、正方
ブロックの一辺のビット数と等しいので、CLUT参照
用バッファ15の分割数nは、正方ブロックの一辺のビ
ット数を、ピクセルフォーマットのビット数で割り算し
たものでもある。また、メモリバス24のビット幅とい
うのは、メモリ3から1サイクルで転送されてくるビッ
ト数ということもできる。このメモリバス24のビット
幅は、例えば、64ビットである。
【0089】画像データのピクセルフォーマットとして
は、前述したように、8bppと、16bppと、32bppと
が用いられる。
【0090】したがって、CLUT参照用バッファ15
の分割数は、画像データのピクセルフォーマットが32
bppの場合には、2つとなり、16bppの場合には、4つ
となり、8bppの場合には、8つとなる。
【0091】CLUT参照用バッファ15の領域のう
ち、回転処理に使用されるワード数は、メモリバス24
のビット幅(正方ブロック一辺のビット数)と、CLU
T参照用バッファ15のビット幅による。CLUT参照
用バッファ15のビット幅は、上述のように、32ビッ
トである。メモリバス24のビット幅は、64ビットで
ある。したがって、CLUT参照用バッファ15の領域
のうち、回転処理に使用されるワード数は、 (64ビット/32ビット)=2 となり、CLUT参照用バッファ15を構成する各バッ
ファbuff0、buff1、buff2、…のアドレス0とアドレス
1の2ワード分を回転処理に使用される。
【0092】Nを正方ブロック一辺ピクセル数(=ライン
数)とし、正方ブロックの一辺を64ビット、CLUT
参照用バッファ15のビット幅を32ビットとし、CL
UT参照用バッファ15を複数のバッファbuff0、buff
1、buff2、…に分割した場合、各バッファへのデータの
格納は以下の通りである。
【0093】n = {1,2,3 …}、1≦n≦N/2と定義し、1)
〜2)がブロック前半ライン、3)から4)がブロック後半ラ
インとなる。ここでBuff (番号) (0)の括弧内はバッフ
ァのアドレスを示す。ここでBuff (番号) (0)の括弧内
はバッファのアドレスを示す。
【0094】 1) Line 0 write: Buff 0(0) = {Line 0[63:32]} Buff 1(0) = {Line 0[31:0]} …
【0095】2) Line n-1 write: Buff N-2(0) = {Line
n-1[63:32]}, Buff N-1(0) = {Line n-1[31:0]}
【0096】 3) Line n write: Buff 0(1) = {Line n[31:0]}, Buff 1(1) = {Line n[63:32]}…
【0097】 4) Line N-1 write: Buff N-2(1) = {Line N-1 [31:
0]}, Buff N-1(1) = {Line N-1 [63:32]}
【0098】ここで注意が必要なのは、1ラインが、3
2ビット単位で2つのバッファにまたがって格納する点
と、Line n-1, Line nを境に、バッファに格納するデー
タの上位32ビット、 下位32ビットtが逆になってい
る点である。また、一辺がNピクセル(ライン)の1ブ
ロックをBuffに格納するには、最短Nサイクルで良い。
【0099】バッファへの書き込み制御とは対照的に、
バッファからのデータの読み出しは、回転角度によって
異なる。
【0100】ライン単位でデスティネーションメモリへ
転送が可能な様に、回転角度に対応して、メモリデータ
バス幅にバッファから読み出されるピクセルデータをマ
ルチプレクスする。バッファに格納されているブロック
の読み出しシーケンスは以下の通りである。
【0101】Buff (番号)(アドレス)[バッファword内ピ
クセル位置 n] とし、Lineは転送先のライン番号を示
す。ピクセル位置nは、ワード内左を0、右をnとする。
また、n= {1,2,3 …}、1≦n≦N/2と定義し、1)〜2)がブ
ロック前半ライン、3)から4)がブロック後半ラインとな
る。
【0102】時計回り90度回転: 1) Line 0[63:0] = { Buff N-1(1)[0], Buff N-3(1)[0]
, … , Buff 1(1)[0],Buff N-2(0)[0], Buff N-4(0)
[0] , … , Buff 0(0)[0]}….
【0103】2) Line n-1[63:0] = { Buff N-1(1)[n-
1], Buff N-3(1)[n-1] , … , Buff 1(1)[n-1],Buff N-
2(0)[n-1], Buff N-4(0)[n-1] , … , Buff 0(0)[n-1]}
【0104】3) Line n[63:0] = { Buff N-2(0)[0], Bu
ff N-4(0)[0] , … , Buff 0(0)[0]},Buff N-1(1)[0],
Buff N-3(1)[0] , … , Buff 1(1)[0] }….
【0105】4) Line N-1[63:0] = { Buff N-2(0)[n-
1], Buff N-4(0)[ n-1] , … , Buff0(0)[n-1]},Buff N
-1(1)[n-1], Buff N-(1)[ n-1] , … , Buff 1(1)[n-
1]}
【0106】反時計回り90度回転: 1) Line hsz-N [63:0] = { Buff 1(0)[n-1], … , Buff
N-3(0)[n-1], Buff N-1(0)[n-1] ,Buff 0(1)[n-1], …
, Buff N-4(1)[n-1] , Buff N-2(1)[n-1]}}….
【0107】2) Line hsz-(n-1) [63:0] = { Buff 1(0)
[0], … , Buff N-3(0)[0], Buff N-1(0)[0] ,Buff 0
(1)[0], … , Buff N-4(1)[0] , Buff N-2(1)[0]}}
【0108】3) Line hsz-n [63:0] = { Buff 0(0)[n-
1], … , Buff N-4(0)[n-1], Buff N-2(0)[n-1] ,Buff
1(1)[n-1], … , Buff N-3(1)[n-1] , Buff N-1(1)[n-
1]}}….
【0109】4) Line hsz-1 [63:0] = { Buff 0(0)[0],
… , Buff N-4(0)[0], Buff N-2(0)[0] ,Buff 1(1)
[0], … , Buff N-3(1)[0] , Buff N-1(1)[0]}}
【0110】ここで特徴的なのは、ラインの再構成する
各ピクセルデータが、別々のBuffに格納されているた
め、1サイクルで1Line分を読み出し可能な点である。
よって、一辺がNピクセル(ライン)の1ブロックの読み
出しは、最短Nサイクルで良い。
【0111】次に、より具体的な例に説明する。先ず、
画像のピクセルフォーマットが32bppの場合について
説明する。
【0112】図11、図12、図13は、画像のピクセ
ルフォーマットが32bppの場合の処理を示すものであ
る。図11はメモリ3から読み出されるデータを示し、
図12はCLUT参照用バッファ15のバッファBuff
0、Buff1での処理を示し、図13は時計回り又は反時計
回りに回転されてメモリ3に書き込まれるデータを示し
ている。画像のピクセルフォーマットが32bppの場合
には、CLUT参照用バッファ15の分割数は2つにな
り、バッファBuff0、Buff1が設けられる。
【0113】32bppの場合には、水平方向及び垂直方
向に2ピクセルずつ配置されて、一辺が64ビットの正
方ブロックとなる。
【0114】先ず書き込み時には、最初のサイクルで、
ラインLine0 の64ビットのデータ(A,0)(B,0)が入力さ
れる。バッファBuff0のアドレスAddr0には、この64ビ
ットのデータのうちの上位32ビットである(A,0)が書
き込まれ、バッファBuff1のアドレスAddr0には、下位3
2ビットである(B,0)が書き込まれる。
【0115】次のラインの境に、バッファに格納するデ
ータの上位32ビット、 下位32ビットが逆になる。
【0116】次のサイクルでは、ラインLine1の64ビ
ットのデータ(A,1)(B,1)が入力される。バッファBuff0
のアドレスAddr1には、この64ビットのデータのうち
の下位32ビットである(B,1)が書き込まれ、バッファB
uff1のアドレスAddr1には、上位32ビットである(A,1)
が書き込まれる。
【0117】正方ブロックのデータを時計回りに90度
回転させるときには、以下のような処理が行われる。
【0118】先ず、最初のサイクルでは、バッファBuff
1のアドレスAddr1のデータが読み出され、バッファBuff
0のアドレスAddr0のデータが読み出され、(A,1)(A,0)の
データが転送される。
【0119】次のラインから、バッファの読み出しの順
が逆になる。次のサイクルでは、バッファBuff0のアド
レスAddr1のデータが読み出され、バッファBuff1のアド
レスAddr0のデータが読み出され、(B,1)(B,0)のデータ
が転送される。
【0120】このようにして、正方ブロックのデータを
90度時計方向に回転させることができる。
【0121】正方ブロックのデータを反時計回りに90
度回転させるときには、以下のような処理が行われる。
【0122】最初のサイクルでは、バッファBuff1のア
ドレスAddr0のデータが読み出され、バッファBuff0のア
ドレスAddr1のデータが読み出され、(B,0)(B,1)のデー
タが転送される。
【0123】次のラインから、バッファの読み出しの順
が逆になる。次のサイクルでは、バッファBuff0のアド
レスAddr0のデータが読み出され、バッファBuff1のアド
レスAddr1のデータが読み出され、(A,0)(A,1)のデータ
が転送される。
【0124】このようにして、正方ブロックのデータを
90度時計方向に回転させることができる。
【0125】図14、図15、図16は、画像のピクセ
ルフォーマットが16bppの場合の処理を示すものであ
る。図14はメモリ3から読み出されるデータを示し、
図15はCLUT参照用バッファ15のバッファBuff
0、Buff1での処理を示し、図16は時計回り又は反時計
回りに回転されてメモリ3に書き込まれるデータを示し
ている。画像のピクセルフォーマットが16bppの場合
には、CLUT参照用バッファ15の分割数は4つにな
り、バッファBuff0からBuff4が設けられる。
【0126】最初のサイクルでは、ラインLine0 の64
ビットのデータ(A,0)(B,0)(C,0)(D,0)が入力される。バ
ッファBuff0のアドレスAddr0には、この64ビットのデ
ータのうちの上位32ビットである(A,0)(B,0)が書き込
まれ、バッファBuff1のアドレスAddr0には、下位32ビ
ットである(C,0)(D,0)が書き込まれる。
【0127】次のサイクルでは、ラインLine1の64ビ
ットのデータ(A,1)(B,1)(C,1)(D,1)が入力される。バッ
ファBuff2のアドレスAddr0には、この64ビットのデー
タのうちの上位32ビットである(A,1)(B,1)が書き込ま
れ、バッファBuff3のアドレスAddr0には、下位32ビッ
トである(C,1)(D,1)が書き込まれる。
【0128】次のラインの境に、バッファに格納するデ
ータの上位32ビット、 下位32ビットが逆になる。
【0129】次のサイクルでは、ラインLine2の64ビ
ットのデータ(A,2)(B,2)(C,2)(D,2)が入力される。バッ
ファBuff0のアドレスAddr1には、この64ビットのデー
タのうちの下位32ビットである(C,4)(D,4)が書き込ま
れ、バッファBuff1のアドレスAddr1には、上位32ビッ
トである(A,2)(B,2)が書き込まれる。
【0130】次のサイクルでは、ラインLine3の64ビ
ットのデータ(A,3)(B,3)(C,3)(D,3)が入力される。バッ
ファBuff2のアドレスAddr1には、この64ビットのデー
タのうちの下位32ビットである(C,3)(D,3)が書き込ま
れ、バッファBuff3のアドレスAddr1には、上位32ビッ
トである(A,3)(B,3)が書き込まれる。
【0131】正方ブロックのデータを時計回りに90度
回転させるときには、以下のような処理が行われる。
【0132】最初のサイクルでは、バッファBuff3のア
ドレスAddr1のワード0、バッファBuff1のアドレスAddr1
のワード0が読み出され、バッファBuff2のアドレスAddr
0のワード0、バッファBuff0のアドレスAddr0のワード0
が読み出され、(A,3)(A,2)(A,1)(A,0)のデータが転送さ
れる。
【0133】次のサイクルでは、バッファBuff3のアド
レスAddr1のワード1、バッファBuff1のアドレスAddr1の
ワード1が読み出され、バッファBuff2のアドレスAddr0
のワード1、バッファBuff0のアドレスAddr0のワード1が
読み出され、(B,3)(B,2)(B,1)(B,0)のデータが転送され
る。
【0134】次のラインから、バッファの読み出しの順
が逆になる。
【0135】次のサイクルでは、バッファBuff2のアド
レスAddr1のワード0、バッファBuff0のアドレスAddr1の
ワード0が読み出され、バッファBuff3のアドレスAddr0
のワード0、バッファBuff1のアドレスAddr0のワード0が
読み出され、(C,3)(C,2)(C,1)(C,0)のデータが転送され
る。
【0136】次のサイクルでは、バッファBuff2のアド
レスAddr1のワード1、バッファBuff0のアドレスAddr1の
ワード1が読み出され、バッファBuff3のアドレスAddr0
のワード1、バッファBuff1のアドレスAddr0のワード1が
読み出され、(D,4)(D,3)(D,2)(D,1)(D,0)のデータが転
送される。
【0137】このようにして、正方ブロックのデータを
90度時計方向に回転させることができる。
【0138】正方ブロックのデータを反時計回りに90
度回転させるときには、以下のような処理が行われる。
【0139】最初のサイクルでは、バッファバッファBu
ff2のアドレスAddr1のワード1、バッファバッファBuff0
のアドレスAddr1のワード1が読み出され、バッファバッ
ファBuff3のアドレスAddr0のワード1、バッファバッフ
ァBuff1のアドレスAddr0のワード1が読み出され、(D,0)
(D,1)(D,2)(D,3)のデータが転送される。
【0140】次のサイクルでは、バッファバッファBuff
2のアドレスAddr1のワード0、バッファバッファBuff0の
アドレスAddr1のワード0が読み出され、バッファバッフ
ァBuff3のアドレスAddr0のワード0、バッファバッファB
uff1のアドレスAddr0のワード0が読み出され、(C,0)(C,
1)(C,2)(C,3)のデータが転送される。
【0141】次のラインから、バッファの読み出しの順
が逆になる。
【0142】次のサイクルでは、バッファバッファBuff
3のアドレスAddr0のワード1、バッファバッファBuff1の
アドレスAddr0のワード1が読み出され、バッファバッフ
ァBuff2のアドレスAddr1のワード1、バッファバッファB
uff0のアドレスAddr1のワード1が読み出され、(B,0)(B,
1)(B,2)(B,3)のデータが転送される。
【0143】次のサイクルでは、バッファバッファBuff
3のアドレスAddr0のワード0、バッファバッファBuff1の
アドレスAddr0のワード0が読み出され、バッファバッフ
ァBuff2のアドレスAddr1のワード0、バッファバッファB
uff0のアドレスAddr1のワード0が読み出され、(A,0)(A,
1)(A,2)(A,3)のデータが転送される。
【0144】このようにして、正方ブロックのデータを
90度反時計方向に回転させることができる。
【0145】図17、図18、図19は、画像のピクセ
ルフォーマットが8bppの場合の処理を示すものであ
る。図17はメモリ3から読み出されるデータを示し、
図18はCLUT参照用バッファ15のバッファBuff
0、Buff1での処理を示し、図19は時計回り又は反時計
回りに回転されてメモリ3に書き込まれるデータを示し
ている。画像のピクセルフォーマットが8bppの場合に
は、CLUT参照用バッファ15の分割数は8つにな
り、バッファBuff0からBuff8が設けられる。
【0146】最初のサイクルでは、ラインLine0 の64
ビットのデータ(A,0)(B,0)(C,0)(D,0)(E,0)(F,0)(G,0)
(H,0)が入力される。バッファBuff0のアドレスAddr0に
は、この64ビットのデータのうちの上位32ビットで
ある(A,0)(B,0)(C,0)(D,0)が書き込まれ、バッファBuff
1のアドレスAddr0には、下位32ビットである(E,0)(F,
0)(G,0)(H,0)が書き込まれる。
【0147】次のサイクルでは、ラインLine1の64ビ
ットのデータ(A,1)(B,1)(C,1)(D,1)(E,1)(F,1)(G,1)(H,
1)が入力される。バッファBuff2のアドレスAddr0に
は、この64ビットのデータのうちの上位32ビットで
ある(A,1)(B,1)(C,1)(D,1)が書き込まれ、バッファBuff
3のアドレスAddr0には、下位32ビットである(E,1)(F,
1)(G,1)(H,1)が書き込まれる。
【0148】次のサイクルでは、ラインLine2の64ビ
ットのデータ(A,2)(B,2)(C,2)(D,2)(E,2)(F,2)(G,2)(H,
2)が入力される。バッファBuff4のアドレスAddr0には、
この64ビットのデータのうちの上位32ビットである
(A,2)(B,2)(C,2)(D,2)が書き込まれ、バッファBuff5の
アドレスAddr0には、下位32ビットである(E,2)(F,2)
(G,2)(H,2)が書き込まれる。
【0149】次のサイクルでは、ラインLine3の64ビ
ットのデータ(A,3)(B,3)(C,3)(D,3)(E,3)(F,3)(G,3)(H,
3)が入力される。バッファBuff6のアドレスAddr0には、
この64ビットのデータのうちの上位32ビットである
(A,3)(B,3)(C,3)(D,3)が書き込まれ、バッファBuff7の
アドレスAddr0には、下位32ビットである(E,3)(F,3)
(G,3)(H,3)が書き込まれる。
【0150】次のラインの境に、バッファに格納するデ
ータの上位32ビット、 下位32ビットが逆になる。
【0151】次のサイクルでは、ライン Line4の64ビ
ットのデータ(A,4)(B,4)(C,4)(D,4)(E,4)(F,4)(G,4)(H,
4)が入力される。バッファBuff0のアドレスAddr1には、
この64ビットのデータのうちの下位32ビットである
(E,4)(F,4)(G,4)(H,4)が書き込まれ、バッファBuff1の
アドレスAddr1には、上位32ビットである(A,4)(B,4)
(C,4)(D,4)が書き込まれる。
【0152】次のサイクルでは、ライン Line5の64ビ
ットのデータ(A,5)(B,5)(C,5)(D,5)(E,5)(F,5)(G,5)(H,
5)が入力される。バッファBuff2のアドレスAddr1には、
この64ビットのデータのうちの下位32ビットである
(E,5)(F,5)(G,5)(H,5)が書き込まれ、バッファBuff3の
アドレスAddr1には、上位32ビットである(A,5)(B,5)
(C,5)(D,5)が書き込まれる。
【0153】次のサイクルでは、ライン Line6の64ビ
ットのデータ(A,6)(B,6)(C,6)(D,6)(E,6)(F,6)(G,6)(H,
6)が入力される。バッファBuff4のアドレスAddr1には、
この64ビットのデータのうちの下位32ビットである
(E,6)(F,6)(G,6)(H,6)が書き込まれ、バッファBuff5の
アドレスAddr1には、上位32ビットである(A,6)(B,6)
(C,6)(D,6)が書き込まれる。
【0154】次のサイクルでは、ライン Line7の64ビ
ットのデータ(A,7)(B,7)(C,7)(D,7)(E,7)(F,7)(G,7)(H,
7)が入力される。バッファBuff6のアドレスAddr1には、
この64ビットのデータのうちの下位32ビットである
(E,7)(F,7)(G,7)(H,7)が書き込まれ、バッファBuff7の
アドレスAddr1には、上位32ビットである(A,7)(B,7)
(C,7)(D,7)が書き込まれる。
【0155】正方ブロックのデータを反時計回りに90
度回転させるときには、以下のような処理が行われる。
【0156】最初のサイクルでは、バッファBuff7のア
ドレスAddr1のワード0、バッファBuff5のアドレスAddr1
のワード0、バッファBuff3のアドレスAddr1のワード0、
バッファBuff1のアドレスAddr1のワード0のデータが読
み出され、バッファBuff6のアドレスAddr0のワード0、
バッファBuff4のアドレスAddr0のワード0、バッファBuf
f2のアドレスAddr0のワード0、バッファBuff0のアドレ
スAddr0のワード0のデータが読み出され、(A,7)(A,6)
(A,5)(A,4)(A,3)(A,2)(A,1)(A,0)のデータが転送され
る。
【0157】次のサイクルでは、バッファBuff7のアド
レスAddr1のワード1、バッファBuff5のアドレスAddr1の
ワード1、バッファBuff3のアドレスAddr1のワード1、バ
ッファBuff1のアドレスAddr1のワード1のデータが読み
出され、バッファBuff6のアドレスAddr0のワード1、バ
ッファBuff4のアドレスAddr0のワード1、バッファBuff2
のアドレスAddr0のワード1、バッファBuff0のアドレスA
ddr0のワード1のデータが読み出され、(B,7)(B,6)(B,5)
(B,4)(B,3)(B,2)(B,1)(B,0)のデータが転送される。
【0158】次のサイクルでは、バッファBuff7のアド
レスAddr1のワード2、バッファBuff5のアドレスAddr1の
ワード2、バッファBuff3のアドレスAddr1のワード2、バ
ッファBuff1のアドレスAddr1のワード2のデータが読み
出され、バッファBuff6のアドレスAddr0のワード2、バ
ッファBuff4のアドレスAddr0のワード2、バッファBuff2
のアドレスAddr0のワード2、バッファBuff0のアドレスA
ddr0のワード2のデータが読み出され、(C,7)(C,6)(C,5)
(C,4)(C,3)(C,2)(C,1)(C,0)のデータが転送される。
【0159】次のサイクルでは、バッファBuff7のアド
レスAddr1のワード3、バッファBuff5のアドレスAddr1の
ワード3、バッファBuff3のアドレスAddr1のワード3、バ
ッファBuff1のアドレスAddr1のワード3のデータが読み
出され、バッファBuff6のアドレスAddr0のワード3、バ
ッファBuff4のアドレスAddr0のワード3、バッファBuff2
のアドレスAddr0のワード3、バッファBuff0のアドレスA
ddr0のワード3のデータが読み出され、(D,7)(D,6)(D,5)
(D,4)(D,3)(D,2)(D,1)(D,0)のデータが転送される。
【0160】次のラインから、バッファの読み出しの順
が逆になる。
【0161】次のサイクルでは、バッファBuff6のアド
レスAddr1のワード0、バッファBuff4のアドレスAddr1の
ワード0、バッファBuff2のアドレスAddr1のワード0、バ
ッファBuff0のアドレスAddr1のワード0のデータが読み
出され、バッファBuff7のアドレスAddr0のワード0、バ
ッファBuff5のアドレスAddr0のワード0、バッファBuff3
のアドレスAddr0のワード0、バッファBuff1のアドレスA
ddr0のワード0のデータが読み出され、(E,7)(E,6)(E,5)
(E,4)(E,3)(E,2)(E,1)(E,0)のデータが転送される。
【0162】次のサイクルでは、バッファBuff6のアド
レスAddr1のワード1、バッファBuff4のアドレスAddr1の
ワード1、バッファBuff2のアドレスAddr1のワード1、バ
ッファBuff0のアドレスAddr1のワード1のデータが読み
出され、バッファBuff7のアドレスAddr0のワード1、バ
ッファBuff5のアドレスAddr0のワード1、バッファBuff3
のアドレスAddr0のワード1、バッファBuff1のアドレスA
ddr0のワード1のデータが読み出され、(F,7)(F,6)(F,5)
(F,4)(F,3)(F,2)(F,1)(F,0)のデータが転送される。
【0163】次のサイクルでは、バッファBuff6のアド
レスAddr1のワード2、バッファBuff4のアドレスAddr1の
ワード2、バッファBuff2のアドレスAddr1のワード2、バ
ッファBuff0のアドレスAddr1のワード2のデータが読み
出され、バッファBuff7のアドレスAddr0のワード2、バ
ッファBuff5のアドレスAddr0のワード2、バッファBuff3
のアドレスAddr0のワード2、バッファBuff1のアドレスA
ddr0のワード2のデータが読み出され、(G,7)(G,6)(G,5)
(G,4)(G,3)(G,2)(G,1)(G,0)のデータが転送される。
【0164】次のサイクルでは、バッファBuff6のアド
レスAddr1のワード3、バッファBuff4のアドレスAddr1の
ワード3、バッファBuff2のアドレスAddr1のワード3、バ
ッファBuff0のアドレスAddr1のワード3のデータが読み
出され、バッファBuff7のアドレスAddr0のワード3、バ
ッファBuff5のアドレスAddr0のワード3、バッファBuff3
のアドレスAddr0のワード3、バッファBuff1のアドレスA
ddr0のワード3のデータが読み出され、(H,7)(H,6)(H,5)
(H,4)(H,3)(H,2)(H,1)(H,0)のデータが転送される。
【0165】このようにして、正方ブロックのデータを
90度時計方向に回転させることができる。
【0166】正方ブロックのデータを反時計回りに90
度回転させるときには、以下のような処理が行われる。
【0167】最初のサイクルでは、バッファBuff1のア
ドレスAddr0のワード3、バッファbuff3のアドレスAddr0
のワード3、バッファBuff5のアドレスAddr0のワード3、
バッファBuff7のアドレスAddr0のワード3のデータが読
み出され、バッファBuf0のアドレスAddr1のワード3、バ
ッファBuff2のアドレスAddr1のワード3、バッファBuff4
のアドレスAddr1のワード3、バッファBuff6のアドレスA
ddr1のワード3のデータが読み出され、(H,0)(H,1)(H,2)
(H,3)(H,4)(H,5)(H,6)(H,7)のデータが転送される。
【0168】次のサイクルでは、バッファBuff1のアド
レスAddr0のワード2、バッファBuff3のアドレスAddr0の
ワード2、バッファBuff5のアドレスAddr0のワード2、バ
ッファBuff7のアドレスAddr0のワード2が読み出され、
バッファBuff0のアドレスAddr1のワード2、バッファBuf
f2のアドレスAddr1のワード2、バッファBuff4のアドレ
スAddr1のワード2、バッファBuff6のアドレスAddr1のワ
ード2が読み出され、(G,0)(G,1)(G,2)(G,3)(G,4)(G,5)
(G,6)(G,7)のデータが転送される。
【0169】次のサイクルでは、バッファBuff1のアド
レスAddr0のワード1、バッファBuff3のアドレスAddr0の
ワード1、バッファBuff5のアドレスAddr0のワード1、バ
ッファBuff7のアドレスAddr0のワード1が読み出され、
バッファBuff0のアドレスAddr1のワード1、バッファBuf
f2のアドレスAddr1のワード1、バッファBuff4のアドレ
スAddr1のワード1、バッファBuff6のアドレスAddr1のワ
ード1が読み出され、(F,0)(F,1)(F,2)(F,3)(F,4)(F,5)
(F,6)(F,7)のデータが転送される。
【0170】次のサイクルでは、バッファBuff1のアド
レスAddr0のワード0、バッファBuff3のアドレスAddr0の
ワード0、バッファBuff5のアドレスAddr0のワード0、バ
ッファBuff7のアドレスAddr0のワード0が読み出され、
バッファBuff0のアドレスAddr1のワード0、バッファBuf
f2のアドレスAddr1のワード0、バッファBuff4のアドレ
スAddr1のワード0、バッファBuff6のアドレスAddr1のワ
ード0が読み出され、(E,0)(E,1)(E,2)(E,3)(E,4)(E,5)
(E,6)(E,7)のデータが転送される。
【0171】次のラインから、バッファの読み出しの順
が逆になる。
【0172】次のサイクルでは、バッファBuff0のアド
レスAddr0のワード3、バッファBuff2のアドレスAddr0の
ワード3、バッファBuff4のアドレスAddr0のワード3、バ
ッファBuff6のアドレスAddr0のワード3が読み出され、
バッファBuff1のアドレスAddr1のワード3、バッファBuf
f3のアドレスAddr1のワード3、バッファBuff5のアドレ
スAddr1のワード3、バッファBuff7のアドレスAddr1のワ
ード3が読み出され、(D,0)(D,1)(D,2)(D,3)(D,4)(D,5)
(D,6)(D,7)のデータが転送される。
【0173】次のサイクルでは、バッファBuff0のアド
レスAddr0のワード2、バッファBuff2のアドレスAddr0の
ワード2、バッファBuff4のアドレスAddr0のワード2、バ
ッファBuff6のアドレスAddr0のワード2が読み出され、
バッファBuff1のアドレスAddr1のワード2、バッファBuf
f3のアドレスAddr1のワード2、バッファBuff5のアドレ
スAddr1のワード2、バッファBuff7のアドレスAddr1のワ
ード2が読み出され、(C,0)(C,1)(C,2)(C,3)(C,4)(C,5)
(C,6)(C,7)のデータが転送される。
【0174】次のサイクルでは、バッファBuff0のアド
レスAddr0のワード1、バッファBuff2のアドレスAddr0の
ワード1、バッファBuff4のアドレスAddr0のワード1、バ
ッファBuff6のアドレスAddr0のワード1が読み出され、
バッファBuff1のアドレスAddr1のワード1、バッファBuf
f3のアドレスAddr1のワード1、バッファBuff5のアドレ
スAddr1のワード1、バッファBuff7のアドレスAddr1のワ
ード1が読み出され、(B,0)(B,1)(B,2)(B,3)(B,4)(B,5)
(B,6)(B,7)のデータが転送される。
【0175】次のサイクルでは、バッファBuff0のアド
レスAddr0のワード0、バッファBuff2のアドレスAddr0の
ワード0、バッファBuff4のアドレスAddr0のワード0、バ
ッファBuff6のアドレスAddr0のワードが読み出され、バ
ッファBuff1のアドレスAddr1のワード0、バッファBuff3
のアドレスAddr1のワード0、バッファBuff5のアドレスA
ddr1のワード0、バッファBuff7のアドレスAddr1のワー
ド0が読み出され、(A,0)(A,1)(A,2)(A,3)(A,4)(A,5)(A,
6)(A,7)のデータが転送される。
【0176】このようにして、正方ブロックのデータを
90度反時計方向に回転させることができる。
【0177】なお、上述の例では、メモリのバス幅は6
4ビットとしているが、メモリのバス幅は、これに限定
されるものではない。また、上述の例では、CLUTバ
ッファを使って正方ブロックでの回転処理を行ってい
る。CLUTバッファを用いることにより、バッファ容
量を節約できるが、CLUTバッファを用いる構成とし
ないようにしても良い。
【0178】
【発明の効果】この発明によれば、転送元の矩形領域の
画像を正方ブロックに分割し、正方ブロック単位で、メ
モリから順に読み出して転送させ、メモリから正方ブロ
ック単位で転送されてきた画像を、バッファへの書き込
みと読み出しを制御することにより、正方ブロック単位
で回転させ、正方ブロック単位で回転された画像をメモ
リに転送し、転送元の矩形領域の画像を読み出した方向
に対して回転する方向となる順番で、転送先の矩形領域
に書き込むことで、画像の回転処理が行える。
【0179】このような画像の回転処理が、BitBL
T装置で実現される。また、正方ブロックは、その一辺
のデータ長が、メモリからのデータの転送単位のデータ
長に対応するようにしている。また、この正方ブロック
での回転処理が、CLUTバッファを用いて行われる。
これにより、バッファ容量が節約できる。そして、CL
UTバッファを物理的に分けることで、正方ブロックで
の回転処理を効率的に行える。
【図面の簡単な説明】
【図1】この発明の一実施の形態のブロック図である。
【図2】ピクセルフォーマットの説明に用いる略線図で
ある。
【図3】インデックス画像の説明に用いる略線図であ
る。
【図4】この発明の一実施の形態における正方ブロック
内での回転の説明に用いる略線図である。
【図5】この発明の一実施の形態における正方ブロック
内での回転の説明に用いる略線図である。
【図6】この発明の一実施の形態における回転処理の説
明に用いる略線図である。
【図7】この発明の一実施の形態における回転処理の説
明に用いる略線図である。
【図8】この発明の一実施の形態におけるパラメータの
設定の説明に用いる略線図である。
【図9】この発明の一実施の形態における座標設定の説
明に用いる略線図である。
【図10】この発明の一実施の形態の説明に用いるフロ
ーチャートである。
【図11】32bppのピクセルフォーマットの場合の回
転処理の説明に用いる略線図である。
【図12】32bppのピクセルフォーマットの場合の回
転処理の説明に用いる略線図である。
【図13】32bppのピクセルフォーマットの場合の回
転処理の説明に用いる略線図である。
【図14】16bppのピクセルフォーマットの場合の回
転処理の説明に用いる略線図である。
【図15】16bppのピクセルフォーマットの場合の回
転処理の説明に用いる略線図である。
【図16】16bppのピクセルフォーマットの場合の回
転処理の説明に用いる略線図である。
【図17】8bppのピクセルフォーマットの場合の回転
処理の説明に用いる略線図である。
【図18】8bppのピクセルフォーマットの場合の回転
処理の説明に用いる略線図である。
【図19】8bppのピクセルフォーマットの場合の回転
処理の説明に用いる略線図である。
【符号の説明】
1・・・BitBLT装置、2・・・ホストプロセッ
サ、3・・・メモリ、11・・・レジスタ制御部、12
・・・メモリリード制御部、13・・・メモリライト制
御部、14・・・コピー制御部、15・・・CLUT参
照用バッファ、16・・・回転制御部、18・・・バッ
ファライト制御部、19・・・バッファリード制御部、
23・・・レジスタバス、24・・・メモリバス
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B057 AA20 CA01 CA11 CA12 CA16 CD04 CD20 CH11 CH14 CH18 5C023 AA03 CA01 DA04 5C073 AA04 CE04 5C076 AA24 BA03 BA04

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 転送元の矩形領域の画像を正方ブロック
    に分割し、上記正方ブロック単位で、メモリから順に読
    み出して転送させる手段と、 上記メモリから上記正方ブロック単位で転送されてきた
    画像を、バッファへの書き込みと読み出しを制御するこ
    とにより、上記正方ブロック単位で回転させる手段と、 上記正方ブロック単位で回転された画像を上記メモリに
    転送し、上記転送元の矩形領域の画像を読み出した方向
    に対して回転する方向となる順番で、転送先の矩形領域
    に書き込む手段とを備えるようにした画像処理装置。
  2. 【請求項2】 上記正方ブロックは、その一辺のデータ
    長が、メモリからのデータの転送単位のデータ長に対応
    するようにした請求項1に記載の画像処理装置。
  3. 【請求項3】 上記バッファは、データ転送単位のビッ
    ト数をピクセルフォーマットのビット数で割り算した数
    に分割されている請求項1に記載の画像処理装置。
  4. 【請求項4】 上記バッファに書き込み、読み出しする
    ときのアドレス制御を、書き込み時には回転角度によら
    ず共通とし、読み出し時には、回転角度に応じて、読み
    出したデータが回転後のブロックに配置されるようにア
    ドレスとデータを制御するようにした請求項1に記載の
    画像処理装置。
  5. 【請求項5】 上記回転は、90度単位で、時計回り9
    0度又は反時計回りに90度である請求項1に記載の画
    像処理装置。
  6. 【請求項6】 上記バッファは、インデックスデータを
    ピクセルデータに変換するためのバッファと共用されて
    いる請求項1に記載の画像処理装置。
  7. 【請求項7】 上記転送元の矩形領域及び転送先の矩形
    領域は、メモリ上に一次元配列及び/又は二次元配列さ
    れている請求項1に記載の画像処理装置。
  8. 【請求項8】 転送元の矩形領域の画像を正方ブロック
    に分割し、上記正方ブロック単位で、メモリから順に読
    み出して転送させ、 上記メモリから上記正方ブロック単位で転送されてきた
    画像を、バッファへの書き込みと読み出しを制御するこ
    とにより、上記正方ブロック単位で回転させ、 上記正方ブロック単位で回転された画像を上記メモリに
    転送し、上記転送元の矩形領域の画像を読み出した方向
    に対して回転する方向となる順番で、転送先の矩形領域
    に書き込むようにした画像回転処理方法。
  9. 【請求項9】 上記正方ブロックは、その一辺のデータ
    長が、メモリからのデータの転送単位のデータ長に対応
    するようにした請求項8に記載の画像処理方法。
  10. 【請求項10】 上記バッファは、データ転送単位のビ
    ット数をピクセルフォーマットのビット数で割り算した
    数に分割されている請求項8に記載の画像処理方法。
  11. 【請求項11】 上記バッファに書き込み、読み出しす
    るときのアドレス制御を、書き込み時には回転角度によ
    らず共通とし、読み出し時には、回転角度に応じて、読
    み出したデータが回転後のブロックに配置されるように
    アドレスとデータを制御するようにした請求項8に記載
    の画像処理方法。
  12. 【請求項12】 上記回転は、90度単位で、時計回り
    90度又は反時計回りに90度である請求項8に記載の
    画像処理方法。
  13. 【請求項13】 上記バッファは、インデックスデータ
    をピクセルデータに変換するためのバッファと共用され
    ている請求項8に記載の画像処理方法。
  14. 【請求項14】 上記転送元の矩形領域及び転送先の矩
    形領域は、メモリ上に一次元配列及び/又は二次元配列
    されている請求項8に記載の画像処理方法。
JP2002145649A 2002-05-21 2002-05-21 画像処理装置及び方法 Pending JP2003338922A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002145649A JP2003338922A (ja) 2002-05-21 2002-05-21 画像処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002145649A JP2003338922A (ja) 2002-05-21 2002-05-21 画像処理装置及び方法

Publications (1)

Publication Number Publication Date
JP2003338922A true JP2003338922A (ja) 2003-11-28

Family

ID=29704873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002145649A Pending JP2003338922A (ja) 2002-05-21 2002-05-21 画像処理装置及び方法

Country Status (1)

Country Link
JP (1) JP2003338922A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114675A (ja) * 2011-11-29 2013-06-10 Apple Inc インライン画像回転
WO2017203675A1 (ja) * 2016-05-27 2017-11-30 三菱電機株式会社 グラフィックス描画装置、グラフィックス描画方法、表示システム、及びグラフィックス描画プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114675A (ja) * 2011-11-29 2013-06-10 Apple Inc インライン画像回転
US8797359B2 (en) 2011-11-29 2014-08-05 Apple Inc. Inline image rotation
WO2017203675A1 (ja) * 2016-05-27 2017-11-30 三菱電機株式会社 グラフィックス描画装置、グラフィックス描画方法、表示システム、及びグラフィックス描画プログラム

Similar Documents

Publication Publication Date Title
US7200287B2 (en) Method and apparatus for image processing, and a computer product
JP3748489B2 (ja) 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体
US7170553B2 (en) Image processing apparatus, image processing method and portable imaging apparatus
JPS58139241A (ja) 画像メモリアクセス方式
JPH1084557A (ja) ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア
JP2002157111A (ja) 画像制御装置およびその制御方法ならびにディジタルカメラ
JP2002064697A (ja) 画像処理装置及び画像処理方法
JP2003338922A (ja) 画像処理装置及び方法
JP3992269B2 (ja) 画像処理装置及び方法
US7538900B2 (en) Image processing apparatus, image processing method, and image processing system
US6151036A (en) Large capacity data storage device
JP2001061058A (ja) 画像処理装置
JPH08116545A (ja) 画像伝送方法および画像伝送システム
JPH10341437A (ja) 画像処理方法及び装置
JP2000322566A (ja) 画像表示装置及びその制御方法
JPH05113928A (ja) 画像メモリ装置
JPH0844855A (ja) 画像ファイリング装置及び画像データ転送方法
JP4228867B2 (ja) 画像処理装置及びその制御方法
JP3119366B2 (ja) 画像処理装置及び方法
JPH0563959A (ja) 画像処理方法および装置
JPS58138163A (ja) 画信号回転装置
JP3284767B2 (ja) 画像処理装置
JPH059832B2 (ja)
JPH0668757B2 (ja) 連続画像処理システム
JPH0296878A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080129