(57)【特許請求の範囲】
【請求項１】
コンテンツリストを送信するコンテンツリスト送信装置に接続可能なコントローラであって、
前記コンテンツリストのコンテンツ情報を取得済みであるか否かを判断する取得済み判断部と、
前記コンテンツリストのうち、前記コンテンツ情報が取得済みでないと判断される前記コンテンツの前記コンテンツ情報を所定数分取得する要求である、通常コンテンツリスト取得要求を前記コンテンツリスト送信装置に送信し、前記コンテンツ情報を取得するコンテンツ情報取得部と、
前記通常コンテンツリスト取得要求を前記コンテンツリスト送信装置に送信してから、前記コンテンツ情報を受信完了するまでの時間の平均値である平均応答時間を記憶する平均応答時間記憶部と、
ユーザ操作によって、前記コンテンツリストのスクロール指示が入力されるスクロール操作入力部と、
前記スクロール指示が入力されたとき、前記取得済み判断部が、スクロール先の前記コンテンツリストの前記コンテンツ情報を取得済みであるか否かを判断し、取得済みでないと判断した場合、スクロール先の前記コンテンツ情報を取得中である状態に設定するスクロールリスト取得設定部と、
前記スクロールリストを取得中であるか否かを判断するスクロールリスト取得判断部とを備え、
前記スクロールリストを取得中であると判断された場合、前記通常コンテンツリスト取得要求を送信せず、前記コンテンツ情報取得部が、スクロール先の前記コンテンツ情報の取得要求を前記コンテンツリスト送信装置に送信し、
前記コンテンツ情報取得部が、スクロール先の前記コンテンツ情報の前記取得要求を前記コンテンツリスト送信装置に送信後、前記平均応答時間が経過してから、前記通常コンテンツリスト取得要求を送信する、コントローラ。
【請求項２】
前記コンテンツ情報取得部によってスクロール先の前記コンテンツ情報が取得された後、前記スクロールリスト取得設定部が、前記スクロールリストを取得中でない状態に設定し、
前記コンテンツ情報取得部が、前記スクロールリストを取得中でない状態に設定された後、前記コンテンツリスト送信装置に通常コンテンツリスト取得要求を送信する、請求項１に記載のコントローラ。  
【請求項３】
前記コンテンツ情報取得部が、前記コンテンツリスト送信装置に前記通常コンテンツリスト取得要求を送信してから前記平均応答時間が経過したと判断されたとき、前記スクロールリストを取得中であるか否かを判断し、
前記スクロールリストを取得中であると判断された場合、前記コンテンツリスト送信装置から前記通常コンテンツリストの前記コンテンツ情報を取得する処理を中断し、
前記コンテンツ情報取得部が、スクロール先の前記コンテンツ情報の前記取得要求を前記コンテンツリスト送信装置に送信する、請求項１〜２のいずれかに記載のコントローラ。
【請求項４】
ユーザ操作によって前記スクロール指示が入力されてから、次の前記スクロール指示が入力されるまでの時間の平均値であるスクロール指示間隔を取得するスクロール指示間隔取得部をさらに備え、
前記コンテンツ情報取得部が、前記スクロール指示間隔が、前記平均応答時間以下であると判断したとき、通常コンテンツリスト取得要求において、前記所定数よりも少ない数の前記通常コンテンツリストの前記コンテンツ情報の取得要求を前記コンテンツリスト送信装置に送信する、請求項１〜３のいずれかに記載のコントローラ。
【請求項５】
ユーザ操作によって前記スクロール指示が入力されてから、次の前記スクロール指示が入力されるまでの時間の平均値であるスクロール指示間隔を取得するスクロール指示間隔取得部をさらに備え、
前記スクロール指示間隔が、前記平均応答時間以下であると判断されたとき、前記コンテンツ情報取得部が、前記コンテンツリスト送信装置に前記通常コンテンツリスト取得要求を送信せず、前記スクロール指示間隔以上の時間が経過するまで前記スクロール指示が入力されるのを待つ、請求項１〜４のいずれかに記載のコントローラ。
【請求項６】
請求項１〜５のいずれかに記載のコントローラの各部を前記コントローラに実行させる、コントローラプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他機器から情報を取得するコントローラに関する。
【背景技術】
【０００２】
ホームネットワークに、コンテンツ（音楽、映像、または写真等）を保存するサーバと、サーバのコンテンツを再生する再生装置（以下、ＡＶレシーバという。）と、サーバからコンテンツのリストを取得して表示し、ユーザ操作によってコンテンツリストから選択されたコンテンツをＡＶレシーバに再生するよう指示するコントローラとからなる再生システムがある。コントローラは例えばスマートフォンや携帯音楽プレーヤ等である。
【０００３】
サーバは大量のコンテンツを記憶しており、コントローラはサーバに、所定数（例えば１０曲）のコンテンツのコンテンツ情報を送信するよう要求する(以下、通常コンテンツリストの取得要求という。)。コントローラは、コンテンツリストの全コンテンツのコンテンツ情報を取得完了するまで、サーバにコンテンツ情報の取得要求を送信する。例えば、サーバが２００曲からなるコンテンツリストを有していた場合、コントローラはコンテンツ情報を取得するコマンドをサーバに２０回送信することによって、すべてのコンテンツ情報を取得する。ところで、コントローラは、ユーザ操作によってコンテンツリストをスクロールする指示を入力されたとき、通常コンテンツリストを取得中であっても、スクロール先のコンテンツ情報を優先して取得し、コントローラの表示部に表示する必要がある。
【０００４】
従来、コントローラがサーバに対してコンテンツ情報の取得要求を送信する場合、コントローラはサーバに対して、コンテンツ情報取得に関する優先度を付加している。サーバは、優先度に応じてコントローラから送信された要求に基づいて処理を実行し、コンテンツ情報をコントローラへ送信する。しかしながら、サーバにおいてコントローラからの要求が溜まると、優先度のチェック等に時間がかかり、コントローラへの応答が遅延してしまう問題がある。また、コントローラにおいてスクロール等の割込み処理が生じた場合に、スクロール先のコンテンツ情報（以下、スクロールリストという。）をサーバに要求しても、サーバが、過去にコントローラから送信されたコンテンツ情報の取得処理を実行中であった場合、すぐにスクロールリストをコントローラに送信できず、コントローラでのスクロールリスト表示が遅くなる。
【０００５】
ＷＯ２００８／１１４５２５号公報には、ラウンドロビン機能やＴＳＳ制御機能を用いずにＯＳ上に構築されたアプリケーションプログラム群を効率よく制御することができる情報処理装置を提供することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＷＯ２００８／１１４５２５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツリストを取得するコントローラにおいて、スクロール指示が入力されたとき、スクロール先のコンテンツリストを素早く取得可能なコントローラを提供することである。
【課題を解決するための手段】
【０００８】
本発明の好ましい実施形態によるコントローラは、コンテンツリストを送信するコンテンツリスト送信装置に接続可能なコントローラであって、前記コンテンツリストのコンテンツ情報を取得済みであるか否かを判断する取得済み判断部と、前記コンテンツリストのうち、前記コンテンツ情報が取得済みでないと判断される前記コンテンツの前記コンテンツ情報を所定数分取得する要求である、通常コンテンツリスト取得要求を前記コンテンツリスト送信装置に送信し、前記コンテンツ情報を取得するコンテンツ情報取得部と、前記通常コンテンツリスト取得要求を前記コンテンツリスト送信装置に送信してから、前記コンテンツ情報を受信完了するまでの時間の平均値である平均応答時間を記憶する平均応答時間記憶部と、ユーザ操作によって、前記コンテンツリストのスクロール指示が入力されるスクロール操作入力部と、前記スクロール指示が入力されたとき、前記取得済み判断部が、スクロール先の前記コンテンツリストの前記コンテンツ情報を取得済みであるか否かを判断し、取得済みでないと判断した場合、スクロール先の前記コンテンツ情報を取得中である状態に設定するスクロールリスト取得設定部と、前記スクロールリストを取得中であるか否かを判断するスクロールリスト取得判断部とを備え、前記スクロールリストを取得中であると判断された場合、前記通常コンテンツリスト取得要求を送信せず、前記コンテンツ情報取得部が、スクロール先の前記コンテンツ情報の取得要求を前記コンテンツリスト送信装置に送信し、前記コンテンツ情報取得部が、スクロール先の前記コンテンツ情報の前記取得要求を前記コンテンツリスト送信装置に送信後、前記平均応答時間が経過してから、前記通常コンテンツリスト取得要求を送信する。
【０００９】
コントローラは、コンテンツリストを送信するコンテンツリスト送信装置に接続可能である。コントローラは、コンテンツリストのコンテンツの情報を取得する要求である、通常コンテンツリスト取得要求を送信し、コンテンツリスト送信装置からコンテンツ情報を取得する。さらに、コントローラは、コンテンツリスト送信装置に通常コンテンツリスト取得要求を送信してから、コンテンツリスト送信装置からコンテンツ情報を受信するまでの時間の平均値である平均応答時間を取得する。コントローラは、ユーザ操作によってコンテンツリストのスクロール指示が入力されたとき、スクロールリスト取得フラグをオンに設定し、スクロール先のコンテンツ情報を優先して取得する。コントローラは、スクロールリスト取得フラグがオンに設定されている場合、平均応答時間が経過してから通常コンテンツリスト取得要求を送信するので、スクロール先のコンテンツリストのコンテンツ情報を遅滞なく取得することができる。
【００１０】
好ましい実施形態においては、前記コンテンツ情報取得部によってスクロール先の前記コンテンツ情報が取得された後、前記スクロールリスト取得設定部が、前記スクロールリストを取得中でない状態に設定し、前記コンテンツ情報取得部が、前記スクロールリストを取得中でない状態に設定された後、前記コンテンツリスト送信装置に通常コンテンツリスト取得要求を送信する。
【００１１】
コントローラは、スクロール先のコンテンツ情報を取得するとき、スクロールリスト取得フラグをオンに設定する。コントローラは、スクロールリスト取得フラグがオンに設定されている場合、コンテンツリスト送信装置に通常コンテンツリスト取得要求を送信しないので、スクロール先のコンテンツリストを遅滞なく取得できる。
【００１２】
本発明の別の好ましい実施形態によるコントローラは、前記コンテンツ情報取得部が、前記コンテンツリスト送信装置に前記通常コンテンツリスト取得要求を送信してから前記平均応答時間が経過したと判断したとき、前記スクロールリストを取得中であるか否かを判断し、前記スクロールリストを取得中であると判断された場合、前記コンテンツリスト送信装置から前記通常コンテンツリストの前記コンテンツ情報を取得する処理を中断し、前記コンテンツ情報取得部が、スクロール先の前記コンテンツ情報の前記取得要求を前記コンテンツリスト送信装置に送信する。
【００１３】
コントローラは、コンテンツリスト送信装置に通常コンテンツリスト取得要求を送信後、平均応答時間が経過したとき、スクロールリスト取得フラグがオンに設定されているか否かを判断し、スクロールリスト取得フラグがオンに設定されていると判断された場合、スクロール先のコンテンツ情報を取得する。コントローラは、平均応答時間が経過したとき、通常コンテンツリスト取得要求を送信中であっても、スクロール先のコンテンツリストを取得できる。
【００１４】
本発明の別の好ましい実施形態によるコントローラは、ユーザ操作によって前記スクロール指示が入力されてから、次の前記スクロール指示が入力されるまでの時間の平均値であるスクロール指示間隔を取得するスクロール指示間隔取得部をさらに備え、前記コンテンツ情報取得部が、前記スクロール指示間隔が、前記平均応答時間以下であると判断されるとき、通常コンテンツリスト取得要求において、前記所定数よりも少ない数の前記通常コンテンツリストの前記コンテンツ情報の取得要求を前記コンテンツリスト送信装置に送信する。
【００１５】
コントローラは、ユーザ操作によってスクロール指示が入力される間隔の平均値であるスクロール指示間隔を取得する。コントローラは、通常コンテンツリスト取得要求を送信するとき、平均スクロール指示間隔以下の時間内に通常コンテンツ取得が完了するよう、少ない数のコンテンツのコンテンツ情報をコンテンツリスト送信装置に要求する。
【００１６】
本発明の別の好ましい実施形態によるコントローラは、ユーザ操作によって前記スクロール指示が入力されてから、次の前記スクロール指示が入力されるまでの時間の平均値であるスクロール指示間隔を取得するスクロール指示間隔取得部をさらに備え、前記スクロール指示間隔が、前記平均応答時間以下であると判断されたとき、前記コンテンツ情報取得部が、前記コンテンツリスト送信装置に前記通常コンテンツリスト取得要求を送信せず、前記スクロール指示間隔以上の時間が経過するまで前記スクロール指示が入力されるのを待つ。
【００１７】
コントローラは、スクロール指示間隔が平均応答時間以下であると判断されるとき、通常コンテンツリスト取得要求をコンテンツリスト送信装置に送信せず、スクロール指示が入力されるのを待つ。コントローラは、通常コンテンツリストを取得中にスクロール指示が入力され、スクロール先のコンテンツ情報取得が遅延することを防止できる。
【発明の効果】
【００１８】
コンテンツリストをネットワーク等を介してコンテンツリスト送信装置から取得するコントローラにおいて、スクロール指示が入力されたとき、スクロール先のコンテンツリストを素早く取得可能なコントローラを提供できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の好ましい実施形態によるブロック図である。
【図２】本発明の好ましい実施形態によるコンテンツリストの概念図である。
【図３】コンテンツリストである。
【図４】コントローラの表示例である。
【図５】コントローラの表示例である。
【図６】コントローラの制御部が実行するフローチャートである。
【図７】コントローラの制御部が実行するフローチャートである。
【図８】コントローラの制御部が実行するフローチャートである。
【図９】平均応答時間情報である。
【図１０】コントローラの制御部が実行するフローチャートである。
【図１１】コントローラの制御部が実行するフローチャートである。
【図１２】コントローラの制御部が実行するフローチャートである。
【図１３】コントローラの制御部が実行するフローチャートである。
【図１４】スクロール操作間隔値テーブルである。
【図１５】コントローラの制御部が実行するフローチャートである。
【図１６】コントローラの制御部が実行するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の好ましい実施形態によるコントローラについて、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
【００２１】
[実施形態１]
図１は、本発明の好ましい実施形態によるコントローラ、ＡＶレシーバ及びサーバのブロック図を示す。
【００２２】
コントローラ１００は、制御部１１、記憶部１２、表示部１３、通信部１４、及び操作部１５を備える。制御部１１は記憶部１２に格納されたプログラムを実行することによりコントローラ１００全体を制御するものであり、例えばマイコンやＣＰＵである。記憶部１２は、コントローラ１００の設定内容などを保持するものであり、例えばＲＯＭやＲＡＭである。記憶部１２は、後述するコンテンツリスト１２Ａ、平均応答時間情報１２Ｂ、待ちメモリ１２Ｃ、及びスクロール操作間隔値テーブル１２Ｄを有する。表示部１３は、例えばＡＶレシーバ２００から送信されるコンテンツリストの表示等を実行するものであり、例えば液晶ディスプレイや有機ＥＬディスプレイである。通信部１４は、ＬＡＮ等に接続され、他機器（例えばＡＶレシーバ２００）と通信するネットワークインターフェースである。操作部１５は、ユーザ操作を受信するインターフェースであり、例えばコントローラ１００に備えられるボタンや、タッチパネルである。制御部１１は、操作部１５においてユーザ操作によってスクロール指示が入力されたとき、コンテンツリストのスクロール等を実行する。
【００２３】
ＡＶレシーバ２００は、制御部２１、記憶部２２、表示部２３、通信部２４、ＤＳＰ２５、ＤＡＣ２６、及び増幅部２７を備える。制御部２１は記憶部２２に格納されたプログラムを実行することによりＡＶレシーバ２００全体を制御するものであり、例えばマイコンやＣＰＵである。記憶部２２は、ＡＶレシーバ２００の設定内容やコンテンツリスト情報などを保持するものであり、例えばＲＯＭやＲＡＭである。表示部２３は、ＡＶレシーバ２００のセレクタ情報や音量値等を表示するものであり、例えばＦＬディスプレイ、液晶ディスプレイ等である。通信部２４は、ＬＡＮ等に接続され、他機器（例えばコントローラ１００）と通信するネットワークインターフェースである。
【００２４】
ＤＳＰ２５は、デジタル音声データに音場処理等を実行する。ＤＡＣ２６は、デジタルアナログ変換部であり、デジタル音声データをアナログ音声データに変換する。増幅部２７は、アンプであり、ＤＡＣ２６によってアナログ信号に変換された音声データを増幅し、スピーカー２８に出力する。
【００２５】
サーバ３００は、制御部３１、記憶部３２、ＨＤＤ３３、及び通信部３４を備える。制御部３１は記憶部３２に格納されたプログラムを実行することによりサーバ３００全体を制御するものであり、例えばマイコンやＣＰＵである。記憶部３２は、サーバ３００の設定内容やコンテンツリスト情報などを保持するものであり、例えばＲＯＭやＲＡＭである。ＨＤＤ３３は、ハードディスクドライブであり、コンテンツを記憶する。なお、コンテンツリスト情報は記憶部３２に保存されてもよいし、ＨＤＤ３３に保存されてもよい。通信部３４は、ＬＡＮ等に接続され、他機器と通信するインターフェースである。なお、通信部１４と通信部２４と通信部３４とは無線で通信してもよいし、有線で通信してもよく、ネットワーク以外の通信方法で通信してもよい。ネットワーク以外の通信方法は、例えばＨＤＭＩケーブルによる通信やＲＳ２３２Ｃによる通信である。
【００２６】
上記構成を備えるコントローラ１００の制御部１１は、ＡＶレシーバ２００に、ＡＶレシーバ２００がサーバ３００から取得済みのコンテンツリストの情報を送信するよう要求する。制御部１１はＡＶレシーバ２００が保持するコンテンツリストを、コンテンツリストの先頭から順に取得する。制御部１１は、ユーザ操作によってコンテンツリストのスクロール指示を受信したとき、スクロールリストを優先的に取得する。制御部１１は、ユーザ操作によってコンテンツリストのスクロール指示を受信したときに、通常コンテンツリストを取得中であった場合、取得中の通常コンテンツリストのコンテンツ番号を記憶部１２に退避し、スクロールリストを取得し終えた後、通常コンテンツリスト取得を再開する。なお、通常コンテンツリスト取得とは、コントローラ１００がＡＶレシーバ２００から、コンテンツリストの並びに従って取得することである。
【００２７】
図２は、ＡＶレシーバ１００が有するコンテンツリストの階層構造の概念図を示す。最上位層から順に、Ｒｏｏｔ、ＡｌｌＴｒａｃｋｓ、Ｔｒａｃｋ階層が存在する。なお、Ｒｏｏｔ階層の下に、Ａｒｔｉｓｔリスト階層、アルバムリスト階層、トラックリスト階層が存在する構造であってもよいし、その他の階層構造であってもよい。また、本実施例ではコントローラ１００はコンテンツ情報をＡＶレシーバ２００から取得するが、サーバ３００から取得してもよい。なお、コンテンツ情報は、トラックのアーティスト名、アルバム名、トラック名、トラック再生時間等である。
【００２８】
図３は、コントローラ１００の記憶部１２が有するコンテンツリスト１２Ａを示し、コンテンツリスト１２ＡはＡｌｌＴｒａｃｋｓ階層の下に存在するトラックリストを管理する。図３のコンテンツリスト１２Ａは、通し番号、楽曲ＩＤ、アーティスト名、アルバム名、トラック名、トラック再生時間、取得済みフラグを管理する。なお、「トラック」は楽曲自体を示し、「コンテンツ」は、音楽、写真、動画等のファイルの総称である。通し番号は、ＡｌｌＴｒａｃｋｓの下階層のトラックの通し番号であり、楽曲ＩＤはトラックを一意に指定するためのＩＤである。アーティスト名、アルバム名はそれぞれトラックのアーティスト名、アルバム名を示す。取得済みフラグは、コントローラ１００がＡＶレシーバ２００からトラックのコンテンツ情報を取得済みであるか否かを示すフラグであり、初期値はＦＡＬＳＥ（未取得）である。
【００２９】
図４は、コントローラ１００の表示部１３に表示される通常コンテンツリストを示す。図４の通常コンテンツリストは、通し番号１〜３までのコンテンツ情報を表示し、通し番号４以降のコンテンツ情報を取得中であり、Ｔｒａｃｋ３を再生中であることを示す。なお、コンテンツの再生はコントローラ１００が実行してもよいし、コントローラ１００の指示によってＡＶレシーバ２００が実行してもよい。表示部１３の右下に、スクロールＵＰボタン及びスクロールＤＯＷＮボタンが設けられ、ユーザ操作によってスクロールアップまたはスクロールダウンの指示が入力される。なお、コントローラ１００の制御部１１は、通常コンテンツリスト取得において、図３に示される通し番号の昇順、または降順にコンテンツ情報をＡＶレシーバ２００から取得する。
【００３０】
図５は、コントローラ１００の表示部１３に表示されるスクロールリストを示す。図５は、図４の通常コンテンツリストにおいて、ユーザ操作によってスクロールダウン指示が入力され、通し番号が２０１番のトラックまでスクロールされた状態を示す。図５は、通し番号２０３までのコンテンツ情報を取得済みであり、通し番号２０４以降のコンテンツ情報を取得中であることを示す。コントローラ１００の制御部１１は、ユーザ操作によってスクロール指示が入力されたとき、スクロール先のコンテンツ情報を取得して表示部１３に表示する。
【００３１】
図６は、ユーザ操作によってフォルダ階層の移動が指示されたときにコントローラ１００の制御部１１が実行するフローチャートを示す。例えば、図４の通常コンテンツリストの場合、コントローラ１００の制御部１１は、図６の処理によって通し番号３以降のコンテンツ情報を取得する。
【００３２】
制御部１１は、ユーザ操作によって、階層移動指示を受信したか否かを判断する（Ｓ１０１）。具体的には、例えばコントローラ１００の表示部１３においてＡｌｌＴｒａｃｋｓフォルダを表示中に、ユーザ操作によってＡｌｌＴｒａｃｋｓフォルダが選択されたとき、制御部１１は、階層移動指示を受信したと判断する。
【００３３】
制御部１１は、階層移動指示を受信していないと判断した場合（Ｓ１０１でＮＯ）、階層移動指示が入力されるのを待つ。制御部１１は、階層移動指示を受信したと判断したとき（Ｓ１０１でＹＥＳ）、移動先階層のコンテンツリスト１２Ａをすべて取得済みであるか否かを判断する（Ｓ１０２）。例えば、ユーザ操作によってＡｌｌＴｒａｃｋｓフォルダが選択されたとき、ＡｌｌＴｒａｃｋｓフォルダの下階層に存在するトラックの取得済みフラグがすべてＴＲＵＥであるか否かを判断する。制御部１１は、移動先階層のコンテンツリスト１２Ａを取得済みであると判断した場合（Ｓ１０２でＹＥＳ）、取得済みのコンテンツリスト１２Ａを記憶部１２から取得し（Ｓ１０６）、表示部１３に表示する（Ｓ１０７）。
【００３４】
制御部１１は、コンテンツ情報を取得済みでないトラックがあると判断した場合（Ｓ１０２でＮＯ）、ＡＶレシーバ２００の制御部２１に移動先の階層に存在するトラック総数の取得要求を送信する（Ｓ１０３）。例えば、図２のコンテンツツリーにおいてＡｌｌＴｒａｃｋｓフォルダが選択された場合、制御部１１は、ＡｌｌＴｒａｃｋｓフォルダの下のトラックの総数をＡＶレシーバ２００に送信するよう要求する。
【００３５】
制御部１１は、ＡＶレシーバ２００から送信される総数分のメモリ領域を記憶部１２に確保し、コンテンツリスト１２Ａを生成する（Ｓ１０４）。
【００３６】
制御部１１は、コンテンツリスト１２Ａに設定する情報を取得するために、後述するコンテンツリスト取得処理を実行し（Ｓ１０５）、表示部１３にコンテンツリストを表示し（Ｓ１０７）、処理を終了する。
【００３７】
図７は、コントローラ１００においてユーザ操作によってスクロール指示が入力されたとき、制御部１１が実行するフローチャートを示す。例えば、図５のスクロールリストの場合、コントローラ１００の制御部１１は、通し番号２０４以降のコンテンツ情報を取得する。制御部１１は、ユーザ操作によってスクロール指示が入力されたとき、スクロールリストを取得中あることを示すフラグを立て、通常コンテンツリストを取得する要求がＡＶレシーバ２００へ送信されないようにする。
【００３８】
制御部１１は、ユーザ操作によってコンテンツリストのスクロール指示が入力されたか否かを判断する（Ｓ２０１）。制御部１１は、タッチパネル式の表示部１３を指で上下方向になぞられることによってコンテンツリストのスクロールを実行する。
【００３９】
制御部１１は、スクロール指示が入力されていないと判断した場合（Ｓ２０１でＮＯ）、スクロール指示が入力されるのを待ち、スクロール指示が入力されたと判断した場合（Ｓ２０１でＹＥＳ）、スクロール先のコンテンツリストを取得済みであるか否かを判断する。
【００４０】
制御部１１は、スクロール先のコンテンツリストを取得済みであると判断した場合（Ｓ２０２でＹＥＳ）、取得済みのスクロール先のコンテンツリストを表示し（Ｓ２０９）、処理を終了する。制御部１１は、スクロール先のコンテンツリストを取得済みでないと判断した場合（Ｓ２０２でＮＯ）、スクロールリスト取得フラグをＴＲＵＥに設定する（Ｓ２０３）。スクロールリスト取得フラグは、制御部１１が、スクロールリストを取得中であることを示すフラグである。制御部１１は、スクロールリスト取得フラグがＴＲＵＥのとき、通常コンテンツリスト取得処理を実行しない。
【００４１】
制御部１１は、タイマカウンタ変数を初期化する（Ｓ２０４）。タイマカウンタ変数の初期値は０である。制御部１１は、タイマのカウントを開始し（Ｓ２０５）、タイマカウンタ変数をインクリメントする（Ｓ２０５）。タイマは例えば１秒おきに１ずつタイマカウンタ変数をインクリメントする。
【００４２】
制御部１１は、ＡＶレシーバ２００にスクロール先のコンテンツ情報を送信するよう要求し（Ｓ２０６）、ＡＶレシーバ２００から送信されるコンテンツ情報を受信する（Ｓ２０７）。なお、制御部１１は、スクロール先のコンテンツ情報を取得するとき、通常コンテンツリストを取得するときと同数のコンテンツのコンテンツ情報を送信するよう要求する。図８は、Ｓ２０７において、制御部１１がＡＶレシーバ２００から送信されるコンテンツ情報を受信するフローチャートを示す。以下、コンテンツリストを受信するフローチャートを説明する。
【００４３】
制御部１１は、図７のＳ２０６の処理によってＡＶレシーバ２００に送信するよう要求したコンテンツ情報を受信する（Ｓ３０１）。制御部１１は、現在のタイマカウンタ変数を取得し（Ｓ３０２）、平均応答時間を計算する（Ｓ３０３）。図９は記憶部１２が有する平均応答時間情報１２Ｂを示す。平均応答時間情報１２Ｂは、平均応答時間、トータル要求回数、及びトータル時間を管理する。平均応答時間は、トータル時間をトータル要求回数で割った値であり、コントローラ１００がＡＶレシーバ２００にコンテンツリストの取得要求を送信してから、コンテンツリストを取得完了するまでに要した時間の平均値を示す。トータル要求回数は、コントローラ１００がＡＶレシーバ２００にコンテンツリストの取得要求を送信した総回数であり、トータル時間は、コントローラ１００がＡＶレシーバ２００にコンテンツリストの取得要求を送信してから、コンテンツリストを取得完了するまでに要した時間の合計である。例えば、Ｓ３０２の処理によって取得されるタイマカウンタ変数が２．８秒であった場合、Ｓ３０３の処理によって平均応答時間は、（トータル時間＋２．８）／（１２００＋１）と計算され、更新される。なお、制御部１１は平均応答時間を、後述する処理で使用する。
【００４４】
制御部１１は、平均応答時間情報１２Ｂの平均応答時間、トータル要求回数、及びトータル時間を更新し（Ｓ３０４）、取得したコンテンツの取得済みフラグをＴＲＵＥに変更し（Ｓ３０５）、処理を終了する。図７の処理に戻り、制御部１１は、スクロールリスト取得中フラグをＦＡＬＳＥに設定し（Ｓ２０８）、コンテンツリストを表示部１３に表示し（Ｓ２０９）、処理を終了する。
【００４５】
以上の処理の結果、コントローラにおいてユーザ操作によってスクロール指示が入力されたとき、制御部１１はスクロール先のコンテンツリストを取得するので、スクロール先のコンテンツリストを表示できる。また、コントローラ１００がＡＶレシーバ２００にコンテンツリストの取得要求を送信してから、コンテンツリストを取得完了するまでに要した時間が更新される。
【００４６】
図１０はコントローラ１００の制御部１１が通常コンテンツリストを取得するフローチャートを示す。本フローチャートは、図６のＳ１０５の処理を示す。本実施形態によると、制御部１１は、スクロールリスト取得中フラグがＴＲＵＥのときに通常コンテンツリストを要求せず、平均応答時間が経過後、通常コンテンツリストを取得する要求をＡＶレシーバ２００へ送信する。
【００４７】
コントローラ１００の制御部１１は、コンテンツリスト１２Ｂにおいて取得済みフラグがＦＡＬＳＥのコンテンツが存在するか否かを判断する（Ｓ４０１）。制御部１１は、取得済みフラグがＦＡＬＳＥのコンテンツが存在しないと判断した場合（Ｓ４０１でＮＯ）、処理を終了する。
【００４８】
制御部１１は、取得済みフラグがＦＡＬＳＥのコンテンツが存在すると判断した場合（Ｓ４０１でＹＥＳ）、コンテンツリスト１２Ｂの取得済みフラグがＦＡＬＳＥのコンテンツのうち、通し番号が最小のコンテンツを特定する（Ｓ４０２）。制御部１１は、特定された通し番号を、変数ｔｇｔＮｏに記憶する。例えば、図３のコンテンツリスト１２Ｂの場合、ｔｇｔＮｏは２０１である。
【００４９】
制御部１１は、記憶部１２の待ちメモリ１２Ｃに、ｔｇｔＮｏを記憶する（Ｓ４０３）。制御部１１は、待ちメモリ１２ＣにｔｇｔＮｏが登録されているとき、ｔｇｔＮｏで指定されるコンテンツ以降の通常コンテンツリストを取得する必要があると判断する。
【００５０】
制御部１１は、スクロールリスト取得中フラグがＴＲＵＥであるか否かを判断する（Ｓ４０４）。すなわち、制御部１１は、スクロールリストを取得中であるか否かを判断する。スクロールリスト取得中フラグがＴＲＵＥであると判断された場合（Ｓ４０４でＹＥＳ）、制御部１１は、タイマカウンタ変数を０に初期化し（Ｓ４０５）、タイマのカウントを開始する（Ｓ４０６）。タイマは、タイマカウンタ変数を定期的にインクリメントする。
【００５１】
制御部１１は、タイマカウンタ変数が平均応答時間情報１２Ｂに記載されている平均応答時間よりも大きいか否かを判断する（Ｓ４０７）。制御部１１は、タイマカウンタ変数が平均応答時間以下であると判断した場合（Ｓ４０７でＮＯ）、タイマカウンタ変数が、平均応答時間より大きくなるまで待機する。制御部１１は、タイマカウンタ変数が平均応答時間よりも大きいと判断した場合（Ｓ４０７でＹＥＳ）、後述するＳ４０８以降の通常コンテンツリストを取得する処理を実行する。
【００５２】
制御部１１は、スクロールリスト取得中フラグがＦＡＬＳＥであると判断した場合（Ｓ４０４でＮＯ）、待ちメモリ１２ＣにｔｇｔＮｏが登録されているか否かを判断する（Ｓ４０８）。なお、図７のＳ２０８で示されるように、スクロールリスト取得中フラグは、スクロールリスト取得が終了したときにＦＡＬＳＥに変更されるので、制御部１１は、スクロールリスト取得処理が完了した後、通常のコンテンツリスト取得を再開する。
【００５３】
制御部１１は、待ちメモリ１２ＣにｔｇｔＮｏが登録されていると判断した場合（Ｓ４０８でＹＥＳ）、タイマカウンタ変数を０に初期化し（Ｓ４０９）、タイマのカウントを開始する（Ｓ４１０）。制御部１１は、ｔｇｔＮｏで指定されるコンテンツ以降のコンテンツ情報を送信するようＡＶレシーバ２００に要求する（Ｓ４１１）。制御部１１は、ｔｇｔＮｏが登録されていないと判断した場合（Ｓ４０８でＮＯ）、処理を終了する。なお、制御部１１は、ＡＶレシーバ２００にスクロールリストまたは通常コンテンツリストのコンテンツ情報を送信するよう要求するとき、ＡＶレシーバ２００が送信するコンテンツ情報の数を指定する。指定するコンテンツ数は、例えば３０などであり、その場合、ＡＶレシーバ２００はｔｇｔＮｏから（ｔｇｔＮｏ＋３０）までのコンテンツのコンテンツ情報を送信する。
【００５４】
以上の本実施形態によると、制御部１１は、スクロールリストを取得中であった場合、通常コンテンツリストを取得せずに平均応答時間だけ待機する。すなわち、コントローラは平均応答時間が経過するまで、サーバに通常コンテンツリスト取得要求を送信しない。この結果、サーバはスクロールリストをコントローラ１００に送信する処理だけを実行すればよいので、サーバにかかる負荷が小さくなり、コントローラにスクロールリストが送信されるまでの時間が短くなる。
【００５５】
[実施形態２]
図１１は実施形態２におけるフローチャートを示す。本実施形態によると、制御部１１は、スクロールリスト取得中フラグがＴＲＵＥに設定されている間、通常コンテンツリストを取得する要求をＡＶレシーバ２００へ送信しない。図１０と同一の処理には同一符号を付し、説明を省略する。
【００５６】
コントローラ１００の制御部１１は、取得済みフラグがＦＡＬＳＥのコンテンツのうち、最小の通し番号をｔｇｔＮｏに記憶し（Ｓ４０２）、変数ｏｆｆｓｅｔＴｉｍｅを０に初期化する（Ｓ５０１）。変数ｏｆｆｓｅｔＴｉｍｅは、制御部１１がスクロールリストを取得中であるか否かをチェックする間隔を示す変数である。
【００５７】
制御部１１は、スクロールリスト取得フラグがＴＲＵＥであると判断した場合（Ｓ４０４でＹＥＳ）、ｏｆｆｓｅｔＴｉｍｅが０より大きいか否かを判断する（Ｓ５０２）。初回は、ｏｆｆｓｅｔＴｉｍｅが０であるので、ｏｆｆｓｅｔＴｉｍｅは０以下であると判断され（Ｓ５０２でＮＯ）、タイマカウンタ変数を初期化し（Ｓ４０５）、タイマのカウントを開始する（Ｓ４０６）。制御部１１は、タイマカウンタ変数が平均応答時間よりも大きいと判断したとき（Ｓ４０７でＹＥＳ）、ｏｆｆｓｅｔＴｉｍｅに５ｍｓを加算する（Ｓ５０４）。なお、加算する値は必ずしも５ｍｓである必要はない。
【００５８】
制御部１１は、再度スクロールリスト取得フラグがＴＲＵＥであるか否かを判断し（Ｓ４０４）、ＴＲＵＥであると判断した場合（Ｓ４０４でＹＥＳ）、ｏｆｆｓｅｔＴｉｍｅが０より大きいか否かを判断する（Ｓ５０２）。Ｓ５０４の処理によって、ｏｆｆｓｅｔＴｉｍｅが５ｍｓｅｃ加算されているので、制御部１１は、ｏｆｆｓｅｔＴｉｍｅが０より大きいと判断する（Ｓ５０２でＹＥＳ）。制御部１１は、ｏｆｆｓｅｔＴｉｍｅだけ処理をウエイトし、Ｓ５０４以降の処理を実行する。なお、ｏｆｆｓｅｔＴｉｍｅはＳ５０４の処理によってＳ４０４〜Ｓ５０３の処理を繰り返すたびに増加されるので、制御部１１は、Ｓ４０４のチェック処理を実行する間隔を長くすることができる。なお、制御部１１は、ｏｆｆｓｅｔＴｉｍｅの加算処理を初回のみ実行し、一定時間(例えば５ｍｓｅｃ)ごとにＳ４０４の判断処理を実行してもよい。制御部１１は、スクロールリスト取得フラグがＦＡＬＳＥに設定されたと判断したとき（Ｓ４０４でＮＯ）、Ｓ４０８以降の処理によって通常コンテンツリストを取得する処理を実行する。
【００５９】
以上の本実施形態によると、制御部１１はスクロールリスト取得が完了するまで、通常コンテンツリストを取得しない。スクロールリスト取得中に通常コンテンツリスト取得処理をＡＶレシーバ２００に送信しないので、スクロールリスト取得処理が優先される。
【００６０】
[実施形態３]
図１２は実施形態３におけるフローチャートを示す。本実施形態によると、制御部１１は、ＡＶレシーバ２００から平均応答時間内に通常コンテンツ情報を取得できない場合、スクロールリスト取得フラグがＴＲＵＥに変更されているか否かをチェックし、スクロールリスト取得フラグがＴＲＵＥされている場合、通常コンテンツリスト取得を中断し、スクロールリストを取得要求する。図１０と同一の処理には同一符号を付し、説明を省略する。
【００６１】
制御部１１は、ｔｇｔＮｏで指定されるコンテンツ以降のコンテンツ情報の取得要求をＡＶレシーバ２００に送信する（Ｓ４１１）。制御部１１は、コンテンツ情報の受信が完了したか否かを判断し（Ｓ７０１）、コンテンツ情報を受信完了したと判断した場合（Ｓ６０１でＹＥＳ）、ｔｇｔＮｏを更新する（Ｓ７０３）。
【００６２】
制御部１１は、コンテンツ情報を取得完了していないと判断した場合（Ｓ６０１でＮＯ）、Ｓ４１０の処理によってタイマのカウントを開始してから、平均応答時間が経過したか否かを判断する（Ｓ６０２）。制御部１１は、平均応答時間が経過していないと判断した場合（Ｓ６０２でＮＯ）、再度Ｓ６０１の処理によってコンテンツ情報を取得完了したか否かを判断する。制御部１１は、平均応答時間が経過したと判断した場合（Ｓ６０２でＹＥＳ）、スクロールリスト取得フラグがＴＲＵＥに変更されているか否かを判断する（Ｓ６０４）。制御部１１は、スクロールリスト取得フラグがＴＲＵＥに変更されていると判断した場合（Ｓ６０４でＹＥＳ）、待ちメモリ１２ＣにｔｇｔＮｏを登録し（Ｓ６０５）、Ｓ４０５以降の処理によってスクロールリストを取得要求する。制御部１１は、スクロールリスト取得フラグがＴＲＵＥに変更されていないと判断した場合（Ｓ６０４でＮＯ）、通常コンテンツリストの取得を継続する（Ｓ４１１）。
【００６３】
以上の本実施形態によると、制御部１１は、通常コンテンツリストを平均応答時間内に取得完了できない場合、通常コンテンツリスト取得を中断し、スクロールリストを取得する。この結果、制御部１１は通常コンテンツリスト取得中であっても、スクロールリスト取得要求をＡＶレシーバ２００に送信するので、スクロールリスト取得が遅延するのを防止できる。
【００６４】
[実施形態４]
図１３及び図１５は実施形態４におけるフローチャートを示す。図１３は、実施形態４におけるスクロールリスト取得のフローチャートを示す。図７と同一の処理には同一符号を付し、説明を省略する。制御部１１は、ユーザ操作によってスクロール指示が入力される間隔である平均スクロール操作間隔を取得する。制御部１１は、平均スクロール操作間隔が平均応答時間以下である場合、ＡＶレシーバ２００に要求するコンテンツ数を小さく設定し、平均スクロール操作間隔より短い時間内で通常コンテンツリスト取得処理を完了し、スクロールリスト取得処理に移行する。
【００６５】
制御部１１は、ユーザ操作によってスクロール操作が入力されたと判断した場合（Ｓ２０１でＹＥＳ）、スクロールカウントタイマが開始済みであるか否かを判断する（Ｓ７０１）。スクロールカウントタイマは、スクロールカウンタ変数を一定間隔でインクリメントするタイマである。スクロールカウンタ変数は、ユーザ操作によってスクロール指示が入力される間隔を示す変数である。なお、スクロールカウントタイマはコントローラ１００の電源がオンにされて、最初にスクロール指示が入力されたときに開始される。
【００６６】
制御部１１は、スクロールカウントタイマが開始済みでないと判断した場合（Ｓ７０１でＮＯ）、スクロールカウントタイマを開始し（Ｓ７０３）、スクロールカウンタ変数を１秒おきなどにインクリメントする。制御部１１は、スクロールカウントタイマを開始済みであると判断した場合（Ｓ７０１でＹＥＳ）、現在のスクロールカウンタ変数の値によって、スクロール操作間隔テーブル１２Ｄを更新する。
【００６７】
図１４は、スクロール操作間隔値テーブル１２Ｄを示す。スクロール操作間隔値テーブル１２Ｄは、平均スクロール操作間隔と、トータル操作回数と、トータル時間とを管理する。平均スクロール操作間隔は、ユーザ操作によってスクロール指示が入力される間隔の平均を示す。トータル操作回数は、ユーザ操作によってスクロール指示が入力された総回数を示す。トータル時間は、コントローラ１００の電源がオンに設定され、最初にスクロール指示が入力されてからの経過時間を示す。なお、スクロールカウンタ値は、電源がオフになるたびに０に初期化される。
【００６８】
制御部１１は、スクロール操作が入力されたとき、トータル時間／（トータル操作回数＋１）によって平均スクロール操作回数を更新する（Ｓ７０２）。
【００６９】
以上の図１３のフローチャートの処理によって、制御部１１はユーザ操作によってスクロール指示が入力される間隔の平均値を取得できる。なお、制御部１１は、トータル操作回数及び、トータル時間を数分おきや数十秒おきに０にリセットし、直近の平均スクロール操作間隔を保持するようにしてもよい。
【００７０】
図１５は本実施形態における通常コンテンツリスト取得処理を示す。図１０と同一の処理には同一符号を付し、説明を省略する。
【００７１】
制御部１１は、待ちメモリ１２ＣにｔｇｔＮｏが登録されていると判断したとき（Ｓ４０８でＹＥＳ）、タイマカウンタ変数を初期化し（Ｓ４０９）、タイマのカウントを開始する（Ｓ４１０）。
【００７２】
制御部１１は、平均スクロール操作間隔が平均応答時間よりも大きいか否かを判断する（Ｓ８０１）。平均スクロール操作間隔が平均応答時間よりも大きいと判断された場合（Ｓ８０１でＹＥＳ）、通常コンテンツリスト取得中にスクロール操作が入力されないと判断されるので、制御部１１はｔｇｔＮｏからｔｇｔＮｏ＋３０のコンテンツ情報を取得要求する（Ｓ８０２）。
【００７３】
制御部１１は、平均スクロール操作間隔が平均応答時間以下である判断した場合（Ｓ８０１でＮＯ）、通常コンテンツリスト取得中にスクロール操作が入力されると判断されるので、短い時間でＡＶレシーバ２００から通常コンテンツリスト取得処理を終了する必要がある。従って、制御部１１は、ｔｇｔＮｏから（ｔｇｔＮｏ＋５）までのコンテンツ情報取得要求をＡＶレシーバ２００に送信する（Ｓ８０３）。なお、必ずしもｔｇｔＮｏ＋５までである必要はなく、ＡＶレシーバ２００から短い任意の時間内にコンテンツ情報を取得できる値であればよい。また、制御部１１は、平均スクロール操作間隔よりも短い時間で通常コンテンツリストを取得完了可能なコンテンツ数をあらかじめ取得しておき、ＡＶレシーバ２００に取得要求してもよい。
【００７４】
制御部１１は、図８に示されるデータ受信処理を実行し（Ｓ８０４）、ｔｇｔＮｏをｔｇｔＮｏ＋５で示される値に更新する（Ｓ８０５）。制御部１１は、スクロールリスト取得フラグがＴＲＵＥに変更されているか否かを判断し（Ｓ８０６）、ＴＲＵＥに変更されていた場合（Ｓ８０６でＹＥＳ）、待ちメモリ１２Ｃに更新後のｔｇｔＮｏを登録し（Ｓ８０７）、Ｓ４０５以降の処理によってスクロールリストを取得する。制御部１１は、スクロールリスト取得フラグがＴＲＵＥに変更されていないと判断した場合（Ｓ８０６でＮＯ）、通常コンテンツリストの取得を継続する（Ｓ８０１）。
【００７５】
以上の本実施形態によると、制御部１１は、平均スクロール操作間隔が平均応答時間以下である場合、ＡＶレシーバ２００に要求するコンテンツ数を少なく設定し、平均スクロール操作間隔より短い時間内で通常コンテンツリスト取得処理を完了し、スクロールリスト取得処理に移行する。この結果、スクロールリスト取得が遅延することを防止できる。  
【００７６】
[実施形態５]
図１６のフローチャートは、実施形態５の通常コンテンツリストを取得する処理を示す。図１０または図１５と同一の処理には同一符号を付し、説明を省略する。
【００７７】
制御部１１は、タイマカウンタ変数値が平均応答時間よりも大きいと判断した場合（Ｓ４０７でＹＥＳ）、図１４の平均スクロール操作間隔が平均応答時間より大きいか否かを判断する（Ｓ８０１）。制御部１１は、平均スクロール操作間隔が平均応答時間より大きいと判断した場合（Ｓ８０１でＹＥＳ）、スクロールリスト取得フラグがＴＲＵＥに変更されているか否かを判断し（Ｓ４０４）、Ｓ４０５またはＳ４０８以降の処理を実行する。平均スクロール操作間隔が平均応答時間より大きいと判断される場合、制御部１１は、ユーザ操作によってスクロール指示が入力されるまでに、Ｓ４０８以降の処理によってＡＶレシーバ２００から通常コンテンツリストを取得できるので、通常コンテンツリストを取得する。
【００７８】
制御部１１は、平均スクロール操作間隔が平均応答時間以下であると判断した場合（Ｓ８０１でＮＯ）、（平均スクロール操作間隔＋α）秒だけ待機し（Ｓ９０１）、スクロールリスト取得フラグがＴＲＵＥに設定されているか否かを判断する（Ｓ４０４）。αは任意の時間であり、例えば３秒などである。なお、αは０でもよい。すなわち、平均スクロール操作間隔が平均応答時間以下である場合、通常コンテンツリスト取得中にスクロール操作が入力される可能性が高いので、通常コンテンツリストを取得する処理を実行せずに、スクロール操作が入力されるのを待つ。
【００７９】
以上の本実施形態によると、制御部１１は、待ちメモリにｔｇｔＮｏが登録されている場合であっても、通常コンテンツリスト取得中にスクロール操作が指示されると予測される場合、通常コンテンツリスト取得処理を実行せず、スクロール指示が入力されるのを待つので、スクロールリストを表示するまでの時間を短くできる。
【００８０】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。コントローラ１００はコンテンツリストをサーバ３００に送信するよう要求してもよい。
【産業上の利用可能性】
【００８１】
本発明は、コントローラ等の機器に好適に採用され得る。
【符号の説明】
【００８２】
１００          コントローラ
２００          ＡＶレシーバ
３００          サーバ
１１            制御部
１２            記憶部
１３            表示部
１４            通信部
１５            操作部
２１            制御部
２２            記憶部
２３            表示部
２４            通信部
２５            ＤＳＰ
２６            ＤＡＣ
２７            増幅部
２８            スピーカ
３１            制御部
３２            記憶部
３３            ＨＤＤ
３４            通信部
【図１】
0005440625.tif 000002
【図２】
0005440625.tif 000003
【図３】
0005440625.tif 000004
【図４】
0005440625.tif 000005
【図５】
0005440625.tif 000006
【図６】
0005440625.tif 000007
【図７】
0005440625.tif 000008
【図８】
0005440625.tif 000009
【図９】
0005440625.tif 000010
【図１０】
0005440625.tif 000011
【図１１】
0005440625.tif 000012
【図１２】
0005440625.tif 000013
【図１３】
0005440625.tif 000014
【図１４】
0005440625.tif 000015
【図１５】
0005440625.tif 000016
【図１６】
0005440625.tif 000017