(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】電子機器、電子機器の制御方法およびプログラム
(51)【国際特許分類】
G06F 3/04847 20220101AFI20241105BHJP
G06F 3/0488 20220101ALI20241105BHJP
H04N 5/93 20060101ALI20241105BHJP
H04N 23/60 20230101ALI20241105BHJP
【FI】
G06F3/04847
G06F3/0488
H04N5/93
H04N23/60
(21)【出願番号】P 2020141136
(22)【出願日】2020-08-24
【審査請求日】2023-08-07
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】佐藤 歩
(72)【発明者】
【氏名】吉川 晃雄
【審査官】鈴木 順三
(56)【参考文献】
【文献】特開2018-036841(JP,A)
【文献】特開2020-127148(JP,A)
【文献】特開2020-127149(JP,A)
【文献】特開2016-143233(JP,A)
【文献】特開2012-119945(JP,A)
【文献】特開2017-117435(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 - 3/04895
H04N 23/00 - 23/959
H04N 5/76 - 5/956
(57)【特許請求の範囲】
【請求項1】
表示手段に対するタッチ操作を検出する検出手段と、
動画と、当該動画の再生位置を示す表示アイテムと、前記再生位置に対応する時刻情報とを前記表示手段に表示する制御を行い、前記検出手段が検出したタッチ位置に応じて前記動画の再生位置を変更し、当該変更された再生位置に対応する動画のフレーム画像および当該フレーム画像の時刻情報を前記表示手段に表示する制御を行う制御手段と、を備え、
前記制御手段は、タッチ操作に応じて再生位置が変更された際、当該変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れる場合、前記変更された再生位置に対応するフレーム画像の時刻情報ではなく、タッチ操作のタッチ位置に基づいて算出した時刻情報を表示した後に、前記変更された再生位置に対応するフレーム画像および当該フレーム画像の時刻情報を表示する制御を行うことを特徴とする電子機器。
【請求項2】
前記制御手段は、前記再生位置を示す表示アイテムとして、シークバーを表示し、
前記制御手段は、前記タッチ操作に応じた再生位置が変更された際、当該変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れる場合、前記タッチ操作のタッチ位置と、前記シークバーの始点位置および終点位置と、前記動画の開始時刻および終了時刻とに基づいて、時刻情報を算出して表示する制御を行うことを特徴とする請求項1に記載の電子機器。
【請求項3】
前記制御手段は、タッチ操作のタッチ位置に基づいて算出した時刻情報を表示する際の時刻情報の有効桁数を、タッチ操作により変更された再生位置に対応するフレーム画像の時刻情報を表示する際の時刻情報の有効桁数よりも小さくすることを特徴とする請求項1または2に記載の電子機器。
【請求項4】
前記制御手段は、前記検出手段が検出したタッチ操作のタッチ位置に基づき算出した時刻情報を時、分および秒の第1の形式で表示し、前記タッチ操作により変更された再生位置に対応するフレーム画像の時刻情報を時、分、秒およびフレームの第2の形式で表示する制御を行うことを特徴とする請求項3に記載の電子機器。
【請求項5】
前記制御手段は、前記変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れる場合であり、且つフレーム画像の描画が開始してから完了するまでにタッチ位置が変化した場合に前記第2の形式の時刻情報を表示する制御を行うことを特徴とする請求項4に記載の電子機器。
【請求項6】
前記制御手段は、前記フレーム画像が更新されたときに、前記第2の形式の時刻情報を表示する制御を行うことを特徴とする請求項4または5に記載の電子機器。
【請求項7】
前記制御手段は、前記変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れる場合であり、且つ前記検出手段が検出しているタッチ位置が所定時間同じである場合、前記動画における再生位置のフレーム画像を描画しないように制御することを特徴とする請求項2乃至6のうち何れか1項に記載の電子機器。
【請求項8】
前記制御手段は、前記フレーム画像の画像処理を行う画像処理手段の処理速度と、前記フレーム画像のサイズと、前記フレーム画像の解像度と、ネットワークの通信環境と、記録媒体の転送速度とのうち少なくとも1つに基づき、変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れるかを判定することを特徴とする請求項1乃至7のうち何れか1項に記載の電子機器。
【請求項9】
表示手段に対するタッチ操作を検出する検出手段を有する電子機器の制御方法であって、
動画と、当該動画の再生位置を示す表示アイテムと、前記再生位置に対応する時刻情報とを前記表示手段に表示する制御を行い、前記検出手段が検出したタッチ位置に応じて前記動画の再生位置を変更し、当該変更された再生位置に対応する動画のフレーム画像および当該フレーム画像の時刻情報を前記表示手段に表示する制御を行う工程、を備え、
タッチ操作に応じて再生位置が変更された際、当該変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れる場合、前記変更された再生位置に対応するフレーム画像の時刻情報ではなく、タッチ操作のタッチ位置に基づいて算出した時刻情報を表示した後に、前記変更された再生位置に対応するフレーム画像および当該フレーム画像の時刻情報を表示する制御を行うことを特徴とする電子機器の制御方法。
【請求項10】
請求項1乃至8のうち何れか1項に記載の電子機器の各手段をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、電子機器の制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、パーソナルコンピュータやデジタルカメラ、スマートフォン等の電子機器を用いて、動画を再生する際に、シークバーに対するユーザ操作により任意の位置から動画の再生を開始することができるようになっている。関連する技術として、特許文献1の技術が提案されている。特許文献1の技術は、動画の再生において、シークバーのマーカを動かす操作がされると、マーカの位置に対応する位置にメディアの縮小版プレビューを表示するとともに、マーカの時刻を表示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、シークバーに対するユーザ操作により動画の再生位置が変更された場合、即時に、動画の画像および当該画像の時刻の表示を切り替えることができないことがある。これは、動画の再生位置が変更された際に動画の画像および時刻を表示するための処理が行われるため、ユーザによるシークバーの操作に対して、画像および時刻を表示する処理が間に合わないことに起因する。この場合、ユーザ操作に対する応答性が低下するため、動画の再生位置を変更する際の操作性が低下するという問題が生じる。
【0005】
本発明は、動画の再生位置を変更する際の操作性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の電子機器は、表示手段に対するタッチ操作を検出する検出手段と、動画と、当該動画の再生位置を示す表示アイテムと、前記再生位置に対応する時刻情報とを前記表示手段に表示する制御を行い、前記検出手段が検出したタッチ位置に応じて前記動画の再生位置を変更し、当該変更された再生位置に対応する動画のフレーム画像および当該フレーム画像の時刻情報を前記表示手段に表示する制御を行う制御手段と、を備え、前記制御手段は、タッチ操作に応じて再生位置が変更された際、当該変更された再生位置に対応するフレーム画像および当該フレーム画像に対応する時刻情報の表示が遅れる場合、前記変更された再生位置に対応するフレーム画像の時刻情報ではなく、タッチ操作のタッチ位置に基づいて算出した時刻情報を表示した後に、前記変更された再生位置に対応するフレーム画像および当該フレーム画像の時刻情報を表示する制御を行うことを特徴とする。
【発明の効果】
【0007】
本発明によれば、動画の再生位置を変更する際の操作性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】電子機器のハードウェア構成の一例を示す図である。
【
図2】本実施形態の処理の流れの一例を示すフローチャート(その1)である。
【
図3】本実施形態の処理の流れの一例を示すフローチャート(その2)である。
【
図4】本実施形態の処理の流れの一例を示すフローチャート(その3)である。
【
図5】本実施形態の処理の流れの一例を示すフローチャート(その4)である。
【
図6】ディスプレイに表示される画面例(その1)を示す図である。
【
図7】ディスプレイに表示される画面例(その2)を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施形態に記載されている構成によって限定されることはない。
【0010】
図1は、本実施形態の電子機器100のハードウェア構成の一例を示す図である。電子機器100の構成は、
図1の例には限定されない。
図1に示されるように、電子機器100は内部バス150を有する。内部バス150に対して、CPU101、メモリ102、不揮発性メモリ103、画像処理部104、ディスプレイ105、操作部106、記録媒体I/F107、外部I/F109、通信I/F110が接続されている。「I/F」は、インタフェースである。内部バス150に接続される各部は、内部バス150を介して互いにデータの授受を行うことができる。
【0011】
CPU101は、不揮発性メモリ103に記憶されているプログラムをメモリ102に展開し、メモリ102に展開されたプログラムを実行する。CPU101は、検出手段および制御手段に対応する。CPU101がプログラムを実行することにより、実施形態の各種の制御が実現される。メモリ102は、例えば、RAMである。不揮発性メモリ103は、例えば、ROMやハードディスクドライブ等である。不揮発性メモリ103には、上記のプログラム以外に、画像データや音声データ、その他のデータ等が記憶されてもよい。
【0012】
画像処理部104は、CPU101の制御に基づいて、不揮発性メモリ103や記録媒体108に格納された画像データ、外部I/F109を介して取得した映像信号、通信I/F110を介して取得した画像データ等に対して各種の画像処理を施す。画像処理部104は、画像処理手段に対応する。画像処理部104が行う画像処理には、A/D変換処理やD/A変換処理、画像データの符号化処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ処理)、ノイズ低減処理、色変換処理等が含まれる。画像処理部104は、特定の画像処理を施すための専用の回路により実現されてもよい。また、上記の画像処理は、その種別に応じて、CPU101により実施されてもよい。
【0013】
ディスプレイ105は、CPU101の制御に基づいて、画像やGUI(Graphical User Interface)を構成するGUI画面等を表示する。ディスプレイ105は、表示手段に対応する。CPU101は、実行するプログラムに応じて表示制御信号を生成し、ディスプレイ105に表示するための映像信号を生成してディスプレイ105に出力する制御を行う。ディスプレイ105は出力された映像信号に基づいて映像を表示する。電子機器100は、ディスプレイ105に映像を出力するインタフェースを有し、ディスプレイ105は、電子機器100に接続される外部のモニタ(テレビ等)であってもよい。
【0014】
操作部106は、キーボード等の文字情報入力デバイスや、マウス或いはタッチパネルといったポインティングデバイス、ボタン、ダイヤル、ジョイスティック、タッチセンサ、タッチパッド等により構成される。操作部106は、ユーザ操作を受け付けるための入力デバイスである。操作部106は、タッチパネル106aを含む。タッチパネル106aは、ディスプレイ105に重ね合わせて平面的に構成され、接触された位置に応じた座標情報を出力する入力デバイスである。ディスプレイ105と操作部106とは、一体的に構成されたタッチパネルディスプレイであってもよいし、別個に構成されていてもよい。
【0015】
記録媒体I/F107は、メモリーカードといった記録媒体108を着脱可能に接続するためのインタフェースである。記録媒体I/F107は、CPU101の制御に基づき、接続された記録媒体108からのデータの読み出しや、記録媒体108に対するデータの書き込み等を行う。外部I/F109は、有線ケーブルまたは無線により、映像信号や音声信号等の入出力を行うためのインタフェースである。通信I/F110は、インターネット等のネットワーク111を介して、外部装置とファイルやコマンド等の各種データの送受信を行うためのインタフェースである。
【0016】
タッチパネル106aに対して、ユーザは、各種の操作を行うことができる。CPU101は、タッチパネル106aに対する操作や状態を検出できる。タッチパネル106aに対する操作や状態としては、例えば、タッチダウン、タッチオン、タッチムーブ、タッチアップおよびタッチオフがある。タッチダウンは、タッチパネル106aにタッチしていなかった指やペンを新たにタッチパネル106aにタッチする操作である。タッチダウンは、タッチパネル106aに対するタッチの開始である。タッチオンは、タッチパネル106aを指やペンでタッチしている状態である。タッチムーブは、タッチパネル106aを指やペンでタッチしたまま移動する操作である。タッチアップは、タッチパネル106aにタッチしていた指やペンを離す操作である。タッチオフは、タッチパネル106aに対してタッチがされていない状態である。
【0017】
CPU101は、タッチダウンを検出すると、タッチオンを検出する。CPU101は、タッチダウンを検出した後、タッチアップが検出されない限り、通常はタッチオンを検出し続ける。CPU101がタッチムーブを検出するときは、CPU101がタッチオンを検出している状態である。CPU101は、タッチオンを検出しても、タッチ位置が移動していなければタッチムーブを検出しない。CPU101は、タッチしていた全ての指やペンをタッチアップしたことを検出した後に、タッチオフを検出する。
【0018】
以上の操作や状態、タッチパネル106a上に指やペンがタッチしている位置座標等に関する情報は内部バスを通じてCPU101に通知される。CPU101は、通知された情報に基づいてタッチパネル106aに対してどのような操作(タッチ操作)が行なわれたかを検出する。タッチムーブについて、CPU101は、タッチパネル106a上で移動する指やペンの移動方向を、位置座標の変化に基づいて、タッチパネル106a上の垂直成分および水平成分ごとに判定できる。
【0019】
CPU101は、所定距離以上のタッチムーブを検出した場合、スライド操作が行なわれたと判定するものとする。タッチパネル106a上に指をタッチしたまま、所定距離を素早く動かして、そのまま離すといった操作はフリックと称される。フリックは、言い換えればタッチパネル106a上を指ではじくように素早くなぞる操作である。CPU101は、所定距離以上を、所定速度以上でタッチムーブしたことを検出し、そのままタッチアップを検出するとフリックが行なわれたと判定できる。つまり、CPU101は、スライド操作に続いてフリックがあったものと判定できる。また、複数箇所(例えば2点)を同時にタッチして、互いのタッチ位置を近づけるタッチ操作はピンチインと称され、互いのタッチ位置を遠ざけるタッチ操作はピンチアウトと称される。ピンチアウトとピンチインとはピンチ操作(あるいは単にピンチ)と総称される。タッチパネル106aは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうち何れの方式のものが適用されてもよい。適用される方式によって、タッチパネルに対する接触があったことでタッチがあったと検出する方式や、タッチパネルに対する指やペンの接近があったことでタッチがあったと検出する方式等があるが、何れの方式が適用されてもよい。
【0020】
図1の電子機器100は、例えば、パーソナルコンピュータやデジタルカメラ等の撮像装置であってもよい。電子機器100が撮像装置に適用される場合、記録媒体108はメモリーカード等であり、メモリーカードに記録された動画や静止画を、撮像装置のディスプレイ105(背面液晶画面)等に再生表示することができる。また、電子機器100は、スマートフォンやタブレット端末等のスマートデバイスに適用することもできる。さらに、電子機器100は、PDAや携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダー等、動画や静止画を再生表示できる任意のデバイスに適用可能である。
【0021】
次に、本実施形態の電子機器100の処理の流れについて説明する。
図2乃至
図5は、本実施形態の電子機器100の再生処理の流れの一例を示すフローチャートである。以下のフローチャートの各処理は、CPU101がプログラムを実行することで、実現される。まず、S201で、CPU101は、動画および動画のメタデータに含まれる情報をディスプレイ105に表示する制御を行う。メタデータは、例えば、動画クリップの情報等である。動画およびメタデータの情報は、例えば、記録媒体108に記録されており、CPU101は、記録媒体108から動画および動画のメタデータを取得する。また、CPU101は、S201の処理を実行する際に、後述する変数Aおよび変数Bを初期化する。変数Aはシークバー304のタッチ位置に対応するフレームを特定する情報であり、変数Bは描画処理中のフレームを特定する情報である。フレームを特定する情報は、例えば、フレーム番号である。
【0022】
図6(A)は、ディスプレイ105に表示される画面の第1の例を示す図である。
図6(A)において、ディスプレイ105には、動画の画(画像301)に、F値302および動画の再生位置の時刻303が重畳して表示されている。S202で、CPU101は、シークバーをディスプレイ105に表示する制御を行う。
図6(B)は、ディスプレイ105に表示される画面の第2の例を示す図である。
図6(B)の例では、
図6(A)の情報に加えて、シークバー304、動画における現在位置を示すポインタ305、動画の開始時刻306および動画の終了時刻307が、画像301に重畳して表示されている。動画の開始時刻306は始点位置に対応し、動画の終了時刻307は終点位置に対応する。シークバー304は、動画の再生位置を示す表示アイテムに対応する。表示アイテムは、動画の再生位置を示すことができれば、シークバー以外の表示態様であってもよい。
【0023】
動画が再生されているときに、ポインタ305は、シークバー304上を開始時刻306から終了時刻307まで移動する。また、シークバー304上のポインタ305は、ユーザ操作により任意の位置に移動することができる。これにより、動画の再生位置を変更することができる。CPU101は、
図6(B)の例に示されるような画面をディスプレイ105に表示する制御を行う。
【0024】
S203で、CPU101は、動画再生を開始する制御を行う。S204で、CPU101は、シークバー304に対するタッチダウン操作が操作部106に行われたかを判定する。シークバー304に対するタッチダウン操作がされているとされている場合、CPU101は、S204でYESと判定し、フローをS205に進める。一方、シークバー304に対するタッチダウン操作がされていない場合、CPU101は、S204でYESと判定し、フローを「A」に進める。「A」以降の処理については、後述する。
【0025】
S205で、CPU101は、動画再生中であるか、または一時停止中であるかの再生状態を示す変数Sの値をメモリ102に記憶する。S206で、CPU101は、変数Sの値に基づいて、動画再生中であるかを判定する。変数Sの値が動画再生中であることを示している場合、CPU101は、S206でYESと判定し、フローをS207に進める。S207で、CPU101は、再生中の動画を一時停止する制御を行う。そして、CPU101は、フローをS208に進める。一方、変数Sの値が動画再生中でないことを示している場合、CPU101は、S206でNOと判定し、フローをS208に進める。
【0026】
S208で、CPU101は、シークバー操作に追従して画の描画が可能であるかを判定する。描画する画は、動画のフレーム画像である。シークバー操作に追従して画の描画が可能である場合、CPU101は、S208でYESと判定し、フローを「B」に進める。「B」以降の処理については、後述する。一方、シークバー操作に追従して画の描画が可能でない場合、CPU101は、S208でNOと判定し、フローをS209に進める。
【0027】
本実施形態のシークバー操作(シークバー204に対するタッチ操作)は、動画の再生位置を変更する操作である。CPU101がS208でYESと判定した場合、シークバー操作に追従して画(フレーム画像)の描画が遅れることはない。つまり、シークバー操作により動画の再生位置が変更された場合、変更された再生位置の画(フレーム画像)の描画が、シークバー操作に対して遅れることはなく、間に合う。ただし、変更された再生位置の画(フレーム画像)の描画が、シークバー操作に対して遅れたとしても、遅延量が所定の閾値以下である場合(遅延量が少ない場合)、CPU101は、S208でYESと判定してもよい。この場合、操作性が殆ど低下しないためである。一方、CPU101がS208でNOと判定した場合、シークバー操作に追従して画(フレーム画像)の描画が遅れることになる。つまり、シークバー操作により動画の再生位置が変更された場合、変更された再生位置の画(フレーム画像)の描画が、シークバー操作より遅れることになる。
【0028】
CPU101は、画像処理部104の処理速度と動画の画のサイズと動画の画の解像度とネットワーク111の通信環境と記録媒体108の転送速度とのうち少なくとも1つに基づいて、S208の判定を行ってもよい。例えば、画像処理部104の処理速度が所定速度以下である場合、変更された再生位置の画の描画が、シークバー操作より遅れることがあるため、CPU101は、S208でNOと判定してもよい。また、動画の画の解像度が所定解像度以上である場合も、同様に、変更された再生位置の画の描画が、シークバー操作より遅れることがあるため、CPU101は、S208でNOと判定してもよい。例えば、4Kや8K等の高解像度の動画の場合、シークバー操作により再生位置が変更された場合、変更された再生位置の画の描画が、シークバー操作より遅れる可能性が高くなる。このような場合、CPU101は、S208でNOと判定してもよい。
【0029】
また、画像処理部104の処理速度が所定速度以下のように低速である場合には、常に画の描画が遅れることとなる。動画の画のサイズが所定サイズ以上の場合、動画の画の解像度が所定解像度以上の場合、ネットワーク111の通信負荷が所定負荷以上の場合、或いは記録媒体108との転送速度が所定速度以下の場合も同様に、常に画の描画が遅れることとなる。従って、上記の各種の状況に応じて、CPU101は、S208の判定を行うことなく、処理をS209に進めてもよい。この場合、「B」以降の処理は実行されない。
【0030】
S209で、CPU101は、タイマーのカウントが開始されているかを判定する。タイマーは、電子機器100のハードウェアタイマーであってもよいし、CPU101が実行するソフトウェアタイマーであってもよい。タイマーのカウントが開始している場合、CPU101は、S209でYESと判定し、フローをS210に進める。S210で、CPU101は、タイマーのカウントを終了させる。このとき、CPU101は、タイマーのカウントをリセットしてもよい。CPU101は、S209でNOと判定した場合、またはS210の処理を実行した場合、フローをS211に進める。S211で、CPU101は、タイマーのカウントを開始させる。
【0031】
S212で、CPU101は、シークバー204に対する操作に応じて、シークバー304のx軸方向の始点と終点とに対してタッチされている位置の比率で再生位置のポインタ305を移動させる。これにより、ディスプレイ105に表示されている再生位置を示すポインタ305の位置が移動する。ここで、
図6(B)に示されるように、シークバー204は、長手方向(x軸方向)に延在している。ポインタ305の位置は、x座標で表される。シークバー204が延在する方向は、ディスプレイ105における直交する2軸(x軸およびy軸)の何れの方向であってもよいし、斜めの方向であってもよい。
【0032】
S213で、CPU101は、シークバー304の長手方向、x軸方向の始点と終点とに対してタッチされている位置の比率で再生位置の秒数を算出する。CPU101は、以下の式(1)を用いて、再生位置の秒数を算出することができる。以下の式(1)において、総秒数は、シークバー304の始点x座標(始点位置)から終点x座標(終点位置)までの秒数の総計であり、動画の時間を示す。
「再生位置の秒数=(タッチされているx座標―シークバーの始点x座標)/(シークバーの終点x座標-シークバーの始点x座標)×総秒数+開始時刻」・・・式(1)」
以上の式(1)で算出された再生位置の秒数は、シークバー204にシークバー操作(タッチ操作)された位置とシークバー204の両端とに基づく概算的な時間である。
【0033】
S214で、CPU101は、S213で算出した再生位置の秒数を時、分および秒の第1の形式でディスプレイ105に表示させる制御を行う。
図7(A)は、ディスプレイ105に表示される画面の第3の例を示す図である。
図7(A)に示されるように、画像301に、時、分および秒の第1の形式で表される時刻308が重畳して表示されている。時刻308は、変更された再生位置に対応するフレーム画像の時刻情報に対応する。これにより、ユーザ操作に追従して即時に画の表示を切り替えることができない場合においても、タッチされた位置における時、分および秒の第1の形式で、動画の画の時刻を表示できる。このとき、CPU101は、画像301の更新は行わない。従って、ユーザ操作によりシークバー304の任意の位置がタッチされたときに、ユーザ操作に追従して即時に画の表示を切り替えることができなくても、ユーザ操作に対する応答性を保ちつつ、動画の中の所望の位置を検索することができる。
【0034】
S215で、CPU101は、操作部106に対してシークバー304のx軸方向にタッチムーブ操作が行われたかを判定する。タッチムーブ操作が行われた場合、CPU101は、S215でYESと判定し、フローをS209に戻す。一方、タッチムーブ操作が行われていない場合、CPU101は、S215でNOと判定し、フローを「C」からS216に移す。「C」以降の処理について、
図3のフローチャートを参照して、説明する。
図3のフローチャートに示されるように、フローは「C」からS216に移る。S216で、CPU101は、S211でカウントを開始したタイマーが所定時間経過しているかを判定する。タイマーが所定時間経過している場合、CPU101は、S216でYESと判定し、フローをS217に進める。
【0035】
S217で、CPU101は、タイマーのカウントを終了させる。S218で、CPU101は、再生位置の画の描画を開始しているかを判定する。再生位置の画の描画が開始していない場合、CPU101は、S218でNOと判定し、フローをS219に進める。S219で、CPU101は、シークバー304のx座標方向の始点と終点とに対する、タッチされているx座標の位置の比率で再生位置のフレームを算出し、算出した値を変数Aの値としてメモリ102に記憶する。変数Aは、上述したように、シークバー304のタッチ位置に対応するフレームを特定する情報であり、変数Bは描画処理中のフレームを特定する情報である。S220で、CPU101は、メモリ102に記憶されている変数Aと変数Bの値を読み出し、変数Aの値と変数Bの値とが同じであるかを判定する。
【0036】
変数Aの値と変数Bの値とが同じでない場合、CPU101は、S220でNOと判定し、フローをS221に進める。S221で、CPU101は、メモリ102に記憶されている変数Aの値を読み出し、変数Aに対応するフレーム位置の画の描画を開始させる制御を行う。これにより、ディスプレイ105に、変数Aに対応するフレーム位置の画が描画されていく。S222で、CPU101は、メモリ102に記憶されている変数Aの値を読み出して、変数Bの値を変数Aの値にしてメモリ102に記憶する。
【0037】
そして、CPU101は、フローをS223に進める。CPU101は、S216でNOと判定した場合、S218でYESと判定した場合、またはS220でYESと判定した場合も、フローをS223に進める。CPU101は、S216で所定時間が経過していないと判定した場合にフローをS223に進めることで、画の描画間隔をあけることができる。これにより、タッチムーブ操作中の描画処理が行われないことから、ユーザ操作に対する応答性が低下することを抑制できる。
【0038】
また、CPU101は、S220でYESと判定した場合、S221およびS222の処理を実行することなく、フローをS223に進める。S218の処理は、S216でNOと判定された場合、つまり所定時間経過した場合に実行される。そして、S220でYESと判定される場合は、変数Aの値と変数Bの値とが同じ場合である。従って、シークバー304においてタッチされているタッチ位置が所定時間同じであるときに、S220でYESと判定される。この場合、CPU101は、S221の処理、つまり再生位置の描画処理を省略することができる。
【0039】
S223で、CPU101は、画の描画が完了したかを判定する。CPU101は、画の描画が完了したと判定した場合、S223でYESと判定し、フローをS224に進める。CPU101は、画の描画が完了していないと判定した場合、S223でNOと判定し、フローをS228に進める。S224で、CPU101は、シークバー304のx軸方向の始点と終点とに対する、タッチされているx座標の位置の比率で再生位置のフレームを算出し、算出した値を変数Aの値としてメモリ102に記憶する。S225で、CPU101は、メモリ102の変数Aの値と変数Bの値とを読み出し、変数Aの値と変数Bの値とが同じであるかを判定する。変数Aの値と変数Bの値とが同じでない場合、CPU101は、S225でNOと判定し、フローをS226に進める。
【0040】
S226で、CPU101は、描画完了した画のタイムコードを時、分、秒およびフレームの第2の形式でディスプレイ105に表示する制御を行う。S226の処理は、S223でYESと判定した場合に行われる。動画の画の描画が完了したとき、つまり動画の画が更新されたときに、CPU101は、更新した動画の画に対応するタイムコードを第2の形式で表示する制御を行う。
【0041】
図7(B)は、ディスプレイ105に表示される画面の第4の例を示す図である。CPU101は、描画が完了すると、ディスプレイ105に表示される画像301を更新する制御を行うとともに、時、分、秒およびフレームの第2の形式の時刻309をタイムコードとして画像301に重畳して表示する制御を行う。
図7(A)の時刻308と
図7(B)の時刻309とは、ともに時刻情報であるが、有効桁数が異なる。
図7(A)の時刻308は、シークバー304に対してタッチ操作されたタッチ位置に基づき概算的に算出された時刻情報である。時刻308は、フレームを含まない。例えば、
図7(A)の例の場合、第1の形式の時刻情報である時刻308は「00:16:11」であり、フレームを示す情報を含まない。
【0042】
一方、
図7(B)の時刻309は、シークバー304に対してタッチ操作により変更された再生位置に対応する画(フレーム画像)のフレームを示す情報を含む。例えば、
図7(B)の例の場合、第2の形式の時刻情報である時刻309は「00:16:11.03」であり、フレームを示す情報として「03」を含む。つまり、第1の形式の時刻情報は、第2の形式の時刻情報よりも有効桁数が小さい。従って、CPU101がユーザ操作中は時、分および秒で表される有効桁数が小さい第1の形式の時刻表示の制御を行うことで、応答性の低下を抑制することができる。そして、画の描画が完了した際には時、分、秒およびフレームの第2の形式で描画完了した画のタイムコードを表示することができる。S227で、CPU101は、変数Bの値を初期化してメモリ102に記憶する。
【0043】
上述したように、CPU101は、S225でNOと判定した場合、S226の処理を実行する。これにより、描画が完了した画のフレームとタッチ操作(タッチオン)している位置のフレームとが異なる場合、時刻309としてタッチオンしている位置の画のタイムコードが表示される。S221で描画が開始された画は、S222で記憶された変数Bに対応し、描画が完了した画は、S224で記憶された変数Aに対応する。従って、画の描画が開始してから完了するまでに、タッチ位置が変化すると、CPU101は、S225でNOと判定する。この場合、CPU101は、S226で描画が完了した画のタイムコードを画像301に重畳して表示する。一方、CPU101は、S225でYESと判定した場合、S226の処理を実行することなく、フローをS228に進める。この場合、画の描画が開始してから完了するまでに、タッチ位置は同じ位置である。この場合、S226のタイムコードを表示する処理を省略することができる。
【0044】
S228で、CPU101は、操作部106に対してタッチオンの状態(タッチ中)であるかを判定する。タッチ中である場合、CPU101は、S228でYESと判定し、フローを「D」から
図2のS215に移す。一方、タッチ中でない場合、CPU101は、S228でNOと判定し、フローをS229に進める。この場合、操作部106の状態はタッチオフの状態になっている。S229で、CPU101は、シークバー304のx座標方向の始点と終点とに対する、タッチされているx座標の位置の比率で再生位置のフレームを算出し、算出した変数Aの値をメモリ102に記憶する。
【0045】
S230で、CPU101は、メモリ102に記憶されている変数Aの値と変数Bの値とを読み出し、変数Aの値と変数Bの値とが同じであるかを判定する。変数Aの値と変数Bの値とが同じでない場合、CPU101は、S230でNOと判定し、フローをS231に進める。S231で、CPU101は、メモリ102に記憶されている変数Aの値を読み出し、変数Aのフレーム位置の画の描画を開始する制御を行う。S231は、変数Aの値と変数Bの値とが同じでない場合に実行される処理である。つまり、タッチオフされたシークバー304の位置における画が描画されていないときに、S231の処理が実行される。
【0046】
S232で、CPU101は、メモリ102に記憶されている変数Sの値を読み出し、変数Sの値が一時停止中を示しているかを判定する。変数Sの値が一時停止中でないことを示している場合、CPU101は、S232でNOと判定し、フローをS233に進める。S233で、CPU101は、メモリ102に記憶されている変数Aの値を読み出し、変数Aに対応するフレーム位置から動画の再生を開始する制御を行う。CPU101は、S230でYESと判定した場合、S232でYESと判定した場合、またはS233の処理を実行した場合、フローを「E」からS242に移す。S242以降の処理は、後述する。
【0047】
次に、
図2のS208でCPU101がYESと判定した場合の処理について、
図4のフローチャートを参照して説明する。CPU101は、S208でシークバー操作に追従して画の描画が可能であるかを判定する。CPU101は、S208でYESと判定した場合、フローを「B」から、
図4のS234に移す。S234で、CPU101は、シークバー304上で再生位置のポインタ305がタッチオンされている位置に基づいて移動する制御を行う。これにより、ディスプレイ105に重畳して表示されるポインタ305の位置が移動する。S235で、CPU101は、シークバー304のx座標方向の始点と終点とに対する、タッチされているx座標の位置の比率で再生位置のフレームを算出し、算出した値を変数Aの値としてメモリ102に記憶する。
【0048】
S236で、CPU101は、メモリ102に記憶されている変数Aの値を読み出し、読み出した変数Aに対応するフレーム位置の画を描画する制御を行う。S237で、CPU101は、S236で描画した画のタイムコードを時、分、秒およびフレームの形式でディスプレイ105に表示する制御を行う。S236およびS237の処理は、上述したS208でYESと判定された場合、つまりシークバー操作に追従して画の描画が可能である場合に実行される。従って、ユーザによるシークバー304の操作に、画の描画が間に合うため、CPU101は、描画が完了した画に、時、分、秒およびフレームの第2の形式の時刻情報を画像301に重畳して表示する制御を行う。
【0049】
S238で、CPU101は、操作部106を用いてシークバー304のx軸方向にタッチムーブ操作が行われたかを判定する。x軸方向にタッチムーブ操作が行われた場合、CPU101は、S238でYESと判定し、フローをS234に戻し、S234からS237の処理を実行する。一方、x軸方向にタッチムーブ操作が行われていない場合、CPU101は、S238でNOと判定し、フローをS239に進める。S239で、CPU101は、操作部106の状態がタッチオンの状態(タッチ中)であるかを判定する。タッチ中である場合、CPU101は、S239でYESと判定し、フローをS238に戻す。一方、タッチ中でない場合、CPU101は、S239でNOと判定し、フローをS240に進める。この場合、操作部106の状態はタッチオフとなる。
【0050】
S240で、CPU101は、メモリ102に記憶されている変数Sの値を読み出し、読み出した変数Sが一時停止中であることを示しているかを判定する。変数Sが一時停止中であることを示していない場合、CPU101は、S240でNOと判定し、フローをS241に進める。S241で、CPU101は、メモリ102に記憶されている変数Aの値を読み出し、変数Aに対応するフレーム位置(再生位置)から動画の再生を開始する制御を行う。CPU101は、S240でYESと判定した場合、またはS241の処理を実行した場合、フローを「F」に移す。また、CPU101は、
図2のS204でNOと判定した場合、フローを「A」から、
図4の「F」に移す。
図3の「E」からのフローの移行先も「F」である。
【0051】
図4の「F」以降の処理について説明する。
図5は、
図4の「F」以降の処理の流れを示すフローチャートである。S242で、CPU101は、メモリ102に記憶されている変数Sの値を読み出し、変数Sの値が一時停止中を示しているかを判定する。変数Sの値が一時停止中であることを示している場合、CPU101は、S242でYESと判定し、フローをS243に進める。S243で、CPU101は、画の描画が完了していないかを判定する。S243の判定は、
図3のS221またはS231で開始されたフレーム位置の画の描画が完了したかを判定する処理である。画の描画が完了していない場合、CPU101は、S243でNOと判定し、フローをS244に進める。S244で、CPU101は、シークバー304のx軸方向の始点と終点とに対する、タッチされているx座標の位置の比率で再生位置のフレームを算出し、変数Aの値としてメモリ102に記憶する。
【0052】
S245で、CPU101は、メモリ102に記憶されている変数Aの値と変数Bの値とを読み出し、変数Aの値と変数Bの値とが同じであるかを判定する。変数Aの値と変数Bの値とが同じでない場合、CPU101は、S245でNOと判定し、フローをS246に進める。S246で、CPU101は、描画が完了した画のタイムコードを時、分、秒およびフレームの第2の形式で画像301に重畳して表示する。S247で、CPU101は、変数Bの値を初期化してメモリ102に記憶する。CPU101は、S242でNOと判定した場合、S243でYESと判定した場合、S245でYESと判定した場合、またはS247の処理を実行した場合、フローをS248に進める。
【0053】
S248で、CPU101は、操作部106に対して再生ボタンを押下する操作がされたかを判定する。再生ボタンは、動画を再生するためのボタンであり、ディスプレイ105に表示される画面上のボタンであってもよいし、電子機器100に設けられるボタン部材であってもよい。再生ボタンを押下する操作がされた場合、CPU101は、S248でYESと判定し、フローをS249に進める。S249で、CPU101は、変数Sの値に基づいて、動画再生中であるかを判定する。動画再生中である場合、CPU101は、S249でYESと判定し、フローをS250に進める。S250で、CPU101は、再生中の動画を一時停止する制御を行う。このとき、CPU101は、変数Sの値を変更する。一方、動画再生中でない場合、CPU101は、S249でNOと判定し、フローをS251に進める。S251で、CPU101は、メモリ102の変数Aの値を読み出し、変数Aに対応するフレーム位置から動画の再生を開始する制御を行う。
【0054】
CPU101は、S248でNOと判定した場合、S250の処理を実行した場合、またはS251の処理を実行した場合、フローをS252に進める。S252で、CPU101は、操作部106に対して所定の終了操作がされたかを判定する。所定の終了操作がされた場合、CPU101は、S252でYESと判定し、本実施形態の再生処理を終了させる。このとき、CPU101は、ディスプレイ105に表示していた再生画面を非表示にする制御を行ってもよい。一方、所定の終了操作がされていない場合、CPU101は、S252でNOと判定し、フローを「G」から
図2のS204に移す。
【0055】
以上に説明したように、本実施形態の電子機器100は、シークバー操作により動画の再生位置が変更される操作が行われたときに、動画の画の描画が遅れたとしても、タッチ操作のタッチ位置に基づいて算出した時刻情報を表示する。その後、電子機器100は、シークバー操作により変更された再生位置の動画の画および当該画に対応するタイムコードを表示する。これにより、動画の画の描画がシークバー操作に間に合わないような場合でも、シークバー操作に対応する動画の画の時刻情報を表示することができるため、動画の再生位置が変更された際の操作性を向上させることができる。
【0056】
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の1以上の機能を実現するプログラムを、ネットワークや記録媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0057】
100 電子機器
101 CPU
104 画像処理部
105 ディスプレイ
106 操作部
106a タッチパネル
301 画像
304 シークバー
305 ポインタ
308 時刻
309 時刻