本発明の実施形態について図1〜図14に基づいて説明すれば、次の通りである。以下の特定の項目で説明する構成以外の構成については、必要に応じて説明を省略する場合があるが、他の項目で説明されている場合は、その構成と同じである。また、説明の便宜上、各項目に示した部材と同一の機能を有する部材については、同一の符号を付し、適宜その説明を省略する。
〔実施形態1〕
〔画像転送システム1〕
図1に基づき、本発明の一実施形態である画像転送システム1について説明する。図1は、画像転送システム1の構成を示すブロック図である。
図1に示すように、画像転送システム1は、ホストプロセッサ2(ホスト)、LCDコントローラ3、および、LCD4(表示制御部)を備える。本実施形態の画像転送システム1は、ホストプロセッサ2から転送される画像データ(データ)を後述するフレームメモリ31に対して書き込む書き込み動作と、フレームメモリ31に書き込まれた画像データを読み出してLCD4に転送する読み出し動作とを実行する装置である。なお、LCDコントローラ3がメモリ制御装置の一実施形態に相当しているものとする。
(ホストプロセッサ2)
ホストプロセッサ2は、装置本体(例えば、図2に示す携帯端末10など)のホストプロセッサ(CPU;Central Processing Unit)であって、装置本体の全般的な制御(処理)を司るとともに、LCD4に転送する画像データ、およびREQ(Request)信号などの各種の信号、handshakeフラグおよびBTA(Bus Turnaround;バス占有権)などの各種の制御コマンド、ならびに、VSS(Vertical Sync Start)パケットおよびBS(Blanking Start)パケットなどの各種パケットなどを、LCDコントローラ3に供給(転送)するものである。ホストプロセッサ2は、1つのフレームの画像を表す圧縮されていない画像データをLCDコントローラ3に転送する。
(LCDコントローラ3)
LCDコントローラ3は、画像データの入出力機構、ホストプロセッサ2から転送される画像データのフレームメモリ31への書き込み動作、および、フレームメモリ31から画像データを読み出してLCD4に転送する読み出し動作などの各種処理を行うものである。LCDコントローラ3は、ホストプロセッサ2から受け取った1フレーム分の画像データを、所定の圧縮方式で圧縮し、圧縮された画像データをフレームメモリ31に書き込む。また、LCDコントローラ3は、フレームメモリ31から圧縮された1フレーム分の画像データを読み出し、読み出した画像データを伸張(展開)し、伸張された画像データをLCD4に転送する。
図1に示すように、LCDコントローラ3(メモリ制御装置)は、フレームメモリ31、遅延制御部(タイミング制御部)32、圧縮部33、伸張部34、および制御レジスタ35を備える。
(フレームメモリ31)
フレームメモリ31は、所定の圧縮方式で圧縮された1フレーム分の画像データを格納できる画像メモリである。そのため、フレームメモリ31の容量(記録容量)は、ホストプロセッサ2から転送される1フレーム分の非圧縮の画像データのサイズより小さい。フレームメモリ31の容量はVsize(上限値)である。
(遅延制御部32)
遅延制御部32は、あるフレームの画像データをフレームメモリ31から読み出しを開始してからあらかじめ決められた禁止期間Tsが経過する迄、次のフレームの画像データをフレームメモリ31に書き込むことを禁止するよう、圧縮部33による書き込み開始タイミングを制御する。遅延制御部32は、あるフレームの画像データが読み出し開始されてから禁止期間Tsが経過した後、次のフレームの画像データの書き込み開始を許可する。禁止期間Tsは、後述する危険期間Td以上、かつ、読み出し期間Tout未満とすることができる。危険期間Tdはワーストケースを想定して求めることができる。ここで、読み出し期間Toutは、読み出し動作の開始から終了までの(一定の)期間である。一方、書き込み期間Tinは、書き込み動作の開始から終了までの(一定の)期間である。
また、遅延制御部32は、Tin>Toutの場合、あるフレームの画像データをフレームメモリ31に書き込み開始してからあらかじめ決められた出力遅延期間Outdlyが経過する迄、該フレームの画像データをフレームメモリ31から読み出すことを禁止するよう、伸張部34による読み出し開始のタイミングを制御する。
(圧縮部33)
圧縮部33は、ホストプロセッサ2から受け取った1フレーム分の画像データを、所定の圧縮方式で圧縮する。圧縮部33は、圧縮された1フレーム分の画像データをフレームメモリ31に書き込む。ここで、圧縮部33が用いる圧縮方式は、フレーム単位で画像データを可変長に圧縮する。そのため、フレーム毎に圧縮された画像データのサイズが異なりうる。また、フレームメモリ31への書き込み速度およびフレームメモリ31からの読み出し速度は一定ではない。ただし、書き込み速度および読み出し速度にはそれぞれ上限値および下限値が設けられている。また圧縮部33が用いる圧縮方式は、圧縮率(例えば圧縮率1/2)が保証された圧縮方式である。そのため、圧縮された1フレーム分の画像データは、上限値Vsize以下のサイズになる。なお、圧縮率が1/2である場合、ホストプロセッサ2から転送される圧縮されていない画像データ(1フレーム分)のサイズはVsize×2である。
(伸張部34)
伸張部34は、フレームメモリ31から圧縮された1フレーム分の画像データを読み出し、読み出した画像データを上記圧縮方式に対応する方式で伸張する。伸張部34は、伸張された1フレーム分の画像データをLCD4に転送する。
(制御レジスタ35)
制御レジスタ35は、ホストプロセッサ2からの各種制御コマンドを格納したり、格納している制御コマンドをホストプロセッサ2に送信したりするものである。制御コマンドとしては、各部(回路)でのパラメータの設定などに用いられる各種のデータ、たとえば、画像サイズ、ラインサイズ、周波数、転送待ち時間などがあげられる。
(LCD4)
LCD4は、ホストプロセッサ2からLCDコントローラ3を介して転送される画像データを表示するものである。
なお、本実施形態のLCD4は、例えば、TFT(thin film transistor)の半導体層に酸化物半導体が使われた液晶表示パネル(酸化物半導体液晶パネル)である。酸化物半導体としては例えばインジウム、ガリウム、および亜鉛から構成される酸化物(In−Ga−Zn−O)が挙げられる。
〔画像転送システム1の特徴的な動作〕
画像転送システム1のLCDコントローラ3では、ホストプロセッサ2から受け取った画像データを圧縮してフレームメモリ31に書き込む。そのため、フレームメモリ31の容量を小さくすることができる。
本実施形態では、以下のような制約がある。圧縮部33が用いる圧縮方式では、圧縮された画像データのサイズは、上限値Vsize以下となる。また、ホストプロセッサ2から1フレーム分の画像データが転送されてくる期間は一定であり、LCDコントローラ3からLCD4へ1フレーム分の画像データを転送する期間も一定である。すなわち、1フレーム分の画像データをフレームメモリ31へ書き込む期間(書き込み期間Tin)は一定であり、1フレーム分の画像データをフレームメモリ31から読み出す期間(読み出し期間Tout)は一定である。しかしながら、画像のサイズが同じでも画像の内容によって、フレームメモリ31への書き込み速度および読み出し速度が変化する。圧縮率が高いほど書き込み速度および読み出し速度が速い。また、書き込みまたは読み出しの途中で圧縮率が変化すると、それに応じて書き込み速度および読み出し速度が変化する。圧縮された画像データのサイズがVsizeである場合、書き込み期間Tinにおける平均書き込み速度wpは、Vsize/Tinである。フレームメモリ31への書き込み速度は、最大書き込み速度αwpおよび最小書き込み速度βwpの間で変動しうる。なお、αおよびβは圧縮方式によってあらかじめ決まる係数である。また、圧縮された画像データのサイズがVsizeである場合、読み出し期間Toutにおける平均読み出し速度rpは、Vsize/Toutである。フレームメモリ31からの読み出し速度は、最大読み出し速度αrpおよび最小読み出し速度βrpの間で変動しうる。書き込みおよび読み出しについて、最大速度の係数αおよび最小速度の係数βは共通である。なお、あるフレームの画像データの書き込み速度が遅い場合、該画像データを読み出す速度も同様に遅くなり、画像データの書き込み速度が速い場合、該画像データを読み出す速度も同様に速くなる。ただし、フレームが異なれば画像の内容が異なるので、異なるフレーム間では書き込み速度と読み出し速度との相関はないと考えられる。
LCDコントローラ3は、上記の制限の中で書き込み速度および読み出し速度が変化する場合でもティアリングが発生しないように、書き込み開始のタイミングを制御する。なお、書き込み期間Tinおよび読み出し期間Toutは画像転送システム1の仕様で決められるので、以下ではTinとToutの大小関係によって場合分けして、LCDコントローラ3の動作を説明する。
(書き込み期間Tin>読み出し期間Toutの場合)
図3は、書き込み期間Tinが読み出し期間Toutより長い場合における、フレームメモリ31への書き込みおよび読み出しの様子を示す図である。すなわち、ホストプロセッサ2からの画像データの転送が、LCD4への画像データの転送より遅い場合に対応する。図3において、横軸は時間、縦軸はフレームメモリ31上の位置(アドレス)を示す。フレームメモリ31の容量は、圧縮された画像データの最大サイズVsizeと同じである。
図3において、まず第1フレームの画像データが左下の原点から書き込まれる。ここでは圧縮された画像データのサイズはVsizeである。圧縮部33は、(圧縮された)画像データを書き込み期間Tinをかけてフレームメモリ31に書き込んでいく。書き込み期間Tinにおける平均書き込み速度wpは、Vsize/Tinであり、図3の一点鎖線で示される直線の傾きに相当する。最大書き込み速度αwpは、図3の破線で示される直線の傾きに相当する。最小書き込み速度βwpは、図3の実線で示される直線の傾きに相当する。これらの直線は、書き込みを行っている位置を示すライトポインタ(書き込みポインタ)が、ある時間にフレームメモリ31上のどの位置にあるかを示している。
すなわち、最小書き込み速度βwpで書き込みが行われている場合、経路Lw1に沿ってライトポインタが推移する。ただし、1フレーム分の画像データは一定の書き込み期間Tinで書き込まれるという制限を満たすために、経路Lw1ではある時点で書き込み速度が上昇する。経路Lw1は、ある時点まで最小書き込み速度βwpで書き込みが行われ、該時点から最大書き込み速度αwpで書き込みが行われる場合のライトポインタの推移を示す。経路Lw1は、書き込みが開始されてからライトポインタのフレームメモリ31上での推移が最も遅れる、すなわち書き込みが最も遅れる場合を示す。
一方、書き込みの開始から最大書き込み速度αwpで書き込みが行われている場合も同様に、一定の書き込み期間Tinをかけて書き込まれるという制限を満たすために、ある時点から最小書き込み速度βwpで書き込みが行われる。
図3において破線の書き込み経路および実線の書き込み経路(Lw1)で囲まれる平行四辺形の領域が、実際にライトポインタが推移しうる位置(範囲)である。つまり、ライトポインタの速度は一定ではなく、画像の内容によって、ライトポインタは平行四辺形の領域内の経路を推移しうる。
伸張部34は、第1フレームの画像データの書き込み開始から、出力遅延期間Outdly経過後に、第1フレームの画像データの読み出しを開始可能とする。第1フレームの画像データは、フレームメモリ31上において書き込み開始された位置から書き込まれているので、読み出すときも同じ位置から読み出しが開始される。一定の読み出し期間Toutをかけて1フレーム分の画像データの読み出しが行われる。そのため、読み出しを行っている位置を示すリードポインタ(読み出しポインタ)も、同様に、最大読み出し速度αrpおよび最小読み出し速度βrpの直線からなる平行四辺形の領域(図3における斜線部)の中を推移しうる。
ここで、画像データの書き込み速度が遅い場合は、該画像データの読み出し速度も遅くなり、画像データの書き込み速度が速い場合は、該画像データの読み出し速度も速くなる。すなわち、1つのフレームの画像データについて、ライトポインタwp1とリードポインタrp1とは同様の経路を辿る。すなわち、ある画像データについて、最大書き込み速度αwpで書き込みが始まる経路をライトポインタが推移した場合、リードポインタは、最大読み出し速度αrpで読み出しが始まる経路を推移する。一方、ある画像データについて、最小書き込み速度βwpで書き込みが始まる経路をライトポインタが推移した場合、リードポインタは、最小読み出し速度βrpで読み出しが始まる経路を推移する。
図3に示すように書き込みと読み出しとは同時に並行して進行することがあるが、出力遅延期間Outdlyが、|書き込み期間Tin−読み出し期間Tout|と同じである場合、書き込み終了時点のライトポインタwp1と読み出し終了時点のリードポインタrp1とが重なる。それゆえ、出力遅延期間Outdlyが、|Tin−Tout|より大きければ、読み出しが書き込みを追い越すことがない。すなわちティアリングが発生しないように書き込みの後の読み出しを行うことができる。
このように出力遅延期間Outdlyを設定すれば、第1フレームの画像データについて経路Lw1に沿って書き込みが行われる場合であっても、第1フレームの画像データの読み出しは経路Lr1に沿って行われる。そのため、書き込み速度が遅い場合であっても、ティアリングが発生しない。なお、画像データの読み出し開始は、出力遅延期間Outdly経過後よりさらに遅れる場合もある。その場合は、読み出し終了時点は、書き込み終了時点より読み出し開始が遅れた分だけ後になる。
図4は、書き込み期間Tinが読み出し期間Toutより長い場合における、フレームメモリ31への書き込みおよび読み出しの様子を示す図である。図4は、第1フレームの画像データを読み出し開始した後、次の第2フレームの画像データを書き込む場合を表す図である。ここでは、第1フレームの画像データの書き込みは、第1フレームの画像データの読み出し開始より前に終了しているとする。
第1フレームの画像データの読み出しが最も遅れる場合は、最小読み出し速度βrpで読み出しが始まる経路Lr1に沿ってリードポインタrp1が推移する場合である。第2フレームの画像データの書き込みが最も速くなる場合は、最大書き込み速度αwpで書き込みが始まる経路Lw2に沿ってライトポインタwp2が推移する場合である。図4に示すように、第1フレームの画像データの読み出しが開始されてから所定の危険期間Tdが経過した時点で第2フレームの画像データの書き込みを開始すると、第1フレームのリードポインタの経路Lr1と第2フレームのライトポインタの経路Lw2とが接する。すなわち、ある時点でリードポインタとライトポインタとが重なる。そこで、第1フレームの画像データの読み出しが開始されてから所定の危険期間Tdが経過した後に第2フレームの画像データの書き込みを開始すれば、第2フレームのライトポインタwp2が第1フレームのリードポインタrp1を追い越すことがない。すなわち、ティアリングが発生しない。
書き込み期間Tin>読み出し期間Toutの場合、次式(式1)の危険期間Tdは、図4から幾何的に求めることができる。
例えば、α=41/24、β=3/24である圧縮方式の場合、Td=0.447×Tout−0.033×Tinとなる。
それゆえ、書き込みが禁止される禁止期間Tsは、上記危険期間Td以上、かつ、読み出し期間Tout未満とすることができる。禁止期間Tsを危険期間Td以上とすることでティアリングを防止し、禁止期間Tsを読み出し期間Tout未満とすることで書き込み開始を早くすることができる。禁止期間Ts=危険期間Tdとした場合、ティアリングを防止した上で、ホストプロセッサ2からのデータ転送を最も早く許可することができる。このように、本実施形態では、第1フレームにおけるリードポインタrp1のフレームメモリ31上の推移が最も遅れる場合におけるリードポインタrp1の位置に、第2フレームのライトポインタwp2のフレームメモリ31上の推移が最も早まる場合におけるライトポインタwp2の位置が追いつかないように、リードポインタrp1の推移しうる範囲およびライトポインタwp2の推移しうる範囲に基づいて、禁止期間Tsをあらかじめ設定する。すなわち、ライトポインタwp2とリードポインタrp1とが重ならないように、禁止期間Tsをあらかじめ設定する。
なお、圧縮された画像データのサイズが上限Vsizeである場合、最も第1フレームのリードポインタに第2フレームのライトポインタが接近しうる。圧縮された画像データのサイズがVsize未満の場合も、第1フレームの画像データの読み出しが開始されてから上記危険期間Tdが経過するまで、書き込み開始を禁止していれば、ティアリングが発生することはない。
なお、禁止期間Tsにマージンを持たせてもよい。例えば、禁止期間Tsを危険期間Td以上、かつ、Td×11/10以下に設定して、禁止期間Tsに危険期間Tdの10%程度のマージンを持たせてもよい。
(書き込み期間Tin<読み出し期間Toutの場合)
図5は、書き込み期間Tinが読み出し期間Toutより短い場合における、フレームメモリ31への書き込みおよび読み出しの様子を示す図である。すなわち、ホストプロセッサ2からの画像データの転送が、LCD4への画像データの転送より速い場合に対応する。図5において、横軸は時間、縦軸はフレームメモリ31上の位置(アドレス)を示す。フレームメモリ31の容量はVsizeである。
図5において、まず第1フレームの画像データが左下の原点から書き込まれる。ここでは圧縮された画像データのサイズはVsizeである。圧縮部33は、(圧縮された)画像データを書き込み期間Tinをかけてフレームメモリ31に書き込んでいく。符号の意味は図3、4と同じである。ただし、TinおよびToutの大きさの関係が図3、4とは逆転している。
伸張部34は、第1フレームの画像データの書き込み開始の直後から、第1フレームの画像データの読み出しを開始可能とする。第1フレームの画像データは、フレームメモリ31上において書き込み開始された位置から書き込まれているので、読み出すときも同じ位置から読み出しが開始される。
ここで、画像データの書き込み速度が遅い場合は、該画像データの読み出し速度も遅くなり、画像データの書き込み速度が速い場合は、該画像データの読み出し速度も速くなる。すなわち、1つのフレームの画像データについて、ライトポインタwp1とリードポインタrp1とは同様の経路を辿る。すなわち、ある画像データについて、最大書き込み速度αwpで書き込みが始まる経路をライトポインタが推移した場合、リードポインタは、最大読み出し速度αrpで読み出しが始まる経路を推移する。一方、ある画像データについて、最小書き込み速度βwpで書き込みが始まる経路をライトポインタが推移した場合、リードポインタは、最小読み出し速度βrpで読み出しが始まる経路を推移する。
それゆえ、図5に示すように書き込み開始直後に読み出しを開始したとしても、最も書き込みが遅れる場合(経路Lw1)でも同様に読み出しも遅れる(経路Lr1)ので、読み出しが書き込みを追い越すことはない。Tin<Toutの場合、出力遅延期間Outdlyを設ける必要はない。
図6は、書き込み期間Tinが読み出し期間Toutより短い場合における、フレームメモリ31への書き込みおよび読み出しの様子を示す図である。図6は、第1フレームの画像データを読み出し開始した後、次の第2フレームの画像データを書き込む場合を表す図である。ここでは、第1フレームの画像データの書き込みは、第1フレームの画像データの読み出し開始より前に終了しているとする。
第1フレームの画像データの読み出しが最も遅れる場合は、最小読み出し速度βrpで読み出しが始まる経路Lr1に沿ってリードポインタrp1が推移する場合である。第2フレームの画像データの書き込みが最も速くなる場合は、最大書き込み速度αwpで書き込みが始まる経路Lw2に沿ってライトポインタwp2が推移する場合である。図6に示すように、第1フレームの画像データの読み出しが開始されてから所定の危険期間Tdが経過した時点で第2フレームの画像データの書き込みを開始すると、第1フレームのリードポインタの経路Lr1と第2フレームのライトポインタの経路Lw2とが接する。すなわち、ある時点でリードポインタとライトポインタとが重なる。そこで、第1フレームの画像データの読み出しが開始されてから所定の危険期間Tdが経過した後に第2フレームの画像データの書き込みを開始すれば、第2フレームのライトポインタwp2が第1フレームのリードポインタrp1を追い越すことがない。すなわち、ティアリングが発生しない。
書き込み期間Tin<読み出し期間Toutの場合、次式(式2)の危険期間Tdは、図6から幾何的に求めることができる。
例えば、α=41/24、β=3/24である圧縮方式の場合、Td=0.967×Tout−0.553×Tinとなる。
なお、書き込みが禁止される禁止期間Tsは、上記Td以上、かつ、読み出し期間Tout未満とすることができる。禁止期間Ts=危険期間Tdとした場合、ティアリングを防止した上で、ホストプロセッサ2からのデータ転送を最も早く許可することができる。
なお、圧縮された画像データのサイズが上限Vsizeである場合、最も第1フレームのリードポインタに第2フレームのライトポインタが接近しうる。圧縮された画像データのサイズがVsize未満の場合も、第1フレームの画像データの読み出しが開始されてから上記危険期間Tdが経過するまで、書き込み開始を禁止していれば、ティアリングが発生することはない。
なお、上記式1および上記式2の危険期間Tdは、1フレーム分の画像データをフレームメモリ31に書き込む際の、フレームメモリ31上の書き込み開始位置を、直前のフレームの画像データの書き込み終了位置の続きの位置とする場合のものである。
一方、書き込み開始位置を、常にフレームメモリ31上の同じ位置(例えば最初の位置)とする条件下の場合、危険期間Tdは、上記式1および上記式2より長くなる。この場合、Tin>ToutかTin<Toutかに関わらず、危険期間Td=Tout−(β/α)Tin、となる。なお上記条件下では、第1フレームにおける圧縮された画像データのサイズがβrp×Toutであり、かつ、第2フレームの書き込みが最大書き込み速度αwpで開始される場合が、ワーストケースである。
(タイミング制御のフロー)
図10に基づき、LCDコントローラ3側のタイミング制御のフローの一例について説明する。図10は、画像転送システム1の動作に関し、LCDコントローラ3側のタイミング制御の一例を示すフローチャートである。
遅延制御部32は、画像データを受信した場合の書き込み開始時点が、禁止期間Ts内になるか否かを判定する(ステップS71)。
書き込み開始時点が禁止期間Ts内になる場合(S71でYes)、LCDコントローラ3は、禁止期間Tsであることを示すLowレベルのTE(Tearing Effect)信号をホストプロセッサ2に送信する(S72)。
LowレベルのTE信号を受信したホストプロセッサ2は、画像データの転送を待機する(S73)。すなわち、LCDコントローラ3も、画像データの書き込みを待機する。その後、S71からのフローを繰り返す。
書き込み開始時点が禁止期間Ts外になる場合(S71でNo)、LCDコントローラ3は、禁止期間Tsではないことを示すHighレベルのTE信号をホストプロセッサ2に送信する(S74)。
HighレベルのTE信号を受信したホストプロセッサ2は、TE信号がHighレベルである期間において画像データの転送を開始する(S75)。画像データを受信したLCDコントローラ3は、画像データを圧縮し、圧縮された画像データのフレームメモリ31への書き込みを開始する。
(TE信号による禁止期間の通知)
図11は、禁止期間Tsをホストに通知するTE信号のタイミングを示す図である。TE信号は、LowレベルおよびHighレベルの2値からなる信号であり、LCDコントローラ3によってホストプロセッサ2に伝送される。LowレベルのTE信号は禁止期間Tsであることを示し、HighレベルのTE信号は禁止期間ではないことを示す。垂直同期信号Vsyncは、LCD4からLCDコントローラ3に伝送される信号である。垂直同期信号VsyncがLowレベル(Lowパルス)になったタイミングで。画像データの読み出しが開始される。
ホストプロセッサ2は、TE信号がLowレベルである間は画像データの転送を開始せず、TE信号がHighレベルである間に画像データをLCDコントローラ3に転送を開始する。
(Tin<Toutの場合)
図11の(a)は、Tin<Toutの場合におけるTE信号を示す。ここでは第1フレームおよび第3フレームの画像データの書き込みは図示を省略している。第1フレームの画像データの読み出し開始の時点から、TE信号がLowレベルになる。TE信号がLowレベルになってから禁止期間Ts経過すると、TE信号がHighレベルになる。
TE信号がHighレベルの間に、ホストプロセッサ2は、第2フレームの画像データの転送を行う。それとともに、LCDコントローラ3の圧縮部33は、受信した画像データの圧縮とフレームメモリ31への書き込み開始を行う。その後、垂直同期信号Vsyncに基づいて第2フレームの画像データの読み出しが開始されると同時に、TE信号がLowレベルになる。
(Tin>Toutの場合)
図11の(b)は、Tin>Toutの場合におけるTE信号を示す。ここでは第1フレームおよび第3フレームの画像データの書き込みは図示を省略している。(イ)は、LCD4として酸化物半導体液晶パネルを用いた場合の信号の例を示し、(ロ)はLCD4としてCGS(Continuous Grain Silicon)液晶パネルを用いた場合の例を示す。
酸化物半導体液晶パネル(イ)の場合、第1フレームの画像データの読み出し開始の時点から、TE信号がLowレベルになる。TE信号がLowレベルになってから禁止期間Ts経過すると、TE信号がHighレベルになる。
一方、CGS液晶パネル(ロ)の場合、第1フレームの画像データの読み出し終了の時点から、TE信号がLowレベルになる。第2フレームの画像データの読み出し開始から禁止期間Ts経過すると、TE信号がHighレベルになる。
ホストプロセッサ2が画像データの転送を開始できる期間は、TE信号がHighレベルの期間である。酸化物半導体液晶パネルでは、リフレッシュレートを例えば60Hzから1Hz程度まで下げる(変更する)ことが可能であるため、画像データの読み出し開始を遅らせる(待たせる)ことができる。そのため、酸化物半導体液晶パネル(イ)では、CGS液晶パネル(ロ)に比べて、画像データの転送を開始することができる期間を長く設定することができる。これにより、ホストプロセッサ2が画像データの転送を開始するタイミングの自由度が増えるため、ホストプロセッサ2の処理の遅延を低減することができる。それゆえ、ホストプロセッサ2で画像データの処理が行えなくなる事態を防止し、表示における画像のコマ落ちを回避することができる。
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。本実施形態では、画像転送システムのブロック構成は実施形態1と同じであるが、フレームメモリ31の容量および遅延制御部32の動作が上述の実施形態とは異なる。
(フレームメモリ31)
フレームメモリ31の容量Vmは、Vsize+Vaより大きい。追加容量Vaの下限値は、後述する方法で決定することができる。なおフレームメモリ31の容量Vmは、Vsizeの2倍より小さい。
(遅延制御部32)
遅延制御部32は、Tin>Toutの場合、あるフレームの画像データをフレームメモリ31に書き込み開始してからあらかじめ決められた出力遅延期間Outdlyが経過する迄、該フレームの画像データをフレームメモリ31から読み出すことを禁止するよう、伸張部34による読み出し開始タイミングを制御する。
〔画像転送システムの特徴的な動作〕
本実施形態では、実施形態1と同様の制約がある。圧縮部33が用いる圧縮方式では、圧縮された画像データのサイズは、上限値Vsize以下となる。書き込み期間Tinおよび読み出し期間Toutは一定である。圧縮率が高いほど書き込み速度および読み出し速度が速い。また、書き込みまたは読み出しの途中で圧縮率が変化すると、それに応じて書き込み速度および読み出し速度が変化する。フレームメモリ31への書き込み速度は、最大書き込み速度αwpおよび最小書き込み速度βwpの間で変動しうる。フレームメモリ31からの読み出し速度は、最大読み出し速度αrpおよび最小読み出し速度βrpの間で変動しうる。書き込みおよび読み出しについて、最大速度の係数αおよび最小速度の係数βは共通である。なお、あるフレームの画像データの書き込み速度が遅い場合、該画像データを読み出す速度も同様に遅くなり、画像データの書き込み速度が速い場合、該画像データを読み出す速度も同様に速くなる。また、1フレーム分の画像データをフレームメモリ31に書き込む際の、フレームメモリ31上の書き込み開始位置(フレームメモリ31上のアドレス)は、直前のフレームの画像データの書き込み終了位置の続き(近傍)の位置とする。画像データは、書き込み開始位置からアドレス順にフレームメモリ31上に書き込まれ、読み出し開始位置からアドレス順に読み出される。1フレーム分の画像データの読み出し開始位置は、直前の(当該フレームの)書き込み開始位置とする。フレームメモリ31の最後の位置の次は、最初の位置に書き込み/読み出しがされる。フレームメモリ31は、FIFO(First-in First-out)状に周期境界的に使用される。ここで周期境界的に使用されるとは「フレームメモリ31の最後の位置(アドレス)まで書き込むと、続きはフレームメモリ31の最初の位置(アドレス)から書き込まれる」ことを意味する。
LCDコントローラ3は、あるフレームの読み出しが開始された直後から次のフレームの書き込み開始を許可する。その場合でもティアリングが発生しないように、フレームメモリ31は、1フレーム分の圧縮された画像データの上限サイズVsizeに加えて、少なくとも追加容量Vaの容量を有する。ただし、フレームメモリ31の容量Vmは、1フレーム分の圧縮された画像データの上限サイズVsizeの2倍より小さい。
なお、書き込み期間Tinおよび読み出し期間Toutは画像転送システム1の仕様で決められるので、以下ではTinとToutの大小関係によって場合分けして、フレームメモリ31に必要な追加容量について説明する。必要な追加容量は、TinとToutの大小関係によって変わる。
(書き込み期間Tin>読み出し期間Toutの場合)
図7は、書き込み期間Tinが読み出し期間Toutより長い場合における、フレームメモリ31への書き込みおよび読み出しの様子を示す図である。すなわち、ホストプロセッサ2からの画像データの転送が、LCD4への画像データの転送より遅い場合に対応する。図7において、横軸は時間、縦軸はフレームメモリ31上の位置(アドレス)を示す。図7では、フレームメモリ31の容量Vmは、圧縮された画像データの最大サイズVsizeより追加容量Va分大きいとする。
なお、実施形態1の図3の場合と同様に、出力遅延期間Outdlyを設ければ、読み出しが書き込みを追い越すことがない。すなわちティアリングが発生しないように書き込みの後の読み出しを行うことができる。
ここでは、第1フレームの画像データを読み出し開始した後、次の第2フレームの画像データを書き込む場合について説明する。第1フレームの画像データの書き込み(経路Lw1)は、第1フレームの画像データの読み出し開始より前に終了しているとする。なお、第1フレームの(圧縮された)画像データおよび第2フレームの(圧縮された)画像データのサイズは、ともにVsizeであるとする。
第1フレームの画像データの読み出しが最も遅れる場合は、最小読み出し速度βrpで読み出しが始まる経路Lr1に沿ってリードポインタrp1が推移する場合である。第2フレームの画像データの書き込みが最も速くなる場合は、最大書き込み速度αwpで書き込みが始まる経路Lw2に沿ってライトポインタwp2が推移する場合である。図7は、第1フレームの画像データの読み出し開始の直後に第2フレームの画像データの書き込みが開始された場合を示す。第2フレームの画像データの書き込みは、直前の第1フレームの画像データの書き込みの終了位置から開始される。すなわち、第2フレームの画像データは、メモリ上においてVsizeの続きから書き込まれる。第2フレームの画像データは、追加容量Vaより大きいので、フレームメモリ31の最後の位置(アドレス)まで書き込むと、続きはフレームメモリ31の最初の位置(アドレス)から書き込まれる。図7では理解を助けるために容量Vmを越えた部分も仮想的に描いている。
図7に示すように、容量Vm=Vsize+Vaであると、ある時点で第1フレームのリードポインタの経路Lr1と第2フレームのライトポインタの経路Lw2とが接する。すなわち、ある時点でリードポインタとライトポインタとが重なる。そこで、容量Vm>Vsize+Vaであれば、第2フレームのライトポインタwp2が第1フレームのリードポインタrp1を追い越すことがない。すなわち、ティアリングが発生しない。
書き込み期間Tin>読み出し期間Toutの場合、次式(式3)の追加容量Vaは、図7から幾何的に求めることができる。
例えば、α=41/24、β=3/24である圧縮方式の場合、Va=(0.764(Tout/Tin)−0.056)Vsizeとなる。
それゆえ、フレームメモリ31の容量Vmは、Vsize+Vaより大きく、かつ、2×Vsize未満とすることができる。このようにすれば、第1フレームの画像データの読み出し開始直後から第2フレームの画像データの書き込み開始を許可することができる。すなわち、禁止期間を設けることなくティアリングを防止することができる。そのため、ホストプロセッサ2からのデータ転送を早く許可することができる。このように、本実施形態では、第1フレームにおけるリードポインタrp1のフレームメモリ31上の推移が最も遅れる場合におけるリードポインタrp1の位置に、第2フレームのライトポインタwp2のフレームメモリ31上の推移が最も早まる場合におけるライトポインタwp2の位置が追いつかないように、リードポインタrp1の推移しうる範囲およびライトポインタwp2の推移しうる範囲に基づいて、フレームメモリ31の容量を設定する。すなわち、ライトポインタwp2とリードポインタrp1とが重ならないように、フレームメモリ31の容量を設定する。
なお、圧縮された画像データのサイズが上限Vsizeである場合、最も第1フレームのリードポインタに第2フレームのライトポインタが接近しうる。圧縮された画像データのサイズがVsize未満の場合も、第1フレームの画像データの読み出しが開始された後に第2フレームの画像データの書き込みを開始すれば、ティアリングが発生することはない。
なお、フレームメモリ31の容量に10%程度のマージンを持たせてもよい。例えば、フレームメモリ31の容量を、Vsize+Vaより大きく、かつ、(Vsize+Va)×11/10以下に設定してもよい。
(書き込み期間Tin<読み出し期間Toutの場合)
図8は、書き込み期間Tinが読み出し期間Toutより短い場合における、フレームメモリ31への書き込みおよび読み出しの様子を示す図である。すなわち、ホストプロセッサ2からの画像データの転送が、LCD4への画像データの転送より速い場合に対応する。図8では、フレームメモリ31の容量Vmは、圧縮された画像データの最大サイズVsizeより追加容量Va分大きいとする。
なお、実施形態1の図5の場合と同様に、書き込み開始の直後に読み出し開始を行っても、読み出しが書き込みを追い越すことがない。すなわちティアリングが発生しないように書き込みの後の読み出しを行うことができる。
ここでは、第1フレームの画像データを読み出し開始した後、次の第2フレームの画像データを書き込む場合について説明する。第1フレームの画像データの書き込みは、第1フレームの画像データの読み出し開始より前に終了しているとする。なお、第1フレームの(圧縮された)画像データおよび第2フレームの(圧縮された)画像データのサイズは、ともにVsizeであるとする。
第1フレームの画像データの読み出しが最も遅れる場合は、最小読み出し速度βrpで読み出しが始まる経路Lr1に沿ってリードポインタrp1が推移する場合である。第2フレームの画像データの書き込みが最も速くなる場合は、最大書き込み速度αwpで書き込みが始まる経路Lw2に沿ってライトポインタwp2が推移する場合である。図8は、第1フレームの画像データの読み出し開始の直後に第2フレームの画像データの書き込みが開始された場合を示す。第2フレームの画像データの書き込みは、直前の第1フレームの画像データの書き込みの終了位置から開始される。すなわち、第2フレームの画像データは、メモリ上においてVsizeの続きから書き込まれる。第2フレームの画像データは、追加容量Vaより大きいので、フレームメモリ31の最後の位置(アドレス)まで書き込むと、続きはフレームメモリ31の最初の位置(アドレス)から書き込まれる。図8では理解を助けるために容量Vmを越えた部分も仮想的に描いている。
図8に示すように、容量Vm=Vsize+Vaであると、ある時点で第1フレームのリードポインタの経路Lr1と第2フレームのライトポインタの経路Lw2とが接する。すなわち、ある時点でリードポインタとライトポインタとが重なる。そこで、容量Vm>Vsize+Vaであれば、第2フレームのライトポインタwp2が第1フレームのリードポインタrp1を追い越すことがない。すなわち、ティアリングが発生しない。
書き込み期間Tin<読み出し期間Toutの場合、次式(式4)の追加容量Vaは、図8から幾何的に求めることができる。
例えば、α=41/24、β=3/24である圧縮方式の場合、Va=(0.764(Tout/Tin)−0.056)Vsizeとなる。
それゆえ、フレームメモリ31の容量Vmは、Vsize+Vaより大きく、かつ、2×Vsize未満とすることができる。このようにすれば、第1フレームの画像データの読み出し開始直後から第2フレームの画像データの書き込み開始を許可することができる。すなわち、禁止期間を設けることなくティアリングを防止することができる。そのため、ホストプロセッサ2からのデータ転送を早く許可することができる。
なお、圧縮された画像データのサイズが上限Vsizeである場合、最も第1フレームのリードポインタに第2フレームのライトポインタが接近しうる。圧縮された画像データのサイズがVsize未満の場合も、第1フレームの画像データの読み出しが開始された後に第2フレームの画像データの書き込みを開始すれば、ティアリングが発生することはない。
〔危険期間Tdおよび追加容量Vaのまとめ〕
図9は、上述の実施形態で説明した危険期間Tdおよび追加容量Vaと、TinおよびToutとの関係をまとめた図である。なお、図9には比較対象として画像データを圧縮せずに(非圧縮で)フレームメモリに書き込む場合の例を載せている。非圧縮の場合は画像データが圧縮されないので、非圧縮の欄におけるVsize(非圧縮の画像データのサイズ)は、圧縮の欄におけるVsize(圧縮された画像データのサイズ)より大きい点に注意が必要である。すなわち、非圧縮の場合は追加容量Va「0」となっていても、そもそも1フレーム分の画像データを格納するための必要な容量が、圧縮する場合に比べて大きい。
〔禁止期間Tsにおける書き込み禁止の変形例〕
次に、図12〜図14に基づき、禁止期間Tsにおける書き込み禁止の変形例について説明する。
上記の例では、TE信号を用いて書き込みを禁止したが、ここでは、その変形例について説明する。
図1に示すホストプロセッサ2およびLCDコントローラ3間の所定のシーケンス制御において、後述する要求情報に対する、許可情報の授受を、禁止期間Tsが経過する迄遅延させることで、書き込みを禁止しても良い。
「所定のシーケンス制御」とは、ホストプロセッサ2およびLCDコントローラ3間で、書き込み動作の開始を要求する要求情報に対する、書き込み動作の開始を許可する許可情報の授受が完了すると、ホストプロセッサ2からLCDコントローラ3へ画像データの転送が開始される制御のことである。より具体的には、制御レジスタ35のポーリング(polling;handshakeフラグ)によるシーケンス制御、MIPIコマンドモードのBusturnaround機能(BTA;バス占有権)によるシーケンス制御、REQ(Request)信号/ACK(acknowledge)信号によるシーケンス制御、禁止期間Tsで変化(トグル)しないHVBLKパルス信号によるシーケンス制御、禁止期間Tsをレベルで知らせるHVBLKレベル信号によるシーケンス制御、非同期バスの場合における非同期バスウェイト機能によるシーケンス制御を用いて、ホストプロセッサ2からLCDコントローラ3への画像データの転送動作の開始を待たせる制御を挙示できる。
また、「ポーリング(polling)」とは、通信やソフトウェアにおいて、競合を回避したり、送受信の準備状況を判断(監視)したり、処理を同期したりするために、複数の機器やプログラムに対して順番に定期的に問い合わせを行い、一定の条件を満たした場合に送受信や処理を行う通信および処理方式のことである。
さらに「要求情報/許可情報」の例としては、上述したhandshakeフラグ、バス占有権(BTA)、REQ信号/ACK信号、HVBLKパルス信号、HVBLKレベル信号などを例示することができる。以下、これらの「要求情報/許可情報」の例の詳細について説明する。
(handshakeフラグ)
ホストプロセッサ2は画像データを転送しようとする時、制御レジスタ35のhandshakeフラグの値を「0」から「1」に変化させ、LCDコントローラ3へ要求情報を伝達する。一方、要求情報を受け取ったLCDコントローラ3は、ホストプロセッサ2からのデータ転送の準備ができた時に、制御レジスタ35のhandshakeフラグを「1」から「0」に戻し、ホストプロセッサ2へ許可情報を伝達する。ホストプロセッサ2は、要求情報を伝達してから制御レジスタ35のhandshakeフラグをポーリングにより監視し、許可情報を受け取ったと認識したら、ホストプロセッサ2は、LCDコントローラ3への画像データの転送を開始する。通常、handshakeフラグの値が「1」になってから「0」に戻るまでの期間を調整することで、書き込み動作の開始の時点〔DSI(Display Serial Interface)入力の開始の時点〕を遅延させることができる(書き込みを禁止することができる)。
図12の(a)は、ホストプロセッサ2側のハンドシェーク制御の一例(制御レジスタ35の場合)を示すフローチャートであり、図12の(b)は、LCDコントローラ3側のハンドシェーク制御の一例(制御レジスタ35の場合)を示すフローチャートである。
図12の(a)に示すように画像データの更新(描画更新)を行いたい場合S11に進む。S11では、ホストプロセッサ2は制御レジスタ35のhandshakeフラグの値を「0」から「1」に変化させ、要求情報をLCDコントローラ3へ伝えS12に進む。
S12では、ホストプロセッサ2がhandshakeフラグの値が「1」か否かを確認する。その結果、handshakeフラグの値が「1」である場合には、S12に戻る。一方、handshakeフラグの値が「1」でない場合(「0」の場合)には、S13に進み、LCDコントローラ3への画像データの転送を開始する。
次に、図12の(b)に示すようにS21で画像データの書き込み要求情報(handshakeフラグ=「1」)になるまで待機し、要求情報が来たらS22へ進む。
S22では、遅延制御部32は、禁止期間Tsが経過する前は、書き込みを禁止し、S22に戻る(YES)。一方、遅延制御部32は、禁止期間Tsが経過した後は、書き込みを許可し、S23に進む(NO)。
S23では、制御レジスタ35がhandshakeフラグの値を「0」にして、ホストプロセッサ2に転送を許可する。
(BTA)
ホストプロセッサ2は、画像データを転送しようとする時、BTA機能を使ってバス占有権をLCDコントローラ3に渡し、要求情報をLCDコントローラ3に伝達する。要求情報を受け取ったLCDコントローラ3は、ホストプロセッサ2からのデータ転送の準備ができた時に、TE(Tearing Effect)イベントをホストプロセッサ2に送信し、バス占有権をホストプロセッサ2に返し、許可情報を伝達する。ホストプロセッサ2は、許可情報を受け取ったと認識したら、データ転送を開始する。
図13の(a)は、ホストプロセッサ2側のハンドシェーク制御の一例(BTAの場合)を示すフローチャートであり、図13の(b)は、LCDコントローラ3側のハンドシェーク制御の一例(BTAの場合)を示すフローチャートである。
図13の(a)に示すように画像データの更新(描画更新)を行いたい場合S31に進む。S31では、ホストプロセッサ2は、バス占有権をLCDコントローラ3に受け渡し、S32に進む。
S32では、ホストプロセッサ2がLCDコントローラ3からTEイベントを受信したか否かを確認する。その結果、ホストプロセッサ2がLCDコントローラ3からTEイベントを受信した場合は、S33に進む(YES)。一方、ホストプロセッサ2がLCDコントローラ3からTEイベントを受信していない場合は、S32に戻る。
S33では、ホストプロセッサ2がLCDコントローラ3への画像データの転送を開始する。
次に、図13の(b)に示すようにS41では、LCDコントローラ3は、ホストプロセッサ2からバス占有権を受け取るまで待機して、S42に進む。
S42では、遅延制御部32は、禁止期間Tsが経過する前は、書き込みを禁止し、S42に戻る(YES)。一方、遅延制御部32は、禁止期間Tsが経過した後は、書き込みを許可し、S43に進む(NO)。
S43では、LCDコントローラ3が、ホストプロセッサ2にTEイベントを送信し、バス占有権をホストプロセッサ2に戻す。
(REQ信号/ACK信号)
次に、図14に基づき、REQ信号/ACK信号を用いたハンドシェーク制御のフローについて説明する。
図14の(a)は、ホストプロセッサ2側のハンドシェーク制御の一例(REQ信号/ACK信号の場合)を示すフローチャートであり、図14の(b)は、LCDコントローラ3側のハンドシェーク制御の一例(REQ信号/ACK信号の場合)を示すフローチャートである。
図14(a)に示すように画像データの更新(描画更新)を行いたい場合S51に進む。S51では、ホストプロセッサ2は、REQ信号をHigh(REQ=High)レベルにしてLCDコントローラ3に送信してS52に進む。
S52では、ホストプロセッサ2がLCDコントローラ3からACK信号がLowレベル(ACK=Low)か否かを確認する。その結果、ACK=LowならS52に戻る(YES)。一方、ACK≠Low(すなわち、ACK=High)ならS53に進む(NO)。
S53では、ホストプロセッサ2がREQ=Lowに戻してS54に進む。
S54では、ホストプロセッサ2がLCDコントローラ3への画像の転送を開始する。
次に、図14の(b)に示すようにS61では、LCDコントローラ3は、ホストプロセッサ2からREQ=Highを受け取るまで待機して、S62に進む。
S62で、ホストプロセッサ2からREQ=Highを受け取ると、遅延制御部32は、禁止期間Tsが経過する前は、書き込みを禁止し、S62に戻る(YES)。一方、遅延制御部32は、禁止期間Tsが経過した後は、書き込みを許可し、S63に進む(NO)。
S63では、LCDコントローラ3が、ACK信号をHigh(ACK=High)レベルにしてホストプロセッサ2に送信してS64に進む。
S64では、LCDコントローラ3は、ホストプロセッサ2からのVSSパケットの送信を待ち、S65に進む。
S65では、LCDコントローラ3が、ACK信号をLow(ACK=Low)レベルに戻す。
(HVBLKパルス信号)
LCDコントローラ3は、Highの立ち上がりからLowに戻るまでの期間が極めて短時間の単発のHVBLKパルス信号を予め定められた周期で出力し、禁止期間Tsが経過する前はHVBLKパルス信号=Highを維持し、禁止期間Ts経過後は、HVBLKパルス信号=Lowに戻す。ホストプロセッサ2は、HVBLKパルス信号のエッジ(立下り)をまちレベルを確認してエッジ(Lowレベル)が確認できたら画像データの転送を開始する。
(HVBLKレベル信号)
LCDコントローラ3は、禁止期間Tsが経過する前はHVBLKレベル=Highを維持し、禁止期間Ts経過後は、HVBLKレベル=Lowでレベル出力する。ホストプロセッサ2は、HVBLKレベルをポーリング(監視)し、HVBLKレベル=Lowであれば、画像データの転送を開始する。
〔まとめ〕
本発明の態様1に係るメモリ制御装置(LCDコントローラ3)は、所定の記録容量のフレームメモリ(31)と、ホスト(ホストプロセッサ2)から転送される1フレーム分の画像データを上記記録容量以下に圧縮し、圧縮された画像データを上記フレームメモリに書き込む圧縮部(33)と、上記フレームメモリから上記圧縮された画像データを読み出し、上記圧縮された画像データを伸張して表示制御部(LCD4)に転送する伸張部(34)と、第1フレームの圧縮された画像データの読み出し開始から、上記フレームメモリにおける読み出し位置の推移し得る範囲と書き込み位置の推移し得る範囲とが互いに重ならないように予め定められた禁止期間Tsが経過する迄、上記第1フレームの次の第2フレームの圧縮された画像データの書き込み開始を禁止するタイミング制御部(遅延制御部32)と、を備えている。
上記の構成によれば、画像データを圧縮してフレームメモリに記録するような場合でも、ティアリングを起こさないようにすることができる。
本発明の態様2に係るメモリ制御装置では、上記態様1において、上記第1フレームの圧縮された画像データの読み出し位置の上記フレームメモリ上の推移が最も遅れる場合における上記読み出し位置に、上記第2フレームの圧縮された画像データの書き込み位置の上記フレームメモリ上の推移が最も早まる場合における上記書き込み位置が追いつかないような上記禁止期間Tsが、上記タイミング制御部に対して予め設定されていてもよい。
本発明の態様3に係るメモリ制御装置では、上記態様1または2において、上記圧縮部による最大書き込み速度が平均書き込み速度のα倍であり、上記圧縮部による最小書き込み速度が上記平均書き込み速度のβ倍であり、上記伸張部による最大読み出し速度が平均読み出し速度の上記α倍であり、上記伸張部による最小読み出し速度が上記平均読み出し速度の上記β倍であるとし、上記圧縮部による1フレーム分の上記圧縮された画像データを書き込む一定の期間を書き込み期間Tin、上記伸張部による1フレーム分の上記圧縮された画像データを読み出す一定の期間を読み出し期間Toutとし、さらに、Tin>Toutの場合、上記式1で表され、Tin<Toutの場合、上記式2で表される期間を危険期間Tdとするとき、上記禁止期間Tsは、上記危険期間Td以上、かつ、上記読み出し期間Tout未満である構成であってもよい。
上記の構成によれば、禁止期間Tsを読み出し期間Toutより短い期間としつつ、画像データを圧縮してフレームメモリに記録するような場合でも、ティアリングを起こさないようにすることができる。
本発明の態様4に係るメモリ制御装置では、上記態様1から3において、上記圧縮部は、上記1フレーム分の画像データをVsizeを上限値として圧縮し、上記所定の記録容量は、上記Vsize以上、上記Vsize×11/10以下である構成であってもよい。
上記の構成によれば、フレームメモリの記録容量を必要最低限にすることができる。
本発明の態様5に係るメモリ制御装置では、所定の記録容量のフレームメモリと、ホストから転送される1フレーム分の画像データをVsizeを上限値として圧縮し、圧縮された画像データを上記フレームメモリに書き込む圧縮部と、上記フレームメモリから上記圧縮された画像データを読み出し、上記圧縮された画像データを伸張して、表示制御部に転送する伸張部と、を備え、上記フレームメモリの記録容量は、上記フレームメモリにおける読み出し位置の推移し得る範囲と書き込み位置の推移し得る範囲とが互いに重ならないように定められている。
上記の構成によれば、画像データを圧縮してフレームメモリに記録するような場合でも、ティアリングを起こさないようにすることができる。
本発明の態様6に係るメモリ制御装置では、上記態様5において、上記圧縮部は、第2フレームの圧縮された画像データの書き込み開始位置を、上記第2フレームの直前の第1フレームの圧縮された画像データの書き込み終了位置の続きとし、上記第1フレームの圧縮された画像データの読み出し位置の上記フレームメモリ上の推移が最も遅れる場合における上記読み出し位置に、上記第2フレームの圧縮された画像データの書き込み位置の上記フレームメモリ上の推移が最も早まる場合における上記書き込み位置が追いつかないように上記フレームメモリの上記所定の記録容量が設定されている構成であってもよい。
本発明の態様7に係るメモリ制御装置では、上記態様5または6において、上記圧縮部による最大書き込み速度が平均書き込み速度のα倍であり、上記圧縮部による最小書き込み速度が上記平均書き込み速度のβ倍であり、上記伸張部による最大読み出し速度が平均読み出し速度の上記α倍であり、上記伸張部による最小読み出し速度が上記平均読み出し速度の上記β倍であるとし、上記圧縮部による1フレーム分の上記圧縮された画像データを書き込む一定の期間を書き込み期間Tin、上記伸張部による1フレーム分の上記圧縮された画像データを読み出す一定の期間を読み出し期間Toutとし、さらに、Tin>Toutの場合、上記式3で表され、Tin<Toutの場合、上記式4で表される記録容量を追加容量Vaとするとき、上記フレームメモリの上記所定の記録容量は、上記Vsize+上記追加容量Vaより大きく、かつ、上記Vsizeの2倍未満である構成であってもよい。
上記の構成によれば、フレームメモリの上記所定の記録容量をVsizeの2倍未満の記録容量としつつ、画像データを圧縮してフレームメモリに記録するような場合でも、ティアリングを起こさないようにすることができる。
本発明の態様8に係るメモリ制御装置では、上記態様7において、上記フレームメモリの所定の記録容量は、上記Vsize+上記追加容量Vaよりも大きく、(上記Vsize+上記追加容量Va)×11/10以下である構成であってもよい。
上記構成によれば、フレームメモリの記録容量を必要最低限にすることができる。
本発明の態様9に係るメモリ制御装置では、上記態様1または6において、上記フレームメモリ上における上記第2フレームの書き込み開始位置は、上記第1フレームの書き込み終了位置の近傍である構成であってもよい。
上記の構成によれば、フレームメモリを効率よく利用し、フレームメモリのサイズを小さくすることができる。
本発明の態様10に係る携帯端末は、上記態様1から9のいずれかのメモリ制御装置を備えている。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。