KR20080063200A - 재생 장치 및 재생 제어 방법 - Google Patents

재생 장치 및 재생 제어 방법 Download PDF

Info

Publication number
KR20080063200A
KR20080063200A KR1020070140759A KR20070140759A KR20080063200A KR 20080063200 A KR20080063200 A KR 20080063200A KR 1020070140759 A KR1020070140759 A KR 1020070140759A KR 20070140759 A KR20070140759 A KR 20070140759A KR 20080063200 A KR20080063200 A KR 20080063200A
Authority
KR
South Korea
Prior art keywords
attribute information
data
audio
buffer
stream data
Prior art date
Application number
KR1020070140759A
Other languages
English (en)
Inventor
마사시 가야누마
고지로 마쯔야마
Original Assignee
소니 가부시끼 가이샤
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 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20080063200A publication Critical patent/KR20080063200A/ko

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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)

Abstract

서버 장치로부터 수신한 복수의 스트림 데이터의 연속 재생을, 스트림 데이터 간에서 정지하지 않도록 확실하게 실행할 수 있도록 한다. 서버 장치(1)로부터는 메타 데이터가 재생순으로 송신되어, 메타 버퍼(102)에 순차적으로 기억된다. 메타 버퍼(102)는, 적어도, 다음에 재생할 스트림 데이터에 대응하는 메타 데이터를 유지하고 있다. 메타 버퍼(102) 내의 속성 정보에 기초하여, 대응하는 스트림 데이터의 송신이 서버 장치(1)에 대하여 요구되고, 수신된 스트림 데이터는 FIFO 방식의 오디오 버퍼(101)에 순차적으로 기억된다. 여기에서, 재생 중인 스트림 데이터가 오디오 버퍼(101)에 마지막까지 축적되면, 다음에 재생할 스트림 데이터에 대응하는 메타 데이터가 메타 버퍼(102)로부터 읽어들여지고, 그 메타 데이터에 기초하여 다음에 재생할 스트림 데이터의 송신이 서버 장치(1)에 요구된다.
Figure P1020070140759
서버 장치, 오디오 재생 장치, LAN, CPU, 내부 버스, 플래시 메모리, 오디오 디코더, D/A 변환부

Description

