JP2004312414A - Content recording server, content recording method, and computer program - Google Patents

Content recording server, content recording method, and computer program Download PDF

Info

Publication number
JP2004312414A
JP2004312414A JP2003103718A JP2003103718A JP2004312414A JP 2004312414 A JP2004312414 A JP 2004312414A JP 2003103718 A JP2003103718 A JP 2003103718A JP 2003103718 A JP2003103718 A JP 2003103718A JP 2004312414 A JP2004312414 A JP 2004312414A
Authority
JP
Japan
Prior art keywords
content
recording
tuner
control
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003103718A
Other languages
Japanese (ja)
Other versions
JP2004312414A5 (en
Inventor
Norifumi Yoshikawa
典史 吉川
Takuya Igarashi
卓也 五十嵐
Hiroyuki Mitsuhori
裕之 三ツ堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003103718A priority Critical patent/JP2004312414A/en
Publication of JP2004312414A publication Critical patent/JP2004312414A/en
Publication of JP2004312414A5 publication Critical patent/JP2004312414A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a device and a method capable of applying content reservation recording processing control to externally received contents by a server. <P>SOLUTION: The content recording server is configured to execute the control of a tuner and a storage section on the basis of the setting information of metadata with respect to a content storage object such as a video capsule and to control the recording start and end of the contents. A client sets metadata corresponding to the content storage object such as the video capsule in advance to bring the metadata under the management of a content directory service (CDS) and the content reservation recording processing is accurately executed for turner-received contents with respect to a storage section such as a hard disk in the server on the basis of the control based on the metadata. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、コンテンツ記録サーバ、およびコンテンツ記録方法、並びにコンピュータ・プログラムに関する。特に、サーバ/クライアントシステムで実行するストリーミングデータの配信および記録処理に適用するコンテンツ記録サーバ、およびコンテンツ記録方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
昨今のデータ通信ネットワークの普及に伴い、家庭内においても家電機器やコンピュータ、その他の周辺機器をネットワーク接続し、各機器間での通信を可能とした、いわゆるホームネットワークが浸透しつつある。ホームネットワークは、ネットワーク接続機器間で通信を行なうことにより各機器のデータ処理機能を共有することを可能とするものである。ネットワーク接続機器間のコンテンツ送受信等、ユーザに利便性・快適性を提供するものであり、今後、ますます普及することが予測される。
【0003】
このようなホームネットワークの構成に適するプロトコルとしてユニバーサルプラグアンドプレイ(UPnP:Universal Plug and Play)が知られている。ユニバーサルプラグアンドプレイ(UPnP)は、複雑な操作を伴うことなく容易にネットワークを構築することが可能であり、困難な操作や設定を伴うことなくネットワーク接続された機器において各接続機器の提供サービスを受領可能とするものである。また、UPnPはデバイス上のOS(オペレーティングシステム)にも依存せず、容易に機器の追加ができるという利点を持つ。
【0004】
UPnPは、接続機器間で、XML(eXtensible Markup Language)に準拠した定義ファイルを交換し、機器間において相互認識を行なう。UPnPの処理の概要は、以下の通りである。
(1)IPアドレス等の自己のデバイスIDを取得するアドレッシング処理。
(2)ネットワーク上の各デバイスの検索を行ない、各デバイスから応答を受信し、応答に含まれるデバイス種別、機能等の情報を取得するディスカバリ処理。
(3)ディスカバリ処理で取得した情報に基づいて、各デバイスにサービスを要求するサービス要求処理。
【0005】
上記処理手順を行なうことで、ネットワーク接続された機器を適用したサービスの提供および受領が可能となる。ネットワークに新たに接続される機器は、上記のアドレッシング処理によりデバイスIDを取得し、ディスカバリ処理によりネットワーク接続された他のデバイスの情報を取得して、取得情報に基づいて他の機器にサービスの要求が可能となる。
【0006】
例えばサーバに格納された音楽データ、画像データ等のコンテンツをクライアント側デバイスにおいて再生しようとする場合には、クライアントは、サーバの保有するコンテンツについての情報を取得する。サーバは、記憶部に格納したコンテンツや、チューナを介して外部から受信する様々なコンテンツに関するインフォメーションを含む属性情報を記憶部に格納しており、この情報をクライアントに提供する。属性情報には、例えばコンテンツとしての例えば曲や映画のタイトル、アーティスト名、記録日時、さらにデータの圧縮態様等に関する情報など様々である。これらの属性情報はメタデータあるいはメタ情報と呼ばれる。
【0007】
クライアントは、サーバに対してサーバに格納されたコンテンツ情報、例えば曲や映画のタイトルやアーティスト名、さらにデータの圧縮態様情報(ATRAC:adaptive transform acoustic coding, MPEG:moving picture experts group等)、さらに必要に応じて著作権情報などの様々なコンテンツの属性情報の取得要求を行うことができる。
【0008】
サーバは、クライアントからの要求に応じてサーバの保有するコンテンツに関するメタデータ(属性情報)をクライアントに送信する。クライアントは、サーバから取得したメタデータに基づいて所定の表示プログラムに従ってクライアントデバイスのディスプレイにコンテンツ情報を表示する。例えばアーティスト名、タイトル等からなる曲目リストなどがディスプレイに表示される。ユーザは、表示情報に基づいて、再生対象コンテンツを確認あるいは選択して、コンテンツの送信要求をサーバに送信する。サーバはクライアントからのコンテンツリクエストを受信し、受信リクエストに応じてサーバからクライアントに対するコンテンツの送信が行われ、クライアント側において受信コンテンツの再生が行われる。
【0009】
このようにサーバに格納されたコンテンツは、ネットワーク接続された他の機器(クライアント)から検索を行い、特定のコンテンツを指定して再生することが可能となる。
【0010】
また、コンテンツを提供するサーバにチューナ機能を併設し、チューナを介して受信したビデオまたはオーディオデータをクライアントに送信するいわゆるライブストリーミングデータの配信構成を持つサーバ構成が提案されている。例えば、地上波、衛星放送等、の各種のブロードキャストデータをホームサーバ内のチューナにおいて受信し、受信データをサーバからクライアント、例えばチューナを持たないPC等に送信し、ユーザがPCに備えられたディスプレイ、スピーカを介して様々なTV、ラジオ等の番組を視聴する構成である。
【0011】
クライアントからサーバを遠隔操作し、サーバ内のチューナで受信したテレビジョンデータをローカルエリアネットワークを介してクライアント側で受信、再生するシステムについては、例えば特許文献1に記載されている。
【0012】
ただし、特許文献1に記載の構成は、サーバ内のチューナで受信したデータをサーバ内の記憶手段、例えばHDDに格納し、この格納データをクライアントに提供するものであり、いわゆるサーバ内の格納コンテンツのクライアントに対する提供と同様の処理をチューナ受信データに対して実行する仮想的なライブストリーミングを実現しているものである。
【0013】
クライアントがサーバから特定のコンテンツを取得する場合の処理は、クライアントからサーバに対してコンテンツ識別子を送信し、サーバがクライアントからの受信識別子に基づいて指定コンテンツを取得して送信するという処理になる。
【0014】
例えば、サーバがコンテンツに対応付けたコンテンツURL(Uniform Resource Locators)をコンテンツ対応のメタデータとして保持し、クライアントがコンテンツURLを指定したHTTP(Hyper Text Transfer Protocol)のGETメソッドを生成してサーバに送信することで、サーバが受信URLに基づいて特定されるコンテンツをクライアントに送信することができる。
【0015】
チューナを介して受信するデータを、上述したと同様のURL指定に基づいてサーバからクライアントに送信する構成を想定すると、サーバは、チューナを介して受信する多数のチャンネル毎のデータに対応する多数のURLを設定し、クライアントが各チャンネルに対応するURLを指定したコンテンツ要求をサーバに送信することが必要となる。
【0016】
しかし、このようなチャンネル毎のURL設定構成では、クライアントがチャンネル切り替えを行おうとすると、切り替え後のチャンネルに対応したURLを設定したHTTP−GETメソッドをサーバに新たに送信することが必要となる。従って、サーバクライアント間では、切り替え前のURLに基づくコネクションを無効とし、新たなURLに基づくコネクションを新たに設定して、新規設定したコネクションに基づいて切り替え後のチャンネルのストリーミングデータの配信が行われることになる。
【0017】
このように、チャンネル毎のURL設定構成とした場合は、クライアントにおいてチャンネルを切り替える毎にサーバクライアント間において、コネクション設定を行うことが必要となり、双方の負荷が過大になる。さらに、チャンネル切り替え毎に通信の中断が発生することになり、通常のテレビリモコンを使用したチャンネル切り替えのようなスムーズな処理環境が得られないという問題がある。
【0018】
また、複数のクライアントが1つのサーバから同一番組を受信して複数ユーザが視聴している環境においては、個々のユーザによるチャンネル切り替え毎に番組が中断してしまうといった問題が発生する。
【0019】
さらに、サーバにおけるチューナ受信コンテンツの予約録画を行おうとする場合、コンテンツを記録するためのいわゆるデータ領域として、例えばビデオカプセル等の設定や、記録開始、終了時間の設定など、様々な情報を設定する処理が必要となる。サーバで実行されている他の制御に影響をおよぼすことなく、様々な設定情報をクライアントからサーバに確実に伝達、設定し、設定情報に基づいてコンテンツを確実に記録する処理構成が求められている。
【0020】
【特許文献1】
特許公開2002−84484号公報
【0021】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、サーバとクライアント間において、クライアントからサーバに対する制御をスムーズにかつ効率的に実行することを可能とし、例えばサーバにおけるチューナ受信コンテンツの予約録画において必要となる様々な処理、例えばコンテンツ格納オブジェクトの設定や、記録開始、終了時間の設定など、様々な情報の設定を、他の制御に影響をおよぼすことなく、クライアントからサーバに確実にかつ効率よく伝達し、サーバにおける確実な予約録画を実行することを可能とするコンテンツ記録サーバ、およびコンテンツ記録方法、並びにコンピュータ・プログラムを提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明の第1の側面は、
コンテンツ記録処理を実行するコンテンツ記録サーバであり、
データ受信処理を実行するチューナと、
サーバクライアント間の通信処理を実行するデータ送受信部と、
コンテンツに対応する属性情報をコンテンツ情報として格納したメタデータ記憶部と、
コンテンツを記憶するコンテンツ記憶部と、
前記コンテンツ情報のクライアントに対する提供処理を実行するコンテンツ管理部と、
前記チューナを介した受信コンテンツに対する処理を実行するコンテンツ対応制御部とを有し、
前記コンテンツ対応制御部は、記憶部制御インスタンスに基づく制御の下に、前記チューナによる受信コンテンツを前記コンテンツ記憶部に対して記録する処理制御を実行する構成であり、
前記記憶部制御インスタンスは、
前記コンテンツ管理部の管理するコンテンツ格納オブジェクトのメタデータに設定されたコンテンツ記録開始および終了時間情報に基づいて、前記コンテンツ格納オブジェクトに対するコンテンツ記録処理の制御を実行する構成であることを特徴とするコンテンツ記録サーバにある。
【0023】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記コンテンツ対応制御部は、前記チューナの制御を実行するチューナ制御インスタンスを有し、前記コンテンツ管理部は、前記チューナ制御インスタンスに対する制御要求を発行する命令出力部を有し、前記命令出力部は、コンテンツ格納オブジェクトのメタデータに設定された記録開始および終了時間情報に基づいて、前記チューナ制御インスタンスに対する再生開始および終了命令を出力する構成であることを特徴とする。
【0024】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記命令出力部は、コンテンツ格納オブジェクトのメタデータに設定されたチャンネル情報に基づいて、前記チューナ制御インスタンスに対するチャンネル設定命令を出力する構成であることを特徴とする。
【0025】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記コンテンツ管理部は、前記制御インスタンスの設定処理を実行する制御インスタンス設定部を有し、前記制御インスタンス設定部は、コンテンツ管理部内で管理するコンテンツ格納オブジェクトに対応するメタデータに基づいて、記録元コンテンツおよび記録先コンテンツの制御を実行する制御インスタンスの設定処理を実行する構成であることを特徴とする。
【0026】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記コンテンツ情報には、コンテンツ対応のプロトコル情報が含まれ、前記記録元コンテンツに対応して設定されるプロトコル情報には、チューナ識別情報としてのファンクションIDが設定され、前記記録先コンテンツに対応して設定されるプロトコル情報には、コンテンツ記憶部識別情報としてのファンクションIDが設定され、前記制御インスタンス設定部は、チューナ制御用インスタンスとして設定されるチューナ制御インスタンス、および前記記憶部制御インスタンスの各々を前記ファンクションIDに基づいて特定される制御対象の制御を実行する制御インスタンスとして設定する処理を実行する構成であることを特徴とする。
【0027】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記記録元コンテンツ識別子は、前記チューナの受信チャンネル中、少なくとも複数チャンネルを含むチャンネルリストの識別情報として設定されたチャンネルリストURL(Uniform Resource Locators)であり、前記記録先コンテンツ識別子は、前記コンテンツ記憶部に設定されたコンテンツ格納領域に対応するコンテンツ格納オブジェクトの識別子として設定されたコンテンツ格納オブジェクトURLであることを特徴とする。
【0028】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記記憶部制御インスタンスには、記録元コンテンツ識別子が設定され、前記記憶部制御インスタンスは、前記記録元コンテンツ識別子に基づいて記録コンテンツの特定処理を実行する構成であることを特徴とする。
【0029】
さらに、本発明のコンテンツ記録サーバの一実施態様において、前記コンテンツ管理部は、前記クライアントからのコンテンツ格納オブジェクトの生成要求に予約コンテンツの格納用のコンテンツ格納オブジェクトであることを示す情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURLを設定する処理を実行する構成であることを特徴とする。
【0030】
さらに、本発明の第2の側面は、
外部からの受信コンテンツの記録処理を実行するコンテンツ記録方法であり、コンテンツ管理部の管理するコンテンツ格納オブジェクトのメタデータに基づいて、コンテンツ記録制御を実行する制御インスタンスを設定する制御インスタンス設定ステップと、
前記コンテンツ格納オブジェクトに対するコンテンツ記録処理を、前記メタデータ中に設定されたコンテンツ記録開始および終了時間情報に基づいて、前記制御インスタンスに基づく制御の下に実行するコンテンツ記録ステップと、
を有することを特徴とするコンテンツ記録方法にある。
【0031】
さらに、本発明のコンテンツ記録方法の一実施態様において、前記制御インスタンス設定ステップは、コンテンツ記憶部の制御を実行する記憶部制御インスタンスと、チューナの制御を実行するチューナ制御インスタンスの設定処理を実行し、前記コンテンツ記録方法は、さらに、前記チューナ制御インスタンスに対する制御要求を発行する命令出力ステップを有し、前記命令出力ステップは、コンテンツ格納オブジェクトのメタデータに設定された記録開始および終了時間情報に基づいて、前記チューナ制御インスタンスに対する再生開始および終了命令を出力することを特徴とする。
【0032】
さらに、本発明のコンテンツ記録方法の一実施態様において、前記命令出力ステップは、コンテンツ格納オブジェクトのメタデータに設定されたチャンネル情報に基づいて、前記チューナ制御インスタンスに対するチャンネル設定命令を出力することを特徴とする。
【0033】
さらに、本発明のコンテンツ記録方法の一実施態様において、前記メタデータには、コンテンツ対応のプロトコル情報が含まれ、記録元コンテンツに対応して設定されるプロトコル情報には、チューナ識別情報としてのファンクションIDが設定され、記録先コンテンツに対応して設定されるプロトコル情報には、コンテンツ記憶部識別情報としてのファンクションIDが設定され、前記制御インスタンス設定ステップは、前記チューナ制御インスタンス、および前記記憶部制御インスタンスの各々を前記ファンクションIDに基づいて特定される制御対象の制御を実行する制御インスタンスとして設定する処理を実行することを特徴とする。
【0034】
さらに、本発明のコンテンツ記録方法の一実施態様において、前記記憶部制御インスタンスには、記録元コンテンツ識別子が設定され、前記記憶部制御インスタンスは、前記記録元コンテンツ識別子に基づいて記録コンテンツの特定処理を実行することを特徴とする。
【0035】
さらに、本発明のコンテンツ記録方法の一実施態様において、前記記録元コンテンツ識別子は、前記チューナの受信チャンネル中、少なくとも複数チャンネルを含むチャンネルリストの識別情報として設定されたチャンネルリストURL(Uniform Resource Locators)であり、前記記録先コンテンツ識別子は、前記コンテンツ記憶部に設定されたコンテンツ格納領域に対応するコンテンツ格納オブジェクトの識別子として設定されたコンテンツ格納オブジェクトURLであることを特徴とする。
【0036】
さらに、本発明のコンテンツ記録方法の一実施態様において、前記コンテンツ記録方法は、さらに、前記クライアントからのコンテンツ格納オブジェクトの生成要求を受信するステップと、前記コンテンツ格納オブジェクトの生成要求に予約記録コンテンツの格納用オブジェクトであることを示す情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURLを設定する処理を実行するURL設定ステップと、を有することを特徴とする。
【0037】
さらに、本発明の第3の側面は、
外部からの受信コンテンツの記録処理を実行するコンピュータ・プログラムであり、
コンテンツ管理部の管理するコンテンツ格納オブジェクトのメタデータに基づいて、コンテンツ記録制御を実行する制御インスタンスを設定する制御インスタンス設定ステップと、
前記コンテンツ格納オブジェクトに対するコンテンツ記録処理を、前記メタデータ中に設定されたコンテンツ記録開始および終了時間情報に基づいて、前記制御インスタンスに基づく制御の下に実行するコンテンツ記録ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0038】
【作用】
本発明の構成によれば、チューナによる外部受信コンテンツの予約録画処理において、ビデオカプセル等のコンテンツ格納オブジェクトに対するメタデータの設定情報に基づいてコンテンツの記録開始および終了を制御する構成としたので、クライアントが予めビデオカプセル等のコンテンツ格納オブジェクトに対応するメタデータを設定し、コンテンツディレクトリサービス(CDS)の管理の下におくことで、メタデータに基づく制御によってチューナ受信コンテンツのサーバ内のハードディスク等の記憶部に対するコンテンツ記録処理が正確に実行される。
【0039】
さらに、本発明の構成によれば、ビデオカプセル等のコンテンツ格納オブジェクトに対するメタデータの設定情報に基づいて、コンテンツ管理部に設定した制御インスタンス設定部/命令出力部が、チューナ受信コンテンツの制御を実行するチューナ制御インスタンスと、ハードディスク等のコンテンツ記憶部の制御のもとにチューナ受信コンテンツの記録処理を実行する記憶部制御インスタンス(ビデオカプセルコントロールインスタンス)とを設定し、命令出力を実効する構成としたので、サーバクライアント間の通信を介在させずに、メタデータに基づくコンテンツの予約記録処理が実行可能となる。
【0040】
さらに、本発明の構成によれば、予約録画の実行中において、ビデオカプセルに設定されたビデオカプセルURLに基づくコンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信することで、クライアントは、チューナ受信コンテンツのタイムシフト再生と同様のコンテンツ再生が可能となる。また、予約録画の実行中において、既にチューナコントロールインスタンスはチャンネルリストURLを設定された状態にあり、クライアントがチューナ受信コンテンツをモニタしたい場合には、サーバに対してチャンネルリストURLを設定したHTTP−GETメソッドを発行するのみで、チューナ受信コンテンツのストリーミングを得ることができる。
【0041】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0042】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0043】
【発明の実施の形態】
以下、図面を参照しながら、本発明の構成の詳細について説明する。
【0044】
[システム概要]
まず、図1を参照して、本発明の適用可能なネットワーク構成例について説明する。図1は、様々なクライアント装置からの処理要求に応じて処理を実行するコンテンツ配信装置としてのサーバ101と、サーバ101に対して処理要求を行なうコンテンツ受信装置としてのクライアントがネットワーク100を介して接続された構成、例えばホームネットワーク構成を示している。クライアント装置としては、パーソナルコンピュータ(PC)121、モニタ122、携帯電話123、再生機124、PDA(Personal Digital Assistant)125を例示している。ただし、クライアント装置としては、この他にも様々な電子機器、家電機器が接続可能である。
【0045】
サーバ101がクライアントからの要求に応じて実行する処理は、例えばサーバ101の保有するハードディスク等の記憶手段に格納されたコンテンツの提供、あるいはサーバ101の有するチューナを介して受信するライブコンテンツをクライアントに対して転送するコンテンツ配信サービス等である。なお、図1においては、サーバ101と、クライアント装置とを区別して示しているが、クライアントからの要求に対するサービスを提供する機器をサーバとして示しているものであり、いずれのクライアント装置も、自己のデータ処理サービスを他のクライアントに提供する場合には、サーバとしての機能を提供可能となる。従って、図1に示すネットワーク接続されたクライアント装置もサーバとなり得る。
【0046】
ネットワーク100は、有線、無線等いずれかのネットワークであり、各接続機器は、例えばイーサネット(登録商標)フレーム等の通信パケットをネットワーク100を介して送受信する。すなわち、クライアントは、イーサネットフレームのデータ部に処理要求情報を格納したフレームをサーバ101に送信することにより、サーバ101に対するデータ処理要求を実行する。サーバ101は、処理要求フレームの受信に応じて、データ処理を実行し、必要に応じてデータ処理結果としての結果データを通信パケットのデータ部に格納し、各クライアントに送信する。
【0047】
ネットワーク接続機器は、例えばユニバーサルプラグアンドプレイ(UPnP:Universal Plug and Play)対応機器によって構成される。従って、ネットワークに対する接続機器の追加、削除が容易な構成である。ネットワークに新たに接続する機器は、
(1)IPアドレス等の自己のデバイスIDを取得するアドレッシング処理。
(2)ネットワーク上の各デバイスの検索を行ない、各デバイスから応答を受信し、応答に含まれるデバイス種別、機能等の情報を取得するディスカバリ処理。
(3)ディスカバリ処理で取得した情報に基づいて、各デバイスにサービスを要求するサービス要求処理。
上記処理手順を行なうことで、ネットワーク接続された機器を適用したサービスを受領することが可能となる。
【0048】
図1に示すサーバおよびクライアント装置を構成する情報処理装置の一例としてPCのハードウェア構成例について図2を参照して説明する。
【0049】
CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、またはHDD(Hard Disk Drive)204等に記憶されているプログラムに従って、各種の処理を実行し、データ処理手段、あるいは通信制御処理手段として機能する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータが適宜記憶される。CPU201、ROM202、およびRAM203、HDD204は、バス205を介して相互に接続されている。
【0050】
バス205には、入出力インタフェース206が接続されており、この入出力インタフェース206には、例えば、ユーザにより操作されるキーボード、スイッチ、ボタン、ポインティングデバイス、あるいはマウス等により構成される入力部207、ユーザに各種の情報を提示するLCD、CRT、スピーカ等により構成される出力部208が接続される。さらに、データ送受信手段として機能する通信部209、さらに、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体211を装着可能で、これらのリムーバブル記録媒体211からのデータ読み出しあるいは書き込み処理を実行するドライブ210が接続される。
【0051】
さらに、地上波放送データ、衛星放送データ、ケーブルTVデータ、インターネット配信データ等、様々な外部からの配信データの受信を行うチューナ220を備えている。
【0052】
図2に示す構成は、図1に示すネットワーク接続機器の一例としてのサーバ、パーソナルコンピュータ(PC)の例であるが、ネットワーク接続機器はPCに限らず、図1に示すように携帯電話、PDA等の携帯通信端末、その他、再生装置、ディスプレイ等の様々な電子機器、情報処理装置によって構成することが可能である。従って、それぞれの機器固有のハードウェア構成を持つことが可能であり、そのハードウェアに従った処理を実行する。
【0053】
[オブジェクト管理およびメタデータ]
次にクライアントに提供するコンテンツを管理するサーバのコンテンツを含むオブジェクト管理構成、およびメタデータについて説明する。サーバは、自己の記憶部に格納した静止画、動画等の画像データ、音楽等の音声データ等のコンテンツ、さらには、ライブストリーミングデータを実行するためのチューナに関する情報、例えばチャンネル情報を各コンテンツに対応する属性情報(メタデータ)として保有している。
【0054】
なお、サーバの保有する静止画、動画等の画像データ、音楽等の音声データ、チューナを介して受信するライブストリーミングデータ等のコンテンツを総称してAVコンテンツと呼ぶ。サーバにおいて、AVコンテンツは、階層構成を有するコンテンツ管理ディレクトリによってサーバ内のCDS(コンテンツディレクトリサービス)において管理される。
【0055】
サーバのCDS(コンテンツディレクトリサービス)において管理されるコンテンツ管理ディレクトリの構成例を図3に示す。階層構成は図3に示すように分岐ツリー状の図として示すことができる。図3に示す各円の各々が個々のオブジェクトである。この階層構成は、サーバが記憶部に格納し管理するコンテンツ、およびライブストリーミングコンテンツに対応する論理的な管理構成を示すものである。
【0056】
コンテンツ管理ディレクトリの個々の要素、すなわち、個々のAVコンテンツあるいは複数のAVコンテンツを格納したフォルダ、メタデータ格納フォルダの各々はオブジェクト(Object)と呼ばれる。なお、オブジェクトとは、サーバによって処理されるデータ単位の総称であり、個々のAVコンテンツあるいは複数のAVコンテンツを格納したフォルダ、メタデータ格納フォルダ以外にも様々なオブジェクトが存在する。
【0057】
AVコンテンツの最小単位、すなわち1つの楽曲データ、1つの動画データ、1つの静止画データ等をアイテム(item)とよぶ。ライブストリーミングデータの場合は、1つのチャンネルが1アイテムとして定義される。
【0058】
また、アイテムの集合として規定されるアイテムの上位オブジェクトをコンテナ(Container)と呼ぶ、集合の単位は、例えば各オブジェクトの物理的な記憶位置に基づく集合、各オブジェクトの論理的関係に基づく集合、カテゴリに基づく集合等、様々に設定され得る。
【0059】
例えば、チャンネルをアイテムとしたコンテナの一例としては地上波のみのチャンネルのアイテムを集合としたコンテナや、衛星放送のチャンネルを集合としたコンテナが設定される。これらの例については後段でさらに説明する。
【0060】
オブジェクトは、その種類、例えば音楽(Audio)、ビデオ(Video)、写真(Photo)等、その種類によりクラスに分類されクラスラベリングがなされる。クライアントは、例えば特定のクラスを指定して、特定の分類に属するオブジェクトのみを対象とした「サーチ」を要求し実行することができる。また特定のフォルダ等のオブジェクトを指定して、そのフォルダに関する情報のみを要求する「ブラウズ」を要求し特定フォルダに関する情報の取得処理をすることが可能である。なお、サーバにおいては、クラスも階層構成で管理されており、1つのクラスの下にサブクラスの設定が可能である。
【0061】
メタデータは、サーバの持つコンテンツに対応した属性情報、クラスの定義情報、コンテンツ管理ディレクトリを構成する階層構成に関する情報等を含むさまざまな管理情報である。個々のオブジェクトに対応付けて定義されたコンテンツの属性情報としてのメタデータには、例えばコンテンツURL等のコンテンツ識別子(ID)、データサイズ、リソース情報、タイトル、アーティスト名、著作権情報、チャンネル情報等、様々な情報が含まれる。メタデータに含まれる個々の情報をプロパティまたはプロパティ情報と呼ぶ。なお、音楽(Audio)、ビデオ(Video)、写真(Photo)、ライブストリーミングデータ等、前述したクラス毎にどのようなプロパティからなるメタデータを持つかが予め規定されている。
【0062】
図3において、最上位はルートコンテナ301と呼ばれる。ルートコンテナの下位に例えば音楽(ミュージック)コンテナ302、動画コンテナ303、静止画コンテナ304、さらにチューナコンテナ305等が設定される。音楽(ミュージック)コンテナ302の下位には、ジャンル305、ジャンルの下位には、アーティスト306などのオブジェクトの設定がなされる。
【0063】
動画コンテナ303の下位には、ジャンル308、さらにその下位にコンテンツに対応するアイテムとしてのビデオカプセル309が設定される。例えばビデオカプセル309は、サーバ内のハードディスク等の記憶部に格納されたビデオコンテンツに対応し、そのビデオコンテンツに対応した属性情報(メタデータ)を持つ。メタデータには、クライアントがコンテンツを取得するためのコンテンツ識別子、すなわちコンテンツの所在を示すアドレス情報としてのコンテンツのURL(Uniform Resource Locators)が含まれる。クライアントは、コンテンツ情報取得手続きによりビデオカプセル309のURLすなわち、ビデオカプセルURLを取得し、ビデオカプセルURLを指定したコンテンツ要求をサーバに送信することでビデオカプセルに対応するビデオコンテンツをサーバから受信して再生することができる。
【0064】
一方、チューナコンテナ305にもコンテナに対応するURLとしてチャンネルリストURLが設定される。すなわち、チューナ受信コンテンツに対応する属性情報としてチャンネルリストURLが設定される。チャンネルリストURLは、チューナコンテナ306の子として存在するチャンネルアイテムに対応する全てのコンテンツの取得、制御権をクライアントに提供するために設定されたURLである。
【0065】
従来のシステムであれば、アイテムであるチャンネル毎にURLが設定され、クライアントは、チャンネル切り替えに応じてURLの切替えを行うことが必要となっていたが、本発明においては、チャンネルの集合体としてのチャンネルリストにURLを設定し、クライアントが、チャンネルリストURLを指定したコンテンツ取得要求をサーバに送信することで、クライアントは、チャンネルリストにリストアップされたチャンネル、すなわちコンテンツ管理ディレクトリにおいて、チューナコンテナの下位に設定されたチャンネルアイテムの全てのコンテンツの取得、すなわち制御権をまとめて得ることができる。結果として、チャンネルリストにリストされたチャンネル間の切り替えにおいては、新たなURLに基づくコンテンツ要求を行う必要がない。これらの処理の詳細については後述する。
【0066】
コンテンツ検索を実行しようとするクライアントは、コンテンツ管理ディレクトリの階層やオブジェクト集合に対応するクラスを指定した「サーチ」、あるいは、特定のオブジェクトの指定としての「ブラウズ」をサーバに要求することで、コンテンツの情報を取得することが可能である。クライアントは、サーバから受信するコンテンツ情報を記述したXMLデータに基づいてコンテンツ情報をディスプレイに表示する。
【0067】
コンテンツ情報リストの表示処理例を図4に示す。図4に示す例では、コンテンツNo、タイトル、アーティスト名、チャンネル、コンテンツURLをリスト化したデータ構成を持つコンテンツ情報リスト357をディスプレイ350に表示した例を示している。
【0068】
例えばビデオカプセルに対応するメタデータに基づいて表示されるコンテンツ情報は、図4中のコンテンツNo.[0001]、[0002]のコンテンツであり、チューナコンテナに対応するメタデータに基づいて表示されるコンテンツ情報は、[0003]、[0004]のようにチャンネルリストであることと、チャンネルリストに含まれるチャンネル情報、およびチャンネルリストURL等となる。
【0069】
これらのコンテンツ情報は、サーバの管理するコンテンツ対応のメタデータの構成要素としてのプロパティ情報に基づいて生成される。サーバはクライアントから受信した「サーチ」または「ブラウズ」要求に基づいて条件に一致するコンテンツのメタデータ中のプロパティ情報を取得し、取得したプロパティ情報に基づいてXMLデータを生成し、クライアントに送信する。
【0070】
クライアントは、サーバによって抽出されたコンテンツに対応するプロパティ情報に基づくXMLデータを受信し、受信XMLデータに基づいて図4に示すような表示データを生成し、クライアントのディスプレイに表示する。
【0071】
クライアント側のユーザはこれらのリストから再生対象コンテンツを選択し、選択コンテンツ指定情報、例えばコンテンツURLをサーバに送信することで、サーバからコンテンツ、すなわち音楽や映画、あるいは写真等、様々なコンテンツが送信されクライアント側で再生、出力が実行される。チューナコンテナに対応するチャンネルリストURLに基づくコンテンツ要求を行うと、チャンネルリストにリストされたチャンネルに対応するコンテンツをまとめて取得、すなわちURL切り替えを行うことなく、チャンネル切り替えを自在に実行することができる。
【0072】
前述したように、クライアントに送信されるコンテンツ情報には、コンテンツの所在を示すアドレス情報としてのコンテンツのURL(Uniform Resource Locators)が含まれる。クライアントディスプレイに表示されたコンテンツURLあるいはリンクデータをユーザが指定(クリック)したことを条件として、クライアントデバイスにおいて、コンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信し、サーバがコンテンツURLに対応するコンテンツをクライアントに送信する。
【0073】
[クライアントによるコンテンツ再生処理]
コンテンツを再生しようとするクライアントは、サーバに対してコンテンツ要求を行い、要求コンテンツをサーバから受信してコンテンツの再生を行うことができる。一般的なコンテンツ再生の手順について図5を参照して説明する。まず、ステップS11において、クライアントは、サーバの保有するコンテンツ情報の取得要求を行う。ステップS12で、サーバは、クライアントの要求に従ってコンテンツ対応のメタデータに基づいて、コンテンツの所在を示すアドレス情報としてのコンテンツのURL(Uniform Resource Locators)一覧、コンテンツのタイトル、アーティスト名などのコンテンツ情報をXML(eXtended Markup Language)データにより生成してクライアントに送信する。
【0074】
クライアントは、ステップS13において、受信XML情報に従って、コンテンツ情報をディスプレイに表示する。例えば音楽コンテンツであれば、サーバの保有する複数の音楽に対応する曲名、アーティスト名、再生時間等からなるリストとして表示される。
【0075】
次に、クライアントはステップS14において、クライアント装置において、サーバから受信し再生する曲を選択し、コンテンツ指定情報としてのコンテンツURLを指定してサーバに送信する。サーバはステップS15において、受信したコンテンツ指定情報に基づいてコンテンツを記憶手段から取得して送信する。ステップS16において、クライアントはサーバから受信したコンテンツを再生する。なお、コンテンツがATRAC、MPEG等の圧縮処理がなされている場合は、サーバあるいはクライアント側で復号処理を行った後に送信あるいは再生処理を行う。
【0076】
通常のコンテンツ再生手順は、上述したとおりである。クライアントは、様々なコンテンツ属性情報、すなわち、サーバの保有するコンテンツ対応のメタデータに含まれるプロパティ情報を取得し、プロパティ情報に基づいてクライアントにコンテンツリスト等のUIを表示し、コンテンツを選択しサーバに要求することができる。
【0077】
[ライブストリーミングデータ配信処理]
サーバのハードディスク等に予め格納したコンテンツは、上述したように、クライアントがコンテンツ対応のURLを指定したコンテンツ要求をサーバに送信することで、コンテンツの取得再生を行うことができる。
【0078】
しかし、従来技術の欄で説明したように、サーバ内のチューナを介して受信するライブストリーミングデータの各チャンネルのデータに各々URLを設定し、URL指定に基づくコンテンツ提供を行う構成とすると、クライアントによるチャンネル切り替えの際に、切り替え後のチャンネルに対応したURLを設定したHTTP−GETメソッドをサーバに送信することが必要となる。その結果、サーバクライアント間で、新旧URLに基づくコネクションの切断および再接続処理を行うことが必要となり、双方の負荷が過大になり、チャンネル切り替え毎に通信の中断が発生するという問題か発生する。
【0079】
そこで、本発明においては、複数のチャンネルの集合体であるチャンネルリストを設定し、チャンネルリストを1つのコンテンツと仮定して1つのコンテンツURLをチャンネルリストに対して設定し管理する構成とした。以下、本構成に基づくライブストリーミングデータ配信処理構成について説明する。
【0080】
チューナ機能を持ち、チューナにより受信したデータをクライアントに配信する構成を持つサーバの構成例を図6に示す。
【0081】
図6に示す構成について説明する。サーバ400は、クライアント460に対してクライアント460からの要求コンテンツを送信し、ユーザ470は、クライアント460デバイスに備えたディスプレイ、スピーカ等を介してコンテンツを視聴する。なお、図6においては、クライアント460を1つのみ示してあるが、サーバ400に対して接続するクライアントは複数あり、複数のクライアントがサーバ400から様々なコンテンツの提供を受けることが可能である。
【0082】
サーバは、データベース443に格納したコンテンツの提供、さらにチューナ410を介して外部から受信するデータ、例えば地上波放送データ、衛星放送データ、ケーブルTVデータ、インターネット配信データ等、様々な外部からの受信データをクライアント460に対して送信する。サーバ400とクライアント460間の通信ネットワークは、先に、図1を参照して説明したように、有線、無線等いずれかのネットワークであり、例えばイーサネット(登録商標)フレーム等の通信パケットをネットワークを介して送受信する。すなわち、クライアント460は、イーサネットフレームのデータ部に処理要求情報を格納したフレームをサーバ400に送信することにより、サーバ400に対するデータ処理要求を実行する。サーバ400は、処理要求フレームの受信に応じて、データ処理を実行し、必要に応じてデータ処理結果としての結果データを通信パケットのデータ部に格納し、各クライアント460に送信する。
【0083】
サーバ400の構成について、以下、説明する。チューナ410は、地上波放送データ、衛星放送データ、ケーブルTVデータ、インターネット配信データ等、様々な外部からの受信データを受信するライブストリーミングデータの受信部である。チューナ410は、コンテンツ配信制御部430内のコンテンツ対応制御部432に設定される配信コンテンツ毎のコンテンツ配信制御を実行する制御インスタンスとしてのAVTインスタンス(AV−Transport Instance)433によって制御される。なお、本明細書において、制御インスタンスとは、制御対象ハードウェア等の制御オブジェクトの設定が可能で、かつ設定オブジェクトに応じた制御パラメータの設定が可能な制御プログラムであり、該制御プログラムに従って制御対象ハードウェアを含む制御オブジェクトの制御が実行される。
【0084】
コンテンツ対応制御部432は、配信コンテンツ毎に、コンテンツ配信制御実行部としてのAVTインスタンス(AV−Transport Instance)#1〜#n433を設定する。各AVTインスタンス433は、それぞれ特定のコンテンツの配信制御を実行する。例えばチューナを介して受信するデータのライブストリーミング用のチューナコントロールインスタンスは、チューナを介して受信するデータのライブストリーミングコンテンツのみの制御を実行する。具体的には、コンテンツ送信開始、終了、あるいはチャンネル切り替え等の指示をクライアント460から受け、チャンネル切り替え等の制御をチューナ410に対して実行する。
【0085】
コンテンツ対応制御部432に設定されるAVTインスタンス433は、チューナコントロールインスタンスの他に、例えば、サーバ内のハードディスクに格納されたビデオコンテンツであるビデオカプセルの配信制御を実行するビデオカプセルコンロールインスタンスや、サーバに装着されたDVDに格納されたビデオデータ、オーディオデータ等の配信制御を実行するDVDコントロールインスタンスなどがある。これら各AVTインスタンスが、特定の配信コンテンツの制御を実行する。
【0086】
各AVTインスタンスには、制御対象コンテンツに対応するURL、すなわちコンテンツ識別子としてのコンテンツURLが設定される。コンテンツURLはコンテンツの所在を示すコンテンツ識別子である。ビデオカプセルコントロールインスタンスには、ビデオカプセルに設定されたビデオカプセルURLが設定される。本発明の構成においては、チューナコントロールインスタンスにはチューナに対応するチャンネルリストURLが設定される。AVTインスタンス433は、自己に設定されたURLに基づいて、制御するコンテンツと関係付けられる。また、URLを設定されたAVTインスタンスは、自己の識別子としてのAVTインスタンスIDを持つことになる。これらの処理の詳細については後述する。
【0087】
コンテンツ配信制御部430は、チャンネルリストに記述された複数チャンネルに対応するチューナの受信する複数コンテンツを制御コンテンツの一単位として設定し、1つのAVTインスタンスをアサインし、スクライアントから受信するチャンネルリスト識別子に対応する制御要求をAVTインスタンスが受信し、AVTインスタンスがチャンネルリストに記述された複数チャンネルに対応する配信コンテンツの制御を実行する。
【0088】
コネクションマネージャサービス(CMS)431は、クライアント460にライブストリーミング制御部430の入力プロトコル情報を伝える。また、クライアント460から提示されたプロトコル情報に基づいて、AVTインスタンス433をアサインしてクライアント460に通知する。
【0089】
コネクションマネージャサービス431は、クライアント460からのコンテンツ要求に応じて、AVTインスタンス433のアサイン(割り当て)処理を実行し、アサインしたAVTインスタンスの識別子、すなわちAVTインスタンスIDをクライアント460に通知する。この際、サーバクライアント間のコネクション識別子としてのコネクションIDもクライアント460に通知する。コネクションマネージャサービス431は、これらのデータをコネクション管理テーブルに登録する。コネクション管理テーブルについては後述する。
【0090】
コネクションマネージャサービス431による上述の処理の後、クライアント460からのAVTインスタンス433に対する要求により、上述したコンテンツURLおよびAVTインスタンスIDがAVTインスタンス433に設定される。
【0091】
コネクションマネージャサービス431によるAVTインスタンス433のアサイン処理およびクライアント460によるURLセット処理により、コンテンツ対応のURLが設定され、URLによって識別されるコンテンツの配信制御を受け持つことになったAVTインスタンス433は、クライアント460からの制御コマンドを受信すると、その制御コマンドに従ったコンテンツ制御を実行する。このクライアント460サーバ間でのコンテンツ配信制御処理には、例えばSOAP(Simple Object Access Control)プロトコルが使用される。クライアント460は、XMLデータに従った記述データを生成しAVTインスタンス433に送信することで、クライアント460からの制御情報が、各AVTインスタンス433に通知され、AVTインスタンス433が受信情報に基づく制御、例えばコンテンツ再生開始、終了、チャンネル切り替えなどの処理を実行する。
【0092】
例えばチューナコントロールインスタンス433にクライアント460からの制御情報として、チャンネル切り替え指示情報が入力されると、チューナコントロールインスタンス433から、制御情報がチューナ410に入力されてチューナ410が特定のチャンネルのデータを受信するように設定される。
【0093】
なお、サーバクライアント間のチューナ受信コンテンツの配信用コネクションは、チャンネルリストURLに基づいて設定されるHTTP(Hyper Text Transfer Protocol)コネクションである。本発明の構成においては、チャンネルリストに記述された複数チャンネルに対応する複数のチューナ受信コンテンツの切り替えとして実行されるチャンネル切り替え前後において、チャンネルリストURLに基づいて設定されるHTTPコネクションを継続的に使用したコンテンツ配信を実行する。
【0094】
チューナ410の受信データは、例えば符号化データ(ATRAC:adaptive transform acoustic coding, MPEG:moving picture experts group等)である場合もあり生のデータである場合もある。サーバクライアント間では、データ送信効率を高めるために特定の符号化データとして配信するのが好ましい。符号化データは、クライアント460において処理可能なデータである必要がある。コーデック420は、チューナ410の受信データをクライアント460で処理可能なデータ態様に変換する。コーデック420は、データのエンコードおよびデコード機能を持つ。コーデック420において生成された変換データがクライアント460に送信され、再生される。
【0095】
コーデック420においてどのようなデータ変換を行うかは、AVTインスタンス433からの制御情報によって決定する。AVTインスタンス433は、クライアント460からの要求情報をAVTインスタンス433が受領し、AVTインスタンス433からの制御情報がコーデック420に入力されてコーデック420が制御情報に基づいてデータ変換を実行する。
【0096】
コンテンツ管理部(メディアサーバ)440は、コンテンツホルダーとして機能する。コンテンツのメタデータを格納したデータベース443、先に図3を参照して説明したコンテンツ管理ディレクトリに基づいてコンテンツ対応のメタデータの管理を行い、クライアント460からのコンテンツサーチ、ブラウズなどの処理要求に応答してコンテンツ情報を提供するコンテンツディレクトリサービス442を有する。
【0097】
データベース443には、予めサーバ内のデータベースに格納したコンテンツの情報のみならず、チューナを介して受信するデータに関する情報、例えばチャンネル情報などの管理情報もチューナコンテナに対応するメタデータとして格納しており、クライアント460からのチューナに関するコンテンツ情報取得要求をコンテンツディレクトリサービス442が受信した場合には、サーバの受信可能なチャンネル情報、複数のチャンネルの集合として設定されるチャンネルリストに対応付けられたチャンネルリストURL等の情報をクライアント460に提供する処理などを実行する。
【0098】
コンテンツディレクトリサービス442は、ライブストリーミングで扱うコンテンツ用のメタデータとして、ライブストリーミングコンテンツ用のURLやコーデック情報、プロトコル情報をデータベース443に保持しており、クライアント460からの要求に応じてこれらの情報をクライアント460に送信する。
【0099】
なお、サーバがライブストリーミングコンテンツ配信可能であるか否かについては、クライアント460は、コンテンツディレクトリサービス442からのプロトコル情報によって知ることができる。プロトコル情報には、チューナの制御によるコンテンツ配信を実行することが可能であることを示す情報(ファンクションID(funcID))が設定され、クライアントでは、ファンクションIDに基づいてチューナを介したライブデータのストリーミング配信が可能であることを知ることができる。ファンクションIDは、チューナ制御、DVD制御、ハードディスク制御等、コンテンツ処理のための制御対象毎に設定されるIDであり、チューナが2つあればそれぞれ異なるファンクションID、例えばfuncID=a、funcID=bのように異なるIDが設定され、チューナ識別情報としても利用される。
【0100】
クライアント460は、コンテンツディレクトリサービス442からのコンテンツ情報に基づいて、チューナ受信のライブストリーミングデータの配信を希望する場合は、受信したコンテンツ情報から取得した情報をコンテンツ配信制御部430のコネクションマネージャ431に送信する。これらの処理の詳細については後述する。
【0101】
その後コンテンツ配信制御部430において、AVTインスタンス433がアサインされ、クライアントは、AVTインスタンス433に対して配信コンテンツに対する制御、例えばコンテンツの一時停止(STOP)や、チャンネル切り替え(SEEK)等の各種制御を実行することができる。
【0102】
コンテンツ管理部440内のコネクションマネージャサービス(CMS)441は、クライアント460にコンテンツ管理部440の出力プロトコル情報を伝えるなど、クライアント460と、コンテンツ管理部440間の通信制御サービスを行う。サーバ400との接続クライアント460が複数いる場合には、クライアント460毎のコネションID管理を実行し、各クライアント460からの要求を識別して対応する。
【0103】
コンテンツディレクトリサービス442におけるライブストリーミングデータ関連のメタデータに関するオブジェクト管理構成について、図7を参照して説明する。
【0104】
先に図3を参照して説明したように、コンテンツ提供サーバでは様々なコンテンツに対応するメタデータを階層構成のディレクトリにおいて管理している。図7は、コンテンツディレクトリサービス442において管理するライブストリーミングデータ関連のメタデータの管理構成を示している。
【0105】
ルートコンテナ481の下段にチューナコンテナ482が設定される。なお、チューナ数や、チャンネルリストURLの設定態様に応じて、ディレクトリに設定されるチューナコンテナの設定態様は異なってくる。これらの形態については、後段で詳細に説明する。チューナコンテナ482の子として設定されるアイテムに、個々のチャンネル483,484,485が設定される。
【0106】
コンテンナ、アイテムにはそれぞれコンテンツ属性情報としてのメタデータが対応付けられ、クライアント460からのサーチや、ブラウズ等のコンテンツ情報要求に応じてこれらのメタデータに基づくコンテンツ情報がサーバから提供される。
【0107】
チューナコンテナ482には、チャンネルリストURL、プロトコル情報等がメタデータとして格納される。チャンネルアイテム483,484,485には、例えばチャンネルの名前(東京テレビ、ABCテレビなど)の情報が格納される。
【0108】
チューナコンテナ482のメタデータとして設定されるチャンネルリストURLは、例えば地上波1〜12チャンネルのみを受信可能なチューナの場合は、1〜12チャンネルの12個のチャンネルをリスト化した1つのチャンネルリストを取得するためのURLとして設定される。地上波、BS、CS等の衛星放送等のチャンネル(1〜nチャンネル)の放送データを受信可能なチューナの場合は、1〜nチャンネルのnチャンネルをリスト化した1つのチャンネルリストを取得するためのURLとして設定される。
【0109】
なお、地上波のチャンネルリスト、BS用のチャンネルリスト、CS用のチャンネルリスト等、カテゴリ毎に区分したチャンネルリストを設定し、それぞれに異なるチャンネルリストURLを設定してもよい、
【0110】
これらのチャンネルリストURLは、クライアント460からコンテンツディレクトリサービス(CDS)442に対するサーチやブラウズを適用したコンテンツ情報取得処理によってクライアント460が取得可能である。
【0111】
クライアント460は取得したチャンネルリストURLに基づくコンテンツ取得を行うことで、チャンネルリストに設定された、例えば1〜12チャンネルの間の切り替え制御をその1つのURLに基づいて実行可能となる。すなわちクライアント460はチャンネルリストURLによるコンテンツ取得により、チャンネルリストにリストアップされたすべてのストリーミングデータの制御権をまとめて得ることができる。具体的な制御については、後述する。
【0112】
本発明の構成では、上述したように、個々のチャンネル毎のURL設定ではなく、複数のチャンネルをまとめてその制御を可能とするために、チャンネルの集合としたチャンネルリストにコンテンツURLを設定した。従って、チャンネルリストにリストアップされたチャンネルに対応するストリーミングデータの制御権をまとめてクライアント460に提供することが可能となる。
【0113】
クライアント460は、チャンネルリストに基づく制御権を持つ場合には、リストにあるチャンネル間の切り替え等の処理を行う場合にも、新たなURLに基づくHTTPコネクションを設定する必要がない。チャンネル切り替え等の制御命令をコンテンツ配信制御部432に送信するのみで、チャンネル切り替えが可能となり、従って、新旧URLの切り替えに基づくサーバクライアント間のコネクションの再設定等の処理が不要となる。
【0114】
図7に示すように、チューナコンテナ482の子としては、チューナコンテナ482の持つチャンネルリストURLに設定された各チャンネル、例えば地上波1〜12チャンネルの各々が子アイテムとして設定される。それぞれのアイテムには各チャンネルの情報がメタデータとして設定される。
【0115】
図8にチューナコンテナおよびチャンネルアイテムに対応するコンテンツ情報(メタデータ)を示す。図8に示すデータは、クライアント460からコンテンツディレクトリサービス(CDS)442に対するコンテンツ情報要求に応じてクライアント460に送信されるXMLデータの例である。
【0116】
図8(a)がチューナコンテナに対応するメタデータに基づく情報であり、下記に示すような情報を持つ。
<container id=ch−list parentID=−1 restricted=1 …>
<dc:title> 地上波チャンネル一覧</dc:title>
<upnp:class>object.container.function.avVideoTuner</upnp:class>

<av:allowedOperation>Play</av:allowedOperation>
<av:eventingURI>http://1.2.3.4:56000/SENA?id=live</av:eventingURI>
<res protocolInfo=http−get:*:video/mpeg:func−id=t01 av:codec=MPEG1V …>
http://1.2.3.4:56000/liveoutUrl
</res>
</container>
【0117】
上段から、コンテナID、タイトル、クラスに関するデータ、さらに、許容処理[allowedOperation]、イベント通知用URL[eventingURI]、プロトコル情報[protocolInfo]などがチューナコンテナのコンテンツ情報として格納される。イベント通知とは、例えばステレオ/モノラルの切り替え、2ヶ国語放送の切り替え等、配信コンテンツに対応するイベントが発生した場合にクライアント460に通知するための処理を実行するために設定されるURLであり、クライアント460は、イベント通知用URLを指定したイベント通知要求をサーバに対して送信することで、コンテンツ配信に並列して様々なイベント通知を受けることが可能となる。
【0118】
図8のデータ部491に示すプロトコル情報[protocolInfo]中のファンクションID[func−id=t01]は、このコンテンツがライブストリーミング用のコンテンツであることを示す、すなわちチューナを適用した制御によるコンテンツ配信を実行することを示している。前述したように、ファンクションIDは、チューナ制御、DVD制御等、コンテンツ配信のための制御対象毎に設定されるIDであり、チューナが2つあればそれぞれ異なるファンクションID、例えばfuncID=a、funcID=bのように異なるIDが設定される。図8のデータ部492に示す[http://1.2.3.4:56000/liveoutUrl]が、チャンネルリストURLである。
【0119】
図8(b)が、チャンネルアイテムに対応するメタデータに基づく情報であり、下記に示すような情報を持つ。
<dc:title>東京テレビ</dc:title>
<upnp:class>object.item.videoItem.videoBroadcast.avChannel
</upnp:class>
<upnp:channelName>東京テレビ</upnp:channelName>
<upnp:channelNr>8</upnp:channelNr>

</item>
【0120】
上段から、タイトル、クラス、チャンネル名、チャンネル番号が記載されている。クライアント460は、チューナコンテンナおよびチャンネルアイテムに対応するコンテンツ情報を取得することで、チューナコンテナに設定されたチャンネルリストURLに基づくコンテンツ要求により、どのような範囲のチャンネル制御権を取得することが可能かを知ることができる。
【0121】
クライアント460は、図8に示すコンテンツ情報からなるXMLデータに基づいて、チャンネル情報一覧リストをクライアント460のディスプレイに表示する。
【0122】
次に、図9を参照して、サーバクライアント間で実行されるチャンネルリストURLに基づくストリーミングデータ配信処理シーケンスの詳細について説明する。
【0123】
まず、クライアント460は、サーバが保有し、クライアント460に提供可能なコンテンツを調べるために、ステップS101において、ブラウズまたはサーチ処理により、コンテンツ情報を取得する。コンテンツ検索を実行しようとするクライアント460は、コンテンツ管理ディレクトリの階層やオブジェクト集合に対応するクラスを指定した「サーチ」、あるいは、特定のオブジェクトの指定としての「ブラウズ」をサーバに要求することで、コンテンツの情報を取得することが可能である。プラウズまたはサーチは、コンテンツ管理部440(図6参照)のコンテンツディレクトリサービス442に対して実行され、コンテンツディレクトリサービス442がメタデータを格納したデータベース443から各オブジェクト対応のメタデータに基づくXMLデータを生成してコンテンツ情報としてクライアント460に提供する。
【0124】
例えば、チューナコンテナに関するコンテンツ情報を取得した場合は、図8(a)に示すチューナコンテナ対応のコンテンツ情報および、図8(b)に示すチャンネル毎のコンテンツ情報に基づく情報がクライアント460に送信される。なお、図8(b)に示す情報は、1つのチャンネルに対応するコンテンツ情報であり、クライアント460が、チューナコンテナおよび子アイテムとしての全チャンネルの情報を要求した場合は、チューナコンテナの子アイテムとして設定されるチャンネル数に対応する数の図8(b)に示す情報がクライアント460に送信されることになる。
【0125】
クライアント460は、サーバから受信するコンテンツ情報を記述したXMLデータに基づいてコンテンツ情報をディスプレイに表示する。これは、先に、図4を参照して説明したような表示情報である。
【0126】
クライアント460は、図8(a)(b)に示すチューナコンテナおよびチャンネルアイテムに対応するコンテンツ情報に基づいて、
チャンネルリストURL
ファンクションID(funcID)
チャンネル情報
を取得する。
【0127】
クライアント460は、次に、ステップS102において、コンテンツ配信制御部430のコネクションマネージャサービス431に対して、プロトコル情報取得要求を送信する。これは、コンテンツ配信制御部430に入力可能なプロトコル情報、すなわち、コンテンツ配信制御部430の処理可能なプロトコル情報の一覧を要求する処理である。
【0128】
ステップS103において、コネクションマネージャサービス431は、プロトコル情報一覧をクライアント460に送信する。このプロトコル情報一覧には、例えばビデオデータのプロトコルとしてのMPEGや、オーディオデータのATRAC等、コンテンツ配信制御部430で処理可能な様々なプロトコル情報が含まれる。
【0129】
チューナ410の受信データを配信可能なサーバのコネクションマネージャサービス431がクライアント460に送信するプロトコル情報一覧には、ライブストリーミングデータの配信が可能であることを示す情報が含まれる。具体的には、[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]なるプロトコル情報が含まれる。すなわち、schema欄(第1カラム)が[internal]であるものが含まれる。このプロトコル情報は、内部のコンテンツ管理部(メディアサーバ)440との論理コネクションが、以下に説明する接続準備(PrepareForConnection)によって可能であることを示す。
【0130】
このプロトコル情報にもファンクションIDが含まれる。前述したように、ファンクションIDは、チューナ制御、DVD制御等、コンテンツ配信のための制御対象毎に設定されるIDであり、ステップS101においてクライアントがブラウズまたはサーチ処理により、コンテンツディレクトリサービス442から取得したコンテンツ情報にも含まれる。ここでは、ファンクションID[func−id=t01]がチューナ410を適用したコンテンツ配信に対応するファンクションIDとして設定されている。
【0131】
次に、ステップS104において、クライアント460は、コネクションマネージャサービス431から、現在、サーバ400に接続されている他のクライアントに関する情報を取得する。コネクションマネージャサービス431は、サーバに接続しているクライアントに対応するコネクションIDをクライアント識別子、および各クライアントに配信されるコンテンツに対応するプロトコル情報等を対応付けた図10に示すようなコネクション管理テーブルを保持してコネクション管理を実行している。クライアント460からのコネクション情報の取得要求に応じて、これらの情報をクライアント460に提供する。この処理については、後述する。なお、このコネクション情報通知処理は、クライアント460が他のクライアント460の接続状況を確認するために実行するものであり、省略してもよい。
【0132】
ステップS105において、クライアント460は、コネクションマネージャサービス431に対して、接続準備要求(PrepareForConnection)を送信する。クライアント460が、チューナを適用したライブストリーミングデータの配信を希望する場合は、先にコンテンツディレクトリサービス(CDS)442から受領したコンテンツ情報としてのチューナコンテナに対応するコンテンツ情報に含まれるファンクションID(funcID)と一致するファンクションIDを持つプロトコル情報を送信すればよい。
【0133】
ステップS105の接続準備(PrepareForConnection)の送信において、クライアント460は、前述のプロトコル情報取得(S103)において、コネクションマネージャサービス431から受領したライブストリーミングに関するプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]を送信する。
【0134】
クライアント460から接続準備要求(PrepareForConnection)を受信したコネクションマネージャサービス431は、接続準備要求に含まれるプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]に基づいて、チューナによる受信データのストリーミング配信の要求であると判断し、コンテンツ対応制御部432内の1つのAVTインスタンス433をチューナコントロールインスタンスとして設定(アサイン)し、接続準備要求(PrepareForConnection)のあったクライアント460に対するコネクションIDと、チューナコントロールインスタンスとして設定(アサイン)したAVTインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付けを行う。
【0135】
なお、前述したように、コネクションマネージャサービス431は、図10に示すコネクション管理テーブル、すなわち、各接続クライアント460毎のコネクションIDとAVTインスタンスID、プロトコル情報との対応データを持ち、これをコネクション管理情報として管理している。
【0136】
ステップS106において、コネクションマネージャサービス431は、クライアント460に対して、アサインしたAVTインスタンスの識別子であるAVTインスタンスIDおよび、クライアント460サーバ間のコネクションに対して設定したコネクションID情報を通知する。クライアント460はこれらの情報をメモリに格納する。
【0137】
ステップS107において、クライアント460は、コネクションマネージャサービス431によってアサインされたAVTインスタンスによるコンテンツ配信制御を行わせるための処理として、アサインされたAVTインスタンスに対して、URI(Uniform Resource Identifier)セット要求を発行する。AVTインスタンスに対してセットするURIには、コネクションマネージャサービス431から通知されたAVTインスタンスIDと、ステップS102の処理において取得したチューナコンテナに対応するコンテンツ情報に含まれるチャンネルリストURLが含まれる。
【0138】
AVTインスタンスは、クライアント460から指定されたAVTインスタンスIDと、チャンネルリストURLとに基づいて、自己の制御対象コンテンツおよびクライアントを識別することが可能となる。すなわち、AVTインスタンスIDを指定して各種の制御命令を送信するクライアントをAVTインスタンスに対応するクライアントであり、チャンネルリストURLが制御対象コンテンツとなる。
【0139】
チャンネルリストURLは、チューナコンテナの対応コンテンツであり、チャンネルリストURLをセットしたAVTインスタンスは、チューナ410の制御を実行するインスタンスとして設定されることになる。
【0140】
次にクライアント460はステップS108以降において、AVTインスタンスに対して、様々なコンテンツの制御要求を実行することができる。ステップS108では、再生(Play)要求をAVTインスタンスに対して発行している。この制御要求は、例えばSOAP(Simple Object Access Control)プロトコルが利用される。SOAPに基づいて、クライアント460は、XMLデータに従った記述データを生成しAVTインスタンス433に送信する。
【0141】
AVTインスタンス433は、クライアント460からの受信情報に基づく制御、例えばコンテンツ再生開始、終了、チャンネル切り替えなどの処理を実行する。AVTインスタンス433は、セットされたコンテンツURLに基づいて制御対象コンテンツを特定し、その特定された制御対象コンテンツを制御する。この場合は、コンテンツURLはチャンネルリストURLであり、チャンネルリストURLはチューナコンテナに対応するコンテンツ情報であり、AVTインスタンス433はチューナ410の制御を実行する。
【0142】
ステップS108の、再生(Play)要求をAVTインスタンス433が受領すると、AVTインスタンス433はチューナ410を制御し、チューナ受信データのクライアント460に対する送信を開始する。
【0143】
ステップS109においては、チャンネル設定(Seek)要求をAVTインスタンスに対して発行している。この要求には、AVTインスタンスIDとチャンネル番号が含まれる。チャンネル設定(Seek)要求をAVTインスタンス433が受領すると、AVTインスタンス433はチューナ410を制御し、チューナのチャンネルを設定して受信データをクライアント460に送信する。
【0144】
ステップS110は、以下継続して実行されるライブストリーミングデータの配信を示している。ステップS111は、イベント通知処理(SENA)がコンテンツ配信と並列して実行されることを示している。前述したようにイベントとは、例えばステレオ/モノラルの切り替え等のように配信コンテンツに関する情報であり、クライアント460からのイベントURLに基づくイベント通知要求に基づいてサーバが様々なイベント情報を通知する処理である。
【0145】
チャンネル切り替え処理シーケンスについて、図11を参照して説明する。チャンネル切り替え処理は、チャンネルリストURLに基づくストリーミングデータの配信中に実行する。ステップS201において、ストリーミングデータの配信およびイベント通知が実行されているとする。
【0146】
ステップS202において、クライアント460はチャンネル切り替え(Seek)要求をAVTインスタンスに対して発行する。この制御要求には、上述したように例えばSOAP(Simple Object Access Control)プロトコルが利用される。クライアント460は、XMLデータに従った記述データを生成しAVTインスタンス433に送信する。この要求には、AVTインスタンスIDと切り替えチャンネル番号が含まれる。チャンネル設定(Seek)要求をAVTインスタンス433が受領すると、AVTインスタンス433はチューナ410を制御し、チューナのチャンネルを切り替えて受信データをクライアント460に送信する。
【0147】
その後、ステップS203において、切り替え後のチャンネルに対応するストリーミングデータの配信およびイベント通知が実行される。
【0148】
このチャンネル切り替えの前後におけるサーバクライアント間のHTTPコネクションは、同一のURL、すなわち同じチャンネルリストURLに基づくHTTPコネクションであるため、サーバクライアント間においてはコネクションが維持されたままチャンネル切り替えが実行されることになる。
【0149】
このように、チャンネルリスト中のチャンネルを切り替えるときは、AVTインスタンスに対してチャンネル切り替え要求(AVT Seek action)を行う。この際、チャンネル切り替え要求(AVT Seek action)を行なったクライアント460のみならず、同じライブストリーミングを利用しているクライアントも、HTTPコネクションを切ることなくコンテンツが変更される。
【0150】
なお、サーバからクライアントに対して送信される画像または音声データを、例えばMPEG等の符号化データとした場合、クライアントから受信するチャンネル切り替えのタイミングに基づいて無条件に送信データの切り替えを実行すると、送信する符号化データパケットの不整合が発生する場合がある。このような不整合な符号化データをクライアント側でデコード(復号)するとデコードエラーによりコンテンツ再生エラーを発生させる。
【0151】
例えばMPEG−2システムでは、映像や音声などの個別データストリームであるPES(Packetized Elementary Stream)パケットを複数結合し、さらに制御情報をヘッダに格納したパック(Pack)を1つの処理単位としている。従って、パック(Pack)を構成するPESパケットの一部を送信中に、チャンネル切り替えを実行して、送信データを変更すると、クライアントにおいてデコードする際の1つの処理単位であるパック(Pack)に欠落が発生し、再生エラーを発生させることになる。
【0152】
従って、サーバのコンテンツ配信制御部430は、クライアントからのチャンネル切り替え要求に基づく送信データの変更により、送信符号化データの整合性の保持が可能か否かを判定し、整合性が保持されないと判断した場合は、サーバクライアント間のデータストリーム配信用の接続コネクション、すなわち、チャンネルリストURLに基づくHTTPコネクションを切断する。サーバは、さらに、クライアントに対して、イベント通知用コネクションを介して、データストリーム配信用の接続コネクションが切断されたことを通知する。
【0153】
クライアントは、サーバからコネクション切断通知を受信した場合は、再度、チャンネルリストURLに基づくHTTPコネクションを設定する処理、すなわち、チャンネルリストURLに基づくHTTP−GETメソッドをサーバに対して送信する。なお、AVTインスタンス(チューナコントロールインスタンス433)の設定状態は維持されているので、チューナコントロールインスタンス433の新たなアサイン、URIセット等の設定処理は省略可能である。
【0154】
あるいは、サーバは、クライアントから受信したチャンネル切り替えタイミングに基づいて無条件にチャンネル切り替えを実行するのではなく、クライアントからのチャンネル切り替え要求受信後、クライアントに対して送信する符号化データの整合性を保持可能なタイミングを待機し、整合性を保持可能なタイミングでクライアントに対する送信データの切り替えを実行する構成としてもよい。この切り替えタイミングの制御は、コーデック420のデータエンコード状況を検出し、検出情報をチューナコントロールインスタンス433に入力し、チューナコントロールインスタンス433のタイミング制御の下にチューナ410のチャンネル切り替えを実行することで行う。
【0155】
サーバ側でこのようなチャンネル切り替えタイミングの制御を実行することで、クライアント側でのデコードエラーの発生が防止され、クライアント側ではチャンネル切り替え前のデータおよびチャンネル切り替え後のデータ再生を正常に実行することが可能となる。
【0156】
次に、図12のシーケンス図を参照してライブストリーミングデータの配信処理を終了する場合の処理について説明する。ステップS301において、ストリーミングデータの配信およびイベント通知が実行されているとする。
【0157】
ライブストリーミングデータの配信処理を終了しようとするクライアント460は、ステップS302において、コネクションIDを格納したコネクション終了要求をコネクションマネージャサービス431に送信する。コネクションIDは、図9のシーケンス図のステップS106において、コネクションマネージャサービス431から受領したものである。コネクションマネージャサービス431は、クライアント460からの要求に従って、サーバクライアント間のコネクションの切断を行い、さらに、図10を参照して説明したコネクション管理テーブルから対応エントリを削除する。
【0158】
なお、クライアント460は同じAVTインスタンスを使用している他のクライアントの存在を知ることが、ステップS104の問い合わせ処理によって可能である。このチェックを前もって行うことで、どのファンクションID(func−id)を選択すれば空いているAVTインスタンスを使えるかがわかる。このチェックを行い、他のクライアントに配慮した処理が可能となる。
【0159】
例えば、全てのAVTインスタンスが使用されている場合などは、チャンネル変更時に「他に人が視聴している可能性があります。本当に良いですか?」等のメッセージをサーバからクライアント460に送信し、クライアント460においてメッセージ表示UIを生成し、提示することにより、複数のクライアントが接続されたネットワークにおいて、他のクライアントの接続を不用意に制御する、例えばチャンネルを切り替えてしまうといったことが防止される。
【0160】
ステップS104のコネクション情報取得処理の詳細は、以下の通りである。まず、コンテンツ配信制御部430のコネクションマネージャサービス431に対し現接続コネクションID要求(GetCurrentConnectionIDs)を行う。返り値として現在アクティブであるコネクションID(ConnectionID)の一覧が返される。各々のコネクションIDを用いてコネクション情報要求(GetCurrentConnectionInfo)を行うと、そのコネクションIDでアサインされているプロトコル情報(ProtocolInfo)がわかる。このプロトコル情報の追加情報(AdditionalInfo)に記載されるファンクションID(func−id)が自分が使用しようとしているファンクションIDと同じ場合は、同一の内部リソース(チューナなど)を扱っていることがわかる。
【0161】
上述したように、クライアント460は、コンテンツ配信制御部430のコネクションマネージャサービス(CMS)431に対してAVTインスタンスをアサインしてもらい、そのAVTインスタンスにチューナコンテナに対応するチャンネルリストURLをセットすることによって、そのURLに基づくライブストリーミングが開始できる。
【0162】
なお、コンテンツ配信制御部430において、設定可能なAVTインスタンスの数に制限がある場合は、コンテンツ配信制御部430のコネクションマネージャサービス(CMS)431は、以下の処理を実行することで、AVTインスタンスの設定を制御する。
【0163】
既に制限数のAVTインスタンスがアサインされている状態で、コネクションマネージャサービス(CMS)431が、クライアントから新たにAVTインスタンスを要求されたときには、古いコネクションが優先する。すなわち古いコネクションに基づいて設定されたAVTインスタンスを新しい要求に基づいて切り替えることはしない。
【0164】
ただし、これはあくまでAVTインスタンスの限度数の話であって、同じAVTインスタンスを扱う要求であった場合には、たとえ既に他のクライアントに提供していても、異なるコネクションIDで同じAVTインスタンスIDを新たに提供して良い。この場合には、複数のクライアントが1つのAVTインスタンスに基づく制御を実行することが可能となる。
【0165】
具体的には1つのチャンネルリストURLの設定されたAVTインスタンスの制御を2つ以上のクライアントが実行可能であり、いずれのクライアントからの制御命令、例えばチャンネル切り替え処理もその1つのAVTインスタンスの制御の下に有効に実行されることになる。
【0166】
なお、コンテンツ配信制御部430が、AVTインスタンス−#0とAVTインスタンス−#1の2つを持っているが、同時に1つのAVTしか動作できないサーバの場合の処理は、例えば以下のa〜fのように実行される。
a.最初、クライアント1からAVT−#0をアサインするように要求
b.コネクションID−1にAVTインスタンスID−#0をアサイン
c.次に、クライアント2からAVT−#0をアサインするように要求
d.コネクションID−2にAVTインスタンスID−#0をアサイン
e.次に、クライアント1からAVT−#1をアサインするように要求
f.クライアント1にエラーを返す
【0167】
このような処理を実行することで、AVTインスタンスの設定数の制限が可能となる。
【0168】
前述したように、チャンネルリストURLは、コンテンツディレクトリサービス(CDS)442から得ることが可能である。チューナがプレイ状態、すなわちクライアントに対するコンテンツ配信状態にあるときは、このチャンネルリストURLに既にHTTP−GETに基づくコンテンツ要求を行っている全てのクライアント(サーバが複数クライアント対応時に限る)は、チャンネルリストURLがAVTインスタンスにセットされたと同時にチューナのストリーミングを得ることができる。
【0169】
すなわち、他のクライアントによって使われているストリーミングを単にモニタしたい場合には、AVTインスタンスの設定を実行することなく、ストリーミング用のURLすなわち、コンテンツディレクトリサービス(CDS)442から取得したチャンネルリストURLを設定したHTTP−GETメソッドを発行するのみで、チューナのストリーミングを得ることができる。
【0170】
サーバ400のコンテンツ配信制御部430は、チャンネルリスト識別子としてのチャンネルリストURLに基づいて特定されるチューナ410の受信する複数チャンネルのコンテンツの配信制御をAVTインスタンスの制御の下に実行している間に、他クライアントからの同一のチャンネルリストURLを指定したコンテンツ要求としてのHTTP−GETメソッドを受信した場合、その要求クライアントは、AVTインスタンスの設定を行うことなく、チャンネルリストURLに基づくHTTPコネクションにより、チャンネルリストURLに基づいて特定されるチューナ受信コンテンツの配信を実行することができる。
【0171】
[複数チューナを持つサーバ]
上述した例は、サーバにチューナが1つのみの例であるが、複数のチューナを搭載した構成も可能である。この場合には、各チューナに対応してチャンネルリストURLが対応付けられ、さらに個々に異なるAVTインスタンスが設定されて制御が実行される。図13にチューナを2つ持つサーバにおける処理構成例を示す。
【0172】
この場合、チューナA511、コーデックA512を介して1つのストリーミングコンテンツがクライアントに送信され、さらにチューナB521、コーデックB522を介して他の1つのストリーミングコンテンツがクライアントに送信される。
【0173】
コンテンツ配信制御部500のコネクションマネージャサービス530は、それぞれのチューナ制御を実行するAVTインスタンスを個別にアサインする。チューナコントロールインスタンス531は、チューナA511の制御を実行し、チューナコントロールインスタンス532は、チューナB521の制御を実行する。
【0174】
この場合、チューナコントロールインスタンス531にセットされるチャンネルリストURLは、チューナAコンテナに対応するチャンネルリストURL(A)であり、チューナコントロールインスタンス532にセットされるチャンネルリストURLは、チューナBコンテナに対応するチャンネルリストURL(B)となる。
【0175】
それぞれのチューナを介してコンテンツを受信しているクライアントは、それぞれチューナコントロールインスタンス531または、チューナコントロールインスタンス532に対応するAVTインスタンスIDを有し、それぞれのAVTインスタンスIDを指定した制御が可能であり、それぞれ独立した制御が可能となる。
【0176】
なお、チューナとチャンネルリストの対応付けは、前述したように、チューナコンテナに対応して設定されるメタデータとして設定されるチャンネルリストURLによって決定される。上述した例では、チューナ1つに対して1つのチャンネルリストURLを対応付けた例を説明したが、チューナが複数ある場合には、チューナとチャンネルリストURLの対応付け態様は様々な設定が可能である。
【0177】
2つのチューナがある場合において、それぞれのチューナが地上波、BS双方とも受信可能な場合は、1つのチューナコンテナを設定し、2つのチャンネルリストURLをメタデータとして設定可能となる。チューナコンテナ601には地上波チャンネルアイテム602と、BSチャンネルアイテム603が子アイテムとして設定される。
【0178】
チューナコンテナ601のメタデータとして、チャンネルリストURL1(funcID=a)と、チャンネルリストURL2(funcID=b)との2つのチャンネルリストURLが設定されている。
【0179】
このような構成の場合、クライアントは、チューナコンテナ601のコンテンツ情報として2つのチャンネルリストURL、およびそのチャンネル情報を知ることが可能となる。クライアントは、地上波を視聴したい場合は、地上波に対応するチャンネルリスト、例えばチャンネルリストURL1(funcID=a)を選択して、図9に示す処理シーケンスにおけるステップS107のAVTインスタンスのセット処理を実行すればよい。BS波を視聴したい場合は、BS波に対応するチャンネルリスト、例えばチャンネルリストURL2(funcID=b)を選択して、図9に示す処理シーケンスにおけるステップS107のAVTインスタンスのセット処理を実行する。
【0180】
なお、このような構成の場合、ステップS103におけるコンテンツ配信制御部430のコネクションマネージャ431から送信されるプロトコル情報には、上述の2つのチャンネルリストURLのファンクションIDに対応する、
[internal:1.2.3.4:application/x−av−tuner−content:func−id=a]と、
[internal:1.2.3.4:application/x−av−tuner−content:func−id=b]との、
2つのチューナを介するストリーミングデータコンテンツに関する2つのプロトコル情報がそれぞれクライアントに通知されることになる。
【0181】
また、地上波BS兼用受信チューナが2つある場合において、一方を地上波専用、他方をBS専用として使い分ける場合には、図15に示すように、各チューナコンテナ611,621が設定される。地上波チューナコンテナ611には複数の地上波チャンネルアイテム612が設定される。BSチューナコンテナ621には複数のBSチャンネルアイテム622が設定される。
【0182】
それぞれのチューナコンテナに設定するチャンネルリストURLを1つとすることも可能であるが、図15に示す例では、2つのチューナコンテナのそれぞれに2つのチャンネルリストURLを設定している。
【0183】
このような構成とすることで、あるクライアントが1つのチューナを適用して地上波のあるチャンネルを視聴している場合、他のクライアントが他のチューナを利用して他の地上波チャンネルを視聴すること、同様に異なる2つのBSチャンネル、あるいは1つは地上波、他方はBSといった各タイプの組み合わせが可能となる。
【0184】
具体的には、2つの地上波を2つのチューナを介して視聴する場合は、地上波コンテナ611にあるチャンネルリストURL−Terrestrial1(funcID=a)と、チャンネルリストURL−Terrestrial2(funcID=b)とをそれぞれことなるAVTインスタンスにセットして、それぞれが異なるチューナの制御を行うことで2つの地上波がそれぞれのクライアントに送信される。
【0185】
2つのBS波を2つのチューナを介して視聴する場合は、BS波コンテナ621にあるチャンネルリストURL−BS1(funcID=a)と、チャンネルリストURL−BS2(funcID=b)とをそれぞれことなるAVTインスタンスにセットして、それぞれが異なるチューナの制御を行うことで2つの地上波がそれぞれのクライアントに送信される。
【0186】
地上波とBSの場合は、地上波コンテナ611にあるチャンネルリストURL−Terrestrial1(funcID=a)と、BS波コンテナ621にあるチャンネルリストURL−BS2(funcID=b)、あるいは、地上波コンテナ611にあるチャンネルリストURL−Terrestrial2(funcID=b)と、BS波コンテナ621にあるチャンネルリストURL−BS1(funcID=a)との組み合わせによる制御を行うことで地上波およびBS波のコンテンツがそれぞれ異なるチューナを介してクライアントに提供される。
【0187】
また、2つのチューナ中、1つは地上波専用チューナであり、他方は地上波BS兼用チューナである場合には、図16に示すようなチャンネルリストURLの設定が可能である。
【0188】
図16に示すように、各チューナコンテナ631,641が設定される。地上波チューナコンテナ631には複数の地上波チャンネルアイテム632が設定される。BSチューナコンテナ641には複数のBSチャンネルアイテム642が設定される。
【0189】
地上波チューナコンテナ631には2つのチャンネルリストURLが設定され、2つのチャンネルリストURLを同時に適用することが可能であり、地上波についてのみ、2つのチューナを利用して同時にストリーミング配信が可能となる。
【0190】
具体的には、2つの地上波を2つのチューナを介して視聴する場合は、地上波コンテナ631にあるチャンネルリストURL−Terrestrial1(funcID=a)と、チャンネルリストURL−Terrestrial2(funcID=b)とをそれぞれことなるAVTインスタンスにセットして、それぞれが異なるチューナの制御を行うことで2つの地上波がそれぞれのクライアントに送信される。
【0191】
地上波とBSの場合は、地上波コンテナ611にあるチャンネルリストURL−Terrestrial2(funcID=b)と、BS波コンテナ621にあるチャンネルリストURL−BS1(funcID=a)との組み合わせによる制御を行うことで地上波およびBS波のコンテンツがそれぞれ異なるチューナを介してクライアントに提供される。
【0192】
[サーバおよびクライアントの処理フロー]
チューナ受信データのライブストリーミング処理におけるサーバおよびクライアント各々の処理手順について、図17および図18のフローを参照して説明する。まず、クライアントにおける処理を図17の処理フローを参照して説明する。
【0193】
クライアント装置は、ステップS501において、ブラウズまたはサーチ処理により、コンテンツ情報の取得要求を実行する。これは、コンテンツ管理部440(図6参照)のコンテンツディレクトリサービス442に対して実行する。
【0194】
ステップS502において、コンテンツ情報を受信する。ここでは、チューナを介したストリーミングデータの配信を実行するためチューナコンテナおよびチャンネルアイテムのコンテンツ情報を取得するものであり、図8(a)に示すチューナコンテナ対応のコンテンツ情報および、図8(b)に示すチャンネル毎のコンテンツ情報に基づく情報を取得する。この処理により、チャンネルリストURL、ファンクションID、チャンネル情報が取得される。
【0195】
クライアントは、次に、ステップS503において、コンテンツ配信制御部430のコネクションマネージャサービス431に対して、プロトコル情報取得要求を送信する。ステップS504において、コネクションマネージャサービス431から、プロトコル情報一覧を受信する。このプロトコル情報一覧に、ライブストリーミングデータの配信が可能であることを示すプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]が含まれる。
【0196】
次に、ステップS505において、クライアントは、コネクションマネージャサービス431から、現在、サーバ400に接続されている他のクライアントに関する情報を取得する。ステップS506において、クライアントは、コネクションマネージャサービス431に対して、接続準備要求(PrepareForConnection)を送信する。クライアントが、チューナを適用したライブストリーミングデータの配信を希望する場合は、ステップS502において、コンテンツディレクトリサービス(CDS)442から受領したチューナコンテナに対応するコンテンツ情報中のファンクションID(funcID)と一致するファンクションIDを持つプロトコル情報を送信する。
【0197】
ステップS507において、クライアントは、コネクションIDと、チューナコントロールインスタンスとして設定(アサイン)したAVTインスタンスの識別子(AVTインスタンスID)を受信する。
【0198】
ステップS508において、クライアントは、アサインされたAVTインスタンスに対して、URI(Uniform Resource Identifier)セット要求を発行する。AVTインスタンスに対してセットするURIには、コネクションマネージャサービス431から通知されたAVTインスタンスIDと、ステップS502において取得したチューナコンテナに対応するコンテンツ情報に含まれるチャンネルリストURLが含まれる。
【0199】
ここまでの処理が、AVTインスタンスによるチューナ制御を可能とするための設定処理である。これ以降は、クライアントは、AVTインスタンスに対して制御要求を発行することで、コンテンツ送信、停止、チャンネル切り替えなどの様々な制御が可能となる。
【0200】
ステップS509において、クライアントはAVTインスタンスに対してコンテンツの制御要求を実行する。例えば、再生(Play)要求、チャンネル切り替え(Seek)要求である。クライアントは、XMLデータに従った記述データを生成し、各種の制御情報をAVTインスタンス433に送信する。
【0201】
ステップS510においてクライアント側ユーザがチャンネル切り替えを行いたいと判断した場合は、ステップS511において、クライアントはチャンネル切り替え(Seek)要求をAVTインスタンスに対して発行する。この制御要求には、AVTインスタンスIDと切り替えチャンネル番号を格納する。ステップS512において、接続終了すると判断した場合は、コネクションIDを格納したコネクション終了要求をコネクションマネージャサービス431に送信する。コネクションIDは、ステップS507において、コネクションマネージャサービス431から受領したものである。
【0202】
次に、サーバ側の処理について、図18の処理フローを参照して説明する。ステップS601において、コンテンツ管理部440(図6参照)のコンテンツディレクトリサービス442は、クライアントからのコンテンツ情報取得要求を受信する。ここではチューナコンテナおよびチャンネルアイテムのコンテンツ情報の取得要求があったものとする。
【0203】
ステップS602において、コンテンツディレクトリサービス442は、クライアントに対して、チューナコンテナおよびチャンネルアイテムのコンテンツ情報を送信する。図8(a)に示すチューナコンテナ対応のコンテンツ情報および、図8(b)に示すチャンネル毎のコンテンツ情報であり、チャンネルリストURL、ファンクションID(funcID)、チャンネル情報を含む情報である。
【0204】
ステップS603において、サーバのコンテンツ配信制御部430のコネクションマネージャサービス431は、クライアントからプロトコル情報取得要求を受信する。ステップS604において、コネクションマネージャサービス431は、プロトコル情報一覧をクライアントに送信する。コネクションマネージャサービス431がクライアントに送信するプロトコル情報一覧には、ライブストリーミングデータの配信が可能であることを示す情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]なるプロトコル情報が含まれる。
【0205】
次に、ステップS605において、コネクションマネージャサービス431は、クライアントに、現在、サーバ400に接続されている他のクライアントに関する情報を提供する。コネクションマネージャサービス431は、図10に示すコネクション管理テーブルに基づいてコネクション情報を提供する。
【0206】
ステップS606において、コネクションマネージャサービス431はクライアントから接続準備要求(PrepareForConnection)を受信する。クライアントが、チューナを適用したライブストリーミングデータの配信を希望している場合は、先にコンテンツディレクトリサービス(CDS)442が送信したコンテンツ情報としてのチューナコンテナに対応するコンテンツ情報に含まれるファンクションID(funcID)が、接続準備要求に含まれる。
【0207】
クライアントから接続準備要求を受信したコネクションマネージャサービス431は、接続準備要求に含まれるプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]に基づいて、チューナによる受信データのストリーミング配信の要求であると判断し、ステップS607において、コンテンツ対応制御部432内の1つのAVTインスタンス433をチューナコントロールインスタンスとして設定(アサイン)し、接続準備要求を送信してきたクライアントに対するコネクションIDと、チューナコントロールインスタンスとして設定(アサイン)し、AVTインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付け、図10に示すコネクション管理テーブルに対するエントリ設定を行い、ステップS608において、コネクションIDとAVTインスタンスIDをクライアントに通知する。
【0208】
ステップS609において、AVTインスタンスが、クライアントからURI(Uniform Resource Identifier)セット要求を受信すると、ステップS610において、AVTインスタンスIDとチャンネルリストURLとを、AVTインスタンスURIとしてAVTインスタンスにセットする。
【0209】
AVTインスタンスは、クライアントから指定されたAVTインスタンスIDと、チャンネルリストURLとに基づいて、自己の制御対象コンテンツおよびクライアントを識別することが可能となる。すなわち、AVTインスタンスIDを指定して各種の制御命令を送信するクライアントをAVTインスタンスに対応するクライアントとして認識し、チャンネルリストURLによって対応付けられるチューナが制御対象となる。チャンネルリストURLは、チューナコンテナの対応コンテンツであり、チャンネルリストURLをセットしたAVTインスタンスは、チューナ410の制御を実行するインスタンスとして設定されることになる。
【0210】
次にステップS611において、AVTインスタンスが、コンテンツ制御要求を受信すると、ステップS612において、AVTインスタンス433は、クライアントからの受信情報に基づくチューナ制御、例えばコンテンツ再生開始、終了、チャンネル切り替えなどの処理を実行する。AVTインスタンス433は、セットされたコンテンツURLに基づいて制御対象コンテンツを特定し、その特定された制御対象コンテンツを制御する。この場合は、コンテンツURLはチャンネルリストURLであり、チャンネルリストURLはチューナコンテナに対応するコンテンツ情報であり、AVTインスタンス433はチューナ410の制御を実行する。
【0211】
ステップS613において、チャンネル切り替え(Seek)要求を受信したと判定した場合は、ステップS614において、AVTインスタンス433はチューナ410を制御し、チューナのチャンネルを切り替える。このチャンネル切り替えの前後におけるサーバクライアント間のHTTPコネクションは、同一のURL、すなわち同じチャンネルリストURLに基づくHTTPコネクションであるため、サーバクライアント間においてはコネクションが維持されたままチャンネル切り替えが実行される。
【0212】
ステップS615において、コネクションIDを格納したコネクション終了要求をコネクションマネージャサービス431が受信したと判定した場合は、ステップS616において、クライアントからの要求に従って、サーバクライアント間のコネクションの切断を行い、さらに、図10を参照して説明したコネクション管理テーブルから対応エントリを削除する。
【0213】
なお、前述したように、サーバからクライアントに対して送信される画像または音声データを、例えばMPEG等の符号化データとした場合、クライアントから受信するチャンネル切り替えのタイミングに基づいて無条件に送信データの切り替えを実行すると、送信する符号化データパケットの不整合が発生する場合がある。例えばMPEG−2システムに規定されるパック(Pack)の構成パケットであるPES(Packetized Elementary Stream)パケットの一部を送信中に、チャンネル切り替えを実行して、送信データを変更すると、クライアントにおいてデコードする際の1つの処理単位であるパック(Pack)に欠落が発生し、再生エラーを発生させることになる。
【0214】
従って、サーバは、ステップS613において、チャンネル切り替え(Seek)要求を受信したと判定した場合は、クライアントからのチャンネル切り替え要求に基づく送信データの変更により、送信符号化データの整合性の保持が可能か否かを判定し、整合性が保持されないと判断した場合は、ステップS614のAVTインスタンス433のチューナ410の制御によるチャンネル切り替えの実行前にサーバクライアント間のデータストリーム配信用の接続コネクション、すなわち、チャンネルリストURLに基づくHTTPコネクションを切断し、クライアントに対して、イベント通知用コネクションを介して、データストリーム配信用の接続コネクションが切断されたことの通知処理を実行し、その後、ステップS614のAVTインスタンス433のチューナ410の制御によるチャンネル切り替えを実行する。
【0215】
クライアントは、サーバからコネクション切断通知を受信した場合は、再度、チャンネルリストURLに基づくHTTPコネクションを設定する処理、すなわち、チャンネルリストURLに基づくHTTP−GETメソッドをサーバに対して送信する。なお、AVTインスタンス(チューナコントロールインスタンス433)の設定状態は維持されているので、チューナコントロールインスタンス433の新たなアサイン、URIセット等の設定処理は省略可能である。
【0216】
なお、前述したように、サーバは、コーデック420のデータエンコード状況を検出し、検出情報をチューナコントロールインスタンス433に入力し、チューナコントロールインスタンス433のタイミング制御の下にチューナ410のチャンネル切り替えを実行する構成としてもよく、この場合は、ステップS613における、チャンネル切り替え(Seek)要求受信後、コーデック420のデータエンコード状況の検出情報に基づいて、チューナコントロールインスタンス433が、クライアントに対して送信する符号化データの整合性を保持可能なタイミングにおいて、ステップS614のAVTインスタンス(チューナコントロールインスタンス433)のチューナ410の制御によるチャンネル切り替えを実行する。
【0217】
サーバ側でこのようなチャンネル切り替えタイミングの制御を実行することで、クライアント側でのデコードエラーの発生が防止され、クライアント側ではチャンネル切り替え前のデータおよびチャンネル切り替え後のデータ再生を正常に実行することが可能となる。
【0218】
[ライブ録画処理]
次にサーバにおいてチューナ受信するコンテンツの録画処理、すなわち、サーバ内のハードディスク等の記憶手段にチューナ受信コンテンツを記録する処理について説明する。
【0219】
図19に、チューナ機能を持ち、チューナにより受信したデータをクライアントに配信する構成を持つとともに、サーバ内のハードディスク等のコンテンツ記憶部にコンテンツ記録を実行する処理構成を持つサーバ構成例を示す。
【0220】
図19に示す構成中の主要部分は、先に図6を参照して説明した構成と同様であり、サーバ400は、チューナ410、コーデック420、コンテンツ配信制御部(メディアレンダラー)430、コンテンツ管理部(メディアサーバ)440を有する。
【0221】
本構成例は、コンテンツ記憶部650、コンテンツ記憶部内のビデオカプセル651、コンテンツ配信制御部430内のコンテンツ対応制御部432に新たに設定したAVTインスタンス、すなわち、HDD、DVD、CDドライブ等の様々なデータ記憶部に対する制御を実行し、コンテンツ記録処理制御を行う記憶部制御処理部として機能する記憶部制御インスタンスとしてのビデオカプセルコントロールインスタンス652を有する点が異なっている。
【0222】
図19において、図6と共通の構成部については同一の参照符号を付しており、基本的に図6を参照して説明したと同様の処理を実行するものであるので説明を省略する。以下、図19を参照して、チューナ410の受信するコンテンツをライブでクライアントに提供しながら、ハードディスク等のコンテンツ記憶部650に設定されたライブデータ記憶用に設定されたオブジェクトとしてのビデオカプセル650にチューナ410の受信コンテンツを録画する処理について説明する。
【0223】
なお、説明においては、コンテンツ記憶部をハードディスク、記録コンテンツを画像データとした例を説明するが、コンテンツ記憶部は、ハードディスクに限らず、DVD,CD−R、フラッシュメモリ等、データ書き込み可能な記憶手段であればよく、また、記録コンテンツについても画像データに限らず、オーディオデータ、テキストデータ、プログラム等、データ形態を問わない。
【0224】
また、コンテンツ記録を行うコンテンツ格納オブジェクトとしてビデオカプセルを例として示すが、ビデオカプセルはコンテンツ格納オブジェクトの一例として示すものであり、オーディオデータカプセル等、コンテンツ格納オブジェクトであればどのようなものでもよい。以下では、コンテンツ記憶部をハードディスク、記録コンテンツを画像データ、コンテンツ格納オブジェクトをビデオカプセルとした例について説明する。
【0225】
ビデオカプセル651に録画を行うため、コンテンツ記憶部650の制御を実行するAVTインスタンスとして、ビデオカプセルコントロールインスタンス652が設定される。ビデオカプセルコントロールインスタンス652の制御の下にチューナ410からハードディスク等のコンテンツ記憶部650内のビデオカプセル651に対して、録画用のストリームが流れ、記録される。
【0226】
このような録画処理では、2つのコンテンツを扱う必要がある。すなわち、録画元(録画ソース)コンテンツと録画先(録画シンク)コンテンツである。この場合、チューナ受信コンテンツが録画元コンテンツとなり、ビデオカプセル格納コンテンツが録画先コンテンツとなる。
【0227】
チューナ受信コンテンツは、前述した説明から理解されるようにチャンネルリストURLによって特定される。録画先コンテンツは、ビデオカプセルURLによって特定されることになる。なお、ビデオカプセルURLが存在していない場合は、オブジェクト生成処理によってビデオカプセルを生成し、生成したビデオカプセルに対するコンテンツURLとしてのビデオカプセルURLを設定する処理が必要となる。
【0228】
録画中は、録画元(録画ソース)コンテンツは再生状態であり、録画先(録画シンク)コンテンツは録画状態に遷移する。このような遷移状態の管理、制御を実行するコンテンツ対応制御部として、チューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652が使用される。チューナコントロールインスタンス433は、録画ソース制御インスタンス(録画ソースAVTインスタンス)であり、ビデオカプセルコントロールインスタンス652は、録画シンク制御インスタンス(録画シンクAVTインスタンス)である。これらの制御インスタンスに、チャンネルリストURL、ビデオカプセルURLをセットする。セット処理は、先に図9の処理シーケンスにおいて説明したステップS107のAVTのURIセット処理と同様の処理である。なお、本例の処理シーケンスについては図20を参照して後段で説明する。
【0229】
なお、チューナ受信コンテンツを格納する領域が予め確保されており、コンテンツURLを持つ領域が既に存在する場合は、そのコンテンツURLをAVTインスタンスに設定して録画先コンテンツの制御インスタンスとして適用し、予め設定されている記憶領域にチューナ受信コンテンツを記録することが可能である。
【0230】
しかし、チューナ受信コンテンツを格納する領域が予め確保されていない場合は、クライアントは、サーバ400のコンテンツディレクトリサービス442に対してオブジェクト生成要求(CreateObject)を発行してチューナ受信コンテンツの格納オブジェクト(ビデオカプセル)を生成する。
【0231】
オブジェクト生成要求(CreateObject)を発行する際には、メタデータにより生成オブジェクト(ビデオカプセル)がライブ録画用であることを明示して作成する。この処理により、新規のビデオカプセルで何もコンテンツが格納されていない状態であっても、オブジェクト(ビデオカプセル)のプロパティ(res property)にコンテンツを表すURLをサーバがアサインする。詳細については、後述する。
【0232】
ライブ録画において必要となるAVTインスタンスの取得、すなわち、ビデオカプセル制御インスタンス652の取得、設定処理は、前述したチューナコントロールインスタンス433の設定と同様の手続きによって実行される。録画をサポートするサーバは、録画用と再生用を考慮して最低2つのAVTインスタンスをアサインする。それぞれのAVTインスタンスに対応して2つのコネクションIDが設定される。
【0233】
2つのコネクションIDが設定された状態において、2つのAVTインスタンス、すなわち、チューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652に対して、それぞれ録画元、録画先のコンテンツのURL、すなわちチャンネルリストURL、ビデオカプセルURLがセットされる。このセット処理は、図に示すステップS107のAVトランスポートURIセット(AVT:SetAVTransportURI)の手続きに従った処理として実行される。
【0234】
さらに、録画先コンテンツを扱うAVTインスタンス、すなわち、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの指定処理(AVT:X_SetAVTRecordInputURI action)を実行する。この録画元コンテンツのURIの指定処理は、クライアントから、録画先コンテンツを扱うAVTインスタンスの識別子、すなわちビデオカプセルコントロールインスタンスIDと、録画元コンテンツURL、すなわち、チャンネルリストURLを格納した制御要求としてビデオカプセルコントロールインスタンス652に対して発行される。
【0235】
これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理(X_Record action)を行うときに何が録画されるかが決まる。
【0236】
なお、録画元コンテンツ、すなわち、チャンネルリストURLに対応するチューナ受信コンテンツに対し再生要求(AVT:Play action)を送信すると、クライアントは録画元コンテンツURLからストリーミングを得ることが可能になる。これは、先に説明した図9のシーケンス図のステップS108の再生要求に相当する。
【0237】
録画先コンテンツ、すなわち、ビデオカプセルURLの設定されたビデオカプセルコントロールインスタンス652に対してクライアントが、録画開始要求(AVT:X_Record action)を送信すると、ビデオカプセルコントロールインスタンス652の制御の下に録画が開始される。
【0238】
なお、録画先コンテンツすなわち、ビデオカプセルURLの設定されたビデオカプセルコントロールインスタンス652に対してクライアントからポーズ要求(AVT::Pause action)を送ると、録画ポーズを行うことができる。例えばCMカット等に利用可能である。
【0239】
録画元コンテンツを切り替えたい場合、チャンネル変更など録画元のコンテンツURL、すなわちチャンネルリストURLに対応するチャンネルリストに記載されたチャンネルの範囲であれば、チャンネルを変更しても、そのまま録画を継続することができる。タイムシフト再生は、録画元コンテンツURLでなく、録画先コンテンツURLに対してストリーミングを行うことで可能である。タイムシフト再生の詳細については後述する。
【0240】
新規ビデオカプセルを追加し、そこを録画先コンテンツとして設定する方法について説明する。新規オブジェクト作成は、クライアントが、サーバ400のコンテンツディレクトリサービス442に対してオブジェクト生成要求(CreateObject)を発行する。これにより、チューナ受信コンテンツの格納オブジェクト(ビデオカプセル)が生成される。
【0241】
チューナ受信コンテンツの格納オブジェクト(ビデオカプセル)に対応するメタデータとしては、[記録状態(recordStatus)]、[録画終了日時]、[記録クオリティレベル]の設定が可能となる。なお、これらの情報のクライアントからの指定は任意である。これらを指定した場合には、ビデオカプセルコントロールインスタンス652の制御の下に指定情報に従った処理がなされ、指定がない場合は、予めデフォルトとして設定された制御情報に従って処理が実行される。
【0242】
オブジェクト(ビデオカプセル)生成処理において、サーバのコンテンツディレクトリサービス442が、[記録状態(recordStatus)]が未記録(NotYet)であるオブジェクトの作成を要求された場合は、サーバはこれをライブ録画用のオブジェクトだと判断し、実際にはコンテンツが無くとも新規生成のオブジェクト(ビデオカプセル)にコンテンツURL(ビデオカプセルURL)を設定する。
【0243】
オブジェクト(ビデオカプセル)生成処理において、サーバは、ライブ録画用のビデオカプセルに対応して例えば、以下のメタデータの設定を行う。
[記録状態(recordStatus)]=未記録(NotYet)
[記録クオリティレベル]=設定またはデフォルト値
[リソース(res)]=タイムシフト再生をサポートしない場合、file:で始まる内部接続用URL、タイムシフト再生をサポートしている場合はhttpで始まる、内部接続とストリーミング兼用のURL
[プロトコル情報]
Schema: タイムシフト再生をサポートしているならhttp−get、そうでないならinternal、
Network: http−getなら*, internalならIP address、
MIME−Type: クライアントに指定されて受け入れる場合はその値、指定されないなら*、もしくはデフォルトの値、
追加情報(AddiotnalInfo: func−id=<HDDを表す値>)
[記録クオリティレベル(recordQualityLevel)=設定またはデフォルト値
【0244】
プロトコル情報中の追加情報には、コンテンツ記憶部650の制御によるコンテンツ処理を行うことを示すファンクションIDが設定される。この場合は、コンテンツ記憶部650はハードディスクであり、HDDの制御を伴うことを示している。ファンクションIDは、前述したようにコンテンツの処理に際しての制御対象を示すものであり、DVD格納コンテンツに対応する場合は、DVDを示すファンクションID、チューナ制御を行う場合は、チューナを示すファンクションIDがコンテンツのプロパティ情報中に設定される。
【0245】
以下に、オブジェクト生成要求(CreateObject)において作成されるメタデータの例を示す。
<item id=”vc103” parentID=”cab32” restricted=”1”>
<dc:title>次回録画用ファイル</dc:title>
<upnp:class>object.item.videoItem.sonyVideoCapsule</upnp:class>
<av:recordQualityLevel>4</av:recordQualityLevel>
<av:recordStatus>NotYet</av:recordStatus>
...
<res protocolInfo=”internal:1.2.3.4:video/mpeg:func−id=hdd”
av:codec=”MPEG2V” duration=”00:00:00.000”…>
file:/cabinet32/recording−001
</res>
</item>
【0246】
なお、クライアントは、オブジェクト更新(UpdateObject)によって、これらの設定値を変更することができる。
【0247】
例えば、自動的に録画を終了させるためにプロパティを追加することが可能であり、記録終了日時をプロパティ情報として追加可能である。以下に例を示す。
<item id=”vc103” parentID=”cab32” restricted=”1”>
<dc:title>次回録画用ファイル</dc:title>
<upnp:class>object.item.videoItem.sonyVideoCapsule</upnp:class>
<av:recordQualityLevel>4</av:recordQualityLevel>
<av:recordStatus>NotYet</av:recordStatus>
<av:recordEndDateTime>2003−03−14T22:00:000</av:recordEndDateTime>
...
<res protocolInfo=”internal:1.2.3.4:video/mpeg:func−id=hdd”
av:codec=”MPEG2V” duration=”00:00:00.000”…>
file:/cabinet32/recording−001
</res>
</item>
【0248】
上述の例において、
<av:recordEndDateTime>2003−03−14T22:00:000</av:recordEndDateTime>
が追加された記録終了日時データである。
【0249】
次に、タイムシフト再生について説明する。タイムシフト再生は、録画中のコンテンツの録画時点よりも過去の部分をストリーミング再生する処理を言う。タイムシフト再生は、ライブストリーミングのように録画元URL(チャンネルリストURL)からではなく、録画先のURL(ビデオカプセルURL)からのストリーミングを行うことで可能となる。このタイムシフト再生は、通常のビデオカプセルと同様のコンテンツ配信処理動作を行うことになる。ただし、可能なシークのレンジ、すなわち配信コンテンツの時間的な早送りや巻き戻し再生の可能範囲は刻々と変化する。このシークのレンジ変化についてはサーバからのイベント通知によってクライアントは、知ることができる。
【0250】
イベント通知により、現時点でのシークレンジと、サーバでの現在時刻を知ることができる。クライアントはイベント通知を受信したクライアントにおける時刻と合わせることで、この後のシークレンジを常に把握することができる。なお、タイムシフト再生の有無に関わらず録画本体の終了やポーズについては、イベント通知により録画先AVT(ビデオカプセルコントロールインスタンス652から通知される。
【0251】
図20を参照して、チューナ受信コンテンツのライブストリーミングおよび、ライブ録画を併せて行う場合の処理シーケンスについて説明する。
【0252】
まず、クライアントは、サーバが保有し、クライアントに提供可能なコンテンツを調べるために、ステップS701において、ブラウズまたはサーチ処理により、コンテンツ情報を取得する。コンテンツ検索を実行しようとするクライアントは、コンテンツ管理ディレクトリの階層やオブジェクト集合に対応するクラスを指定した「サーチ」、あるいは、特定のオブジェクトの指定としての「ブラウズ」をサーバに要求することで、コンテンツの情報を取得することが可能である。プラウズまたはサーチは、コンテンツ管理部440のコンテンツディレクトリサービス442に対して実行され、コンテンツディレクトリサービス442がメタデータを格納したデータベース443から各オブジェクト対応のメタデータに基づくXMLデータを生成してコンテンツ情報としてクライアントに提供する。
【0253】
チューナコンテナに関するコンテンツ情報は、図8(a)に示すチューナコンテナ対応のコンテンツ情報および、図8(b)に示すチャンネル毎のコンテンツ情報に基づく情報がクライアントに送信される。
【0254】
クライアントは、サーバから受信するコンテンツ情報を記述したXMLデータに基づいてコンテンツ情報をディスプレイに表示する。これは、先に、図4を参照して説明したような表示情報である。
【0255】
クライアントは、図8(a)(b)に示すチューナコンテナおよびチャンネルアイテムに対応するコンテンツ情報に基づいて、
チャンネルリストURL
ファンクションID(funcID)
チャンネル情報
を取得する。
【0256】
この時点で、録画用のビデオカプセルの情報を取得し、ビデオカプセルの情報に含まれるビデオカプセルURLをチューナ受信データの録画用ビデオカプセルURLとして選択することも可能であるが、ビデオカプセルが設定されていない場合は、ステップS702においてビデオカプセルの生成処理を行う。
【0257】
クライアントは、オブジェクト生成要求をコンテンツディレクトリサービス442に送信し、ビデオカプセルの新規作成を行う。この際、メタデータとして[記録状態(recordStatus)]、[録画終了日時]、[記録クオリティレベル]の設定が可能となる。なお、これらの情報のクライアントからの指定は任意である。[記録状態(recordStatus)]の設定は未記録(NotYet)とする。
【0258】
オブジェクト(ビデオカプセル)生成処理において、サーバのコンテンツディレクトリサービス442が、[記録状態(recordStatus)]が未記録(NotYet)であるオブジェクトの作成を要求された場合は、サーバはこれをライブ録画用のオブジェクトだと判断し、実際にはコンテンツが無くとも新規生成のオブジェクト(ビデオカプセル)にコンテンツURL(ビデオカプセルURL)を設定する。
【0259】
クライアントは、次に、ステップS703において、コンテンツ配信制御部430のコネクションマネージャサービス431に対して、プロトコル情報取得要求を送信する。これは、コンテンツ配信制御部430に入力可能なプロトコル情報、すなわち、コンテンツ配信制御部430の処理可能なプロトコル情報の一覧を要求する処理である。
【0260】
ステップS704において、コネクションマネージャサービス431は、プロトコル情報一覧をクライアントに送信する。このプロトコル情報一覧には、例えばビデオデータのプロトコルとしてのMPEGや、オーディオデータのATRAC等、コンテンツ配信制御部430で処理可能な様々なプロトコル情報が含まれる。
【0261】
チューナ410の受信データを配信可能なサーバのコネクションマネージャサービス431がクライアントに送信するプロトコル情報一覧には、ライブストリーミングデータの配信が可能であることを示す情報が含まれる。具体的には、[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]なるプロトコル情報が含まれる。すなわち、schema欄(第1カラム)が[internal]であり、チューナ制御処理を実行するコンテンツであることを示すファンクションID(func−id=t01)が含まれる。このプロトコル情報は、内部のコンテンツ管理部(メディアサーバ)440との論理コネクションが、以下の接続準備(PrepareForConnection)によって可能であることを示す。
【0262】
さらに、コネクションマネージャサービス431がクライアントに送信するプロトコル情報一覧には、ライブストリーミングデータの録画が可能であることを示す情報が含まれる。具体的には、[internal:1.2.3.4:video/mpeg:func−id=hdd]なるプロトコル情報が含まれる。すなわち、schema欄(第1カラム)が[internal]であり、ハードディスク制御処理を実行するコンテンツであることを示すファンクションID(func−id=hdd)が含まれる。このプロトコル情報は、内部のコンテンツ管理部(メディアサーバ)440との論理コネクションが、以下に説明する接続準備(PrepareForConnection)によって可能であることを示す。
【0263】
前述したように、ファンクションIDは、チューナ制御、DVD制御、ハードディスク制御等、コンテンツ配信のための制御対象毎に設定されるIDであり、ステップS101においてクライアントがブラウズまたはサーチ処理により、コンテンツディレクトリサービス442から取得したコンテンツ情報にも含まれる。ここでは、ファンクションID[func−id=t01]がチューナ410を適用したコンテンツ配信に対応するファンクションIDとして設定されている。
【0264】
次に、ステップS705において、クライアントは、コネクションマネージャサービス431から、現在、サーバ400に接続されている他のクライアントに関する情報を取得する。コネクションマネージャサービス431は、サーバに接続しているクライアントに対応するコネクションIDをクライアント識別子、および各クライアントに配信されるコンテンツに対応するプロトコル情報等を対応付けた先に説明した図10に示すコネクション管理テーブルを保持してコネクション管理を実行している。クライアントからのコネクション情報の取得要求に応じて、これらの情報をクライアントに提供する。この処理については、後述する。なお、このコネクション情報通知処理は、クライアントが他のクライアントの接続状況を確認するために実行するものであり、省略してもよい。
【0265】
ステップS706において、クライアントは、コネクションマネージャサービス431に対して、接続準備要求(PrepareForConnection)を送信する。クライアントが、チューナを適用したライブストリーミングデータの配信処理と、ライブストリーミングデータの記録処理を希望する場合は、チューナ受信処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]、および、ハードディスク記録処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]を送信する。
【0266】
クライアントから接続準備要求(PrepareForConnection)を受信したコネクションマネージャサービス431は、接続準備要求に含まれるチューナ対応のプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]に基づいて、チューナによる受信データのストリーミング配信の要求であると判断し、コンテンツ対応制御部432内の1つのAVTインスタンス433をチューナコントロールインスタンスとして設定(アサイン)し、接続準備要求(PrepareForConnection)のあったクライアント460とチューナコントロールインスタンスとのコネクションIDと、チューナコントロールインスタンスとして設定(アサイン)したAVTインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付けを行う。
【0267】
さらに、コネクションマネージャサービス431は、接続準備要求に含まれるハードディスク対応のプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]に基づいて、チューナによる受信データの記録要求であると判断し、コンテンツ対応制御部432内の1つのAVTインスタンス652をビデオカプセルコントロールインスタンスとして設定(アサイン)し、接続準備要求(PrepareForConnection)のあったクライアント460とビデオカプセルコントロールインスタンスとのコネクションIDと、ビデオカプセルコントロールインスタンスとして設定(アサイン)したAVTインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付けを行う。
【0268】
コネクションマネージャサービス431は、図21に示すようにコネクション管理テーブルのエントリ設定を行う。すなわち、同一のクライアントAについて、チューナ受信データのストリーミング配信対応のプロトコル情報681と、チューナ受信データの記録処理対応のプロトコル情報682とがそれぞれのコネクションID、AVTインスタンスIDに対応付けたエントリが設定される。
【0269】
ステップS707において、コネクションマネージャサービス431は、クライアントに対して、アサインした2つのAVTインスタンスの識別子であるチューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652の2つのAVTインスタンスIDおよび、クライアントサーバ間のコネクションに対して設定した2つのコネクションID情報を通知する。クライアントはこれらの情報をメモリに格納する。
【0270】
ステップS708において、クライアントは、コネクションマネージャサービス431によってアサインされた2つのAVTインスタンスによるコンテンツ配信制御および記録処理を行わせるための処理として、アサインされたAVTインスタンスに対して、URI(Uniform Resource Identifier)セット要求を発行する。
【0271】
チューナコントロールインスタンスに対してセットするURIには、コネクションマネージャサービス431から通知されたチューナコントロールインスタンスIDと、ステップS703の処理において取得したチューナコンテナに対応するコンテンツ情報に含まれるチャンネルリストURLが含まれる。
【0272】
また、ビデオカプセルコントロールインスタンスに対してセットするURIには、コネクションマネージャサービス431から通知されたビデオカプセルコントロールインスタンスIDと、ステップS703の処理において取得したビデオカプセルURLが含まれる。
【0273】
チューナコントロールインスタンス433は、クライアントから指定されたAVTインスタンスIDと、チャンネルリストURLとに基づいて、自己の制御対象コンテンツおよびクライアントを識別することが可能となる。一方、ビデオカプセルコントロールインスタンス652は、クライアントから指定されたAVTインスタンスIDと、ビデオカプセルURLとに基づいて、自己の制御対象コンテンツおよびクライアントを識別することが可能となる。
【0274】
チャンネルリストURLは、チューナコンテナの対応コンテンツであり、チャンネルリストURLをセットしたAVTインスタンスは、チューナ410の制御を実行するインスタンスとして設定されることになる。ビデオカプセルURLは、ビデオカプセルオブジェクトの対応コンテンツであり、ビデオカプセルURLをセットしたAVTインスタンスは、ビデオカプセル651の制御を実行するインスタンスとして設定されることになる。
【0275】
さらに、ステップS708では、録画先コンテンツを扱うAVTインスタンス、すなわち、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの指定処理(AVT:X_SetAVTRecordInputURI action)を実行する。この録画元コンテンツのURIの指定処理は、クライアントから、録画先コンテンツを扱うAVTインスタンスの識別子、すなわちビデオカプセルコントロールインスタンスIDと、録画元コンテンツURL、すなわち、チャンネルリストURLを格納した制御要求としてビデオカプセルコントロールインスタンス652に対して実行される。これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理(X_Record action)を行うときに何が録画されるかが決まる。
【0276】
ここまでで、各AVTインスタンスのセット処理が完了し、クライアントは各AVTインスタンスに対して様々な制御要求を行うことができる。ステップS709では、再生(Play)要求をチューナコントロールインスタンス433に対して発行している。この制御要求は、例えばSOAP(Simple Object Access Control)プロトコルが利用される。SOAPに基づいて、クライアントは、XMLデータに従った記述データを生成しチューナコントロールインスタンス433に送信する。
【0277】
AVTインスタンス433は、クライアントからの受信情報に基づく制御、例えばコンテンツ再生開始、終了、チャンネル切り替えなどの処理を実行する。AVTインスタンス433は、セットされたコンテンツURLに基づいて制御対象コンテンツを特定し、その特定された制御対象コンテンツを制御する。この場合は、コンテンツURLはチャンネルリストURLであり、チャンネルリストURLはチューナコンテナに対応するコンテンツ情報であり、チューナコントロールインスタンス433はチューナ410の制御を実行する。
【0278】
ステップS709の、再生(Play)要求をチューナコントロールインスタンス433が受領すると、チューナコントロールインスタンス433はチューナ410を制御し、チューナ受信データのクライアントに対する送信を開始する。
【0279】
ステップS710においては、チャンネル設定(Seek)要求をAVTインスタンスに対して発行している。この要求には、AVTインスタンスIDとチャンネル番号が含まれる。チャンネル設定(Seek)要求をチューナコントロールインスタンス433が受領すると、チューナコントロールインスタンス433はチューナ410を制御し、チューナのチャンネルを設定して受信データをクライアントに送信する。
【0280】
さらに、ステップS711において、クライアントはビデオカプセルコントロールインスタンス652に対して録画開始要求(AVT:X_Record action)を送信すると、ビデオカプセルコントロールインスタンス652の制御の下に録画が開始される。
【0281】
なお、ビデオカプセルのメタデータには、前述したように[録画終了日時]、[記録クオリティレベル]の設定情報があり、ビデオカプセルコントロールインスタンス652は、設定情報に従って、記録処理を行う。
【0282】
ステップS712において、チューナコントロールインスタンス433の制御の下にライブストリーミング配信が実行され、ステップS713において、ビデオカプセルコントロールインスタンスの制御の下にコンテンツ記憶部650のビデオカプセル651に対するライブコンテンツ記録が実行される。ステップS714は、イベント通知処理(SENA)がコンテンツ配信と並列して実行されることを示している。前述したようにイベントとは、例えばステレオ/モノラルの切り替え等のように配信コンテンツに関する情報であり、クライアントからのイベントURLに基づくイベント通知要求に基づいてサーバが様々なイベント情報を通知する処理である。
【0283】
なお、録画先コンテンツすなわち、ビデオカプセルURLの設定されたビデオカプセルコントロールインスタンス652に対してクライアントからポーズ要求(AVT::Pause action)を送ると、録画ポーズを行うことができる。例えばCMカット等に利用可能である。
【0284】
録画元コンテンツを切り替えたい場合、チャンネル変更など録画元のコンテンツURL、すなわちチャンネルリストURLに対応するチャンネルリストに記載されたチャンネルの範囲であれば、チャンネルを変更要求をチューナコントロールインスタンス433に発行するのみで、そのまま録画を継続することができる。タイムシフト再生は、録画元コンテンツURLでなく、録画先コンテンツURLに対応するビデオカプセルコントロールインスタンス652に対してストリーミング要求を行うことで可能である。
【0285】
[ライブ録画におけるサーバおよびクライアントの処理フロー]
チューナ受信データのライブストリーミング処理およびライブ録画処理を行う場合のサーバおよびクライアント各々の処理手順について、図22および図23のフローを参照して説明する。まず、クライアントにおける処理を図22の処理フローを参照して説明する。
【0286】
クライアント装置は、ステップS721において、ブラウズまたはサーチ処理により、コンテンツ情報の取得要求を実行する。これは、コンテンツ管理部440(図19参照)のコンテンツディレクトリサービス442に対して実行する。
【0287】
ステップS722において、コンテンツ情報を受信する。ここでは、チューナを介したストリーミングデータの配信を実行するためチューナコンテナおよびチャンネルアイテムのコンテンツ情報を取得するものであり、図8(a)に示すチューナコンテナ対応のコンテンツ情報および、図8(b)に示すチャンネル毎のコンテンツ情報に基づく情報を取得する。この処理により、チャンネルリストURL、ファンクションID、チャンネル情報が取得される。
【0288】
ステップS723では、ビデオカプセルの生成処理を行う。なお、すでにビデオカプセルまたは他の記録領域が設定されている場合は、ステップS723のオブジェクト生成は省略してもよい。オブジェクト生成を行う場合は、クライアントは、オブジェクト生成要求をコンテンツディレクトリサービス442に送信し、ビデオカプセルの新規作成を行う。この際、メタデータとして[記録状態(recordStatus)]=未記録(NotYet)、[録画終了日時]、[記録クオリティレベル]の設定が可能である。
【0289】
クライアントは、次に、ステップS724において、コンテンツ配信制御部430のコネクションマネージャサービス431に対して、プロトコル情報取得要求を送信する。これは、コンテンツ配信制御部430に入力可能なプロトコル情報、すなわち、コンテンツ配信制御部430の処理可能なプロトコル情報の一覧を要求する処理である。
【0290】
ステップS725において、クライアントは、ファンクションIDを含むプロトコル情報を受信する。チューナ制御によるライブストリーミングを示すプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]、および、ライブストリーミングデータ録画を示すプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]が含まれる。
【0291】
次に、ステップS726において、クライアントは、コネクションマネージャサービス431から、現在、サーバ400に接続されている他のクライアントに関する情報を取得する。サーバの有するコネクション管理テーブル(図10、図21参照)に基づく情報である。
【0292】
ステップS727において、クライアントは、コネクションマネージャサービス431に対して、接続準備要求(PrepareForConnection)を送信する。クライアントが、チューナを適用したライブストリーミングデータの配信処理と、ライブストリーミングデータの記録処理を希望する場合は、チューナ受信処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]、および、ハードディスク記録処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]を送信する。
【0293】
ステップS728において、クライアントは、コネクションマネージャサービス431からアサインした2つのAVTインスタンスの識別子であるチューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652の2つのAVTインスタンスIDおよび、クライアントサーバ間のコネクションに対して設定した2つのコネクションID情報を受信する。クライアントはこれらの情報をメモリに格納する。
【0294】
ステップS729において、クライアントは、コネクションマネージャサービス431によってアサインされた2つのAVTインスタンスによるコンテンツ配信制御および記録処理を行わせるための処理として、アサインされたAVTインスタンスに対して、URI(Uniform Resource Identifier)セット要求を発行する。チューナコントロールインスタンスに対してセットするURIには、コネクションマネージャサービス431から通知されたチューナコントロールインスタンスIDと、チャンネルリストURLが含まれ、ビデオカプセルコントロールインスタンスに対してセットするURIには、ビデオカプセルコントロールインスタンスIDと、ビデオカプセルURLが含まれる。
【0295】
さらに、ステップS729では、録画先コンテンツを扱うAVTインスタンス、すなわち、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの指定処理(AVT:X_SetAVTRecordInputURI action)を実行する。この録画元コンテンツのURIの指定処理は、クライアントから、録画先コンテンツを扱うAVTインスタンスの識別子、すなわちビデオカプセルコントロールインスタンスIDと、録画元コンテンツURL、すなわち、チャンネルリストURLを格納した制御要求としてビデオカプセルコントロールインスタンス652に対して実行される。これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理(X_Record action)を行うときに何が録画されるかが決まる。
【0296】
ここまでで、各AVTインスタンスのセット処理が完了する。ステップS730では、チューナコントロールインスタンス433に対してストリーミングデータの配信開始要求を送信する。さらに、ステップS731において、クライアントはビデオカプセルコントロールインスタンス652に対して録画開始要求(AVT:X_Record action)を送信する。この処理により、ビデオカプセルコントロールインスタンス652の制御の下に録画が開始される。
【0297】
ステップS732においてクライアント側ユーザがチャンネル切り替えを行いたいと判断した場合は、ステップS734において、クライアントはチャンネル切り替え(Seek)要求をチューナコントロールインスタンス433に対して発行する。この制御要求には、AVTインスタンスIDと切り替えチャンネル番号を格納する。ステップS733において、接続終了すると判断した場合は、チューナコントロールインスタンス433に対応するコネクションIDを格納したコネクション終了要求をコネクションマネージャサービス431に送信する。コネクションIDは、ステップS725において、コネクションマネージャサービス431から受領したものである。ただし、ストリーミングデータの配信が終了してもデータ記録は、先にビデオカプセルのメタデータとして設定した記録終了時間になるまで記録処理が続けられることになる。
【0298】
次に、図23の処理フローを参照してサーバ側の処理手順について説明する。ステップS751において、コンテンツ管理部440(図19参照)のコンテンツディレクトリサービス442は、クライアントからのコンテンツ情報取得要求を受信する。ここではチューナコンテナおよびチャンネルアイテムのコンテンツ情報の取得要求があったものとする。
【0299】
ステップS752において、コンテンツディレクトリサービス442は、クライアントに対して、チューナコンテナおよびチャンネルアイテムのコンテンツ情報を送信する。図8(a)に示すチューナコンテナ対応のコンテンツ情報および、図8(b)に示すチャンネル毎のコンテンツ情報であり、チャンネルリストURL、ファンクションID(funcID)、チャンネル情報を含む情報である。
【0300】
ステップS753において、クライアントからの要求に基づいてビデオカプセルの生成処理を行う。オブジェクト(ビデオカプセル)生成処理において、サーバのコンテンツディレクトリサービス442が、[記録状態(recordStatus)]が未記録(NotYet)であるオブジェクトの作成を要求された場合は、サーバはこれをライブ録画用のオブジェクトだと判断し、実際にはコンテンツが無くとも新規生成のオブジェクト(ビデオカプセル)にコンテンツURL(ビデオカプセルURL)を設定する。
【0301】
ステップS754において、コンテンツ配信制御部430のコネクションマネージャサービス431が、クライアントからのプロトコル情報取得要求を受信すると、ステップS755において、コネクションマネージャサービス431は、プロトコル情報一覧をクライアントに送信する。このプロトコル情報一覧には、チューナ制御によるライブストリーミングを示すプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]、および、ライブストリーミングデータ録画を示すプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]が含まれる。
【0302】
次に、ステップS756において、クライアントの要求に応じて、コネクションマネージャサービス431が、現在、サーバ400に接続されている他のクライアントに関する情報を提供する。コネクション管理テーブル(図10、図21参照)に基づく情報である。
【0303】
ステップS757において、コネクションマネージャサービス431は、クライアントから接続準備要求(PrepareForConnection)を受信する。クライアントが、チューナを適用したライブストリーミングデータの配信処理と、ライブストリーミングデータの記録処理を希望する場合は、チューナ受信処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]、および、ハードディスク記録処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]を受信することになる。
【0304】
クライアントから接続準備要求(PrepareForConnection)を受信したコネクションマネージャサービス431は、ステップS758において、接続準備要求に含まれるチューナ対応のプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]に基づいて、チューナによる受信データのストリーミング配信の要求であると判断し、コンテンツ対応制御部432内の1つのAVTインスタンス433をチューナコントロールインスタンスとして設定(アサイン)し、接続準備要求(PrepareForConnection)のあったクライアント460とチューナコントロールインスタンスとのコネクションIDと、チューナコントロールインスタンスとして設定(アサイン)したAVTインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付けを行う。
【0305】
さらに、コネクションマネージャサービス431は、接続準備要求に含まれるハードディスク対応のプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]に基づいて、チューナによる受信データの記録要求であると判断し、コンテンツ対応制御部432内の1つのAVTインスタンス652をビデオカプセルコントロールインスタンスとして設定(アサイン)し、接続準備要求(PrepareForConnection)のあったクライアント460とビデオカプセルコントロールインスタンスとのコネクションIDと、ビデオカプセルコントロールインスタンスとして設定(アサイン)したAVTインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付けを行う。この結果、図21に示すコネクション管理テーブルのエントリが生成される。
【0306】
ステップS759において、コネクションマネージャサービス431は、クライアントに対して、アサインした2つのAVTインスタンスの識別子であるチューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652の2つのAVTインスタンスIDおよび、クライアントサーバ間のコネクションに対して設定した2つのコネクションID情報を通知する。
【0307】
ステップS760において、チューナコントロールインスタンス433、およびビデオカプセルコントロールインスタンス652の各々は、クライアントからURI(Uniform Resource Identifier)セット要求を受信する。
【0308】
ステップS761において、チューナコントロールインスタンスには、コネクションマネージャサービス431から通知されたチューナコントロールインスタンスIDと、チャンネルリストURLがセットされ、ビデオカプセルコントロールインスタンスには、ビデオカプセルコントロールインスタンスIDと、ビデオカプセルURLがセットされる。さらに、ステップS761では、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの指定処理(AVT:X_SetAVTRecordInputURI action)が実行される。ビデオカプセルコントロールインスタンス652は、クライアントから、録画先コンテンツを扱うAVTインスタンスの識別子、すなわちビデオカプセルコントロールインスタンスIDと、録画元コンテンツURL、すなわち、チャンネルリストURLを受信し、これをセットする。これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理(X_Record action)を行うときに何が録画されるかが決まる。
【0309】
ここまでで、各AVTインスタンスのセット処理が完了し、クライアントは各AVTインスタンスに対して様々な制御要求を行うことができる。ステップS762では、チューナコントロールインスタンス433がクライアントからの制御要求、例えば再生開始を受領し、ステップS763においてチューナ410の制御により、コンテンツのストリーミング配信を開始する。チューナコントロールインスタンス433は、クライアントからの受信情報に基づく制御、例えばコンテンツ再生開始、終了、チャンネル切り替えなどの処理を実行する。
【0310】
さらに、ステップS764において、ビデオカプセルコントロールインスタンス652がクライアントから制御要求、例えば録画開始要求(AVT:X_Record action)を受信し、ステップS765において、ビデオカプセルコントロールインスタンス652の制御の下にコンテンツ記憶部650の制御が実行されて、チューナ受信コンテンツがビデオカプセル651に入力され、録画が開始される。
【0311】
ステップS766において、チャンネル切り替え(Seek)要求を受信したと判定した場合は、ステップS767において、チューナコントロールインスタンス433はチューナ410を制御し、チューナのチャンネルを切り替える。このチャンネル切り替えの前後におけるサーバクライアント間のHTTPコネクションは、同一のURL、すなわち同じチャンネルリストURLに基づくHTTPコネクションであるため、サーバクライアント間においてはコネクションが維持されたままチャンネル切り替えが実行される。
【0312】
また、コンテンツの記録処理は、チャンネル切り替えとは無関係に実行され、切り替え後のチャンネルに対応するコンテンツがビデオカプセルに継続して入力され記録が継続して実行される。
【0313】
ステップS768において、チューナコントロールインスタンスに対応するコネクションIDを格納したコネクション終了要求をコネクションマネージャサービス431が受信したと判定した場合は、ステップS769において、クライアントからの要求に従って、サーバクライアント間のコネクションの切断を行い、さらに、図21を参照して説明したコネクション管理テーブルからチューナコントロールインスタンスに対応するエントリを削除する。ストリーミングデータの配信が終了してもデータ記録は、先にビデオカプセルのメタデータとして設定した記録終了時間になるまで記録処理が続けられることになる。
【0314】
なお、クライアントは、明示的な記録終了コマンドをビデオカプセルコントロールインスタンス652に発行することによってコンテンツの記録処理を終了させることもできる。この処理が行われた場合であっても、チューナコントロールインスタンス433の制御は独立に実行される。
【0315】
このように、本構成においては、チューナの制御の下にチューナ受信コンテンツのストリーミング配信制御を実行するチューナコントロールインスタンスと、ハードディスク等のコンテンツ記憶部の制御のもとにチューナ受信コンテンツの記録処理を実行するビデオカプセルコントロールインスタンスとを独立に設定し、それぞれに処理制御対象を特定可能なコンテンツURLとしてのチャンネルリストURL、ビデオカプセルURLを設定し、また、制御インスタンス(AVTインスタンス)の識別子である制御インスタンスIDを設定して、クライアントからの要求を個別に受信する構成としたので、クライアント要求に従った独立した処理が可能となる。
【0316】
[サーバ主導型ライブ録画処理]
前述したライブ録画処理においては、図19に示すビデオカプセルコントロールインスタンス652に対して、クライアントの要求を出力することにより、記録先(記録シンク)コンテンツ識別子(ビデオカプセルURL)の設定処理や、ビデオカプセルコントロールインスタンス652に対する記録元(記録ソース)コンテンツ識別子(チャンネルリストURL)の通知処理を実行していた。
【0317】
すなわち、図20のシーケンス図に示すステップS706において、クライアントは、コネクションマネージャサービス431に対して、接続準備要求(PrepareForConnection)を送信し、チューナ受信処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:application/x−av−tuner−content:func−id=t01]、および、ハードディスク記録処理コンテンツに対応するプロトコル情報[internal:1.2.3.4:video/mpeg:func−id=hdd]を送信し、ステップS707において、サーバから、チューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652の2つの制御インスタンス(AVTインスタンス)IDおよび、クライアントサーバ間のコネクションに対して設定した2つのコネクションID情報を受信し、ステップS708において、クライアントから、2つの制御インスタンス(AVTインスタンス)に対して、URI(Uniform Resource Identifier)セット要求を発行することで、制御インスタンスのセットアップ処理を実行していた。
【0318】
以下、説明する構成例は、ライブストリーミングを実行中、クライアントがサーバに対してコンテンツ格納オブジェクト(ビデオカプセル)の生成要求を発行するのみで、サーバが各種の設定を内部で実行し、コンテンツの記録を開始する処理例である。サーバ構成は、図19に示すと同様であり、以下の説明では、図19を参照し、図19に示す参照符号を適用して説明する。
【0319】
サーバ400は、クライアントからの要求に基づいて、コンテンツ格納オブジェクト(ビデオカプセル)の生成を実行するとともに、生成したコンテンツ格納オブジェクトの制御インスタンス、すなわち、ビデオカプセルコントロールインスタンス652のアサイン処理、およびURL設定処理をサーバ内で実行する。この処理により、チューナコントロールインスタンス433の制御の下に実行されているライブストリーミングコンテンツのビデオカプセル格納処理を、クライアントによる制御インスタンス設定処理を介在させることなく行うことが可能となる。
【0320】
この処理態様では、クライアントが、ビデオカプセルコントロールインスタンス652に対するURL設定処理の要求を行う必要がなく、クライアントの処理負荷が軽減される。
【0321】
図24に、コンテンツのライブ録画の一連のシーケンスについて説明する。この処理は、サーバにおいてチューナによりコンテンツ受信を実行している場合の処理である。例えば、サーバクライアント間において、先に図9を参照して説明したライブストリーミングのための一連の処理を実行してチャンネルリストURLが設定されたチューナコントロールインスタンス433(図19参照)の制御の下にライブストリーミングが実行されているものとする。
【0322】
クライアントは、ライブストリーミングコンテンツを記録(ライブ録画)したい場合、ステップS770において、コンテンツ格納オブジェクトであるビデオカプセルの生成要求を行う。クライアントは、サーバ400(図19参照)のコンテンツディレクトリサービス442に対してライブ録画用のコンテンツ格納オブジェクトのオブジェクト生成要求(CreateObjectAnywhere)を発行してチューナ受信コンテンツの格納オブジェクト(ビデオカプセル)を生成する。
【0323】
サーバ400は、クライアントからの要求に応じて、コンテンツ管理部440のコンテンツディレクトリサービス442においてライブ録画用のビデオカプセルを生成する。
【0324】
クライアントは、ライブ録画用のコンテンツ格納オブジェクトのオブジェクト生成要求(CreateObjectAnywhere)の発行に際し、コンテンツ格納オブジェクト(ビデオカプセル)のメタデータの設定をサーバに要求することが可能となる。サーバは、クライアントからの要求がある場合は、要求に基づく値を、ない場合は、予め定められたデフォルト値をコンテンツ格納オブジェクト(ビデオカプセル)のメタデータとして設定する。
【0325】
ライブ録画用のコンテンツ格納オブジェクト(ビデオカプセル)に設定可能なメタデータを図25を参照して説明する。メタデータとしては、[記録状態(recordStatus)]、[記録開始日時(recordStart DateTime)]、[記録終了日時(recordEnd DateTime)]、[記録クオリティレベル(record Quality Level)]、[入力ファンクションID(recordInputFuncID)]、[録画方式(recording Method)]、[リソース(res)]、[リソースプロトコル情報(res@protocolInfo)]の設定が可能である。なお、クライアントは、これらのメタデータのすべての設定が必須となるものではなく、例えば[記録開始日時(recordStart DateTime)]についての指定は任意であり、設定がない場合でも、サーバはライブ録画用のコンテンツ格納オブジェクト(ビデオカプセル)の生成要求である場合、ビデオカプセルコントロールインスタンス652のアサイン、設定、録画開始を順次、実行する。指定情報がある場合にのみ、AVT設定/制御命令出力部691、およびビデオカプセルコントロールインスタンス652の制御の下に指定情報に従った処理がなされることになる。
【0326】
ライブ録画用のコンテンツ格納オブジェクト(ビデオカプセル)の生成要求であるか否かは、コンテンツ格納オブジェクト(ビデオカプセル)生成処理においてクライアントにより設定される[記録状態(recordStatus)]の設定値に基づいてサーバ400が判断する。[記録状態(recordStatus)]の設定値がライブ録画用であることを示す[Recording]が設定されている場合は、サーバは、ライブ録画用のコンテンツ格納オブジェクト(ビデオカプセル)の生成要求であると判断し、コンテンツ格納オブジェクト(ビデオカプセル)の生成、ビデオカプセルURL設定、ビデオカプセルコントロールインスタンス652のアサイン、URI設定処理を実行し、メタデータとして設定されるコンテンツの記録開始日時情報[ライブ録画では、0000−00−00T00:00:00.000Z]に基づいて、生成したコンテンツ格納オブジェクト(ビデオカプセル)に対するチューナ受信コンテンツの記録処理を開始する。
【0327】
サーバのコンテンツ管理部442は、クライアントからのコンテンツ格納オブジェクトの生成要求に予約コンテンツの格納用のコンテンツ格納オブジェクトであることを示す[記録状態(recordStatus)]=[Recording]の設定情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURL(ビデオカプセルURL)を設定する。すなわち、サーバは[記録状態(recordStatus)]=[Recording]の設定情報に基づいて、ライブ録画用のオブジェクトだと判断し、実際にはコンテンツが無くとも新規生成のオブジェクト(ビデオカプセル)にコンテンツURL(ビデオカプセルURL)を設定する。
【0328】
[記録開始日時]は、コンテンツの記録開始日時情報が設定される。ライブ録画では、0000−00−00T00:00:00.000Zを指定する。これは、待機することなく記録を開始することを意味している。
【0329】
[記録終了日時]は、コンテンツの記録終了日時情報が設定され、サーバ上でこの設定時刻になったときに、このビデオカプセルが録画状態であるならば、録画を終了する。設定情報がない場合は、クライアントからの要求、あるいは予め設定された最大継続記録時間経過後、またはサーバ内部の問題発生時にサーバが録画終了を行う。
【0330】
[記録クオリティレベル]は予め設定された記録品質レベル値としての複数レベル、例えば3〜5から選択する。
【0331】
[入力ファンクションID]は、録画ソースとなるコンテンツを扱う機能を示すファンクションIDを示す。例えばチューナに対応するファンクションIDを設定する。ただし、クライアントの指定はオプショナルである。ライブ録画の場合には、サーバ内で受信しているコンテンツが入力コンテンツであり、設定済みのチューナコントロールインスタンスがある場合には、そのチューナコントロールインスタンスに設定されたチャンネルリストURLが入力ソースコンテンツであり、入力ソースコンテンツを制御しているチューナコントロールインスタンスの制御対象であるチューナに対応するファンクションIDがサーバにより設定される。
【0332】
[記録方式]は、録画方式を示す情報であり、例えば3倍モード、高画質モード等の設定情報である。クライアントの指定はオプショナルであり、クライアントは、サーバ内のコンテンツ記憶部650に対応する設定可能な値を設定することが必要である。
【0333】
[リソース(res)]は、記録コンテンツ(記録シンクコンテンツ)のリソース情報である。サーバにより生成されるライブ録画用のビデオカプセルのURL(ビデオカプセルURL)がサーバにより設定される。
【0334】
[リソースプロトコル情報]は、記録コンテンツ(記録シンクコンテンツ)のリソースに対応するプロトコル情報である。追加情報(AddiotnalInfo)として、コンテンツ記憶部の処理を行うことを示すファンクションID(例えば func−id=<HDD)が設定される。
【0335】
このように、プロトコル情報には、コンテンツ記憶部650の制御によるコンテンツ処理を行うことを示すファンクションIDが設定される。この場合は、コンテンツ記憶部650はハードディスクであり、HDDの制御を伴うことを示している。ファンクションIDは、前述したようにコンテンツの処理に際しての制御対象を示すものであり、DVD格納コンテンツに対応する場合は、DVDを示すファンクションID、チューナ制御を行う場合は、チューナを示すファンクションIDがコンテンツのプロパティ情報中に設定される。
【0336】
なお、クライアントは、メタデータの各項目にどのような値を設定できるかを以下の方法でチェックすることが可能である。[記録終了日時]、[記録クオリティレベル]、[入力ファンクションID]、[記録方式]に関しては、ビデオカプセルを表すクラスのスキーマ情報をコンテンツディレクトリサービス442から取得することで調査できる。このとき、各メタデータの許容値(Allowedvalue)をチェックすることで設定可能な値を得ることができる。また、更新が許されている場合はオブジェクト更新(UpdateObject)処理による更新も可能である。
【0337】
なお、ファンクションID(func−id)の値が何を意味しているかについては、クライアントは、コンテンツディレクトリサービス442から取得可能なプロトコル情報により、知ることが可能である。
【0338】
図24のシーケンス図に戻り、ライブ録画の処理シーケンスについて、説明を続ける。サーバのコンテンツディレクトリサービス442は、ステップS770において、コンテンツ格納オブジェクトであるビデオカプセルの生成処理を実行する。
【0339】
サーバ400は、クライアントからの要求に応じて、コンテンツ管理部440のコンテンツディレクトリサービス442においてライブ録画用のビデオカプセルを生成する。サーバは、クライアントからのコンテンツ格納オブジェクトの生成要求に予約コンテンツの格納用のコンテンツ格納オブジェクトであることを示す[記録状態(recordStatus)]=[Recording]の設定情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURL(ビデオカプセルURL)を設定し、さらに、上述した各メタデータを設定する。
【0340】
ステップS771において、サーバは、生成したコンテンツ格納オブジェクトURL(ビデオカプセルURL)に対応するメタデータをクライアントに送信する。クライアントに送信するメタ情報には、リソース情報としてのビデオカプセルURL、ファンクションID、例えば[func−id=hdd]を含むリソースプロトコル情報が含まれる。
【0341】
次に、サーバは、ステップS772において、作成したビデオカプセルのメタデータに基づいて、ビデオカプセルコントロールインスタンス652(図19参照)を設定する。なお、このときチューナコントロールインスタンス433は設定済みである。このステップS772の処理および、以下に説明するステップS773〜S775の処理はサーバ内の内部処理として実行され、クライアントサーバ間での通信処理は必要とならない。
【0342】
ステップS772の処理は、ビデオカプセルコントロールインスタンス652をアサインし、この制御インスタンスに対して、録画先コンテンツURL、すなわちビデオカプセルURLをセットする。さらに、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの設定を実行する。これらの処理は、ビデオカプセルのメタデータの設定情報に基づいて実行される。これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理を行うときに何が録画されるかが決まる。
【0343】
ステップS773において、ビデオカプセルのメタデータに設定された[記録開始日時]になったことを条件として、ビデオカプセルコントロールインスタンス652の制御のもとにチューナ受信コンテンツのビデオカプセル651に対する格納処理が開始され、ステップS774において、コンテンツ記録がコンテンツ記憶部650のビデオカプセル651に対して実行される。
【0344】
なお、ビデオカプセルのメタデータに設定された[記録開始日時]は、前述したように、ライブ録画では、0000−00−00T00:00:00.000Zが指定され、これは、待機することなく記録を開始することを意味するものであり、サーバは、ライブ録画用のコンテンツ格納オブジェクト(ビデオカプセル)の生成、ビデオカプセルコントロールインスタンス652のアサイン、設定の後、即座にビデオカプセルコントロールインスタンス652の制御の下に録画開始を順次、実行する。
【0345】
ステップS775において、ビデオカプセルのメタデータに設定された[記録終了日時]になったことを条件として、あるいは、クライアントからの記録終了要求の受信に基づいて、ビデオカプセルコントロールインスタンス652の制御のもとにチューナ受信コンテンツのビデオカプセル651に対する格納処理を終了する。設定メタデータがなく、またクライアントからの記録処理要求もない場合は、例えば予め定められた継続記録時間に達したことを条件として記録処理を終了する。
【0346】
なお、コンテンツ記録処理の一時停止処理、すなわちポーズ処理を実行することも可能である。コンテンツのポース処理シームンスについて図26を参照して説明する。クライアントは、まず、ステップS781において、先の図24のステップS771においてサーバから受信したビデオカプセルメタデータ中のファンクションID、例えば[func−id=hdd]を指定した接続準備要求(PrepareForConnection)をサーバ400のコネクションマネージャサービス431に対して送信する。この接続準備要求(PrepareForConnection)は、クライアントと、ビデオカプセルコントロールインスタンス652との間の接続に関する接続準備要求(PrepareForConnection)である。
【0347】
クライアントから接続準備要求(PrepareForConnection)を受信したコネクションマネージャサービス431は、接続準備要求に含まれるハードディスク対応ファンクションID[func−id=hdd]に基づいて、ビデオカプセルコントロールインスタンス652の識別子(AVTインスタンスID)と、接続準備要求(PrepareForConnection)のあったクライアント460とビデオカプセルコントロールインスタンス652とのコネクションIDとをクライアントに通知する。コネクションマネージャサービス431は、さらに、コネクションIDと、ビデオカプセルコントロールインスタンスの識別子(AVTインスタンスID)とのバインド処理、すなわち対応付けを行う。先に、図10、図21を参照して説明したコネクション管理テーブルのエントリ設定を行う。
【0348】
ステップS782において、クライアントは、ビデオカプセルコントロールインスタンスの識別子(AVTインスタンスID)を指定し、ビデオカプセルコントロールインスタンス652に対してポーズ要求(AVT::Pause action)を送ると、ビデオカプセルコントロールインスタンス652が要求に基づいて、録画ポーズを行う。
【0349】
さらに、ステップS783において、クライアントは、ビデオカプセルコントロールインスタンスの識別子(AVTインスタンスID)を指定し、ビデオカプセルコントロールインスタンス652に対して記録再開要求(AVT::Record)を送ると、ビデオカプセルコントロールインスタンス652が要求に基づいて、コンテンツ記録を再開する。
【0350】
次に、図27を参照して、クライアントからの要求に基づくライブ記録処理の終了処理について説明する。ステップS791において、クライアントは、ビデオカプセルコントロールインスタンスの識別子(AVTインスタンスID)を指定し、ビデオカプセルコントロールインスタンス652に対して記録停止要求(AVT::RecordStop)を送ると、ビデオカプセルコントロールインスタンス652が要求に基づいて、コンテンツ記録を終了する。
【0351】
さらに、ビデオカプセルコントロールインスタンスとのコネクションを終了しようとするクライアントは、ステップS792において、ビデオカプセルコントロールインスタンスとのコネクションに対応するコネクションIDを格納したコネクション終了要求をコネクションマネージャサービス431に送信する。コネクションマネージャサービス431は、クライアントからの要求に従って、クライアントとビデオカプセルコントロールインスタンスとのコネクションの切断を行い、さらに、図10を参照して説明したコネクション管理テーブルから対応エントリを削除する。
【0352】
上述したように、本構成においては、サーバ内において、ビデオカプセルのメタデータに基づいてコンテンツ配信制御部431の制御インスタンスとしてのビデオカプセルコントロールインスタンス652のアサイン処理、およびビデオカプセルコントロールインスタンス652に対するURI設定処理が実行され、クライアントによる明示的な制御インスタンスの設定処理を行うことなく、ライブ入力コンテンツの格納処理に伴う各種の制御がビデオカプセルのメタデータに基づいて確実に実行される。
【0353】
このように、本構成においては、ハードディスク等のコンテンツ記憶部を制御してチューナ受信コンテンツの記録処理を実行するビデオカプセルコントロールインスタンスが設定され、ビデオカプセルコントロールインスタンスに記録元コンテンツおよび記録先コンテンツを特定するコンテンツURLとしてのチャンネルリストURL、ビデオカプセルURLの設定処理をサーバが実行し、ビデオカプセルのメタデータの設定情報に従ってコンテンツ記録を確実に実行することが可能となる。
【0354】
なお、ライブ録画によってコンテンツを格納したビデオカプセルのコンテンツをクライアントが取得して再生する場合は、ライブ録画ビデオカプセルに設定されたビデオカプセルURLに基づくコンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信することで、ビデオカプセルURLに対応するコンテンツ、すなわちライブ録画されたコンテンツを受信して再生することができる。
【0355】
また、ライブ録画の実行中においても、ビデオカプセルに設定されたビデオカプセルURLに基づくコンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信することで、クライアントは、前述したライブストリーミングにおけるタイムシフト再生と同様のコンテンツ再生を行うことが可能となる。
【0356】
[予約録画処理]
次にサーバにおいてチューナにより受信するコンテンツの予約録画処理、すなわち、サーバ内のハードディスク等の記憶手段にチューナ受信コンテンツを記録する処理を予め記録時間を予約して実行する処理について説明する。
【0357】
チューナにより受信するコンテンツの予約録画処理シーケンスの概要は、
(1)予約録画コンテンツの格納オブジェクト(ビデオカプセル)の生成、
(2)コンテンツ記録時間情報をコンテンツ格納オブジェクト(ビデオカプセル)に対応するメタデータとして設定、
(3)コンテンツ格納オブジェクト(ビデオカプセル)のURLを設定した制御インスタンスの設定
(4)制御インスタンスに基づく制御によるコンテンツ格納処理
予約録画は、ほぼ上述の処理シーケンスに従って実行される。
【0358】
上述の処理を実行するサーバ構成について、図28を参照して説明する。予約録画処理を実行するサーバの構成は、先に説明したライブ録画を実行する図19の構成を持つサーバ400とほぼ同様の構成により実行されるが、コンテンツ管理部440に制御インスタンスの設定、要求発行を行う制御インスタンス設定部/命令出力部691を設けた構成が異なる点である。
【0359】
前述のライブ録画では、クライアントが各種の処理要求をサーバに対して発行することで様々な処理の開始、制御を行っていた。すなわち、クライアントがチューナコントロールインスタンス433に対したて発行する再生命令に基づいてチューナコントロールインスタンス433がチューナ410を制御してチューナ410に基づくコンテンツ受信を開始し、また、クライアントからのビデオカプセルコントロールインスタンス652(記憶部制御インスタンス)に対する記録開始命令に基づいてビデオカプセルコントロールインスタンス652がビデオカプセル651を持つHDD等のコンテンツ記憶部650を制御してコンテンツ記録を開始する構成であった。
【0360】
予約録画処理の場合は、サーバクライアント間の通信に基づくチューナ受信およびコンテンツ記録の開始制御は実行されず、予約録画用のビデオカプセルのメタデータに設定された記録開始時間や終了時間等の様々な設定情報に基づいてサーバ内で各制御インスタンスを制御する。
【0361】
従って、ライブ録画処理において、コンテンツ配信制御部430のコネクションマネージャサービス431が、クライアントからの要求に基づいて実行していた各制御インスタンスのアサイン処理も、クライアントからの要求に基づいて実行する構成ではなく、サーバ内の内部処理として実行される。
【0362】
予約録画において必要となるコンテンツ対応制御部432内の各制御インスタンス、すなわち図28に示すチューナ制御インスタンスとしてのチューナコントロールインスタンス433、記憶部制御インスタンスとしてのビデオカプセルコントロールインスタンス652のアサイン処理および、各制御インスタンスに対する各種要求の発行処理は、コンテンツ管理部440内の制御インスタンス設定部/命令出力部691が実行する。すなわち、ライブ録画において、クライアントの発行していた各種処理要求をこのコンテンツ管理部440内の制御インスタンス設定部/命令出力部691が実行する。
【0363】
制御インスタンス設定部/命令出力部691は、各制御インスタンスのアサインおよび、処理要求発行を、コンテンツディレクトリサービス(CDS)442内で管理する予約録画ビデオカプセルのメタデータに基づいて実行する。予約録画ビデオカプセルは、予約録画コンテンツ格納オブジェクトとして設定されるオブジェクトである。このコンテンツ格納オブジェクトに対応するメタデータには、コンテンツ記録開始時間情報、終了時間情報、チャンネル情報等、予約録画の各種設定情報が格納される。
【0364】
これらのメタデータの設定処理は、サーバクライアント間で実行されるオブジェクト生成処理において、あるいはその後のメタデータ設定処理において実行される。
【0365】
図28に示す構成中の主要部分は、先に図6を参照して説明した構成と同様であり、サーバ400は、チューナ410、コーデック420、コンテンツ配信制御部(メディアレンダラー)430、コンテンツ管理部(メディアサーバ)440を有する。また、コンテンツ記憶部650、コンテンツ記憶部内のビデオカプセル651、コンテンツ配信制御部430内のコンテンツ対応制御部432内のAVTインスタンスとしてのビデオカプセルコントロールインスタンス652が適宜生成されて使用される。
【0366】
なお、説明においては、上述の予約録画と同様、コンテンツ記憶部をハードディスク、記録コンテンツを画像データとした例を説明するが、コンテンツ記憶部は、ハードディスクに限らず、DVD,CD−R、フラッシュメモリ等、データ書き込み可能な記憶手段であればよく、また、記録コンテンツについても画像データに限らず、オーディオデータ、テキストデータ、プログラム等、データ形態を問わない。以下では、代表的な例として、コンテンツ記憶部をハードディスク、記録コンテンツを画像データとした例を説明する。
【0367】
ビデオカプセル651に予約録画を行うため、コンテンツ記憶部650の制御を実行するAVTインスタンスとして、ビデオカプセルコントロールインスタンス652が設定される。ビデオカプセルコントロールインスタンス652の制御の下にチューナ410からハードディスク等のコンテンツ記憶部650内のビデオカプセル651に対して、録画用のストリームが流れ、記録される。予約録画処理においても、ライブ録画と同様、2つのコンテンツを扱う必要がある。すなわち、録画元コンテンツと録画先コンテンツである。この場合、チューナ受信コンテンツが録画元コンテンツとなり、ビデオカプセル格納コンテンツが録画先コンテンツとなる。
【0368】
チューナ受信コンテンツは、前述した説明から理解されるようにチャンネルリストURLによって特定される。録画先コンテンツは、ビデオカプセルURLによって特定されることになる。なお、ビデオカプセルURLが存在していない場合は、予約録画におけると同様、オブジェクト生成処理によってビデオカプセルを生成し、生成したビデオカプセルに対するコンテンツURLとしてのビデオカプセルURLを設定する処理が必要となる。
【0369】
チューナ受信コンテンツを格納する領域が予め確保されていない場合は、クライアントは、サーバ400のコンテンツディレクトリサービス442に対してオブジェクト生成要求(CreateObject)を発行してチューナ受信コンテンツの格納オブジェクト(予約録画用ビデオカプセル)を生成する。
【0370】
オブジェクト生成要求(CreateObject)を発行する際には、メタデータにより生成オブジェクト(ビデオカプセル)が予約録画用であることを明示して作成する。この処理により、新規のビデオカプセルで何もコンテンツが格納されていない状態であっても、オブジェクト(ビデオカプセル)のプロパティ(res property)にコンテンツを表すURLをサーバがアサインする。
【0371】
新規ビデオカプセルを追加し、そこを録画先コンテンツとして設定する方法について説明する。新規オブジェクト作成は、クライアントが、サーバ400のコンテンツディレクトリサービス442に対してオブジェクト生成要求(CreateObject)を発行する。これにより、チューナ受信コンテンツの格納オブジェクト(ビデオカプセル)が生成される。
【0372】
チューナ受信コンテンツの格納オブジェクト(ビデオカプセル)には、前述したライブ録画用のビデオカプセルのメタデータにさらに追加されたメタデータが設定される。メタデータを図29を参照して説明する。メタデータとしては、[記録状態(recordStatus)]、[記録開始日時(recordStart DateTime)]、[記録終了日時(recordEnd DateTime)]、[放送システム(broadcast System)]、[チャンネル情報(channel Nr)]、[記録クオリティレベル(record Quality Level)]、[入力ファンクションID(recordInputFuncID)]、[録画方式(recording Method)]、[週間予約情報(weekInfo)]、[リソース(res)]、[リソースプロトコル情報(res@protocolInfo)]の設定が可能である。なお、これらのメタデータのすべての設定が必須となるものではなく、例えば[記録クオリティレベル]、[週間予約情報]についての指定は任意であり、設定なしでもよい。指定情報がある場合にのみ、AVT設定/制御命令出力部691、およびビデオカプセルコントロールインスタンス652の制御の下に指定情報に従った処理がなされることになる。
【0373】
図29に示す各メタデータは、例えば予約録画用のコンテンツ格納オブジェクト(ビデオカプセル)生成処理においてクライアントにより設定される。[記録状態(recordStatus)]は予約録画用であることを示す[Timed]を設定する。サーバのコンテンツ管理部442は、クライアントからのコンテンツ格納オブジェクトの生成要求に予約録画用のコンテンツ格納オブジェクトであることを示す[記録状態(recordStatus)]=[Timed]の設定情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURLを設定する。すなわち、サーバは[記録状態(recordStatus)]=[Timed]の設定情報に基づいて、予約録画用のオブジェクトだと判断し、実際にはコンテンツが無くとも新規生成のオブジェクト(ビデオカプセル)にコンテンツURL(ビデオカプセルURL)を設定する。
【0374】
[記録開始日時]は、コンテンツの記録開始日時情報が設定され、次回、サーバ上でこの日時になったときにこのビデオカプセルに録画を開始する。なお、[週間予約情報]を指定していない場合、日付部分を0年0月0日と指定することで、直近の合致する時刻からスタートする。また、[週間予約情報]を指定した場合、日付部分を0年0月0日と指定することで、正確な日付がわからなくても、合致する次回の曜日からスタートする。
【0375】
[記録終了日時]は、コンテンツの記録終了日時情報が設定され、次回、サーバ上でこの日時になったときにこのビデオカプセルが録画状態であるならば、録画を終了する。[記録開始日時]と同様、日付部分を0指定できる。この場合、[記録開始日時]の正確な日付から、次に合致した日時に録画を終了する。
【0376】
[放送システム]は、録画を行うチャンネルの放送システムを示す情報であり、例えば地上波、BS等の設定情報である。放送システムがサーバのチャンネル(channel)オブジェクトのメタデータとして設定されている場合、クライアントは予約の際に明示的に示す必要がある。
【0377】
[チャンネル情報]は、録画大使用となるコンテンツのチャンネル番号である。[記録クオリティレベル]は予め設定された記録品質レベル値としての複数レベル3〜5から選択する。
【0378】
[入力ファンクションID]は、録画ソースとなるコンテンツを扱う機能を示すファンクションIDを示す。例えばチューナに対応するファンクションIDを設定する。ただし、クライアントの指定はオプショナルであり、サーバが、他のメタデータとして設定されたチャンネル情報や放送システムに基づいて、録画ソースとなるコンテンツを扱う機能(例えば地上波チューナ、BSチューナ)等を選択することが可能である。クライアントが設定する場合は、他のメタデータとして設定されたチャンネル情報や放送システムと整合する値を設定することが必要でありる。
【0379】
[記録方式]は、録画方式を示す情報であり、例えば3倍モード、高画質モード等の設定情報である。クライアントの指定はオプショナルであり、クライアントは、サーバ内のコンテンツ記憶部650に対応する設定可能な値を設定することが必要である。
【0380】
[週間予約情報]は、指定しなくても良く任意指定情報である。月火水木金土日の各曜日を7ビットで表したデータとして記録される。10(0001010)であれば、毎週木曜と土曜のこの時間帯に予約録画を開始する。録画が終わると、[記録開始日時]と[記録終了日時]が次に録画される実際の時刻に更新する。[記録開始日時]で指定した日付の曜日が、[記録開始日時]に無かった場合はエラーとなる。
【0381】
[リソース(res)]は、記録コンテンツのリソース情報である。録画用のビデオカプセルのURL(ビデオカプセルURL)が設定される。
【0382】
[リソースプロトコル情報]は、記録コンテンツのリソースに対応するプロトコル情報である。前述のライブ録画と同様、追加情報(AddiotnalInfo)として、コンテンツ記憶部の処理を行うことを示すファンクションID(例えば func−id=<HDD)が設定される。
【0383】
このように、プロトコル情報中の追加情報には、コンテンツ記憶部650の制御によるコンテンツ処理を行うことを示すファンクションIDが設定される。この場合は、コンテンツ記憶部650はハードディスクであり、HDDの制御を伴うことを示している。ファンクションIDは、前述したようにコンテンツの処理に際しての制御対象を示すものであり、DVD格納コンテンツに対応する場合は、DVDを示すファンクションID、チューナ制御を行う場合は、チューナを示すファンクションIDがコンテンツのプロパティ情報中に設定される。
【0384】
なお、クライアントは、メタデータの各項目にどのような値を設定できるかを以下の方法でチェックすることが可能である。[記録終了日時]、[記録クオリティレベル]、[入力ファンクションID]、[記録方式]に関しては、ビデオカプセルを表すクラスのスキーマ情報をコンテンツディレクトリサービス442から取得することで調査できる。このとき、各メタデータの許容値(Allowedvalue)をチェックすることで設定可能な値を得ることができる。また、更新が許されている場合はオブジェクト更新(UpdateObject)処理による更新、例えば予約情報を変更することも可能である。
【0385】
なお、ファンクションID(func−id)の値が何を意味しているかについては、クライアントは、コンテンツディレクトリサービス442から取得可能なプロトコル情報により、知ることが可能である。
【0386】
予約録画において必要となるAVTインスタンスの取得、すなわち、記憶部制御インスタンスとして設定されるビデオカプセル制御インスタンス652の取得、設定処理は、コンテンツ管理部440のコンテンツディレクトリサービス(CDS)442の管理する上述のメタデータに基づいて、制御インスタンス設定部/命令出力部691が実行する。録画をサポートするサーバは、録画用と再生用を考慮して2つのAVTインスタンスをアサインする。
【0387】
前述したライブ録画の場合は、AVTインスタンスに対するURI設定処理等をクライアントからの要求に基づいて実行していたが、予約録画処理の場合は、予約録画用ビデオカプセルが生成されたことを条件として、サーバ内部で制御インスタンス(AVTインスタンス)に対するURI設定処理等を実行する。すなわちこれらの処理は、制御インスタンス設定部/命令出力部691が実行する。なお、ライブ録画と同様、クライアントからの明示的な要求に基づいて実行する構成としてもよい。
【0388】
2つのAVTインスタンス、すなわち、チューナ制御インスタンスとして設定されるチューナコントロールインスタンス433と、記憶部制御インスタンスとして設定されるビデオカプセルコントロールインスタンス652に対して、それぞれ録画元、録画先のコンテンツのURL、すなわちチャンネルリストURL、ビデオカプセルURLをセットする。このセット処理は、制御インスタンス設定部/命令出力部691がビデオカプセルのメタデータに基づいて実行する。
【0389】
制御インスタンス設定部/命令出力部691は、ビデオカプセルのメタデータ内の[リソース情報]からビデオカプセルURLを取得し、ビデオカプセルコントロールインスタンス652に対してビデオカプセルURLをセットし、ビデオカプセルのメタデータ内の[入力ファンクションID]内のファンクションIDに基づいて特定されるチューナコンテナのメタデータからチャンネルリストURLを取得し、チャンネルリストURLをチューナコントロールインスタンス433にセットする。
【0390】
さらに、録画先コンテンツを扱うAVTインスタンス、すなわち、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの設定処理を実行する。録画元コンテンツのURIは、例えばチャンネルリストURLである。これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理(X_Record action)を行うときに何が録画されるかが決まる。
【0391】
制御インスタンス設定部/命令出力部691は、サーバ内のクロックに基づいて、ビデオカプセルのメタデータ内の[記録開始日時]に一致する日時となったことを条件として、チューナコントロールインスタンス433に再生要求を送信する。また、制御インスタンス設定部/命令出力部691は、ビデオカプセルのメタデータ内の[チャンネル情報]の設定情報に基づいて、チューナコントロールインスタンス433に対するチャンネル設定命令を出力する。
【0392】
一方、ビデオカプセルコントロールインスタンス652は、ビデオカプセルのメタデータ内の[記録開始日時]に一致する日時となったことを条件として録画処理、すなわち、チューナ410の受信コンテンツをビデオカプセル651に格納する処理を開始する。
【0393】
また、制御インスタンス設定部/命令出力部691は、サーバ内のクロックに基づいて、ビデオカプセルのメタデータ内の[記録終了日時]に一致する日時となったことを条件として、チューナコントロールインスタンス433に再生停止要求を送信する。一方、ビデオカプセルコントロールインスタンス652は、ビデオカプセルのメタデータ内の[記録終了日時]に一致する日時となったことを条件として録画処理、すなわち、チューナ410の受信コンテンツをビデオカプセル651に格納する処理を終了する。
【0394】
このように、予約録画の場合、クライアントからの再生要求あるいは録画要求を発行することなく、ビデオカプセルのメタデータに基づいて、チューナコントロールインスタンス433の制御に基づくコンテンツのチューナ410受信が開始され、さらに、ビデオカプセルコントロールインスタンス652のコンテンツ記憶部650の制御に基づくコンテンツ格納処理が開始される。
【0395】
ビデオカプセルコントロールインスタンス652は、ビデオカプセルのメタデータに設定された情報、例えば記録クオリティレベル、記録方式等、各種の設定情報がある場合は、設定情報に従った記録処理を実行し、設定情報がない場合は、デフォルトの設定に基づいて記録処理を実行する。
【0396】
なお、クライアントは、サーバに対する情報要求を行うことにより、記録元コンテンツおよび記録先コンテンツに対応して設定された各情報、予約録画の時間情報などを取得することができる。また、サーバはクライアントの要求に基づいてサーバの時刻情報を取得できる。この時刻情報に基づいて、クライアントはサーバのクロックに基づく時刻情報を知ることが可能となる。
【0397】
図30を参照して、チューナ受信コンテンツの予約録画用のコンテンツ格納オブジェクト(ビデオカプセル)の生成処理手順について説明する。まず、ステップS811において、クライアントは、予約録画用オブジェクト(ビデオカプセル)に設定するメタデータとしてのコンテンツ記録開始、終了時間等の設定情報を決定する。
【0398】
設定可能な情報としては、図29を参照して説明したように、[記録状態(recordStatus)]、[記録開始日時(recordStart DateTime)]、[記録終了日時(recordEnd DateTime)]、[放送システム(broadcast System)]、[チャンネル情報(channel Nr)]、[記録クオリティレベル(record Quality Level)]、[入力ファンクションID(recordInputFuncID)]、[録画方式(recording Method)]、[週間予約情報(weekInfo)]、[リソース(res)]、[リソースプロトコル情報(res@protocolInfo)]が含まれる。なお、[記録状態(recordStatus)]は[Timed]とする。
【0399】
クライアントは、ステップS812において、これらの設定情報とともに、オブジェクト生成要求をサーバのコンテンツディレクトリサービス442に対して送信する。
【0400】
コンテンツディレクトリサービス442は、ステップS821において、クライアントによって設定されたメタデータ中の[記録状態(recordStatus)]=[Timed]であることを確認し、ステップS822において、ビデオカプセルを生成して、ビデオカプセルURLを設定する。さらに、ステップS823において、クライアントの設定情報としての[記録開始日時]、[記録終了日時]等をビデオカプセルのメタデータとして設定する。
【0401】
このように設定されたビデオカプセルのメタデータに基づいて、チューナコントロールインスタンス433、ビデオカプセルコントロールインスタンス652が設定され、各コンテンツ制御インスタンスおよび制御インスタンス設定部/命令出力部691の制御の下にコンテンツのビデオカプセル651に対する格納処理が実行されることになる。
【0402】
図31を参照してコンテンツの予約録画の一連のシーケンスについて説明する。ステップS851において、クライアントは、[記録開始日時]、[記録終了日時]他の各種情報をメタデータとして設定したビデオカプセルの生成要求を行い、コンテンツ管理部440のコンテンツディレクトリサービス442において予約録画用のビデオカプセルが生成される。上述したように[記録状態(recordStatus)]=[Timed]が設定されていることを条件として、ビデオカプセルURLが設定され、予約録画用であることが判別される。
【0403】
ステップS852において、作成されたビデオカプセルのメタデータに基づいて、ビデオカプセルコントロールインスタンス652およびチューナコントロールインスタンス433が設定される。このステップS852の処理および、以下に説明するステップS853〜S855の処理はサーバ内の内部処理として実行され、クライアントサーバ間での通信処理は必要とならない。
【0404】
ステップS852の処理は、2つのAVTインスタンス、すなわち、チューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652をアサインし、これらの各制御インスタンスに対して、それぞれ録画元、録画先のコンテンツのURL、すなわちチャンネルリストURL、ビデオカプセルURLをセットする処理である。さらに、録画先コンテンツを扱うAVTインスタンス、すなわち、ビデオカプセルコントロールインスタンス652に対して、録画元コンテンツのURIの設定を実行する。これらの処理は、ビデオカプセルのメタデータの設定情報に基づいて実行される。これにより、録画先AVT(ビデオカプセルコントロールインスタンス652)が、録画処理を行うときに何が録画されるかが決まる。
【0405】
ステップS853において、ビデオカプセルのメタデータに設定された[記録開始日時]になったことを条件として、チューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652の制御のもとにチューナ受信コンテンツのビデオカプセル651に対する格納処理が開始され、ステップS854において、コンテンツ記録がコンテンツ記憶部650のビデオカプセル651に対して実行される。
【0406】
ステップS855において、ビデオカプセルのメタデータに設定された[記録終了日時]になったことを条件として、チューナコントロールインスタンス433と、ビデオカプセルコントロールインスタンス652の制御のもとにチューナ受信コンテンツのビデオカプセル651に対する格納処理が終了する。
【0407】
このように、サーバ内において、ビデオカプセルのメタデータに基づいてコンテンツ配信制御部431の各AVTインスタンスのアサイン処理、および各AVTインスタンスに対するURI設定処理が実行され、クライアントによる明示的なAVTインスタンスの設定処理を行うことなく、各種の制御がビデオカプセルのメタデータに基づいて確実に実行される。
【0408】
このように、本構成においては、ハードディスク等のコンテンツ記憶部を制御してチューナ受信コンテンツの記録処理を実行するビデオカプセルコントロールインスタンスが設定され、ビデオカプセルコントロールインスタンスに記録元コンテンツおよび記録先コンテンツを特定するコンテンツURLとしてのチャンネルリストURL、ビデオカプセルURLを設定し、また、ビデオカプセルのメタデータとして[記録開始日時]、[記録終了日時]等のコンテンツ記録に必要な情報を設定し、これらの設定情報に従ってコンテンツ記録を確実に実行することが可能となる。
【0409】
なお、予約録画によってコンテンツを格納したビデオカプセルのコンテンツをクライアントが取得して再生する場合は、予約録画ビデオカプセルに設定されたビデオカプセルURLに基づくコンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信することで、ビデオカプセルURLに対応するコンテンツ、すなわち予約録画されたコンテンツを受信して再生することができる。
【0410】
また、予約録画の実行中においても、ビデオカプセルに設定されたビデオカプセルURLに基づくコンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信することで、クライアントは、前述したライブストリーミングにおけるタイムシフト再生と同様のコンテンツ再生を行うことが可能となる。
【0411】
また、予約録画の実行中において、既にチューナコントロールインスタンスはチャンネルリストURLを設定された状態にあり、クライアントがチューナ受信コンテンツをモニタしたい場合には、サーバに対してチャンネルリストURLを設定したHTTP−GETメソッドを発行するのみで、チューナのストリーミングを得ることができる。
【0412】
[サーバおよびクライアントの機能構成]
サーバおよびクライアント装置のハードウェア構成については、先に図2を参照して説明した通りであり、上述した各種フローおよびシーケンス図に従った処理は、サーバクライアントそれぞれの記憶部に格納されたプログラムに従って主にCPUの制御の下に実行される。上述した処理を実行するために必要となるサーバの機能構成とクライアントの機能構成について図32および図33を参照して説明する。
【0413】
図32は、サーバの主要機能構成を示すブロック図である。基本的に図6に示す構成に対応するが、図32の構成ではチューナを2つ持つ構成例を示してある。パケット送受信部701は、クライアントに対するパケット、クライアントからのパケットを受信する。パケット生成、解析部702は、送信パケットの生成処理、受信パケットの解析処理を行う。パケットのアドレス設定、アドレス認識、データ部に対するデータ格納、データ部からのデータ取得処理などである。
【0414】
チューナA703は、チューナB704は、地上波、BS、CS等の衛星放送、インターネット、その他の通信網を介するデータを受信するチューナである。
【0415】
コンテンツ記憶部705は、サーバの保有するコンテンツを格納する。上述したビデオカプセル等、コンテンツ格納オブジェクトが設定される。各コンテンツはビデオカプセルURL等のコンテンツURLによって特定可能である。イベント情報記憶部706は、コンテンツに対応するイベント情報を格納する。各イベント情報はイベントURLによって特定可能である。
【0416】
コーデック707は、サーバの保有するコンテンツ、チューナ受信コンテンツをクライアントからの要求に対応したデータ態様に変換する。ファイルフォーマット、コーデック、解像度等の変換を実行する。例えばATRAC3、MPEG4に基づくデータ変換を実行する。
【0417】
コンテンツ管理部は、コンテンツ管理を実行する処理部であり、メタデータ記憶部713は、コンテンツに対応する属性情報としてのメタデータを格納した記憶部である。メタデータ記憶部713には、前述したように、コンテナ等の各オブジェクト対応のメタデータを構成するプロパティ情報が格納される。例えば、チューナコンテナのプロパティ情報として、チャンネルリストURLが設定される。ビデオカプセルに対してはビデオカプセルURLが設定される。コネクションマネージャサービス711は、クライアントからのコンテンツ情報要求に応じて、メタデータに基づいてコンテンツ情報を生成する。コネクションマネージャサービス711は、コンテンツ管理部におけるクライアントとの接続を管理し、コンテンツ管理部において処理可能なプロトコル情報等をクライアントに提供する。
【0418】
制御インスタンス設定部/命令出力部714は、予約記録の項目において説明したように、ビデオカプセル等コンテンツ格納オブジェクトのメタデータに基づく各制御インスタンスの設定処理および命令発行処理を実行する。
【0419】
コンテンツ配信制御部720は、クライアントに対する配信コンテンツの制御を実行し、コネクションマネージャサービス721とコンテンツ対応制御部722を有する。コンテンツ対応制御部722には配信コンテンツに対応してAVTインスタンス723が設定され、具体的なコンテンツの配信制御、記録制御は、各コンテンツに対応するAVTインスタンスが実行する。コネクションマネージャサービス721は、AVTインスタンスをアサインし、コネクションID、AVTインスタンスID、プロトコル情報を対応付けて管理するコネクション管理テーブル(図10参照)を設定してコネクション管理を行う。
【0420】
次に、クライアント装置の機能構成について、図33を参照して説明する。パケット送受信部801は、サーバに対するパケット、サーバからのパケットを受信する。パケット生成、解析部802は、送信パケットの生成処理、受信パケットの解析処理を行う。パケット内の格納データ解析のみならず、パケットのアドレス設定、アドレス認識、データ部に対するデータ格納、データ部からのデータ取得処理なども含む。
【0421】
記憶部803は、サーバから受信したパケットに含まれるコンテンツ情報、コンテンツ、チャンネル情報、チャンネルリストURL、ファンクションID、イベント情報、コネクションID、AVTインスタンスID等を格納する。
【0422】
出力部804は、コンテンツ再生処理に適用するスピーカ、ディスプレイを含む。なお、ディスプレイは、先に図4を参照して説明した表示情報の出力にも利用される。入力部805は、例えば、表示情報として表示されたコンテンツ情報としてのチャンネルリストの選択、チャンネル情報に基づくチャンネル選択など、ユーザの入力を実行するためのキーボード、その他のデータ入力手段である。
【0423】
コンテンツ情報解析部806は、サーバから受信したコンテンツ情報からなるXMLデータを解析し、解析データに基づいて、先に図4を参照して説明したコンテンツURL、チャンネルリストURLまたはこれらのリンクデータを含む表示情報を生成し、出力部としてのディスプレイに出力する処理を実行する。
【0424】
コンテンツ再生制御部807は、サーバから受信するコンテンツの再生制御を実行する。なお、コンテンツ再生処理おいては、必要に応じてデータ変換部808において、サーバからの受信コンテンツの変換処理を実行する。例えばATRAC3、MPEG4に基づくデータ復号処理等を実行する。
【0425】
サーバ、およびクライアントは、機能的には図32、図33に示す各機能を有し、上述した各処理を実行する。ただし、図32、図33に示すブロック図は、機能を説明するブロック図であり、実際には、図2に示すPC等のハードウェア構成におけるCPUの制御の下に各種の処理プログラムが実行される。
【0426】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0427】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0428】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0429】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0430】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0431】
【発明の効果】
以上、説明したように、本発明においては、チューナによる外部受信コンテンツの予約録画処理において、ビデオカプセル等のコンテンツ格納オブジェクトに対するメタデータの設定情報に基づいてコンテンツの記録開始および終了を制御する構成としたので、クライアントが予めビデオカプセル等のコンテンツ格納オブジェクトに対応するメタデータを設定し、コンテンツディレクトリサービス(CDS)の管理の下におくことで、メタデータに基づく制御によってチューナ受信コンテンツのサーバ内のハードディスク等の記憶部に対するコンテンツ記録処理が正確に実行される。
【0432】
さらに、本発明の構成によれば、ビデオカプセル等のコンテンツ格納オブジェクトに対するメタデータの設定情報に基づいて、コンテンツ管理部に設定した制御インスタンス設定部/命令出力部が、チューナ受信コンテンツの制御を実行するチューナ制御インスタンスと、ハードディスク等のコンテンツ記憶部の制御のもとにチューナ受信コンテンツの記録処理を実行する記憶部制御インスタンス(ビデオカプセルコントロールインスタンス)とを設定し、命令出力を実効する構成としたので、サーバクライアント間の通信を介在させずに、メタデータに基づくコンテンツの予約記録処理が実行可能となる。
【0433】
さらに、本発明の構成によれば、予約録画の実行中において、ビデオカプセルに設定されたビデオカプセルURLに基づくコンテンツ取得要求であるHTTP(Hyper Text Transfer Protocol)GETメソッドを生成してサーバに送信することで、クライアントは、チューナ受信コンテンツのタイムシフト再生と同様のコンテンツ再生が可能となる。また、予約録画の実行中において、既にチューナコントロールインスタンスはチャンネルリストURLを設定された状態にあり、クライアントがチューナ受信コンテンツをモニタしたい場合には、サーバに対してチャンネルリストURLを設定したHTTP−GETメソッドを発行するのみで、チューナ受信コンテンツのストリーミングを得ることができる。
【図面の簡単な説明】
【図1】本発明の適用可能なネットワーク構成例を示す図である。
【図2】ネットワーク接続機器の構成例について説明する図である。
【図3】サーバにおけるコンテンツ管理ディレクトリ構成について説明する図である。
【図4】コンテンツ情報表示例を示す図である。
【図5】コンテンツデータ再生処理におけるサーバクライアント間の処理シーケンスについて説明する図である。
【図6】チューナ受信データのストリーミング配信処理を実行するサーバの構成を示す図である。
【図7】サーバにおけるコンテンツ管理ディレクトリ構成中のチューナコンテナおよびチャンネルアイテムについて説明する図である。
【図8】チューナコンテナおよびチャンネルアイテムに対応するコンテンツ情報について説明する図である。
【図9】チューナ受信データのストリーミング配信処理を実行するサーバクライアント間の処理シーケンスについて説明する図である。
【図10】チューナ受信データのストリーミング配信処理を実行するサーバの保有するコネクション管理テーブルの構成データについて説明する図である。
【図11】チューナ受信データのストリーミング配信処理を実行するサーバクライアント間の処理シーケンス中のチャンネル切り替え処理について説明する図である。
【図12】チューナ受信データのストリーミング配信処理を実行するサーバクライアント間の処理シーケンス中のコネクション終了処理について説明する図である。
【図13】複数チューナを持つサーバによるチューナ受信データのストリーミング配信処理について説明する図である。
【図14】チューナコンテナとチャンネルリストURLとの対応例について説明する図である。
【図15】チューナコンテナとチャンネルリストURLとの対応例について説明する図である。
【図16】チューナコンテナとチャンネルリストURLとの対応例について説明する図である。
【図17】チューナ受信データのストリーミング配信処理を実行するサーバの処理を説明するフローチャート図である。
【図18】チューナ受信データのストリーミング配信処理を実行するクライアントの処理を説明するフローチャート図である。
【図19】チューナ受信データのストリーミング配信処理およびライブコンテンツ記録を実行する実行するサーバの構成を示す図である。
【図20】チューナ受信データのストリーミング配信処理およびライブコンテンツ記録処理を実行するサーバクライアント間の処理シーケンスについて説明する図である。
【図21】チューナ受信データのストリーミング配信処理およびライブコンテンツ記録処理を実行するサーバの保有するコネクション管理テーブルの構成データについて説明する図である。
【図22】チューナ受信データのストリーミング配信処理およびライブコンテンツ記録処理を実行するサーバの処理を説明するフローチャート図である。
【図23】チューナ受信データのストリーミング配信処理およびライブコンテンツ記録処理を実行するクライアントの処理を説明するフローチャート図である。
【図24】ライブコンテンツ記録処理を実行する際のサーバクライアントの処理を説明するシーケンス図である。
【図25】ライブコンテンツ記録処理を実行する際のコンテンツ格納オブジェクトのメタデータの例を説明する図である。
【図26】ライブコンテンツ記録処理中にポーズ処理を実行する場合のサーバクライアントの処理を説明するシーケンス図である。
【図27】ライブコンテンツ記録処理中に記録終了処理を実行する場合のサーバクライアントの処理を説明するシーケンス図である。
【図28】チューナ受信データの予約記録を実行する実行するサーバの構成を示す図である。
【図29】コンテンツ予約記録用のオブジェクトに対応するメタデータの例を示す図である。
【図30】コンテンツ予約記録用のオブジェクトの生成処理の処理手順を説明するフローチャートを示す図である。
【図31】コンテンツ予約記録の処理シーケンスを示す図である。
【図32】サーバの処理機能を説明するブロック図である。
【図33】クライアントの処理機能を説明するブロック図である。
【符号の説明】
100 ネットワーク
101 サーバ
121 PC
122 モニタ
123 携帯電話
124 再生機
125 PDA
201 CPU
202 ROM
203 RAM
204 HDD
205 バス
206 入出力インタフェース
207 入力部
208 出力部
209 通信部
210 ドライブ
211 リムーバブル記録媒体
220 チューナ
301 ルートコンテナ
302〜309 オブジェクト
350 ディスプレイ
357 コンテンツ情報
400 サーバ
410 チューナ
420 コーデック
430 コンテンツ配信制御部
431 コネクションマネージャサービス
432 コンテンツ対応制御部
433 AVTインスタンス
440 コンテンツ管理部
441 コネクションマネージャサービス
442 コンテンツディレクトリサービス
443 データベース
460 クライアント
470 ユーザ
481 ルートコンテナ
482 チューナコンテナ
483〜485 チャンネルアイテム
491 ファンクションID
492 チャンネルリストURL
500 コンテンツ配信制御部
511 チューナA
512 コーデックA
521 チューナB
522 コーデックB
530 コネクションマネージャサービス
531,532 チューナコントロールインスタンス
601 チューナコンテナ
602,603 チャンネルアイテム
611 チューナコンテナ
612 チャンネルアイテム
621 チューナコンテナ
622 チャンネルアイテム
631 チューナコンテナ
632 チャンネルアイテム
641 チューナコンテナ
642 チャンネルアイテム
650 コンテンツ記憶部
651 ビデオカプセル
652 ビデオカプセルコントロールインスタンス
681,682 プロトコル情報
691 制御インスタンス設定部/命令出力部
701 パケット送受信部
702 パケット生成、解析部
703 チューナA
704 チューナB
705 コンテンツ記憶部
706 イベント情報記憶部
707 コーデック
710 コンテンツ管理部
711 コネクションマネージャサービス
712 コンテンツディレクトリサービス
713 メタデータ記憶部
720 コンテンツ配信制御部
721 コネクションマージャサービス
722 コンテンツ対応制御部
723 AVTインスタンス
801 パケット送受信部
802 パケット生成、解析部
803 記憶部
804 出力部
805 入力部
806 コンテンツ情報解析部
807 コンテンツ再生制御部
808 データ変換部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a content recording server, a content recording method, and a computer program. In particular, the present invention relates to a content recording server, a content recording method, and a computer program applied to streaming data distribution and recording processing executed by a server / client system.
[0002]
[Prior art]
With the spread of data communication networks in recent years, so-called home networks, which allow home appliances, computers, and other peripheral devices to be connected to each other in a network to enable communication between the devices, are becoming popular. The home network enables the data processing function of each device to be shared by performing communication between the network-connected devices. It provides convenience and comfort to users, such as transmitting and receiving contents between network-connected devices, and is expected to become more and more popular in the future.
[0003]
A universal plug and play (UPnP: Universal Plug and Play) is known as a protocol suitable for such a home network configuration. Universal Plug and Play (UPnP) enables a network to be easily constructed without complicated operations, and provides services provided by each connected device to devices connected to the network without complicated operations and settings. It should be receivable. UPnP also has the advantage that devices can be easily added without depending on the OS (operating system) on the device.
[0004]
UPnP exchanges definition files conforming to XML (extensible Markup Language) between connected devices, and performs mutual recognition between the devices. The outline of the UPnP process is as follows.
(1) Addressing processing for acquiring its own device ID such as an IP address.
(2) Discovery processing in which each device on the network is searched, a response is received from each device, and information such as a device type and a function included in the response is obtained.
(3) Service request processing for requesting a service from each device based on the information acquired in the discovery processing.
[0005]
By performing the above processing procedure, it becomes possible to provide and receive a service to which a device connected to the network is applied. A device newly connected to the network acquires a device ID by the above-described addressing process, acquires information of another device connected to the network by the discovery process, and requests a service to another device based on the acquired information. Becomes possible.
[0006]
For example, in a case where content such as music data and image data stored in a server is to be reproduced on a client-side device, the client acquires information on the content held by the server. The server stores, in the storage unit, attribute information including information stored in the storage unit and information on various contents received from the outside via the tuner, and provides this information to the client. The attribute information includes various information such as, for example, the title of a song or movie as a content, the name of an artist, the recording date and time, and information on the data compression mode. These pieces of attribute information are called metadata or meta information.
[0007]
The client needs the server for the content information stored in the server, for example, the title and artist name of a song or movie, as well as data compression mode information (ATRAC: adaptive transform acoustic coding, MPEG: moving picture experts group, etc.), and further necessary. , It is possible to make a request to acquire attribute information of various contents such as copyright information.
[0008]
The server transmits metadata (attribute information) relating to the content held by the server to the client in response to a request from the client. The client displays the content information on the display of the client device according to a predetermined display program based on the metadata acquired from the server. For example, a song list including an artist name and a title is displayed on the display. The user confirms or selects the content to be reproduced based on the display information, and transmits a content transmission request to the server. The server receives the content request from the client, the server transmits the content to the client in response to the request, and the client reproduces the received content.
[0009]
The content stored in the server as described above can be searched from another device (client) connected to the network, and specified content can be designated and reproduced.
[0010]
In addition, a server configuration has been proposed that has a tuner function provided in a server that provides content, and has a so-called live streaming data distribution configuration in which video or audio data received via the tuner is transmitted to a client. For example, various broadcast data such as terrestrial broadcasting and satellite broadcasting is received by a tuner in a home server, and the received data is transmitted from the server to a client, for example, a PC without a tuner. In this configuration, various programs such as TV and radio are viewed through speakers.
[0011]
A system in which a client remotely controls a server and receives and reproduces television data received by a tuner in the server via a local area network on a client side is described in, for example, Patent Document 1.
[0012]
However, the configuration described in Patent Document 1 stores data received by a tuner in a server in a storage means in the server, for example, an HDD, and provides the stored data to a client. Virtual live streaming that performs the same processing as that provided to the client on the tuner received data.
[0013]
In the case where the client acquires specific content from the server, the client transmits a content identifier to the server, and the server acquires and transmits the designated content based on the received identifier from the client.
[0014]
For example, the server holds content URLs (Uniform Resource Locators) associated with the content as metadata corresponding to the content, and the client generates an HTTP (Hyper Text Transfer Protocol) GET method specifying the content URL and transmits the GET method to the server. By doing so, the server can transmit the content specified based on the received URL to the client.
[0015]
Assuming a configuration in which the data received via the tuner is transmitted from the server to the client based on the same URL specification as described above, the server includes a large number of channels corresponding to the data for the large number of channels received via the tuner. It is necessary to set a URL, and the client needs to transmit a content request specifying the URL corresponding to each channel to the server.
[0016]
However, in such a URL setting configuration for each channel, when the client attempts to switch channels, it is necessary to newly transmit an HTTP-GET method in which a URL corresponding to the channel after the switching is set to the server. Therefore, the connection based on the URL before the switching is invalidated between the server and the client, the connection based on the new URL is newly set, and the streaming data of the channel after the switching is distributed based on the newly set connection. Will be.
[0017]
As described above, in the case of the URL setting configuration for each channel, it is necessary to perform the connection setting between the server and the client every time the channel is switched in the client, and both loads become excessive. In addition, communication is interrupted every time a channel is switched, and there is a problem that a smooth processing environment such as channel switching using a normal TV remote controller cannot be obtained.
[0018]
Further, in an environment where a plurality of clients receive the same program from one server and are viewed by a plurality of users, there is a problem that the program is interrupted every time a channel is switched by each user.
[0019]
Further, when performing scheduled recording of tuner-received content in the server, various information is set as a so-called data area for recording the content, such as setting of a video capsule or the like, setting of recording start and end times, and the like. Processing is required. There is a need for a processing configuration that reliably transmits and sets various setting information from a client to a server without affecting other controls executed on the server, and that reliably records content based on the setting information. .
[0020]
[Patent Document 1]
Patent Publication No. 2002-84484
[0021]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described problems, and enables a client to control a server smoothly and efficiently between a server and a client. Various processes required for recording, for example, setting of content storage objects, recording start, setting of end time, etc., can be performed from client to server reliably and without affecting other controls. It is an object of the present invention to provide a content recording server, a content recording method, and a computer program that can transmit data efficiently and execute a reliable reserved recording in the server.
[0022]
[Means for Solving the Problems]
According to a first aspect of the present invention,
A content recording server that executes content recording processing,
A tuner that performs data reception processing;
A data transmitting / receiving unit that executes a communication process between the server and the client;
A metadata storage unit storing attribute information corresponding to the content as content information,
A content storage unit for storing content,
A content management unit that performs a process of providing the content information to the client,
A content correspondence control unit that executes a process on the received content via the tuner,
The content correspondence control unit is configured to execute processing control for recording received content by the tuner in the content storage unit under control based on a storage unit control instance,
The storage unit control instance includes:
The content is configured to execute control of a content recording process for the content storage object based on content recording start and end time information set in metadata of the content storage object managed by the content management unit. On the recording server.
[0023]
Further, in one embodiment of the content recording server of the present invention, the content correspondence control unit has a tuner control instance for executing the control of the tuner, and the content management unit issues a control request to the tuner control instance. A command output unit for outputting a reproduction start and end command to the tuner control instance based on recording start and end time information set in metadata of a content storage object. It is characterized by the following.
[0024]
Further, in one embodiment of the content recording server of the present invention, the command output unit is configured to output a channel setting command for the tuner control instance based on channel information set in metadata of a content storage object. It is characterized by the following.
[0025]
Further, in one embodiment of the content recording server of the present invention, the content management unit has a control instance setting unit that executes a setting process of the control instance, and the control instance setting unit manages the content in the content management unit. It is characterized in that, based on metadata corresponding to a content storage object, a control instance setting process for controlling a recording source content and a recording destination content is executed.
[0026]
Further, in one embodiment of the content recording server of the present invention, the content information includes protocol information corresponding to the content, and the protocol information set corresponding to the recording source content includes tuner identification information as tuner identification information. A function ID is set, a function ID as content storage unit identification information is set in the protocol information set corresponding to the recording destination content, and the control instance setting unit is set as a tuner control instance. It is characterized in that it is configured to execute a process of setting each of the tuner control instance and the storage unit control instance as a control instance that executes control of a control target specified based on the function ID.
[0027]
Further, in one embodiment of the content recording server of the present invention, the recording source content identifier is a channel list URL (Uniform Resource Locators) set as identification information of a channel list including at least a plurality of channels among the receiving channels of the tuner. The recording destination content identifier is a content storage object URL set as an identifier of a content storage object corresponding to a content storage area set in the content storage unit.
[0028]
Further, in one embodiment of the content recording server of the present invention, a recording source content identifier is set in the storage unit control instance, and the storage unit control instance performs a recording content identification process based on the recording source content identifier. Is performed.
[0029]
Further, in one embodiment of the content recording server of the present invention, the content management unit may include information indicating that the content storage object is a content storage object for storing reserved content in the content storage object generation request from the client. , A process of setting a content storage object URL as metadata for the generated object is performed.
[0030]
Further, a second aspect of the present invention provides
A control instance setting step of setting a control instance for executing content recording control based on metadata of a content storage object managed by a content management unit, the method being a content recording method of executing a recording process of content received from the outside.
A content recording step of performing a content recording process on the content storage object under control based on the control instance, based on content recording start and end time information set in the metadata;
The content recording method is characterized by having:
[0031]
Further, in one embodiment of the content recording method of the present invention, the control instance setting step executes a setting process of a storage unit control instance for executing control of a content storage unit and a tuner control instance for executing control of a tuner. , The content recording method further includes an instruction output step of issuing a control request to the tuner control instance, wherein the instruction output step is based on recording start and end time information set in metadata of a content storage object. And outputting a reproduction start and end command to the tuner control instance.
[0032]
Further, in one embodiment of the content recording method of the present invention, the command output step outputs a channel setting command for the tuner control instance based on channel information set in metadata of a content storage object. And
[0033]
Further, in one embodiment of the content recording method of the present invention, the metadata includes protocol information corresponding to the content, and the protocol information set corresponding to the recording source content includes a function as tuner identification information. An ID is set, and a function ID as content storage unit identification information is set in the protocol information set corresponding to the recording destination content, and the control instance setting step includes the tuner control instance and the storage unit control. A process for setting each of the instances as a control instance for executing control of a control target specified based on the function ID is executed.
[0034]
Further, in one embodiment of the content recording method of the present invention, a recording source content identifier is set in the storage unit control instance, and the storage unit control instance performs a recording content identification process based on the recording source content identifier. Is performed.
[0035]
Further, in one embodiment of the content recording method of the present invention, the recording source content identifier is a channel list URL (Uniform Resource Locators) set as identification information of a channel list including at least a plurality of channels among the receiving channels of the tuner. The recording destination content identifier is a content storage object URL set as an identifier of a content storage object corresponding to a content storage area set in the content storage unit.
[0036]
Further, in one embodiment of the content recording method of the present invention, the content recording method further comprises: receiving a request for generating a content storage object from the client; A URL setting step of executing a process of setting a content storage object URL as metadata for the generated object on condition that information indicating that the object is a storage object is included.
[0037]
Further, a third aspect of the present invention provides
A computer program that executes a recording process of content received from outside,
A control instance setting step of setting a control instance for executing content recording control based on metadata of the content storage object managed by the content management unit;
A content recording step of performing a content recording process on the content storage object under control based on the control instance, based on content recording start and end time information set in the metadata;
A computer program characterized by having:
[0038]
[Action]
According to the configuration of the present invention, in the scheduled recording processing of the externally received content by the tuner, the recording start and the end of the content are controlled based on the setting information of the metadata for the content storage object such as the video capsule. Sets metadata corresponding to a content storage object such as a video capsule in advance and stores the metadata under the management of a content directory service (CDS). The content recording process for the copy is executed accurately.
[0039]
Further, according to the configuration of the present invention, the control instance setting unit / command output unit set in the content management unit executes control of the tuner received content based on the setting information of the metadata for the content storage object such as the video capsule. And a storage unit control instance (video capsule control instance) for executing the recording process of the tuner received content under the control of the content storage unit such as a hard disk, so as to execute the instruction output. Therefore, the reservation recording processing of the content based on the metadata can be executed without intervening the communication between the server and the client.
[0040]
Furthermore, according to the configuration of the present invention, an HTTP (Hyper Text Transfer Protocol) GET method which is a content acquisition request based on the video capsule URL set in the video capsule is generated and transmitted to the server during execution of the scheduled recording. This allows the client to perform the same content reproduction as the time-shift reproduction of the tuner reception content. Also, during execution of the scheduled recording, the tuner control instance has already set the channel list URL, and if the client wants to monitor the tuner reception content, the HTTP-GET that sets the channel list URL to the server is set. Only by issuing the method, the streaming of the tuner reception content can be obtained.
[0041]
The computer program of the present invention is provided, for example, in a computer-readable format for a general-purpose computer system capable of executing various program codes, in a storage medium or communication medium such as a CD, FD, or MO. And a computer program that can be provided by a communication medium such as a network. By providing such a program in a computer-readable format, processing according to the program is realized on a computer system.
[0042]
Further objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described below and the accompanying drawings. In this specification, the term “system” refers to a logical set of a plurality of devices, and is not limited to a device having each component in the same housing.
[0043]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the configuration of the present invention will be described in detail with reference to the drawings.
[0044]
[System Overview]
First, an example of a network configuration to which the present invention can be applied will be described with reference to FIG. FIG. 1 shows a configuration in which a server 101 as a content distribution device that executes processing in response to a processing request from various client devices and a client as a content receiving device that makes a processing request to the server 101 are connected via a network 100. 1 shows a configuration, for example, a home network configuration. As the client device, a personal computer (PC) 121, a monitor 122, a mobile phone 123, a playback device 124, and a PDA (Personal Digital Assistant) 125 are illustrated. However, as the client device, various other electronic devices and home electric appliances can be connected.
[0045]
The processing executed by the server 101 in response to a request from the client includes, for example, provision of content stored in a storage unit such as a hard disk held by the server 101 or live content received via a tuner of the server 101 to the client. For example, a content distribution service to be transferred to the server. In FIG. 1, the server 101 and the client device are separately illustrated, but a device that provides a service in response to a request from a client is illustrated as a server. When providing a data processing service to another client, a function as a server can be provided. Therefore, the client device connected to the network shown in FIG. 1 can also be a server.
[0046]
The network 100 is one of a wired network, a wireless network, and the like. Each connected device transmits and receives a communication packet such as an Ethernet (registered trademark) frame via the network 100. That is, the client executes the data processing request to the server 101 by transmitting the frame in which the processing request information is stored in the data portion of the Ethernet frame to the server 101. The server 101 executes data processing in response to the reception of the processing request frame, stores result data as a result of the data processing in the data portion of the communication packet as necessary, and transmits the data to each client.
[0047]
The network connection device is configured by, for example, a Universal Plug and Play (UPnP: Universal Plug and Play) compatible device. Therefore, it is a configuration in which connection devices can be easily added to or deleted from the network. Devices newly connected to the network
(1) Addressing processing for acquiring its own device ID such as an IP address.
(2) Discovery processing in which each device on the network is searched, a response is received from each device, and information such as a device type and a function included in the response is obtained.
(3) Service request processing for requesting a service from each device based on the information acquired in the discovery processing.
By performing the above-described processing procedure, it becomes possible to receive a service to which a device connected to the network is applied.
[0048]
An example of a hardware configuration of a PC will be described with reference to FIG. 2 as an example of an information processing apparatus constituting the server and the client apparatus shown in FIG.
[0049]
A CPU (Central Processing Unit) 201 executes various processes according to a program stored in a ROM (Read Only Memory) 202 or a HDD (Hard Disk Drive) 204 or the like, and executes data processing means or communication control processing means. Function as A RAM (Random Access Memory) 203 stores programs and data executed by the CPU 201 as appropriate. The CPU 201, the ROM 202, the RAM 203, and the HDD 204 are mutually connected via a bus 205.
[0050]
An input / output interface 206 is connected to the bus 205. The input / output interface 206 includes, for example, an input unit 207 including a keyboard, switch, button, pointing device, mouse, or the like operated by a user. An output unit 208 including an LCD, a CRT, a speaker, and the like for presenting various information to a user is connected. Further, a communication unit 209 functioning as a data transmission / reception unit, and a removable recording medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory can be mounted, and data reading or writing processing from the removable recording medium 211 can be performed. Is connected.
[0051]
Further, a tuner 220 is provided for receiving various external distribution data such as terrestrial broadcast data, satellite broadcast data, cable TV data, and Internet distribution data.
[0052]
The configuration shown in FIG. 2 is an example of a server and a personal computer (PC) as an example of the network connection device shown in FIG. 1. However, the network connection device is not limited to a PC, and as shown in FIG. It can be configured by a portable communication terminal such as, a variety of electronic devices such as a playback device and a display, and an information processing device. Therefore, it is possible to have a hardware configuration unique to each device, and execute processing according to the hardware.
[0053]
Object management and metadata
Next, an object management configuration including content of a server that manages content provided to a client and metadata will be described. The server stores, in each content, information about a tuner for executing live streaming data, for example, channel information, and content such as image data such as still images and moving images and audio data such as music stored in its own storage unit. It is stored as the corresponding attribute information (metadata).
[0054]
Note that contents such as image data such as still images and moving images, audio data such as music, and live streaming data received via a tuner are collectively referred to as AV contents. In the server, AV content is managed in a CDS (content directory service) in the server by a content management directory having a hierarchical structure.
[0055]
FIG. 3 shows a configuration example of a content management directory managed in a CDS (content directory service) of the server. The hierarchical structure can be shown as a branch tree diagram as shown in FIG. Each of the circles shown in FIG. 3 is an individual object. This hierarchical configuration shows a logical management configuration corresponding to contents stored and managed by the server in the storage unit and live streaming contents.
[0056]
Each element of the content management directory, that is, a folder storing individual AV contents or a plurality of AV contents and a metadata storage folder is called an object. The object is a general term for a data unit processed by the server, and there are various objects other than folders storing individual AV contents or a plurality of AV contents and metadata storage folders.
[0057]
The minimum unit of the AV content, that is, one piece of music data, one piece of moving image data, one piece of still image data, and the like are called an item. In the case of live streaming data, one channel is defined as one item.
[0058]
A higher-level object of an item defined as a set of items is called a container. The unit of the set is, for example, a set based on a physical storage location of each object, a set based on a logical relationship of each object, and a category. Can be set variously, such as a set based on.
[0059]
For example, as an example of a container having a channel as an item, a container having a set of terrestrial-only channel items or a container having a set of satellite broadcast channels is set. These examples will be further described later.
[0060]
Objects are classified into classes according to their types, for example, music (Audio), video (Video), and photos (Photo), and are subjected to class labeling. The client can request and execute a “search” for only objects belonging to a specific classification, for example, by specifying a specific class. Further, it is possible to specify an object such as a specific folder, request a “browse” requesting only information on the folder, and perform a process of acquiring information on the specific folder. In the server, classes are also managed in a hierarchical structure, and subclasses can be set under one class.
[0061]
Metadata is various management information including attribute information corresponding to the content of the server, class definition information, information on a hierarchical configuration forming a content management directory, and the like. The metadata as content attribute information defined in association with each object includes, for example, a content identifier (ID) such as a content URL, data size, resource information, title, artist name, copyright information, channel information, and the like. And various information. Individual information included in the metadata is called a property or property information. It should be noted that what class of metadata such as music (Audio), video (Video), photograph (Photo), live streaming data, etc., has properties for each class described above is defined in advance.
[0062]
In FIG. 3, the highest level is called a root container 301. Below the root container, for example, a music (music) container 302, a moving image container 303, a still image container 304, and a tuner container 305 are set. Under the music (music) container 302, an object such as a genre 305 is set, and under the genre, an object such as an artist 306 is set.
[0063]
A genre 308 is set below the moving image container 303, and a video capsule 309 as an item corresponding to the content is set below the genre 308. For example, the video capsule 309 corresponds to video content stored in a storage unit such as a hard disk in the server, and has attribute information (metadata) corresponding to the video content. The metadata includes a content identifier for the client to acquire the content, that is, a URL (Uniform Resource Locators) of the content as address information indicating the location of the content. The client obtains the URL of the video capsule 309, that is, the video capsule URL by the content information obtaining procedure, and transmits the content request specifying the video capsule URL to the server, thereby receiving the video content corresponding to the video capsule from the server. Can be played.
[0064]
On the other hand, a channel list URL is also set in the tuner container 305 as a URL corresponding to the container. That is, the channel list URL is set as attribute information corresponding to the tuner reception content. The channel list URL is a URL set to provide the client with acquisition and control of all contents corresponding to channel items that exist as children of the tuner container 306.
[0065]
In a conventional system, a URL is set for each channel as an item, and it is necessary for the client to switch the URL according to the channel switching. By setting a URL in the channel list of the tuner container, the client sends a content acquisition request designating the channel list URL to the server, and the client registers the tuner container in the channel listed in the channel list, that is, in the content management directory. Acquisition of all contents of the channel items set at lower levels, that is, control rights can be obtained collectively. As a result, when switching between the channels listed in the channel list, there is no need to make a content request based on the new URL. Details of these processes will be described later.
[0066]
A client that intends to execute a content search requests the server to perform a “search” specifying a class corresponding to a hierarchy of a content management directory or an object set or a “browse” as a specification of a specific object. Information can be obtained. The client displays the content information on the display based on the XML data describing the content information received from the server.
[0067]
FIG. 4 shows an example of the display processing of the content information list. In the example shown in FIG. 4, an example is shown in which a content information list 357 having a data configuration listing content No., title, artist name, channel, and content URL is displayed on the display 350.
[0068]
For example, the content information displayed based on the metadata corresponding to the video capsule is the content No. shown in FIG. [0001] and [0002], and the content information displayed based on the metadata corresponding to the tuner container include a channel list such as [0003] and [0004] and include the channel information in the channel list. Channel information and a channel list URL.
[0069]
These pieces of content information are generated based on property information as a component of metadata corresponding to content managed by the server. The server acquires property information in the metadata of the content that matches the condition based on the “search” or “browse” request received from the client, generates XML data based on the acquired property information, and transmits the XML data to the client. .
[0070]
The client receives the XML data based on the property information corresponding to the content extracted by the server, generates display data as shown in FIG. 4 based on the received XML data, and displays the display data on the display of the client.
[0071]
The user on the client side selects the content to be reproduced from these lists and transmits the selected content designation information, for example, the content URL to the server, so that various contents such as music, movies, or photographs are transmitted from the server. Then, playback and output are executed on the client side. When a content request based on the channel list URL corresponding to the tuner container is made, the content corresponding to the channels listed in the channel list is collectively acquired, that is, the channel switching can be freely performed without performing the URL switching. .
[0072]
As described above, the content information transmitted to the client includes the URL (Uniform Resource Locators) of the content as address information indicating the location of the content. On condition that the user designates (clicks on) the content URL or link data displayed on the client display, the client device generates an HTTP (Hyper Text Transfer Protocol) GET method as a content acquisition request and sends it to the server. , The server transmits the content corresponding to the content URL to the client.
[0073]
[Content playback processing by client]
A client who wants to reproduce content can make a content request to the server, receive the requested content from the server, and reproduce the content. A general procedure of content reproduction will be described with reference to FIG. First, in step S11, the client makes an acquisition request for content information held by the server. In step S12, the server stores content information such as a URL (Uniform Resource Locators) list of the content as address information indicating the location of the content, a title of the content, and an artist name based on the metadata corresponding to the content in accordance with the request of the client. It is generated by XML (extended Markup Language) data and transmitted to the client.
[0074]
In step S13, the client displays the content information on the display according to the received XML information. For example, music content is displayed as a list including song titles, artist names, playback times, and the like corresponding to a plurality of music items held by the server.
[0075]
Next, in step S14, the client uses the client device to select a song to be received and reproduced from the server, designates a content URL as content designation information, and transmits the content to the server. In step S15, the server acquires and transmits the content from the storage unit based on the received content designation information. In step S16, the client plays back the content received from the server. If the content has been subjected to compression processing such as ATRAC or MPEG, transmission or reproduction processing is performed after decoding processing is performed on the server or client side.
[0076]
The normal content playback procedure is as described above. The client obtains various content attribute information, that is, property information included in metadata corresponding to the content held by the server, displays a UI such as a content list on the client based on the property information, selects a content, and selects a server. Can be requested.
[0077]
[Live streaming data distribution processing]
The content stored in advance on the hard disk or the like of the server can be obtained and reproduced by the client transmitting a content request specifying a URL corresponding to the content to the server, as described above.
[0078]
However, as described in the section of the related art, if a URL is set for each channel data of live streaming data received via a tuner in the server and a content is provided based on the URL specification, the client may At the time of channel switching, it is necessary to transmit an HTTP-GET method in which a URL corresponding to the channel after the switching is set to the server. As a result, it becomes necessary to disconnect and reconnect the connection based on the new and old URLs between the server and the client, so that the load on both becomes excessive and a problem occurs that communication is interrupted every time the channel is switched.
[0079]
Therefore, in the present invention, a channel list, which is an aggregate of a plurality of channels, is set, and one content URL is set and managed for the channel list on the assumption that the channel list is one content. Hereinafter, a live streaming data distribution processing configuration based on this configuration will be described.
[0080]
FIG. 6 shows a configuration example of a server having a tuner function and having a configuration for distributing data received by the tuner to a client.
[0081]
The configuration shown in FIG. 6 will be described. The server 400 transmits the requested content from the client 460 to the client 460, and the user 470 views the content via a display, a speaker, or the like provided in the client 460 device. Although FIG. 6 shows only one client 460, there are a plurality of clients connected to the server 400, and a plurality of clients can receive various contents from the server 400.
[0082]
The server provides the contents stored in the database 443, and further receives various externally received data such as terrestrial broadcast data, satellite broadcast data, cable TV data, and Internet distribution data via the tuner 410. Is transmitted to the client 460. The communication network between the server 400 and the client 460 is a network such as a wired or wireless network as described above with reference to FIG. 1. For example, a communication packet such as an Ethernet (registered trademark) frame is transmitted through the network. Send and receive through. That is, the client 460 executes the data processing request to the server 400 by transmitting the frame in which the processing request information is stored in the data portion of the Ethernet frame to the server 400. The server 400 executes the data processing in response to the reception of the processing request frame, stores the result data as the data processing result in the data portion of the communication packet as necessary, and transmits the data to each client 460.
[0083]
The configuration of the server 400 will be described below. The tuner 410 is a live streaming data receiving unit that receives various externally received data such as terrestrial broadcast data, satellite broadcast data, cable TV data, and Internet distribution data. The tuner 410 is controlled by an AVT instance (AV-Transport Instance) 433 as a control instance that executes content distribution control for each distribution content set in the content correspondence control unit 432 in the content distribution control unit 430. In this specification, a control instance is a control program that can set a control object such as control target hardware and can set a control parameter according to the setting object. Control of a control object including hardware is executed.
[0084]
The content correspondence control unit 432 sets AVT instances (AV-Transport Instance) # 1 to # n433 as a content distribution control execution unit for each distribution content. Each AVT instance 433 executes distribution control of a specific content. For example, a tuner control instance for live streaming of data received via a tuner controls only live streaming content of data received via a tuner. More specifically, it receives instructions such as start and end of content transmission or channel switching from the client 460 and executes control such as channel switching for the tuner 410.
[0085]
The AVT instance 433 set in the content correspondence control unit 432 includes, in addition to the tuner control instance, for example, a video capsule control instance that executes distribution control of video capsules that are video contents stored on a hard disk in the server, and a server. There is a DVD control instance that executes distribution control of video data, audio data, and the like stored in a DVD mounted on a DVD. Each of these AVT instances executes control of a specific distribution content.
[0086]
In each AVT instance, a URL corresponding to the control target content, that is, a content URL as a content identifier is set. The content URL is a content identifier indicating the location of the content. In the video capsule control instance, a video capsule URL set in the video capsule is set. In the configuration of the present invention, a channel list URL corresponding to the tuner is set in the tuner control instance. The AVT instance 433 is associated with the content to be controlled based on the URL set for itself. The AVT instance for which the URL has been set has an AVT instance ID as its own identifier. Details of these processes will be described later.
[0087]
The content distribution control unit 430 sets a plurality of contents received by the tuner corresponding to the plurality of channels described in the channel list as one unit of control content, assigns one AVT instance, and receives a channel list identifier received from the client. Is received by the AVT instance, and the AVT instance executes control of distribution content corresponding to a plurality of channels described in the channel list.
[0088]
The connection manager service (CMS) 431 transmits the input protocol information of the live streaming control unit 430 to the client 460. Also, based on the protocol information presented from the client 460, the AVT instance 433 is assigned to notify the client 460.
[0089]
The connection manager service 431 executes an assignment process of the AVT instance 433 in response to the content request from the client 460, and notifies the client 460 of the identifier of the assigned AVT instance, that is, the AVT instance ID. At this time, a connection ID as a connection identifier between the server and the client is also notified to the client 460. The connection manager service 431 registers these data in the connection management table. The connection management table will be described later.
[0090]
After the above-described processing by the connection manager service 431, the content URL and the AVT instance ID described above are set in the AVT instance 433 in response to a request from the client 460 to the AVT instance 433.
[0091]
The URL corresponding to the content is set by the assignment process of the AVT instance 433 by the connection manager service 431 and the URL setting process by the client 460, and the AVT instance 433, which is responsible for the distribution control of the content identified by the URL, becomes the client 460. When a control command is received from, the content control is executed in accordance with the control command. For the content distribution control processing between the clients 460 and the servers, for example, a SOAP (Simple Object Access Control) protocol is used. The client 460 generates the description data according to the XML data and transmits the generated description data to the AVT instance 433, whereby the control information from the client 460 is notified to each AVT instance 433, and the AVT instance 433 performs the control based on the reception information, for example, Processing such as content reproduction start, end, and channel switching is executed.
[0092]
For example, when channel switching instruction information is input to the tuner control instance 433 as control information from the client 460, the control information is input to the tuner 410 from the tuner control instance 433, and the tuner 410 receives data of a specific channel. It is set as follows.
[0093]
Note that the distribution connection of the tuner reception content between the server and the client is an HTTP (Hyper Text Transfer Protocol) connection set based on the channel list URL. In the configuration of the present invention, the HTTP connection set based on the channel list URL is continuously used before and after the channel switching executed as the switching of the plurality of tuner reception contents corresponding to the plurality of channels described in the channel list. Execute the distributed content.
[0094]
The received data of the tuner 410 may be, for example, encoded data (ATRAC: adaptive transform acoustic coding, MPEG: moving picture experts group, etc.) or may be raw data. It is preferable to distribute as specific encoded data between the server and the client in order to increase the data transmission efficiency. The encoded data needs to be data that can be processed by the client 460. The codec 420 converts the received data of the tuner 410 into a data mode that can be processed by the client 460. The codec 420 has data encoding and decoding functions. The converted data generated by the codec 420 is transmitted to the client 460 and reproduced.
[0095]
The type of data conversion to be performed in the codec 420 is determined by control information from the AVT instance 433. The AVT instance 433 receives the request information from the client 460, and the control information from the AVT instance 433 is input to the codec 420, and the codec 420 performs data conversion based on the control information.
[0096]
The content management unit (media server) 440 functions as a content holder. A database 443 storing the metadata of the content, manages the metadata corresponding to the content based on the content management directory described above with reference to FIG. 3, and responds to a processing request such as a content search and browsing from the client 460. And a content directory service 442 for providing content information.
[0097]
In the database 443, not only the content information stored in advance in the database in the server but also information on data received via the tuner, for example, management information such as channel information is stored as metadata corresponding to the tuner container. When the content directory service 442 receives a content information acquisition request related to a tuner from the client 460, the server receives receivable channel information, a channel list URL associated with a channel list set as a set of a plurality of channels. For example, a process of providing information such as to the client 460 is performed.
[0098]
The content directory service 442 holds the URL, codec information, and protocol information for live streaming content in the database 443 as metadata for content handled in live streaming, and stores these information in response to a request from the client 460. Send to client 460.
[0099]
It should be noted that the client 460 can know whether or not the server can deliver the live streaming content based on the protocol information from the content directory service 442. In the protocol information, information (function ID (funcID)) indicating that it is possible to execute content distribution under the control of the tuner is set, and the client streams live data via the tuner based on the function ID. You can know that distribution is possible. The function ID is an ID set for each control target for content processing such as tuner control, DVD control, hard disk control, etc. If there are two tuners, different function IDs, for example, funcID = a, funcID = b Different IDs are set as described above, and are also used as tuner identification information.
[0100]
If the client 460 wishes to distribute live streaming data received by a tuner based on the content information from the content directory service 442, the client 460 transmits information obtained from the received content information to the connection manager 431 of the content distribution control unit 430. I do. Details of these processes will be described later.
[0101]
Then, in the content distribution control unit 430, the AVT instance 433 is assigned, and the client executes control on the distributed content with respect to the AVT instance 433, for example, various controls such as temporary stop of the content (STOP) and channel switching (SEEK). can do.
[0102]
A connection manager service (CMS) 441 in the content management unit 440 performs a communication control service between the client 460 and the content management unit 440, such as transmitting the output protocol information of the content management unit 440 to the client 460. When there are a plurality of clients 460 connected to the server 400, connection ID management for each client 460 is executed to identify and respond to a request from each client 460.
[0103]
An object management configuration related to metadata related to live streaming data in the content directory service 442 will be described with reference to FIG.
[0104]
As described above with reference to FIG. 3, the content providing server manages metadata corresponding to various contents in a hierarchical directory. FIG. 7 shows a management configuration of metadata related to live streaming data managed in the content directory service 442.
[0105]
A tuner container 482 is set below the root container 481. The setting mode of the tuner container set in the directory differs depending on the number of tuners and the setting mode of the channel list URL. These modes will be described in detail later. Individual channels 483, 484, and 485 are set for items set as children of the tuner container 482.
[0106]
The metadata as content attribute information is associated with each of the container and the item. In response to a search or a content information request such as browsing from the client 460, content information based on these metadata is provided from the server.
[0107]
The tuner container 482 stores a channel list URL, protocol information, and the like as metadata. In the channel items 483, 484, 485, for example, information on the name of a channel (Tokyo TV, ABC TV, etc.) is stored.
[0108]
The channel list URL set as the metadata of the tuner container 482 is, for example, in the case of a tuner capable of receiving only terrestrial waves 1 to 12 channels, one channel list in which 12 channels 1 to 12 are listed. It is set as a URL for acquisition. In the case of a tuner capable of receiving broadcast data of channels (1 to n channels) such as terrestrial broadcasting, BS, CS, and other satellite broadcasts, in order to obtain one channel list listing n channels 1 to n. Is set as the URL.
[0109]
Note that a channel list divided for each category such as a terrestrial channel list, a BS channel list, a CS channel list, or the like may be set, and a different channel list URL may be set for each.
[0110]
These channel list URLs can be obtained by the client 460 from the client 460 through content information acquisition processing applying search or browsing to the content directory service (CDS) 442.
[0111]
The client 460 acquires content based on the acquired channel list URL, and thus can execute switching control between channels 1 to 12, for example, set in the channel list based on the one URL. That is, the client 460 can collectively obtain the control right of all the streaming data listed in the channel list by acquiring the content by the channel list URL. Specific control will be described later.
[0112]
In the configuration of the present invention, as described above, instead of setting a URL for each channel, a content URL is set in a channel list, which is a set of channels, in order to collectively control a plurality of channels. Accordingly, it is possible to collectively provide the client 460 with the control right of the streaming data corresponding to the channels listed in the channel list.
[0113]
If the client 460 has the control right based on the channel list, there is no need to set an HTTP connection based on a new URL even when performing processing such as switching between channels in the list. Channel transmission can be performed only by transmitting a control command for channel switching or the like to the content distribution control unit 432, and therefore, processing such as resetting the connection between the server and the client based on switching between the new and old URLs becomes unnecessary.
[0114]
As shown in FIG. 7, as a child of the tuner container 482, each channel set in the channel list URL of the tuner container 482, for example, each of the terrestrial channels 1 to 12, is set as a child item. In each item, information on each channel is set as metadata.
[0115]
FIG. 8 shows content information (metadata) corresponding to the tuner container and the channel item. The data shown in FIG. 8 is an example of XML data transmitted to the client 460 in response to a content information request from the client 460 to the content directory service (CDS) 442.
[0116]
FIG. 8A shows information based on the metadata corresponding to the tuner container, and has the following information.
<Container id = ch-list parentID = -1 restricted = 1…>
<Dc: title> List of terrestrial channels </ dc: title>
<Upnp: class> object. container. function. avVideoTuner </ upnp: class>

<Av: allowedOperation> Play <// av: allowedOperation>
<Av: eventingURI> http://1.2.3.4:56000/SENA? id = live </ av: eventingURI>
<Res protocolInfo = http-get: *: video / mpeg: func-id = t01 av: codec = MPEG1V ...>
http://1.2.3.4:56000/liveoutUrl
</ Res>
</ Container>
[0117]
From the top, data on the container ID, title, and class, as well as allowed processing [allowedOperation], event notification URL [eventingURI], and protocol information [protocolInfo] are stored as content information of the tuner container. The event notification is a URL set to execute a process for notifying the client 460 when an event corresponding to the distribution content occurs, for example, switching between stereo / monaural and switching between bilingual broadcasts. The client 460 can receive various event notifications in parallel with the content distribution by transmitting an event notification request specifying the event notification URL to the server.
[0118]
The function ID [func-id = t01] in the protocol information [protocolInfo] shown in the data section 491 of FIG. 8 indicates that this content is content for live streaming, that is, content distribution by control using a tuner is performed. Indicates that it is to be executed. As described above, the function ID is an ID set for each control target for content distribution such as tuner control and DVD control. If there are two tuners, different function IDs, for example, funcID = a, funcID = A different ID is set as in b. [Http://1.2.3.4:56000/liveoutUrl] shown in the data section 492 of FIG. 8 is the channel list URL.
[0119]
FIG. 8B shows information based on metadata corresponding to a channel item, and has the following information.
<Dc: title> Tokyo TV </ dc: title>
<Upnp: class> object. item. videoItem. videoBroadcast. avChannel
</ Upnp: class>
<Upnp: channelName> Tokyo TV </ upnp: channelName>
<Upnp: channelNr> 8 <// upnp: channelNr>

</ Item>
[0120]
From the top, the title, class, channel name, and channel number are described. By acquiring the content information corresponding to the tuner container and the channel item, the client 460 can acquire any range of channel control rights by a content request based on the channel list URL set in the tuner container. You can know what.
[0121]
The client 460 displays a channel information list on the display of the client 460 based on the XML data including the content information shown in FIG.
[0122]
Next, the details of the streaming data distribution processing sequence based on the channel list URL executed between the server and the client will be described with reference to FIG.
[0123]
First, in step S101, the client 460 acquires content information by browsing or search processing in order to check the content held by the server and provided to the client 460. The client 460 attempting to execute a content search requests the server to perform a “search” specifying a class corresponding to a hierarchy or an object set of the content management directory or a “browse” as a specification of a specific object. Content information can be obtained. The browse or search is executed on the content directory service 442 of the content management unit 440 (see FIG. 6), and the content directory service 442 generates XML data based on the metadata corresponding to each object from the database 443 storing the metadata. Then, the information is provided to the client 460 as content information.
[0124]
For example, when the content information on the tuner container is obtained, the content information corresponding to the tuner container shown in FIG. 8A and the information based on the content information for each channel shown in FIG. 8B are transmitted to the client 460. . Note that the information shown in FIG. 8B is content information corresponding to one channel, and when the client 460 requests information of a tuner container and all channels as child items, the information is displayed as a child item of the tuner container. The information shown in FIG. 8B corresponding to the set number of channels is transmitted to the client 460.
[0125]
The client 460 displays the content information on the display based on the XML data describing the content information received from the server. This is display information as described above with reference to FIG.
[0126]
The client 460, based on the tuner container and the content information corresponding to the channel item shown in FIGS.
Channel list URL
Function ID (funcID)
Channel information
To get.
[0127]
Next, the client 460 transmits a protocol information acquisition request to the connection manager service 431 of the content distribution control unit 430 in step S102. This is a process of requesting the content distribution control unit 430 for inputtable protocol information, that is, a list of protocol information that can be processed by the content distribution control unit 430.
[0128]
In step S103, the connection manager service 431 sends the protocol information list to the client 460. The protocol information list includes various protocol information that can be processed by the content distribution control unit 430, such as MPEG as a protocol of video data, ATRAC of audio data, and the like.
[0129]
The protocol information list transmitted to the client 460 by the connection manager service 431 of the server capable of distributing the received data of the tuner 410 includes information indicating that distribution of live streaming data is possible. Specifically, the protocol information includes [internal: 1.2.3.4: application / x-av-tuner-content: func-id = t01]. That is, those in which the schema column (first column) is [internal] are included. This protocol information indicates that a logical connection with the internal content management unit (media server) 440 is possible by connection preparation (PrepareForConnection) described below.
[0130]
This protocol information also includes a function ID. As described above, the function ID is an ID set for each control target for content distribution, such as tuner control and DVD control, and is obtained from the content directory service 442 by the client by the browse or search process in step S101. It is also included in the content information. Here, the function ID [func-id = t01] is set as a function ID corresponding to the content distribution to which the tuner 410 is applied.
[0131]
Next, in step S104, the client 460 acquires, from the connection manager service 431, information about another client currently connected to the server 400. The connection manager service 431 stores a connection management table as shown in FIG. 10 in which a connection ID corresponding to a client connected to the server is associated with a client identifier, protocol information corresponding to content distributed to each client, and the like. Hold and execute connection management. These information are provided to the client 460 in response to a connection information acquisition request from the client 460. This processing will be described later. This connection information notification process is executed by the client 460 to check the connection status of another client 460, and may be omitted.
[0132]
In step S105, the client 460 transmits a connection preparation request (PrepareForConnection) to the connection manager service 431. When the client 460 desires to deliver live streaming data to which a tuner is applied, the function ID (funcID) included in the content information corresponding to the tuner container as the content information previously received from the content directory service (CDS) 442 What is necessary is just to transmit the protocol information which has the function ID which matches.
[0133]
In the transmission of the connection preparation (PrepareForConnection) in step S105, the client 460 obtains the protocol information (internal: 1.2.3.4: application) regarding the live streaming received from the connection manager service 431 in the above-described protocol information acquisition (S103). / X-av-tuner-content: func-id = t01].
[0134]
Upon receiving the connection preparation request (PrepareForConnection) from the client 460, the connection manager service 431 receives the protocol information [internal: 1.2.3.4: application / x-av-tuner-content: func-id] included in the connection preparation request. = T01], it is determined that the request is for streaming distribution of received data by the tuner, and one AVT instance 433 in the content correspondence control unit 432 is set (assigned) as a tuner control instance, and a connection preparation request (PrepareForConnection) is prepared. ) And the AVT instance set (assigned) as a tuner control instance to the client 460 Binding processing with the scan of the identifier (AVT instance ID), i.e. to associate.
[0135]
As described above, the connection manager service 431 has the connection management table shown in FIG. 10, that is, the correspondence data of the connection ID, the AVT instance ID, and the protocol information for each connection client 460, and stores this in the connection management information. It is managed as.
[0136]
In step S106, the connection manager service 431 notifies the client 460 of the AVT instance ID, which is the identifier of the assigned AVT instance, and the connection ID information set for the connection between the client 460 and the server. The client 460 stores the information in the memory.
[0137]
In step S107, the client 460 issues a URI (Uniform Resource Identifier) set request to the assigned AVT instance as a process for causing the AVT instance assigned by the connection manager service 431 to perform content distribution control. . The URI set for the AVT instance includes the AVT instance ID notified from the connection manager service 431, and the channel list URL included in the content information corresponding to the tuner container obtained in the process of step S102.
[0138]
The AVT instance can identify its own control target content and the client based on the AVT instance ID specified by the client 460 and the channel list URL. That is, the client that transmits the various control commands by specifying the AVT instance ID is the client corresponding to the AVT instance, and the channel list URL is the control target content.
[0139]
The channel list URL is the content corresponding to the tuner container, and the AVT instance in which the channel list URL is set is set as an instance for executing the control of the tuner 410.
[0140]
Next, the client 460 can execute various content control requests to the AVT instance after step S108. In step S108, a reproduction (Play) request is issued to the AVT instance. For this control request, for example, a SOAP (Simple Object Access Control) protocol is used. Based on the SOAP, the client 460 generates description data according to the XML data, and transmits the generated description data to the AVT instance 433.
[0141]
The AVT instance 433 executes control based on information received from the client 460, for example, processes such as start and end of content reproduction and channel switching. The AVT instance 433 specifies a control target content based on the set content URL, and controls the specified control target content. In this case, the content URL is a channel list URL, the channel list URL is content information corresponding to the tuner container, and the AVT instance 433 controls the tuner 410.
[0142]
When the AVT instance 433 receives the playback (Play) request in step S108, the AVT instance 433 controls the tuner 410 and starts transmitting the tuner reception data to the client 460.
[0143]
In step S109, a channel setting (Seek) request is issued to the AVT instance. This request includes the AVT instance ID and the channel number. When the AVT instance 433 receives the channel setting (Seek) request, the AVT instance 433 controls the tuner 410, sets the channel of the tuner, and transmits the received data to the client 460.
[0144]
Step S110 indicates distribution of live streaming data that is continuously executed below. Step S111 indicates that the event notification processing (SENA) is executed in parallel with the content distribution. As described above, an event is information related to distribution content such as switching between stereo and monaural, and is a process in which a server notifies various event information based on an event notification request based on an event URL from the client 460. is there.
[0145]
The channel switching processing sequence will be described with reference to FIG. The channel switching process is executed during distribution of streaming data based on the channel list URL. In step S201, distribution of streaming data and event notification are performed.
[0146]
In step S202, the client 460 issues a channel switching (Seek) request to the AVT instance. For this control request, for example, the SOAP (Simple Object Access Control) protocol is used as described above. The client 460 generates description data according to the XML data and transmits the generated description data to the AVT instance 433. This request includes the AVT instance ID and the switching channel number. When the AVT instance 433 receives the channel setting (Seek) request, the AVT instance 433 controls the tuner 410, switches the channel of the tuner, and transmits the received data to the client 460.
[0147]
After that, in step S203, distribution of streaming data and event notification corresponding to the switched channel are executed.
[0148]
Since the HTTP connection between the server and the client before and after the channel switching is an HTTP connection based on the same URL, that is, the same channel list URL, the channel switching is performed between the server and the client while the connection is maintained. Become.
[0149]
As described above, when switching the channel in the channel list, a channel switching request (AVT Seek action) is made to the AVT instance. At this time, not only the client 460 that has issued the channel switching request (AVT Seek action), but also the client using the same live streaming changes the content without disconnecting the HTTP connection.
[0150]
When the image or audio data transmitted from the server to the client is, for example, encoded data such as MPEG, if the transmission data is unconditionally switched based on the timing of switching the channel received from the client, Inconsistencies in the encoded data packets to be transmitted may occur. When such inconsistent encoded data is decoded (decoded) on the client side, a content reproduction error occurs due to a decoding error.
[0151]
For example, in the MPEG-2 system, a plurality of PES (Packetized Elementary Stream) packets, which are individual data streams such as video and audio, are combined, and a pack in which control information is stored in a header is used as one processing unit. Therefore, if channel switching is performed and the transmission data is changed during transmission of a part of the PES packet constituting the pack, the client loses the pack as one processing unit when decoding. Will occur and a reproduction error will occur.
[0152]
Therefore, the content distribution control unit 430 of the server determines whether or not the consistency of the encoded transmission data can be maintained by changing the transmission data based on the channel switching request from the client, and determines that the consistency is not maintained. In this case, the connection connection for data stream distribution between the server and the client, that is, the HTTP connection based on the channel list URL is disconnected. The server further notifies the client via the event notification connection that the connection connection for data stream distribution has been disconnected.
[0153]
When the client receives the connection disconnection notification from the server, the client transmits again a process of setting an HTTP connection based on the channel list URL, that is, transmits an HTTP-GET method based on the channel list URL to the server. Since the setting state of the AVT instance (tuner control instance 433) is maintained, setting processing of the tuner control instance 433 such as new assignment and URI set can be omitted.
[0154]
Alternatively, the server does not execute the channel switching unconditionally based on the channel switching timing received from the client, but maintains the consistency of encoded data transmitted to the client after receiving the channel switching request from the client. A configuration may be adopted in which the transmission of data to the client is switched at a timing that can wait for possible timing and maintain consistency. The switching timing is controlled by detecting the data encoding state of the codec 420, inputting the detection information to the tuner control instance 433, and executing the channel switching of the tuner 410 under the timing control of the tuner control instance 433.
[0155]
By performing such control of the channel switching timing on the server side, the occurrence of a decoding error on the client side is prevented, and the data reproduction before the channel switching and after the channel switching are normally performed on the client side. Becomes possible.
[0156]
Next, a process for ending the distribution process of live streaming data will be described with reference to the sequence diagram of FIG. In step S301, distribution of streaming data and event notification are performed.
[0157]
The client 460 intending to end the distribution processing of the live streaming data transmits a connection end request storing the connection ID to the connection manager service 431 in step S302. The connection ID has been received from the connection manager service 431 in step S106 of the sequence diagram of FIG. The connection manager service 431 disconnects the connection between the server and the client in accordance with the request from the client 460, and deletes the corresponding entry from the connection management table described with reference to FIG.
[0158]
Note that the client 460 can know the presence of another client using the same AVT instance by the inquiry process in step S104. By performing this check in advance, it is possible to know which function ID (func-id) should be selected to use a vacant AVT instance. By performing this check, it becomes possible to perform processing in consideration of other clients.
[0159]
For example, when all the AVT instances are used, when the channel is changed, a message such as “There is a possibility that someone else is watching. Is it really good?” Is sent from the server to the client 460. By generating and presenting a message display UI in the client 460, careless control of connection of other clients, for example, switching of channels, in a network to which a plurality of clients are connected is prevented.
[0160]
The details of the connection information acquisition processing in step S104 are as follows. First, a request for a current connection ID (GetCurrentConnectionIDs) is made to the connection manager service 431 of the content distribution control unit 430. A list of currently active connection IDs (Connection IDs) is returned as a return value. When a connection information request (GetCurrentConnectionInfo) is made using each connection ID, the protocol information (ProtocolInfo) assigned by the connection ID is known. If the function ID (func-id) described in the additional information (AdditionalInfo) of the protocol information is the same as the function ID that the user intends to use, it is understood that the same internal resource (such as a tuner) is handled.
[0161]
As described above, the client 460 has an AVT instance assigned to the connection manager service (CMS) 431 of the content distribution control unit 430, and sets the channel list URL corresponding to the tuner container in the AVT instance. , Live streaming based on the URL can be started.
[0162]
If there is a limit on the number of AVT instances that can be set in the content distribution control unit 430, the connection manager service (CMS) 431 of the content distribution control unit 430 executes the following process to execute the following processing. Control settings.
[0163]
When a limited number of AVT instances have already been assigned and the connection manager service (CMS) 431 requests a new AVT instance from the client, the old connection takes precedence. That is, the AVT instance set based on the old connection is not switched based on the new request.
[0164]
However, this is only the limit on the number of AVT instances, and if the request is to handle the same AVT instance, the same AVT instance ID is used with a different connection ID even if it has already been provided to another client. You can provide a new one. In this case, a plurality of clients can execute control based on one AVT instance.
[0165]
More specifically, two or more clients can execute control of the AVT instance in which one channel list URL is set, and a control command from any client, for example, a channel switching process, controls the one AVT instance. It will be executed effectively below.
[0166]
Note that the content distribution control unit 430 has two servers, AVT instance- # 0 and AVT instance- # 1, but performs processing for a server that can operate only one AVT at the same time. Is performed as follows.
a. Initially, client 1 requests to assign AVT- # 0
b. AVT instance ID- # 0 is assigned to connection ID-1
c. Next, a request is made from client 2 to assign AVT- # 0.
d. AVT instance ID- # 0 is assigned to connection ID-2
e. Next, a request is made from client 1 to assign AVT- # 1.
f. Return error to client 1
[0167]
By executing such processing, the number of AVT instances set can be limited.
[0168]
As described above, the channel list URL can be obtained from the content directory service (CDS) 442. When the tuner is in the play state, that is, in the content distribution state to the clients, all clients (only when the server supports a plurality of clients) that have already made a content request based on HTTP-GET to this channel list URL are displayed in the channel list URL. Is set to the AVT instance, and streaming of the tuner can be obtained at the same time.
[0169]
That is, if the user simply wants to monitor the streaming used by another client, the URL for streaming, that is, the channel list URL obtained from the content directory service (CDS) 442 is set without executing the setting of the AVT instance. Only by issuing the HTTP-GET method, the streaming of the tuner can be obtained.
[0170]
The content distribution control unit 430 of the server 400 performs distribution control of the content of a plurality of channels received by the tuner 410 specified based on the channel list URL as the channel list identifier under the control of the AVT instance. When receiving an HTTP-GET method as a content request specifying the same channel list URL from another client, the requesting client performs channel setting by an HTTP connection based on the channel list URL without setting an AVT instance. Delivery of the tuner reception content specified based on the list URL can be executed.
[0171]
[Server with multiple tuners]
The above example is an example in which the server has only one tuner, but a configuration in which a plurality of tuners are mounted is also possible. In this case, a channel list URL is associated with each tuner, and further, different AVT instances are set and control is executed. FIG. 13 shows a processing configuration example in a server having two tuners.
[0172]
In this case, one streaming content is transmitted to the client via the tuner A511 and the codec A512, and another streaming content is transmitted to the client via the tuner B521 and the codec B522.
[0173]
The connection manager service 530 of the content distribution control unit 500 individually assigns an AVT instance for executing each tuner control. The tuner control instance 531 controls the tuner A 511, and the tuner control instance 532 controls the tuner B 521.
[0174]
In this case, the channel list URL set in the tuner control instance 531 is the channel list URL (A) corresponding to the tuner A container, and the channel list URL set in the tuner control instance 532 corresponds to the tuner B container. It becomes the channel list URL (B).
[0175]
The client receiving the content via each tuner has an AVT instance ID corresponding to the tuner control instance 531 or the tuner control instance 532, respectively, and can perform control by designating each AVT instance ID. Each can be controlled independently.
[0176]
Note that the correspondence between the tuner and the channel list is determined by the channel list URL set as metadata set corresponding to the tuner container, as described above. In the above-described example, an example in which one channel list URL is associated with one tuner has been described. However, when there are a plurality of tuners, various settings are possible for the association mode between the tuner and the channel list URL. is there.
[0177]
If there are two tuners and each tuner can receive both terrestrial waves and BS, one tuner container can be set, and two channel list URLs can be set as metadata. In the tuner container 601, a terrestrial channel item 602 and a BS channel item 603 are set as child items.
[0178]
As the metadata of the tuner container 601, two channel list URLs, a channel list URL1 (funcID = a) and a channel list URL2 (funcID = b), are set.
[0179]
In the case of such a configuration, the client can know the two channel list URLs and the channel information as the content information of the tuner container 601. When the client wants to view the terrestrial wave, the client selects a channel list corresponding to the terrestrial wave, for example, a channel list URL1 (funcID = a), and executes the AVT instance setting processing in step S107 in the processing sequence shown in FIG. do it. When the user wants to view the BS wave, the user selects a channel list corresponding to the BS wave, for example, a channel list URL2 (funcID = b), and executes an AVT instance setting process in step S107 in the process sequence shown in FIG.
[0180]
In the case of such a configuration, the protocol information transmitted from the connection manager 431 of the content distribution control unit 430 in step S103 includes the function IDs of the two channel lists URL described above.
[Internal: 1.2.3.4: application / x-av-tuner-content: func-id = a],
[Internal: 1.2.3.4: application / x-av-tuner-content: func-id = b]
Two pieces of protocol information regarding the streaming data content via the two tuners are respectively notified to the client.
[0181]
In addition, when there are two terrestrial BS combined reception tuners and one of them is dedicated to terrestrial broadcasting and the other is dedicated to BS, each tuner container 611, 621 is set as shown in FIG. A plurality of terrestrial channel items 612 are set in the terrestrial tuner container 611. A plurality of BS channel items 622 are set in the BS tuner container 621.
[0182]
Although it is possible to set one channel list URL for each tuner container, in the example shown in FIG. 15, two channel list URLs are set for each of the two tuner containers.
[0183]
With such a configuration, when one client applies one tuner to view a terrestrial channel, another client uses another tuner to view another terrestrial channel. Also, two different types of BS channels are possible, or one type is terrestrial and the other is BS.
[0184]
Specifically, when two terrestrial waves are viewed through two tuners, the channel list URL-Terrestrial1 (funcID = a) and the channel list URL-Terrestrial2 (funcID = b) in the terrestrial container 611 are displayed. Are set in different AVT instances, and two terrestrial waves are transmitted to each client by controlling different tuners.
[0185]
When two BS waves are viewed through two tuners, the channel list URL-BS1 (funcID = a) and the channel list URL-BS2 (funcID = b) in the BS wave container 621 are different AVTs. Two terrestrial waves are transmitted to each client by setting them in the instance and controlling different tuners.
[0186]
In the case of a terrestrial wave and a BS, the channel list URL-Terrestrial1 (funcID = a) in the terrestrial container 611 and the channel list URL-BS2 (funcID = b) in the BS wave container 621 or the terrestrial container 611 By performing control based on a combination of a certain channel list URL-Terrestrial2 (funcID = b) and a channel list URL-BS1 (funcID = a) in the BS wave container 621, tuners with different terrestrial and BS wave contents can be used. Provided to the client via
[0187]
When one of the two tuners is a terrestrial dedicated tuner and the other is a terrestrial BS shared tuner, a channel list URL as shown in FIG. 16 can be set.
[0188]
As shown in FIG. 16, each tuner container 631, 641 is set. A plurality of terrestrial channel items 632 are set in the terrestrial tuner container 631. A plurality of BS channel items 642 are set in the BS tuner container 641.
[0189]
Two channel list URLs are set in the terrestrial tuner container 631, and the two channel list URLs can be applied at the same time. For terrestrial waves only, streaming distribution can be performed simultaneously using two tuners. .
[0190]
Specifically, when two terrestrial waves are viewed through two tuners, a channel list URL-Terrestrial1 (funcID = a) and a channel list URL-Terrestrial2 (funcID = b) in the terrestrial container 631 are displayed. Are set in different AVT instances, and two terrestrial waves are transmitted to each client by controlling different tuners.
[0191]
In the case of a terrestrial wave and a BS, control is performed by a combination of a channel list URL-Terrestrial2 (funcID = b) in the terrestrial wave container 611 and a channel list URL-BS1 (funcID = a) in the BS wave container 621. , Terrestrial and BS content are provided to the client via different tuners.
[0192]
[Processing flow of server and client]
The processing procedure of each of the server and the client in the live streaming processing of the tuner reception data will be described with reference to the flowcharts of FIGS. First, the processing in the client will be described with reference to the processing flow of FIG.
[0193]
In step S501, the client device executes a content information acquisition request by browsing or search processing. This is executed for the content directory service 442 of the content management unit 440 (see FIG. 6).
[0194]
In step S502, content information is received. Here, the content information of the tuner container and the channel item is acquired to execute the distribution of the streaming data via the tuner, and the content information corresponding to the tuner container shown in FIG. 8A and the content information of FIG. , Information based on the content information for each channel shown in FIG. By this processing, the channel list URL, function ID, and channel information are obtained.
[0195]
Next, in step S503, the client transmits a protocol information acquisition request to the connection manager service 431 of the content distribution control unit 430. In step S504, a protocol information list is received from the connection manager service 431. This protocol information list includes protocol information [internal: 1.2.3.4: application / x-av-tuner-content: func-id = t01] indicating that the distribution of live streaming data is possible. .
[0196]
Next, in step S505, the client obtains information about another client currently connected to the server 400 from the connection manager service 431. In step S506, the client transmits a connection preparation request (PrepareForConnection) to the connection manager service 431. If the client desires to deliver live streaming data to which a tuner is applied, in step S502, a function matching the function ID (funcID) in the content information corresponding to the tuner container received from the content directory service (CDS) 442 The protocol information having the ID is transmitted.
[0197]
In step S507, the client receives the connection ID and the identifier (AVT instance ID) of the AVT instance set (assigned) as the tuner control instance.
[0198]
In step S508, the client issues a URI (Uniform Resource Identifier) set request to the assigned AVT instance. The URI set for the AVT instance includes the AVT instance ID notified from the connection manager service 431, and the channel list URL included in the content information corresponding to the tuner container acquired in step S502.
[0199]
The processing so far is the setting processing for enabling the tuner control by the AVT instance. Thereafter, the client issues a control request to the AVT instance, thereby enabling various controls such as content transmission, stop, and channel switching.
[0200]
In step S509, the client issues a content control request to the AVT instance. For example, there are a reproduction (Play) request and a channel switching (Seek) request. The client generates description data according to the XML data, and transmits various types of control information to the AVT instance 433.
[0201]
If the client-side user determines in step S510 that the user wants to perform channel switching, in step S511, the client issues a channel switching (Seek) request to the AVT instance. This control request stores the AVT instance ID and the switching channel number. If it is determined in step S512 that the connection is to be terminated, a connection termination request storing the connection ID is transmitted to the connection manager service 431. The connection ID has been received from the connection manager service 431 in step S507.
[0202]
Next, processing on the server side will be described with reference to the processing flow of FIG. In step S601, the content directory service 442 of the content management unit 440 (see FIG. 6) receives a content information acquisition request from a client. Here, it is assumed that there is a request to acquire the content information of the tuner container and the channel item.
[0203]
In step S602, the content directory service 442 transmits the content information of the tuner container and the channel item to the client. The content information corresponds to the tuner container shown in FIG. 8A and the content information for each channel shown in FIG. 8B, and includes channel list URL, function ID (funcID), and channel information.
[0204]
In step S603, the connection manager service 431 of the content distribution control unit 430 of the server receives a protocol information acquisition request from the client. In step S604, the connection manager service 431 transmits a protocol information list to the client. The protocol information list transmitted from the connection manager service 431 to the client includes information indicating that live streaming data can be distributed [internal: 1.2.3.4: application / x-av-tuner-content: func]. −id = t01].
[0205]
Next, in step S605, the connection manager service 431 provides the client with information on another client currently connected to the server 400. The connection manager service 431 provides connection information based on the connection management table shown in FIG.
[0206]
In step S606, the connection manager service 431 receives a connection preparation request (PrepareForConnection) from the client. If the client desires to deliver live streaming data to which a tuner is applied, the function ID (funcID) included in the content information corresponding to the tuner container as the content information previously transmitted by the content directory service (CDS) 442 ) Is included in the connection preparation request.
[0207]
The connection manager service 431 which has received the connection preparation request from the client converts the protocol information [internal: 1.2.3.4: application / x-av-tuner-content: func-id = t01] included in the connection preparation request. Based on this, it is determined that the request is a request for streaming distribution of the received data by the tuner, and in step S607, one AVT instance 433 in the content correspondence control unit 432 is set (assigned) as a tuner control instance, and a connection preparation request is transmitted Binding (ID) to a connection ID for a client that has been set and assigned as a tuner control instance, and an AVT instance identifier (AVT instance ID) Only performs entry setting for the connection management table shown in FIG. 10, in step S608, the notifying the connection ID and the AVT instance ID to the client.
[0208]
In step S609, when the AVT instance receives a URI (Uniform Resource Identifier) setting request from the client, in step S610, the AVT instance sets the AVT instance ID and the channel list URL in the AVT instance as the AVT instance URI.
[0209]
The AVT instance can identify its own control target content and the client based on the AVT instance ID specified by the client and the channel list URL. That is, a client that specifies an AVT instance ID and transmits various control commands is recognized as a client corresponding to the AVT instance, and a tuner associated with the channel list URL is controlled. The channel list URL is the content corresponding to the tuner container, and the AVT instance in which the channel list URL is set is set as an instance for executing the control of the tuner 410.
[0210]
Next, in step S611, when the AVT instance receives the content control request, in step S612, the AVT instance 433 executes processing such as tuner control based on information received from the client, for example, content reproduction start, end, channel switching, and the like. I do. The AVT instance 433 specifies a control target content based on the set content URL, and controls the specified control target content. In this case, the content URL is a channel list URL, the channel list URL is content information corresponding to the tuner container, and the AVT instance 433 controls the tuner 410.
[0211]
If it is determined in step S613 that a channel switching (Seek) request has been received, in step S614, the AVT instance 433 controls the tuner 410 to switch the channel of the tuner. Since the HTTP connection between the server and the client before and after the channel switching is an HTTP connection based on the same URL, that is, the same channel list URL, the channel switching is performed between the server and the client while the connection is maintained.
[0212]
If it is determined in step S615 that the connection manager service 431 has received the connection termination request storing the connection ID, in step S616, the connection between the server and the client is disconnected in accordance with the request from the client. Delete the corresponding entry from the connection management table described with reference to.
[0213]
As described above, when the image or audio data transmitted from the server to the client is coded data such as MPEG, for example, the transmission data of the transmission data is unconditionally determined based on the channel switching timing received from the client. Executing the switching may cause inconsistency in the encoded data packets to be transmitted. For example, during transmission of a part of a PES (Packetized Elementary Stream) packet, which is a packet constituting a Pack defined by the MPEG-2 system, channel switching is performed to change the transmission data, and the client decodes the data. In this case, a loss occurs in a pack, which is one processing unit, and a reproduction error occurs.
[0214]
Therefore, if the server determines in step S613 that a channel switching (Seek) request has been received, it is possible to maintain the consistency of the transmission encoded data by changing the transmission data based on the channel switching request from the client. If it is determined that the consistency is not maintained, the connection connection for the data stream distribution between the server and the client, that is, the channel connection before executing the channel switching under the control of the tuner 410 of the AVT instance 433 in step S614, that is, the channel The HTTP connection based on the list URL is disconnected, the client is notified via the event notification connection that the connection connection for data stream distribution is disconnected, and then the AVT in step S614 is performed. Executing the channel switching by the control of the tuner 410 of the instance 433.
[0215]
When the client receives the connection disconnection notification from the server, the client transmits again a process of setting an HTTP connection based on the channel list URL, that is, transmits an HTTP-GET method based on the channel list URL to the server. Since the setting state of the AVT instance (tuner control instance 433) is maintained, setting processing of the tuner control instance 433 such as new assignment and URI set can be omitted.
[0216]
As described above, the server detects the data encoding status of the codec 420, inputs the detection information to the tuner control instance 433, and executes the channel switching of the tuner 410 under the timing control of the tuner control instance 433. In this case, after receiving the channel switching (Seek) request in step S613, the tuner control instance 433 transmits the encoded data of the encoded data to be transmitted to the client based on the detection information of the data encoding status of the codec 420. At a timing at which the consistency can be maintained, the channel is switched under the control of the tuner 410 of the AVT instance (tuner control instance 433) in step S614.
[0219]
By performing such control of the channel switching timing on the server side, the occurrence of a decoding error on the client side is prevented, and the data reproduction before the channel switching and after the channel switching are normally performed on the client side. Becomes possible.
[0218]
[Live recording process]
Next, a description will be given of a process of recording the content received by the tuner in the server, that is, a process of recording the content received by the tuner in a storage unit such as a hard disk in the server.
[0219]
FIG. 19 shows an example of a server configuration having a tuner function, having a configuration for distributing data received by the tuner to a client, and having a processing configuration for executing content recording in a content storage unit such as a hard disk in the server.
[0220]
The main parts in the configuration shown in FIG. 19 are the same as those described above with reference to FIG. 6, and server 400 includes tuner 410, codec 420, content distribution control unit (media renderer) 430, content management unit (Media server) 440.
[0221]
In this configuration example, various AVT instances newly set in the content storage unit 650, the video capsule 651 in the content storage unit, and the content correspondence control unit 432 in the content distribution control unit 430, that is, various HDDs, DVDs, CD drives, etc. The difference is that a video capsule control instance 652 as a storage unit control instance that functions as a storage unit control processing unit that executes control of the data storage unit and controls content recording processing.
[0222]
In FIG. 19, the same components as those in FIG. 6 are denoted by the same reference numerals, and basically perform the same processing as described with reference to FIG. Hereinafter, referring to FIG. 19, while providing the content received by tuner 410 to the client live, video tuner 650 as an object set for live data storage set in content storage unit 650 such as a hard disk is provided. Processing for recording the received content of the tuner 410 will be described.
[0223]
In the description, an example will be described in which the content storage unit is a hard disk and the recorded content is image data. However, the content storage unit is not limited to a hard disk, and may be a data writable storage such as a DVD, a CD-R, or a flash memory. Any means may be used, and the recorded content is not limited to image data, and may be in any data format such as audio data, text data, and programs.
[0224]
Also, a video capsule is shown as an example of a content storage object for recording content, but a video capsule is shown as an example of a content storage object, and any content storage object such as an audio data capsule may be used. Hereinafter, an example will be described in which the content storage unit is a hard disk, the recorded content is image data, and the content storage object is a video capsule.
[0225]
In order to record on the video capsule 651, a video capsule control instance 652 is set as an AVT instance for controlling the content storage unit 650. Under the control of the video capsule control instance 652, a stream for recording flows from the tuner 410 to the video capsule 651 in the content storage unit 650 such as a hard disk and is recorded.
[0226]
In such a recording process, it is necessary to handle two contents. That is, a recording source (recording source) content and a recording destination (recording sink) content. In this case, the tuner received content becomes the recording source content, and the video capsule storage content becomes the recording destination content.
[0227]
The tuner reception content is specified by the channel list URL as understood from the above description. The recording destination content is specified by the video capsule URL. If a video capsule URL does not exist, a process of generating a video capsule by object generation processing and setting a video capsule URL as a content URL for the generated video capsule is required.
[0228]
During the recording, the recording source (recording source) content is in the reproduction state, and the recording destination (recording sink) content transitions to the recording state. A tuner control instance 433 and a video capsule control instance 652 are used as a content correspondence control unit for executing such transition state management and control. The tuner control instance 433 is a recording source control instance (recording source AVT instance), and the video capsule control instance 652 is a recording sink control instance (recording sink AVT instance). A channel list URL and a video capsule URL are set in these control instances. The setting process is the same as the AVT URI setting process in step S107 described above in the process sequence of FIG. The processing sequence of this example will be described later with reference to FIG.
[0229]
If an area for storing the tuner reception content is reserved in advance and an area having the content URL already exists, the content URL is set as the AVT instance and applied as the control instance of the recording destination content. It is possible to record the tuner reception content in the storage area that has been set.
[0230]
However, if the area for storing the tuner reception content is not reserved in advance, the client issues an object generation request (CreateObject) to the content directory service 442 of the server 400 to issue a tuner reception content storage object (video capsule). ).
[0231]
When an object creation request (CreateObject) is issued, the creation object (video capsule) is explicitly created using metadata to be used for live recording. By this processing, even if no content is stored in the new video capsule, the server assigns a URL representing the content to the property (res property) of the object (video capsule). Details will be described later.
[0232]
The acquisition of the AVT instance required for live recording, that is, the acquisition and setting processing of the video capsule control instance 652 is executed by the same procedure as the setting of the tuner control instance 433 described above. A server that supports recording assigns at least two AVT instances in consideration of recording and playback. Two connection IDs are set for each AVT instance.
[0233]
In a state where two connection IDs are set, the URLs of the contents of the recording source and the recording destination, that is, the channel list URL and the video are recorded for the two AVT instances, that is, the tuner control instance 433 and the video capsule control instance 652, respectively. The capsule URL is set. This set processing is executed as processing according to the procedure of the AV transport URI set (AVT: SetAVTransportURI) in step S107 shown in the figure.
[0234]
Further, a URI designation process (AVT: X_SetAVTRecordInputURI action) of the recording source content is executed for the AVT instance handling the recording destination content, that is, the video capsule control instance 652. The process of designating the URI of the recording source content is performed by the client as a control request that stores the identifier of the AVT instance handling the recording destination content, ie, the video capsule control instance ID, and the recording source content URL, ie, the channel list URL. Issued to control instance 652.
[0235]
This determines what is to be recorded when the recording destination AVT (video capsule control instance 652) performs the recording process (X_Record action).
[0236]
When a playback request (AVT: Play action) is transmitted to the recording source content, that is, the tuner reception content corresponding to the channel list URL, the client can obtain streaming from the recording source content URL. This corresponds to the reproduction request in step S108 in the sequence diagram of FIG. 9 described above.
[0237]
When the client sends a recording start request (AVT: X_Record action) to the recording destination content, that is, the video capsule control instance 652 in which the video capsule URL is set, the recording starts under the control of the video capsule control instance 652. Is done.
[0238]
Note that when a pause request (AVT :: Pause action) is sent from the client to the recording destination content, that is, the video capsule control instance 652 in which the video capsule URL is set, the recording pause can be performed. For example, it can be used for CM cutting and the like.
[0239]
When the user wants to switch the recording source content, if the content is within the range of the channel described in the recording source content URL such as the channel change, that is, the channel list corresponding to the channel list URL, the recording should be continued even if the channel is changed. Can be. Time-shift playback can be performed by streaming the recording destination content URL instead of the recording source content URL. The details of the time shift reproduction will be described later.
[0240]
A method of adding a new video capsule and setting it as a recording destination content will be described. To create a new object, the client issues an object generation request (CreateObject) to the content directory service 442 of the server 400. Thereby, a storage object (video capsule) of the tuner reception content is generated.
[0241]
As the metadata corresponding to the storage object (video capsule) of the tuner received content, it is possible to set [recording status (recordStatus)], [recording end date and time], and [recording quality level]. The specification of these pieces of information from the client is optional. When these are designated, the processing according to the designated information is performed under the control of the video capsule control instance 652, and when not designated, the processing is executed according to the control information set as a default in advance.
[0242]
In the object (video capsule) generation process, when the content directory service 442 of the server is requested to create an object whose [recording status (recordStatus)] is not recorded (NotYet), the server transmits the object for live recording. It is determined that the object is an object, and a content URL (video capsule URL) is set in a newly created object (video capsule) even if there is no actual content.
[0243]
In the object (video capsule) generation processing, the server sets, for example, the following metadata corresponding to the video capsule for live recording.
[Recorded state (recordStatus)] = Unrecorded (NotYet)
[Recording quality level] = Setting or default value
[Resource (res)] = URL for internal connection starting with file: when not supporting time-shift reproduction, URL starting with http when supporting time-shift reproduction, for both internal connection and streaming
[Protocol information]
Schema: http-get if time-shift playback is supported, internal if not,
Network: * for http-get, IP address for internal,
MIME-Type: Value specified if accepted by client, * if not specified, or default value;
Additional information (AdditionalInfo: func-id = <value representing HDD>)
[Recording quality level (recordQualityLevel) = setting or default value
[0244]
In the additional information in the protocol information, a function ID indicating that content processing is performed under the control of the content storage unit 650 is set. In this case, the content storage unit 650 is a hard disk, which indicates that control of the HDD is involved. As described above, the function ID indicates a control target at the time of processing the content. When the function ID corresponds to the DVD storage content, the function ID indicating the DVD is used. When the tuner control is performed, the function ID indicating the tuner is the content ID. Is set in the property information of
[0245]
The following is an example of metadata created in an object creation request (CreateObject).
<Item id = "vc103" parentID = "cab32" restricted = "1">
<Dc: title> File for next recording </ dc: title>
<Upnp: class> object. item. videoItem. sonyVideoCapsule </ upnp: class>
<Av: recordQualityLevel> 4 </ av: recordQualityLevel>
<Av: recordStatus> NotYet </ av: recordStatus>
. . .
<Res protocolInfo = “internal: 1.2.3.4: video / mpeg: func-id = hdd”
av: codec = "MPEG2V" duration = "00: 00: 00.000"...>
file: / cabinet32 / recording-001
</ Res>
</ Item>
[0246]
The client can change these setting values by updating the object (UpdateObject).
[0247]
For example, it is possible to add a property to automatically end the recording, and it is possible to add the recording end date and time as the property information. An example is shown below.
<Item id = "vc103" parentID = "cab32" restricted = "1">
<Dc: title> File for next recording </ dc: title>
<Upnp: class> object. item. videoItem. sonyVideoCapsule </ upnp: class>
<Av: recordQualityLevel> 4 </ av: recordQualityLevel>
<Av: recordStatus> NotYet </ av: recordStatus>
<Av: recordEndDateTime> 2003-03-14T22: 00: 000 <// av: recordEndDateTime>
. . .
<Res protocolInfo = “internal: 1.2.3.4: video / mpeg: func-id = hdd”
av: codec = "MPEG2V" duration = "00: 00: 00.000"...>
file: / cabinet32 / recording-001
</ Res>
</ Item>
[0248]
In the example above,
<Av: recordEndDateTime> 2003-03-14T22: 00: 000 <// av: recordEndDateTime>
Is the recording end date and time data with the added.
[0249]
Next, time shift reproduction will be described. Time-shift playback refers to a process of streaming playback of a part of the content being recorded earlier than the time of recording. Time-shift playback can be performed by streaming from a recording destination URL (video capsule URL) instead of a recording source URL (channel list URL) as in live streaming. In this time shift reproduction, the same content distribution processing operation as in a normal video capsule is performed. However, the range of possible seeks, that is, the possible range of temporally fast-forwarding and rewinding playback of distributed content changes every moment. The client can know this seek range change by an event notification from the server.
[0250]
The event notification allows the user to know the current seek range and the current time on the server. The client can always grasp the seek range thereafter by adjusting the time to the time at the client that has received the event notification. Regardless of the presence or absence of the time-shift playback, the end or pause of the recording body is notified from the recording destination AVT (video capsule control instance 652) by an event notification.
[0251]
With reference to FIG. 20, a description will be given of a processing sequence in the case where live streaming and live recording of tuner received content are performed together.
[0252]
First, in step S701, the client acquires content information by browsing or search processing in order to check content that the server has and can provide to the client. A client that intends to execute a content search requests the server to perform a “search” specifying a class corresponding to a hierarchy of a content management directory or an object set or a “browse” as a specification of a specific object. Information can be obtained. The browse or search is executed for the content directory service 442 of the content management unit 440. The content directory service 442 generates XML data based on the metadata corresponding to each object from the database 443 storing the metadata, and generates the XML data as content information. Offer to clients.
[0253]
As the content information on the tuner container, content information corresponding to the tuner container shown in FIG. 8A and information based on the content information for each channel shown in FIG. 8B are transmitted to the client.
[0254]
The client displays the content information on the display based on the XML data describing the content information received from the server. This is display information as described above with reference to FIG.
[0255]
The client, based on the content information corresponding to the tuner container and the channel item shown in FIGS.
Channel list URL
Function ID (funcID)
Channel information
To get.
[0256]
At this point, the information of the video capsule for recording is obtained, and the video capsule URL included in the information of the video capsule can be selected as the video capsule URL for recording the tuner reception data. However, the video capsule is set. If not, a video capsule generation process is performed in step S702.
[0257]
The client sends an object generation request to the content directory service 442, and creates a new video capsule. At this time, it is possible to set [recording status (recordStatus)], [recording end date and time], and [recording quality level] as metadata. The specification of these pieces of information from the client is optional. The setting of [recording state (recordStatus)] is unrecorded (NotYet).
[0258]
In the object (video capsule) generation process, when the content directory service 442 of the server is requested to create an object whose [recording status (recordStatus)] is not recorded (NotYet), the server transmits the object for live recording. It is determined that the object is an object, and a content URL (video capsule URL) is set in a newly created object (video capsule) even if there is no actual content.
[0259]
Next, in step S703, the client transmits a protocol information acquisition request to the connection manager service 431 of the content distribution control unit 430. This is a process of requesting the content distribution control unit 430 for inputtable protocol information, that is, a list of protocol information that can be processed by the content distribution control unit 430.
[0260]
In step S704, the connection manager service 431 transmits a protocol information list to the client. The protocol information list includes various protocol information that can be processed by the content distribution control unit 430, such as MPEG as a protocol of video data, ATRAC of audio data, and the like.
[0261]
The protocol information list transmitted to the client by the connection manager service 431 of the server capable of distributing the received data of the tuner 410 includes information indicating that the distribution of live streaming data is possible. Specifically, the protocol information includes [internal: 1.2.3.4: application / x-av-tuner-content: func-id = t01]. That is, the schema column (first column) is [internal], and includes a function ID (func-id = t01) indicating that the content is a content for which the tuner control process is executed. This protocol information indicates that a logical connection with the internal content management unit (media server) 440 is possible by the following connection preparation (PrepareForConnection).
[0262]
Further, the protocol information list transmitted by the connection manager service 431 to the client includes information indicating that recording of live streaming data is possible. Specifically, protocol information [internal: 1.2.3.4: video / mpeg: func-id = hdd] is included. That is, the schema column (first column) is [internal], and includes a function ID (func-id = hdd) indicating that the content is a content for which the hard disk control process is executed. This protocol information indicates that a logical connection with the internal content management unit (media server) 440 is possible by connection preparation (PrepareForConnection) described below.
[0263]
As described above, the function ID is an ID set for each control target for content distribution, such as tuner control, DVD control, and hard disk control. In step S101, the client performs browsing or search processing to execute the content directory service 442. It is also included in the content information obtained from. Here, the function ID [func-id = t01] is set as a function ID corresponding to the content distribution to which the tuner 410 is applied.
[0264]
Next, in step S705, the client obtains information about another client currently connected to the server 400 from the connection manager service 431. The connection manager service 431 associates the connection ID corresponding to the client connected to the server with the client identifier, the protocol information corresponding to the content distributed to each client, and the like. Connection management is being performed while holding the table. These information are provided to the client in response to a connection information acquisition request from the client. This processing will be described later. This connection information notification processing is executed by the client to check the connection status of another client, and may be omitted.
[0265]
In step S706, the client transmits a connection preparation request (PrepareForConnection) to the connection manager service 431. When the client desires a live streaming data distribution process to which a tuner is applied and a live streaming data recording process, protocol information [internal: 1.2.3.4: application / x] corresponding to the tuner reception processing content. -Av-tuner-content: func-id = t01] and protocol information [internal: 1.2.3.4: video / mpeg: func-id = hdd] corresponding to the hard disk recording processing content are transmitted.
[0266]
Upon receiving the connection preparation request (PrepareForConnection) from the client, the connection manager service 431 checks the protocol information corresponding to the tuner [internal: 1.2.3.4: application / x-av-tuner-content: func] included in the connection preparation request. −id = t01], it is determined that the request is for streaming distribution of received data by the tuner, and one AVT instance 433 in the content correspondence control unit 432 is set (assigned) as a tuner control instance, and a connection preparation request is made. (Connection ID) between the client 460 having the (PrepareForConnection) and the tuner control instance, and the tuner control instance. Binding process between the set Te (assignment) the AVT instance identifier (AVT instance ID), i.e. to associate.
[0267]
Further, the connection manager service 431 records the received data by the tuner based on the protocol information [internal: 1.2.3.4: video / mpeg: func-id = hdd] corresponding to the hard disk included in the connection preparation request. It is determined that the request is a request, one AVT instance 652 in the content correspondence control unit 432 is set (assigned) as a video capsule control instance, and the connection between the client 460 and the video capsule control instance having the connection preparation request (PrepareFor Connection) Binding processing of ID and AVT instance identifier (AVT instance ID) set (assigned) as a video capsule control instance, that is, correspondence Only carried out.
[0268]
The connection manager service 431 performs entry setting of the connection management table as shown in FIG. That is, for the same client A, an entry is set in which the protocol information 681 for streaming distribution of tuner received data and the protocol information 682 for recording processing of tuner received data are associated with the respective connection ID and AVT instance ID. You.
[0269]
In step S707, the connection manager service 431 provides the client with the tuner control instance 433, which is the identifier of the two AVT instances assigned, the two AVT instance IDs of the video capsule control instance 652, and the connection between the client server. The two set connection ID information are notified. The client stores this information in memory.
[0270]
In step S708, the client sets a URI (Uniform Resource Identifier) for the assigned AVT instance as a process for performing content distribution control and recording processing by the two AVT instances assigned by the connection manager service 431. Issue the request.
[0271]
The URI set for the tuner control instance includes the tuner control instance ID notified from the connection manager service 431, and the channel list URL included in the content information corresponding to the tuner container acquired in the processing of step S703.
[0272]
The URI set for the video capsule control instance includes the video capsule control instance ID notified from the connection manager service 431 and the video capsule URL acquired in the processing in step S703.
[0273]
The tuner control instance 433 can identify its own control target content and the client based on the AVT instance ID specified by the client and the channel list URL. On the other hand, the video capsule control instance 652 can identify its own control target content and the client based on the AVT instance ID specified by the client and the video capsule URL.
[0274]
The channel list URL is the content corresponding to the tuner container, and the AVT instance in which the channel list URL is set is set as an instance for executing the control of the tuner 410. The video capsule URL is a content corresponding to the video capsule object, and the AVT instance in which the video capsule URL is set is set as an instance that executes control of the video capsule 651.
[0275]
Further, in step S708, the URI of the recording source content is designated (AVT: X_SetAVTRecordInputURI action) for the AVT instance handling the recording destination content, that is, the video capsule control instance 652. The process of designating the URI of the recording source content is performed by the client as a control request that stores the identifier of the AVT instance handling the recording destination content, ie, the video capsule control instance ID, and the recording source content URL, ie, the channel list URL. Executed for control instance 652. This determines what is to be recorded when the recording destination AVT (video capsule control instance 652) performs the recording process (X_Record action).
[0276]
At this point, the setting process of each AVT instance is completed, and the client can issue various control requests to each AVT instance. In step S709, a reproduction (Play) request is issued to the tuner control instance 433. For this control request, for example, a SOAP (Simple Object Access Control) protocol is used. Based on the SOAP, the client generates description data according to the XML data and transmits the generated description data to the tuner control instance 433.
[0277]
The AVT instance 433 executes control based on the information received from the client, for example, processing such as start / end of content reproduction and channel switching. The AVT instance 433 specifies a control target content based on the set content URL, and controls the specified control target content. In this case, the content URL is a channel list URL, the channel list URL is content information corresponding to the tuner container, and the tuner control instance 433 controls the tuner 410.
[0278]
When the tuner control instance 433 receives the playback (Play) request in step S709, the tuner control instance 433 controls the tuner 410 and starts transmitting the tuner reception data to the client.
[0279]
In step S710, a channel setting (Seek) request is issued to the AVT instance. This request includes the AVT instance ID and the channel number. When the tuner control instance 433 receives the channel setting (Seek) request, the tuner control instance 433 controls the tuner 410, sets the channel of the tuner, and transmits the received data to the client.
[0280]
Further, in step S711, when the client transmits a recording start request (AVT: X_Record action) to the video capsule control instance 652, recording is started under the control of the video capsule control instance 652.
[0281]
The metadata of the video capsule includes the setting information of [recording end date and time] and [recording quality level] as described above, and the video capsule control instance 652 performs a recording process according to the setting information.
[0282]
In step S712, live streaming distribution is performed under the control of the tuner control instance 433, and in step S713, live content recording on the video capsule 651 of the content storage unit 650 is performed under the control of the video capsule control instance. Step S714 indicates that the event notification processing (SENA) is executed in parallel with the content distribution. As described above, the event is information related to the distribution content such as switching between stereo / monaural, and is a process in which the server notifies various event information based on an event notification request based on the event URL from the client. .
[0283]
Note that when a pause request (AVT :: Pause action) is sent from the client to the recording destination content, that is, the video capsule control instance 652 in which the video capsule URL is set, the recording pause can be performed. For example, it can be used for CM cutting and the like.
[0284]
If the user wants to switch the recording source content, only issue a channel change request to the tuner control instance 433 if it is within the range of channels described in the recording source content URL such as channel change, that is, the channel list corresponding to the channel list URL. Thus, recording can be continued as it is. Time-shift reproduction can be performed by making a streaming request to the video capsule control instance 652 corresponding to the recording destination content URL instead of the recording source content URL.
[0285]
[Processing flow of server and client in live recording]
The processing procedure of each of the server and the client when performing the live streaming processing and the live recording processing of the tuner reception data will be described with reference to the flowcharts of FIGS. First, the processing in the client will be described with reference to the processing flow in FIG.
[0286]
In step S721, the client device executes a content information acquisition request by browsing or search processing. This is executed for the content directory service 442 of the content management unit 440 (see FIG. 19).
[0287]
In step S722, the content information is received. Here, the content information of the tuner container and the channel item is acquired to execute the distribution of the streaming data via the tuner, and the content information corresponding to the tuner container shown in FIG. 8A and the content information of FIG. , Information based on the content information for each channel shown in FIG. By this processing, the channel list URL, function ID, and channel information are obtained.
[0288]
In step S723, a video capsule generation process is performed. If a video capsule or another recording area has already been set, the object generation in step S723 may be omitted. To generate an object, the client sends an object generation request to the content directory service 442, and newly creates a video capsule. At this time, it is possible to set [recording status (recordStatus)] = unrecorded (NotYet), [recording end date and time], and [recording quality level] as metadata.
[0289]
Next, in step S724, the client transmits a protocol information acquisition request to the connection manager service 431 of the content distribution control unit 430. This is a process of requesting the content distribution control unit 430 for inputtable protocol information, that is, a list of protocol information that can be processed by the content distribution control unit 430.
[0290]
In step S725, the client receives the protocol information including the function ID. Protocol information indicating live streaming under tuner control [internal: 1.2.3.4: application / x-av-tuner-content: func-id = t01], and protocol information indicating live streaming data recording [internal: 1.2.3.4: video / mpeg: func-id = hdd].
[0291]
Next, in step S726, the client acquires information about another client currently connected to the server 400 from the connection manager service 431. This is information based on the connection management table (see FIGS. 10 and 21) of the server.
[0292]
In step S727, the client transmits a connection preparation request (PrepareForConnection) to the connection manager service 431. When the client desires a live streaming data distribution process to which a tuner is applied and a live streaming data recording process, protocol information [internal: 1.2.3.4: application / x] corresponding to the tuner reception processing content. -Av-tuner-content: func-id = t01] and protocol information [internal: 1.2.3.4: video / mpeg: func-id = hdd] corresponding to the hard disk recording processing content are transmitted.
[0293]
In step S728, the client sets the tuner control instance 433, which is the identifier of the two AVT instances assigned from the connection manager service 431, the two AVT instance IDs of the video capsule control instance 652, and the connection between the client server. The received two connection ID information. The client stores this information in memory.
[0294]
In step S729, the client performs a URI (Uniform Resource Identifier) set on the assigned AVT instance as a process for performing the content distribution control and the recording process by the two AVT instances assigned by the connection manager service 431. Issue the request. The URI set for the tuner control instance includes the tuner control instance ID notified from the connection manager service 431 and the channel list URL, and the URI set for the video capsule control instance includes the video capsule control instance. An ID and a video capsule URL are included.
[0295]
Further, in step S729, the process of specifying the URI of the recording source content (AVT: X_SetAVTRecordInputURI action) is executed for the AVT instance handling the recording destination content, that is, the video capsule control instance 652. The process of designating the URI of the recording source content is performed by the client as a control request that stores the identifier of the AVT instance handling the recording destination content, ie, the video capsule control instance ID, and the recording source content URL, ie, the channel list URL. Executed for control instance 652. This determines what is to be recorded when the recording destination AVT (video capsule control instance 652) performs the recording process (X_Record action).
[0296]
At this point, the setting process of each AVT instance is completed. In step S730, a transmission start request of the streaming data is transmitted to the tuner control instance 433. Further, in step S731, the client transmits a recording start request (AVT: X_Record action) to the video capsule control instance 652. With this processing, recording is started under the control of the video capsule control instance 652.
[0297]
If the client-side user determines in step S732 that the user wants to perform channel switching, the client issues a channel switching (Seek) request to the tuner control instance 433 in step S734. This control request stores the AVT instance ID and the switching channel number. If it is determined in step S733 that the connection is to be terminated, a connection termination request storing the connection ID corresponding to the tuner control instance 433 is transmitted to the connection manager service 431. The connection ID has been received from the connection manager service 431 in step S725. However, even if the distribution of the streaming data ends, the data recording continues the recording processing until the recording end time set as the metadata of the video capsule earlier.
[0298]
Next, the processing procedure on the server side will be described with reference to the processing flow of FIG. In step S751, the content directory service 442 of the content management unit 440 (see FIG. 19) receives a content information acquisition request from a client. Here, it is assumed that there is a request to acquire the content information of the tuner container and the channel item.
[0299]
In step S752, the content directory service 442 transmits the content information of the tuner container and the channel item to the client. The content information corresponds to the tuner container shown in FIG. 8A and the content information for each channel shown in FIG. 8B, and includes channel list URL, function ID (funcID), and channel information.
[0300]
In step S753, a video capsule generation process is performed based on a request from the client. In the object (video capsule) generation process, when the content directory service 442 of the server is requested to create an object whose [recording status (recordStatus)] is not recorded (NotYet), the server transmits the object for live recording. It is determined that the object is an object, and a content URL (video capsule URL) is set in a newly created object (video capsule) even if there is no actual content.
[0301]
In step S754, when the connection manager service 431 of the content distribution control unit 430 receives the protocol information acquisition request from the client, in step S755, the connection manager service 431 transmits a protocol information list to the client. The protocol information list includes protocol information [internal: 1.2.3.4: application / x-av-tuner-content: func-id = t01] indicating live streaming under tuner control, and live streaming data recording. [Internal: 1.2.3.4: video / mpeg: func-id = hdd].
[0302]
Next, in step S756, in response to the client's request, the connection manager service 431 provides information about another client currently connected to the server 400. This is information based on the connection management table (see FIGS. 10 and 21).
[0303]
In step S757, the connection manager service 431 receives a connection preparation request (PrepareForConnection) from the client. When the client desires the live streaming data distribution process to which the tuner is applied and the live streaming data recording process, the protocol information [internal: 1.2.3.4: application / x] corresponding to the tuner reception processing content. -Av-tuner-content: func-id = t01] and protocol information [internal: 1.2.3.4: video / mpeg: func-id = hdd] corresponding to the hard disk recording processing content. become.
[0304]
In step S758, the connection manager service 431, which has received the connection preparation request (PrepareForConnection) from the client, receives the tuner-compatible protocol information [internal: 1.2.3.4: application / x-av-tuner] included in the connection preparation request. -Content: func-id = t01], it is determined that the request is for streaming distribution of received data by the tuner, and one AVT instance 433 in the content correspondence control unit 432 is set (assigned) as a tuner control instance. , The connection ID between the client 460 having received the connection preparation request (PrepareForConnection) and the tuner control instance, and the tuner. Binding processing of setting the cement role instances (assignment) the AVT instance identifier (AVT instance ID), i.e. to associate.
[0305]
Further, the connection manager service 431 records the received data by the tuner based on the protocol information [internal: 1.2.3.4: video / mpeg: func-id = hdd] corresponding to the hard disk included in the connection preparation request. It is determined that the request is a request, one AVT instance 652 in the content correspondence control unit 432 is set (assigned) as a video capsule control instance, and the connection between the client 460 and the video capsule control instance having the connection preparation request (PrepareFor Connection) Binding processing of ID and AVT instance identifier (AVT instance ID) set (assigned) as a video capsule control instance, that is, correspondence Only carried out. As a result, an entry of the connection management table shown in FIG. 21 is generated.
[0306]
In step S759, the connection manager service 431 provides the client with the tuner control instance 433, which is the identifier of the two AVT instances assigned, the two AVT instance IDs of the video capsule control instance 652, and the connection between the client server. The two set connection ID information are notified.
[0307]
In step S760, each of the tuner control instance 433 and the video capsule control instance 652 receives a URI (Uniform Resource Identifier) set request from the client.
[0308]
In step S761, the tuner control instance ID and the channel list URL notified from the connection manager service 431 are set in the tuner control instance, and the video capsule control instance ID and the video capsule URL are set in the video capsule control instance. Is done. Further, in step S761, a process of designating the URI of the recording source content (AVT: X_SetAVTRecordInputURI action) is performed on the video capsule control instance 652. The video capsule control instance 652 receives the identifier of the AVT instance handling the recording destination content, that is, the video capsule control instance ID and the recording source content URL, that is, the channel list URL, from the client, and sets this. This determines what is to be recorded when the recording destination AVT (video capsule control instance 652) performs the recording process (X_Record action).
[0309]
At this point, the setting process of each AVT instance is completed, and the client can issue various control requests to each AVT instance. In step S762, the tuner control instance 433 receives a control request from the client, for example, reproduction start, and starts streaming distribution of the content under the control of the tuner 410 in step S763. The tuner control instance 433 executes control based on information received from the client, for example, processing such as start and end of content reproduction and channel switching.
[0310]
Further, in step S764, the video capsule control instance 652 receives a control request, for example, a recording start request (AVT: X_Record action) from the client, and in step S765, the content storage unit 650 is controlled by the video capsule control instance 652. The control is executed, the tuner received content is input to the video capsule 651, and recording is started.
[0311]
If it is determined in step S766 that the channel switching (Seek) request has been received, in step S767, the tuner control instance 433 controls the tuner 410 to switch the channel of the tuner. Since the HTTP connection between the server and the client before and after the channel switching is an HTTP connection based on the same URL, that is, the same channel list URL, the channel switching is performed between the server and the client while the connection is maintained.
[0312]
The content recording process is executed irrespective of the channel switching, and the content corresponding to the channel after the switching is continuously input to the video capsule and the recording is continuously executed.
[0313]
If it is determined in step S768 that the connection manager service 431 has received the connection end request storing the connection ID corresponding to the tuner control instance, the connection between the server and the client is disconnected in step S769 according to the request from the client. Then, the entry corresponding to the tuner control instance is deleted from the connection management table described with reference to FIG. Even if the distribution of the streaming data ends, the data recording continues the recording process until the recording end time set as the metadata of the video capsule earlier.
[0314]
Note that the client can also end the content recording process by issuing an explicit recording end command to the video capsule control instance 652. Even when this processing is performed, the control of the tuner control instance 433 is executed independently.
[0315]
As described above, in the present configuration, the tuner control instance that executes the streaming distribution control of the tuner reception content under the control of the tuner, and executes the recording processing of the tuner reception content under the control of the content storage unit such as a hard disk. And a video capsule control instance, which is an identifier of a control instance (AVT instance). A channel list URL and a video capsule URL are set as content URLs that can specify processing control targets. Since the ID is set and the request from the client is individually received, independent processing according to the client request becomes possible.
[0316]
[Server-driven live recording process]
In the above-described live recording processing, by outputting a client request to the video capsule control instance 652 shown in FIG. 19, a recording destination (recording sink) content identifier (video capsule URL) setting processing and a video capsule The notification process of the recording source (recording source) content identifier (channel list URL) to the control instance 652 has been executed.
[0317]
That is, in step S706 shown in the sequence diagram of FIG. 20, the client transmits a connection preparation request (PrepareForConnection) to the connection manager service 431, and the protocol information [internal: 1.2. 3.4: application / x-av-tuner-content: func-id = t01] and protocol information corresponding to the hard disk recording processing content [internal: 1.2.3.4: video / mpeg: func-id] = Hdd], and in step S707, the server sends two control instances, a tuner control instance 433 and a video capsule control instance 652. (AVT instance) ID and two pieces of connection ID information set for the connection between the client server are received. In step S708, the client sends two URIs (Uniform Resource Identifier) to two control instances (AVT instances). ) By issuing a set request, the control instance setup process was executed.
[0318]
In the configuration example described below, during live streaming, only the client issues a request to generate a content storage object (video capsule) to the server, and the server internally executes various settings and records the content. This is an example of a process for starting the process. The server configuration is the same as that shown in FIG. 19, and the following description will be made with reference to FIG. 19 and by applying the reference numerals shown in FIG.
[0319]
The server 400 generates a content storage object (video capsule) based on a request from a client, assigns a control instance of the generated content storage object, that is, assigns a video capsule control instance 652, and sets a URL. Is executed in the server. With this processing, the video capsule storage processing of the live streaming content executed under the control of the tuner control instance 433 can be performed without the control instance setting processing by the client.
[0320]
In this processing mode, the client does not need to make a request for the URL setting processing to the video capsule control instance 652, and the processing load on the client is reduced.
[0321]
FIG. 24 illustrates a sequence of live recording of content. This process is a process in a case where the server is executing content reception by the tuner. For example, a series of processes for live streaming described above with reference to FIG. 9 is executed between the server and the client under the control of the tuner control instance 433 (see FIG. 19) in which the channel list URL is set. It is assumed that live streaming is being performed.
[0322]
If the client wants to record the live streaming content (live recording), in step S770, the client issues a request to generate a video capsule which is a content storage object. The client issues an object generation request (CreateObjectAnywhere) of a content storage object for live recording to the content directory service 442 of the server 400 (see FIG. 19), and generates a storage object (video capsule) of the tuner reception content.
[0323]
The server 400 generates a video capsule for live recording in the content directory service 442 of the content management unit 440 in response to a request from the client.
[0324]
Upon issuing an object generation request (CreateObjectAnywhere) of a content storage object for live recording, the client can request the server to set metadata of the content storage object (video capsule). If there is a request from the client, the server sets a value based on the request, and if not, sets a predetermined default value as metadata of the content storage object (video capsule).
[0325]
Metadata that can be set in a content storage object (video capsule) for live recording will be described with reference to FIG. As the metadata, [recording state (recordStatus)], [recording start date and time (recordStart DateTime)], [recording end date and time (recordEnd DateTime)], [recording quality level (record Quality Level)], and [input function ID (recordIndexID)] )], [Recording Method], [resource (res)], and [resource protocol information (res @ protocolInfo)] can be set. Note that the client does not necessarily need to set all of these metadata. For example, the specification of [recording start date and time (recordStart DateTime)] is optional. In this case, the assignment, setting, and recording start of the video capsule control instance 652 are sequentially performed. Only when the designated information is present, processing according to the designated information is performed under the control of the AVT setting / control command output unit 691 and the video capsule control instance 652.
[0326]
Whether the request is for generating a content storage object (video capsule) for live recording or not is determined based on a setting value of [recording status (recordStatus)] set by the client in the content storage object (video capsule) generation process. 400 determines. When [Recording] indicating that the setting value of [recording status (recordStatus)] is for live recording is set, the server determines that the request is a generation of a content storage object (video capsule) for live recording. Judgment, generation of a content storage object (video capsule), setting of a video capsule URL, assignment of a video capsule control instance 652, and URI setting processing are performed, and recording start date and time information of content set as metadata [for live recording, 0000-00-00T00: 00: 00: 00.00Z], recording processing of the tuner received content for the generated content storage object (video capsule) is started.
[0327]
The content management unit 442 of the server may include the setting information of [recording status (recordStatus)] = [Recording] indicating that the content storage object is a content storage object for storing the reserved content in the content storage object generation request from the client. , A content storage object URL (video capsule URL) is set as metadata for the generated object. That is, the server determines that the object is for live recording based on the setting information of [recording status (recordStatus)] = [Recording], and the content URL is newly added to the newly generated object (video capsule) even if there is no content. (Video capsule URL) is set.
[0328]
In [Recording start date and time], recording start date and time information of the content is set. In live recording, 0000-00-00T00: 00: 00.000Z is designated. This means that recording is started without waiting.
[0329]
In [Recording end date and time], the recording end date and time information of the content is set, and if the video capsule is in a recording state when the set time is reached on the server, the recording ends. If there is no setting information, the server terminates recording after a request from the client, after the lapse of a preset maximum continuous recording time, or when a problem occurs inside the server.
[0330]
[Recording quality level] is selected from a plurality of levels as recording quality level values set in advance, for example, 3 to 5.
[0331]
[Input function ID] indicates a function ID indicating a function of handling content serving as a recording source. For example, a function ID corresponding to the tuner is set. However, client specification is optional. In the case of live recording, the content received in the server is the input content, and if there is a set tuner control instance, the channel list URL set in the tuner control instance is the input source content. The server sets a function ID corresponding to a tuner to be controlled by the tuner control instance controlling the input source content.
[0332]
[Recording method] is information indicating a recording method, and is setting information such as a triple mode and a high image quality mode. The designation of the client is optional, and the client needs to set a settable value corresponding to the content storage unit 650 in the server.
[0333]
[Resource (res)] is resource information of the recorded content (recorded sync content). The URL of a video capsule for live recording (video capsule URL) generated by the server is set by the server.
[0334]
[Resource protocol information] is protocol information corresponding to the resource of the recorded content (recorded sync content). As additional information (AdditionalInfo), a function ID (for example, func-id = <HDD) indicating that processing of the content storage unit is performed is set.
[0335]
As described above, the function ID indicating that the content processing is performed under the control of the content storage unit 650 is set in the protocol information. In this case, the content storage unit 650 is a hard disk, which indicates that control of the HDD is involved. As described above, the function ID indicates a control target at the time of processing the content. When the function ID corresponds to the DVD storage content, the function ID indicating the DVD is used. When the tuner control is performed, the function ID indicating the tuner is the content ID. Is set in the property information of
[0336]
The client can check what value can be set for each item of the metadata by the following method. [Recording end date and time], [Recording quality level], [Input function ID], and [Recording method] can be checked by acquiring schema information of a class representing a video capsule from the content directory service 442. At this time, a settable value can be obtained by checking an allowable value (Allowed value) of each metadata. If the update is permitted, update by object update (UpdateObject) processing is also possible.
[0337]
It should be noted that the client can know what the value of the function ID (func-id) means from protocol information that can be obtained from the content directory service 442.
[0338]
Returning to the sequence diagram of FIG. 24, the description of the processing sequence of live recording will be continued. In step S770, the content directory service 442 of the server executes a process of generating a video capsule as a content storage object.
[0339]
The server 400 generates a video capsule for live recording in the content directory service 442 of the content management unit 440 in response to a request from the client. The server generates the content storage object on condition that the generation request of the content storage object from the client includes setting information of [recording status] = [Recording] indicating that the content storage object is for storing the reserved content. A content storage object URL (video capsule URL) is set as metadata for the object, and each of the above-described metadata is set.
[0340]
In step S771, the server transmits metadata corresponding to the generated content storage object URL (video capsule URL) to the client. The meta information to be transmitted to the client includes resource protocol information including a video capsule URL as a resource information, a function ID, for example, [func-id = hdd].
[0341]
Next, in step S772, the server sets a video capsule control instance 652 (see FIG. 19) based on the created metadata of the video capsule. At this time, the tuner control instance 433 has been set. The processing in step S772 and the processing in steps S773 to S775 described below are executed as internal processing in the server, and communication processing between the client and server is not required.
[0342]
In the process of step S772, the video capsule control instance 652 is assigned, and the recording destination content URL, that is, the video capsule URL is set to this control instance. Further, the setting of the URI of the recording source content is executed for the video capsule control instance 652. These processes are executed based on the setting information of the metadata of the video capsule. Thus, what is recorded when the recording destination AVT (video capsule control instance 652) performs the recording process is determined.
[0343]
In step S773, the storage process of the tuner received content into the video capsule 651 is started under the control of the video capsule control instance 652, provided that the recording start date and time set in the metadata of the video capsule has come. In step S774, content recording is performed on the video capsule 651 of the content storage unit 650.
[0344]
As described above, the [recording start date and time] set in the metadata of the video capsule is set to 0000-00-00T00: 00: 00.0000Z in live recording as described above. The server starts generating the content storage object (video capsule) for live recording, assigning the video capsule control instance 652, and immediately controlling the video capsule control instance 652 after setting. The recording start is sequentially executed below.
[0345]
In step S775, under the control of the video capsule control instance 652, on condition that the [recording end date and time] set in the metadata of the video capsule has come, or based on the reception of the recording end request from the client. Then, the storing process of the tuner received content into the video capsule 651 is ended. If there is no setting metadata and there is no recording processing request from the client, the recording processing is terminated on condition that, for example, a predetermined continuous recording time has been reached.
[0346]
Note that it is also possible to execute a pause process of the content recording process, that is, a pause process. The content processing sequence will be described with reference to FIG. First, in step S781, the client sends a connection preparation request (PrepareForConnection) specifying a function ID, for example, [func-id = hdd] in the video capsule metadata received from the server in step S771 in FIG. To the connection manager service 431. This connection preparation request (PrepareForConnection) is a connection preparation request (PrepareForConnection) relating to the connection between the client and the video capsule control instance 652.
[0347]
The connection manager service 431, which has received the connection preparation request (PrepareForConnection) from the client, determines the identifier (AVT instance ID) of the video capsule control instance 652 based on the hard disk corresponding function ID [func-id = hdd] included in the connection preparation request. And the connection ID between the client 460 and the video capsule control instance 652 that have received the connection preparation request (PrepareForConnection). The connection manager service 431 further performs a binding process, that is, a correspondence between the connection ID and the identifier (AVT instance ID) of the video capsule control instance. First, the entry setting of the connection management table described with reference to FIGS. 10 and 21 is performed.
[0348]
In step S782, the client specifies the identifier (AVT instance ID) of the video capsule control instance and sends a pause request (AVT :: Pause action) to the video capsule control instance 652, and the video capsule control instance 652 requests the pause. , A recording pause is performed.
[0349]
Further, in step S783, the client specifies the identifier (AVT instance ID) of the video capsule control instance and sends a recording restart request (AVT :: Record) to the video capsule control instance 652, and the video capsule control instance 652 Resumes the content recording based on the request.
[0350]
Next, the end processing of the live recording processing based on a request from the client will be described with reference to FIG. In step S791, the client designates the identifier (AVT instance ID) of the video capsule control instance and sends a recording stop request (AVT :: RecordStop) to the video capsule control instance 652, and the video capsule control instance 652 makes the request. , The content recording ends.
[0351]
Further, in step S792, the client attempting to terminate the connection with the video capsule control instance transmits a connection termination request storing the connection ID corresponding to the connection with the video capsule control instance to the connection manager service 431. The connection manager service 431 disconnects the connection between the client and the video capsule control instance in accordance with the request from the client, and deletes the corresponding entry from the connection management table described with reference to FIG.
[0352]
As described above, in this configuration, in the server, the assignment processing of the video capsule control instance 652 as the control instance of the content distribution control unit 431 based on the metadata of the video capsule, and the URI setting for the video capsule control instance 652 The processing is executed, and various controls associated with the processing for storing the live input content are reliably executed based on the metadata of the video capsule without performing the explicit control instance setting processing by the client.
[0353]
As described above, in the present configuration, the video capsule control instance that controls the content storage unit such as the hard disk and executes the recording processing of the tuner received content is set, and the recording source content and the recording destination content are specified in the video capsule control instance. The server executes the setting process of the channel list URL and the video capsule URL as the content URL to be performed, and the content recording can be reliably executed according to the setting information of the metadata of the video capsule.
[0354]
When the client acquires and reproduces the content of the video capsule in which the content is stored by live recording, an HTTP (Hyper Text Transfer Protocol) GET which is a content acquisition request based on the video capsule URL set in the live recording video capsule. By generating the method and transmitting it to the server, the content corresponding to the video capsule URL, that is, the content recorded live can be received and reproduced.
[0355]
Also, even during execution of live recording, the client generates the HTTP (Hyper Text Transfer Protocol) GET method, which is a content acquisition request based on the video capsule URL set in the video capsule, and transmits the GET method to the server. It is possible to perform the same content reproduction as the time-shift reproduction in live streaming.
[0356]
[Scheduled recording process]
Next, a description will be given of a scheduled recording process of the content received by the tuner in the server, that is, a process of recording the tuner received content in a storage unit such as a hard disk in the server with a recording time reserved in advance and executing the process.
[0357]
The outline of the reserved recording processing sequence of the content received by the tuner is
(1) Generation of a storage object (video capsule) of reserved recording content,
(2) Content recording time information is set as metadata corresponding to a content storage object (video capsule),
(3) Setting of control instance in which URL of content storage object (video capsule) is set
(4) Content storage processing by control based on control instance
Scheduled recording is executed substantially in accordance with the processing sequence described above.
[0358]
A server configuration for executing the above-described processing will be described with reference to FIG. The configuration of the server that executes the scheduled recording process is almost the same as that of the server 400 having the configuration of FIG. 19 that executes the live recording described above. The difference lies in the configuration in which a control instance setting unit / instruction output unit 691 for issuing is provided.
[0359]
In the above-described live recording, various processes are started and controlled by the client issuing various processing requests to the server. That is, the tuner control instance 433 controls the tuner 410 based on a playback command issued by the client to the tuner control instance 433 to start receiving contents based on the tuner 410, and the video capsule control instance 652 from the client. The video capsule control instance 652 controls the content storage unit 650 such as an HDD having the video capsule 651 based on a recording start command for (storage unit control instance) to start content recording.
[0360]
In the case of the scheduled recording process, the tuner reception and the start control of the content recording based on the communication between the server and the client are not performed, and various recording start times and end times set in the metadata of the video capsule for the scheduled recording are performed. Each control instance is controlled in the server based on the setting information.
[0361]
Accordingly, in the live recording process, the connection manager service 431 of the content distribution control unit 430 also executes the assignment process of each control instance based on the request from the client, instead of executing the assignment process based on the request from the client. Is executed as internal processing in the server.
[0362]
Assignment processing of each control instance in the content correspondence control unit 432 required for reserved recording, that is, a tuner control instance 433 as a tuner control instance and a video capsule control instance 652 as a storage unit control instance shown in FIG. The process of issuing various requests to the instance is executed by the control instance setting unit / command output unit 691 in the content management unit 440. That is, in the live recording, the control instance setting unit / command output unit 691 in the content management unit 440 executes various processing requests issued by the client.
[0363]
The control instance setting unit / command output unit 691 executes assignment of each control instance and issuance of a processing request based on the metadata of the prerecorded video capsule managed in the content directory service (CDS) 442. The reserved recording video capsule is an object set as a reserved recording content storage object. In the metadata corresponding to the content storage object, various kinds of setting information of reserved recording such as content recording start time information, end time information, channel information, and the like are stored.
[0364]
The setting processing of these metadata is executed in the object generation processing executed between the server and the client or in the subsequent metadata setting processing.
[0365]
The main part in the configuration shown in FIG. 28 is the same as the configuration described above with reference to FIG. 6, and server 400 includes tuner 410, codec 420, content distribution control unit (media renderer) 430, content management unit (Media server) 440. Also, a video capsule control instance 652 as an AVT instance in the content storage unit 650, a video capsule 651 in the content storage unit, and a content correspondence control unit 432 in the content distribution control unit 430 is appropriately generated and used.
[0366]
In the description, as in the case of the above-described reserved recording, an example will be described in which the content storage unit is a hard disk and the recorded content is image data. For example, the recording content is not limited to image data, and may be in any data format such as audio data, text data, and a program. Hereinafter, a description will be given of a typical example in which the content storage unit is a hard disk and the recorded content is image data.
[0367]
A video capsule control instance 652 is set as an AVT instance for executing control of the content storage unit 650 in order to perform scheduled recording on the video capsule 651. Under the control of the video capsule control instance 652, a stream for recording flows from the tuner 410 to the video capsule 651 in the content storage unit 650 such as a hard disk and is recorded. In the scheduled recording processing, it is necessary to handle two contents as in the live recording. That is, a recording source content and a recording destination content. In this case, the tuner received content becomes the recording source content, and the video capsule storage content becomes the recording destination content.
[0368]
The tuner reception content is specified by the channel list URL as understood from the above description. The recording destination content is specified by the video capsule URL. If a video capsule URL does not exist, it is necessary to perform a process of generating a video capsule by object generation processing and setting a video capsule URL as a content URL for the generated video capsule as in the case of reserved recording.
[0369]
If the area for storing the tuner reception content is not reserved in advance, the client issues an object generation request (CreateObject) to the content directory service 442 of the server 400 to issue a tuner reception content storage object (reservation recording video). Capsule).
[0370]
When an object generation request (CreateObject) is issued, the generation object (video capsule) is explicitly created by metadata to be used for scheduled recording. By this processing, even if no content is stored in the new video capsule, the server assigns a URL representing the content to the property (res property) of the object (video capsule).
[0371]
A method of adding a new video capsule and setting it as a recording destination content will be described. To create a new object, the client issues an object generation request (CreateObject) to the content directory service 442 of the server 400. Thereby, a storage object (video capsule) of the tuner reception content is generated.
[0372]
In the storage object (video capsule) of the tuner received content, metadata further added to the metadata of the video capsule for live recording described above is set. The metadata will be described with reference to FIG. As the metadata, [recording state (recordStatus)], [recording start date and time (recordStart DateTime)], [recording end date and time (recordEnd DateTime)], [broadcast system (broadcast System)], [channel information (channel Nr)] , [Record quality level], [input function ID (recordInputFunc)], [recording method], [weekly reservation information (weekInfo)], [resource (res)], [resource protocol information] (Res @ protocolInfo)] can be set. Note that not all settings of these metadata are required. For example, the specification of [recording quality level] and [weekly reservation information] is optional, and may not be set. Only when the designated information is present, processing according to the designated information is performed under the control of the AVT setting / control command output unit 691 and the video capsule control instance 652.
[0373]
Each piece of metadata shown in FIG. 29 is set by the client, for example, in a process of generating a content storage object (video capsule) for reserved recording. [Recording status] is set to [Timed] indicating that it is for reserved recording. The content management unit 442 of the server sets a condition that the generation request of the content storage object from the client includes the setting information of [recording status (recordStatus)] = [Timed] indicating that the content storage object is for reserved recording. The content storage object URL is set as metadata for the generated object. That is, the server determines that the object is for scheduled recording based on the setting information of [recording status (recordStatus)] = [Timed], and the content URL is newly added to the newly generated object (video capsule) even if there is no content. (Video capsule URL) is set.
[0374]
In [Recording start date and time], recording start date and time information of the content is set, and recording is started on this video capsule next time when this date and time is reached on the server. If the [weekly reservation information] is not specified, the date part is specified as "0/0/0" to start from the latest matching time. When [Weekly reservation information] is designated, the date portion is designated as 0/00/0, so that even if the exact date is not known, the start is made from the next matching day of the week.
[0375]
In [Recording end date and time], the recording end date and time information of the content is set, and if the video capsule is in a recording state next time when this date and time is reached on the server, the recording ends. As in [Recording start date and time], 0 can be specified for the date part. In this case, the recording ends at the next matching date and time from the correct date of [Recording start date and time].
[0376]
[Broadcast system] is information indicating a broadcast system of a channel on which recording is performed, and is, for example, setting information such as a terrestrial wave and a BS. If the broadcasting system is set as metadata of a channel object of the server, the client needs to explicitly indicate it when making a reservation.
[0377]
[Channel information] is the channel number of the content that will be used heavily for recording. [Recording quality level] is selected from a plurality of levels 3 to 5 as preset recording quality level values.
[0378]
[Input function ID] indicates a function ID indicating a function of handling content serving as a recording source. For example, a function ID corresponding to the tuner is set. However, the designation of the client is optional, and the server selects a function (for example, a terrestrial tuner or a BS tuner) that handles the content to be a recording source based on the channel information and the broadcasting system set as other metadata. It is possible to When set by the client, it is necessary to set channel information set as other metadata and values compatible with the broadcasting system.
[0379]
[Recording method] is information indicating a recording method, and is setting information such as a triple mode and a high image quality mode. The designation of the client is optional, and the client needs to set a settable value corresponding to the content storage unit 650 in the server.
[0380]
[Weekly reservation information] is optional information that need not be specified. Each day of the week is recorded as 7-bit data on Monday, Tuesday, Wednesday, Friday and Saturday. If it is 10 (0001010), the scheduled recording is started in this time zone of Thursday and Saturday. When the recording ends, the [recording start date and time] and [recording end date and time] are updated to the actual time of the next recording. If the day of the week specified in [Recording start date and time] does not exist in [Recording start date and time], an error occurs.
[0381]
[Resource (res)] is resource information of the recorded content. The URL of the video capsule for recording (video capsule URL) is set.
[0382]
[Resource protocol information] is protocol information corresponding to the resource of the recorded content. As in the above-described live recording, a function ID (for example, func-id = <HDD) indicating that processing of the content storage unit is performed is set as additional information (AdditionalInfo).
[0383]
As described above, the function ID indicating that the content processing is performed under the control of the content storage unit 650 is set in the additional information in the protocol information. In this case, the content storage unit 650 is a hard disk, which indicates that control of the HDD is involved. As described above, the function ID indicates a control target at the time of processing the content. When the function ID corresponds to the DVD storage content, the function ID indicating the DVD is used. When the tuner control is performed, the function ID indicating the tuner is the content ID. Is set in the property information of
[0384]
The client can check what value can be set for each item of the metadata by the following method. [Recording end date and time], [Recording quality level], [Input function ID], and [Recording method] can be checked by acquiring schema information of a class representing a video capsule from the content directory service 442. At this time, a settable value can be obtained by checking an allowable value (Allowed value) of each metadata. If the update is permitted, the update by the object update (UpdateObject) process, for example, the reservation information can be changed.
[0385]
It should be noted that the client can know what the value of the function ID (func-id) means from protocol information that can be obtained from the content directory service 442.
[0386]
The acquisition of the AVT instance required for the scheduled recording, that is, the acquisition and setting of the video capsule control instance 652 set as the storage unit control instance is performed by the content directory service (CDS) 442 of the content management unit 440 described above. The control instance setting unit / instruction output unit 691 executes based on the metadata. A server that supports recording assigns two AVT instances in consideration of recording and playback.
[0387]
In the case of the live recording described above, the URI setting processing for the AVT instance and the like are executed based on a request from the client. In the case of the scheduled recording processing, on the condition that the video capsule for the scheduled recording is generated, A URI setting process for a control instance (AVT instance) is executed inside the server. That is, these processes are executed by the control instance setting unit / instruction output unit 691. Note that, similarly to the live recording, the recording may be executed based on an explicit request from the client.
[0388]
For two AVT instances, that is, a tuner control instance 433 set as a tuner control instance and a video capsule control instance 652 set as a storage unit control instance, the URL of the content of the recording source and the recording destination, that is, the channel A list URL and a video capsule URL are set. This set processing is executed by the control instance setting unit / command output unit 691 based on the metadata of the video capsule.
[0389]
The control instance setting unit / command output unit 691 acquires the video capsule URL from the [resource information] in the metadata of the video capsule, sets the video capsule URL in the video capsule control instance 652, and sets the metadata of the video capsule. The channel list URL is obtained from the metadata of the tuner container specified based on the function ID in [input function ID] in [], and the channel list URL is set in the tuner control instance 433.
[0390]
Further, the setting process of the URI of the recording source content is executed for the AVT instance handling the recording destination content, that is, the video capsule control instance 652. The URI of the recording source content is, for example, a channel list URL. This determines what is to be recorded when the recording destination AVT (video capsule control instance 652) performs the recording process (X_Record action).
[0391]
The control instance setting unit / instruction output unit 691 issues a playback request to the tuner control instance 433 based on the clock in the server, on condition that the date and time match the [recording start date and time] in the metadata of the video capsule. Send Further, the control instance setting unit / command output unit 691 outputs a channel setting command to the tuner control instance 433 based on the setting information of [channel information] in the metadata of the video capsule.
[0392]
On the other hand, the video capsule control instance 652 performs a recording process on condition that the date and time match the [recording start date and time] in the metadata of the video capsule, that is, a process of storing the received content of the tuner 410 in the video capsule 651. To start.
[0393]
Also, the control instance setting unit / command output unit 691 sends the tuner control instance 433 to the tuner control instance 433 based on the clock in the server on condition that the date and time match the [recording end date and time] in the metadata of the video capsule. Send a playback stop request. On the other hand, the video capsule control instance 652 performs a recording process on condition that the date and time match the [recording end date and time] in the metadata of the video capsule, that is, a process of storing the received content of the tuner 410 in the video capsule 651. To end.
[0394]
As described above, in the case of the scheduled recording, the tuner 410 reception of the content based on the control of the tuner control instance 433 is started based on the metadata of the video capsule without issuing a reproduction request or a recording request from the client, and further, Then, the content storage process based on the control of the content storage unit 650 of the video capsule control instance 652 is started.
[0395]
The video capsule control instance 652 executes a recording process according to the setting information when there is information set in the metadata of the video capsule, for example, various setting information such as a recording quality level and a recording method. If not, the recording process is performed based on the default settings.
[0396]
By making an information request to the server, the client can obtain information set for the recording source content and the recording destination content, time information of scheduled recording, and the like. Further, the server can acquire the time information of the server based on the request of the client. Based on this time information, the client can know the time information based on the clock of the server.
[0397]
With reference to FIG. 30, a description will be given of a processing procedure for generating a content storage object (video capsule) for reserved recording of tuner received content. First, in step S811, the client determines setting information such as content recording start and end times as metadata to be set in the reserved recording object (video capsule).
[0398]
As the information that can be set, as described with reference to FIG. 29, [recording state (recordStatus)], [recording start date and time (recordStart DateTime)], [recording end date and time (recordEnd DateTime)], and [broadcasting system (recordEndDateTime)] broadcast system), [channel information (channel Nr)], [recording quality level (record Quality Level)], [input function ID (recordInputFuncID)], [recording method (recording Method)], [week reservation information (w) ], [Resource (res)], and [resource protocol information (res @ protocolInfo)]. The [recording state (recordStatus)] is [Timed].
[0399]
In step S812, the client transmits an object generation request together with the setting information to the content directory service 442 of the server.
[0400]
In step S821, the content directory service 442 confirms that [recording status (recordStatus)] = [Timed] in the metadata set by the client, and in step S822, generates a video capsule and generates a video capsule. Set the URL. Further, in step S823, [recording start date and time] and [recording end date and time] as setting information of the client are set as metadata of the video capsule.
[0401]
A tuner control instance 433 and a video capsule control instance 652 are set based on the metadata of the video capsule thus set, and the content is controlled under the control of each content control instance and the control instance setting unit / command output unit 691. The storage process for the video capsule 651 is executed.
[0402]
With reference to FIG. 31, a sequence of scheduled recording of a content will be described. In step S851, the client issues a request to generate a video capsule in which various information such as [recording start date and time] and [recording end date and time] are set as metadata, and the content directory service 442 of the content management unit 440 issues a request for video recording. A video capsule is created. As described above, on condition that [recording status (recordStatus)] = [Timed] is set, the video capsule URL is set, and it is determined that the video capsule URL is for reserved recording.
[0403]
In step S852, a video capsule control instance 652 and a tuner control instance 433 are set based on the created video capsule metadata. The processing in step S852 and the processing in steps S853 to S855 described below are executed as internal processing in the server, and communication processing between the client and server is not required.
[0404]
In the process of step S852, two AVT instances, that is, a tuner control instance 433 and a video capsule control instance 652 are assigned, and the URL of the recording source content and the recording destination content, that is, the channel, is assigned to each of these control instances. This is a process of setting a list URL and a video capsule URL. Further, the URI of the recording source content is set for the AVT instance handling the recording destination content, that is, the video capsule control instance 652. These processes are executed based on the setting information of the metadata of the video capsule. Thus, what is recorded when the recording destination AVT (video capsule control instance 652) performs the recording process is determined.
[0405]
In step S853, the tuner control instance 433 and the video capsule 651 of the tuner received content are controlled under the control of the video capsule control instance 652, provided that the recording start date and time set in the metadata of the video capsule have come. Is started, and in step S854, content recording is performed on the video capsule 651 of the content storage unit 650.
[0406]
In step S855, the tuner control instance 433 and the video capsule 651 of the tuner reception content are controlled under the control of the video capsule control instance 652, provided that the [recording end date and time] set in the metadata of the video capsule is reached. Is completed.
[0407]
As described above, in the server, the assignment processing of each AVT instance of the content distribution control unit 431 and the URI setting processing for each AVT instance are executed based on the metadata of the video capsule, and the client explicitly sets the AVT instance. Without performing any processing, various controls are reliably executed based on the metadata of the video capsule.
[0408]
As described above, in this configuration, the video capsule control instance that controls the content storage unit such as the hard disk and executes the recording process of the tuner received content is set, and the recording source content and the recording destination content are specified in the video capsule control instance. A channel list URL and a video capsule URL are set as content URLs to be recorded, and information necessary for content recording such as [recording start date and time] and [recording end date and time] is set as metadata of the video capsule. It is possible to reliably execute content recording according to the information.
[0409]
When the client acquires and reproduces the contents of the video capsule in which the contents are stored by the scheduled recording, an HTTP (Hyper Text Transfer Protocol) GET which is a content acquisition request based on the video capsule URL set in the scheduled recording video capsule. By generating the method and transmitting the generated method to the server, the content corresponding to the video capsule URL, that is, the prerecorded content can be received and reproduced.
[0410]
Also, even during execution of the scheduled recording, the client generates the HTTP (Hyper Text Transfer Protocol) GET method, which is a content acquisition request based on the video capsule URL set in the video capsule, and transmits the method to the server. It is possible to perform the same content reproduction as the time-shift reproduction in live streaming.
[0411]
Also, during execution of the scheduled recording, the tuner control instance has already set the channel list URL, and if the client wants to monitor the tuner reception content, the HTTP-GET that sets the channel list URL to the server is set. You can get the tuner streaming just by issuing the method.
[0412]
[Functional configuration of server and client]
The hardware configurations of the server and the client device are as described above with reference to FIG. 2, and the processes according to the various flows and the sequence diagrams described above are performed in accordance with the programs stored in the respective storage units of the server and the client. It is executed mainly under the control of the CPU. The functional configuration of the server and the functional configuration of the client required to execute the above-described processing will be described with reference to FIGS. 32 and 33.
[0413]
FIG. 32 is a block diagram illustrating a main functional configuration of the server. Although this basically corresponds to the configuration shown in FIG. 6, the configuration in FIG. 32 shows a configuration example having two tuners. The packet transmitting / receiving unit 701 receives a packet for a client and a packet from the client. The packet generation / analysis unit 702 performs transmission packet generation processing and received packet analysis processing. The processing includes packet address setting, address recognition, data storage in the data section, and data acquisition processing from the data section.
[0414]
The tuner A 703 is a tuner that receives data via terrestrial broadcasting, satellite broadcasting such as BS and CS, the Internet, and other communication networks.
[0415]
The content storage unit 705 stores the content held by the server. A content storage object such as the video capsule described above is set. Each content can be specified by a content URL such as a video capsule URL. The event information storage unit 706 stores event information corresponding to the content. Each event information can be specified by the event URL.
[0416]
The codec 707 converts the content held by the server and the content received by the tuner into a data format corresponding to the request from the client. Performs conversion of file format, codec, resolution, etc. For example, data conversion based on ATRAC3 and MPEG4 is executed.
[0417]
The content management unit is a processing unit that executes content management, and the metadata storage unit 713 is a storage unit that stores metadata as attribute information corresponding to the content. As described above, the metadata storage unit 713 stores property information constituting metadata corresponding to each object such as a container. For example, a channel list URL is set as property information of the tuner container. A video capsule URL is set for the video capsule. The connection manager service 711 generates content information based on metadata in response to a content information request from a client. The connection manager service 711 manages connection between the content management unit and the client, and provides the client with protocol information and the like that can be processed by the content management unit.
[0418]
The control instance setting unit / command output unit 714 executes the setting process of each control instance and the command issuing process based on the metadata of the content storage object such as a video capsule, as described in the item of reservation recording.
[0419]
The content distribution control unit 720 controls distribution content for the client, and includes a connection manager service 721 and a content correspondence control unit 722. An AVT instance 723 is set in the content correspondence control unit 722 corresponding to the distribution content, and specific distribution control and recording control of the content are executed by the AVT instance corresponding to each content. The connection manager service 721 assigns an AVT instance, sets a connection management table (see FIG. 10) for managing a connection ID, an AVT instance ID, and protocol information in association with each other, and performs connection management.
[0420]
Next, a functional configuration of the client device will be described with reference to FIG. The packet transmitting / receiving unit 801 receives a packet for the server and a packet from the server. The packet generation and analysis unit 802 performs transmission packet generation processing and received packet analysis processing. This includes not only analysis of data stored in the packet, but also address setting of the packet, address recognition, data storage in the data portion, and data acquisition processing from the data portion.
[0421]
The storage unit 803 stores content information, content, channel information, channel list URL, function ID, event information, connection ID, AVT instance ID, and the like included in the packet received from the server.
[0422]
The output unit 804 includes a speaker and a display applied to the content reproduction processing. The display is also used for outputting the display information described above with reference to FIG. The input unit 805 is, for example, a keyboard for executing user input such as selection of a channel list as content information displayed as display information, selection of a channel based on channel information, and other data input means.
[0423]
The content information analysis unit 806 analyzes the XML data composed of the content information received from the server, and includes, based on the analysis data, the content URL described above with reference to FIG. 4, the channel list URL, or the link data thereof. A process for generating display information and outputting it to a display as an output unit is executed.
[0424]
The content playback control unit 807 controls playback of content received from the server. In the content reproduction process, the data conversion unit 808 executes a process of converting the content received from the server as necessary. For example, data decoding based on ATRAC3 and MPEG4 is executed.
[0425]
The server and the client functionally have the functions shown in FIGS. 32 and 33, and execute the above-described processes. However, the block diagrams shown in FIGS. 32 and 33 are block diagrams for explaining the functions. Actually, various processing programs are executed under the control of the CPU in the hardware configuration such as the PC shown in FIG. You.
[0426]
The present invention has been described in detail with reference to the specific embodiments. However, it is obvious that those skilled in the art can modify or substitute the embodiment without departing from the spirit of the present invention. That is, the present invention has been disclosed by way of example, and should not be construed as limiting. In order to determine the gist of the present invention, the claims described at the beginning should be considered.
[0427]
Note that the series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing the processing by software, the program recording the processing sequence is installed in a memory in a computer embedded in dedicated hardware and executed, or the program is stored in a general-purpose computer capable of executing various processing. It can be installed and run.
[0428]
For example, the program can be recorded in a hard disk or a ROM (Read Only Memory) as a recording medium in advance. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
[0429]
The program is installed in the computer from the removable recording medium as described above, and is wirelessly transferred from the download site to the computer, or is transferred to the computer by wire via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this way and install it on a recording medium such as a built-in hard disk.
[0430]
The various processes described in the specification may be executed not only in chronological order according to the description but also in parallel or individually according to the processing capability of the device that executes the processes or as necessary. Further, in this specification, a system is a logical set configuration of a plurality of devices, and is not limited to a device having each configuration in the same housing.
[0431]
【The invention's effect】
As described above, in the present invention, in the scheduled recording processing of the externally received content by the tuner, the recording start and the end of the content are controlled based on the setting information of the metadata for the content storage object such as the video capsule. Therefore, the client sets metadata corresponding to a content storage object such as a video capsule in advance and places the metadata under the management of the content directory service (CDS), thereby controlling the tuner reception content in the server by the control based on the metadata. The content recording process for the storage unit such as a hard disk is accurately executed.
[0432]
Further, according to the configuration of the present invention, the control instance setting unit / command output unit set in the content management unit executes control of the tuner received content based on the setting information of the metadata for the content storage object such as the video capsule. And a storage unit control instance (video capsule control instance) for executing the recording process of the tuner received content under the control of the content storage unit such as a hard disk, so as to execute the instruction output. Therefore, the reservation recording processing of the content based on the metadata can be executed without intervening the communication between the server and the client.
[0433]
Furthermore, according to the configuration of the present invention, an HTTP (Hyper Text Transfer Protocol) GET method which is a content acquisition request based on the video capsule URL set in the video capsule is generated and transmitted to the server during execution of the scheduled recording. This allows the client to perform the same content reproduction as the time-shift reproduction of the tuner reception content. Also, during execution of the scheduled recording, the tuner control instance has already set the channel list URL, and if the client wants to monitor the tuner reception content, the HTTP-GET that sets the channel list URL to the server is set. Only by issuing the method, the streaming of the tuner reception content can be obtained.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a network configuration to which the present invention can be applied.
FIG. 2 is a diagram illustrating a configuration example of a network connection device.
FIG. 3 is a diagram illustrating a configuration of a content management directory in a server.
FIG. 4 is a diagram showing a display example of content information.
FIG. 5 is a diagram illustrating a processing sequence between a server and a client in content data reproduction processing.
FIG. 6 is a diagram illustrating a configuration of a server that executes a streaming distribution process of tuner reception data.
FIG. 7 is a diagram illustrating a tuner container and a channel item in a content management directory configuration in a server.
FIG. 8 is a diagram illustrating content information corresponding to a tuner container and a channel item.
FIG. 9 is a diagram illustrating a processing sequence between a server and a client that executes streaming distribution processing of tuner received data.
FIG. 10 is a diagram illustrating configuration data of a connection management table held by a server that executes a streaming distribution process of tuner reception data.
FIG. 11 is a diagram illustrating channel switching processing during a processing sequence between a server and a client that executes a streaming distribution processing of tuner reception data.
FIG. 12 is a diagram illustrating connection termination processing in a processing sequence between a server and a client that executes streaming distribution processing of tuner received data.
FIG. 13 is a diagram illustrating a streaming distribution process of tuner reception data by a server having a plurality of tuners.
FIG. 14 is a diagram illustrating an example of correspondence between a tuner container and a channel list URL.
FIG. 15 is a diagram illustrating an example of correspondence between a tuner container and a channel list URL.
FIG. 16 is a diagram illustrating an example of correspondence between a tuner container and a channel list URL.
FIG. 17 is a flowchart illustrating a process performed by a server that executes a streaming distribution process of tuner received data.
FIG. 18 is a flowchart illustrating processing of a client that executes streaming distribution processing of tuner received data.
FIG. 19 is a diagram illustrating a configuration of a server that executes streaming distribution processing of tuner reception data and recording of live content.
FIG. 20 is a diagram illustrating a processing sequence between a server and a client that executes a streaming distribution process of tuner received data and a live content recording process.
FIG. 21 is a diagram illustrating configuration data of a connection management table held by a server that executes a streaming distribution process and a live content recording process of tuner reception data.
FIG. 22 is a flowchart illustrating processing of a server that executes a streaming distribution process of tuner received data and a live content recording process.
FIG. 23 is a flowchart illustrating a process of a client that executes a streaming distribution process of tuner received data and a live content recording process.
FIG. 24 is a sequence diagram illustrating processing of a server client when performing live content recording processing.
FIG. 25 is a diagram illustrating an example of metadata of a content storage object when performing live content recording processing.
FIG. 26 is a sequence diagram illustrating a process of a server client when a pause process is performed during a live content recording process.
FIG. 27 is a sequence diagram illustrating a process of a server client when a recording end process is performed during a live content recording process.
FIG. 28 is a diagram showing a configuration of a server that executes reservation recording of tuner reception data.
FIG. 29 is a diagram illustrating an example of metadata corresponding to a content reservation recording object.
FIG. 30 is a diagram illustrating a flowchart for describing a processing procedure of a generation processing of an object for content reservation recording.
FIG. 31 is a diagram showing a processing sequence of content reservation recording.
FIG. 32 is a block diagram illustrating processing functions of a server.
FIG. 33 is a block diagram illustrating a processing function of a client.
[Explanation of symbols]
100 networks
101 server
121 PC
122 monitors
123 mobile phone
124 regenerator
125 PDAs
201 CPU
202 ROM
203 RAM
204 HDD
205 bus
206 I / O interface
207 Input unit
208 Output unit
209 Communication unit
210 drives
211 Removable recording medium
220 tuner
301 root container
302-309 objects
350 display
357 Content information
400 servers
410 tuner
420 codec
430 Content distribution control unit
431 Connection Manager Service
432 Content correspondence control unit
433 AVT instance
440 Content Management Department
441 Connection Manager Service
442 Content Directory Service
443 database
460 client
470 users
481 root container
482 tuner container
483-485 channel item
491 Function ID
492 Channel list URL
500 Content distribution control unit
511 Tuner A
512 Codec A
521 Tuner B
522 Codec B
530 Connection Manager Service
531,532 Tuner control instance
601 Tuner container
602,603 channel item
611 Tuner container
612 channel item
621 Tuner container
622 channel item
631 tuner container
632 channel item
641 tuner container
642 channel items
650 Content storage unit
651 video capsule
652 Video capsule control instance
681,682 Protocol information
691 control instance setting unit / instruction output unit
701 Packet transceiver
702 Packet generation and analysis unit
703 Tuner A
704 Tuner B
705 Content storage unit
706 Event information storage unit
707 codec
710 Content Management Department
711 Connection Manager Service
712 Content Directory Service
713 Metadata storage
720 Content distribution control unit
721 Connection merger service
722 Content correspondence control unit
723 AVT instance
801 Packet transmitting / receiving unit
802 Packet generation and analysis unit
803 storage unit
804 output unit
805 input section
806 Content information analysis unit
807 Content playback control unit
808 Data conversion unit

Claims (16)

コンテンツ記録処理を実行するコンテンツ記録サーバであり、
データ受信処理を実行するチューナと、
サーバクライアント間の通信処理を実行するデータ送受信部と、
コンテンツに対応する属性情報をコンテンツ情報として格納したメタデータ記憶部と、
コンテンツを記憶するコンテンツ記憶部と、
前記コンテンツ情報のクライアントに対する提供処理を実行するコンテンツ管理部と、
前記チューナを介した受信コンテンツに対する処理を実行するコンテンツ対応制御部とを有し、
前記コンテンツ対応制御部は、記憶部制御インスタンスに基づく制御の下に、前記チューナによる受信コンテンツを前記コンテンツ記憶部に対して記録する処理制御を実行する構成であり、
前記記憶部制御インスタンスは、
前記コンテンツ管理部の管理するコンテンツ格納オブジェクトのメタデータに設定されたコンテンツ記録開始および終了時間情報に基づいて、前記コンテンツ格納オブジェクトに対するコンテンツ記録処理の制御を実行する構成であることを特徴とするコンテンツ記録サーバ。
A content recording server that executes content recording processing,
A tuner that performs data reception processing;
A data transmitting / receiving unit that executes a communication process between the server and the client;
A metadata storage unit storing attribute information corresponding to the content as content information,
A content storage unit for storing content,
A content management unit that performs a process of providing the content information to the client,
A content correspondence control unit that executes a process on the received content via the tuner,
The content correspondence control unit is configured to execute processing control for recording received content by the tuner in the content storage unit under control based on a storage unit control instance,
The storage unit control instance includes:
The content is configured to execute control of a content recording process for the content storage object based on content recording start and end time information set in metadata of the content storage object managed by the content management unit. Recording server.
前記コンテンツ対応制御部は、
前記チューナの制御を実行するチューナ制御インスタンスを有し、
前記コンテンツ管理部は、前記チューナ制御インスタンスに対する制御要求を発行する命令出力部を有し、
前記命令出力部は、コンテンツ格納オブジェクトのメタデータに設定された記録開始および終了時間情報に基づいて、前記チューナ制御インスタンスに対する再生開始および終了命令を出力する構成であることを特徴とする請求項1に記載のコンテンツ記録サーバ。
The content correspondence control unit includes:
A tuner control instance that executes control of the tuner,
The content management unit has an instruction output unit that issues a control request to the tuner control instance,
2. The apparatus according to claim 1, wherein the command output unit outputs a reproduction start and end command to the tuner control instance based on recording start and end time information set in metadata of a content storage object. A content recording server according to claim 1.
前記命令出力部は、コンテンツ格納オブジェクトのメタデータに設定されたチャンネル情報に基づいて、前記チューナ制御インスタンスに対するチャンネル設定命令を出力する構成であることを特徴とする請求項2に記載のコンテンツ記録サーバ。The content recording server according to claim 2, wherein the command output unit is configured to output a channel setting command for the tuner control instance based on channel information set in metadata of a content storage object. . 前記コンテンツ管理部は、前記制御インスタンスの設定処理を実行する制御インスタンス設定部を有し、
前記制御インスタンス設定部は、コンテンツ管理部内で管理するコンテンツ格納オブジェクトに対応するメタデータに基づいて、記録元コンテンツおよび記録先コンテンツの制御を実行する制御インスタンスの設定処理を実行する構成であることを特徴とする請求項1に記載のコンテンツ記録サーバ。
The content management unit has a control instance setting unit that performs a setting process of the control instance,
The control instance setting unit is configured to execute a control instance setting process for controlling a recording source content and a recording destination content based on metadata corresponding to a content storage object managed in a content management unit. The content recording server according to claim 1, wherein:
前記コンテンツ情報には、
コンテンツ対応のプロトコル情報が含まれ、
前記記録元コンテンツに対応して設定されるプロトコル情報には、チューナ識別情報としてのファンクションIDが設定され、
前記記録先コンテンツに対応して設定されるプロトコル情報には、コンテンツ記憶部識別情報としてのファンクションIDが設定され、
前記制御インスタンス設定部は、
チューナ制御用インスタンスとして設定されるチューナ制御インスタンス、および前記記憶部制御インスタンスの各々を前記ファンクションIDに基づいて特定される制御対象の制御を実行する制御インスタンスとして設定する処理を実行する構成であることを特徴とする請求項4に記載のコンテンツ記録サーバ。
In the content information,
Contains protocol information for content,
In the protocol information set corresponding to the recording source content, a function ID as tuner identification information is set,
A function ID as content storage unit identification information is set in the protocol information set corresponding to the recording destination content,
The control instance setting unit,
A configuration for executing processing for setting a tuner control instance set as a tuner control instance and setting each of the storage unit control instances as a control instance for executing control of a control target specified based on the function ID. The content recording server according to claim 4, wherein:
前記記録元コンテンツ識別子は、前記チューナの受信チャンネル中、少なくとも複数チャンネルを含むチャンネルリストの識別情報として設定されたチャンネルリストURL(Uniform Resource Locators)であり、
前記記録先コンテンツ識別子は、前記コンテンツ記憶部に設定されたコンテンツ格納領域に対応するコンテンツ格納オブジェクトの識別子として設定されたコンテンツ格納オブジェクトURLであることを特徴とする請求項4に記載のコンテンツ記録サーバ。
The recording source content identifier is a channel list URL (Uniform Resource Locators) set as identification information of a channel list including at least a plurality of channels among the reception channels of the tuner,
The content recording server according to claim 4, wherein the recording destination content identifier is a content storage object URL set as an identifier of a content storage object corresponding to a content storage area set in the content storage unit. .
前記記憶部制御インスタンスには、記録元コンテンツ識別子が設定され、
前記記憶部制御インスタンスは、
前記記録元コンテンツ識別子に基づいて記録コンテンツの特定処理を実行する構成であることを特徴とする請求項1に記載のコンテンツ記録サーバ。
A recording source content identifier is set in the storage unit control instance,
The storage unit control instance includes:
The content recording server according to claim 1, wherein the content recording server is configured to execute a process of specifying a recorded content based on the recording source content identifier.
前記コンテンツ管理部は、
前記クライアントからのコンテンツ格納オブジェクトの生成要求に予約コンテンツの格納用のコンテンツ格納オブジェクトであることを示す情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURLを設定する処理を実行する構成であることを特徴とする請求項1に記載のコンテンツ記録サーバ。
The content management unit,
A process of setting the URL of the content storage object as metadata for the generation object on condition that the content storage object generation request from the client includes information indicating that the content storage object is for storing the reserved content. The content recording server according to claim 1, wherein the content recording server is configured to execute the content recording server.
外部からの受信コンテンツの記録処理を実行するコンテンツ記録方法であり、
コンテンツ管理部の管理するコンテンツ格納オブジェクトのメタデータに基づいて、コンテンツ記録制御を実行する制御インスタンスを設定する制御インスタンス設定ステップと、
前記コンテンツ格納オブジェクトに対するコンテンツ記録処理を、前記メタデータ中に設定されたコンテンツ記録開始および終了時間情報に基づいて、前記制御インスタンスに基づく制御の下に実行するコンテンツ記録ステップと、
を有することを特徴とするコンテンツ記録方法。
A content recording method for executing recording processing of content received from the outside,
A control instance setting step of setting a control instance for executing content recording control based on metadata of the content storage object managed by the content management unit;
A content recording step of performing a content recording process on the content storage object under control based on the control instance, based on content recording start and end time information set in the metadata;
A content recording method comprising:
前記制御インスタンス設定ステップは、
コンテンツ記憶部の制御を実行する記憶部制御インスタンスと、
チューナの制御を実行するチューナ制御インスタンスの設定処理を実行し、
前記コンテンツ記録方法は、さらに、
前記チューナ制御インスタンスに対する制御要求を発行する命令出力ステップを有し、
前記命令出力ステップは、コンテンツ格納オブジェクトのメタデータに設定された記録開始および終了時間情報に基づいて、前記チューナ制御インスタンスに対する再生開始および終了命令を出力することを特徴とする請求項9に記載のコンテンツ記録方法。
The control instance setting step includes:
A storage unit control instance that executes control of the content storage unit;
Execute the setting process of the tuner control instance that executes the control of the tuner,
The content recording method further includes:
Having an instruction output step of issuing a control request to the tuner control instance,
The method according to claim 9, wherein the command output step outputs a reproduction start and end instruction for the tuner control instance based on recording start and end time information set in metadata of a content storage object. Content recording method.
前記命令出力ステップは、コンテンツ格納オブジェクトのメタデータに設定されたチャンネル情報に基づいて、前記チューナ制御インスタンスに対するチャンネル設定命令を出力することを特徴とする請求項10に記載のコンテンツ記録方法。11. The content recording method according to claim 10, wherein the command output step outputs a channel setting command for the tuner control instance based on channel information set in metadata of a content storage object. 前記メタデータには、
コンテンツ対応のプロトコル情報が含まれ、
記録元コンテンツに対応して設定されるプロトコル情報には、チューナ識別情報としてのファンクションIDが設定され、
記録先コンテンツに対応して設定されるプロトコル情報には、コンテンツ記憶部識別情報としてのファンクションIDが設定され、
前記制御インスタンス設定ステップは、
前記チューナ制御インスタンス、および前記記憶部制御インスタンスの各々を前記ファンクションIDに基づいて特定される制御対象の制御を実行する制御インスタンスとして設定する処理を実行することを特徴とする請求項10に記載のコンテンツ記録方法。
The metadata includes
Contains protocol information for content,
In the protocol information set corresponding to the recording source content, a function ID as tuner identification information is set,
In the protocol information set corresponding to the recording destination content, a function ID as content storage unit identification information is set,
The control instance setting step includes:
11. The processing according to claim 10, wherein a process of setting each of the tuner control instance and the storage unit control instance as a control instance that executes control of a control target specified based on the function ID is executed. Content recording method.
前記記憶部制御インスタンスには、記録元コンテンツ識別子が設定され、
前記記憶部制御インスタンスは、
前記記録元コンテンツ識別子に基づいて記録コンテンツの特定処理を実行することを特徴とする請求項12に記載のコンテンツ記録方法。
A recording source content identifier is set in the storage unit control instance,
The storage unit control instance includes:
13. The content recording method according to claim 12, wherein a specific process of the recorded content is executed based on the recording source content identifier.
前記記録元コンテンツ識別子は、前記チューナの受信チャンネル中、少なくとも複数チャンネルを含むチャンネルリストの識別情報として設定されたチャンネルリストURL(Uniform Resource Locators)であり、
前記記録先コンテンツ識別子は、前記コンテンツ記憶部に設定されたコンテンツ格納領域に対応するコンテンツ格納オブジェクトの識別子として設定されたコンテンツ格納オブジェクトURLであることを特徴とする請求項13に記載のコンテンツ記録方法。
The recording source content identifier is a channel list URL (Uniform Resource Locators) set as identification information of a channel list including at least a plurality of channels among the reception channels of the tuner,
14. The content recording method according to claim 13, wherein the recording destination content identifier is a content storage object URL set as an identifier of a content storage object corresponding to a content storage area set in the content storage unit. .
前記コンテンツ記録方法は、さらに、
前記クライアントからのコンテンツ格納オブジェクトの生成要求を受信するステップと、
前記コンテンツ格納オブジェクトの生成要求に予約記録コンテンツの格納用オブジェクトであることを示す情報が含まれることを条件として、生成オブジェクトに対するメタデータとして、コンテンツ格納オブジェクトURLを設定する処理を実行するURL設定ステップと、
を有することを特徴とする請求項9に記載のコンテンツ記録方法。
The content recording method further includes:
Receiving a request to generate a content storage object from the client;
URL setting step of executing a process of setting a content storage object URL as metadata for the generation object on condition that the information indicating that the content storage object is a reservation recording content storage object is included in the generation request. When,
The content recording method according to claim 9, comprising:
外部からの受信コンテンツの記録処理を実行するコンピュータ・プログラムであり、
コンテンツ管理部の管理するコンテンツ格納オブジェクトのメタデータに基づいて、コンテンツ記録制御を実行する制御インスタンスを設定する制御インスタンス設定ステップと、
前記コンテンツ格納オブジェクトに対するコンテンツ記録処理を、前記メタデータ中に設定されたコンテンツ記録開始および終了時間情報に基づいて、前記制御インスタンスに基づく制御の下に実行するコンテンツ記録ステップと、
を有することを特徴とするコンピュータ・プログラム。
A computer program that executes a recording process of content received from outside,
A control instance setting step of setting a control instance for executing content recording control based on metadata of the content storage object managed by the content management unit;
A content recording step of performing a content recording process on the content storage object under control based on the control instance, based on content recording start and end time information set in the metadata;
A computer program comprising:
JP2003103718A 2003-04-08 2003-04-08 Content recording server, content recording method, and computer program Pending JP2004312414A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003103718A JP2004312414A (en) 2003-04-08 2003-04-08 Content recording server, content recording method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003103718A JP2004312414A (en) 2003-04-08 2003-04-08 Content recording server, content recording method, and computer program

Publications (2)

Publication Number Publication Date
JP2004312414A true JP2004312414A (en) 2004-11-04
JP2004312414A5 JP2004312414A5 (en) 2006-05-11

Family

ID=33466737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003103718A Pending JP2004312414A (en) 2003-04-08 2003-04-08 Content recording server, content recording method, and computer program

Country Status (1)

Country Link
JP (1) JP2004312414A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005151569A (en) * 2003-11-14 2005-06-09 Sharp Corp System and method for providing tuner device in media server content directory service
JP2009516471A (en) * 2005-11-17 2009-04-16 マイクロソフト コーポレーション Infrastructure that enables high-quality real-time audio
JP2009200813A (en) * 2008-02-21 2009-09-03 Sanyo Electric Co Ltd Controlled device, control system, and management device
JP2009534907A (en) * 2006-04-20 2009-09-24 サムスン エレクトロニクス カンパニー リミテッド Apparatus and method for controlling distributed video recording and playback

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005151569A (en) * 2003-11-14 2005-06-09 Sharp Corp System and method for providing tuner device in media server content directory service
JP4703169B2 (en) * 2003-11-14 2011-06-15 シャープ株式会社 Media server device
US8205235B2 (en) 2003-11-14 2012-06-19 Sharp Laboratories Of America, Inc. Systems and methods for representing a tuner device in a media server content directory service
JP2009516471A (en) * 2005-11-17 2009-04-16 マイクロソフト コーポレーション Infrastructure that enables high-quality real-time audio
JP2009534907A (en) * 2006-04-20 2009-09-24 サムスン エレクトロニクス カンパニー リミテッド Apparatus and method for controlling distributed video recording and playback
US8107793B2 (en) 2006-04-20 2012-01-31 Samsung Electronics Co., Ltd. Apparatus and method for controlling dispersion record and play of moving picture
JP2009200813A (en) * 2008-02-21 2009-09-03 Sanyo Electric Co Ltd Controlled device, control system, and management device

Similar Documents

Publication Publication Date Title
JP2004312413A (en) Content providing server, information processing device and method, and computer program
JP2004312412A (en) Content providing server, information processing apparatus and method, and computer program
US7996538B2 (en) Information processing apparatus and content information processing method for transmitting content and event information to a client
EP1635574B1 (en) Method for redirection of streaming content
EP2663027B1 (en) Apparatus and method for sharing a bookmark with other user in a home network
US7779097B2 (en) Methods and systems for use in network management of content
US9432628B2 (en) Information processing device, information processing method, and computer program
JP2004362099A (en) Server device, information processor, information processing method, and computer program
JP2005518727A (en) Method and system for acquiring Internet content according to a program guide
WO2018079295A1 (en) Information processing device and information processing method
JPH11317937A (en) Broadcasting storage viewing device
WO2011157212A1 (en) Processing system and method for video-on-demand in an interactive network television
JP2005020180A (en) Information processor, information processing method and computer program
JP2004350043A (en) Server device, information processor, information processing method, and computer program
US20140012955A1 (en) Communication System, Communication Device, And Communication Method
JP4419434B2 (en) Server apparatus, information processing apparatus, information processing method, and computer program
JP2004312414A (en) Content recording server, content recording method, and computer program
JP4285015B2 (en) Network broadcasting system, content distribution method, and program providing apparatus
WO2014023155A1 (en) Method and device for implementing network personal video recorder service
JP2017079343A (en) Content distribution method, and content distribution server
JP2017033061A (en) Content distribution device and content distribution method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908