JP2007101962A - 表示システム及び表示コントローラ - Google Patents

表示システム及び表示コントローラ Download PDF

Info

Publication number
JP2007101962A
JP2007101962A JP2005292891A JP2005292891A JP2007101962A JP 2007101962 A JP2007101962 A JP 2007101962A JP 2005292891 A JP2005292891 A JP 2005292891A JP 2005292891 A JP2005292891 A JP 2005292891A JP 2007101962 A JP2007101962 A JP 2007101962A
Authority
JP
Japan
Prior art keywords
command
execution
unit
blanking
display system
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
JP2005292891A
Other languages
English (en)
Inventor
Koji Matsuura
幸治 松浦
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005292891A priority Critical patent/JP2007101962A/ja
Publication of JP2007101962A publication Critical patent/JP2007101962A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】垂直ブランキング期間内にコマンドの実行が完了しない場合であっても画像表示が乱れることがない表示システムを提供する。
【解決手段】CPU101、画像データとCPU101から送られてくるコマンドとを保持する記憶部109a、コマンドに従って画像データを記憶部109aに書き込むとともに画像データを記憶部109aから読み出して出力する表示コントローラ106a、及び、出力される画像データを表示する表示装置110から構成される表示システムであって、表示コントローラ106aは、ブランキング残時間を計算するブランキング残時間計算部201aと、ブランキング残時間からコマンドの実行可否を判断するコマンド実行判断部202aと、コマンドの実行が可能であると判断された場合に、ブランキング期間において当該コマンドを実行するコマンド実行部103aとを備える。
【選択図】図1

Description