재생 장치 및 재생 제어 방법{PLAYBACK APPARATUS AND PLAYBACK CONTROL METHOD}
본 발명은, 스트림 데이터를 재생하는 재생 장치, 및 이 장치에서의 재생 제어 방법에 관함으로써, 특히, 네트워크를 통하여 접속된 서버 장치로부터 송신되는 스트림 데이터를 수신하여 재생하는 재생 장치 및 재생 제어 방법에 관한 것이다.
최근, 디지털 데이터화된 오디오 콘텐츠나 비디오 콘텐츠가 널리 유통되고, 이들을 손쉽게 기록·재생하는 기기도 일반적으로 보급되고 있다. 또한, 네트워크 기술의 발달에 수반하여, 가정 내에서도 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 참조).
[특허 문헌1] 일본 특개 2005-250867호 공보(단락번호 [0090]∼ [0097], 도 7)
[특허 문헌2] 일본 특개 2005-182970호 공보(단락번호 [0096]∼ [0116], 도 7)
여기서, HDD(Hard Disk Drive) 등의 고정 기록 매체나 광 디스크 등의 가반형 기록 매체가 자기기 내에 저장된 재생 장치에서는, 각 콘텐츠의 스트림 데이터의 기억 위치를 미리 파악해 두는 것이 가능하며, 원하는 스트림 데이터를 디코더의 입력 버퍼에 읽어들일 때에 충분한 전송 대역을 확실하게 확보할 수 있다. 이 때문에, 서로 다른 콘텐츠의 스트림 데이터를 연속 재생하는 경우, 다음의 콘텐츠의 스트림 데이터를, 디코더의 입력 버퍼에 대하여 정해진 짧은 시간에 확실하게 읽어들이는 것이 가능하다.
그러나, UPnP와 같이, 서버 장치로부터 네트워크를 통하여 수신한 스트림 데이터를 재생하는 시스템에서는, 콘텐츠를 재생할 때에, 재생 장치측에서 그 콘텐츠의 메타 데이터를 미리 취득하고, 그것에 기술된 정보에 기초하여 서버 장치에 대하여 스트림 데이터의 송신을 요구한다고 하는 수순이 필요하게 된다. 또한, 네트 워크의 트래픽 상태에 따라서는, 요구한 메타 데이터나 스트림 데이터를 소정의 시간 내에 확실하게 취득할 수 있다는 경우도 있다. 이 때문에, 재생 장치에서 서로 다른 콘텐츠의 스트림 데이터를 재생할 때에, 콘텐츠 사이에서 재생 음성이 도중에 끊기거나, 재생 화상의 움직임이 정지하게 되는 것을 방지할 수 없다고 하는 문제가 있었다.
본 발명은 이러한 점을 감안하여 이루어진 것으로, 복수의 스트림 데이터를 네트워크를 통하여 수신하여 연속적으로 재생 가능한 재생 장치, 및 이 장치에서의 재생 제어 방법을 제공하는 것을 목적으로 한다.
본 발명에서는 상기 과제를 해결하기 위해, 네트워크를 통하여 접속된 서버 장치로부터 송신되는 스트림 데이터를 수신하여 재생하는 재생 장치에 있어서, 상기 스트림 데이터의 속성 정보의 송신을 상기 서버 장치에 대하여 요구하고, 상기 속성 정보를 대응하는 상기 스트림 데이터의 재생순으로 수신하는 속성 정보 요구 수단과, 상기 서버 장치로부터 수신된 상기 속성 정보를 순차적으로 수취하여 일시적으로 기억하고, 적어도, 현재 재생하고 있는 것의 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를 유지하는 속성 정보 버퍼와, 상기 속성 정보 버퍼에 기억된 상기 속성 정보에 기초하여, 대응하는 상기 스트림 데이터의 송신을 상기 서버 장치에 대하여 요구하는 스트림 데이터 요구 수단과, 상기 서버 장치로부터 수신된 상기 스트림 데이터를 순차적으로 기억하고, 재생 처리 수단에 대하여 출력하는 FIFO 방식의 스트림 데이터 버퍼를 갖고, 상기 스트림 데이터 요구 수단 은, 상기 스트림 데이터 버퍼에 대하여 재생 중인 상기 스트림 데이터가 마지막까지 축적되면, 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를 상기 속성 정보 버퍼로부터 읽어들이고, 그 속성 정보에 기초하여 다음에 재생할 상기 스트림 데이터의 송신을 상기 서버 장치에 요구하는 것을 특징으로 하는 재생 장치가 제공된다.
이러한 재생 장치에서는, 속성 정보 요구 수단에 의한 스트림 데이터의 속성 정보의 송신 요구에 따라서, 서버 장치로부터 속성 정보가, 대응하는 스트림 데이터의 재생순으로 수신된다. 수신된 속성 정보는, 속성 정보 버퍼에 순차적으로 기억되어, 일시적으로 유지된다. 이 속성 정보 버퍼는, 적어도, 현재 재생하고 있는 것의 다음에 재생할 스트림 데이터에 대응하는 속성 정보를 유지하고 있다.
스트림 데이터 요구 수단은, 이러한 속성 정보 버퍼에 기억된 속성 정보에 기초하여, 대응하는 스트림 데이터의 송신을 서버 장치에 대하여 요구한다. 이 요구에 따라서 수신된 스트림 데이터는, FIFO 방식의 스트림 데이터 버퍼에 순차적으로 기억된 후, 재생 처리 수단에 출력된다. 이에 의해, 스트림 데이터는 재생순으로 순차적으로 스트림 데이터 버퍼에 저장되고, 순차적으로 재생 처리 수단에 출력되어 연속적으로 재생된다.
또한, 스트림 데이터 요구 수단은, 스트림 데이터 버퍼에 대하여 재생 중인 스트림 데이터가 마지막까지 축적되면, 다음에 재생할 스트림 데이터에 대응하는 속성 정보를 속성 정보 버퍼로부터 읽어들이고, 읽어들인 속성 정보에 기초하여 다음에 재생할 스트림 데이터의 송신을 서버 장치에 요구한다. 이에 의해, 1개의 스 트림 데이터의 재생 종료를 대기하지 않고서, 다음에 재생할 스트림 데이터가 수신되어, 스트림 데이터 버퍼에 저장된다.
본 발명에 따르면, 현재 재생하고 있는 것의 다음에 재생할 스트림 데이터에 대응하는 속성 정보가, 현재 재생 중인 스트림 데이터의 재생 종료 이전에 미리 수신되어 속성 정보 버퍼에 유지되고, 재생 중인 스트림 데이터가 스트림 데이터 버퍼에 마지막까지 축적된 단계에서, 다음에 재생할 스트림 데이터가 서버 장치로부터 수신되어, 스트림 데이터 버퍼에 저장된다. 따라서, 네트워크 상의 통신의 혼잡 상태나 서버 장치의 처리 부하 상태 등에 관계없이, 복수의 스트림 데이터의 연속 재생을, 스트림 데이터 사이에서 재생 동작을 정지시키지 않고 확실하게 실행할 수 있다.
이하, 본 발명의 실시 형태를 도면을 참조하여 상세히 설명한다. 이하의 설명에서는, 가정 내에 형성되는 LAN 시스템(홈 네트워크 시스템)에 본 발명을 적용한 경우를 상정한다. 또한, 이 LAN 시스템을 통하여 송수신되는 콘텐츠 데이터의 예로서, 오디오 데이터를 적용한다.
[홈 네트워크의 구성]
도 1은, 실시 형태에 따른 홈 네트워크 시스템의 구성예를 도시하는 도면이다.
도 1에 도시하는 홈 네트워크 시스템은, 서버 장치(1 및 2)와, 오디오 재생 장치(3∼5)가, LAN(6)을 통하여 접속된 구성으로 되어 있다.
서버 장치(1 및 2)는, 예를 들면 퍼스널 컴퓨터 등의 정보 처리 장치나, 오디오 콘텐츠의 레코더 등으로서, LAN(6)에의 접속 기능을 구비함과 함께, HDD 등의 대용량 기억 매체를 구비하고 있다. 그리고, HDD에 축적되어 있는 오디오 데이터를, LAN(6)을 통하여 오디오 재생 장치(3∼5)에 대하여 제공하는 것이 가능하게 되어 있다. 오디오 재생 장치(3∼5)는, 각각 LAN(6)에의 접속 기능을 구비하고 있어, 서버 장치(1 및 2)로부터 LAN(6)을 통하여 송신되는 오디오 데이터를 수신하여 재생한다.
또한, 이 홈 네트워크 시스템에서는, 실제로는 예를 들면, 서버 장치(1 및 2)와 오디오 재생 장치(3∼5)가 도시하지 않은 브로드밴드 라우터에 각각 접속함으로써, LAN 시스템이 형성된다. 이 경우, 브로드밴드 라우터는, LAN(6) 상의 기기에 대한 DHCP(Dynamic Host Configuration Protocol) 서버 기능 및 NAT(Network Address Translation) 기능을 구비하고, 이에 의해, LAN(6) 상의 각 기기가 외부 네트워크(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 0bject 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), 컨트롤(Contro1), 이벤팅(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)이라고 하는 2개의 추상화된 오브젝트(Object)가 있고, 이들은 말하자면, 미국 마이크로소프트사가 제공하는 OS(0perating 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 0nly Memory)(12), RAM(Random Access Memory)(13), HDD(14), 입력 인터페이스(I/F)(15), 그래픽 처리부(16), 및 통신 인터페이스(I/F)(17)를 구비하고, 이들은 내부 버스(18)를 통하여 서로 접속되어 있다.
CPU(11)는, 이 서버 장치(1) 전체에 대한 제어를 담당한다. ROM(12)에는, CPU(11)에서 실행하는 프로그램이나 처리에 필요한 데이터 등이 기록되어 있다. RAM(13)은, 주로 각종 처리에서 작업 영역으로서 이용되는 것이다.
HDD(14)는, 다수의 디지털 콘텐츠(제공 정보) 등을 축적하는 것이 가능한 용량을 갖고 있다. 또한, HDD(14)는, CPU(11)에 의해 실행되는 각종 프로그램이나 처리용의 데이터 등을 유지함과 함께, 콘텐츠의 트랜스포머 코드나 콘텐츠를 LAN(6)을 통하여 다른 기기에 송신할 때 등에 작업 영역으로서도 이용된다.
본 실시 형태에서는, HDD(14)에는, 오디오 재생 장치(3∼5)에 대하여 오디오 스트림을 송신하는, DLNA 가이드 라인에 준거한 서버로서 기능하기 위한 서버 프로그램이 저장되고, CPU(11)에 의해 실행된다. 또한, 이 서버 프로그램의 기능으로서는, HDD(14)에 저장된 오디오 스트림의 부호화 방식이나 샘플링 레이트, 양자화 레이트 등을 변환하는 트랜스포머 코드 기능을 포함해도 된다.
입력 I/F(15)에는, 예를 들면 키보드나 마우스 등의 입력 장치(15a)가 접속되어 있다. 이 입력 I/F(15)는, 입력 장치(15a)로부터의 신호를, 내부 버스(18)를 통하여 CPU(11)에 송신한다.
그래픽 처리부(16)에는, 예를 들면 LCD(Liquid Crystal Display) 등의 표시 장치(16a)가 접속되어 있다. 이 그래픽 처리부(16)는, CPU(11)로부터의 명령에 따라서, 표시 장치(16a)의 화면 상에 화상을 표시시킨다.
통신 I/F(17)는, 도시하지 않은 LAN 케이블을 통하여 LAN(6)에 접속하고, 다른 기기와의 사이에서 데이터의 송수신을 행한다.
[오디오 재생 장치의 구성예]
도 5는, 오디오 재생 장치의 하드웨어 구성을 도시하는 블록도이다. 또한, 여기서는 예로서 오디오 재생 장치(3)의 구성에 대하여 설명하지만, 오디오 재생 장치(4 및 5)도 마찬가지의 하드웨어 구성에 의해 실현할 수 있다.
도 5에 도시한 바와 같이, 오디오 재생 장치(3)는, CPU(31), ROM(32), RAM(33), 플래시 메모리(34), 입력 인터페이스(I/F)(35), 입력부(35a), 그래픽 처리부(36), 표시부(36a), 통신 인터페이스(I/F)(37), 오디오 디코더(38), D/A 변환부(39), 오디오 앰프(40), 및 스피커(41)를 구비하고 있다. 이들 중, 스피커(41)를 제외한 각 블록은, 내부 버스(42)를 통하여 접속되어 있다.
CPU(31)는, 이 오디오 재생 장치(3) 전체에 대한 제어를 담당한다. ROM(32)에는, CPU(31)에서 실행하는 프로그램이나 처리에 필요한 데이터 등이 기록되어 있다. RAM(33)은, 주로 각종 처리에서 작업 영역으로서 이용되는 것이다. 또한, 이들 CPU(31), ROM(32), 및 RAM(33)은, 마이크로컴퓨터로서 실현되어도 된다. 플래시 메모리(34)는, 재기입 가능한 불휘발성 메모리이며, 예를 들면, 오디오 재생 장치(3)의 전원이 떨어져도 유지해 두어야 할 여러 데이터가 기록되는 것이다.
입력 I/F(35)는, 입력부(35a)로부터의 신호를, 내부 버스(42)를 통하여 CPU(31)에 송신한다. 입력부(35a)에는, 조작 키 등의 각종 입력 스위치가 설치되어 있다. 그래픽 처리부(36)는, CPU(31)로부터의 명령에 따라서, 표시부(36a)의 화면 상에 화상을 표시시킨다. 표시부(36a)는, 예를 들면 LCD 등으로 구성된다.
통신 I/F(37)는, 도시하지 않은 LAN 케이블을 통하여 LAN(6)에 접속하고, 다른 기기와의 사이에서 데이터의 송수신을 행한다. 또한, 통신 I/F(37)는, LAN(6)을 통하여 수신한 패킷으로부터 오디오 스트림의 데이터를 추출하고, 오디오 디코더(38)에 직접 교환하는 것이 가능하게 되어 있다.
오디오 디코더(38)는, 통신 I/F(37)로부터 수신한 오디오 스트림을 디코드 하는 기능을 구비한다. 이 오디오 디코더(38)는, 예를 들면, MP3(Moving Picture Experts Group-Audio Layer 3) 등의 각종 부호화 방식의 오디오 데이터를 디코드 가능하게 되어 있다. 또한, LPCM(Linear Pulse Code Modulation) 방식의 오디오 데이터가 입력된 경우에는, 그대로 후단의 D/A 변환부(39)에 출력하는 것이 가능하게 되어 있다. 또한, 이 오디오 디코더(38)의 기능은, CPU(31)에서 소프트웨어가 실행됨으로써 실현되어도 된다.
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)에서의 오디오 스트림의 연속 재생의 기본적인 동작에 대하여 설명한다. 또한, 여기서 설명하는 버퍼의 읽어내기·기입 제어나 오디오 데이터·메타 데이터의 수신 제어 등은, CPU(31)에서 프로그램이 실행됨으로써 실현된다. 또한, 여기서의 오디오 스트림이란, 도 3에 도시한 아이템에 대응하는 오디오 데이터 파일이다.
오디오 버퍼(101) 및 메타 버퍼(102)는, 모두 RAM(33)을 이용하여 실현되는 FIFO(First In First 0ut) 방식의 버퍼로서, 예를 들면 링 버퍼 등으로서 실현된다. 오디오 버퍼(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)로부터 수신하기 위해 메타 데이터가 참조되고 나서, 그 오디오 스트림의 재생이 종료할 때까지의 기간으로 하면 된다.
이상의 버퍼 제어에 의해, LAN(6)에서의 통신의 혼잡 상태나 서버 장치(1)의 처리 부하 상태 등에 관계없이, 전의 오디오 스트림의 재생 종료 타이밍에, 다음의 오디오 스트림의 선두 영역의 데이터를 확실하게 수신하여, 오디오 버퍼(101)에 축적해 둘 수 있으므로, 악곡 사이의 음 끊김 시간을 항상 최소한으로 억제하여 연속 재생을 확실하게 실행할 수 있다.
또한, 이러한 효과를 발휘하기 위해서, 오디오 버퍼(101)의 용량은, LAN(6)에서의 통신의 혼잡 상태나 서버 장치(1)의 처리 부하 상태 등을 고려하여 결정되면 된다. 예를 들면, 메타 데이터를 참조하여 다음의 오디오 스트림의 송신을 요구하고, 그에 응답하여 오디오 스트림을 서버 장치(1)로부터 수신하여 오디오 버퍼(101)에의 저장을 개시할 때까지의 최대 시간을 예상해두고, 그 예상 최대 시간 내에, 오디오 스트림이 오디오 버퍼(101)로부터 읽어내어지는 데이터량 이상으로 하도록, 오디오 버퍼(101)의 용량을 결정한다.
또한, 메타 버퍼(102)에는, 적어도 다음에 재생할 오디오 스트림의 메타 데이터가 유지되어 있으면 되지만, 도 6과 같이 복수의 오디오 스트림의 메타 데이터를 유지해둠으로써, LAN(6)에서의 통신의 혼잡이나 서버 장치(1)의 처리 부하 증가 등에 의해 메타 데이터 자체의 수신이 지연된 경우에도, 메타 버퍼(102)에 저장되어 있는 트랙수의 범위에서, 연속 재생 동작을 실행시키는 것이 가능하게 된다.
또한, 메타 데이터에 기초하여, 전후의 오디오 스트림의 부호화 포맷이나 샘 플링 주파수, 비트 레이트 등의 사양이 동일한 것을 알고 있으면, 다음의 오디오 스트림의 디코드를 개시할 때에 오디오 디코더(38) 등의 후단의 회로를 초기화하지 않도록 제어함으로써, 오디오 스트림의 절환 시에 무음 상태가 전혀 보이지 않는, 소위 갭리스 재생을 확실하게 행하는 것도 가능하게 된다.
또한, 도 6의 예에서는, 메타 버퍼(102)에는, 현재 재생 중인 오디오 스트림의 메타 데이터를 그 재생 종료 시까지 유지해두고, 재생 제어부 등으로부터 참조할 수 있도록 하고 있다. 그러나, 이 외에, 오디오 스트림을 서버 장치(1)로부터 취득할 때에, 그를 위해 필요한 메타 데이터를 메타 버퍼(102)로부터 읽어내어, 다른 메모리 영역에 저장해두고, 이 시점에서 메타 버퍼(102)에 대하여, 현재 저장되어 있는 것의 다음에 재생될 오디오 스트림의 메타 데이터를 읽어들이도록 하여도 된다.
[스트림의 연속 재생 동작:제2 실시 형태]
도 7은, 제2 실시 형태에 따른 오디오 재생 장치가 구비하는 주된 기능을 도시하는 블록도이다.
제2 실시 형태에 따른 오디오 재생 장치(3)에서는, 상기한 제1 실시 형태에서 설명한 오디오 버퍼(101) 및 메타 버퍼(102) 외에, 메타 데이터를 캐쉬해두기 위한 캐쉬 메모리(103)를 설치하고 있다. 이에 의해, 복수의 오디오 스트림의 연속 재생을 의해 정확하게 실행할 수 있도록 함과 함께, 랜덤 재생 등에도 용이하게 대응할 수 있도록 한다. 또한, 캐쉬 메모리(103)도, RAM(33) 등에 의해 실현되는 것이다.
본 실시 형태의 오디오 재생 장치(3)는, 복수의 오디오 스트림을 연속 재생하기 위한 기능으로서, 도 7에 도시한 바와 같이, 재생 제어부(110), 통신 제어부(120), 및 유저 인터페이스(U/I) 제어부(130)를 구비하고 있다. 또한, 이들 각 부의 기능은, CPU(31)에 의해 프로그램이 실행됨으로써 실현된다.
재생 제어부(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)는, LAN(6)을 통한 통신 처리를 제어하는 블록이며, 여기에서는, 재생 제어부(110)로부터의 요구에 따라서, UPnP에서 규정된 통신 수순을 실행하는 것이 가능하게 되어 있다. 또한, 그 통신 수순에 의해 수신된 메타 데이터를 캐쉬 메모리(103)에 저장하고, 오디오 스트림의 데이터를 오디오 버퍼(101)에 저장한다.
U/I 제어부(130)는, 입력부(35a)에 대한 유저의 입력 조작을 입력 I/F(35)를 통하여 검지하고, 그 입력 조작에 따른 조작 입력 정보를 재생 제어부(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)에서는, LAN(6)에 접속되면, 서버 장치를 탐색하는 처리가 실행된다.
우선, 오디오 재생 장치(3)가 LAN(6)에 접속되면, 통신 제어부(120)에 의해 자신의 네트워크 어드레스가 취득된 후, 재생 제어부(110)는, 서버 장치를 탐색하도록 통신 제어부(120)에 요구한다. 통신 제어부(120)는, UPnP에서 규정된 서치 메시지를 LAN(6) 상에 멀티캐스트한다. LAN(6) 상의 서버 장치(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)에 일람 표시되고, 유저는 이들로부터 하나를 선택하는 조작을 행한다. 재생 제어부(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)에 건네주고, 대응하는 오디오 스트림을 취득하도록 요구한다. 캐쉬 제어부(113)는, 로케이션 정보에 기초하여 서버 장치(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)에 확실하게 저장된다. 따라서, LAN(6)에서의 통신의 혼잡 상태나 서버 장치(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)에 순차적으로 축적해둠으로써, 그 오디오 스트림의 재생이 계속된다.
도 1은 실시 형태에 따른 홈 네트워크 시스템의 구성예를 도시하는 도면.
도 2는 UPnP의 프로토콜 스택(프로토콜군의 구조)에 대하여 설명하기 위한 도면.
도 3은 미디어 서버에 저장된 콘텐츠를 관리하는 트리 구조의 예를 도시하는 도면.
도 4는 서버 장치의 하드웨어 구성을 도시하는 블록도.
도 5는 오디오 재생 장치의 하드웨어 구성을 도시하는 블록도.
도 6은 제1 실시 형태에 따른 오디오 재생 장치에서의 버퍼 제어에 대하여 설명하기 위한 도면.
도 7은 제2 실시 형태에 따른 오디오 재생 장치가 구비하는 주된 기능을 도시하는 블록도.
도 8은 제2 실시 형태에 따른 오디오 재생 장치에서의 버퍼 제어에 대하여 설명하기 위한 도면.
도 9는 연속 재생 동작이 개시될 때까지의 오디오 재생 장치에서의 처리 수순을 나타내는 플로우차트.
도 10은 연속 재생 시에서의 오디오 버퍼 제어부에 의한 오디오 버퍼의 빈 관리 처리 수순을 나타내는 플로우차트.
도 11은 메타 버퍼 제어부에서의 메타 버퍼의 관리 처리 수순을 나타내는 플로우차트.
도 12는 캐쉬 제어부에서의 캐쉬 메모리의 관리 처리 수순을 나타내는 플로우차트.
도 13은 랜덤 재생 시에서의 캐쉬 메모리의 관리 처리 수순을 나타내는 플로우차트.
도 14는 제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 (10)

  1. 네트워크를 통하여 접속된 서버 장치로부터 송신되는 스트림 데이터를 수신하여 재생하는 재생 장치에 있어서,
    상기 스트림 데이터의 속성 정보의 송신을 상기 서버 장치에 대하여 요구하고, 상기 속성 정보를 대응하는 상기 스트림 데이터의 재생순으로 수신하는 속성 정보 요구 수단과,
    상기 서버 장치로부터 수신된 상기 속성 정보를 순차적으로 수취하여 일시적으로 기억하고, 적어도, 현재 재생하고 있는 것의 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를 유지하는 속성 정보 버퍼와,
    상기 속성 정보 버퍼에 기억된 상기 속성 정보에 기초하여, 대응하는 상기 스트림 데이터의 송신을 상기 서버 장치에 대하여 요구하는 스트림 데이터 요구 수단과,
    상기 서버 장치로부터 수신된 상기 스트림 데이터를 순차적으로 기억하고, 재생 처리 수단에 대하여 출력하는 FIFO 방식의 스트림 데이터 버퍼
    를 갖고,
    상기 스트림 데이터 요구 수단은, 상기 스트림 데이터 버퍼에 대하여 재생 중인 상기 스트림 데이터가 마지막까지 축적되면, 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를 상기 속성 정보 버퍼로부터 읽어들이고, 그 속성 정보에 기초하여 다음에 재생할 상기 스트림 데이터의 송신을 상기 서버 장치에 요 구하는 것을 특징으로 하는 재생 장치.
  2. 제1항에 있어서,
    상기 속성 정보 버퍼는, 적어도, 현재 재생하고 있는 상기 스트림 데이터의 다음에 순차적으로 재생할 일정수의 상기 스트림 데이터에 대응하는 상기 속성 정보를 유지하고,
    상기 스트림 데이터 요구 수단은, 상기 속성 정보 버퍼에 기억된 상기 속성 정보를 재생순으로 읽어들이는 것을 특징으로 하는 재생 장치.
  3. 제2항에 있어서,
    상기 속성 정보 요구 수단은, 다음에 재생할 상기 스트림 데이터를 상기 서버 장치로부터 수신하기 위해 대응하는 상기 속성 정보가 상기 스트림 데이터 요구 수단에 참조되고 나서, 그 스트림 데이터의 재생이 종료될 때까지의 기간에, 그 스트림 데이터에 대응하는 상기 속성 정보를 상기 속성 정보 버퍼에 소거시키고, 상기 속성 정보 버퍼에 이미 기억된 것을 제외한 상기 속성 정보 중 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보의 송신을 상기 서버 장치에 요구하고, 수신한 상기 속성 정보를 상기 속성 정보 버퍼에 기입하도록 제어하는 것을 특징으로 하는 재생 장치.
  4. 제1항에 있어서,
    상기 서버 장치로부터 수신된 상기 속성 정보를, 상기 속성 정보 버퍼보다 많은 수만큼 일시적으로 유지하고, 선두로부터 순서대로 상기 속성 정보 버퍼에 출력하는 캐쉬 메모리를 더 갖고,
    상기 속성 정보 요구 수단은, 상기 캐쉬 메모리에 유지된 모든 상기 속성 정보가 상기 속성 정보 버퍼에 출력되면, 상기 캐쉬 메모리에 이미 기억된 것을 제외한 상기 속성 정보 중 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를, 상기 캐쉬 메모리에 유지 가능한 수만큼 재생순으로 송신하도록 상기 서버 장치에 대하여 요구하는 것을 특징으로 하는 재생 장치.
  5. 제4항에 있어서,
    상기 캐쉬 메모리에 유지된 상기 속성 정보를 상기 속성 정보 버퍼에 출력 할 때에, 그 속성 정보에 기초하여, 대응하는 상기 스트림 데이터가 상기 재생 장치에서 재생 가능한지의 여부를 판별하고, 재생 가능한 경우에는, 상기 속성 정보 버퍼에 그대로 출력하고, 재생 불가능한 경우에는, 그 속성 정보의 출력을 행하지 않고, 다음의 상기 속성 정보를 상기 캐쉬 메모리로부터 출력시키도록 제어하는 데이터 판별 수단을 더 갖는 것을 특징으로 하는 재생 장치.
  6. 제5항에 있어서,
    상기 데이터 판별 수단에 의해, 상기 캐쉬 메모리로부터 읽어들인 상기 속성 정보에 기초하여, 대응하는 상기 스트림 데이터가 재생 불가능하다고 판별되었을 때에, 상기 캐쉬 메모리 내의 상기 속성 정보가 모두 출력된 경우에, 상기 속성 정보 요구 수단은, 상기 캐쉬 메모리에 이미 기억된 것을 제외한 상기 속성 정보 중 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를, 상기 캐쉬 메모리에 유지 가능한 수만큼 재생순으로 송신하도록 상기 서버 장치에 대하여 요구하는 것을 특징으로 하는 재생 장치.
  7. 제1항에 있어서,
    상기 서버 장치로부터 수신된 상기 속성 정보를, 상기 속성 정보 버퍼보다 많은 수만큼 일시적으로 유지하여, 상기 속성 정보 버퍼에 출력하는 캐쉬 메모리와,
    상기 속성 정보 버퍼에 대하여 새로운 상기 속성 정보를 기억시킬 때에, 상기 스트림 데이터의 재생순을 나타내는 재생 번호를 랜덤하게 생성하는 재생순 생성 수단과,
    생성된 상기 재생 번호에 대응하는 상기 속성 정보가 상기 캐쉬 메모리에 기억 되어 있는지의 여부를 판정하고, 기억되어 있는 경우에는, 그 속성 정보를 상기 캐쉬 메모리로부터 상기 속성 정보 버퍼에 출력하고, 기억되어 있지 않은 경우에는, 그 속성 정보를 선두로 하여, 상기 캐쉬 메모리에 유지 가능한 수만큼의 상기 속성 정보를 상기 서버 장치로부터 송신시키도록, 상기 속성 정보 요구 수단에 요구하는 랜덤 재생 제어 수단
    을 더 갖는 것을 특징으로 하는 재생 장치.
  8. 제1항에 있어서,
    상기 스트림 데이터 버퍼에는, 재생 중인 상기 스트림 데이터의 선두로부터 소정량의 데이터를 유지하는 선두 데이터 유지 영역과, 상기 선두 데이터 유지 영역에 유지된 데이터의 남은 상기 스트림 데이터가 순차적으로 저장되는 FIFO 영역이 설정되고,
    또한,
    상기 스트림 데이터의 재생 중에, 유저의 조작 입력에 의해 되돌아가기 재생 동작이 요구되면, 상기 선두 데이터 유지 영역에 유지된 데이터를 그 선두부터 상기 재생 처리 수단에 재차 공급함과 함께, 상기 선두 데이터 유지 영역에 유지된 데이터의 남은 상기 스트림 데이터를 상기 서버 장치로부터 재차 송신시키도록, 상기 스트림 데이터 요구 수단에 요구하는 되돌아가기 재생 제어 수단을 더 갖는 것을 특징으로 하는 재생 장치.
  9. 제1항에 있어서,
    상기 스트림 데이터 버퍼에는, 다음에 재생할 상기 스트림 데이터의 선두로부터 소정량의 데이터를 유지하는 다음 스트림 선두 데이터 유지 영역과, 그 이외의 데이터가 저장되는 FIFO 영역이 설정되고,
    또한,
    상기 스트림 데이터의 재생 중에, 유저의 조작 입력에 의해 스킵 재생 동작 이 요구되면, 상기 다음 스트림 선두 데이터 유지 영역에 유지된 데이터를 그 선두부터 상기 재생 처리 수단에 공급함과 함께, 상기 다음 스트림 선두 데이터 유지 영역에 유지된 데이터의 남은 상기 스트림 데이터를 상기 서버 장치로부터 재차 송신시키도록, 상기 스트림 데이터 요구 수단에 요구하고, 그 요구에 따라서 수신된 상기 스트림 데이터를 상기 FIFO 영역에 순차적으로 저장하도록 제어하는 스킵 재생 제어 수단을 더 갖는 것을 특징으로 하는 재생 장치.
  10. 네트워크를 통하여 접속된 서버 장치로부터 송신되는 스트림 데이터를 수신하여 재생하기 위한 재생 제어 방법에 있어서,
    속성 정보 요구 수단이, 상기 스트림 데이터의 속성 정보의 송신을 상기 서버 장치에 대하여 요구하고, 상기 속성 정보를 대응하는 상기 스트림 데이터의 재생순으로 수신하고,
    속성 정보 기록 제어 수단이, 상기 서버 장치로부터 수신된 상기 속성 정보를 속성 정보 버퍼에 순차적으로 저장하여 일시적으로 기억시키고, 적어도, 현재 재생하고 있는 것의 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보가 유지되도록 상기 속성 정보 버퍼를 제어하고,
    스트림 데이터 요구 수단이, 상기 속성 정보 버퍼에 기억된 상기 속성 정보에 기초하여, 대응하는 상기 스트림 데이터의 송신을 상기 서버 장치에 대하여 요구하고,
    스트림 데이터 기록 제어 수단이, 상기 서버 장치로부터 수신된 상기 스트림 데이터를 스트림 데이터 버퍼에 FIFO 방식으로 순차적으로 저장하고, 재생 처리 수단에 대하여 출력하고,
    상기 속성 정보 요구 수단이, 상기 스트림 데이터 버퍼에 대하여 재생 중인 상기 스트림 데이터가 마지막까지 축적되면, 다음에 재생할 상기 스트림 데이터에 대응하는 상기 속성 정보를 상기 속성 정보 버퍼로부터 읽어들이고, 그 속성 정보에 기초하여 다음에 재생할 상기 스트림 데이터의 송신을 상기 서버 장치에 요구하는 것을 특징으로 하는 재생 제어 방법.
