KR20080078829A - 방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템 - Google Patents

방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템 Download PDF

Info

Publication number
KR20080078829A
KR20080078829A KR1020087014114A KR20087014114A KR20080078829A KR 20080078829 A KR20080078829 A KR 20080078829A KR 1020087014114 A KR1020087014114 A KR 1020087014114A KR 20087014114 A KR20087014114 A KR 20087014114A KR 20080078829 A KR20080078829 A KR 20080078829A
Authority
KR
South Korea
Prior art keywords
multimedia data
video
data
network
information
Prior art date
Application number
KR1020087014114A
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 KR20080078829A publication Critical patent/KR20080078829A/ko

Links

Images

Classifications

    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Abstract

VOD 등 온디맨드 서비스에 필요한 방송국과 가정 내 네트워크 시스템의 통신 대역의 소비나 가정 내 네트워크에 접속된 각 장치의 부하를 경감하기 위해, 방송 수신 장치, 영상 축적 장치, 단말 장치, 홈 네트워크로 이루어지는 시스템에 있어서, 방송국으로부터 사전에 배포된 멀티미디어 데이터를 방송 수신 장치에 있어서 수신하여, 멀티미디어 데이터의 장르나 영상 축적 장치의 빈 용량을 고려해서, 멀티미디어 데이터를 적절한 영상 단말 장치에 할당하여 기억한다.
단말 장치가 소정의 멀티미디어 데이터의 재생을 요구하면, 축적 장치에 미리 캐시되어 있으면, 축적 장치로부터 재생하고, 그렇지 않으면 방송국에 배포 요구를 행한다.

Description

방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포 시스템{BROADCAST RECEIVING APPARATUS, VIDEO STORING APPARATUS, AND MULTIMEDIA DELIVERING SYSTEM}
본 발명은, 케이블 TV 등에서 제공되는 디지털 방송, VoD(Video On Demand) 서비스의 홈 네트워크에 접속된 기기로의 이용에 관한 것이다.
최근, BS 디지털 방송, CS110도 디지털 방송 및 지상파 디지털 방송 등의 디지털 방송이 개시되었다. 또, HDD 레코더, DVD(Digital Versatile Disc) 레코더 등의 보급이 진행되고 있다. 이들에 의해, 가정 내에서 이용할 수 있는, 디지털화된 멀티미디어 콘텐츠가 증가하고 있다.
한편, 브로드밴드 환경의 정비에 의해, 가정으로부터의 인터넷 액세스가 보급되고 있다. 그에 따라, 가정 내의 각 방을 IP 네트워크로 연결하는, 이른바 홈 네트워크의 보급도 진행되고 있다.
디지털 콘텐츠와 홈 네트워크의 보급에 의해, 가정 내의 디지털 방송 수신기로 수신한 디지털 방송, 혹은, 레코더에 축적한 디지털 콘텐츠를, 홈 네트워크를 이용하여, 다른 방에서 시청할 수 있게 되었다.
또, 케이블 TV 등에서는, 이용자의 요구에 따라, 영화 등 특정한 콘텐츠를 언제라도 시청할 수 있는 VoD 서비스가 행해지고 있다. VoD 서비스는, 이용자가, 수신 단말인 STB(Set Top Box)를 조작해, VoD 서비스에서 제공되고 있는 콘텐츠를 선택하여, 케이블국에 요구함으로써, 그 데이터가 송신되는 것이다. 최근에는, VoD 서비스에서 제공되는 콘텐츠도, 상기와 동일한 디지털 콘텐츠로 되어 있다. 그래서, VoD 서비스도, 홈 네트워크에 연결된 복수의 단말 기기로부터 이용하는 것과 같은 요구가 나오게 되었다.
케이블 TV에 있어서의 VoD 서비스에 있어서는, 방송과 별도로 멀티미디어 데이터를 통신할 필요가 있고, 국 설비와 각 가정 사이에서는, 그것을 위한 통신 대역이 필요해진다.
또, 국 설비측에서는, 대량의 요구가 동시간에 일어날 가능성이 있고, 그 처리 부하에 견딜 수 있는 설비가 필요해진다.
이들에 대응하기 위해, 종래에는, 국의 송신 장치나 각 가정에 1대 설치된 기억 장치에 의해, VoD 서비스에서 제공되는 멀티미디어 데이터를 일시 축적하는, 이른바 데이터의 캐시가 행해지고 있고, 그 축적한 멀티미디어 데이터를 이용함으로써, 대역 소비나 처리 부하의 저감을 행하고 있다(예를 들면, 특허 문헌 1을 참조).
또, 케이블 TV나 위성 방송 등에서는, 이른바 니어 VoD라고 불리는 방송이 행해지고 있다. 이것은, 동일한 영화 등의 프로그램을, 시간을 다르게 하여 몇 번이나 방송하는 것으로, 이용자가 편리한 시간에 시청할 수 있게 되어 있고, VoD에 가까운 서비스가 행해지므로, 니어 VoD라고 불리고 있다.
디지털 방송에서 이용되는 멀티미디어 데이터는, MPEG2-TS(Motion Picture Expert Gruoup Phase2 Transport Stream)이라고 불리는 부호화된 데이터이다. 하나의 MPEG2-TS 스트림은, 동시에 복수의 프로그램을 격납할 수 있다. 방송 수신기는, 하나의 MPEG2-TS 스트림으로부터, 하나의 프로그램에 관한 데이터를 추출하여, 재생을 행하는 형식으로 되어 있다. 디지털 방송에서는, 또한 주파수로 나눈 복수의 MPEG2-TS 스트림을 송신하고 있다. 그리고, 방송 수신기의 튜너는, 주파수를 맞춤으로써, 하나의 MPEG2-TS 스트림을 추출하여, 그 중에서 소정의 프로그램을 골라내어 재생하는 구성이다.
홈 네트워크를 이용하여, 복수의 방송 수신기에 의해 동시에 시청이 가능해졌지만, 일반적으로 염가의 방송 수신기는 튜너를 구비하고 있지 않고, 유저는, 튜너를 구비한 방송 수신기가 수신한 멀티미디어 데이터를, 네트워크 경유로 취득하여 시청하는 형태를 취한다. 이 때, 동시에 복수의 단말로부터 다른 프로그램을 시청하고자 한 경우, 그들 프로그램이 다른 MPEG2-TS 스트림에 들어가 있는 경우는, 하나의 튜너로는 수신할 수 없다. 그 때문에, 니어 VoD여도, 유저가 편리한 시간에 시청할 수 없는 것과 같은 일이 발생한다. 이것을 회피하기 위해, 종래는, 단말수와 동수의 튜너를 준비하는 것이 일반적인 대책이다.
또, 상술한 바와 같이, 케이블 TV에 있어서의 VoD 서비스에 있어서는, 방송과 별도로 멀티미디어 데이터를 통신할 필요가 있고, 국 설비와 각 가정 사이에서의 통신 대역 저감을 위해, 방송 수신기에 기억 장치를 구비하고, VoD 서비스에서 제공되는 멀티미디어 데이터를 일시 축적하는, 이른바 데이터의 캐시가 행해지고 있다. 니어 VoD 서비스에 있어서, 그것을 이용하는 것도, 대책으로서는 생각할 수 있다(예를 들면, 특허 문헌 1을 참조).
특허 문헌 1 : 일본국 특허공표 2002-540684호 공보
[발명이 해결하고자 하는 과제]
그러나, 상기 종래의 기술에서는, 멀티미디어 데이터 및 그 데이터의 공급 처리가 1대의 장치에 집중되기 때문에, 그 장치에 드는 비용이 증대한다는 과제가 있다.
우선, VoD 서비스에 있어서, 국 혹은 1대 설치된 기억 장치에 의해, 멀티미디어 데이터의 캐시를 행하고 있지만, 홈 네트워크의 보급에 따라, 각 가정에서, 동시에 복수의 VoD 서비스가 행해지는 환경이 되면, 다종류의 콘텐츠가 동시에 요구된다.
이 경우, 국 설비와 가정간의 통신 대역 소비의 저감을 위해서는, 각 가정 내에서 다수의 데이터를 캐시하는 대용량의 기억 장치가 필요해져, 비용이 증대한다. 또, 가정 내의 캐시 장치가, 홈 네트워크에 있어서는 서버로서 기능하기 때문에, 서버로서 동시에 복수의 단말에 데이터를 공급하기 위해 고성능의 장치가 필요해져, 비용이 증대한다.
다음에, 니어 VoD 서비스에 있어서, 우선, 튜너를 단말과 동일한 수만큼 준비하는 것은, 비용을 증대시키게 된다.
또, 홈 네트워크의 보급에 따라, 각 가정에서, 동시에 복수의 프로그램 시청이 행해지는 환경이 되면, 다종류의 콘텐츠가 동시에 요구된다. 이 경우, 방송 수신기에 설치된 기억 장치에 의해, 멀티미디어 데이터의 캐시를 행하는 종래의 기술에서는, VoD 서비스의 경우와 동일하게, 가정 내에서 다수의 프로그램을 캐시하는 대용량의 기억 장치가 필요해져, 비용이 증대한다. 또, 가정 내의 캐시 장치가, 홈 네트워크에 있어서는 서버로서 기능하기 때문에, 서버로서 동시에 복수의 단말에 데이터를 공급하기 위해 고성능의 장치가 필요해져, 비용이 증대한다.
본 발명은, 상기 종래의 과제를 해결하는 것으로, 홈 네트워크에 접속된 복수의 영상 축적 장치를 이용하여, 적절하게 캐시를 분산시킴으로써, 국 설비와 가정간의 통신 대역 소비나 각 장치의 부하를 저감하는 것이 가능한, 방송 수신 장치, 영상 축적 장치 혹은 멀티미디어 배포 시스템을 제공하는 것을 목적으로 한다.
[과제를 해결하기 위한 수단]
상기의 과제를 해결하기 위해, 본 발명의 방송 수신 장치는, 방송국에 설치된 장치로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는, 네트워크에 접속된 방송 수신 장치로서, 상기 방송국에 설치된 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 수단과, 멀티미디어 데이터를 축적하고 있는 복수의 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단과, 상기 복수의 영상 축적 장치 중, 하나를 선택하는 선택 수단과, 상기 데이터 수신 수단이 수신한 멀티미디어 데이터를, 상기 네트워크를 통해 출력하는 데이터 출력 수단을 구비하고, 상기 정보 통신 수단은, 상기 선택 수단이 선택한 영상 축적 장치에 멀티미디어 데이터의 축적 요구를 송신하고, 상기 데이터 출력 수단은, 상기 데이터 수신 수단이 수신한 멀티미디어 데이터를, 상기 선택 수단이 선택한 영상 축적 장치에 출력한다.
본 발명에 의하면, 방송국에 설치된 장치로부터 멀티미디어 데이터를 수신했을 때에, 그것을 캐시하는 영상 축적 장치를 선택함으로써, 캐시를 분리시키는 것이 가능하다.
바람직하게는, 상기 선택 수단은, 상기 멀티미디어 데이터의 속성을 기초로, 영상 축적 장치를 선택한다. 멀티미디어 데이터의 속성은, 예를 들면, 멀티미디어 데이터의 내용 장르이다. 또, 멀티미디어 데이터의 속성은, 멀티미디어 데이터의 데이터량, 멀티미디어 데이터의 방송 시간이어도 된다.
본 구성에 의하면, 이러한 멀티미디어 데이터의 속성에 의해 캐시를 분산시킴으로써, 보다 적절한 조건으로 분산시키는 것이 가능해진다. 또 바람직하게는, 상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고, 상기 선택 수단은, 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치를 선택한다. 영상 축적 장치의 속성은, 예를 들면, 영상 축적 장치가 이용되는 빈도를 나타내는 이용 빈도 정보이다. 또, 영상 축적 장치의 속성은, 영상 축적 장치에 관련지어져 있는 장르, 또는, 영상 축적 장치에 구비되어 있는 축적 매체의 빈 용량 등이어도 된다.
본 구성에 의하면, 예를 들면, 각 영상 축적 장치에 균등하게 캐시시키는 것과 같은 것이 가능해져, 보다 적절한 조건으로 분산하는 것이 가능해진다. 더욱 바람직하게는, 상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고, 상기 선택 수단은, 상기 멀티미디어 데이터의 속성 및 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치의 선택을 행한다. 멀티미디어 데이터의 속성 및 영상 축적 장치의 속성이란, 예를 들면, 멀티미디어 데이터의 내용 장르 및 각 영상 축적 장치의 장르마다의 빈도를 나타내는 이용 빈도 정보이다.
본 구성에 의하면, 예를 들면, 어떤 멀티미디어 데이터가 영화이면, 영화의 이용 빈도가 높은 영상 기억 장치에 캐시시키는 등과 같은 제어를 행하는 것이 가능해지고, 이용시의 부하 분산, 네트워크의 대역 소비도 고려한, 캐시의 분산을 행하는 것이 가능해진다.
더욱 바람직하게는, 멀티미디어 데이터를 축적하는 축적 수단과, 상기 축적 수단에 데이터를 기록하는 기록 수단을 더 구비하고, 상기 선택 수단은, 상기 축적 수단과 상기 네트워크에 접속된 복수의 영상 축적 장치 중, 하나를 선택하고, 상기 기록 수단은, 상기 선택 수단이 상기 축적 수단을 선택한 경우에, 상기 멀티미디어 데이터를 상기 축적 수단에 기록한다.
본 구성에 의하면, 방송 수신 장치를 포함시킨, 캐시의 분산이 가능해진다.
더욱 바람직하게는, Java 어플리케이션을 실행하는 Java 실행 수단을 더 구비하고, 상기 Java(등록 상표) 실행 수단은, 멀티미디어 데이터의 식별자를 출력하고, 상기 데이터 수신 수단은, 상기 멀티미디어 데이터의 식별자를 받아들이고, 받아들인 이 식별자가 나타내는 멀티미디어 데이터를 수신하고, 상기 선택 수단은, 상기 멀티미디어 데이터의 식별자를 받아들이면, 영상 축적 장치를 선택한다.
본 구성에 의하면, Java 어플리케이션을 실행하는 영상 축적 장치에 있어서, 방송국으로부터 멀티미디어 데이터를 수신했을 때에, 그것을 캐시하는 영상 축적 장치를 선택함으로써, 캐시를 분산시키는 것이 가능해진다. 또, 선택 수단은, 장르, 데이터량 및 방송 시간 등의 적어도 하나를 포함하는, 수신한 멀티미디어 데이터의 속성에 의거하여 캐시시키는 영상 축적 장치를 선택하는 구성이어도 된다.
더욱 바람직하게는, 상기 선택 수단은, 상기 멀티미디어 데이터의 속성을 기초로 영상 축적 장치를 선택한다. 멀티미디어 데이터의 속성은, 예를 들면, 멀티미디어 데이터의 내용 장르, 멀티미디어 데이터의 데이터량, 멀티미디어 데이터의 방송 시간 등의 적어도 하나를 포함한다.
본 구성에 의하면, 이러한 멀티미디어 데이터의 속성에 의해 캐시를 분산시킴으로써, 보다 적절한 조건으로 분산시키는 것이 가능해진다.
본 구성에 의하면, Java 어플리케이션이 요구를 발행함으로써, 멀티미디어 데이터의 종류 등에 따라 캐시를 분산시킴으로써, 보다 적절한 조건으로 분산시키는 것이 가능해진다.
더욱 바람직하게는, 상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고, 상기 선택 수단은, 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치를 선택한다. 영상 축적 장치의 속성은, 예를 들면, 영상 축적 장치가 이용되는 빈도를 나타내는 이용 빈도 정보이다. 또, 영상 축적 장치의 속성은, 영상 축적 장치에 관련지어져 있는 장르여도 된다.
본 구성에 의하면, 예를 들면, 각 영상 축적 장치에 균등하게 캐시시키는 것과 같은 것이 가능해져, 보다 적절한 조건으로 분산하는 것이 가능해진다.
더욱 바람직하게는, 상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고, 상기 선택 수단은, 상기 멀티미디어 데이터의 속성 및 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치를 선택한다.
본 구성에 의하면, 예를 들면, 어떤 멀티미디어 데이터가 영화이면, 영화의 이용 빈도가 높은 영상 기억 장치에 캐시시키는 등과 같은 제어를 행하는 것이 가능해지고, 이용시의 부하 분산, 네트워크의 대역 소비도 고려한, 캐시의 분산을 행하는 것이 가능해진다.
더욱 바람직하게는, 멀티미디어 데이터를 축적하는 축적 수단과, 상기 축적 수단에 데이터를 기록하는 기록 수단을 더 구비하고, 상기 선택 수단은, 상기 축적 수단과 상기 네트워크에 접속된 복수의 영상 축적 장치 중, 하나를 선택하고, 상기 기록 수단은, 상기 선택 수단이 상기 축적 수단을 선택한 경우에, 상기 멀티미디어 데이터를 상기 축적 수단에 기록한다.
본 구성에 의하면, 방송 수신 장치를 포함시킨, 캐시의 분산이 가능해진다.
또, 상기의 과제를 해결하기 위해, 본 발명의 영상 축적 장치는, 방송국으로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는 방송 수신 장치와 네트워크를 통해 접속되어, 멀티미디어 데이터를 축적하는 영상 축적 장치로서, Java 어플리케이션을 실행하는 Java 실행 수단과, 멀티미디어 데이터를 축적하는 축적 수단과, 상기 네트워크를 통해 접속된 서버와 통신하는 정보 통신 수단과, 상기 네트워크를 통해 상기 방송 수신 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 수단과, 상기 네트워크를 통해 다른 영상 축적 장치에 멀티미디어 데이터를 송신하는 데이터 송신 수단을 구비하고, 상기 정보 통신 수단은, 상기 서버로부터 속성의 문의를 받아들인 경우에, 상기 Java 실행 수단으로부터 상기 영상 축적 장치 자신의 속성을 나타내는 속성 정보를 취득하고, 취득한 이 속성 정보를 상기 서버에 송신하고, 상기 데이터 수신 수단은, 상기 정보 통신 수단이 상기 서버로부터 축적 요구를 수신하고, 상기 방송 수신 장치로부터 멀티미디어 데이터를 수신한 경우에, 수신한 이 멀티미디어 데이터를 상기 축적 수단에 축적하고, 상기 데이터 송신 수단은, 상기 서버로부터 상기 축적 수단에 축적되어 있는 멀티미디어 데이터의 송신 요구와 송신처가 되는 상기 다른 영상 축적 장치를 나타내는 정보를 수신한 경우에, 이 멀티미디어 데이터를, 이 정보에 표시되는 상기 다른 영상 축적 장치에 송신한다.
본 구성에 의하면, Java 어플리케이션을 실행하는 영상 축적 장치에 있어서, 방송 수신 장치의 요구에 의해 멀티미디어 데이터를 캐시하고, 또, 캐시한 멀티미디어 데이터의 이용시에, 이 멀티미디어 데이터를 적절하게 송신하는 것이 가능해진다.
바람직하게는, 멀티미디어 데이터의 송신 요구를 수신한 경우에, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 권리 처리 수단을 더 구비한다.
본 구성에 의하면, 캐시한 멀티미디어 콘텐츠의 이용시에, 과금 처리 등의 권리 처리를 적절하게 행하는 것이 가능해진다.
또, 상기의 과제를 해결하기 위해, 본 발명의 영상 축적 장치는, VoD(Video On Demand) 서비스를 제공하는 방송국에 설치된 장치로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는, 네트워크에 접속된 수신 단말로서, 상기 방송국에 설치된 장치에, 멀티미디어 데이터 송신 요구를 송신하는 요구 송신 수단과, 멀티미디어 데이터를 축적하고 있는 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단을 구비하고, 상기 정보 통신 수단은, 유저 조작에 의한 VoD의 요구를 받은 경우에, 상기 영상 축적 장치와 상기 네트워크를 통해 통신함으로써, 상기 VoD의 요구에 관련된 멀티미디어 데이터가 축적되어 있는지의 여부를 나타내는 정보를 취득하고, 축적되어 있는 것을 나타내는 정보를 취득한 경우에, 이 정보를 송신한 영상 축적 장치에, 상기 VoD의 요구에 관련된 멀티미디어 데이터의 송신 요구를 송신하고, 상기 요구 송신 수단은, 축적되어 있지 않은 것을 나타내는 정보를 취득한 경우에, 상기 방송국에 설치된 장치에, 상기 VoD의 요구에 관련된 멀티미디어 데이터의 송신 요구를 송신한다.
본 구성에 의하면, VoD 서비스 이용시에, 네트워크에 접속된 영상 축적 장치에 캐시된 데이터를 유효하게 이용하고, 또, 불필요한 방송국과의 통신에 의한 대역 소비를 없애는 것이 가능해진다.
더욱 바람직하게는, 상기 영상 축적 장치에 축적되어 있는 멀티미디어 데이터의 송신 요구를 송신하는 경우에, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 권리 처리 수단을 더 구비한다.
본 구성에 의하면, 캐시한 멀티미디어 콘텐츠의 이용시에, 과금 처리 등의 권리 처리를 적절하게 행하는 것이 가능해진다.
바람직하게는, 또한, Java 어플리케이션을 실행하는 Java 실행 수단과, 상기 방송국에 설치된 장치에, 멀티미디어 데이터 송신 요구를 송신하는 요구 송신 수단과, 멀티미디어 데이터를 축적하고 있는 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단과, 상기 정보 통신 수단은, Java 실행 수단이 콘텐츠의 식별자를 받아들인 경우에, 상기 영상 축적 장치와 상기 네트워크를 통해 통신함으로써, 상기 VoD의 요구에 관련된 멀티미디어 데이터가 축적되어 있는지의 여부를 나타내는 정보를 취득한다.
본 구성에 의하면, Java 어플리케이션을 실행하는 영상 축적 장치에 있어서, VoD 서비스 이용시에, 네트워크에 접속된 영상 축적 장치에 캐시된 데이터를 유효하게 이용하고, 또, 불필요한 방송국과의 통신에 의한 대역 소비를 없애는 것이 가능해진다.
더욱 바람직하게는, 상기 영상 축적 장치에 축적되어 있는 멀티미디어 데이터의 송신 요구를 송신하는 경우에, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 권리 처리 수단을 더 구비한다.
본 구성에 의하면, 캐시한 멀티미디어 콘텐츠의 이용시에, 과금 처리 등의 권리 처리를 적절하게 행하는 것이 가능해진다.
또한, 본 발명은, 이러한 특징적인 수단을 구비하는 방송 수신 장치, 영상 축적 장치, 및 수신 단말로서 실현할 수 있을 뿐만 아니라, 방송 수신 장치, 영상 축적 장치, 및 수신 단말의 각각에 포함되는 특징적인 수단을 단계로 하는 방법으로서 실현하거나, 방송 수신 장치, 영상 축적 장치, 및 수신 단말의 각각에 포함되는 특징적인 수단으로서 컴퓨터를 기능시키는 프로그램으로서 실현하거나 할 수도 있다. 그리고, 그러한 프로그램은, CD-ROM(Compact Disc-Read Only Memory) 등의 기록 매체나 인터넷 등의 통신 네트워크를 통해 유통시킬 수 있다.
또, 본 발명은, 이러한 특징적인 수단을 구비하는 방송 수신 장치, 영상 축적 장치, 및 수신 단말 중 어느 하나를 조합한 복수의 장치를 구비하는 멀티미디어 배포 시스템으로서 실현할 수도 있다.
[발명의 효과]
이상 서술한 바와 같이, 본 발명의 방송 수신 장치, 영상 축적 장치 혹은 멀티미디어 배포 시스템에 의하면, VoD 서비스, 니어 VoD 서비스 등으로 제공되는 멀티미디어 데이터를, 가정 내의 복수의 기억 수단에 최적으로 분산시킴으로써, 많은 멀티미디어 데이터를 캐시하는 것이 가능해지고, 홈 네트워크에 있어서 동시에 복수 단말로부터의 VoD 요구가 있어도, 국 설비와 가정간의 통신 대역을 불필요하게 소비하지 않고 대응하는 것이 가능해진다. 또, 캐시된 데이터여도, 과금 등, 적절하게 권리 처리를 행하는 것이 가능해진다.
도 1은, 본 발명의 실시 형태 1에 있어서의 멀티미디어 배포 시스템의 구성도이다.
도 2는, 본 발명의 실시 형태 1에 있어서의 방송 수신 장치의 구성을 도시한 블록도이다.
도 3은, 본 발명의 실시 형태 1에 있어서의 영상 축적 장치 및 영상 축적 장치의 구성을 도시한 블록도이다.
도 4는, 본 발명의 실시 형태 1에 있어서의 방송 수신 장치의 선택부가 실행하는 처리의 일례를 도시한 흐름도이다.
도 5는, 본 발명의 실시 형태 1의 변형예에 있어서의 방송 수신 장치의 구성을 도시한 블록도이다.
도 6은, 본 발명의 실시 형태 2에 있어서의 방송 수신 장치의 구성도이다.
도 7은, 입력부를 프론트 패널로 구성한 경우의 외관의 일례를 도시한 도면이다.
도 8은, 본 발명의 실시 형태 2에 있어서의 방송 수신 장치가 유지하고, 실행하는 프로그램의 구성을 도시한 도면이다.
도 9(a)는, 본 발명에 따른 화면 표시의 제1 예를 도시한 도면이다. 도 9(b)는, 본 발명에 따른 화면 표시의 제2 예를 도시한 도면이다.
도 10은, 본 발명의 실시 형태 2에 따른 제2 메모리에 기어되어 있는 프로그램 정보의 일례를 도시한 도면이다.
도 11은, 본 발명의 실시 형태 2에 따른 제2 메모리에 격납되어 있는 채널 정보의 일례를 도시한 도면이다.
도 12(a)는, 본 발명의 실시 형태 2에 따른 제2 메모리에 격납되어 있는 채널의 식별자를 나타내는 정보의 제1 예를 도시한 도면이다. 도 12(b)는, 본 발명 의 실시 형태 2에 따른 제2 메모리에 격납되어 있는 채널의 식별자를 나타내는 정보의 제2 예를 도시한 도면이다. 도 12(c)는, 본 발명의 실시 형태 2에 따른 제2 메모리에 격납되어 있는 채널의 식별자를 나타내는 정보의 제3 예를 도시한 도면이다.
도 13은, 본 발명의 실시 형태 2에 따른 수집한 PAT의 정보의 일례를 모식적으로 도시한 도면이다.
도 14는, 본 발명의 실시 형태 2에 따른 수집한 PMT의 정보의 일례를 모식적으로 도시한 도면이다.
도 15는, 본 발명의 실시 형태 2에 따른 수집한 AIT의 정보의 일례를 모식적으로 도시한 도면이다.
도 16은, 본 발명의 실시 형태 2에 따른 다운로드한 파일 시스템의 일례를 도시한 도면이다.
도 17은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성의 일례를 도시한 블록도이다.
도 18은, 본 발명의 실시 형태 2에 따른 제어부가 제공하는 Java API의 일례를 도시한 도면이다.
도 19는, NetDevice 클래스 구성의 일례를 도시한 도면이다.
도 20은, DevAttrib 클래스 구성의 일례를 도시한 도면이다.
도 21은, 본 발명의 실시 형태 2에 따른 데이터 수신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 22는, 본 발명의 실시 형태 2에 따른 정보 통신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 23은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리에서 사용되는 MMRequest 클래스 정의의 일례를 도시한 도면이다.
도 24는, 본 발명의 실시 형태 2에 따른 선택부가 제공하는 Java API의 일례를 도시한 도면이다.
도 25는, 본 발명의 실시 형태 2에 따른 데이터 출력부가 제공하는 Java API의 일례를 도시한 도면이다.
도 26은, 본 발명의 실시 형태 2에 따른 요구 송신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 27은, 본 발명의 실시 형태 2에 따른 권리 처리부(1607)가 제공하는 Java API의 일례를 도시한 도면이다.
도 28은, 본 발명의 실시 형태 2에 따른 영상 축적 장치의 구성도이다.
도 29는, 본 발명의 실시 형태 2에 따른 영상 축적 장치가 유지하고, 실행하는 프로그램 구성을 도시한 도면이다.
도 30은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성의 일례를 도시한 블록도이다.
도 31은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 제어부가 제공하는 Java API의 일례를 도시한 도면이다.
도 32는, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리에서 사용되는 ContentInfo 클래스 정의의 일례를 도시한 도면이다.
도 33은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 제어 정보 통신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 34는, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 데이터 수신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 35는, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리에서 사용되는 RemoteProgram 클래스 정의의 일례를 도시한 도면이다.
도 36은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 데이터 송신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 37은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 속성 관리부가 제공하는 Java API의 일례를 도시한 도면이다.
도 38은, 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 권리 처리부가 제공하는 Java API의 일례를 도시한 도면이다.
도 39는, 본 발명의 실시 형태 3에 있어서의 멀티미디어 배포 시스템의 구성도이다.
도 40은, 본 발명의 실시 형태 3에 있어서의 방송 수신 장치의 구성을 도시한 블록도이다.
도 41은, 본 발명의 실시 형태 3에 있어서의 영상 축적 장치의 구성을 도시한 블록도이다.
도 42는, 본 발명의 실시 형태 3의 변형예에 있어서의 방송 수신 장치의 구 성을 도시한 블록도이다.
도 43은, 본 발명의 실시 형태 4에 있어서의 방송 수신 장치의 구성도이다.
도 44는, 본 발명의 실시 형태 4에 있어서의 입력부를 프론트 패널로 구성한 경우의 외관의 일례를 도시한 도면이다.
도 45는, 본 발명의 실시 형태 4에 있어서의 방송 수신 장치가 유지하고, 실행하는 프로그램 구성을 도시한 도면이다.
도 46(a)는, 본 발명의 실시 형태 4에 따른 화면 표시의 제1 예를 도시한 도면이다. 도 46(b)는, 본 발명의 실시 형태 4에 따른 화면 표시의 제2 예를 도시한 도면이다.
도 47은, 본 발명의 실시 형태 4에 따른 제2 메모리에 격납되어 있는 프로그램 정보의 일례를 도시한 도면이다.
도 48은, 본 발명의 실시 형태 4에 따른 제2 메모리에 격납되어 있는 채널 정보의 일례를 도시한 도면이다.
도 49(a)는, 본 발명의 실시 형태 4에 따른 제2 메모리에 격납되어 있는 채널의 식별자를 나타내는 정보의 제1 예를 도시한 도면이다. 도 49(b)는, 본 발명의 실시 형태 4에 따른 제2 메모리에 격납되어 있는 채널의 식별자를 나타내는 정보의 제2 예를 도시한 도면이다. 도 49(c)는, 본 발명의 실시 형태 4에 따른 제2 메모리에 격납되어 있는 채널의 식별자를 나타내는 정보의 제3 예를 도시한 도면이다.
도 50은, 본 발명의 실시 형태 4에 따른 수집한 PAT의 정보의 일례를 모식적 으로 도시한 도면이다.
도 51은, 본 발명의 실시 형태 4에 따른 수집한 PMT의 정보의 일례를 모식적으로 도시한 도면이다.
도 52는, 본 발명의 실시 형태 4에 따른 수집한 AIT의 정보의 일례를 모식적으로 도시한 도면이다.
도 53은, 본 발명의 실시 형태 4에 따른 다운로드한 파일 시스템의 일례를 도시한 도면이다.
도 54는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성의 일례를 도시한 블록도이다.
도 55는, 본 발명의 실시 형태 4에 따른 제어부가 제공하는 Java API의 일례를 도시한 도면이다.
도 56은, 본 발명의 실시 형태 4에 따른 NetDevice 클래스 구성의 일례를 도시한 도면이다.
도 57은, 본 발명의 실시 형태 4에 따른 DevAttrib 클래스 구성의 일례를 도시한 도면이다.
도 58은, 본 발명의 실시 형태 4에 따른 데이터 수신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 59는, 본 발명의 실시 형태 4에 따른 정보 통신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 60은, 본 발명의 실시 형태 4에 따른 MMRequest 클래스의 구성을 도시한 도면이다.
도 61은, 본 발명의 실시 형태 4에 따른 선택부가 제공하는 Java API의 일례를 도시한 도면이다.
도 62는, 본 발명의 실시 형태 4에 따른 데이터 출력부가 제공하는 Java API의 일례를 도시한 도면이다.
도 63은, 본 발명의 실시 형태 4에 따른 권리 처리부가 제공하는 Java API의 일례를 도시한 도면이다.
도 64는, 본 발명의 실시 형태 4에 있어서의 영상 축적 장치의 구성을 도시한 블록도이다.
도 65는, 본 발명의 실시 형태 4에 있어서의 영상 축적 장치가 유지하고, 실행하는 프로그램 구성을 도시한 도면이다.
도 66은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성의 일례를 도시한 도면이다.
도 67은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성에 포함되는 제어부가 제공하는 Java API의 일례를 도시한 도면이다.
도 68은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리에서 사용되는 ContentInfo 클래스 정의의 일례를 도시한 도면이다.
도 69는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성에 포함되는 제어 정보 통신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 70은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성에 포함되는 데이터 수신부가 제공하는 Java API의 일례를 도시한 도면이다.
도 71은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리에서 사용되는 RemoteProgram 클래스 정의의 일례를 도시한 도면이다.
도 72는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성에 포함되는 데이터 송신부(2803)가 제공하는 Java API의 일례를 도시한 도면이다.
도 73은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성에 포함되는 속성 관리부가 제공하는 Java API의 일례를 도시한 도면이다.
도 74는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리의 내부 구성에 포함되는 권리 처리부가 제공하는 Java API의 일례를 도시한 도면이다.
[부호의 설명]
101, 3901 : 멀티미디어 배포 시스템
102, 3902 : 방송 수신 장치
103, 104, 3903, 3904 : 영상 축적 장치
105, 106, 3905, 3906 : 단말
107, 3907 : 네트워크
108 : 방송국
109 : 케이블
201, 4001 : 제어부
202, 305, 4002, 4105 : 데이터 수신부
203, 4003 : 정보 통신부
204, 4004 : 선택부
205, 4005 : 데이터 출력부
206 : 요구 송신부
207, 309, 4006, 4109 : 권리 처리부
208, 310, 4007, 4110 : 네트워크 인터페이스
209 : 케이블 인터페이스
301, 4101 : 제어부
302, 402, 4102, 4202 : 축적부
303, 4103 : 제어 정보 통신부
304, 4104 : 속성 기억부
306, 4106 : 데이터 송신부
307, 401, 4107, 4201 : 기록부
308, 403, 4108, 4203 : 독출부
501, 2701, 4201, 6401 : 입력부
502, 2702, 4302, 6402 : 제1 메모리
503, 2703, 4303, 6403 : 제2 메모리
504, 4304, 6404 : 수신부
505, 2704, 4305, 6405 : 다중 분리부
506, 4306 : 디스크램블러
507, 2704, 4307, 6405 : TS 디코더
508, 2706, 4308, 6406 : 영상 출력부
509, 2707, 4309, 6407 : 음성 출력부
510, 4310 : TS 멀티플렉서
511, 2708, 4311, 6408 : 네트워크부
512, 2709, 4312, 6409 : CPU
3908 : 수신기
이하 본 발명의 실시 형태에 대해, 도면을 참조하면서 설명한다.
(실시 형태 1)
도 1은, 본 발명의 실시 형태 1에 있어서의 멀티미디어 배포 시스템의 구성도이다. 도 1에 나타낸 멀티미디어 배포 시스템(101)은, 방송 수신 장치(102)와, 제1 영상 축적 장치(103)와, 제2 영상 축적 장치(104)와, 제1 단말(105)과, 제2 단말(106)과, 네트워크(107)와, 케이블 TV의 방송국 설비(108)와, 방송국(108)과 방송 수신 장치(102)를 연결하는 케이블(109)에 의해 구성된다. 방송 수신 장치(102), 영상 축적 장치(103), 영상 축적 장치(104), 단말(105) 및 단말(106)은, 네트워크(107)에 접속되어 있고, 네트워크(107)를 통해 상호 통신하는 것이 가능하다. 또, 방송 수신 장치(102)와 방송국(108)은, 케이블(109)에 의해 접속되어 있고, 케이블(109)을 통해 상호 통신하는 것이 가능하다. 또한, 영상 축적 장치 및 단말은 복수 포함되어 있으면 되는 것이고, 설명을 간이하게 하기 위해 각각 2개 포함되는 것으로 하고 있다.
본 실시 형태에 있어서의 방송 수신 장치(102)는, 케이블(109)을 통해 멀티미디어 데이터를 방송국(108)으로부터 수신한다. 또, 방송 수신 장치(102)는, VoD 서비스를 이용하는 것이다. 이 때문에, 케이블(109)을 통해, VoD 서비스를 위한 멀티미디어 데이터의 송신 요구의 송신, 이 멀티미디어 데이터를 이용하기 위한 과금 등 권리 처리를 행하는 통신 등의 제어 정보의 송수신을 행한다. 또한, 이들 제어 정보의 통신은, 케이블(109)이 아니라, 전화 회선 등, 도시 생략의 다른 통신로를 이용하여 행하는 구성이어도 된다.
또, 방송 수신 장치(102)는, 미리 방송국(108)으로부터 VoD 서비스용의 멀티미디어 데이터를 수신하는 경우에, 네트워크(107)를 통해, 영상 축적 장치(103)와, 영상 축적 장치(104)에 속성의 송신 요구를 송신하고, 영상 축적 장치(103)와, 영상 축적 장치(104)로부터 이 속성을 수신한다. 또한, 방송국으로부터 수신한 멀티미디어 데이터의 속성, 및 영상 축적 장치로부터 수신한 영상 축적 장치의 속성으로부터, 영상 축적 장치(103)와 영상 축적 장치(104) 중 어느 하나를, 수신한 멀티미디어 데이터의 축적처로서 선택한다. 또한, 선택한 영상 축적 장치(103) 혹은 영상 축적 장치(104)에, 멀티미디어 데이터의 축적 요구를 송신하고, 이어서, 이 멀티미디어 데이터를 송신한다.
또한, 상기, 미리 행해지는, 방송국(108)으로부터 방송 수신 장치(102)로의 VoD 서비스용 멀티미디어 데이터의 송신은, 방송국(108)으로부터의 요구로 행해지는 것이어도 되고, 방송 수신 장치(102)로부터의 요구로 행해지는 것이어도 된다. 또는, 특정한 일시에 행해지는 것이어도 되고, 특정한 시간마다 행해지는 것이어도 된다.
또, 방송 수신 장치(102)는, 단말(105) 혹은 단말(106)로부터, 프로그램 등 콘텐츠를 지정한 VoD 서비스 이용의 요구를 받은 경우, 영상 축적 장치(103), 영상 축적 장치(104) 중 어느 하나, 혹은 양쪽과 통신하여, 이 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 문의한다.
영상 축적 장치(103) 및 영상 축적 장치(104)의 어디에도 축적되어 있지 않은 경우는, 방송 수신 장치(102)는, 방송국(108)에 이 멀티미디어 데이터의 송신 요구를 보내고, 필요하면, 과금 등 적절한 권리 처리를 행한 후, 이 멀티미디어 데이터를 케이블(109)을 경유해 수신하여, 네트워크(107)를 통해, VoD 서비스를 요구한 단말(105) 혹은 단말(106)에, 이 멀티미디어 데이터를 송신한다.
또, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있었던 경우는, 이 멀티미디어 데이터를 축적하고 있는 영상 축적 장치(103) 혹은 영상 축적 장치(104)에, 이 멀티미디어 데이터를, VoD 서비스를 요구한 단말에 송신하도록 요구한다. 이 때, 필요하면, 이 영상 축적 장치와 통신하여, 이 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 행하여, 방송국(108)에 통지한다. 또한, 방송 수신 장치(102)는, VoD 서비스를 요구한 단말에, 이 멀티미디어 데이터를 축적하고 있는 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되는 것을 통지한다.
본 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)는, 방송 수신 장치(102)로부터 속성의 송신 요구를 수신하면, 영상 축적 장치의 내부 에 기억하고 있는 속성을 방송 수신 장치(102)에 송신한다. 영상 축적 장치의 속성이란, VoD 서비스용 멀티미디어 데이터를 축적하는 축적부의 빈 용량, 유저 조작에 의해 축적한 멀티미디어 데이터의 장르마다의 축적 빈도, 재생된 멀티미디어 데이터의 장르마다의 이용 빈도 등과 같은 정보이다.
또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 방송 수신 장치(102)로부터, 멀티미디어 데이터의 축적 요구를 수신하면, 이 멀티미디어 데이터를, 네트워크(107)를 통해, 방송 수신 장치(102)로부터 수신하여, 축적부에 축적한다.
또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 방송 수신 장치(102)로부터, 특정 콘텐츠의 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 수신하면, 축적하고 있는 콘텐츠 데이터를 검색하여, 결과를 회답한다.
또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 방송 수신 장치(102)로부터, 특정 콘텐츠의 멀티미디어 데이터를, 네트워크(107)에 접속된 특정 단말에 송신하는 요구를 수신하면, 이 멀티미디어 데이터를, 네트워크(107)를 통해, 이 단말에 송신한다. 송신을 개시할 때에, 필요하면 방송 수신 장치(102)와 통신하여, 과금 등, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행한다.
본 실시 형태에 있어서의 단말(105) 및 단말(106)은, 유저의 조작에 의해, 방송 수신 장치(102)에 VoD 서비스의 요구를 발행하고, 네트워크(107)를 통해, 멀티미디어 데이터를 수신하여, 이 멀티미디어 데이터의 재생을 행하는 것이다. 이 멀티미디어 데이터가, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있는 경우는, 방송 수신 장치(102)로부터, 이 축적하고 있는 영상 축적 장치가 통지되고, 이 영상 축적 장치로부터 보내어져 오는 멀티미디어 데이터를, 네트워크(107)를 통해 수신한다.
네트워크(107)는, 가정 내에 시설된 홈 네트워크이고, 이더넷(등록 상표), 무선 LAN, 혹은, 동축 케이블을 매체에 사용하는 통신 기술 c.LINK 등에 의해 구성된 IP 네트워크이다.
본 실시 형태에 있어서의 방송국(108) 및 케이블(109)은, VoD 서비스를 제공하는 시설이다.
이상과 같이, 본 발명의 멀티미디어 배포 시스템(101), 방송 수신 장치(102), 영상 축적 장치(103), 영상 축적 장치(104)에 의하면, VoD 서비스에 이용되는 멀티미디어 데이터를, 영상 축적 장치(103) 및 영상 축적 장치(104)에, 적절한 조건으로 분산하여 축적시키는 것이 가능하고, 단말(105) 및 단말(106)로부터 동시에 VoD 서비스 요구가 발행되어도, 영상 축적 장치(103) 및 영상 축적 장치(104)에 축적된 멀티미디어 데이터를 이용함으로써, 불필요한 방송국(108)에 대한 멀티미디어 콘텐츠 데이터 송신 요구나, 케이블(109)의 통신 대역 소비를 저감하는 것이 가능해진다.
이하, 본 발명의 멀티미디어 배포 시스템(101)을 구성하는, 방송 수신 장치(102), 영상 축적 장치(103) 및 영상 축적 장치(104)에 대해 더욱 상세하게 설명한다.
우선, 도 2를 참조하면서, 방송 수신 장치(102)의 상세한 설명을 행한다.
도 2는, 본 발명의 실시 형태 1에 있어서의 방송 수신 장치(102)의 구성의 일례를 도시한 블록도이다.
도 2에 나타낸 방송 수신 장치(102)는, 제어부(201)와, 방송국(108)으로부터 송신되는 멀티미디어 데이터를 수신하는 데이터 수신부(202)와, 네트워크(107)에 접속된 외부 장치와 통신하는 정보 통신부(203)와, 네트워크(107)에 접속된 복수의 영상 축적 장치 중 하나를 선택하는 선택부(204)와, 네트워크(107)에 접속된 외부 장치에 멀티미디어 데이터를 송신하는 데이터 출력부(205)와, 방송국(108)에 멀티미디어 데이터의 송신 요구를 송신하는 요구 송신부(206)와, VoD 서비스에 있어서 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 행하는 권리 처리부(207)와, 네트워크(107)에 접속되는 네트워크 인터페이스(208)와, 케이블(109)과 접속되는 케이블 인터페이스(209)를 구비한다.
제어부(201)를 보다 상세하게 설명한다. 제어부(201)는, 마이크로 프로세서, ROM, RAM 등에 의해 구성되어 있다. ROM, RAM 및 도시 생략의 정보 기억부에는 마이크로 프로세서에서 동작하는 OS, Java VM(Java Virtual Machine) 프로그램, Java 프로그램 라이브러리, Java 어플리케이션 프로그램이 저장되어 있다. 마이크로 프로세서는, 기동시에 OS를 읽어들여 실행한다. 이어서, Java 어플리케이션 기동시에, Java VM을 읽어들여 실행하고, 필요에 따라 Java 프로그램 라이브러리를 읽어들이면서, Java 어플리케이션을 실행한다.
제어부(201)는, 미리 VoD 서비스용의 멀티미디어 데이터를 데이터 수신부(202)로부터 수신할 때에, 정보 통신부(203)에 의해, 네트워크(107)에 접속된 복수의 영상 축적 장치에, 속성의 송신 요구를 송신한다. 이어서, 정보 통신부(203) 에 의해, 각각의 영상 축적 장치로부터 이 속성을 수신한다. 또한, 제어부(201)는, 수신한 영상 축적 장치의 속성 및 이 멀티미디어 데이터의 속성을 선택부에 보내고, 선택부에 지시하여 영상 축적 장치의 하나를 선택시킨다. 또한, 제어부(201)는, 선택한 영상 축적 장치에, 정보 통신부(203)에 의해, 이 멀티미디어 데이터의 축적 요구를 송신한다. 또한, 제어부(201)는, 정보 통신부(203)에 의해, 이 영상 축적 장치로부터 축적 요구를 받아들인 취지를 수신하면, 데이터 출력부(205)에 지시함으로써, 이 멀티미디어 데이터를, 네트워크(107)를 통해, 이 영상 축적 장치에 송신한다.
또한, 제어부(201)는, 정보 통신부(203)로부터, 네트워크(107)에 접속된 단말로부터 VoD 서비스의 요구를 수신하면, 정보 통신부(203)로부터, 네트워크(107)에 접속된 영상 축적 장치에, 이 요구의 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 송신한다. 이어서, 제어부(201)는, 정보 통신부(203)로부터, 각 영상 축적 장치로부터, 이 문의에 관한 회답을 수신한다. 어떤 영상 축적 장치에 이 멀티미디어 데이터가 축적되어 있는 경우는, 이 영상 축적 장치에, 이 멀티미디어 데이터의 VoD 서비스 요구를 발행한 단말로의 송신 요구를 송신한다. 이 때, 제어부(201)는, 필요하면, 이 영상 축적 장치와 통신하여, 권리 처리부(207)에 지시하여, 이 멀티미디어 데이터의 이용에 따른 과금과 같은 권리 처리를 행한다. 또한, 이 단말에는, 이 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되는 것을, 정보 통신부(203)에 의해 통지한다.
데이터 수신부(202)는, 케이블 인터페이스(209)에 접속되어 있고, 케이블 인 터페이스(209)를 경유하여, 방송국(108)으로부터 보내어져 오는 멀티미디어 데이터를 수신하는 것이다. 데이터 수신부(202)는, 대표적으로는 튜너이고, 방송국(108)으로부터 보내어져 온 전파를 수신하여 복호하여, 멀티미디어 데이터를 추출하는 것이다. 또, 방송국(108)으로부터 보내어져 오는 멀티미디어 데이터는, 그것이 유료 콘텐츠라면 스크램블되어 있는 경우도 있지만, 그 경우에는, 데이터 수신부(202)에 의해 복호된다.
방송국(108)으로부터 보내어져 오는 멀티미디어 데이터는, MPEG2로 대표되는 부호화된 디지털 데이터이고, MPEG2-TS(Transport Stream) 형식에 의해 송신된다. MPEG2-TS는, 하나의 스트림 내에 복수의 콘텐츠를 격납할 수 있지만, 데이터 수신부(202)는, 이 스트림으로부터, 하나의 콘텐츠의 멀티미디어 데이터를 선택하는 것이다.
정보 통신부(203)는, 네트워크 인터페이스(208)에 접속되어 있고, 제어부(201)의 지시에 의해, 네트워크(107)에 접속된 외부 기기에 제어 정보를 송신한다. 또, 정보 통신부(203)는, 네트워크 인터페이스(208)에 도달한 방송 수신 장치(102)로 보내는 정보를 수신하여, 제어부(201)에 건넨다. 정보 통신부(202)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스 혹은 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
선택부(204)는, 제어부(201)로부터의 지시에 의해, 멀티미디어 데이터의 속성과, 영상 축적 장치의 속성을 기초로, 네트워크(107)에 접속된 복수의 영상 축적 장치 중 하나를 선택하는 것이다. 선택부(204)는, 대표적으로는, Java 라이브러리 혹은 Java 어플리케이션 프로그램에 포함되는 서브루틴이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
본 실시 형태에서는, 멀티미디어 데이터의 속성으로서, 영화, 드라마, 스포츠 등, 콘텐츠의 장르를 이용한다. 또, 영상 축적 장치의 속성으로서, VoD 데이터용의 축적부의 빈 용량을 이용한다. 선택부(204)는, 우선, 멀티미디어 데이터의 장르에 따라 영상 축적 장치를 선택하고, 이 선택된 영상 축적 장치의 빈 용량이 충분히 없으면, 큰 빈 용량을 갖는 영상 축적 장치를 선택한다.
데이터 출력부(205)는, 네트워크 인터페이스(208)에 접속되어 있고, 제어부(201)의 지시를 받아 동작하며, 멀티미디어 데이터를, 제어부(201)가 지시한 수신처로의 패킷으로 변환하여, 네트워크 인터페이스(208)를 통해 출력하는 것이다. 데이터 출력부(205)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스 혹은 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
요구 송신부(206)는, 제어부(201)의 지시를 받아, VoD 서비스에 있어서의 데이터 송신 요구를, 케이블 인터페이스(209)를 통해 방송국(108)에 송신하는 것이다.
권리 처리부(207)는, 방송국(108)과 통신함으로써, 멀티미디어 데이터의 이용에 따른, 과금 등의 권리 처리를 행하는 것이다. 권리 처리부(207)는, CableCARD를 구비하고 있고, 이 정보를 방송국(108)과의 통신에 있어서 이용한다. 또, 방송국(108)으로부터 보내어진 멀티미디어 데이터가 스크램블되어 있는 경우는, CableCARD의 정보를 제어부(201)에 건넴으로써, 데이터 수신부(202)에서의 복호를 행할 수 있도록 하는 것이다.
네트워크 인터페이스(208)는, Ether 케이블이나 무선 LAN 등 네트워크의 물리 미디어에 따른 인터페이스를 제공하는 하드웨어와 그 드라이버 소프트웨어로 구성되는 것이다.
케이블 인터페이스(209)는, 케이블(109) 경유로 방송국(108)으로부터 보내어져 오는 신호를 수신하고, 그 신호를, 데이터 종별 및 수신처에 따라, 데이터 수신부(202), 요구 송신부(206), 권리 처리부(207)의 각각에, 적합한 신호로 변환하여 분배한다. 또, 요구 송신부(206)와 권리 처리부(207)로부터 방송국(108)으로 보내어지는 데이터를, 케이블(109)에서의 송신에 적합한 신호로 변환하여 송신한다. 예를 들면, 방송국(108)과 요구 송신부(206) 및 권리 처리부(207)가 IP 네트워크의 프로토콜에 따른 통신을 행하는 경우, 케이블 인터페이스(209)는, IP 네트워크와 케이블의 브리지의 역할을 포함하는 것이 된다.
다음에, 도 3을 참조하면서, 본 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)의 상세한 것을 설명한다.
도 3은, 본 발명의 실시 형태 1에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)의 구성의 일례를 도시한 블록도이다.
도 3에 있어서, 301은 제어부를, 302는 멀티미디어 데이터를 축적하는 축적부를, 303은 네트워크(107)에 접속된 외부 장치와 제어 정보를 통신하는 제어 정보 통신부를, 304는 영상 축적 장치의 속성을 기억하는 기억부를, 305는 방송 수신 장치(102)로부터 송신된 멀티미디어 데이터를 수신하는 데이터 수신부를, 306은 네트워크(107)에 접속된 단말(105) 혹은 단말(106)에 축적부(302)에 축적된 멀티미디어 데이터를 송신하는 데이터 송신부를, 307은 데이터 수신부(305)가 수신한 멀티미디어 데이터를 축적부(302)에 기록하는 기록부를, 308은 축적부(302)로부터 멀티미디어 데이터를 독출하는 독출부를, 309는 방송 수신 장치(102)와 통신하여 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 행하는 권리 처리부를, 310은 네트워크(107)와 접속되는 네트워크 인터페이스를 각각 나타낸다.
제어부(301)를 보다 상세하게 설명한다. 제어부(301)는, 마이크로 프로세서, ROM, RAM 등에 의해 구성되어 있다. ROM, RAM 및 도시 생략의 정보 기억부에는 마이크로 프로세서에서 동작하는 OS, Java VM 프로그램, Java 프로그램 라이브러리, Java 어플리케이션 프로그램이 저장되어 있다. 마이크로 프로세서는, 기동시에 OS를 읽어들여 실행한다. 이어서, Java 어플리케이션 기동시에, Java VM을 읽어들여 실행하고, 필요에 따라 Java 프로그램 라이브러리를 읽어들이면서, Java 어플리케이션을 실행한다.
제어부(301)는, 제어 정보 통신부(303)에 의해, 방송 수신 장치(102)로부터 속성의 송신 요구를 수신하면, 기억부(304)에 기억하고 있는 속성 정보를, 제어 정보 통신부(303)로부터 방송 수신 장치(102)로 송신한다. 또, 제어 정보 통신부(303)에 의해, 방송 수신 장치(102)로부터 멀티미디어 데이터의 축적 요구를 수신하면, 데이터 수신부(305)에 지시하여, 방송 수신 장치(102)로부터 송신되는 이 멀티미디어 데이터를, 네트워크(107)를 통해 수신하고, 기록부(307)에 지시하여, 데이터 수신부(305)가 수신한 이 멀티미디어 데이터를, 축적부(302)에 기록시킴으로써, 이 멀티미디어 데이터를 축적부(302)에 축적시킨다. 또, 축적 후에, 제어부(301)는, 기록부(307)로부터 축적부(302)의 빈 용량을 수신하여, 기억부(304)에 기억하고 있는 속성 정보를 갱신한다.
또, 제어부(301)는, 제어 정보 통신부(303)에 의해, 방송 수신 장치(102)로부터, 특정한 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 수신했을 때에, 독출부(308)에 지시하여, 축적부(302)에 축적된 멀티미디어 데이터를 조사함으로써, 이 멀티미디어 데이터를 축적하고 있는지의 여부를 판정하여, 판정 결과를 제어 정보 통신부(303)로부터 방송 수신 장치(102)로 송신한다.
또, 제어부(301)는, 제어 정보 통신부(303)에 의해, 방송 수신 장치(102)로부터, 축적하고 있는 특정한 멀티미디어 데이터의 출력 요구와 출력처 단말을 수신했을 때에, 독출부(308)에 지시하여 이 멀티미디어 데이터를 축적부(302)로부터 독출시키고, 또한, 데이터 송신부(306)에 지시하여 독출부(308)가 독출한 이 멀티미디어 데이터를, 이 출력처 단말에 송신시킨다. 또, 이 때, 필요하면, 권리 처리부(309)에 지시하여 방송 수신 장치(102)와 통신시켜, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행한다. 권리 처리에 의해, 이 멀티미디어 데이터의 이용이 허가되지 않은 경우는, 이 멀티미디어 데이터의 이 출력처 단말에 대한 송신을 행하지 않도록 제어한다.
축적부(302)는, 하드 디스크 드라이브로 대표되는, 대용량을 갖는 디지털 데 이터의 축적 장치와, 그 드라이버 소프트웨어로 구성되는 것이다.
제어 정보 통신부(303)는, 네트워크 인터페이스(310)에 접속되어 있고, 네트워크 인터페이스(310)에 도달한 이 영상 축적 장치로 보내는 제어 정보를 수신하여, 제어부(301)에 건넨다. 또, 제어부(301)의 지시에 의해, 제어부(301)로부터 건네어진 제어 정보를, 지정된 외부 장치에, 네트워크 인터페이스(310)를 통해 송신한다. 제어 정보 통신부(303)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스 혹은 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
기억부(304)는, 플래시 메모리나 HDD 등의 기억 장치 혹은 그 일부에 의해 구성되는 것이고, 제어부(301)로부터의 지시를 받아, 제어부(301)로부터 수취한 데이터를 기억하는 것이다.
데이터 수신부(305)는, 네트워크 인터페이스(310)에 접속되어 있고, 제어부(301)의 지시를 받아 동작하는 것으로, 방송 수신 장치(102)로부터 송신된 멀티미디어 데이터를, 네트워크 인터페이스(310)를 통해 수신하는 것이다. 데이터 수신부(305)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스 혹은 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
데이터 송신부(306)는, 네트워크 인터페이스(310)에 접속되어 있고, 제어부(301)의 지시를 받아 동작하는 것으로, 독출부(308)가 독출한 멀티미디어 데이터를, 제어부(301)가 지정한 네트워크(107)에 접속된 외부 장치에 대한 패킷으로 변 환하여, 네트워크 인터페이스(310)를 통해 출력하는 것이다. 데이터 송신부(306)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스 혹은 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
기록부(307)는, 제어부(301)로부터의 지시를 받아 동작하여, 축적부(302)에 데이터를 기록하는 것이다. 기록부(307)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 파일 액세스 인터페이스를 이용한 소프트웨어 서브루틴이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
독출부(308)는, 제어부(301)로부터의 지시를 받아 동작하여, 축적부(302)에 축적된 멀티미디어 데이터를 독출하는 것이다. 독출부(308)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 파일 액세스 인터페이스를 이용한 소프트웨어 서브루틴이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
권리 처리부(309)는, 네트워크 인터페이스(310)와 접속되어 있고, 제어부(301)의 지시를 받아 동작하는 것으로, 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를, 방송 수신 장치(102)와 통신함으로써 행하는 것이다. 권리 처리부(309)는, 방송 수신 장치(102)에, 이용하는 멀티미디어 데이터를 특정하는 식별자를 송신하고, 방송 수신 장치(102)로부터의 회답을 수취하여, 제어부(301)에 건넨다. 이 회답이란, 이 멀티미디어 데이터 이용의 허가 혹은 거절이다.
네트워크 인터페이스(310)는, Ether 케이블이나 무선 LAN 등 네트워크의 물리 미디어에 따른 인터페이스를 제공하는 하드웨어와 그 드라이버 소프트웨어로 구성되는 것이다.
도 4는, 본 발명의 실시 형태에 있어서의 방송 수신 장치(102)의 선택부(204)가 실행하는 처리의 일례를 도시한 흐름도이다. 본 도면은, 멀티미디어의 속성의 일례로서, 콘텐츠의 장르를 이용하여, 영상 축적 장치의 속성의 일례로서 각 영상 축적 장치에 구비되어 있는 축적부(302)의 빈 용량을 이용하는 경우의 처리를 나타낸다.
선택부(204)는, 제어부(201)로부터의 지시에 의해, 콘텐츠의 장르를 취득한다(S11).
선택부(204)는, 취득한 장르에 관련지어져 있는 영상 축적 장치를 선택한다(S12).
선택부(204)는, 제어부(201)로부터의 지시에 의해, 장르에 의한 축적처 선택 처리(S12)에 있어서 선택된 각 영상 축적 장치가 구비하는 축적부(302)의 빈 용량을 취득하고, 취득한 빈 용량이 축적되는 콘텐츠를 포함한 데이터를 축적하기 위해 충분한지의 여부를 판단한다(S13).
빈 용량이 충분하다고 판단한 경우(S13에서 Y), 선택부(204)는 그 영상 축적 장치를 축적처로서 선택하고(S15), 처리를 종료한다.
빈 용량이 충분하지 않다고 판단한 경우(S13에서 N), 빈 용량이 가장 많은 영상 축적 장치를 축적처로서 선택하고(S14), 처리를 종료한다.(실시 형태 1의 변 형예)
본 발명을 상기 실시 형태 1에 의거하여 설명해 왔지만, 본 발명은, 상기 실시 형태에 한정되는 것은 아니다. 이하와 같은 경우도, 본 발명에 포함된다.
(1) 방송 수신 장치(102)는, 멀티미디어 데이터를 축적하는 축적부와, 축적부에 멀티미디어 데이터를 기록하는 기록부를 더 구비하고, 선택부(204)는, 방송 수신 장치(102)의 축적부와, 네트워크(107)에 접속된 영상 축적 장치 중 하나를 선택하는 구성이어도 된다. 또, 방송 수신 장치(102)는, 또한, 단말로부터 VoD 서비스의 요구를 받았을 때에, 네트워크(107)에 접속된 영상 축적 장치와, 방송 수신 장치(102)의 축적부에, 이 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 검색하여, 방송 수신 장치(102)의 축적부에 축적되어 있는 경우는, 이 멀티미디어 데이터를 이 VoD 서비스의 요구를 발행한 단말에 송신하는 구성이어도 된다.
도 5는, 본 발명의 실시 형태 1의 변형예에 있어서의 방송 수신 장치의 구성을 도시한 블록도이다.
도 5에 나타낸 방송 수신 장치(102)는, 기록부(401)와, 축적부(402)와, 축적부(402)에 축적된 멀티미디어 데이터를 독출하는 독출부(403)와, 제어부(201)와, 데이터 수신부(202)와, 정보 통신부(203)와, 선택부(204)와, 요구 송신부(206)와, 권리 처리부(207)와, 네트워크 인터페이스(208)와, 케이블 인터페이스(209)를 구비한다. 제어부(201)와, 데이터 수신부(202)와, 정보 통신부(203)와, 선택부(204)와, 요구 송신부(206)와, 권리 처리부(207)와, 네트워크 인터페이스(208)와, 케이블 인터페이스(209)는, 상기 실시 형태에서 설명한 것과 동일하지만, 이하의 점이 다르다. 제어부(201)는, 미리 VoD 서비스용의 멀티미디어 데이터를 데이터 수신부(202)로부터 수신할 때에, 영상 축적 장치(103) 및 영상 축적 장치(104)로부터 속성을 수신함과 더불어, 방송 수신 장치(102)의 속성도 독출한다. 방송 수신 장치(102)의 속성이란, 상기 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)의 속성 정보와 동일한 것이다. 또한, 제어부(201)는, 영상 축적 장치의 속성과 함께, 방송 수신 장치(102)의 속성도 선택부(204)에 송신한다. 선택부(204)는, 그 속성을 기초로, 영상 축적 장치(103), 방송 축적 장치(104) 혹은 축적부(402)의 선택을 행하는 것이다.
기록부(401)는, 상기 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)의 기록부(307)와 동일한 것이다. 또, 축적부(402)는, 상기 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)의 축적부(302)와 동일한 것이다. 또, 독출부(403)는, 상기 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)의 독출부(308)와 동일한 것이다.
(2) 또, 방송 수신 장치(102)는, 멀티미디어 데이터에 소정의 암호화를 행하여, 영상 축적 장치(103) 및 영상 축적 장치(104)에, 암호화된 멀티미디어 데이터를 송신하는 구성이어도 된다. 또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 수신한 암호화된 멀티미디어 데이터를 복호하여, 축적부(302)에 축적하는 구성이어도 되고, 또한, 소정의 암호화를 실시하여 축적하는 구성이어도 된다.
또, 방송 수신 장치(102), 영상 축적 장치(103) 및 영상 축적 장치(104)는, 단말(105) 및 단말(106)에 멀티미디어 데이터를 송신할 때에, 이 멀티미디어 데이 터의 소정의 암호화를 실시하여, 암호화된 멀티미디어 데이터를 송신하고, 단말(105) 및 단말(106)에 있어서, 수신한 암호화된 멀티미디어 데이터를 복호하여 재생하는 구성이어도 된다.
(3) 또, 상기 실시 형태에 있어서는, 방송 수신 장치(102)의 선택부(204)는, 멀티미디어 데이터의 장르와, 영상 축적 장치의 빈 용량을 기초로, 영상 축적 장치의 선택을 행하는 것으로 하였지만, 이들 조건에 한정되지 않는 것은 말할 필요도 없다.
예를 들면, 방송 수신 장치(102)는, 영상 수신 장치를 순서대로 선택하는 구성이어도 된다. 또, 유저에 의해 설정된 영상 축적 장치의 우선도에 따라 선택하는 구성이어도 된다. 또, 멀티미디어 데이터의 장르만으로 선택해도 된다. 또, 영상 축적 장치의 빈 용량만으로 선택해도 된다. 또한, 영상 축적 장치의 이용 빈도에 따라 선택해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 축적된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다.
또한, 영상 축적 장치에 유저의 조작에 의해 재생 혹은 출력된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다.
또한, 예를 들면, 단말(105)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(103)를, 단말(106)에서 이용되는 빈도가 높은 멀티미디어 데이 터라면 영상 축적 장치(104)를, 각각 선택하는 것과 같은, 단말과의 조합에 의한 선택을 행해도 된다.
또한, 유저에 의해 설정된 단말의 우선도로부터, 조합된 영상 축적 장치를 선택해도 된다. 또, 유저에 의해 이용된 단말의 이용 빈도, 또는, 유저에 의해 이용된 각 단말의 장르마다의 이용 빈도로부터, 그것에 조합된 영상 축적 장치를 선택해도 된다.
(4) 또, 상기 실시 형태에 있어서는, 방송 수신 장치(102)가, 영상 축적 장치(103) 및 영상 축적 장치(104)와 통신함으로써, VoD 서비스 요구가 있었던 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 판정하는 것으로 하였지만, 방송 수신 장치(102)가, 영상 축적 장치(103) 및 영상 축적 장치(104)에 축적시킨 멀티미디어 데이터를 기억해 두고, 그 내용으로부터 판정하는 구성이어도 된다.
(5) 또, 상기 실시 형태에 있어서는, 방송국(108)으로부터 케이블(109)을 경유하여 멀티미디어 데이터가 송신되는 것으로 하였지만, 인터넷과 같은 IP 네트워크 등, 다른 통신로를 이용하여 송신되는 형태여도 된다. 또, 멀티미디어 데이터의 제공처를, 케이블 TV 등의 방송국으로 하고 있지만, 예를 들면, 인터넷 상의 콘텐츠 배포 업자 등, 다른 형태의 데이터 배포를 행하는 것도 포함된다.
(6) 또, 상기 실시 형태에 있어서는, 단말로부터 요구가 있었던 VoD 서비스용의 멀티미디어 데이터가, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(102)는, 축적하고 있는 영상 축적 장치에, 이 VoD 서비스를 요구한 단말에 대한 이 멀티미디어 데이터의 송신 요 구를 발행하고, 이 단말에는, 이 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되어 오는 것을 통지하는 것으로 하였지만, 방송 수신 장치(102)는, 이 영상 축적 장치와 과금 등의 권리 처리를 행하여, 이 단말에 이 영상 축적 장치를 통지하고, 이 단말로부터 이 영상 축적 장치에, 이 멀티미디어 데이터의 송신 요구를 발행하는 구성이어도 된다.
(7) 또, 상기 실시 형태에 있어서는, 단말로부터 요구가 있었던 VoD 서비스용의 멀티미디어 데이터가, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(102)와 이 영상 축적 장치가 통신하여, 과금 등 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 것으로 하였지만, 방송 수신 장치(102)와, VoD 서비스를 요구한 단말이 통신하여, 상기 권리 처리를 행하는 구성이어도 된다. 혹은, 영상 축적 장치 및 단말과 통신하지 않고, 방송 수신 장치(102)가 권리 처리를 행하는 구성이어도 된다.
또, 상기 실시 형태에 있어서는, 멀티미디어 데이터의 이용에 따른, 과금 등의 권리 처리를, 멀티미디어 데이터의 송신 요구를 발행할 때에 행하는 것으로 하였지만, 멀티미디어 데이터의 이용 종료 후에 행하는 구성이어도 된다. 또, 이 멀티미디어 데이터의 이용 회수나, 이용 구간 등에 따라, 과금하는 금액을 바꾸는 구성이어도 된다.
(8) 또, 상기 실시 형태에 있어서는, 하나의 멀티미디어 데이터는, 하나의 영상 축적 장치에 축적하는 것으로 하였지만, 이 멀티미디어 데이터를 분할하여, 복수의 영상 축적 장치에 분산하여 축적하는 구성이어도 된다. 혹은, 하나의 멀티 미디어 데이터를 복수의 영상 축적 장치에 동시에 축적하는 구성이어도 된다. 이에 의해, 복수의 단말로부터 동일한 멀티미디어 데이터의 요구가 있었던 경우에, 영상 축적 장치가 이 단말에 영상을 송신하는 부하를 분산하는 것이 가능해진다.
(9) 또, 방송 수신 장치(102)는, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 방송 수신 장치(102)는, 송신하는 멀티미디어 데이터를 일단 복호하고, 상기 부호화부에 의해 새롭게 멀티미디어 데이터를 생성하여 송신하는 구성이어도 된다. 또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 멀티미디어 데이터를 복호하는 복호부와, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 수신한 멀티미디어 데이터를 상기 복호부에서 일단 복호하고, 상기 부호화부에서 새롭게 멀티미디어 데이터를 생성하여 축적하는 구성이어도 된다.
(10) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 1개의 시스템 LSI(Large Scale Integration : 대규모 집적 회로)로 구성되어 있는 것으로 해도 된다. 시스템 LSI는, 복수의 구성부를 1개의 칩 상에 집적하여 제조된 초다기능 LSI이고, 구체적으로는, 마이크로 프로세서, ROM, RAM 등을 포함하여 구성되는 컴퓨터 시스템이다. 상기 RAM에는, 컴퓨터 프로그램이 기억되어 있다. 상기 마이크로 프로세서가, 상기 컴퓨터 프로그램에 따라 동작함으로써, 시스템 LSI는, 그 기능을 달성한다.
(11) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 각 장치에 탈착 가능한 IC 카드 또는 단체(單體)의 모듈로 구성되어 있는 것으로 해도 된다. 상기 IC 카드 또는 상기 모듈은, 마이크로 프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 상기 IC 카드 또는 상기 모듈은, 상기의 초다기능 LSI를 포함하는 것으로 해도 좋다. 마이크로 프로세서가, 컴퓨터 프로그램에 따라 동작함으로써, 상기 IC 카드 또는 상기 모듈은, 그 기능을 달성한다. 이 IC 카드 또는 이 모듈은, 내탬퍼성을 갖는 것으로 해도 된다.
(12) 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기에 나타낸 방법인 것으로 해도 된다. 또, 이들 방법을 컴퓨터에 의해 실현하는 컴퓨터 프로그램인 것으로 해도 되고, 상기 컴퓨터 프로그램으로 이루어지는 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지컬 신호를 컴퓨터 판독 가능한 기록 매체, 예를 들면, 플렉시블 디스크, 하드 디스크, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD(Blu-ray(등록 상표) Disc), 반도체 메모리 등에 기록한 것으로 해도 된다. 또, 이들 기록 매체에 기록되어 있는 상기 컴퓨터 프로그램 또는 상기 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를, 전기 통신 회선, 무선 또는 유선 통신 회선, 인터넷을 대표로 하는 네트워크, 데이터 방송 등을 경유하여 전송하는 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 마이크로 프로세서와 메모리를 구비한 컴퓨터 시스템으로서, 상기 메모리는, 상기 컴퓨터 프로그램을 기억하고 있고, 상기 마이크로 프로세서는, 상기 컴퓨터 프로그램에 따라 동작하는 것 으로 해도 된다.
또, 상기 프로그램 또는 상기 디지털 신호를 상기 기록 매체에 기록하여 이송함으로써, 또는 상기 프로그램 또는 상기 디지털 신호를 상기 네트워크 등을 경유하여 이송함으로써, 독립한 다른 컴퓨터 시스템에 의해 실시하는 것으로 해도 된다.
(13) 상기 실시 형태 및 상기 변형예를 각각 조합하는 것으로 해도 된다.
(실시 형태 2)
실시 형태 2에 있어서의 멀티미디어 배포 시스템의 구성은, 도 1에 나타낸, 상기 실시 형태 1에 있어서의 구성도와 동일하므로, 설명을 생략한다.
도 6은, 본 발명의 실시 형태 2에 있어서의 방송 수신 장치(102)를 구성하는 구성 요소의 관계를 나타낸 블록도이다. 본 실시 형태의 방송 수신 장치(102)는, 입력부(501), 제1 메모리(502), 제2 메모리(503), 수신부(504), 다중 분리부(505), 디스크램블러(506), TS 디코더(507), 영상 출력부(508), 음성 출력부(509), TS 멀티플렉서(510), 네트워크부(511), CPU(512)로 구성된다.
입력부(501)는, 프론트 패널이나 리모콘 수광기 등으로 구성되고, 유저로부터의 채널 선택 등의 지시를 받아들인다.
도 7은, 프론트 패널로 입력부(501)를 구성한 경우의 일례이다. 600은 프론트 패널이고, 상측 커서 버튼(601), 하측 커서 버튼(602), 좌측 커서 버튼(603), 우측 커서 버튼(604), OK 버튼(605), 취소 버튼(606), EPG 버튼(607), 시어터 버튼(608)의 8개의 버튼을 구비하고 있다. 유저가 버튼을 누르면, 눌러진 버튼의 식 별자가 CPU(512)에 통지된다.
제1 메모리(502)는 RAM 등으로 구성되고, CPU(512)가 일시적으로 데이터를 저장할 때에 사용된다.
제2 메모리(503)는, 플래시 메모리, 하드 디스크 등에서 전원이 정지해도 정보를 유지 가능한 디바이스로 구성되고, CPU(512)가 실행하는 프로그램을 저장한다. 제2 메모리는, SD 메모리 카드 등의 분리 가능한 기억 디바이스를 이용해도 된다.
수신부(504)는, 케이블 TV국(108)으로부터의 케이블에 접속되어 방송파를 수신하고, CPU(512)로부터 지정된 주파수로 튜닝해, MPEG 트랜스포트 스트림을 추출하여, 다중 분리부(505)에 건넨다.
다중 분리부(505)는, 수신부(504)로부터 MPEG 트랜스포트 스트림을 수취하고, CPU(512)로부터 지정된 정보를 추출하여 CPU(512)에 건넨다. 또 MPEG 트랜스포트 스트림을 그대로 디스크램블러(506)에 건넨다.
디스크램블러(506)는, 다중 분리부(505)로부터 부여된 스크램블되어 있는 MPEG 트랜스포트 스트림을 디스크램블(=복호)하여, TS 디코더(507)에 건넨다. 디스크램블러(506)는, 방송 수신 장치(102)에 내장된 모듈이어도 되고, 북미 케이블 수신기로 도입되어 있는 CableCARD(TM)로도 실시 가능하다. CableCARD의 사양은 미국 CableLabs이 책정한 CableCARD Interface Specification에 기재되어 있고, 여기에서는 설명을 생략한다.
TS 디코더(507)는, CPU(512)로부터 음성 데이터, 영상 데이터, PSI/SI 정보 등의 섹션 데이터의 식별자를 수취한다. 또한, 디스크램블러(506)로부터 수취한 디스크램블된 스트림으로부터, 수취한 음성 데이터, 영상 데이터, PSI/SI 정보 등의 섹션 데이터의 식별자에 대응하는 데이터를 추출하여, 추출한 영상 데이터를 영상 출력부(508)에, 음성 데이터를 음성 출력부(509)에 건넨다. 또, 그 양쪽과, 섹션 데이터를, TS 멀티플렉서(510)에 건넨다.
영상 출력부(508)는 영상 출력 단자를 포함하고, 수취한 영상 데이터를 단자에 대응한 영상 데이터로 변환하여 출력한다. 단자의 예로서는, 콤퍼지트 케이블 단자 등이 있다.
음성 출력부(509)는 음성 출력 단자를 포함하고, 수취한 음성 데이터를 단자에 대응한 음성 데이터로 변환하여 출력한다. 단자의 예로서는, 이어폰 단자나, 콤퍼지트 케이블 단자 등이 있다.
TS 멀티플렉서(510)는, 수취한 영상 데이터, 음성 데이터, 섹션 데이터로 MPEG2 트랜스포트 스트림을 구성하고, 이 MPEG2 트랜스포트 스트림을 네트워크부(511)에 건넨다. PSI/SI 정보는 필요에 따라 고쳐써진다.
네트워크부(511)는, 네트워크 인터페이스를 포함하고, CPU(512)로부터 수취한 데이터를, 네트워크 인터페이스가 접속된 네트워크의 물리 미디어에 따른 신호로 변환하여 출력한다. 또, 네트워크 인터페이스로부터 신호를 수신하여, IP 네트워크에서 규정된 패킷으로 변환하여, CPU(512)에 건넨다.
CPU(512)는, 제2 메모리(503)가 기억하는 프로그램을 실행함으로써, 수신부(504), 다중 분리부(505), 디스크램블러(506), TS 디코더(507), TS 멀티플렉 서(510), 네트워크부(511)를 제어한다.
도 8은, 본 발명의 실시 형태 2에 있어서의 방송 수신 장치가 유지하고, 실행하는 프로그램의 구성을 나타낸 도면이다. 본 도면은, 제2 메모리(503)에 기억되고, CPU(512)에 실행되는 프로그램의 구성의 일례를 나타낸 도면이다.
프로그램(700)은, 복수의 서브 프로그램으로 구성되고, 구체적으로는 OS(701), EPG(702), JavaVM(703), 서비스 매니저(704), Java 라이브러리(705)로 구성된다.
OS(701)는, 방송 수신 장치(102)의 전원이 투입되면, CPU(512)가 기동하는 서브 프로그램이다. OS(701)는, 오퍼레이팅 시스템의 약자이고, Linux 등이 일례이다. OS(701)는, 다른 서브 프로그램을 평행하게 실행하는 커널(701a) 및 라이브러리(701b)로 구성되는 공지의 기술의 총칭이고, 상세한 설명은 생략한다. 본 실시 형태에 있어서는, OS(701)의 커널(701a)은, EPG(702)와 JavaVM(703)을 서브 프로그램으로서 실행한다. 또, 라이브러리(701b)는, 이들 서브 프로그램에 대해, 방송 수신 장치(102)가 유지하는 구성 요소를 제어하기 위한 복수의 기능을 제공한다.
본 실시 형태에서는, 라이브러리(701b)는 기능의 일례로서, 튜너(701b1), 한정 해제(701b2), AV 재생(702b3), NET(701b4)을 포함한다.
튜너(701b1)는, 다른 서브 프로그램이나 Java 라이브러리(705)의 Tuner(705c)로부터 주파수를 포함하는 튜닝 정보를 수취하여, 수신부(704)에 건넨다. 수신부(704)는 부여된 튜닝 정보에 의거하여 복조 처리를 행하고, 복조한 데 이터를 다중 분리부(705)에 건넬 수 있다. 이 결과, 다른 서브 프로그램 및 Java 라이브러리(705)의 Tuner(705c)는 라이브러리(401b)를 통해 수신부(504)를 제어할 수 있다.
한정 해제(702b2)는, 다른 서브 프로그램이나 Java 라이브러리(705)의 CA(705d)로부터 정보를 수취하여, 디스크램블러(506)에 건넨다.
AV 재생(702b3)은, 다른 서브 프로그램이나 Java 라이브러리(705)의 JMF(705a)로부터, 음성의 패킷 ID와 영상의 패킷 ID를 수취한다. 수취한 음성의 패킷 ID와 영상의 패킷 ID를, TS 디코더(707)에 부여한다. 이 결과, TS 디코더(707)는 부여된 패킷 ID에 의거해, 필터링을 행하여, 영상·음성의 재생을 실현한다.
NET(701b4)은, 다른 서브 프로그램이나 Java 라이브러리(705)의 네트워크 라이브러리(705e)로부터 수취한 데이터를, IP 네트워크에서 규정되는 어플리케이션층보다 아래의 프로토콜 패킷을 작성한다. 어플리케이션층보다 아래의 프로토콜이란, 예를 들면 TCP 패킷, UDP 패킷, IP 패킷 등이다. 이것을 네트워크부(511)에 건넴으로써, 네트워크(107)를 통해 다른 기기에 메시지 및 데이터를 송신한다. 또, 네트워크(107)를 통해 다른 기기로부터 메시지를 수신했을 때에, 다른 서브 프로그램이나 Java 라이브러리(705)의 네트워크 라이브러리(705e)에, 어플리케이션층의 프로토콜 패킷으로 변환하여 건넨다. 어플리케이션층의 프로토콜이란, 예를 들면, HTTP나 RTP 등이다.
EPG(702)는, 유저에게 프로그램 일람을 표시, 및 유저로부터의 입력을 받아 들이는 프로그램 표시부(702a)와, 채널 선국을 행하는 재생부(702b)로 구성된다. 여기에서, EPG는 Electric Program Guide의 약자이다. EPG(702)는, 방송 수신 장치(102)의 전원이 투입되면, 커널(701a)에 의해 기동된다. 기동된 EPG(702)의 내부에서는, 프로그램 표시부(702a)와 재생부(702b)가 동시에 기동된다. 프로그램 표시부(702a)는 기동되면, 방송 수신 장치(102)의 입력부(501)를 통해, 유저로부터의 입력을 갖는다. 여기에서, 입력부(501)가 도 7에 나타내어진 프론트 패널로 구성되어 있는 경우, 유저가, 입력부(501)의 EPG 버튼(607)을 누르면, EPG 버튼의 식별자가 CPU(512)에 통지된다. CPU(512) 상에서 동작하는 서브 프로그램인 EPG(502)의 프로그램 표시부(502a)는, 이 식별자를 수취하여, 프로그램 정보 표시 데이터를 작성하고, 도시 생략의 모니터 출력부에 의해 모니터(810)에 출력한다. 모니터(810)는, 방송 수신 장치(102)가 구비하는 것이어도 되고, 방송 수신 장치(102)와 콤퍼지트 케이블이나 HDMI 케이블 등으로 접속된 TV여도 된다. 모니터(810)는, 수신한 프로그램 정보 표시 데이터를 표시한다. 도 9(a) 및 (b)는, 모니터(810)에 표시된 프로그램표의 일례를 나타낸 도면이다. 도 9(a)에 나타낸 모니터(810)에는, 격자형상으로 프로그램 정보가 표시되어 있다. 열 801에는, 시각 정보가 표시되어 있다. 열 802에는, 채널명 「채널 1」과, 열 801의 시각에 대응하는 시간대에 방영되는 프로그램이 표시되어 있다. 「채널 1」에서는, 9:00∼10:30에 프로그램 「뉴스 9」가 방영되고, 10:30∼12:00는 「영화 AAA」가 방영되는 것을 나타낸다. 열 803도 열 802와 동일하게, 채널명 「채널 2」와, 열 801의 시각에 대응하는 시간대에 방영되는 프로그램이 표시되어 있다. 9:00∼11:00에 프 로그램 「영화 BBB」가 방영되고, 11:00∼12:00는 「뉴스 11」이 방영된다. 830은 커서이다. 커서(830)는, 프론트 패널(600)의 좌측 커서(603)와 우측 커서(604)를 누르면 이동한다. 도 9(a)의 상태로, 우측 커서(604)를 누르면, 커서(830)는 오른쪽으로 이동하여, 도 9(b)와 같이 된다. 또, 도 9(b)의 상태로, 좌측 커서(603)를 누르면, 커서(830)는 왼쪽으로 이동하여, 도 9(a)와 같이 된다.
도 9(a)의 상태로, 프론트 패널(600)의 OK 버튼(605)이 눌러지면, 프로그램 표시부(702a)는, 「채널 1」의 식별자를 재생부(702b)에 통지한다. 도 9(b)의 상태로, 프론트 패널(600)의 OK 버튼(605)이 눌러지면, 프로그램 표시부(702a)는, 「채널 2」의 식별자를 재생부(702b)에 통지한다.
또, 프로그램 표시부(702a)는, 표시하는 프로그램 정보를, 다중 분리부(505)를 통해 정기적으로 제2 메모리(503)에 기억해 둔다. 일반적으로, 방송국으로부터의 프로그램 정보의 취득은 시간이 걸린다. 입력부(501)의 EPG 버튼(607)이 눌러졌을 때, 제2 메모리(503)에 미리 저장된 프로그램 정보를 표시함으로써, 재빨리 프로그램표를 표시할 수 있다.
도 10은, 본 발명의 실시 형태 2에 따른 제2 메모리(503)에 격납되어 있는 프로그램 정보의 일례를 나타낸 도면이다. 프로그램 정보는 표 형식으로 격납되어 있다. 열 901은 채널의 식별자이다. 열 902는 프로그램명이다. 열 903은 프로그램의 방송 개시 시간, 열 904는 방송 종료 시간이다. 열 905는 프로그램의 음성 종별을 나타내고 있고, 모노럴 음성, 스테레오 음성, 5.1채널 음성을 각각 「모노럴」, 「스테레오」, 「5.1」로 표기하고 있다. 열 906은 프로그램의 종별을 나타 내고 있다. 통상 프로그램은 공란이고, 「영화」는 영화, 「스포츠」는 스포츠 프로그램을 나타낸다. 행 911∼914의 각 행은, 각각 하나의 프로그램 정보를 나타낸다. 이 예에서는, 하나의 프로그램 정보는, 채널의 식별자, 프로그램명, 방송 개시 시간, 방송 종료 시간, 프로그램의 음성 종별의 조가 된다. 예를 들면, 행 911은 채널 식별자가 「1」, 프로그램명이 「뉴스 9」, 방송 개시 시간이 「9:00」, 방송 종료 시간이 「10:30」, 음성 종별이 「모노럴」, 프로그램의 종별은 「통상」을 포함하는 조로 되어 있다.
재생부(702b)는, 수취한 채널의 식별자를 이용하여 채널을 재생한다. 즉 채널을 구성하는 영상과 음성을 재생한다. 채널의 식별자와 채널의 관계는, 채널 정보로서, 제2 메모리(503)에 미리 격납되어 있다.
도 11은, 본 발명의 실시 형태 2에 따른 제2 메모리(503)에 격납되어 있는 채널 정보의 일례이다. 채널 정보는 표 형식으로 격납되어 있다. 열 1001은 채널의 식별자이다. 열 1002는 채널명이다. 열 1003은 튜닝 정보이다. 여기에서, 튜닝 정보는 주파수나 전송 레이트, 부호화율 등을 포함하여, 수신부(504)에 부여하는 값이다. 열 1004는 프로그램 넘버이다. 프로그램 넘버란, MPEG2 규격으로 규정되어 있는 PMT를 식별하기 위한 번호이다. PMT에 관해서는 후술한다. 행 1011∼1014의 각 행은, 각 채널의 식별자, 채널명, 튜닝 정보의 조가 된다. 행 1011은 식별자가 「1」, 채널명이 「채널 1」, 튜닝 정보에 주파수 「150MHz」, 프로그램 넘버가 「101」을 포함하는 조로 되어 있다. 재생부(702b)는, 채널의 재생을 행하기 위해, 수취한 채널의 식별자를 그대로 서비스 매니저에 건넨다.
또, 재생부(702b)는, 재생 중에, 유저가 프론트 패널(600)의 상측 커서(601)와 하측 커서(602)를 누르면, 입력부(501)로부터 CPU(512)를 통해, 눌러진 통지를 수취하여, 재생하고 있는 채널을 변경한다. 상측 커서(601)를 누르면, 현재 재생 중인 채널보다 하나 작은 채널 식별자를 갖는 채널을 재생하고, 또 하측 커서(602)를 누르면, 현재 재생 중인 채널보다 하나 큰 채널 식별자를 갖는 채널을 재생한다. 우선, 재생부(702b)는, 제2 메모리(503)에 현재 재생 중인 채널의 식별자를 기억한다.
도 12(a)(b) 및 (c)는, 각각, 본 발명의 실시 형태 2에 따른 제2 메모리(503)에 격납되어 있는 채널의 식별자를 나타낸 정보의 예이다. 도 12(a)에서는 식별자 「3」이 기억되어 있고, 도 11을 참조하여, 채널명 「TV 3」의 채널이 재생 중인 것을 나타낸다. 도 12(a)의 상태로, 유저가 상측 커서(601)를 누르면 재생부(702b)는, 도 11의 채널 정보를 참조하여, 표 중에서 현재 재생 중인 채널보다 하나 작은 식별자를 갖는 채널인 채널명 「채널 2」의 채널로 재생을 전환하기 위해, 서비스 매니저에 채널명 「채널 2」의 식별자 「2」를 건넨다. 동시에, 제2 메모리(503)에 기억되어 있는 채널 식별자 「2」로 고쳐쓴다. 도 12(b)는, 채널 식별자가 고쳐써진 상태를 나타낸다. 또, 도 12(a)의 상태로, 유저가 하측 커서(602)를 누르면 재생부(702b)는, 도 11의 채널 정보를 참조하여, 표 중에서 현재 재생 중인 채널보다 하나 큰 식별자를 갖는 채널인 채널명 「TV Japan」의 채널로 재생을 전환하기 위해, 서비스 매니저에 채널명 「TV Japan」의 식별자 「4」를 건넨다. 동시에, 제2 메모리(503)에 기억되어 있는 채널 식별자 「4」로 고쳐쓴다. 도 12(c)는, 채널 식별자가 고쳐써진 상태를 나타낸다. 채널 식별자는, 제2 메모리(503)에 기억되어 있으므로, 방송 수신 장치(102)의 전원이 끊어졌을 때에도 저장되어 있다.
또한 재생부(702b)는, 방송 수신 장치(102)의 전원이 투입되었을 때에, 기동되면, 제2 메모리(503)에 기억되어 있는 채널 식별자를 독출한다. 그리고, 그 채널 식별자를 서비스 매니저에 건넨다. 이에 의해, 방송 수신 장치(102)는, 전원 투입시에 전회의 가동시에 재생되어 있었던 마지막 채널의 재생을 개시할 수 있다.
JavaVM(703)은, Java(TM) 언어로 기술된 프로그램을 순차적으로 해석하여 실행하는 Java 버추얼 머신이다. Java 언어로 기술된 프로그램은 바이트 코드라고 불리는, 하드웨어에 의존하지 않는 중간 코드로 컴파일된다. Java 버추얼 머신은, 이 바이트 코드를 실행하는 인터프리터이다. 또, 일부의 Java 버추얼 머신은, 바이스 코드를 CPU(512)가 이해 가능한 실행 형식으로 번역한 후, CPU(512)에 건네어, 실행하는 일도 행한다. JavaVM(703)은, 커널(701a)에 실행하는 Java 프로그램을 지정받아 기동된다. 본 실시 형태에서는, 커널(701a)은, 실행하는 Java 프로그램으로서 서비스 매니저(704)를 지정한다. Java 언어의 상세한 것은, 서적 「Java Language Specification(ISBN 0-201-63451-1)」 등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 것을 생략한다. 또, JavaVM 자체의 상세한 동작 등은, 「Java Virtual Machine Specification(ISBN 0-201-63451-X)」 등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 설명을 생략한다.
서비스 매니저(704)는, Java 언어로 쓰여진 Java 프로그램이고, JavaVM(703) 에 의해 순차적으로 실행된다. 서비스 매니저(704)는, JNI(Java Native Interface)를 통해, Java 언어로 기술되어 있지 않은 다른 서브 프로그램을 호출하거나 또는, 호출되거나 하는 것이 가능하다. JNI에 관해서도, 서적 「Java Native Interface」 등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 설명을 생략한다.
서비스 매니저(704)는, JNI를 통해, 재생부(702b)로부터 채널의 식별자를 수취한다.
서비스 매니저(704)는, 처음에 Java 라이브러리(705) 중에 있는 Tuner(705c)에, 채널의 식별자를 건네어, 튜닝을 의뢰한다. Tuner(705c)는, 제2 메모리(503)가 기억하는 채널 정보를 참조하여, 튜닝 정보를 획득한다. 현재, 서비스 매니저(704)가 채널의 식별자 「2」를 Tuner(705c)에 건네면, Tuner(705c)는, 도 11의 행 1012를 참조하여, 대응하는 튜닝 정보 「156MHz,」를 획득한다. Tuner(705c)는, OS(701)의 라이브러리(701b)의 튜너(701b1)를 통해, 수신부(704)에 튜닝 정보를 건넨다. 수신부(704)는 부여된 튜닝 정보에 따라 방송국으로부터 송신되어 온 신호를 복조하여, 다중 분리부(705)에 건넨다.
다음에 서비스 매니저(704)는, Java 라이브러리(705) 중에 있는 CA(705d)에 디스크램블을 의뢰한다. CA(705d)는, OS(701)의 라이브러리(701b)의 한정 해제(701b2)를 통해 복호에 필요한 정보를 디스크램블러(506)에 부여한다. 디스크램블러(506)는, 부여된 정보를 기초로, 수신부(504)로부터 부여된 신호를 복호하여 TS 디코더(507)에 건넨다.
이하, 영상 출력부(508) 및 음성 출력부(509)로부터 출력함으로써, 영상·음성의 재생을 행하는 경우와, 네트워크부(511)로부터 멀티미디어 데이터를 출력하는 경우의 처리가 다르기 때문에, 각각에 대해 설명한다.
우선, 영상·음성의 재생을 행하는 경우에 대해 설명한다.
서비스 매니저(704)는, Java 라이브러리(705) 중에 있는 JMF(705a)에 채널의 식별자를 부여하여, 영상·음성의 재생을 의뢰한다.
우선, 처음에 JMF(705a)는, 재생해야 할 영상과 음성을 특정하기 위한 패킷 ID를 PAT, PMT로부터 취득한다. PAT나 PMT는 MPEG2 규격으로 규정되어 있는, MPEG2 트랜스포트 스트림 내의 프로그램 구성을 표현하는 테이블이고, MPEG2 트랜스포트 스트림에 포함되는 패킷의 페이로드에 매입(埋入)되어, 음성이나 영상과 함께 송신되는 것이다. 상세한 것은 규격서를 참조하기 바란다. 여기에서는, 개략만 설명한다. PAT는 Program Association Table의 약자이고, 패킷 ID 「0」의 패킷에 격납되어 송신되고 있다. JMF(705a)는, PAT를 취득하기 위해, OS(701)의 라이브러리(701b)를 통해, 다중 분리부(705)에 패킷 ID 「0」을 지정한다. 다중 분리부(705)가 패킷 ID 「0」으로 필터링을 행하여, CPU(512)에 건넴으로써 JMF(705a)는, PAT의 패킷을 수집한다.
도 13은, 수집한 PAT의 정보의 일례를 모식적으로 도시한 도면이다. 열 1201은 프로그램 넘버이다. 열 1202는 패킷 ID이다. 열 1202의 패킷 ID는 PMT를 취득하기 위해 이용된다. 행 1211∼1213은, 채널의 프로그램 넘버와 대응하는 패킷 ID의 조이다. 여기에서는, 3개의 채널이 정의되어 있다. 행 1211은 프로그램 넘버 「101」과 패킷 ID 「501」의 조가 정의되어 있다. 현재, JMF(705a)에 부여된 채널의 식별자가 「2」라고 하면, JMF(705a)는, 도 13의 행 1212를 참조하여, 대응하는 프로그램 넘버 「102」를 획득하고, 다음에, 도 13의 PAT의 행 1212를 참조하여, 프로그램 넘버 「102」에 대응하는 패킷 ID 「502」를 획득한다. PMT는, Program Map Table의 약자이고, PAT에서 규정된 패킷 ID의 패킷에 격납되어 송신되고 있다. JMF(705a)는, PMT를 취득하기 위해, OS(701)의 라이브러리(701b)를 통해, 다중 분리부(505)에 패킷 ID를 지정한다. 여기에서, 지정하는 패킷 ID는 「502」로 한다. 다중 분리부(505)가 패킷 ID 「502」로 필터링을 행하여, CPU(512)에 건넴으로써 JMF(705a)는, PMT의 패킷을 수집한다.
도 14는, 수집한 PMT의 정보의 일례를 모식적으로 나타낸 도면이다. 열 1301은 스트림 종별이다. 열 1302는 패킷 ID이다. 열 1302에서 지정되는 패킷 ID의 패킷에는, 스트림 종별로 지정된 정보가 페이로드에 격납되어 송신되고 있다. 열 1303은 보충 정보이다. 행 1311∼1314는 엘리멘터리 스트림이라고 불리는, 패킷 ID와 송신하고 있는 정보의 종별의 조이다. 행 1311은, 스트림 종별 「음성」과 패킷 ID 「5011」의 조이고, 패킷 ID 「5011」의 페이로드에는 음성이 격납되어 있는 것을 나타낸다. JMF(705a)는, PMT로부터 재생하는 영상과 음성의 패킷 ID를 획득한다. 도 14를 참조하여, JMF(705a)는, 행 1311로부터 음성의 패킷 ID 「5011」을, 행 1312로부터 영상의 패킷 ID 「5012」를 획득한다.
다음에, JMF(705a)는, OS(701)의 라이브러리(701b)의 AV 재생(701b3)에 획득한 음성의 패킷 ID와 영상의 패킷 ID를 건넨다. 이것을 받아, AV 재생(701b3)은, 수취한 음성의 패킷 ID와 영상의 패킷 ID를, TS 디코더(507)에 부여한다. TS 디코더(507)는 부여된 패킷 ID로 필터링을 행한다. 여기에서는 패킷 ID 「5011」의 패킷을 음성 출력부(509)에, 패킷 ID 「5012」의 패킷을 영상 출력부(508)에, 음성 출력부(509)는, 부여된 패킷을 적절하게 변환하여(예를 들면 디지털-아날로그 변환) 출력한다. 영상 출력부(508)는, 부여된 패킷을 적절하게 변환하여(예를 들면 디지털-아날로그 변환) 출력한다.
마지막으로 서비스 매니저(704)는, Java 라이브러리(705) 중에 있는 AM(705b)에 채널의 식별자를 부여하여, 데이터 방송 재생을 의뢰한다. 여기에서, 데이터 방송 재생이란, MPEG2 트랜스포트 스트림에 포함되는 Java 프로그램을 추출하여, JavaVM(703)에 실행시키는 것이다. MPEG2 트랜스포트 스트림에 Java 프로그램을 매입하는 방법은, MPEG 규격서 ISO/IEC13818-6에 기술된 DSMCC라는 방식을 이용한다. 여기에서는 DSMCC의 상세한 설명은 생략한다. DSMCC 방식은, MPEG2 트랜스포트 스트림의 패킷 중에, 컴퓨터에서 사용되고 있는 디렉토리나 파일로 구성되는 파일 시스템을 인코드하는 방법을 규정하고 있다. 또, 실행하는 Java 프로그램의 정보는 AIT라고 불리는 형식으로, MPEG2 트랜스포트 스트림의 패킷 중에 매입되어 송신되고 있다. AIT는, DVB-MHP 규격(정식으로는, ETSI TS 101 812 DVB-MHP 사양 V1.0.2)의 10장에 정의되어 있는, Application Information Table의 약자이다.
AM(705b)은, 우선, AIT를 획득하기 위해, JMF(705a)와 동일하게 PAT, PMT를 취득하고, AIT가 격납되어 있는 패킷의 패킷 ID를 획득한다. 현재, 부여된 채널의 식별자가 「2」이고, 도 13의 PAT, 도 14의 PMT가 송신되어 있으면, JMF(705a)와 동일한 순서로, 도 14의 PMT를 획득한다. AM(705b)은, PMT로부터 스트림 종별이 「데이터」이고 보충 정보로서 「AIT」를 갖는 엘리멘터리 스트림으로부터 패킷 ID를 추출한다. 도 14를 참조하여, 행 1313의 엘리멘터리 스트림이 해당되어, 패킷 ID 「5013」을 획득한다.
AM(705b)은, OS(701)의 라이브러리(701b)를 통해 다중 분리부(505)에 AIT의 패킷 ID를 부여한다. 다중 분리부(505)는, 부여된 패킷 ID로 필터링을 행하여, CPU(512)에 건넨다. 이 결과, AM(705b)은, AIT의 패킷을 수집할 수 있다.
도 15는, 수집한 AIT의 정보의 일례를 모식적으로 도시한 도면이다. 열 1401은 Java 프로그램의 식별자이다. 열 1402는 Java 프로그램의 제어 정보이다. 제어 정보에는「autostart」「present」「kill」 등이 있고, 「autostart」는 즉시 방송 수신 장치(102)가 이 프로그램을 자동적으로 실행하는 것을 의미하고, 「present」는 자동 실행하지 않는 것을 의미하며, 「kill」은 프로그램을 정지하는 것을 의미한다. 열 1403은, DSMCC 방식으로 Java 프로그램을 포함하고 있는 패킷 ID를 추출하기 위한 DSMCC 식별자이다. 열 1404는 Java 프로그램의 프로그램명이다. 행 1411과 1412는, Java 프로그램의 정보의 조이다. 행 1411에서 정의되는 Java 프로그램은, 식별자 「301」, 제어 정보 「autostart」, DSMCC 식별자 「1」, 프로그램명 「a/TopXlet」의 조이다. 행 1412에서 정의되는 Java 프로그램은, 식별자 「302」, 제어 정보 「present」, DSMCC 식별자 「1」, 프로그램명 「b/GameXlet」의 조이다. 여기에서 2개의 Java 프로그램은 동일한 DSMCC 식별자를 갖지만, 이것은 하나의 DSMCC 방식으로 인코드된 파일 시스템 내에 2개의 Java 프 로그램이 포함되어 있는 것을 나타낸다. 여기에서는, Java 프로그램에 대해 4개의 정보밖에 규정하지 않지만, 실제로는 보다 많은 정보가 정의된다. 상세한 것은 DVB-MHP 규격을 참조하기 바란다.
AM(705b)은, AIT 중으로부터 「autostart」의 Java 프로그램을 찾아내어, 대응하는 DSMCC 식별자 및 Java 프로그램명을 추출한다. 도 15를 참조하여, AM(705b)은 행 1411의 Java 프로그램을 추출하여, DSMCC 식별자 「1」 및 Java 프로그램명 「a/TopXlet」를 획득한다.
다음에 AM(705b)은, AIT로부터 취득한 DSMCC 식별자를 이용하여, Java 프로그램을 DSMCC 방식으로 격납하고 있는 패킷의 패킷 ID를 PMT로부터 획득한다. 구체적으로는, PMT 중에서 스트림 종별이 「데이터」이고, 보충 정보의 DSMCC 식별자가 합치하는 엘리멘터리 스트림의 패킷 ID를 취득한다.
현재, DSMCC 식별자가 「1」이고, PMT가 도 14라고 하면, 행 1314의 엘리멘터리 스트림이 합치하여, 패킷 ID 「5014」를 취출한다.
AM(705b)은, OS(701)의 라이브러리(701b)를 통해 다중 분리부(505)에 DSMCC 방식으로 데이터가 매입된 패킷의 패킷 ID를 지정한다. 여기에서는, 패킷 ID 「5014」를 부여한다. 다중 분리부(505)는, 부여된 패킷 ID로 필터링을 행하여, CPU(512)에 건넨다. 이 결과, AM(705b)은 필요한 패킷을 수집할 수 있다. AM(705b)은, 수집한 패킷으로부터, DSMCC 방식에 따라 파일 시스템을 복원하여, 제1 메모리(502) 혹은 제2 메모리(503)에 저장한다. 파일 시스템 등의 데이터를 취출하여 제1 메모리(502) 혹은 제2 메모리(503)에 저장하는 것을 이후, 다운로드라 고 부른다.
도 16은, 다운로드한 파일 시스템의 일례를 나타낸 도면이다. 도 16에 있어서, 동그라미는 디렉토리를 네모는 파일을 나타내고, 1501은 루트 디렉토리, 1502는 디렉토리 「a」, 1503은 디렉토리 「b」 1504는 파일 「TopXlet.class」, 1505는 파일 「GameXlet.class」이다.
여기에서는, MPEG2 트랜스포트 스트림으로부터 파일 시스템을 다운로드하는 예를 기재하였지만, OCAP 사양에서는, IP 네트워크를 이용한 다운로드 등도 규정하고 있다. 또, AIT가 아니라 XAIT라고 불리는 정보를 이용하여 파일 시스템의 존재 위치를 특정하고, 파일 시스템을 다운로드하는 방법도 규정되어 있다.
다음에 AM(705b)은, 제1 메모리(502) 혹은 제2 메모리(503)에 다운로드한 파일 시스템 중으로부터 실행하는 Java 프로그램을 JavaVM(703)에 건넨다. 현재, 실행하는 Java 프로그램명이 「a/TopXlet」라고 하면, Java 프로그램명의 마지막에 「.class」를 부가한 파일 「a/TopXlet.class」가 실행해야 할 파일이 된다. 「/」는 디렉토리나 파일명의 구분이고, 도 16을 참조하여, 파일 1504가 실행해야 할 Java 프로그램이다. 다음에 AM(705b)은, 파일 1504를 JavaVM(703)에 건넨다.
JavaVM(703)은, 건네어진 Java 프로그램을 실행한다.
다음에, 네트워크부(511)로부터 멀티미디어 데이터를 출력하는 경우의 처리에 대해 설명한다.
우선, 서비스 매니저(704)는, Java 라이브러리(705) 중에 있는 네트워크 라이브러리(705e)에 채널의 식별자를 부여하여, 데이터의 송신을 의뢰한다. 네트워 크 라이브러리(705e)는, 우선, 상기 JMF(705a) 및 AM(705b)과 동일하게, PAT, PMT를 취득하고, 송신해야 할 프로그램에 관한 영상 데이터, 음성 데이터, 각 섹션 데이터의 패킷 ID를 취득한다. 현재, 부여된 채널의 식별자가 「2」이고, 도 12의 PAT, 도 14의 PMT가 송신되고 있으면, JMF(705a)와 동일한 순서로, 도 14의 PMT를 획득한다. 송신해야 할 데이터는, 도 14의 PMT에 기술된 모든 데이터이다.
네트워크 라이브러리(705e)는, OS(701)의 라이브러리(701b)를 통해 TS 디코더(507)에 이들 패킷 ID를 부여하고, TS 멀티플렉서(510)에 출력시킨다. TS 디코더(507)는, 부여된 패킷 ID로 필터링을 행하여, TS 멀티플렉서(510)에 건넨다.
또, 네트워크 라이브러리(705e)는, OS(701)의 라이브러리(701b)를 통해 TS 멀티플렉서(510)에, 몇 종류의 데이터가 보내어져 오는지를 부여하여, TS 디코더(507)로부터 건네어진 데이터로부터, MPEG2 트랜스포트 스트림을 구성시킨다. TS 멀티플렉서(510)는, 구성한 MPEG2 트랜스포트 스트림을 CPU에 건넨다.
또, 네트워크 라이브러리(510e)는, OS(701)의 라이브러리(701b)의 NET(701b4)에 송신처의 어드레스를 부여한다. 이어서, 네트워크 라이브러리(701b4)는, TS 멀티플렉서(510)로부터 수취한 MPEG2 트랜스포트 스트림을, 송신하는 어플리케이션 레벨의 프로토콜에 따른 형식으로 변환하여, NET(701b4)에 순차적으로 건넨다. 어플리케이션 레벨의 프로토콜이란, 예를 들면, HTTP나 RTP와 같은 것이다. 이에 의해, NET(701b4)는, 송신처 어드레스를 참조하여, 건네어진 데이터를 IP 네트워크의 패킷으로 변환하여, 네트워크부(511)에 건넨다. 네트워크부(511)에서는, 건네어진 데이터를, 접속된 네트워크의 물리 미디어에 따른 신호로 변환하여 출력한다.
서비스 매니저(704)는, 다른 채널의 식별자를 수취하면, Java 라이브러리(705)에 포함되는 각 라이브러리를 통해 재생하고 있는 영상·음성 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을, 동일하게 Java 라이브러리(705)에 포함되는 각 라이브러리를 통해 정지하고, 새롭게 수취한 채널의 식별자에 의거하여, 영상·음성의 재생 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을 행한다.
또, 서비스 매니저(704)는, 재생부(702b)뿐만 아니라, JavaVM(703) 상에서 실행되는 Java 프로그램으로부터 채널의 식별자를 수취하는 기능도 구비한다. 구체적으로는, 채널의 식별자를 수취하기 위한 Java 언어의 클래스 및 그 메소드를 제공한다. 채널의 식별자를 수취하면, 서비스 매니저(704)는, Java 라이브러리(705)에 포함되는 각 라이브러리를 통해 현재 재생하고 있는 영상·음성 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을, 동일하게 Java 라이브러리(705)에 포함되는 각 라이브러리를 통해 정지하고, 그 후, 새롭게 수취한 채널의 식별자에 의거하여, 새로운 영상·음성의 재생 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을 행한다.
또, 상기에서는, 통상의 방송 프로그램의 재생이나 네트워크에 대한 출력에 대해 기술하였지만, VoD 서비스의 경우도 동일하다.
Java 라이브러리(705)는, 제2 메모리(503)에 격납되어 있는 복수의 Java 라이브러리의 집합이다. 본 실시 형태에서는, Java 라이브러리(705)는, JMF(705a), AM(705b), Tuner(705c), CA(705d), 네트워크 라이브러리(705e), 재생 Lib(705f), IO(705g), AWT(705h) 등을 포함하고 있다.
JMF(705a), AM(705b), Tuner(705c), CA(705d)의 기능은, 이미 기술되어 있으므로 생략한다.
재생 Lib(705f)는, 제2 메모리(503)가 기억하고 있는, 현재 재생하고 있는 채널의 식별자를 Java 프로그램에 건네주기 위한 Java 언어의 클래스 및 메소드를(이하 Java API라고 기술) 제공한다. 이 Java API를 이용함으로써, Java 프로그램은, 현재 재생 중인 채널을 알 수 있다.
IO(705g)는, Java 프로그램이 제2 메모리(703)에 데이터를 기록하기 위한 Java API, 혹은, 그 기록한 데이터를 제2 메모리(503)로부터 읽어들이기 위한 Java API를 Java 프로그램에 제공한다. 이 API를 이용함으로써, Java 프로그램은, 임의의 데이터를 제2 메모리(503)에 저장할 수 있다. 이 저장된 데이터는 방송 수신 장치(102)의 전원이 오프가 되어도 없어지지 않으므로, 방송 수신 장치(102)의 전원이 투입된 후, 다시 그 데이터를 읽어들일 수 있다.
AWT(705h)는, Java 프로그램이 묘화를 행하거나, 입력부(501)로부터의 키 입력 통지를 수취하기 위한 Java API를 제공한다. 구체적으로는, 「The Java class Libraries Second Edition, Volume 2」(ISBN0-201-31003-1)로 이미 정해진 java.awt 패킷, java.awt.event 패킷 및 그 밖의 java.awt의 서브 패킷이 상당한다. 여기에서는, 상세한 설명을 생략한다.
SI(705i)는, Java 프로그램이 채널 정보나 전자 프로그램표 정보를 취득하는 Java API를 제공한다. 구체적으로는, Java TV 사양 등이 존재한다. 또, 생의 바 이너리 데이터를 방송 중의 MPEG2 트랜스포트 스트림으로부터 취득하는 MPEG 섹션 필터 API가 OCAP 사양 중에서 정의되어 있고, 송신되어 온 독자적인 전자 프로그램 데이터를 Java 어플리케이션이 이해하여 취급할 수도 있다.
네트워크 라이브러리(705e)는, OS(701)의 라이브러리(701b)의 NET(701b4)를 통해, 네트워크(107)에 접속된 영상 축적 장치(103), 영상 축적 장치(104), 단말(105) 및 단말(106)과 통신하는 것이다. 영상 축적 장치(103) 및 영상 축적 장치(104)는, 영상 축적 장치의 속성의 송수신, 멀티미디어 데이터의 축적 요구 및 이 멀티미디어 데이터의 송신, 특정한 멀티미디어 데이터를 축적하고 있는지의 여부의 문의, 이 축적하고 있는 멀티미디어 데이터의 송신 요구 및 이 멀티미디어 데이터의 이용에 따른 권리 처리의 통신을 행한다. 또, 단말(105) 및 단말(106)은, 멀티미디어 데이터의 송신 요구의 받아들임, 멀티미디어 데이터의 송신 혹은 멀티미디어 데이터가 송신되는 영상 축적 장치의 통지를 행한다.
도 17은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리(705e)의 내부 구성의 일례를 나타낸 블록도이다. 네트워크 라이브러리(705e)는, 제어부(1601), 데이터 수신부(1602), 정보 통신부(1603), 선택부(1604), 데이터 출력부(1605), 요구 송신부(1606), 권리 처리부(1607)를 포함한다. 또한, 네트워크 라이브러리(705e)는, IP 네트워크에 관련된 다른 기능을 포함해도 된다.
제어부(1601)는, 다운로드한 Java 어플리케이션에 대해, 네트워크 라이브러리(705e)가 실현하는 기능을 제공한다. 즉, 제어부(1601)는, Java 어플리케이션에 대해 Java API를 제공하고, Java 어플리케이션이, 이 API를 호출함으로써, 네트워 크를 이용한 기능을 실행할 수 있다. 제어부(1601)는, Java API가 호출되면, 적절하게, 데이터 수신부(1602), 정보 통신부(1603), 선택부(1604), 데이터 출력부(1605), 요구 송신부(1606), 권리 처리부(1607)나, 다른 Java 라이브러리(705) 및 OS(701)의 라이브러리(701b)를 이용하여 처리를 행한다.
도 18은, 본 발명의 실시 형태 2에 따른 제어부(1601)가 제공하는 Java API의 일례를 나타낸 도면이다. 도 18 (1) 메소드 collectNetDevice()는, 네트워크(107)에 접속되어 있는 외부 장치의 정보를 모아, 그 정보로서 NetDevice 오브젝트의 배열을 되돌려 보낸다. 구체적으로는, 후술하는 정보 통신부(1603)의 메소드 collectNetDevice()를 호출하여, 그 반환값을 되돌려 보내는 것이다. 본 메소드에 의해, 네트워크에 접속된 기기의 정보를 얻을 수 있다.
도 19는, NetDevice 클래스 구성의 일례를 나타낸 도면이다. 도 19에서, addr는 이 장치의 네트워크 어드레스를, friendlyName은 이 장치에 붙여진 닉네임을, dType은 이 장치의 종별을 나타내고, 0이 방송 수신 장치, 1이 영상 축적 장치, 2가 단말을 나타내는 것으로 한다. 이러한 정보는, UPnP DA에 정의된 방법에 의해 행하는 것이 가능하기 때문에, 처리의 상세한 설명은 생략한다. 또, attr은 영상 축적 장치의 속성이고, DevAttrib 클래스의 오브젝트이다.
도 20은, DevAttrib 클래스 구성의 일례를 나타낸 도면이다. 도 20에 있어서, remain Cap은 멀티미디어 데이터를 축적하는 빈 영역의 용량을 나타내고, replayFavoritGenre는, 재생 혹은 네트워크에 출력한 콘텐츠 중, 가장 빈도가 높은 장르를 나타내며, 0이 영화, 1이 스포츠 등과 같이 나타낸다. recordFavoritGenre 는, 유저 조작에 의해 녹화한 콘텐츠 중, 가장 빈도가 높은 장르를 나타낸다.
도 18 (2) 메소드 sendMultimediaData()는, 채널의 식별자를 지정하여, 영상 축적 장치(103) 혹은 영상 축적 장치(104)에 멀티미디어 데이터를 송신하는 것으로, 성공하면 true가 되돌아오고, 실패하면 false가 되돌아오는 것이다.
또, 도 18 (3) 메소드 acceptMultimediaRequest()는, 호출되면, 다른 프로세스 혹은 스레드를 기동한 후에 동작함으로써 상주하는 것이고, 단말로부터의 멀티미디어 데이터 송신 요구를 받아들여, 영상 축적 장치(103) 혹은 영상 축적 장치(104)에 이 멀티미디어 데이터가 축적되어 있는지의 여부를 조사하여, 축적되어 있는 경우는, 이 영상 축적 장치에 단말에 대한 송신 요구를 발행함과 더불어, 이 요구를 발행한 단말에는 이 영상 축적 장치로부터 멀티미디어 데이터가 송신되는 것을 통지하고, 또, 축적되어 있지 않은 경우에는, 이 멀티미디어 데이터를 방송국으로부터 수신하여 이 단말에 송신하는 것이며, 정상 종료시는 true를 되돌려 보내고, 이상시에는 false를 되돌려 보내는 것이다. 또한, 상주하지 않고 하나의 요구를 받으면 종료하는 구성이어도 된다.
이들 메소드는, 데이터 수신부(1602), 정보 통신부(1603), 선택부(1604), 데이터 출력부(1605), 요구 송신부(1606) 및 권리 처리부(1607)의 API를 이용하여 동작하는 것이기 때문에, 상세한 설명은 후술한다.
도 18 (4) 메소드 collectMultimediaData()는, Java 라이브러리(705) 등을 이용해, VoD 서비스에 의해 제공되는 멀티미디어 콘텐츠를 검색하여, 그 일부 혹은 전부를 서비스 매니저(704)에 의뢰함으로써 수신하고, 메소드 sendMultimediaData()를 호출하여, 영상 축적 장치에 송신하는 것이고, 성공하면 true를, 실패하면 false를 되돌려 보낸다.
도 18 (5) 메소드 setSelectAlgorithm()은, 선택부(1604)가 영상 축적 장치를 선택할 때의 알고리즘을, 인수 id로 부여된 것으로 설정하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. id의 값과 각 알고리즘은, 미리 정해진 것이다. 본 메소드는 선택부(1604)의 메소드 setSelectAlgorithm()을 호출함으로써 행해진다.
도 18 (6) 메소드 setStoragePriority()는, 선택부(1604)가 영상 축적 장치의 우선도에 따라 선택을 행하는 경우의, 영상 축적 장치의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 본 메소드는, 선택부(1604)의 메소드 setStoragePriority()를 호출함으로써 행해진다. 또한, 본 메소드는, 영상 축적 장치와 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 18 (7) setTerminalPriority()는, 선택부(1604)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 단말의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 본 메소드는, 선택부(1604)의 메소드 setTerminalPriority()를 호출함으로써 행해진다. 또한, 본 메소드는, 단말과 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 18 (8) 메소드 setCombination()은, 선택부(1604)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 영상 축적 장치와 단말의 조를 설정하는 것이고, 인수 devices로 영상 축적 장치를 부여하고, 인수 terms으로 단말을 부여하여, 각각의 배열에서 동일한 인덱스의 것을 조로서 설정한다. 본 메소드는, 선택부(1604)의 setCombination()을 호출함으로써 행해진다.
도 18 (9) 메소드 setSelectedStorageDevice()는, 인수 id로 부여된 인덱스의 영상 축적 장치를, 선택한 영상 축적 장치로 하는 것이다. 본 메소드는, 선택부(1604)의 메소드 setSelectedStorageDevice()를 호출함으로써 행해지므로, 거기에서 상세한 설명은 서술한다.
도 18 (10) 메소드 registerHandler()는, 인수 handler로 부여된 핸들러를 시스템에 등록하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. Java 어플리케이션은, 이 핸들러를 등록함으로써, 네트워크 라이브러리(705e)로부터 콜백을 받을 수 있다.
데이터 수신부(1602)는, 방송 수신 장치(102)의 TS 디코더(507)와 TS 멀티플렉서(510)를 OS(701)의 라이브러리(701)를 통해 제어하고, TS 디코더(507)에 의해 필터링된, 영상, 음성, 섹션 데이터를 TS 멀티플렉서(510)에 의해 MPEG2 트랜스포트 스트림에 구성하여 독출하는 것이다.
데이터 수신부(1602)는, 제어부(1601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 21은, 본 발명의 실시 형태 2에 따른 데이터 수신부(1602)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 21 (1) 메소드 openProgram()은, 인수로 지정된 채널의 식별자로부터, TS 멀티플렉서(510)가 구성한 MPEG2 트랜스포트 스트림을 독출하는 InputStream의 오브젝트를 되돌려 보낸다. 또한, 실패시에는 null이 되돌아온다.
정보 통신부(1603)는, OS(701)의 라이브러리(701)의 NET(701b4)을 통해, 방송 수신 장치(102)의 네트워크부(511)를 제어하고, 지정된 네트워크(107)에 접속되어 있는 외부 기기와, 메시지의 송수신을 행하는 것이다.
정보 통신부(1603)는, 제어부(1601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 22는, 본 발명의 실시 형태 2에 따른 정보 통신부(1603)가 제공하는 Java API의 일례를 나타낸 도면이다. 도 22 (1) 메소드 checkStorageAttribute()는, 인수로 지정된 정보 축적 장치에 속성 송신 요구를 보내고, 회답을 수신하여 인수 dev로 표시된 NetDevice 클래스의 오브젝트에 속성을 설정하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다. 도 22 (2) 메소드 sendStoreRequest()는, 인수 dev로 지정된 영상 축적 장치에 축적 요구를 송신하여 회답을 수신하는 것으로, 성공하면 true를 되돌려 보내고, 통신 실패 혹은 요구 거부를 수신한 경우는 false를 되돌려 보내는 것이다. 인수 id는, 제어부(1601)가 발행한 멀티미디어 데이터의 식별자이고, 송신 요구와 함께, 영상 축적 장치에 보내어진다. 도 22 (3) 메소드 askContentStored()는, 인수 dev로 지정되는 영상 축적 장치에, 인수 id로 지정되는 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 송신하여, 회답을 수신하는 것으로, 축적하고 있다고 회답을 받은 경우는 true를, 축적하고 있지 않다고 회답을 받은 경우 혹은 통신에 실패한 경우는 false를 각각 되돌려 보낸다. 도 22 (4) 메소드 sendTransferRequest()는, 인수 server로 지정되는 영상 축적 장치에, 인수 id로 지정되는 멀티미디어 데이터를, 인수 client로 지정되는 단말에 송신하는 요구를 송신하여 회답을 수신하는 것으로, OK를 수신한 경우는 true를, NG를 수신한 경우 혹은 통신에 실패한 경우는 false를 각각 되돌려 보낸다. 도 22 (5) 메소드 acceptTerminalRequest()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말로부터의 요구를 수신하여, 단말이 송신을 요구하고 있는 멀티미디어 데이터의 식별자를 인수 req에 넣는 것이고, 통신이 성공하면 true를, 실패하면 false를 각각 되돌려 보낸다. 도 23에 MMRequest 클래스의 구성을 나타낸다. 도 22 (6) 메소드 notifyTransferDevice()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말에, 인수 dev로 지정되는 영상 축적 장치로부터 멀티미디어 데이터가 송신되는 것을 통지하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다. 도 22 (7) 메소드 notifyTransferData()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말에, 방송 수신 장치(102)로부터 멀티미디어 데이터가 송신되는 것을 통지하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다. 도 22 (8) 메소드 notifyUnableTransfer()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말에, 인수 status로 표시되는 이유에 의해, 요구된 멀티미디어 데이터를 송신할 수 없는 것을 통지하는 것이고, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다. 도 22 (9) 메소드 collectNetDevice()는, 네트워크(107)에 접속되어 있는 외부 장치의 정보를 모아, 그 정보로서 NetDevice 오브젝트의 배열을 되돌려 보낸다. 이 처리는, UPnP DA에 정의된 방법에 의해 행하는 것이 가능하기 때문에, 처리의 상세한 설명은 생략한다.
선택부(1604)는, 설정된 알고리즘에 따라, 영상 축적 장치의 속성 및 멀티미디어 데이터의 속성 등으로부터, 네트워크(107)에 접속된 영상 축적 장치 중 하나를 선택하는 것이다.
선택부(1604)는, 제어부(1601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다. 도 24는, 본 발명의 실시 형태 2에 따른 선택부(1604)가 제공하는 Java API의 일례이다.
도 24 (1) 메소드 selectDevice()는, 후술하는 메소드 setAlgorithm()에 의해 설정된 알고리즘에 따라, 인수 devices로 표시된 영상 축적 장치 중으로부터, devices에 격납되어 있는 영상 축적 장치의 속성, 및 인수 id로 표시된 채널의 식별자와 도 10에 나타낸 제2 메모리(503)에 기억하고 있는 프로그램 정보로부터 판독되는 멀티미디어 데이터의 속성 등을 기초로, 하나의 영상 축적 장치를 선택하는 것이고, 성공하면 선택한 영상 기억 장치를 devices의 인덱스로 되돌려 보내고, 실패하면 음의 값을 되돌려 보내는 것이다. 선택하는 알고리즘으로서는, 빈 용량이 큰 영상 축적 장치를 선택하는 것, 멀티미디어 데이터의 장르마다 영상 축적 장치를 할당하여 선택하는 것, 이 멀티미디어 데이터의 장르와 동일한 장르의 멀티미디어 데이터를 유저 조작에 의해 녹화한 빈도가 높은 영상 축적 장치를 선택하는 것, 후술하는 메소드 setStoragePriority()에 의해 설정된, 영상 축적 장치의 우선도에 따라 선택하는 것, 후술하는 메소드 setTerminalPriority()에 의해 설정된 단말의 우선도와, 후술하는 메소드 setCombination()에 의해 설정된 단말과 영상 축적 장치의 조로부터, 단말의 우선도에 따라 단말을 선택하고, 그 단말과 조로 되어 있는 영상 축적 장치를 선택하거나, 혹은, 복수의 영상 축적 장치가 있었던 경우에, Java 어플리케이션에 콜백 함수에 의해 통지하여, 유저에게 일람을 제시하고, 유저로부터의 입력을 받아들여, 후술하는 메소드 setSelectedStorageDevice()에 의해 지정된 영상 축적 장치를 선택하는 것 등이 있다.
도 24 (2) 메소드 setSelectAlgorithm()은, 선택부(1604)가 영상 축적 장치를 선택할 때의 알고리즘을, 인수 id로 부여된 것으로 설정하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. id의 값과 각 알고리즘은, 미리 정해진 것이다.
도 24 (3) 메소드 setStoragePriority()는, 선택부(1604)가 영상 축적 장치의 우선도에 따라 선택을 행하는 경우의, 영상 축적 장치의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 또한, 본 메소드는, 영상 축적 장치와 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어 도 된다.
도 24 (4) setTerminalPriority()는, 선택부(1604)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 단말의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 또한, 본 메소드는, 단말과 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 24 (5) 메소드 setCombination()은, 선택부(1604)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 영상 축적 장치와 단말의 조를 설정하는 것이고, 인수 devices로 영상 축적 장치를 부여하고, 인수 terms으로 단말을 부여하여, 각각의 배열에서 동일한 인덱스의 것을 조로서 설정한다.
도 24 (6) 메소드 setSelectedStorageDevice()는, 인수 id로 부여된 인덱스의 영상 축적 장치를, 선택한 영상 축적 장치로 하는 것이다. 본 메소드는, 메소드 selectDevice()가, 설정된 알고리즘에 의해 유저의 입력에 의해 선택하는 경우, Java 어플리케이션에 콜백 함수에 의해 통지하여, 유저의 입력을 받아들인 Java 어플리케이션에 의해 호출되는 것이다. 콜백 함수는, Java 어플리케이션의 핸들러 오브젝트를 Handler라고 하면, Handler.notify(NetDevices[] devices, Object obj)와 같은 것으로, 이에 의해 Java 어플리케이션은 인수로 부여된 영상 축적 장치의 일람을 유저에게 제시하고, 유저 입력을 받아들인다. 받아들인 입력으로부터, 지정되었지만, 배열 devices의 인덱스를 취득하여, 인수 obj로 제어부(1601) 혹은 선택부(1604)의 인스턴스가 부여되므로, 그 메소드 setSelectedStorageDevice()를 호 출하여 설정한다. 상기 핸들러 오브젝트 Handler는, 제어부(1601)의 메소드 registerHandler()에 의해 등록된 것이다. 또한, 선택부(1604)가, 동일하게 registerHandler() 메소드를 갖고, Java 어플리케이션에 공개하는 구성이어도 된다.
데이터 출력부(1605)는, OS(701)의 라이브러리(701)의 NET(701b4)을 통해, 방송 수신 장치(102)의 네트워크부(511)를 제어하고, 지정된 네트워크(107)에 접속되어 있는 외부 기기에, 데이터 수신부(1602)가 수신한 멀티미디어 데이터를 송신하는 것이다.
데이터 출력부(1605)는, 제어부(1601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다. 도 25는, 본 발명의 실시 형태 2에 따른 데이터 출력부(1605)가 제공하는 Java API의 일례이다. 도 25 (1) 메소드 sendData()는, 인수 dev로 지정된 네트워크(107)에 접속되어 있는 장치에, 인수 is로 지정된 InputStream 오브젝트로부터 읽어들인 데이터를, is로부터 EOF를 읽어들일 때까지 송신하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
요구 송신부(1606)는, 서비스 매니저(704)에, VoD 서비스의 멀티미디어 데이터 송신 요구를 의뢰하는 것이다.
요구 송신부(1606)는, 제어부(1601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다. 도 26은, 본 발명의 실시 형태 2에 따른 요구 송신부(1606)가 제공하는 Java API의 일례이다. 도 26 (1) 메소드 sendRequest()는, 인수 id로 지정된 멀티미디어 데이터의 송신 요구를, 서비스 매니저(704)에 의뢰하는 것으로, 성공하면 true가 되돌아오고, 실패하면 false가 되돌아오는 것이다.
권리 처리부(1607)는, 서비스 매니저(704)에, 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 의뢰하는 것이다.
권리 처리부(1607)는, 제어부(1601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 27은, 본 발명의 실시 형태 2에 따른 권리 처리부(1607)가 제공하는 Java API의 일례이다. 도 27 (1) 메소드 requestContentUse()는, 인수 id로 지정된 콘덴츠의 권리 처리를 서비스 매니저(704)에 의뢰하는 것이고, 콘텐츠 사용이 허가되면 true가 되돌아오고, 허가되지 않거나, 혹은 처리에 실패하면 false가 되돌아오는 것이다.
여기에서, 제어부(1601)의, 메소드 sendMultimediaData() 및 메소드 acceptMultimediaRequest()의 처리를 설명한다.
우선, 메소드 sendMultimediaData()의 처리에 대해 설명한다. sendMultimediaData()가 호출되면, 우선, 제어부(1601)의 메소드 collectNetDevice()에 의해, 네트워크(107)에 접속된 영상 축적 장치를 검색한다. 이어서, 각 영상 축적 장치마다, 정보 통신부(1603)의 메소드 checkStorageAttribute()를 호출하여, 각 영상 축적 장치의 속성을 조사한다. 이어서, 선택부(1604)의 메소드 selectDevice()를 호출하여, 영상 축적 장치를 선택한다. 또한, 이 멀티미디어 데이터를 식별하는 식별자를 발행한다. 선택한 영상 축적 장치에 대해, 정보 통신부(1603)의 메소드 sendStoreRequest()를 호출함으로써, 축적 요구를 멀티미디어 데이터의 식별자와 멀티미디어 데이터의 프로그램 정보 모두에 송신한다. 이어서, 데이터 수신부(1602)의 메소드 openProgram()을 호출하여, 멀티미디어 데이터를 독출하는 InputStream 오브젝트를 취득한다. 또한, 데이터 출력부(1605)의 메소드 sendData()를 호출하여, 선택한 영상 축적 장치에, 수신한 멀티미디어 데이터를 송신한다. 처리가 성공하면, 멀티미디어 데이터의 속성과 함께, 발행한 멀티미디어 데이터의 식별자를 제2 메모리(503)에 기억시킨다.
또한, collectNetDevice()를 실행한 후에, 이들 정보를 제2 메모리(503)에 기억시키고, 이후는 제2 메모리(503)에 기억한 것을 독출하는 구성이어도 된다.
다음에, 메소드 acceptMultimediaRequest()의 처리에 대해 설명한다. 메소드 acceptMultimediaRequest()는, 호출되면, 별도의 스레드 혹은 프로세스를 생성한 후에 동작한다. 우선, 단말로부터의 접속을 받아들이는 Socket 오브젝트를 작성하고, 접속 요구를 기다린다. 단말로부터, 접속 요구가 오면, 정보 통신부(1603)의 메소드 acceptTerminalRequest()를 호출하여, 이 단말로부터의 요구를 수신한다. 이어서, 요구된 멀티미디어 데이터의 식별자를, 단말로부터의 요구, 혹은 단말로부터 수취한 채널의 식별자와 제2 메모리(503)에 기억시킨 정보로부터 특정한다. 다음에, 제어부(1601)의 메소드 collectNetDevice()를 호출하거나, 혹은, 제2 메모리(503)에 기억시킨 정보로부터, 네트워크에 접속된 영상 축적 장치를 검색한다. 이어서, 각 영상 축적 장치마다, 정보 통신부(1603)의 메소드 askContentStored()를 호출하여, 이 영상 축적 장치에 이 멀티미디어 데이터가 축 적되어 있는지의 여부를 문의한다. 축적하고 있는 영상 기억 장치가 있으면, 이 영상 축적 장치에, 정보 통신부(1603)의 메소드 sendTransferRequest()를 호출함으로써, 이 요구가 있었던 단말에 대해, 이 멀티미디어 데이터의 송신 요구를 발행한다. 또한, 이 요구가 있었던 단말은, 단말과 통신하고 있는 Socket 오브젝트와, 관리부의 메소드 collectNetDevice()의 결과 혹은 제2 메모리(503)에 기억시킨 정보로부터 특정한다. 또한, 이 때, 필요하면, 권리 처리부(1607)의 메소드 requestContentUse()를 호출함으로써, 권리 처리를 행한다. 이어서, 이 요구가 있었던 단말에는, 정보 통신부(1603)의 메소드 notigyTransferDevice()를 호출함으로써, 이 축적하고 있는 영상 축적 장치를 통지한다. 또, 이 멀티미디어 데이터를 축적하고 있는 영상 축적 장치가 발견되지 않은 경우는, 요구 송신부(1606)의 메소드 sendRequest()를 호출함으로써, 데이터 송신 요구를 발행한다. 이 멀티미디어 데이터가 방송국으로부터 송신되지 않거나 또는 어떠한 이유에 의해 수신할 수 없기 때문에, sendRequest()가 false를 되돌려 보내면, 정보 통신부(1603)의 메소드 notifyUnableTransfer()를 호출하여, 이 단말에 데이터 송신이 불가능한 것을 통지하고, 대기 요구로 되돌아온다. 또, sendrequest()가 true를 되돌려 보냈을 때는, 정보 통신부(1603)의 메소드 notifyTransferData() 메소드를 호출함으로써, 이 단말에, 방송 수신 장치(102)로부터 이 멀티미디어 데이터를 송신하는 것을 통지한다. 이어서, 상기 메소드 sendMultimediaData()의 경우와 동일하게, 데이터 수신부(1602)의 메소드 openProgram()을 호출하고, 이어서, 데이터 출력부(1605)의 메소드 sendData()를 호출함으로써, 이 단말에 이 멀티미디어 데이터를 송신한다. 데이터 송신이 종료하면, 접속 요구의 대기로 되돌아온다. 또한, 접속 요구를 받아들이면, 또한, 별도의 스레드 혹은 프로세스를 생성하여, 이후의 처리는 이 별도의 스레드 혹은 프로세스로 동작하고, 원래의 스레드 혹은 프로세스는 접속 요구의 대기로 되돌아오는 구성이어도 된다. 이 경우, 이 별도의 스레드 혹은 프로세스상의 처리는, 접속 요구 대기로 되돌아오지 않고, 종료한다.
이상의 구성에 의해, Java 어플리케이션은, VoD 서비스용의 콘텐츠 데이터를, 이용에 앞서 수신하여, 영상 축적 장치에 축적해 두는 것이 가능해진다. 또한, 이 축적은, 일정한 시간 간격으로 실행해도 되고, 또, 유저가 설정한 일시에 행해도 된다. 또, 유저가 설정한 시간 간격으로 행해도 된다. 또, 유저의 조작에 의해 행해도 된다. 또, 방송국(108)으로부터의 지시로 행해도 된다.
다음에, 영상 축적 장치(103) 및 영상 축적 장치(104)의 구성에 대해 설명한다.
도 28은, 본 발명의 실시 형태 2에 따른 영상 축적 장치(103) 및 영상 축적 장치(104)의 구성 요소의 관계를 나타낸 블록도이다. 본 실시 형태의 영상 축적 장치(103) 및 영상 축적 장치(104)는, 입력부(2701), 제1 메모리(2702), 제2 메모리(2703), 다중 분리부(2704), TS 디코더(2705), 영상 출력부(2706), 음성 출력부(2707), 네트워크부(2708), 및 CPU(2709)로 구성된다. 또한, 본 실시 형태에 있어서의 영상 축적 장치(103) 및 영상 축적 장치(104)는, 멀티미디어 데이터를 축적할 뿐만 아니라, 유저의 조작에 의해, 방송 수신 장치(102)로부터 수신한 멀티미디어 데이터 및 축적한 멀티미디어 데이터의 재생도 행하는 구성이다.
입력부(2701), 제1 메모리(2702), 및 제2 메모리(2703)는, 상기한 본 실시 형태에 있어서의 방송 수신 장치(102)의 입력부(501), 제1 메모리(502), 제2 메모리(503)와 동일한 것이다. 또한, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 제2 메모리(2703)에 멀티미디어 데이터를 축적한다. 또, 멀티미디어 데이터뿐만 아니라, 이 멀티미디어 데이터의 식별자, 타이틀, 방송 일시, 방송 채널 등 EPG로부터 얻어지는 프로그램 정보도 동시에, 메타데이터로서 축적한다.
다중 분리부(2704)는, CPU(2709)로부터 MPEG 트랜스포트 스트림을 수취하여, CPU(2709)로부터 지정된 정보를 추출하여, CPU(2709)에 건넨다. 또, MPEG 트랜스포트 스트림을 그대로 TS 디코더(2705)에 건넨다.
TS 디코더(2705)는, CPU(2709)로부터, 음성 데이터, 영상 데이터의 식별자를 수취한다. 또한, 다중 분리부(2704)로부터 수취한 스트림으로부터, 수취한 음성 데이터, 영상 데이터의 식별자에 대응하는 데이터를 추출한다. 추출한 영상 데이터를 영상 출력부(2706)에, 음성 데이터를 음성 출력부(2707)에 각각 건넨다.
영상 출력부(2706), 음성 출력부(2707)는, 상기한 본 실시 형태에 있어서의 방송 수신 장치(102)의 영상 출력부(508), 음성 출력부(509)와 동일한 것이다.
네트워크부(2708)는, 네트워크 인터페이스를 포함하고, CPU(2709)로부터 수취한 데이터를, 네트워크 인터페이스가 접속된 네트워크의 물리 미디어에 따른 신호로 변환하여 출력한다. 또, 네트워크 인터페이스로부터 신호를 수신하여, IP 네트워크에서 규정된 패킷으로 변환하여, CPU(2709)에 건넨다.
CPU(2709)는, 제2 메모리(2703)가 기억하는 프로그램을 실행함으로써, 다중 분리부(2704), TS 디코더(2705), 네트워크부(2709)를 제어한다.
도 29는, 본 발명의 실시 형태 2에 따른 영상 축적 장치가 유지하고, 실행하는 프로그램 구성을 나타낸 도면이다. 본 도면은, 제2 메모리(2703)에 기억 유지되고, CPU(2709)에 실행되는 프로그램의 구성의 일례를 나타낸 도면이다.
프로그램(2800)은, 복수의 서브 프로그램으로 구성되고, 구체적으로는 OS(2801), JavaVM(2802), 서비스 매니저(2803), Java 라이브러리(2804)로 구성된다.
OS(2801)는, 영상 축적 장치(103) 및 영상 축적 장치(104)의 전원이 투입되면, CPU(2709)가 기동하는 서브 프로그램이다. OS(2801)는, 오퍼레이팅 시스템의 약자이고, Linux 등이 일례이다. OS(2801)는, 다른 서브 프로그램을 평행하게 실행하는 커널(2801a) 및 라이브러리(2801b)로 구성되는 공지 기술의 총칭이고, 상세한 설명은 생략한다. 본 실시 형태에 있어서는, OS(2801)의 커널(2801a)은, JavaVM(2803)을 서브 프로그램으로서 실행한다. 또, 라이브러리(2801b)는, 이들 서브 프로그램에 대해, 영상 축적 장치(103) 및 영상 축적 장치(104)가 유지하는 구성 요소를 제어하기 위한 복수의 기능을 제공한다.
본 실시 형태에서는, 라이브러리(2801b)는 기능의 일례로서, 한정 해제(2801b1), AV 재생(2802b2), NET(2801b3)을 포함한다.
한정 해제(2802b1)는, 다른 서브 프로그램이나 Java 라이브러리(2804)의 CA(2804c)로부터 정보를 수취하여, 네트워크로부터 수신한 암호화 데이터를 복호하거나, AV 재생(2801b2)을 유효하게 하여, 네트워크로부터 수신한 멀티미디어 데이 터 및 제2 메모리(2703)에 축적한 멀티미디어 데이터의 재생을 허가하거나 하는 것이다.
AV 재생(2802b2)은, 다른 서브 프로그램이나 Java 라이브러리(2804)의 JMF(2804a)로부터, 음성의 패킷 ID와 영상의 패킷 ID를 수취한다. 수취한 음성의 패킷 ID와 영상의 패킷 ID를, TS 디코더(2705)에 부여한다. 이 결과, TS 디코더(2705)는 부여된 패킷 ID에 의거해, 필터링을 행하여, 영상·음성의 재생을 실현한다.
NET(2801b3)은, 다른 서브 프로그램이나 Java 라이브러리(2804)의 네트워크 라이브러리(2804d)로부터 수취한 데이터를, IP 네트워크에서 규정되는 어플리케이션층보다 아래의 프로토콜 패킷을 작성한다. 어플리케이션층보다 아래의 프로토콜이란, 예를 들면 TCP 패킷, UDP 패킷, IP 패킷 등이다. 이것을 네트워크부(2708)에 건넴으로써, 네트워크(107)를 통해 다른 기기에 메시지 및 데이터를 송신한다. 또, 네트워크(107)를 통해 다른 기기로부터의 메시지를 수신했을 때에, 다른 서브 프로그램이나 Java 라이브러리(2804)의 네트워크 라이브러리(2804d)에, 어플리케이션층의 프로토콜 패킷으로 변환하여 건넨다. 어플리케이션층의 프로토콜이란, 예를 들면, HTTP나 RTP 등이다.
JavaVM(2802)은, 상기한 본 실시 형태에 있어서의 방송 수신 장치(102)의 JavaVM(703)과 동일한 것이다.
서비스 매니저(2803)는, 상기한 본 실시 형태에 있어서의 방송 수신 장치(102)의 서비스 매니저(704)와, 이하의 차이점을 제외하고 동일한 것이다. 서비 스 매니저(704)는 재생부(702b)로부터 채널 식별자를 수취하여, 그 식별자를 Tuner(705c)에 건네어 튜닝시키고, 또한 CA(705d)에 의뢰하여 디스크램블을 행하여, JMF(705a)에 채널의 식별자를 부여하여 영상·음성의 재생을 의뢰하는 것이었지만, 서비스 매니저(2803)는, Java 라이브러리(2804) 중에 있는 List(2804i)로부터 콘텐츠의 식별자를 수취하여, Java 라이브러리(2804) 중에 있는 IO(2804f)에 콘텐츠의 식별자를 건네어 제2 메모리(2703)에 축적하고 있는 스트림을 독출하거나, 네트워크 라이브러리(2804d)에 콘텐츠의 식별자와 그것을 수신하는 장치를 건네어, 이 장치로부터 스트림을 수신하거나 하고, 이어서, Java 라이브러리(2804) 중에 있는 JMF(2804a)에 콘텐츠의 식별자를 부여함으로써, 영상·음성의 재생을 의뢰하는 것이다. List(2804i)에 대해서는 후술한다.
또, 서비스 매니저(2803)는, Java 라이브러리(2804) 중에 있는 네트워크 라이브러리(2804d)에, 방송 수신 장치(102)로부터의 축적 요구 대기, 및 데이터 수신과 축적을 의뢰함으로써, 방송 수신 장치(102)로부터 멀티미디어 데이터를 수신하여, 제2 메모리(2703)에 축적한다.
또, 서비스 매니저(2803)는, Java 라이브러리(2804) 중에 있는 네트워크 라이브러리(2804d)에, 방송 수신 장치(102)로부터의 멀티미디어 데이터 송신 요구 의뢰, 및 단말(105) 혹은 단말(106)로부터의 데이터 송신 요구의 받아들임과, 이 의뢰에 대응한 데이터 송신을 의뢰함으로써, 제2 메모리(2703)에 축적한 멀티미디어 데이터를 단말에 송신한다.
Java 라이브러리(2804)는, 제2 메모리(2703)에 격납되어 있는 복수의 Java 라이브러리의 집합이다. 본 실시 형태에서는, Java 라이브러리(2804)는, JMF(2804a), AM(2804b), CA(2804c), 네트워크 라이브러리(2804d), 재생 Lib(2804e), List(2804i) 등을 포함하고 있다.
JMF(2804a), AM(2804b), 재생 Lib(2804e), IO(2804f), AWT(2804g), SI(2804h)는, 각각, 상기한 본 실시 형태에 있어서의 방송 수신 장치(102)의 Java 라이브러리(705) 중의 JMF(705a), AM(705b), 재생 Lib(705f), IO(705g), AWT(705h), SI(705i)와 동일한 것이다.
CA(2804c)는, 네트워크(107) 경유로 송신되어 온 멀티미디어 데이터 및 제2 메모리(2703)에 축적한 멀티미디어 데이터의 카피 제어 및 과금 등, 이 멀티미디어 데이터의 권리 처리를 관리하는 것이다. 카피 제어는, 송신되어 온 트랜스포트 스트림의 섹션 정보에 포함되어 있는 카피 제어 정보를 참조하여, 필요하면 고쳐쓰기를 행한다. 또, 과금 등은, 네트워크 라이브러리(2804d)를 통해, 방송 수신 장치(102)와 통신함으로써 행한다.
List(2804i)는, 방송 수신 장치(102)에 있어서의 EPG, 제2 메모리(2703)에 축적되어 있는 멀티미디어 콘텐츠의 일람, 및 네트워크(107)에 접속된 영상 축적 장치에 축적되어 있는 멀티미디어 콘텐츠의 일람을 표시하고, 입력부(2701)가 받아들인 유저 조작에 의해, 일람으로부터 하나의 멀티미디어 콘텐츠를 선택하여, 서비스 매니저(2803)에 재생을 의뢰하는 것이다. 방송 수신 장치(102) 혹은 네트워크(107)에 접속된 다른 영상 축적 장치에 축적된 콘텐츠의 경우는, 이 장치의 정보도 서비스 매니저(2803)에 건넨다. 제2 메모리(2703)에 축적된 콘텐츠의 일람은 IO(2804f)를 통해 정보를 독출함으로써 취득할 수 있다. 또, 방송 수신 장치(102)에 있어서의 EPG 및 네트워크(107)에 접속된 다른 영상 축적 장치에 축적된 콘텐츠의 일람은, 네트워크 라이브러리(2804d)를 통해 취득할 수 있다. 이들 정보는, UPnP AV에 정의된 방법에 의해 실현할 수 있기 때문에, 상세 설명은 생략한다.
네트워크 라이브러리(2804d)는, OS(2801b)의 NET(2801b3)을 통해, 네트워크(107)에 접속된 방송 수신 장치(102), 다른 영상 수신 장치, 단말(105) 및 단말(106)과 통신하는 것이다. 방송 수신 장치(102)와는, 영상 축적 장치의 속성 송신, 멀티미디어 데이터의 축적 요구 수신과 이 멀티미디어 데이터의 수신, 멀티미디어 데이터를 축적하고 있는지의 문의 수신과 그 회신, 축적하고 있는 멀티미디어 데이터의 송신 의뢰 받아들임 및 이 멀티미디어 데이터의 이용에 따른 권리 처리의 통신을 행한다. 또, 다른 방송 수신 장치, 단말(105) 및 단말(106)과는, 멀티미디어 데이터의 일람 송수신, 멀티미디어 데이터의 송신, 멀티미디어 데이터의 수신을 행한다.
도 30은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리(2804d)의 내부 구성의 제2 예를 나타낸 블록도이다. 네트워크 라이브러리(2804d)는, 제어부(2901), 제어 정보 통신부(2902), 데이터 수신부(2903), 데이터 송신부(2904), 속성 관리부(2905), 권리 처리부(2906)를 포함한다. 또한, 네트워크 라이브러리(2804d)는, IP 네트워크에 관련된 다른 기능을 포함해도 된다.
제어부(2901)는, 다운로드한 Java 어플리케이션에 대해, 네트워크 라이브러리(2804d)가 실현하는 기능을 제공한다. 즉, 제어부(2901)는, 다운로드한 Java 어 플리케이션에 대해 Java API를 제공하고, Java 어플리케이션이 이 API를 호출함으로써, 네트워크를 이용한 기능을 실현할 수 있다. 제어부(2901)는, Java API가 호출되면, 적절하게, 제어 정보 통신부(2902), 데이터 수신부(2903), 데이터 송신부(2904), 속성 관리부(2905), 권리 처리부(2906)나, 다른 Java 라이브러리(2804) 및 OS(2801)의 라이브러리(2801b)를 이용하여 처리를 행한다.
도 31은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리(2804d)의 내부 구성에 포함되는 제어부(2901)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 31 (1) 메소드 collectNetDevice()는, 네트워크(107)에 접속되어 있는 외부 장치의 정보를 모아, 그 정보로서 NetDevice 오브젝트의 배열을 되돌려 보내고, 실패시는 null을 되돌려 보낸다. 이 메소드는 후술하는 제어 정보 통신부(2902)의 메소드 collectNetDevice()를 이용함으로써 행한다.
도 31 (2) 메소드 acceptRequestToStore()는, 호출되면 다른 프로세스 혹은 스레드를 기동한 후에 동작함으로써 상주하는 것이고, 방송 수신 장치(102)로부터의 속성 송신 요구 받아들임, 멀티미디어 데이터의 축적 요구 받아들임, 멀티미디어 데이터의 수신과 제2 메모리(2703)에 대한 축적을 행한다. 정상 종료시에는 true를 되돌려 보내고, 이상시에는 false를 되돌려 보낸다. 또한, 상주하지 않고 하나의 요구를 받으면 종료하는 구성이어도 된다. 또, Java 어플리케이션으로부터 네트워크(107)에 접속된 기기가 인수로 건네어지고, 그 기기와 통신함으로써, 이 기기로부터 데이터를 수신하여 축적하는 구성이어도 된다. 상세한 설명에 대해서는 후술한다.
도 31 (3) 메소드 acceptRequestToTransfer()는, 호출되면 다른 프로세스 혹은 스레드를 기동한 후에 동작함으로써 상주하는 것이고, 방송 수신 장치(102)로부터의 특정한 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 받아들여 회답하고, 또, 방송 수신 장치(102)로부터 특정한 멀티미디어 데이터를 특정한 단말로의 송신 요구를 받아들여, 이 멀티미디어 데이터를 이 단말에 송신하는 것이다. 또, 단말(105), 단말(106) 등 외부 장치로부터 멀티미디어 데이터의 송신 요구를 받아들여, 이 멀티미디어 데이터를 송신하는 것이다. 정상 종료시에는 true를 되돌려 보내고, 이상시에는 false를 되돌려 보낸다. 또한, 상주하지 않고 하나의 요구를 받으면 종료하는 구성이어도 된다. 상세한 설명에 대해서는 후술한다.
도 31 (4) 메소드 getMultimediaData()는, Java 어플리케이션 혹은 다른 서브 프로그램으로부터 네트워크(107)에 접속된 장치와 콘텐츠의 식별자와 출력 스트림을 받아들여, 이 장치로부터, 이 식별자로 특정되는 멀티미디어 데이터를 수신하여, 이 출력 스트림에 기록하는 것이다. 성공시에는 true를 되돌려 보내고, 실패시에는 false를 되돌려 보낸다. 이 메소드에 의해, Java 어플리케이션은, 네트워크(107)에 접속된 다른 기기가 갖는 멀티미디어 데이터를 수신하여 재생할 수 있다. 상세한 설명에 대해서는 후술한다.
도 31 (5) 및 (6) 메소드 getContentList()는, Java 어플리케이션 혹은 다른 서브 프로그램으로부터, 네트워크(107)에 접속된 영상 축적 장치를 수취하여, 그 영상 축적 장치가 축적하고 있는 콘텐츠 일람을 취득하여, ContentInfo 오브젝트의 배열로 되돌려 보내는 것으로, 성공시에는 이 배열이, 실패시에는 null이 되돌아오 는 것이다. 이 메소드는, 인수로서 하나의 NetDevice 오브젝트를 취하는 경우와, NetDevice 오브젝트의 배열을 취하는 경우가 있다. 도 32는, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리(2804d)에서 사용되는 ContentInfo 클래스 구성의 일례를 나타낸 도면이다. 도 32에서, dev는 이 영상 축적 장치를 나타내고, contentId는 이 콘텐츠의 식별자를 나타내고, channelId는 이 콘텐츠가 방송된 채널의 식별자를 나타내고, title은 이 콘텐츠의 타이틀을 나타내고, gunre는 이 콘텐츠의 장르를 나타내고, broadDae는 이 콘텐츠가 방송된 일시를 나타내며, recDate는 이 콘텐츠가 녹화된 일시를 나타낸다. 이것은 후술하는 제어 정보 통신부(2902)의 메소드 getContentList()를 호출함으로써 행해진다.
도 31 (7) getEPGData()는, 지정된 기기로부터 EPG 정보를 취득하여 ContentInfo 오브젝트의 배열을 되돌려 보냄으로써, 인수 dev로 지정되는 장치가 방송 수신 장치(102)가 아니거나, 실패한 경우는 null을 되돌려 보내는 것이다. 본 메소드는, 후술하는 제어 정보 통신부(1602)의 메소드 getEPGData()를 호출함으로써 행해진다.
도 31 (8) 메소드 updateAttribute()는, 인수 id로 지정된 콘텐츠가, 인수 type으로 지정된 처리가 행해진 경우의 속성 정보의 갱신을 행하는 것이고, 성공하면 true를, 실패하면 false를 되돌려 보낸다. 본 메소드는, 후술하는 속성 관리부(2905)의 메소드 updateAttribute()를 호출함으로써 행해진다.
제어 정보 통신부(2902)는, OS(2801)의 라이브러리(2801)의 NET(2801b3)을 통해 네트워크부(2708)를 제어하고, 지정된 네트워크(107)에 접속되어 있는 외부 기기와, 메시지의 송수신을 행하는 것이다.
제어 정보 통신부(2902)는, 제어부(2901) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 33은, 제어 정보 통신부(2902)가 제공하는 Java API의 일례이다.
도 33 (1) 메소드 collectNetDevice()는, 상기의 본 실시 형태에 있어서의 방송 수신 장치(102)의 네트워크 라이브러리(705e)의 정보 통신부(1603)의 메소드 collectNetDevice()와 동일한 것이다.
도 33 (2) 메소드 getRequestMessage()는, 인수 s로 부여된 소켓으로부터 메시지를 수신하여, 바이드열로 되돌려 보내는 것으로, 성공하면 바이트열을 되돌려 보내고, 실패하면 null을 되돌려 보내는 것이다. 본 메소드는, 외부 기기로부터의 요구를 수신할 때에 이용하는 것이다.
도 33 (3) 메소드 sendResponseMessage()는, 인수 s로 부여된 소켓에, 인수 mes로 부여된 메시지를 송신하는 것이고, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 이 메소드는, 외부 기기로부터의 요구에 대한 회답을 보낼 때에 이용된다.
도 33 (4) 메소드 sendRequestMessage()는, 인수 s로 부여된 소켓에, 인수 mes로 부여된 메시지를 송신하는 것이고, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 이 메소드는, 외부 기기에 요구를 보낼 때에 이용된다.
도 33 (5) 메소드 getResponseMessage()는, 인수 s로 부여된 소켓으로부터 메시지를 수신하여, 바이트열로 되돌려 보내는 것으로, 성공하면 바이트열을 되돌려 보내고, 실패하면 null을 되돌려 보내는 것이다. 본 메소드는, 외부 장치에 보낸 요구에 대한 회답을 이 외부 장치로부터 수신할 때에 이용하는 것이다.
도 33 (6) 및 (7) 메소드 getConentList()는, 인수 dev로 부여된 영상 축적 장치, 혹은 devices로 부여된 복수의 영상 축적 장치에 축적되어 있는 콘텐츠의 일람을 취득하여, ContentInfo 오브젝트의 배열을 되돌려 보내는 것으로, 성공시에는 이 배열이, 실패시에는 null이 되돌아온다. 각 영상 기억 장치에 축적된 콘텐츠 일람의 취득은, UPnP AV로 정의된 방법에 의해 행할 수 있기 때문에, 상세한 설명은 생략한다.
도 33 (8) 메소드 getEPGData()는, 인수 dev로 부여된 방송 수신 장치로부터 EPG 정보를 취득하여, ContentInfo 오브젝트의 배열을 되돌려 보내는 것이고, 성공시에는 이 배열이, 실패시에는 null이 되돌아온다. 방송 수신 장치로부터의 EPG 정보의 취득도, UPnP AV로 정의된 방법에 의해 행할 수 있기 때문에, 상세한 설명은 생략한다.
데이터 수신부(2903)는, OS(2801)의 라이브러리(2801)의 NET(2801b3)을 통해 네트워크부(2708)를 제어하고, 네트워크(107)에 접속된 방송 수신 장치 혹은 영상 축적 장치로부터, 네트워크(107)를 통해 멀티미디어 데이터를 수신하는 것이다.
데이터 수신부(2903)는, 제어부(2901) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 34는, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 데이터 수신부(2903)가 제공하는 Java API의 일례이다.
도 34 (1) 메소드 openRemoteProgram()은, 인수 dev로 부여된 장치의, 인수 port로 지정된 포트로부터, 멀티미디어 데이터를 수신하는 통신로를 확보하여, RemoteProgram 오브젝트로 되돌려 보내는 것으로, 성공시에는 이 오브젝트가, 실패시에는 null이 돌아간다. 도 35는, RemoteProgram 클래스 구성의 일례를 나타낸 도면이다. 도 35에서, s는 통신이 이용하는 소켓을 나타낸다. 메소드 getMediaInputStream()는, 이 멀티미디어 데이터를 독출하는 InputStream 오브젝트를 되돌려 보내는 것이다.
도 34 (2) 메소드 openRemoteProgram()은, 인수 dev로 부여된 장치에 축적된, 인수 id로 부여된 식별자를 갖는 멀티미디어 데이터를 수신하는 통신로를 확보하여, RemoteProgram 오브젝트로 되돌려 보내는 것으로, 성공시에는 이 오브젝트가, 실패시에는 null이 돌아간다. 본 메소드는, 우선, 이 장치와 통신하는 Socket 오브젝트를 생성하여 접속한다. 이어서, 부여된 식별자를 포함한 송신 요구 메시지를 작성하여, 제어 정보 통신부(2902)의 메소드 sendRequestMessage()를 호출함으로써, 이 기기에 송신한다. 이어서, 제어 정보 통신부(2902)의 getResponseMessage()를 호출함으로써, 회답 메세지를 수취한다. 회답 메시지가 OK이면, 그것을 해석한다. 그리고, 특정한 포트 번호가 지정되어 있으면, 새로운 Socket 오브젝트를 작성하여, 그 Socket 오브젝트를 이용해 RemoteProgram 오브젝트를 생성하여 되돌려 보낸다. 특정한 포트가 지정되어 있지 않으면, 통신에 이용한 Socket 오브젝트로부터 RemoteProgram 오브젝트를 생성하여 되돌려 보낸다. 회 답 메시지가 NG이면, null을 되돌려 보낸다.
데이터 송신부(2904)는, OS(2801)의 라이브러리(2801)의 NET(2801b3)을 통해 네트워크부(2708)를 제어하고, 지정된 네트워크(107)에 접속되어 있는 외부 기기에, 지정된 멀티미디어 데이터를 출력하는 것이다.
데이터 송신부(2904)는, 제어부(2901) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 36은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 데이터 송신부(2903)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 36 (1) 메소드 sendMultimediaData()는, 인수 dev로 부여된 장치의, 인수 port로 부여된 포트에, 도 36 (2) 메소드 sendMultimediaData()는, 인수 s로 부여된 Socket 오브젝트를 이용하여, 인수 is로 부여된 InputStream 오브젝트로부터 데이터를 읽어들여, 그 EOF까지 데이터를 송신하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
속성 관리부(2905)는, 영상 축적 장치의 속성을 관리하는 것이다. 영상 축적 장치의 속성은, 제2 메모리(2703)에 저장되어 있고, 속성 관리부(2905)는, Java 라이브러리(2406) 중의 IO(2604f)를 이용하여 이것을 읽고 쓴다.
속성 관리부(2905)는, 제어부(2901) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 37은, 본 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 속성 관리부(2905)가 제공하는 Java API의 일례이다.
도 37 (1) 메소드 updateAttribute()는, 인수 id로 지정된 콘텐츠가, 인수 type으로 지정된 처리가 행해진 경우의 속성 정보의 갱신을 행하는 것이고, 성공하면 true를, 실패하면 false를 되돌려 보낸다. type의 값이 0인 경우는 축적을 나타내고, 1인 경우는 재생 혹은 네트워크로의 송출을 나타낸다. 본 메소드는, 제2 메모리(2703)로부터 속성 정보와 축적되어 있는 콘텐츠의 정보를 독출하여, 이 콘텐츠의 장르를 조사하고, 또, 제2 메모리(2703)의 멀티미디어 데이터용 영역의 빈 용량을 조사함으로써, 속성 정보를 갱신한다. 그리고, 갱신한 속성 정보를 제2 메모리(2703)에 기록한다.
도 37 (2) 메소드 getAttribute()는, 제2 메모리(2703)로부터 속성 정보를 독출하여, 필요한 데이터를 DevAttrib 오브젝트에 격납하고, 이 DevAttrib 오브젝트를 되돌려 보내는 것으로, 실패시에는 null을 되돌려 보낸다.
권리 처리부(2906)는, 방송 수신 장치(102)에, 인수 id로 부여된 식별자의 콘텐츠의 이용에 관한 권리 처리를 행하는 것이다.
권리 처리부(2906)는, 제어부(2901) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 38은, 발명의 실시 형태 2에 따른 네트워크 라이브러리의 내부 구성에 포함되는 권리 처리부(2906)가 제공하는 Java API의 일례이다.
도 38 (1) 메소드 requestContentUse()는, 인수 id로 부여된 식별자의 콘텐츠를, 인수 dev로 부여된 장치에, 사용의 허가를 요구하는 것으로, 허가가 얻어지면 true를, 허가되지 않거나, 혹은 처리에 실패한 경우는 false를 각각 되돌려 보 낸다. 본 메소드는, 요구 메시지를 작성하여, 제어 정보 통신부(2902)의 메소드 sendRequestMessage()를 호출하여 송신한다. 또, 제어 정보 통신부(2902)의 메소드 getResposeMessage()를 호출하여 회답 메시지를 수신한다. 그리고, 회답 메시지가 OK를 나타내고 있으면 true를 되돌려 보내고, NG를 나타내고 있으면 false를 되돌려 보낸다.
여기에서, 제어부(2901)의, 메소드 acceptRequestToStore(), 메소드 acceptRequestToTransfer(), 메소드 getMultimediaData()에 대해 설명한다.
메소드 acceptRequestToStore()는, 호출되면, 별도의 스레드 혹은 프로세스를 생성한 후에 동작한다. 우선, 방송 수신 장치(102)로부터의 접속을 받아들이는 Socket 오브젝트를 생성하고, 접속 요구를 기다린다. 방송 수신 장치(102)로부터 접속 요구가 오면, 제어 정보 통신부(2902)의 메소드 getRequestMessage()를 호출하여, 요구 메시지를 수신한다. 수신한 요구 메시지가 속성의 문의이면, 속성 관리부(2905)의 메소드 getAttribute()을 호출하여 속성 정보를 독출하고, 제어 정보 통신부(2902)의 메소드 sendResponseMessage()를 호출함으로써, 속성 정보를 회신하고, 접속 요구의 대기로 되돌아온다. 수신한 요구 메시지가 멀티미디어 데이터의 축적 요구이면, 우선, 요구 메시지로부터 멀티미디어 데이터의 식별자와 프로그램 정보를 취출한다. 이어서, 데이터 수신부(2903)의 메소드 openRemoteProgram()을 호출함으로써, 수신하는 InputStream을 만든다. 이어서, 이 식별자, 프로그램 정보와 이 InputStream으로부터 수신하는 멀티미디어 데이터를, Java 라이브러리(2804) 중의 IO(2804f)를 통해, 제2 메모리(2703)에 기록함으로써, 이 멀티미디 어 데이터를 축적한다. 또한, 속성 관리부(2905)의 메소드 updateAttribute()를 호출함으로써, 속성 정보를 갱신한다. 이상의 처리를 종료하면, 접속 요구의 대기로 되돌아온다. 또한, 접속 요구를 받아들이면, 또한, 별도의 스레드 혹은 프로세스를 생성하여, 이후의 처리는 이 별도의 스레드 혹은 프로세스로 동작하고, 원래의 스레드 혹은 프로세스는 접속 요구의 대기로 되돌아오는 구성이어도 된다. 이 경우, 이 별도의 스레드 혹은 프로세스상의 처리는, 접속 요구 대기로 되돌아오지 않고, 종료한다.
또한, 메소드 acceptRequestToStore()는, 인수로 NetDevice 오브젝트를 취하고, 이 인수에 의해 방송 수신 장치(102)가 부여되는 구성이어도 된다. 이 경우, 상기의 처리에 더하여, 기다리고 있는 Socket 오브젝트에 접속해 온 장치가, 인수로 부여된 장치가 아니면, 접속 요구를 받아들이지 않는 것을 행한다.
메소드 acceptRequestToTransfer()는, 호출되면, 별도의 스레드 혹은 프로세스를 생성한 후에 동작한다. 우선, 네트워크(107)에 접속된 장치로부터의 접속을 받아들이는 Socket 오브젝트를 생성하고, 접속 요구를 기다린다. 접속 요구가 오면, 제어 정보 통신부(2902)의 메소드 getRequestMessage()를 호출하여, 요구 메시지를 수신한다. 수신한 요구 메시지가, 방송 수신 장치(102)로부터의, 어떤 멀티미디어 데이터를 축적하고 있는지의 여부의 문의이면, 우선 요구 메시지로부터 멀티미디어 데이터의 식별자를 취출한다. 다음에, Java 라이브러리(2804) 중의 IO(2804f)를 통해, 축적하고 있는 콘텐츠의 일람을 독출하여, 취출한 식별자와 대조함으로써, 이 멀티미디어 데이터를 축적하고 있는지의 여부를 판정한다. 이어 서, 제어 정보 통신부(2902)의 메소드 sendResponseMessage()를 호출함으로써 판정 결과를 회신하고, 접속 요구의 대기로 되돌아온다. 수신한 요구 메시지가, 방송 수신 장치(102)로부터의, 어떤 멀티미디어 데이터의 송신 요구이면, 우선, 요구 메시지로부터 송신처의 단말과 송신하는 멀티미디어 데이터의 식별자를 취출한다. 이어서, IO(2804f)를 통해 이 멀티미디어 데이터를 독출하는 InputStream을 취득한다. 그리고, 데이터 송신부(2904)의 메소드 sendMultimediaData()를 호출함으로써, 이 단말에 이 멀티미디어 데이터를 송신한다. 데이터 송신이 끝나면, 속성 관리부(2905)의 메소드 updateAttribute()를 호출하여, 속성 정보의 갱신을 행하고, 접속 요구의 대기로 되돌아온다. 수신한 요구 메시지가, 단말 등으로부터의 멀티미디어 데이터 송신 요구이면, 우선, 요구 메시지로부터 송신하는 멀티미디어 데이터의 식별자를 취출한다. 이어서, IO(2804f)를 통해 이 멀티미디어 데이터를 독출하는 InputStream을 취득한다. 그리고, 데이터 송신부(2904)의 메소드 sendMultimediaData()를 호출함으로써, 이 단말에 이 멀티미디어 데이터를 송신한다. 데이터 송신이 끝나면, 속성 관리부(2905)의 메소드 updateAttribute()를 호출하여, 속성 정보의 갱신을 행하고, 접속 요구의 대기로 되돌아온다. 또한, 접속 요구를 받아들이면, 또한, 별도의 스레드 혹은 프로세스를 생성하여, 이후의 처리는 이 별도의 스레드 혹은 프로세스로 동작하고, 원래의 스레드 혹은 프로세스는 접속 요구의 대기로 되돌아오는 구성이어도 된다. 이 경우, 이 별도의 스레드 혹은 프로세스상의 처리는, 접속 요구 대기로 되돌아오지 않고, 종료한다.
메소드 getMultimediaData()는, 호출되면, 우선, 인수 dev로 부여된 장치에 접속하는 Socket 오브젝트를 생성하고, 이 장치에 접속한다. 이어서, 인수 id로 부여된 멀티미디어 데이터의 송신 요구 메시지를, id의 값을 포함시켜 작성하고, 제어 정보 통신부(2902)의 메소드 sendRequestMessage()을 호출함으로써, 이 장치에 송신한다. 이어서, 데이터 수신부(2903)의 메소드 openRemoteProgram()을 호출함으로써, 이 멀티미디어 데이터를 수신하는 InputStream 오브젝트를 생성한다. 이어서, 이 InputStream으로부터 데이터를 독출하여, 인수 os로 부여된 OutputStream에 쓰기 시작한다. 수신 데이터를 모두 기록하면 처리를 종료한다. 본 메소드에 의해, 메소드 getContentList() 혹은 getEPGData()에 의해 취득한 콘텐츠 일람 중의 콘텐츠에 대해, 그 멀티미디어 데이터를 수신하여, 재생이나 축적을 행할 수 있다.
단말(105) 및 단말(106)은, 상기한 영상 축적 장치(103) 및 영상 축적 장치(104) 중, 멀티미디어 데이터의 재생에 관한 구성 요소만으로 구성된 것이기 때문에, 상세 설명은 생략한다.
(실시 형태 2의 변형예)
본 발명을 상기 실시 형태 2에 의거하여 설명해 왔지만, 본 발명은, 상기 실시 형태에 한정되는 것은 아니다. 이하와 같은 경우도, 본 발명에 포함된다.
(1) 방송 수신 장치(102)는, 또한, 제2 메모리(503)에 멀티미디어 데이터를 축적하고, Java 라이브러리(705) 중의 네트워크 라이브러리(705e)의 선택부(1604)는, 방송 수신 장치(102)와, 네트워크(107)에 접속된 영상 축적 장치 중 하나를 선택하는 구성이어도 된다. 또, 방송 수신 장치(102)는, 또한, 단말로부터 VoD 서비 스의 요구를 받았을 때에, 네트워크(107)에 접속된 영상 축적 장치와, 방송 수신 장치(102)의 축적부에, 이 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 검색하여, 방송 수신 장치(102)의 축적부에 축적되어 있는 경우는, 이 멀티미디어 데이터를 이 VoD 서비스의 요구를 발행한 단말에 송신하는 구성이어도 된다.
(2) 또, 방송 수신 장치(102)는, 멀티미디어 데이터에 소정의 암호화를 행하여, 영상 축적 장치(103) 및 영상 축적 장치(104)에, 암호화된 멀티미디어 데이터를 송신하는 구성이어도 된다. 또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 수신한 암호화된 멀티미디어 데이터를 복호하여, 축적부(302)에 축적하는 구성이어도 되고, 또한, 소정의 암호화를 실시하여 축적하는 구성이어도 된다.
또, 방송 수신 장치(102), 영상 축적 장치(103) 및 영상 축적 장치(104)는, 단말(105) 및 단말(106)에 멀티미디어 데이터를 송신할 때에, 이 멀티미디어 데이터에 소정의 암호화를 실시하여, 암호화된 멀티미디어 데이터를 송신하고, 단말(105) 및 단말(106)에 있어서, 수신한 암호화된 멀티미디어 데이터를 복호하여 재생하는 구성이어도 된다.
(3) 또, 상기 실시 형태에 있어서는, 방송 수신 장치(102)의 Java 라이브러리(705) 중의 네트워크 라이브러리(705e)의 선택부(1604)의 선택 알고리즘의 예를 기술하였지만, 이들 알고리즘에 한정되지 않는 것은 말할 필요도 없다. 예를 들면, 방송 수신 장치(102)는, 영상 수신 장치를 순서대로 선택하는 구성이어도 된다. 또, 영상 축적 장치의 이용 빈도에 따라 선택해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 축적된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 재생 혹은 출력된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다. 또한, 예를 들면, 단말(105)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(103)를, 단말(106)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(104)를, 각각 선택하는 것과 같은, 단말과의 조합에 의한 선택이어도 된다.
(4) 또, 상기 실시 형태에 있어서는, 방송 수신 장치(102)가, 영상 축적 장치(103) 및 영상 축적 장치(104)와 통신함으로써, VoD 서비스 요구가 있었던 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 판정하는 것으로 하였지만, 방송 수신 장치(102)가, 영상 축적 장치(103) 및 영상 축적 장치(104)에 축적시킨 멀티미디어 데이터를 기억해 두고, 그 내용으로부터 판정하는 구성이어도 된다.
(5) 또, 상기 실시 형태에 있어서는, 단말로부터 요구가 있었던 VoD 서비스용의 멀티미디어 데이터가, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(102)는, 축적하고 있는 영상 축적 장치에, 이 VoD 서비스를 요구한 단말로의 이 멀티미디어 데이터의 송신 요구를 발행하고, 이 단말에는, 이 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되어 오는 것을 통지하는 것으로 하였지만, 방송 수신 장치(102)는, 이 영상 축적 장치와 과금 등의 권리 처리를 행하여, 이 단말에 이 영상 축적 장치를 통지하고, 이 단말로부터 이 영상 축적 장치에 대해, 이 멀티미디어 데이터의 송신 요구를 발행하는 구성이어도 된다.
(6) 또, 상기 실시 형태에 있어서는, 단말로부터 요구가 있었던 VoD 서비스용의 멀티미디어 데이터가, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(102)와 이 영상 축적 장치가 통신하여, 과금 등 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 것으로 하였지만, 방송 수신 장치(102)와, VoD 서비스를 요구한 단말이 통신하여, 상기 권리 처리를 행하는 구성이어도 된다. 혹은, 영상 축적 장치 및 단말과 통신하지 않고, 방송 수신 장치(102)가 권리 처리를 행하는 구성이어도 된다.
또, 상기 실시 형태에 있어서는, 멀티미디어 데이터의 이용에 따른, 과금 등의 권리 처리를, 멀티미디어 데이터의 송신 요구를 발행할 때에 행하는 것으로 하였지만, 멀티미디어 데이터의 이용 종료 후에 행하는 구성이어도 된다. 또, 이 멀티미디어 데이터의 이용 회수나, 이용 구간 등에 따라, 과금하는 금액을 바꾸는 구성이어도 된다.
(7) 또, 상기 실시 형태에 있어서는, 하나의 멀티미디어 데이터는, 하나의 영상 축적 장치에 축적하는 것으로 하였지만, 이 멀티미디어 데이터를 분할하여, 복수의 영상 축적 장치에, 분산하여 축적하는 구성이어도 된다. 혹은, 하나의 멀티미디어 데이터를 복수의 영상 축적 장치에 동시에 축적하는 구성이어도 된다. 이에 의해, 복수의 단말로부터 동일한 멀티미디어 데이터의 요구가 있었던 경우에, 영상 축적 장치가 이 단말에 영상을 송신하는 부하를 분산하는 것이 가능해진다.
(8) 또, 방송 수신 장치(102)는, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 방송 수신 장치(102)는, 송신하는 멀티미디어 데이터를 일단 복호하고, 상기 부호화부에 의해 새롭게 멀티미디어 데이터를 생성하여 송신하는 구성이어도 된다. 또, 영상 축적 장치(103) 및 영상 축적 장치(104)는, 멀티미디어 데이터를 복호하는 복호부와, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 수신한 멀티미디어 데이터를 상기 복호부에서 일단 복호하고, 상기 부호화부에서 새롭게 멀티미디어 데이터를 생성하여 축적하는 구성이어도 된다.
(9) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 1개의 시스템 LSI(Large Scale Integration : 대규모 집적 회로)로 구성되어 있는 것으로 해도 된다. 시스템 LSI는, 복수의 구성부를 1개의 칩 상에 집적하여 제조된 초다기능 LSI이고, 구체적으로는, 마이크로 프로세서, ROM, RAM 등을 포함하여 구성되는 컴퓨터 시스템이다. 상기 RAM에는, 컴퓨터 프로그램이 기억되어 있다. 상기 마이크로 프로세서가, 상기 컴퓨터 프로그램에 따라 동작함으로써, 시스템 LSI는, 그 기능을 달성한다.
(10) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 각 장치에 탈착 가능한 IC 카드 또는 단체의 모듈로 구성되어 있는 것으로 해도 된다. 상기 IC 카드 또는 상기 모듈은, 마이크로 프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 상기 IC 카드 또는 상기 모듈은, 상기의 초다기능 LSI를 포함하는 것으로 해도 된다. 마이크로 프로세서가, 컴퓨터 프로그램에 따라 동작함으로써, 상 기 IC 카드 또는 상기 모듈은, 그 기능을 달성한다. 이 IC 카드 또는 이 모듈은, 내탬퍼성을 갖는 것으로 해도 된다.
(11) 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기에 나타낸 방법인 것으로 해도 된다. 또, 이들 방법을 컴퓨터에 의해 실현하는 컴퓨터 프로그램인 것으로 해도 되고, 상기 컴퓨터 프로그램으로 이루어지는 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를 컴퓨터 판독 가능한 기록 매체, 예를 들면, 플렉시블 디스크, 하드 디스크, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD(Blu-ray Disc), 반도체 메모리 등에 기록한 것으로 해도 된다. 또, 이들 기록 매체에 기록되어 있는 상기 컴퓨터 프로그램 또는 상기 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를, 전기 통신 회선, 무선 또는 유선 통신 회선, 인터넷을 대표로 하는 네트워크, 데이터 방송 등을 경유하여 전송하는 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 마이크로 프로세서와 메모리를 구비한 컴퓨터 시스템으로서, 상기 메모리는, 상기 컴퓨터 프로그램을 기억하고 있고, 상기 마이크로 프로세서는, 상기 컴퓨터 프로그램에 따라 동작하는 것으로 해도 된다.
또, 상기 프로그램 또는 상기 디지털 신호를 상기 기록 매체에 기록하여 이송함으로써, 또는 상기 프로그램 또는 상기 디지털 신호를 상기 네트워크 등을 경 유하여 이송함으로써, 독립한 다른 컴퓨터 시스템에 의해 실시하는 것으로 해도 된다.
(12) 상기 실시 형태 및 상기 변형예를 각각 조합하는 것으로 해도 된다.
(실시 형태 3)
도 39는, 본 발명의 실시 형태 3에 있어서의 멀티미디어 배포 시스템의 구성도이다. 도 39에 나타낸 멀티미디어 배포 시스템(3901)은, 방송 수신 장치(3902)와, 제1 영상 축적 장치(3903)와, 제2 영상 축적 장치(3904)와, 제1 단말(3905)과, 제2 단말(3906)과, 네트워크(3907)와, 수신기부(3908)에 의해 구성된다.
방송 수신 장치(3902), 영상 축적 장치(3903), 영상 축적 장치(3904), 단말(3905), 및 단말(3906)은, 네트워크(3907)에 접속되어 있고, 네트워크(107)를 통해 상호 통신하는 것이 가능하다. 또, 방송 수신 장치(3902)는, 수신부(3908)와 접속되어 있고, 수신부(3908)가 수신한 디지털 방송의 전파를 받아, 복조하여, 멀티미디어 데이터를 얻는다. 또한, 영상 축적 장치 및 단말은 복수 포함되어 있으면 되는 것이고, 설명을 간이하게 하기 위해 각각 2개 포함되는 것으로 하고 있다.
본 실시 형태에 있어서의 방송 수신 장치(3902)는, 수신부(3908)에 의해 받은 전파로부터 복조하여, 디지털 방송의 멀티미디어 데이터를 추출한다. 또, 방송 수신 장치(3902)는, 디지털 방송에서 제공되는 유료 방송 등을 이용하는 것으로, 이 유료 방송의 멀티미디어 데이터를 이용하기 위한 과금 등 권리 처리를 행하는 통신을, 전화 회선 등, 도시 생략의 다른 통신로를 이용하여 행한다.
또, 방송 수신 장치(3902)는, 유저의 설정 등에 의해, 미리 니어 VoD로 방송 되는 프로그램의 멀티미디어 데이터를 수신하여 축적하는 경우에, 네트워크(3907)를 통해, 영상 축적 장치(3903), 영상 축적 장치(3904)에 속성의 송신 요구를 송신하고, 영상 축적 장치로부터 이 속성을 수신한다. 또한, 방송국으로부터 수신한 멀티미디어 데이터의 속성, 및 영상 축적 장치로부터 수신한 영상 축적 장치의 속성으로부터, 영상 축적 장치(3903)와 영상 축적 장치(3904) 중 어느 하나를 선택한다. 또한, 선택한 영상 축적 장치(3903) 혹은 영상 축적 장치(3904)에, 멀티미디어 데이터의 축적 요구를 송신하고, 이어서, 이 멀티미디어 데이터를 송신한다.
또한, 상기, 방송 수신 장치(3902)에서 미리 행해지는 니어 VoD로 방송되는 프로그램의 수신은, 방송국의 요구로 행해지는 것이어도 되고, 또는, 특정한 일시에 행해지는 것이어도 된다. 또, 특정한 시간마다 행해지는 것이어도 된다. 또, 유저가 설정한 일시에 행해지는 것이어도 된다. 또, 유저가 설정한 특정 시간 간격마다 행해지는 것이어도 된다.
또, 방송 수신 장치(3902)는, 단말(3905) 혹은 단말(3906)로부터, 방송 프로그램 등 콘텐츠의 시청 요구를 받은 경우, 영상 축적 장치(3903), 영상 축적 장치(3904) 중 어느 하나, 혹은 양쪽과 통신하여, 이 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 문의한다. 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 어디에도 축적되어 있지 않은 경우는, 방송 수신 장치(3902)는, 튜너를 이용하여 이 프로그램을 수신하고, 필요하면, 과금 등 적절한 권리 처리를 행한 후, 네트워크(3907)를 통해, 요구한 단말(3905) 혹은 단말(3906)에, 이 멀티미디어 데이터를 송신한다. 또, 튜너가 이용 중 등에서 수신할 수 없는 경우는, 그 취지 를 이 단말에 통지한다. 영상 축적 장치(3903) 혹은 영상 축적 장치(3904) 중 어느 하나에 축적되어 있었던 경우는, 이 멀티미디어 데이터를 축적하고 있는 영상 축적 장치(3903) 혹은 영상 축적 장치(3904)에, 이 멀티미디어 데이터를, 이 요구를 발행한 단말에 송신하도록 요구한다. 이 때, 필요하면, 이 영상 축적 장치와 통신하여, 이 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 행하여, 방송국에 통지한다. 또한, 방송 수신 장치(3902)는, 이 요구를 발행한 단말에, 이 멀티미디어 데이터를 축적하고 있는 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되는 것을 통지한다.
본 실시 형태에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 방송 수신 장치(3902)로부터 속성의 송신 요구를 수신하면, 영상 축적 장치의 내부에 기억하고 있는 속성을 방송 수신 장치(3902)에 송신한다. 영상 축적 장치의 속성이란, 미리 니어 VoD 프로그램을 축적하는 축적부의 빈 용량, 유저 조작에 의해 축적한 멀티미디어 데이터의 장르마다의 축적 빈도, 재생된 멀티미디어 데이터의 장르마다의 이용 빈도 등과 같은 정보이다.
또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 방송 수신 장치(3902)로부터, 멀티미디어 데이터의 축적 요구를 수신하면, 이 멀티미디어 데이터를, 네트워크(3907)를 통해, 방송 수신 장치(3902)로부터 수신하여, 축적부에 축적한다.
또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 방송 수신 장치(3902)로부터, 특정 콘텐츠의 멀티미디어 데이터를 축적하고 있는지의 여부의 문 의를 수신하면, 축적하고 있는 콘텐츠 데이터를 검색하여, 결과를 회답한다.
또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 방송 수신 장치(3902)로부터, 특정 콘텐츠의 멀티미디어 데이터를, 네트워크(3907)에 접속된 특정 단말에 송신하는 요구를 수신하면, 이 멀티미디어 데이터를, 네트워크(3907)를 통해, 이 단말에 송신한다. 송신을 개시할 때에, 필요하면, 방송 수신 장치(102)와 통신하여, 과금 등, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행한다.
본 실시 형태에 있어서의 단말(3905) 및 단말(3906)은, 유저의 조작에 의해, 방송 수신 장치(3902)에 프로그램 시청 요구를 발행하고, 네트워크(3907)를 통해, 멀티미디어 데이터를 수신하여, 이 멀티미디어 데이터의 재생을 행하는 것이다. 이 멀티미디어 데이터가, 영상 축적 장치(3903) 혹은 영상 축적 장치(3904) 중 어느 하나에 축적되어 있는 경우는, 방송 수신 장치(3902)로부터, 이 축적하고 있는 영상 축적 장치가 통지되고, 이 영상 축적 장치로부터 보내어져 오는 멀티미디어 데이터를, 네트워크(3907)를 통해 수신한다.
네트워크(3907)는, 가정 내에 시설된 홈 네트워크이고, 이더넷, 무선 LAN, 혹은, 동축 케이블을 매체에 사용하는 통신 기술 c.LINK 등에 의해 구성된 IP 네트워크이다.
본 실시 형태에 있어서의 수신부(3908)는, 방송 수신 장치(3902)에, 디지털 방송의 전파를 동축 케이블을 통해 제공하는 것으로, 대표적으로는, 디지털 방송을 수신하는 안테나나, 케이블 TV의 헤드엔드이다.
이상과 같이, 본 발명의 멀티미디어 배포 시스템(3901), 방송 수신 장 치(3902), 영상 축적 장치(3903), 영상 축적 장치(3904)에 의하면, 니어 VoD로 방송되는 프로그램의 멀티미디어 데이터를, 영상 축적 장치(3903) 및 영상 축적 장치(3904)에, 미리, 적절한 조건으로, 다수의 데이터를, 분산하여 축적시키는 것이 가능하고, 단말(3905) 및 단말(3906)로부터 동시에 다른 시청 요구가 발행되어도, 영상 축적 장치(3903) 및 영상 축적 장치(3904)에 축적된 멀티미디어 데이터를 이용함으로써, 시청시에 필요한 튜너수를 제언할 수 있다.
이하, 본 발명의 멀티미디어 배포 시스템(3901)을 구성하는, 방송 수신 장치(3902), 영상 축적 장치(3903) 및 영상 축적 장치(3904)에 대해, 더욱 상세하게 설명한다.
우선, 도 40을 참조하면서, 방송 수신 장치(3902)의 상세한 설명을 행한다.
도 40은, 본 발명의 실시 형태 3에 있어서의 방송 수신 장치(3902)의 구성을 도시한 블록도이다. 도 40에 나타낸 방송 수신 장치(3902)는, 제어부(4001)와, 방송국(3908)으로부터 송신되는 멀티미디어 데이터를 수신하는 데이터 수신부(4002)와, 네트워크(3907)에 접속된 외부 장치와 통신하는 정보 통신부(4003)와, 네트워크(3907)에 접속된 복수의 영상 축적 장치 중 하나를 선택하는 선택부(4004)와, 네트워크(3907)에 접속된 외부 장치에 멀티미디어 데이터를 송신하는 데이터 출력부(4005)와, 유료 프로그램에 있어서 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 행하는 권리 처리부(4006)와, 네트워크(3907)와 접속되는 네트워크 인터페이스(4007)를 구비한다.
제어부(4001)를 보다 상세하게 설명한다. 제어부(4001)는, 마이크로 프로세 서, ROM, RAM 등에 의해 구성되어 있다. ROM, RAM 및 도시 생략의 정보 기억부에는 마이크로 프로세서로 동작하는 OS, Java VM(Java Virtual Machine) 프로그램, Java 프로그램 라이브러리, Java 어플리케이션 프로그램이 저장되어 있다. 마이크로 프로세서는, 기동시에 OS를 읽어들여 실행한다. 이어서, Java 어플리케이션 기동시에, Java VM을 읽어들여 실행하고, 필요에 따라 Java 프로그램 라이브러리를 읽어들이면서, Java 어플리케이션을 실행한다.
제어부(4001)는, 미리 니어 VoD로 방송되는 멀티미디어 데이터를 데이터 수신부(4002)로부터 수신시켜, 정보 통신부(4003)에 의해, 네트워크(3907)에 접속된 복수의 영상 축적 장치에, 속성의 송신 요구를 송신한다. 이어서, 정보 통신부(4003)에 의해, 각각의 영상 축적 장치로부터 이 속성을 수신한다. 또한, 제어부(4001)는, 수신한 영상 축적 장치의 속성 및 이 멀티미디어 데이터의 속성을 선택부에 보내고, 선택부에 지시하여 영상 축적 장치의 하나를 선택시킨다. 또한, 제어부(4001)는, 선택한 영상 축적 장치에, 정보 통신부(4003)에 의해, 이 멀티미디어 데이터의 축적 요구를 송신한다. 또한, 제어부(4001)는, 정보 통신부(4003)에 의해, 이 영상 축적 장치로부터 축적 요구를 받아들인 취지를 수신하면, 데이터 출력부(4005)에 지시함으로써, 이 멀티미디어 데이터를, 네트워크(3907)를 통해, 이 영상 축적 장치에 송신한다.
또한, 제어부(4001)는, 정보 통신부(4003)로부터, 네트워크(3907)에 접속된 단말로부터 니어 VoD 프로그램 시청의 요구를 수신하면, 정보 통신부(4003)로부터, 네트워크(3907)에 접속된 영상 축적 장치에, 이 요구의 멀티미디어 데이터를 축적 하고 있는지의 여부의 문의를 송신한다. 이어서, 제어부(4001)는, 정보 통신부(4003)로부터, 각 영상 축적 장치로부터, 이 문의에 관한 회답을 수신한다. 어떤 영상 축적 장치에 이 멀티미디어 데이터가 축적되어 있는 경우는, 이 영상 축적 장치에, 이 멀티미디어 데이터의 시청 요구를 발행한 단말에 대한 송신 요구를 송신한다. 이 때, 제어부(4001)는, 필요하면, 이 영상 축적 장치와 통신하여, 권리 처리부(4006)에 지시하여, 이 멀티미디어 데이터의 이용에 따른 과금과 같은 권리 처리를 행한다. 또한, 이 단말에는, 이 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되는 것을, 정보 통신부(4003)에 의해 통지한다.
데이터 수신부(4002)는, 디지털 방송의 전파를 수신하여, 특정 프로그램에 관한 멀티미디어 데이터를 추출하는 것이다. 데이터 수신부(4002)는, 대표적으로는 튜너이고, 디지털 방송의 전파를 수신해서 복호하여, 멀티미디어 데이터를 추출하는 것이다. 또, 방송되는 멀티미디어 데이터는, 그것이 유료 콘텐츠라면 스크램블되어 있는 경우도 있지만, 그 경우에는, 데이터 수신부(4002)에 의해 복호된다.
디지털 방송에서 보내어져 오는 멀티미디어 데이터는, MPEG2로 대표되는 부호화된 디지털 데이터이고, MPEG2-TS 형식에 의해 송신된다. MPEG2-TS는, 하나의 스트림 내에 복수의 콘텐츠를 격납할 수 있지만, 데이터 수신부(4002)는, 이 스트림으로부터, 하나의 콘텐츠의 멀티미디어 데이터를 선택하는 것이다.
정보 통신부(4003)는, 네트워크 인터페이스(4007)에 접속되어 있고, 제어부(4001)의 지시에 의해, 네트워크(3907)에 접속된 외부 기기에 제어 정보를 송신한다. 또, 정보 통신부(4003)는, 네트워크 인터페이스(4007)에 도달한 방송 수신 장치(3902)로 보내는 정보를 수신하여, 제어부(4001)에 건넨다. 정보 통신부(4003)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
선택부(4004)는, 제어부(4001)로부터의 지시에 의해, 멀티미디어 데이터의 속성과, 영상 축적 장치의 속성을 기초로, 네트워크(3907)에 접속된 복수의 영상 축적 장치 중 하나를 선택하는 것이다. 선택부(4004)는, 대표적으로는, Java 라이브러리에 포함되는 서브루틴이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
본 실시 형태에서는, 멀티미디어 데이터의 속성으로서, 영화, 드라마, 스포츠 등, 콘텐츠의 장르를 이용한다. 또, 영상 축적 장치의 속성으로서, 니어 VoD 프로그램 캐시용의 축적부의 빈 용량을 이용한다. 선택부(4004)는, 우선, 멀티미디어 데이터의 장르에 따라 영상 축적 장치를 선택하고, 이 선택된 영상 축적 장치의 빈 용량이 충분히 없으면, 큰 빈 용량을 갖는 영상 축적 장치를 선택한다.
데이터 출력부(4005)는, 네트워크 인터페이스(4007)에 접속되어 있고, 제어부(4001)의 지시를 받아 동작하며, 멀티미디어 데이터를, 제어부(4001)가 지시한 수신처에 대한 패킷으로 변환하여, 네트워크 인터페이스(4007)를 통해 출력하는 것이다. 데이터 출력부(4005)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
권리 처리부(4006)는, 서비스를 제공하는 업자와 통신함으로써, 멀티미디어 데이터의 이용에 따른, 과금 등의 권리 처리를 행하는 것이다. 예를 들면, 케이블 TV의 경우, 권리 처리부(4006)는, CableCARD를 구비하고 있고, 이 정보를, 서비스를 제공하는 업자와의 통신에 있어서 이용한다. 또, 방송된 보내어진 멀티미디어 데이터가 스크램블되어 있는 경우는, CableCARD의 정보를 제어부(4001)에 건넴으로써, 데이터 수신부(4002)에서의 복호를 행할 수 있도록 하는 것이다.
네트워크 인터페이스(4007)는, Ether 케이블이나 무선 LAN 등 네트워크의 물리 미디어에 따른 인터페이스를 제공하는 하드웨어와 그 드라이버 소프트웨어로 구성되는 것이다.
다음에, 도 40을 참조하면서, 본 실시 형태에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 상세한 설명을 행한다.
도 41은, 본 발명의 실시 형태 3에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 구성을 도시한 블록도이다. 도 41에 나타낸 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 제어부(4101)와, 멀티미디어 데이터를 축적하는 축적부(4102)와, 네트워크(3907)에 접속된 외부 장치와 제어 정보를 통신하는 제어 정보 통신부(4103)와, 영상 축적 장치의 속성을 기억하는 기억부(4104)와, 방송 수신 장치(3902)로부터 송신된 멀티미디어 데이터를 수신하는 데이터 수신부(4105)와, 네트워크(3907)에 접속된 단말(3905) 혹은 단말(3906)에 축적부(4102)에 축적된 멀티미디어 데이터를 송신하는 데이터 송신부(4106)와, 데이터 수신부(4105)가 수신한 멀티미디어 데이터를 축적부(4102)에 기록하는 기록부(4107)와, 축적부(4102)로부터 멀티미디어 데이터를 독출하는 독출부(4108)와, 방송 수신 장치(3902)와 통신하여 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 행하는 권리 처리부(4109)와, 네트워크(3907)와 접속되는 네트워크 인터페이스(4110)를 구비한다.
제어부(4101)를 보다 상세하게 설명한다. 제어부(4101)는, 마이크로 프로세서, ROM, RAM 등에 의해 구성되어 있다. ROM, RAM 및 도시 생략의 정보 기억부에는 마이크로 프로세서로 동작하는 OS, Java VM 프로그램, Java 프로그램 라이브러리, Java 어플리케이션 프로그램이 저장되어 있다. 마이크로 프로세서는, 기동시에 OS를 읽어들여 실행한다. 이어서, Java 어플리케이션 기동시에, Java VM을 읽어들여 실행하고, 필요에 따라 Java 프로그램 라이브러리를 읽어들이면서, Java 어플리케이션을 실행한다.
제어부(4101)는, 제어 정보 통신부(4103)에 의해, 방송 수신 장치(3902)로부터 속성의 송신 요구를 수신하면, 기억부(4104)에 기억하고 있는 속성 정보를, 제어 정보 통신부(4103)로부터 방송 수신 장치(3902)에 송신한다. 또, 제어 정보 통신부(4103)에 의해, 방송 수신 장치(3902)로부터 멀티미디어 데이터의 축적 요구를 수신하면, 데이터 수신부(4105)에 지시하여, 방송 수신 장치(3902)로부터 송신되는 이 멀티미디어 데이터를, 네트워크(3907)를 통해 수신하고, 기록부(4107)에 지시하여, 데이터 수신부(4105)가 수신한 이 멀티미디어 데이터를, 축적부(4102)에 기록시킴으로써, 이 멀티미디어 데이터를 축적부(4102)에 축적시킨다. 또, 축적 후에, 제어부(4101)는, 기록부(4107)로부터 축적부(4102)의 빈 용량을 수신하여, 기억 부(4104)에 기억하고 있는 속성 정보를 갱신한다.
또, 제어부(4101)는, 제어 정보 통신부(4103)에 의해, 방송 수신 장치(3902)로부터, 특정한 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 수신했을 때에, 독출부(4108)에 지시하여, 축적부(4102)에 축적된 멀티미디어 데이터를 조사함으로써, 이 멀티미디어 데이터를 축적하고 있는지의 여부를 판정하여, 판정 결과를 제어 정보 통신부(4103)로부터, 방송 수신 장치(3902)에 송신한다.
또, 제어부(4101)는, 제어 정보 통신부(4103)에 의해, 방송 수신 장치(3902)로부터, 축적하고 있는 특정한 멀티미디어 데이터의 출력 요구와 출력처 단말을 수신했을 때에, 독출부(4108)에 지시하여 이 멀티미디어 데이터를 축적부(4102)로부터 독출시키고, 또한, 데이터 송신부(4106)에 지시하여 독출부(4108)가 독출한 이 멀티미디어 데이터를, 이 출력처 단말에 송신시킨다. 또, 이 때, 필요하면, 권리 처리부(4109)에 지시하여 방송 수신 장치(3902)와 통신시켜, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행한다. 권리 처리에 의해, 이 멀티미디어 데이터의 이용이 허가되지 않은 경우는, 이 멀티미디어 데이터의 이 출력처 단말에 대한 송신을 행하지 않도록 제어한다.
축적부(4102)는, 하드 디스크 드라이브로 대표되는, 대용량을 갖는 디지털 데이터의 축적 장치와, 그 드라이버 소프트웨어로 구성되는 것이다.
제어 정보 통신부(4103)는, 네트워크 인터페이스(4110)에 접속되어 있고, 네트워크 인터페이스(4110)에 도달한 이 영상 축적 장치로 보내는 제어 정보를 수신하여, 제어부(4101)에 건넨다. 또, 제어부(4101)의 지시에 의해, 제어부(4101)로 부터 건네어진 제어 정보를, 지정된 외부 장치에, 네트워크 인터페이스(4110)를 통해 송신한다. 제어 정보 통신부(4103)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
기억부(4104)는, 플래시 메모리나 HDD 등의 기억 장치 혹은 그 일부에 의해 구성되는 것이고, 제어부(4101)로부터의 지시를 받아, 제어부(4101)로부터 수취한 데이터를 기억하는 것이다.
데이터 수신부(4105)는, 네트워크 인터페이스(4110)에 접속되어 있고, 제어부(4101)의 지시를 받아 동작하는 것으로, 방송 수신 장치(3902)로부터 송신된 멀티미디어 데이터를, 네트워크 인터페이스(4110)를 통해 수신하는 것이다. 데이터 수신부(4105)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
데이터 송신부(4106)는, 네트워크 인터페이스(4110)에 접속되어 있고, 제어부(4101)의 지시를 받아 동작하는 것으로, 독출부(4108)가 독출한 멀티미디어 데이터를, 제어부(4101)가 지정한 네트워크(3907)에 접속된 외부 장치에 대한 패킷으로 변환하여, 네트워크 인터페이스(4110)를 통해 출력하는 것이다. 데이터 송신부(4106)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 소켓 인터페이스를 이용한 프로그램이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
기록부(4107)는, 제어부(4101)로부터의 지시를 받아 동작하여, 축적부(4102)에 데이터를 기록하는 것이다. 기록부(4107)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 파일 액세스 인터페이스를 이용한 소프트웨어 서브루틴이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
독출부(4108)는, 제어부(4101)로부터의 지시를 받아 동작하여, 축적부(4102)에 축적된 멀티미디어 데이터를 독출하는 것이다. 독출부(4108)는, 대표적으로는, OS나 Java 라이브러리가 제공하는 파일 액세스 인터페이스를 이용한 소프트웨어 서브루틴이다. 또한, 이러한 소프트웨어로 구성되는 것에 한정되지 않고, 하드웨어로 구성되는 것이어도 된다.
권리 처리부(4109)는, 네트워크 인터페이스(4110)와 접속되어 있고, 제어부(4101)의 지시를 받아 동작하는 것으로, 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를, 방송 수신 장치(3902)와 통신함으로써 행하는 것이다. 권리 처리부(4109)는, 방송 수신 장치(3902)에, 이용하는 멀티미디어 데이터를 특정하는 식별자를 송신하고, 방송 수신 장치(3902)로부터의 회답을 수취하여, 제어부(4101)에 건넨다. 이 회답이란, 이 멀티미디어 데이터 이용의 허가 혹은 거절이다.
네트워크 인터페이스(4110)는, Ether 케이블이나 무선 LAN 등 네트워크의 물리 미디어에 따른 인터페이스를 제공하는 하드웨어와 그 드라이버 소프트웨어로 구성되는 것이다.
(실시 형태 3의 변형예)
이상, 본 발명의 실시 형태 3에 대해 설명해 왔지만, 본 발명은, 상기 실시 형태에 한정되는 것은 아니다. 이하와 같은 경우도, 본 발명에 포함된다.
(1) 방송 수신 장치(3902)는, 멀티미디어 데이터를 축적하는 축적부와, 축적부에 멀티미디어 데이터를 기록하는 기록부를 더 구비하고, 선택부(4004)는, 방송 수신 장치(3902)의 축적부와, 네트워크(3907)에 접속된 영상 축적 장치 중 하나를 선택하는 구성이어도 된다. 또, 방송 수신 장치(3902)는, 또한, 단말로부터 니어 VoD 프로그램 시청의 요구를 받았을 때에, 네트워크(3907)에 접속된 영상 축적 장치와, 방송 수신 장치(3902)의 축적부에, 이 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 검색하여, 방송 수신 장치(3902)의 축적부에 축적되어 있는 경우는, 이 멀티미디어 데이터를 이 시청 요구를 발행한 단말에 송신하는 구성이어도 된다.
도 42는, 이러한, 본 발명의 실시 형태 3의 변형예에 있어서의 방송 수신 장치(3902)의 구성을 도시한 블록도이다. 도 42에 나타낸 방송 수신 장치(3902)는, 기록부(4201)와, 축적부(4202)와, 축적부(4202)에 축적된 멀티미디어 데이터를 독출하는 독출부(4203)와, 제어부(4001)와, 데이터 수신부(4002)와, 정보 통신부(4003)와, 선택부(4004)와, 데이터 출력부(4005)와, 권리 처리부(4006)와, 네트워크 인터페이스(4007)를 구비한다.
제어부(4001)와, 데이터 수신부(4002)와, 정보 통신부(4003)와, 선택부(4004)와, 데이터 출력부(4005)와, 권리 처리부(4006)와, 네트워크 인터페이스(4007)는, 상기 실시 형태 3에서 설명한 것과 동일하지만, 이하의 점이 다르다. 제어부(4001)는, 미리 니어 VoD 방송 프로그램의 멀티미디어 데이터를 데이터 수신부(4002)에 수신시킬 때에, 영상 축적 장치(3903) 및 영상 축적 장치(3904)로부터 속성을 수신함과 더불어, 방송 수신 장치(3902)의 속성도 독출한다. 방송 수신 장치(3902)의 속성이란, 상기 실시 형태 3에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 속성 정보와 동일한 것이다. 또한, 제어부(4001)는, 영상 축적 장치의 속성과 함께, 방송 수신 장치(3902)의 속성도 선택부(4004)에 송신한다. 선택부(4004)는, 그 속성을 기초로, 영상 축적 장치(3903), 영상 축적 장치(3904) 혹은 축적부(4202)의 선택을 행하는 것이다.
기록부(4201)는, 상기 실시 형태 3에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 기록부(4107)와 동일한 것이다. 또, 축적부(4202)는, 상기 실시 형태에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 축적부(4102)와 동일한 것이다. 또, 독출부(4203)는, 상기 실시 형태 3에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 독출부(4108)와 동일한 것이다.
(2) 또, 방송 수신 장치(3902)는, 멀티미디어 데이터에 소정의 암호화를 행하여, 영상 축적 장치(3903) 및 영상 축적 장치(3904)에, 암호화된 멀티미디어 데이터를 송신하는 구성이어도 된다. 또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 수신한 암호화된 멀티미디어 데이터를 복호하여, 축적부(4102)에 축적하는 구성이어도 되고, 또한, 소정의 암호화를 실시하여 축적하는 구성이어도 된다.
또, 방송 수신 장치(3902), 영상 축적 장치(3903) 및 영상 축적 장치(3904) 는, 단말(3905) 및 단말(3906)에 멀티미디어 데이터를 송신할 때에, 해 멀티미디어 데이터에 소정의 암호화를 실시하여, 암호화된 멀티미디어 데이터를 송신하고, 단말(3905) 및 단말(3906)에 있어서, 수신한 암호화된 멀티미디어 데이터를 복호하여 재생하는 구성이어도 된다.
(3) 또, 상기 실시 형태 3에 있어서는, 방송 수신 장치(3902)의 선택부(4004)는, 멀티미디어 데이터의 장르와, 영상 축적 장치의 빈 용량을 기초로, 영상 축적 장치의 선택을 행하는 것으로 하였지만, 이들 조건에 한정되지 않는 것은 말할 필요도 없다. 예를 들면, 방송 수신 장치(3902)는, 영상 수신 장치를 순서대로 선택하는 구성이어도 된다. 또, 유저에 의해 설정된 영상 축적 장치의 우선도에 따라 선택하는 구성이어도 된다. 또, 멀티미디어 데이터의 장르만으로 선택해도 된다. 또, 영상 축적 장치의 빈 용량만으로 선택해도 된다. 또한, 영상 축적 장치의 이용 빈도에 따라 선택해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 축적된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 재생 혹은 출력된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다. 또한, 예를 들면, 단말(3905)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(3903)를, 단말(3906)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(3904)를, 각각 선택하는 것과 같은, 단말과 의 조합에 의한 선택이어도 된다. 또한, 유저에 의해 설정된 단말의 우선도로부터, 조합된 영상 축적 장치를 선택하는 구성이어도 된다.
(4) 또, 상기 실시 형태 3에 있어서는, 방송 수신 장치(3902)가, 영상 축적 장치(3903) 및 영상 축적 장치(3904)와 통신함으로써, 니어 VoD 프로그램 시청 요구가 있었던 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 판정하는 것으로 하였지만, 방송 수신 장치(3902)가, 영상 축적 장치(3903) 및 영상 축적 장치(3904)에 축적시킨 멀티미디어 데이터를 기억해 두고, 그 내용으로부터 판정하는 구성이어도 된다.
(5) 또, 상기 실시 형태 3에 있어서는, 니어 VoD라고 기재하였만, 통상 방송의 프로그램에 대해서도, 미리 축적해 둠으로써, 재방송에 대해 동일한 효과를 얻을 수 있다.
(6) 또, 상기 실시 형태 3에 있어서는, 단말로부터 시청 요구가 있었던 니어 VoD 프로그램의 멀티미디어 데이터가, 영상 축적 장치(103) 혹은 영상 축적 장치(104) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(102)는, 축적하고 있는 영상 축적 장치에, 이 시청 요구를 발행한 단말에 대한 이 멀티미디어 데이터의 송신 요구를 발행하고, 이 단말에는, 이 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되어 오는 것을 통지하는 것으로 하였지만, 방송 수신 장치(3902)는, 이 영상 축적 장치와 과금 등의 권리 처리를 행하여, 이 단말에 이 영상 축적 장치를 통지하고, 이 단말로부터 이 영상 축적 장치에, 이 멀티미디어 데이터의 송신 요구를 발행하는 구성이어도 된다.
(7) 또, 상기 실시 형태 3에 있어서는, 단말로부터 시청 요구가 있었던 니어 VoD 프로그램용의 멀티미디어 데이터가, 영상 축적 장치(3903) 혹은 영상 축적 장치(3904) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(3902)와 이 영상 축적 장치가 통신하여, 과금 등 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 것으로 하였지만, 방송 수신 장치(3902)와, 시청 요구를 발행한 단말이 통신하여, 상기 권리 처리를 행하는 구성이어도 된다. 혹은, 영상 축적 장치 및 단말과 통신하지 않고, 방송 수신 장치(3902)가 권리 처리를 행하는 구성이어도 된다.
또, 상기 실시 형태 3에 있어서는, 멀티미디어 데이터의 이용에 따른, 과금 등의 권리 처리를, 멀티미디어 데이터의 송신 요구를 발행할 때에 행하는 것으로 하였지만, 멀티미디어 데이터의 이용 종료 후에 행하는 구성이어도 된다. 또, 이 멀티미디어 데이터의 이용 회수나, 이용 구간 등에 따라, 과금하는 금액을 바꾸는 구성이어도 된다.
(8) 또, 상기 실시 형태 3에 있어서는, 하나의 멀티미디어 데이터는, 하나의 영상 축적 장치에 축적하는 것으로 하였지만, 이 멀티미디어 데이터를 분할하여, 복수의 영상 축적 장치에 분산하여 축적하는 구성이어도 된다. 혹은, 하나의 멀티미디어 데이터를 복수의 영상 축적 장치에 동시에 축적하는 구성이어도 된다. 이에 의해, 복수의 단말로부터 동일한 멀티미디어 데이터의 요구가 있었던 경우에, 영상 축적 장치가 이 단말에 영상을 송신하는 부하를 분산하는 것이 가능해진다.
(9) 또, 방송 수신 장치(3902)는, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 방송 수신 장치(3902)는, 송신하는 멀티미디어 데이터를 일단 복호하고, 상기 부호화부에 의해 새롭게 멀티미디어 데이터를 생성하여 송신하는 구성이어도 된다. 또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 멀티미디어 데이터를 복호하는 복호부와, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 수신한 멀티미디어 데이터를 상기 복호부에서 일단 복호하고, 상기 부호화부에서 새롭게 멀티미디어 데이터를 생성하여 축적하는 구성이어도 된다.
(10) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 1개의 시스템 LSI(Large Scale Integration : 대규모 집적 회로)로 구성되어 있는 것으로 해도 된다. 시스템 LSI는, 복수의 구성부를 1개의 칩 상에 집적하여 제조된 초다기능 LSI이고, 구체적으로는, 마이크로 프로세서, ROM, RAM 등을 포함하여 구성되는 컴퓨터 시스템이다. 상기 RAM에는, 컴퓨터 프로그램이 기억되어 있다. 상기 마이크로 프로세서가, 상기 컴퓨터 프로그램에 따라 동작함으로써, 시스템 LSI는, 그 기능을 달성한다.
(11) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 각 장치에 탈착 가능한 IC 카드 또는 단체의 모듈로 구성되어 있는 것으로 해도 된다. 상기 IC 카드 또는 상기 모듈은, 마이크로 프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 상기 IC 카드 또는 상기 모듈은, 상기의 초다기능 LSI를 포함하는 것으로 해도 된다. 마이크로 프로세서가, 컴퓨터 프로그램에 따라 동작함으로써, 상기 IC 카드 또는 상기 모듈은, 그 기능을 달성한다. 이 IC 카드 또는 이 모듈은, 내탬퍼성을 갖는 것으로 해도 된다.
(12) 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기에 나타낸 방법인 것으로 해도 된다. 또, 이들 방법을 컴퓨터에 의해 실현하는 컴퓨터 프로그램인 것으로 해도 되고, 상기 컴퓨터 프로그램으로 이루어지는 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를 컴퓨터 판독 가능한 기록 매체, 예를 들면, 플렉시블 디스크, 하드 디스크, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD(Blu-ray Disc), 반도체 메모리 등에 기록한 것으로 해도 된다. 또, 이들 기록 매체에 기록되어 있는 상기 컴퓨터 프로그램 또는 상기 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를, 전기 통신 회선, 무선 또는 유선 통신 회선, 인터넷을 대표로 하는 네트워크, 데이터 방송 등을 경유하여 전송하는 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 마이크로 프로세서와 메모리를 구비한 컴퓨터 시스템으로서, 상기 메모리는, 상기 컴퓨터 프로그램을 기억하고 있고, 상기 마이크로 프로세서는, 상기 컴퓨터 프로그램에 따라 동작하는 것으로 해도 된다.
또, 상기 프로그램 또는 상기 디지털 신호를 상기 기록 매체에 기록하여 이송함으로써, 또는 상기 프로그램 또는 상기 디지털 신호를 상기 네트워크 등을 경유하여 이송함으로써, 독립한 다른 컴퓨터 시스템에 의해 실시하는 것으로 해도 된 다.
(13) 상기 실시 형태 3 및 그 변형예를 각각 조합하는 것으로 해도 된다.
(실시 형태 4)
실시 형태 4에 있어서의 멀티미디어 배포 시스템의 구성은, 도 39에 나타낸, 상기 실시 형태 3에 있어서의 구성도와 동일하기 때문에, 설명을 생략한다. 단, 본 실시 형태에 있어서는, 방송 수신 장치(3902)는 케이블 TV의 수신 장치이고, 수신부(3908)는, 헤드엔드 혹은 케이블 방송국으로 한다.
도 43은, 본 발명의 실시 형태 4에 있어서의 방송 수신 장치(3902)를 구성하는 구성 요소의 관계를 나타낸 블록도이다. 본 도면에 나타낸 방송 수신 장치(3902)는, 입력부(4301)와, 제1 메모리(4302)와, 제2 메모리(4303)와, 수신부(4304)와, 다중 분리부(4305)와, 디스크램블러(4306)와, TS 디코더(4307)와, 영상 출력부(4308)와, 음성 출력부(4309)와, TS 멀티플렉서(4310)와, 네트워크부(4311)와, CPU(4312)로 구성된다.
입력부(4301)는, 프론트 패널이나 리모콘 수광기 등으로 구성되고, 유저로부터의 채널 선택 등의 지시를 받아들인다. 도 44는, 본 발명의 실시 형태 4에 있어서의 프론트 패널로 입력부(4301)를 구성한 경우의 일례를 나타낸 도면이다. 프론트 패널(4400)은, 상측 커서 버튼(4401), 하측 커서 버튼(4402), 좌측 커서 버튼(4403), 우측 커서 버튼(4404), OK 버튼(4405), 취소 버튼(4406), EPG 버튼(4407), 시어터 버튼(4408)의 8개의 버튼을 구비하고 있다. 유저가 버튼을 누르면, 눌러진 버튼의 식별자가, CPU(4312)에 통지된다.
제1 메모리(4302)는 RAM 등으로 구성되고, CPU(4312)가 일시적으로 데이터를 저장할 때에 사용된다.
제2 메모리(4303)는, 플래시 메모리, 하드 디스크 등으로 전원이 정지해도 정보를 유지 가능한 디바이스로 구성되고, CPU(4312)가 실행하는 프로그램을 저장한다. 제2 메모리(4303)는, SD 메모리 카드 등의 분리 가능한 기억 디바이스를 이용하고 있어도 된다.
수신부(4304)는, 케이블 TV국(3908)으로부터의 케이블에 접속되어 방송파를 수신하고, CPU(4312)로부터 지정된 주파수로 튜닝하여, MPEG 트랜스포트 스트림을 추출하여, 다중 분리부(4305)에 건넨다.
다중 분리부(4305)는, 수신부(4304)로부터 MPEG 트랜스포트 스트림을 수취하여, CPU(4312)로부터 지정된 정보를 추출하여 CPU(4312)에 건넨다. 또 MPEG 트랜스포트 스트림을 그대로 디스크램블러(4306)에 건넨다.
디스크램블러(4306)는, 다중 분리부(4305)로부터 부여된 스크램블되어 있는 MPEG 트랜스포트 스트림을 디스크램블(=복호)하여, TS 디코더(4307)에 건넨다. 디스크램블러(4306)는, 방송 수신 장치(3902)에 내장된 모듈이어도 되고, 북미 케이블 수신기로 도입되어 있는 CableCARD(TM)로도 실시 가능하다. CableCARD의 사양은 미국 CableLabs이 책정한 CableCARD Interface Specification에 기재되어 있고, 여기에서는 설명을 생략한다.
TS 디코더(4307)는, CPU(4312)로부터 음성 데이터, 영상 데이터, PSI/SI 정보 등의 섹션 데이터의 식별자를 수취한다. 또한, 디스크램블러(4306)로부터 수취 한 디스크램블된 스트림으로부터, 수취한 음성 데이터, 영상 데이터, PSI/SI 정보 등의 섹션 데이터의 식별자에 대응하는 데이터를 추출하여, 추출한 영상 데이터를 영상 출력부(4308)에, 음성 데이터를 음성 출력부(4309)에 건넨다. 또, 그 양쪽과, 섹션 데이터를, TS 멀티플렉서(4310)에 건넨다.
영상 출력부(4308)는 영상 출력 단자를 포함하고, 수취한 영상 데이터를 단자에 대응한 영상 데이터로 변환하여 출력한다. 단자의 예로서는, 콤퍼지트 케이블 단자 등이 있다.
음성 출력부(4309)는 음성 출력 단자를 포함하고, 수취한 음성 데이터를 단자에 대응한 음성 데이터로 변환하여 출력한다. 단자의 예로서는, 이어폰 단자나, 콤퍼지트 케이블 단자 등이 있다.
TS 멀티플렉서(4310)는, 수취한 영상 데이터, 음성 데이터, 섹션 데이터로부터 MPEG2 트랜스포트 스트림을 구성하여, 이 MPEG2 트랜스포트 스트림을 네트워크부(4311)에 건넨다. PSI/SI 정보는 필요에 따라 고쳐써진다.
네트워크부(4311)는, 네트워크 인터페이스를 포함하고, CPU(4312)로부터 수취한 데이터를, 네트워크 인터페이스가 접속된 네트워크의 물리 미디어에 따른 신호로 변환하여 출력한다. 또, 네트워크 인터페이스로부터 신호를 수신하여, IP 네트워크에서 규정된 패킷으로 변환하여, CPU(4312)에 건넨다.
CPU(4312)는, 제2 메모리(4303)가 기억하는 프로그램을 실행함으로써, 수신부(4304), 다중 분리부(4305), 디스크램블러(4306), TS 디코더(4307), TS 멀티플렉서(4310) 및 네트워크부(4311)를 제어한다.
도 45는, 본 발명의 실시 형태 4에 있어서의 방송 수신 장치가 유지하고, 실행하는 프로그램 구성을 나타낸 도면이다. 본 도면은, 제2 메모리(4303)에 기억되고, CPU(512)에 실행되는 프로그램의 구성의 일례를 나타낸다.
프로그램(4500)은, 복수의 서브 프로그램으로 구성되고, 구체적으로는 OS(4501), EPG(4502), JavaVM(4503), 서비스 매니저(4504), Java 라이브러리(4505)로 구성된다.
OS(4501)는, 방송 수신 장치(3902)의 전원이 투입되면, CPU(4312)가 기동하는 서브 프로그램이다. OS(4501)는, 오퍼레이팅 시스템의 약자이고, Linux 등이 일례이다. OS(4501)는, 다른 서브 프로그램을 평행하게 실행하는 커널(4501a) 및 라이브러리(4501b)로 구성되는 공지의 기술의 총칭이고, 상세한 설명은 생략한다. 본 실시 형태에 있어서는, OS(4501)의 커널(4501a)은, EPG(4502)와 JavaVM(4503)을 서브 프로그램으로서 실행한다. 또, 라이브러리(4501b)는, 이들 서브 프로그램에 대해, 방송 수신 장치(3902)가 유지하는 구성 요소를 제어하기 위한 복수의 기능을 제공한다.
본 실시 형태에서는, 라이브러리(4501b)는 기능의 일례로서, 튜너(4501b1), 한정 해제(4501b2), AV 재생(4502b3) 및 NET(4501b4)를 포함한다.
튜너(4501b1)는, 다른 서브 프로그램이나 Java 라이브러리(4505)의 Tuner(4505c)로부터 주파수를 포함하는 튜닝 정보를 수취하여, 수신부(4304)에 건넨다. 수신부(4304)는 부여된 튜닝 정보에 의거하여 복조 처리를 행하여, 복조한 데이터를 다중 분리부(4305)에 건넬 수 있다. 이 결과, 다른 서브 프로그램 및 Java 라이브러리(4305)의 Tuner(4305c)는 라이브러리(4501b)를 통해 수신부(4304)를 제어할 수 있다.
한정 해제(4502b2)는, 다른 서브 프로그램이나 Java 라이브러리(4505)의 CA(4505d)로부터 정보를 수취하여, 디스크램블러(4306)에 건넨다.
AV 재생(4502b3)은, 다른 서브 프로그램이나 Java 라이브러리(4505)의 JMF(4505a)로부터, 음성의 패킷 ID와 영상의 패킷 ID를 수취한다. 수취한 음성의 패킷 ID와 영상의 패킷 ID를, TS 디코더(4507)에 부여한다. 이 결과, TS 디코더(4507)는 부여된 패킷 ID에 의거하여, 필터링을 행하여, 영상·음성의 재생을 실현한다.
NET(4501b4)은, 다른 서브 프로그램이나 Java 라이브러리(4505)의 네트워크 라이브러리(4505e)로부터 수취한 데이터를, IP 네트워크에서 규정되는 어플리케이션층보다 아래의 프로토콜 패킷을 작성한다. 어플리케이션층보다 아래의 프로토콜이란, 예를 들면 TCP 패킷, UDP 패킷, IP 패킷 등이다. 이것을 네트워크부(4311)에 건넴으로써, 네트워크(3907)를 통해 다른 기기에 메시지 및 데이터를 송신한다. 또, 네트워크(3907)를 통해 다른 기기로부터 메시지를 수신했을 때에, 다른 서브 프로그램이나 Java 라이브러리(4505)의 네트워크 라이브러리(4505e)에, 어플리케이션층의 프로토콜 패킷으로 변환하여 건넨다. 어플리케이션층의 프로토콜이란, 예를 들면, HTTP나 RTP 등이다.
EPG(4502)는, 유저에게 프로그램 일람을 표시, 및 유저로부터의 입력을 받아들이는 프로그램 표시부(4502a)와, 채널 선국을 행하는 재생부(4502b)로 구성된다. 여기에서, EPG는 Electric Program Guide의 약자이다. EPG(4502)는, 방송 수신 장치(3902)의 전원이 투입되면, 커널(4501a)에 의해 기동된다. 기동된 EPG(4502)의 내부에서는, 프로그램 표시부(4502a)와 재생부(4502b)가 동시에 기동된다. 프로그램 표시부(4502a)는 기동되면, 방송 수신 장치(3902)의 입력부(4301)를 통해, 유저로부터의 입력을 기다린다. 여기에서, 입력부(4301)가 도 44에서 도시된 프론트 패널로 구성되어 있는 경우, 유저가, 입력부(4301)의 EPG 버튼(4407)을 누르면, EPG 버튼의 식별자가 CPU(4312)에 통지된다. CPU(4312) 상에서 동작하는 서브 프로그램인 EPG(4502)의 프로그램 표시부(4502a)는, 이 식별자를 수취하여, 프로그램 정보 표시 데이터를 작성하고, 도시 생략의 모니터 출력부에 의해 모니터에 출력한다. 모니터는, 방송 수신 장치(3902)가 구비하는 것이어도 되고, 방송 수신 장치(3902)와 콤퍼지트 케이블이나 HDMI 케이블 등으로 접속된 TV여도 된다. 모니터(4610)는, 수신한 프로그램 정보 표시 데이터를 표시한다.
도 46(a) 및 (b)는, 본 발명의 실시 형태 4에 따른 모니터에 표시된 프로그램표의 예를 나타낸 도면이다. 도 46(a)를 참조하여, 모니터(4410)에는, 격자형상으로 프로그램 정보가 표시되어 있다. 열 4601에는 시각 정보가 표시되어 있다. 열 4602에는 채널명 「채널 1」과, 열 4601의 시각에 대응하는 시간대에 방영되는 프로그램이 표시되어 있다. 「채널 1」에서는, 9:00∼10:30에 프로그램 「뉴스 9」가 방영되고, 10:30∼12:00는 「영화 AAA」가 방영되는 것을 나타낸다. 열 4603도 열 4602와 동일하게, 채널명 「채널 2」와, 열 4601의 시각에 대응하는 시간대에 방영되는 프로그램이 표시되어 있다. 9:00∼11:00에 프로그램 「영화 BBB」가 방영되고, 11:00∼12:00는 「뉴스 11」이 방영된다. 4630은 커서이다. 커서 4630은, 프론트 패널(4400)의 좌측 커서(4403)와 우측 커서(4404)를 누르면 이동한다. 도 46(a)의 상태로, 우측 커서(4404)를 누르면, 커서(4630)는 우측으로 이동하여, 도 46(b)와 같이 된다. 또, 도 46(b)의 상태로, 좌측 커서(4403)를 누르면, 커서(4630)는 좌측으로 이동하여, 도 46(a)와 같이 된다.
도 46(a)의 상태로, 프론트 패널(4400)의 OK 버튼(4405)이 눌러지면, 프로그램 표시부(4502a)는, 「채널 1」의 식별자를 재생부(4502b)에 통지한다. 도 46(b)의 상태로, 프론트 패널(4400)의 OK 버튼(4405)이 눌러지면, 프로그램 표시부(4502a)는, 「채널 2」의 식별자를 재생부(4502b)에 통지한다.
또, 프로그램 표시부(4502a)는, 표시하는 프로그램 정보를, 다중 분리부(4305)를 통해 정기적으로, 제2 메모리(4303)에 기억해 둔다. 일반적으로, 방송국으로부터의 프로그램 정보의 취득은 시간이 걸린다. 입력부(4301)의 EPG 버튼(4407)이 눌러졌을 때, 제2 메모리(4303)에 미리 저장된 프로그램 정보를 표시함으로써, 재빨리 프로그램표를 표시할 수 있다.
도 47은, 본 발명의 실시 형태 4에 따른 제2 메모리(4303)에 격납되어 있는 프로그램 정보의 일례를 나타낸 도면이다. 프로그램 정보는 표 형식으로 격납되어 있다. 열 4701은 채널의 식별자이다. 열 4702는 프로그램명이다. 열 4703은 프로그램의 방송 개시 시간, 열 4704는 방송 종료 시간이다. 열 4705는, 프로그램의 음성 종별을 나타내고 있고, 모노럴 음성, 스테레오 음성, 5.1 채널 음성을 각각 「모노럴」, 「스테레오」, 「5.1」로 표기하고 있다. 열 4706은, 프로그램의 종 별을 나타내고 있다. 통상 프로그램은 공란이고, 「영화」는 영화, 「스포츠」는 스포츠 프로그램을 나타낸다. 행 4711∼4714의 각 행은, 각각 하나의 프로그램 정보를 나타낸다. 이 예에서는, 하나의 프로그램 정보는, 채널의 식별자, 프로그램명, 방송 개시 시간, 방송 종료 시간, 프로그램의 음성 종별의 조가 된다. 예를 들면, 행 4711은 채널 식별자가 「1」, 프로그램명이 「뉴스 9」, 방송 개시 시간이 「9:00」, 방송 종료 시간이 「10:30」, 음성 종별이 「모노럴」, 프로그램의 종별은 「통상」을 포함하는 조로 되어 있다.
재생부(4502b)는, 수취한 채널의 식별자를 이용하여, 채널을 재생한다. 즉 채널을 구성하는 영상과 음성을 재생한다. 채널의 식별자와 채널의 관계는, 채널 정보로서, 제2 메모리(4303)에 미리 격납되어 있다.
도 48은, 본 발명의 실시 형태 4에 따른 제2 메모리(4303)에 격납되어 있는 채널 정보의 일례를 나타낸 도면이다. 채널 정보는 표 형식으로 격납되어 있다. 열 4801은 채널의 식별자이다. 열 4802는 채널명이다. 열 4803은 튜닝 정보이다. 여기에서, 튜닝 정보는 주파수나 전송 레이트, 부호화율 등을 포함하여, 수신부(4304)에 부여하는 값이다. 열 4804는 프로그램 넘버이다. 프로그램 넘버란, MPEG2 규격으로 규정되어 있는 PMT를 식별하기 위한 번호이다. PMT에 관해서는 후술한다. 행 4811∼4814의 각 행은, 각 채널의 식별자, 채널명, 튜닝 정보의 조가 된다. 행 4811은 식별자가 「1」, 채널명이 「채널 1」, 튜닝 정보에 주파수 「150MHz」, 프로그램 넘버가 「101」을 포함하는 조로 되어 있다. 재생부(4502b)는, 채널의 재생을 행하기 위해, 수취한 채널의 식별자를 그대로 서비스 매니저에 건넨다.
또, 재생부(4502b)는, 재생 중에, 유저가 프론트 패널(4400)의 상측 커서(4401)와 하측 커서(4402)를 누르면, 입력부(4501)로부터 CPU(4512)를 통해, 눌러진 통지를 수취하여, 재생하고 있는 채널을 변경한다. 상측 커서(4401)를 누르면, 현재 재생 중인 채널보다 하나 작은 채널 식별자를 갖는 채널을 재생하고, 또 하측 커서(4402)를 누르면, 현재 재생 중인 채널보다 하나 큰 채널 식별자를 갖는 채널을 재생한다. 우선, 재생부(4502b)는, 제2 메모리(4303)에 현재 재생 중인 채널의 식별자를 기억한다. 도 49(a)(b) 및 (c)는, 각각, 본 발명의 실시 형태 4에 따른 제2 메모리(4303)에 격납되어 있는 채널의 식별자를 나타내는 정보의 예를 나타낸 도면이다.
도 49(a)에서는 식별자 「3」이 기억되어 있고, 도 48을 참조하여, 채널명 「TV 3」의 채널이 재생 중인 것을 나타낸다. 도 49(a)의 상태로, 유저가 상측 커서(4401)를 누르면 재생부(4502b)는, 도 48의 채널 정보를 참조하여, 표 중에서 현재 재생 중인 채널보다 하나 작은 식별자를 갖는 채널인 채널명 「채널 2」의 채널로 재생을 전환하기 위해, 서비스 매니저에 채널명 「채널 2」의 식별자 「2」를 건넨다. 동시에, 제2 메모리(4303)에 기억되어 있는 채널 식별자 「2」로 고쳐쓴다.
도 49(b)는, 채널 식별자가 고쳐써진 상태를 나타낸다. 또, 도 49(a)의 상태로, 유저가 하측 커서(4402)를 누르면 재생부(4502b)는, 도 48의 채널 정보를 참조하여, 표 중에서 현재 재생 중인 채널보다 하나 큰 식별자를 갖는 채널인 채널명 「TV Japan」의 채널로 재생을 전환하기 위해, 서비스 매니저에 채널명 「TV Japan」의 식별자 「4」를 건넨다. 동시에, 제2 메모리(4303)에 기억되어 있는 채널 식별자 「4」로 고쳐쓴다.
도 49(c)는, 채널 식별자가 고쳐써진 상태를 나타낸다. 채널 식별자는, 제2 메모리(4303)에 기억되어 있으므로, 방송 수신 장치(3902)의 전원이 끊어졌을 때도 저장되어 있다.
또한 재생부(4502b)는, 방송 수신 장치(3902)의 전원이 투입되었을 때에, 기동되면, 제2 메모리(4303)에 기억되어 있는 채널 식별자를 독출한다. 그리고, 그 채널 식별자를 서비스 매니저에 건넨다. 이에 의해, 방송 수신 장치(3902)는, 전원 투입시에 전회의 가동시에 재생되고 있었던 마지막 채널의 재생을 개시할 수 있다.
JavaVM(4503)은, Java(TM) 언어로 기술된 프로그램을 순차적으로 해석하여 실행하는 Java 버추얼 머신이다. Java 언어로 기술된 프로그램은 바이트 코드라고 불리는, 하드웨어에 의존하지 않는 중간 코드로 컴파일된다. Java 버추얼 머신은, 이 바이트 코드를 실행하는 인터프리터이다. 또, 일부의 Java 버추얼 머신은, 바이트 코드를 CPU(4312)가 이해 가능한 실행 형식으로 번역한 후, CPU(4312)에 건네어 실행하는 경우도 행한다. JavaVM(4503)은, 커널(4501a)에 실행하는 Java 프로그램을 지정받아 기동된다. 본 실시 형태에서는, 커널(4501a)은, 실행하는 Java 프로그램으로서 서비스 매니저(4504)를 지정한다. Java 언어의 상세한 것은, 서적 「Java Language Specification(ISBN 0-201-63451-1)」 등의 많은 서적에서 해설되 어 있다. 여기에서는, 그 상세한 설명을 생략한다. 또, JavaVM 자체의 상세한 동작 등은, 「Java Virtual Machine Specification(ISBN 0-201-63451-X)」 등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세를 생략한다.
서비스 매니저(4504)는, Java 언어로 쓰여진 Java 프로그램이고, JavaVM(4503)에 의해 순차적으로 실행된다. 서비스 매니저(4504)는, JNI(Java Native Interface)를 통해, Java 언어로 기술되어 있지 않은 다른 서브 프로그램을 호출하거나, 또는, 호출되거나 하는 것이 가능하다. JNI에 관해서도, 서적 「Java Native Interface」 등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 설명을 생략한다.
서비스 매니저(4504)는, JNI를 통해, 재생부(4502b)로부터 채널의 식별자를 수취한다.
서비스 매니저(4504)는, 처음에 Java 라이브러리(4505) 중에 있는 Tuner(4505c)에, 채널의 식별자를 건네어, 튜닝을 의뢰한다. Tuner(4505c)는, 제2 메모리(4303)가 기억하는 채널 정보를 참조하여, 튜닝 정보를 획득한다. 현재, 서비스 매니저(4504)가 채널의 식별자 「2」를 Tuner(4505c)에 건네면, Tuner(4505c)는, 도 48의 행 4812를 참조하여, 대응하는 튜닝 정보 「156MHz,」를 획득한다. Tuner(4505c)는, OS(4501)의 라이브러리(4501b)의 튜너(4501b1)를 통해, 수신부(4504)에 튜닝 정보를 건넨다. 수신부(4504)는 부여된 튜닝 정보에 따라 방송국으로부터 송신되어 온 신호를 복조하여, 다중 분리부(4505)에 건넨다.
다음에 서비스 매니저(4504)는, Java 라이브러리(4505) 중에 있는 CA(4505d) 에 디스크램블을 의뢰한다. CA(4505d)는, OS(4501)의 라이브러리(4501b)의 한정 해제(4501b2)를 통해 복호에 필요한 정보를 디스크램블러(4306)에 부여한다. 디스크램블러(4306)는, 부여된 정보를 기초로, 수신부(4304)로부터 부여된 신호를 복호하여 TS 디코더(4307)에 건넨다.
이하, 영상 출력부(4308) 및 음성 출력부(4309)로부터 출력함으로써, 영상·음성의 재생을 행하는 경우와, 네트워크부(4311)로부터 멀티미디어 데이터를 출력하는 경우의 처리가 다르기 때문에, 각각에 대해 설명한다.
우선, 영상·음성의 재생을 행하는 경우에 대해 설명한다.
서비스 매니저(4504)는, Java 라이브러리(4505) 중에 있는 JMF(4505a)에 채널의 식별자를 부여하여, 영상·음성의 재생을 의뢰한다.
우선, 처음에 JMF(4505a)는, 재생해야 할 영상과 음성을 특정하기 위한 패킷 ID를 PAT, PMT로부터 취득한다. PAT나 PMT는 MPEG2 규격으로 규정되어 있는, MPEG2 트랜스포트 스트림 내의 프로그램 구성을 표현하는 테이블이고, MPEG2 트랜스포트 스트림에 포함되는 패킷의 페이로드에 매입되어, 음성이나 영상과 함께 송신되는 것이다. 상세한 것은 규격서를 참조하기 바란다. 여기에서는, 개략만 설명한다. PAT는, Program Association Table의 약자이고, 패킷 ID 「0」의 패킷에 격납되어 송신되고 있다. JMF(4505a)는, PAT를 취득하기 위해, OS(4501)의 라이브러리(4501b)를 통해, 다중 분리부(705)에 패킷 ID 「0」을 지정한다. 다중 분리부(705)가 패킷 ID 「0」으로 필터링을 행하여, CPU(4312)에 건넴으로써 JMF(4505a)는, PAT의 패킷을 수집한다.
도 50은, 본 발명의 실시 형태 4에 따른 수집한 PAT의 정보의 일례를 모식적으로 도시한 도면이다. 열 5001은 프로그램 넘버이다. 열 5002는 패킷 ID이다. 열 5002의 패킷 ID는 PMT를 취득하기 위해 이용된다. 행 5011∼5013은, 채널의 프로그램 넘버와 대응되는 패킷 ID의 조이다. 여기에서는, 3개의 채널이 정의되어 있다. 행 5011은 프로그램 넘버「101」과 패킷 ID 「501」의 조가 정의되어 있다. 현재, JMF(4505a)에 부여된 채널의 식별자가 「2」라고 하면, JMF(4505a)는, 도 50의 행 5012를 참조하여, 대응하는 프로그램 넘버 「102」를 획득하고, 다음에, 도 50의 PAT의 행 5012를 참조하여, 프로그램 넘버 「102」에 대응하는 패킷 ID 「502」를 획득한다. PMT는, Program Map Table의 약자로, PAT에서 규정된 패킷 ID의 패킷에 격납되어 송신되고 있다. JMF(4505a)는, PMT를 취득하기 위해, OS(4501)의 라이브러리(4501b)를 통해, 다중 분리부(4305)에 패킷 ID를 지정한다. 여기에서, 지정하는 패킷 ID는 「502」로 한다. 다중 분리집부(4305)가 패킷 ID 「502」로 필터링을 행하여, CPU(4312)에 건넴으로써 JMF(4505a)는, PMT의 패킷을 수집한다.
도 51은, 본 발명의 실시 형태 4에 따른 수집한 PMT의 정보의 일례를 모식적으로 도시한 도면이다. 열 5101은 스트림 종별이다. 열 5102는 패킷 ID이다. 열 5102로 지정되는 패킷 ID의 패킷에는, 스트림 종별로 지정된 정보가 페이로드에 격납되어 송신되고 있다. 열 5103은 보충 정보이다. 행 5111∼5114는 엘리멘터리 스트림이라고 불리는, 패킷 ID와 송신하고 있는 정보의 종별의 조이다. 행 5111은, 스트림 종별 「음성」과 패킷 ID 「5011」의 조이고, 패킷 ID 「5011」의 페이로드에는 음성이 격납되어 있는 것을 나타낸다. JMF(4505a)는, PMT로부터 재생하 는 영상과 음성의 패킷 ID를 획득한다. 도 51을 참조하여, JMF(4505a)는, 행 5111로부터 음성의 패킷 ID 「5011」을, 행 5112로부터 영상의 패킷 ID 「5012」를 획득한다.
다음에, JMF(4505a)는, OS(4501)의 라이브러리(4501b)의 AV 재생(4501b3)에 획득한 음성의 패킷 ID와 영상의 패킷 ID를 건넨다. 이것을 받아, AV 재생(4501b3)은, 수취한 음성의 패킷 ID와 영상의 패킷 ID를, TS 디코더(4307)에 부여한다. TS 디코더(4307)는 부여된 패킷 ID로 필터링을 행한다. 여기에서는 패킷 ID 「5011」의 패킷을 음성 출력부(4309)에, 패킷 ID 「5012」의 패킷을 영상 출력부(4308)에, 음성 출력부(4309)는, 부여된 패킷을 적절하게 변환하여(예를 들면 디지털-아날로그 변환) 출력한다. 영상 출력부(4308)는, 부여된 패킷을 적절하게 변환하여(예를 들면 디지털-아날로그 변환) 출력한다.
마지막으로 서비스 매니저(4504)는, Java 라이브러리(4505) 중에 있는 AM(4505b)에 채널의 식별자를 부여하여, 데이터 방송 재생을 의뢰한다. 여기에서, 데이터 방송 재생이란, MPEG2 트랜스포트 스트림에 포함되는 Java 프로그램을 추출하여, JavaVM(4503)에 실행시키는 것이다. MPEG2 트랜스포트 스트림에 Java 프로그램을 매입하는 방법은, MPEG 규격서 ISO/IEC13818-6에 기술된 DSMCC라는 방식을 이용한다. 여기에서는 DSMCC의 상세한 설명은 생략한다. DSMCC 방식은, MPEG2 트랜스포트 스트림의 패킷 중에, 컴퓨터에서 사용되고 있는 디렉토리나 파일로 구성되는 파일 시스템을 인코드하는 방법을 규정하고 있다. 또, 실행하는 Java 프로그램의 정보는 AIT라고 불리는 형식으로, MPEG2 트랜스포트 스트림의 패킷 중에 매입 되어 송신되고 있다. AIT는, DVB-MHP 규격(정식으로는, ETSI TS 101 812 DVB-MHP 사양 V1.0.2)의 10장에 정의되어 있는, Application Information Table의 약자이다.
AM(4505b)은, 우선, AIT를 획득하기 위해, JMF(4505a)와 동일하게 PAT, PMT를 취득하고, AIT가 격납되어 있는 패킷의 패킷 ID를 획득한다. 현재, 부여된 채널의 식별자가 「2」이고, 도 50의 PAT, 도 51의 PMT가 송신되어 있으면, JMF(4505a)와 동일한 순서로, 도 51의 PMT를 획득한다. AM(4505b)은, PMT로부터 스트림 종별이 「데이터」이고 보충 정보로서 「AIT」를 갖는 엘리멘터리 스트림으로부터 패킷 ID를 추출한다. 도 51을 참조하여, 행 5113의 엘리멘터리 스트림이 해당되어, 패킷 ID 「5013」을 획득한다.
AM(4505b)은, OS(701)의 라이브러리(4501b)를 통해 다중 분리부(4305)에 AIT의 패킷 ID를 부여한다. 다중 분리부(4305)는, 부여된 패킷 ID로 필터링을 행하여, CPU(4312)에 건넨다. 이 결과, AM(4505b)은, AIT의 패킷을 수집할 수 있다.
도 52는, 본 발명의 실시 형태 4에 따른 수집한 AIT의 정보의 일례를 모식적으로 도시한 도면이다. 열 5201은 Java 프로그램의 식별자이다. 열 5202는 Java 프로그램의 제어 정보이다. 제어 정보에는 「autostart」「present」「kill」 등이 있고, 「autostart」는 즉시 방송 수신 장치(3902)가 이 프로그램을 자동적으로 실행하는 것을 의미하고, 「present」는 자동 실행하지 않는 것을 의미하며, 「kill」은 프로그램을 정지하는 것을 의미한다. 열 5203은, DSMCC 방식으로 Java 프로그램을 포함하고 있는 패킷 ID를 추출하기 위한 DSMCC 식별자이다. 열 5204는 Java 프로그램의 프로그램명이다. 행 5211과 5212는, Java 프로그램의 정보의 조이다. 행 5211에서 정의되는 Java 프로그램은, 식별자 「301」, 제어 정보 「autostart」, DSMCC 식별자 「1」, 프로그램명 「a/TopXlet」의 조이다. 행 5212에서 정의되는 Java 프로그램은, 식별자 「302」, 제어 정보 「present」, DSMCC 식별자 「1」, 프로그램명 「b/GameXlet」의 조이다. 여기에서 2개의 Java 프로그램은 동일한 DSMCC 식별자를 갖지만, 이것은 하나의 DSMCC 방식으로 인코드된 파일 시스템 내에 2개의 Java 프로그램이 포함되어 있는 것을 나타낸다. 여기에서는, Java 프로그램에 대해 4개의 정보밖에 규정하지 않지만, 실제로는 보다 많은 정보가 정의된다. 상세한 것은 DVB-MHP 규격을 참조하기 바란다.
AM(4505b)은, AIT 중에서 「autostart」의 Java 프로그램을 찾아내어, 대응하는 DSMCC 식별자 및 Java 프로그램명을 추출한다. 도 52를 참조하여, AM(4505b)은 행 5211의 Java 프로그램을 추출하여, DSMCC 식별자 「1」 및 Java 프로그램명 「a/TopXlet」를 획득한다.
다음에 AM(4505b)은, AIT로부터 취득한 DSMCC 식별자를 이용하여, Java 프로그램을 DSMCC 방식으로 격납하고 있는 패킷의 패킷 ID를 PMT로부터 획득한다. 구체적으로는, PMT 중에서 스트림 종별이 「데이터」이고, 보충 정보의 DSMCC 식별자가 합치하는 엘리멘터리 스트림의 패킷 ID를 취득한다.
현재, DSMCC 식별자가 「1」이고, PMT가 도 51이라고 하면, 행 5114의 엘리멘터리 스트림이 합치하여, 패킷 ID 「5014」를 취출한다.
AM(4505b)은, OS(4501)의 라이브러리(4501b)를 통해 다중 분리부(4305)에 DSMCC 방식으로 데이터가 매입된 패킷의 패킷 ID를 지정한다. 여기에서는, 패킷 ID 「5014」를 부여한다. 다중 분리부(4305)는, 부여된 패킷 ID로 필터링을 행하여, CPU(4312)에 건넨다. 이 결과, AM(4505b)은, 필요한 패킷을 수집할 수 있다. AM(4505b)은, 수집한 패킷으로부터, DSMCC 방식에 따라 파일 시스템을 복원하여, 제1 메모리(4302) 혹은 제2 메모리(4303)에 저장한다. 파일 시스템 등의 데이터를 취출하여 제1 메모리(4302) 혹은 제2 메모리(4303)에 저장하는 것을 이후, 다운로드라고 부른다.
도 53은, 본 발명의 실시 형태 4에 따른 다운로드한 파일 시스템의 일례를 나타낸 도면이다. 도면 중, 동그라미는 디렉토리를 네모는 파일을 나타내고, 5301은 루트 디렉토리, 5302는 디렉토리 「a」, 5303은 디렉토리 「b」, 5304는 파일 「TopXlet.class」, 5305는 파일 「GameXlet.class」이다.
여기에서는, MPEG2 트랜스포트 스트림으로부터 파일 시스템을 다운로드하는 예를 기재하였지만, OCAP 사양에서는, IP 네트워크를 이용한 다운로드 등도 규정하고 있다. 또, AIT가 아니라 XAIT라고 불리는 정보를 이용하여 파일 시스템의 존재 위치를 특정하여, 파일 시스템을 다운로드하는 방법도 규정되어 있다.
다음에 AM(4505b)은, 제1 메모리(4302) 혹은 제2 메모리(4303)에 다운로드한 파일 시스템 중에서 실행하는 Java 프로그램을 JavaVM(4503)에 건넨다. 현재, 실행하는 Java 프로그램명이 「a/TopXlet」이라고 하면, Java 프로그램명의 마지막에 「.class」를 부가한 파일 「a/TopXlet.class」가 실행해야 하는 파일이 된다. 「/」는 디렉토리나 파일명의 구분이고, 도 53을 참조하여, 파일(5304)이 실행해야 할 Java 프로그램이다. 다음에 AM(4505b)은, 파일(5304)을 JavaVM(4503)에 건넨다.
JavaVM(4503)은, 건네어진 Java 프로그램을 실행한다.
다음에, 네트워크부(4311)로부터 멀티미디어 데이터를 출력하는 경우의 처리에 대해 설명한다.
우선, 서비스 매니저(4504)는, Java 라이브러리(4505) 중에 있는 네트워크 라이브러리(4505e)에 채널의 식별자를 부여하여, 데이터의 송신을 의뢰한다. 네트워크 라이브러리(4505e)는, 우선, 상기 IMF(4505a) 및 AM(4505b)과 동일하게, PAT, PMT를 취득하여, 송신해야 할 프로그램에 관한 영상 데이터, 음성 데이터, 각 섹션 데이터의 패킷 ID를 취득한다. 현재, 부여된 채널의 식별자가 「2」이고, 도 50의 PAT, 도 51의 PMT가 송신되어 있으면, JMF(4505a)와 동일한 순서로, 도 51의 PMT를 획득한다. 송신해야 할 데이터는, 도 51의 PMT에 기술된 모든 데이터이다.
네트워크 라이브러리(4505e)는, OS(4501)의 라이브러리(4501b)를 통해 TS 디코더(4307)에, 이들 패킷 ID를 부여하여, TS 멀티플렉서(4310)에 출력시킨다. TS 디코더(4307)는, 부여된 패킷 ID로 필터링을 행하여, TS 멀티플렉서(4310)에 건넨다.
또, 네트워크 라이브러리(4505e)는, OS(4501)의 라이브러리(4501b)를 통해 TS 멀티플렉서(4310)에, 몇 종류의 데이터가 보내어져 오는지를 부여하여, TS 디코더(4307)에서 건네어진 데이터로부터, MPEG2 트랜스포트 스트림을 구성시킨다. TS 멀티플렉서(4310)는, 구성한 MPEG2 트랜스포트 스트림을 CPU에 건넨다.
또, 네트워크 라이브러리(4310e)는, OS(4501)의 라이브러리(4501b)의 NET(4501b4)에 송신처의 어드레스를 부여한다. 이어서, 네트워크 라이브러리(4501b4)는, TS 멀티플렉서(4310)로부터 수취한 MPEG2 트랜스포트 스트림을, 송신하는 어플리케이션 레벨의 프로토콜에 따른 형식으로 변환하여, NET(4501b4)에 순차적으로 건넨다. 어플리케이션 레벨의 프로토콜이란, 예를 들면, HTTP나 RTP와 같은 것이다. 이에 의해, NET(4501b4)은, 송신처 어드레스를 참조하여, 건네어진 데이터를 IP 네트워크의 패킷으로 변환하여, 네트워크부(4311)에 건넨다. 네트워크부(4311)에서는, 건네어진 데이터를, 접속된 네트워크의 물리 미디어에 따른 신호로 변환하여 출력한다.
서비스 매니저(4504)는, 다른 채널의 식별자를 수취하면, Java 라이브러리(4505)에 포함되는 각 라이브러리를 통해 재생하고 있는 영상·음성 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을, 동일하게 Java 라이브러리(4505)에 포함되는 각 라이브러리를 통해 정지하고, 새롭게 수취한 채널의 식별자에 의거하여, 영상·음성의 재생 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을 행한다.
또, 서비스 매니저(4504)는, 재생부(4502b)뿐만 아니라, JavaVM(4503) 상에서 실행되는 Java 프로그램으로부터 채널의 식별자를 수취하는 기능도 구비한다. 구체적으로는, 채널의 식별자를 수취하기 위한 Java 언어의 클래스 및 그 메소드를 제공한다. 채널의 식별자를 수취하면, 서비스 매니저(4504)는, Java 라이브러리(4505)에 포함되는 각 라이브러리를 통해 현재 재생하고 있는 영상·음성 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을, 동일하게 Java 라이브러리(4505)에 포함되는 각 라이브러리를 통해 정지하고, 그 후, 새롭게 수취한 채널의 식별자에 의거하여, 새로운 영상·음성의 재생 및 Java 프로그램의 실행 혹은 네트워크에 대한 출력을 행한다.
또, 상기에서는, 통상의 방송 프로그램의 재생이나 네트워크에 대한 출력에 대해 기술하였지만, 니어 VoD 방송의 경우도 동일하다.
Java 라이브러리(4505)는, 제2 메모리(4303)에 격납되어 있는 복수의 Java 라이브러리의 집합이다. 본 실시 형태에서는, Java 라이브러리(4505)는, JMF(4505a), AM(4505b), Tuner(4505c), CA(4505d), 네트워크 라이브러리(4505e), 재생 Lib(4505f), IO(4505g), AWT(4505h) 등을 포함하고 있다.
JMF(4505a), AM(4505b), Tuner(4505c), CA(4505d)의 기능은, 이미 기술되어 있으므로 생략한다.
재생 Lib(4505f)는, 제2 메모리(4303)가 기억하고 있는, 현재 재생하고 있는 채널의 식별자를 Java 프로그램에 건네기 위한 Java 언어의 클래스 및 메소드를(이하 Java API라고 기술) 제공한다. 이 Java API를 이용함으로써, Java 프로그램은, 현재 재생 중인 채널을 알 수 있다.
IO(4505g)는, Java 프로그램이 제2 메모리(4503)에 데이터를 기록하기 위한 Java API, 혹은, 그 기록한 데이터를 제2 메모리(4303)로부터 읽어들이기 위한 Java API를 Java 프로그램에 제공한다. 이 API를 이용함으로써, Java 프로그램은, 임의의 데이터를 제2 메모리(4303)에 저장할 수 있다. 이 저장된 데이터는 방송 수신 장치(3902)의 전원이 오프가 되어도 없어지지 않으므로, 방송 수신 장치(3902)의 전원이 투입된 후, 다시 그 데이터를 읽어들일 수 있다.
AWT(4505h)는, Java 프로그램이 묘화를 행하거나, 입력부(4301)로부터의 기 입력 통지를 수취하기 위한 Java API를 제공한다. 구체적으로는, 「The Java class Libraries Second Edition, Volume 2」(ISBN0-201-31003-1)에서 이미 정해진 java.awt 패킷, java.awt.event 패킷 및 그 밖의 java.awt의 서브 패킷이 상당한다. 여기에서는, 상세한 설명을 생략한다.
SI(4505i)는, Java 프로그램이 채널 정보나 전자 프로그램표 정보를 취득하는 Java API를 제공한다. 구체적으로는, Java TV 사양 등이 존재한다. 또, 생의 바이너리 데이터를 방송 중의 MPEG2 트랜스포트 스트림으로부터 취득하는 MPEG 섹션 필터 API가 OCAP 사양 중에서 정의되어 있고, 송신되어 온 독자적인 전자 프로그램 데이터를 Java 어플리케이션이 이해하여 취급할 수도 있다.
네트워크 라이브러리(4505e)는, OS(4501)의 라이브러리(4501b)의 NET(4501b4)를 통해, 네트워크(3907)에 접속된 영상 축적 장치(3903), 영상 축적 장치(3904), 단말(3905) 및 단말(3906)과 통신하는 것이다. 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 영상 축적 장치의 속성의 송수신, 멀티미디어 데이터의 축적 요구 및 이 멀티미디어 데이터의 송신, 특정한 멀티미디어 데이터를 축적하고 있는지의 여부의 문의, 이 축적하고 있는 멀티미디어 데이터의 송신 요구 및 이 멀티미디어 데이터의 이용에 따른 권리 처리의 통신을 행한다. 또, 단말(3905) 및 단말(3906)은, 멀티미디어 데이터의 송신 요구의 받아들임, 멀티미디어 데이터 의 송신 혹은 멀티미디어 데이터가 송신되는 영상 축적 장치의 통지를 행한다.
도 54는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(4505e)의 내부 구성의 일례를 나타낸 블록도이다. 네트워크 라이브러리(4505e)는, 제어부(5401), 데이터 수신부(5402), 정보 통신부(5403), 선택부(5404), 데이터 출력부(5405), 및 권리 처리부(5406)를 포함한다. 또한, 네트워크 라이브러리(4505e)는, IP 네트워크에 관련된 다른 기능을 포함해도 된다.
제어부(5401)는, 다운로드한 Java 어플리케이션에 대해, 네트워크 라이브러리(4505e)가 실현하는 기능을 제공한다. 즉, 제어부(5401)는, Java 어플리케이션에 대해 Java API를 제공하고, Java 어플리케이션이, 이 API를 호출함으로써, 네트워크를 이용한 기능을 실행할 수 있다. 제어부(5401)는, Java API가 호출되면, 적절하게, 데이터 수신부(5402), 정보 통신부(5403), 선택부(5404), 데이터 출력부(5405), 권리 처리부(5406)나, 다른 Java 라이브러리(4505) 및 OS(4501)의 라이브러리(4501b)를 이용하여 처리를 행한다.
도 55는, 본 발명의 실시 형태 4에 따른 제어부(5401)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 55 (1) 메소드 collectNetDevice()는, 네트워크(3907)에 접속되어 있는 외부 장치의 정보를 모아, 그 정보로서 NetDevice 오브젝트의 배열을 되돌려 보낸다. 구체적으로는, 후술하는 정보 통신부(5403)의 메소드 collectNetDevice()를 호출하여, 그 반환값을 되돌려 보내는 것이다. 본 메소드에 의해, 네트워크에 접속된 기기의 정보를 얻을 수 있다. 도 56에, NetDevice 클래스 구성의 일례를 나 타낸다. 도 56에서, addr는 이 장치의 네트워크 어드레스를, friendlyName은 이 장치에 붙여진 닉네임을, dType은 이 장치의 종별을 나타내고, 0이 방송 수신 장치, 1이 영상 축적 장치, 2가 단말을 나타내는 것으로 한다. 이러한 정보는, UPnP DA에 정의된 방법에 따라 행하는 것이 가능하기 때문에, 처리의 상세한 설명은 생략한다. 또, attr는 영상 축적 장치의 속성이고, DevAttrib 클래스의 오브젝트이다. 도 57에, 본 발명의 실시 형태 4에 따른 DevAttrib 클래스 구성의 일례를 나타낸다. 도 57에 있어서, remainCap은 멀티미디어 데이터를 축적하는 빈 영역의 용량을 나타내고, replayFavoritGenre는, 재생 혹은 네트워크에 출력한 콘텐츠 중, 가장 빈도가 높은 장르를 나타내며, 0이 영화, 1이 스포츠 등과 같이 나타낸다. recordFavoritGenre는, 유저 조작에 의해 녹화한 콘텐츠 중, 가장 빈도가 높은 장르를 나타낸다.
도 55(2) 메소드 sendMultimediaData()는, 채널의 식별자를 지정하여, 영상 축적 장치(3903) 혹은 영상 축적 장치(3904)에 멀티미디어 데이터를 송신하는 것으로, 성공하면 true가 되돌아오고, 실패하면 false가 되돌아오는 것이다.
또, 도 55 (3) 메소드 acceptMultimediaRequest()는, 호출되면, 별도의 프로세스 혹은 스레드를 기동한 후에 동작함으로써 상주하는 것이고, 단말로부터의 멀티미디어 데이터 송신 요구를 받아들여, 영상 축적 장치(3903) 혹은 영상 축적 장치(104)에 이 멀티미디어 데이터가 축적되어 있는지의 여부를 조사하여, 축적되어 있는 경우는, 이 영상 축적 장치에 단말에 대한 송신 요구를 발행함과 더불어, 이 요구를 발행한 단말에는 이 영상 축적 장치로부터 멀티미디어 데이터가 송신되는 것을 통지하고, 또, 축적되어 있지 않은 경우에는, 이 멀티미디어 데이터를 방송국으로부터 수신하여 이 단말에 송신하는 것으로, 정상 종료시는 true를 되돌려 보내고, 이상시에는 false를 되돌려 보내는 것이다. 또한, 상주하지 않고 하나의 요구를 받으면 종료하는 구성이어도 된다. 이들 메소드는, 데이터 수신부(5402), 정보 통신부(5403), 선택부(5404), 데이터 출력부(5405), 및 권리 처리부(5406)의 API를 이용하여 동작하는 것이기 때문에, 상세한 설명은 후술한다.
도 55 (4) 메소드 collectMultimediaData()는, Java 라이브러리(4505) 등을 이용해, 니어 VoD에 의해 제공되는 멀티미디어 콘텐츠를 검색하여, 그 일부 혹은 전부의 프로그램을, 각 프로그램에 대해 1회, 서비스 매니저(4504)에 의뢰함으로써 수신하고, 메소드 sendMultimediaData()를 호출하여, 영상 축적 장치에 송신하는 것이고, 성공하면 true를, 실패하면 false를 되돌려 보낸다.
도 55 (5) 메소드 setSelectAlgorithm()은, 선택부(5404)가 영상 축적 장치를 선택할 때의 알고리즘을, 인수 id로 부여된 것으로 설정하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. id의 값과 각 알고리즘은, 미리 정해진 것이다. 본 메소드는 선택부(5404)의 메소드 setSelectAlgorithm()을 호출함으로써 행해진다.
도 55 (6) 메소드 setStoragePriority()는, 선택부(5404)가 영상 축적 장치의 우선도에 따라 선택을 행하는 경우의, 영상 축적 장치의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 본 메소드는, 선택 부(5404)의 메소드 setStoragePriority()를 호출함으로써 행해진다. 또한, 본 메소드는, 영상 축적 장치와 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 55 (7) setTerminalPriority()는, 선택부(5404)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 단말의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 본 메소드는, 선택부(5404)의 메소드 setTerminalPriority()를 호출함으로써 행해진다. 또한, 본 메소드는, 단말과 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 55 (8) 메소드 setCombination()은, 선택부(5404)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 영상 축적 장치와 단말의 조를 설정하는 것이고, 인수 devices로 영상 축적 장치를 부여하고, 인수 terms으로 단말을 부여하여, 각각의 배열에서 동일한 인덱스의 것을 조로서 설정한다. 본 메소드는, 선택부(5404)의 setCombination()을 호출함으로써 행해진다.
도 55 (9) 메소드 setSelectedStorageDevice()는, 인수 id로 부여된 인덱스의 영상 축적 장치를, 선택한 영상 축적 장치로 하는 것이다. 본 메소드는, 선택부(5404)의 메소드 setSelectedStorageDevice()를 호출함으로써 행해지므로, 거기에서 상세한 설명은 서술한다.
도 55 (10) 메소드 registerHandler()는, 인수 handler로 부여된 핸들러를 시스템에 등록하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되 돌려 보낸다. Java 어플리케이션은, 이 핸들러를 등록함으로써, 네트워크 라이브러리(4505e)로부터 콜백을 받을 수 있다.
데이터 수신부(5402)는, 방송 수신 장치(3902)의 TS 디코더(4307)와 TS 멀티플렉서(4310)를 OS(4501)의 라이브러리(4501)를 통해 제어하고, TS 디코더(4307)에 의해 필터링된, 영상, 음성, 섹션 데이터를 TS 멀티플렉서(4310)에 의해 MPEG2 트랜스포트 스트림으로 구성하여 독출하는 것이다.
데이터 수신부(5402)는, 제어부(5401) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다. 도 58은, 데이터 수신부(1602)가 제공하는 Java API의 일례를 나타낸 도면이다. 도 58 (1) 메소드 openProgram()은, 인수로 지정된 채널의 식별자로부터, TS 멀티플렉서(510)가 구성한 MPEG2 트랜스포트 스트림을 독출하는 InputStream의 오브젝트를 되돌려 보낸다. 또한, 실패시에는 null이 되돌아온다.
정보 통신부(5403)는, OS(4501)의 라이브러리(4501)의 NET(4501b4)을 통해, 방송 수신 장치(3902)의 네트워크부(4311)를 제어하고, 지정된 네트워크(3907)에 접속되어 있는 외부 기기와, 메시지의 송수신을 행하는 것이다.
정보 통신부(5403)는, 제어부(5401) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 59는, 본 발명의 실시 형태 4에 따른 정보 통신부(1603)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 59 (1) 메소드 checkStorageAttribute()는, 인수로 지정된 정보 축적 장치에 속성 송신 요구를 보내고, 회답을 수신하여 인수 dev로 표시된 NetDevice 클 래스의 오브젝트에 속성을 설정하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
도 59 (2) 메소드 sendStoreRequest()는, 인수 dev로 지정된 영상 축적 장치에 축적 요구를 송신하여 회답을 수신하는 것으로, 성공하면 true를 되돌려 보내고, 통신 실패 혹은 요구 거부를 수신한 경우는 false를 되돌려 보내는 것이다. 인수 id는, 제어부(5401)가 발행한 멀티미디어 데이터의 식별자이고, 송신 요구와 함께, 영상 축적 장치에 보내어진다.
도 59 (3) 메소드 askContentStored()는, 인수 dev로 지정되는 영상 축적 장치에, 인수 id로 지정되는 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 송신하여, 회답을 수신하는 것으로, 축적하고 있다고 회답을 받은 경우는 true를, 축적하고 있지 않다고 회답을 받은 경우 혹은 통신에 실패한 경우는 false를 각각 되돌려 보낸다.
도 59 (4) 메소드 sendTransferRequest()는, 인수 server로 지정되는 영상 축적 장치에, 인수 id로 지정되는 멀티미디어 데이터를, 인수 client로 지정되는 단말에 송신하는 요구를 송신하여 회답을 수신하는 것이고, OK를 수신한 경우는 true를, NG를 수신한 경우 혹은 통신에 실패한 경우는 false를 각각 되돌려 보낸다.
도 59 (5) 메소드 acceptTerminalRequest()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말로부터의 요구를 수신하여, 단말이 송신을 요구하고 있는 멀티미디어 데이터의 식별자를 인수 req에 넣은 것이고, 통신이 성공하면 true를, 실패하면 false를 각각 되돌려 보낸다. 도 60은, 본 발명의 실시 형태 4에 따른 MMRequest 클래스의 구성을 나타낸 도면이다.
도 59 (6) 메소드 notifyTransferDevice()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말에, 인수 dev로 지정되는 영상 축적 장치로부터 멀티미디어 데이터가 송신되는 것을 통지하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
도 59 (7) 메소드 notifyTransferData()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말에, 방송 수신 장치(3902)로부터 멀티미디어 데이터가 송신되는 것을 통지하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
도 59 (8) 메소드 notifyUnableTransfer()는, 인수 s로 지정되는 Socket 오브젝트를 이용하여, 이 Socket 오브젝트에 의해 접속되어 있는 단말에, 인수 status로 표시되는 이유에 의해, 요구된 멀티미디어 데이터를 송신할 수 없는 것을 통지하는 것이고, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
도 59 (9) 메소드 collectNetDevice()는, 네트워크(3907)에 접속되어 있는 외부 장치의 정보를 모아, 그 정보로서 NetDevice 오브젝트의 배열을 되돌려 보낸다. 이 처리는, UPnP DA에 정의된 방법에 의해 행하는 것이 가능하기 때문에, 처리의 상세한 설명은 생략한다.
선택부(5404)는, 설정된 알고리즘에 따라, 영상 축적 장치의 속성 및 멀티미디어 데이터의 속성 등으로부터, 네트워크(3907)에 접속된 영상 축적 장치 중 하나를 선택하는 것이다.
선택부(5404)는, 제어부(5401) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 61은, 본 발명의 실시 형태 4에 따른 선택부(5404)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 61 (1) 메소드 selectDevice()는, 후술하는 메소드 setAlgorithm()에 의해 설정된 알고리즘에 따라, 인수 devices로 표시된 영상 축적 장치 중에서, devices에 격납되어 있는 영상 축적 장치의 속성, 및 인수 id로 표시된 채널의 식별자와 도 47에 나타낸 제2 메모리(4303)에 기억하고 있는 프로그램 정보로부터 판독되는 멀티미디어 데이터의 속성 등을 기초로, 하나의 영상 축적 장치를 선택하는 것이고, 성공하면 선택한 영상 기억 장치를 devices의 인덱스로 되돌려 보내고, 실패하면 음의 값을 되돌려 보내는 것이다. 선택하는 알고리즘으로서는, 빈 용량이 큰 영상 축적 장치를 선택하는 것, 멀티미디어 데이터의 장르마다 영상 축적 장치를 할당하여 선택하는, 이 멀티미디어 데이터의 장르와 동일한 장르의 멀티미디어 데이터를 유저 조작에 의해 녹화한 빈도가 높은 영상 축적 장치를 선택하는 것, 후술하는 메소드 setStoragePriority()에 의해 설정된, 영상 축적 장치의 우선도에 따라 선택하는 것, 후술하는 메소드 setTerminalPriority()에 의해 설정된 단말의 우선도와, 후술하는 메소드 setCombination()에 의해 설정된 단말과 영상 축적 장 치의 조로부터, 단말의 우선도에 따라 단말을 선택하고, 그 단말과 조로 되어 있는 영상 축적 장치를 선택하는 것, 혹은, 복수의 영상 축적 장치가 있었던 경우에, Java 어플리케이션에 콜백 함수에 의해 통지하여, 유저에게 일람을 제시하고, 유저로부터의 입력을 받아들여, 후술하는 메소드 setSelectedStorageDevice()에 의해 지정된 영상 축적 장치를 선택하는 것 등이 있다.
도 61 (2) 메소드 setSelectAlgorithm()은, 선택부(5404)가 영상 축적 장치를 선택할 때의 알고리즘을, 인수 id로 부여된 것으로 설정하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. id의 값과 각 알고리즘은, 미리 정해진 것이다.
도 61 (3) 메소드 setStoragePriority()는, 선택부(5404)가 영상 축적 장치의 우선도에 따라 선택을 행하는 경우의, 영상 축적 장치의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 또한, 본 메소드는, 영상 축적 장치와 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 61 (4) setTerminalPriority()는, 선택부(5404)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 단말의 우선도를 설정하는 것으로, 인수 devices의 배열의 순서대로 우선도가 높은 것으로 한다. 처리가 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 또한, 본 메소드는, 단말과 그 우선도의 값의 조의 배열을 인수로서 설정하는 구성이어도 된다.
도 61 (5) 메소드 setCombination()은, 선택부(5404)가 단말의 우선도에 따라 영상 축적 장치의 선택을 행하는 경우의, 영상 축적 장치와 단말의 조를 설정하는 것이고, 인수 devices로 영상 축적 장치를 부여하고, 인수 terms으로 단말을 부여하여, 각각의 배열에서 동일한 인덱스의 것을 조로서 설정한다.
도 61 (6) 메소드 setSelectedStorageDevice()는, 인수 id로 부여된 인덱스의 영상 축적 장치를, 선택한 영상 축적 장치로 하는 것이다. 본 메소드는, 메소드 selectDevice()가, 설정된 알고리즘에 의해 유저의 입력에 의해서 선택하는 경우, Java 어플리케이션에 콜백 함수에 의해 통지하고, 유저의 입력을 받아들인 java 어플리케이션에 의해 호출되는 것이다. 콜백 함수는, Java 어플리케이션의 핸들러 오브젝트를 Handler로 하면, Handler.notify(NetDevices[] devices, Object obj)와 같은 것으로, 이에 의해 Java 어플리케이션은 인수로 부여된 영상 축적 장치의 일람을 유저에게 제시하고, 유저 입력을 받아들인다. 받아들인 입력으로부터, 지정되었지만, 배열 devices의 인덱스를 취득하여, 인수 obj로 제어부(5401) 혹은 선택부(5404)의 인스턴스가 부여되므로, 그 메소드 setSelectedStorageDevice()를 호출하여 설정한다. 상기 핸들러 오브젝트 Handler는, 제어부(5401)의 메소드 registerHandler()에 의해 등록된 것이다. 또한, 선택부(5404)가, 동일하게 registerHandler() 메소드를 갖고, Java 어플리케이션에 공개하는 구성이어도 된다.
데이터 출력부(5405)는, OS(4501)의 라이브러리(4501)의 NET(4501b4)을 통해, 방송 수신 장치(3902)의 네트워크부(4311)를 제어하고, 지정된 네트워트(3907) 에 접속되어 있는 외부 기기에, 데이터 수신부(5402)가 수신한 멀티미디어 데이터를 송신하는 것이다.
데이터 출력부(5405)는, 제어부(5401) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 62는, 본 발명의 실시 형태 4에 따른 데이터 출력부(1605)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 62 (1) 메소드 sendData()는, 인수 dev로 지정된 네트워크(3907)에 접속되어 있는 장치에, 인수 is로 지정된 InputStream 오브젝트로부터 읽어들인 데이터를, is로부터 EOF를 읽어들일 때까지 송신하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
권리 처리부(5406)는, 서비스 매니저(4504)에, 멀티미디어 데이터의 이용에 따른 과금 등의 권리 처리를 의뢰하는 것이다.
권리 처리부(5406)는, 제어부(5401) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 63은, 본 발명의 실시 형태 4에 따른 권리 처리부(5406)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 63 (1) 메소드 requestContentUse()는, 인수 id로 지정된 콘텐츠의 권리 처리를 서비스 매니저(4504)에 의뢰하는 것이고, 콘텐츠 사용이 허가되면 true가 되돌아오고, 허가되지 않거나, 혹은 처리에 실패하면 false가 되돌아오는 것이다.
여기에서, 제어부(5401)의, 메소드 sendMultimediaData() 및 메소드 acceptMultimediaRequest()의 처리를 설명한다.
우선, 메소드 sendMultimediaData()의 처리에 대해 설명한다. sendMultimediaData()가 호출되면, 우선, 제어부(5401)의 메소드 collectNetDevice()에 의해, 네트워크(3907)에 접속된 영상 축적 장치를 검색한다. 이어서, 각 영상 축적 장치마다, 정보 통신부(5403)의 메소드 checkStorageAttribute()를 호출하여, 각 영상 축적 장치의 속성을 조사한다. 이어서, 선택부(5404)의 메소드 selectDevice()를 호출하여, 영상 축적 장치를 선택한다. 또한, 이 멀티미디어 데이터를 식별하는 식별자를 발행한다. 선택한 영상 축적 장치에 대해, 정보 통신부(5403)의 메소드 sendStoreRequest()를 호출함으로써, 축적 요구를 멀티미디어 데이터의 식별자와 멀티미디어 데이터의 프로그램 정보 모두에 송신한다. 이어서, 데이터 수신부(5402)의 메소드 openProgram()을 호출하여, 멀티미디어 데이터를 독출하는 InputStream 오브젝트를 취득한다. 또한, 데이터 출력부(5405)의 메소드 sendData()를 호출하여, 선택한 영상 축적 장치에, 수신한 멀티미디어 데이터를 송신한다. 처리가 성공하면, 멀티미디어 데이터의 속성과 함께, 발행한 멀티미디어 데이터의 식별자를 제2 메모리(4303)에 기억시킨다.
또한, collectNetDevice()를 실행한 후에, 이들 정보를 제2 메모리(4303)에 기억시키고, 이후는 제2 메모리(503)에 기억한 것을 독출하는 구성이어도 된다.
다음에, 메소드 acceptMultimediaRequest()의 처리에 대해 설명한다. 메소드 acceptMultimediaRequest()는, 호출되면, 별도의 스레드 혹은 프로세스를 생성한 후에 동작한다. 우선, 단말로부터의 접속을 받아들이는 Socket 오브젝트를 작 성하고, 접속 요구를 기다린다. 단말로부터, 접속 요구가 오면, 정보 통신부(5403)의 메소드 acceptTerminalRequest()를 호출하여, 이 단말로부터의 요구를 수신한다. 이어서, 요구된 멀티미디어 데이터의 식별자를, 단말로부터의 요구, 혹은 단말로부터 수취한 채널의 식별자와 제2 메모리(4303)에 기억시킨 정보로부터 특정한다. 다음에, 제어부(5401)의 메소드 collectNetDevice()를 호출하거나, 혹은, 제2 메모리(4303)에 기억시킨 정보로부터, 네트워크에 접속된 영상 축적 장치를 검색한다. 이어서, 각 영상 축적 장치마다, 정보 통신부(5403)의 메소드 askContentStored()를 호출하여, 이 영상 축적 장치에 이 멀티미디어 데이터가 축적되어 있는지의 여부를 문의한다. 축적하고 있는 영상 기억 장치가 있으면, 이 영상 축적 장치에, 정보 통신부(5403)의 메소드 sendTransferRequest()를 호출함으로써, 이 요구가 있었던 단말에, 이 멀티미디어 데이터의 송신 요구를 발행한다. 또한, 이 요구가 있었던 단말은, 단말과 통신하고 있는 Socket 오브젝트와, 관리부의 메소드 collectNetDevice()의 결과 혹은 제2 메모리(4303)에 기억시킨 정보로부터 특정한다. 또한, 이 때, 필요하면, 권리 처리부(5406)의 메소드 requestContentUse()를 호출함으로써, 권리 처리를 행한다. 이어서, 이 요구가 있었던 단말에는, 정보 통신부(5403)의 메소드 notigyTransferDevice()를 호출함으로써, 이 축적하고 있는 영상 축적 장치를 통지한다. 또, 이 멀티미디어 데이터를 축적하고 있는 영상 축적 장치가 발견되지 않은 경우는, 서비스 매니저(4504)에 채널의 식별자를 건네어, 프로그램 수신을 의뢰한다. 이어서, 상기 메소드 sendMultimediaData()의 경우와 동일하게, 데이터 수신부(5402)의 메소드 openProgram()을 호출하여, 수신하는 멀티미디어 데이터를 독출하는 InputStream을 생성한다. 메소드 openProgram()이 null을 되돌려 보내면, 정보 통신부(5403)의 메소드 notifyUnableTransfer()를 호출하여, 이 단말에 데이터 송신이 불가능한 것을 통지하고, 대기 요구로 되돌아온다. 메소드 openProgram()이, InputStream 오브젝트의 인스턴스를 되돌려 보내면, 정보 통신부(5403)의 메소드 notifyTransferData() 메소드를 호출함으로써, 이 단말에, 방송 수신 장치(3902)로부터 이 멀티미디어 데이터를 송신하는 것을 통지한다. 이어서, 데이터 출력부(5405)의 메소드 sendData()를 호출함으로써, 이 단말에 이 멀티미디어 데이터를 송신한다. 데이터 송신이 종료하면, 접속 요구의 대기로 되돌아온다. 또한, 접속 요구를 받아들이면, 또한, 별도의 스레드 혹은 프로세스를 생성하여, 이후의 처리는 이 별도의 스레드 혹은 프로세스로 동작하고, 원래의 스레드 혹은 프로세스는 접속 요구의 대기로 되돌아오는 구성이어도 된다. 이 경우, 이 별도의 스레드 혹은 프로세스상의 처리는, 접속 요구 대기로 되돌아오지 않고, 종료한다.
이상의 구성에 의해, Java 어플리케이션은, 니어 VoD로 제공되는 프로그램의 멀티미디어 데이터를, 이용에 앞서 수신하여, 영상 축적 장치에 축적해 두는 것이 가능해진다. 또한, 이 축적은, 일정한 시간 간격으로 실행해도 되고, 또, 유저가 설정한 일시에 행해도 된다. 또, 유저가 설정한 시간 간격으로 행해도 된다. 또, 유저의 조작에 의해 행해도 된다. 또, 방송국으로부터의 지시로 행해도 된다.
다음에, 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 구성에 대해 설명한다.
도 64는, 본 발명의 실시 형태 4에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 구성을 나타낸 블록도이다. 본 도면에 나타낸 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 입력부(6401), 제1 메모리(6402), 제2 메모리(6403), 다중 분리부(6404), TS 디코더(6405), 영상 출력부(6406), 음성 출력부(6407), 네트워크부(6408) 및 CPU(26409)로 구성된다. 또한, 본 실시 형태에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 멀티미디어 데이터를 축적할 뿐만 아니라, 유저의 조작에 의해, 방송 수신 장치(3902)로부터 수신한 멀티미디어 데이터 및 축적한 멀티미디어 데이터의 재생도 행하는 구성이다.
입력부(6401), 제1 메모리(6402), 제2 메모리(6403)는, 상기한 본 실시 형태에 있어서의 방송 수신 장치(3902)의 입력부(4301), 제1 메모리(4302), 제2 메모리(4303)와 동일한 것이다. 또한, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 제2 메모리(6403)에, 멀티미디어 데이터를 축적한다. 또, 멀티미디어 데이터뿐만 아니라, 이 멀티미디어 데이터의 식별자, 타이틀, 방송 일시, 방송 채널 등 EPG로부터 얻어지는 프로그램 정보도 동시에, 메타데이터로서 축적한다.
다중 분리부(6404)는, CPU(6409)로부터 MPEG 트랜스포트 스트림을 수취하고, CPU(6409)로부터 지정된 정보를 추출하여, CPU(6409)에 건넨다. 또, MPEG 트랜스포트 스트림을 그대로 TS 디코더(6405)에 건넨다.
TS 디코더(6405)는, CPU(6409)로부터, 음성 데이터, 영상 데이터의 식별자를 수취한다. 또한, 다중 분리부(6404)로부터 수취한 스트림으로부터, 수취한 음성 데이터, 영상 데이터의 식별자에 대응하는 데이터를 추출한다. 추출한 영상 데이 터를 영상 출력부(6406)에, 음성 데이터를 음성 출력부(6407)에 각각 건넨다.
영상 출력부(6406), 음성 출력부(6407)는, 상기한 본 실시 형태에 있어서의 방송 수신 장치(3902)의 영상 출력부(4308), 음성 출력부(4309)와 동일한 것이다.
네트워크부(6408)는, 네트워크 인터페이스를 포함하고, CPU(6409)로부터 수취한 데이터를, 네트워크 인터페이스가 접속된 네트워크의 물리 미디어에 따른 신호로 변환하여 출력한다. 또, 네트워크 인터페이스로부터 신호를 수신하여, IP 네트워크에서 규정된 패킷으로 변환하여, CPU(6409)에 건넨다.
CPU(6409)는, 제2 메모리(6403)가 기억하는 프로그램을 실행함으로써, 다중 분리부(6404), TS 디코더(6405), 네트워크부(6409)를 제어한다.
도 65는, 본 발명의 실시 형태 4에 있어서의 영상 축적 장치(3903) 및 영상 축적 장치(3904)가 유지하고, 실행하는 프로그램 구성을 나타낸 도면이다. 본 도면은, 제2 메모리(6403)에 유지 기억되고, CPU(6409)에 실행되는 프로그램 구성도의 일례이다.
프로그램(6500)은, 복수의 서브 프로그램으로 구성되고, 구체적으로는 OS(6501), JavaVM(6502), 서비스 매니저(6503), Java 라이브러리(6504)로 구성된다.
OS(6501)는, 영상 축적 장치(3903) 및 영상 축적 장치(3904)의 전원이 투입되면, CPU(6409)가 기동하는 서브 프로그램이다. OS(6501)는, 오퍼레이팅 시스템의 약자이고, Linux 등이 일례이다. OS(6501)는, 다른 서브 프로그램을 평행하게 실행하는 커널(6501a) 및 라이브러리(6501b)로 구성되는 공지 기술의 총칭이고, 상 세한 설명은 생략한다. 본 실시 형태에 있어서는, OS(6501)의 커널(6501a)은, JavaVM(6503)을 서브 프로그램으로서 실행한다. 또, 라이브러리(6501b)는, 이들 서브 프로그램에 대해, 영상 축적 장치(3903) 및 영상 축적 장치(3904)가 유지하는 구성 요소를 제어하기 위한 복수의 기능을 제공한다.
본 실시 형태에서는, 라이브러리(6501b)는 기능의 일례로서, 한정 해제(6501b1), AV 재생(6502b2), NET(6501b3)을 포함한다.
한정 해제(6502b1)는, 다른 서브 프로그램이나 Java 라이브러리(6504)의 CA(6504c)로부터 정보를 수취하여, 네트워크로부터 수신한 암호화 데이터를 복호하거나, AV 재생(6501b2)을 유효하게 하여, 네트워크로부터 수신한 멀티미디어 데이터 및 제2 메모리(6403)에 축적한 멀티미디어 데이터의 재생을 허가하거나 하는 것이다.
AV 재생(6502b2)은, 다른 서브 프로그램이나 Java 라이브러리(6504)의 JMF(6504a)로부터, 음성의 패킷 ID와 영상의 패킷 ID를 수취한다. 수취한 음성의 패킷 ID와 영상의 패킷 ID를, TS 디코더(6405)에 부여한다. 이 결과, TS 디코더(6405)는 부여된 패킷 ID에 의거해, 필터링을 행하여, 영상·음성의 재생을 실현한다.
NET(6501b3)은, 다른 서브 프로그램이나 Java 라이브러리(6504)의 네트워크 라이브러리(6504d)로부터 수취한 데이터를, IP 네트워크에서 규정되는 어플리케이션층보다 아래의 프로토콜 패킷을 작성한다. 어플리케이션층보다 아래의 프로토콜이란, 예를 들면 TCP 패킷, UDP 패킷, IP 패킷 등이다. 이들 네트워크부(6408)에 건넴으로써, 네트워크(3907)를 통해 다른 기기에 메시지 및 데이터를 송신한다. 또, 네트워크(3907)를 통해 다른 기기로부터의 메시지를 수신했을 때에, 다른 서브 프로그램이나 Java 라이브러리(6504)의 네트워크 라이브러리(6504d)에, 어플리케이션층의 프로토콜 패킷으로 변환하여 건넨다. 어플리케이션층의 프로토콜이란, 예를 들면, HTTP나 RTP 등이다.
JavaVM(6502)은, 상기한 본 실시 형태에 있어서의 방송 수신 장치(3902)의 JavaVM(4503)과 동일한 것이다.
서비스 매니저(6503)는, 상기한 본 실시 형태에 있어서의 방송 수신 장치(3902)의 서비스 매니저(4604)와, 이하의 상이점을 제외하고 동일한 것이다. 서비스 매니저(4604)는 재생부(4602b)로부터 채널 식별자를 수취하여, 그 식별자를 Tuner(4605c)에 건네어 튜닝시키고, 또한 CA(4605d)에 의뢰하여 디스크램블을 행하여, JMF(4605a)에 채널의 식별자를 부여하여 영상·음성의 재생을 의뢰하는 것이었지만, 서비스 매니저(6503)는, Java 라이브러리(6504) 중에 있는 List(6504i)로부터 콘텐츠의 식별자를 수취하여, Java 라이브러리(6504) 중에 있는 IO(6504f)에 콘텐츠의 식별자를 건네어 제2 메모리(6403)에 축적하고 있는 스트림을 독출하거나, 네트워크 라이브러리(6504d)에 콘텐츠의 식별자와 그것을 수신하는 장치를 건네어, 이 장치로부터 스트림을 수신하거나 하고, 이어서, Java 라이브러리(6504) 중에 있는 JMF(6504a)에 콘텐츠의 식별자를 부여함으로써, 영상·음성의 재생을 의뢰하는 것이다. List(6504i)에 대해서는 후술한다.
또, 서비스 매니저(6503)는, Java 라이브러리(6504) 중에 있는 네트워크 라 이브러리(6504d)에, 방송 수신 장치(3902)로부터의 축적 요구 대기, 및 데이터 수신과 축적을 의뢰함으로써, 방송 수신 장치(3902)로부터 멀티미디어 데이터를 수신하여, 제2 메모리(6403)에 축적한다.
또, 서비스 매니저(6503)는, Java 라이브러리(6504) 중에 있는 네트워크 라이브러리(6504d)에, 방송 수신 장치(3902)로부터의 멀티미디어 데이터 송신 요구 의뢰, 및 단말(3905) 혹은 단말(3906)로부터의 데이터 송신 요구의 받아들임과, 이 의뢰에 대응한 데이터 송신을 의뢰함으로써, 제2 메모리(6403)에 축적한 멀티미디어 데이터를 단말에 송신한다.
Java 라이브러리(6504)는, 제2 메모리(6403)에 격납되어 있는 복수의 Java 라이브러리의 집합이다. 본 실시 형태에서는, Java 라이브러리(6504)는, JMF(6504a), AM(6504b), CA(6504c), 네트워크 라이브러리(6504d), 재생 Lib(6504e), List(6504i) 등을 포함하고 있다.
JMF(6504a), AM(6504b), 재생 Lib(6504e), IO(6504f), AWT(6504g), SI(6504h)는, 각각, 상기한 본 실시 형태에 있어서의 방송 수신 장치(3902)의 Java 라이브러리(4505) 중의 JMF(4505a), AM(4505b), 재생 Lib(4505f), IO(4505g), AWT(4505h), SI(4505i)와 동일한 것이다.
CA(6504c)는, 네트워크(3907) 경유로 송신되어 온 멀티미디어 데이터 및 제2 메모리(6403)에 축적한 멀티미디어 데이터의 카피 제어 및 과금 등, 이 멀티미디어 데이터의 권리 처리를 관리하는 것이다. 카피 제어는, 송신되어 온 트랜스포트 스트림의 섹션 정보에 포함되어 있는 카피 제어 정보를 참조하여, 필요하면 고쳐쓰기 를 행한다. 또, 과금 등은, 네트워크 라이브러리(6504d)를 통해, 방송 수신 장치(3902)와 통신함으로써 행한다.
List(6504i)는, 방송 수신 장치(3902)에 있어서의 EPG, 제2 메모리(6403)에 축적되어 있는 멀티미디어 콘텐츠의 일람, 및 네트워크(3907)에 접속된 영상 축적 장치에 축적되어 있는 멀티미디어 콘텐츠의 일람을 표시하고, 입력부(6401)가 받아들인 유저 조작에 의해, 일람으로부터 하나의 멀티미디어 콘텐츠를 선택하여, 서비스 매니저(6503)에 재생을 의뢰하는 것이다. 방송 수신 장치(3902) 혹은 네트워크(3907)에 접속된 다른 영상 축적 장치에 축적된 콘텐츠의 경우는, 이 장치의 정보도 서비스 매니저(6503)에 건넨다. 제2 메모리(6403)에 축적된 콘텐츠의 일람은 IO(6504f)를 통해 정보를 독출함으로써 취득할 수 있다. 또, 방송 수신 장치(3902)에 있어서의 EPG 및 네트워크(3907)에 접속된 다른 영상 축적 장치에 축적된 콘텐츠의 일람은, 네트워크 라이브러리(6504d)를 통해 취득할 수 있다. 이들 정보는, UPnP AV에 정의된 방법에 의해 실현할 수 있기 때문에, 상세 설명은 생략한다.
네트워크 라이브러리(6504d)는, OS(6501b)의 NET(6501b3)을 통해, 네트워크(3907)에 접속된 방송 수신 장치(3902), 다른 영상 수신 장치, 단말(3905) 및 단말(3906)과 통신하는 것이다. 방송 수신 장치(3902)와는, 영상 축적 장치의 속성 송신, 멀티미디어 데이터의 축적 요구 수신과 이 멀티미디어 데이터의 수신, 멀티미디어 데이터를 축적하고 있는지의 문의 수신과 그 회신, 축적하고 있는 멀티미디어 데이터의 송신 의뢰 받아들임 및 이 멀티미디어 데이터의 이용에 따른 권리 처 리의 통신을 행한다. 또, 다른 방송 수신 장치, 단말(3905) 및 단말(3906)과는, 멀티미디어 데이터의 일람 송수신, 멀티미디어 데이터의 송신, 멀티미디어 데이터의 수신을 행한다.
도 66은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성의 일례를 나타낸 블록도이다. 네트워크 라이브러리(5404d)는, 제어부(6601), 제어 정보 통신부(6602), 데이터 수신부(6603), 데이터 송신부(6604), 속성 관리부(6605), 및 권리 처리부(6606)를 포함한다. 또한, 네트워크 라이브러리(6504d)는, IP 네트워크에 관련된 다른 기능을 포함해도 된다.
제어부(6601)는, 다운로드한 Java 어플리케이션에 대해, 네트워크 라이브러리(6504d)가 실현하는 기능을 제공한다. 즉, 제어부(6601)는, 다운로드한 Java 어플리케이션에 대해 Java API를 제공하고, Java 어플리케이션이 이 API를 호출함으로써, 네트워크를 이용한 기능을 실현할 수 있다. 제어부(6601)는, Java API가 호출되면, 적절하게, 제어 정보 통신부(6602), 데이터 수신부(6603), 데이터 송신부(6604), 속성 관리부(6605), 권리 처리부(6606)나, 다른 Java 라이브러리(6504) 및 OS(6501)의 라이브러리(6501b)를 이용하여 처리를 행한다.
도 67은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성에 포함되는 제어부(6601)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 67 (1) 메소드 collectNetDevice()는, 네트워크(3907)에 접속되어 있는 외부 장치의 정보를 모아, 그 정보로서 NetDevice 오브젝트의 배열을 되돌려 보내고, 실패시는 null을 되돌려 보낸다. 이 메소드는 후술하는 제어 정보 통신 부(6602)의 메소드 collectDevice()를 이용함으로써 행한다.
도 67 (2) 메소드 acceptRequestToStore()는, 호출되면 다른 프로세스 혹은 스레드를 기동한 후에 동작함으로써 상주하는 것이고, 방송 수신 장치(3902)로부터의 속성 송신 요구 받아들임, 멀티미디어 데이터의 축적 요구 받아들임, 멀티미디어 데이터의 수신과 제2 메모리(6403)에 대한 축적을 행한다. 정상 종료시에는 true를 되돌려 보내고, 이상시에는 false를 되돌려 보낸다.
또한, 상주하지 않고 하나의 요구를 받으면 종료하는 구성이어도 된다. 또, Java 어플리케이션으로부터 네트워크(3907)에 접속된 기기가 인수로 건네어지고, 그 기기와 통신함으로써, 이 기기로부터 데이터를 수신하여 축적하는 구성이어도 된다. 상세한 설명에 대해서는 후술한다.
도 67 (3) 메소드 acceptRequestToTransfer()는, 호출되면 다른 프로세스 혹은 스레드를 기동한 후에 동작함으로써 상주하는 것이고, 방송 수신 장치(3902)로부터의 특정한 멀티미디어 데이터를 축적하고 있는지의 여부의 문의를 받아들여 회답하며, 또, 방송 수신 장치(3902)로부터 특정한 멀티미디어 데이터를 특정한 단말로의 송신 요구를 받아들여, 이 멀티미디어 데이터를 이 단말에 송신하는 것이다. 또, 단말(3905), 단말(3906) 등 외부 장치로부터 멀티미디어 데이터의 송신 요구를 받아들여, 이 멀티미디어 데이터를 송신하는 것이다. 정상 종료시에는 true를 되돌려 보내고, 이상시에는 false를 되돌려 보낸다. 또한, 상주하지 않고 하나의 요구를 받으면 종료하는 구성이어도 된다. 상세한 설명에 대해서는 후술한다.
도 67 (4) 메소드 getMultimediaData()는, Java 어플리케이션 혹은 다른 서 브 프로그램으로부터 네트워크(3907)에 접속된 장치와 콘텐츠의 식별자와 출력 스트림을 받아들이고, 이 장치로부터, 이 식별자로 특정되는 멀티미디어 데이터를 수신하여, 이 출력 스트림에 기록하는 것이다. 성공시에는 true를 되돌려 보내고, 실패시에는 false를 되돌려 보낸다. 이 메소드에 의해, Java 어플리케이션은, 네트워크(3907)에 접속된 다른 기기가 갖는 멀티미디어 데이터를 수신하여 재생할 수 있다. 상세한 설명에 대해서는 후술한다.
도 67 (5) 및 (6) 메소드 getContentList()는, Java 어플리케이션 혹은 다른 서브 프로그램으로부터, 네트워크(3907)에 접속된 영상 축적 장치를 수취하여, 그 영상 축적 장치가 축적하고 있는 콘텐츠 일람을 취득하여, ContentInfo 오브젝트의 배열로 되돌려 보내는 것으로, 성공시에는 이 배열이, 실패시에는 null이 되돌아오는 것이다. 이 메소드는, 인수로서 하나의 NetDevice 오브젝트를 취하는 경우와, NetDevice 오브젝트의 배열을 취하는 경우가 있다. 도 68은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)에서 사용되는 ContentInfo 클래스 정의의 일례를 나타낸 도면이다. 도 68에서, dev는 이 영상 축적 장치를 나타내고, contentId는 이 콘텐츠의 식별자를 나타내고, channelId는 이 콘텐츠가 방송된 채널의 식별자를 나타내고, title은 이 콘텐츠의 타이틀을 나타내고, gunre는 이 콘텐츠의 장르를 나타내고, broadDae는 이 콘텐츠가 방송된 일시를 나타내며, recDate는 이 콘텐츠가 녹화된 일시를 나타낸다. 이것은 후술하는 제어 정보 통신부(2802)의 메소드 getContentList()를 호출함으로써 행해진다.
도 67 (7) getEPGData()는, 지정된 기기로부터 EPG 정보를 취득하여 ContentInfo 오브젝트의 배열을 되돌려 보내는 것으로, 인수 dev로 지정되는 장치가 방송 수신 장치(3902)가 아니거나, 실패한 경우는 null을 되돌려 보내는 것이다. 본 메소드는, 후술하는 제어 정보 통신부(6402)의 메소드 getEPGData()를 호출함으로써 행해진다.
도 67 (8) 메소드 updateAttribute()는, 인수 id로 지정된 콘텐츠가, 인수 type으로 지정된 처리가 행해진 경우의 속성 정보의 갱신을 행하는 것이고, 성공하면 true를, 실패하면 false를 되돌려 보낸다. 본 메소드는, 후술하는 속성 관리부(6605)의 메소드 updateAttribute()를 호출함으로써 행해진다.
제어 정보 통신부(6602)는, OS(6501)의 라이브러리(6501)의 NET(6501b3)을 통해 네트워크부(6408)를 제어하고, 지정된 네트워크(3907)에 접속되어 있는 외부 기기와, 메시지의 송수신을 행하는 것이다.
제어 정보 통신부(6402)는, 제어부(6401) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 69는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성에 포함되는 제어 정보 통신부(6602)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 69 (1) 메소드 collectNetDevice()는, 상기의 본 실시 형태에 있어서의 방송 수신 장치(102)의 네트워크 라이브러리(4505e)의 정보 통신부(5403)의 메소드 collectNetDevice()와 동일한 것이다.
도 69 (2) 메소드 getRequestMessage()는, 인수 s로 부여된 소켓으로부터 메 시지를 수신하여, 바이트열로 되돌려 보내는 것으로, 성공하면 바이트열을 되돌려 보내고, 실패하면 null을 되돌려 보내는 것이다. 본 메소드는, 외부 기기로부터의 요구를 수신할 때에 이용하는 것이다.
도 69 (3) 메소드 sendResponseMessage()는, 인수 s로 부여된 소켓에, 인수 mes로 부여된 메시지를 송신하는 것이고, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 이 메소드는, 외부 기기로부터의 요구에 대한 회답을 보낼 때에 이용된다.
도 69 메소드 (4) sendRequestMessage()는, 인수 s로 부여된 소켓에, 인수 mes로 부여된 메시지를 송신하는 것이고, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보낸다. 이 메소드는, 외부 기기에 요구를 보낼 때에 이용된다.
도 69 (5) 메소드 getResponseMessage()는, 인수 s로 부여된 소켓으로부터 메시지를 수신하여, 바이트열로 되돌려 보내는 것으로, 성공하면 바이트열을 되돌려 보내고, 실패하면 null을 되돌려 보내는 것이다. 본 메소드는, 외부 장치에 보낸 요구에 대한 회답을 이 외부 장치로부터 수신할 때에 이용하는 것이다.
도 69 (6) 및 (7) 메소드 getConentList()는, 인수 dev로 부여된 영상 축적 장치, 혹은 devices로 부여된 복수의 영상 축적 장치에 축적되어 있는 콘텐츠의 일람을 취득하여, ContentInfo 오브젝트의 배열을 되돌려 보내는 것으로, 성공시에는 이 배열이, 실패시에는 null이 되돌아온다. 각 영상 기억 장치에 축적된 콘텐츠 일람의 취득은, UPnP AV로 정의된 방법에 의해 행할 수 있기 때문에, 상세한 설명 은 생략한다.
도 69 (8) 메소드 getEPGData()는, 인수 dev로 부여된 방송 수신 장치로부터 EPG 정보를 취득하여, ContentInfo 오브젝트의 배열을 되돌려 보내는 것이고, 성공시에는 이 배열이, 실패시에는 null이 되돌아온다. 방송 수신 장치로부터의 EPG 정보의 취득도, UPnP AV로 정의된 방법에 의해 행할 수 있기 때문에, 상세한 설명은 생략한다.
데이터 수신부(6403)는, OS(6501)의 라이브러리(6501)의 NET(6501b3)을 통해 네트워크부(6408)를 제어하고, 네트워크(3907)에 접속된 방송 수신 장치 혹은 영상 축적 장치로부터, 네트워크(3907)를 통해 멀티미디어 데이터를 수신하는 것이다.
데이터 수신부(6603)는, 제어부(6601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 70은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성에 포함되는 데이터 수신부(6603)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 70 (1) 메소드 openRemoteProgram()은, 인수 dev로 부여된 장치의, 인수 port로 지정된 포트로부터, 멀티미디어 데이터를 수신하는 통신로를 확보하여, RemoteProgram 오브젝트로 되돌려 보내는 것으로, 성공시에는 이 오브젝트가, 실패시에는 null이 되돌아온다. 도 71에, 본 발명의 실시 형태 4에 따른 RemoteProgram 클래스 구성의 일례를 나타낸다. 도 71에서, s는 통신이 이용하는 소켓을 나타낸다. 메소드 getMediaInputStream()은, 이 멀티미디어 데이터를 독출 하는 InputStream 오브젝트를 되돌려 보내는 것이다.
도 70 (2) 메소드 openRemoteProgram()은, 인수 dev로 부여된 장치에 축적된, 인수 id로 부여된 식별자를 갖는 멀티미디어 데이터를 수신하는 통신로를 확보하여, RemoteProgram 오브젝트로 되돌려 보내는 것으로, 성공시에는 이 오브젝트가, 실패시에는 null이 되돌아온다. 본 메소드는, 우선, 이 장치와 통신하는 Socket 오브젝트를 생성하여 접속한다. 이어서, 부여된 식별자를 포함한 송신 요구 메시지를 작성하여, 제어 정보 통신부(6602)의 메소드 sendRequestMessage()를 호출함으로써, 이 기기에 송신한다. 이어서, 제어 정보 통신부(6602)의 getResponseMessage()를 호출함으로써, 회답 메시지를 수취한다. 회답 메시지가 OK이면, 그것을 해석한다. 그리고, 특정한 포트 번호가 지정되어 있으면, 새로운 Socket 오브젝트를 작성하여, 그 Socket 오브젝트를 이용해 RemoteProgram 오브젝트를 생성하여 되돌려 보낸다. 특정한 포트가 지정되어 있지 않으면, 통신에 이용한 Socket 오브젝트로부터 RemoteProgram 오브젝트를 생성하여 되돌려 보낸다. 회답 메시지가 NG이면, null을 되돌려 보낸다.
데이터 송신부(6604)는, OS(6501)의 라이브러리(6501)의 NET(6501b3)을 통해 네트워크부(6408)를 제어하고, 지정된 네트워크(3907)에 접속되어 있는 외부 기기에, 지정된 멀티미디어 데이터를 출력하는 것이다.
데이터 송신부(6604)는, 제어부(6601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 72는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성에 포함되는 데이터 송신부(2803)가 제공하는 Java API의 일례를 나타낸 도면이다. 도 72 (1) 메소드 sendMultimediaData()는, 인수 dev로 부여된 장치의, 인수 port로 부여된 포트에, 도 72 (2) 메소드 sendMultimediaData()는, 인수 s로 부여된 Socket 오브젝트를 이용하여, 인수 is로 부여된 InputStream 오브젝트로부터 데이터를 읽어들여, 그 EOF까지 데이터를 송신하는 것으로, 성공하면 true를 되돌려 보내고, 실패하면 false를 되돌려 보내는 것이다.
속성 관리부(6605)는, 영상 축적 장치의 속성을 관리하는 것이다. 영상 축적 장치의 속성은, 제2 메모리(6403)에 저장되어 있고, 속성 관리부(6605)는, Java 라이브러리(6206) 중의 IO(6404f)를 이용하여 이것을 읽고 쓴다.
속성 관리부(6605)는, 제어부(6601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 73은, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성에 포함되는 속성 관리부(6605)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 73 (1) 메소드 updateAttribute()는, 인수 id로 지정된 콘텐츠가, 인수 type으로 지정된 처리가 행해진 경우의 속성 정보의 갱신을 행하는 것이고, 성공하면 true를, 실패하면 false를 되돌려 보낸다. type의 값이 0인 경우는 축적을 나타내고, 1인 경우는 재생 혹은 네트워크에 대한 송출을 나타낸다. 본 메소드는, 제2 메모리(6403)로부터 속성 정보와 축적되어 있는 콘텐츠의 정보를 독출하여, 이 콘텐츠의 장르를 조사하고, 또, 제2 메모리(6403)의 멀티미디어 데이터용 영역의 빈 용량을 조사함으로써, 속성 정보를 갱신한다. 그리고, 갱신한 속성 정보를 제2 메모리(2603)에 기록한다.
도 73 (2) 메소드 getAttribute()는, 제2 메모리(6403)로부터 속성 정보를 독출하여, 필요한 데이터를 DevAttrib 오브젝트에 격납하여, 이 DevAttrib 오브젝트를 되돌려 보내는 것이고, 실패시에는 null을 되돌려 보낸다.
권리 처리부(6606)는, 방송 수신 장치(3902)에, 인수 id로 부여된 식별자의 콘텐츠의 이용에 관한 권리 처리를 행하는 것이다.
권리 처리부(6606)는, 제어부(6601) 및 다운로드한 Java 어플리케이션에 Java API를 제공한다.
도 74는, 본 발명의 실시 형태 4에 따른 네트워크 라이브러리(6504d)의 내부 구성에 포함되는 권리 처리부(6606)가 제공하는 Java API의 일례를 나타낸 도면이다.
도 74 (1) 메소드 requestContentUse()는, 인수 id로 부여된 식별자의 콘텐츠를, 인수 dev로 부여된 장치에 대해, 사용의 허가를 요구하는 것으로, 허가가 얻어지면 true를, 허가되지 않거나, 혹은 처리에 실패한 경우는 false를 각각 되돌려 보낸다. 본 메소드는, 요구 메시지를 작성하여, 제어 정보 통신부(6402)의 메소드 sendRequestMessage()를 호출하여 송신한다. 또, 제어 정보 통신부(2802)의 메소드 getResposeMessage()를 호출하여 회답 메시지를 수신한다. 그리고, 회답 메시지가 OK를 나타내고 있으면 true를 되돌려 보내고, NG를 나타내고 있으면 false를 되돌려 보낸다.
여기에서, 제어부(6401)의, 메소드 acceptRequestToStore(), 메소드 acceptRequestToTransfer(), 메소드 getMultimediaData()에 대해 설명한다.
메소드 acceptRequestToStore()는, 호출되면, 별도의 스레드 혹은 프로세스를 생성한 후에 동작한다. 우선, 방송 수신 장치(3902)로부터의 접속을 받아들이는 Socket 오브젝트를 생성하고, 접속 요구를 기다린다. 방송 수신 장치(3902)로부터 접속 요구가 오면, 제어 정보 통신부(6602)의 메소드 getRequestMessage()를 호출하여, 요구 메시지를 수신한다. 수신한 요구 메시지가 속성의 문의이면, 속성 관리부(6605)의 메소드 getAttribute()를 호출하여 속성 정보를 독출하고, 제어 정보 통신부(6602)의 메소드 sendResponseMessage()를 호출함으로써, 속성 정보를 회신하고, 접속 요구의 대기로 되돌아온다. 수신한 요구 메시지가 멀티미디어 데이터의 축적 요구이면, 우선, 요구 메시지로부터 멀티미디어 데이터의 식별자와 프로그램 정보를 취출한다. 이어서, 데이터 수신부(6603)의 메소드 openRemoteProgram()을 호출함으로써, 수신하는 InputStream을 만든다. 이어서, 이 식별자, 프로그램 정보와 이 InputStream으로부터 수신하는 멀티미디어 데이터를, Java 라이브러리(2704) 중의 IO(6504f)를 통해, 제2 메모리(6403)에 기록함으로써, 이 멀티미디어 데이터를 축적한다. 또한, 속성 관리부(6605)의 메소드 updateAttribute()를 호출함으로써, 속성 정보를 갱신한다. 이상의 처리를 종료하면, 접속 요구의 대기로 되돌아온다. 또한, 접속 요구를 받아들이면, 또한, 별도의 스레드 혹은 프로세스를 생성하여, 이후의 처리는 이 별도의 스레드 혹은 프로세스로 동작하고, 원래의 스레드 혹은 프로세스는 접속 요구의 대기로 되돌아오는 구성이어도 된다. 이 경우, 이 별도의 스레드 혹은 프로세스상의 처리는, 접속 요구 대기로 되돌아오지 않고, 종료한다. 또한, 메소드 acceptRequestToStore()는, 인수에 NetDevice 오브젝트를 취하고, 이 인수에 의해 방송 수신 장치(3902)가 부여되는 구성이어도 된다. 이 경우, 상기의 처리에 더하여, 기다리고 있는 Socket 오브젝트에 접속해 온 장치가, 인수로 부여된 장치가 아니면, 접속 요구를 받아들이지 않는 것을 행한다.
메소드 acceptRequestToTransfer()는, 호출되면, 별도의 스레드 혹은 프로세스를 생성한 후에 동작한다. 우선, 네트워크(3907)에 접속된 장치로부터의 접속을 받아들이는 Socket 오브젝트를 생성하고, 접속 요구를 기다린다. 접속 요구가 오면, 제어 정보 통신부(6602)의 메소드 getRequestMessage()를 호출하여, 요구 메시지를 수신한다. 수신한 요구 메시지가, 방송 수신 장치(3902)로부터의, 어떤 멀티미디어 데이터를 축적하고 있는지의 여부의 문의이면, 우선 요구 메시지로부터 멀티미디어 데이터의 식별자를 취출한다. 다음에, Java 라이브러리(6504) 중의 IO(6504f)를 통해, 축적하고 있는 콘텐츠의 일람을 독출하여, 취출한 식별자와 대조함으로써, 이 멀티미디어 데이터를 축적하고 있는지의 여부를 판정한다. 이어서, 제어 정보 통신부(6602)의 메소드 sendResponseMessage()를 호출함으로써 판정 결과를 회신하고, 접속 요구의 대기로 되돌아온다. 수신한 요구 메시지가, 방송 수신 장치(3902)로부터의, 어떤 멀티미디어 데이터의 송신 요구이면, 우선, 요구 메시지로부터 송신처의 단말과 송신하는 멀티미디어 데이터의 식별자를 취출한다. 이어서, IO(6504f)를 통해 이 멀티미디어 데이터를 독출하는 InputStream을 취득한 다. 그리고, 데이터 송신부(6604)의 메소드 sendMultimediaData()를 호출함으로써, 이 단말에 이 멀티미디어 데이터를 송신한다. 데이터 송신이 끝나면, 속성 관리부(6605)의 메소드 updateAttribute()를 호출하여, 속성 정보의 갱신을 행하고, 접속 요구의 대기로 되돌아온다. 수신한 요구 메시지가, 단말 등으로부터의 멀티미디어 데이터 송신 요구이면, 우선, 요구 메시지로부터 송신하는 멀티미디어 데이터의 식별자를 취출한다. 이어서, IO(6504f)를 통해 이 멀티미디어 데이터를 독출하는 InputStream을 취득한다. 그리고, 데이터 송신부(6604)의 메소드 sendMultimediaData()를 호출함으로써, 이 단말에 이 멀티미디어 데이터를 송신한다. 데이터 송신이 끝나면, 속성 관리부(6605)의 메소드 updateAttribute()를 호출하여, 속성 정보의 갱신을 행하고, 접속 요구의 대기로 되돌아온다. 또한, 접속 요구를 받아들이면, 또한, 별도의 스레드 혹은 프로세스를 생성하여, 이후의 처리는 이 별도의 스레드 혹은 프로세스로 동작하고, 원래의 스레드 혹은 프로세스는 접속 요구의 대기로 되돌아오는 구성이어도 된다. 이 경우, 이 별도의 스레드 혹은 프로세스상의 처리는, 접속 요구 대기로 되돌아오지 않고, 종료한다.
메소드 getMultimediaData()는, 호출되면, 우선, 인수 dev로 부여된 장치에 접속하는 Socket 오브젝트를 생성하고, 이 장치에 접속한다. 이어서, 인수 id로 부여된 멀티미디어 데이터의 송신 요구 메시지를, id의 값을 포함시켜 작성하고, 제어 정보 통신부(6602)의 메소드 sendRequestMessage()를 호출함으로써, 이 장치에 송신한다. 이어서, 데이터 수신부(6603)의 메소드 openRemoteProgram()을 호출함으로써, 이 멀티미디어 데이터를 수신하는 InputStream 오브젝트를 생성한다. 이어서, 이 InputStream으로부터 데이터를 독출하여, 인수 os로 부여된 OutputStream에 쓰기 시작한다. 수신 데이터를 모두 기록하면 처리를 종료한다. 본 메소드에 의해, 메소드 getContentList() 혹은 getEPGData()에 의해 취득한 콘텐츠 일람 중의 콘텐츠에 대해, 그 멀티미디어 데이터를 수신하여, 재생이나 축적을 행할 수 있다.
단말(3905) 및 단말(3906)은, 상기한 영상 축적 장치(3903) 및 영상 축적 장치(3904) 중, 멀티미디어 데이터의 재생에 관한 구성 요소만으로 구성된 것이기 때문에, 상세 설명은 생략한다.
(실시 형태 4의 변형예)
본 발명의 실시 형태 4에 대해 설명해 왔지만, 본 발명은, 상기 실시 형태에 한정되는 것은 아니다. 이하와 같은 경우도, 본 발명에 포함된다.
(1) 방송 수신 장치(3902)는, 또한, 제2 메모리(4303)에 멀티미디어 데이터를 축적하고, Java 라이브러리(4505) 중의 네트워크 라이브러리(4505e)의 선택부(5404)는, 방송 수신 장치(3902)와, 네트워크(3907)에 접속된 영상 축적 장치 중 하나를 선택하는 구성이어도 된다. 또, 방송 수신 장치(3902)는, 또한, 단말로부터 니어 VoD 프로그램 시청의 요구를 받았을 때에, 네트워크(3907)에 접속된 영상 축적 장치와, 방송 수신 장치(3902)의 축적부에, 이 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 검색하여, 방송 수신 장치(3902)의 축적부에 축적되어 있는 경우는, 이 멀티미디어 데이터를 이 시청 요구를 발행한 단말에 송신하는 구성이어도 된다.
(2) 또, 방송 수신 장치(3902)는, 멀티미디어 데이터에 소정의 암호화를 행하여, 영상 축적 장치(3903) 및 영상 축적 장치(3904)에, 암호화된 멀티미디어 데이터를 송신하는 구성이어도 된다. 또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 수신한 암호화된 멀티미디어 데이터를 복호하여, 축적부(4102)에 축적하는 구성이어도 되고, 또한, 소정의 암호화를 실시하여 축적하는 구성이어도 된다.
또, 방송 수신 장치(3902), 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 단말(3905) 및 단말(3906)에 멀티미디어 데이터를 송신할 때에, 이 멀티미디어 데이터에 소정의 암호화를 실시하여, 암호화된 멀티미디어 데이터를 송신하고, 단말(3905) 및 단말(3906)에 있어서, 수신한 암호화된 멀티미디어 데이터를 복호하여 재생하는 구성이어도 된다.
(3) 또, 상기 실시 형태에 있어서는, 방송 수신 장치(3902)의 Java 라이브러리(4505) 중의 네트워크 라이브러리(4505e)의 선택부(5404)의 선택 알고리즘의 예를 기술하였지만, 이들 알고리즘에 한정되지 않는 것은 말할 필요도 없다. 예를 들면, 방송 수신 장치(3902)는, 영상 수신 장치를 순서대로 선택하는 구성이어도 된다. 또, 영상 축적 장치의 이용 빈도에 따라 선택해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 축적된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다. 또한, 영상 축적 장치에 유저의 조작에 의해 재생 혹은 출력된 멀티미디어 데이터의 장르, 프로그램명, 출연자 등 개 별의 축적 빈도와, 멀티미디어 데이터의 장르, 프로그램명, 출연자 등을 대조하여, 영상 축적 장치의 선택을 행해도 된다. 또한, 예를 들면, 단말(3905)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(3903)를, 단말(3906)에서 이용되는 빈도가 높은 멀티미디어 데이터라면 영상 축적 장치(3904)를 각각 선택하는 것과 같은, 단말과의 조합에 의한 선택이어도 된다.
(4) 또, 상기 실시 형태에 있어서는, 방송 수신 장치(3902)가, 영상 축적 장치(3903) 및 영상 축적 장치(3904)와 통신함으로써, 니어 VoD 프로그램 시청 요구가 있었던 콘텐츠의 멀티미디어 데이터가 축적되어 있는지의 여부를 판정하는 것으로 하였지만, 방송 수신 장치(3902)가, 영상 축적 장치(3903) 및 영상 축적 장치(3904)에 축적시킨 멀티미디어 데이터를 기억해 두고, 그 내용으로부터 판정하는 구성이어도 된다.
(5) 또, 상기 실시 형태에 있어서는, 단말로부터 시청 요구가 있었던 니어 VoD 프로그램의 멀티미디어 데이터가, 영상 축적 장치(3903) 혹은 영상 축적 장치(3904) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(3902)는, 축적하고 있는 영상 축적 장치에, 이 시청 요구를 발행한 단말에 대한 이 멀티미디어 데이터의 송신 요구를 발행하고, 이 단말에는, 이 영상 축적 장치로부터 이 멀티미디어 데이터가 송신되어 오는 것을 통지하는 것으로 하였지만, 방송 수신 장치(3902)는, 이 영상 축적 장치와 과금 등의 권리 처리를 행하여, 이 단말에 이 영상 축적 장치를 통지하고, 이 단말로부터 이 영상 축적 장치에 대해, 이 멀티미디어 데이터의 송신 요구를 발행하는 구성이어도 된다.
(6) 또, 상기 실시 형태에 있어서는, 단말로부터 시청 요구가 있었던 니어 VoD 프로그램용의 멀티미디어 데이터가, 영상 축적 장치(3903) 혹은 영상 축적 장치(3904) 중 어느 하나에 축적되어 있었던 경우, 방송 수신 장치(3902)와 이 영상 축적 장치가 통신하여, 과금 등 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 것으로 하였지만, 방송 수신 장치(3902)와, 시청 요구를 발행한 단말이 통신하여, 상기 권리 처리를 행하는 구성이어도 된다. 혹은, 영상 축적 장치 및 단말과 통신하지 않고, 방송 수신 장치(3902)가 권리 처리를 행하는 구성이어도 된다.
또, 상기 실시 형태에 있어서는, 멀티미디어 데이터의 이용에 따른, 과금 등의 권리 처리를, 멀티미디어 데이터의 송신 요구를 발행할 때에 행하는 것으로 하였지만, 멀티미디어 데이터의 이용 종료 후에 행하는 구성이어도 된다. 또, 이 멀티미디어 데이터의 이용 회수나, 이용 구간 등에 따라, 과금하는 금액을 바꾸는 구성이어도 된다.
(7) 또, 상기 실시 형태에 있어서는, 하나의 멀티미디어 데이터는, 하나의 영상 축적 장치에 축적하는 것으로 하였지만, 이 멀티미디어 데이터를 분할하여, 복수의 영상 축적 장치에, 분산하여 축적하는 구성이어도 된다. 혹은, 하나의 멀티미디어 데이터를 복수의 영상 축적 장치에 동시에 축적하는 구성이어도 된다. 이에 의해, 복수의 단말로부터 동일한 멀티미디어 데이터의 요구가 있었던 경우에, 영상 축적 장치가 이 단말에 영상을 송신하는 부하를 분산하는 것이 가능해진다.
(8) 또, 방송 수신 장치(3902)는, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 방송 수신 장치(3902)는, 송신하는 멀티미디어 데이터를 일단 복호하고, 상기 부호화부에 의해 새롭게 멀티미디어 데이터를 생성하여 송신하는 구성이어도 된다. 또, 영상 축적 장치(3903) 및 영상 축적 장치(3904)는, 멀티미디어 데이터를 복호하는 복호부와, 부호화된 멀티미디어 데이터를 만들어내는 부호화부를 더 구비하고, 수신한 멀티미디어 데이터를 상기 복호부에서 일단 복호하고, 상기 부호화부에서 새롭게 멀티미디어 데이터를 생성하여 축적하는 구성이어도 된다.
(9) 또, 상기 실시 형태에 있어서는, 니어 VoD라고 기재하였지만, 통상 방송의 프로그램에 대해서도, 미리 축적해 둠으로써, 재방송에 대해 동일한 효과가 얻어진다.
(10) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 1개의 시스템 LSI(Large Scale Integration : 대규모 집적 회로)로 구성되어 있는 것으로 해도 된다. 시스템 LSI는, 복수의 구성부를 1개의 칩 상에 집적하여 제조된 초다기능 LSI이고, 구체적으로는, 마이크로 프로세서, ROM, RAM 등을 포함하여 구성되는 컴퓨터 시스템이다. 상기 RAM에는, 컴퓨터 프로그램이 기억되어 있다. 상기 마이크로 프로세서가, 상기 컴퓨터 프로그램에 따라 동작함으로써, 시스템 LSI는, 그 기능을 달성한다.
(11) 상기의 각 장치를 구성하는 구성 요소의 일부 또는 전부는, 각 장치에 탈착 가능한 IC 카드 또는 단체의 모듈로 구성되어 있는 것으로 해도 된다. 상기 IC 카드 또는 상기 모듈은, 마이크로 프로세서, ROM, RAM 등으로 구성되는 컴퓨터 시스템이다. 상기 IC 카드 또는 상기 모듈은, 상기의 초다기능 LSI를 포함하는 것으로 해도 된다. 마이크로 프로세서가, 컴퓨터 프로그램에 따라 동작함으로써, 상기 IC 카드 또는 상기 모듈은, 그 기능을 달성한다. 이 IC 카드 또는 이 모듈은, 내탬퍼성을 갖는 것으로 해도 된다.
(12) 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기에 나타낸 방법인 것으로 해도 된다. 또, 이들 방법을 컴퓨터에 의해 실현하는 컴퓨터 프로그램인 것으로 해도 되고, 상기 컴퓨터 프로그램으로 이루어지는 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를 컴퓨터 판독 가능한 기록 매체, 예를 들면, 플렉시블 디스크, 하드 디스크, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD(Blu-ray Disc), 반도체 메모리 등에 기록한 것으로 해도 된다. 또, 이들 기록 매체에 기록되어 있는 상기 컴퓨터 프로그램 또는 상기 디지털 신호인 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 상기 컴퓨터 프로그램 또는 상기 디지털 신호를, 전기 통신 회선, 무선 또는 유선 통신 회선, 인터넷을 대표로 하는 네트워크, 데이터 방송 등을 경유하여 전송하는 것으로 해도 된다.
또, 본 발명의 방송 수신 장치, 영상 축적 장치는, 마이크로 프로세서와 메모리를 구비한 컴퓨터 시스템으로서, 상기 메모리는, 상기 컴퓨터 프로그램을 기억하고 있고, 상기 마이크로 프로세서는, 상기 컴퓨터 프로그램에 따라 동작하는 것으로 해도 된다.
또, 상기 프로그램 또는 상기 디지털 신호를 상기 기록 매체에 기록하여 이송함으로써, 또는 상기 프로그램 또는 상기 디지털 신호를 상기 네트워크 등을 경유하여 이송함으로써, 독립한 다른 컴퓨터 시스템에 의해 실시하는 것으로 해도 된다.
(13) 상기 실시 형태 및 상기 변형예를 각각 조합하는 것으로 해도 된다.
본 발명에 따른 멀티미디어 배포 시스템, 방송 수신 장치, 영상 축적 장치, 수신 단말은, 홈 네트워크를 이용한 복수의 단말로부터 동시에 다른 프로그램의 시청 요구가 가능한 환경에 있어서, 미리 VoD, 니어 VoD 등으로 제공되는 프로그램의 멀티미디어 데이터를, 방송 수신 장치나 수신 단말, 영상 축적 장치에, 적절하게 분산하여 축적해 둠으로써, 프로그램 시청시의 튜너수 부족의 과제를 해결하고, 또, 방송 수신 장치, 수신 단말, 및 영상 축적 장치에 있어서의 축적을 위해 필요한 용량을 각각 적게 억제함으로써 비용을 저감하고, 또한, 단말에 영상을 배포할 때의 방송 수신 장치, 영상 축적 장치의 부하를 분산시키는 것이 가능하다는 우수한 효과를 갖기 때문에, 케이블 TV 등, 니어 VoD 혹은 그것에 가까운 방송을 수신하는 방송 수신 장치, 수신 단말, 멀티미디어 데이터 축적 장치, 및 이들 장치에 있어서 실행되는 방법 등으로서 유용하다.
또, 본 발명에 따른 멀티미디어 배포 시스템, 방송 수신 장치, 영상 축적 장치는, VoD 서비스 등, 유저의 요구에 따른 멀티미디어 콘텐츠의 데이터 배포를, 홈 네트워크를 이용한 복수의 단말로부터 동시에 요구 가능한 환경에 있어서, 미리 멀 티미디어 데이터를, 방송 수신 장치나 영상 축적 장치에, 적절하게 분산하여 축적해 둠으로써, 방송 수신 장치와 방송국간의 멀티미디어 데이터 전송의 대역 소비를 분산시키는 것으로, 한 번에 필요한 대역 소비를 저감하고, 또, 방송 수신 장치 및 영상 축적 장치에 있어서의 축적을 위해 필요한 용량을 각각 적게 억제함으로써 비용을 저감하고, 또한, VoD 서비스 이용시의 방송국, 방송 수신 장치, 영상 축적 장치의 부하를 분산시키는 것이 가능하다는 우수한 효과를 갖기 때문에, 케이블 TV 등, 온디맨드 서비스를 제공하는 서비스의 수신 장치, 및 멀티미디어 데이터 축적 장치 및 방법 등으로서 유용하다.

Claims (26)

  1. 방송국에 설치된 장치로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는, 네트워크에 접속된 방송 수신 장치로서,
    상기 방송국에 설치된 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 수단과,
    멀티미디어 데이터를 축적하는 복수의 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단과,
    상기 복수의 영상 축적 장치 중, 하나를 선택하는 선택 수단과,
    상기 데이터 수신 수단이 수신한 멀티미디어 데이터를, 상기 네트워크를 통해 출력하는 데이터 출력 수단을 구비하고,
    상기 정보 통신 수단은, 상기 선택 수단이 선택한 영상 축적 장치에 멀티미디어 데이터의 축적 요구를 송신하고,
    상기 데이터 출력 수단은, 상기 데이터 수신 수단이 수신한 멀티미디어 데이터를, 상기 선택 수단이 선택한 영상 축적 장치에 출력하는 것을 특징으로 하는 방송 수신 장치.
  2. 청구항 1에 있어서,
    상기 선택 수단은, 상기 멀티미디어 데이터의 속성을 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  3. 청구항 2에 있어서,
    상기 선택 수단은, 상기 멀티미디어 데이터의 내용 장르를 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  4. 청구항 1에 있어서,
    상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고,
    상기 선택 수단은, 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  5. 청구항 4에 있어서,
    상기 정보 통신 수단은, 상기 네트워크에 접속된 영상 축적 장치가 이용되는 빈도를 나타내는 이용 빈도 정보를 수신하고,
    상기 선택 수단은, 상기 정보 통신 수단이 수신한 상기 이용 빈도 정보를 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  6. 청구항 1에 있어서,
    상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고,
    상기 선택 수단은, 상기 멀티미디어 데이터의 속성 및 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치의 선택을 행하는 것을 특징으로 하는 방송 수신 장치.
  7. 청구항 6에 있어서,
    상기 정보 통신 수단은, 상기 네트워크에 접속된 영상 축적 장치가 이용되는 빈도를, 이용된 멀티미디어 데이터의 내용 장르마다의 빈도를 나타내는 이용 빈도 정보를 수신하고,
    상기 선택 수단은, 상기 멀티미디어 데이터의 내용 장르 및 상기 이용 빈도 정보를 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  8. 청구항 1에 있어서,
    멀티미디어 데이터를 축적하는 축적 수단과,
    상기 축적 수단에 데이터를 기록하는 기록 수단을 더 구비하고,
    상기 선택 수단은, 상기 축적 수단과 상기 네트워크에 접속된 복수의 영상 축적 장치 중, 하나를 선택하고,
    상기 기록 수단은, 상기 선택 수단이 상기 축적 수단을 선택한 경우에, 상기 멀티미디어 데이터를 상기 축적 수단에 기록하는 것을 특징으로 하는 방송 수신 장치.
  9. 청구항 1에 있어서,
    상기 방송국에 설치된 장치에 데이터 송신 요구를 송신하는 요구 송신 수단을 더 구비하고,
    상기 데이터 수신 수단은, 상기 요구 송신 수단이 요구한 멀티미디어 데이터를 수신하는 것을 특징으로 하는 방송 수신 장치.
  10. 청구항 1에 있어서,
    방송되는 프로그램으로부터 특정한 것을 선택하는 프로그램 선택 수단을 더 구비하고,
    상기 데이터 수신 수단은, 상기 프로그램 선택 수단이 선택한 프로그램의 멀티미디어 데이터를 수신하는 것을 특징으로 하는 방송 수신 장치.
  11. 청구항 1에 있어서,
    Java(등록 상표) 어플리케이션을 실행하는 Java 실행 수단을 더 구비하고,
    상기 데이터 수신 수단은, 상기 Java 실행 수단에 의해 실행되는 Java 어플리케이션으로부터 상기 멀티미디어 데이터의 식별자를 받아들이고, 받아들인 이 식별자가 나타내는 멀티미디어 데이터를 수신하고,
    상기 선택 수단은, 상기 Java 실행 수단에 의해 실행되는 Java 어플리케이션으로부터 상기 멀티미디어 데이터의 식별자를 받아들이면, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  12. 청구항 11에 있어서,
    상기 선택 수단은, 상기 멀티미디어 데이터의 속성을 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  13. 청구항 11에 있어서,
    상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고,
    상기 선택 수단은, 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  14. 청구항 11에 있어서,
    상기 정보 통신 수단은, 또한, 상기 네트워크에 접속된 영상 축적 장치의 속성을 수신하고,
    상기 선택 수단은, 상기 멀티미디어 데이터의 속성 및 상기 정보 통신 수단이 수신한 영상 축적 장치의 속성을 기초로, 영상 축적 장치를 선택하는 것을 특징으로 하는 방송 수신 장치.
  15. 청구항 11에 있어서,
    멀티미디어 데이터를 축적하는 축적 수단과,
    상기 축적 수단에 데이터를 기록하는 기록 수단을 더 구비하고,
    상기 선택 수단은, 상기 축적 수단과 상기 네트워크에 접속된 복수의 영상 축적 장치 중, 하나를 선택하고,
    상기 기록 수단은, 상기 선택 수단이 상기 축적 수단을 선택한 경우에, 상기 멀티미디어 데이터를 상기 축적 수단에 기록하는 것을 특징으로 하는 방송 수신 장치.
  16. 청구항 11에 있어서,
    상기 Java 실행 수단에 의해 실행되는 Java 어플리케이션으로부터 멀티미디어 데이터의 식별자를 받아들이고, 이 식별자가 나타내는 멀티미디어 데이터의 송신 요구를 상기 방송국에 송신하는 요구 송신 수단을 더 구비하고,
    상기 데이터 수신 수단은, 상기 요구 송신 수단이 요구한 멀티미디어 데이터를 수신하는 것을 특징으로 하는 방송 수신 장치.
  17. 청구항 11에 있어서,
    방송되는 프로그램으로부터 특정한 것을 선택하는 프로그램 선택 수단을 더 구비하고,
    상기 프로그램 선택 수단은, 상기 Java 실행 수단에 의해 실행되는 Java 어플리케이션의 요구에 따라, 선택한 프로그램에 대응하는 멀티미디어 데이터의 식별자를 상기 Java 실행 수단에 의해 실행되는 Java 어플리케이션에 건네주는 것을 특 징으로 하는 방송 수신 장치.
  18. 방송국에 설치된 장치로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는, 네트워크에 접속된 방송 수신 장치에 있어서 실행되는 방송 수신 방법으로서,
    상기 방송국에 설치된 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 단계와,
    멀티미디어 데이터를 축적하는 복수의 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 단계와,
    상기 복수의 영상 축적 장치 중, 하나를 선택하는 선택 단계와,
    상기 데이터 수신 단계에서 수신한 멀티미디어 데이터를, 상기 네트워크를 통해 출력하는 데이터 출력 단계를 구비하고,
    상기 정보 통신 단계는, 상기 선택 단계가 선택한 영상 축적 장치에 멀티미디어 데이터의 축적 요구를 송신하고,
    상기 데이터 출력 단계는, 상기 데이터 수신 단계가 수신한 멀티미디어 데이터를, 상기 선택 단계가 선택한 영상 축적 장치에 출력하는 것을 특징으로 하는 방송 수신 방법.
  19. 방송국으로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는 방송 수신 장치와 네트워크를 통해 접속되어, 멀티미디어 데이터를 축 적하는 영상 축적 장치로서,
    Java 어플리케이션을 실행하는 Java 실행 수단과,
    멀티미디어 데이터를 축적하는 축적 수단과,
    상기 네트워크를 통해 접속된 방송 수신 장치와 통신하는 정보 통신 수단과,
    상기 네트워크를 통해 상기 방송 수신 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 수단과,
    상기 네트워크를 통해 상기 축적 수단에 축적한 멀티미디어 데이터를 송신하는 데이터 송신 수단을 구비하고,
    상기 정보 통신 수단은, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어진 경우에, 상기 방송 수신 장치로부터 속성의 문의를 수신하면, 상기 영상 축적 장치 자신의 속성을 나타내는 속성 정보를 상기 방송 수신 장치에 송신하고,
    상기 데이터 수신 수단은, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어지고, 상기 정보 통신 수단이 이 방송 수신 장치로부터 축적 요구를 수신한 경우에, 이 방송 수신 장치로부터 멀티미디어 데이터를 수신하고, 수신한 이 멀티미디어 데이터를 상기 축적 수단에 축적하고,
    상기 데이터 송신 수단은, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어지고, 이 상기 방송 수신 장치로부터 상기 축적 수단에 축적되어 있는 멀티미디어 데이터의 송신 요구와 송신처가 되는 네트워크에 접속된 장치의 정보를 수신한 경우에, 이 멀티미디어 데이터를, 이 정보에 표시되는 상기 송신처 장치에 송신하는 것을 특징으로 하는 영상 축적 장치.
  20. 청구항 19에 있어서,
    멀티미디어 데이터의 송신 요구를 수신한 경우에, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 권리 처리 수단을 더 구비하는 것을 특징으로 하는 영상 축적 장치.
  21. 방송국으로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는 방송 수신 장치와 네트워크를 통해 접속되어,
    Java 어플리케이션을 실행하는 Java 실행 수단과,
    멀티미디어 데이터를 축적하는 축적 수단을 구비하는 영상 축적 장치에 있어서 실행되는 데이터 처리 방법으로서,
    상기 네트워크를 통해 접속된 방송 수신 장치와 통신하는 정보 통신 단계와,
    상기 네트워크를 통해 상기 방송 수신 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 단계와,
    상기 네트워크를 통해 상기 축적 수단에 축적한 멀티미디어 데이터를 송신하는 데이터 송신 단계를 포함하고,
    상기 정보 통신 단계에 있어서, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어진 경우에, 상기 방송 수신 장 치로부터 속성의 문의를 수신하면, 상기 영상 축적 장치 자신의 속성을 나타내는 속성 정보를 상기 방송 수신 장치에 송신하고,
    상기 데이터 수신 단계에 있어서, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어지고, 상기 정보 통신 수단이 상기 방송 수신 장치로부터 축적 요구를 수신한 경우에, 이 방송 수신 장치로부터 멀티미디어 데이터를 수신하고, 수신한 이 멀티미디어 데이터를 상기 축적 수단에 축적하고,
    상기 데이터 송신 단계에 있어서, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어지고, 이 방송 수신 장치로부터 상기 축적 수단에 축적되어 있는 멀티미디어 데이터의 송신 요구와 송신처가 되는 네트워크에 접속된 장치의 정보를 수신한 경우에, 이 멀티미디어 데이터를, 이 정보에 표시되는 상기 송신처 장치에 송신하는 것을 특징으로 하는 데이터 처리 방법.
  22. 청구항 1에 있어서,
    VoD(Video On Demand) 서비스를 제공하는 방송국에 설치된 장치로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는, 네트워크에 접속된 방송 수신 장치로서,
    상기 방송국에 설치된 장치에, 멀티미디어 데이터 송신 요구를 송신하는 요구 송신 수단과,
    멀티미디어 데이터를 축적하고 있는 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단을 구비하고,
    상기 정보 통신 수단은, 유저가 조작하는 단말 장치로부터 VoD의 요구를 받은 경우에, 상기 영상 축적 장치와 상기 네트워크를 통해 통신함으로써, 상기 VoD의 요구에 관련된 멀티미디어 데이터가 축적되어 있는지의 여부를 나타내는 정보를 취득하고, 축적되어 있는 것을 나타내는 정보를 취득한 경우에, 이 정보를 송신한 영상 축적 장치에, 상기 VoD의 요구에 관련된 멀티미디어 데이터를 상기 유저가 조작하는 단말 장치에 송신하기 위한 송신 요구를 송신하고,
    상기 요구 송신 수단은, 축적되어 있지 않은 것을 나타내는 정보를 취득한 경우에, 상기 방송국에 설치된 장치에, 상기 VoD의 요구에 관련된 멀티미디어 데이터의 송신 요구를 송신하고, 상기 송신 요구에 따라 송신된 상기 VoD의 요구에 관련된 멀티미디어 데이터를 수신하고, 상기 유저가 조작하는 단말 장치에 상기 수신한 VoD의 요구에 관련된 멀티미디어 데이터를 송신하는 것을 특징으로 하는 방송 수신 장치.
  23. 청구항 22에 있어서,
    상기 영상 축적 장치에 축적되어 있는 멀티미디어 데이터의 송신 요구를 송신하는 경우에, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 권리 처리 수단을 더 구비하는 것을 특징으로 하는 방송 수신 장치.
  24. 청구항 22에 있어서,
    또한, Java 어플리케이션을 실행하는 Java 실행 수단과,
    상기 방송국에 설치된 장치에, 멀티미디어 데이터 송신 요구를 송신하는 요구 송신 수단과,
    멀티미디어 데이터를 축적하고 있는 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단과,
    상기 정보 통신 수단은, 상기 Java 실행 수단에 의해 실행되는 Java 어플리케이션으로부터 멀티미디어 데이터의 식별자를 받아들인 경우에, 상기 영상 축적 장치와 상기 네트워크를 통해 통신함으로써, 상기 VoD의 요구에 관련된 멀티미디어 데이터가 축적되어 있는지의 여부를 나타내는 정보를 취득하는 것을 특징으로 하는 방송 수신 장치.
  25. 청구항 24에 있어서,
    상기 영상 축적 장치에 축적되어 있는 멀티미디어 데이터의 송신 요구를 송신하는 경우에, 이 멀티미디어 데이터의 이용에 따른 권리 처리를 행하는 권리 처리 수단을 더 구비하는 것을 특징으로 하는 방송 수신 장치.
  26. 방송국에 설치된 장치로부터 영상 및 음성의 적어도 한쪽을 포함하는 멀티미디어 데이터를 수신하는 방송 수신 장치와, 멀티미디어 데이터를 축적하는 영상 축적 장치가 네트워크에 의해 접속된 멀티미디어 배포 시스템으로서,
    상기 방송 수신 장치는,
    상기 방송국에 설치된 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 수단과,
    멀티미디어 데이터를 축적하는 복수의 영상 축적 장치와, 상기 네트워크를 통해 통신하는 정보 통신 수단과,
    상기 복수의 영상 축적 장치 중, 하나를 선택하는 선택 수단과,
    상기 데이터 수신 수단이 수신한 멀티미디어 데이터를, 상기 네트워크를 통해 출력하는 데이터 출력 수단을 구비하고,
    상기 정보 통신 수단은, 상기 선택 수단이 선택한 영상 축적 장치에 멀티미디어 데이터의 축적 요구를 송신하고,
    상기 데이터 출력 수단은, 상기 데이터 수신 수단이 수신한 멀티미디어 데이터를, 상기 선택 수단이 선택한 영상 축적 장치에 출력하고,
    상기 영상 축적 장치는,
    Java 어플리케이션을 실행하는 Java 실행 수단과,
    멀티미디어 데이터를 축적하는 축적 수단과,
    상기 네트워크를 통해 접속된 방송 수신 장치와 통신하는 정보 통신 수단과,
    상기 네트워크를 통해 상기 방송 수신 장치로부터 멀티미디어 데이터를 수신하는 데이터 수신 수단과,
    상기 네트워크를 통해 상기 축적 수단에 축적한 멀티미디어 데이터를 송신하는 데이터 송신 수단을 구비하고,
    상기 정보 통신 수단은, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어진 경우에, 상기 방송 수신 장치로부터 속성의 문의를 수신하면, 상기 영상 축적 장치 자신의 속성을 나타내는 속성 정보를 상기 방송 수신 장치에 송신하고,
    상기 데이터 수신 수단은, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어지고, 상기 정보 통신 수단이 상기 방송 수신 장치로부터 축적 요구를 수신한 경우에, 이 방송 수신 장치로부터 멀티미디어 데이터를 수신하고, 수신한 이 멀티미디어 데이터를 상기 축적 수단에 축적하고,
    상기 데이터 송신 수단은, 상기 Java 어플리케이션으로부터 상기 방송 수신 장치와 통신하기 위한 어드레스 정보가 건네어지고, 이 상기 방송 수신 장치로부터 상기 축적 수단에 축적되어 있는 멀티미디어 데이터의 송신 요구와 송신처가 되는 네트워크에 접속된 장치의 정보를 수신한 경우에, 이 멀티미디어 데이터를, 이 정보에 표시되는 상기 송신처 장치에 송신하는 것을 특징으로 하는 멀티미디어 배포 시스템.
KR1020087014114A 2005-12-22 2006-11-30 방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템 KR20080078829A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00370923 2005-12-22
JP2005370924 2005-12-22
JP2005370923 2005-12-22
JPJP-P-2005-00370924 2005-12-22

Publications (1)

Publication Number Publication Date
KR20080078829A true KR20080078829A (ko) 2008-08-28

Family

ID=38188451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014114A KR20080078829A (ko) 2005-12-22 2006-11-30 방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템

Country Status (4)

Country Link
US (1) US20090222867A1 (ko)
KR (1) KR20080078829A (ko)
CA (1) CA2634024A1 (ko)
WO (1) WO2007072670A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8302111B2 (en) 2003-11-24 2012-10-30 Time Warner Cable Inc. Methods and apparatus for hardware registration in a network device
US7266726B1 (en) 2003-11-24 2007-09-04 Time Warner Cable Inc. Methods and apparatus for event logging in an information network
US9213538B1 (en) 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
US8078669B2 (en) 2004-02-18 2011-12-13 Time Warner Cable Inc. Media extension apparatus and methods for use in an information network
US8370818B2 (en) 2006-12-02 2013-02-05 Time Warner Cable Inc. Methods and apparatus for analyzing software interface usage
KR101528855B1 (ko) * 2008-03-04 2015-06-15 삼성전자주식회사 홈 네트워크에서 인증 정보를 관리하는 방법 및 그 장치
US8954042B2 (en) 2008-05-19 2015-02-10 Qualcomm Incorporated System, method, and apparatus for increasing a likelihood of advertisement display
BRPI0803717A2 (pt) * 2008-09-03 2010-06-15 Tqtvd Software Ltda sistema de execução de aplicativos para televisão digital, aparato de execução de aplicativos para televisão digital e método para implementar tal sistema
CN102171670A (zh) * 2008-09-30 2011-08-31 惠普开发有限公司 基于nas的多媒体文件分发服务
US8219753B2 (en) 2009-07-13 2012-07-10 Sony Corporation Resource management cache to manage renditions
JP5493627B2 (ja) * 2009-09-15 2014-05-14 ソニー株式会社 情報処理装置、データ管理方法、およびプログラム
KR101708682B1 (ko) * 2010-03-03 2017-02-21 엘지전자 주식회사 영상표시장치 및 그 동작 방법.
JP5854068B2 (ja) * 2014-03-05 2016-02-09 ソニー株式会社 情報処理装置、データ管理方法、およびプログラム
US10158457B2 (en) * 2014-12-02 2018-12-18 Avago Technologies International Sales Pte. Limited Coordinating frequency division multiplexing transmissions
US11716558B2 (en) 2018-04-16 2023-08-01 Charter Communications Operating, Llc Apparatus and methods for integrated high-capacity data and wireless network services
CA3115813A1 (en) 2018-10-12 2020-04-16 Charter Communications Operating, Llc Apparatus and methods for cell identification in wireless networks
US11129171B2 (en) 2019-02-27 2021-09-21 Charter Communications Operating, Llc Methods and apparatus for wireless signal maximization and management in a quasi-licensed wireless system
US11026205B2 (en) 2019-10-23 2021-06-01 Charter Communications Operating, Llc Methods and apparatus for device registration in a quasi-licensed wireless system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11126084A (ja) * 1997-10-23 1999-05-11 Yamaha Corp カラオケ装置およびカラオケシステム
WO2000057645A1 (en) * 1999-03-23 2000-09-28 Infolibria, Inc. Selectively caching video to improve on-demand response time
JP3780751B2 (ja) * 1999-06-15 2006-05-31 ヤマハ株式会社 カラオケ装置およびカラオケシステム
CN100459698C (zh) * 2000-10-11 2009-02-04 联合视频制品公司 在按需式媒体系统中高速缓存数据的系统和方法
AU2002225751A1 (en) * 2000-11-28 2002-06-11 Seachange International, Inc. Content/service handling and delivery
US20030005465A1 (en) * 2001-06-15 2003-01-02 Connelly Jay H. Method and apparatus to send feedback from clients to a server in a content distribution broadcast system
JP2003087765A (ja) * 2001-09-12 2003-03-20 Pioneer Electronic Corp 加入者端末への視聴情報提供装置
WO2003088645A1 (en) * 2002-04-12 2003-10-23 Koninklijke Philips Electronics N.V. Downloading of programs into broadcast-receivers
JP2004056394A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd Lanを介して取込装置および蓄積装置を制御するための制御装置、およびそのための取込装置、蓄積装置、プログラムおよび方法
JP2004086317A (ja) * 2002-08-23 2004-03-18 Fujitsu Ltd 負荷分散方法及び装置
JP2005102150A (ja) * 2003-08-29 2005-04-14 Matsushita Electric Ind Co Ltd 放送受信装置
JP2008543118A (ja) * 2005-05-31 2008-11-27 松下電器産業株式会社 放送受信端末およびプログラム実行方法
WO2006129818A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal
WO2007072959A1 (en) * 2005-12-19 2007-06-28 Matsushita Electric Industrial Co., Ltd. Broadcast receiving apparatus

Also Published As

Publication number Publication date
WO2007072670A1 (ja) 2007-06-28
US20090222867A1 (en) 2009-09-03
CA2634024A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
KR20080078829A (ko) 방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템
US20090193101A1 (en) Multimedia data transmitting apparatus and multimedia data management method
US7571232B2 (en) Method and apparatus for managing channel information
US20090300231A1 (en) Data output device, equipment control device, and multimedia delivery system
US7590331B2 (en) Broadcast recording apparatus
US7950039B2 (en) Multimedia data transmitting apparatus and multimedia data receiving apparatus
US20080172712A1 (en) Multimedia data transmitting apparatus, multimedia data receiving apparatus, multimedia data transmitting method, and multimedia data receiving method
US9264757B2 (en) Service executing apparatus
US20090106801A1 (en) Content processing device and content processing method
US8244829B2 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method and data receiving method
US20030110511A1 (en) Controlling personal video recording functions from interactive television
US9191717B2 (en) Method for processing non-real timeservice and broadcast receiver
US20150281805A1 (en) Receiving device, receiving method, transmitting device, transmitting method, and program
WO2008126405A2 (en) Multimedia data transmitting apparatus and multimedia data receiving apparatus
WO2004049692A2 (en) Technique for delivering network personal video recorder service and broadcast programming service over a communications network
KR101559769B1 (ko) 미들웨어, 녹화물 목록 제공 방법 및 녹화물 목록 제공방법을 기록한 기록매체
KR20110116124A (ko) 비실시간 서비스 처리 방법 및 방송 수신기
KR100728256B1 (ko) 홈네트워크와 방송 간에 멀티미디어 콘텐츠를 상호이용하기 위한 홈네트워크/방송 연동 시스템 및 그 방법
KR20110103982A (ko) 비실시간 서비스 처리 방법 및 방송 수신기
US20080141323A1 (en) Content information outputting apparatus, content information receiving apparatus, content information outputting method, content information receiving method
US20120089997A1 (en) Shared planner
CN101406058A (zh) 数据输出装置、设备控制装置以及多媒体通信系统
WO2008115032A1 (en) Method of providing digital tv application and computer-readable medium having thereon program performing function embodying the same
WO2008115031A1 (en) Method of switching digital tv application and computer-readable medium having thereon program performing function embodying the same
JP2022183550A (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