本発明は、CPU、フレームバッファ、表示コントローラ、表示装置を含む表示システム等に関し、特にフレームバッファの制御方法に関する。
従来、フレームバッファを制御して画像を表示する表示システムとして、様々な技術が提案されている(例えば、特許文献1参照)。図19は、特許文献1等に開示された従来の表示システム111の構成を示す図である。この表示システム111は、CPU101、表示コントローラ106、記憶部109及び表示装置110から構成される。
記憶部109は、画像データを保持するためのフレームバッファ108と、フレームバッファ108に画像データを書き込むためのコマンドを保持するためのコマンドバッファ107とを有するメモリ等である。
CPU101は、コマンドを発行し、コマンドバッファ107に格納するプロセッサである。
表示コントローラ106は、コマンドバッファ107に格納されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108に書き込むとともに、フレームバッファ108から画像データを読み出して表示装置110に出力する制御回路等であり、コマンド読み出し部102、コマンド実行部103、画像出力部104及び同期信号発生部105を有する。
同期信号発生部105は、コマンド読み出し部102、画像出力部104及び表示装置110に同期信号を発生する。コマンド読み出し部102は、同期信号発生部105からの同期信号が垂直ブランキング期間の開始を示した時にコマンドバッファ107からコマンドを読み出し、内部に有する内部バッファ1021に保持する読み出し・記憶回路等である。コマンド実行部103は、内部バッファ1021に保持されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108に書き込む処理部である。画像出力部104は、同期信号発生部105からの同期信号が表示期間を示しているときに、フレームバッファ108から画像データを読み出して表示装置110に出力する。
表示装置110は、同期信号発生部105からの同期信号に同期して、画像出力部104から送られてくる画像データを表示するLCD等である。
以上のような構成により、従来の表示システム111は、垂直ブランキング期間においてコマンドを実行することによって実行結果としての画像データをフレームバッファ108に書き込み、表示期間においてその画像データを表示装置110に出力するという処理をフレームごとに繰り返すことで、画像データを表示している。
特開平5−232914号公報
しかしながら、従来の表示システムでは、垂直ブランキング期間内にコマンドの実行が完了する保証がないために、画像データのフレームバッファへの書き込みを垂直ブランキング期間内に完了させることができず、垂直ブランキング期間を越えて画像データをフレームバッファに書き込むというケースが発生してしまう。そのために、表示期間において、画像データのフレームバッファへの書き込みとフレームバッファからの画像データの読み出しとが錯綜し、画像表示が乱れるという問題がある。
そこで、本発明は、このような問題点に鑑みてなされたものであり、垂直ブランキング期間内にコマンドの実行が完了しない場合であっても画像表示が乱れることがない表示システム等を提供することを目的とする。
上記目的を達成するために、本発明に係る表示システムは、CPU、画像データと前記CPUから送られてくるコマンドとを保持する記憶手段、前記コマンドに従って画像データを前記記憶手段に書き込むとともに前記記憶手段に保持された画像データを読み出して出力する表示コントローラ、及び、前記表示コントローラから出力される画像データを表示する表示装置から構成される表示システムであって、前記表示コントローラは、前記表示装置に出力される垂直同期信号及び水平同期信号に基づいて、垂直ブランキング期間の残り時間であるブランキング残時間を計算するブランキング残時間計算手段と、計算された前記ブランキング残時間から前記コマンドの実行可否を判断するコマンド実行判断手段と、前記コマンド実行判断手段によって前記コマンドの実行が可能であると判断された場合に、前記ブランキング期間において当該コマンドを実行し、当該コマンドの実行結果である画像データを前記記憶手段に書き込むコマンド実行手段とを備えることを特徴とする。これにより、垂直ブランキング期間内に実行が完了するコマンドだけが実行されるので、垂直ブランキング期間を越えてコマンドが実行されることによる画像表示の乱れが回避される。
ここで、前記表示コントローラはさらに、前記垂直同期信号、前記水平同期信号及びブランキング信号を生成する同期信号発生手段と、前記ブランキング信号が垂直ブランキング期間の開始を示した時に前記記憶手段からコマンドを読み出し、内部に有する内部バッファに保持するコマンド読み出し手段と、前記同期信号発生手段から出力される信号によって定まる表示期間が開始されると前記記憶手段から前記画像データを読み出して前記表示装置に出力する画像出力手段とを備え、前記コマンド実行判断手段は、コマンドの実行が可能であると判断した場合にはその旨を示す実行許可情報を前記コマンド実行手段に出力し、コマンドの実行が不可能であると判断した場合にはその旨を示す実行不可情報を前記コマンド実行手段に出力し、前記コマンド実行手段は、前記コマンド実行判断手段から実行許可情報を受け取った場合に、前記内部バッファに保持されたコマンドを実行し、前記コマンド実行判断手段から実行不可情報を受け取った場合に、コマンドの実行を停止し、前記表示装置は、前記垂直同期信号及び前記水平同期信号に同期して、前記画像出力手段から出力される画像データを表示する構成とするのが好ましい。
なお、実行可否の具体的な判断手法としては、例えば、前記コマンド実行判断手段が、前記ブランキング残時間が0よりも大きい場合に実行許可情報を出力し、前記ブランキング残時間が0以下の場合に実行不可情報を出力してもよい。このとき、前記コマンド実行手段は、コマンドの実行中に前記コマンド実行判断手段から実行不可情報を受け取った場合には、次フレームの垂直ブランキング期間開始時まで当該コマンドの実行を一時停止するのが好ましい。
あるいは、前記表示コントローラはさらに、各コマンドの実行前に、前記コマンド実行手段がコマンドを実行するのに要する時間であるコマンド実行時間を計算するコマンド実行時間計算手段を備え、前記コマンド実行判断手段が、前記コマンド実行時間と前記ブランキング残時間とを比較し、前記コマンド実行時間が前記ブランキング残時間よりも小さい場合に実行許可情報を出力し、前記コマンド実行時間が前記ブランキング残時間よりも大きい場合に実行不可情報を出力してもよい。
また、前記表示コントローラはさらに、画像の描画を指示する第1及び第2コマンドが前記内部バッファに格納される場合であって、前記第1コマンドが前記第2コマンドよりも先に実行され、かつ、前記第2コマンドの描画領域が前記第1コマンドの描画領域を包含するときには、前記コマンド実行手段による前記第1コマンドの実行をキャンセルするコマンドキャンセル手段を備えるのが好ましい。これにより、冗長なコマンドの実行が排除され、処理効率が向上する。
また、前記表示コントローラはさらに、前記内部バッファに格納されたコマンドを複数のコマンドに分割するコマンド分割手段を備え、前記コマンド実行手段は、前記コマンド分割手段によって分割されたコマンドを実行するのも好ましい。これにより、実行時間の大きなコマンドが実行時間の小さい複数のコマンドに分割されるので、垂直ブランキング期間に実行されるコマンドの数が増加することとなり、処理効率が向上される。
また、前記表示コントローラはさらに、コマンドに優先度を付与し、優先度の高い順に前記内部バッファに格納されたコマンドを並び替えるコマンド並び替え手段を備え、前記コマンド実行手段は、前記コマンド並び替え手段によって並び替えられたコマンドを並び順に実行するのが好ましい。このとき、前記コマンド実行手段は、前フレームで実行できなかったコマンドについては、次フレームにおいて他のどのコマンドよりも優先して実行するようにしておくのが望ましい。これにより、前フレームで実行されなかったコマンドが優先して次フレームで実行されるとともに、優先度の高い順にコマンドが実行され、ユーザが意図する順で画像を効率的に描画することができる。
なお、本発明は、このような表示システムとして実現できるだけでなく、表示システムを構成する表示コントローラ単体として実現したり、表示コントローラや記憶手段等を1チップあるいは複数のチップに収納したLSI等の集積回路として実現することもできる。
本発明により、表示コントローラがコマンド実行の可否を判断することで、垂直ブランキング期間を越えてフレームバッファに画像データを書き込むことが防止される。この結果、表示中の画像が乱れるといったことがなくなり、本発明の実用的価値は極めて高い。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
まず、本発明の実施の形態1について説明する。
図1は、本実施の形態における表示システム111aの構成を示す図である。この表示システム111aは、垂直ブランキング期間を越えてフレームバッファに画像データを書き込むことを防止する機能を備える表示システムであり、CPU101、表示コントローラ106a、記憶部109及び表示装置110から構成される。なお、従来技術の表示システム111と同じ構成要素には同一の符号を付している。
記憶部109aは、画像データを保持するためのフレームバッファ108aと、フレームバッファ108aに画像データを書き込むためのコマンドを保持するためのコマンドバッファ107aとを有するメモリ等である。
CPU101は、コマンドを発行してコマンドバッファ107aに格納したり、担当する部分の画像データをフレームバッファ108aに格納したりするプロセッサである。
表示コントローラ106aは、コマンドバッファ107aに格納されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108aに書き込むとともに、フレームバッファ108aから画像データを読み出して表示装置110に出力する制御回路等であり、コマンド読み出し部102a、コマンド実行部103a、画像出力部104、同期信号発生部105a、ブランキング残時間計算部201a及びコマンド実行判断部202aを有する。
同期信号発生部105aは、垂直同期信号、水平同期信号、及び、水平及び垂直ブランキング期間を示すブランキング信号を生成し、コマンド読み出し部102a、画像出力部104、ブランキング残時間計算部201a及び表示装置110に出力する。
コマンド読み出し部102aは、同期信号発生部105aからのブランキング信号が垂直ブランキング期間の開始を示した時に、コマンドバッファ107aからコマンドを読み出し、内部に有する内部バッファ1021aに保持するとともに、コマンドの最終読み出し位置をコマンドバッファ107aに格納する読み出し及び記憶回路等である。
ブランキング残時間計算部201aは、同期信号発生部105aから出力される垂直同期信号及び水平同期信号に基づいて、垂直ブランキング期間の残り時間であるブランキング残時間を計算し、コマンド実行判断部202aに通知する。なお、ブランキング残時間の詳細な計算方法は、実施の形態2において説明する。
コマンド実行判断部202aは、ブランキング残時間計算部201aから通知されたブランキング残時間が0より大きい場合は、コマンドの実行が可能であることを示す実行許可情報をコマンド実行部103aに出力し、ブランキング残時間が0以下の場合は、コマンドの実行が不可能であることを示す実行不可情報をコマンド実行部103aに出力する。
コマンド実行部103aは、コマンド実行判断部202aから実行許可情報を受け取った場合に、内部バッファ1021aに保持されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108aに書き込み、コマンド実行判断部202aから実行不可情報を受け取った場合に、コマンドの実行を停止する処理部である。なお、このコマンド実行部103aは、コマンドの実行中にコマンド実行判断部202aから実行不可情報を受け取った場合には、次フレームの垂直ブランキング期間開始時まで当該コマンドの実行を一時停止する。
画像出力部104は、同期信号発生部105aからの信号が表示期間を示しているときに、フレームバッファ108aから画像データを読み出して表示装置110に出力する。
表示装置110は、同期信号発生部105aからの垂直及び水平同期信号に同期して、画像出力部104から送られてくる画像データを表示するLCD等である。
図2は、記憶部109aの詳細な構成を示す図である。コマンドバッファ107aは、コマンド欄401、登録ポインタ欄402、読み出しポインタ欄403から構成され、リングバッファ構造を有する。丸印は、ポインタが示す位置である。
CPU101は、コマンド欄401にコマンドを登録していく。登録開始位置は、登録ポインタ欄402におけるポインタ位置の次の位置からである。そして、コマンドの登録が完了した後、CPU101は、登録ポインタ欄402におけるポインタの位置を、登録したコマンド位置まで進める。
コマンド読み出し部102aは、コマンド欄401からコマンドを読み出していく。読み出し開始位置は、読み出しポインタ欄403のポインタ位置の次の位置からである。また、読み出し最終位置は、登録ポインタ欄402のポインタ位置である。そして、コマンドの読み出しが完了した後、コマンド読み出し部102aは、読み出しポインタ欄403におけるポインタの位置を、読み出したコマンド位置まで進める。このような構成により、リングバッファ方式で、CPU101によってコマンドバッファ107aに登録された全てのコマンドがコマンド読み出し部102aによって読み出される。
次に、図3に示すフローチャートを参照して、表示コントローラ106aの動作について具体的に説明する。ステップS301はブランキング残時間を計算する処理、ステップS302はブランキング残時間の判定処理、ステップS303はコマンドの実行許可情報を出力する処理、ステップS304はコマンドの実行不可情報を出力する処理、ステップS305はコマンドバッファからのコマンド取得処理、ステップS306は内部バッファ1021aからのコマンド取得処理、ステップS307はコマンド取得判断処理、ステップS308はコマンド実行処理、ステップS309はコマンド実行結果の格納処理、ステップS310はコマンド実行中であるか否かの判定処理、ステップS311は実行中のコマンドの一時停止処理、ステップS312は垂直ブランキング期間まで待機する処理である。なお、ステップS301〜ステップS304の処理と、ステップS305〜ステップS311の処理とは並行して処理される。以下、各ステップの詳細を説明する。
ステップS301において、ブランキング残時間計算部201aは、垂直同期信号、水平同期信号から垂直ブランキング期間の残り時間(ブランキング残時間)を計算する。そして、制御は次のステップS302に進む。
ステップS302において、コマンド実行判断部202aは、コマンドの実行が可能であるか否かを判断する。具体的には、ブランキング残時間が0より大きい場合にはYESと判断し、制御はステップS303に進む。一方、ブランキング残時間が0以下である場合にはNOと判断し、制御はS304に進む。
ステップS303において、コマンド実行判断部202aは、コマンド実行部103aに実行許可情報を出力する。そして、制御はステップS301に戻る。
ステップS304において、コマンド実行判断部202aは、コマンド実行部103aに実行不可情報を出力する。そして、制御は次のステップS310に進む。
ステップS305において、コマンド読み出し部102aは、コマンドバッファ107aから、CPU101によって新たに格納されたコマンドを取得し、内部バッファ1021aに保持する。このとき、コマンドの最終読み出し位置をコマンドバッファ107aに格納する。そして、制御は次のステップS306に進む。
ステップS306において、コマンド実行部103aは、内部バッファ1021aからコマンドを1個取得する、あるいは、コマンドの取得を試みる。そして、制御は次のステップS307に進む。
ステップS307において、コマンド実行部103aによりコマンドが取得できたか否かが判断される。コマンドを取得できた場合にはYESと判断されて、制御はステップS308に進む。一方、コマンドを取得できなかった場合にはNOと判断されて、制御はステップS312に進む。
ステップS308において、コマンド実行部103aはコマンドを実行する。もし、前フレームで実行が完了されていないコマンドを実行していた場合には、そのコマンドの完了後に、いま取得したコマンドを実行する。そして、制御は次のステップS309に進む。
ステップS309において、コマンド実行部103aはコマンドの実行結果をフレームバッファ108aに格納し、コマンド完了情報をコマンドバッファ107aに格納する。そして、制御はステップS306に戻る。
ステップS310において、コマンド実行判断部202aから実行不可情報を受け取ったコマンド実行部103aは、コマンドを実行中であるか否かを判断する。コマンドを実行中である場合にはYESと判断されて、制御はステップS311に進む。一方、コマンドが実行中でない場合にはNOと判断されて、制御はステップS312に進む。
ステップS311において、コマンド実行部103aは、現在実行中のコマンドの処理を次フレームの垂直ブランキング期間まで一時停止する。そして、制御は次のステップS312に進む。
ステップS312において、コマンド読み出し部102a、コマンド実行部103a、ブランキング残時間計算部201a、コマンド実行判断部202aは、次フレームの垂直ブランキング期間まで動作を停止する。
以上のように、本実施の形態によれば、ブランキング残時間が0以下となった場合にコマンド実行判断部202aからコマンド実行部103aに実行不可情報が出力され、コマンド実行部103aは、次のブランキング期間までコマンドの実行を中断する。これにより、ブランキング期間を越えてコマンドが実行されてしまうことが回避され、画像表示の乱れが防止される。
なお、ステップS301でのブランキング残時間の算出、及び、ステップS302でのコマンド実行可否の判断を、コマンド実行部103aによる内部バッファ1021aからのコマンド取り出しに連動して実行するようにしてもよい。
(実施の形態2)
次に、本発明の実施の形態2について説明する。
図4は、本実施の形態における表示システム111bの構成を示す図である。この表示システム111bは、コマンドの実行時間とブランキング残時間とを比較することにより、垂直ブランキング期間を越えてフレームバッファに画像データを書き込むことを防止する機能を備える表示システムであり、CPU101、表示コントローラ106b、記憶部109a及び表示装置110から構成される。
表示コントローラ106bは、コマンドバッファ107aに格納されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108aに書き込むとともに、フレームバッファ108aから画像データを読み出して表示装置110に出力する制御回路等であり、コマンド読み出し部102a、コマンド実行部103a、画像出力部104、同期信号発生部105a、ブランキング残時間計算部201a、コマンド実行判断部202b及びコマンド実行時間計算部501を有する。
この表示システム111bは、実施の形態1の表示システム111aの構成に加えてコマンド実行時間計算部501を備えること、及び、実施の形態1のコマンド実行判断部202aに代えてコマンド実行判断部202bを備える点で実施の形態1と異なり、他の構成は実施の形態1のものと同じである。なお、実施の形態1と同じ構成要素には同一の符号を付し、その説明を省略する。
実施の形態1の表示システム111aは、垂直ブランキング期間内に実行できなかったコマンドについては次フレームの垂直ブランキング期間まで一時停止することを特徴としたが、本実施の形態の表示システム111bは、垂直ブランキング期間内で実施できるコマンドのみ実行することを特徴とする。
コマンド実行時間計算部501は、内部バッファ1021aに保持されたコマンドがコマンド実行部103aによって実行される前に、内部バッファ1021aからコマンドを取得し、取得したコマンドのコマンド実行時間、つまり、コマンド実行部103aが実行した場合に要する時間を計算する。
コマンド実行判断部202bは、コマンド実行時間計算部501が計算したコマンド実行時間と、ブランキング残時間計算部201aによって計算されたブランキング残時間とを比較し、ブランキング残時間の方が大きければコマンド実行部103aに実行許可情報を出力し、一方、コマンド実行時間の方が大きければコマンド実行部103aに実行不可情報を出力する。
コマンド実行部103aは、コマンド実行判断部202bから実行許可情報が通知されたコマンドだけを実行する。
次に、図5に示すフローチャートを参照して、表示コントローラ106bの動作について具体的に説明する。ステップS601はブランキング残時間判定処理、ステップS602はコマンド実行時間判定処理、ステップS603はコマンド実行判定処理である。なお、ステップS301、ステップS601、ステップS303及びステップS304の処理と、ステップS305〜ステップS307、ステップS602、ステップS603、ステップS308及びステップS309の処理とは並行して処理される。以下、各ステップの詳細を説明する。
図5に示すフローチャートは、図3のフローチャートから、ステップS302、ステップS310、ステップS311が削除され、ステップS601〜ステップS603が追加されている。よって、本実施の形態において追加・削除されたステップに重点をおいて説明する。
ステップS601において、コマンド実行判断部202bによりコマンドが実行可能であるか否かが判断される。ブランキング残時間がコマンド実行時間より大きい場合にはYESと判断され、制御はステップS303に進む。一方、ブランキング残時間がコマンド実行時間より小さい場合にはNOと判断され、制御はS304に進む。
ステップS602において、コマンド実行時間計算部501は、コマンドの実行に必要な時間を計算し、その情報をコマンド実行判断部202bに出力する。
ステップS603において、コマンド実行部103aによりコマンドを実行するか否かが判断される。コマンド実行判断部202bから実行許可情報が出力されている場合はYESと判断され、制御はステップS308に進む。一方、実行許可情報が出力されている場合にはNOと判断され、制御はステップS312に進む。
このようにして、コマンド実行部103aは、コマンド実行判断部202bから実行許可情報が通知されたコマンドだけを実行する。これにより、ブランキング期間を越えてコマンドが実行されてしまうことが回避され、画像表示の乱れが防止される。
次に、コマンド実行時間計算部501によるコマンド実行時間の算出方法について説明する。
コマンド実行時間は、表示コントローラ106bからフレームバッファ108に転送するデータ転送サイズ、および、コマンド実行のオーバーヘッドに依存する。すなわち、コマンド実行時間(sec)は、
コマンド実行時間(sec)=(データ転送サイズ/メモリバンド幅)+コマンド実行オーバーヘッド
となる。矩形塗りつぶしコマンドの場合、そのデータ転送サイズ(Byte)は、
データ転送サイズ(Byte)=ビット長(Byte)×横幅(ドット)×高さ(ドット)
となる。ここでビット長とは、1/2/4Byteのいずれかとなる。メモリバンド幅(Byte/sec)は、
メモリバンド幅(Byte/sec)=メモリ駆動周波数(Hz)×バス幅(Byte)
となる。ここでバス幅とは、1/2/4Byteのいずれかとなる。コマンド実行オーバーヘッド(sec)は、表示コントローラ106bの実装に依存した値となる。
具体的なシステムにおけるコマンド実行時間の算出例を示すと次の通りである。いま、メモリ仕様として、メモリ駆動周波数は100MHz、バス幅は4Byteを想定する。また、コマンド実行オーバーヘッドはデータ転送時間の20%の時間がかかるものとする。ここでは、高さ40ドット、横幅20ドット、ビット長4Byteの矩形塗りつぶしコマンドのコマンド実行時間を計算する。
データ転送サイズは、高さ×横幅×ビット長となり、3200Byteとなる。メモリバンド幅は、メモリ周波数×バス幅となり、400MByte/secとなる。従って、コマンド実行時間は(3200/400M)×1.2から、9.6μsecとなる。
次に、ブランキング残時間計算部201aによるブランキング残時間の算出方法について、図6を参照しながら説明する。
ブランキング残時間は、垂直ブランキング期間の残時間内に走査するドット数によって決まるため、その時間は、
ブランキング残時間(sec)=1ドットの走査時間(sec/ドット)×垂直ブランキング期間の残りドット数(ドット)
となる。また、1ドットの走査時間は、
1ドットの走査時間(sec)=1/(1秒間のフレーム数×全垂直ライン数×全水平ライン数)
となり、垂直ブランキング期間の残りドット数は、
垂直ブランキング期間の残りドット数(ドット)=(全垂直ブランキングライン数−現在の垂直ライン数)×全水平ライン数+(全水平ライン数−現在の水平ライン数)
となる。具体的なシステムにおけるブランキング残時間の算出例を示すと次の通りである。いま、メモリ仕様として、メモリ駆動周波数は100MHz、バス幅は4Byte、フレーム数は30、全垂直ライン数は525、全水平ライン数は720、全ブランキングライン数は45を想定する。そして、現在の垂直ラインが44、水平ラインが700の時のブランキング残時間を算出する。
垂直ブランキング期間の残りドット数は((45−44)×720)+(720−700)から740ドットとなる。1ドットの走査時間は、1/(30×525×720)から、約50/567(μsec)となる。これより、ブランキング残時間は、(50/567)×740となり、約63.5μsecとなる。
以上の状況において、上述した矩形塗りつぶしコマンドのコマンド実行時間は9.6μsecであり、ブランキング残時間は約63.5μsecであるため、コマンド実行判断部202bは、ブランキング残時間がコマンド実行時間よりも大きいため、このコマンドの実行が可能であると判断し、実行許可情報をコマンド実行部103aに出力する。
以上のように、本実施の形態によれば、コマンド実行判断部202bによってブランキング残時間がコマンド実行時間よりも大きいと判断されたコマンドだけがコマンド実行部103aよって実行される。これにより、垂直ブランキング期間を越えてフレームバッファに画像データを書き込みことが回避されるため、画像表示の乱れが防止される。
なお、ステップS301でのブランキング残時間の算出、及び、ステップS601でのコマンド実行可否の判断を、コマンド実行部103aによる内部バッファ1021aからのコマンド取り出しに連動して実行するようにしてもよい。
(実施の形態3)
次に、本発明の実施の形態3について説明する。
図7は、本実施の形態における表示システム111cの構成を示す図である。この表示システム111cは、垂直ブランキング期間を越えてフレームバッファに画像データを書き込むことを防止する機能と冗長なコマンドの実行を防止する機能とを備える表示システムであり、CPU101、表示コントローラ106c、記憶部109a及び表示装置110から構成される。
表示コントローラ106cは、コマンドバッファ107aに格納されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108aに書き込むとともに、フレームバッファ108aから画像データを読み出して表示装置110に出力する制御回路等であり、コマンド読み出し部102a、コマンド実行部103a、画像出力部104、同期信号発生部105a、ブランキング残時間計算部201a、コマンド実行判断部202b、コマンド実行時間計算部501及びコマンドキャンセル部1001を有する。
この表示システム111cは、実施の形態2の表示システム111bの構成に加えてコマンドキャンセル部1001を備える点で実施の形態2と異なり、他の構成は実施の形態2のものと同じである。なお、実施の形態2と同じ構成要素には同一の符号を付し、その説明を省略する。
本実施の形態における表示システム11cは、実施の形態2における表示システム111bの機能に加えて、内部バッファ1021aに取り込まれたコマンドにおいて冗長なコマンドが存在する場合に、そのコマンドの実行をキャンセルすることを特徴とする。
コマンドキャンセル部1001は、次に実行される内部バッファ1021a内のコマンドが冗長なコマンドか否かを判断し、冗長なコマンドである場合には、そのコマンドがコマンド実行部103aによって実行済みのものとして扱われるための処理(キャンセル)を行う。具体的には、冗長なコマンドに対応づけて、コマンド完了情報を内部バッファ1021aに書き込む。
図8は、内部バッファ1021aの構成を示す図であり、コマンドキャンセル部1001によるコマンド完了情報の書き込みの具体例を示すための図である。内部バッファ1021aは、コマンド欄411、登録ポインタ欄412、実行ポインタ欄413から構成され、リングバッファ構造を有する。コマンド読み出し部102aは、コマンドバッファ107aから読み出したコマンドをコマンド欄411に登録していく。登録開始位置は、登録ポインタ欄412におけるポインタ位置の次の位置からである。そして、コマンドの登録が完了した後、コマンド読み出し部102aは、登録ポインタ欄412におけるポインタの位置を、登録したコマンド位置まで進める。
コマンド実行部103aは、コマンド欄411からコマンドを読み出して実行していく。読み出し位置は、実行ポインタ欄413のポインタ位置の次の位置である。コマンド実行部103aは、コマンドを読み出した後に、実行ポインタ欄413におけるポインタの位置を1つ進める。読み出し最終位置は、登録ポインタ欄412におけるポインタ位置である。
このような構造を有する内部バッファ1021aに対して、コマンドキャンセル部1001は、次にコマンド実行部103aによって実行されるコマンド、つまり、実行ポインタ欄413のポインタ位置の次に位置するコマンドが冗長なコマンドであるか否かを判断し、冗長なコマンドであると判断した場合に、実行ポインタ欄413におけるポインタを次にコマンドに進める(つまり、コマンド完了情報が書き込まれる)。これによって、冗長なコマンドが読み飛ばされ、コマンド実行部103aによって実行されることが回避される。
次に、図9に示すフローチャートを参照して、表示コントローラ106cの動作について具体的に説明する。ステップS1101はコマンドキャンセル操作である。
図9に示すフローチャートは、図5のフローチャートにステップS1101が追加されたものに相当する。よって、本実施の形態において追加・削除されたステップに重点をおいて説明する。
ステップS1101において、コマンドキャンセル部1001によりコマンドキャンセル操作が行われる。もし、内部バッファ1021aに冗長なコマンドが存在すれば、そのコマンドキャンセルする。そしてコマンドを実行したものとし、コマンド完了情報をコマンドバッファ107に格納する。例えば、キャンセルするコマンドが読み飛ばされるように、内部バッファ1021a内の実行ポインタを進める。そして、制御は次のステップS306に進む。
なお、冗長なコマンドとは、内部バッファ1021a内にコマンド1、コマンド2が存在した場合において、コマンド2がコマンド1よりも後で実行される場合で、かつ、コマンド2の描画領域がコマンド1の描画領域を包含する場合に、コマンド1を冗長なコマンドと定義する。たとえば、図10に示される矩形描画コマンド1及び2のように、コマンド1の実行後、その描画領域にコマンド2の画像が上書きされるため、コマンド1を実行しなくても最終的な画像に影響がない。従って、コマンド1はキャンセルしても問題がないことになる。
その他の部分は実施の形態2と同様である。
以上のように、本実施の形態によれば、冗長なコマンドが実行されてしまうことが回避されるので、画像表示の乱れが防止されるだけでなく、表示コントローラの処理性能が向上される。
(実施の形態4)
次に、本発明の実施の形態4について説明する。
図11は、本実施の形態における表示システム111dの構成を示す図である。この表示システム111dは、垂直ブランキング期間を越えてフレームバッファに画像データを書き込むことを防止する機能とコマンドを分割する機能を備える表示システムであり、CPU101、表示コントローラ106d、記憶部109a及び表示装置110から構成される。
表示コントローラ106dは、コマンドバッファ107aに格納されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108aに書き込むとともに、フレームバッファ108aから画像データを読み出して表示装置110に出力する制御回路等であり、コマンド読み出し部102d、コマンド実行部103a、画像出力部104、同期信号発生部105a、ブランキング残時間計算部201a、コマンド実行判断部202b、コマンド実行時間計算部501及びコマンド分割部1201を有する。
この表示システム111dは、実施の形態2の表示システム111bの構成におけるコマンド読み出し部102aをコマンド読み出し部102dに置き換えた点、及び、さらにコマンド分割部1201を備える点で実施の形態2と異なり、他の構成は実施の形態2のものと同じである。なお、実施の形態2と同じ構成要素には同一の符号を付し、その説明を省略する。
本実施の形態における表示システム111dは、実施の形態2における表示システム111bの機能に加えて、内部バッファに取り込まれたコマンドにおいて実行時間が大きいコマンドが存在する場合に、そのコマンドを複数の小コマンドに分割することを特徴とする。
コマンド読み出し部102dは、実施の形態1〜3における内部バッファ1021aに、コマンドが分割されたコマンドかどうかを判断するためのフラグを格納する欄が追加された構成をとる内部バッファ1021dを有する。図12は、内部バッファ1021dの構成を示す図である。この内部バッファ1021dは、実施の形態3で説明したコマンド欄411、登録ポインタ欄412、実行ポインタ欄413に加えて、分割されたコマンドか否かを示す分割フラグ欄414を有する。分割フラグ欄414における「1」/「0」は、それぞれ、分割された旨/分割されていない旨を示すフラグ値である。
コマンド分割部1201は、コマンド読み出し部102dによって内部バッファ1021dに取り込まれたコマンドについて、実行時間が大きいコマンドが存在するか否かを判断し、存在する場合に、そのコマンドを複数の小コマンドに分割し、内部バッファ1021d(コマンド欄411、登録ポインタ欄412、実行ポインタ欄413)に小コマンド及び修正後のポインタを格納するとともに、対応する分割フラグ欄414に「分割した」旨のフラグ値を書き込む。
なお、コマンドを分割する判断基準については、例えば、プログラマによる決定が可能となるように、閾値となる実行時間を設定するためのレジスタをコマンド分割部1201に設けておき、コマンド分割部1201は、そのレジスタに格納された実行時間よりも大きい実行時間を要するコマンドを分割すればよい。
次に、図13に示すフローチャートを参照して、表示コントローラ106dの動作について具体的に説明する。ステップS1301はコマンド分割操作、ステップS1302はコマンド実行結果の格納処理である。
図13に示すフローチャートは、図5のフローチャートにステップS1301が追加されたものに相当する。よって、本実施の形態において追加・削除されたステップに重点をおいて説明する。
ステップS1301において、コマンド分割部1201は、コマンド分割操作を行う。もし、内部バッファ1021dに実行時間が大きなコマンドが存在すれば、そのコマンドを分割し、内部バッファ1021dに格納し、分割コマンドである旨を示すフラグ値を分割フラグ欄414に書き込む。たとえば、図14に示されるコマンド分割例のように、1つの矩形描画のコマンドを、分割された2つの矩形領域を描画する2つの矩形描画コマンドに分割する。そして、制御は次のステップS306に進む。
ステップS1302において、コマンド実行部103aは、コマンドの実行結果をフレームバッファ108に格納し、コマンド完了情報をコマンドバッファ107に格納する。但し、分割コマンドの実行完了の場合は、分割した全てのコマンドの実行が完了した時点でコマンド完了情報をコマンドバッファ107に格納する。そして、制御はステップS306に戻る。
その他の部分は実施の形態2と同様である。
以上のように、本実施の形態によれば、大きな実行時間を要するコマンドがより小さな実行時間で済むコマンドに分割されるので、画像表示の乱れが防止されるだけでなく、垂直ブランキング期間内に実行できるコマンドの数が増加する頻度が多くなり、表示コントローラの処理性能が向上される。
以上、本発明に係る表示システムについて、実施の形態1〜4に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
たとえば、コマンドに優先順位がある場合には、コマンドが実行される前に、内部バッファ内でコマンドを並び替えてもよい。
図15は、コマンドの並び替え機能を有する表示システム111eの構成を示す図である。この表示システム111eは、垂直ブランキング期間を越えてフレームバッファに画像データを書き込むことを防止する機能とコマンドの並び替え機能を備える表示システムであり、CPU101、表示コントローラ106e、記憶部109e及び表示装置110から構成される。
表示コントローラ106eは、コマンドバッファ107eに格納されたコマンドを実行することによって実行結果としての画像データをフレームバッファ108aに書き込むとともに、フレームバッファ108aから画像データを読み出して表示装置110に出力する制御回路等であり、コマンド読み出し部102e、コマンド実行部103a、画像出力部104、同期信号発生部105a、ブランキング残時間計算部201a、コマンド実行判断部202b、コマンド実行時間計算部501及びコマンド並び替え部1301を有する。
この表示システム111eは、実施の形態2の表示システム111bの構成における記憶部109a及びコマンド読み出し部102aを、それぞれ、記憶部109e及びコマンド読み出し部102eに置き換えた点、及び、さらにコマンド並び替え部1301を備える点で実施の形態2と異なり、他の構成は実施の形態2のものと同じである。
この表示システム111eは、実施の形態2における表示システム111bの機能に加えて、内部バッファに取り込まれたコマンドが優先度の高い順に実行されるように、内部バッファにおけるコマンドを並び替えることを特徴とする。
記憶部109eは、フレームバッファ108aと、図16に示されるようなコマンドバッファ107e、つまり、実施の形態1におけるコマンドバッファ107aにコマンドごとの実行の優先度を格納する優先度欄404を付加した構造のコマンドバッファ107eとを有する。このコマンドバッファ107eには、CPU101によって、コマンドごとの優先度が優先度欄404に書き込まれる。
コマンド読み出し部102eは、実施の形態1〜3における内部バッファ1021aに、コマンドの実行の優先度を格納する欄が追加された構成をとる内部バッファ1021eを有する。図17は、内部バッファ1021eの構成を示す図である。この内部バッファ1021eは、実施の形態3で説明したコマンド欄411、登録ポインタ欄412、実行ポインタ欄413に加えて、コマンドの実行における優先度を格納するための優先度欄415を有する。分割フラグ欄414における数値は、小さい値ほど優先度が高いことを示す。
コマンド並び替え部1301は、コマンド読み出し部102eによって内部バッファ1021eに取り込まれたコマンドに対して、優先度欄415に格納された優先度を参照することで、優先度の高い順にコマンドが並ぶように、コマンドを並び替える。
図18は、コマンド並び替え部1301によるコマンドの並び替え処理の例を示す図である。いま、直前フレームの垂直ブランキング期間の最後の時点における内部バッファ1021eの状態が図18(a)に示される状態、つまり、コマンド1、4及び2が実行済みであり、コマンド3(優先度「4」)が未実行であったとする。すると、現フレームの垂直ブランキング期間において、コマンド読み出し部102eがコマンドバッファ107eから新たなコマンド5及び6を読み出して内部バッファ1021eに格納したとすると、コマンド並び替え部1301は、図18(b)に示されるように、直前フレームで実行できなかったコマンド3の優先度を新たなコマンド5及び6よりも高い優先度「1」にしたうえで、新たなコマンド5及び6を優先度に従って並び替える。
このようにして、コマンド並び替え部1301により、前フレームで実行できなかったコマンドについては次フレームにおいて他のどのコマンドよりも優先して実行されるように優先度を設定したうえで、内部バッファ1021e内のコマンドを優先度の高い順に並び替えられるので、フレーム間においては先のフレームで発行されたコマンドが優先して実行されるとともに、同一フレームにおいては優先度の高いコマンドが優先して実行される。これにより、コマンドの発行順と優先度とを制御することで、コマンドの発行順に依存することなくコマンドの実行順序を制御することが可能となる。
また、本発明は、上記実施の形態だけに限られず、各実施の形態における構成要素を任意に組み合わせて得られる他の実施の形態として実現してもよい。例えば、コマンドキャンセル部1001、コマンド分割部1201及びコマンド並び替え部1301を備える表示システムも本発明に含まれる。
本発明に係る表示システムは、画像を表示するシステムとして、特に、デジタルテレビや携帯電話等のデジタル家電における表示システム等として有用である。
本発明の実施の形態1における表示システムの構成図 同表示システムの記憶部の構成図 同表示システムの動作を示すフローチャート 本発明の実施の形態2における表示システムの構成図 同表示システムの動作を示すフローチャート ブランキング残時間の計算方法を説明する図 本発明の実施の形態3における表示システムの構成図 同表示システムにおける内部バッファの構成図 同表示システムの動作を示すフローチャート 冗長なコマンドの例を示す図 本発明の実施の形態4における表示システムの構成図 同表示システムにおける内部バッファの構成図 同表示システムの動作を示すフローチャート コマンド分割の例を示す図 本発明の表示システムの構成図 同表示システムにおけるコマンドバッファの構成図 同表示システムにおける内部バッファの構成図 コマンドの並び替え処理の例を示す図 従来の表示システムの構成
符号の説明
101 CPU
102a、102d、102e コマンド読み出し部
103a コマンド実行部
104 画像出力部
105a 同期信号発生部
106a〜106e 表示コントローラ
107a、107e コマンドバッファ
108a フレームバッファ
109a、109e 記憶部
110 表示装置
111a〜e 表示システム
201a ブランキング残時間計算部
202a、202b コマンド実行判断部
501 コマンド実行時間計算部
1001 コマンドキャンセル部
1021a、1021d、1021e 内部バッファ
1201 コマンド分割部
1301 コマンド並び替え部

Claims (10)

  1. CPU、画像データと前記CPUから送られてくるコマンドとを保持する記憶手段、前記コマンドに従って画像データを前記記憶手段に書き込むとともに前記記憶手段に保持された画像データを読み出して出力する表示コントローラ、及び、前記表示コントローラから出力される画像データを表示する表示装置から構成される表示システムであって、
    前記表示コントローラは、
    前記表示装置に出力される垂直同期信号及び水平同期信号に基づいて、垂直ブランキング期間の残り時間であるブランキング残時間を計算するブランキング残時間計算手段と、
    計算された前記ブランキング残時間から前記コマンドの実行可否を判断するコマンド実行判断手段と、
    前記コマンド実行判断手段によって前記コマンドの実行が可能であると判断された場合に、前記ブランキング期間において当該コマンドを実行し、当該コマンドの実行結果である画像データを前記記憶手段に書き込むコマンド実行手段と
    を備えることを特徴とする表示システム。
  2. 前記表示コントローラはさらに、
    前記垂直同期信号、前記水平同期信号及びブランキング信号を生成する同期信号発生手段と、
    前記ブランキング信号が垂直ブランキング期間の開始を示した時に前記記憶手段からコマンドを読み出し、内部に有する内部バッファに保持するコマンド読み出し手段と、
    前記同期信号発生手段から出力される信号によって定まる表示期間が開始されると前記記憶手段から前記画像データを読み出して前記表示装置に出力する画像出力手段とを備え、
    前記コマンド実行判断手段は、コマンドの実行が可能であると判断した場合にはその旨を示す実行許可情報を前記コマンド実行手段に出力し、コマンドの実行が不可能であると判断した場合にはその旨を示す実行不可情報を前記コマンド実行手段に出力し、
    前記コマンド実行手段は、前記コマンド実行判断手段から実行許可情報を受け取った場合に、前記内部バッファに保持されたコマンドを実行し、前記コマンド実行判断手段から実行不可情報を受け取った場合に、コマンドの実行を停止し、
    前記表示装置は、前記垂直同期信号及び前記水平同期信号に同期して、前記画像出力手段から出力される画像データを表示する
    ことを特徴とする請求項1記載の表示システム。
  3. 前記コマンド実行判断手段は、前記ブランキング残時間が0よりも大きい場合に実行許可情報を出力し、前記ブランキング残時間が0以下の場合に実行不可情報を出力する
    ことを特徴とする請求項2記載の表示システム。
  4. 前記コマンド実行手段は、コマンドの実行中に前記コマンド実行判断手段から実行不可情報を受け取った場合には、次フレームの垂直ブランキング期間開始時まで当該コマンドの実行を一時停止する
    ことを特徴とする請求項2記載の表示システム。
  5. 前記表示コントローラはさらに、各コマンドの実行前に、前記コマンド実行手段がコマンドを実行するのに要する時間であるコマンド実行時間を計算するコマンド実行時間計算手段を備え、
    前記コマンド実行判断手段は、前記コマンド実行時間と前記ブランキング残時間とを比較し、前記コマンド実行時間が前記ブランキング残時間よりも小さい場合に実行許可情報を出力し、前記コマンド実行時間が前記ブランキング残時間よりも大きい場合に実行不可情報を出力する
    することを特徴とする請求項2記載の表示システム。
  6. 前記表示コントローラはさらに、画像の描画を指示する第1及び第2コマンドが前記内部バッファに格納される場合であって、前記第1コマンドが前記第2コマンドよりも先に実行され、かつ、前記第2コマンドの描画領域が前記第1コマンドの描画領域を包含するときには、前記コマンド実行手段による前記第1コマンドの実行をキャンセルするコマンドキャンセル手段を備える
    ことを特徴とする請求項2記載の表示システム。
  7. 前記表示コントローラはさらに、前記内部バッファに格納されたコマンドを複数のコマンドに分割するコマンド分割手段を備え、
    前記コマンド実行手段は、前記コマンド分割手段によって分割されたコマンドを実行する
    ことを特徴とする請求項2記載の表示システム。
  8. 前記表示コントローラはさらに、コマンドに優先度を付与し、優先度の高い順に前記内部バッファに格納されたコマンドを並び替えるコマンド並び替え手段を備え、
    前記コマンド実行手段は、前記コマンド並び替え手段によって並び替えられたコマンドを並び順に実行する
    ことを特徴とする請求項2記載の表示システム。
  9. 前記コマンド実行手段は、前フレームで実行できなかったコマンドについては、次フレームにおいて他のどのコマンドよりも優先して実行する
    ことを特徴とする請求項2記載の表示システム。
  10. 請求項1記載の表示システムにおける表示コントローラ。
JP2005292891A 2005-10-05 2005-10-05 表示システム及び表示コントローラ Pending JP2007101962A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005292891A JP2007101962A (ja) 2005-10-05 2005-10-05 表示システム及び表示コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005292891A JP2007101962A (ja) 2005-10-05 2005-10-05 表示システム及び表示コントローラ

Publications (1)

Publication Number Publication Date
JP2007101962A true JP2007101962A (ja) 2007-04-19

Family

ID=38028959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005292891A Pending JP2007101962A (ja) 2005-10-05 2005-10-05 表示システム及び表示コントローラ

Country Status (1)

Country Link
JP (1) JP2007101962A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182139A (ja) * 2009-02-06 2010-08-19 Mitsubishi Electric Corp 描画制御装置
WO2015068485A1 (ja) * 2013-11-08 2015-05-14 富士フイルム株式会社 カメラシステム、カメラ本体及び通信方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182139A (ja) * 2009-02-06 2010-08-19 Mitsubishi Electric Corp 描画制御装置
WO2015068485A1 (ja) * 2013-11-08 2015-05-14 富士フイルム株式会社 カメラシステム、カメラ本体及び通信方法
CN105659159A (zh) * 2013-11-08 2016-06-08 富士胶片株式会社 相机系统、相机机身及通信方法
US9794458B2 (en) 2013-11-08 2017-10-17 Fujifilm Corporation Camera system, camera body, and communication method for acquiring lens information
CN105659159B (zh) * 2013-11-08 2019-04-16 富士胶片株式会社 相机系统、相机机身及通信方法

Similar Documents

Publication Publication Date Title
US7456833B1 (en) Graphical representation of load balancing and overlap
US20060259662A1 (en) Data trnasfer apparatus, data transfer method, and program
TW201140555A (en) Techniques for aligning frame data
US6806872B2 (en) Video signal processing system
JP2009265547A (ja) 表示制御装置及び表示制御方法
TW507160B (en) Method for utilizing concurrent context switching to support isochronous processes
US8447035B2 (en) Contract based memory management for isochronous streams
JP2007101962A (ja) 表示システム及び表示コントローラ
US10642561B2 (en) Display control apparatus, display control method, and computer readable medium
JP3707509B2 (ja) 多機能並行処理型電子装置
US20060179180A1 (en) Signal processing apparatus, signal processing system and signal processing method
US7619634B2 (en) Image display apparatus and image data transfer method
US20030033455A1 (en) Data processor and data transfer method
JP2012123620A (ja) データ転送装置、データ転送方法、及び半導体装置
US20190108814A1 (en) Method for improving system performance, device for improving system performance, and display apparatus
US6774918B1 (en) Video overlay processor with reduced memory and bus performance requirements
WO2004077393A1 (ja) マトリクス型表示装置及びその表示方法
US20120144150A1 (en) Data processing apparatus
US6636224B1 (en) Method, system, and computer program product for overlapping graphics data collection and transmission using a single processor
US7327371B2 (en) Graphic controller, microcomputer and navigation system
US20200401310A1 (en) Image processing apparatus
JP2001010124A (ja) 描画装置及び描画方法、記憶媒体
JP2007281741A (ja) パイプライン処理を利用した画像処理
JP2007232844A (ja) 表示制御回路
JP2006337859A (ja) 表示制御装置及び方法、並びにプログラム