KR1020070140759A 2006-12-29 2007-12-28 재생 장치 및 재생 제어 방법 KR20080063200A (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
KR20080063200A true KR20080063200A (ko) 2008-07-03

Family

ID=39585585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070140759A KR20080063200A (ko) 2006-12-29 2007-12-28 재생 장치 및 재생 제어 방법

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530827B2 (en) 2015-06-25 2020-01-07 Samsung Electronics Co., Ltd. Accelerator control method and accelerator using the same

Families Citing this family (29)

* 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 ソニー株式会社 情報処理装置及び方法、情報処理システム、並びにプログラム
PE20130251A1 (es) * 2009-09-14 2013-03-09 Directv Group Inc Metodo y sistema para distribuir contenido
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 삼성전자주식회사 멀티미디어 컨텐츠 재생 장치 및 방법
AU2011240024B2 (en) * 2010-04-13 2014-09-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and encoder and decoder for gap - less playback of an audio signal
CN102291373B (zh) 2010-06-15 2016-08-31 华为技术有限公司 元数据文件的更新方法、装置和***
JP5678532B2 (ja) * 2010-09-13 2015-03-04 ソニー株式会社 信号処理装置および信号処理方法
JP5052664B2 (ja) * 2010-12-21 2012-10-17 株式会社東芝 コンテンツ送受信装置、コンテンツ送受信方法およびコンテンツ送受信プログラム
CN103299616A (zh) * 2011-01-07 2013-09-11 夏普株式会社 再生装置及其控制方法、生成装置及其控制方法、记录介质、数据结构、控制程序以及记录了该程序的记录介质
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
US20170091197A1 (en) * 2014-05-19 2017-03-30 Huawei Technologies Co., Ltd. Multimedia Display Method, Apparatus, and Device
KR20170012229A (ko) * 2014-05-30 2017-02-02 소니 주식회사 정보 처리 장치 및 정보 처리 방법
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
DE60001941T2 (de) * 2000-09-11 2004-02-12 Mediabricks Ab Verfahren zur Bereitstellung von Medieninhalt über ein digitales Netzwerk
WO2002101584A2 (en) * 2001-06-11 2002-12-19 C-Burn Systems Ltd Selecting tracks from a jukebox via a wireless communications device
JP2003330623A (ja) 2002-05-15 2003-11-21 Denso Corp 外部記憶装置及びそのデータバッファ制御方法
AU2003249115A1 (en) * 2002-07-16 2004-02-02 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 音声再生装置
US20070266065A1 (en) * 2006-05-12 2007-11-15 Outland Research, Llc System, Method and Computer Program Product for Intelligent Groupwise Media Selection
US20070214182A1 (en) * 2005-01-15 2007-09-13 Outland Research, Llc Establishment-based media and messaging service
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 再生装置および再生制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530827B2 (en) 2015-06-25 2020-01-07 Samsung Electronics Co., Ltd. Accelerator control method and accelerator using the same

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4379471B2 (ja) 再生装置および再生制御方法
US9853830B2 (en) Information-provision control method, information reproduction system, information-provision apparatus, information reproduction apparatus and information-presentation control program
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
US8914464B2 (en) Information processing device, information processing method, and information processing system
US20090252176A1 (en) Gateway Device
JP2008533566A (ja) UPnPAVネットワークにおいてユニバーサルな「フォローミー」機能を提供するシステムおよび方法
JP2008262686A (ja) 同報通信データを記録するための方法、および、装置
US20070239668A1 (en) Apparatus and method for managing digital contents distributed over network
JPWO2008029640A1 (ja) 低ビットレートフォーマットのビデオデータ再生に適したプレヤーにより高ビットレートフォーマットのビデオデータを再生する方法及び装置
KR20060086997A (ko) 컨텐츠 재생을 위한 장치간의 자동 인터페이스 방법 및장치와 그 방법을 수행하기 위한 프로그램이 저장된 기록매체
CN101018139B (zh) 管理内容的方法和设备、存储介质及自适应内容播放方法
JP4229184B2 (ja) 再生装置および再生装置の制御方法
US7643490B2 (en) Live content switching method, source device, and sink device
JP2007053538A (ja) サーバおよびその制御方法、通信ネットワークシステム、サーバ制御プログラム、ならびに該プログラムが記録された記録媒体
JP4379579B2 (ja) ネットワーク装置および情報検索方法
KR101859766B1 (ko) UPnP를 이용하여 문서 컨텐츠를 디스플레이하는 시스템 및 방법
JP2009515391A (ja) データ・ソースからデータ・シンクへのデータ・フローの転送のための方法、データ・シンク装置、データ・ソース装置、およびこれを実行するための装置
JP2006345306A (ja) コンテンツ配信システムおよび方法、ならびに、端末装置および端末装置のコンテンツ管理方法
JP2008165479A (ja) 情報再生装置及び情報再生方法
JP4882741B2 (ja) 再生装置および再生方法
JP2008165594A (ja) 再生装置およびデータ処理方法
JP4946132B2 (ja) ネットワーク型コンテンツ再生システム、コンテンツ管理装置、コンテンツ管理方法、及び、プログラム
JP2008097625A (ja) 表示制御装置、表示方法、およびプログラム
WO2007114349A1 (ja) コンテンツ記録再生装置
JP2010226523A (ja) コンテンツサーバ装置、コンテンツ送信方法およびコンテンツ送信プログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid