(58)【調査した分野】(Int.Cl.,DB名)
第1及び第2サーバから供給される第1及び第2コンテンツをデコードし、デコードされた第1及び第2コンテンツを外部装置に供給するデコーダを備えるコンテンツ中継装置に搭載されるコンピュータに実行させるための制御プログラムであって、
前記デコーダが前記第1コンテンツをデコードしている間に前記第2コンテンツのデコードの開始を指示された場合、前記第1及び第2コンテンツを並行してデコードする場合における前記デコーダの総負荷を、前記デコーダによりデコード可能な複数のフォーマットと前記デコーダが各フォーマットのコンテンツをデコードする場合に想定される前記デコーダの負荷であって前記複数のフォーマットに対応する複数の想定負荷とを有する負荷テーブルに基づいて予測するステップと、
前記予測された総負荷が所定のしきい値を超えるか否かを判断するステップと、
前記予測された総負荷が前記しきい値を超えると判断された場合、前記第1及び第2サーバの優先度が予め設定された優先度テーブルに基づいて、前記第1及び第2コンテンツのうち優先度の低いサーバから供給されるコンテンツを選択するステップと、
前記予測された総負荷が前記しきい値よりも小さくなるように、前記選択されたコンテンツのフォーマットを前記負荷テーブルに基づいて決定するステップとを備える、制御プログラム。
【発明を実施するための形態】
【0023】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【0024】
[1.構成]
[1.1.ネットワークAVシステムの構成]
図1は、本実施の形態に係るネットワークAVシステムの構成を示す機能ブロック図である。
図1を参照して、ネットワークAVシステムは、AVレシーバ1と、DLNAサーバ2と、ルータ3と、ラジオサーバ4,5と、スピーカ8a〜8dとを備える。
【0025】
AVレシーバ1と、DLNAサーバ2と、ルータ3とは、住宅内に配置され、LAN(Local Area Network)7を構成する。AVレシーバ1及びDLNAサーバ2は、ルータ3に接続される。なお、LAN7を構成するDLNAサーバ2の数は、2つ以上であってもよい。
【0026】
AVレシーバ1は、DLNAサーバ2やラジオサーバ4,5から配信される音声コンテンツをデコードし、デコードされた音声コンテンツをスピーカ8a〜8dに供給する。スピーカ8a〜8dは、住居の各部屋Zone1〜Zone4に配置される。DLNAサーバ2は、例えば、パーソナルコンピュータであり、AVレシーバ1の要求に応じて音声コンテンツ2a(DLNAコンテンツ)を配信する。
【0027】
ルータ3は、インターネット6を介してラジオサーバ4,5に接続される。ラジオサーバ4,5は、ラジオ局A、Bにより運営され、インターネットラジオを提供する。具体的には、ラジオサーバ4,5は、音声コンテンツ4a,5aを配信する。
【0028】
なお、
図1において、ラジオサーバの数は2つであるが、ラジオサーバの数は、1つでもよいし、3つ以上であってもよい。また、インターネット6に接続されるサーバは、音声コンテンツを提供するラジオサーバでなくてもよく、音声や映像等のコンテンツを配信するサーバであればよい。以下、特に説明のない限り、音声コンテンツ2a,4a,5aを「コンテンツ2a,4a,5a」と呼ぶ。
【0029】
[1.2.AVレシーバ1の構成]
図2は、AVレシーバ1の構成を示す機能ブロック図である。
図3は、
図2に示すフラッシュメモリ16に格納されるデータを示す図である。
【0030】
図2を参照して、AVレシーバ1は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、操作部13と、チューナ14と、ネットワークインタフェース15と、フラッシュメモリ16と、出力端子17a〜17dと、セレクタ18と、D/A(Digital/Analog)コンバータ19とを備える。
【0031】
CPU11は、フラッシュメモリ16に格納された各種プログラムをRAM12にロードし、ロードされたプログラムを実行してAVレシーバ1を制御する。CPU11は、デコードプログラム22(
図3参照)を実行して、ラジオサーバ4,5及びDLNAサーバ2等から供給されたコンテンツをデコードし、デコードされたコンテンツを外部に供給する。RAM12は、AVレシーバ1のメインメモリである。
【0032】
操作部13は、音量調整用のダイヤルや各種ボタンにより構成され、ユーザの操作を受け付ける。チューナ14は、図示しないアンテナにより受信された放送を復調する。
【0033】
ネットワークインタフェース15は、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルに基いて、LAN7又はインターネット6に接続されたコンピュータと通信する。
【0034】
出力端子17a〜17dは、スピーカ8a〜8dにそれぞれ接続される。なお、出力端子17a〜17dは、スピーカ以外の外部機器に接続されてもよい。例えば、出力端子17a〜17dは、映像コンテンツを表示するためのディスプレイなどに接続されてもよい。
【0035】
D/Aコンバータ19は、デコードされたコンテンツをアナログ信号に変換する。セレクタ18は、デコードされたコンテンツの出力先を制御する。例えば、コンテンツ4aの出力先が出力端子17a,17cに設定されていた場合、D/Aコンバータ19を出力端子17a,17cに接続する。
【0036】
図3を参照して、フラッシュメモリ16は、不揮発性の半導体記憶装置であり、制御プログラム21と、デコードプログラム22と、負荷テーブル31と、フォーマットテーブル32と、優先度テーブル33とを記憶する。
【0037】
制御プログラム21は、AVレシーバ1の各機能ブロックを制御するためのプログラムである。デコードプログラム22は、DLNAサーバ2などから供給されるコンテンツをデコードするためのプログラムである。制御プログラム21及びデコードプログラム22は、AVレシーバ1にインストールされる。
【0038】
負荷テーブル31は、デコードプログラム22によりデコード可能な複数のフォーマットと、複数の想定負荷とを有する。複数の想定負荷は、各フォーマットのコンテンツをデコードする場合に想定されるCPU11の負荷であって複数のフォーマットに対応する。
【0039】
フォーマットテーブル32は、DLNAサーバ2及びラジオサーバ4,5の各々が供給可能なコンテンツの複数のフォーマットが設定されたテーブルである。優先度テーブル33は、DLNAサーバ2及びラジオサーバ4,5の優先度が予め設定されたテーブルである。負荷テーブル31、フォーマットテーブル32及び優先度テーブル33の詳細は後述する。
【0040】
[2.AVレシーバの動作]
以下、AVレシーバ1がDLNAサーバ2又はラジオサーバ4,5などから供給されるコンテンツをデコードしている間に新たなコンテンツのデコードを指示された場合における、AVレシーバ1の動作を説明する。
【0041】
[2.1.制御プログラム21の動作]
図4は、制御プログラム21を実行するAVレシーバ1の動作を示すフローチャートである。CPU11は、制御プログラム21をRAM12にロードし、ロードされた制御プログラム21を実行している。
【0042】
さらに、CPU11が、デコードプログラム22を実行して、DLNAサーバ2からのコンテンツ2aとラジオサーバ4からのコンテンツ4aとを並行してデコードしていると仮定する。デコードされたコンテンツ2aは、出力端子17aからスピーカ8aに供給され、デコードされたコンテンツ4aは、出力端子17bからスピーカ8bに供給されていると仮定する。
【0043】
ユーザが、操作部13を操作して、ラジオサーバ5により提供されるインターネットラジオ(コンテンツ5a)を受信し、コンテンツ5aを出力端子17cに出力するようにAVレシーバ1に指示する。CPU11は、コンテンツ5aのデコード開始を指示されたと判断し(ステップS1においてYes)、コンテンツ5aを現在デコード中であるか否かを判断する(ステップS2)。
【0044】
上述のように、コンテンツ2a,4aがデコードされているが、コンテンツ5aはデコードされていないため(ステップS2においてNo)、CPU11は、コンテンツ5aを新たにデコードする必要があると判断する。CPU11は、コンテンツ2a,4aのデコードに加えて、コンテンツ5aのデコードを開始した場合におけるCPU11の総負荷を予測する(ステップS3)。以下、ステップS3において予測される総負荷を「予測負荷」と呼ぶ。ステップS3については、後述する。
【0045】
一方、コンテンツ5aがデコード中である場合(ステップS2においてYes)、CPU11は、コンテンツ5aを新たにデコードする必要はないと判断し、
図4に示す処理を終了する。例えば、CPU11は、コンテンツ5aをデコードして出力端子17dに出力していた場合、D/Aコンバータ19を出力端子17cに接続するようにセレクタ18に指示する。アナログ信号に変換されたコンテンツ5aが、出力端子17c,17dからスピーカ8c,8dへ供給される。
【0046】
図4〜
図6を参照して、予測負荷の計算(ステップS3)について説明する。
図5は、負荷テーブル31を示す図である。
図6は、フォーマットテーブル32を示す図である。
【0047】
CPU11は、コンテンツ2a,4aをデコード中であるため、現在のCPU11の負荷を、コンテンツ2a,4aのデコード中の負荷として取得する。CPU11は、フォーマットテーブル32を参照して、ラジオサーバ5が供給可能なコンテンツ5aの複数のフォーマットを取得する。
図6に示すように、ラジオサーバ5が供給可能なコンテンツ5aのフォーマットは、ビットレートが128kbpsのWMA(Windows Media Audio)、ビットレートが64kpbsのAAC(Advanced Audio Coding)及びFM放送である。
【0048】
ここで、フォーマットテーブル32に記録される「FM放送」は、コンテンツ5aが放送波を介して提供されることを示す。AVレシーバ1が、コンテンツ5aを放送波を介して受信する場合、コンテンツ5aは、チューナ14により復調される。この場合、CPU11は、復調されたコンテンツ5aに対して処理を施すことがないため、CPU11の負荷は0%となる(
図5参照)。
【0049】
CPU11は、負荷テーブル31を参照して、取得した3つのフォーマットのうち、想定負荷の最も大きいフォーマットを特定する。
図5を参照して、負荷テーブル31では、デコードプログラム22によりデコード可能なコンテンツの複数のフォーマットが、複数の想定負荷に対応付けられる。想定負荷は、CPU11が各フォーマットのコンテンツをデコードする場合において予測される負荷であり、基本的には、音声コンテンツの品質に対応する。すなわち、負荷が大きいほど、音声コンテンツの品質は高い。
【0050】
コンテンツ5aの各フォーマットであるWMA(128kbps)、AAC(64kbps)及びFM放送の想定負荷は、それぞれ25%、15%及び0%である。これら3つのフォーマットのうち、WMA(128kbps)の品質が最も高く、FM放送の品質が最も低い。CPU11は、最高品質のフォーマットのコンテンツ5aがデコードされる場合を考慮して、WMA(128kbps)の想定負荷(25%)を取得する。
【0051】
CPU11は、ステップS3において、CPU11の現在の負荷と取得した最も大きい想定負荷とを合計することにより、予測負荷を計算する。
【0052】
CPU11は、ステップS3の後に、ステップS3で計算された予測負荷が予め設定されたしきい値よりも大きいか否かを判断する(ステップS4)。しきい値は、CPU11の負荷として許容される最大値であり、100%よりも小さい。
【0053】
予測負荷がしきい値以下である場合(ステップS4においてNo)、CPU11は、コンテンツ2a,4aのデコードに加えて、コンテンツ5aを最大負荷のフォーマットでデコードしても、デコードが一時中断するほどCPU11の負荷が大きくなることはないと判断する。つまり、CPU11は、コンテンツ5aを新たにデコードしても、コンテンツの途切れが発生しないと判断し、コンテンツ5aを最大負荷のフォーマット(WMA(128kbps))でデコードすることを決定する。CPU11は、WMA(128kbps)のコンテンツ5aの配信をラジオサーバ5に要求し(ステップS9)、
図4に示す処理を終了する。コンテンツ2a,4aのフォーマットは変更されない。
【0054】
一方、予測負荷がしきい値よりも大きい場合(ステップS4においてYes)、CPU11は、コンテンツ2a,4aのフォーマットを変更するか、あるいは、最高品質よりも低い品質のフォーマットをコンテンツ5aのフォーマットとしてラジオサーバ5に要求する必要があると判断する。CPU11は、後述するステップS6により決定されるコンテンツ2a,4a,5aのフォーマットを記録するために、管理テーブル40を作成する(ステップS5)。
【0055】
図7は、管理テーブル40を示す図である。
図7を参照して、管理テーブル40は、コンテンツ2a,4a,5aの各々に対応する3つのカラム41,42,43を有する。各カラムには、コンテンツ名と、サーバと、変更基準フォーマットと、候補フォーマットと、最終フォーマットとが記録される。
【0056】
コンテンツ名には、コンテンツ2a,4a,5aを特定する情報(例えば、URL(Uniform Resource Locator)など)が記録される。サーバには、各音声コンテンツを供給するサーバを特定する情報(サーバ名、IPアドレスなど)が記録される。変更基準フォーマット及び候補フォーマットは、フォーマット決定処理(ステップS6)で用いられる。最終フォーマットには、フォーマット決定処理(ステップS6)で決定された各コンテンツのフォーマットが記録される。変更基準フォーマット、候補フォーマット及び最終フォーマットは、管理テーブル40が作成された時点(ステップS5)で空欄である。
【0057】
CPU11は、フォーマット決定処理(ステップS6)を実行して、コンテンツ2a,4a,5aの各フォーマットの組み合わせのうち、予測負荷がしきい値を下回るような組み合わせを決定する。フォーマット決定処理(ステップS6)の詳細は、後述する。
【0058】
CPU11は、フォーマット決定処理(ステップS6)の後に、管理テーブル40に記録された最終フォーマットに基づいて、予測負荷がしきい値を下回るような組み合わせが存在するか否かを判断する(ステップS7)。
【0059】
図7を参照して、管理テーブル40において、カラム41〜43の最終フォーマットが空欄の場合、CPU11は、予測負荷がしきい値を下回るような組み合わせが存在しないと判断する(ステップS7においてNo)。これは、コンテンツ5aのデコードを開始することにより、コンテンツ2a,4a,5aの途切れが発生する可能性が高いことを示す。CPU11は、コンテンツ5aを再生できないことをユーザに通知し(ステップS10)、
図7に示す処理を終了する。ステップS10の通知は、音声により行われてもよいし、AVレシーバ1が備える図示しない表示パネルにメッセージを表示してもよい。
【0060】
一方、カラム41〜43の最終フォーマットに何らかのフォーマットが記録されている場合、CPU11は、予測負荷がしきい値を下回るような組み合わせが存在すると判断する(ステップS7においてYes)。CPU11は、管理テーブル40に記録された最終フォーマットに基づいて、コンテンツ2a,4a,5aのフォーマットのコンテンツを要求する(ステップS8)。なお、コンテンツ2a,4aの最終フォーマットが現在デコード中のフォーマットと同じである場合、CPU11は、最終フォーマットのコンテンツ2a,4aの配信をDLNAサーバ2及びラジオサーバ4に要求しなくてもよい。
【0061】
[2.2.フォーマット決定処理(ステップS6)]
フォーマット決定処理(ステップS6)において、CPU11は、コンテンツ2a,4a,5aをそれぞれ配信するサーバのうち優先度の低いサーバを選択し、選択されたサーバから供給されるコンテンツの品質が低くなるように、このコンテンツのフォーマットを決定する。これにより、予測負荷がしきい値を下回るような組み合わせが決定される。
【0062】
[2.2.1.コンテンツ2aのフォーマット決定]
図8は、フォーマット決定処理(ステップS6)のフローチャートである。
図9は、優先度テーブル33を示す図である。
【0063】
図8を参照して、CPU11は、優先度テーブル33に基づいて、管理テーブル40に記録されたサーバのうち優先度の最も低いサーバから供給されるコンテンツを選択する(ステップS601)。
図9に示すように、優先度テーブル33において、ラジオサーバ4、ラジオサーバ5、ラジオ局C(図示省略)及びDLNAサーバ2の優先度が設定されている。ラジオサーバ4の優先度が一番高く、DLNAサーバ2の優先度が一番低い。管理テーブル40に登録されているサーバの中でDLNAサーバ2の優先度が一番低いため、CPU11は、ステップS601において、コンテンツ2aを選択する。
【0064】
このように、DLNAサーバ2の優先度がラジオサーバ4,5の優先度よりも低く設定されることにより、インターネットラジオの品質を維持することができる。
【0065】
CPU11は、ステップS602〜S608を実行することにより、選択したコンテンツ2aのフォーマットを想定負荷の大きい順に決定する。CPU11は、コンテンツ2aをデコード中であるため、コンテンツ2aの現在のフォーマットを変更基準フォーマットに決定する(ステップS602)。コンテンツ2aの現在のフォーマットがWMA(128kbps)である場合、WMA(128kbps)が、カラム41の変更基準フォーマットの欄に登録される。
【0066】
CPU11は、負荷テーブル31及びフォーマットテーブル32を参照して、DLNAサーバ2が供給可能なコンテンツ2aのフォーマットのうち変更基準フォーマットの次に想定負荷の大きいフォーマットを候補フォーマットとして決定する(ステップS603)。
図6を参照して、コンテンツ2aのフォーマットは、PCM(Pulse Code Modulation)、ビットレートが128kbpsのMP3(MPEG Audio Layer-3)及びWMA(128kps)である。CPU11は、変更基準フォーマット(WMA(128kps))の次に想定負荷の大きいMP3(128kbps)を候補フォーマットに決定し、MP3(128kbps)をカラム41の候補フォーマットの欄に登録する。
【0067】
CPU11は、コンテンツ2aのフォーマットを候補フォーマットに変更した場合における予測負荷の減少度を計算する(ステップS604)。減少度は、候補フォーマットの想定負荷を変更基準フォーマットの想定負荷から減算することにより得られる。
図5を参照して、変更基準フォーマット(WMA(128kpbs))の想定負荷が25%であり、候補フォーマット(MP3(128kpbs))の想定負荷が15%であることから、減少度は、10%となる。コンテンツ2aのフォーマットを候補フォーマットに変更することにより、予測負荷が10%小さくなると推測される。
【0068】
CPU11は、減少度をステップS3(
図5参照)で計算された予測負荷から減算することにより、予測負荷を更新する(ステップS605)。CPU11は、更新された予測負荷がしきい値よりも大きいか否かを判断する(ステップS606)。
【0069】
更新された予測負荷がしきい値以下である場合(ステップS606においてNo)、CPU11は、コンテンツ2aのフォーマットをWMA(128kpbs)からMP3(128kbps)に変更した場合、コンテンツ2a,4a,5aを並行してデコードしたとしても、各コンテンツの途切れが発生する可能性が小さいと判断する。CPU11は、コンテンツ2a,4a,5aの最終フォーマットを決定し(ステップS612)、決定した最終フォーマットを管理テーブル40に記録する。この後、CPU11は、フォーマット決定処理(ステップS6)を終了する。
【0070】
具体的には、コンテンツ2aの候補フォーマット(MP3(128kbps))が、最終フォーマットとしてカラム41に記録される。コンテンツ4aは、ステップS601で選択されていないため、現在のフォーマット(例えば、WMA(128kbps))が最終フォーマットとしてカラム42に記録される。コンテンツ5aは、新たにデコードが指示されたコンテンツであり、かつ、ステップS601で選択されていない。コンテンツ5aの最終フォーマットは、ラジオサーバ5が供給可能なコンテンツの複数のフォーマットのうち想定負荷の最も大きいフォーマット(WMA(128kbps))となる。この結果、管理テーブル40は、
図7に示す内容となる。コンテンツ4a,5aは、ステップS601で選択されないため、カラム42,43の変更基準フォーマット及び候補フォーマットは、空欄のままである。
【0071】
図4を参照して、CPU11は、管理テーブル40に記録された最終フォーマットのコンテンツの配信を、DLNAサーバ2及びラジオサーバ4,5に対して要求する(ステップS8)。この結果、コンテンツ2aのフォーマットは、WMA(128kbps)からMP3(128kbps)に変更される。コンテンツ4aのフォーマットは、WMA(128kbps)のままである。
【0072】
ステップS606(
図8参照)の説明に戻る。更新された予測負荷がしきい値よりも大きい場合(ステップS606においてYes)、CPU11は、コンテンツ2aの品質をさらに下げることができるか否かを判断する。具体的には、コンテンツ2aの候補フォーマットの想定負荷が、DLNAサーバ2が供給可能なコンテンツの複数のフォーマットの想定負荷の中で最小であるか否かが判断される(ステップS607)。
【0073】
図5及び
図6を参照して、DLNAサーバ2が供給可能な複数のフォーマットにおいて、PCMの想定負荷が、候補フォーマット(MP3(128kpbs))の想定負荷よりも小さい(ステップS607においてNo)。この場合、CPU11は、コンテンツ2aの品質をさらに下げることが可能であると判断し、カラム41の変更基準フォーマット及び候補フォーマットを変更する(ステップS608)。カラム41において、現在の候補フォーマット(MP3(128kpbs))が変更基準フォーマットとして記録され、現在の候補フォーマットの次に想定負荷の大きいPCMが候補フォーマットとして記録される。なお、PCMの想定負荷が1%に設定されている理由は、コンテンツ2aのデコードがDLNAサーバ2により行われており、AVレシーバ1がデコードをする必要がないためである。
【0074】
CPU11は、負荷テーブル31及びカラム41が変更された管理テーブル40に基づいて、候補フォーマットがPCMである場合における減少度を計算し(ステップS604)、予測負荷をさらに更新する(ステップS605)。更新された予測負荷がしきい値以下であれば(ステップS606においてNo)、コンテンツ2aの最終フォーマットは、PCMに決定される(ステップS612)。コンテンツ4a,5aの最終フォーマットは、上記と同様である。
【0075】
一方、更新された予測負荷がしきい値よりも大きい場合(ステップS606においてYes)、CPU11は、コンテンツ2aの候補フォーマット(PCM)の想定負荷が、コンテンツ2aのフォーマットの想定負荷の中で一番小さいか否かを判断する(ステップS607)。PCMの想定負荷が、コンテンツ2aの複数フォーマットの中で一番小さい(ステップS607においてYes)。CPU11は、コンテンツ2aの品質をこれ以上下げることができないと判断し、ステップS609に進む。
【0076】
CPU11は、優先度テーブル33を参照して、ステップS601で選択されたコンテンツ2aを供給するDLNAサーバ2の優先度が最も高いか否かを判断する(ステップS609)。
図9を参照して、DLNAサーバ2の優先度が最も低いため(ステップS609においてNo)、CPU11は、次に優先度の低いサーバから供給されるコンテンツの品質を下げることができると判断し、ステップS610に進む。
【0077】
CPU11は、コンテンツ2aの最終フォーマットを現在の候補フォーマット(PCM)に決定し(ステップS610)、カラム41に記録する。CPU11は、フォーマット決定処理(ステップS6)を続行する。
【0078】
以上説明したように、CPU11は、コンテンツ2aのフォーマットを、コンテンツ2aの複数のフォーマットのうち想定負荷の大きい順に決定する。これにより、コンテンツ2aの品質が極端に低くなることを防ぐことができる。コンテンツ2aはデコード中であるため、スピーカ8aから流れるコンテンツ2aの音質が、途中から極端に低下することを防ぐことができる。
【0079】
[2.2.2.コンテンツ5aのフォーマット決定]
次に、CPU11は、優先度テーブル33を参照して、DLNAサーバ2の次に優先度の低いラジオサーバ5から供給されるコンテンツ5aを選択する(ステップS611)。CPU11は、コンテンツ5aの最終フォーマットを決定するために、ステップS602〜S608を実行する。
【0080】
コンテンツ5aは、上述のように、新たにデコードを指示されたコンテンツである。コンテンツ5aの変更基準フォーマットは、ラジオサーバ5により供給可能なコンテンツの複数のフォーマットのうち、最も想定負荷の大きいWMA(128kbps)に決定される(ステップS602)。コンテンツ5aの候補フォーマットは、WMA(128kbps)の次に想定負荷の大きいAAC(64kbps)に決定される(ステップS603)。CPU11は、ステップS604,S605を実行し、更新された予測負荷がしきい値であるか否かを判断する(ステップS606)。
【0081】
更新された予測負荷がしきい値以下である場合(ステップS606においてNo)、CPU11は、コンテンツ4a,5aの最終フォーマットを決定する(ステップS612)。具体的には、コンテンツ5aの候補フォーマット(AAC(64kbps))が、最終フォーマットとしてカラム43に記録される。コンテンツ4aの現在のフォーマットが、最終フォーマットとしてカラム42に記録される。
【0082】
更新された予測負荷がしきい値よりも大きい場合(ステップS606においてYes),CPU11は、コンテンツ5aの候補フォーマットの想定負荷が、コンテンツ5aの複数のフォーマットの想定負荷の中で最小であるか否かを判断する(ステップS607)。最小でない場合(ステップS607においてNo)、CPU11は、ステップS608に進む。
【0083】
一方、最小である場合(ステップS607においてYes)、CPU11は、コンテンツ5aの品質をこれ以上下げることができないと判断し、ステップS609に進む。CPU11は、優先度テーブル33を参照して、コンテンツ5aを供給するラジオサーバ5よりも優先度が高いラジオサーバ4が存在すると判断する(ステップS609においてNo)。CPU11は、コンテンツ5aの最終フォーマットを想定負荷の最も小さいFM放送に決定し(ステップS610)、カラム43に記録する。すなわち、フォーマットテーブル32において、FM放送がコンテンツ5aのフォーマットとして記録されている場合、CPU11は、チューナを使用してコンテンツ5aを取得することができると判断する。CPU11は、フォーマット決定処理(ステップS6)を続行する。
【0084】
このように、コンテンツ2aのフォーマットが想定負荷の最も小さいフォーマットに決定された場合、AVレシーバ1は、DLNAサーバ2の次に優先度の低いラジオサーバ5から供給されるコンテンツ5aのフォーマットを想定負荷の大きい順に決定する。予測負荷がしきい値を下回るように、複数のコンテンツのフォーマットが決定されるため、コンテンツの途切れが発生することをさらに防ぐことができる。また、新たなコンテンツのデコード開始を指示されたとしても、新たなコンテンツのデコード開始を拒否することを防ぐことができる。
【0085】
[2.2.3.コンテンツ4aのフォーマット決定]
次に、CPU11は、優先度テーブル33を参照して、ラジオサーバ5の次に優先度の低いラジオサーバ4から供給されるコンテンツ4aを選択する(ステップS6111)。コンテンツ4aの変更基準フォーマット及び候補フォーマットが決定される(ステップS602,S603)。CPU11は、予測負荷の減少度を計算し(ステップS604)、計算して減少度に基づいて予測負荷を更新する(ステップS605)。
【0086】
更新された予測負荷がしきい値を下回る場合(ステップS606においてNo)、CPU11は、現在の候補フォーマットをコンテンツ4aの最終フォーマットに決定し(ステップ612)、最終フォーマットをカラム43に記録する。
【0087】
しきい値を下回らない場合(ステップS606においてYes)、CPU11は、候補フォーマットの想定負荷が、ラジオサーバ4が供給可能なコンテンツの複数のフォーマットの想定負荷のうち最小であるか否かを判断する(ステップS607)。最小でない場合(ステップS607においてNo)、CPU11は、ステップS608に進む。
【0088】
一方、最小である場合(ステップS607においてYes)、CPU11は、ラジオサーバ4の優先度が最も高いか否かを判断する(ステップS609)。
図9を参照して、ラジオサーバ4の優先度が最も高いため(ステップS609においてYes)、コンテンツ2a,4a,5aの各フォーマットを最も負荷の小さいフォーマットに決定しても、予測負荷がしきい値を下回ることができない。CPU11は、コンテンツ5aのデコードを開始することにより、コンテンツの途切れが発生すると判断し、コンテンツ5aのデコード不可を決定する(ステップS612)。CPU11は、カラム41〜43の最終フォーマットを全て空欄に変更する。上述したように、カラム41〜43の最終フォーマットが空欄の場合(ステップS7においてNo。
図4参照)、CPU11は、コンテンツ5aのデコード不可を通知する(ステップS10)。
【0089】
以上説明したように、AVレシーバ1は、コンテンツ2a,4aのデコード中に、コンテンツ5aのデコード開始を指示された場合、予測負荷がしきい値を下回るように、DLNAサーバ2及びラジオサーバ4,5のうち優先度の低いサーバから供給されるコンテンツのフォーマットを決定する。これにより、AVレシーバ1は、コンテンツ5aを新たにデコードする際に、コンテンツ2a,4a,5aの途切れを抑制することができる。
【0090】
また、AVレシーバ1は、コンテンツ5aのデコード開始を指示された場合、現在の負荷と、コンテンツをデコードする際に想定される最大の負荷とに基づいて予測負荷を計算する。これにより、コンテンツ5aを実際にデコードする際の負荷が、予測負荷より極端に上昇することが防止されるため、コンテンツの途切れをさらに抑制することができる。
【0091】
上記実施の形態では、コンテンツ中継装置の一例として、チューナ14を備えるAVレシーバ1を説明したが、これに限られない。コンテンツ中継装置として、チューナ14を備えないAVアンプを使用することも可能である。つまり、コンテンツ中継装置は、複数のサーバから供給される複数のコンテンツをデコードし、デコードされたコンテンツを外部装置に供給する機器であればよい。
【0092】
上記実施の形態では、優先度テーブル(
図9参照)において、ラジオサーバの優先度がDLNAサーバの優先度よりも高くなるように設定されているが、これに限られない。DLNAサーバの優先度が、ラジオサーバの優先度よりも高くてもよい。優先度テーブル33は、ユーザにより設定されてもよく、AVレシーバ1に予め設定されていてもよい。AVレシーバ1が、アクセス回数に応じてサーバの優先度を決定してもよい。すなわち、優先度テーブル33は、コンテンツを供給する複数のサーバの優先度が設定されていればよい。
【0093】
上記実施の形態では、AVレシーバ1が、コンテンツ5aのデコードが指示された場合、コンテンツ5aの複数の想定負荷のうち最大の想定負荷に基づいて予測負荷を計算する(ステップS3)例を説明したが、これに限られない。例えば、AVレシーバ1は、ステップS3において、予め設定された固定値を現在の負荷に加算することにより、総負荷を予測してもよい。すなわち、AVレシーバ1は、ステップS3において、コンテンツ2a,4aのデコードに加えて、コンテンツ5aを新たにデコードする場合におけるCPU11の総負荷を、現在のCPU11の負荷に基づいて計算すればよい。
【0094】
上記実施の形態では、負荷テーブル31、フォーマットテーブル32及び優先度テーブル33がフラッシュメモリ16に記憶される例を説明したが、これに限られない。例えば、各テーブルは、別々の記憶装置に保存されてもよい。つまり、各テーブルの保存先は、特に限定されない。
【0095】
上記実施の形態では、AVレシーバ1は、フォーマット決定処理(ステップS6)を実行する際に、優先度の低いサーバから供給されるコンテンツを選択し、選択されたコンテンツのフォーマットを想定負荷が大きい順に決定する例を説明したが、これに限られない。AVレシーバ1は、選択されたコンテンツのフォーマットの中で想定負荷が最小のフォーマットを選択し、最小のフォーマットに基づく予測負荷がしきい値よりも小さいか否かを判断してもよい。すなわち、AVレシーバ1は、予測負荷がしきい値よりも小さくなるように、選択されたコンテンツのフォーマットを負荷テーブル31に基づいて決定すればよい。
【0096】
上記実施の形態では、フォーマット決定処理(ステップS6)において、想定負荷が最小のコンテンツ2aのフォーマットが選択されたにも関わらず、予測負荷がしきい値よりも大きい場合、CPU11が次に優先度の低いラジオサーバ5から供給されるコンテンツ5aを選択する例を説明したが、これに限られない。この場合、AVレシーバ1は、コンテンツ5aのデコードをすることができないと判断してもよい。
【0097】
上記実施の形態では、制御プログラム21がAVレシーバ1にインストールされている例を説明した。制御プログラム21をインストールする方法は、特に限定されない。例えば、制御プログラム21は、ネットワークに接続されたサーバからダウンロードされ、AVレシーバ1にインストールされてもよい。あるいは、制御プログラム21を記録したコンピュータ読み取り可能な媒体(例えば、光ディスク、USB(Universal Serial Bus)メモリ、フレキシブルディスクなど)が配布されている場合、制御プログラム21は、その媒体からAVレシーバ1にインストールされてもよい。
【0098】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。