情報処理装置、情報処理方法、およびプログラム
【課題】サムネイル画像を用いたフレーム選択用のGUIに対する操作性の向上を図る。
【解決手段】動画中の少なくとも一部の範囲をサムネイル表示範囲として、このサムネイル表示範囲に属する複数のフレームそれぞれに対応する複数のサムネイル画像を時間順に環状に並べて画面に表示する。画面に重ねて配置されたタッチパネル部による検出の結果をもとに、複数のサムネイル画像の並びの向きに沿ってなぞる操作を判定したとき、そのなぞる方向に応じて動画中でのサムネイル表示範囲をシフトさせる。
【解決手段】動画中の少なくとも一部の範囲をサムネイル表示範囲として、このサムネイル表示範囲に属する複数のフレームそれぞれに対応する複数のサムネイル画像を時間順に環状に並べて画面に表示する。画面に重ねて配置されたタッチパネル部による検出の結果をもとに、複数のサムネイル画像の並びの向きに沿ってなぞる操作を判定したとき、そのなぞる方向に応じて動画中でのサムネイル表示範囲をシフトさせる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サムネイル画像を用いたGUIを提供することが可能な情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、情報処理装置を構成するハードウェアの品質・機能の向上により、スマートホンやPDA(Personal Digital Assistant)、などの携帯型の情報処理装置においても、高解像度の動画の撮影、保存、再生などの操作を行うことが可能となってきている。このように情報処理装置での動画の利用方法として、動画の中から所望のフレームを選び出して静止画として保存することが考えられる。
【0003】
動画からの所望のフレームの選択は、動画の再生、早送り、巻き戻し、一時停止、コマ送り等を通じて動画全体を人為的にサーチすることによって行われることが普通である。また、時間軸上の位置を指定可能なスライダをユーザが操作して、再生したいフレームを選択することによって行うことも可能である。
【0004】
また、特許文献1には、動画のほぼ一定間隔毎のフレームの縮小画像である複数のサムネイル画像が時間軸に沿って縦横に並べて表示され、その中でユーザによって所望のサムネイル画像が選択されると、そのサムネイル画像に対応するフレーム位置から動画の再生が開始されることとされている。この方法によっても、所望のフレームの静止画を効率的に選択することができる。この特許文献1において、サムネイル画像の表示画面には、一連の動画(シーン)においてサムネイル画像を表示させる時間範囲を移動させるための送り/戻しキー(ソフトキー)が表示される。ユーザはこの送り/戻しキーを操作することによって、画面に表示されていない時間範囲のサムネイル画像を表示させることができる。また、表示させるサムネイル画像の時間間隔を画面に表示されたスイッチの操作によって変更することも可能である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−228135号公報(段落0047−0065、図3−図6)
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の送り/戻しキーのようなキーの操作によってサムネイル画像の表示範囲を移動させる方式では、キーの1回の操作に対して移動させるサムネイル画像の表示範囲は、表示がスキップされるサムネイル画像が生じることのないよう、画面に表示可能なサムネイル画像の数によって制限されることが普通である。このため、現在サムネイル画像の表示範囲から比較的離れた表示範囲まで移動させるには同じキーのタッチ操作を繰り返す必要があり、操作が面倒である。
【0007】
また、サムネイル画像の表示範囲を送ったり戻したりを繰り返すためには、ユーザは送りキーと戻しキーとの間で操作対象を変える必要がある。このため、特に送りキーと戻しキーとが離れて設けられているような場合には、操作するキーを変更する都度、変更先のキーの位置を確認する必要があり、操作の効率化にとって壁となる。
【0008】
さらに、上記の特許文献1において、表示させるサムネイル画像の時間間隔を画面に表示されたスイッチの操作によって変更する場合、そのための変更操作画面を別の操作(オプションキーの押下)によって呼び出し、その変更操作画面で時間間隔を設定する、といった複数の操作を要する。この点も操作の効率化にとって壁となる。
【0009】
さらに、上記の特許文献1において、サムネイル画像を表示するフレームは、必ずしも一定間隔毎のフレームの画像ではなく、その一定間隔毎のフレームに最も近い位置にある画面内圧縮符号化画像を縮小したものをサムネイル画像としている。しかし静止画として保存したいフレームは、必ずしも画面内圧縮符号化画像であることに限らないことから、静止画の切り出しを目的とする場合には、フレーム間差分圧縮画像のサムネイル画像も表示される必要がある。ところが、フレーム間差分圧縮画像は、これに関係する画面内圧縮符号化画像をデコードしてからでなければデコードできないため、サムネイル画像の表示までの待ち時間が比較的長くかかってしまい、この点もまた操作の効率化にとって壁となる。
【0010】
以上のような事情に鑑み、本発明の目的は、画像を用いたGUIの操作性においてより優れた情報処理装置、情報処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、画面を有する表示部と、前記画面上でユーザにより指示された位置を検出する検出部と、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせる制御部とを具備する。
【0012】
本発明では、ユーザが複数の画像の並びの向きに沿ってなぞる操作を行うことによって、制御部が、複数の画像を時間順に環状に並べて表示する動画中の少なくとも一部の範囲である表示範囲を時間軸の方向にシフトさせる。これにより、表示範囲をシフトさせる際のユーザの操作性が向上する。また、例えば、ユーザが円を描くように画面をなでることによって、サムネイル表示範囲を設定フレーム間隔で連続してシフトさせることができるなど、操作効率の向上も期待できる。
【0013】
前記画面に環状に並べて表示される複数の前記画像は、設定された間隔毎のフレームそれぞれに対応する複数の画像であってよい。
【0014】
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記間隔の設定値を設定するようにしてもよい。これにより、操作子を操作して間隔の設定値を変更して表示範囲の長さを変更することができる。また、操作子は、環状の略中心に表示されているので、各画像と操作子を同時に視界に入れたまま操作子を操作することができ、操作性の向上を期待できる。
【0015】
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記表示範囲をシフトさせるようにしてもよい。これにより、操作子の操作によっても、表示範囲をシフトさせることができる。
【0016】
前記制御部は、前記操作子に対する操作内容を少なくとも第1の操作内容と第2の操作内容とに判別し、前記第1の操作内容が判別されたとき前記間隔の設定値を設定し、前記第2の操作内容が判別されたとき前記表示範囲をシフトさせるようにしてもよい。これにより、1つの操作子を操作して、表示範囲のシフトと間隔の設定値変更を行うことができ、操作性の向上を期待できる。
【0017】
ここで、前記第1の操作内容は、前記操作子を前記画面上の第1の軸方向に移動させる操作であり、前記第2の操作内容は、前記操作子を前記第1の軸方向に対して直交する第2の軸方向に移動させる操作とする。これにより操作子を移動させる軸方向の選択によって表示範囲のシフトと間隔の設定値変更との切り替えることができ、操作性の向上に繋がる。
【0018】
前記制御部は、前記動画中での前記表示範囲の位置及び占める割合を示すゲージを含むゲージ領域を表示し、前記ゲージ領域において前記ゲージの変位の方向は前記第2の軸方向と一致するものであってよい。これにより、動画中での表示範囲の位置及び占める割合を、ゲージ領域でのゲージの表示状態(位置及び長さ)からユーザが認識することが可能となり、操作性の向上に繋がる。
【0019】
前記動画がフレーム間予測により符号化されたデータであり、前記制御部は、符号化されたフレームを復号して前記画像を表示し、前記画像として表示すべき表示対象フレームの復号が近接する他のフレームの復号結果に依存する場合、当該他のフレームの復号結果が得られてから前記表示対象フレームの復号結果が得られるまでの間、前記他のフレームの復号結果であるサムネイル画像を表示するようにしてもよい。これにより、画像が最初に表示されるまでの待ち時間が短くなり、ユーザに画像表示までの長い待ち時間によるストレスを与えるおそれが低減される。
【0020】
本発明の他の側面に基づく情報処理方法は、制御部が、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて画面に表示し、前記画面上でユーザにより指示された位置を検出する検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作を判定したとき、前記動画中での前記表示範囲をシフトさせるという方法である。
【0021】
本発明の他の側面に基づくプログラムは、画面を有する表示部と、前記画面上でユーザにより指示された位置を検出する検出部とを具備する情報処理装置内のコンピュータを動作させるプログラムであって、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせるように前記コンピュータを動作させるプログラムである。
【発明の効果】
【0022】
以上のように、本発明によれば、画像を用いたGUIに対する操作性の向上を図ることができる。
【図面の簡単な説明】
【0023】
【図1】第1の実施形態の情報処理装置のハードウェアの構成を示すブロック図である。
【図2】図1の情報処理装置のフレーム選択画面を含む正面図である。
【図3】静止画の保存操作画面を示す図である。
【図4】図1の情報処理装置において操作方式1によるサムネイル表示範囲のシフト操作を説明するための図である。
【図5】図4の操作方式1によるサムネイル表示範囲のシフト操作の具体例を示す図である。
【図6】図4の操作方式1の応用例を説明するための図である。
【図7】図1の情報処理装置において操作方式2によるサムネイル表示範囲のシフト操作を説明するための図である。
【図8】サムネイル表示範囲が動画の終点部にあるときサムネイル表示範囲を時間送り方向にシフトさせようとするユーザからの操作入力が発生した場合の動作を説明するための図である。
【図9】図1の情報処理装置において設定フレーム間隔の変更操作を説明するための図である。
【図10】上記の各操作に応じた制御の手順のフローチャートである。
【図11】図1の情報処理装置においてサムネイル画像表示の高速化その1の具体例を説明するための図である。
【図12】図1の情報処理装置においてサムネイル画像表示の高速化その2の具体例を説明するための図である。
【図13】複数のサムネイル画像の他の配置形状を示す図である。
【図14】複数のサムネイル画像のさらに他の配置形状を示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照しながら、本発明の実施形態を説明する。
<第1の実施形態>
【0025】
本実施形態は、動画の中で静止画として保存したいフレームの画像をユーザに選択させるためのフレーム選択GUIを有する情報処理装置に関する。本実施形態の情報処理装置の製品形態としては、例えば、スマートホン、PDA(Personal Digital Assistants)のような携帯型の端末を挙げることができる。勿論、本発明の情報処理装置は製品の形態に絞られるものではない。
【0026】
図1は、第1の実施形態の情報処理装置のハードウェアの構成を示すブロック図である。
同図に示すように、この情報処理装置100は、動画記憶部11、タッチパネル付きディスプレイ部12(検出部及び表示部)、CPU13(制御部)、プログラム記憶部14、およびワークメモリ15などで構成される。
【0027】
動画記憶部11は、例えばフレーム間予測により圧縮符号化された動画データが記憶される部分である。動画記憶部11は、より具体的には、メモリカード、SSD(Solid State Drive)、HDD(Hard Disc Drive)などの大容量で書き換えが可能な記憶装置である。
【0028】
タッチパネル付きディスプレイ部12は、例えば、ディスプレイパネルと、このディスプレイパネルの上に設けられたタッチパネルとで構成される。ディスプレイパネルには、例えば、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイなどのパネルタイプのディスプレイが用いられる。タッチパネルは、例えば、静電容量方式タッチパネル、抵抗膜方式タッチパネルなどが用いられる。タッチパネルは、ディスプレイパネルに表示されたGUI(Graphical User Interface)に対するユーザからの操作入力を処理する。すなわち、GUI画面に対してユーザの指がタッチあるいは近接した位置を連続的に検出し、その位置情報の系列をCPU13に供給する。
【0029】
CPU(CentralProcessing Unit)13は、この情報処理装置100の全体の制御を行う。例えば、CPU13は、プログラム記憶部14に記憶されたプログラムにしたがって、
1.動画データを復号してサムネイル画像を生成し、複数のサムネイル画像を含めたフレーム選択画面などのGUIを表示する処理
2.タッチパネルからの情報をもとにフレーム選択画面などのGUIに対するユーザからの操作入力を判定する処理
3.判定された操作入力に応じて、フレーム選択画面に表示させる複数のサムネイル画像の動画中の範囲(サムネイル表示範囲)をシフトさせる処理
4.判定された操作入力に応じて、フレーム選択画面に表示させる複数のサムネイル画像のフレーム間隔を変更する処理
5.判定された操作入力に応じて、ユーザにより選択されサムネイル画像に対応するフレームの静止画を保存する処理
などを行うことが可能である。
【0030】
ワークメモリ15は、CPU13による上記の各処理の作業空間として用いられるメモリである。
【0031】
なお、図1は、動画データの復号をCPU13で行う場合の構成を示したが、動画データの復号は、専用のハードウェア(デコーダ)で行うようにしてもよい。
【0032】
[フレーム選択画面の構成]
図2は本実施形態の情報処理装置100のフレーム選択画面を含む正面図である。
同図において、21は情報処理装置100の筐体であり、この中に図1の各部が収容されている。22はタッチパネル付きディスプレイ部12の画面である。この画面22に対応してタッチパネルが設けられている。
【0033】
フレーム選択画面とは、動画の中で静止画として保存したいフレームの画像をユーザに見つけさせ発見させ選択させるためのGUI画面である。フレーム選択画面は、下側に配置されたサムネイル表示領域23と、上側に配置された選択候補フレーム表示領域24とを含む。
サムネイル表示領域23には、動画中の少なくとも一部の時間範囲に属する複数のフレームにそれぞれ対応する複数のサムネイル画像I−0,I−1,・・・,I−6が時間順に環状に並べて表示される。また、各サムネイル画像I−0,I−1,・・・,I−6の中間には、後で説明する「サムネイル表示範囲のシフト操作」及び「設定フレーム間隔の変更操作」のための用いられる操作子41が表示されている。
【0034】
なお、複数のサムネイル画像の配置形状は環状に限らず、図13に示すようにV字状でもよいし、図14に示すようにU字状でもよい。
【0035】
サムネイル表示領域23に表示されるサムネイル画像の数を以降「サムネイル表示数」と呼ぶ。サムネイル表示数は固定であっても可変であってもよいが、本実施形態では固定とする。サムネイル画像として表示される各フレームは、動画中の一部の範囲に属するフレームである。この一部の範囲はN個のフレームのまとまりによって区切られる範囲であり、以降この範囲を「サムネイル表示範囲」と呼ぶ。サムネイル画像として表示される複数のフレームは、サムネイル表示範囲において同一間隔毎のフレームである。この間隔を以降「設定フレーム間隔」と呼ぶ。
【0036】
サムネイル表示範囲は、後で説明する「サムネイル表示範囲のシフト操作」によって時間軸上をシフトさせることが可能とされている。また、サムネイル表示範囲の長さ(フレーム数=N)は、後で説明する「設定フレーム間隔の変更操作」によって変更することが可能とされている。情報処理装置100内のCPU13は、プログラム記憶部14に記憶されたプログラムに従って、タッチパネルにより検出された位置をもとに「サムネイル表示範囲のシフト操作」及び「設定フレーム間隔の変更操作」を判定し、判定した操作に応じて、サムネイル表示範囲をシフトさせたり、設定フレーム間隔の変更によりサムネイル表示範囲の長さを変更したりするように制御を行う。このように、サムネイル表示範囲をシフトさせたり長さを変更したりすることで、ユーザは動画データの全体を様々な時間スケールで見渡すことができる。これにより、静止画として保存したい一瞬の場面のフレームを効率的に探し出して、そのフレームの静止画を保存することができる。なお、静止画の保存先は動画記憶部11などでよい。
【0037】
この実施形態では、図2に示したように、フレーム選択画面に環状に並べて所定のサムネイル表示数(本実施形態では7つ)のサムネイル画像I−0,I−1,・・・,I−6が表示される。ここで、右上の位置にあるサムネイル画像I−6は、サムネイル表示範囲に属する7つのサムネイル画像I−0,I−1,・・・,I−6において時間軸上で最も後のフレームに対応するサムネイル画像である。左上の位置にあるサムネイル画像I−0は、サムネイル表示範囲に属する7つのサムネイル画像I−0,I−1,・・・,I−6において時間軸上で最も始点寄りのフレームに対応するサムネイル画像である。さらに、左右の中間の位置で、かつ最も下に位置するサムネイル画像I−3は、サムネイル表示範囲に属する7つのサムネイル画像I−0,I−1,・・・,I−6において時間軸上で中間のフレームに対応するサムネイル画像である。この中間のフレームの画像が、選択候補フレーム表示領域24に同時に表示される。この選択候補フレーム表示領域24に表示されたフレームの画像が、ユーザからの操作入力によって静止画として保存可能な画像となる。
【0038】
静止画を保存するためのユーザの操作入力の方法としては、例えば、中間のフレームに対応するサムネイル画像I−3または選択候補フレーム表示領域24にユーザがタッチすると、このフレームの画像を静止画として保存するための保存操作画面が表示される。
【0039】
図3はこの保存操作画面の例である。この保存操作画面には、保存対象のフレームの画像が表示される保存対象画像領域31と、保存されている静止画の縮小画像の一覧が表示される静止画一覧領域32とが設けられている。この保存操作画面に対してユーザによるタッチ操作などによって保存実行のための操作入力(例えば、保存実行ボタン33のタッチ操作など)が行われると、そのフレームの画像が静止画として例えば動画記憶部11などに保存されるとともに、静止画一覧領域32に、その新たに保存された静止画の縮小画像34が追加される。また、静止画一覧領域32において、例えば、ユーザにより任意の縮小画像34がタッチされるなどの操作入力が行われると、その縮小画像34のフレームに対応するサムネイル画像を、サムネイル表示範囲における中間のフレームに対応するサムネイル画像I−3とするサムネイル表示領域23を含むフレーム選択画面が表示される。これにより、ユーザは静止画として保存すべきフレームを探し出す作業に戻ることができる。
【0040】
また、図2に示すように、サムネイル表示領域23と選択候補フレーム表示領域24との間には左右に長尺状のゲージ領域25が設けられている。このゲージ領域25には、動画全体におけるサムネイル表示範囲の位置及び占める割合を示すゲージ26が左右の方向に変位可能に表示される。このゲージ26は、動画全体におけるサムネイル表示範囲の位置を棒状のゲージ領域25での位置により表し、動画全体におけるサムネイル表示範囲の割合を左右の幅のサイズで表すものである。
【0041】
[サムネイル表示範囲のシフト操作]
本実施形態の情報処理装置100では、図2に示したフレーム選択画面のサムネイル表示領域23での、タッチパネルに対する操作入力によって、サムネイル表示範囲を時間の送り方向及び戻り方向の双方向にシフトさせることが可能である。その具体的な操作方式として、
・操作方式1:複数のサムネイル画像の環状の並びに沿って時計回り方向または反時計回り方向になぞる操作
・操作方式2:各サムネイル画像の配置の中間に表示された操作子41を左または右に移動させる操作
などがある。
【0042】
まず、操作方式1について説明する。
図4は、操作方式1によるサムネイル表示範囲のシフト操作前(b)とシフト操作後(a)及び(c)それぞれのサムネイル表示領域23の状態を示した図である。操作子41の図示は省略してある。A,B,C,D,E,F,G,H,Iは個々のサムネイル画像であり、AからIの向きが時間の向きである。この例ではサムネイル表示数は"7"で固定とする。
【0043】
サムネイル表示範囲のシフト操作前の状態(b)においては、BからHまでのサムネイル画像が表示されている。ここで、(a)のように複数のサムネイル画像の環状の並びに沿って時計回り方向に画面をなぞる操作がユーザによって行われると、CPU13はこの操作を判定して、サムネイル表示範囲を設定フレーム間隔分だけ時間送り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からCからIまでのサムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も始点寄りのフレームに対応するサムネイル画像Bが消え、CからHまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ時計回り方向の位置にシフトし、サムネイル画像Hから設定フレーム間隔分だけ後のフレームに対応するサムネイル画像Iが新たに出現する。さらに、CPU13は、ゲージ領域25におけるゲージ26の位置をサムネイル表示範囲のシフト量に対応する距離だけ右側にシフトさせる。
【0044】
逆に、(c)のように、複数のサムネイル画像の環状の並びに沿って反時計回り方向に画面をなぞる操作がユーザによって行われると、CPU13は、サムネイル表示範囲を設定フレーム間隔分だけ時間戻り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からAからGまでのサムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も終点寄りのフレームに対応するサムネイル画像Hが消え、BからGまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ時間戻り方向の位置にシフトし、サムネイル画像Bから設定フレーム間隔分だけ前のフレームに対応するサムネイル画像Aが新たに出現する。さらに、CPU13は、ゲージ領域25におけるゲージ26の位置をサムネイル表示範囲のシフト量に対応する距離だけ左側にシフトさせる。
【0045】
そしてCPU13は、複数のサムネイル画像の環状の並びに沿って時計回り方向または反時計回り方向に画面をなぞる操作を判定する都度、サムネイル表示範囲を設定フレーム間隔分、時間送り方向または時間戻り方向にシフトさせるとともに、ゲージ領域25におけるゲージ26の位置を右または左の方向にシフトさせる。したがって、同じ方向への操作が複数回繰り返されることなどによって、サムネイル表示範囲は設定フレーム間隔に上記操作の繰り返し回数を乗じた分だけシフトされることになる。
なお、複数のサムネイル画像の環状の並びに沿って時計回り方向または反時計回り方向に画面をなぞる操作の判定においては、サムネイル表示領域のどの領域を、どの位の長さあるいは回転角度で、なぞるかといった具体的な条件が必要である。これらの条件は適宜選定される必要がある。
【0046】
図5は、上記操作方式1によるサムネイル表示範囲のシフト操作の具体例を示す図である。(a)はシフト操作前の状態、(b)は時間送り方向へのシフト操作後の状態をそれぞれ示している。
サムネイル表示範囲のシフト操作前の状態(a)において、例えば、500フレームで構成される動画に対して200フレーム目を中間に16フレーム間隔で前後に3つずつ合計7つのフレームにそれぞれ対応するサムネイル画像が表示されていることとする。この状態から、(b)に示すように、複数のサムネイル画像の環状の並びに沿って時計回り方向に画面をなぞる操作がユーザによって行われたこととする。CPU13はこの操作を判定して、サムネイル表示範囲を設定フレーム間隔(16フレーム)分だけ時間送り方向にシフトさせる。この結果、サムネイル表示範囲において最も始点寄りのフレーム(フレーム番号=152)に対応するサムネイル画像が消えるとともに、フレーム番号が168、184、200、216、232、248の各フレームに対応する各サムネイル画像が1つずつ時計回り方向の位置にシフトし、さらにシフトされたサムネイル表示範囲において最も終点寄りフレーム(フレーム番号=264)に対応するサムネイル画像がサムネイル表示領域23に新たに出現する。さらに、CPU13は、サムネイル表示範囲のシフトにあわせてゲージ領域25におけるゲージ26の位置を右側にシフトさせる。
【0047】
また、複数のサムネイル画像の環状の並びに沿って画面をなぞった距離や回転角度に応じて、サムネイル表示範囲のシフト量を可変に制御するようにしてもよい。
これにより、例えば、図6に示すように、複数のサムネイル画像の環状の並びに沿って、ユーザが円を描くように画面をなでることによって、サムネイル表示範囲を設定フレーム間隔で連続してシフトさせることができる。
また、サムネイル表示範囲のシフトにあわせてゲージ領域25におけるゲージ26の位置もシフトするので、動画中のどの位置のフレームのサムネイル画像が表示されているのかをユーザが一目で知ることができ、これにより操作性の向上が期待できる。
【0048】
次に、操作方式2について説明する。
図7は、操作方式2によるサムネイル表示範囲のシフト操作前(b)とシフト操作後(a)及び(c)それぞれのサムネイル表示領域23及びゲージ領域25の状態を示した図である。A,B,C,D,E,F,G,H,Iは個々のサムネイル画像であり、AからIの向きがフレームの時間の向きである。この例ではサムネイル表示数は"7"である。
【0049】
サムネイル表示範囲のシフト操作前の状態(b)においては、BからHまでのサムネイル画像が表示されている。ここで、(a)のように、各サムネイル画像の中間に配置された操作子41を右へスライドさせる操作入力がユーザによって行われると、CPU13はこの操作を判定して、サムネイル表示範囲を設定フレーム間隔分だけ時間送り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からCからIまでの各サムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も始点寄りのフレームに対応するサムネイル画像Bが消え、CからHまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ時計回り方向の位置にシフトし、サムネイル画像Hから設定フレーム間隔分だけ後のフレームに対応するサムネイル画像Iが新たに出現する。さらに、ゲージ領域25におけるゲージ26の位置がサムネイル表示範囲のシフト量に対応する距離だけ右側にシフトする。
【0050】
逆に、(c)のように、各サムネイル画像の中間に配置された操作子41を左にスライドさせる操作入力がユーザによって行われると、CPU13は、サムネイル表示範囲を設定フレーム間隔分だけ時間戻り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からAからGまでのサムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も終点寄りのフレームに対応するサムネイル画像Hが消え、BからGまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ反時計回り方向の位置にシフトし、サムネイル画像Bから設定フレーム間隔分だけ前のフレームに対応するサムネイル画像Aが新たに出現する。さらに、ゲージ領域25におけるゲージ26の位置がサムネイル表示範囲のシフト量に対応する距離だけ左側にシフトする。
【0051】
そしてCPU13は、操作子41が右または左の方向にスライドされる操作を判定する都度、サムネイル表示範囲を設定フレーム間隔分、時間送り方向または時間戻り方向にシフトさせるとともに、ゲージ領域25におけるゲージ26の位置を右または左の方向にシフトさせる。したがって、操作子41の同じ方向へのスライド操作が複数回繰り返されることなどによって、サムネイル表示範囲は設定フレーム間隔に上記操作の繰り返し回数を乗じた分だけシフトされることになる。
【0052】
また、操作子41を右か左にスライドさせた量に応じてシフト速度を変更するようにしてもよい。これにより距離の比較的長いシフト操作も容易に行うことが可能になり、操作性の向上を期待できる。すなわち、サムネイル画像の並びの方向に沿ってなぞる操作は、比較的短い距離のシフト操作を行う場合の操作性に優れるものの、長い距離をシフトさせるとなると操作量や操作回数が増えてしまい非効率である。これに対して、操作子41をスライドさせた量に対して比例的にシフト速度が加速するようにすれば、比較的長い距離のシフト操作を容易に行うことができる。
【0053】
図8は、サムネイル表示範囲が動画の終点部にある状態においてサムネイル表示範囲を時間送り方向にシフトさせようとするユーザからの上記の操作方式1または操作方式2による操作入力が発生した場合の動作を説明するための図である。
ここで、上記の操作方式1または操作方式2によってサムネイル表示範囲を時間送り方向に次々にシフトさせることによって最終的には、サムネイル表示範囲に属する最も終点寄りの4つのフレーム(図ではフレーム番号=440,456,472,488の各フレーム)にそれぞれ対応する4つのサムネイル画像のみがフレーム選択画面に表示された状態になる((a)参照)。この状態から、さらにユーザからの上記の操作方式1または操作方式2によってサムネイル表示範囲を時間送り方向に送る操作が行われたとしても、CPU13は、この操作入力を無視して現状の表示状態を変更しない((b)参照)。
【0054】
このように、サムネイル表示領域23において静止画の保存の対象とすることができる位置を含めた片側寄りの複数の位置に、動画の終点部の各フレームのサムネイル画像が表示されるまでサムネイル表示範囲が時間送り方向へ送られた後、以後の時間送り操作が無効とされる。これにより、ユーザはサムネイル表示範囲が動画の終点部まで達したことをサムネイル表示範囲のシフト操作中に容易に知ることができる。また、サムネイル表示範囲がフレーム選択画面において不明になるような状況を回避でき、ユーザにとっての操作性の向上が期待される。
【0055】
また、サムネイル表示範囲が動画の始点部にある状態からサムネイル表示範囲を時間戻り方向にシフトさせようとするユーザからの操作入力が発生した場合も同様である。すなわち、サムネイル表示範囲を時間戻り方向にシフトさせることによって最終的には、サムネイル表示範囲に属する最も始点寄りの4つのフレームにそれぞれ対応する4つのサムネイル画像のみがフレーム選択画面に表示された状態になる。この状態から、さらにユーザからの上記の操作方式1または操作方式2によってサムネイル表示範囲を時間戻り方向に送る操作が行われたとしても、CPU13は、この操作入力を無視して現状の表示状態を変更しない。
【0056】
[設定フレーム間隔の変更操作]
本実施形態の情報処理装置100では、表示するサムネイル画像のフレームの時間間隔である設定フレーム間隔を、各サムネイル画像の配置の中間に表示された操作子41を上下にスライドさせる操作によって変更することが可能である。サムネイル画像として表示されるフレームの数の最大数を固定とした場合、サムネイル画像を表示する設定フレーム間隔を拡げることによって、結果的にサムネイル表示範囲が拡大され、逆に設定フレーム間隔を狭めることによって、結果的に動画中でサムネイル画像を表示させるフレームの時間範囲が狭まる。
【0057】
図9は、設定フレーム間隔の変更操作前(b)と、変更操作後(a)及び(c)それぞれのサムネイル表示領域23の状態を示した図である。
設定フレーム間隔の変更操作前の状態(b)において、例えば、500フレームで構成される動画に対して、200番目のフレームと、この200番目のフレームを中間に16フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示されていることとする。このような状態から(c)に示すように、各サムネイル画像の配置の中間に設けられた操作子41を下にスライドさせる操作入力がユーザによって行われたこととする。CPU13はこの操作を判定して、設定フレーム間隔を拡げる。例えば、16フレームを32フレームへと変更する。すなわち、サムネイル表示範囲の長さも2倍に拡大される。これにより、200番目のフレームと、この200番目のフレームを中間に32フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示された状態へと更新される。同時に、CPU13はゲージ領域25におけるゲージ26の中心位置を固定したまま幅を設定フレーム間隔の拡大率で拡大する。
【0058】
逆に、(a)に示すように、(b)の状態から各サムネイル画像の中間に配置された操作子41を上にスライドさせる操作入力がユーザによって行われた場合には、CPU13は設定フレーム間隔を狭める。例えば、16フレームを1/2の8フレームへと変更する。すなわち、サムネイル表示範囲の長さも1/2倍に縮小される。これにより、200番目のフレームと、この200番目のフレームを中間に16フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示されていた状態から、200番目のフレームと、この200番目のフレームを中間に8フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示された状態へと更新される。同時に、CPU13はゲージ領域25におけるゲージ26の中心位置を固定したまま幅を設定フレーム間隔の縮小率で縮小する。このようにゲージ領域25におけるゲージ26の幅を設定フレーム間隔の拡大/縮小率で拡大/縮小することで、拡大/縮小が完了したことをユーザが視覚的に容易に知ることができ、操作性の向上が期待できる。
【0059】
CPU13は、操作子41が下にスライドされる操作を判定する都度、設定フレーム間隔を例えば、初期の設定フレーム間隔に対して2倍、4倍、8倍、16倍・・・のように変更して行く。また、CPU13は、操作子41が上にスライドされる操作を判定する都度、設定フレーム間隔を初期の設定フレーム間隔に対して例えば1/2倍、1/4倍、1/8倍、1/16倍・・・のように変更して行く。
【0060】
なお、設定フレーム間隔を変更する方法は上記のように指数関数的な増減方法に限らない。例えば、操作子41が上または下にスライドされる操作が判定される都度、所定の倍率で直前の設定フレーム間隔を拡大/縮小するようにしてもよい。
【0061】
また、操作子41を上か下にスライドさせた位置に保持した時間やスライド量に応じて、設定フレーム間隔の変更倍率を制御するようにしてもよい。より具体的には、操作子41を上か下にスライドさせた位置に保持した状態では、設定フレーム間隔が拡大または縮小し続けるように制御する方法、スライド量に応じた倍率で設定フレーム間隔を変更するように制御する方法等がある。
【0062】
[上記各操作に応じた制御の処理手順]
図10は、上記の各操作に応じた制御の手順のフローチャートである。
このフローチャートはCPU13がプログラムに基づいて実行する動作の手順である。
ここで、サムネイル表示数を"7"、設定フレーム間隔を"2m"、中間位置に表示されるフレーム番号を"p"とする。
【0063】
まずCPU13は、動画データを読み込み(ステップS101)、動画フレーム数をNにセットする(ステップS102)。
【0064】
次にCPU13は、動画全体の中間点のフレーム番号Cpを次式により算出する。
Cp=Int(N/2) …(1)
次にCPU13は、算出した動画の中間点のフレーム番号Cpをサムネイル表示範囲の中間位置のサムネイル画像のフレーム番号pとして設定する(ステップS103)。
【0065】
次にCPU13は、次式により、mを算出し、このmの値のうちの最大値をMとする(ステップS104)。
M=m=Int(Log2(N/6)) …(2)
すなわち、Mは動画全体を2Mで6分割した場合に、それぞれの分割区間の合計フレーム数が動画の全フレーム数を超えない最大の整数である。これにより、設定フレーム間隔の初期値が決定される。
【0066】
この後、CPU13は、それぞれ初期値として設定されたフレーム番号pと設定フレーム間隔"2m"をもとに、フレーム番号pのフレームと、このフレームを中心に"2m"の間隔で前後に3枚ずつフレームを選定し、計7枚のフレームにそれぞれ対応するサムネイル画像を生成して表示する(ステップS105−S107)。
【0067】
この後、CPU13は、サムネイル表示範囲のシフト操作の入力、及び設定フレーム間隔の変更操作の入力を受け付ける(ステップS108)。
【0068】
CPU13は、受け付けたサムネイル表示領域23に対するユーザからの操作入力に応じて、サムネイル表示範囲のシフト及び設定フレーム間隔の変更を行う。すなわち、
1.CPU13は、操作子41の右へのスライド操作または時計回り方向になぞる操作入力を判定した場合で、かつp<N−2mを満足する場合(ステップS109のy)、サムネイル表示範囲を設定フレーム間隔分、時間送り方向にシフトさせる(ステップS110)。
なお、p<N−2mを満足する場合とは、動画の終点部においてサムネイル表示範囲を時間送り方向にシフトさせることが可能な状態を意味する。
【0069】
2.CPU13は、操作子41の左へのスライド操作または反時計回り方向になぞる操作の入力を判定した場合で、かつp>2mを満足する場合(ステップS111のy)、サムネイル表示範囲を設定フレーム間隔分、時間戻り方向にシフトさせる(ステップS112)。
なお、p>2mを満足する場合とは、動画の始点部においてサムネイル表示範囲を時間戻り方向にシフトさせることが可能な状態を意味する。
【0070】
3.CPU13は、操作子41の上へのスライド操作を判定した場合で、かつm>0を満足する場合(ステップS113のy)、mを−1だけデクリメントして、設定フレーム間隔を縮小する(ステップS114)。操作子41の上へのスライド操作を判定した場合でも、m>0を満足しない場合には、mのデクリメントは行われない。
【0071】
4.CPU13は、操作子41の下へのスライド操作を判定した場合で、かつm<Mを満足する場合(ステップS115のy)、mを1だけインクリメントして、設定フレーム間隔を拡大する(ステップS116)。操作子41の下へのスライド操作を判定した場合でも、m<Mを満足しない場合にはmのインクリメントは行われない。
【0072】
1.から4.のいずれかの変更が行われた後、CPU13はサムネイル表示領域23に表示する7枚のフレームにそれぞれ対応するサムネイル画像を再生成して、これらを表示する(ステップS105−S107)。
【0073】
なお、上記の動作では、初期状態において動画全体の中間点のフレームをサムネイル表示範囲の中間位置(静止画保存対象のサムネイル画像が表示される位置)のフレームとすることで、動画全体を俯瞰するような初期値を採用することとしたが、これに限られない。すなわち、動画全体におけるどの位置のフレームをサムネイル表示範囲の中間位置のフレームとしてもかまわない。また、設定フレーム間隔の初期値に関しても、適宜別の値を用いてもよい。
【0074】
さらに、上記のサムネイル表示範囲のシフトと長さの変更では、フレーム番号を基準に処理を行うものとしたが、フレームに属性情報として付けられたタイムスタンプを用いて時間を基準に処理を行うようにしてもよい。
【0075】
また、設定フレーム間隔が変更が行われた後にサムネイル表示領域23に表示する7枚のフレームにそれぞれ対応するサムネイル画像を再生成して表示する際、設定フレーム間隔の変更内容をユーザが直感的に判定することが可能なように、アニメーション表示を行うようにしてもよい。
【0076】
以上のように、操作子41には、サムネイル表示範囲をシフトさせる指示を受け付ける機能と、設定フレーム間隔を変更する指示を受け付ける機能が割り当てられている。したがって、サムネイル表示範囲のシフトと設定フレーム間隔の変更の各操作を交互に行う場合に、操作対象の共通化による効率の向上が期待される。加えて、この操作子41が、環状に並べて配置された複数のサムネイル画像の位置の中間に設けられているので、各サムネイル画像と操作子41を同時に視界に入れたまま操作子41を操作することができ、操作性の向上を期待できる。
【0077】
[サムネイル画像表示の高速化その1]
本実施形態の情報処理装置100では、MPEG(Moving Picture Experts Group)−2、MPEG−4、H.263、H.264などのフレーム間予測により符号化された動画データが扱われる。上記のサムネイル表示範囲のシフトや設定フレーム間隔の変更に伴って、サムネイル画像として表示されるフレームの少なくとも一部が変更される。このときサムネイル画像の表示対象となるフレーム(以下「表示対象フレーム」と呼ぶ。)の復号が、近接する他のフレーム(以下「表示対象近接フレーム」と呼ぶ。)の復号結果に依存する種類のフレーム、例えばP(Predictive Picture)ピクチャ、B(Bidirectionally Predictive Picture)ピクチャなどである場合、その表示対象フレームのサムネイル画像が表示されるまでに最終的には複数回の復号が行われ、そのための時間がかかり、ユーザに違和感を与えるおそれがある。
【0078】
そこで、本実施形態の情報処理装置100では、表示対象近接フレームの復号結果が得られてから表示対象フレームの復号結果が得られるまでの間、表示対象近接フレームの復号結果であるサムネイル画像を表示する。これにより、サムネイル表示領域23においてサムネイル画像が最初に表示されるまでの待ち時間が短くなり、ユーザにサムネイル画像表示までの長い待ち時間によるストレスを与えるおそれが低減される。本来表示されるべきフレームのサムネイル画像はその後に表示されるので、サムネイル画像の表示の変化は生じるが、この変化は近接するフレーム間での変化に過ぎないため、ユーザに与える違和感は少なくて済む。
【0079】
図11は、上記のサムネイル画像表示の高速化その1の具体例を説明するための図である。
説明の簡単のため、動画データはI(Intra Picture)ピクチャとPピクチャからなるものとする。ここで、XのPピクチャが表示対象フレームである。この場合、CPU13は、当該XのPピクチャを復号するために必要なX−5のIピクチャを表示対象近接フレームとして、このX−5のIピクチャを復号した結果をサムネイル画像として最初に表示する((a)参照)。その一方で、CPU13は、このX−5のIピクチャの復号結果であるサムネイル画像を用いて表示対象フレームであるXのPピクチャを復号し、その復号結果が得られたところで、この復号結果であるサムネイル画像を、Iピクチャの復号結果であるサムネイル画像と表示メモリ上で書き換えることで、サムネイル画像の表示を更新する((b)参照)。
【0080】
表示対象フレームがBピクチャである場合の動作も同様である。この場合、CPU13は、Bピクチャの復号のために参照されるIピクチャを復号し、この復号結果をサムネイル画像として表示する。その後CPU13は、Iピクチャの復号結果またはIピクチャの復号結果を用いて復号されたPピクチャのサムネイル画像からBピクチャを復号し、この復号結果であるサムネイル画像を、IピクチャまたはPピクチャの復号結果であるサムネイル画像と表示メモリ上で書き換える。
【0081】
[サムネイル画像表示の高速化その2]
フレームの復号結果であるサムネイル画像のデータをキャッシュデータとしてキャッシュメモリに格納することで、以後、同じフレームのサムネイル画像を表示する際にキャッシュメモリから該当するサムネイル画像のデータを読み出して表示すれば、復号時間が不要となり、サムネイル画像の表示の待ち時間を大幅に短縮することができる。なお、キャッシュメモリは、例えば、図1のワークメモリなどに設けられた領域である。
【0082】
図12は、サムネイル画像のデータのキャッシュとこのキャッシュの利用に関するフローチャートである。このフローチャートは、フレームに対応するサムネイル画像を取得する処理のサブルーチンを示すものである。
【0083】
サムネイル表示領域23においてサムネイル画像を表示すべきフレームが決定されると(ステップS201)、CPU13は、図12のサブルーチンを起動する。このサブルーチンに従って、CPU13は、まずキャッシュメモリに該当するフレームのサムネイル画像のデータが保存されているかどうかを調べる(ステップS202)。キャッシュメモリに該当するフレームのサムネイル画像のデータが保存されていない場合(ステップS202のn)、CPU13は、そのフレームを復号してサムネイル画像のデータを取得し(ステップS203)、このサムネイル画像のデータを当該フレームに対応するキャッシャデータとして保存する(ステップS204)。また、CPU13は、そのフレームの復号結果であるサムネイル画像のデータを、サムネイル表示領域23に表示するサムネイル画像としてメインルーチンに返す(ステップS205)。
【0084】
また、キャッシュメモリに、該当するフレームのサムネイル画像のデータが保存されている場合(キャッシュヒットした場合)(ステップS202のy)、CPU13は、キャッシュメモリから該当するフレームのサムネイル画像のデータを取得し(ステップS206)、サムネイル表示領域23に表示するサムネイル画像としてメインルーチンに返す(ステップS205)。
【0085】
なお、上記の実施形態では、復号したサムネイル画像のデータを、数の上限なくキャッシュメモリに保存している。これに対して、例えば、メモリにおいてキャッシュメモリ用に利用できる容量に制限がある場合には、LRU(Least Recently Used)アルゴリズム等により、利用の頻度が低い傾向にあるキャッシュデータを消去するなどして、キャッシュとしてのパフォーマンスを落とすことなく、キャッシュメモリとして利用できる容量に制限を設けるようにしてもよい。
【0086】
なお、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0087】
11…動画記憶部
12…タッチパネル付きディスプレイ部
13…CPU
14…プログラム記憶部
15…ワークメモリ
22…フレーム選択画面
23…サムネイル表示領域
24…選択候補フレーム表示領域
25…ゲージ領域
26…ゲージ
41…操作子
100…情報処理装置
【技術分野】
【0001】
本発明は、サムネイル画像を用いたGUIを提供することが可能な情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、情報処理装置を構成するハードウェアの品質・機能の向上により、スマートホンやPDA(Personal Digital Assistant)、などの携帯型の情報処理装置においても、高解像度の動画の撮影、保存、再生などの操作を行うことが可能となってきている。このように情報処理装置での動画の利用方法として、動画の中から所望のフレームを選び出して静止画として保存することが考えられる。
【0003】
動画からの所望のフレームの選択は、動画の再生、早送り、巻き戻し、一時停止、コマ送り等を通じて動画全体を人為的にサーチすることによって行われることが普通である。また、時間軸上の位置を指定可能なスライダをユーザが操作して、再生したいフレームを選択することによって行うことも可能である。
【0004】
また、特許文献1には、動画のほぼ一定間隔毎のフレームの縮小画像である複数のサムネイル画像が時間軸に沿って縦横に並べて表示され、その中でユーザによって所望のサムネイル画像が選択されると、そのサムネイル画像に対応するフレーム位置から動画の再生が開始されることとされている。この方法によっても、所望のフレームの静止画を効率的に選択することができる。この特許文献1において、サムネイル画像の表示画面には、一連の動画(シーン)においてサムネイル画像を表示させる時間範囲を移動させるための送り/戻しキー(ソフトキー)が表示される。ユーザはこの送り/戻しキーを操作することによって、画面に表示されていない時間範囲のサムネイル画像を表示させることができる。また、表示させるサムネイル画像の時間間隔を画面に表示されたスイッチの操作によって変更することも可能である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−228135号公報(段落0047−0065、図3−図6)
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の送り/戻しキーのようなキーの操作によってサムネイル画像の表示範囲を移動させる方式では、キーの1回の操作に対して移動させるサムネイル画像の表示範囲は、表示がスキップされるサムネイル画像が生じることのないよう、画面に表示可能なサムネイル画像の数によって制限されることが普通である。このため、現在サムネイル画像の表示範囲から比較的離れた表示範囲まで移動させるには同じキーのタッチ操作を繰り返す必要があり、操作が面倒である。
【0007】
また、サムネイル画像の表示範囲を送ったり戻したりを繰り返すためには、ユーザは送りキーと戻しキーとの間で操作対象を変える必要がある。このため、特に送りキーと戻しキーとが離れて設けられているような場合には、操作するキーを変更する都度、変更先のキーの位置を確認する必要があり、操作の効率化にとって壁となる。
【0008】
さらに、上記の特許文献1において、表示させるサムネイル画像の時間間隔を画面に表示されたスイッチの操作によって変更する場合、そのための変更操作画面を別の操作(オプションキーの押下)によって呼び出し、その変更操作画面で時間間隔を設定する、といった複数の操作を要する。この点も操作の効率化にとって壁となる。
【0009】
さらに、上記の特許文献1において、サムネイル画像を表示するフレームは、必ずしも一定間隔毎のフレームの画像ではなく、その一定間隔毎のフレームに最も近い位置にある画面内圧縮符号化画像を縮小したものをサムネイル画像としている。しかし静止画として保存したいフレームは、必ずしも画面内圧縮符号化画像であることに限らないことから、静止画の切り出しを目的とする場合には、フレーム間差分圧縮画像のサムネイル画像も表示される必要がある。ところが、フレーム間差分圧縮画像は、これに関係する画面内圧縮符号化画像をデコードしてからでなければデコードできないため、サムネイル画像の表示までの待ち時間が比較的長くかかってしまい、この点もまた操作の効率化にとって壁となる。
【0010】
以上のような事情に鑑み、本発明の目的は、画像を用いたGUIの操作性においてより優れた情報処理装置、情報処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、画面を有する表示部と、前記画面上でユーザにより指示された位置を検出する検出部と、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせる制御部とを具備する。
【0012】
本発明では、ユーザが複数の画像の並びの向きに沿ってなぞる操作を行うことによって、制御部が、複数の画像を時間順に環状に並べて表示する動画中の少なくとも一部の範囲である表示範囲を時間軸の方向にシフトさせる。これにより、表示範囲をシフトさせる際のユーザの操作性が向上する。また、例えば、ユーザが円を描くように画面をなでることによって、サムネイル表示範囲を設定フレーム間隔で連続してシフトさせることができるなど、操作効率の向上も期待できる。
【0013】
前記画面に環状に並べて表示される複数の前記画像は、設定された間隔毎のフレームそれぞれに対応する複数の画像であってよい。
【0014】
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記間隔の設定値を設定するようにしてもよい。これにより、操作子を操作して間隔の設定値を変更して表示範囲の長さを変更することができる。また、操作子は、環状の略中心に表示されているので、各画像と操作子を同時に視界に入れたまま操作子を操作することができ、操作性の向上を期待できる。
【0015】
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記表示範囲をシフトさせるようにしてもよい。これにより、操作子の操作によっても、表示範囲をシフトさせることができる。
【0016】
前記制御部は、前記操作子に対する操作内容を少なくとも第1の操作内容と第2の操作内容とに判別し、前記第1の操作内容が判別されたとき前記間隔の設定値を設定し、前記第2の操作内容が判別されたとき前記表示範囲をシフトさせるようにしてもよい。これにより、1つの操作子を操作して、表示範囲のシフトと間隔の設定値変更を行うことができ、操作性の向上を期待できる。
【0017】
ここで、前記第1の操作内容は、前記操作子を前記画面上の第1の軸方向に移動させる操作であり、前記第2の操作内容は、前記操作子を前記第1の軸方向に対して直交する第2の軸方向に移動させる操作とする。これにより操作子を移動させる軸方向の選択によって表示範囲のシフトと間隔の設定値変更との切り替えることができ、操作性の向上に繋がる。
【0018】
前記制御部は、前記動画中での前記表示範囲の位置及び占める割合を示すゲージを含むゲージ領域を表示し、前記ゲージ領域において前記ゲージの変位の方向は前記第2の軸方向と一致するものであってよい。これにより、動画中での表示範囲の位置及び占める割合を、ゲージ領域でのゲージの表示状態(位置及び長さ)からユーザが認識することが可能となり、操作性の向上に繋がる。
【0019】
前記動画がフレーム間予測により符号化されたデータであり、前記制御部は、符号化されたフレームを復号して前記画像を表示し、前記画像として表示すべき表示対象フレームの復号が近接する他のフレームの復号結果に依存する場合、当該他のフレームの復号結果が得られてから前記表示対象フレームの復号結果が得られるまでの間、前記他のフレームの復号結果であるサムネイル画像を表示するようにしてもよい。これにより、画像が最初に表示されるまでの待ち時間が短くなり、ユーザに画像表示までの長い待ち時間によるストレスを与えるおそれが低減される。
【0020】
本発明の他の側面に基づく情報処理方法は、制御部が、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて画面に表示し、前記画面上でユーザにより指示された位置を検出する検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作を判定したとき、前記動画中での前記表示範囲をシフトさせるという方法である。
【0021】
本発明の他の側面に基づくプログラムは、画面を有する表示部と、前記画面上でユーザにより指示された位置を検出する検出部とを具備する情報処理装置内のコンピュータを動作させるプログラムであって、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせるように前記コンピュータを動作させるプログラムである。
【発明の効果】
【0022】
以上のように、本発明によれば、画像を用いたGUIに対する操作性の向上を図ることができる。
【図面の簡単な説明】
【0023】
【図1】第1の実施形態の情報処理装置のハードウェアの構成を示すブロック図である。
【図2】図1の情報処理装置のフレーム選択画面を含む正面図である。
【図3】静止画の保存操作画面を示す図である。
【図4】図1の情報処理装置において操作方式1によるサムネイル表示範囲のシフト操作を説明するための図である。
【図5】図4の操作方式1によるサムネイル表示範囲のシフト操作の具体例を示す図である。
【図6】図4の操作方式1の応用例を説明するための図である。
【図7】図1の情報処理装置において操作方式2によるサムネイル表示範囲のシフト操作を説明するための図である。
【図8】サムネイル表示範囲が動画の終点部にあるときサムネイル表示範囲を時間送り方向にシフトさせようとするユーザからの操作入力が発生した場合の動作を説明するための図である。
【図9】図1の情報処理装置において設定フレーム間隔の変更操作を説明するための図である。
【図10】上記の各操作に応じた制御の手順のフローチャートである。
【図11】図1の情報処理装置においてサムネイル画像表示の高速化その1の具体例を説明するための図である。
【図12】図1の情報処理装置においてサムネイル画像表示の高速化その2の具体例を説明するための図である。
【図13】複数のサムネイル画像の他の配置形状を示す図である。
【図14】複数のサムネイル画像のさらに他の配置形状を示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照しながら、本発明の実施形態を説明する。
<第1の実施形態>
【0025】
本実施形態は、動画の中で静止画として保存したいフレームの画像をユーザに選択させるためのフレーム選択GUIを有する情報処理装置に関する。本実施形態の情報処理装置の製品形態としては、例えば、スマートホン、PDA(Personal Digital Assistants)のような携帯型の端末を挙げることができる。勿論、本発明の情報処理装置は製品の形態に絞られるものではない。
【0026】
図1は、第1の実施形態の情報処理装置のハードウェアの構成を示すブロック図である。
同図に示すように、この情報処理装置100は、動画記憶部11、タッチパネル付きディスプレイ部12(検出部及び表示部)、CPU13(制御部)、プログラム記憶部14、およびワークメモリ15などで構成される。
【0027】
動画記憶部11は、例えばフレーム間予測により圧縮符号化された動画データが記憶される部分である。動画記憶部11は、より具体的には、メモリカード、SSD(Solid State Drive)、HDD(Hard Disc Drive)などの大容量で書き換えが可能な記憶装置である。
【0028】
タッチパネル付きディスプレイ部12は、例えば、ディスプレイパネルと、このディスプレイパネルの上に設けられたタッチパネルとで構成される。ディスプレイパネルには、例えば、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイなどのパネルタイプのディスプレイが用いられる。タッチパネルは、例えば、静電容量方式タッチパネル、抵抗膜方式タッチパネルなどが用いられる。タッチパネルは、ディスプレイパネルに表示されたGUI(Graphical User Interface)に対するユーザからの操作入力を処理する。すなわち、GUI画面に対してユーザの指がタッチあるいは近接した位置を連続的に検出し、その位置情報の系列をCPU13に供給する。
【0029】
CPU(CentralProcessing Unit)13は、この情報処理装置100の全体の制御を行う。例えば、CPU13は、プログラム記憶部14に記憶されたプログラムにしたがって、
1.動画データを復号してサムネイル画像を生成し、複数のサムネイル画像を含めたフレーム選択画面などのGUIを表示する処理
2.タッチパネルからの情報をもとにフレーム選択画面などのGUIに対するユーザからの操作入力を判定する処理
3.判定された操作入力に応じて、フレーム選択画面に表示させる複数のサムネイル画像の動画中の範囲(サムネイル表示範囲)をシフトさせる処理
4.判定された操作入力に応じて、フレーム選択画面に表示させる複数のサムネイル画像のフレーム間隔を変更する処理
5.判定された操作入力に応じて、ユーザにより選択されサムネイル画像に対応するフレームの静止画を保存する処理
などを行うことが可能である。
【0030】
ワークメモリ15は、CPU13による上記の各処理の作業空間として用いられるメモリである。
【0031】
なお、図1は、動画データの復号をCPU13で行う場合の構成を示したが、動画データの復号は、専用のハードウェア(デコーダ)で行うようにしてもよい。
【0032】
[フレーム選択画面の構成]
図2は本実施形態の情報処理装置100のフレーム選択画面を含む正面図である。
同図において、21は情報処理装置100の筐体であり、この中に図1の各部が収容されている。22はタッチパネル付きディスプレイ部12の画面である。この画面22に対応してタッチパネルが設けられている。
【0033】
フレーム選択画面とは、動画の中で静止画として保存したいフレームの画像をユーザに見つけさせ発見させ選択させるためのGUI画面である。フレーム選択画面は、下側に配置されたサムネイル表示領域23と、上側に配置された選択候補フレーム表示領域24とを含む。
サムネイル表示領域23には、動画中の少なくとも一部の時間範囲に属する複数のフレームにそれぞれ対応する複数のサムネイル画像I−0,I−1,・・・,I−6が時間順に環状に並べて表示される。また、各サムネイル画像I−0,I−1,・・・,I−6の中間には、後で説明する「サムネイル表示範囲のシフト操作」及び「設定フレーム間隔の変更操作」のための用いられる操作子41が表示されている。
【0034】
なお、複数のサムネイル画像の配置形状は環状に限らず、図13に示すようにV字状でもよいし、図14に示すようにU字状でもよい。
【0035】
サムネイル表示領域23に表示されるサムネイル画像の数を以降「サムネイル表示数」と呼ぶ。サムネイル表示数は固定であっても可変であってもよいが、本実施形態では固定とする。サムネイル画像として表示される各フレームは、動画中の一部の範囲に属するフレームである。この一部の範囲はN個のフレームのまとまりによって区切られる範囲であり、以降この範囲を「サムネイル表示範囲」と呼ぶ。サムネイル画像として表示される複数のフレームは、サムネイル表示範囲において同一間隔毎のフレームである。この間隔を以降「設定フレーム間隔」と呼ぶ。
【0036】
サムネイル表示範囲は、後で説明する「サムネイル表示範囲のシフト操作」によって時間軸上をシフトさせることが可能とされている。また、サムネイル表示範囲の長さ(フレーム数=N)は、後で説明する「設定フレーム間隔の変更操作」によって変更することが可能とされている。情報処理装置100内のCPU13は、プログラム記憶部14に記憶されたプログラムに従って、タッチパネルにより検出された位置をもとに「サムネイル表示範囲のシフト操作」及び「設定フレーム間隔の変更操作」を判定し、判定した操作に応じて、サムネイル表示範囲をシフトさせたり、設定フレーム間隔の変更によりサムネイル表示範囲の長さを変更したりするように制御を行う。このように、サムネイル表示範囲をシフトさせたり長さを変更したりすることで、ユーザは動画データの全体を様々な時間スケールで見渡すことができる。これにより、静止画として保存したい一瞬の場面のフレームを効率的に探し出して、そのフレームの静止画を保存することができる。なお、静止画の保存先は動画記憶部11などでよい。
【0037】
この実施形態では、図2に示したように、フレーム選択画面に環状に並べて所定のサムネイル表示数(本実施形態では7つ)のサムネイル画像I−0,I−1,・・・,I−6が表示される。ここで、右上の位置にあるサムネイル画像I−6は、サムネイル表示範囲に属する7つのサムネイル画像I−0,I−1,・・・,I−6において時間軸上で最も後のフレームに対応するサムネイル画像である。左上の位置にあるサムネイル画像I−0は、サムネイル表示範囲に属する7つのサムネイル画像I−0,I−1,・・・,I−6において時間軸上で最も始点寄りのフレームに対応するサムネイル画像である。さらに、左右の中間の位置で、かつ最も下に位置するサムネイル画像I−3は、サムネイル表示範囲に属する7つのサムネイル画像I−0,I−1,・・・,I−6において時間軸上で中間のフレームに対応するサムネイル画像である。この中間のフレームの画像が、選択候補フレーム表示領域24に同時に表示される。この選択候補フレーム表示領域24に表示されたフレームの画像が、ユーザからの操作入力によって静止画として保存可能な画像となる。
【0038】
静止画を保存するためのユーザの操作入力の方法としては、例えば、中間のフレームに対応するサムネイル画像I−3または選択候補フレーム表示領域24にユーザがタッチすると、このフレームの画像を静止画として保存するための保存操作画面が表示される。
【0039】
図3はこの保存操作画面の例である。この保存操作画面には、保存対象のフレームの画像が表示される保存対象画像領域31と、保存されている静止画の縮小画像の一覧が表示される静止画一覧領域32とが設けられている。この保存操作画面に対してユーザによるタッチ操作などによって保存実行のための操作入力(例えば、保存実行ボタン33のタッチ操作など)が行われると、そのフレームの画像が静止画として例えば動画記憶部11などに保存されるとともに、静止画一覧領域32に、その新たに保存された静止画の縮小画像34が追加される。また、静止画一覧領域32において、例えば、ユーザにより任意の縮小画像34がタッチされるなどの操作入力が行われると、その縮小画像34のフレームに対応するサムネイル画像を、サムネイル表示範囲における中間のフレームに対応するサムネイル画像I−3とするサムネイル表示領域23を含むフレーム選択画面が表示される。これにより、ユーザは静止画として保存すべきフレームを探し出す作業に戻ることができる。
【0040】
また、図2に示すように、サムネイル表示領域23と選択候補フレーム表示領域24との間には左右に長尺状のゲージ領域25が設けられている。このゲージ領域25には、動画全体におけるサムネイル表示範囲の位置及び占める割合を示すゲージ26が左右の方向に変位可能に表示される。このゲージ26は、動画全体におけるサムネイル表示範囲の位置を棒状のゲージ領域25での位置により表し、動画全体におけるサムネイル表示範囲の割合を左右の幅のサイズで表すものである。
【0041】
[サムネイル表示範囲のシフト操作]
本実施形態の情報処理装置100では、図2に示したフレーム選択画面のサムネイル表示領域23での、タッチパネルに対する操作入力によって、サムネイル表示範囲を時間の送り方向及び戻り方向の双方向にシフトさせることが可能である。その具体的な操作方式として、
・操作方式1:複数のサムネイル画像の環状の並びに沿って時計回り方向または反時計回り方向になぞる操作
・操作方式2:各サムネイル画像の配置の中間に表示された操作子41を左または右に移動させる操作
などがある。
【0042】
まず、操作方式1について説明する。
図4は、操作方式1によるサムネイル表示範囲のシフト操作前(b)とシフト操作後(a)及び(c)それぞれのサムネイル表示領域23の状態を示した図である。操作子41の図示は省略してある。A,B,C,D,E,F,G,H,Iは個々のサムネイル画像であり、AからIの向きが時間の向きである。この例ではサムネイル表示数は"7"で固定とする。
【0043】
サムネイル表示範囲のシフト操作前の状態(b)においては、BからHまでのサムネイル画像が表示されている。ここで、(a)のように複数のサムネイル画像の環状の並びに沿って時計回り方向に画面をなぞる操作がユーザによって行われると、CPU13はこの操作を判定して、サムネイル表示範囲を設定フレーム間隔分だけ時間送り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からCからIまでのサムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も始点寄りのフレームに対応するサムネイル画像Bが消え、CからHまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ時計回り方向の位置にシフトし、サムネイル画像Hから設定フレーム間隔分だけ後のフレームに対応するサムネイル画像Iが新たに出現する。さらに、CPU13は、ゲージ領域25におけるゲージ26の位置をサムネイル表示範囲のシフト量に対応する距離だけ右側にシフトさせる。
【0044】
逆に、(c)のように、複数のサムネイル画像の環状の並びに沿って反時計回り方向に画面をなぞる操作がユーザによって行われると、CPU13は、サムネイル表示範囲を設定フレーム間隔分だけ時間戻り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からAからGまでのサムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も終点寄りのフレームに対応するサムネイル画像Hが消え、BからGまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ時間戻り方向の位置にシフトし、サムネイル画像Bから設定フレーム間隔分だけ前のフレームに対応するサムネイル画像Aが新たに出現する。さらに、CPU13は、ゲージ領域25におけるゲージ26の位置をサムネイル表示範囲のシフト量に対応する距離だけ左側にシフトさせる。
【0045】
そしてCPU13は、複数のサムネイル画像の環状の並びに沿って時計回り方向または反時計回り方向に画面をなぞる操作を判定する都度、サムネイル表示範囲を設定フレーム間隔分、時間送り方向または時間戻り方向にシフトさせるとともに、ゲージ領域25におけるゲージ26の位置を右または左の方向にシフトさせる。したがって、同じ方向への操作が複数回繰り返されることなどによって、サムネイル表示範囲は設定フレーム間隔に上記操作の繰り返し回数を乗じた分だけシフトされることになる。
なお、複数のサムネイル画像の環状の並びに沿って時計回り方向または反時計回り方向に画面をなぞる操作の判定においては、サムネイル表示領域のどの領域を、どの位の長さあるいは回転角度で、なぞるかといった具体的な条件が必要である。これらの条件は適宜選定される必要がある。
【0046】
図5は、上記操作方式1によるサムネイル表示範囲のシフト操作の具体例を示す図である。(a)はシフト操作前の状態、(b)は時間送り方向へのシフト操作後の状態をそれぞれ示している。
サムネイル表示範囲のシフト操作前の状態(a)において、例えば、500フレームで構成される動画に対して200フレーム目を中間に16フレーム間隔で前後に3つずつ合計7つのフレームにそれぞれ対応するサムネイル画像が表示されていることとする。この状態から、(b)に示すように、複数のサムネイル画像の環状の並びに沿って時計回り方向に画面をなぞる操作がユーザによって行われたこととする。CPU13はこの操作を判定して、サムネイル表示範囲を設定フレーム間隔(16フレーム)分だけ時間送り方向にシフトさせる。この結果、サムネイル表示範囲において最も始点寄りのフレーム(フレーム番号=152)に対応するサムネイル画像が消えるとともに、フレーム番号が168、184、200、216、232、248の各フレームに対応する各サムネイル画像が1つずつ時計回り方向の位置にシフトし、さらにシフトされたサムネイル表示範囲において最も終点寄りフレーム(フレーム番号=264)に対応するサムネイル画像がサムネイル表示領域23に新たに出現する。さらに、CPU13は、サムネイル表示範囲のシフトにあわせてゲージ領域25におけるゲージ26の位置を右側にシフトさせる。
【0047】
また、複数のサムネイル画像の環状の並びに沿って画面をなぞった距離や回転角度に応じて、サムネイル表示範囲のシフト量を可変に制御するようにしてもよい。
これにより、例えば、図6に示すように、複数のサムネイル画像の環状の並びに沿って、ユーザが円を描くように画面をなでることによって、サムネイル表示範囲を設定フレーム間隔で連続してシフトさせることができる。
また、サムネイル表示範囲のシフトにあわせてゲージ領域25におけるゲージ26の位置もシフトするので、動画中のどの位置のフレームのサムネイル画像が表示されているのかをユーザが一目で知ることができ、これにより操作性の向上が期待できる。
【0048】
次に、操作方式2について説明する。
図7は、操作方式2によるサムネイル表示範囲のシフト操作前(b)とシフト操作後(a)及び(c)それぞれのサムネイル表示領域23及びゲージ領域25の状態を示した図である。A,B,C,D,E,F,G,H,Iは個々のサムネイル画像であり、AからIの向きがフレームの時間の向きである。この例ではサムネイル表示数は"7"である。
【0049】
サムネイル表示範囲のシフト操作前の状態(b)においては、BからHまでのサムネイル画像が表示されている。ここで、(a)のように、各サムネイル画像の中間に配置された操作子41を右へスライドさせる操作入力がユーザによって行われると、CPU13はこの操作を判定して、サムネイル表示範囲を設定フレーム間隔分だけ時間送り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からCからIまでの各サムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も始点寄りのフレームに対応するサムネイル画像Bが消え、CからHまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ時計回り方向の位置にシフトし、サムネイル画像Hから設定フレーム間隔分だけ後のフレームに対応するサムネイル画像Iが新たに出現する。さらに、ゲージ領域25におけるゲージ26の位置がサムネイル表示範囲のシフト量に対応する距離だけ右側にシフトする。
【0050】
逆に、(c)のように、各サムネイル画像の中間に配置された操作子41を左にスライドさせる操作入力がユーザによって行われると、CPU13は、サムネイル表示範囲を設定フレーム間隔分だけ時間戻り方向にシフトさせる。この結果、BからHまでのサムネイル画像が表示されていた状態からAからGまでのサムネイル画像が表示された状態へと更新される。すなわち、サムネイル表示範囲のシフト操作前に表示されていた最も終点寄りのフレームに対応するサムネイル画像Hが消え、BからGまでの各サムネイル画像が環状の並びにおいてそれぞれ1つずつ反時計回り方向の位置にシフトし、サムネイル画像Bから設定フレーム間隔分だけ前のフレームに対応するサムネイル画像Aが新たに出現する。さらに、ゲージ領域25におけるゲージ26の位置がサムネイル表示範囲のシフト量に対応する距離だけ左側にシフトする。
【0051】
そしてCPU13は、操作子41が右または左の方向にスライドされる操作を判定する都度、サムネイル表示範囲を設定フレーム間隔分、時間送り方向または時間戻り方向にシフトさせるとともに、ゲージ領域25におけるゲージ26の位置を右または左の方向にシフトさせる。したがって、操作子41の同じ方向へのスライド操作が複数回繰り返されることなどによって、サムネイル表示範囲は設定フレーム間隔に上記操作の繰り返し回数を乗じた分だけシフトされることになる。
【0052】
また、操作子41を右か左にスライドさせた量に応じてシフト速度を変更するようにしてもよい。これにより距離の比較的長いシフト操作も容易に行うことが可能になり、操作性の向上を期待できる。すなわち、サムネイル画像の並びの方向に沿ってなぞる操作は、比較的短い距離のシフト操作を行う場合の操作性に優れるものの、長い距離をシフトさせるとなると操作量や操作回数が増えてしまい非効率である。これに対して、操作子41をスライドさせた量に対して比例的にシフト速度が加速するようにすれば、比較的長い距離のシフト操作を容易に行うことができる。
【0053】
図8は、サムネイル表示範囲が動画の終点部にある状態においてサムネイル表示範囲を時間送り方向にシフトさせようとするユーザからの上記の操作方式1または操作方式2による操作入力が発生した場合の動作を説明するための図である。
ここで、上記の操作方式1または操作方式2によってサムネイル表示範囲を時間送り方向に次々にシフトさせることによって最終的には、サムネイル表示範囲に属する最も終点寄りの4つのフレーム(図ではフレーム番号=440,456,472,488の各フレーム)にそれぞれ対応する4つのサムネイル画像のみがフレーム選択画面に表示された状態になる((a)参照)。この状態から、さらにユーザからの上記の操作方式1または操作方式2によってサムネイル表示範囲を時間送り方向に送る操作が行われたとしても、CPU13は、この操作入力を無視して現状の表示状態を変更しない((b)参照)。
【0054】
このように、サムネイル表示領域23において静止画の保存の対象とすることができる位置を含めた片側寄りの複数の位置に、動画の終点部の各フレームのサムネイル画像が表示されるまでサムネイル表示範囲が時間送り方向へ送られた後、以後の時間送り操作が無効とされる。これにより、ユーザはサムネイル表示範囲が動画の終点部まで達したことをサムネイル表示範囲のシフト操作中に容易に知ることができる。また、サムネイル表示範囲がフレーム選択画面において不明になるような状況を回避でき、ユーザにとっての操作性の向上が期待される。
【0055】
また、サムネイル表示範囲が動画の始点部にある状態からサムネイル表示範囲を時間戻り方向にシフトさせようとするユーザからの操作入力が発生した場合も同様である。すなわち、サムネイル表示範囲を時間戻り方向にシフトさせることによって最終的には、サムネイル表示範囲に属する最も始点寄りの4つのフレームにそれぞれ対応する4つのサムネイル画像のみがフレーム選択画面に表示された状態になる。この状態から、さらにユーザからの上記の操作方式1または操作方式2によってサムネイル表示範囲を時間戻り方向に送る操作が行われたとしても、CPU13は、この操作入力を無視して現状の表示状態を変更しない。
【0056】
[設定フレーム間隔の変更操作]
本実施形態の情報処理装置100では、表示するサムネイル画像のフレームの時間間隔である設定フレーム間隔を、各サムネイル画像の配置の中間に表示された操作子41を上下にスライドさせる操作によって変更することが可能である。サムネイル画像として表示されるフレームの数の最大数を固定とした場合、サムネイル画像を表示する設定フレーム間隔を拡げることによって、結果的にサムネイル表示範囲が拡大され、逆に設定フレーム間隔を狭めることによって、結果的に動画中でサムネイル画像を表示させるフレームの時間範囲が狭まる。
【0057】
図9は、設定フレーム間隔の変更操作前(b)と、変更操作後(a)及び(c)それぞれのサムネイル表示領域23の状態を示した図である。
設定フレーム間隔の変更操作前の状態(b)において、例えば、500フレームで構成される動画に対して、200番目のフレームと、この200番目のフレームを中間に16フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示されていることとする。このような状態から(c)に示すように、各サムネイル画像の配置の中間に設けられた操作子41を下にスライドさせる操作入力がユーザによって行われたこととする。CPU13はこの操作を判定して、設定フレーム間隔を拡げる。例えば、16フレームを32フレームへと変更する。すなわち、サムネイル表示範囲の長さも2倍に拡大される。これにより、200番目のフレームと、この200番目のフレームを中間に32フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示された状態へと更新される。同時に、CPU13はゲージ領域25におけるゲージ26の中心位置を固定したまま幅を設定フレーム間隔の拡大率で拡大する。
【0058】
逆に、(a)に示すように、(b)の状態から各サムネイル画像の中間に配置された操作子41を上にスライドさせる操作入力がユーザによって行われた場合には、CPU13は設定フレーム間隔を狭める。例えば、16フレームを1/2の8フレームへと変更する。すなわち、サムネイル表示範囲の長さも1/2倍に縮小される。これにより、200番目のフレームと、この200番目のフレームを中間に16フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示されていた状態から、200番目のフレームと、この200番目のフレームを中間に8フレーム間隔で前後に3枚ずつ選定された6つのフレームの計7つのフレームそれぞれに対応する7つのサムネイル画像が表示された状態へと更新される。同時に、CPU13はゲージ領域25におけるゲージ26の中心位置を固定したまま幅を設定フレーム間隔の縮小率で縮小する。このようにゲージ領域25におけるゲージ26の幅を設定フレーム間隔の拡大/縮小率で拡大/縮小することで、拡大/縮小が完了したことをユーザが視覚的に容易に知ることができ、操作性の向上が期待できる。
【0059】
CPU13は、操作子41が下にスライドされる操作を判定する都度、設定フレーム間隔を例えば、初期の設定フレーム間隔に対して2倍、4倍、8倍、16倍・・・のように変更して行く。また、CPU13は、操作子41が上にスライドされる操作を判定する都度、設定フレーム間隔を初期の設定フレーム間隔に対して例えば1/2倍、1/4倍、1/8倍、1/16倍・・・のように変更して行く。
【0060】
なお、設定フレーム間隔を変更する方法は上記のように指数関数的な増減方法に限らない。例えば、操作子41が上または下にスライドされる操作が判定される都度、所定の倍率で直前の設定フレーム間隔を拡大/縮小するようにしてもよい。
【0061】
また、操作子41を上か下にスライドさせた位置に保持した時間やスライド量に応じて、設定フレーム間隔の変更倍率を制御するようにしてもよい。より具体的には、操作子41を上か下にスライドさせた位置に保持した状態では、設定フレーム間隔が拡大または縮小し続けるように制御する方法、スライド量に応じた倍率で設定フレーム間隔を変更するように制御する方法等がある。
【0062】
[上記各操作に応じた制御の処理手順]
図10は、上記の各操作に応じた制御の手順のフローチャートである。
このフローチャートはCPU13がプログラムに基づいて実行する動作の手順である。
ここで、サムネイル表示数を"7"、設定フレーム間隔を"2m"、中間位置に表示されるフレーム番号を"p"とする。
【0063】
まずCPU13は、動画データを読み込み(ステップS101)、動画フレーム数をNにセットする(ステップS102)。
【0064】
次にCPU13は、動画全体の中間点のフレーム番号Cpを次式により算出する。
Cp=Int(N/2) …(1)
次にCPU13は、算出した動画の中間点のフレーム番号Cpをサムネイル表示範囲の中間位置のサムネイル画像のフレーム番号pとして設定する(ステップS103)。
【0065】
次にCPU13は、次式により、mを算出し、このmの値のうちの最大値をMとする(ステップS104)。
M=m=Int(Log2(N/6)) …(2)
すなわち、Mは動画全体を2Mで6分割した場合に、それぞれの分割区間の合計フレーム数が動画の全フレーム数を超えない最大の整数である。これにより、設定フレーム間隔の初期値が決定される。
【0066】
この後、CPU13は、それぞれ初期値として設定されたフレーム番号pと設定フレーム間隔"2m"をもとに、フレーム番号pのフレームと、このフレームを中心に"2m"の間隔で前後に3枚ずつフレームを選定し、計7枚のフレームにそれぞれ対応するサムネイル画像を生成して表示する(ステップS105−S107)。
【0067】
この後、CPU13は、サムネイル表示範囲のシフト操作の入力、及び設定フレーム間隔の変更操作の入力を受け付ける(ステップS108)。
【0068】
CPU13は、受け付けたサムネイル表示領域23に対するユーザからの操作入力に応じて、サムネイル表示範囲のシフト及び設定フレーム間隔の変更を行う。すなわち、
1.CPU13は、操作子41の右へのスライド操作または時計回り方向になぞる操作入力を判定した場合で、かつp<N−2mを満足する場合(ステップS109のy)、サムネイル表示範囲を設定フレーム間隔分、時間送り方向にシフトさせる(ステップS110)。
なお、p<N−2mを満足する場合とは、動画の終点部においてサムネイル表示範囲を時間送り方向にシフトさせることが可能な状態を意味する。
【0069】
2.CPU13は、操作子41の左へのスライド操作または反時計回り方向になぞる操作の入力を判定した場合で、かつp>2mを満足する場合(ステップS111のy)、サムネイル表示範囲を設定フレーム間隔分、時間戻り方向にシフトさせる(ステップS112)。
なお、p>2mを満足する場合とは、動画の始点部においてサムネイル表示範囲を時間戻り方向にシフトさせることが可能な状態を意味する。
【0070】
3.CPU13は、操作子41の上へのスライド操作を判定した場合で、かつm>0を満足する場合(ステップS113のy)、mを−1だけデクリメントして、設定フレーム間隔を縮小する(ステップS114)。操作子41の上へのスライド操作を判定した場合でも、m>0を満足しない場合には、mのデクリメントは行われない。
【0071】
4.CPU13は、操作子41の下へのスライド操作を判定した場合で、かつm<Mを満足する場合(ステップS115のy)、mを1だけインクリメントして、設定フレーム間隔を拡大する(ステップS116)。操作子41の下へのスライド操作を判定した場合でも、m<Mを満足しない場合にはmのインクリメントは行われない。
【0072】
1.から4.のいずれかの変更が行われた後、CPU13はサムネイル表示領域23に表示する7枚のフレームにそれぞれ対応するサムネイル画像を再生成して、これらを表示する(ステップS105−S107)。
【0073】
なお、上記の動作では、初期状態において動画全体の中間点のフレームをサムネイル表示範囲の中間位置(静止画保存対象のサムネイル画像が表示される位置)のフレームとすることで、動画全体を俯瞰するような初期値を採用することとしたが、これに限られない。すなわち、動画全体におけるどの位置のフレームをサムネイル表示範囲の中間位置のフレームとしてもかまわない。また、設定フレーム間隔の初期値に関しても、適宜別の値を用いてもよい。
【0074】
さらに、上記のサムネイル表示範囲のシフトと長さの変更では、フレーム番号を基準に処理を行うものとしたが、フレームに属性情報として付けられたタイムスタンプを用いて時間を基準に処理を行うようにしてもよい。
【0075】
また、設定フレーム間隔が変更が行われた後にサムネイル表示領域23に表示する7枚のフレームにそれぞれ対応するサムネイル画像を再生成して表示する際、設定フレーム間隔の変更内容をユーザが直感的に判定することが可能なように、アニメーション表示を行うようにしてもよい。
【0076】
以上のように、操作子41には、サムネイル表示範囲をシフトさせる指示を受け付ける機能と、設定フレーム間隔を変更する指示を受け付ける機能が割り当てられている。したがって、サムネイル表示範囲のシフトと設定フレーム間隔の変更の各操作を交互に行う場合に、操作対象の共通化による効率の向上が期待される。加えて、この操作子41が、環状に並べて配置された複数のサムネイル画像の位置の中間に設けられているので、各サムネイル画像と操作子41を同時に視界に入れたまま操作子41を操作することができ、操作性の向上を期待できる。
【0077】
[サムネイル画像表示の高速化その1]
本実施形態の情報処理装置100では、MPEG(Moving Picture Experts Group)−2、MPEG−4、H.263、H.264などのフレーム間予測により符号化された動画データが扱われる。上記のサムネイル表示範囲のシフトや設定フレーム間隔の変更に伴って、サムネイル画像として表示されるフレームの少なくとも一部が変更される。このときサムネイル画像の表示対象となるフレーム(以下「表示対象フレーム」と呼ぶ。)の復号が、近接する他のフレーム(以下「表示対象近接フレーム」と呼ぶ。)の復号結果に依存する種類のフレーム、例えばP(Predictive Picture)ピクチャ、B(Bidirectionally Predictive Picture)ピクチャなどである場合、その表示対象フレームのサムネイル画像が表示されるまでに最終的には複数回の復号が行われ、そのための時間がかかり、ユーザに違和感を与えるおそれがある。
【0078】
そこで、本実施形態の情報処理装置100では、表示対象近接フレームの復号結果が得られてから表示対象フレームの復号結果が得られるまでの間、表示対象近接フレームの復号結果であるサムネイル画像を表示する。これにより、サムネイル表示領域23においてサムネイル画像が最初に表示されるまでの待ち時間が短くなり、ユーザにサムネイル画像表示までの長い待ち時間によるストレスを与えるおそれが低減される。本来表示されるべきフレームのサムネイル画像はその後に表示されるので、サムネイル画像の表示の変化は生じるが、この変化は近接するフレーム間での変化に過ぎないため、ユーザに与える違和感は少なくて済む。
【0079】
図11は、上記のサムネイル画像表示の高速化その1の具体例を説明するための図である。
説明の簡単のため、動画データはI(Intra Picture)ピクチャとPピクチャからなるものとする。ここで、XのPピクチャが表示対象フレームである。この場合、CPU13は、当該XのPピクチャを復号するために必要なX−5のIピクチャを表示対象近接フレームとして、このX−5のIピクチャを復号した結果をサムネイル画像として最初に表示する((a)参照)。その一方で、CPU13は、このX−5のIピクチャの復号結果であるサムネイル画像を用いて表示対象フレームであるXのPピクチャを復号し、その復号結果が得られたところで、この復号結果であるサムネイル画像を、Iピクチャの復号結果であるサムネイル画像と表示メモリ上で書き換えることで、サムネイル画像の表示を更新する((b)参照)。
【0080】
表示対象フレームがBピクチャである場合の動作も同様である。この場合、CPU13は、Bピクチャの復号のために参照されるIピクチャを復号し、この復号結果をサムネイル画像として表示する。その後CPU13は、Iピクチャの復号結果またはIピクチャの復号結果を用いて復号されたPピクチャのサムネイル画像からBピクチャを復号し、この復号結果であるサムネイル画像を、IピクチャまたはPピクチャの復号結果であるサムネイル画像と表示メモリ上で書き換える。
【0081】
[サムネイル画像表示の高速化その2]
フレームの復号結果であるサムネイル画像のデータをキャッシュデータとしてキャッシュメモリに格納することで、以後、同じフレームのサムネイル画像を表示する際にキャッシュメモリから該当するサムネイル画像のデータを読み出して表示すれば、復号時間が不要となり、サムネイル画像の表示の待ち時間を大幅に短縮することができる。なお、キャッシュメモリは、例えば、図1のワークメモリなどに設けられた領域である。
【0082】
図12は、サムネイル画像のデータのキャッシュとこのキャッシュの利用に関するフローチャートである。このフローチャートは、フレームに対応するサムネイル画像を取得する処理のサブルーチンを示すものである。
【0083】
サムネイル表示領域23においてサムネイル画像を表示すべきフレームが決定されると(ステップS201)、CPU13は、図12のサブルーチンを起動する。このサブルーチンに従って、CPU13は、まずキャッシュメモリに該当するフレームのサムネイル画像のデータが保存されているかどうかを調べる(ステップS202)。キャッシュメモリに該当するフレームのサムネイル画像のデータが保存されていない場合(ステップS202のn)、CPU13は、そのフレームを復号してサムネイル画像のデータを取得し(ステップS203)、このサムネイル画像のデータを当該フレームに対応するキャッシャデータとして保存する(ステップS204)。また、CPU13は、そのフレームの復号結果であるサムネイル画像のデータを、サムネイル表示領域23に表示するサムネイル画像としてメインルーチンに返す(ステップS205)。
【0084】
また、キャッシュメモリに、該当するフレームのサムネイル画像のデータが保存されている場合(キャッシュヒットした場合)(ステップS202のy)、CPU13は、キャッシュメモリから該当するフレームのサムネイル画像のデータを取得し(ステップS206)、サムネイル表示領域23に表示するサムネイル画像としてメインルーチンに返す(ステップS205)。
【0085】
なお、上記の実施形態では、復号したサムネイル画像のデータを、数の上限なくキャッシュメモリに保存している。これに対して、例えば、メモリにおいてキャッシュメモリ用に利用できる容量に制限がある場合には、LRU(Least Recently Used)アルゴリズム等により、利用の頻度が低い傾向にあるキャッシュデータを消去するなどして、キャッシュとしてのパフォーマンスを落とすことなく、キャッシュメモリとして利用できる容量に制限を設けるようにしてもよい。
【0086】
なお、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0087】
11…動画記憶部
12…タッチパネル付きディスプレイ部
13…CPU
14…プログラム記憶部
15…ワークメモリ
22…フレーム選択画面
23…サムネイル表示領域
24…選択候補フレーム表示領域
25…ゲージ領域
26…ゲージ
41…操作子
100…情報処理装置
【特許請求の範囲】
【請求項1】
画面を有する表示部と、
前記画面上でユーザにより指示された位置を検出する検出部と、
動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせる制御部と
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記画面に環状に並べて表示される複数の前記画像が、設定された間隔毎のフレームそれぞれに対応する複数の画像である
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記間隔の設定値を設定する
情報処理装置。
【請求項4】
請求項2に記載の情報処理装置であって、
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記表示範囲をシフトさせる
情報処理装置。
【請求項5】
請求項3に記載の情報処理装置であって、
前記制御部は、前記操作子に対する操作内容を少なくとも第1の操作内容と第2の操作内容とに判別し、前記第1の操作内容が判別されたとき前記間隔の設定値を設定し、前記第2の操作内容が判別されたとき前記表示範囲をシフトさせる
情報処理装置。
【請求項6】
請求項5に記載の情報処理装置であって、
前記第1の操作内容は、前記操作子を前記画面上の第1の軸方向に移動させる操作であり、前記第2の操作内容は、前記操作子を前記第1の軸方向に対して直交する第2の軸方向に移動させる操作である
情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記制御部は、前記動画中での前記表示範囲の位置及び占める割合を示すゲージを含むゲージ領域を表示し、前記ゲージ領域において前記ゲージの変位の方向は前記第2の軸方向と一致する
情報処理装置。
【請求項8】
請求項1に記載の情報処理装置であって、
前記動画がフレーム間予測により符号化されたデータであり、
前記制御部は、符号化されたフレームを復号して前記画像を表示し、前記画像として表示すべき表示対象フレームの復号が近接する他のフレームの復号結果に依存する場合、当該他のフレームの復号結果が得られてから前記表示対象フレームの復号結果が得られるまでの間、前記他のフレームの復号結果であるサムネイル画像を表示する
情報処理装置。
【請求項9】
制御部が、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて画面に表示し、
前記画面上でユーザにより指示された位置を検出する検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作を判定したとき、前記動画中での前記表示範囲をシフトさせる
情報処理方法。
【請求項10】
画面を有する表示部と、
前記画面上でユーザにより指示された位置を検出する検出部とを具備する情報処理装置内のコンピュータを動作させるプログラムであって、
動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせるように
前記コンピュータを動作させるプログラム。
【請求項1】
画面を有する表示部と、
前記画面上でユーザにより指示された位置を検出する検出部と、
動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせる制御部と
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記画面に環状に並べて表示される複数の前記画像が、設定された間隔毎のフレームそれぞれに対応する複数の画像である
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記間隔の設定値を設定する
情報処理装置。
【請求項4】
請求項2に記載の情報処理装置であって、
前記制御部は、ユーザからの操作入力を受け付けるための操作子を、前記環状の略中心に表示し、前記検出部による検出の結果をもとに、前記操作子に対する操作が判定されたとき、前記表示範囲をシフトさせる
情報処理装置。
【請求項5】
請求項3に記載の情報処理装置であって、
前記制御部は、前記操作子に対する操作内容を少なくとも第1の操作内容と第2の操作内容とに判別し、前記第1の操作内容が判別されたとき前記間隔の設定値を設定し、前記第2の操作内容が判別されたとき前記表示範囲をシフトさせる
情報処理装置。
【請求項6】
請求項5に記載の情報処理装置であって、
前記第1の操作内容は、前記操作子を前記画面上の第1の軸方向に移動させる操作であり、前記第2の操作内容は、前記操作子を前記第1の軸方向に対して直交する第2の軸方向に移動させる操作である
情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記制御部は、前記動画中での前記表示範囲の位置及び占める割合を示すゲージを含むゲージ領域を表示し、前記ゲージ領域において前記ゲージの変位の方向は前記第2の軸方向と一致する
情報処理装置。
【請求項8】
請求項1に記載の情報処理装置であって、
前記動画がフレーム間予測により符号化されたデータであり、
前記制御部は、符号化されたフレームを復号して前記画像を表示し、前記画像として表示すべき表示対象フレームの復号が近接する他のフレームの復号結果に依存する場合、当該他のフレームの復号結果が得られてから前記表示対象フレームの復号結果が得られるまでの間、前記他のフレームの復号結果であるサムネイル画像を表示する
情報処理装置。
【請求項9】
制御部が、動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて画面に表示し、
前記画面上でユーザにより指示された位置を検出する検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作を判定したとき、前記動画中での前記表示範囲をシフトさせる
情報処理方法。
【請求項10】
画面を有する表示部と、
前記画面上でユーザにより指示された位置を検出する検出部とを具備する情報処理装置内のコンピュータを動作させるプログラムであって、
動画中の少なくとも一部の範囲を表示範囲として、この表示範囲に属する複数のフレームそれぞれに対応する複数の画像を時間順に環状に並べて表示し、前記検出部による検出の結果をもとに、前記複数の画像の並びの向きに沿ってなぞる操作が判定されたとき、前記動画中での前記表示範囲をシフトさせるように
前記コンピュータを動作させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−43207(P2012−43207A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−184166(P2010−184166)
【出願日】平成22年8月19日(2010.8.19)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月19日(2010.8.19)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]