JP4379471B2 - 再生装置および再生制御方法 - Google Patents

再生装置および再生制御方法 Download PDF

Info

Publication number
JP4379471B2
JP4379471B2 JP2006356774A JP2006356774A JP4379471B2 JP 4379471 B2 JP4379471 B2 JP 4379471B2 JP 2006356774 A JP2006356774 A JP 2006356774A JP 2006356774 A JP2006356774 A JP 2006356774A JP 4379471 B2 JP4379471 B2 JP 4379471B2
Authority
JP
Japan
Prior art keywords
attribute information
stream data
data
buffer
cache memory
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.)
Active
Application number
JP2006356774A
Other languages
English (en)
Other versions
JP2008165656A (ja
Inventor
正司 栢沼
浩二郎 松山
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 JP2006356774A priority Critical patent/JP4379471B2/ja
Priority to US12/002,586 priority patent/US8060637B2/en
Priority to CN2007103004733A priority patent/CN101212492B/zh
Priority to KR1020070140759A priority patent/KR20080063200A/ko
Publication of JP2008165656A publication Critical patent/JP2008165656A/ja
Application granted granted Critical
Publication of JP4379471B2 publication Critical patent/JP4379471B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Description

本発明は、ストリームデータを再生する再生装置、およびこの装置における再生制御方法に関し、特に、ネットワークを通じて接続されたサーバ装置から送信されるストリームデータを受信して再生する再生装置および再生制御方法に関する。
近年、デジタルデータ化されたオーディオコンテンツやビデオコンテンツが広く流通し、これらを手軽に記録・再生する機器も一般的に普及している。また、ネットワーク技術の発達に伴い、家庭内においてもLAN(Local Area Network)や無線LANなどのネットワークシステムを構築することが容易になっている。
そして、このような家庭内のネットワークシステムにおいて、機器間でデジタルコンテンツを容易にやり取りできるようにすることが望まれており、そのために機器間の接続やコンテンツ制御などの手順の規格化が進められている。その規格の代表例として、米マイクロソフト社が発表したUPnP(Universal Plug & Play)規格が広く知られている。また、このUPnP規格をベースとしたDLNA(Digital Living Network Alliance)ガイドラインが策定され、DLNAガイドラインに準拠した機器の開発が現在進められている。
UPnP規格では、UPnP機器を、コンテンツを提供するメディアサーバ(Media Server)と、制御端末装置として機能するコントロールポイント(Control Point)と、再生装置として機能するメディアレンダラ(Media Renderer)との3つに分類している。なお、コントロールポイントの機能は、メディアサーバとして動作する機器と、メディアレンダラとして動作する機器のどちらに実装されてもよい。
そして、これらの機能との間での通信手順を規定することで、ネットワーク上におけるUPnP機器の探索や、再生動作などの制御を容易に行うことが可能となっている。例えば、この制御手順を利用することで、1つのメディアレンダラから、メディアサーバからのコンテンツデータの送受信制御だけでなく、他のメディアレンダラに対するコンテンツデータの送信制御を行うことも可能となる(例えば、特許文献1参照)。
ところで、オーディオやビデオなどのストリームデータを再生するためには、デコーダの入力バッファに対して再生に必要な量のストリームデータが常に格納されているように、その残量を適切に管理する必要があることが知られている。このため、複数のコンテンツのストリームデータを連続的に再生する場合には、前のコンテンツの再生が終了する前に、次のコンテンツのストリームデータを取得してデコーダの入力バッファへの蓄積を開始する必要があった。
なお、デコーダの入力バッファの管理手法としては、入力データのフォーマットの種別ごとに再生出力時間を算出し、これらの和によって得られる蓄積データの残り再生可能時間を基準に入力バッファへのデータ読み込みを管理することで、複数の異なるフォーマットのデータを再生可能にしたものがあった(例えば、特許文献2参照)。
特開2005−250867号公報(段落番号〔0090〕〜〔0097〕、図7) 特開2005−182970号公報(段落番号〔0096〕〜〔0116〕、図7)
ここで、HDD(Hard Disk Drive)などの固定記録媒体や光ディスクなどの可搬型記録媒体が自機内に格納された再生装置では、各コンテンツのストリームデータの記憶位置をあらかじめ把握しておくことが可能であり、所望のストリームデータをデコーダの入力バッファに読み込む際に十分な伝送帯域を確実に確保できる。このため、異なるコンテンツのストリームデータを連続再生する場合、次のコンテンツのストリームデータを、デコーダの入力バッファに対して決められた短い時間で確実に読み込むことが可能である。
しかし、UPnPのように、サーバ装置からネットワークを通じて受信したストリームデータを再生するシステムでは、コンテンツを再生する際に、再生装置側でそのコンテンツのメタデータをあらかじめ取得し、そこに記述された情報を基にサーバ装置に対してストリームデータの送信を要求するという手順が必要となる。また、ネットワークのトラフィック状態によっては、要求したメタデータやストリームデータを所定の時間内に確実に取得できないこともある。このため、再生装置において異なるコンテンツのストリームデータを再生する際に、コンテンツ間で再生音声が途切れたり、再生画像の動きが停止してしまうことを防止できないという問題があった。
本発明はこのような点に鑑みてなされたものであり、複数のストリームデータをネットワークを通じて受信して連続的に再生可能な再生装置、およびこの装置における再生制御方法を提供することを目的とする。
本発明では上記課題を解決するために、ネットワークを通じて接続されたサーバ装置から送信されるストリームデータを受信して再生する再生装置において、前記ストリームデータの属性情報の送信を前記サーバ装置に対して要求し、前記属性情報を対応する前記ストリームデータの再生順に受信する属性情報要求手段と、前記サーバ装置から受信された前記属性情報を順次受け取って一時的に記憶するキャッシュメモリと、前記キャッシュメモリに記憶された前記属性情報に基づき、当該属性情報に対応する前記ストリームデータが前記再生装置において再生可能であるか否かを判別するデータ判別手段と、前記キャッシュメモリから取得した前記属性情報を、前記キャッシュメモリより少ない数だけ一時的に記憶する属性情報バッファであって、少なくとも、現在再生しているものの次に再生する前記ストリームデータに対応する前記属性情報を保持する属性情報バッファと、前記属性情報バッファに記憶された前記属性情報に基づいて、対応する前記ストリームデータの送信を前記サーバ装置に対して要求するストリームデータ要求手段と、前記サーバ装置から受信された前記ストリームデータを順次記憶し、再生処理手段に対して出力するFIFO方式のストリームデータバッファと、を有し、前記ストリームデータ要求手段は、前記ストリームデータバッファに対して再生中の前記ストリームデータが最後まで蓄積されると、次に再生する前記ストリームデータに対応する前記属性情報を前記属性情報バッファから読み込み、当該属性情報に基づいて次に再生する前記ストリームデータの送信を前記サーバ装置に要求し、前記属性情報要求手段は、前記キャッシュメモリに保持されたすべての前記属性情報が前記属性情報バッファに出力されると、前記キャッシュメモリにすでに記憶された前記属性情報に対応する前記ストリームデータの次に再生する前記ストリームデータに対応する前記属性情報を、前記キャッシュメモリに保持可能な数だけ再生順に送信するように前記サーバ装置に対して要求し、前記データ判別手段は、前記キャッシュメモリに保持された前記属性情報を前記属性情報バッファに出力させる際に、当該属性情報に対応する前記ストリームデータが前記再生装置において再生可能であるか否かを判別し、再生可能である場合は、当該属性情報を前記属性情報バッファにそのまま出力させ、再生不可能である場合は、当該属性情報の出力を行わずに、次の前記属性情報を前記キャッシュメモリから出力させるように制御する、ことを特徴とする再生装置が提供される。
このような再生装置では、属性情報要求手段によるストリームデータの属性情報の送信要求に応じて、サーバ装置から属性情報が、対応するストリームデータの再生順に受信される。受信された属性情報は、キャッシュメモリに一旦記憶された後、さらに属性情報バッファに順次記憶されて、一時的に保持される。この属性情報バッファは、少なくとも、現在再生しているものの次に再生するストリームデータに対応する属性情報を保持している。また、属性情報バッファは、キャッシュメモリより少ない数の属性情報を記憶する。
ストリームデータ要求手段は、このような属性情報バッファに記憶された属性情報に基づいて、対応するストリームデータの送信をサーバ装置に対して要求する。この要求に応じて受信されたストリームデータは、FIFO方式のストリームデータバッファに順次記憶された後、再生処理手段に出力される。これにより、ストリームデータは再生順に順次ストリームデータバッファに格納され、順次再生処理手段に出力されて連続的に再生される。また、ストリームデータ要求手段は、ストリームデータバッファに対して再生中のストリームデータが最後まで蓄積されると、次に再生するストリームデータに対応する属性情報を属性情報バッファから読み込み、読み込んだ属性情報に基づいて次に再生するストリームデータの送信をサーバ装置に要求する。これにより、1つのストリームデータの再生終了を待たずして、次に再生するストリームデータが受信されて、ストリームデータバッファに格納される。
また、キャッシュメモリに保持された属性情報が属性情報バッファに出力される際には、この属性情報に対応するストリームデータが再生装置において再生可能であるか否かが、データ判別手段によって判別される。ここで、再生可能である場合は、この属性情報が属性情報バッファにそのまま出力される。一方、再生不可能である場合は、この属性情報の出力が行われずに、次の属性情報がキャッシュメモリから出力される。そして、属性情報要求手段は、キャッシュメモリに保持されたすべての属性情報が属性情報バッファに出力されると、キャッシュメモリにすでに記憶された属性情報に対応するストリームデータの次に再生するストリームデータに対応する属性情報を、キャッシュメモリに保持可能な数だけ再生順に送信するようにサーバ装置に対して要求する。
本発明によれば、現在再生しているものの次に再生するストリームデータに対応する属性情報が、現在再生中のストリームデータの再生終了以前にあらかじめ受信されて属性情報バッファに保持され、再生中のストリームデータがストリームデータバッファに最後まで蓄積された段階で、次に再生するストリームデータがサーバ装置から受信されて、ストリームデータバッファに格納される。従って、ネットワーク上の通信の混雑状態やサーバ装置の処理負荷状態などに関係なく、複数のストリームデータの連続再生を、ストリームデータ間で再生動作を停止させずに確実に実行できる。また、サーバ装置から受信された属性情報は、より容量の大きいキャッシュメモリを介して属性情報バッファに格納され、キャッシュメモリから属性情報バッファに対しては、対応するストリームデータが再生可能なものである場合のみ、属性情報が出力される。従って、属性情報に基づくストリームデータの再生処理を連続的に実行できる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。以下の説明では、家庭内に形成されるLANシステム(ホームネットワークシステム)に本発明を適用した場合を想定する。また、このLANシステムを通じて送受信されるコンテンツデータの例として、オーディオデータを適用する。
[ホームネットワークの構成]
図1は、実施の形態に係るホームネットワークシステムの構成例を示す図である。
図1に示すホームネットワークシステムは、サーバ装置1および2と、オーディオ再生装置3〜5とが、LAN6を通じて接続された構成となっている。
サーバ装置1および2は、例えばパーソナルコンピュータなどの情報処理装置や、オーディオコンテンツのレコーダなどであり、LAN6への接続機能を備えるとともに、HDDなどの大容量記憶媒体を備えている。そして、HDDに蓄積されているオーディオデータを、LAN6を通じてオーディオ再生装置3〜5に対して提供することが可能となっている。オーディオ再生装置3〜5は、それぞれLAN6への接続機能を備えており、サーバ装置1および2からLAN6を通じて送信されるオーディオデータを受信して再生する。
なお、このホームネットワークシステムにおいては、実際には例えば、サーバ装置1および2とオーディオ再生装置3〜5とが図示しないブロードバンドルータにそれぞれ接続することにより、LANシステムが形成される。この場合、ブロードバンドルータは、LAN6上の機器に対するDHCP(Dynamic Host Configuration Protocol)サーバ機能およびNAT(Network Address Translation)機能を備え、これにより、LAN6上の各機器が外部ネットワーク(WAN:Wide Area Network)側の回線を共有できるようにもなっている。
以上のようなホームネットワークシステムでは、サーバ装置1および2は、オーディオデータを提供する情報提供装置としての機能を備え、オーディオ再生装置3〜5は、サーバ装置1および2からのオーディオデータの提供を受けて再生するクライアント装置(情報再生装置)としての機能を備えたものとなっている。そして、ユーザは、オーディオ再生装置3〜5のそれぞれを通じて、サーバ装置1または2が提供する異なったオーディオコンテンツを楽しむことが可能である。すなわち、オーディオ再生装置3〜5は、再生しようとするオーディオデータ(オーディオコンテンツ)に応じて、サーバ装置1および2のいずれか一方を、オーディオデータの配信元として選択することが可能となっている。
さらに、本実施の形態のオーディオ再生装置3〜5は、電子機器間の接続やコンテンツデータのやり取りを簡単に行うようにするため、例として、DLNAが推奨するガイドラインに準拠した機器であるものとする。DLNAガイドラインでは、電子機器の検出や制御、コンテンツデータの管理の手順として、米マイクロソフト社が発表したUPnPに標準で対応するよう求めている。
UPnPは、10/100BASE−Tのイーサネット(Ethernet,登録商標)を用いたネットワーク通信において代表的なIEEE(Institute of Electrical and Electronic Engineers)802ネットワーク上で用いることが可能な、IP(Internet Protocol)およびIP上のTCP(Transmission Control Protocol)、UDP(User Datagram Protocol)などで構成されるプロトコル群とデータフォーマットの仕様であり、インターネット標準通信(TCP/IP通信)における機能を拡充するものである。
そして、UPnPをオーディオ再生装置などのいわゆるCE(Consumer Electronics)機器に採用することにより、オーディオ再生装置などのCE機器が、他のCE機器やパーソナルコンピュータとの間で簡単に相互認証し、ネットワークを通じたサービスの提供や提供されたサービスの実行を、ユーザに面倒な作業をさせることなく、簡単かつ適正に行うことを可能にするものである。
[UPnPの概要]
図2は、UPnPのプロトコルスタック(プロトコル群の構造)について説明するための図である。
図2に示すように、UPnPでは、実際のデータの送受信はインターネット標準通信プロトコルによって行われる。また、以下に説明するようなUPnPの独自の機能を実現するために、SSDP(Simple Service Discovery Protocol)、GENA(General Event Notification Architecture)、SOAP(Simple Object Access Protocol)、HTTP(HyperText Transfer Protocol)などのプロトコル群が用いられる。
さらに、UPnPでは、図2に示すように、ベンダ定義(UPnP Vendor Defined)、UPnPフォーラム作業委員会定義(UPnP Forum Working Committee Defined)、デバイス仕様(構造)定義(UPnP Device Architecture Defined)がなされることになっている。
そして、UPnPは、アドレッシング(Addressing)、ディスカバリ(Discovery)、ディスクリプション(Description)、コントロール(Control)、イベンティング(Eventing)、プレゼンテーション(Presentation)の6つの機能を提供している。以下、UPnPが提供する6つの機能について説明する。
オーディオ再生装置などのUPnP機器(UPnPが搭載された電子機器)では、UPnPの機能を用いてオーディオデータを利用するために、UPnP・AV・アーキテクチャという規定に従うことなる。UPnP・AV・アーキテクチャにおけるUPnP機器は、以下のように3種類に分類されている。
すなわち、UPnP・AV・アーキテクチャでは、UPnP機器を、コンテンツを提供するメディアサーバと、制御端末装置として機能するコントロールポイントと、再生装置として機能するメディアレンダラとの3つに分類している。ここで、メディアサーバは、ネットワークシステムにおいて一般にサーバ装置と呼ばれているものに相当し、メディアレンダラは、ネットワークシステムにおいて一般にクライアント装置と呼ばれているものに相当する。
また、コントロールポイント(制御端末装置)は、ネットワークに接続された各UPnP機器を制御することができるものである。コントロールポイントとしての機能は、メディアサーバにもメディアレンダラにも搭載することが可能であり、ネットワークを構成するすべての電子機器にコントロールポイントを搭載することも、また、ネットワークを構成する任意の電子機器にコントロールポイントを搭載することも可能となっている。本実施の形態では、オーディオ再生装置3〜5のそれぞれにコントロールポイントとしての機能が搭載されているものとする。
また、UPnPにおけるアドレッシングは、各UPnP機器が、IEEE802ネットワーク上で自機を特定するためのアドレスを取得する機能であり、DHCPまたはAuto−IPが用いられる。
ディスカバリは、アドレッシングの後に行われ、これによりコントロールポイントは、コントロールしたいターゲット機器(メディアサーバまたはメディアレンダラ)を発見することができる。ここで用いられるプロトコルは、上述のSSDPである。ネットワークシステムを構成する各電子機器は、IEEE802ネットワークに接続されたときに、自分自身が備えるデバイスやサービスを通知するメッセージを、IEEE802ネットワーク上にブロードキャストする。コントロールポイントは、このブロードキャストされたメッセージを受信することで、IEEE802ネットワークにどのような機器が接続されたかを知ることができる。
ディスカバリによって、コントロールポイントが発見したコントロール対象の電子機器が出力したSSDPパケットには、デバイスディスクリプション(Device Description)のURL(Uniform Resource Locator)が記述されている。コントロールポイントは、そのURLにアクセスすることにより、その電子機器のさらに詳しいデバイス情報をデバイスディスクリプションから取得することができる。
このデバイス情報には、アイコン情報、モデル名、生産者名、商品名や、そのデバイスが有するサービスの詳しい情報が記載されているサービスディスクリプション(Service Description)などが記述されている。コントロールポイントは、これらのデバイスディスクリプションやサービスディスクリプションから、ターゲット機器に対するアクセスの方法を知ることができる。デバイスディスクリプションやサービスディスクリプションは、XML(eXtensible Markup Language)で表現されている。
コントロールの機能は、アクション(Action:実行)とクエリ(Query:問い合わせ)の2つの機能に大きく分類される。アクションは、サービスディスクリプションのアクション情報に規定された方法で行われ、アクションを実施(Invoke)することによって、コントロールポイントはターゲット機器を操作することができる。クエリは、サービスディスクリプションの機器情報(State Variable)の値を取り出すために用いられる。コントロールでは、上述のSOAPというトランスポートプロトコルが利用され、その表現としてはXMLが用いられる。
イベンティングは、機器情報の値が変更されたとき、そのことをターゲット機器からコントロールポイントに通知させるために用いられる。このイベンティングでは、上述のGENAというトランスポートプロトコルが利用され、その表現としてはXMLが用いられる。プレゼンテーションは、ユーザにユーザインタフェースを用いたコントロール手段を提供するために用いられる。
各UPnP機器は、以上のようなUPnP機能を用いることにより、ユーザに複雑な操作を求めることなく、ネットワークに参加し、通信が行える状態になるだけでなく、他のUPnP機器の検出や接続までも自動的に行うことができるようにされる。
図3は、メディアサーバに格納されたコンテンツを管理するツリー構造の例を示す図である。
UPnP機器であるメディアサーバには、CDS(Contents Directory Service)という機能(Service)が組み込まれており、メディアサーバはこの機能により、コントロールポイントに対して、メディアサーバにどのようにコンテンツが格納されているかを通知する。CDSには、コンテナ(Container)とアイテム(Item)という二つの抽象化されたオブジェクト(Object)があり、これらはいわば、米マイクロソフト社が提供するOS(Operating System)であるWINDOWS(登録商標)におけるフォルダ(Folder)とファイル(File)に相当する。コンテナとアイテムは、図3に示すように常にツリー構造を作ることになっている。なお、本実施の形態では、メディアサーバから送信されるオーディオデータが、図3におけるアイテムに対応している。
コントロールポイントは、図3に示したツリー構造をメディアサーバから取得することにより、各コンテンツのURL(情報が書いてあるリンク(Link))を得ることができる。そして、所望のオーディオコンテンツ(アイテム)の情報が取得できた場合、メディアサーバのAVトランスポート(AV Transport)という機能を用いてオーディオコンテンツの再生や停止など、オーディオトラック(オーディオデータ)についての操作を行うことができるようにされる。
本実施の形態のサーバ装置1および2とオーディオ再生装置3〜5のそれぞれは、上述のように、UPnPのアドレッシング機能を用いて、TCP/IPの通信が可能な状態になり、UPnPのディスカバリ機能を用いてお互いの機器認証を行う。これによって、各機器は、ネットワークの構成を把握し、目的とする電子機器との間で通信を行うことができるようにされる。
[サーバ装置の構成例]
次に、本実施の形態のホームネットワークシステムを構成する各電子機器の構成例について説明する。
図4は、サーバ装置のハードウェア構成を示すブロック図である。なお、ここでは例としてサーバ装置1の構成について説明するが、サーバ装置2も同様のハードウェア構成により実現できる。
図4に示すように、サーバ装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、HDD14、入力インタフェース(I/F)15、グラフィック処理部16、および通信インタフェース(I/F)17を備え、これらは内部バス18を介して相互に接続されている。
CPU11は、このサーバ装置1全体に対する制御をつかさどる。ROM12には、CPU11において実行するプログラムや処理に必要なデータなどが記録されている。RAM13は、主に各種の処理において作業領域として用いられるものである。
HDD14は、多数のデジタルコンテンツ(提供情報)などを蓄積することが可能な容量を持っている。また、HDD14は、CPU11により実行される各種のプログラムや処理用のデータなどを保持するとともに、コンテンツのトランスコードやコンテンツをLAN6を通じて他の機器に送信する際などに作業領域としても用いられる。
本実施の形態では、HDD14には、オーディオ再生装置3〜5に対してオーディオストリームを送信する、DLNAガイドラインに準拠したサーバとして機能するためのサーバプログラムが格納されて、CPU11により実行される。また、このサーバプログラムの機能としては、HDD14に格納されたオーディオストリームの符号化方式やサンプリングレート、量子化レートなどを変換するトランスコード機能を含んでもよい。
入力I/F15には、例えばキーボードやマウスなどの入力装置15aが接続されている。この入力I/F15は、入力装置15aからの信号を、内部バス18を介してCPU11に送信する。
グラフィック処理部16には、例えばLCD(Liquid Crystal Display)などの表示装置16aが接続されている。このグラフィック処理部16は、CPU11からの命令に従って、表示装置16aの画面上に画像を表示させる。
通信I/F17は、図示しないLANケーブルを介してLAN6に接続し、他の機器との間でデータの送受信を行う。
[オーディオ再生装置の構成例]
図5は、オーディオ再生装置のハードウェア構成を示すブロック図である。なお、ここでは例としてオーディオ再生装置3の構成について説明するが、オーディオ再生装置4および5も同様のハードウェア構成により実現できる。
図5に示すように、オーディオ再生装置3は、CPU31、ROM32、RAM33、フラッシュメモリ34、入力インタフェース(I/F)35、入力部35a、グラフィック処理部36、表示部36a、通信インタフェース(I/F)37、オーディオデコーダ38、D/A変換部39、オーディオアンプ40、およびスピーカ41を備えている。これらのうち、スピーカ41を除く各ブロックは、内部バス42を介して接続されている。
CPU31は、このオーディオ再生装置3全体に対する制御をつかさどる。ROM32には、CPU31において実行するプログラムや処理に必要なデータなどが記録されている。RAM33は、主に各種の処理において作業領域として用いられるものである。なお、これらのCPU31、ROM32、およびRAM33は、マイクロコンピュータとして実現されてもよい。フラッシュメモリ34は、書き換え可能な不揮発性メモリであり、例えば、オーディオ再生装置3の電源が落とされても保持しておくべき種々のデータが記録されるものである。
入力I/F35は、入力部35aからの信号を、内部バス42を介してCPU31に送信する。入力部35aには、操作キーなどの各種入力スイッチが設けられている。グラフィック処理部36は、CPU31からの命令に従って、表示部36aの画面上に画像を表示させる。表示部36aは、例えばLCDなどから構成される。
通信I/F37は、図示しないLANケーブルを介してLAN6に接続し、他の機器との間でデータの送受信を行う。また、通信I/F37は、LAN6を通じて受信したパケットからオーディオストリームのデータを抽出し、オーディオデコーダ38に直接受け渡すことが可能になっている。
オーディオデコーダ38は、通信I/F37から受信したオーディオストリームをデコードする機能を備える。このオーディオデコーダ38は、例えば、MP3(Moving Picture Experts Group−Audio Layer 3)などの各種符号化方式のオーディオデータをデコード可能となっている。また、LPCM(Linear Pulse Code Modulation)方式のオーディオデータが入力された場合には、そのまま後段のD/A変換部39に出力することが可能となっている。なお、このオーディオデコーダ38の機能は、CPU31においてソフトウェアが実行されることで実現されてもよい。
D/A変換部39は、オーディオデコーダ38から供給されたデジタルオーディオデータを、アナログオーディオ信号に変換する。オーディオアンプ40は、D/A変換部39から供給されたアナログオーディオ信号を所定のレベルに増幅し、これをスピーカ41に供給する。これにより、スピーカ41からは、これに供給されたアナログオーディオ信号に応じた音声が再生出力される。
次に、オーディオ再生装置3〜5において複数のオーディオストリームを連続的に再生する場合の動作について説明する。なお、以下の各実施の形態では、サーバ装置1から送信されるオーディオストリームを、オーディオ再生装置3において受信して再生する場合を例に説明するが、当然ながら、オーディオ再生装置4および5でもオーディオ再生装置3と同様の機能を実現可能であり、また、オーディオストリームの送信元としてサーバ装置2を選択して同様の連続再生動作を実行することも可能である。
[ストリームの連続再生動作:第1の実施の形態]
図6は、第1の実施の形態に係るオーディオ再生装置でのバッファ制御について説明するための図である。
第1の実施の形態では、再生するオーディオストリームのデータを一時的に格納するオーディオバッファ101と、それらのオーディオストリームのメタデータを一時的に格納するメタバッファ102とを用いた、オーディオ再生装置3におけるオーディオストリームの連続再生の基本的な動作について説明する。なお、ここで説明するバッファの読み出し・書き込み制御やオーディオデータ・メタデータの受信制御などは、CPU31においてプログラムが実行されることで実現される。また、ここでのオーディオストリームとは、図3に示したアイテムに対応するオーディオデータファイルである。
オーディオバッファ101およびメタバッファ102は、ともにRAM33を用いて実現されるFIFO(First In First Out)方式のバッファであり、例えばリングバッファなどとして実現される。オーディオバッファ101には、オーディオストリームの再生時に、サーバ装置1から受信されたオーディオストリームのデータが順次格納される。これらのオーディオデータはオーディオデコーダ38によって順次読み出されて、必要に応じてデコードされ、D/A変換部39によりアナログ変換される。これにより、音声信号が再生出力される。
メタバッファ102は、オーディオ再生装置3で再生可能なオーディオストリームのメタデータを格納するためのバッファであり、ここでは例として、4つ分のオーディオストリームに対応するメタデータを格納する容量を備えている。これらのメタデータは、オーディオ再生装置3からの要求に応じてサーバ装置1から送信されたものであり、メタデータには、対応するオーディオストリームのデータを取得するためのロケーション情報(URL、ポート番号など)が少なくとも格納されている。また、オーディオストリームに付与されたタイトル、制作者名(アーティスト名)、アルバム名、トータル再生時間、データサイズなど、再生時の表示動作や再生動作の制御に必要な情報が格納されていてもよい。なお、このメタバッファ102に格納されるメタデータは、例えばブラウズ(Browse)アクションに応じてサーバ装置1からXMLデータとして送信されたメタデータから、必要な情報を抽出したものである。
このオーディオ再生装置3でオーディオストリームを再生する際の基本的な手順は、以下のようになる。まず、サーバ装置1から、送信可能なオーディオストリームのリスト情報を取得し、このリスト情報に基づき、再生可能なオーディオストリームを表示部36aに一覧表示して、ユーザから選択入力を受ける。次に、リスト情報に基づき、選択されたオーディオストリームに関するさらに詳細な情報が記述されたメタデータの送信を、サーバ装置1に対して要求する。このメタデータには再生に必要な情報が記述されており、受信したメタデータに記述された情報を基にサーバ装置1にアクセスして、対応するオーディオストリームの送信を、サーバ装置1に対して要求する。そして、この要求に応答してサーバ装置1から送信されたオーディオストリームが、オーディオバッファ101に順次蓄積され、オーディオデコーダ38に読み出される。
次に、このようなオーディオ再生装置3において、複数のオーディオストリームを連続的に再生する際の処理について説明する。まず、メタバッファ102には、あるオーディオストリームの再生が開始されると、少なくとも次に再生されるオーディオストリームのメタデータを格納しておく。図6の例では、トラック1のオーディオストリームが再生中であり、メタバッファ102には、その次に再生されるトラック2のオーディオストリームに対応するメタデータが格納されている。
一方、オーディオバッファ101では、再生対象のオーディオストリームのデータが順次格納され、所定容量だけ蓄積された時点で、オーディオデコーダ38からの読み出しが開始される。また、オーディオバッファ101では、常にオーディオストリームのデータで満たされ、空きが生じないようにデータの読み込みが制御される。
その後、再生中のオーディオストリームのすべてのデータが受信され、オーディオバッファ101に空きが生じるようになると、オーディオ再生装置3では、現在再生中のオーディオストリームの再生終了を待たずに、メタバッファ102に格納されていた、次のオーディオストリームに対応するメタデータが読み出される。そして、そのメタデータに記述されたロケーション情報に基づき、次のオーディオストリームの送信がサーバ装置1に要求されて、そのオーディオストリームが受信され、オーディオバッファ101の空き領域に順次格納されていく。オーディオバッファ101では、常に空き領域が生じないように、次のオーディオバッファ101が読み込まれていく。
これにより、現在再生中のオーディオストリームのデータがすべてオーディオバッファ101からオーディオデコーダ38に読み出されると、引き続き次のオーディオストリームのデータがオーディオデコーダ38に読み出され、そのデータ再生が連続的に実行される。また、メタバッファ102には、再生が終了されたオーディオストリームのメタデータが消去されて、現在格納されているものの次に再生されるオーディオストリームのメタデータが、サーバ装置1から受信されて格納される。
なお、メタバッファ102の更新のために新たなメタデータの送信をサーバ装置1に要求するタイミングは、次に再生するオーディオストリームをサーバ装置1から受信するためにメタデータが参照されてから、そのオーディオストリームの再生が終了するまでの期間とすればよい。
以上のバッファ制御により、LAN6での通信の混雑状態やサーバ装置1の処理負荷状態などに関係なく、前のオーディオストリームの再生終了タイミングに、次のオーディオストリームの先頭領域のデータを確実に受信して、オーディオバッファ101に蓄積しておくことができるので、楽曲間の音切れ時間を常に最小限に抑えて連続再生を確実に実行できる。
また、このような効果を奏するために、オーディオバッファ101の容量は、LAN6での通信の混雑状態やサーバ装置1の処理負荷状態などを考慮して決定されればよい。例えば、メタデータを参照して次のオーディオストリームの送信を要求し、それに応答してオーディオストリームをサーバ装置1から受信してオーディオバッファ101への格納を開始するまでの最大時間を予想しておき、その予想最大時間内に、オーディオストリームがオーディオバッファ101から読み出されるデータ量以上とするように、オーディオバッファ101の容量を決定する。
また、メタバッファ102には、少なくとも次に再生するオーディオストリームのメタデータが保持されていればよいが、図6のように複数のオーディオストリームのメタデータを保持しておくことで、LAN6での通信の混雑やサーバ装置1の処理負荷増加などによってメタデータ自体の受信が遅れた場合でも、メタバッファ102に格納されているトラック数の範囲で、連続再生動作を実行させることが可能になる。
さらに、メタデータに基づき、前後のオーディオストリームの符号化フォーマットやサンプリング周波数、ビットレートなどの仕様が同じであることがわかっていれば、次のオーディオストリームのデコードを開始する際にオーディオデコーダ38などの後段の回路を初期化しないように制御することで、オーディオストリームの切り換え時に無音状態がまったく生じない、いわゆるギャップレス再生を確実に行うことも可能になる。
なお、図6の例では、メタバッファ102には、現在再生中のオーディオストリームのメタデータをその再生終了時まで保持しておき、再生制御部などから参照できるようにしている。しかし、この他に、オーディオストリームをサーバ装置1から取得する際に、そのために必要なメタデータをメタバッファ102から読み出して、別のメモリ領域に格納しておき、この時点でメタバッファ102に対して、現在格納されているものの次に再生されるオーディオストリームのメタデータを読み込むようにしてもよい。
[ストリームの連続再生動作:第2の実施の形態]
図7は、第2の実施の形態に係るオーディオ再生装置が備える主な機能を示すブロック図である。
第2の実施の形態に係るオーディオ再生装置3では、上記の第1の実施の形態で説明したオーディオバッファ101およびメタバッファ102に加えて、メタデータをキャッシュしておくためのキャッシュメモリ103を設けている。これにより、複数のオーディオストリームの連続再生をより正確に実行できるようにするとともに、ランダム再生などにも容易に対応できるようにする。なお、キャッシュメモリ103も、RAM33などにより実現されるものである。
本実施の形態のオーディオ再生装置3は、複数のオーディオストリームを連続再生するための機能として、図7に示すように、再生制御部110、通信制御部120、およびユーザインタフェース(U/I)制御部130を備えている。なお、これらの各部の機能は、CPU31によってプログラムが実行されることで実現される。
再生制御部110は、オーディオストリームの再生に関する動作全般を制御する制御部であり、U/I制御部130を通じて受け付けたユーザの操作入力情報に応じた処理を実行する。この再生制御部110は、オーディオバッファ制御部111、メタバッファ制御部112、キャッシュ制御部113、フィルタ114、およびランダム番号生成部115を備えている。
オーディオバッファ制御部111は、オーディオバッファ101へのオーディオストリームのデータ読み込みや、そのデータをオーディオデコーダ38からの要求に応じてオーディオデコーダ38に対して読み出す動作を制御する。また、オーディオバッファ101の空き領域を管理し、空きが発生した場合には、メタバッファ102に記憶された、次に再生するオーディオストリームのメタデータを参照して、そのデータに記述されたロケーション情報を通信制御部120に引き渡し、対応するオーディオストリームの送信を要求させる。
メタバッファ制御部112は、メタバッファ102へのメタデータの読み込みや、そのメタデータの読み出しの動作を制御する。メタバッファ制御部112は、1つのオーディオストリームの再生(ここではデコード)が終了すると、そのことの通知をオーディオバッファ制御部111から受け、次のメタデータを読み出してメタバッファ102に供給するようにキャッシュ制御部113に要求する。
キャッシュ制御部113は、キャッシュメモリ103へのメタデータの読み込みや、そのメタデータのメタバッファ102への読み出しを制御する。キャッシュ制御部113は、メタバッファ制御部112からの要求に応じて、キャッシュメモリ103内のメタデータをフィルタ114を通じてメタバッファ102に読み出す。また、キャッシュメモリ103内のメタデータの読み出し状態を管理し、すべてのメタデータが読み出されると、通信制御部120に対して、次に再生するオーディオストリームのメタデータの送信を要求させる。
フィルタ114は、キャッシュメモリ103から読み出されたメタデータが、オーディオストリームに対するものであるか否かを判別し、正しい場合はそのメタデータをメタバッファ102に出力し、正しくない場合はそのことをキャッシュ制御部113に通知する。
ランダム番号生成部115は、楽曲順をランダムに並び替えて再生させるランダム再生(シャッフル再生)のための再生順を決定するブロックであり、再生するトラック番号をランダムに指定する乱数発生機能を備えている。
通信制御部120は、LAN6を通じた通信処理を制御するブロックであり、ここでは、再生制御部110からの要求に応じて、UPnPで規定された通信手順を実行することが可能となっている。また、その通信手順により受信されたメタデータをキャッシュメモリ103に格納し、オーディオストリームのデータをオーディオバッファ101に格納する。
U/I制御部130は、入力部35aに対するユーザの入力操作を入力I/F35を通じて検知して、その入力操作に応じた操作入力情報を再生制御部110に出力する。また、再生制御部110からの制御情報に従って、例えば、サーバやコンテンツの選択時、コンテンツの再生時など、場面に応じた表示情報を生成してグラフィック処理部36に出力し、表示情報に応じた画像を表示部36aに表示させる。
図8は、第2の実施の形態に係るオーディオ再生装置でのバッファ制御について説明するための図である。
図8では例として、オーディオストリームをトラック1〜トラック20(tr1〜tr20)の順に連続再生する場合のキャッシュメモリ103、メタバッファ102、およびオーディオバッファ101におけるデータ書き込み・読み出しの状態を模式的に示している。なお、ここでは例として、キャッシュメモリ103は10トラック分のメタデータを保持し、メタバッファ102は4トラック分のメタデータを保持できるものとする。
まず、トラック1の再生開始がユーザの操作入力により指示されると、図8(A)に示すように、キャッシュメモリ103は、トラック1を先頭とした10トラック分のメタデータが格納された状態となる。これらのメタデータは、再生開始が要求された時点でサーバ装置1からあらためて受信してもよいし、それ以前に受信されたものであってもよい。
さらに、これらの10トラック分のメタデータの中から、先頭の4トラック分のメタデータがメタバッファ102に読み込まれる。そして、まずトラック1のメタデータに記述されたロケーション情報を基に、対応するオーディオストリームが受信され、オーディオバッファ101に蓄積されていき、そのオーディオストリームの再生が開始される。
また、第1の実施の形態と同様に、トラック1のオーディオストリームの全データが受信され、オーディオバッファ101に空きが生じるようになると、次に再生されるトラック2のメタデータがメタバッファ102から参照され、そのメタデータに基づいてトラック2のオーディオストリームの受信が開始されて、オーディオバッファ101に蓄積される。
また、トラック1のオーディオストリームの再生が終了すると、メタバッファ102では、トラック1のメタデータが消去され、その空き領域に、キャッシュメモリ103から次のトラック5のメタデータが読み込まれる。なお、この他に、例えば、トラック1の再生のためにトラック1のメタデータがメタバッファ102から読み出された時点、あるいは、次のトラック2のオーディオストリームの受信が開始された時点で、トラック1のメタデータがメタバッファ102から消去され、トラック5のメタデータが書き込まれるようにしてもよい。
以後、上記の処理が繰り返され、最後に格納されたトラック10のメタデータがメタバッファ102に読み込まれたとする。このとき、図8(B)に示すように、トラック7のオーディオストリームの再生が開始され、メタバッファ102には、トラック7〜10のメタデータが格納されている。キャッシュ制御部113は、キャッシュメモリ103内のすべてのメタデータがメタバッファ102に読み込まれたことを検出すると、通信制御部120を制御して、次の10トラック分のメタデータを送信するようにサーバ装置1に要求させる。この結果、トラック11〜20までのメタデータがキャッシュメモリ103に上書きされ、以後、上記と同様にキャッシュメモリ103内のメタデータが先頭から順にメタバッファ102に読み込まれる。
このように、メタバッファ102より多くのトラック数のメタデータを蓄積可能なキャッシュメモリ103を設け、このキャッシュメモリ103からメタバッファ102にメタデータを読み出す構成としたことで、再生対象のオーディオストリームのメタデータを即座に取得して、確実に連続再生できるようになる。例えば、再生時間の短いオーディオストリームが数曲再生されて、メタバッファ102の蓄積データが頻繁に更新されるような場合でも、メタデータをその都度サーバ装置1から受信することなく、キャッシュメモリ103に保持されたメタデータを読み込んで連続再生を継続できるようになる。
ところで、サーバ装置1側のコンテンツ管理のツリー構造によっては、オーディオストリームのメタデータに混ざって、それ以外のデータに関するメタデータがサーバ装置1側から受信される場合もある。例えば、同じコンテナの子階層に、オーディオストリームとビデオストリームのアイテムが混在したり、アイテムとともにさらにコンテナが存在する場合もある。
このような場合、同じコンテナの子階層のオブジェクトに関するメタデータが、そのオブジェクトの種類に関係なく、サーバ装置1で付与された順番で受信されて、キャッシュメモリ103に一旦格納される。そして、キャッシュメモリ103から各オブジェクトのメタデータが読み出されたとき、フィルタ114によって、そのメタデータがオーディオストリームに関するものであるか否かが判定される。オーディオストリームに関するものであった場合は、そのままメタバッファ102に転送されるが、そうでなかった場合にはフィルタ114からキャッシュ制御部113に対してエラーが通知され、通知を受けたキャッシュ制御部113の制御によって、キャッシュメモリ103から次のオブジェクトに対応するメタデータが読み出される。
これにより、メタバッファ102には、オーディオストリームに関するメタデータのみが格納されるので、このメタバッファ102からオーディオバッファ制御部111がメタデータを順次読み出すことで、オーディオストリームを連続的に再生できる。すなわち、次に再生するオーディオストリームのデータを受信しようとするタイミングで、メタバッファ102内の次のメタデータがオーディオストリームに関するものであるか否かを判別する必要がなくなり、楽曲間で余計な無音期間が発生することなく、連続再生を確実に継続できるようになる。
次に、オーディオストリームの連続再生時における各部の処理について説明する。まず、図9は、連続再生動作が開始されるまでのオーディオ再生装置における処理手順を示すフローチャートである。
〔ステップS11〕オーディオ再生装置3では、LAN6に接続されると、サーバ装置を探索する処理が実行される。
まず、オーディオ再生装置3がLAN6に接続されると、通信制御部120により自身のネットワークアドレスが取得された後、再生制御部110は、サーバ装置を探索するように通信制御部120に要求する。通信制御部120は、UPnPで規定されたサーチメッセージをLAN6上にマルチキャストする。LAN6上のサーバ装置1および2は、サーチメッセージに応答して、自身を特定するIDや、デバイスディスクリプションを取得するためのURLなどを返信する。
通信制御部120は、以上の手順で探索されたサーバ装置1および2に関する情報を再生制御部110に渡し、再生制御部110は、サーバ装置1および2を選択するための画面を表示させるようにU/I制御部130に指示する。これにより、表示部36aには、探索されたサーバ装置1および2の名前などが一覧表示され、ユーザからの選択入力を待機する状態となる。
〔ステップS12〕オーディオ再生装置3では、サーバ装置を選択するためのユーザによる入力操作に応じて、選択されたサーバ装置(ここではサーバ装置1とする)から、送信可能なコンテンツの情報を得るための処理が実行される。
ここでは、再生制御部110は、サーバ装置1が選択されたことをU/I制御部130を介して検出すると、そのサーバ装置1からデバイスディスクリプションを取得するように、通信制御部120に要求する。通信制御部120は、対応するURLにアクセスしてGETコマンドによりデバイスディスクリプションを受信した後、サーバ装置1でコンテンツを管理している階層構造のルートのロケーションを得て、そのルートの子階層についての情報を要求する。
この要求に対する応答から、子階層にコンテナのみ含まれる場合には、そのコンテナの情報を再生制御部110に渡す。再生制御部110は、それらのコンテナをユーザに選択させるための画面表示をU/I制御部130に要求する。これにより、コンテナに付与された名前が表示部36aに一覧表示され、ユーザはこれらから1つを選択する操作を行う。再生制御部110は、選択されたコンテナの子階層の属性情報を取得するように、通信制御部120に対して要求する。
このような手順が繰り返されることにより、子階層の情報が順次得られる。一般的には、ルートの子階層のコンテナはアーティストごとに設けられ、さらのその子階層のコンテナはアルバムごとに設けられ、そのコンテナの子階層に、楽曲に対応するアイテムが存在する。なお、オーディオ再生装置3から、アーティストなどの検索条件を指定して、その条件に応じた階層構造に従ってアイテムを探索することもできる。
以上の処理により、子階層にアイテムが存在した場合には、そのアイテムに関する概略的な情報を示すメタデータがXMLデータとして取得される。上述したように、本実施の形態では、アイテムはコンテンツ(ここでは楽曲)のストリームデータに対応しており、基本的には、1つのアルバムに対応するコンテナの子階層に含まれるアイテムに関するリスト情報が取得されることになる。
〔ステップS13〕サーバ装置1から取得されたアイテムのリスト情報は、通信制御部120から再生制御部110に渡される。再生制御部110は、そのリスト情報に基づき、再生可能な楽曲のタイトルやアーティスト名などの情報を一覧表示した選択画面を表示させるように、U/I制御部130に要求する。これにより、表示部36aには、再生可能な楽曲の情報が一覧表示され、オーディオ再生装置3は、最初に再生させる楽曲に対する選択操作の待機状態となる。
〔ステップS14〕再生制御部110は、楽曲の選択情報をU/I制御部130を介して受け取ると、その楽曲に関する情報をさらに詳細に記載したメタデータを受信するように、通信制御部120に要求する。このとき、選択された楽曲を先頭として10曲(10トラック)分のメタデータを一度に受信するように要求する。図8の例では、例えばトラック1が選択された場合、トラック1〜10のメタデータの受信を要求する。通信制御部120は、トラック番号を指定してメタデータの送信をサーバ装置1に要求するためのアクションを実行する。
サーバ装置1から受信されたメタデータは、通信制御部120を介してキャッシュメモリ103に格納される。キャッシュ制御部113は、キャッシュメモリ103内の先頭4トラック分のメタデータを、フィルタ114を介してメタバッファ102に供給する。
〔ステップS15〕オーディオバッファ制御部111は、メタバッファ102から1トラック分のメタデータを読み込み、このメタデータに記述されたロケーション情報を通信制御部120に渡して、対応するオーディオストリームを取得するように要求する。通信制御部120は、ロケーション情報を基にサーバ装置1にアクセスして、オーディオストリームの送信を要求する。
〔ステップS16〕サーバ装置1からオーディオストリームが送信され、これを受信したオーディオ再生装置3では、オーディオストリームが通信制御部120を介してオーディオバッファ101に順次供給される。そして、このオーディオバッファ101からデータがオーディオデコーダ38に順次読み出されることで、再生動作が実行される。
図10は、連続再生時におけるオーディオバッファ制御部によるオーディオバッファの空き管理処理手順を示すフローチャートである。
上述したように、オーディオバッファ制御部111は、オーディオバッファ101にオーディオストリームのデータが蓄積されると、オーディオデコーダ38からの要求に応じて、オーディオバッファ101内のデータを順次オーディオデコーダ38に読み出すように制御する。このとき、オーディオバッファ制御部111は、以下の手順によりオーディオバッファ101に対するデータの読み込みを管理する。
〔ステップS21〕オーディオバッファ制御部111は、メタバッファ102から、1トラック分のメタデータを読み込む。
〔ステップS22〕オーディオバッファ制御部111は、読み込んだメタデータに記述されたロケーション情報を通信制御部120に転送して、対応するオーディオストリームの送信を要求する。通信制御部120は、その要求に応じて、対応するオーディオストリームを送信するためのアクションを実行し、サーバ装置1からこれに応じてオーディオストリームの送信が開始される。送信されたオーディオストリームのデータは、オーディオバッファ101に順次蓄積される。
〔ステップS23〕オーディオバッファ制御部111は、オーディオバッファ101の空き状態を監視し、空きが発生していない場合にはステップS24の処理を実行する。また、1つのオーディオストリームの受信が完了して、オーディオバッファ101に空きが生じ始めた場合には、ステップS21に戻って、次のトラックのメタデータをメタバッファ102から読み込む。この結果、次に再生されるオーディオストリームがサーバ装置1から送信されるようになる。
〔ステップS24〕オーディオバッファ制御部111は、ユーザの操作などにより連続再生動作の終了が要求されたか否かを判別する。要求されていない場合は、ステップS23に戻ってオーディオバッファ101の空き状態を判別し、要求された場合は処理を終了する。
以上の処理により、オーディオバッファ101には、オーディオストリームのデータがバッファ容量分だけ常に保持される。そして、1つのオーディオストリームの受信が完了すると、そのオーディオストリームの再生終了を待たずに、次のオーディオストリームの受信が自動的に開始される。
図11は、メタバッファ制御部におけるメタバッファの管理処理手順を示すフローチャートである。
〔ステップS31〕連続再生動作が開始されると、メタバッファ制御部112は、キャッシュ制御部113に対して、4トラック分のメタデータを読み出すように要求する。この結果、キャッシュメモリ103からは、4トラック分のメタデータが、フィルタ114を介してメタバッファ102に読み込まれる。
〔ステップS32〕メタバッファ制御部112は、オーディオバッファ制御部111からの要求に応じて、メタバッファ102に格納された、最も再生順の早いトラックのメタデータを、オーディオバッファ制御部111に出力させる。
〔ステップS33〕メタバッファ制御部112は、1つのオーディオストリームの再生が終了し、次のオーディオストリームの再生が開始されたか否かを判定する。開始されていない場合はステップS34の処理を実行し、開始された場合はステップS35の処理を実行する。
なお、次のオーディオストリームの再生開始は、例えば、オーディオデコーダ38において新たなオーディオストリームのデコードが開始されたこと、あるいは、オーディオバッファ101から新たなオーディオストリームのデータ読み出しが開始されたことなどの通知を、オーディオバッファ制御部111から受けることで判断できる。
〔ステップS34〕メタバッファ制御部112は、ユーザの操作などにより連続再生動作の終了が要求されたか否かを判定する。要求されていない場合は、ステップS33に戻って次のオーディオストリームの再生開始を判定し、要求された場合は処理を終了する。
〔ステップS35〕メタバッファ制御部112は、キャッシュ制御部113に対して、次の1トラック分のメタデータを読み出すように要求する。この結果、キャッシュメモリ103からは、次の1トラック分のメタデータがフィルタ114を介してメタバッファ102に転送される。メタバッファ制御部112は、転送されたメタデータを、ステップS32で出力したメタデータの記憶領域に上書きする。
なお、上記の処理では、次のオーディオストリームの再生が開始されたときに、次の1トラック分のメタデータをメタバッファ102に読み込むようにしている。これにより、現在再生中のオーディオストリームのメタデータがメタバッファ102に常に保持され、このメタデータを装置内の各部が参照できる。しかし、そのような処理の代わりに、ステップS32でメタバッファ102から1トラック分のメタデータを出力させると、すぐに次の1トラック分のメタデータが読み込まれるように制御してもよい。
図12は、キャッシュ制御部におけるキャッシュメモリの管理処理手順を示すフローチャートである。
図9のステップS14の制御処理により、サーバ装置1から所定トラック数分(ここでは10トラック分)のメタデータが送信され、それらのメタデータがキャッシュメモリ103に蓄積されると、キャッシュ制御部113は、以下のような手順でキャッシュメモリ103の読み書きを制御する。
〔ステップS41〕キャッシュ制御部113は、メタバッファ制御部112から、1トラック分のメタデータの出力要求を受けたか否かを判定する。要求を受けていない場合はステップS42の処理を実行し、要求を受けた場合はステップS43の処理を実行する。
〔ステップS42〕キャッシュ制御部113は、ユーザの操作などにより連続再生動作の終了が要求されたか否かを判別する。要求されていない場合は、ステップS41に戻ってメタバッファ102に対する出力要求の有無を判定し、要求された場合は処理を終了する。
〔ステップS43〕キャッシュ制御部113は、キャッシュメモリ103から、読み出し済みのものの次のオブジェクトのメタデータを、フィルタ114に対して読み出す。
〔ステップS44〕フィルタ114は、読み出されたメタデータがオーディオストリームに関するものであるか否かを判定する。オーディオストリームに関するメタデータであれば、そのままメタバッファ102に転送するが、そうでなかった場合には、そのことをキャッシュ制御部113に通知する。
キャッシュ制御部113は、フィルタから通知があった場合にはステップS43に戻って、次のオブジェクトのメタデータをキャッシュメモリ103から読み出し、通知がなかった場合には、ステップS45の処理を実行する。
なお、この図12では省略しているが、連続再生動作の開始直後では、図11のステップS31の処理によりメタバッファ制御部112からは4トラック分のメタデータの出力が要求される。従って、連続再生開始直後のみ、ステップS43およびS44では、先頭から4トラック分のオーディオストリームのメタデータを読み出すような処理が行われる。
また、フィルタ114は、読み出されたメタデータがオーディオストリームに関するものであった場合に、さらに、そのメタデータから対応するオーディオストリームの符号化方式やサンプリング周波数、ビットレートなどを解析し、このオーディオストリームがオーディオ再生装置3において再生可能なものであるか否かを判定してもよい。この場合、再生可能と判定した場合のみ、メタデータをメタバッファ102に転送し、再生不可能と判定した場合には、そのことをキャッシュ制御部113に通知して、次のメタデータをキャッシュメモリ103から取得する。
〔ステップS45〕キャッシュ制御部113は、キャッシュメモリ103内のすべてのメタデータが読み出されたか否かを判定する。読み出されていないメタデータが存在する場合は、ステップS41に戻って、そのまま次のメタデータの出力要求を待機し、すべてのメタデータが読み出し済みの場合は、ステップS46の処理を実行する。
〔ステップS46〕キャッシュ制御部113は、図9のステップS12で取得されていたリスト情報と、すでにメタバッファ102に転送済みのトラック番号の情報とを基に、次の10個分のオブジェクトを指定する情報を通信制御部120に転送して、それらのオブジェクトのメタデータの送信を要求する。通信制御部120は、その要求に応じて、対応するメタデータを送信するためのアクションを実行し、サーバ装置1からは、これに応じて、指定された10個分のオブジェクトのメタデータが送信される。送信されたメタデータは、キャッシュメモリ103に上書きされ、その後、ステップS41の処理が再度実行される。
以上のオーディオバッファ制御部111、メタバッファ制御部112、およびキャッシュ制御部113の処理により、オーディオバッファ101には常時オーディオストリームのデータが満たされ、1つのオーディオストリームの受信が終了すると、連続して次のオーディオストリームのデータがオーディオバッファ101に確実に格納される。従って、LAN6での通信の混雑状態やサーバ装置1の処理負荷状態などに関係なく、楽曲間で余計な無音期間が発生しない連続再生動作を確実に実行できる。
次に、このオーディオ再生装置3におけるランダム再生時の制御について説明する。図13は、ランダム再生時におけるキャッシュメモリの管理処理手順を示すフローチャートである。
オーディオ再生装置3では、図9のステップS11,S12の手順により、1つのコンテナの子階層に含まれるアイテムに関するリスト情報が取得された後、この子階層に含まれるオーディオストリームの送信順をランダムに指定することで、ランダム再生を実行できる。なお、ランダム番号生成部115は、取得されたリスト情報に基づき、コンテナ内に存在するアイテム数の範囲で、ランダムにトラック番号を指定する。
〔ステップS51〕ランダム再生の開始時には、ランダム番号生成部115によって少なくとも初回4曲分のトラック番号がランダムに生成され、これらのメタデータがサーバ装置1から受信されて、キャッシュメモリ103を介してメタバッファ102に格納される必要がある。このとき、キャッシュメモリ103は、初回4曲分を含む10トラック分のメタデータによって満たされている。
このような状態とするための最も簡単な処理手順としては、ランダム番号生成部115により初回10曲分のトラック番号が生成され、キャッシュ制御部113が、これらのトラック番号を通信制御部120に通知して、これらに対応するメタデータをサーバ装置1から送信させる。そして、受信したメタデータをキャッシュメモリ103に格納した後、そのキャッシュメモリ103から再生順にメタデータをメタバッファ102に読み出すように制御する。この場合には、キャッシュメモリ103内のメタデータがすべてメタバッファ102に対して読み出されるまでは、それらのメタデータを再生順にメタバッファ102に読み出すように制御した後、次のステップS52以後の処理が実行されればよい。
〔ステップS52〕キャッシュ制御部113は、メタバッファ制御部112から、1トラック分のメタデータの出力要求を受けたか否かを判定する。要求を受けていない場合はステップS53の処理を実行し、要求を受けた場合はステップS54の処理を実行する。
〔ステップS53〕キャッシュ制御部113は、ユーザの操作などによりランダム再生動作の終了が要求されたか否かを判別する。要求されていない場合は、ステップS52に戻ってメタバッファ102に対する出力要求の有無を判定し、要求された場合は処理を終了する。
〔ステップS54〕キャッシュ制御部113は、ランダム番号生成部115から、新たなトラック番号を取得する。
〔ステップS55〕キャッシュ制御部113は、取得したトラック番号に対応するメタデータがキャッシュメモリ103に格納されているか否かを判定する。対応するメタデータが格納されていた場合にはステップS57の処理を実行し、格納されていなかった場合にはステップS56の処理を実行する。
〔ステップS56〕キャッシュ制御部113は、ステップS54で取得したトラック番号を先頭とした10オブジェクト分(ここでは10トラック分)のメタデータを受信するように、通信制御部120に対して命令する。通信制御部120は、サーバ装置1に対してこれらのメタデータの送信を要求するアクションを実行し、それに応じた受信されたメタデータがキャッシュメモリ103に上書きされる。
〔ステップS57〕キャッシュ制御部113は、ステップS54で取得したトラック番号に対応するメタデータを、キャッシュメモリ103からメタバッファ102に転送させる。
このような処理によれば、1つのコンテナの子階層に、キャッシュメモリ103に格納できる数より多くのトラック数のオーディオストリームが存在する場合でも、それらの全オーディオストリームを対象としてランダムに再生順を決定することができる。
また、新たなトラック番号をランダムに生成したときに、そのトラック番号に対応するメタデータがキャッシュメモリ103に格納されていない場合にのみ、そのメタデータをサーバ装置1からあらためて受信するので、メタデータの送信要求を行う回数が減少される。さらに、新たなトラック番号の生成は、それに対応するオーディオストリームの再生開始直前に行うのでなく、それより遥かに前の、メタバッファ102に新たなメタデータを格納するタイミングで行われるので、メタバッファ102には直近の4トラック分のメタデータが常に格納された状態となる。従って、メタバッファ102のメタデータをオーディオバッファ制御部111が即座に参照できるので、ランダム再生時においても、余計な無音期間のない連続再生動作を実行できる。
なお、以上の図13では、説明を簡単にするために、キャッシュメモリ103にはオーディオストリームに関するメタデータのみが格納されるものとした。しかし、図12で説明したフィルタ114の機能を用いて、オーディオストリームに関するメタデータのみを抽出して、メタバッファ102に供給することも可能である。この場合、キャッシュメモリ103からメタバッファ102に対してメタデータを転送する際に、フィルタ114により、そのメタデータがオーディオストリームに関するものでないと判定されたり、再生不可能であると判定された場合には、ランダム番号生成部115に新たな番号を生成させ、ステップS56の処理に進んで、その番号を先頭とした次の10オブジェクト分のメタデータを受信すればよい。
[ストリームの連続再生動作:第3の実施の形態]
図14は、第3の実施の形態に係るオーディオ再生装置のバッファ構成と、その制御について説明するための図である。
第3の実施の形態では、楽曲の再生途中に、次の楽曲の再生を開始させる動作(飛ばし再生)、あるいは同じ楽曲を先頭から再度再生させる動作(戻り再生)を要求した場合でも、即座にそれらの動作を実行できるようにしている。このために、オーディオストリームのデータを格納するオーディオバッファ101aを、図14に示すように、2つの先頭データ領域104および105と、FIFO領域106とに分割している。
先頭データ領域104および105は、ともに一定容量を持つメモリ領域であり、各領域には、再生中のオーディオストリームの先頭から所定量のデータ、または、次に再生されるオーディオストリームの先頭から所定量のデータのいずれかが交互に格納される。そして、これらの先頭データ領域104および105に蓄積されたデータは、各領域に対応するオーディオストリームの再生が終了するまで保持される。
一方、FIFO領域106は、オーディオストリームのデータのうち、先頭データ領域104および105に格納されたデータを除いた残りのデータが順次格納されるFIFO方式メモリ領域であり、例えばリングバッファとして実現される。この領域には、最初に、再生中のオーディオストリームのデータのうち、先頭データ領域104および105の一方に格納されたデータの位置より後のデータが順次格納される。その後、オーディオストリームの受信が終了すると、次に再生されるオーディオストリームのデータのうち、先頭データ領域104および105の他方に格納されたデータの位置より後のデータが順次格納される。
ここで、例として、図14に示すトラック1のオーディオストリームが再生される場合、まず、メタバッファ102内のトラック1のメタデータに基づいて、トラック1のオーディオストリームの送信がサーバ装置1に要求され、これに応じて送信されたオーディオストリームのデータが、オーディオ再生装置3で受信される。このとき、受信したオーディオストリームのデータは、先頭データ領域104に格納される。そして、先頭データ領域104の空きがなくなると、その後の受信データがFIFO領域106に格納される。
オーディオデコーダ38は、まず、先頭データ領域104からデータを読み出してデコード処理を行い、この領域のデータをすべて読み出すと、次にFIFO領域106からデータを読み出すことで、トラック1のオーディオストリームの再生を継続する。そして、その再生中に、戻り再生を要求する操作入力が行われた場合には、先頭データ領域104の先頭から再度オーディオデコーダ38にデータが転送される。これにより、オーディオストリームの先頭データを再度サーバ装置1から受信することなく、戻り再生を即座に実行できる。また、先頭データ領域104からデータを読み出している間に、トラック1のメタデータに基づいて、再度サーバ装置1に送信要求を行って残りのデータを受信し、データをフラッシュしたFIFO領域106に蓄積していくことで、オーディオストリームの再生が継続される。
一方、トラック1のオーディオストリームの再生が開始されたとき、オーディオ再生装置3は、トラック1とは別の通信セッションをサーバ装置1との間で実行し、トラック2のメタデータに基づき、それに対応するオーディオストリームの送信をサーバ装置1に要求する。これにより、トラック2のオーディオストリームのデータをトラック1のデータと並行して受信する。このとき、例えば、受信中のトラック1のオーディオストリームの受信速度を検出し、所定の速度以上であれば、トラック2のオーディオストリームを並行して受信するための処理を起動してもよい。
受信されたトラック2のオーディオストリームのデータは、先頭データ領域105に格納される。ここでは、先頭データ領域105の容量分だけ受信された後、一旦受信を停止し、FIFO領域106に空きが生じたときに、残りのデータを受信してFIFO領域106に格納していく。このような処理により、トラック1のオーディオストリームの再生中に飛ばし再生が要求された場合には、トラック2のオーディオストリームのデータを、先頭データ領域105から即座にオーディオデコーダ38に転送でき、この時点でトラック2のオーディオストリームの先頭データをサーバ装置1から受信する必要がなくなる。
なお、トラック2のオーディオストリームの再生が開始されると、その残りのオーディオストリームをサーバ装置1から受信し、データをフラッシュしたFIFO領域106に順次蓄積しておくことで、そのオーディオストリームの再生が継続される。
実施の形態に係るホームネットワークシステムの構成例を示す図である。 UPnPのプロトコルスタック(プロトコル群の構造)について説明するための図である。 メディアサーバに格納されたコンテンツを管理するツリー構造の例を示す図である。 サーバ装置のハードウェア構成を示すブロック図である。 オーディオ再生装置のハードウェア構成を示すブロック図である。 第1の実施の形態に係るオーディオ再生装置でのバッファ制御について説明するための図である。 第2の実施の形態に係るオーディオ再生装置が備える主な機能を示すブロック図である。 第2の実施の形態に係るオーディオ再生装置でのバッファ制御について説明するための図である。 連続再生動作が開始されるまでのオーディオ再生装置における処理手順を示すフローチャートである。 連続再生時におけるオーディオバッファ制御部によるオーディオバッファの空き管理処理手順を示すフローチャートである。 メタバッファ制御部におけるメタバッファの管理処理手順を示すフローチャートである。 キャッシュ制御部におけるキャッシュメモリの管理処理手順を示すフローチャートである。 ランダム再生時におけるキャッシュメモリの管理処理手順を示すフローチャートである。 第3の実施の形態に係るオーディオ再生装置のバッファ構成と、その制御について説明するための図である。
符号の説明
1,2……サーバ装置、3〜5……オーディオ再生装置、6……LAN、11,31……CPU、12,32……ROM、13,33……RAM、14……HDD、15,35……入力インタフェース、15a……入力装置、16,36……グラフィック処理部、16a……表示装置、17,37……通信インタフェース、18,42……内部バス、34……フラッシュメモリ、35a……入力部、36a……表示部、38……オーディオデコーダ、39……D/A変換部、40……オーディオアンプ、41……スピーカ、101……オーディオバッファ、102……メタバッファ

Claims (8)

  1. ネットワークを通じて接続されたサーバ装置から送信されるストリームデータを受信して再生する再生装置において、
    前記ストリームデータの属性情報の送信を前記サーバ装置に対して要求し、前記属性情報を対応する前記ストリームデータの再生順に受信する属性情報要求手段と、
    前記サーバ装置から受信された前記属性情報を順次受け取って一時的に記憶するキャッシュメモリと、
    前記キャッシュメモリに記憶された前記属性情報に基づき、当該属性情報に対応する前記ストリームデータが前記再生装置において再生可能であるか否かを判別するデータ判別手段と、
    前記キャッシュメモリから取得した前記属性情報を、前記キャッシュメモリより少ない数だけ一時的に記憶する属性情報バッファであって、少なくとも、現在再生しているものの次に再生する前記ストリームデータに対応する前記属性情報を保持する属性情報バッファと、
    前記属性情報バッファに記憶された前記属性情報に基づいて、対応する前記ストリームデータの送信を前記サーバ装置に対して要求するストリームデータ要求手段と、
    前記サーバ装置から受信された前記ストリームデータを順次記憶し、再生処理手段に対して出力するFIFO方式のストリームデータバッファと、
    を有し、
    前記ストリームデータ要求手段は、前記ストリームデータバッファに対して再生中の前記ストリームデータが最後まで蓄積されると、次に再生する前記ストリームデータに対応する前記属性情報を前記属性情報バッファから読み込み、当該属性情報に基づいて次に再生する前記ストリームデータの送信を前記サーバ装置に要求し、
    前記属性情報要求手段は、前記キャッシュメモリに保持されたすべての前記属性情報が前記属性情報バッファに出力されると、前記キャッシュメモリにすでに記憶された前記属性情報に対応する前記ストリームデータの次に再生する前記ストリームデータに対応する前記属性情報を、前記キャッシュメモリに保持可能な数だけ再生順に送信するように前記サーバ装置に対して要求し、
    前記データ判別手段は、前記キャッシュメモリに保持された前記属性情報を前記属性情報バッファに出力させる際に、当該属性情報に対応する前記ストリームデータが前記再生装置において再生可能であるか否かを判別し、再生可能である場合は、当該属性情報を前記属性情報バッファにそのまま出力させ、再生不可能である場合は、当該属性情報の出力を行わずに、次の前記属性情報を前記キャッシュメモリから出力させるように制御する、
    ことを特徴とする再生装置。
  2. 前記属性情報バッファは、少なくとも、現在再生している前記ストリームデータの次に順次再生する一定数の前記ストリームデータに対応する前記属性情報を保持し、
    前記ストリームデータ要求手段は、前記属性情報バッファに記憶された前記属性情報を再生順に読み込む、
    ことを特徴とする請求項1記載の再生装置。
  3. 前記データ判別手段により、前記キャッシュメモリから読み込んだ前記属性情報に対応する前記ストリームデータが再生不可能と判別されたときに、前記キャッシュメモリ内の前記属性情報のすべてについて再生可能か否かの判定済みであった場合に、前記属性情報要求手段は、前記キャッシュメモリにすでに記憶された前記属性情報に対応する前記ストリームデータの次に再生する前記ストリームデータに対応する前記属性情報を、前記キャッシュメモリに保持可能な数だけ再生順に送信するように前記サーバ装置に対して要求することを特徴とする請求項1記載の再生装置。
  4. 前記データ判別手段は、前記キャッシュメモリから読み込んだ前記属性情報に基づき、当該属性情報に対応する前記ストリームデータの種類と、当該ストリームデータの符号化形式、サンプリング周波数およびビットレートの中の少なくとも1つとから、当該ストリームデータが再生可能であるか否かを判別することを特徴とする請求項1記載の再生装置。
  5. 前記キャッシュメモリから前記属性情報バッファに対して新たな前記属性情報を記憶させる際に、前記ストリームデータの再生順を示す再生番号をランダムに生成する再生順生成手段と、
    生成された前記再生番号に対応する前記属性情報が前記キャッシュメモリに記憶されているか否かを判定し、記憶されていた場合には、当該属性情報を前記キャッシュメモリから前記属性情報バッファに出力させ、記憶されていなかった場合には、当該属性情報を先頭として、前記キャッシュメモリに保持可能な数だけの前記属性情報を前記サーバ装置から送信させるように、前記属性情報要求手段に要求するランダム再生制御手段と、
    をさらに有することを特徴とする請求項1記載の再生装置。
  6. 前記ストリームデータバッファには、再生中の前記ストリームデータの先頭から所定量のデータを保持する先頭データ保持領域と、前記先頭データ保持領域に保持されたデータの残りの前記ストリームデータが順次格納されるFIFO領域とが設けられ、
    また、
    前記ストリームデータの再生中に、ユーザの操作入力により戻り再生動作が要求されると、前記先頭データ保持領域に保持されたデータをその先頭から前記再生処理手段に再度供給するとともに、前記先頭データ保持領域に保持されたデータの残りの前記ストリームデータを前記サーバ装置から再度送信させるように、前記ストリームデータ要求手段に要求する戻り再生制御手段をさらに有することを特徴とする請求項1記載の再生装置。
  7. 前記ストリームデータバッファには、次に再生する前記ストリームデータの先頭から所定量のデータを保持する次ストリーム先頭データ保持領域と、それ以外のデータが格納されるFIFO領域とが設けられ、
    前記ストリームデータ要求手段は、新たな前記ストリームデータの再生が開始されると、次に再生する前記ストリームデータに対応する前記属性情報を前記属性情報バッファから読み込んで、当該属性情報に対応する前記ストリームデータの送信を前記サーバ装置に要求し、その要求に応じて受信した前記ストリームデータを前記次ストリーム先頭データ保持領域に記憶させ、
    また、
    前記ストリームデータの再生中に、ユーザの操作入力により飛ばし再生動作が要求されると、前記次ストリーム先頭データ保持領域に保持されたデータをその先頭から前記再生処理手段に供給するとともに、前記次ストリーム先頭データ保持領域に保持されたデータの残りの前記ストリームデータを前記サーバ装置から送信させるように、前記ストリームデータ要求手段に要求し、その要求に応じて受信された前記ストリームデータを前記FIFO領域に順次格納するように制御する飛ばし再生制御手段をさらに有することを特徴とする請求項1記載の再生装置。
  8. ネットワークを通じて接続されたサーバ装置から送信されるストリームデータを受信して再生するための再生制御方法において、
    属性情報要求手段が、前記ストリームデータの属性情報の送信を前記サーバ装置に対して要求して、前記属性情報を対応する前記ストリームデータの再生順に受信し、
    属性情報記録制御手段が、前記サーバ装置から受信された前記属性情報をキャッシュメモリに順次格納して一時的に記憶させ、
    前記属性情報記録制御手段が、前記キャッシュメモリに保持された前記属性情報を、前記キャッシュメモリより少ない数の前記属性情報を保持可能な属性情報バッファに対して、少なくとも、現在再生しているものの次に再生する前記ストリームデータに対応する前記属性情報が当該属性情報バッファに保持されるように記憶させ、
    ストリームデータ要求手段が、前記属性情報バッファに記憶された前記属性情報に基づいて、対応する前記ストリームデータの送信を前記サーバ装置に対して要求し、
    ストリームデータ記録制御手段が、前記サーバ装置から受信された前記ストリームデータをストリームデータバッファにFIFO方式で順次格納して、再生処理手段に対して出力する、
    処理を含み、
    前記ストリームデータの送信を要求する処理では、前記ストリームデータバッファに対して再生中の前記ストリームデータが最後まで蓄積されると、前記ストリームデータ要求手段により、次に再生する前記ストリームデータに対応する前記属性情報が前記属性情報バッファから読み込まれて、当該属性情報に基づいて次に再生する前記ストリームデータの送信が前記サーバ装置に要求され、
    前記属性情報の送信を要求する処理では、前記キャッシュメモリに保持されたすべての前記属性情報が前記属性情報バッファに出力されると、前記キャッシュメモリにすでに記憶された前記属性情報に対応する前記ストリームデータの次に再生する前記ストリームデータに対応する前記属性情報を、前記キャッシュメモリに保持可能な数だけ再生順に送信するように、前記属性情報要求手段により前記サーバ装置に対して要求され、
    前記キャッシュメモリに保持された前記属性情報が前記属性情報バッファに出力される際には、データ判別手段により、当該属性情報に対応する前記ストリームデータが前記再生装置において再生可能であるか否かが判別され、再生可能である場合は、当該属性情報が前記属性情報バッファにそのまま出力され、再生不可能である場合は、当該属性情報の出力が行われずに、次の前記属性情報が前記キャッシュメモリから出力される、
    ことを特徴とする再生制御方法。
JP2006356774A 2006-12-29 2006-12-29 再生装置および再生制御方法 Active JP4379471B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006356774A JP4379471B2 (ja) 2006-12-29 2006-12-29 再生装置および再生制御方法
US12/002,586 US8060637B2 (en) 2006-12-29 2007-12-18 Playback apparatus and playback control method
CN2007103004733A CN101212492B (zh) 2006-12-29 2007-12-28 再生装置以及再生控制方法
KR1020070140759A KR20080063200A (ko) 2006-12-29 2007-12-28 재생 장치 및 재생 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006356774A JP4379471B2 (ja) 2006-12-29 2006-12-29 再生装置および再生制御方法

Publications (2)

Publication Number Publication Date
JP2008165656A JP2008165656A (ja) 2008-07-17
JP4379471B2 true JP4379471B2 (ja) 2009-12-09

Family

ID=39585585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006356774A Active JP4379471B2 (ja) 2006-12-29 2006-12-29 再生装置および再生制御方法

Country Status (4)

Country Link
US (1) US8060637B2 (ja)
JP (1) JP4379471B2 (ja)
KR (1) KR20080063200A (ja)
CN (1) CN101212492B (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613893B2 (en) 2004-06-22 2009-11-03 Intel Corporation Remote audio
JP2008186569A (ja) 2007-01-05 2008-08-14 Sony Corp 再生装置および再生制御方法
JP2009278229A (ja) * 2008-05-13 2009-11-26 Funai Electric Co Ltd 情報再生装置
US8374712B2 (en) * 2008-12-31 2013-02-12 Microsoft Corporation Gapless audio playback
US20100287211A1 (en) * 2009-05-11 2010-11-11 Samsung Electronics Co., Ltd. Object linking
JP5526642B2 (ja) 2009-08-03 2014-06-18 ソニー株式会社 情報処理装置及び方法、情報処理システム、並びにプログラム
WO2011032037A1 (en) * 2009-09-14 2011-03-17 The Directv Group, Inc. Method and system for distributing content
US8447840B1 (en) * 2009-09-14 2013-05-21 Noreen Fong Method and system for transferring control of a user interface of a content distribution system
KR20110047768A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 멀티미디어 컨텐츠 재생 장치 및 방법
PT2559029T (pt) 2010-04-13 2019-05-23 Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Wss E V Método e codificador e descodificador para reprodução sem lacunas de um sinal de áudio
CN102291373B (zh) 2010-06-15 2016-08-31 华为技术有限公司 元数据文件的更新方法、装置和系统
JP5678532B2 (ja) * 2010-09-13 2015-03-04 ソニー株式会社 信号処理装置および信号処理方法
JP5052664B2 (ja) * 2010-12-21 2012-10-17 株式会社東芝 コンテンツ送受信装置、コンテンツ送受信方法およびコンテンツ送受信プログラム
DE112012000421B4 (de) * 2011-01-07 2018-02-15 Sharp Kabushiki Kaisha Wiedergabevorrichtung, Verfahren zum Steuern der Wiedergabevorrichtung, Erzeugungsvorrichtung, Verfahren zum Steuern der Erzeugungsvorrichtung, Aufzeichnungsmedium, Datenstruktur, Steuerprogramm und Aufzeichnungsmedium, auf welchem das Programm gespeichert ist
US20130067050A1 (en) * 2011-09-11 2013-03-14 Microsoft Corporation Playback manager
JP5836102B2 (ja) * 2011-12-16 2015-12-24 ローム株式会社 音響装置
FR2985131A1 (fr) 2011-12-23 2013-06-28 France Telecom Systeme de controle pour jouer un flux de donnees sur un dispositif recepteur
US9037683B1 (en) * 2012-03-05 2015-05-19 Koji Yoden Media asset streaming over network to devices
US8908879B2 (en) 2012-05-23 2014-12-09 Sonos, Inc. Audio content auditioning
US9620148B2 (en) * 2013-07-01 2017-04-11 Toyota Motor Engineering & Manufacturing North America, Inc. Systems, vehicles, and methods for limiting speech-based access to an audio metadata database
US9439239B2 (en) 2013-10-22 2016-09-06 William H. Jennings Selective transmission storage and playback for communication device
WO2015110692A1 (en) * 2014-01-24 2015-07-30 Nokia Technologies Oy Sending of a stream segment deletion directive
US10264043B2 (en) * 2014-04-23 2019-04-16 Ericsson Ab Outage notification with client control modification in an ABR streaming network
EP3136655B1 (en) * 2014-05-19 2019-09-11 Huawei Technologies Co., Ltd. Multimedia display method, device and equipment
KR20170012229A (ko) * 2014-05-30 2017-02-02 소니 주식회사 정보 처리 장치 및 정보 처리 방법
KR102367134B1 (ko) 2015-06-25 2022-02-24 삼성전자주식회사 가속기를 제어하는 방법 및 이를 이용한 가속기
KR102393158B1 (ko) 2015-10-13 2022-05-02 삼성전자주식회사 메타데이터를 포함하는 비트 스트림을 이용한 서비스 제공 방법 및 장치
US10108345B2 (en) 2016-11-02 2018-10-23 Samsung Electronics Co., Ltd. Victim stream selection algorithms in the multi-stream scheme
KR20180068069A (ko) * 2016-12-13 2018-06-21 삼성전자주식회사 전자 장치 및 이의 제어 방법
EP3605345A4 (en) * 2017-03-28 2020-04-01 Panasonic Intellectual Property Management Co., Ltd. CONTENT DELIVERY SYSTEM, PLAYBACK DEVICE, AND CONTENT DELIVERY METHOD

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553220A (en) * 1993-09-07 1996-09-03 Cirrus Logic, Inc. Managing audio data using a graphics display controller
CA2126903C (en) * 1994-06-28 1996-12-24 Stephen Hon Digital surround sound method and apparatus
JP3140384B2 (ja) 1995-12-01 2001-03-05 エル エス アイ ロジック コーポレーション ビデオ伝送方法及びデータ処理システム
US20020002039A1 (en) * 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
ES2191605T3 (es) * 2000-09-11 2003-09-16 Mediabricks Ab Metodo para proporcionar un contenido de medios sobre una red digital.
GB2397685B (en) * 2001-06-11 2005-08-03 Burn Systems Ltd C Selecting tracks from a jukebox via a wireless communications device
JP2003330623A (ja) 2002-05-15 2003-11-21 Denso Corp 外部記憶装置及びそのデータバッファ制御方法
WO2004008673A2 (en) * 2002-07-16 2004-01-22 Nokia Corporation Method for enabling packet transfer delay compensation in multimedia streaming
US7797064B2 (en) * 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
US6728729B1 (en) * 2003-04-25 2004-04-27 Apple Computer, Inc. Accessing media across networks
JP2006018991A (ja) 2004-05-31 2006-01-19 Matsushita Electric Ind Co Ltd 音声再生装置
US20070214182A1 (en) * 2005-01-15 2007-09-13 Outland Research, Llc Establishment-based media and messaging service
US20070266065A1 (en) * 2006-05-12 2007-11-15 Outland Research, Llc System, Method and Computer Program Product for Intelligent Groupwise Media Selection
US20060179078A1 (en) * 2005-02-04 2006-08-10 International Business Machines Corporation Multi-party playlist control including wireless enablement
JP4232745B2 (ja) 2005-02-09 2009-03-04 ソニー株式会社 コンテンツ再生システム、コンテンツ再生装置、コンテンツ再生方法
US9230029B2 (en) * 2005-07-26 2016-01-05 Creative Technology Ltd System and method for modifying media content playback based on an intelligent random selection
US7586032B2 (en) * 2005-10-07 2009-09-08 Outland Research, Llc Shake responsive portable media player
US7702279B2 (en) * 2005-12-20 2010-04-20 Apple Inc. Portable media player as a low power remote control and method thereof
US7653761B2 (en) * 2006-03-15 2010-01-26 Microsoft Corporation Automatic delivery of personalized content to a portable media player with feedback
JP2008186569A (ja) 2007-01-05 2008-08-14 Sony Corp 再生装置および再生制御方法

Also Published As

Publication number Publication date
US8060637B2 (en) 2011-11-15
CN101212492B (zh) 2011-05-18
KR20080063200A (ko) 2008-07-03
US20080162716A1 (en) 2008-07-03
JP2008165656A (ja) 2008-07-17
CN101212492A (zh) 2008-07-02

Similar Documents

Publication Publication Date Title
JP4379471B2 (ja) 再生装置および再生制御方法
JP5187191B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4835170B2 (ja) コンテンツ共有装置及びコンテンツ共有方法
US8914464B2 (en) Information processing device, information processing method, and information processing system
JP2008533566A (ja) UPnPAVネットワークにおいてユニバーサルな「フォローミー」機能を提供するシステムおよび方法
JP2005250867A (ja) 情報再生システムの制御方法、情報再生システム、情報提供装置、情報再生装置、および情報提供制御プログラム
JP2008186569A (ja) 再生装置および再生制御方法
JP4229184B2 (ja) 再生装置および再生装置の制御方法
KR20060086997A (ko) 컨텐츠 재생을 위한 장치간의 자동 인터페이스 방법 및장치와 그 방법을 수행하기 위한 프로그램이 저장된 기록매체
JPWO2008029640A1 (ja) 低ビットレートフォーマットのビデオデータ再生に適したプレヤーにより高ビットレートフォーマットのビデオデータを再生する方法及び装置
JP5314840B2 (ja) コンテンツ再生装置及びコンテンツ再生方法
JP2008251082A (ja) 録画システムおよび録画再生方法
JP4379579B2 (ja) ネットワーク装置および情報検索方法
JP2008542901A (ja) 携帯型記憶媒体、ホスト装置及びこのホスト装置によりその携帯型記憶媒体のコンテンツにアクセスする方法
JP2006166303A (ja) コンテンツリスト生成方法、コンテンツリスト表示方法及びコンテンツ切り替え方法
JP2006345306A (ja) コンテンツ配信システムおよび方法、ならびに、端末装置および端末装置のコンテンツ管理方法
JP2008165594A (ja) 再生装置およびデータ処理方法
JP2008165479A (ja) 情報再生装置及び情報再生方法
JP4882741B2 (ja) 再生装置および再生方法
JP5653575B2 (ja) ネットワーク接続ストレージ
EP2530945B1 (en) Server, data distribution system and data distribution method
JP4946132B2 (ja) ネットワーク型コンテンツ再生システム、コンテンツ管理装置、コンテンツ管理方法、及び、プログラム
JP2008097625A (ja) 表示制御装置、表示方法、およびプログラム
WO2007114349A1 (ja) コンテンツ記録再生装置
JP2010226523A (ja) コンテンツサーバ装置、コンテンツ送信方法およびコンテンツ送信プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090907

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3