WO2007072670A1 - 放送受信装置、映像蓄積装置およびマルチメディア配信システム - Google Patents

放送受信装置、映像蓄積装置およびマルチメディア配信システム Download PDF

Info

Publication number
WO2007072670A1
WO2007072670A1 PCT/JP2006/324014 JP2006324014W WO2007072670A1 WO 2007072670 A1 WO2007072670 A1 WO 2007072670A1 JP 2006324014 W JP2006324014 W JP 2006324014W WO 2007072670 A1 WO2007072670 A1 WO 2007072670A1
Authority
WO
WIPO (PCT)
Prior art keywords
multimedia data
video storage
storage device
data
network
Prior art date
Application number
PCT/JP2006/324014
Other languages
English (en)
French (fr)
Inventor
Toshihiko Munetsugu
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to CA002634024A priority Critical patent/CA2634024A1/en
Priority to US11/990,344 priority patent/US20090222867A1/en
Publication of WO2007072670A1 publication Critical patent/WO2007072670A1/ja

Links

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

Definitions

  • Broadcast receiving device video storage device and multimedia distribution system
  • the present invention relates to the use of digital broadcasting and VoD (Video On Demand) services provided by cable television or the like in devices connected to a home network.
  • VoD Video On Demand
  • a VoD service that allows a user to view a specific content such as a movie at any time is provided at the request of a user.
  • the user operates the STB (Set Top Box), which is the receiving terminal, selects the content provided by the VoD service, and requests it from the cable station.
  • STB Set Top Box
  • the content provided by the VoD service has also become digital content similar to the above. Therefore, when the VoD service is used from multiple terminal devices connected to the home network, the need for it will come out.
  • VoD Voice over IP
  • This is to broadcast the same movie and other programs several times at different times, so that users can watch it at a convenient time, and a service close to VoD is provided. is called.
  • Multimedia data used in digital broadcasting is encoded data called MPEG2-TS (Motion Picture Expert Group Phase2 Transport Stream).
  • MPEG2-TS Motion Picture Expert Group Phase2 Transport Stream
  • One MPEG2-TS stream can store multiple programs simultaneously.
  • Broadcast receivers extract data related to one program from one MPEG2-TS stream and play it.
  • multiple MPEG2-TS streams separated by frequency are transmitted.
  • the tuner of the broadcast receiver is configured to extract one MPEG2-TS stream by matching the frequencies, and extract and play a predetermined program from the extracted MPEG2-TS stream.
  • the broadcast receiver is equipped with a storage device and temporarily stores the multimedia data provided by the VoD service. So-called data caching is performed. Using it in your VoD service is also a possible countermeasure (see, for example, Patent Document 1).
  • Patent Document 1 Japanese Translation of Special Publication 2002-540684
  • the above-described conventional technique has a problem in that the multimedia data and the supply process of the data are concentrated on one device, and the cost of the device increases.
  • the conventional technology for caching multimedia data using a storage device installed in the broadcast receiver is a large-capacity storage device that caches a large number of programs in the home, as in the case of the VoD service. Is required and the cost increases.
  • a home cache device functions as a server in a home network, a plurality of servers can operate simultaneously as a server. In order to supply data to the terminal, a high-performance device is required, which increases costs.
  • the present invention solves the above-described conventional problem, and uses a plurality of video storage devices connected to a home network to appropriately distribute the cache so that the communication bandwidth between the station equipment and the home is
  • the object is to provide a broadcast receiving device, a video storage device, or a multimedia distribution system that can reduce consumption and load of each device.
  • the broadcast receiving device of the present invention is connected to a network that receives multimedia data including at least one of video and audio from a device installed in a broadcast station.
  • a broadcast receiving device that communicates via a network with a data receiving means for receiving multimedia data from a device installed in the broadcasting station, and a plurality of video storage devices storing multimedia data
  • the information communication means transmits a multimedia data storage request to the video storage device selected by the selection means, and the data output means Multimedia data, wherein the data receiving hands stage receives, forces out to the video storage device selected by the selecting unit.
  • the cache when multimedia data is received from a device installed in a broadcasting station, the cache can be distributed by selecting a video storage device that caches the multimedia data. It is.
  • the selection means selects a video storage device based on an attribute of the multimedia data.
  • the attribute of the multimedia data is, for example, the genre of the content of the multimedia data.
  • the attribute of multimedia data may be the amount of multimedia data and the broadcast time of multimedia data.
  • the information communication unit further receives an attribute of the video storage device connected to the network, and the selection unit is based on the attribute of the video storage device received by the information communication unit. Select the video storage device.
  • the attribute of the video storage device is, for example, usage frequency information indicating the frequency with which the video storage device is used.
  • the attribute of the video storage device may be the genre associated with the video storage device or the free capacity of the storage medium provided in the video storage device.
  • each video storage device can be cached equally, and can be distributed under more appropriate conditions.
  • the information communication unit further receives an attribute of the video storage device connected to the network, and the selection unit receives the attribute of the multimedia data and the video storage device received by the information communication unit.
  • the video storage device is selected based on the attribute.
  • the multimedia data attribute and the video storage device attribute are, for example, usage frequency information indicating the genre of the content of the multimedia data and the frequency of each video storage device for each genre.
  • it further comprises storage means for storing multimedia data, and writing means for writing data to the storage means, wherein the selection means includes a plurality of storage devices connected to the storage means and the network. One of the video storage devices is selected, and the writing unit writes the multimedia data into the storage unit when the selection unit selects the storage unit.
  • Java execution means for executing a Java application, wherein the gjava (registered trademark) execution means outputs an identifier of multimedia data, and the data reception means is the multimedia When the identifier of the data is received and the multimedia data indicated by the received identifier is received, and the selector receives the identifier of the multimedia data, it selects the video storage device.
  • the gjava (registered trademark) execution means outputs an identifier of multimedia data
  • the data reception means is the multimedia When the identifier of the data is received and the multimedia data indicated by the received identifier is received, and the selector receives the identifier of the multimedia data, it selects the video storage device.
  • the cache can be distributed by selecting a video storage device that caches the multimedia data.
  • the selection means may be configured to select a video storage device to be cached based on attributes of received multimedia data including at least one of a genre, a data amount, a broadcast time, and the like. .
  • the selection unit selects a video storage device based on an attribute of the multimedia data.
  • the attributes of the multimedia data include at least one of, for example, the genre of the content of the multimedia data, the data amount of the multimedia data, the broadcast time of the multimedia data, and the like.
  • the information communication unit further receives an attribute of the video storage device connected to the network, and the selection unit has an attribute of the video storage device received by the information communication unit. And a video storage device is selected.
  • the attribute of the video storage device is, for example, usage frequency information indicating the frequency with which the video storage device is used. Also, the attribute of the video storage device may be a genre associated with the video storage device.
  • each video storage device can be cached evenly, and distribution can be performed under more appropriate conditions.
  • the information communication unit further receives an attribute of a video storage device connected to the network, and the selection unit receives the attribute of the multimedia data and the information communication unit. Select the video storage device based on the attributes of the video storage device that was selected.
  • the information processing apparatus further includes storage means for storing multimedia data, and writing means for writing data to the storage means, wherein the selection means includes a plurality of storage devices connected to the storage means and the network. One of the video storage devices is selected, and the writing unit writes the multimedia data into the storage unit when the selection unit selects the storage unit.
  • the video storage device of the present invention is connected via a network to a broadcast receiving device that receives multimedia data including at least one of video and audio from a broadcast station,
  • a video storage device that stores multimedia data, a Java execution unit that executes a Java application, a storage unit that stores multimedia data, and an information communication unit that communicates with a server connected via the network;
  • the broadcast receiving device via the network, data receiving means for receiving multimedia data, and data transmitting means for transmitting multimedia data to another video storage device via the network, the information
  • the communication means receives an attribute inquiry from the server, the communication means The attribute information indicating the attribute of the video storage device itself is acquired, the acquired attribute information is transmitted to the server, the data receiving means receives the storage request from the server, and the broadcast receiving apparatus
  • the multimedia data is received from the server, the received multimedia data is stored in the storage means, and the data transmission means transmits the transmission request and destination of the multimedia data stored in the storage means from the server.
  • the information indicating the other video storage device is received,
  • the video data storage device that executes the Java application caches the multimedia data in response to a request from the broadcast receiving device, and the multimedia data is used when the cached multimedia data is used. Data can be transmitted appropriately.
  • the multi data Rights processing means for processing rights associated with the use of media data is provided.
  • the video storage device of the present invention is a multi-media including at least one of video and audio from a device installed in a broadcasting station that provides a VoD (Video On Demand) service. It is a receiving terminal connected to a network that receives media data, and stores request data transmission means for transmitting a multimedia data transmission request to a device installed in the broadcasting station, and stores the multimedia data! / A video storage device that communicates via the network, and the information communication unit receives the VoD request by a user operation via the network and the video storage device. Communication, the multimedia data related to the VoD request is accumulated !, the information indicating whether or not the power is acquired, and the information indicating that it is accumulated! Is acquired.
  • VoD Video On Demand
  • the multimedia data transmission request related to the VoD request is transmitted to the video storage device that transmitted the information, and the request transmission means acquires information indicating that the information is not stored. Then, a multimedia data transmission request related to the VoD request is transmitted to a device installed in the broadcasting station.
  • it further comprises a right processing means for performing a right process associated with the use of the multimedia data when transmitting a transmission request for the multimedia data stored in the video storage device.
  • right processing such as billing processing can be appropriately performed when using cached multimedia content.
  • Java execution means for executing a Java application request transmission means for transmitting a multimedia data transmission request to a device installed in the broadcasting station, and multimedia data are stored.
  • the video storage device, the information communication means for communicating via the network, and the information communication means include a Java execution means for identifying the content identifier. If accepted, information indicating whether the multimedia data related to the VoD request is stored is acquired by communicating with the video storage device via the network.
  • the video storage device that executes the Java application effectively uses the data cached in the video storage device connected to the network when using the VoD service. Bandwidth consumption due to communication with unnecessary broadcast stations can be eliminated.
  • it further includes a right processing means for performing a right process associated with the use of the multimedia data when transmitting a transmission request for the multimedia data stored in the video storage device.
  • the present invention can only be realized as a broadcast receiving device, a video storage device, and a receiving terminal comprising such characteristic means, and a broadcast receiving device, a video storing device, and a receiving terminal.
  • a program for causing a computer to function as a characteristic means included in each of a broadcast receiving device, a video storage device, and a receiving terminal can also be realized.
  • Such a program can be distributed via a recording medium such as a CD-ROM (Compact Disc-Read Only Memory) or a communication network such as the Internet.
  • the present invention provides a broadcast receiving apparatus, a video storage apparatus, and a multimedia distribution system including a plurality of apparatuses that combine! It can also be realized.
  • multimedia data provided by a VoD service, a user VoD service, or the like is stored in a plurality of memories in a home. It is possible to cache a large amount of multimedia data by distributing it optimally in the home network. Thus, even if there is a VoD request with multiple terminals at the same time, it is possible to respond without consuming extra communication bandwidth between the station equipment and the home. Even cached data can be properly processed for rights such as billing.
  • FIG. 1 is a configuration diagram of a multimedia distribution system in Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram showing a configuration of a broadcast receiving apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a block diagram showing a configuration of a video storage device and a video storage device according to Embodiment 1 of the present invention.
  • FIG. 4 is a flowchart showing an example of processing executed by the selection unit of the broadcast receiving apparatus in Embodiment 1 of the present invention.
  • FIG. 5 is a block diagram showing a configuration of a broadcast receiving apparatus in a modified example of the first embodiment of the present invention.
  • FIG. 6 is a block diagram of a broadcast receiving apparatus in Embodiment 2 of the present invention.
  • FIG. 7 is a diagram showing an example of an appearance when the input unit is configured by a front panel.
  • FIG. 8 is a diagram showing a configuration of a program held and executed by the broadcast receiving apparatus in Embodiment 2 of the present invention.
  • FIG. 9 (a) is a diagram showing a first example of a screen display according to the present invention.
  • FIG. 9 (b) is a diagram showing a second example of the screen display according to the present invention.
  • FIG. 10 is a diagram showing an example of program information stored in the second memory according to Embodiment 2 of the present invention.
  • FIG. 11 is a diagram showing an example of channel information stored in the second memory according to Embodiment 2 of the present invention.
  • FIG. 12 (a) is a diagram showing a first example of information indicating channel identifiers stored in the second memory according to Embodiment 2 of the present invention.
  • FIG. 12 (b) is a diagram showing a second example of information indicating a channel identifier stored in the second memory according to Embodiment 2 of the present invention.
  • FIG. 12 (c) is stored in the second memory according to the second embodiment of the present invention. It is a figure which shows the 3rd example of the information which shows the identifier of the channel which exists.
  • FIG. 13 is a diagram schematically showing an example of collected PAT information according to Embodiment 2 of the present invention.
  • FIG. 14 is a diagram schematically showing an example of collected PMT information according to Embodiment 2 of the present invention.
  • FIG. 15 is a diagram schematically showing an example of collected AIT information according to Embodiment 2 of the present invention.
  • FIG. 16 is a diagram showing an example of a downloaded file system according to the second embodiment of the present invention.
  • FIG. 17 is a block diagram showing an example of an internal configuration of a network library according to Embodiment 2 of the present invention.
  • FIG. 18 is a diagram showing an example of a Java API provided by the control unit according to Embodiment 2 of the present invention.
  • FIG. 19 is a diagram showing an example of the configuration of the NetDevice class.
  • FIG. 20 is a diagram illustrating an example of the configuration of a DevAttrib class.
  • FIG. 21 is a diagram showing an example of a Java API provided by the data receiving unit according to Embodiment 2 of the present invention.
  • FIG. 22 is a diagram showing an example of a Java API provided by the information communication unit according to Embodiment 2 of the present invention.
  • FIG. 23 is a diagram showing an example of an MM Request class definition used in the network library according to Embodiment 2 of the present invention.
  • FIG. 24 is a diagram showing an example of a Java API provided by the selection unit according to the second embodiment of the present invention.
  • FIG. 25 is a diagram showing an example of a Java API provided by the data output unit according to the second embodiment of the present invention.
  • FIG. 26 is a diagram showing an example of a Java API provided by the request transmission unit according to the second embodiment of the present invention.
  • FIG. 27 shows Java A provided by the right processing unit 1607 according to the second embodiment of the present invention. It is a figure which shows an example of PI.
  • FIG. 28 is a block diagram of a video storage apparatus according to Embodiment 2 of the present invention.
  • FIG. 29 is a diagram showing a program configuration held and executed by the video storage device according to Embodiment 2 of the present invention.
  • FIG. 30 is a block diagram showing an example of an internal configuration of a network library according to Embodiment 2 of the present invention.
  • FIG. 31 is a diagram showing an example of a Java API provided by the control unit included in the internal configuration of the network library according to Embodiment 2 of the present invention.
  • FIG. 32 is a diagram showing an example of Contentlnfo class definition used in the network library according to Embodiment 2 of the present invention.
  • FIG. 33 is a diagram showing an example of a Java API provided by the control information communication unit included in the internal configuration of the network library according to the second embodiment of the present invention.
  • FIG. 34 is a diagram showing an example of a Java API provided by the data receiving unit included in the internal configuration of the network library according to the second embodiment of the present invention.
  • FIG. 35 is a diagram showing an example of Remote Program class definition used in the network library according to Embodiment 2 of the present invention.
  • FIG. 36 is a diagram showing an example of a Java API provided by the data transmission unit included in the internal configuration of the network library according to the second embodiment of the present invention.
  • FIG. 37 is a diagram showing an example of a Java API provided by the attribute management unit included in the internal configuration of the network library according to the second embodiment of the present invention.
  • FIG. 38 is a diagram showing an example of a Java API provided by the right processing unit included in the internal configuration of the network library according to the second embodiment of the invention.
  • FIG. 39 is a configuration diagram of the multimedia distribution system in the third embodiment of the present invention.
  • FIG. 40 is a block diagram showing a configuration of a broadcast receiving apparatus in the third embodiment of the present invention.
  • FIG. 41 is a block diagram showing a configuration of a video storage apparatus according to Embodiment 3 of the present invention.
  • FIG. 42 is a block diagram showing a configuration of a broadcast receiving apparatus in a modified example of Embodiment 3 of the present invention.
  • FIG. 43 is a configuration diagram of a broadcast receiving apparatus in Embodiment 4 of the present invention.
  • FIG. 44 is a diagram showing an example of an appearance when the input unit in the fourth embodiment of the present invention is configured with a front panel.
  • FIG. 45 is a diagram showing a program configuration held and executed by the broadcast receiving apparatus in the fourth embodiment of the present invention.
  • FIG. 46 (a) is a diagram showing a first example of a screen display according to Embodiment 4 of the present invention.
  • FIG. 46 (b) is a diagram showing a second example of the screen display according to Embodiment 4 of the present invention.
  • FIG. 47 is a diagram showing an example of program information stored in the second memory according to Embodiment 4 of the present invention.
  • FIG. 48 is a diagram showing an example of channel information stored in the second memory according to Embodiment 4 of the present invention.
  • FIG. 49 (a) is a diagram showing a first example of information indicating channel identifiers stored in the second memory according to Embodiment 4 of the present invention.
  • FIG. 49 (b) is a diagram showing a second example of information indicating a channel identifier stored in the second memory according to Embodiment 4 of the present invention.
  • FIG. 49 (c) is a diagram showing a third example of information indicating the channel identifier stored in the second memory according to Embodiment 4 of the present invention.
  • FIG. 50 is a diagram schematically showing an example of collected PAT information according to Embodiment 4 of the present invention.
  • FIG. 51 is a diagram schematically showing an example of collected PMT information according to Embodiment 4 of the present invention.
  • FIG. 52 is a diagram schematically showing an example of collected AIT information according to Embodiment 4 of the present invention.
  • FIG. 53 is a diagram showing an example of a downloaded file system according to the fourth embodiment of the present invention.
  • FIG. 54 is a block diagram showing an example of an internal configuration of a network library according to Embodiment 4 of the present invention.
  • FIG. 55 is a diagram showing an example of a Java API provided by the control unit according to Embodiment 4 of the present invention.
  • FIG. 56 is a diagram showing an example of a configuration of a NetDevice class according to the fourth embodiment of the present invention.
  • FIG. 57 is a diagram showing an example of a configuration of a DevAttrib class according to the fourth embodiment of the present invention.
  • FIG. 58 is a diagram showing an example of a Java API provided by the data receiving unit according to the fourth embodiment of the present invention.
  • FIG. 59 is a diagram showing an example of a Java API provided by the information communication unit according to Embodiment 4 of the present invention.
  • FIG. 60 is a diagram showing a structure of an MMRequest class according to Embodiment 4 of the present invention.
  • FIG. 61 is a diagram showing an example of a Java API provided by the selection unit according to Embodiment 4 of the present invention.
  • FIG. 62 is a diagram showing an example of a Java API provided by the data output unit according to Embodiment 4 of the present invention.
  • FIG. 63 is a diagram showing an example of a Java API provided by the right processing unit according to the fourth embodiment of the present invention.
  • FIG. 64 is a block diagram showing a configuration of a video storage apparatus according to Embodiment 4 of the present invention.
  • FIG. 65 is a diagram showing a program configuration held and executed by the video storage apparatus in Embodiment 4 of the present invention.
  • FIG. 66 is a diagram showing an example of an internal configuration of a network library according to Embodiment 4 of the present invention.
  • FIG. 67 is a diagram showing an example of a Java API provided by the control unit included in the internal configuration of the network library according to Embodiment 4 of the present invention.
  • FIG. 68 is a diagram showing an example of Contenttento class definition used in the network library according to Embodiment 4 of the present invention.
  • FIG. 69 is a diagram showing an example of a Java API provided by the control information communication unit included in the internal configuration of the network library according to Embodiment 4 of the present invention.
  • FIG. 70 is a diagram showing an example of a Java API provided by a data receiving unit included in the internal configuration of the network library according to Embodiment 4 of the present invention.
  • FIG. 71 is a diagram showing an example of Remote Program class definition used in the network library according to Embodiment 4 of the present invention.
  • FIG. 72 is a diagram showing an example of a Java API provided by data transmission unit 2803 included in the internal configuration of the network library according to Embodiment 4 of the present invention.
  • FIG. 73 is a diagram showing an example of a Java API provided by the attribute management unit included in the internal configuration of the network library according to the fourth embodiment of the present invention.
  • FIG. 74 is a diagram showing an example of a Java API provided by the right processing unit included in the internal configuration of the network library according to the fourth embodiment of the present invention.
  • FIG. 1 is a configuration diagram of a multimedia distribution system according to Embodiment 1 of the present invention.
  • the multimedia distribution system 101 shown in FIG. 1 includes a broadcast receiving device 102, a first video storage device 103, a second video storage device 104, a first terminal 105, a second terminal 106, a network 107, cable TV broadcasting station equipment 108, broadcasting station 108 and broadcast receiving equipment
  • the cable 109 is connected to the device 102.
  • the broadcast receiving device 102, the video storage device 103, the video storage device 104, the terminal 105, and the terminal 106 are connected to the network 107, and can communicate with each other via the network 107.
  • the broadcast receiving apparatus 102 and the broadcast station 108 are connected by a cable 109, and can communicate with each other through the cable 109. It should be noted that a plurality of video storage devices and terminals are acceptable as long as they are included, and two are included for ease of explanation.
  • Broadcast receiving apparatus 102 in the present embodiment receives multimedia data from broadcast station 108 through cable 109.
  • the broadcast receiving apparatus 102 uses a VoD service. For this reason, control information such as transmission of a multimedia data transmission request for the VoD service, communication for right processing such as billing for using the multimedia data, and the like is transmitted and received through the cable 109.
  • the communication of the control information may be performed using another communication path (not shown) such as a telephone line connected by the cable 109.
  • the broadcast receiving apparatus 102 receives multimedia data for VoD service from the broadcasting station 108 in advance
  • the transmission request for attributes is sent to the video storage apparatus 103 and the video storage apparatus 104 via the network 107.
  • the attribute is received by the video storage device 103 and the video storage device 104.
  • the difference between the video storage device 103 and the video storage device 104 is stored in the received multimedia data. Select as destination.
  • a multimedia data storage request is transmitted to the selected video storage device 103 or video storage device 104, and then the multimedia data is transmitted.
  • the transmission of the multimedia data for VoD service from the broadcast station 108 to the broadcast receiving apparatus 102 performed in advance may be performed in response to a request from the broadcast station 108 or broadcast reception. It may be performed in response to a request from the device 102. Alternatively, it may be performed at a specific date and time, or may be performed at a specific time.
  • the broadcast receiving apparatus 102 receives content such as a program from the terminal 105 or the terminal 106. When a request for using the specified VoD service is received, it communicates with one or both of the video storage device 103 and the video storage device 104, and asks whether the multimedia data of the content is stored. Match.
  • the broadcast receiving device 102 sends a transmission request for the multimedia data to the broadcast station 108, and if necessary, charging, etc. After performing appropriate rights processing, the multimedia data is received via cable 109 and transmitted to terminal 105 or terminal 106 that requested the VoD service via network 107. To do.
  • the multimedia data is stored in the video storage device 103 or the video storage device 104 that stores the multimedia data. Requests transmission to the terminal that requested the VoD service. At this time, if necessary, it communicates with the video storage device, performs rights processing such as charging associated with the use of the multimedia data, and notifies the broadcasting station 108. Furthermore, the broadcast receiving apparatus 102 notifies the terminal that requested the VoD service that the multimedia data is transmitted from the video storage apparatus that stores the multimedia data.
  • video storing apparatus 103 and video storing apparatus 104 Upon receiving the attribute transmission request from broadcast receiving apparatus 102, video storing apparatus 103 and video storing apparatus 104 in the present embodiment transfer the attributes stored in the video storing apparatus to broadcast receiving apparatus 102. Send.
  • the attributes of the video storage device include the free space of the storage unit that stores multimedia data for VoD service, the storage frequency of multimedia data stored by user operations for each genre, and the playback multimedia data for each genre. Information such as usage frequency.
  • the video storage device 103 and the video storage device 104 receive the multimedia data storage request from the broadcast receiving device 102, the multimedia data is transmitted to the broadcast receiving device 102 via the network 107. Is received and stored in the storage unit.
  • the video storage device 103 and the video storage device 104 store the multimedia data of the specific content from the broadcast receiving device 102, and store it when receiving the inquiry about whether or not to match it. Search the contents data and return the result.
  • the video storage device 103 and the video storage device 104 receive a request from the broadcast receiving device 102 to transmit the multimedia data of the specific content to a specific terminal connected to the network 107
  • the video storage device 103 and the video storage device 104 Media data is transmitted to the terminal via the network 107.
  • it communicates with the broadcast receiving apparatus 102 and performs rights processing associated with the use of the multimedia data, such as billing.
  • Terminal 105 and terminal 106 in the present embodiment issue a VoD service request to broadcast receiving apparatus 102 by user operation, receive multimedia data via network 107, and receive the multimedia. Data is played back.
  • the broadcast reception device 102 notifies the stored video storage device, and the video storage device Received multimedia data is received via the network 107.
  • the network 107 is a home network installed in a home, and is an IP network configured by Ethernet (registered trademark), wireless LAN, or communication technology using a coaxial cable as a medium c. is there.
  • Broadcast station 108 and cable 109 in the present embodiment are facilities that provide a VoD service.
  • the multimedia data used for the VoD service is converted into the video storage device.
  • 103 and video storage device 104 can be distributed and stored under appropriate conditions. Even if VoD service requests are issued simultaneously from terminal 105 and terminal 106, they are stored in video storage device 103 and video storage device 104.
  • the multimedia data it is possible to reduce the transmission request of multimedia content data to the unnecessary broadcast station 108 and the communication band consumption of the cable 109.
  • the broadcast receiving device 102 the video storage device 103, and the video storage device 104 constituting the multimedia distribution system 101 of the present invention will be described in more detail.
  • FIG. 2 is a block diagram showing an example of a configuration of broadcast receiving apparatus 102 in Embodiment 1 of the present invention.
  • Broadcast receiving apparatus 102 shown in FIG. 2 includes control section 201, data receiving section 202 that receives multimedia data transmitted from broadcasting station 108, and information that communicates with an external device connected to network 107.
  • a request transmission unit 206 that transmits a transmission request of multimedia data to the station 108, a rights processing unit 207 that performs rights processing such as charging for use of multimedia data for the VoD service, and a network 10 7 and a network interface 208 connected to the cable 109 and a cable interface 209 connected to the cable 109.
  • the control unit 201 will be described in more detail.
  • the control unit 201 is configured by a microprocessor, ROM, RAM, and the like.
  • the ROM, RAM, and information storage unit (not shown) store the OS, Java VM (Java Virtual Machine) program, Java program library, and Java application program that run on the microprocessor!
  • the microprocessor loads and executes the OS at startup. Subsequently, when starting the Java application, the Java VM is read and executed, and the Java application is executed while reading the Java program library as necessary.
  • control unit 201 When the control unit 201 receives the multimedia data for the VoD service in advance as well as the data receiving unit 202, the control unit 201 sends an attribute transmission request to the plurality of video storage devices connected to the network 107 by the information communication unit 203. Send. Subsequently, the information communication unit 203 also receives the attribute from each video storage device. Further, the control unit 201 sends the received attribute of the video storage device and the attribute of the multimedia data to the selection unit, and instructs the selection unit to select one of the video storage devices. Furthermore, the control unit 201 transmits the multimedia data storage request to the selected video storage device via the information communication unit 203.
  • the control unit 201 instructs the data output unit 205 to transmit the multimedia data via the network 107 to the video image. Send to the storage device. Furthermore, when the control unit 201 receives a VoD service request from a terminal connected to the network 107 from the information communication unit 203, the control unit 201 sends a video storage device connected to the network 107 from the information communication unit 203 to the video storage device. The multimedia data of the request is stored and an inquiry as to whether or not it is sent is sent. Subsequently, the control unit 201 receives a response regarding this inquiry from each video storage device from the information communication unit 203.
  • the control unit 201 communicates with the video storage device and instructs the right processing unit 207 to perform rights processing such as charging associated with the use of the multimedia data. Further, the information communication unit 203 notifies the terminal that the multimedia data is also transmitted to the terminal.
  • the data receiving unit 202 is connected to the cable interface 209 and receives multimedia data sent from the broadcast station 108 via the cable interface 209.
  • the data receiving unit 202 is typically a tuner that receives and decodes radio waves transmitted from the broadcasting station 108 and extracts multimedia data. Also, the multimedia data sent from the broadcasting station 108 may be scrambled if it is paid content. In that case, the data is decoded by the data receiving unit 202.
  • the multimedia data transmitted from the broadcasting station 108 is encoded digital data represented by MPEG2, and is transmitted in the MPEG2-TS (Transport Stream) format.
  • the MPEG2-TS can store a plurality of contents in one stream.
  • the data receiving unit 202 selects multimedia data of one content from the stream.
  • the information communication unit 203 is connected to the network interface 208, and transmits control information to an external device connected to the network 107 according to an instruction from the control unit 201. Further, the information communication unit 203 receives the information addressed to the broadcast receiving apparatus 102 that has arrived at the network interface 208 and passes it to the control unit 201.
  • the information communication unit 202 typically uses a socket interface or socket interface provided by the OS or Java library. Program. It should be noted that the present invention is not limited to such software, and may be hardware.
  • selection unit 204 selects one of a plurality of video storage devices connected to network 107 based on the attributes of the multimedia data and the video storage device. Is.
  • the selection unit 204 is typically a subroutine included in a Java library or an ava application program. It should be noted that the present invention is not limited to such software, and hardware may be used.
  • the genre of content such as a movie, drama, or sports is used as an attribute of multimedia data.
  • the free capacity of the storage unit for VoD data is used as an attribute of the video storage device.
  • the selection unit 204 first selects a video storage device according to the multimedia data genre. If the selected video storage device does not have sufficient free space, the selection unit 204 selects a video storage device having a large free space.
  • the data output unit 205 is connected to the network interface 208 and operates in response to an instruction from the control unit 201.
  • the data output unit 205 converts the multimedia data into a packet to the destination designated by the control unit 201, and It is output through the network interface 208.
  • the data output unit 205 is typically a program using a socket interface or a socket interface provided by the OS or Java library. Note that the configuration is not limited to such software, but may be hardware.
  • the request transmission unit 206 receives an instruction from the control unit 201 and transmits a data transmission request in the VoD service to the broadcast station 108 through the cable interface 209.
  • the right processing unit 207 performs right processing such as billing associated with the use of multimedia data by communicating with the broadcasting station 108.
  • the right processing unit 207 includes a CableCARD and uses this information in communication with the broadcast station 108. Also, when the multimedia data sent from the broadcasting station 108 is scrambled, the data receiving unit 202 can perform decoding by passing the CableCARD information to the control unit 201. .
  • the network interface 208 includes hardware that provides an interface according to the physical media of the network, such as an Ether cable and a wireless LAN, and its driver software. It is composed.
  • the cable interface 209 receives a signal transmitted from the broadcasting station 108 via the cable 109, and receives the signal from the data reception unit 202, the request transmission unit 206, and the right processing unit 207 according to the data type and destination. Each is converted into a suitable signal and distributed. Also, the data transmitted from the request transmission unit 206 and the right processing unit 207 to the broadcasting station 108 is converted into a signal suitable for transmission via the cable 109 and transmitted. For example, when the broadcasting station 108, the request transmission unit 206, and the right processing unit 207 perform communication in accordance with the IP network protocol, the cable interface 209 includes a role of a bridge between the IP network and the cable. .
  • FIG. 3 is a block diagram showing an example of the configuration of video storage device 103 and video storage device 104 in Embodiment 1 of the present invention.
  • 301 is a control unit
  • 302 is a storage unit that stores multimedia data
  • 303 is a control information communication unit that communicates control information with an external device connected to the network 107
  • 304 is The storage unit stores the attributes of the video storage device
  • 305 stores the data reception unit that receives multimedia data transmitted from the broadcast receiving device 102
  • 306 stores the data in the terminal 105 or 106 connected to the network 107.
  • 308 is a data transmission unit that transmits the multimedia data stored in the unit 302
  • 307 is a writing unit that writes the multimedia data received by the data reception unit 305 to the storage unit 302
  • 308 is the multimedia data from the storage unit 302.
  • Connect the readout unit to read out, 309 communicates with the broadcast receiving device 102 to perform rights processing such as billing associated with the use of multimedia data
  • 310 connects to the network 107
  • the controller 301 will be described in more detail.
  • the control unit 301 is configured by a microprocessor, ROM, RAM, and the like.
  • the ROM, RAM, and information storage (not shown) store an OS, Java VM program, Java program library, and Java application program that run on the microprocessor.
  • the microprocessor loads and executes the OS at startup. Subsequently, when starting the Java application, Java Read and execute the VM, and execute the Java application while reading the Java program library as required.
  • the control unit 301 receives the attribute information stored in the storage unit 304 from the control information communication unit 303. Transmit to device 102.
  • the control information communication unit 303 instructs the data receiving unit 305 to transmit the multimedia data transmitted from the broadcast receiving device 102 to the network 107.
  • the multimedia data is stored in the storage unit 302 by instructing the writing unit 307 to write the multimedia data received by the data receiving unit 305 to the storage unit 302. Further, after the accumulation, the control unit 301 receives the free capacity of the accumulation unit 302 from the writing unit 307, stores the free capacity in the storage unit 304, and updates the attribute information.
  • control information communication unit 303 receives a query from the broadcast receiving apparatus 102 regarding whether or not to store specific multimedia data
  • the control unit 301 receives the matching unit 308.
  • To determine whether or not the multimedia data is stored by checking the multimedia data stored in the storage unit 302, and receive the determination result from the control information communication unit 303. Transmit to device 102.
  • control information communication unit 303 receives an output request for specific multimedia data stored therein and an output destination terminal from the broadcast receiving device 102
  • the control unit 301 sends to the reading unit 308.
  • the multimedia data read out from the storage unit 302 is instructed to be transmitted, and the multimedia data read out by the reading unit 308 is instructed to be transmitted to the output destination terminal.
  • the rights processing unit 309 is instructed to communicate with the broadcast receiving apparatus 102 to perform rights processing associated with the use of the multimedia data.
  • control is performed so as not to transmit the multimedia data to the output destination terminal.
  • the storage unit 302 includes a large-capacity digital data storage device represented by a hard disk drive and its driver software.
  • the control information communication unit 303 is connected to the network interface 310, receives control information addressed to the video storage device that has reached the network interface 310, and performs control. Delivered to part 301. Further, in response to an instruction from the control unit 301, the control information passed from the control unit 301 is transmitted to the designated external device through the network interface 310.
  • the control information communication unit 303 is typically a socket interface provided by the OS or Java library or a program using a socket interface. Note that the configuration is not limited to such software, and may be hardware.
  • the storage unit 304 is configured by a storage device such as a flash memory or an HDD, or a part thereof, and stores data received from the control unit 301 in response to an instruction from the control unit 301. It is.
  • the data receiving unit 305 is connected to the network interface 310 and operates in response to an instruction from the control unit 301.
  • the data receiving unit 305 transmits multimedia data transmitted from the broadcast receiving apparatus 102 via the network interface 310. Is received.
  • the data receiving unit 305 is typically a program using a socket interface or a socket interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software, and may be hardware.
  • the data transmission unit 306 is connected to the network interface 310 and operates in response to an instruction from the control unit 301.
  • the multimedia data read by the reading unit 308 is the network designated by the control unit 301.
  • the packet is converted into a packet to an external device connected to 107 and output through the network interface 310.
  • the data transmission unit 306 is typically a program using a socket interface or a socket interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software and may be hardware.
  • the writing unit 307 operates in response to an instruction from the control unit 301, and writes data into the storage unit 302.
  • the writing unit 307 is typically a software subroutine that uses a file access interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software, and may be hardware.
  • the reading unit 308 operates in response to an instruction from the control unit 301, and reads the multimedia data stored in the storage unit 302.
  • the reading unit 308 is typically an OS or Jav This is a software subroutine that uses the file access interface provided by a library. It should be noted that the present invention is not limited to such software and may be hardware.
  • the rights processing unit 309 is connected to the network interface 310 and operates in response to an instruction from the control unit 301.
  • the rights processing unit 309 performs rights processing such as charging associated with the use of multimedia data with the broadcast receiving device 102. This is done by communicating.
  • the right processing unit 309 transmits an identifier for specifying the multimedia data to be used to the broadcast receiving apparatus 102, receives a response from the broadcast receiving apparatus 102, and delivers it to the control unit 301.
  • the response is permission or rejection of the use of the multimedia data.
  • the network interface 310 includes hardware that provides an interface according to the physical medium of the network, such as an Ether cable or a wireless LAN, and its driver software.
  • FIG. 4 is a flowchart showing an example of processing executed by the selection unit 204 of the broadcast receiving apparatus 102 in the embodiment of the present invention. This figure shows the processing when the content genre is used as an example of the multimedia attribute, and the free space of the storage unit 302 provided in each video storage device is used as an example of the attribute of the video storage device. Show.
  • Selection unit 204 acquires the genre of the content in response to an instruction from control unit 201 (S1 Do)
  • Selection section 204 selects the Ru video storage device associated with the acquired genre (S12) 0
  • selection unit 204 acquires the free capacity of storage unit 302 included in each video storage device selected in the storage destination selection process (S12) based on genre. It is determined whether or not the free space is sufficient to store data including content to be stored (S13).
  • the selection unit 204 selects the video storage device as the storage destination (S15), and the process ends.
  • Broadcast receiving apparatus 102 further includes an accumulating unit that accumulates multimedia data, and a writing unit that writes the multimedia data to the accumulating unit.
  • a configuration may be adopted in which one of the storage unit and the video storage device connected to the network 107 is selected. Further, when receiving a VoD service request from a terminal, the broadcast receiving device 102 further stores the multimedia data of the content in the video storage device connected to the network 107 and the storage unit of the broadcast receiving device 102. If the stored power is searched and stored in the storage unit of the broadcast receiving apparatus 102, the multimedia data may be transmitted to the terminal that issued the request for the VoD service.
  • FIG. 5 is a block diagram showing a configuration of the broadcast receiving apparatus in a modification of the first embodiment of the present invention.
  • the broadcast receiving apparatus 102 shown in FIG. 5 includes a writing unit 401, a storage unit 402, a reading unit 403 that reads out multimedia data stored in the storage unit 402, a control unit 201, and a data receiving unit. 202, an information communication unit 203, a selection unit 204, a request transmission unit 206, a right processing unit 207, a network interface 208, and a Cape Nole interface 209.
  • the control unit 201, the data reception unit 202, the information communication unit 203, the selection unit 204, the request transmission unit 206, the right processing unit 207, the network interface 208, and the cable interface 209 are: Forces similar to those described in the above embodiment differ in the following points.
  • the control unit 201 receives the attributes from the video storage device 103 and the video storage device 104 and also reads the attributes of the broadcast reception device 102 when receiving the multimedia data for VoD service in advance as the data reception unit 202.
  • the attribute of the broadcast receiving device 102 is the same as the attribute information of the video storage device 103 and the video storage device 104 in the above embodiment.
  • the control unit 201 transmits the attribute of the broadcast receiving device 102 to the selection unit 204 together with the attribute of the video storage device.
  • the selection unit 204 selects the video storage device 103, the broadcast storage device 104, or the storage unit 402 based on the attribute.
  • Writing unit 401 is the same as video storage device 103 and writing unit 307 of video storage device 104 in the above embodiment.
  • the storage unit 402 is in the above embodiment.
  • the reading unit 403 is the same as the reading unit 308 of the video storage device 103 and the video storage device 104 in the above embodiment.
  • the broadcast receiving device 102, the video storage device 103, and the video storage device 104 when transmitting multimedia data to the terminal 105 and the terminal 106, perform predetermined encryption on the multimedia data,
  • the encrypted multimedia data may be transmitted, and the terminal 105 and the terminal 106 may decrypt the received encrypted multimedia data and reproduce the decrypted multimedia data.
  • the selection unit 204 of the broadcast receiving apparatus 102 selects a video storage device based on the genre of multimedia data and the free space of the video storage device. Needless to say It goes without saying that these conditions are not limiting.
  • the broadcast receiving apparatus 102 may be configured to sequentially select video receiving apparatuses. Further, it may be configured to select according to the priority of the video storage device set by the user. Alternatively, the selection may be made only by the genre of multimedia data. Alternatively, it may be selected based only on the free space of the video storage device. Further, the selection may be made according to the frequency of use of the video storage device. Furthermore, the multimedia data genre, program name, performers, etc. stored in the video storage device by the user's operation are compared with the multimedia data genre, program name, performers, etc. You may select a video storage device.
  • Sarako individual storage frequency such as multimedia data genre, program name, performer, etc. played or output to the video storage device by user operation, multimedia data genre, program name, performer, etc. To select the video storage device. May be.
  • video storage device 103 is selected for multimedia data frequently used in terminal 105
  • video storage device 104 is selected for multimedia data frequently used in terminal 106, respectively. Then, you may make a selection based on the combination with the terminal.
  • the combined video storage device may be selected based on the priority of the terminal set by the user. Further, the video storage device combined with the frequency of use of the terminal used by the user or the frequency of use of each terminal used by the user may be selected.
  • the broadcast receiving device 102 communicates with the video storage device 103 and the video storage device 104 to store the multimedia data of the content requested for the VoD service.
  • the broadcast receiving apparatus 102 stores the multimedia data stored in the video storage apparatus 103 and the video storage apparatus 104 and determines from the contents. OK.
  • multimedia data is transmitted from the broadcasting station 108 via the cable 109. May be transmitted.
  • multimedia data is transmitted from the broadcasting station 108 via the cable 109. May be transmitted.
  • the ability to provide multimedia data to broadcasting stations such as cable television, for example, content distributors on the Internet, etc. that distribute other forms of data.
  • the broadcast receiving apparatus 102 performs rights processing such as charging with the video storage apparatus, notifies the video storage apparatus to the terminal, and transmits the multimedia data from the terminal to the video storage apparatus. It may be configured to issue a request.
  • the VoD service manager requested by the terminal is used.
  • the broadcast receiving device 102 and the video storage device communicate with each other to process the rights associated with the use of the multimedia data such as billing.
  • the broadcast receiving apparatus 102 may communicate with the terminal that requested the VoD service to perform the above right processing.
  • the broadcast receiving device 102 that communicates with the video storage device and the terminal may perform the right processing.
  • the right processing such as billing associated with the use of multimedia data is performed when a multimedia data transmission request is issued.
  • the configuration may be performed after the use is completed.
  • the billing amount may be changed depending on the number of times the multimedia data is used or the usage interval.
  • one piece of multimedia data is stored in one video storage device.
  • the multimedia data is divided and distributed to a plurality of video storage devices. And may be configured to accumulate.
  • one multimedia data may be stored simultaneously in a plurality of video storage devices. As a result, when there is a request for the same multimedia data from a plurality of terminals, it is possible to distribute the load for the video storage device to transmit the video to the terminal.
  • the broadcast receiving apparatus 102 further includes an encoding unit that creates encoded multimedia data.
  • the broadcast receiving apparatus 102 performs and decodes the multimedia data to be transmitted, and A configuration may be adopted in which multimedia data is newly generated and transmitted by the code key unit.
  • the video storage device 103 and the video storage device 104 further include a decoding unit that decodes multimedia data and an encoding unit that creates encoded multimedia data, and decodes the received multimedia data. It is also possible to adopt a configuration in which the data is decoded by the unit and the multimedia data is newly generated and stored by the code unit.
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip. Yes, it is a computer system that includes a microprocessor, ROM, RAM, and so on. A computer program is stored in the RAM. Microprocessor power The system LSI achieves its functions by operating according to the computer program.
  • a part or all of the constituent elements constituting each of the above devices may be configured as an IC card that can be attached to and detached from each device or a single module force.
  • the IC card or the module is a computer system including a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or module may be tamper resistant! /.
  • the broadcast receiving device and video storage device of the present invention may be the methods described above. Further, it may be a computer program that realizes these methods by a computer, or a digital signal that also has the computer program power.
  • the broadcast receiving device and the video storage device of the present invention may be a computer-readable recording medium such as a flexible disk, a node disk, a CD-ROM, an MO, a DVD, a DVD, or the like. -Recorded on ROM, DVD-RAM, BD (Blu-ray (registered trademark) Disc), semiconductor memory, etc.!
  • the computer program or the digital signal may be recorded on these recording media.
  • the broadcast receiving device and the video storage device of the present invention are configured such that the computer program or the digital signal is transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like. May be transmitted.
  • the broadcast receiving device and the video storage device of the present invention are a computer system including a microprocessor and a memory, and the memory stores the computer program, and the microprocessor It may be working according to a computer program.
  • the program or the digital signal is recorded on the recording medium and transferred. Or may be implemented by another independent computer system by transferring the program or the digital signal via the network or the like.
  • the configuration of the multimedia distribution system in the second embodiment is the same as the configuration in the first embodiment shown in FIG.
  • FIG. 6 is a block diagram showing the relationship between the components constituting broadcast receiving apparatus 102 in Embodiment 2 of the present invention.
  • the broadcast receiving apparatus 102 includes an input unit 501, a first memory 502, a second memory 503, a receiving unit 504, a demultiplexing unit 505, a descrambler 506, a TS decoder 507, a video output unit 508, and an audio output unit. 509, TS multiplexer 510, network unit 511, and CPU512.
  • Input unit 501 includes a front panel, a remote control light receiver, and the like, and accepts instructions such as channel selection from the user.
  • FIG. 7 shows an example in which input unit 501 is configured with a front panel. 600 is a front panel, and has eight buttons: an up cursor button 601, a down cursor button 602, a left cursor button 603, a right cursor button 604, an OK button 605, a cancel button 606, an EPG button 607, and a shutter button 608. Yes. When the user presses the button, the identifier power of the pressed button is notified to the CPU 512.
  • the first memory 502 is composed of RAM or the like, and is used when the CPU 512 temporarily stores data.
  • the second memory 503 is configured by a device that can retain information even when the power is stopped, such as a flash memory or a hard disk, and stores a program executed by the CPU 512.
  • a removable storage device such as an SD memory card may be used.
  • the receiving unit 504 is connected to the cable from the cable television station 108, receives a broadcast wave, tunes to a frequency designated by the CPU 512, extracts the MPEG transport stream, and delivers it to the demultiplexing unit 505.
  • the demultiplexing unit 505 receives the receiving unit 504 power MPEG transport stream, and the CPU The specified information is extracted from 512 and delivered to CPU512. In addition, the MPEG transport stream is handed over to the descrambler 506 as it is.
  • the descrambler 506 may be a module built in the broadcast receiving apparatus 102, or may be implemented by a CableCARD (TM) installed in a North American cable receiver.
  • TM CableCARD
  • the specification of Cable CARD is described in the CableCARD Interface Specification established by CableLabs in the United States, and the explanation is omitted here.
  • the TS decoder 507 receives identifiers of section data such as audio data, video data, and PSlZSI information from the CPU 512. Furthermore, data corresponding to the identifier of the section data such as received audio data, video data, PSIZSI information is extracted from the descrambled stream received from the descrambler 506, and the extracted video data is output to the video output unit. In 508, the audio data is delivered to the audio output unit 509. Both of them and the section data are delivered to the TS multiplexer 510.
  • the video output unit 508 includes a video output terminal, converts the received video data into video data corresponding to the terminal, and outputs the video data.
  • Examples of terminals include composite cable terminals.
  • the audio output unit 509 includes an audio output terminal, and converts the received audio data into audio data corresponding to the terminal and outputs it.
  • Examples of terminals include earphone terminals and composite cable terminals.
  • TS multiplexer 510 configures an MPEG2 transport stream from the received video data, audio data, and section data, and delivers the MPEG2 transport stream to network section 511. PSIZSI information can be rewritten as necessary.
  • the network unit 511 includes a network interface, converts the data received from the CPU 512 into a signal corresponding to the physical medium of the network to which the network interface is connected, and outputs the signal. Also, it receives the network interface power signal, converts it into a packet defined by the IP network, and delivers it to CPU512.
  • the CPU 512 executes the program stored in the second memory 503, whereby the receiving unit 504, It controls the demultiplexing unit 505, the descrambler 506, the TS decoder 507, the TS multiplexer 510, and the network unit 511.
  • FIG. 8 is a diagram showing a configuration of a program that is held and executed by the broadcast receiving apparatus according to Embodiment 2 of the present invention. This figure is a diagram showing an example of the configuration of a program stored in the second memory 503 and executed by the CPU 512.
  • the program 700 is composed of a plurality of subprograms. Specifically, the program 700 is composed of an OS 701, an EPG 702, a Java VM 703, a service manager 704, and a Java library 705.
  • the OS 701 is a subprogram that is activated by the CPU 512 when the broadcast receiving apparatus 102 is powered on.
  • OS 701 is an abbreviation for an operating system, and Linux is an example.
  • the OS 701 is a general term for known techniques including a kernel 701a and a library 701b that execute other subprograms in parallel, and detailed description thereof is omitted.
  • the kernel 701a of the OS 701 executes EPG702 ⁇ JavaVM703 as a subprogram.
  • the library 70 lb provides a plurality of functions for controlling the components held by the transmission / reception device 102 to these subprograms.
  • library 701b includes tuner 701bl, limited release 701b2, AV playback 702b3, and NET701b4 as an example of functions.
  • the tuner 701bl receives tuning information including the frequency from other subprograms and Tuner 705c of the Java library 705, and passes the tuning information to the receiving unit 704.
  • the receiving unit 704 can perform demodulation processing based on the given tuning information, and can pass the demodulated data to the demultiplexing unit 705.
  • the Tuner 705c of the other subprograms and the Java library 705 can control the receiving unit 504 through the library 401b.
  • the restriction release 702b2 receives information from other subprograms and the CA705d of the Java library 705, and passes them to the descrambler 506.
  • the AV playback 702b3 receives the audio packet ID and the video packet ID from other subprograms and JMF705a of the Java library 705.
  • the received audio packet ID and video packet ID are given to the TS decoder 707.
  • the TS decoder 707 performs filtering based on the given packet ID, and realizes video and audio reproduction.
  • NET701b4 is a network library of other subprograms and Java library 705.
  • the data received from 05e is created as a protocol packet below the application layer specified by the IP network.
  • the protocol below the application layer is, for example, a TCP packet, a UDP packet, or an IP packet.
  • messages and data are transmitted to other devices via the network 107.
  • a message is received from another device via the network 107, it is converted into an application layer protocol packet and delivered to another subprogram or the network library 705e of the Java library 705.
  • Examples of application layer protocols include HTTP and RTP.
  • the EPG 702 includes a program display unit 702a that displays a list of programs to the user and receives input from the user, and a playback unit 702b that performs channel selection.
  • EPG is an abbreviation for E1 ectric Program Guide.
  • the EPG 702 is activated by the kernel 701a when the power of the broadcast receiving apparatus 102 is turned on. Inside the activated EPG 702, the program display unit 702a and the playback unit 702b are activated simultaneously. When the program display unit 702a is activated, it waits for an input from the user through the input unit 501 of the broadcast receiving apparatus 102.
  • the input unit 501 is configured by the front panel shown in FIG.
  • FIGS. 9A and 9B are diagrams showing an example of the program table displayed on the monitor 810. FIG. On the monitor 810 shown in FIG.
  • program information is displayed in a grid pattern.
  • a column 801 displays time information.
  • a channel name “channel 1” and a program broadcast in the time zone corresponding to the time in column 801 are displayed.
  • the program “News 9” is aired from 9:00 to L0: 30, and 10:30 to 12:00 indicates that “Movie AAA” is aired.
  • the column 803 displays the channel name “channel 2” and the program broadcast in the time zone corresponding to the time in the column 801.
  • 9: 00 ⁇ Program at L 1: 0 “Movie BBB” will be broadcast, and “News 11” will be broadcast from 11:00 to 12:00. 830 is a power sol.
  • the cursor 830 moves when the left cursor 603 and the right cursor 604 on the front panel 600 are pressed.
  • the cursor 830 moves to the right, as shown in FIG. 9B.
  • the cursor 830 moves to the left as shown in FIG. 9A.
  • the program display unit 702a When the OK button 605 on the front panel 600 is pressed in the state of FIG. 9 (a), the program display unit 702a notifies the playback unit 702b of the identifier of “Channel 1”. When the OK button 605 on the front panel 600 is pressed in the state of FIG. 9B, the program display unit 702a notifies the playback unit 702b of the identifier of “Channel 2”.
  • the program display unit 702a periodically stores the program information to be displayed in the second memory 503 through the demultiplexing unit 505. In general, it takes time to acquire program information from broadcast stations.
  • the EPG button 607 of the input unit 501 is pressed, the program guide can be quickly displayed by displaying the program information stored in the second memory 503 in advance.
  • FIG. 10 is a diagram showing an example of program information stored in second memory 503 according to Embodiment 2 of the present invention.
  • Program information is stored in a table format.
  • Column 901 is an identifier for the channel.
  • Column 902 is a program name.
  • Column 903 is the broadcast start time of the program, and
  • column 904 is the broadcast end time.
  • Column 905 indicates the audio type of the program, and monaural audio, stereo audio, and 5.1 channel audio are described as “monaural”, “stereo”, and “5.1”, respectively.
  • a column 906 indicates the type of program.
  • the normal program is blank, “movie” is a movie, and “spo” is a sports program.
  • Each line of lines 911 to 914 represents one piece of program information.
  • one piece of program information is a set of a channel identifier, a program name, a broadcast start time, a broadcast end time, and a program audio type.
  • the channel identifier is “1”
  • the program name is “News 9”
  • the broadcast start time is “9:00”
  • the broadcast end time is “10:30”
  • the audio type is “monaural”
  • the type is a group including “normal”.
  • the playback unit 702b uses the received channel identifier to play back a channel. That is, the video and audio constituting the channel are reproduced.
  • the relationship between channel identifiers and channels is stored in advance in the second memory 503 as channel information.
  • FIG. 11 shows channels stored in second memory 503 according to Embodiment 2 of the present invention. It is an example of information.
  • Channel information is stored in tabular form.
  • Column 1001 is the channel identifier.
  • Column 1002 is the channel name.
  • Column 1003 is tuning information.
  • the tuning information includes a frequency, a transfer rate, a coding rate, and the like, and is a value given to the receiving unit 504.
  • Column 1004 is the program number.
  • the program number is a number that identifies the PMT defined in the MPEG2 standard. PMT will be described later.
  • Lines 1011 to 1014 are a set of identifiers, channel names, and tuning information for each channel.
  • Line 1011 is a set including an identifier “1”, a channel name “channel 1”, a tuning information frequency “150 MHz”, and a program number “101”.
  • the playback unit 702b passes the received channel identifier to the service manager as it is to play back the channel.
  • the playback unit 702b receives the received notification through the CPU 512 from the input unit 501 and plays it. Change the current channel. Pressing the up cursor 601 plays a channel with a channel identifier that is one smaller than the currently playing channel, and pressing the down cursor 602 plays a channel with a channel identifier that is one greater than the currently playing channel. Reproduce. First, the playback unit 702b stores the identifier of the channel currently being played back in the second memory 503.
  • FIGS. 12 (a), 12 (b), and 12 (c) are examples of information indicating channel identifiers stored in second memory 503 according to Embodiment 2 of the present invention.
  • the identifier “3” is stored, and referring to FIG. 11, it is shown that the channel with the channel name “TV 3” is being played back.
  • the playback unit 702 b refers to the channel information shown in FIG.
  • the channel identifier “2” stored in the second memory 503 is rewritten.
  • FIG. 12 (b) shows a state in which the channel identifier has been rewritten.
  • the playback unit 702b refers to the channel information in FIG. 11 and has an identifier that is one greater than the channel currently being played in the table.
  • the identifier “4” of the channel name “TV Japan” is handed over to the service manager.
  • the channel identifier “4” stored in the second memory 503 is rewritten.
  • Figure 12 (c) shows the channel identifier being rewritten. Since the channel identifier is stored in the second memory 503, it is saved even when the power of the broadcast receiving apparatus 102 is turned off.
  • the playback unit 702b when the playback unit 702b is activated when the power of the broadcast receiving apparatus 102 is turned on, the playback unit 702b reads the channel identifier stored in the second memory 503. Then, the channel identifier is handed over to the service manager. As a result, the broadcast receiving apparatus 102 can start playback of the last channel played back during the previous operation when the power is turned on.
  • JavaVM703 is a Java virtual machine that sequentially analyzes and executes a program written in the Java (TM) language. Programs written in the Java language are compiled into intermediate code, called bytecode, that does not depend on hardware. The Java virtual machine is an interpreter that executes this bytecode. Some Java virtual machines also translate the bytecode into an execution format that can be understood by the CPU 512, and then deliver it to the CPU 512 for execution. JavaVM703 is started by specifying a Java program to be executed on the kernel 70 la. In the present embodiment, the kernel 701a designates the service manager 704 as a java program to be executed.
  • Java Language Specification (ISBN 0—201—63451—1)”. The details are omitted here.
  • the detailed operation of JavaVM itself is described in many books such as “Java Virtual Machine Specification (ISBN 0-201-63451-X)”. The details are omitted here.
  • the service manager 704 is a Java program written in the Java language and is sequentially executed by the Java VM703.
  • the service manager 704 is written in the Java language through JNI (Java Native Interface) and can call and call other subprograms! JNI is also explained in many books such as the book "Java Native Interfacej. The details are omitted here.
  • JNI Java Native Interface
  • the service manager 704 receives the channel identifier from the playback unit 702b through JNI. receive.
  • the service manager 704 first passes the channel identifier to the Tuner 705c in the Java library 705 and requests tuning.
  • the Tuner 705c refers to the channel information stored in the second memory 503 and acquires the tuning information. Now, when the service manager 704 hands over the channel identifier “2” to the Tuner 705c, the Tuner 7 05c refers to the row 1012 in FIG. 11 and acquires the corresponding tuning information “156 MHz,”.
  • the Tuner 705c passes the tuning information to the receiving unit 704 through the tuner 701bl of the OS 701 library 701b.
  • the receiving unit 704 demodulates the signal transmitted from the broadcast station according to the given tuning information, and passes it to the demultiplexing unit 705.
  • the service manager 704 requests the CA705d in the Java library 705 for descrambling.
  • the CA 705d provides the descrambler 506 with information necessary for decryption through the restriction release 701b2 of the library 701b of the OS 701.
  • the descrambler 506 decodes the signal given from the receiving unit 504 based on the given information and passes it to the TS decoder 507.
  • the service manager 704 gives the channel identifier to the JMF 705a in the Java library 705 and requests the playback of video / audio.
  • the JMF 705a obtains a packet ID for specifying video and audio to be reproduced from the PAT and PMT.
  • PAT and PMT are tables defined by the MPEG2 standard that represent the threading and composition in the MPE G2 transport stream, embedded in the payload of packets included in the MPEG2 transport stream, and shared with audio and video. To be sent to. For details, refer to the specifications. Here, only an outline will be described.
  • PAT is an abbreviation of Program Association Table and is stored in a packet with packet ID “0” and transmitted.
  • the JMF 705a designates the packet ID “0” to the demultiplexing unit 705 through the library 70 lb of the OS 701 in order to obtain the PAT.
  • Demultiplexer 705 is a bucket By filtering with HD “0” and handing it over to CPU512, JMF705a collects PAT packets.
  • FIG. 13 is a diagram schematically showing an example of collected PAT information.
  • Column 1201 is the program number.
  • Column 1202 is the packet ID. The packet ID in column 1202 is used to obtain the PMT.
  • Rows 1211 to 1213 are a set of a channel program number and a corresponding packet ID. Here, three channels are defined.
  • Line 1211 defines a set of program number “101” and packet ID “501”. If the channel identifier given to JMF705a is now “2”, JMF705a refers to row 1212 in FIG. 13 and obtains the corresponding program number “102”, and then the PAT in FIG. Referring to line 1212, packet ID “502” corresponding to program number “102” is acquired.
  • PMT is an abbreviation for Program Map Table, and is stored and transmitted in packets with packet IDs specified by PAT.
  • the JMF 705a specifies the packet ID to the demultiplexing unit 505 through the library 701b of the OS 701 in order to acquire the PMT.
  • the packet ID to be specified is “502”.
  • the demultiplexing unit 505 performs filtering with the packet ID “502” and passes it to the CPU 512, so that JMF705a collects the PMT packets.
  • FIG. 14 is a diagram schematically showing an example of collected PMT information.
  • Column 1301 is the stream type.
  • Column 1302 is the packet ID. In the packet with the packet ID specified in column 1302, the information specified by the stream type is stored in the payload and transmitted.
  • Column 1303 is supplementary information.
  • Lines 1311 to 1314 are a set of a packet ID and the type of information being transmitted, called an elementary stream.
  • a row 1311 is a set of the stream type “audio” and the packet ID “5011”, and represents that the audio is stored in the payload of the packet ID “5011”.
  • JMF705a obtains the video and audio packet IDs to be played back from PMT. Referring to FIG. 14, JMF705a obtains audio packet ID “5011” from line 1311 and video packet ID “5012” from line 1312.
  • the JMF 705a delivers the acquired audio packet ID and video packet ID to the AV playback 701b3 of the OS 701 library 701b.
  • the AV playback 701b3 gives the received audio packet ID and video packet ID to the TS decoder 507.
  • TS decoder 507 performs filtering with the given packet ID.
  • packet ID “5011” Are output to the audio output unit 509
  • the packet with the packet ID “5012” is output to the video output unit 508, and the audio output unit 509 converts the given packet as appropriate (for example, digital / analog conversion) and outputs it.
  • the video output unit 508 appropriately converts a given packet (for example, digital-analog conversion) and outputs it.
  • the service manager 704 gives the channel identifier to the AM 705b in the Java library 705, and requests the data broadcast reproduction.
  • the data broadcast reproduction refers to extracting a Java program included in the MPEG2 transport stream and causing the JavaVM 703 to execute it.
  • a method called DSMCC described in the MPEG standard ISOZIEC13818-6 is used as a method for embedding a Java program in an MPEG2 transport stream. Detailed explanation of DSMCC is omitted here.
  • the DSMCC method defines a method for encoding a file system consisting of a directory file used in a computer in an MPEG2 transport stream packet.
  • the information of the Java program to be executed is sent in an AIT format embedded in the MPEG2 transport stream packet.
  • AIT is an abbreviation of Application Information Table defined in Chapter 10 of the DVB-MHP standard (formally, ETSI TS 101 812 DVB-MHP specification VI.0.2).
  • AM 705b first acquires PAT and PMT, as well as JMF 705a, in order to acquire AIT, and acquires the packet ID of the packet in which A IT is stored. If the identifier of the given channel is “2” and the PAT of FIG. 13 and the PMT of FIG. 14 are transmitted, the PMT of FIG. 14 is acquired in the same procedure as JMF705a.
  • the AM705b also extracts the packet ID from the elementary stream power having the stream type “data” and supplementary information “AIT” from the PMT. Referring to FIG. 14, the elementary stream on line 1313 corresponds to the packet ID “5013”.
  • the AM 705b gives the AIT packet ID to the demultiplexing unit 505 through the library 701b of the OS 701.
  • the demultiplexing unit 505 performs filtering with the given packet ID and delivers the CPU 512 bits.
  • AM705b can collect AIT packets.
  • FIG. 15 is a diagram schematically showing an example of collected AIT information.
  • Column 1401 is the identifier of the ava program.
  • Column 1402 ⁇ is ava program control information. Control information ⁇ Autostart '', ⁇ present '', ⁇ kill '', etc., ⁇ autostart '' means that the broadcast receiver 102 will immediately execute this program automatically, and rpresentj will not automatically execute! Meaning "kill" means to stop the program.
  • Column 1403 is the DSMCC identifier for extracting the packet ID that contains the Java program in the DSMCC format.
  • Column 1404 ⁇ ⁇ is the program name of the ava program. Lines 1411 and 1412 are a set of Java program information.
  • the Java program defined in line 1411 is a set of identifier “301”, control information “autostart”, DSMCC identifier “1”, and program name “aZTopXlet”.
  • the Java program defined in line 1412 is a set of identifier “302”, control information “present”, DS MCC identifier “1”, and program name “bZGameXlet”.
  • two Java programs have the same DSMCC identifier. This means that two Java programs are included in a file system that is encoded in one DSMCC method.
  • only four pieces of information are defined for Java programs, but more information is actually defined. Refer to the DVB—MHP standard for details.
  • the AM705b finds the "autostart" Java program from the AIT and extracts the corresponding DSMCC identifier and Java program name. Referring to FIG. 15, AM705b extracts the Java program on line 1411 and obtains the DSMCC identifier “1” and the Java program name “aZ TopXlet”.
  • the AM705b acquires the packet ID of the packet storing the Java program in the DSMCC format using the DSMCC identifier acquired from the AIT. Specifically, the packet ID of the elementary stream that matches the DSMCC identifier of the supplemental information with the stream type “data” in the PMT is acquired.
  • the DSMCC identifier power is “1” and the PMT is as shown in FIG. 14, the elementary stream in the row 1314 matches, and the packet ID “5014” is extracted.
  • AM705b designates the packet ID of the packet in which data is embedded in the demultiplexing unit 505 through the OS701 library 701b in the DSMCC format.
  • the packet ID “50 14” is given.
  • the demultiplexing unit 505 performs filtering based on the given packet ID, and hands it over to the CPU 512.
  • AM705b can collect necessary packets.
  • AM705b restores the file system from the collected packets according to the DSMCC method And stored in the first memory 502 or the second memory 503.
  • the process of retrieving file system data and saving it in the first memory 502 or the second memory 503 is hereinafter referred to as downloading.
  • FIG. 16 is a diagram showing an example of a downloaded file system.
  • circles represent directories, squares represent files, 1501 is the root directory, 1502 is the directory ⁇ a '', 1503 is the directory ⁇ b '', 1504 is the file ⁇ TopXlet.class '', 1505 is the file ⁇ GameXlet. class ".
  • the OCAP specification that describes an example of downloading a file system from an MPEG2 transport stream also specifies download using an IP network.
  • a method for specifying the location of a file system using information called XAIT instead of AIT and downloading the file system is also specified.
  • the AM 705b delivers the Java program to be executed in the file system downloaded to the first memory 502 or the second memory 503 to the Java VM 703.
  • a ZTopXlet a program name to be executed
  • classj Karo file aZTopXlet.
  • Class is to be executed file of the Java program name.
  • Z is a directory or file name delimiter.
  • file 1504 is a Java program to be executed.
  • AM705b hands over Fuinole 1504 to Java VM703.
  • the Java VM 703 is delivered and executes the Java program.
  • the service manager 704 gives a channel identifier to the network library 705e in the Java library 705, and requests data transmission.
  • the network library 705e acquires PAT and PMT as in the above 6JMF705a and AM705b, and acquires the packet ID of video data, audio data, and each section data related to the program to be transmitted. If the given channel identifier is “2” and the PAT of FIG. 12 and the PMT of FIG. 14 are transmitted, the PMT of FIG. 14 is acquired in the same procedure as JMF705a.
  • the data to be transmitted is all the data described in the PMT in Figure 14.
  • the network library 705e is connected to the TS decoder 507 through the library 701b of OS701. These packet IDs are given to the TS multiplexer 510 for output.
  • the TS decoder 507 performs filtering with the given packet ID, and passes it to the TS multiplexer 510.
  • the network library 705e gives the TS multiplexer 510 how many kinds of data are sent through the library 701b of the OS 701, and the MPEG2 transport from the data delivered from the TS decoder 507. Create a stream.
  • the TS multiplexer 510 delivers the configured MPEG2 transport stream to the CPU.
  • the network library 510e gives the address of the transmission destination to NET701b4 of the library 701b of the OS701. Subsequently, the network library 701b4 converts the MPEG2 transport stream received from the TS multiplexer 510 into a format according to the application level protocol to be transmitted, and sequentially delivers it to the NET 701b4.
  • Application-level protocols are, for example, HTTP and RTP.
  • the NET 701 b 4 refers to the transmission destination address, converts the transferred data into an IP network packet, and transfers the packet to the network unit 511.
  • the network unit 511 converts the delivered data into a signal corresponding to the physical medium of the connected network and outputs the signal.
  • the service manager 704 executes the video'audio being played through each library included in the Java library 705 and the execution of the Java program or output to the network.
  • the library is stopped through each library included, and based on the newly received channel identifier, the video and audio are played and the Java program is executed or output to the network.
  • the service manager 704 has not only the playback unit 702b but also a function of receiving a channel identifier from a Java program manager executed on the Java VM 703. Specifically, it provides Java language classes and methods for receiving channel identifiers. Upon receipt of the channel identifier, the service manager 704 sends the currently playing video's audio and Java program execution or output to the network through each library included in the Java library 705 to each of the same ava library 705. Stop through the library and then based on the newly received channel identifier Play video 'audio and execute Java program or output to network.
  • the Java library 705 is a set of a plurality of Java libraries stored in the second memory 503.
  • the Java library 705 is JMF705a, AM705b, Tuner7
  • JMF705a The functions of JMF705a, AM705b, Tuner705c, and CA705d are already described!
  • Playback Lib705f stores Java language classes and methods (hereinafter referred to as Java) for passing the channel identifier stored in the second memory 503 to the Java program.
  • Java Java language classes and methods
  • a PI Java API
  • the IO 705g provides the Java program with a Java API for the Java program to write data to the second memory 703 or a Java API for reading the written data from the second memory 503.
  • a Java program can store arbitrary data in the second memory 503. Since the stored data does not disappear even when the power of the broadcast receiving apparatus 102 is turned off, the data can be read again after the power of the broadcast receiving apparatus 102 is turned on.
  • AWT705h provides a Java API for a Java program to perform drawing and receive a key input notification from the input unit 501.
  • "The Java class Librari es Second Edition, Volume 2" 13? ⁇ 0— 201—31003— 1) defaults to 3 ⁇ 4) & va.
  • detailed description is omitted.
  • SI705i provides a Java API by which a Java program acquires channel information and electronic program guide information.
  • Java TV specifications exist.
  • the MPEG section filter API that obtains raw binary data from the MPEG2 transport stream being broadcast is defined in the OCAP specification, and the original electronic program that was sent Data can also be understood and handled by Java applications.
  • the network library 705e communicates with the video storage device 103, the video storage device 104, the terminal 105, and the terminal 106 connected to the network 107 through the NET701b4 of the library 701b of the OS 701.
  • the video storage device 103 and the video storage device 104 are the transmission / reception of the attribute of the video storage device, the request for storing the multimedia data and the transmission of the multimedia data, the inquiry about whether or not the specific multimedia data is stored.
  • the transmission of the multimedia data to be stored and communication of the right processing associated with the use of the multimedia data are performed.
  • the terminal 105 and the terminal 106 receive a request for transmitting multimedia data, transmit multimedia data, or notify a video storage device to which multimedia data is transmitted.
  • FIG. 17 is a block diagram showing an example of the internal configuration of network library 705e according to Embodiment 2 of the present invention.
  • the network library 705e includes a control unit 1601, a data reception unit 1602, an information communication unit 1603, a selection unit 1604, a data output unit 1605, a request transmission unit 1606, and a right processing unit 1607.
  • the network library 705e may include other functions related to the IP network.
  • the control unit 1601 provides the functions realized by the network library 705e for the downloaded Java application. That is, the control unit 1601 provides a Java API to a Java application, and can execute a function using a network by calling this API. When the Java API is called, the control unit 1601 appropriately receives the data reception unit 1602, the information communication unit 1603, the selection unit 1604, the data output unit 1605, the request transmission unit 1606, the authoritative IJ processing unit 1607, and other Java libraries. Process using 70 lb of 705 and OS 701 libraries.
  • FIG. 18 is a diagram showing an example of the Java API provided by the control unit 1601 according to Embodiment 2 of the present invention.
  • Figure 18 (1) Method collectNetDevice O collects information on external devices connected to network 107 and returns an array of NetDevice objects as the information. Specifically, it calls the method collectNetDevice O of the information communication unit 1603 described later and returns the return value. With this method, information on devices connected to the network can be obtained.
  • FIG. 19 is a diagram illustrating an example of the configuration of the NetDevice class. In FIG. 19, addr represents the network address of the device, friendlyName represents the nickname assigned to the device, dType represents the type of the device, 0 represents the broadcast receiving device, 1 represents the video storage device, and 2 represents the terminal. To do. Since such information can be performed by the method defined in UPnP DA, the details of the processing are omitted. Attr is an attribute of the video storage device and is an object of DevAttrib class.
  • FIG. 20 is a diagram showing an example of the configuration of the DevAttrib class.
  • remain Cap represents the amount of free space for storing multimedia data
  • replayFavoritGen re represents the most frequently used genre of content played or output to the network, 0 for movies, 1 for sports, And so on.
  • recordFavoritGenre represents the most frequently used genre of content recorded by user operation.
  • Figure 18 The method sendMultimediaData () specifies the channel identifier and sends multimedia data to the video storage device 103 or video storage device 104. If it succeeds, it returns true and fails. Will return false.
  • Fig. 18 (3) method acceptMultimediaRequest O, when called, is resident by starting up another process or thread and running on it. If the multimedia data is stored in the video storage device 103 or the video storage device 104, the transmission request to the terminal is issued to the video storage device. Is notified to the video storage device that the multimedia data is transmitted, and if it is not stored, the multimedia data is received from the broadcasting station to the terminal. It is to be sent, and returns true when successful, and false when abnormal. Note that the configuration may be terminated if one request is received without being resident.
  • Figure 18 (4) Method collectMultimediaData 0 searches for multimedia content provided by the VoD service using Java library 705, etc. Is received by making a request to the service manager 704, and is sent to the video storage device by calling the method sendMultimediaData O, and returns true if successful and false if unsuccessful.
  • Figure 18 sets the algorithm used when the selection unit 1604 selects the video storage device to the one given by the argument id. If it succeeds, it returns true and fails. Returns false. The id value and each algorithm are predetermined. This method is performed by calling the method setSelectAlgorithm O of the selection unit 1604.
  • Figure 18 Method setStoragePriority () sets the priority of the video storage device when the selection unit 1604 selects according to the priority of the video storage device. Assume that the priority is higher in order. Returns true if the process succeeds, false if it fails. This method is performed by calling the method setStoragePriority () of the selection unit 1604. Note that this method may have a configuration in which an array of pairs of video storage devices and their priority values is set as an argument.
  • Figure 18 (7) setTerminalPriority O sets the priority of the terminal when the selection unit 1604 selects the video storage device according to the priority of the terminal.
  • the priority is set in the order of the array of the arguments devices. Is high. Returns true if the process succeeds, false if it fails.
  • This method is performed by calling the method setTerminalPriority O of the selection unit 1604. Note that this method may have a configuration in which an array of pairs of terminals and their priority values is set as an argument.
  • Method setCombination O sets the pair of video storage device and terminal when selection unit 1604 selects the video storage device according to the priority of the terminal. , Give the video storage device with the argument devices, give the terminal with the arguments terms, and set each array as a pair with the same I-descriptor. This method is performed by calling setCombination () of the selection unit 1604.
  • Fig. 18 (9) Method setSelectedStorageDevice () makes the video storage device of the index given by the argument id the selected video storage device. This method is executed by calling the method setSelectedStorageDevice () of the selection unit 1604. The details will be described there.
  • Figure 18 (10) The method registerHandler () registers the handler given by the argument handler in the system, and returns true if it succeeds and false if it fails.
  • a Java application can receive a callback from the network library 705e by registering the handler.
  • Data receiving section 1602 includes TS decoder 507 and TS multiplexer of broadcast receiving apparatus 102.
  • the 510 is controlled through the library 701 of the OS 701, and the video, audio and section data filtered by the TS decoder 507 are read out by the TS multiplexer 510 as an MPEG2 transport stream.
  • the data receiving unit 1602 provides the Java API to the control unit 1601 and the downloaded Java application.
  • FIG. 21 is a diagram showing an example of a Java API provided by the data receiving unit 1602 according to Embodiment 2 of the present invention.
  • the information communication unit 1603 controls the network unit 511 of the broadcast receiving device 102 through the NET701b4 of the library 701 of the OS 701, and transmits / receives messages to / from an external device connected to the specified network 107. is there.
  • the information communication unit 1603 provides the Java API to the control unit 1601 and the downloaded Java application.
  • FIG. 22 is a diagram showing an example of the Java API provided by the information communication unit 1603 according to Embodiment 2 of the present invention.
  • Figure 22 (1) Method checkStorageAttribute O sends an attribute transmission request to the information storage device specified by the argument, receives the response, and sets the attribute in the NetDevice class object indicated by the argument dev. If it fails, it returns true. If it fails, it returns false.
  • Figure 22 (2) Method 56! 1 (131; 0 1 ⁇ 11 ⁇ 251; () sends a storage request to the video storage device specified by the argument d ev and receives a response. If a communication failure or request rejection is received, it will return false. is there.
  • the argument id is an identifier of multimedia data issued by the control unit 1601, and is sent to the video storage device together with the transmission request.
  • Figure 22 (3) Method & 51 ⁇ 01 ⁇ 61 ⁇ 31; 0 (1 () indicates whether or not the video storage device specified by the argument dev stores the multimedia data specified by the argument id. Sends an inquiry and receives a response. Returns true if a response is received if it is stored, and returns false if it receives a response if it has not been stored or if communication fails. 22 (4) Method 56! 1 (11 ⁇ & 115 £ 6 1 ⁇ 11 ⁇ 251; () is the multimedia data specified by the argument id to the video storage device specified by the bow I number server.
  • Figure 23 shows the structure of the MMRequest class
  • Figure 22 Method notifyTransferDevice O is connected by the Socket object using the Socket object specified by argument s It notifies the terminal that multimedia data is sent from the video storage device specified by the argument dev, and returns true if it succeeds and false if it fails.
  • the method! 10 £ 1 ⁇ & 115 £ 6 0 && () uses the Socket object specified by the argument s to send a message from the broadcast receiver 102 to the terminal connected by the Socket object.
  • Method 110 £ 1111 & 1) 161 ⁇ & 115 £ 61 The socket object specified by the argument s is used to notify the terminal connected by the Socket object that the requested multimedia data cannot be transmitted for the reason represented by the argument status. Returns true if successful, false if unsuccessful.
  • Figure 22 (9) Method collectNetDevice O collects information on external devices connected to the network 107 and returns an array of NetDevice objects as the information. Since this process can be performed by the method defined in UPnP DA, the details of the process are omitted. [0229] The selection unit 1604 selects one of the video storage devices connected to the network 107 based on the set algorithm, the video storage device attributes, and the multimedia data attributes. .
  • the selection unit 1604 downloads the control unit 1601 and the Java
  • FIG. 24 is an example of Java API provided by the selection unit 1604 according to Embodiment 2 of the present invention.
  • the method selectDevice () is a video storage device stored in d evices from the video storage devices indicated by the argument devices according to the algorithm set by the method setAlgorithm O described later.
  • One video storage device based on the attributes of the channel and the channel identifier indicated by the argument id and the attributes of the multimedia data that can also read the program information stored in the second memory 503 shown in FIG. If successful, the selected video storage device is returned in the devices index, and if it fails, a negative value is returned.
  • the algorithm to be selected is to select a video storage device with a large free space, allocate and select a video storage device for each genre of multimedia data, and select multimedia data of the same genre as the multimedia data genre.
  • Select a video storage device that has been recorded frequently by user operation Select a device according to the priority of the video storage device set by the method setStoragePriority O, which will be described later.
  • Figure 24 (2) The method setSelectAlgorithm O sets the algorithm used when the selection unit 1604 selects the video storage device to the one given by the argument id. If it succeeds, it returns true and fails. Returns false. The id value and each algorithm are predetermined. [0233]
  • Figure 24 sets the priority of the terminal when the selection unit 1604 selects the video storage device according to the priority of the terminal.
  • the priority is in the order of the array of the arguments devices. Is high. Returns true if the process succeeds, false if it fails.
  • This method may have a configuration in which an array of pairs of terminals and their priority values is set as an argument.
  • Figure 24 (5) Method 56 0) 1! 1 11 & 1011 shows the relationship between the video storage device and the terminal when the selection unit 1604 selects the video storage device according to the priority of the terminal. Set the pair.
  • the video storage device is given by the argument devices
  • the terminal is given by the arguments terms
  • the ones with the same I in the array are set as a pair.
  • FIG. 24 Method setSelectedStorageDevice () sets the video storage device with the index given by the argument id as the selected video storage device.
  • This method is called by the java application that notifies the Java application with the callback function and accepts the user's input when selecting by the user's input using the method selectDevice O force.
  • the callback function is Handler, notify (NetDevices [] devices, Object obj), if the handler object of the Java application is Handler. This allows the Java application to list the video storage device given by the argument to the user. Present and accept user input.
  • the index of the array devices is acquired from the received input, but the control unit 1601 or selection unit 1604 instance is given by the argument obj, and set by calling the method setSelectedStorageDevice O.
  • the handler object Handler is registered by the method registerHandler O of the control unit 1601. Note that the selection unit 1604 may have the same registerHandler O method and may be disclosed to Java applications.
  • the data output unit 1605 controls the network unit 511 of the broadcast receiving apparatus 102 through the NET701b4 of the library 701 of the OS 701, and connects the data receiving unit 1602 to the external device connected to the specified network 107. Sends the multimedia data received by.
  • the data output unit 1605 provides a Java API to the control unit 1601 and the downloaded Java application.
  • FIG. 25 is an example of a Java API provided by the data output unit 1605 according to Embodiment 2 of the present invention.
  • Figure 25 (1) The method sendData O sends the data read from the InputStr earn object specified by the argument is to the device connected to the network 107 specified by the argument dev until the is force also reads EOF. If it succeeds, it returns true, and if it fails, it returns false.
  • the request transmission unit 1606 requests the service manager 704 to send a multimedia data transmission request for the VoD service.
  • the request transmission unit 1606 provides the Java API to the control unit 1601 and the downloaded Java application.
  • FIG. 26 is an example of a Java API provided by the request transmission unit 1606 according to Embodiment 2 of the present invention.
  • Figure 26 (1) Method sendRequest O requests the service manager 704 to send a multimedia data transmission request specified by the argument id. If it succeeds, it returns true, and if it fails, it returns false. .
  • the rights processing unit 1607 requests the service manager 704 to perform rights processing such as charging associated with the use of multimedia data.
  • the rights processing unit 1607 provides the Java API to the control unit 1601 and the downloaded Java application.
  • FIG. 27 is an example of a Java API provided by the right processing unit 1607 according to Embodiment 2 of the present invention.
  • Figure 27 (1) The method requestContentUse O requests the service manager 704 to process the right of the content specified by the argument id.If content use is permitted, it returns true and is not permitted or the process fails. Will return false.
  • sendMultimediaData O When sendMultimed iaData O is called, first, a video storage device connected to the network 107 is searched by the method collectNetDevice () of the control unit 1601. Subsequently, for each video storage device, the method checkStorageAttribute () of the information communication unit 1603 is called to check the attribute of each video storage device. Subsequently, the method selectDevice 0 of the selection unit 1604 is called to select a video storage device. Furthermore, an identifier for identifying the multimedia data is issued.
  • the storage request is transmitted together with the multimedia data identifier and the multimedia data program information.
  • the method openProgram O of the data receiving unit 1602 is called to obtain an Input Stream object for reading out the mano-reciprocal media data.
  • the method sendData O of the data output unit 1605 is called to transmit the received multimedia data to the selected video storage device. If the processing is successful, the identifier of the issued multimedia data is stored in the second memory 503 together with the attributes of the multimedia data.
  • the process of the method acceptMultimediaRequest () will be described.
  • the method ac ceptMultimediaRequest () creates another thread or process and runs on it.
  • the method acceptTerminalRequest O of the information communication unit 1603 is called to receive the request from the terminal.
  • the identifier of the requested multimedia data is specified from the request from the terminal or the channel identifier received from the terminal and the information stored in the second memory 503.
  • the video storage device connected to the network is searched from the power to call the method collectNetDevice () of the control unit 1601 or the information stored in the second memory 503.
  • the method askContentStored O of the information communication unit 1603 is called to inquire whether or not the multimedia data is stored in the video storage device. If there is a stored video storage device, the video communication device includes an information communication unit. By calling the method sendTransferRequest O of 1603, the multimedia data transmission request is issued to the terminal that made the request. The requested terminal is specified from the Socket object communicating with the terminal and the result of the method collectNetDevic () of the management unit or the information stored in the second memory 503.
  • the terminal that has made the request is notified of the video storage device that is accumulating by calling the method notigyTransferDevice () of the information communication unit 1603.
  • the data transmission request is issued by calling the method sendRequest O of the request transmission unit 1606. If the multimedia data is not transmitted from the broadcasting station! If the sendRequest O force ⁇ alse is returned because it cannot be received for some reason or other reason, the method notifyUnableTransferO of the information communication unit 1603 is called to transmit the data to the terminal. Notify that it is impossible and return to the standby request.
  • the method notifyTmnsferData () method of the information communication unit 1603 is called to notify the terminal that the multimedia data is transmitted from the broadcast receiving apparatus 102.
  • the method openProgramO of the data receiving unit 1602 is called, and then the method sendData O of the data output unit 1605 is called to transmit the multimedia data to the terminal.
  • the data transmission is completed, it returns to waiting for a connection request.
  • a connection request is accepted, another thread or process is generated, and the subsequent processing is performed in the other thread or process, and the original thread or process returns to waiting for a connection request. Also good. In this case, the processing on the separate thread or process ends without returning to waiting for a connection request.
  • the Java application can receive content data for the VoD service prior to use and store it in the video storage device.
  • This accumulation may be performed at regular time intervals or may be performed at the date and time set by the user. Further, it may be performed at time intervals set by the user. Further, it may be performed by a user operation. Further, it may be performed according to an instruction from the broadcasting station 108.
  • the configuration of the video storage device 103 and the video storage device 104 will be described.
  • FIG. 28 is a block diagram showing the relationship among the components of video storage apparatus 103 and video storage apparatus 104 according to Embodiment 2 of the present invention.
  • the video storage device 103 and the video storage device 104 according to the present embodiment include an input unit 2701, a first memory 2702, a second memory 2703, a demultiplexing unit 2704, a TS decoder 2705, a video output unit 2706, an audio output unit 2707, a network And a CPU 2709.
  • the video storage device 103 and the video storage device 104 according to the present embodiment need not only store multimedia data but also reproduce multimedia data received from the broadcast receiving device 102 and playback of the stored multimedia data by user operation. It is the structure which also performs.
  • Input unit 2701, first memory 2702, and second memory 2703 are the same as input unit 501, first memory 502, and second memory 503 of broadcast receiving apparatus 102 in the present embodiment described above. is there.
  • the video storage device 103 and the video storage device 104 store multimedia data in the second memory 2703.
  • the program information obtained from the EPG card such as the identifier of the multimedia data, title, broadcast date and time, broadcast channel, etc., which is not just multimedia data, is also stored as metadata.
  • the demultiplexing unit 2704 receives the MPEG transport stream from the CPU 2709, extracts the specified information from the CPU 2709, and delivers it to the CPU 2709. In addition, the MPEG transport stream is transferred to the TS decoder 2705 as it is.
  • the TS decoder 2705 receives identifiers of audio data and video data from the CPU 2709. Further, data corresponding to the identifier of the received audio data and video data is extracted from the stream received from the demultiplexing unit 2704. The extracted video data is delivered to the video output unit 2706, and the audio data is delivered to the audio output unit 2707.
  • Video output unit 2706 and audio output unit 2707 are the same as video output unit 508 and audio output unit 509 of broadcast receiving apparatus 102 in the present embodiment described above.
  • the network unit 2708 includes a network interface, converts the data received from the CPU 2709 into a signal corresponding to the physical medium of the network to which the network interface is connected, and outputs the signal.
  • the network interface power also receives signals, converts them into packets defined by the IP network, and delivers them to the CPU 2709.
  • the CPU 2709 controls the demultiplexing unit 2704, the TS decoder 2705, and the network unit 2709 by executing a program stored in the second memory 2703.
  • FIG. 29 is a diagram showing a program configuration held and executed by the video storage apparatus according to Embodiment 2 of the present invention. This figure is a diagram showing an example of the configuration of a program stored and held in the second memory 2703 and executed by the CPU 2709.
  • the program 2800 includes a plurality of subprograms. Specifically, the program 2800 includes an OS 2801, a Java VM 2802, a service manager 2803, and a Java library 2804.
  • the OS 2801 is a subprogram that starts up the CPU 2709 when the video storage device 103 and the video storage device 104 are powered on.
  • OS 2801 is an abbreviation for an operating system, and Linux is an example.
  • the OS 2801 is a generic name for known techniques including a kernel 2801a and a library 2801b that execute other subprograms in parallel, and detailed description thereof is omitted.
  • the kernel 2801a of the OS 2801 executes Java VM 2803 as a subprogram.
  • the library 2801b provides these subprograms with a plurality of functions for controlling the video storage device 103 and the components held by the video storage device 104.
  • the library 2801b includes a restriction release 2801bl, AV playback 2802b2, and NET2801b3 as examples of functions.
  • Unlimited 2802bl receives information from CA2804c of other subprograms and Java library 2804, decrypts encrypted data that also received network power, enables AV playback 2801 b2, and receives multi The reproduction of the media data and the multimedia data stored in the second memory 270 3 is permitted.
  • AV playback 2802b2 receives the audio packet ID and video packet ID from other subprograms and JMF2804a of Java library 2804.
  • the received audio packet ID and video packet ID are given to the TS decoder 2705.
  • the TS decoder 2705 performs filtering based on the given packet ID, and realizes video and audio reproduction.
  • NET2801b3 creates a packet of the protocol lower than the application layer specified by the IP network from the data received from the network library 2804d of other subprograms and Java library 2804.
  • the protocol below the application layer is TCP packets, UDP packets, IP packets, etc.
  • messages and data are transmitted to other devices via the network 107.
  • a message from another device is received via the network 107, it is converted into an application layer protocol packet and delivered to another subprogram or the network library 2804d of the Java library 2804.
  • Examples of the application layer protocol include HTTP and RTP.
  • Java VM 2802 is the same as Java VM 703 of broadcast receiving apparatus 102 in the present embodiment described above.
  • the service manager 2803 is the same as the service manager 704 of the broadcast receiving apparatus 102 in the present embodiment described above except for the following differences.
  • the service manager 704 receives the channel identifier from the playback unit 702b, passes the identifier to the tuner 705c for tuning, requests CA705d to perform descrambling, gives the channel identifier to JMF705a, and plays the video 'audio playback.
  • the service manager 2803 receives the content identifier from List280 ⁇ in the Java library 2804, passes the content identifier to the IO2804f in the Java library 2804, and sends it to the second memory 2703.
  • the ability to read the stream stored in the network library 2804d is handed over the content identifier and the device that receives it, and whether to receive the stream from the device, then in the Java library 2804 By giving a content identifier to a certain JM F2804a, it is requested to play video 'audio. is there. List 2804i will be described later.
  • the service manager 2803 requests the network library 2804d in the Java library 2804 to wait for storage requests from the broadcast receiving apparatus 102, and to receive and store data, and from the broadcast receiving apparatus 102. Multimedia data is received and stored in the second memory 2703.
  • the service manager 2803 sends a request for multimedia data transmission from the broadcast receiver 102 to the network library 2804d in the Java library 2804 and a data transmission request from the terminal 105 or the terminal 106.
  • the multimedia data stored in the second memory 2703 can be processed by requesting the reception of the data and sending the data corresponding to the request. Send to the end.
  • the Java library 2804 is a set of a plurality of Java libraries stored in the second memory 2703.
  • the Java library 2804 includes JMF2804a, AM2804b, CA2804c, network library 2804d, reproduction Lib2804e, List2804i, and the like.
  • JMF2804a, AM2804b, playback Lib2804e, IO2804f, AWT2804g, SI2804h are respectively JMF705a, AM705b, playback Lib705f, IO705g, AWT705h, SI705i in Java library 7 05 of broadcast receiving apparatus 102 in the above-described embodiment. Is the same.
  • the CA 2804c manages rights processing of the multimedia data such as copy control and accounting of the multimedia data transmitted via the network 107 and the multimedia data stored in the second memory 2703.
  • Copy control refers to the copy control information included in the section information of the transmitted transport stream, and rewrites it if necessary.
  • Billing or the like is performed by communicating with the broadcast receiving apparatus 102 through the network library 2804d.
  • List 2804i is a list of multimedia contents stored in the EPG in the broadcast receiving apparatus 102, the second memory 2703, and a multimedia content stored in the video storage apparatus connected to the network 107. Is displayed, and one multimedia content is selected from the list by the user operation received by the input unit 2701, and the service manager 2803 is requested to play it. In the case of content stored in the broadcast receiving apparatus 102 or another video storage apparatus connected to the network 107, the information on the apparatus is also handed over to the service manager 2803. A list of contents stored in the second memory 2703 can be obtained by reading information through the IO2804f.
  • a list of contents stored in the EPG in the broadcast receiving apparatus 102 and other video storage apparatuses connected to the network 107 can be acquired through the network library 2804d. Since this information can be realized by the method defined in UPnP AV, detailed description is omitted.
  • the network library 2804d is connected to the network through NET2801b3 of OS2801b. It communicates with the broadcast receiving apparatus 102, other video receiving apparatus, terminal 105 and terminal 106 connected to 107.
  • the broadcast receiving device 102 is an attribute transmission of a video storage device, reception of a multimedia data storage request and reception of the multimedia data, a question as to whether or not the multimedia data is stored, combined reception and its reply, It stores the received multimedia data transmission request and communicates the right processing associated with the use of the multimedia data.
  • multimedia data list transmission / reception, multimedia data transmission, and multimedia data reception are performed.
  • FIG. 30 is a block diagram showing a second example of the internal configuration of network library 2804d according to Embodiment 2 of the present invention.
  • the network library 2804d includes a control unit 2901, a control information communication unit 2902, a data reception unit 2903, a data transmission unit 2904, an attribute management unit 2905, and a right processing unit 2906.
  • the network library 2804d may include other functions related to the IP network.
  • the control unit 2901 provides the functions realized by the network library 2804d for the downloaded Java application. That is, the control unit 2901 provides a Java API for the downloaded Java application, and the Java application calls this API, thereby realizing a function using the network. When the Java API is called, the control unit 2901 appropriately controls the control information communication unit 2902, the data reception unit 2903, the data transmission unit 2904, the attribute management unit 2905, the right processing unit 2906, other Java libraries 2804 and OS 2801. Process using 280 lb of the library.
  • FIG. 31 is a diagram showing an example of the Java API provided by the control unit 2901 included in the internal configuration of the network library 2804d according to Embodiment 2 of the present invention.
  • Figure 31 The method collectNetDevice O collects information on external devices connected to the network 107, returns an array of NetDevice objects as that information, and returns null if it fails. This method is performed by using the method collectNetDevic e () of the control information communication unit 2902 described later.
  • Figure 31 (2) The method acceptRequestToStore () is resident by starting another process or thread when it is called and running on it, and sending attributes from the broadcast receiving device 102 Request acceptance, multimedia data storage request acceptance, multimedia Receive data and store it in the second memory 2703. Returns true if successful, false if abnormal. Note that it may be configured to end if one request is received without being resident. Further, the Java application capability may be configured such that a device connected to the network 107 is passed as an argument and receives and stores data from the device by communicating with the device. Details will be described later.
  • Figure 31 The method acceptRequestToTransfer O is resident by starting another process or thread when it is called and running on it, and the specific multimedia data from the broadcast receiving device 102
  • the broadcast receiver 102 receives a request for transmission of specific multimedia data to a specific terminal, and transmits the multimedia data to the terminal.
  • the external device such as the terminal 105 and the terminal 106 also accepts the transmission request for multimedia data and transmits the multimedia data. Returns tr ue if successful, false if abnormal. Note that it may be configured to end if one request is received without being resident. Details will be described later.
  • Figure 31 (4) Method getMultimediaData O accepts a device connected to the network 107, content identifier, and output stream from a Java application or other subprogram, and from that device, the multimedia specified by the identifier is received. Media data is received and written to the output stream. Returns true on success, false on failure. This method allows a Java application to receive and play multimedia data held by other devices connected to the network 107. Details will be described later.
  • FIG. 32 is a diagram showing an example of the configuration of the Contentlnfo class used in the network library 2804d according to Embodiment 2 of the present invention. In FIG.
  • dev represents the video storage device
  • contentld represents the identifier of the content
  • channelld represents the identifier of the channel on which the content was broadcast
  • title represents the title of the content
  • gunre represents the content.
  • BroadDae represents the date and time when the content was broadcast
  • recDate represents the date and time when the content was recorded. This is done by calling the method getContentList () of the control information communication unit 2902 described later.
  • Figure 31 updates the attribute information when the process specified by the content force argument t ype specified by the argument id is performed. Returns true, otherwise returns false. This method is performed by calling the method updateAttribute () of the attribute management unit 2905 described later.
  • the control information communication unit 2902 controls the network unit 2708 through NET2801b3 of the library 2801 of the OS2801, and transmits / receives messages to / from an external device connected to the designated network 107.
  • the control information communication unit 2902 provides the Java API to the control unit 2901 and the downloaded Java application.
  • FIG. 33 shows an example of a Java API provided by the control information communication unit 2902.
  • FIG. 33 (1) The method collectNetDevice () is the same as the method collectNetDevice () of the information communication unit 1603 of the network library 705e of the broadcast receiving apparatus 102 in the present embodiment described above.
  • Figure 33 The method getRequestMessage O receives a message from the socket given by the argument s and returns it as a byte string. If it succeeds, it returns a byte string, and if it fails, it returns null. It is. This method is used when receiving requests from external devices.
  • Figure 33 (3) The method sendResponseMessage O sends an argument to the socket given by the argument s. Sends the message given by the number mes, returns true if it succeeds and false if it fails. This method is used when sending a response to a request from an external device.
  • Figure 33 (4) Method sendRequestMessage O sends the message given by the argument mes to the socket given by the argument s, and returns true if it succeeds and false if it fails. . This method is used when sending a request to an external device.
  • Figure 33 The method getResponseMessage O receives a message from the socket given by the argument s and returns it as a byte string. If it succeeds, it returns a byte string, and if it fails, it returns nul 1. It is. This method is used when receiving a response to a request sent to an external device.
  • Figure 33 (6) and (7) Method getConentList O gets the list of contents stored in the video storage device given by argument dev or multiple video storage devices given by devices. It returns an array of Contentlnfo objects, which returns on success and returns null on failure. Since the content list stored in each video storage device can be obtained by the method defined by UPnP AV, details are omitted.
  • the data receiving unit 2903 controls the network unit 2708 through NET2801b3 of the library 2801 of OS2801, and receives multimedia data through the network 107 from the broadcast receiving device or video storage device connected to the network 107. It is.
  • the data receiving unit 2903 provides the Java API to the control unit 2901 and the downloaded Java application.
  • FIG. 34 is an example of a Java API provided by data reception unit 2903 included in the internal configuration of the network library according to Embodiment 2 of the present invention.
  • FIG. 35 is a diagram showing an example of the configuration of the RemoteProgram class. In Figure 35, s represents the socket used for communication. The method getMedialnputStream O returns an InputStream object that reads the multimedia data.
  • Figure 34 (2) Method 0 6! 11 ⁇ 1110 6? 1: 0 8 111 () is a multimedia with the identifier given by the argument id stored in the device given by the argument dev.
  • a communication channel for receiving data is secured and returned by a RemoteProgram object. This object returns on success, and null on failure.
  • This method first creates and connects a Socket object that communicates with the device. Subsequently, a transmission request message including the given identifier is created and transmitted to the device by calling the method sendRequestMessage O of the control information communication unit 2902. Subsequently, the response message is received by calling getResponseMessage O of the control information communication unit 2902. If the reply message is OK, analyze it.
  • a new Socket object is created and a RemoteProgram object is created and returned using that Socket object. If a specific port is not specified, a RemoteProgram object is created from the Socket object used for communication and returned. If the response message is NG, return null.
  • the data transmission unit 2904 controls the network unit 2708 through NET2801b3 of the OS2801 library 2801, and outputs the specified multimedia data to the external device connected to the specified network 107. .
  • the data transmission unit 2904 provides the Java API to the control unit 2901 and the downloaded Java application.
  • FIG. 36 is a diagram showing an example of a Java API provided by the data transmission unit 2903 included in the internal configuration of the network library according to Embodiment 2 of the present invention.
  • Figure 36 (1) The method sendMultimediaData O sends the Socket object given by the argument s to the port given by the argument port of the device given by the argument dev. Is used to read data from the InputStream object given by the argument is and send the data up to that EOF. Returns true, false if it fails.
  • the attribute management unit 2905 manages the attributes of the video storage device.
  • the attributes of the video storage device are stored in the second memory 2703.
  • the attribute management unit 2905 is a Java library 2
  • the attribute management unit 2905 provides the Java API to the control unit 2901 and the downloaded Java application.
  • FIG. 37 is an example of a Java API provided by attribute management section 2905 included in the internal configuration of the network library according to Embodiment 2 of the present invention.
  • Figure 37 (1) The method updateAttribute () updates the attribute information when the content specified by the argument id is processed by the process specified by the argument t ype. Returns true if it fails, false if it fails. A type value of 0 indicates accumulation, while a value of 1 indicates playback or transmission to the network. This method reads attribute information and stored content information from the second memory 2703, checks the genre of the content, and checks the free space in the multimedia data area of the second memory 2703. Update attribute information. Then, the updated attribute information is written into the second memory 2703.
  • Figure 37 (2) Method getAttribute () reads attribute information from the second memory 2703, stores the necessary data in the DevAttrib object, and returns the DevAttrib object. .
  • the right processing unit 2906 performs the right processing related to the use of the content of the identifier given by the argument id to the broadcast receiving apparatus 102.
  • the right processing unit 2906 provides the Java API to the control unit 2901 and the downloaded Java application.
  • FIG. 38 is an example of a Java API provided by the right processing unit 2906 included in the internal configuration of the network library according to the second embodiment of the invention.
  • Figure 38 (1) Method requestContentUse O requests permission to use the content of the identifier given by the argument id to the device given by the argument dev. True if permission is obtained , Or false if not allowed or processing failed.
  • This method creates a request message and sends the method sendReque of the control information communication unit 2902 Call stMessage O to send.
  • a response message is received by calling the method getReposeMessageO of the control information communication unit 2902. It returns true if the response message shows OK! / ⁇ and false if it shows NG! /.
  • the method acceptRequestToStore creates another thread or process and runs on it.
  • a socket object that accepts a connection from the broadcast receiving apparatus 102 is generated, and a connection request is awaited.
  • the request message is received by calling the method getRequestMessage () of the control information communication unit 2902. If the received request message is an attribute inquiry, the attribute information is read by calling the method getAttribute O of the attribute management unit 2905 to read the attribute information, and the method sendResponseMessage () of the control information communication unit 2902 is called back. Return to waiting for connection request.
  • the received request message is a request for storing multimedia data
  • the identifier of the requested message and the program information are extracted.
  • the input stream to be received is created by calling the method openRemote Program () of the data receiving unit 2903.
  • the multimedia data is stored by writing the identifier, the program information, and the multimedia data received from the InputStream into the second memory 2703 through the IO2804f in the Java library 2804.
  • the attribute information is updated by calling the method updateAttribute O of the attribute management unit 2905.
  • connection request When a connection request is received, another thread or process is further generated, and the subsequent processing operates in the other thread or process, and the original thread or process returns to waiting for a connection request. May be. In this case, the processing on the other thread or process ends without returning to waiting for a connection request.
  • the method acceptRequestToStore () may take a NetDevice object as an argument, and the broadcast receiving apparatus 102 may be given by this argument. In this case, in addition to the above processing, if the device is not the device given by the device argument that is connected to the waiting Socket object, the connection request is not accepted.
  • the method acceptRequestToTransfer O creates another thread or process and runs on it. First, a Socket object that accepts a connection with a device connected to the network 107 is generated, and a connection request is awaited. If a connection request is received, the method getRequestMessage () of the control information communication unit 2902 is called to receive the request message.
  • the request message microphone When the broadcast receiving apparatus 102 makes an inquiry as to whether or not a certain piece of multimedia data is stored! /, First, the request message microphone also takes out the multimedia data identifier. Next, through the IO2804f in the Java library 2804, a list of stored contents is read out and collated with the retrieved identifier to determine whether or not the multimedia data is stored. Subsequently, the determination result is returned by calling the method sendResponseMessage () of the control information communication unit 2902, and the process returns to waiting for a connection request. If the received request message is a request for transmission of certain multimedia data from the broadcast receiving apparatus 102, first, the identifier of the multimedia data to be transmitted to the destination terminal is extracted from the request message.
  • an InputStream that reads the multimedia data through the IO2804f is acquired.
  • the multimedia data is transmitted to the terminal.
  • the method updateAttribute O of the attribute management unit 2905 is called to update the attribute information, and the process returns to waiting for a connection request.
  • Received request message power If the request is a multimedia data transmission request from a terminal or the like, the identifier of the multimedia data to be transmitted is first extracted from the request message module. Subsequently, an InputStream for reading the multimedia data is obtained through the IO2804f.
  • the multimedia data is transmitted to the terminal.
  • the method updateAttribute () of the attribute management unit 2905 is called to update the attribute information, and the process returns to waiting for a connection request.
  • a connection request is received, another thread or process is further generated, and the subsequent processing operates in the other thread or process, and the original thread or process returns to waiting for a connection request. good. In this case, the processing on the separate thread or process ends without returning to waiting for a connection request.
  • the method getMultimediaData () it first creates a Socket object that connects to the device given by the argument dev and connects to that device.
  • a transmission request message for multimedia data given by the argument id is created including the value of id, and the method sendRequestMessage () of the control information communication unit 2902 is called to transmit to the device.
  • the method openRemoteProgram O of the data receiving unit 2903 an InputStream object for receiving the multimedia data is generated.
  • data is read from the InputStream and written to the OutputStream given by the argument os. When all the received data is written, the process is terminated.
  • This method allows you to receive and play back and store the multimedia data for the content in the content list obtained by the method getContentList O or getEPGData O.
  • terminal 105 and terminal 106 are composed of only the components related to the reproduction of multimedia data in video storage device 103 and video storage device 104 described above, detailed description thereof will be omitted.
  • the broadcast receiving apparatus 102 further stores the multimedia data in the second memory 503.
  • the selection unit 1604 of the network library 705e in the Java library 705 includes the broadcast receiving apparatus 102 and the network 107.
  • a configuration may be used in which one of the video storage devices connected to is selected.
  • the broadcast receiving apparatus 102 when receiving a VoD service request from the terminal, the broadcast receiving apparatus 102 further stores the multimedia data of the content in the video storage apparatus connected to the network 107 and the storage unit of the broadcast receiving apparatus 102. If the information is stored in the storage unit of the broadcast receiving apparatus 102, the multimedia data may be transmitted to the terminal that issued the VoD service request.
  • Broadcast receiving apparatus 102 performs predetermined encryption on the multimedia data, and transmits the encrypted multimedia data to video storage apparatus 103 and video storage apparatus 104. It may be. Also, the video storage device 103 and the video storage device 104 May be configured to decrypt the received encrypted multimedia data and store the decrypted multimedia data in the storage unit 302, or may store the data by applying a predetermined encryption key.
  • the broadcast receiving device 102, the video storage device 103, and the video storage device 104 when transmitting multimedia data to the terminal 105 and the terminal 106, perform predetermined encryption on the multimedia data,
  • the encrypted multimedia data may be transmitted, and the terminal 105 and the terminal 106 may decrypt the received encrypted multimedia data and reproduce the decrypted multimedia data.
  • the power describing the example of the selection algorithm of the selection unit 1604 of the network library 705e in the Java library 705 of the broadcast receiving apparatus 102 is not limited to these algorithms Needless to say.
  • the broadcast receiving device 102 may be configured to sequentially select the video receiving device. It may also be selected depending on the frequency of use of the video storage device. Furthermore, the individual storage frequency such as the genre, program name, and performer of multimedia data stored in the video storage device by the user's operation is compared with the genre of multimedia data, program name, performer, etc. You may select a video storage device.
  • the storage frequency of each multimedia data genre, program name, performer, etc., played or output by the user's operation on the video storage device is checked against the multimedia data genre, program name, performer, etc.
  • the video storage device may be selected.
  • the video storage device 103 is selected for multimedia data frequently used by the terminal 105
  • the video storage device 104 is selected for high-frequency multimedia data used by the terminal 106. Then, it may be selected by combination with a terminal such as! / ⁇ .
  • the broadcast receiving device 102 communicates with the video storage device 103 and the video storage device 104, so that the multimedia data of the content requested for the VoD service is stored.
  • the broadcast receiving apparatus 102 stores the multimedia data stored in the video storage apparatus 103 and the video storage apparatus 104 and determines from the contents. OK.
  • the VoD service manager requested by the terminal is used.
  • the broadcast receiving device 102 sends the multi-media data to the terminal that requested the VoD service to the stored video storage device. Issue a media data transmission request and notify the terminal that the multimedia data is transmitted from the video storage device.
  • the broadcast receiving apparatus 102 performs rights processing such as charging with the video storage apparatus, notifies the video storage apparatus to the terminal, and transmits the multimedia data from the terminal to the video storage apparatus. It may be configured to issue a request.
  • the broadcast receiving apparatus 102 and the video storage apparatus communicate with each other, and the power to perform right processing associated with the use of the multimedia data such as billing.
  • the broadcast receiving apparatus 102 and the terminal that requested the VoD service communicate with each other. It may be configured to perform the above right processing. Alternatively, the broadcast receiving device 102 that communicates with the video storage device and the terminal may perform the right processing.
  • the multimedia data may be performed after the use is completed.
  • the billing amount may be changed depending on the number of times the multimedia data is used or the usage interval.
  • one piece of multimedia data is stored in one video storage device.
  • the multimedia data is divided and distributed to a plurality of video storage devices. And may be configured to accumulate.
  • one multimedia data may be stored simultaneously in a plurality of video storage devices. As a result, when there is a request for the same multimedia data from a plurality of terminals, it is possible to distribute the load for the video storage device to transmit the video to the terminal.
  • the broadcast receiving apparatus 102 further includes an encoding unit that generates encoded multimedia data.
  • the broadcast receiving apparatus 102 performs and decodes the multimedia data to be transmitted, and A configuration in which multimedia data is newly generated and transmitted by the code part. It may be completed.
  • the video storage device 103 and the video storage device 104 further include a decoding unit that decodes multimedia data and an encoding unit that creates encoded multimedia data, and decodes the received multimedia data. It is also possible to adopt a configuration in which the data is decoded by the unit and the multimedia data is newly generated and stored by the code unit.
  • System LSI Large Scale Integration
  • System LSI is an ultra-multifunctional LSI that is manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, and so on. It is. A computer program is stored in the RAM. Microprocessor power The system LSI achieves its functions by operating according to the computer program.
  • a part or all of the constituent elements constituting each of the above devices may be configured as an IC card that can be attached to and detached from each device or a single module force.
  • the IC card or the module is a computer system including a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or module may be tamper resistant! /.
  • the broadcast receiving device and video storage device of the present invention may be the methods described above. Further, it may be a computer program that realizes these methods by a computer, or a digital signal that also has the computer program power.
  • the broadcast receiving device and the video storage device of the present invention may be a recording medium that can read the computer program or the digital signal, such as a flexible disk, a node disk, a CD-ROM, an MO, a DVD, and a DVD. It may be recorded on a ROM, DVD-RAM, BD (Blu-ray Disc), semiconductor memory, or the like. Further, the present invention may be the computer program or the digital signal recorded on these recording media. [0332] In addition, the broadcast receiving device and the video storage device of the present invention are configured to transmit the computer program or the digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like. May be transmitted.
  • the broadcast receiving device and the video storage device of the present invention are a computer system including a microprocessor and a memory, and the memory stores the computer program, and the microprocessor It may be working according to a computer program.
  • FIG. 39 is a configuration diagram of the multimedia distribution system according to the third embodiment of the present invention.
  • the multimedia distribution system 3901 shown in FIG. 39 includes a broadcast receiving device 3902, a first video storage device 3903, a second video storage device 3904, a first terminal 3905, a second terminal 3906, a network 3907 and a receiver unit 3908.
  • Broadcast receiving device 3902, video storage device 3903, video storage device 3904, terminal 3905, and terminal 3906 are connected to network 3907 and can communicate with each other via network 107. is there. Broadcast receiving device 3902 is connected to receiving unit 3908, receives and demodulates digital broadcast radio waves received by receiving unit 3908, and obtains multimedia data. It should be noted that a plurality of video storage devices and terminals need only be included, and in order to simplify the explanation, it is assumed that two are included.
  • Broadcast receiving apparatus 3902 in the present embodiment demodulates radio waves received by receiving section 3908, and extracts multimedia data of digital broadcasting.
  • the broadcast receiving device 3902 uses pay broadcasting provided by digital broadcasting, etc., and communication for performing right processing such as billing for using the multimedia data of the pay broadcasting is illustrated, such as a telephone line. Use other communication paths.
  • the broadcast receiving device 3902 receives, via the network 3907, the video storage device 3903, the video when the multimedia data of the program broadcast in advance by -VoD is stored according to user settings or the like.
  • An attribute transmission request is transmitted to the storage device 3904, and the attribute is received from the video storage device.
  • one of the video storage device 3903 and the video storage device 3904 is selected based on the attribute of the multimedia data received from the broadcast station and the attribute of the video storage device received from the video storage device. Further, a multimedia data storage request is transmitted to the selected video storage device 3903 or video storage device 3904, and then the multimedia data is transmitted.
  • the reception of the program broadcast on the VoD previously performed by the broadcast receiving device 3902 may be performed at the request of the broadcast station or at a specific date and time. It may be a flaw. Moreover, it may be performed every specific time. It may also be performed at the date and time set by the user. It may also be performed at specific time intervals set by the user.
  • the broadcast receiving device 3902 when receiving a content viewing request such as a broadcast program from the terminal 3905 or the terminal 3906, the broadcast receiving device 3902 communicates with either or both of the video storage device 3903 and the video storage device 3904. And ask whether the multimedia data of the content is V or not. If it is not stored in either of the video storage device 3903 and the video storage device 3904, the broadcast receiving device 3902 receives the program using the tuner and, if necessary, performs appropriate rights processing such as billing. Then, the multimedia data is transmitted to the requested terminal 3905 or terminal 3906 via the network 3907. In addition, if the tuner is not in use, etc., it cannot be received, so that the terminal is notified.
  • the multimedia data is issued to the video storage device 3903 or the video storage device 3904 storing the multimedia data.
  • it communicates with the video storage device performs rights processing such as charging associated with the use of the multimedia data, and notifies the broadcasting station.
  • the broadcast receiving apparatus 3902 notifies the terminal that issued the request that the multimedia data is transmitted from the video storage apparatus that stores the multimedia data.
  • video storing device 3903 and video storing device 3904 in the present embodiment transmit the attributes stored in the video storing device to broadcast receiving device 3902. Send.
  • the attributes of the video storage device are: the free space of the storage unit that stores the VoD program in advance, the storage frequency for each genre of multimedia data stored by user operation, the usage frequency for each genre of reproduced multimedia data, It is information such as.
  • the video storage device 3903 and the video storage device 3904 receive the multimedia data storage request from the broadcast receiving device 3902, the multimedia data is received from the broadcast receiving device 3902 via the network 3907. Receive and store in the storage.
  • the video storage device 3903 and the video storage device 3904 store the multimedia data of the specific content from the broadcast receiving device 3902, and store it when receiving the inquiry or not! Search the content data and return the result.
  • the video storage device 3903 and the video storage device 3904 receive a request from the broadcast receiving device 3902 to transmit the multimedia data of the specific content to the specific terminal connected to the network 3907, the multimedia storage device 3903 Data is transmitted to the terminal via the network 3907.
  • the multimedia storage device 3903 Data When starting transmission, if necessary, it communicates with the broadcast receiving apparatus 102 and performs rights processing associated with the use of the multimedia data, such as billing.
  • Terminal 3905 and terminal 3906 in the present embodiment issue a program viewing request to transmission / reception device 3902 by user operation, receive multimedia data via network 3907, and receive the multimedia data Reproduction is performed. If the multimedia data is stored in either the video storage device 3903 or the video storage device 3904, the broadcast receiving device 3902 notifies the stored video storage device and sends it from the video storage device. The received multimedia data is received via the network 3907.
  • the network 3907 is a home network installed in the home, and is an IP network configured by Ethernet, wireless LAN, or communication technology using a coaxial cable as a medium c. LINK.
  • Receiving section 3908 in the present embodiment is connected to broadcast receiving apparatus 3902 for It provides radio waves through coaxial cables, typically antennas for receiving digital broadcasts and cable TV headends.
  • the multimedia data of the program broadcast by Your VoD is stored in the video.
  • a large number of data can be distributed and stored in the device 3903 and the video storage device 3904 in advance under appropriate conditions. Different viewing requests are issued simultaneously from the terminal 3 905 and the terminal 3906.
  • the multimedia data stored in the video storage device 3903 and the video storage device 3904 the number of tuners necessary for viewing can be proposed.
  • the broadcast receiving device 3902, the video storage device 3903, and the video storage device 3904 constituting the multimedia distribution system 3901 of the present invention will be described in more detail.
  • FIG. 40 is a block diagram showing the configuration of broadcast receiving apparatus 3902 according to Embodiment 3 of the present invention.
  • 40 includes a control unit 4001, a data reception unit 4002 that receives multimedia data transmitted from the broadcasting station 3908, and an information communication unit 4003 that communicates with an external device connected to the network 3907.
  • a selection unit 4004 for selecting one of a plurality of video storage devices connected to the network 3907, a data output unit 4005 for transmitting multimedia data to an external device connected to the network 3907, and a paid program It includes a right processing unit 4006 that performs right processing such as billing associated with the use of multimedia data, and a network interface 4007 connected to the network 3907.
  • the control unit 4001 will be described in more detail.
  • the control unit 4001 is configured by a microprocessor, ROM, RAM, and the like.
  • the ROM, RAM, and information storage unit (not shown) store the OS, Java VM (Java Virtual Machine) program, Java program library, and Java application program that run on the microprocessor!
  • the microprocessor loads and executes the OS at startup. Subsequently, when the Java application is started, the Java VM is read and executed, and the Java application is executed while reading the Java program library as necessary.
  • the control unit 4001 receives multimedia data broadcast in advance by -VoD from the data reception unit 4002, and the information communication unit 4003 transmits attribute information to a plurality of video storage devices connected to the network 3907.
  • each of the video storage devices receives the attribute by the information communication unit 4003. Further, the control unit 4001 sends the received video storage device attribute and multimedia data attribute to the selection unit, and instructs the selection unit to select one of the video storage devices. Further, the control unit 4001 transmits the multimedia data storage request to the selected video storage device via the information communication unit 4003. Further, when the information communication unit 4003 receives the fact that the video storage device capability has also been received, the control unit 4001 instructs the data output unit 4005 to send the multimedia data to the video 3907 via the network 3907. Send to storage device.
  • the control unit 4001 upon receiving a request for viewing a VoD program from a terminal connected to the network 3907 from the information communication unit 4003, the control unit 4001 receives a video connected to the network 3907 from the information communication unit 4003. An inquiry is sent to the storage device as to whether or not the requested multimedia data is stored. Subsequently, the control unit 4001 receives a reply related to this inquiry from each video storage device from the information communication unit 4003. If the multimedia data is stored in a certain video storage device, a transmission request to the terminal that issued the multimedia data viewing request is transmitted to the video storage device. At this time, if necessary, the control unit 4001 communicates with the video storage device and instructs the rights processing unit 4006 to perform rights processing such as charging associated with the use of the multimedia data. Further, the information communication unit 4003 notifies the terminal that the multimedia data is transmitted from the video storage device.
  • the data receiving unit 4002 receives digital broadcast radio waves and extracts multimedia data related to a specific program.
  • the data receiving unit 4002 is typically a tuner, which receives and decodes digital broadcast radio waves and extracts multimedia data.
  • the multimedia data to be broadcast may be scrambled if it is paid content, but in that case, it is decoded by the data receiving unit 4002.
  • Multimedia data transmitted by digital broadcasting is encoded digital data represented by MPEG2, and is transmitted in the MPEG2-TS format.
  • the MPEG2-TS can store a plurality of contents in one stream.
  • the data receiver 4002 selects multimedia data of one content from the stream.
  • the information communication unit 4003 is connected to the network interface 4007, and transmits control information to an external device connected to the network 3907 according to an instruction from the control unit 4001. Further, the information communication unit 4003 receives the information addressed to the broadcast receiving device 3902 that has arrived at the network interface 4007 and passes it to the control unit 4001.
  • the information communication unit 4003 is typically a program that uses a socket interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software and may be hardware.
  • the selection unit 4004 selects one of a plurality of video storage devices connected to the network 3907 based on the attribute of the multimedia data and the video storage device in accordance with an instruction from the control unit 4001. Is.
  • the selection unit 4004 is typically a subroutine included in the Java library.
  • the configuration is not limited to such software, but may be hardware.
  • the genre of content such as a movie, drama, or sports is used as an attribute of multimedia data.
  • the free capacity of the storage unit for your VoD program cache is used as an attribute of the video storage device.
  • the selection unit 4004 first selects a video storage device according to the genre of multimedia data, and if there is not enough free space in the selected video storage device, selects a video storage device having a large free space.
  • the data output unit 4005 is connected to the network interface 4007, operates in response to an instruction from the control unit 4001, converts the multimedia data into a packet addressed to the destination designated by the control unit 4001, Output through network interface 4007.
  • the data output unit 4005 is typically a program that uses a socket interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software, and may be hardware.
  • the rights processing unit 4006 performs rights processing such as billing associated with the use of multimedia data by communicating with a service provider. For example, in the case of cable television, the right processing unit 4006 includes a CableCARD, and this information is used in communication with a service provider.
  • the data receiving unit 4002 can perform decoding by passing the CableCARD information to the control unit 4001.
  • the network interface 4007 includes hardware that provides an interface according to the physical medium of the network, such as an Ether cable or a wireless LAN, and its driver software.
  • FIG. 41 is a block diagram showing configurations of video storage device 3903 and video storage device 3904 according to Embodiment 3 of the present invention.
  • the video storage device 3903 and the video storage device 3904 shown in FIG. 41 include a control unit 4101, a storage unit 4102 for storing multimedia data, and a control information communication for communicating control information with an external device connected to the network 3907.
  • Unit 4103 storage unit 4104 for storing the attributes of the video storage device, data receiving unit 4105 for receiving multimedia data transmitted from broadcast receiving device 3902, and terminal 3905 or terminal 3906 connected to network 39 07
  • the data transmission unit 4106 that transmits the multimedia data stored in the storage unit 4102, the writing unit 4107 that writes the multimedia data received by the data reception unit 4105 to the storage unit 4102, and the multimedia data from the storage unit 4102
  • a network interface 4110 connected to the Nettowa over click 3907.
  • the control unit 4101 will be described in more detail.
  • the control unit 4101 is configured by a microprocessor, ROM, RAM, and the like.
  • the ROM, RAM, and information storage unit (not shown) store the OS, Java VM program, Java program library, and Java application program that run on the microprocessor.
  • the microprocessor loads and executes the OS when it starts up. Subsequently, when the Java application starts, Jav a Read and execute the VM, and execute the Java application while reading the Java program library as required.
  • control unit 4101 When the control information communication unit 4103 receives an attribute transmission request from the broadcast reception device 3902, the control unit 4101 receives the attribute information stored in the storage unit 4104 from the control information communication unit 4103. Send to 3902.
  • the control information communication unit 4103 When the control information communication unit 4103 receives a multimedia data storage request from the broadcast receiving device 3902, it instructs the data receiving unit 4105 to transmit the multimedia data transmitted from the broadcast receiving device 3902 to the network 3907.
  • the multimedia data received by the data receiving unit 4105 is written into the storage unit 4102, thereby storing the multimedia data in the storage unit 4102.
  • the control unit 4101 receives the free capacity of the accumulation unit 4102 from the writing unit 4107, stores it in the storage unit 4104, and updates the attribute information.
  • control information communication unit 4103 receives an inquiry as to whether or not to store specific multimedia data from the broadcast receiving device 3902
  • the control unit 4101 reads the unit 4108.
  • To determine whether or not the multimedia data is stored by checking the multimedia data stored in the storage unit 4102 and control the determination result from the information communication unit 4103 by the broadcast receiving device 3902 Send to.
  • control unit 4101 instructs the reading unit 4108 when the control information communication unit 4103 receives the output request of the specific multimedia data stored and the output destination terminal from the broadcast receiving device 3902. Then, the multimedia data is read from the storage unit 4102, and further, the data transmission unit 4106 is instructed to transmit the multimedia data read by the reading unit 4108 to the output destination terminal. At this time, if necessary, the rights processing unit 4309 is instructed to communicate with the broadcast receiving device 3902 to perform rights processing associated with the use of the multimedia data. If the use of the multimedia data is not permitted by the right processing, the control is performed so that the multimedia data is not transmitted to the output destination terminal.
  • the accumulating unit 4102 includes a large-capacity digital data accumulating device represented by a hard disk drive and its driver software.
  • the control information communication unit 4103 is connected to the network interface 4110, receives control information addressed to the video storage device that has reached the network interface 4110, and passes it to the control unit 4101. Further, according to an instruction from the control unit 4101, the control information passed from the control unit 4101 is transmitted to the designated external device through the network interface 4110.
  • the control information communication unit 4103 is typically a program that uses a socket interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software and may be hardware.
  • the storage unit 4104 is configured by a storage device such as flash memory or HDD, or a part thereof, and receives data from the control unit 4101 and stores data received from the control unit 4101. .
  • the data receiving unit 4105 is connected to the network interface 4110 and operates in response to an instruction from the control unit 4101.
  • the data receiving unit 4105 receives the multimedia data transmitted from the broadcast receiving device 3902 via the network interface 4110.
  • the data receiving unit 4105 is typically a program that uses a socket interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software, and may be hardware.
  • the data transmission unit 4106 is connected to the network interface 4110 and operates in response to an instruction from the control unit 4101.
  • the control unit 4101 designates the multimedia data read by the reading unit 4108. This is converted into a bucket for an external device connected to the network 3907 and output through the network interface 4110.
  • the data transmission unit 4106 is typically a program that uses a socket interface provided by the OS or Java library. In addition, not only what is comprised with such software but what was comprised with hardware may be sufficient.
  • the writing unit 4107 operates in response to an instruction from the control unit 4101 and writes data into the storage unit 4102.
  • the writing unit 4107 is typically a software subroutine that uses a file access interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software, and may be hardware.
  • the reading unit 4108 operates in response to an instruction from the control unit 4101 and reads multimedia data stored in the storage unit 4102.
  • the reading unit 4108 is typically a software subroutine that uses a file access interface provided by the OS or Java library. It should be noted that the present invention is not limited to such software, and may be hardware.
  • the rights processing unit 4109 is connected to the network interface 4110 and operates in response to an instruction from the control unit 4101.
  • the rights processing unit 4109 performs rights processing such as billing associated with the use of multimedia data. Is done by communicating with.
  • the right processing unit 4109 transmits an identifier for specifying the multimedia data to be used to the broadcast receiving device 3902, receives a response from the broadcast receiving device 3902, and passes it to the control unit 4101. The response is permission or rejection of the use of the multimedia data.
  • the network interface 4110 includes hardware that provides an interface according to the physical medium of the network, such as an Ether cable or a wireless LAN, and its driver software.
  • Broadcast receiving apparatus 3902 further includes an accumulating unit for accumulating multimedia data, and a writing unit for writing the multimedia data in the accumulating unit.
  • a configuration may be employed in which one of the storage unit and the video storage device connected to the network 3907 is selected.
  • the broadcast receiving device 3902 further receives, when receiving a request for viewing the -VoD program from the terminal, a video storage device connected to the network 3907 and a storage unit of the broadcast receiving device 3902 in the multi-part of the content. If the media data is stored in the storage unit of the broadcast receiver 3902, the multimedia data may be transmitted to the terminal that issued the viewing request. ⁇
  • FIG. 42 is a block diagram showing the configuration of broadcast receiving apparatus 3902 in a modification of the third embodiment of the present invention.
  • the broadcast receiving device 3902 shown in FIG. Storage unit 4202, readout unit 4203 for reading multimedia data stored in storage unit 4202, control unit 4001, data reception unit 4002, information communication unit 4003, selection unit 4004, data output unit 4005 And an authority IJ processing unit 4006 and a token interface 4007.
  • the control unit 4001, the data reception unit 4002, the information communication unit 4003, the selection unit 4004, the data output unit 4005, the right processing unit 4006, and the network interface 4007 are described in the third embodiment. Forces similar to those described in, except for the following points.
  • the control unit 4001 receives attributes from the video storage device 3903 and the video storage device 3904 when the data reception unit 4002 receives multimedia data of a VoD broadcast program in advance, and Read attributes as well.
  • the attributes of broadcast receiving device 3902 are the same as the attribute information of video storage device 3903 and video storage device 3904 in the third embodiment. Further, the control unit 4001 transmits the attribute of the broadcast receiving device 3902 to the selection unit 4004 together with the attribute of the video storage device.
  • the selection unit 4004 selects the video storage device 3903, the video storage device 3904, or the storage unit 4202 based on the attribute.
  • Writing unit 4201 is the same as video storage device 3903 and writing unit 4107 of video storage device 3904 in the third embodiment.
  • Storage unit 4202 is the same as video storage device 3903 and storage unit 4102 of video storage device 3904 in the above embodiment.
  • the reading unit 4203 is the same as the reading unit 4108 of the video storage device 3903 and the video storage device 3904 in the third embodiment.
  • the broadcast receiving device 3902 performs predetermined encryption on the multimedia data, and transmits the encrypted multimedia data to the video storage device 3903 and the video storage device 3904. It may be a configuration.
  • the video storage device 3903 and the video storage device 3904 may be configured to decrypt the received encrypted multimedia data and store the decrypted multimedia data in the storage unit 4102, or a predetermined encryption key. It is also possible to use a configuration in which the data is accumulated.
  • the broadcast receiving device 3902, the video storage device 3903, and the video storage device 3904 transmit the multimedia data to the terminal 3905 and the terminal 3906, respectively.
  • the specified data is encrypted, and the encrypted multimedia data is transmitted to the terminal
  • the 3905 and the terminal 3906 may be configured to decrypt and reproduce the received encrypted multimedia data.
  • the selection unit 4004 of the broadcast receiving device 3902 selects the video storage device based on the genre of multimedia data and the free space of the video storage device. Needless to say, it is not limited to these conditions.
  • the broadcast receiving device 3902 may be configured to sequentially select video receiving devices. Further, it may be configured to select according to the priority of the video storage device set by the user. Alternatively, the selection may be made only by the genre of multimedia data. Alternatively, it may be selected only by the free space of the video storage device. Furthermore, it may be selected according to the usage frequency of the video storage device.
  • the multimedia data genre, program name, performer, and other individual storage frequencies stored in the video storage device by user operations, the multimedia data genre, program name, performer, etc.
  • the storage device may be selected.
  • the individual storage frequency of multimedia data genre, program name, performer, etc., played or output by the user's operation on the video storage device is compared with the multimedia data genre, program name, performer, etc.
  • the video storage device may be selected.
  • multimedia data frequently used in the terminal 3905 is selected, the video storage device 3903 is selected, and if multimedia data frequently used in the terminal 3906 is selected, the video storage device 3904 is selected! / It may be selected by combination with the terminal.
  • video storage device combined from the priority of the terminal set by the user may be sufficient.
  • the broadcast receiving device 3902 communicates with the video storage device 3903 and the video storage device 3904, so that the multimedia of the content requested by the user VoD program viewing request is obtained.
  • the broadcast reception device 3902 stores the multimedia data accumulated in the video storage device 3903 and the video storage device 3904, and the determination is made based on the contents. It may be configured to do so.
  • Embodiment 3 In Embodiment 3 described above, the same effect can be obtained for re-broadcasting by storing in advance a program of power normal broadcasting written as Your VoD.
  • the multimedia data of the VoD program requested to be viewed from the terminal is stored in either the video storage device 103 or the video storage device 104. If so, the broadcast receiving device 102 issues a transmission request for the multimedia data to the terminal that issued the viewing request to the stored video storage device, and the video storage device power is transmitted to the terminal. Notify that the multimedia data will be sent
  • the broadcast receiving device 3902 performs rights processing such as charging with the video storage device, notifies the terminal of the video storage device, and transmits the multimedia data from the terminal to the video storage device. It may be configured to issue a request.
  • the multimedia data power for the VoD program requested to be viewed from the terminal is either the video storage device 3903 or the video storage device 3904. If it is stored, the broadcast receiving device 3902 and the video storage device communicate with each other to issue a right request associated with the use of the multimedia data such as billing. It may be configured to perform the above right processing by communicating with the terminal that has performed. Alternatively, the broadcast receiving device 3902 that communicates with the video storage device and the terminal may perform the right processing.
  • Embodiment 3 it is assumed that rights processing such as billing associated with the use of multimedia data is performed when a multimedia data transmission request is issued.
  • the configuration may be performed after the use is completed.
  • the billing amount may be changed depending on the number of times the multimedia data is used or the usage interval.
  • one piece of multimedia data is stored in one video storage device.
  • the multimedia data is divided into a plurality of video storage devices.
  • it may be configured to accumulate and accumulate.
  • one multimedia data may be stored simultaneously in a plurality of video storage devices.
  • the broadcast receiving apparatus 3902 further includes an encoding unit that creates encoded multimedia data, and the broadcast receiving apparatus 3902 stores the multimedia data to be transmitted. Further, a configuration may be adopted in which multimedia data is newly generated and transmitted by the code key unit.
  • the video storage device 3903 and the video storage device 3904 further include a decoding unit that decodes multimedia data and an encoding unit that generates encoded multimedia data, and receives the received multimedia data as the decoding unit. It is also possible to use a configuration in which decoding is performed once and new multimedia data is newly generated and stored in the code section.
  • a system LSI is an ultra-multifunctional LSI that is manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, and so on. It is. A computer program is stored in the RAM. Microprocessor power The system LSI achieves its functions by operating according to the computer program.
  • a part or all of the constituent elements constituting each of the above devices may be configured as an IC card that can be attached to and detached from each device or a single module force.
  • the IC card or the module is a computer system including a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or module may be tamper resistant! /.
  • the broadcast receiving device and video storage device of the present invention may be the methods described above. Further, it may be a computer program that realizes these methods by a computer, or a digital signal that also has the computer program power.
  • the broadcast receiving device and the video storage device of the present invention are a computer-readable recording medium such as a flexible disk, a node disk, a CD-ROM, MO, DVD, DVD, or the like. It may be recorded on a ROM, DVD-RAM, BD (Blu-ray Disc), semiconductor memory, or the like. Also, the computer program or the digital signal recorded in these recording media As good as.
  • the broadcast receiving device and the video storage device of the present invention are configured to transmit the computer program or the digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, or the like. May be transmitted.
  • the broadcast receiving device and the video storage device of the present invention are a computer system including a microprocessor and a memory, and the memory stores the computer program, and the microprocessor It may be working according to a computer program.
  • the configuration of the multimedia distribution system in the fourth embodiment is the same as the configuration diagram in the third embodiment shown in FIG.
  • the broadcast receiving device 3902 is a cable television receiving device
  • the receiving unit 3908 is a head end or a cable broadcasting station.
  • FIG. 43 is a block diagram showing the relationship among the components constituting broadcast receiving apparatus 3902 in Embodiment 4 of the present invention.
  • Input unit 4301 includes a front panel, a remote control receiver, and the like, and accepts an instruction for channel selection from the user.
  • FIG. 44 is a diagram showing an example where input unit 4301 is configured with the front panel according to Embodiment 4 of the present invention.
  • the front panel 4400 has an up cursor button 4401, a down cursor button 4402, a left cursor button 4403, a right force button 4404, an OK button 4405, a cancel button 4406, an EPG button 4407, a shutter It has 8 buttons, one button 4408.
  • the button When the user presses the button, the identifier power of the pressed button is notified to the CPU 4312.
  • the first memory 4302 is composed of RAM or the like, and is used when the CPU 4312 temporarily stores data.
  • the second memory 4303 is configured by a device that can retain information even when the power is stopped, such as a flash memory or a hard disk, and stores a program executed by the CPU 4312.
  • the second memory 4303 can be removed using a removable storage device such as an SD memory card.
  • the receiving unit 4304 is connected to the cable from the cable television station 3908, receives the broadcast wave, tunes to the frequency specified by the CPU 4312, extracts the MPEG transport stream, and delivers it to the demultiplexing unit 4305.
  • the demultiplexing unit 4305 receives the MPEG transport stream of the receiving unit 4304, extracts the specified information from the CPU 4312, and delivers it to the CPU 4312.
  • the MPEG trust stream is handed over to the descrambler 4306 as it is.
  • the descrambler 4306 may be a module built in the broadcast receiving apparatus 3902, or may be implemented by a CableCARD (TM) installed in a North American cable receiver.
  • TM CableCARD
  • the specification of CableCARD is described in CableCARD Interface Specification created by CableLabs in the United States, and the explanation is omitted here.
  • the TS decoder 4307 receives section data identifiers such as audio data, video data, and PSI / SI information from the CPU 4312. Further, the video output unit 4308 extracts the extracted video data from the descrambled stream received from the descrambler 4306 and extracts data corresponding to the section data identifier such as received audio data, video data, PSI / SI information. Then, the audio data is delivered to the audio output unit 4309. Both of them and the section data are passed to the TS multiplexer 4310.
  • the video output unit 4308 includes a video output terminal, converts the received video data into video data corresponding to the terminal, and outputs the video data.
  • Examples of terminals include composite cable terminals. There is.
  • the audio output unit 4309 includes an audio output terminal, and converts the received audio data into audio data corresponding to the terminal and outputs the audio data.
  • Examples of terminals include earphone terminals and composite cable terminals.
  • the TS multiplexer 4310 forms an MPEG2 transport stream from the received video data, audio data, and section data, and delivers the MPEG2 transport stream to the network unit 4311. PSIZSI information can be rewritten as necessary.
  • the network unit 4311 includes a network interface, converts the data received from the CPU 4312 into a signal corresponding to the physical medium of the network to which the network interface is connected, and outputs the signal.
  • the network interface power also receives a signal, converts it into a packet defined by the IP network, and delivers it to the CPU 4312.
  • the CPU 4312 controls the receiving unit 430 4, the demultiplexing unit 4305, the descrambler 4306, the TS decoder 4307, the TS multiplexer 4310, and the network unit 4311 by executing the program stored in the second memory 4303. .
  • FIG. 45 is a diagram showing a program configuration held and executed by the broadcast receiving apparatus in the fourth embodiment of the present invention. This figure shows an example of the configuration of a program stored in the second memory 4303 and executed by the CPU 512.
  • the program 4500 includes a plurality of subprograms. Specifically, the program 4500 includes an OS4501, an EPG4502, a JavaVM4503, a service manager 4504, and a Java library 4505.
  • the OS 4501 is a subprogram that is activated by the CPU 4312 when the broadcast receiver 3902 is powered on.
  • OS4501 is an abbreviation for operating system, and Linux is an example.
  • the OS 4501 is a general term for known techniques including a kernel 4501a and a library 4501b that execute other subprograms in parallel, and detailed description thereof is omitted.
  • the kernel 4501a of the OS 4501 executes EPG4502iJavaVM4503 as a subprogram.
  • the library 450 lb provides a plurality of functions for controlling the components held by the broadcast receiving device 3902 for these subprograms.
  • the library 4501b includes a tuner 4501bl, a limit release 4501b2, an AV playback 4502b3, and a NET4501b4 as examples of functions.
  • Tuner 4501bl receives tuning information including frequency from other subprograms and Tuner 4505c of Java library 4505, and passes it to receiving unit 4304.
  • the receiving unit 4304 can perform demodulation processing based on the given tuning information and deliver the demodulated data to the demultiplexing unit 4305.
  • other subprograms and the Tuner 4305c of the Java library 4305 can control the receiving unit 4304 through the library 4501b.
  • Limited release 4502b2 receives information from CA4505d of other subprograms and Java library 4505 and passes it to descrambler 4306.
  • the AV playback 4502b3 receives the audio packet ID and the video packet ID from other subprograms and the JMF4505a of the Java library 4505.
  • the received audio packet ID and video packet ID are given to the TS decoder 4507.
  • the TS decoder 4507 performs filtering based on the given packet ID, and realizes video and audio reproduction.
  • NET4501b4 creates a packet of the protocol below the application layer specified by the IP network from the data received from the network library 4505e of other subprograms and Java library 4505.
  • protocols below the application layer are TCP packets, UDP packets, and IP packets.
  • TCP packets TCP packets
  • UDP packets UDP packets
  • IP packets IP packets.
  • the EPG 4502 includes a program display unit 4502a that displays a list of programs to the user and receives input from the user, and a playback unit 4502b that performs channel selection.
  • EPG is an abbreviation for Electric Program Guide.
  • the EPG 4502 is activated by the kernel 4501a when the power of the broadcast receiving device 3902 is turned on. In the activated EPG 4502, the program display unit 4502a and the playback unit 4502b are activated simultaneously.
  • the input unit 4301 is configured with the front panel shown in FIG.
  • the program display unit 4502a of the EPG 4502 which is a subprogram running on the CPU 4312, receives this identifier, creates program information display data, and outputs it to the monitor by a monitor output unit (not shown).
  • the monitor may be provided in the broadcast receiving apparatus 3902, or may be a television connected to the broadcast receiving apparatus 3902 with a composite cable or an HDMI cable.
  • the monitor 4610 displays the received program information display data.
  • FIGS. 46 (a) and 46 (b) are diagrams showing examples of a program guide displayed on the monitor according to Embodiment 4 of the present invention.
  • program information is displayed on the monitor 4410 in a grid pattern.
  • time information is displayed.
  • a channel name “channel 1” and a program broadcast in the time zone corresponding to the time in column 4601 are displayed.
  • “Channel 1” the program “News 9” is aired from 9:00:00 to 30:30, and 10:30 to 12:00 indicates that “Movie AAA” is aired.
  • column 4603 displays the channel name “Channel 2” and the program aired in the time zone corresponding to the time in column 4601. 9: 00 ⁇ : The program “Movie BBB” will be aired at L 1: 0, and “News 11” will be aired from 11:00 to 12:00.
  • 4630 is a cursor. The cursor 4630 moves when the left cursor 4403 and the right cursor 4404 on the front panel 4400 are pressed. When the right cursor 4404 is pressed in the state shown in FIG. 46 (a), the cursor 4630 moves to the right, as shown in FIG. 46 (b). If the left cursor 4403 is pressed in the state shown in FIG. 46 (b), the cursor 4630 moves to the left, as shown in FIG. 46 (a).
  • the program display unit 4502a When the OK button 4405 on the front panel 4400 is pressed in the state of FIG. 46 (a), the program display unit 4502a notifies the playback unit 4502b of the identifier of “channel 1”. When the OK button 4405 on the front panel 4400 is pressed in the state of FIG. 46 (b), the program display unit 4502a notifies the playback unit 4502b of the identifier of “channel 2”.
  • the program display unit 4502a periodically stores the program information to be displayed in the second memory 4303 through the demultiplexing unit 4305. Generally, acquisition of program information from broadcasting stations Takes time. When the EPG button 4407 of the input unit 4301 is pressed, the program information can be quickly displayed by displaying the program information stored in the second memory 4303 in advance.
  • FIG. 47 is a diagram showing an example of program information stored in second memory 4303 according to Embodiment 4 of the present invention.
  • Program information is stored in a table format.
  • Column 4701 is the channel identifier.
  • Column 4702 is the program name.
  • Column 4703 is the broadcast start time of the program, and
  • column 4704 is the broadcast end time.
  • Column 4705 shows the audio type of the program, and monaural audio, stereo audio, and 5.1 channel audio are described as “monaural”, “stereo”, and “5.1”, respectively.
  • Column 4706 shows the type of program.
  • the normal program is blank, “movie” represents a movie, and “spo” represents a sports program.
  • Each of the lines 4711 to 4714 represents one piece of program information.
  • one piece of program information is a set of channel identifier, program name, broadcast start time, broadcast end time, and program audio type.
  • the channel identifier is “1”
  • the program name is “News 9”
  • the broadcast start time is “9:00”
  • the broadcast end time is “10:30”
  • the audio type is “Mono”
  • the program The type of is a set that includes “normal”.
  • the playback unit 4502b plays back a channel using the received channel identifier. That is, the video and audio constituting the channel are reproduced.
  • the relationship between channel identifiers and channels is stored in advance in the second memory 4303 as channel information.
  • FIG. 48 is a diagram showing an example of channel information stored in the second memory 4303 according to Embodiment 4 of the present invention.
  • Channel information is stored in tabular form.
  • Column 480 1 is the identifier of the channel.
  • Column 4802 is the channel name.
  • Column 4803 contains Chu-Jung information.
  • the tuning information includes a frequency, a transfer rate, a coding rate, and the like, and is a value given to the receiving unit 4304.
  • Column 4804 is the program number.
  • the program number is a number for identifying the PMT specified in the MPEG2 standard! The PMT will be described later.
  • Each of the lines 4811 to 4814 is a set of an identifier, a channel name, and tuning information for each channel.
  • Line 4811 is a set including an identifier “1”, channel name power ⁇ channel 1 ”, tuning information including a frequency“ 150 MHz ”, and a program number“ 101 ”.
  • the playback unit 4502b performs channel playback, The received channel identifier is handed over to the service manager as it is.
  • the playback unit 4502b receives and plays back the pressed notification through the CPU 4512 from the human power unit 4501. Change the current channel. Pressing the upper cursor 4401 plays a channel with a channel identifier that is one smaller than the channel currently being played, and pressing the lower cursor 4402 causes a channel with a channel identifier that is much larger than the channel that is currently playing. Play. First, the playback unit 4502b stores the identifier of the channel currently being played back in the second memory 4303. 49 (a), (b) and (c) are diagrams showing examples of information indicating channel identifiers stored in second memory 4303 according to Embodiment 4 of the present invention.
  • the identifier “3” is stored, and referring to FIG. 48, it is shown that the channel with the channel name “TV 3” is being played back.
  • the playback unit 4502b refers to the channel information of FIG. 48, and is a channel having an identifier that is one smaller than the currently playing channel in the table.
  • the identifier “2” of the channel name “Channel 2” is handed over to the service manager.
  • the channel identifier “2” stored in the second memory 4303 is rewritten.
  • FIG. 49 (b) shows a state where the channel identifier has been rewritten.
  • playback unit 4502b refers to the channel information of FIG.
  • the identifier “4” of the channel name “TV Japan” is handed over to the service manager.
  • the channel identifier “4” stored in the second memory 4303 is rewritten.
  • FIG. 49 (c) shows a state in which the channel identifier has been rewritten. Since the channel identifier is stored in the second memory 4303, it is stored even when the power of the broadcast receiving device 3902 is turned off.
  • playback unit 4502b reads the channel identifier stored in second memory 4303 when activated when broadcast receiving device 3902 is powered on. And that chi Deliver the Yannel identifier to the service manager. As a result, the broadcast receiving apparatus 3902 can be played back during the previous operation when the power is turned on, and playback of the last channel can be started.
  • JavaVM4503 is a Java virtual machine that sequentially analyzes and executes a program written in the Java (TM) language. Programs written in the Java language are compiled into intermediate code, called bytecode, that does not depend on hardware. The Java virtual machine is an interpreter that executes this bytecode. Some Java virtual machines also translate the bytecode into an executable that can be understood by the CPU4312, and then deliver it to the CPU4 312 for execution. JavaVM4503 is started by specifying a Java program to be executed on the kernel 4501a. In this embodiment, the kernel 4501a designates the service manager 4504 as a Java program to be executed.
  • Java Language Specification (ISBN 0—201—63451—1)”. The details are omitted here.
  • the detailed operation of JavaVM itself is described in many books such as “Java Virtual Machine Specification (ISBN 0-201-63 451-X)”. The details are omitted here.
  • the service manager 4504 is a Java program written in the Java language, and is sequentially executed by the JavaVM 4503.
  • the service manager 4504 is written in the Java language through JNI (Java Native Interface), and can call or be called other subprograms. JNI Kokoseki has also been described in many books such as the book “Java Native Interface.” The details are omitted here.
  • the service manager 4504 receives the channel identifier from the playback unit 4502b through JNI.
  • the service manager 4504 first passes the channel identifier to the tuner 4505c in the Java library 4505 and requests tuning.
  • the tuner 4505c refers to channel information stored in the second memory 4303 and acquires tuning information. Now, when the service manager 4504 hands over the channel identifier “2” to the tuner 4505c, the tuner 4505c acquires the corresponding tuning information “156 MHz,” referring to the row 4812 in FIG.
  • Tuner4505c is an OS4501 library 4501b tuner 4501 Passes tuning information to the receiver 4504 through bl.
  • the receiving unit 4504 demodulates the signal transmitted from the broadcasting station according to the given tuning information and delivers it to the demultiplexing unit 4505.
  • the service manager 4504 asks the CA4505d in the Java library 4505 for a descrip- tion.
  • CA4505di, OS4501 library 4501b limited release 45 01b2 gives the descrambler 4306 information necessary for decryption.
  • the descrambler 43 06 decodes the signal given from the receiving unit 4304 based on the given information and passes it to the TS decoder 4307.
  • processing from video-audio playback by outputting from video output unit 4308 and audio output unit 4309 is different from processing to output multimedia data from network unit 4311. Will be described.
  • the service manager 4504 gives an identifier of the JMF4505a channel that is the middle of the Java library 4505, and requests playback of video / audio.
  • JMF4505a first obtains a packet ID for specifying video and audio to be reproduced from PAT and PMT.
  • PAT and PMT are tables defined by the MPEG2 standard that represent the threading and configuration within the MPE G2 transport stream, embedded in the payload of packets included in the MPEG2 transport stream, and shared with audio and video. To be sent to. For details, refer to the specifications. Here, only an outline will be described.
  • PAT is an abbreviation of Program Association Table and is stored in a packet with packet ID “0” and transmitted.
  • the JMF4505a designates the packet ID “0” to the demultiplexing unit 705 through the library 4501b of the OS4501 in order to obtain the PAT.
  • the demultiplexing unit 705 performs filtering with the packet ID “0” and passes it to the CPU 4312 so that the JMF4505a collects PAT packets.
  • FIG. 50 is a diagram schematically showing an example of the collected PAT information according to Embodiment 4 of the present invention.
  • Column 5001 is the program number.
  • Column 5002 is the packet ID.
  • the packet ID in column 5002 is used to obtain the PMT.
  • Lines 5011 to 5013 are a set of channel program numbers and corresponding packet IDs. Here are three Yannel is defined.
  • Line 5011 defines a set of program number “101” and packet ID “501”.
  • JMF4505a refers to line 5012 in FIG. 50 and obtains the corresponding program number “102”
  • PAT The packet ID “502” corresponding to the program number “102” is acquired by referring to the row 5012 in FIG.
  • PMT is an abbreviation for Program Map Table, and is stored and transmitted in packets with packet IDs specified by PAT.
  • JMF4505a designates the packet HD to the demultiplexing unit 4305 through the library 4501b of OS4501 in order to acquire PMT.
  • the designated packet ID is “502”.
  • the demultiplexing / collecting unit 4305 performs filtering with the packet ID “502” and passes it to the CPU 4312 so that the JMF4505a collects the PMT packet.
  • FIG. 51 is a diagram schematically showing an example of the collected PMT information according to Embodiment 4 of the present invention.
  • Column 5101 is a stream type.
  • Column 5102 is the packet ID. In the packet with the packet ID specified in column 5102, the information specified by the stream type is stored and transmitted in the payload.
  • Column 5103 is supplementary information.
  • Lines 5111 to 5114 are a set of a packet ID and the type of information being transmitted, called an elementary stream.
  • a line 5111 is a set of a stream type “voice” and a packet ID “5011”, and represents that voice is stored in the payload of the packet ID “5011”.
  • JMF4505a acquires video and audio packet IDs to be played back from PMT. Referring to FIG. 51, JMF4505a obtains audio packet ID “5011” from line 5111 and receives video packet ID “5012” from line 5112.
  • the audio packet ID and video packet ID acquired to the AV playback 4501b3 of the library 4501b of the OS4501 are delivered to JMF4505ai.
  • the AV playback 4501b3 gives the received audio packet ID and video packet ID to the TS decoder 4307.
  • the TS decoder 4307 performs filtering with the given packet ID.
  • the packet with the packet ID “5011” is converted into the audio output unit 4309
  • the packet with the packet ID “5012” is converted into the video output unit 4308
  • the audio output unit 4309 converts the given packet as appropriate (for example, digital / analog conversion).
  • the video output unit 4308 converts the given packet as appropriate (for example, digital / analog conversion) and outputs it.
  • the service manager 4504 gives a channel identifier to the AM4505b in the Java library 4505, and requests data broadcast reproduction.
  • data broadcast reproduction refers to extracting a Java program included in the MPEG2 transport stream and causing JavaVM 453 to execute it.
  • the method of embedding Java programs in the MPEG2 transport stream uses the DSMCC method described in the MPEG standard ISOZIEC13818-6. Detailed explanation of DSMCC is omitted here.
  • the DSMCC method defines a method for encoding a file system composed of directories and files used in a computer in a packet of an MPEG 2 transport stream.
  • the information of the Java program to be executed is embedded in the MPEG2 transport stream packet in a format called AIT.
  • AIT is an abbreviation of Application Information Table defined in Chapter 10 of the DVB-MHP standard (formally, ETSI TS 101 812 DVB-MHP specification VI.0.2).
  • AM4505b first acquires PAT and PMT, as well as JMF4505a, in order to acquire AIT, and acquires the packet ID of the packet in which AIT is stored. If the given channel identifier is “2” and the PAT of FIG. 50 and the PMT of FIG. 51 are transmitted, the PMT of FIG. 51 is acquired in the same procedure as JMF4505a.
  • the AM4505b also extracts the packet ID from the elementary stream power with the stream type “data” and “AIT” as supplementary information from the PMT. Referring to FIG. 51, the elementary stream in row 5113 corresponds to the packet ID “5 013”.
  • the AM4505b gives the AIT packet HD to the demultiplexing unit 4305 through the OS701 library 4501b.
  • the demultiplexing unit 4305 performs filtering with the given packet ID, and delivers it to the CPU 4312. As a result, AM4505b can collect AIT packets.
  • FIG. 52 is a diagram schematically showing an example of collected AIT information according to Embodiment 4 of the present invention.
  • Column 5201 ⁇ and ava is the program identifier.
  • Column 5202 ⁇ is ava program control information. Control information includes “autostart”, “present”, “kill”, etc. “autostart rtj” means that the broadcast receiving device 3902 immediately executes this program automatically, and “present” means that it is not automatically executed. Meaning ⁇ kill '' means to stop the program Taste.
  • Column 5203 is a DSMCC identifier for extracting the packet ID containing the Java program in the DSMCC method.
  • Column 5204 ⁇ is the program name of the ava program. Lines 5211 and 5212 are a set of Java program information.
  • the Java program defined on line 5211 is a set of identifier “301”, control information “autostart”, DSMCC identifier “1”, and program name “aZTopXlet”.
  • the Java program defined on line 5212 is a set of identifier “302”, control information “present”, DSMCC identifier “1”, and program name “b / GameXlet”.
  • two Java programs have the same DSMCC identifier. This means that two Java programs are included in a single DSMCC-encoded file system.
  • only four pieces of information are specified for Java programs, but more information is actually defined. For details, refer to the DVB—MHP standard.
  • AM4505b finds the "autostart" Java program from the AIT and extracts the corresponding DSMCC identifier and Java program name. Referring to FIG. 52, AM4505b extracts the Java program on line 5211 and obtains the DSMCC identifier “1” and the Java program name “a 7-chome”.
  • AM4505b uses the DSMCC identifier obtained from AIT to acquire the PMT power of the packet ID of the packet storing the Java program in the DSMCC format. Specifically, the packet ID of the elementary stream that matches the DSMCC identifier of the supplemental information with the stream type “data” in the PMT is acquired.
  • the DSMCC identifier power is “1” and the PMT is as shown in FIG. 51
  • the elementary stream in row 5114 matches, and the packet ID “5014” is extracted.
  • the packet ID of the packet in which data is embedded in the DSMC C method is specified in the demultiplexer 4305 through the library 4501b of AM4505bi or OS4501b.
  • the packet ID “5014” is given.
  • the demultiplexing unit 4305 performs filtering with the given packet ID, and delivers it to the CPU 4312.
  • AM4505b can collect the necessary packets.
  • the AM4505b restores the file system from the collected packet according to the DSMCC method, and stores it in the first memory 4302 or the second memory 4303.
  • the data of the file system etc. is taken out and stored in the first memory 4302 or the second memory 4303. This is called download.
  • FIG. 53 is a diagram showing an example of a downloaded file system according to the fourth embodiment of the present invention.
  • circles represent directories, squares represent files, 5301 is the root directory, 5302 is directory “a”, 5303 is directory “b”, 5304 is file 0 161 ;. class, 5305 is file “GameXlet.class” Is.
  • the power OCAP specification that describes an example of downloading a file system from an MPEG2 transport stream also stipulates downloading using an IP network.
  • a method for specifying the location of a file system using information called XAIT instead of AIT and downloading the file system is also specified.
  • AM4505b delivers the Java program to be executed from the file system downloaded to first memory 4302 or second memory 4303 to JavaVM4503. If the name of the Java program to be executed is “aZTopXlet”, the file “aZTopXlet. Class” with “. Class” appended to the end of the Java program name is the file to be executed. “Z” is a directory file name separator, and referring to FIG. 53, file 5304 is a Java program to be executed. Next, hand over AM4505bi and Huaynore 5304 to JavaVM4503
  • JavaVM4503 is delivered and executes the Java program.
  • the service manager 4504 gives a channel identifier to the network library 4505e in the Java library 4505, and requests data transmission.
  • the network library 4505e first acquires PAT and PMT, as in the above 6JMF4505a and AM4505b, and acquires packet data of video data, audio data, and section data related to the program to be transmitted. If the PAT of FIG. 50 and the PMT of FIG. 51 are transmitted with the given channel identifier power “2”, the PMT of FIG. 51 is acquired in the same procedure as JMF4505a.
  • the data to be transmitted is all the data described in the PMT in Fig. 51.
  • the network library 4505e gives these packet IDs to the TS decoder 4307 through the library 4501b of the OS 4501, and outputs them to the TS multiplexer 4310.
  • TS Deco The reader 4307 performs filtering based on the given packet ID, and hands it over to the TS multiplexer 4320.
  • the network library 4505e gives the TS multiplexer 4310 how many kinds of data are sent through the library 4501b of the OS4501, and the MPEG2 transport stream from the data delivered from the TS decoder 430 7 Make up.
  • the TS multiplexer 4310 delivers the configured MPEG2 transport stream to the CPU.
  • the network library 4310e gives the destination address to the NET4501b 4 of the library 4501b of the OS4501. Subsequently, the network library 4501b4 converts the MPEG2 transport stream received from the TS multiplexer 4310 into a format according to the protocol of the application level to be transmitted, and sequentially delivers it to the NET4501b4.
  • Application level protocols are, for example, HTTP and RTP.
  • the NET4501b4 refers to the destination address, converts the delivered data into an IP network packet, and delivers it to the network unit 4311.
  • the network unit 4311 converts the delivered data into a signal corresponding to the physical media of the connected network and outputs it.
  • the Java's 4505 When the service manager 4504 receives the identifier of the other channel, the Java's 4505 outputs the video'audio and the Java program being played through each library included in the Java library 4505 or output to the network. The program is stopped through each library included in, and based on the newly received channel identifier, the video is played and the Java program is executed or output to the network.
  • the service manager 4504 has a function of receiving not only the playback unit 4502b but also a channel identifier from a Java program module executed on the Java VM 4503. Specifically, it provides Java language classes and methods for receiving channel identifiers. Upon receipt of the channel identifier, the service manager 4504 includes the currently playing video's audio and Java program execution or output to the network through each library included in the Java library 4505 in the same ava library 4505. Stop through each library and then based on the newly received channel identifier V, video, audio playback and Java program execution or network output.
  • the Java library 4505 is a set of a plurality of Java libraries stored in the second memory 4303.
  • the Java library 4505 is JMF4505a, AM4505b
  • Tuner4505c CA4505d
  • Network library 4505e Playback Lib4505f
  • JMF4505a, AM4505b, Tuner4505c, and CA4505d have already been described and will be omitted.
  • Playback Lib4505f stores the Java language class and method (hereinafter referred to as Java API) for passing the identifier of the channel that the second memory 4303 stores and is currently playing! / To the Java program. And provide). By using this Java API, Java programs can know which channel is currently playing.
  • Java API Java language class and method
  • the IO4505g provides the Java program with a Java API for writing data to the second memory 4503 by the Java program or a Java API for reading the written data from the second memory 4303.
  • a Java program can store arbitrary data in the second memory 4303. Since the stored data does not disappear even when the power of the broadcast receiving device 3902 is turned off, the data can be read again after the power of the broadcast receiving device 3902 is turned on.
  • AWT4505h provides a Java API for a Java program to perform drawing and receive key input notifications from the input unit 4301. Specifically, the default is “The Java class Libraries Second Edition, Volume 2” (ISBNO—201—31003—1). 3 ⁇ 4java. Awt noggane, java. Awt. This sub-package is equivalent. Here, detailed description is omitted.
  • SI4505i is a Java program in which Java programs acquire channel information and electronic program guide information.
  • Java TV specifications exist.
  • an MPEG section that obtains raw binary data from a broadcast MPEG2 transport stream
  • the filter API is defined in the OCAP specification, and the Java application can understand and handle the unique electronic program data that has been sent.
  • the network library 4505e communicates with the video storage device 3903, the video storage device 3904, the terminal 3905, and the terminal 3906 connected to the network 3907 through the NET4501b4 of the library 4501b of the OS4501.
  • the video storage device 3903 and the video storage device 3904 are the transmission / reception of the attributes of the video storage device, the request for storing the multimedia data and the transmission of the multimedia data, and the possibility of storing the specific multimedia data. Communication, and a request for transmission of multimedia data to be stored and communication of rights processing associated with the use of the multimedia data.
  • the terminal 3905 and the terminal 3906 accept a request for transmitting multimedia data, transmit the multimedia data, or notify the video storage device to which the multimedia data is transmitted.
  • FIG. 54 is a block diagram showing an example of the internal configuration of network library 4505e according to Embodiment 4 of the present invention.
  • the network library 4505e includes a control unit 5401, a data reception unit 5402, an information communication unit 5403, a selection unit 5404, a data output unit 5405, and a right processing unit 5406.
  • the network library 4505e may include other functions related to the IP network.
  • the control unit 5401 provides the functions realized by the network library 4505e for the downloaded Java application. That is, the control unit 5401 provides a Java API to a Java application, and can execute a function using a network by calling this API. When the Java API is called, the control unit 5401 appropriately receives the data reception unit 5402, the information communication unit 5403, the selection unit 5404, the data output unit 5405, the authoritative IJ processing unit 5406, and other Java libraries U4505 and OS4501. Use 450 lb of the library.
  • FIG. 55 is a diagram showing an example of the Java API provided by the control unit 5401 according to Embodiment 4 of the present invention.
  • Figure 55 (1) Method collectNetDevice O collects information on external devices connected to the network 3907 and returns an array of NetDevice objects as the information. Specifically, the method collectNetDevice O of the information communication unit 5403 described later is called and the return Returns a value. This method can obtain information about the devices connected to the network.
  • Figure 56 shows an example of the NetDevice class configuration. In FIG. 56, addr represents the network address of the device, friendlyName represents the nickname assigned to the device, dType represents the type of the device, 0 represents the broadcast receiving device, 1 represents the video storage device, and 2 represents the terminal. To do. Since such information can be performed by the method defined in UPnP DA, the details of the processing are omitted.
  • Attr is an attribute of the video storage device and is an object of DevAttrib class.
  • FIG. 57 shows an example of the configuration of the DevAttrib class according to Embodiment 4 of the present invention.
  • remainCap represents the free space capacity for storing multimedia data
  • replayFavoritGenre represents the most frequently used genre of content played or output to the network, 0 for movies, 1 for sports, How to represent.
  • recordFavoritGenre represents the most frequently used genre among content recorded by user operations.
  • Figure 55 (2) Method sendMultimediaData () specifies the channel identifier and sends multimedia data to the video storage device 3903 or video storage device 3904. If it succeeds, it returns true and fails. Will return false.
  • Figure 55 (3) Method acceptMultimediaRequest O, when called, is resident by starting another process or thread and running on it. If the multimedia data is stored in the video storage device 3903 or the video storage device 104, the transmission request to the terminal is issued to the video storage device. The issuing terminal is notified that the multimedia data is transmitted from the video storage device, and if it is not stored, the multimedia data is received from the broadcasting station and transmitted to the terminal. It returns true when it ends normally and false when it is abnormal. Note that the configuration may be terminated if one request is received without being resident. Since these methods operate using the APIs of the data reception unit 5402, the information communication unit 5403, the selection unit 5404, the data output unit 5405, and the right processing unit 5406, details will be described later.
  • Figure 55 (4) Method collectMultimediaData 0 uses Java library 4505, etc. Search for multimedia content provided by Your VoD, receive part or all of the program by requesting service manager 4504 once for each program, call method sendMultimediaData O, and store video It is sent to the device, and returns true if it succeeds and false if it fails.
  • Figure 55 The method setSelectAlgorithm O sets the algorithm used when the selection unit 5404 selects the video storage device to the one given by the argument id. If it succeeds, it returns true and fails. Returns false. The id value and each algorithm are predetermined. This method is performed by calling the method setSelectAlgorithm O of the selection unit 5404.
  • Figure 55 The method setStoragePriority () sets the priority of the video storage device when the selection unit 5404 selects according to the priority of the video storage device. Assume that the priority is higher in order. Returns true if the process succeeds, false if it fails.
  • This method is performed by calling the method setStoragePriority () of the selection unit 5404. Note that this method may have a configuration in which an array of pairs of video storage devices and their priority values is set as an argument.
  • Figure 55 (7) setTerminalPriority O sets the priority of the terminal when the selection unit 5404 selects a video storage device according to the priority of the terminal.
  • the priority is set in the order of the array of the arguments devices. Is high. Returns true if the process succeeds, false if it fails.
  • This method is performed by calling the method setTerminalPriority O of the selection unit 5404. Note that this method may have a configuration in which an array of pairs of terminals and their priority values is set as an argument.
  • Method setCombination O sets the pair of video storage device and terminal when selection unit 5404 selects the video storage device according to the priority of the terminal. , Give the video storage device with the argument devices, give the terminal with the arguments terms, and set each array as a pair with the same I-descriptor. This method is performed by calling setCombination () of the selection unit 5404.
  • FIG. 55 (9)
  • the method setSelectedStorageDevice () sets the video storage device of the index given by the argument id as the selected video storage device. This method selects This is done by calling the method setSelectedStorageDevice () in part 5404, so the details will be described there.
  • Figure 55 (10) The method registerHandler () registers the handler given by the argument handler in the system, and returns true if it succeeds and false if it fails.
  • a Java application can receive a callback from the network library 4505e by registering the handler.
  • the data receiving unit 5402 controls the TS decoder 4307 and the TS multiplexer 4310 of the broadcast receiving device 3902 through the library 4501 of the OS4501, and the video, audio, and section data filtered by the TS decoder 4307 to the TS multiplexer 4310. Therefore, it is configured to be read out as an MPEG2 transport stream.
  • FIG. 58 is a diagram illustrating an example of a Java API provided by the data receiving unit 1602.
  • (1) Method openProgram O returns an InputStream object that reads the MPEG2 transport stream configured by TS multiplexer 510 from the channel identifier specified in the argument. In case of failure, null is returned.
  • the information communication unit 5403 controls the network unit 4311 of the broadcast receiving device 3902 through the NET4501b4 of the library 4501 of the OS4501, and transmits / receives messages to / from external devices connected to the specified network 3907. It is.
  • the information communication unit 5403 provides the Java API to the control unit 5401 and the downloaded Java application.
  • FIG. 59 is a diagram showing an example of a Java API provided by the information communication unit 1603 according to Embodiment 4 of the present invention.
  • Figure 59 (1) Method checkStorageAttribute () sends an attribute transmission request to the information storage device specified by the argument, receives the response, and sets the attribute in the NetDevice class object indicated by the argument dev. It returns true if it succeeds and false if it fails.
  • Figure 59 (3) The method askContentStored O sends an inquiry as to whether or not to store the multimedia data specified by the argument id to the video storage device specified by the argument dev. Receives a response, returns true if it receives a response that it has been stored, returns false if it receives a response that stores it, V,,, or if communication fails.
  • Figure 59 (4) The method sendTransferRequest O sends a request to the video storage device specified by the argument server to send the multimedia data specified by the argument id to the terminal specified by the client argument. This is to receive a response. If OK is received, true is returned. If NG is received or communication fails, false is returned.
  • FIG. 60 shows the structure of the MMRequest class according to Embodiment 4 of the present invention.
  • Figure 59 (6) The method notifyTransferDevice () uses the Socket object specified by the argument s to the terminal connected by the Socket object, and the video storage device card specified by the argument dev. To notify that multimedia data will be sent, returns true if it succeeds and false if it fails.
  • Method notifyTransferData O uses the Socket object specified by the argument s to send multimedia data from the broadcast receiver 3 902 to the terminal connected by the Socket object. If it succeeds, it returns true, and if it fails, it returns false.
  • Figure 59 (8) The method notifyUnableTransfer () is requested from the reason indicated by the argument status to the terminal connected by the Socket object using the Socket object specified by the argument s. If it succeeds, it returns true, and if it fails, it returns false. [0501]
  • Figure 59 (9) Method collectNetDevice O collects information on external devices connected to network 3907 and returns an array of NetDevice objects as the information. Since this process can be performed by the method defined in UPnP DA, the details of the process are omitted.
  • the selection unit 5404 selects one of the video storage devices connected to the network 3907 from the power applied to the set algorithm ⁇ , the video storage device attributes, and the multimedia data attributes. .
  • the selection unit 5404 is the control unit 5401
  • FIG. 61 is a diagram showing an example of the Java API provided by the selection unit 5404 according to Embodiment 4 of the present invention.
  • the method selectDevice () is a video storage device stored in d evices from the video storage devices indicated by the argument devices according to the algorithm set by the method setAlgorithm O described later.
  • One video storage device based on the attributes of the channel and the channel identifier indicated by the argument id and the multimedia data attributes that can also read the program information stored in the second memory 4303 shown in FIG. If successful, the selected video storage device is returned in the devices index. If unsuccessful, it returns a negative value.
  • a video storage device having a large free space is selected, a video storage device is allocated and selected for each genre of multimedia data, and multimedia data of the same genre as the multimedia data genre is selected.
  • Select a video storage device that has been recorded frequently by user operation Select a device according to the priority of the video storage device set by the method setStoragePriority O described later. Select the terminal set by the method setTerminalPriority O described later. Select the terminal according to the priority of the priority and the terminal and video storage device set by the method setCombination O, which will be described later, and select the video storage device paired with that terminal, or If there are multiple video storage devices, call back function to Java application. Notify me by, and presented the list to the user, accepts an input from the user, it is specified by the method setSelectedStorageDevice O described below For example, to select a stored video storage device.
  • Figure 61 (2) Method setSelectAlgorithm O sets the algorithm used when the selection unit 5404 selects a video storage device to the one given by the argument id. If it succeeds, it returns true and fails. Returns false. The id value and each algorithm are predetermined.
  • Fig. 61 The method setStoragePriority () sets the priority of the video storage device when the selection unit 5404 selects according to the priority of the video storage device. Assume that the priority is higher in order. Returns true if the process succeeds, false if it fails. Note that this method may be configured to set an array of pairs of video storage devices and their priority values as arguments.
  • Figure 61 (4) setTerminalPriority O sets the priority of the terminal when the selection unit 5404 selects the video storage device according to the priority of the terminal.
  • the priority is set in the order of the array of the argument devices. Is high. Returns true if the process succeeds, false if it fails.
  • This method may have a configuration in which an array of pairs of terminals and their priority values is set as an argument.
  • Method setCombination O sets the pair of video storage device and terminal when selection unit 5404 selects the video storage device according to the priority of the terminal. , Give the video storage device with the argument devices, give the terminal with the arguments terms, and set each array as a pair with the same I-descriptor.
  • Fig. 61 Method setSelectedStorageDevice () sets the video storage device of the index given by the argument id as the selected video storage device.
  • This method is called by the java application that notifies the Java application with the callback function and accepts the user's input when selecting by the user's input using the method selectDevice O force.
  • the callback function is Handler, notify (NetDevices [] devices, Object obj), if the handler object of the Java application is Handler. This allows the Java application to list the video storage device given by the argument to the user. Present and accept user input.
  • the index of the array devices of the specified one from the accepted input Acquired and an instance of the control unit 5401 or the selection unit 5404 is given by the I number obj, and set by calling the method setSelectedStorageDevice O.
  • the handler object Handler is registered by the method registerHandler O of the control unit 5401. Note that the selection unit 5404 may have the same registerHandler O method and be disclosed to the Java application.
  • the data output unit 5405 controls the network unit 4311 of the broadcast receiving device 3902 through the NET4501b4 of the library 4501 of the OS4501 and connects the data receiving unit 5402 to the specified network 3907! Transmits multimedia data received by.
  • the data output unit 5405 provides the Java API to the control unit 5401 and the downloaded Java application.
  • FIG. 62 is a diagram showing an example of a Java API provided by the data output unit 1605 according to Embodiment 4 of the present invention.
  • Figure 62 (1) The method sendData O is connected to the network 3907 specified by the argument dev and reads the data read from the InputStream object specified by the argument is from the is to EOF Is sent until it is read. If it succeeds, it returns true, and if it fails, it returns false.
  • the right processing unit 5406 requests the service manager 4504 to perform right processing such as charging associated with the use of multimedia data.
  • the rights processing unit 5406 provides the Java API to the control unit 5401 and the downloaded Java application.
  • FIG. 63 is a diagram showing an example of the Java API provided by the right processing unit 5406 according to Embodiment 4 of the present invention.
  • Figure 63 (1) The method requestContentUse () requests the service manager 4504 to process the right of the content specified by the argument id. If the content use is permitted, true is returned and is not permitted. Or false if the process fails
  • sendMultimediaData ()
  • sendMultimed iaData O a video storage device connected to the network 3907 is searched by the method collectNetDevice () of the control unit 5401.
  • the method checkStorageAttribute () of the information communication unit 5403 is called for each video storage device to check the attribute of each video storage device.
  • the method selectDevice 0 of the selection unit 5404 is called to select a video storage device. Furthermore, an identifier for identifying the multimedia data is issued.
  • the storage request is transmitted together with the multimedia data identifier and the multimedia data program information.
  • the method openProgram O of the data reception unit 5402 is called to obtain an Input Stream object for reading out the mano-recimedia data.
  • the method sendData O of the data output unit 5405 is called to transmit the received multimedia data to the selected video storage device. If the processing is successful, the identifier of the issued multimedia data is stored in the second memory 4303 together with the attributes of the multimedia data.
  • the process of the method acceptMultimediaRequest () will be described.
  • the method ac ceptMultimediaRequest () creates another thread or process and runs on it.
  • the method acceptTerminalRequest O of the information communication unit 5403 is called to receive the request from the terminal.
  • the identifier of the requested multimedia data is specified from the request from the terminal or the channel identifier received from the terminal and the information stored in the second memory 4303.
  • the video storage device connected to the network is searched from the power of calling the method collectNetDevice () of the control unit 5401 or the information stored in the second memory 4303.
  • the method askContentStore d () of the information communication unit 5403 is called to check whether the multimedia data is stored in the video storage device. Inquire. If there is an accumulated video storage device, the multimedia data transmission request is issued to the requested terminal by calling the method sendTransferRequest O of the information communication unit 5403 to the video storage device.
  • the requested terminal is specified from the Socket object communicating with the terminal and the result of the management unit method collectNetDevic () or the information stored in the second memory 4303.
  • rights processing is performed by calling the method requestContentUse () of the rights processing unit 5406. Subsequently, the terminal that has made the request is notified of the video storage device that is accumulating by calling the method notigyTransDeviceDevice () of the information communication unit 5403. If the video storage device storing the multimedia data cannot be found, the service manager 4504 is handed over the channel identifier to request the program reception. Subsequently, as in the case of the method sendMultimediaData O, the method openProgramO of the data reception unit 5402 is called to generate an InputStream that reads the received multimedia data.
  • the method notifyUnableTransfer () of the information communication unit 5403 is called to notify the terminal that data transmission is impossible, and the process returns to the standby request.
  • Method openProgram O force If an instance of the Inputs tream object is returned, the multimedia data is transmitted from the broadcast receiving device 3902 to the terminal by calling the method 110 £ 1 ⁇ & 11 sferData O method of the information communication unit 5403. To be notified. Subsequently, the multimedia data is transmitted to the terminal by calling the method sendData O of the data output unit 5405. When the data transmission is completed, it returns to waiting for a connection request.
  • connection request When a connection request is received, another thread or process is further generated, and the subsequent processing operates in the other thread or process, and the original thread or process returns to waiting for a connection request. good. In this case, the processing on the separate thread or process ends without returning to waiting for a connection request.
  • a Java application can receive multimedia data of a program provided by Your VoD prior to use and store it in a video storage device. This accumulation may be performed at regular time intervals, or may be performed at the date and time set by the user. Further, it may be performed at time intervals set by the user. Also you You may carry out by the operation of the. Moreover, you may perform by the instruction
  • FIG. 64 is a block diagram showing configurations of video storage device 3903 and video storage device 3904 according to Embodiment 4 of the present invention.
  • the video storage device 3903 and the video storage device 3904 shown in the figure include an input unit 6401, a first memory 6402, a second memory 6403, a demultiplexing unit 6404, a TS decoder 6405, a video output unit 6406, an audio output unit 6407, It consists of a network part 640 8 and CPU26409.
  • the video storage device 39 03 and the video storage device 3904 in the present embodiment are not limited to storing multimedia data, and the multimedia data received from the broadcast receiving device 3902 and the stored multimedia can be obtained by user operation. The data is also reproduced.
  • Input unit 6401, first memory 6402, and second memory 6403 are the same as input unit 4301, first memory 4302, and second memory 4303 of broadcast receiving device 3902 in the above-described embodiment. is there.
  • the video storage device 3903 and the video storage device 3904 store multimedia data in the second memory 6403.
  • the program information obtained by EPG such as the multimedia data identifier, title, broadcast date and time, broadcast channel, etc. is stored as metadata.
  • the demultiplexing unit 6404 receives the MPEG transport stream from the CPU 6409, extracts the specified information from the CPU 6409, and delivers it to the CPU 6409. In addition, the MPEG transport stream is transferred to the TS decoder 6405 as it is.
  • the TS decoder 6405 receives identifiers of audio data and video data from the CPU 6409. Further, data corresponding to the identifiers of the received audio data and video data is extracted from the stream received from the demultiplexing unit 6404. The extracted video data is delivered to the video output unit 6406, and the audio data is delivered to the audio output unit 6407.
  • Video output unit 6406 and audio output unit 6407 are the same as video output unit 4308 and audio output unit 4309 of broadcast receiving apparatus 3902 in the present embodiment described above.
  • the network unit 6408 includes a network interface, converts the data received from the CPU 6409 into a signal corresponding to the physical medium of the network to which the network interface is connected, and outputs the signal.
  • the network interface power also receives signals, It is converted into a packet defined by the IP network and delivered to CPU6409.
  • the CPU 6409 controls the demultiplexing unit 6404, the TS decoder 6405, and the network unit 6409 by executing a program stored in the second memory 6403.
  • FIG. 65 shows a program configuration held and executed by video storage device 3903 and video storage device 3904 according to Embodiment 4 of the present invention.
  • This figure is an example of a configuration diagram of a program held and stored in the second memory 6403 and executed by the CPU 6409.
  • the program 6500 includes a plurality of subprograms. Specifically, the program 6500 includes an OS6501, a Java VM6502, a service manager 6503, and a Java library 6504.
  • OS6501 is a subprogram that starts up the CPU 6409 when the video storage device 3903 and the video storage device 3904 are powered on.
  • OS6501 is an abbreviation for an operating system, and Linux is an example.
  • the OS6501 is a generic name for known techniques including a kernel 6501a and a library 6501b that execute other subprograms in parallel, and detailed description thereof is omitted.
  • the kernel 650 la of the OS6501 executes the Java VM6503 as a subprogram.
  • the library 6501b provides a plurality of functions for controlling the video storage device 3903 and the components held by the video storage device 3904 for these subprograms.
  • the library 6501b includes a restriction release 6501bl, an AV playback 6502b2, and a NET6501b3 as examples of functions.
  • Limited release 6502b 1 receives information from CA6504c of other subprograms and Java library 6504, decrypts the encrypted data received from the network camera, enables AV playback 6501 b2, and improves network power The reproduction of the multimedia data received and the multimedia data stored in the second memory 640 3 is permitted.
  • the AV playback 6502b2 receives the audio packet ID and the video packet ID from other subprograms and the JMF6504a of the Java library 6504.
  • the received audio packet ID and video packet ID are given to the TS decoder 6405.
  • the TS decoder 6405 performs filtering based on the given packet ID, and realizes video and audio reproduction.
  • NET6501b3 receives data received from the network library 6504d of other subprograms and Java library 6504 from the application layer specified by the IP network. Create a packet with the following protocol. Protocols below the application layer are, for example, TCP packets, UDP packets, and IP packets. By handing this over to the network unit 6408, messages and data are sent to other devices via the network 3907. When a message from another device is received via the network 3907, it is converted into an application layer protocol packet and delivered to another subprogram or the network library 6504d of the Java library 6504. Examples of application layer protocols include HTTP and RTP.
  • Java VM 6502 is the same as Java VM 4503 of broadcast receiving apparatus 3902 in the present embodiment described above.
  • Service manager 6503 is the same as service manager 4604 of broadcast receiving apparatus 3902 in the present embodiment described above except for the following differences.
  • the service manager 4604 receives the channel identifier from the playback unit 4602b, passes the identifier to the Tuner 4605c, tunes it, requests the CA4605d to perform descrambling, gives the channel identifier to the JMF4605a, and requests video 'audio playback.
  • the service manager 6503 received the content identifier from the List 6504i in the Java library 6504, passes the content identifier to the IO6504f in the Java library 6504, and stores it in the second memory 6403.
  • the content identifier and the device that receives the content identifier are delivered to the network library 6504d and the stream is received from the device, and then the content identifier is sent to the JMF6504a in the Java library 6504. To request the playback of video and audio A. List6504i will be described later.
  • the service manager 6503 requests the network library 6504d in the Java library 6504 to wait for a storage request from the broadcast receiving device 3902 and to receive and store data from the broadcast receiving device 3902. Multimedia data is received and stored in the second memory 6403.
  • the service manager 6503 receives the network library 6504d in the Java library 6504, the multimedia data transmission request from the broadcast receiving device 3902, and the data transmission request from the terminal 3905 or the terminal 3906. And accepting the request By sending the requested data transmission, the multimedia data stored in the second memory 6403 is transmitted to the terminal.
  • the Java library 6504 is a set of a plurality of Java libraries stored in the second memory 6403.
  • the Java library 6504 includes JMF6504a, AM6504b, CA6504c, network library 6504d, playback Lib6504e, List6504i, and the like.
  • the JMF6504a, AM6504b, playback Lib6504e, IO6504f, AWT6504g, and SI6504h are the JMF4505a, AM4505b, playback Lib4505f, IO4505g, AWT4505h, and SI4505i in the Java library 4505 of the broadcast receiver 3902 in the above-described embodiment, respectively. It is the same thing.
  • CA6504c manages rights processing of multimedia data such as copy control and accounting of multimedia data transmitted via network 3907 and multimedia data stored in second memory 6403 .
  • Copy control refers to the copy control information included in the section information of the transmitted transport stream and rewrites it if necessary.
  • Billing or the like is performed by communicating with the broadcast receiving device 3902 through the network library 6504d.
  • List6504i is a list of EPG in the broadcast receiving device 3902, a list of multimedia content stored in the second memory 6403, and a list of multimedia content stored in the video storage device connected to the network 3907. Is displayed, and one multimedia content is selected from the list by the user operation accepted by the input unit 6401, and the service manager 6503 is requested to play it. In the case of content stored in the broadcast receiving device 3902 or another video storage device connected to the network 3907, information on the device is also transferred to the service manager 6503. A list of contents stored in the second memory 6403 can be obtained by reading information through the IO6504f.
  • the network library 6504d communicates with the broadcast receiving device 3902, other video receiving devices, the terminal 3905, and the terminal 3906 connected to the network 3907 through the NET6501b3 of the OS6501b.
  • the broadcast receiving device 3902 refers to the attribute transmission of the video storage device, the reception of multimedia data storage request and the reception of the multimedia data, the question of whether to store the multimedia data, the combined reception, its reply, and the storage.
  • the transmission of the request for transmission of the multimedia data and the communication of the rights processing associated with the use of the multimedia data are performed. Also, with other broadcast receiving apparatuses, terminal 3905 and terminal 3906, multimedia data list transmission / reception, multimedia data transmission, and multimedia data reception are performed.
  • FIG. 66 is a block diagram showing an example of the internal configuration of the network library 6504d according to Embodiment 4 of the present invention.
  • the network library 5404d includes a control unit 6601, a control information communication unit 6602, a data reception unit 6603, a data transmission unit 6604, an attribute management unit 6605, and a right processing unit 6606.
  • the network library 6504d may include other functions related to the IP network.
  • the control unit 6601 provides the functions realized by the network library 6504d for the downloaded Java application. That is, the control unit 6601 provides a Java API for the downloaded Java application, and the Java application calls this API, thereby realizing a function using the network. When the Java API is called, the control unit 6601 appropriately controls the control information communication unit 6602, the data reception unit 6603, the data transmission unit 6604, the attribute management unit 6605, the authoritative IJ processing unit 6606, and other Java libraries 6504 and Processing is performed using the library 6501b of OS6501.
  • FIG. 67 shows an example of a Java API provided by control unit 6601 included in the internal configuration of network library 6504d according to Embodiment 4 of the present invention.
  • Figure 67 (1) The method collectNetDevice O collects information on external devices connected to the network 3907, returns an array of NetDevice objects as that information, and returns null if it fails. This method is performed by using the method collectDevice () of the control information communication unit 6602 described later.
  • Figure 67 (2) Method acceptRequestToStore () is called if another process is called. In other words, it is resident by starting a thread and operating on it, accepting attribute transmission requests from the broadcast receiving device 3 902, accepting multimedia data storage requests, receiving multimedia data, and second memory 6403 Accumulate to. Returns true if successful, false if abnormal.
  • Java application power may be configured such that a device connected to the network 3907 is passed as an argument, and the device power data is received and stored by communicating with the device. Details will be described later.
  • Fig. 67 (3) Method & 6! ⁇ 11 ⁇ 251; Ding 01 ⁇ & 115 £ 61: () is resident by starting another process or thread and running on it when called.
  • the broadcast receiving device 3902 sends a request for transmission of specific multimedia data to a specific terminal. Is received and the multimedia data is transmitted to the terminal. Further, the terminal 3905, the terminal 3906, etc., accepts a request for transmission of multimedia data from the external device, and transmits the multimedia data. Returns true if successful, false if abnormal. Note that the configuration may be terminated if one request is received without being resident. Details will be described later.
  • Figure 67 (4) Method getMultimediaData () also accepts a device connected to the network 3907 and the content identifier and output stream from a Java application or other subprogram, and is identified from the device by the identifier. Multimedia data is received and written to the output stream. Returns true on success, false on failure. This method allows Java applications to receive and play multimedia data with other device capabilities S connected to the network 3907. Details will be described later.
  • FIG. 68 is a diagram showing an example of Contentlnfo class definition used in the network library 6504d according to Embodiment 4 of the present invention. In FIG.
  • dev represents the video storage device
  • contentld represents the identifier of the content
  • channelld represents the identifier of the channel on which the content was broadcast
  • title represents the title of the content
  • gunre represents the content.
  • BroadDae represents the date and time when the content was broadcast
  • recDate represents the date and time when the content was recorded. This is done by calling the method getContentList () of the control information communication unit 2802 described later.
  • the control information communication unit 6602 controls the network unit 6408 through the NET6501b3 of the library 6501 of the OS6501, and transmits / receives messages to / from an external device connected to the designated network 3907.
  • the control information communication unit 6402 provides the Java API to the control unit 6401 and the downloaded Java application.
  • FIG. 69 is a diagram showing an example of a Java API provided by the control information communication unit 6602 included in the internal configuration of the network library 6504d according to Embodiment 4 of the present invention.
  • FIG. 69 (1) The method collectNetDevice () is the same as the method collectNetD evice () of the information communication unit 5403 of the network library 4505e of the broadcast receiving apparatus 102 in the present embodiment described above.
  • Figure 69 (2) The method getRequestMessage () returns a message from the socket given by the argument s. A page is received and returned as a byte sequence. If it succeeds, it returns a byte sequence, and if it fails, it returns null. This method is used when a request for external equipment is received.
  • Figure 69 (3) The method sendResponseMessage O sends the message given by the argument mes to the socket given by the argument s, and returns true if it succeeds and false if it fails. . This method is used when sending a response to a request from an external device.
  • Figure 69 Method (4) sendRequestMessage () sends the message given by the argument mes to the socket given by the argument s, returns true if it succeeds, false if it fails. return. This method is used when sending a request to an external device.
  • Figure 69 (6) and (7) Method getConentList O obtains a list of contents stored in the video storage device given by argument dev or multiple video storage devices given by devices. It returns an array of Contentlnfo objects, which returns on success and returns null on failure. Since the content list stored in each video storage device can be obtained by the method defined by UPnP AV, details are omitted.
  • the data receiving unit 6403 controls the network unit 6408 through the NET6501b3 of the library 6501 of the OS6501, and receives multimedia data from the broadcast receiving device or video storage device connected to the network 3907 through the network 3907. is there.
  • Data receiving unit 6603, control unit 6601 and download ⁇ Java application Provide Java API for.
  • FIG. 70 is a diagram showing an example of a Java API provided by the data reception unit 6603 included in the internal configuration of the network library 6504d according to Embodiment 4 of the present invention.
  • FIG. 71 shows an example of the configuration of the RemoteProgram class according to Embodiment 4 of the present invention.
  • s represents a socket used for communication.
  • the method getMedialnput Stream () returns an InputStream object for reading the multimedia data.
  • Figure 70 (2) The method openRemoteProgram O secures a communication path for receiving the multimedia data stored in the device given by the argument dev and having the identifier given by the argument id. Returns the object on success, null on failure.
  • This method first creates and connects a Socket object that communicates with the device. Subsequently, a transmission request message including the given identifier is created and transmitted to the device by calling the method sendRequestMessage O of the control information communication unit 6602. Subsequently, a response message is received by calling getResponseMessage O of the control information communication unit 6602. If the reply message is OK, analyze it.
  • a new Socket object is created and a RemoteProgram object is created and returned using that Socket object. If a specific port is not specified, a RemoteProgram object is created from the Socket object used for communication and returned. If the response message is NG, return null.
  • the data transmission unit 6604 controls the network unit 6408 via the NET6501b3 of the library 6501 of the OS6501, and outputs the specified multimedia data to the external device connected to the specified network 3907. .
  • FIG. 72 is a diagram showing an example of the Java API provided by the data transmission unit 2803 included in the internal configuration of the network library 6504d according to Embodiment 4 of the present invention.
  • Figure 72 (1) Method sendMultimediaData O uses the Socket object given by the argument s.
  • Figure 72 (2) Method sendMultimediaData O uses the Socket object given by the argument s. Reads data from the InputStream object given by the argument is and sends the data up to that EOF. If it succeeds, it returns true, and if it fails, it returns false.
  • the attribute management unit 6605 manages the attributes of the video storage device.
  • the attribute of the video storage device is stored in the second memory 6403, and the attribute management unit 6605 reads and writes it using the IO6404f in the Java library 6206.
  • the attribute management unit 6605 provides the Java API to the control unit 6601 and the downloaded Java application.
  • FIG. 73 is a diagram showing an example of a Java API provided by the attribute management unit 6605 included in the internal configuration of the network library 6504d according to Embodiment 4 of the present invention.
  • Figure 73 (1) The method updateAttribute () updates the attribute information when the content specified by the argument id is processed by the process specified by the argument t ype. Returns true if it fails, false if it fails. A type value of 0 indicates accumulation, while a value of 1 indicates playback or transmission to the network.
  • This method reads attribute information and stored content information from the second memory 6403, checks the genre of the content, and checks the free space in the multimedia data area of the second memory 6403. Update attribute information. Then, the updated attribute information is written into the second memory 2603.
  • the right processing unit 6606 performs the right processing regarding the use of the content of the identifier given by the argument id to the broadcast receiving device 3902.
  • FIG. 74 is a diagram showing an example of a Java API provided by the right processing unit 6606 included in the internal configuration of the network library 6504d according to Embodiment 4 of the present invention.
  • Figure 74 (1) The method requestContentUse () requests permission to use the content of the identifier given by the argument id to the device given by the argument dev. Returns true, false if not permitted or failed. This method creates a request message and calls the method sendRequestMessage O of the control information communication unit 6402 to send it. In addition, a response message is received by calling the method getReposeMessageO of the control information communication unit 2802. If the response message indicates OK! / ⁇ , it returns true, and if it indicates NG! /, Returns false.
  • the method acceptRequestToStore creates another thread or process and runs on it.
  • a Socket object that accepts a connection from the broadcast receiving device 3902 is generated, and a connection request is awaited.
  • the method getRequestMessage () of the control information communication unit 6602 is called to receive the request message. If the received request message is an attribute inquiry, the attribute information is returned by calling the method getAttribute () of the attribute management unit 6605 to read the attribute information and calling the method sendResponseMessage () of the control information communication unit 6602. Return to waiting for a connection request.
  • the multimedia data identifier and program information are extracted from the request message. Subsequently, the input stream to be received is created by calling the method openRemot eProgram O of the data receiving unit 6603. Subsequently, the multimedia data is stored by writing the identifier, program information and multimedia data received from the InputStream to the second memory 6403 through the IO6504f in the Java library 2704. Furthermore, the attribute information is updated by calling the method updateAttribute O of the attribute management unit 6605. When the above processing is completed, the process returns to waiting for a connection request.
  • connection request When a connection request is received, another thread or process is further generated, and the subsequent processing operates in the other thread or process, and the original thread or process
  • the process may return to waiting for a connection request.
  • the method KacceptRequestToStore () may take a NetDevice object as an argument, and the broadcast receiving device 3902 may be given by this argument.
  • the connection request is not accepted.
  • the method acceptRequestToTransfer O creates another thread or process and runs on it.
  • create a Socket object that accepts connections from devices connected to the network 3907, and wait for connection requests. If a connection request is received, the method getRequestMessage () of the control information communication unit 6602 is called to receive the request message. If the received request message is an inquiry from the broadcast receiving device 3902 as to whether or not certain multimedia data is stored, first, the multimedia data identifier is extracted from the request message. Next, through the IO6504f in the Java library 6504, a list of stored contents is read out and collated with the retrieved identifier to determine whether or not the multimedia data is stored.
  • the determination result is returned by calling the method sendResponseMessage () of the control information communication unit 6602, and the process returns to waiting for a connection request.
  • the received request message is a request for transmission of certain multimedia data from the broadcast receiving apparatus 3902
  • the identifier of the multimedia data to be transmitted to the destination terminal is extracted from the request message.
  • an InputStream that reads the multimedia data through the IO6504f is acquired.
  • the multimedia data is transmitted to the terminal by calling the method sendMultimediaData O of the data transmission unit 6604.
  • the method updateAttribute O of the attribute management unit 6605 is called to update the attribute information, and the process returns to waiting for a connection request.
  • the request is a multimedia data transmission request from a terminal or the like
  • the identifier of the multimedia data to be transmitted is first extracted from the request message module. Subsequently, an InputStream that reads the multimedia data is obtained through the IO6504f. Then, the multimedia data is transmitted to the terminal by calling the method sendMultimediaDataO of the data transmission unit 6604. Day When the data transmission ends, the method updateAttribute () of the attribute management unit 6605 is called to update the attribute information, and the process returns to waiting for a connection request. When a connection request is received, another thread or process is further generated, and the subsequent processing operates in the other thread or process, and the original thread or process returns to waiting for a connection request. good. In this case, the processing on the separate thread or process ends without returning to waiting for a connection request.
  • Terminal 3905 and terminal 3906 are composed of only the components related to the reproduction of multimedia data in video storage device 3903 and video storage device 3904 described above, and thus detailed description thereof is omitted.
  • the broadcast receiving device 3902 further stores multimedia data in the second memory 4303, and the selection unit 5404 of the network library 4505e in the Java library 4505 is connected to the broadcast receiving device 3902 and the network 3907. It may be configured to select one of the connected video storage devices.
  • the broadcast receiving device 3902 also has a video storage device connected to the network 3907 when receiving a request for viewing the VoD program. The storage unit of the broadcast receiving device 3902 is searched for whether or not the multimedia data of the content is stored. It may be configured to send to the terminal that issued the request.
  • the broadcast receiving device 3902 performs a predetermined encryption on the multimedia data, and transmits the encrypted multimedia data to the video storage device 3903 and the video storage device 3904. It may be a configuration.
  • the video storage device 3903 and the video storage device 3904 may be configured to decrypt the received encrypted multimedia data and store the decrypted multimedia data in the storage unit 4102, or a predetermined encryption key. It is also possible to use a configuration in which the data is accumulated.
  • the broadcast receiving device 3902, the video storage device 3903, and the video storage device 3904 when transmitting multimedia data to the terminal 3905 and the terminal 3906, perform predetermined encryption on the multimedia data, and The encrypted multimedia data may be transmitted, and the terminal 3905 and the terminal 3906 may decode and reproduce the received encrypted multimedia data.
  • the broadcast receiving device 3902 may be configured to sequentially select video receiving devices. It may also be selected depending on the frequency of use of the video storage device.
  • the multimedia data genre, program name, performers, etc. stored in the video storage device by user operations are compared with the multimedia data genre, program name, performers, etc.
  • the image storage device may be selected.
  • the multimedia data genre, program name, performer, and other individual storage frequencies that are played back or output by the user's operation on the video storage device are compared with the multimedia data genre, program name, performer, etc.
  • the video storage device may be selected. Furthermore, for example, if the multimedia data frequently used in the terminal 3905 is selected, the video storage device 3903 is selected, and if the multimedia data is frequently used in the terminal 3906, the video storage device 3904 is selected! / It may be selected by combination with the terminal! [0596] (4)
  • the broadcast receiving device 3902 communicates with the video storage device 3903 and the video storage device 3904, so that the multimedia data of the content requested by the user VoD program viewing request is transmitted. However, the broadcast receiving device 3902 stores the multimedia data stored in the video storage device 3903 and the video storage device 3904, and determines from the contents. It may be a configuration.
  • the multimedia data power of the VoD program requested to be viewed from the terminal is either the video storage device 3903 or the video storage device 3904. If stored, the broadcast receiving device 3902 issues a transmission request for the multimedia data to the terminal that issued the viewing request to the stored video storage device, and the video storage device The broadcast receiving device 3902 performs rights processing such as charging with the video storage device and notifies the terminal of the video storage device.
  • the multimedia data transmission request may be issued from the terminal to the video storage device.
  • the broadcast receiving device 3902 and the video storage device communicate with each other to issue a right request associated with the use of the multimedia data such as billing. It may be configured to perform the above right processing by communicating with the terminal that has performed. Alternatively, the broadcast receiving device 3902 that communicates with the video storage device and the terminal may perform the right processing.
  • rights processing such as billing associated with the use of multimedia data is performed when a multimedia data transmission request is issued.
  • the configuration may be performed after the use is completed.
  • the billing amount may be changed depending on the number of times the multimedia data is used or the usage interval.
  • one piece of multimedia data is stored in one video storage device.
  • the multimedia data is divided and distributed to a plurality of video storage devices. And may be configured to accumulate.
  • one multimedia The configuration may be such that key data is simultaneously stored in a plurality of video storage devices.
  • the broadcast receiving device 3902 further includes an encoding unit that creates encoded multimedia data.
  • the broadcast receiving device 3902 temporarily decodes the multimedia data to be transmitted, and A configuration may be adopted in which multimedia data is newly generated and transmitted by the code key unit.
  • the video storage device 3903 and the video storage device 3904 further include a decoding unit that decodes multimedia data and an encoding unit that generates encoded multimedia data, and receives the received multimedia data as the decoding unit. It is also possible to use a configuration in which decoding is performed once and new multimedia data is newly generated and stored in the code section.
  • a part or all of the constituent elements constituting each of the above-described devices may be configured by one system LSI (Large Scale Integration).
  • a system LSI is an ultra-multifunctional LSI that is manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, and so on. It is. A computer program is stored in the RAM. Microprocessor power The system LSI achieves its functions by operating according to the computer program.
  • a part or all of the components constituting each of the above devices may be configured as an IC card that can be attached to and detached from each device or a single module force.
  • the IC card or the module is a computer system including a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or module may be tamper resistant! /.
  • the broadcast receiving device and video storage device of the present invention may be the methods described above. Yes. Also, it may be a computer program that realizes these methods by a computer, or a digital signal that also has the power of the computer program.
  • the broadcast receiving device and the video storage device of the present invention may be a computer-readable recording medium such as a flexible disk, a node disk, a CD-ROM, an MO, a DVD, a DVD, or the like. It may be recorded on a ROM, DVD-RAM, BD (Blu-ray Disc), semiconductor memory, or the like. Further, it may be the computer program or the digital signal recorded in these recording media.
  • a computer-readable recording medium such as a flexible disk, a node disk, a CD-ROM, an MO, a DVD, a DVD, or the like. It may be recorded on a ROM, DVD-RAM, BD (Blu-ray Disc), semiconductor memory, or the like. Further, it may be the computer program or the digital signal recorded in these recording media.
  • the broadcast receiving device and the video storage device of the present invention are configured to transmit the computer program or the digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like. May be transmitted.
  • the broadcast receiving device and the video storage device of the present invention are a computer system including a microprocessor and a memory, and the memory stores the computer program, and the microprocessor It may be working according to a computer program.
  • the multimedia distribution system, broadcast receiving device, video storage device, and receiving terminal according to the present invention are preliminarily configured in an environment where different programs can be viewed simultaneously from a plurality of terminals using a home network.
  • By properly distributing and accumulating multimedia data of programs provided by broadcast receivers, receiver terminals, and video storage devices the problem of insufficient number of tuners during program viewing can be solved.
  • costs are reduced by reducing the capacity required for storage in broadcast receivers, receiver terminals, and video storage devices, respectively.
  • the multimedia distribution system, the broadcast receiving apparatus, and the video storage apparatus simultaneously request data distribution of multimedia contents according to a user request such as a VoD service from a plurality of terminals using a home network.
  • the multimedia data is distributed and stored in advance in the broadcast receiver and video storage device in advance, thereby distributing the bandwidth consumption of multimedia data transmission between the broadcast receiver and the broadcast station. This reduces the bandwidth consumption required at one time, reduces costs by reducing the capacity required for storage in the broadcast receiving device and the video storage device, and further reduces the cost of using the VoD service. Excellent effect of being able to distribute the load on broadcast stations, broadcast receivers, and video storage devices Therefore, it is useful as a receiving device for a service that provides an on-demand service, such as a cable television, and a multimedia data storage device and method.

Description

明 細 書
放送受信装置、映像蓄積装置およびマルチメディア配信システム 技術分野
[0001] 本発明は、ケーブルテレビなどで提供されるデジタル放送、 VoD (Video On De mand)サービスの、ホームネットワークに接続された機器での利用に関するものであ る。
背景技術
[0002] 近年、 BSデジタル放送、 CS 110度デジタル放送および地上波デジタル放送など のデジタル放送が開始された。また、 HDDレコーダ、 DVD (Digital Versatile Di sc)レコーダなどの普及が進んでいる。これらにより、家庭内で利用できる、デジタル 化されたマルチメディアコンテンツが増加している。
[0003] 一方で、ブロードバンド環境の整備により、家庭力 のインターネットアクセスが普及 している。それに伴い、家庭内の各部屋を IPネットワークで繋ぐ、いわゆるホームネッ トワークの普及も進んで 、る。
[0004] デジタルコンテンツとホームネットワークの普及により、家庭内のデジタル放送受信 機で受信したデジタル放送、もしくは、レコーダに蓄積したデジタルコンテンツを、ホ ームネットワークを用いて、他の部屋で視聴することが行われるようになった。
[0005] また、ケーブルテレビなどでは、利用者の要求により、映画など特定のコンテンツを いつでも視聴できる VoDサービスが行われている。 VoDサービスは、利用者が、受 信端末である STB (Set Top Box)を操作して、 VoDサービスで提供されているコ ンテンッを選択し、ケーブル局へ要求することで、そのデータが送信されるものである 。近年は、 VoDサービスで提供されるコンテンツも、上記と同様のデジタルコンテンツ となっている。そこで、 VoDサービスも、ホームネットワークにつながった複数の端末 機器から利用するといつたニーズが出てくるようになった。
[0006] ケーブルテレビにおける VoDサービスにお!/、ては、放送と別にマルチメディアデー タを通信する必要があり、局設備と各家庭との間では、そのための通信帯域が必要と なる。 [0007] また、局設備側では、大量の要求が同時間に起こる可能性があり、その処理負荷 に耐えうる設備が必要となる。
[0008] これらに対応するため、従来では、局の送信装置や各家庭に 1台設置された記憶 装置によって、 VoDサービスで提供されるマルチメディアデータを一時蓄積する、い わゆるデータのキャッシュが行われており、その蓄積されたマルチメディアデータを利 用することで、帯域消費や処理負荷の低減を行っている (例えば、特許文献 1を参照
) o
[0009] また、ケーブルテレビや衛星放送などでは、 、わゆる-ァ VoDと呼ばれる放送が行 われている。これは、同じ映画などの番組を、時間をずらせて何度か放送するもので 、利用者が都合の良い時間に視聴できるようになっており、 VoDに近いサービスが行 われることから、ニァ VoDと呼ばれている。
[0010] デジタル放送で用いられるマルチメディアデータは、 MPEG2—TS (Motion Pic ture Expert Gruoup Phase2 Transport Stream)と呼ばれる符号ィ匕された データである。ひとつの MPEG2—TSストリームは、同時に複数の番組を格納するこ とができる。放送受信機は、ひとつの MPEG2—TSストリームから、ひとつの番組に 関するデータを抽出し、再生を行う形式となっている。デジタル放送では、さらに周波 数でわけた複数の MPEG2— TSストリームを送信している。そして、放送受信機のチ ユーナは、周波数を合わせることによって、ひとつの MPEG2— TSストリームを抽出 し、その中から所定の番組を抜き出して再生する構成である。
[0011] ホームネットワークを用いて、複数の放送受信機により同時に視聴が可能となった 力 一般に安価な放送受信機はチューナを備えておらず、ユーザは、チューナを備 えた放送受信機が受信したマルチメディアデータを、ネットワーク経由で取得して視 聴する形態をとる。この時、同時に複数の端末力も別の番組を視聴しょうとした場合、 それらの番組が別の MPEG2— TSストリームに入っている場合は、ひとつのチュー ナでは受信できない。そのため、ユア VoDであっても、ユーザが都合の良い時間に 視聴できないといったことが起こる。これを回避するために、従来は、端末数と同数の チューナを用意することが一般的な対策である。
[0012] また、上述のように、ケーブルテレビにおける VoDサービスにおいては、放送と別に マルチメディアデータを通信する必要があり、局設備と各家庭との間での通信帯域低 減のため、放送受信機に記憶装置を備えて、 VoDサービスで提供されるマルチメデ ィァデータを一時蓄積する、いわゆるデータのキャッシュが行われている。ユア VoD サービスにおいて、それを利用することも、対策としては考えられる(例えば、特許文 献 1を参照)。
特許文献 1:特表 2002— 540684号公報
発明の開示
発明が解決しょうとする課題
[0013] し力しながら、上記従来の技術では、マルチメディアデータおよびそのデータの供 給処理が 1台の装置に集中するため、その装置に掛カるコストが増大するという課題 がある。
[0014] まず、 VoDサービスにおいて、局もしくは 1台設置された記憶装置によって、マルチ メディアデータのキャッシュを行っている力 ホームネットワークの普及により、各家庭 で、同時に複数の VoDサービスが行われる環境になると、多種類のコンテンツが同 時に要求される。
[0015] この場合、局設備と家庭の間の通信帯域消費の低減のためには、各家庭内で多数 のデータをキャッシュする大容量の記憶装置が必要となり、コストが増大する。また、 家庭内のキャッシュ装置力 ホームネットワークにおいてはサーバとして機能するため 、サーバとして同時に複数の端末にデータを供給するために高性能の装置が必要と なり、コストが増大する。
[0016] 次に、ユア VoDサービスにおいて、まず、チューナを端末と同じ数だけ用意するこ とは、コストを増大させることになる。
[0017] また、ホームネットワークの普及により、各家庭で、同時に複数の番組視聴が行わ れる環境になると、多種類のコンテンツが同時に要求される。この場合、放送受信機 に設置された記憶装置によって、マルチメディアデータのキャッシュを行う従来の技 術では、 VoDサービスの場合と同様に、家庭内で多数の番組をキャッシュする大容 量の記憶装置が必要となり、コストが増大する。また、家庭内のキャッシュ装置が、ホ ームネットワークにおいてはサーバとして機能するため、サーバとして同時に複数の 端末にデータを供給するために高性能の装置が必要となり、コストが増大する。
[0018] 本発明は、上記従来の課題を解決するもので、ホームネットワークに接続された複 数の映像蓄積装置を用いて、適切にキャッシュを分散させることで、局設備と家庭間 の通信帯域消費や各装置の負荷を低減することが可能な、放送受信装置、映像蓄 積装置もしくはマルチメディア配信システムを提供することを目的とする。
課題を解決するための手段
[0019] 上記の課題を解決するために、本発明の放送受信装置は、放送局に設置された装 置から映像および音声の少なくとも一方を含むマルチメディアデータを受信する、ネ ットワークに接続された放送受信装置であって、前記放送局に設置された装置からマ ルチメディアデータを受信するデータ受信手段と、マルチメディアデータを蓄積して いる複数の映像蓄積装置と、前記ネットワークを介して通信する情報通信手段と、前 記複数の映像蓄積装置のうち、ひとつを選択する選択手段と、前記データ受信手段 が受信したマルチメディアデータを、前記ネットワークを介して出力するデータ出力手 段とを備え、前記情報通信手段は、前記選択手段が選択した映像蓄積装置へマル チメディアデータの蓄積要求を送信し、前記データ出力手段は、前記データ受信手 段が受信したマルチメディアデータを、前記選択手段が選択した映像蓄積装置へ出 力する。
[0020] 本構成によれば、放送局に設置された装置カゝらマルチメディアデータを受信したと きに、それをキャッシュする映像蓄積装置を選択することにより、キャッシュを分散させ ることが可能である。
[0021] 好ましくは、前記選択手段は、前記マルチメディアデータの属性をもとに、映像蓄積 装置を選択する。マルチメディアデータの属性は、例えば、マルチメディアデータの 内容のジャンルである。また、マルチメディアデータの属性は、マルチメディアデータ のデータ量、マルチメディアデータの放送時間であってもよ 、。
[0022] 本構成によれば、このようなマルチメディアデータの属性によってキャッシュを分散 させることにより、より適切な条件で、分散させることが可能となる。また好ましくは、前 記情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性を受 信し、前記選択手段は、前記情報通信手段が受信した映像蓄積装置の属性をもとに 、映像蓄積装置を選択する。映像蓄積装置の属性は、例えば、映像蓄積装置が利 用される頻度を示す利用頻度情報である。また、映像蓄積装置の属性は、映像蓄積 装置に関連付けられているジャンル、または、映像蓄積装置に備えられている蓄積 媒体の空き容量などでもよ 、。
[0023] 本構成によれば、例えば、各映像蓄積装置に均等にキャッシュさせるといったこと が可能となり、より適切な条件で、分散することが可能となる。さらに好ましくは、前記 情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性を受信 し、前記選択手段は、前記マルチメディアデータの属性および前記情報通信手段が 受信した映像蓄積装置の属性をもとに、映像蓄積装置の選択を行う。マルチメディア データの属性および映像蓄積装置の属性とは、例えば、マルチメディアデータの内 容のジャンルおよび各映像蓄積装置のジャンル毎の頻度を示す利用頻度情報であ る。
[0024] 本構成によれば、例えば、あるマルチメディアデータが映画であれば、映画の利用 頻度が高い映像記憶装置にキャッシュさせるなどといった制御を行うことが可能となり 、利用時の負荷分散、ネットワークの帯域消費も考慮した、キャッシュの分散を行うこ とが可能となる。
[0025] さらに好ましくは、さらに、マルチメディアデータを蓄積する蓄積手段と、前記蓄積 手段にデータを書き込む書込手段とを備え、前記選択手段は、前記蓄積手段と前記 ネットワークに接続された複数の映像蓄積装置のうち、ひとつを選択し、前記書込手 段は、前記選択手段が前記蓄積手段を選択した場合に、前記マルチメディアデータ を前記蓄積手段に書き込む。
[0026] 本構成によれば、放送受信装置を含めた、キャッシュの分散が可能となる。
[0027] さらに好ましくは、さらに、 Javaアプリケーションを実行する Java実行手段を備え、前 言 gjava (登録商標)実行手段は、マルチメディアデータの識別子を出力し、前記デー タ受信手段は、前記マルチメディアデータの識別子を受け付け、受け付けた該識別 子が示すマルチメディアデータを受信し、前記選択手段は、前記マルチメディアデー タの識別子を受け付けると、映像蓄積装置を選択する。
[0028] 本構成によれば、 Javaアプリケーションを実行する映像蓄積装置において、放送局 力もマルチメディアデータを受信したときに、それをキャッシュする映像蓄積装置を選 択することにより、キャッシュを分散させることが可能となる。また、選択手段は、ジヤン ル、データ量および放送時間などの少なくとも 1つを含む、受信したマルチメディアデ ータの属性に基づいて、キャッシュさせる映像蓄積装置を選択する構成であっても良 い。
[0029] さらに好ましくは、前記選択手段は、前記マルチメディアデータの属性をもとに、映 像蓄積装置を選択する。マルチメディアデータの属性は、例えば、マルチメディアデ ータの内容のジャンル、マルチメディアデータのデータ量、マルチメディアデータの 放送時間などの少なくとも 1つを含む。
[0030] 本構成によれば、このようなマルチメディアデータの属性によってキャッシュを分散 させることにより、より適切な条件で、分散させることが可能となる。
[0031] 本構成によれば、 Javaアプリケーションが要求を発行することで、マルチメディアデ ータの種類などによってキャッシュを分散させることにより、より適切な条件で、分散さ せることが可能となる。
[0032] さらに好ましくは、前記情報通信手段は、さらに、前記ネットワークに接続された映 像蓄積装置の属性を受信し、前記選択手段は、前記情報通信手段が受信した映像 蓄積装置の属性をもとに、映像蓄積装置を選択する。映像蓄積装置の属性は、例え ば、映像蓄積装置が利用される頻度を示す利用頻度情報である。また、映像蓄積装 置の属性は、映像蓄積装置に関連付けられて ヽるジャンルでもよ 、。
[0033] 本構成によれば、例えば、各映像蓄積装置に均等にキャッシュさせるといったこと が可能となり、より適切な条件で、分散することが可能となる。
[0034] さらに好ましくは、前記情報通信手段は、さらに、前記ネットワークに接続された映 像蓄積装置の属性を受信し、前記選択手段は、前記マルチメディアデータの属性お よび前記情報通信手段が受信した映像蓄積装置の属性をもとに、映像蓄積装置を 選択する。
[0035] 本構成によれば、例えば、あるマルチメディアデータが映画であれば、映画の利用 頻度が高い映像記憶装置にキャッシュさせるなどといった制御を行うことが可能となり 、利用時の負荷分散、ネットワークの帯域消費も考慮した、キャッシュの分散を行うこ とが可能となる。
[0036] さらに好ましくは、さらに、マルチメディアデータを蓄積する蓄積手段と、前記蓄積 手段にデータを書き込む書込手段とを備え、前記選択手段は、前記蓄積手段と前記 ネットワークに接続された複数の映像蓄積装置とのうち、ひとつを選択し、前記書込 手段は、前記選択手段が前記蓄積手段を選択した場合に、前記マルチメディアデー タを前記蓄積手段に書き込む。
[0037] 本構成によれば、放送受信装置を含めた、キャッシュの分散が可能となる。
[0038] また、上記の課題を解決するために、本発明の映像蓄積装置は、放送局から映像 および音声の少なくとも一方を含むマルチメディアデータを受信する放送受信装置と ネットワークを介して接続され、マルチメディアデータを蓄積する映像蓄積装置であつ て、 Javaアプリケーションを実行する Java実行手段と、マルチメディアデータを蓄積す る蓄積手段と、前記ネットワークを介して接続されたサーバと通信する情報通信手段 と、前記ネットワークを介して前記放送受信装置力 マルチメディアデータを受信する データ受信手段と、前記ネットワークを介して他の映像蓄積装置にマルチメディアデ ータを送信するデータ送信手段とを備え、前記情報通信手段は、前記サーバから属 性の問合せを受け付けた場合に、前 ejava実行手段から前記映像蓄積装置自身の 属性を示す属性情報を取得し、取得した該属性情報を前記サーバへ送信し、前記 データ受信手段は、前記情報通信手段が前記サーバから蓄積要求を受信し、前記 放送受信装置からマルチメディアデータを受信した場合に、受信した該マルチメディ ァデータを前記蓄積手段に蓄積し、前記データ送信手段は、前記サーバから前記 蓄積手段に蓄積されているマルチメディアデータの送信要求と送信先となる前記他 の映像蓄積装置を示す情報とを受信した場合に、該マルチメディアデータを、該情 報に示される前記他の映像蓄積装置へ送信する。
[0039] 本構成によれば、 Javaアプリケーションを実行する映像蓄積装置にぉ 、て、放送受 信装置の要求によりマルチメディアデータをキャッシュし、また、キャッシュしたマルチ メディアデータの利用時に、該マルチメディアデータを適切に送信することが可能と なる。
[0040] 好ましくは、さらに、マルチメディアデータの送信要求を受信した場合に、該マルチ メディアデータの利用に伴う権利処理を行う権利処理手段を備える。
[0041] 本構成によれば、キャッシュしたマルチメディアコンテンツの利用時に、課金処理な どの権利処理を、適切に行うことが可能となる。
[0042] また、上記の課題を解決するために、本発明の映像蓄積装置は、 VoD (Video O n Demand)サービスを提供する放送局に設置された装置から映像および音声の 少なくとも一方を含むマルチメディアデータを受信する、ネットワークに接続された受 信端末であって、前記放送局に設置された装置に、マルチメディアデータ送信要求 を送信する要求送信手段と、マルチメディアデータを蓄積して!/ヽる映像蓄積装置と、 前記ネットワークを介して通信する情報通信手段とを備え、前記情報通信手段は、ュ 一ザ操作による VoDの要求を受けた場合に、前記映像蓄積装置と前記ネットワーク を介して通信することにより、前記 VoDの要求に係るマルチメディアデータが蓄積さ れて!、る力否かを示す情報を取得し、蓄積されて!、ることを示す情報を取得した場合 に、該情報を送信した映像蓄積装置に、前記 VoDの要求に係るマルチメディアデー タの送信要求を送信し、前記要求送信手段は、蓄積されていないことを示す情報を 取得した場合に、前記放送局に設置された装置に、前記 VoDの要求に係るマルチメ ディアデータの送信要求を送信する。
[0043] 本構成によれば、 VoDサービス利用時に、ネットワークに接続された映像蓄積装置 にキャッシュされたデータを有効に利用し、また、不要な放送局との通信による帯域 消費を無くすことが可能となる。
[0044] さらに好ましくは、さらに、前記映像蓄積装置に蓄積されているマルチメディアデー タの送信要求を送信する場合に、該マルチメディアデータの利用に伴う権利処理を 行う権利処理手段を備える。
[0045] 本構成によれば、キャッシュしたマルチメディアコンテンツの利用時に、課金処理な どの権利処理を、適切に行うことが可能となる。
[0046] 好ましくは、さらに、 Javaアプリケーションを実行する Java実行手段と、前記放送局 に設置された装置に、マルチメディアデータ送信要求を送信する要求送信手段と、 マルチメディアデータを蓄積して 、る映像蓄積装置と、前記ネットワークを介して通信 する情報通信手段と、前記情報通信手段は、 Java実行手段がコンテンツの識別子を 受け付けた場合に、前記映像蓄積装置と前記ネットワークを介して通信することによ り、前記 VoDの要求に係るマルチメディアデータが蓄積されているカゝ否かを示す情 報を取得する。
[0047] 本構成によれば、 Javaアプリケーションを実行する映像蓄積装置にぉ 、て、 VoDサ 一ビス利用時に、ネットワークに接続された映像蓄積装置にキャッシュされたデータ を有効に利用し、また、不要な放送局との通信による帯域消費を無くすことが可能と なる。
[0048] さらに好ましくは、さらに、前記映像蓄積装置に蓄積されているマルチメディアデー タの送信要求を送信する場合に、該マルチメディアデータの利用に伴う権利処理を 行う権利処理手段を備える。
[0049] 本構成によれば、キャッシュしたマルチメディアコンテンツの利用時に、課金処理な どの権利処理を、適切に行うことが可能となる。
[0050] なお、本発明は、このような特徴的な手段を備える放送受信装置、映像蓄積装置、 および、受信端末として実現することができるだけでなぐ放送受信装置、映像蓄積 装置、および、受信端末のそれぞれに含まれる特徴的な手段をステップとする方法と して実現したり、放送受信装置、映像蓄積装置、および、受信端末のそれぞれに含 まれる特徴的な手段としてコンピュータを機能させるプログラムとして実現したりするこ ともできる。そして、そのようなプログラムは、 CD-ROM (Compact Disc -Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通 させることがでさる。
[0051] また、本発明は、このような特徴的な手段を備える放送受信装置、映像蓄積装置、 および、受信端末の!/、ずれかを組み合わせた複数の装置を備えるマルチメディア配 信システムとして実現することもできる。
発明の効果
[0052] 以上述べたように、本発明の放送受信装置、映像蓄積装置もしくはマルチメディア 配信システムによれば、 VoDサービス、ユア VoDサービスなどで提供されるマルチメ ディアデータを、家庭内の複数の記憶手段に、最適に分散させることによって、多く のマルチメディアデータをキャッシュすることが可能となり、ホームネットワークにおい て、同時に複数端末力もの VoD要求があっても、局設備と家庭の間の通信帯域を余 計に消費することなく対応することが可能となる。また、キャッシュされたデータであつ ても、課金など、適切に権利処理を行うことが可能となる。
図面の簡単な説明
[図 1]図 1は、本発明の実施の形態 1におけるマルチメディア配信システムの構成図 である。
[図 2]図 2は、本発明の実施の形態 1における放送受信装置の構成を示すブロック図 である。
[図 3]図 3は、本発明の実施の形態 1における映像蓄積装置および映像蓄積装置の 構成を示すブロック図である。
[図 4]図 4は、本発明の実施の形態 1における放送受信装置の選択部が実行する処 理の一例を示すフローチャートである。
[図 5]図 5は、本発明の実施の形態 1の変形例における放送受信装置の構成を示す ブロック図である。
[図 6]図 6は、本発明の実施の形態 2おける放送受信装置の構成図である。
[図 7]図 7は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。
[図 8]図 8は、本発明の実施の形態 2における放送受信装置が保持し、実行するプロ グラムの構成を示す図である。
[図 9]図 9 (a)は、本発明に係る画面表示の第 1の例を示す図である。図 9 (b)は、本 発明に係る画面表示の第 2の例を示す図である。
[図 10]図 10は、本発明の実施の形態 2に係る第 2メモリに格納されている番組情報の 一例を示す図である。
[図 11]図 11は、本発明の実施の形態 2に係る第 2メモリに格納されて ヽるチャンネル 情報の一例を示す図である。
[図 12]図 12 (a)は、本発明の実施の形態 2に係る第 2メモリに格納されているチャン ネルの識別子を示す情報の第 1の例を示す図である。図 12 (b)は、本発明の実施の 形態 2に係る第 2メモリに格納されているチャンネルの識別子を示す情報の第 2の例 を示す図である。図 12 (c)は、本発明の実施の形態 2に係る第 2メモリに格納されて いるチャンネルの識別子を示す情報の第 3の例を示す図である。
[図 13]図 13は、本発明の実施の形態 2に係る収集した PATの情報の一例を模式的 に示す図である。
[図 14]図 14は、本発明の実施の形態 2に係る収集した PMTの情報の一例を模式的 に示す図である。
[図 15]図 15は、本発明の実施の形態 2に係る収集した AITの情報の一例を模式的 に示す図である。
[図 16]図 16は、本発明の実施の形態 2に係るダウンロードしたファイルシステムの一 例を示す図である。
[図 17]図 17は、本発明の実施の形態 2に係るネットワークライブラリの内部構成の一 例を示すブロック図である。
[図 18]図 18は、本発明の実施の形態 2に係る制御部が提供する Java APIの一例を 示す図である。
[図 19]図 19は、 NetDeviceクラスの構成の一例を示す図である。
[図 20]図 20は、 DevAttribクラスの構成の一例を示す図である。
[図 21]図 21は、本発明の実施の形態 2に係るデータ受信部が提供する Java APIの 一例を示す図である。
[図 22]図 22は、本発明の実施の形態 2に係る情報通信部が提供する Java APIの一 例を示す図である。
[図 23]図 23は、本発明の実施の形態 2に係るネットワークライブラリで使用される MM Requestクラス定義の一例を示す図である。
[図 24]図 24は、本発明の実施の形態 2に係る選択部が提供する Java APIの一例を 示す図である。
[図 25]図 25は、本発明の実施の形態 2に係るデータ出力部が提供する Java APIの 一例を示す図である。
[図 26]図 26は、本発明の実施の形態 2に係る要求送信部が提供する Java APIの一 例を示す図である。
[図 27]図 27は、本発明の実施の形態 2に係る権利処理部 1607が提供する Java A PIの一例を示す図である。
[図 28]図 28は、本発明の実施の形態 2に係る映像蓄積装置の構成図である。
[図 29]図 29は、本発明の実施の形態 2に係る映像蓄積装置が保持し、実行するプロ グラム構成を示す図である。
[図 30]図 30は、本発明の実施の形態 2に係るネットワークライブラリの内部構成の一 例を示すブロック図である。
[図 31]図 31は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれる制御部が提供する Java APIの一例を示す図である。
[図 32]図 32は、本発明の実施の形態 2に係るネットワークライブラリで使用される Con tentlnfoクラス定義の一例を示す図である。
[図 33]図 33は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれる制御情報通信部が提供する Java APIの一例を示す図である。
[図 34]図 34は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれるデータ受信部が提供する Java APIの一例を示す図である。
[図 35]図 35は、本発明の実施の形態 2に係るネットワークライブラリで使用される Re moteProgramクラス定義の一例を示す図である。
[図 36]図 36は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれるデータ送信部が提供する Java APIの一例を示す図である。
[図 37]図 37は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含 まれる属性管理部が提供する Java APIの一例を示す図である。
圆 38]図 38は、発明の実施の形態 2に係るネットワークライブラリの内部構成に含ま れる権利処理部が提供する Java APIの一例を示す図である。
[図 39]図 39は、本発明の実施の形態 3におけるマルチメディア配信システムの構成 図である。
[図 40]図 40は、本発明の実施の形態 3における放送受信装置の構成を示すブロック 図である。
[図 41]図 41は、本発明の実施の形態 3における映像蓄積装置の構成を示すブロック 図である。 [図 42]図 42は、本発明の実施の形態 3の変形例における放送受信装置の構成を示 すブロック図である。
[図 43]図 43は、本発明の実施の形態 4おける放送受信装置の構成図である。
[図 44]図 44は、本発明の実施の形態 4おける入力部をフロントパネルで構成した場 合の外観の一例を示す図である。
[図 45]図 45は、本発明の実施の形態 4における放送受信装置が保持し、実行するプ ログラム構成を示す図である。
[図 46]図 46 (a)は、本発明の実施の形態 4に係る画面表示の第 1の例を示す図であ る。図 46 (b)は、本発明の実施の形態 4に係る画面表示の第 2の例を示す図である。
[図 47]図 47は、本発明の実施の形態 4に係る第 2メモリに格納されている番組情報の 一例を示す図である。
[図 48]図 48は、本発明の実施の形態 4に係る第 2メモリに格納されているチャンネル 情報の一例を示す図である。
[図 49]図 49 (a)は、本発明の実施の形態 4に係る第 2メモリに格納されているチャン ネルの識別子を示す情報の第 1の例を示す図である。図 49 (b)は、本発明の実施の 形態 4に係る第 2メモリに格納されているチャンネルの識別子を示す情報の第 2の例 を示す図である。図 49 (c)は、本発明の実施の形態 4に係る第 2メモリに格納されて いるチャンネルの識別子を示す情報の第 3の例を示す図である。
[図 50]図 50は、本発明の実施の形態 4に係る収集した PATの情報の一例を模式的 に示す図である。
[図 51]図 51は、本発明の実施の形態 4に係る収集した PMTの情報の一例を模式的 に示す図である。
[図 52]図 52は、本発明の実施の形態 4に係る収集した AITの情報の一例を模式的 に示す図である。
[図 53]図 53は、本発明の実施の形態 4に係るダウンロードしたファイルシステムの一 例を示す図である。
[図 54]図 54は、本発明の実施の形態 4に係るネットワークライブラリの内部構成の一 例を示すブロック図である。 [図 55]図 55は、本発明の実施の形態 4に係る制御部が提供する Java APIの一例を 示す図である。
[図 56]図 56は、本発明の実施の形態 4に係る NetDeviceクラスの構成の一例を示す 図である。
[図 57]図 57は、本発明の実施の形態 4に係る DevAttribクラスの構成の一例を示す 図である。
[図 58]図 58は、本発明の実施の形態 4に係るデータ受信部が提供する Java APIの 一例を示す図である。
[図 59]図 59は、本発明の実施の形態 4に係る情報通信部が提供する Java APIの一 例を示す図である。
[図 60]図 60は、本発明の実施の形態 4に係る MMRequestクラスの構成を示す図で ある。
[図 61]図 61は、本発明の実施の形態 4に係る選択部が提供する Java APIの一例を 示す図である。
[図 62]図 62は、本発明の実施の形態 4に係るデータ出力部が提供する Java APIの 一例を示す図である。
[図 63]図 63は、本発明の実施の形態 4に係る権利処理部が提供する Java APIの一 例を示す図である。
[図 64]図 64は、本発明の実施の形態 4における映像蓄積装置の構成を示すブロック 図である。
[図 65]図 65は、本発明の実施の形態 4における映像蓄積装置が保持し、実行するプ ログラム構成を示す図である。
[図 66]図 66は、本発明の実施の形態 4に係るネットワークライブラリの内部構成の一 例を示す図である。
[図 67]図 67は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる制御部が提供する Java APIの一例を示す図である。
[図 68]図 68は、本発明の実施の形態 4に係るネットワークライブラリで使用される Con tentlnfoクラス定義の一例を示す図である。 [図 69]図 69は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる制御情報通信部が提供する Java APIの一例を示す図である。
[図 70]図 70は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれるデータ受信部が提供する Java APIの一例を示す図である。
[図 71]図 71は、本発明の実施の形態 4に係るネットワークライブラリで使用される Re moteProgramクラス定義の一例を示す図である。
[図 72]図 72は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれるデータ送信部 2803が提供する Java APIの一例を示す図である。
[図 73]図 73は、本発明の実施の形態 4に係るネットワークライブラリの内部構成に含 まれる属性管理部が提供する Java APIの一例を示す図である。
[図 74]図 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 権禾 IJ処理部
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
発明を実施するための最良の形態
[0055] 以下本発明の実施の形態について、図面を参照しながら説明する。
[0056] (実施の形態 1)
図 1は、本発明の実施の形態 1におけるマルチメディア配信システムの構成図であ る。図 1に示すマルチメディア配信システム 101は、放送受信装置 102と、第 1の映像 蓄積装置 103と、第 2の映像蓄積装置 104と、第 1の端末 105と、第 2の端末 106と、 ネットワーク 107と、ケーブルテレビの放送局設備 108と、放送局 108と放送受信装 置 102とをつなぐケーブル 109とにより構成される。放送受信装置 102、映像蓄積装 置 103、映像蓄積装置 104、端末 105および端末 106は、ネットワーク 107に接続さ れており、ネットワーク 107を介して相互に通信することが可能である。また、放送受 信装置 102と放送局 108は、ケーブル 109によって接続されており、ケーブル 109を 通じて相互に通信することが可能である。なお、映像蓄積装置および端末は複数含 まれて ヽれば良 ヽものであり、説明を簡易にするためにそれぞれ 2個含まれるとして いる。
[0057] 本実施の形態における放送受信装置 102は、ケーブル 109を通じてマルチメディ ァデータを放送局 108から受信する。また、放送受信装置 102は、 VoDサービスを 利用するものである。このため、ケーブル 109を通じて、 VoDサービスのためのマル チメディアデータの送信要求の送信、該マルチメディアデータを利用するための課金 など権利処理を行う通信、などの制御情報の送受信を行う。なお、これらの制御情報 の通信は、ケーブル 109ではなぐ電話回線など、図示していない他の通信路を利 用して行う構成であつても良い。
[0058] また、放送受信装置 102は、予め放送局 108から VoDサービス用のマルチメディア データを受信する場合に、ネットワーク 107を通じて、映像蓄積装置 103と、映像蓄 積装置 104とに属性の送信要求を送信し、映像蓄積装置 103と、映像蓄積装置 104 とより該属性を受信する。さらに、放送局より受信したマルチメディアデータの属性、 および、映像蓄積装置より受信した映像蓄積装置の属性より、映像蓄積装置 103と 映像蓄積装置 104の 、ずれかを、受信したマルチメディアデータの蓄積先として選 択する。さらに、選択した映像蓄積装置 103もしくは映像蓄積装置 104に、マルチメ ディアデータの蓄積要求を送信し、続いて、該マルチメディアデータを送信する。
[0059] なお、上記、予め行われる、放送局 108から放送受信装置 102への VoDサービス 用マルチメディアデータの送信は、放送局 108からの要求で行われるものであっても 良いし、放送受信装置 102からの要求で行われるものであっても良い。または、特定 の日時に行われるものであっても良いし、特定の時間ごとに行われるものであっても よい。
[0060] また、放送受信装置 102は、端末 105もしくは端末 106から、番組などコンテンツを 指定した VoDサービス利用の要求を受けた場合、映像蓄積装置 103、映像蓄積装 置 104のいずれか、もしくは両方と通信して、該コンテンツのマルチメディアデータが 蓄積されて 、るかどうかを問 、合わせる。
[0061] 映像蓄積装置 103および映像蓄積装置 104のいずれにも蓄積されていない場合 は、放送受信装置 102は、放送局 108へ該マルチメディアデータの送信要求を送り 、必要であれば、課金など適切な権利処理を行った後、該マルチメディアデータをケ 一ブル 109を経由して受信し、ネットワーク 107を介して、 VoDサービスを要求した端 末 105もしくは端末 106へ、該マルチメディアデータを送信する。
[0062] また、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに蓄積されていた 場合は、該マルチメディアデータを蓄積している映像蓄積装置 103もしくは映像蓄積 装置 104に、該マルチメディアデータを、 VoDサービスを要求した端末へ送信するよ うに要求する。この際、必要であれば、該映像蓄積装置と通信して、該マルチメディ ァデータの利用に伴う課金などの権利処理を行い、放送局 108へ通知する。さらに、 放送受信装置 102は、 VoDサービスを要求した端末に、該マルチメディアデータを 蓄積している映像蓄積装置より該マルチメディアデータが送信されることを通知する
[0063] 本実施の形態における映像蓄積装置 103および映像蓄積装置 104は、放送受信 装置 102から属性の送信要求を受信すると、映像蓄積装置の内部に記憶している属 性を放送受信装置 102に送信する。映像蓄積装置の属性とは、 VoDサービス用マ ルチメディアデータを蓄積する蓄積部の空き容量、ユーザ操作により蓄積したマルチ メディアデータのジャンルごとの蓄積頻度、再生されたマルチメディアデータのジヤン ルごとの利用頻度、などといった情報である。
[0064] また、映像蓄積装置 103および映像蓄積装置 104は、放送受信装置 102から、マ ルチメディアデータの蓄積要求を受信すると、該マルチメディアデータを、ネットヮー ク 107を介して、放送受信装置 102より受信し、蓄積部に蓄積する。
[0065] また、映像蓄積装置 103および映像蓄積装置 104は、放送受信装置 102から、特 定コンテンツのマルチメディアデータを蓄積して 、るか否かの問 、合わせを受信する と、蓄積しているコンテンツデータを検索して、結果を返答する。 [0066] また、映像蓄積装置 103および映像蓄積装置 104は、放送受信装置 102から、特 定コンテンツのマルチメディアデータを、ネットワーク 107に接続された特定端末へ送 信する要求を受信すると、該マルチメディアデータを、ネットワーク 107を介して、該 端末へ送信する。送信を開始する際に、必要であれば、放送受信装置 102と通信し 、課金など、該マルチメディアデータの利用に伴う権利処理を行う。
[0067] 本実施の形態における端末 105および端末 106は、ユーザの操作によって、放送 受信装置 102へ VoDサービスの要求を発行し、ネットワーク 107を介して、マルチメ ディアデータを受信して、該マルチメディアデータの再生を行うものである。該マルチ メディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに蓄積 されている場合は、放送受信装置 102から、該蓄積している映像蓄積装置が通知さ れ、該映像蓄積装置より送られてくるマルチメディアデータを、ネットワーク 107を介し て受信する。
[0068] ネットワーク 107は、家庭内に施設されたホームネットワークであり、イーサネット(登 録商標)、無線 LAN、あるいは、同軸ケーブルを媒体に使用する通信技術 c. LINK などによって構成された IPネットワークである。
[0069] 本実施の形態における放送局 108およびケーブル 109は、 VoDサービスを提供す る施設である。
[0070] 以上のように、本発明のマルチメディア配信システム 101、放送受信装置 102、映 像蓄積装置 103、映像蓄積装置 104によれば、 VoDサービスに利用されるマルチメ ディアデータを、映像蓄積装置 103および映像蓄積装置 104に、適切な条件で分散 して蓄積させることが可能であり、端末 105および端末 106から同時に VoDサービス 要求が発行されても、映像蓄積装置 103および映像蓄積装置 104に蓄積されたマ ルチメディアデータを利用することにより、不要な放送局 108へのマルチメディアコン テンッデータ送信要求や、ケーブル 109の通信帯域消費を低減することが可能とな る。
[0071] 以下、本発明のマルチメディア配信システム 101を構成する、放送受信装置 102、 映像蓄積装置 103および映像蓄積装置 104について、更に詳細に説明する。
[0072] まず、図 2を参照しながら、放送受信装置 102の詳細について説明する。 [0073] 図 2は、本発明の実施の形態 1における放送受信装置 102の構成の一例を示すブ ロック図である。
[0074] 図 2に示す放送受信装置 102は、制御部 201と、放送局 108から送信されるマルチ メディアデータを受信するデータ受信部 202と、ネットワーク 107に接続された外部装 置と通信する情報通信部 203と、ネットワーク 107に接続された複数の映像蓄積装置 のうちひとつを選択する選択部 204と、ネットワーク 107に接続された外部装置にマ ルチメディアデータを送信するデータ出力部 205と、放送局 108へマルチメディアデ ータの送信要求を送信する要求送信部 206と、 VoDサービスにお!/、てマルチメディ ァデータの利用に伴う課金などの権利処理を行う権利処理部 207と、ネットワーク 10 7と接続されるネットワークインタフェース 208と、ケーブル 109と接続されるケーブル インタフェース 209とを備える。
[0075] 制御部 201をより詳細に説明する。制御部 201は、マイクロプロセッサ、 ROM, RA Mなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部に はマイクロプロセッサにて動作する OS、 Java VM (Java Virtual Machine)プロ グラム、 Javaプログラムライブラリ、 Javaアプリケーションプログラムが保存されて!、る。 マイクロプロセッサは、起動時に OSを読み込んで実行する。引き続いて、 Javaアプリ ケーシヨン起動時に、 Java VMを読み込んで実行し、必要に応じて Javaプログラム ライブラリを読み込みながら、 Javaアプリケーションを実行する。
[0076] 制御部 201は、予め VoDサービス用のマルチメディアデータをデータ受信部 202 力も受信するときに、情報通信部 203によって、ネットワーク 107に接続された複数の 映像蓄積装置へ、属性の送信要求を送信する。続いて、情報通信部 203によって、 それぞれの映像蓄積装置カも該属性を受信する。さらに、制御部 201は、受信した 映像蓄積装置の属性および該マルチメディアデータの属性を選択部に送り、選択部 に指示して映像蓄積装置のひとつを選択させる。さらに、制御部 201は、選択した映 像蓄積装置へ、情報通信部 203によって、該マルチメディアデータの蓄積要求を送 信する。さらに、制御部 201は、情報通信部 203によって、該映像蓄積装置力も蓄積 要求を受け付けた旨を受信すると、データ出力部 205に指示することにより、該マル チメディアデータを、ネットワーク 107を通じて、該映像蓄積装置へ送信する。 [0077] さらに、制御部 201は、情報通信部 203より、ネットワーク 107に接続された端末より VoDサービスの要求を受信すると、情報通信部 203より、ネットワーク 107に接続さ れた映像蓄積装置に、該要求のマルチメディアデータを蓄積して 、るか否かの問!ヽ 合わせを送信する。続いて、制御部 201は、情報通信部 203より、各映像蓄積装置 より、この問い合わせに関する返答を受信する。ある映像蓄積装置に該マルチメディ ァデータが蓄積されている場合は、該映像蓄積装置へ、該マルチメディアデータの V oDサービス要求を発行した端末への送信要求を送信する。このとき、制御部 201は 、必要であれば、該映像蓄積装置と通信し、権利処理部 207に指示して、該マルチ メディアデータの利用に伴う課金といった権利処理を行う。さらに、該端末へは、該映 像蓄積装置カも該マルチメディアデータが送信されることを、情報通信部 203によつ て通知する。
[0078] データ受信部 202は、ケーブルインタフェース 209に接続されており、ケーブルイン タフエース 209を経由して、放送局 108から送られてくるマルチメディアデータを受信 するものである。データ受信部 202は、代表的にはチューナであり、放送局 108から 送られてきた電波を受信して復号し、マルチメディアデータを抽出するものである。ま た、放送局 108から送られてくるマルチメディアデータは、それが有料コンテンツなら ばスクランブルされていることもある力 その場合には、データ受信部 202によって復 号される。
[0079] 放送局 108から送られてくるマルチメディアデータは、 MPEG2に代表される符号 化されたデジタルデータであり、 MPEG2-TS (Transport Stream)形式によって 送信される。 MPEG2— TSは、ひとつのストリーム内に複数のコンテンツを格納する ことができるが、データ受信部 202は、該ストリームから、ひとつのコンテンツのマルチ メディアデータを選択するものである。
[0080] 情報通信部 203は、ネットワークインタフェース 208に接続されており、制御部 201 の指示により、ネットワーク 107に接続された外部機器に制御情報を送信する。また、 情報通信部 203は、ネットワークインタフェース 208に届いた放送受信装置 102宛の 情報を受信して、制御部 201に引き渡す。情報通信部 202は、代表的には、 OSや Ja vaライブラリが提供するソケットインタフェースもしくはソケットインタフェースを利用し たプログラムである。なお、このようなソフトウェアで構成されるものに限らず、ハードウ エアで構成されるものであっても良い。
[0081] 選択部 204は、制御部 201からの指示により、マルチメディアデータの属性と、映像 蓄積装置の属性をもとに、ネットワーク 107に接続された複数の映像蓄積装置のうち ひとつを選択するものである。選択部 204は、代表的には、 Javaライブラリもしく ίお av aアプリケーションプログラムに含まれるサブルーチンである。なお、このようなソフトゥ エアで構成されるものに限らず、ハードウェアで構成されるものであっても良い。
[0082] 本実施の形態では、マルチメディアデータの属性として、映画、ドラマ、スポーツな ど、コンテンツのジャンルを用いる。また、映像蓄積装置の属性として、 VoDデータ用 の蓄積部の空き容量を用いる。選択部 204は、まず、マルチメディアデータのジヤン ルによって映像蓄積装置を選択し、該選択された映像蓄積装置の空き容量が十分 に無ければ、大きな空き容量を持つ映像蓄積装置を選択する。
[0083] データ出力部 205は、ネットワークインタフェース 208に接続されており、制御部 20 1の指示を受けて動作し、マルチメディアデータを、制御部 201が指示した宛先への パケットに変換して、ネットワークインタフェース 208を通じて出力するものである。デ ータ出力部 205は、代表的には、 OSや Javaライブラリが提供するソケットインタフエ ースもしくはソケットインタフェースを利用したプログラムである。なお、このようなソフト ウェアで構成されるものに限らず、ハードウェアで構成されるものであっても良い。
[0084] 要求送信部 206は、制御部 201の指示を受け、 VoDサービスにおけるデータ送信 要求を、ケーブルインタフェース 209を通じて、放送局 108へ送信するものである。
[0085] 権利処理部 207は、放送局 108と通信することにより、マルチメディアデータの利用 に伴う、課金などの権利処理を行うものである。権利処理部 207は、 CableCARDを 備えており、この情報を放送局 108との通信において用いる。また、放送局 108から 送られたマルチメディアデータがスクランブルされて 、る場合は、 CableCARDの情 報を制御部 201に引き渡すことにより、データ受信部 202での復号を行えるようにす るものである。
[0086] ネットワークインタフェース 208は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0087] ケーブルインタフェース 209は、ケーブル 109経由で放送局 108から送られてくる 信号を受信し、その信号を、データ種別および宛先により、データ受信部 202、要求 送信部 206、権利処理部 207のそれぞれに、適した信号に変換して分配する。また 、要求送信部 206と権利処理部 207から放送局 108へ送られるデータを、ケーブル 1 09での送信に適した信号に変換して送信する。例えば、放送局 108と要求送信部 2 06および権利処理部 207とが IPネットワークのプロトコルに従った通信を行う場合、 ケーブルインタフェース 209は、 IPネットワークとケーブルとのブリッジの役割を含むも のとなる。
[0088] 次に、図 3を参照しながら、本実施の形態における映像蓄積装置 103および映像 蓄積装置 104の詳細を説明する。
[0089] 図 3は、本発明の実施の形態 1における映像蓄積装置 103および映像蓄積装置 1 04の構成の一例を示すブロック図である。
[0090] 図 3において、 301は制御部を、 302はマルチメディアデータを蓄積する蓄積部を 、 303はネットワーク 107に接続された外部装置と制御情報を通信する制御情報通 信部を、 304は映像蓄積装置の属性を記憶する記憶部を、 305は放送受信装置 10 2から送信されたマルチメディアデータを受信するデータ受信部を、 306はネットヮー ク 107に接続された端末 105もしくは端末 106に蓄積部 302に蓄積されたマルチメ ディアデータを送信するデータ送信部を、 307はデータ受信部 305が受信したマル チメディアデータを蓄積部 302に書き込む書込部を、 308は蓄積部 302からマルチメ ディアデータを読み出す読出部を、 309は放送受信装置 102と通信してマルチメデ ィァデータの利用に伴う課金などの権利処理を行う権利処理部を、 310はネットヮー ク 107と接続されるネットワークインタフェースを、それぞれ表す。
[0091] 制御部 301をより詳細に説明する。制御部 301は、マイクロプロセッサ、 ROM, RA Mなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部に はマイクロプロセッサにて動作する OS、 Java VMプログラム、 Javaプログラムライブ ラリ、 Javaアプリケーションプログラムが保存されている。マイクロプロセッサは、起動 時に OSを読み込んで実行する。引き続いて、 Javaアプリケーション起動時に、 Java VMを読み込んで実行し、必要に応じて Javaプログラムライブラリを読み込みながら、 Javaアプリケーションを実行する。
[0092] 制御部 301は、制御情報通信部 303によって、放送受信装置 102から属性の送信 要求を受信すると、記憶部 304に記憶している属性情報を、制御情報通信部 303よ り、放送受信装置 102へ送信する。また、制御情報通信部 303によって、放送受信 装置 102からマルチメディアデータの蓄積要求を受信すると、データ受信部 305に 指示して、放送受信装置 102から送信される該マルチメディアデータを、ネットワーク 107を介して受信し、書込部 307に指示して、データ受信部 305が受信した該マル チメディアデータを、蓄積部 302へ書き込ませることにより、該マルチメディアデータ を蓄積部 302へ蓄積させる。また、蓄積後に、制御部 301は、書込部 307より蓄積部 302の空き容量を受信し、記憶部 304に記憶して 、る属性情報を更新する。
[0093] また、制御部 301は、制御情報通信部 303によって、放送受信装置 102から、特定 のマルチメディアデータを蓄積して 、るか否かの問 、合わせを受信したときに、読出 部 308に指示して、蓄積部 302に蓄積されたマルチメディアデータを調べることによ り、該マルチメディアデータを蓄積しているか否かを判定し、判定結果を制御情報通 信部 303より、放送受信装置 102へ送信する。
[0094] また、制御部 301は、制御情報通信部 303によって、放送受信装置 102から、蓄積 している特定のマルチメディアデータの出力要求と出力先端末を受信したときに、読 出部 308に指示して該マルチメディアデータを蓄積部 302から読み出させ、さらに、 データ送信部 306に指示して読出部 308が読み出した該マルチメディアデータを、 該出力先端末へ送信させる。また、このとき、必要であれば、権利処理部 309に指示 して放送受信装置 102と通信させて、該マルチメディアデータの利用に伴う権利処 理を行う。権利処理により、該マルチメディアデータの利用が許可されない場合は、 該マルチメディアデータの該出力先端末への送信を行わないように制御する。
[0095] 蓄積部 302は、ハードディスクドライブに代表される、大容量をもつデジタルデータ の蓄積装置と、そのドライバソフトウェア力も構成されるものである。
[0096] 制御情報通信部 303は、ネットワークインタフェース 310に接続されており、ネットヮ 一クインタフ ース 310に届いた該映像蓄積装置の宛の制御情報を受信して、制御 部 301に引き渡す。また、制御部 301の指示により、制御部 301から渡された制御情 報を、指定された外部装置に、ネットワークインタフェース 310を通じて送信する。制 御情報通信部 303は、代表的には、 OSや Javaライブラリが提供するソケットインタフ エースもしくはソケットインタフェースを利用したプログラムである。なお、このようなソフ トウエアで構成されるものに限らず、ハードウェアで構成されるものであっても良い。
[0097] 記憶部 304は、フラッシュメモリや HDDなどの記憶装置もしくはその一部によって 構成されるものであり、制御部 301からの指示を受け、制御部 301から受け取ったデ ータを記憶するものである。
[0098] データ受信部 305は、ネットワークインタフェース 310に接続されており、制御部 30 1の指示を受けて動作するもので、放送受信装置 102から送信されたマルチメディア データを、ネットワークインタフェース 310を介して受信するものである。データ受信部 305は、代表的には、 OSや Javaライブラリが提供するソケットインタフェースもしくはソ ケットインタフェースを利用したプログラムである。なお、このようなソフトウェアで構成 されるものに限らず、ハードウェアで構成されるものであっても良い。
[0099] データ送信部 306は、ネットワークインタフェース 310に接続されており、制御部 30 1の指示を受けて動作するもので、読出部 308が読み出したマルチメディアデータを 、制御部 301が指定したネットワーク 107に接続された外部装置へのパケットに変換 して、ネットワークインタフェース 310を通じて出力するものである。データ送信部 306 は、代表的には、 OSや Javaライブラリが提供するソケットインタフェースもしくはソケッ トインタフェースを利用したプログラムである。なお、このようなソフトウェアで構成され るものに限らず、ハードウェアで構成されるものであっても良い。
[0100] 書込部 307は、制御部 301からの指示を受けて動作し、蓄積部 302にデータを書 き込むものである。書込部 307は、代表的には、 OSや Javaライブラリが提供するファ ィルアクセスインタフェースを利用したソフトウェアサブルーチンである。なお、このよう なソフトウェアで構成されるものに限らず、ハードウェアで構成されるものであっても良 い。
[0101] 読出部 308は、制御部 301からの指示を受けて動作し、蓄積部 302に蓄積された マルチメディアデータを読み出すものである。読出部 308は、代表的には、 OSや Jav aライブラリが提供するファイルアクセスインタフェースを利用したソフトウェアサブルー チンである。なお、このようなソフトウェアで構成されるものに限らず、ハードウェアで 構成されるものであっても良い。
[0102] 権利処理部 309は、ネットワークインタフェース 310と接続されており、制御部 301 の指示を受けて動作するもので、マルチメディアデータの利用に伴う課金などの権利 処理を、放送受信装置 102と通信することによって行うものである。権利処理部 309 は、放送受信装置 102へ、利用するマルチメディアデータを特定する識別子を送信 し、放送受信装置 102からの返答を受け取り、制御部 301へ引き渡す。該返答とは、 該マルチメディアデータ利用の許可もしくは拒絶である。
[0103] ネットワークインタフェース 310は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0104] 図 4は、本発明の実施の形態における放送受信装置 102の選択部 204が実行する 処理の一例を示すフローチャートである。本図は、マルチメディアの属性の一例とし て、コンテンツのジャンルを用い、映像蓄積装置の属性の一例として各映像蓄積装 置に備えられて 、る蓄積部 302の空き容量を用いる場合の処理を示す。
[0105] 選択部 204は、制御部 201からの指示により、コンテンツのジャンルを取得する(S1 D o
[0106] 選択部 204は、取得したジャンルに関連付けられて ヽる映像蓄積装置を選択する( S12) 0
[0107] 選択部 204は、制御部 201からの指示により、ジャンルによる蓄積先選択処理 (S1 2)にお 、て選択された各映像蓄積装置が備える蓄積部 302の空き容量を取得し、 取得した空き容量が蓄積されるコンテンツを含むデータを蓄積するために十分である か否かを判断する(S13)。
[0108] 空き容量が十分であると判断した場合 (S13で Y)、選択部 204はその映像蓄積装 置を蓄積先として選択し (S15)、処理を終了する。
[0109] 空き容量が十分でないと判断した場合 (S13で N)、空き容量の最も多い映像蓄積 装置を蓄積先として選択し (S 14)、処理を終了する。 (実施の形態 1の変形例) 本発明を上記実施の形態 1に基づいて説明してきたが、本発明は、上記実施の形 態に限定されるものではない。以下のような場合も、本発明に含まれる。
[0110] (1)放送受信装置 102は、さらに、マルチメディアデータを蓄積する蓄積部と、蓄積 部にマルチメディアデータを書き込む書込部とを備え、選択部 204は、放送受信装 置 102の蓄積部と、ネットワーク 107に接続された映像蓄積装置のうちひとつを選択 する構成であっても良い。また、放送受信装置 102は、さらに、端末から VoDサービ スの要求を受けたときに、ネットワーク 107に接続された映像蓄積装置と、放送受信 装置 102の蓄積部に、該コンテンツのマルチメディアデータが蓄積されている力否か を検索し、放送受信装置 102の蓄積部に蓄積されている場合は、該マルチメディア データを該 VoDサービスの要求を発行した端末に送信する構成であっても良い。
[0111] 図 5は、本発明の実施の形態 1の変形例における放送受信装置の構成を示すプロ ック図である。
[0112] 図 5に示す放送受信装置 102は、書込部 401と、蓄積部 402と、蓄積部 402に蓄 積されたマルチメディアデータを読み出す読出部 403と、制御部 201と、データ受信 部 202と、情報通信部 203と、選択部 204と、要求送信部 206と、権利処理部 207と 、ネットワークインターフェース 208と、ケープノレインターフェース 209とを備える。制 御部 201と、データ受信部 202と、情報通信部 203と、選択部 204と、要求送信部 20 6と、権利処理部 207と、ネットワークインターフェース 208と、ケーブルインターフエ ース 209とは、上記実施の形態にて説明したものと同様である力 以下の点が異なる 。制御部 201は、予め VoDサービス用のマルチメディアデータをデータ受信部 202 力 受信するときに、映像蓄積装置 103および映像蓄積装置 104から属性を受信す るとともに、放送受信装置 102の属性も読み出す。放送受信装置 102の属性とは、上 記実施の形態における映像蓄積装置 103および映像蓄積装置 104の属性情報と同 様のものである。さらに、制御部 201は、映像蓄積装置の属性とともに、放送受信装 置 102の属性も選択部 204に送信する。選択部 204は、その属性をもとに、映像蓄 積装置 103、放送蓄積装置 104もしくは蓄積部 402の選択を行うものである。
[0113] 書込部 401は、上記実施の形態における映像蓄積装置 103および映像蓄積装置 104の書込部 307と同様のものである。また、蓄積部 402は、上記実施の形態にお ける映像蓄積装置 103および映像蓄積装置 104の蓄積部 302と同様のものである。 また、読出部 403は、上記実施の形態における映像蓄積装置 103および映像蓄積 装置 104の読出部 308と同様のものである。
[0114] (2)また、放送受信装置 102は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 103および映像蓄積装置 104に、暗号ィ匕されたマルチメディアデータ を送信する構成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104 は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 302に蓄積する 構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であっても良い
[0115] また、放送受信装置 102、映像蓄積装置 103および映像蓄積装置 104は、端末 1 05および端末 106へマルチメディアデータを送信するときに、該マルチメディアデー タに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末 105お よび端末 106にお 、て、受信した暗号ィ匕されたマルチメディアデータを復号して再生 する構成であっても良い。
[0116] (3)また、上記実施の形態においては、放送受信装置 102の選択部 204は、マル チメディアデータのジャンルと、映像蓄積装置の空き容量をもとに、映像蓄積装置の 選択を行うこととした力 これらの条件に限らないことは言うまでもない。
[0117] 例えば、放送受信装置 102は、映像受信装置を順に選択する構成であっても良い 。また、ユーザによって設定された映像蓄積装置の優先度にしたがって選択する構 成であっても良い。また、マルチメディアデータのジャンルだけで選択しても良い。ま た、映像蓄積装置の空き容量だけで選択しても良い。さらに、映像蓄積装置の利用 頻度によって選択しても良い。さらに、映像蓄積装置にユーザの操作によって蓄積さ れたマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、マル チメディアデータのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装 置の選択を行っても良い。
[0118] さら〖こ、映像蓄積装置にユーザの操作によって再生もしくは出力されたマルチメデ ィァデータのジャンル、番組名、出演者など個別の蓄積頻度と、マルチメディアデー タのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装置の選択を行つ ても良い。
[0119] さらに、例えば、端末 105で利用される頻度の高いマルチメディアデータならば映 像蓄積装置 103を、端末 106で利用される頻度の高いマルチメディアデータならば 映像蓄積装置 104を、それぞれ選択するといつたような、端末との組み合わせによる 選択を行っても良い。
[0120] さらに、ユーザによって設定された端末の優先度から、組み合わされた映像蓄積装 置を選択を行っても良い。また、ユーザによって利用された端末の利用頻度、または 、ユーザによって利用された各端末のジャンル毎の利用頻度から、それに組み合わ された映像蓄積装置を選択を行っても良い。
[0121] (4)また、上記実施の形態においては、放送受信装置 102が、映像蓄積装置 103 および映像蓄積装置 104と通信することにより、 VoDサービス要求のあったコンテン ッのマルチメディアデータが蓄積されている力否かを判定する、としたが、放送受信 装置 102が、映像蓄積装置 103および映像蓄積装置 104に蓄積させたマルチメディ ァデータを記憶しておき、その内容より判定する構成であっても良 、。
[0122] (5)また、上記実施の形態においては、放送局 108からケーブル 109を経由してマ ルチメディアデータが送信されるとした力 インターネットのような IPネットワークなど、 他の通信路を用いて送信される形態であっても良い。また、マルチメディアデータの 提供先を、ケーブルテレビなどの放送局としている力 例えば、インターネット上のコ ンテンッ配信業者など、他の形態のデータ配信を行うものも含まれる。
[0123] (6)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102は、蓄積している映像蓄積装置に、該 VoD サービスを要求した端末への該マルチメディアデータの送信要求を発行し、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知する
、としたが、放送受信装置 102は、該映像蓄積装置と課金などの権利処理を行い、 該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメディ ァデータの送信要求を発行する構成であっても良 、。
[0124] (7)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102と該映像蓄積装置が通信して、課金など該 マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受信装置 102と 、 VoDサービスを要求した端末とが通信して、上記権利処理を行う構成であっても良 い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 102が権 利処理を行う構成であっても良 、。
[0125] また、上記実施の形態にお!、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0126] (8)また、上記実施の形態においては、ひとつのマルチメディアデータは、ひとつの 映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映像 蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメデ ィァデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これにより 、複数の端末力 同じマルチメディアデータの要求が有った場合に、映像蓄積装置 が該端末に映像を送信する負荷を分散することが可能となる。
[0127] (9)また、放送受信装置 102は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 102は、送信するマルチメディアデータをー且 復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する構 成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104は、さらに、マ ルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを作り 出す符号化部を備え、受信したマルチメディアデータを前記復号部でー且復号し、 前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても良 い。
[0128] (10)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0129] (11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0130] (12)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0131] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray (登録商標) Disc)、半導体メモリなど、に記録したものとしてもよ!、。ま た、これらの記録媒体に記録されて 、る前記コンピュータプログラム又は前記デジタ ル信号であるとしてもよい。
[0132] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0133] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0134] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0135] (13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/ヽ。
[0136] (実施の形態 2)
実施の形態 2におけるマルチメディア配信システムの構成は、図 1に示した、上記 実施の形態 1における構成図と同様であるため、説明を省略する。
[0137] 図 6は、本発明の実施の形態 2における放送受信装置 102を構成する構成要素の 関係を示したブロック図である。本実施の形態の放送受信装置 102は、入力部 501、 第 1メモリ 502、第 2メモリ 503、受信部 504、多重分離部 505、デスクランブラ 506、 T Sデコーダ 507、映像出力部 508、音声出力部 509、 TSマルチプレクサ 510、ネット ワーク部 511、 CPU512で構成される。
[0138] 入力部 501は、フロントパネルやリモコン受光器等で構成され、ユーザからのチャン ネル選択等の指示を受け付ける。
[0139] 図 7は、フロントパネルで入力部 501を構成した場合の一例である。 600はフロント パネルであり、上カーソルボタン 601、下カーソルボタン 602、左カーソルボタン 603 、右カーソルボタン 604、 OKボタン 605、取消ボタン 606、 EPGボタン 607、シァタ 一ボタン 608の 8つのボタンを備えている。ユーザがボタンを押下すると、押下された ボタンの識別子力 CPU512に通知される。
[0140] 第 1メモリ 502は、 RAM等で構成され、 CPU512が一時的にデータを保存する際 に使用される。
[0141] 第 2メモリ 503は、フラッシュメモリ、ハードディスク等で電源が停止しても情報を保 持可能なデバイスで構成され、 CPU512が実行するプログラムを保存する。第 2メモ リは、 SDメモリーカード等の取り外し可能な記憶デバイスを用いてもよい。
[0142] 受信部 504は、ケーブルテレビ局 108からのケーブルに接続され放送波を受信し、 CPU512から指定された周波数にチューニングし、 MPEGトラスポートストリームを抽 出して、多重分離部 505に引き渡す。
[0143] 多重分離部 505は、受信部 504力 MPEGトラスポートストリームを受け取り、 CPU 512から指定された情報を抽出し CPU512に引き渡す。また MPEGトラスポートスト リームをそのままデスクランブラ 506に引き渡す。
[0144] デスクランブラ 506は、多重分離部 505から与えられたスクランブルされている MP EGトラスポートストリームをデスクランブル( =復号)し、 TSデコーダ 507に引き渡す。 デスクランブラ 506は、放送受信装置 102に内蔵されたモジュールでも良いし、北米 ケーブル受信機で導入されて 、る CableCARD (TM)でも実施可能である。 Cable CARDの仕様は米国 CableLabsが策定した CableCARD Interface Specificat ionに記載されており、ここでは説明を省略する。
[0145] TSデコーダ 507は、 CPU512から音声データ、映像データ、 PSlZSI情報などの セクションデータの識別子を受け取る。さらに、デスクランブラ 506から受け取ったデ スクランブルされたストリームから、受け取った音声データ、映像データ、 PSIZSI情 報などのセクションデータの識別子に対応するデータを抽出する、抽出した映像デ ータを映像出力部 508に、音声データを音声出力部 509に引き渡す。また、その両 方と、セクションデータを、 TSマルチプレクサ 510に引き渡す。
[0146] 映像出力部 508は映像出力端子を含み、受け取った映像データを端子に対応し た映像データに変換して出力する。端子の例としては、コンポジットケーブル端子な どがある。
[0147] 音声出力部 509は音声出力端子を含み、受け取った音声データを端子に対応し た音声データに変換して出力する。端子の例としては、イヤホン端子や、コンポジット ケーブル端子などがある。
[0148] TSマルチプレクサ 510は、受け取った映像データ、音声データ、セクションデータ 力ら MPEG2トランスポートストリームを構成し、該 MPEG2トランスポートストリームを ネットワーク部 511に引き渡す。 PSIZSI情報は必要に応じて書き換えられる。
[0149] ネットワーク部 511は、ネットワークインタフェースを含み、 CPU512から受け取った データを、ネットワークインタフェースが接続されたネットワークの物理メディアに応じ た信号に変換して出力する。また、ネットワークインタフェース力 信号を受信し、 IP ネットワークで規定されたパケットに変換して、 CPU512へ引き渡す。
[0150] CPU512は、第 2メモリ 503が記憶するプログラムを実行することで、受信部 504、 多重分離部 505、デスクランブラ 506、 TSデコーダ 507、 TSマルチプレクサ 510、ネ ットワーク部 511を制御する。
[0151] 図 8は、本発明の実施の形態 2における放送受信装置が保持し、実行するプロダラ ムの構成を示す図である。本図は、第 2メモリ 503に記憶され、 CPU512に実行され るプログラムの構成の一例を示す図である。
[0152] プログラム 700は、複数のサブプログラムで構成され、具体的には OS701、 EPG7 02、 JavaVM703、サービスマネージャ 704、 Javaライブラリ 705で構成される。
[0153] OS701は、放送受信装置 102の電源が投入されると、 CPU512が起動するサブ プログラムである。 OS701は、オペレーティングシステムの略であり、 Linux等が一例 である。 OS701は、他のサブプログラムを平行して実行するカーネル 701a及びライ ブラリ 701bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施 の形態においては、 OS701のカーネル 701aは、 EPG702^JavaVM703をサブプ ログラムとして実行する。また、ライブラリ 70 lbは、これらサブプログラムに対して、放 送受信装置 102が保持する構成要素を制御するための複数の機能を提供する。
[0154] 本実施の形態では、ライブラリ 701bは機能の一例として、チューナ 701bl、限定解 除 701b2、 AV再生 702b3、 NET701b4を含む。
[0155] チューナ 701blは、他のサブプログラムや Javaライブラリ 705の Tuner705cから周 波数を含むチューニング情報を受け取り、受信部 704に引き渡す。受信部 704は与 えられたチューニング情報に基づき復調処理を行 、、復調したデータを多重分離部 705に引き渡すことができる。この結果、他のサブプログラム及び Javaライブラリ 705 の Tuner705cはライブラリ 401bを通して受信部 504を制御することができる。
[0156] 限定解除 702b2は、他のサブプログラムや Javaライブラリ 705の CA705dから情報 を受け取り、デスクランブラ 506に引き渡す。
[0157] AV再生 702b3は、他のサブプログラムや Javaライブラリ 705の JMF705aから、音 声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映像 のパケット IDを、 TSデコーダ 707に与える。この結果、 TSデコーダ 707は与えられた パケット IDに基づいて、フィルタリングを行い、映像'音声の再生を実現する。
[0158] NET701b4は、他のサブプログラムや Javaライブラリ 705のネットワークライブラリ 7 05eから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より下の プロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例えば T CPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 511に引き渡 すことで、ネットワーク 107を介して他の機器にメッセージおよびデータを送信する。 また、ネットワーク 107を介して他の機器からメッセージを受信したときに、他のサブプ ログラムや Javaライブラリ 705のネットワークライブラリ 705eに、アプリケーション層の プロトコルのパケットに変換して引き渡す。アプリケーション層のプロトコルとは、例え ば、 HTTPや RTPなどである。
EPG702は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組 表示部 702aと、チャンネル選局を行う再生部 702bで構成される。ここで、 EPGは E1 ectric Program Guideの略である。 EPG702は、放送受信装置 102の電源が投 入されると、カーネル 701aによって起動される。起動された EPG702の内部では、 番組表示部 702aと再生部 702bが同時に起動される。番組表示部 702aは起動され ると、放送受信装置 102の入力部 501を通して、ユーザからの入力を待つ。ここで、 入力部 501が図 7で示されるフロントパネルで構成されている場合、ユーザが、入力 部 501の EPGボタン 607を押下すると、 EPGボタンの識別子が CPU512に通知さ れる。 CPU512上で動作するサブプログラムである EPG502の番組表示部 502aは 、この識別子を受け取り、番組情報表示データを作成し、図示していないモニタ出力 部によりモニタ 810に出力する。モニタ 810は、放送受信装置 102が備えるものであ つても良 、し、放送受信装置 102とコンポジットケーブルや HDMIケーブルなどで接 続されたテレビであっても良い。モニタ 810は、受信した番組情報表示データを表示 する。図 9 (a)及び (b)は、モニタ 810に表示された番組表の一例を示す図である。 図 9 (a)に示すモニタ 810には、格子状に番組情報が表示されている。列 801には、 時刻情報が表示されている。列 802には、チャンネル名「チャンネル 1」と、列 801の 時刻に対応する時間帯に放映される番組が表示されている。「チャンネル 1」では、 9 : 00〜: L0: 30に番組「ニュース 9」が放映され、 10: 30〜 12: 00は「映画 AAA」が放 映されることを表す。列 803も列 802同様、チャンネル名「チャンネル 2」と、列 801の 時刻に対応する時間帯に放映される番組が表示されている。 9 : 00〜: L 1 : 00に番組 「映画 BBB」が放映され、 11 : 00〜12 : 00は「ニュース 11」が放映される。 830は、力 一ソルである。カーソル 830は、フロントパネル 600の左カーソル 603と右カーソル 60 4を押下すると移動する。図 9 (a)の状態で、右カーソル 604を押下すると、カーソル 8 30は右に移動し、図 9 (b)のようになる。また、図 9 (b)の状態で、左カーソル 603を押 下すると、カーソル 830は左に移動し、図 9 (a)のようになる。
[0160] 図 9 (a)の状態で、フロントパネル 600の OKボタン 605が押下されると、番組表示 部 702aは、「チャンネル 1」の識別子を再生部 702bに通知する。図 9 (b)の状態で、 フロントパネル 600の OKボタン 605が押下されると、番組表示部 702aは、「チャンネ ル 2」の識別子を再生部 702bに通知する。
[0161] また、番組表示部 702aは、表示する番組情報を、多重分離部 505を通して定期的 に、第 2メモリ 503に記憶しておく。一般的に、放送局からの番組情報の取得は時間 が掛かる。入力部 501の EPGボタン 607が押下された時、第 2メモリ 503に予め保存 された番組情報を表示することで、素早く番組表を表示することができる。
[0162] 図 10は、本発明の実施の形態 2に係る第 2メモリ 503に格納されている番組情報の 一例を示す図である。番組情報は表形式で格納されている。列 901は、チャンネル の識別子である。列 902は、番組名である。列 903は番組の放送開始時間、列 904 は放送終了時間である。列 905は、番組の音声種別を表しており、モノラル音声、ス テレオ音声、 5. 1チャンネル音声をそれぞれ「モノラル」、「ステレオ」、「5. 1」と表記 している。列 906は、番組の種別を表している。通常番組は空欄であり、「映画」は映 画、「スポ」はスポーツ番組を表す。行 911〜914の各行は、それぞれひとつの番組 情報を表す。この例では、ひとつの番組情報は、チャンネルの識別子、番組名、放送 開始時間、放送終了時間、番組の音声種別の組となる。例えば、行 911はチャンネ ル識別子が「1」、番組名が「ニュース 9」、放送開始時間が「9: 00」、放送終了時間が 「10: 30」、音声種別が「モノラル」、番組の種別は「通常」を含む組となって 、る。
[0163] 再生部 702bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する 。すなわちチャンネルを構成する映像と音声を再生する。チャンネルの識別子とチヤ ンネルの関係は、チャンネル情報として、第 2メモリ 503に予め格納されている。
[0164] 図 11は、本発明の実施の形態 2に係る第 2メモリ 503に格納されているチャンネル 情報の一例である。チャンネル情報は表形式で格納されている。列 1001は、チャン ネルの識別子である。列 1002は、チャンネル名である。列 1003はチューニング情報 である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、受 信部 504に与える値である。列 1004はプログラムナンバーである。プログラムナンパ 一とは、 MPEG2規格で規定されている PMTを識別するための番号である。 PMTに 関しては、後述する。行 1011〜1014の各行は、各チャンネルの識別子、チャンネ ル名、チューニング情報の組となる。行 1011は識別子が「1」、チャンネル名が「チヤ ンネル 1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を 含む組となっている。再生部 702bは、チャンネルの再生を行うため、受け取ったチヤ ンネルの識別子をそのままサービスマネージャに引き渡す。
[0165] また、再生部 702bは、再生中に、ユーザがフロントパネル 600の上カーソル 601と 下カーソル 602を押下すると、入力部 501カゝら CPU512を通して、押下された通知を 受け取り、再生しているチャンネルを変更する。上カーソル 601を押下すると、現在再 生中のチャンネルよりもひとつ小さいチャンネル識別子を持つチャンネルを再生し、 また下カーソル 602を押下すると、現在再生中のチャンネルよりもひとつ大きいチャン ネル識別子を持つチャンネルを再生する。まず、再生部 702bは、第 2メモリ 503に現 在再生中のチャンネルの識別子を記憶する。
[0166] 図 12 (a) (b)及び (c)は、それぞれ、本発明の実施の形態 2に係る第 2メモリ 503に 格納されているチャンネルの識別子を示す情報の例である。図 12 (aでは識別子「3」 が記憶されており、図 11を参照し、チャンネル名「TV 3」のチャンネルが再生中であ ることを示す。図 12 (a)の状態で、ユーザが上カーソル 601を押下すると再生部 702 bは、図 11のチャンネル情報を参照し、表中で現在再生中のチャンネルよりもひとつ 生を切り変えるため、サービスマネージャにチャンネル名「チャンネル 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の電源が切られた際も保存されて ヽる。
[0167] さらに再生部 702bは、放送受信装置 102の電源が投入された際に、起動されると 、第 2メモリ 503に記憶されているチャンネル識別子を読み出す。そして、そのチャン ネル識別子をサービスマネージャに引渡す。これにより、放送受信装置 102は、電源 投入時に前回の稼動時に再生されていた最後のチャンネルの再生を開始することが できる。
[0168] JavaVM703は、 Java (TM)言語で記述されたプログラムを逐次解析し実行する Ja vaバーチャルマシンである。 Java言語で記述されたプログラムはバイトコードと呼ば れる、ハードウェアに依存しない中間コードにコンパイルされる。 Javaバーチャルマシ ンは、このバイトコードを実行するインタープリタである。また、一部の Javaバーチャル マシンは、バイトコードを CPU512が理解可能な実行形式に翻訳してから、 CPU51 2に引渡し、実行することも行う。 JavaVM703は、カーネル 70 laに実行する Javaプ ログラムを指定され起動される。本実施の形態では、カーネル 701aは、実行する jav aプログラムとしてサービスマネージャ 704を指定する。 Java言語の詳細は、書籍「Ja va Language Specification (ISBN 0— 201— 63451— 1)」等の多くの書籍で 解説されている。ここでは、その詳細を省略する。また、 JavaVM自体の詳細な動作 などは、「Java Virtual Machine Specification (ISBN 0— 201— 63451— X )」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0169] サービスマネージャ 704は、 Java言語で書かれ^ Javaプログラムであり、 Java VM7 03によって逐次実行される。サービスマネージャ 704は、 JNI (Java Native Interf ace)を通して、 Java言語で記述されて!、な!/、他のサブプログラムを呼び出したり、ま たは、呼び出されたりすることが可能である。 JNIに関しても、書籍「Java Native In terfacej等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0170] サービスマネージャ 704は、 JNIを通して、再生部 702bよりチャンネルの識別子を 受け取る。
[0171] サービスマネージャ 704は、最初に Javaライブラリ 705の中にある Tuner705cに、 チャンネルの識別子を引き渡し、チューニングを依頼する。 Tuner705cは、第 2メモ リ 503が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サー ビスマネージャ 704がチャンネルの識別子「2」を Tuner705cに引き渡すと、 Tuner7 05cは、図 11の行 1012を参照して、対応するチューニング情報「 156MHz,」を獲 得する。 Tuner705cは、 OS701のライブラリ 701bのチューナ 701blを通して、受信 部 704にチューニング情報を引き渡す。受信部 704は与えられたチューニング情報 に従って放送局から送信されてきた信号を復調し、多重分離部 705に引き渡す。
[0172] 次にサービスマネージャ 704は、 Javaライブラリ 705の中にある CA705dにデスクラ ンブルを依頼する。 CA705dは、 OS701のライブラリ 701bの限定解除 701b2を通 して復号に必要な情報をデスクランブラ 506に与える。デスクランブラ 506は、与えら れた情報を元に、受信部 504から与えられた信号を復号し TSデコーダ 507に引き渡 す。
[0173] 以下、映像出力部 508および音声出力部 509から出力することにより、映像'音声 の再生を行う場合と、ネットワーク部 511からマルチメディアデータを出力する場合の 処理が異なるため、それぞれについて説明する。
[0174] まず、映像'音声の再生を行う場合について、説明する。
[0175] サービスマネージャ 704は、 Javaライブラリ 705の中にある JMF705aにチャンネル の識別子を与え、映像 ·音声の再生を依頼する。
[0176] まず、最初に JMF705aは、再生すべき映像と音声を特定するためのパケット IDを PAT、 PMTから取得する。 PATや PMTは MPEG2規格で規定されている、 MPE G2トランスポートストリーム内の番糸且構成を表現するテーブルであり、 MPEG2トラン スポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共 に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明す る。 PATは、 Program Association Tableの略で、パケット ID「0」のパケットに格 納され送信されている。 JMF705aは、 PATを取得するため、 OS701のライブラリ 70 lbを通して、多重分離部 705にパケット ID「0」を指定する。多重分離部 705がバケツ HD「0」でフィルタリングを行い、 CPU512に引き渡すことで JMF705aは、 PATのパ ケットを収集する。
[0177] 図 13は、収集した PATの情報の一例を模式的に示す図である。列 1201は、プロ グラムナンバーである。列 1202は、パケット IDである。列 1202のパケット IDは PMT を取得するために用いられる。行 1211〜1213は、チャンネルのプログラムナンバー と対応するパケット IDの組である。ここでは、三つのチャンネルが定義されている。行 1211はプログラムナンバー「101」とパケット ID「501」の組が定義されている。今、 J MF705aに与えられたチャンネルの識別子が「2」とすると、 JMF705aは、図 13の行 1212を参照して、対応するプログラムナンバー「102」を獲得し、次に、図 13の PAT の行 1212を参照し、プログラムナンバー「102」に対応するパケット ID「502」を獲得 する。 PMTは、 Program Map Tableの略で、 PATで規定されたパケット IDのパ ケットに格納され送信されている。 JMF705aは、 PMTを取得するため、 OS701のラ イブラリ 701bを通して、多重分離部 505にパケット IDを指定する。ここで、指定する パケット IDは「502」とする。多重分離部 505がパケット ID「502」でフィルタリングを行 い、 CPU512に引き渡すことで JMF705aは、 PMTのパケットを収集する。
[0178] 図 14は、収集した PMTの情報の一例を模式的に示す図である。列 1301は、ストリ ーム種別であり。列 1302は、パケット IDである。列 1302で指定されるパケット IDの パケットには、ストリーム種別で指定された情報がペイロードに格納され送信されてい る。列 1303は補足情報である。行 1311〜1314はエレメンタリ—ストリームと呼ばれ る、パケット IDと送信している情報の種別の組である。行 1311は、ストリーム種別「音 声」とパケット ID「5011」の組であり、パケット ID「5011」のペイロードには音声が格 納されていることを表す。 JMF705aは、 PMTから再生する映像と音声のパケット ID を獲得する。図 14を参照して、 JMF705aは、行 1311から音声のパケット ID「5011」 を、行 1312から映像のパケット ID「5012」を獲得する。
[0179] 次に、 JMF705aは、 OS701のライブラリ 701bの AV再生 701b3に獲得した音声 のパケット IDと映像のパケット IDを引き渡す。これを受けて、 AV再生 701b3は、受け 取った音声のパケット IDと映像のパケット IDを、 TSデコーダ 507に与える。 TSデコ ーダ 507は与えられたパケット IDでフィルタリングを行う。ここではパケット ID「5011」 のパケットを音声出力部 509に、パケット ID「5012」のパケットを映像出力部 508に、 音声出力部 509は、与えられたパケットを適宜変換し (例えばデジタル アナログ変 換)出力する。映像出力部 508は、与えられたパケットを適宜変換し (例えばデジタル —アナログ変換)出力する。
[0180] 最後にサービスマネージャ 704は、 Javaライブラリ 705の中にある AM705bにチヤ ンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、 MPEG2トランスポートストリームに含まれる Javaプログラムを抽出し、 JavaVM703に 実行させることである。 MPEG2トランスポートストリームに Javaプログラムを埋め込む 方法は、 MPEG規格書 ISOZIEC13818— 6に記述された DSMCCという方式を 用いる。ここでは DSMCCの詳細な説明は省略する。 DSMCC方式は、 MPEG2トラ ンスポートストリームのパケットの中に、コンピュータで使用されているディレクトリゃフ アイルで構成されるファイルシステムをエンコードする方法を規定している。また、実 行する Javaプログラムの情報は AITと呼ばれる形式で、 MPEG2トランスポートストリ ームのパケットの中に埋め込まれ送信されている。 AITは、 DVB— MHP規格(正式 には、 ETSI TS 101 812 DVB— MHP仕様 VI . 0. 2)の 10章に定義されてい る、 Application Information Tableの略である。
[0181] AM705bは、まず、 AITを獲得するため、 JMF705a同様 PAT、 PMTを取得し、 A ITが格納されているパケットのパケット IDを獲得する。今、与えられたチャンネルの識 別子が「2」で、図 13の PAT、図 14の PMTが送信されていると、 JMF705aと同様の 手順で、図 14の PMTを獲得する。 AM705bは、 PMTからストリーム種別が「データ 」で補足情報として「AIT」を持つエレメンタリ一ストリーム力もパケット IDを抽出する。 図 14を参照して、行 1313のエレメンタリ一ストリームが該当し、パケット ID「5013」を 獲得する。
[0182] AM705bは、 OS701のライブラリ 701bを通して多重分離部 505に AITのパケット I Dを与える。多重分離部 505は、与えられたパケット IDでフィルタリングを行い、 CPU 512〖こ引き渡す。この結果、 AM705bは、 AITのパケットを収集することができる。
[0183] 図 15は、収集した AITの情報の一例を模式的に示す図である。列 1401〖お avaプ ログラムの識別子である。列 1402ίお avaプログラムの制御情報である。制御情報に は「autostart」「present」「kill」などがあり、「autostart」は即時に放送受信装置 10 2がこのプログラムを自動的に実行することを意味し、 rpresentjは自動実行しな!、こ とを意味し、「kill」はプログラムを停止することを意味する。列 1403は、 DSMCC方 式で Javaプログラムを含んでいるパケット IDを抽出するための DSMCC識別子であ る。列 1404 ίお avaプログラムのプログラム名である。行 1411と 1412は、 Javaプログ ラムの情報の組である。行 1411で定義される Javaプログラムは、識別子「301」、制 御情報「autostart」、 DSMCC識別子「1」、プログラム名「aZTopXlet」の組である 。行 1412で定義される Javaプログラムは、識別子「302」、制御情報「present」、 DS MCC識別子「1」、プログラム名「bZGameXlet」の組である。ここでふたつの Javaプ ログラムは同じ DSMCC識別子を持つ力 これはひとつの DSMCC方式でェンコ一 ドされたファイルシステム内にふたつの Javaプログラムが含まれていることを表す。こ こでは、 Javaプログラムに対して四つの情報しか規定しな 、が、実際にはより多くの 情報が定義される。詳細は DVB— MHP規格を参照された ヽ。
[0184] AM705bは、 AITの中から「autostart」の Javaプログラムを見つけ出し、対応する DSMCC識別子及び Javaプログラム名を抽出する。図 15を参照して、 AM705bは 行 1411の Javaプログラムを抽出し、 DSMCC識別子「1」及び Javaプログラム名「aZ TopXlet」を獲得する。
[0185] 次に AM705bは、 AITから取得した DSMCC識別子を用いて、 Javaプログラムを DSMCC方式で格納しているパケットのパケット IDを PMT力 獲得する。具体的に は、 PMTの中でストリーム種別が「データ」で、補足情報の DSMCC識別子が合致 するエレメンタリ一ストリームのパケット IDを取得する。
[0186] 今、 DSMCC識別子力 「1」であり、 PMTが図 14とすると、行 1314のエレメンタリー ストリームが合致し、パケット ID「5014」を取り出す。
[0187] AM705bは、 OS701のライブラリ 701bを通して多重分離部 505に DSMCC方式 でデータが埋めこめられたパケットのパケット IDを指定する。ここでは、パケット ID「50 14」を与える。多重分離部 505は、与えられたパケット IDでフィルタリングを行い、 CP U512に引き渡す。この結果、 AM705bは、必要なパケットを収集することができる。 AM705bは、収集したパケットから、 DSMCC方式に従ってファイルシステムを復元 し、第 1メモリ 502あるいは第 2メモリ 503に保存する。ファイルシステム等のデータを 取り出し第 1メモリ 502あるいは第 2メモリ 503に保存すことを以降、ダウンロードと呼
[0188] 図 16は、ダウンロードしたファイルシステムの一例を示す図である。図 16において、 丸はディレクトリを四角はファイルを表し、 1501はルートディレクトリ、 1502はディレク トリ「a」、 1503はディレクトリ「b」、 1504はファイル「TopXlet. class」、 1505はフアイ ノレ「GameXlet. class」である。
[0189] ここでは、 MPEG2トランスポートストリームからファイルシステムをダウンロードする 例を記載した力 OCAP仕様では、 IPネットワークを用いたダウンロードなども規定し ている。また、 AITではなく XAITと呼ばれる情報を用いてファイルシステムの存在位 置を特定し、ファイルシステムをダウンロードする方法も規定されて 、る。
[0190] 次に AM705bは、第 1メモリ 502あるいは第 2メモリ 503にダウンロードしたファイル システム中カゝら実行する Javaプログラムを JavaVM703に引き渡す。今、実行する Jav aプログラム名が「aZTopXlet」とすると、 Javaプログラム名の最後に「. classjを付カロ したファイル「aZTopXlet. class」が実行すべきファイルとなる。「Z」はディレクトリや ファイル名の区切りであり、図 16を参照して、ファイル 1504が実行すべき Javaプログ ラムである。次に AM705bは、フアイノレ 1504を Java VM703に引き渡す。
[0191] JavaVM703は、引き渡され^ Javaプログラムを実行する。
[0192] 次に、ネットワーク部 511からマルチメディアデータを出力する場合の処理について 説明する。
[0193] まず、サービスマネージャ 704は、 Javaライブラリ 705中にあるネットワークライブラリ 705eにチャンネルの識別子を与え、データの送信を依頼する。ネットワークライブラリ 705eは、まず、上言 6JMF705aおよび AM705bと同様に、 PAT、 PMTを取得し、送 信すべき番組に関する映像データ、音声データ、各セクションデータのパケット IDを 取得する。今、与えられたチャンネルの識別子が「2」で、図 12の PAT、図 14の PMT が送信されていると、 JMF705aと同様の手順で、図 14の PMTを獲得する。送信す べきデータは、図 14の PMTに記述された全てのデータである。
[0194] ネットワークライブラリ 705eは、 OS701のライブラリ 701bを通して TSデコーダ 507 に、これらのパケット IDを与え、 TSマルチプレクサ 510に出力させる。 TSデコーダ 50 7は、与えられたパケット IDでフィルタリングを行い、 TSマルチプレクサ 510に引き渡 す。
[0195] また、ネットワークライブラリ 705eは、 OS701のライブラリ 701bを通して TSマルチ プレクサ 510に、何種類のデータが送られてくるかを与えて、 TSデコーダ 507から引 き渡されたデータから、 MPEG2トランスポートストリームを構成させる。 TSマルチプレ クサ 510は、構成した MPEG2トランスポートストリームを、 CPUに引き渡す。
[0196] また、ネットワークライブラリ 510eは、 OS701のライブラリ 701bの NET701b4に送 信先のアドレスを与える。続いて、ネットワークライブラリ 701b4は、 TSマルチプレク サ 510から受け取った MPEG2トランスポートストリームを、送信するアプリケーション レベルのプロトコルに応じた形式に変換して、 NET701b4に順次引き渡す。アプリケ ーシヨンレベルのプロトコルとは、例えば、 HTTPや RTPといったものである。これに より、 NET701b4は、送信先アドレスを参照して、引き渡されたデータを IPネットヮー クのパケットに変換し、ネットワーク部 511に引き渡す。ネットワーク部 511では、引き 渡されたデータを、接続されたネットワークの物理メディアに応じた信号に変換して出 力する。
[0197] サービスマネージャ 704は、他のチャンネルの識別子を受け取ると、 Javaライブラリ 705に含まれる各ライブラリを通して再生している映像'音声及び Javaプログラムの実 行もしくはネットワークへの出力を、同じ avaライブラリ 705に含まれる各ライブラリを 通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像'音声の再 生及び Javaプログラムの実行もしくはネットワークへの出力を行う。
[0198] また、サービスマネージャ 704は、再生部 702bだけでなく、 JavaVM703上で実行 される Javaプログラムカゝらチャンネルの識別子を受け取る機能も備える。具体的には 、チャンネルの識別子を受け取るための Java言語のクラス及びそのメソッドを提供す る。チャンネルの識別子を受け取ると、サービスマネージャ 704は、 Javaライブラリ 70 5に含まれる各ライブラリを通して現在再生している映像'音声及び Javaプログラムの 実行もしくはネットワークへの出力を、同じ avaライブラリ 705に含まれる各ライブラリ を通して停止し、その後、新たに受け取ったチャンネルの識別子に基づいて、新しい 映像'音声の再生及び Javaプログラムの実行もしくはネットワークへの出力を行う。
[0199] また、上記では、通常の放送番組の再生やネットワークへの出力について記述した 力 VoDサービスの場合も同様である。
[0200] Javaライブラリ 705は、第 2メモリ 503に格納されている複数の Javaライブラリの集合 である。本実施の形態では、 Javaライブラリ 705は、 JMF705a、 AM705b、 Tuner7
05c、 CA705d、ネットワークライブラリ 705e、再生 Lib705f、 IO705g、 AWT705h 等を含んでいる。
[0201] JMF705a、 AM705b、 Tuner705c、 CA705dの機會 ίま、既【こ記述されて!、るの で省略する。
[0202] 再生 Lib705fは、第 2メモリ 503が記憶して!/、る、現在再生して!/、るチャンネルの識 別子を Javaプログラムに渡すための Java言語のクラスおよびメソッドを(以下 Java A PIと記述)提供する。この Java APIを利用することで、 Javaプログラムは、現在再生 中のチャンネルを知ることができる。
[0203] IO705gは、 Javaプログラムが第 2メモリ 703にデータを書き込むための Java API 、あるいは、その書き込んだデータを第 2メモリ 503から読み込むための Java APIを Javaプログラムに提供する。この APIを利用することで、 Javaプログラムは、任意のデ 一タを第 2メモリ 503に保存することができる。この保存されたデータは放送受信装置 102の電源がオフになっても消えないので、放送受信装置 102の電源が投入された 後、再びそのデータを読み込むことができる。
[0204] AWT705hは、 Javaプログラムが描画を行ったり、入力部 501からのキー入力通知 を受け取るための Java APIを提供する。具体的には、「The Java class Librari es Second Edition, Volume 2」 (13 ?^0— 201—31003— 1)で既定され¾)& va. awtノ ゝノケージ、 java. awt. eventノ ゝノケージ ¾_びその ftilの java. awtのサブノ ッケージが相当する。ここでは、詳細な説明を省略する。
[0205] SI705iは、 Javaプログラムがチャンネル情報や電子番組表情報を取得する Java APIを提供する。具体的には、 Java TV仕様などが存在する。また、生のバイナリー データを放送中の MPEG2トランスポートストリームから取得する MPEGセクションフ ィルター APIが OCAP仕様の中で定義されており、送信されてきた独自の電子番組 データを Javaアプリケーションが理解して取り扱うことも出来る。
[0206] ネットワークライブラリ 705eは、 OS701のライブラリ 701bの NET701b4を通して、 ネットワーク 107に接続された映像蓄積装置 103、映像蓄積装置 104、端末 105およ び端末 106と通信するものである。映像蓄積装置 103および映像蓄積装置 104とは 、映像蓄積装置の属性の送受信、マルチメディアデータの蓄積要求および該マルチ メディアデータの送信、特定のマルチメディアデータを蓄積して 、るか否かの問合せ 、該蓄積して 、るマルチメディアデータの送信要求および該マルチメディアデータの 利用に伴う権利処理の通信を行う。また、端末 105および端末 106とは、マルチメデ ィァデータの送信要求の受け付け、マルチメディアデータの送信もしくはマルチメディ ァデータが送信される映像蓄積装置の通知を行う。
[0207] 図 17は、本発明の実施の形態 2に係るネットワークライブラリ 705eの内部構成の一 例を表すブロック図である。ネットワークライブラリ 705eは、制御部 1601、データ受 信部 1602、情報通信部 1603、選択部 1604、データ出力部 1605、要求送信部 16 06、権利処理部 1607を含む。なお、ネットワークライブラリ 705eは、 IPネットワークに 関連する他の機能を含んでも良 、。
[0208] 制御部 1601は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 705eが実現する機能を提供する。すなわち、制御部 1601は、 Javaアプリケーシ ヨンに対して Java APIを提供し、 Javaアプリケーション力 この APIを呼び出すことで 、ネットワークを利用した機能が実行できる。制御部 1601は、 Java APIが呼び出さ れると、適宜、データ受信部 1602、情報通信部 1603、選択部 1604、データ出力部 1605、要求送信部 1606、権禾 IJ処理部 1607や、他の Javaライブラリ 705および OS 701のライブラリ 70 lbを利用して処理を行う。
[0209] 図 18は、本発明の実施の形態 2に係る制御部 1601が提供する Java APIの一例 を示す図である。図 18 (1)メソッド collectNetDevice Oは、ネットワーク 107に接続 されて 、る外部装置の情報を集め、その情報として NetDeviceオブジェクトの配列を 返す。具体的には、後述の情報通信部 1603のメソッド collectNetDevice Oを呼び 出し、その戻り値を返すものでる。本メソッドにより、ネットワークに接続された機器の 情報を得ることができる。 [0210] 図 19は、 NetDeviceクラスの構成の一例を示す図である。図 19で、 addrは該装置 のネットワークアドレスを、 friendlyNameは該装置につけたニックネームを、 dType は該装置の種別を表し、 0が放送受信装置、 1が映像蓄積装置、 2が端末を表すこと とする。このような情報は、 UPnP DAに定義された方法によって行うことが可能であ るため、処理の詳細は省略する。また、 attrは映像蓄積装置の属性であり、 DevAttr ibクラスのオブジェクトである。
[0211] 図 20は、 DevAttribクラスの構成の一例を示す図である。図 20において、 remain Capはマルチメディアデータを蓄積する空き領域の容量を表し、 replayFavoritGen reは、再生もしくはネットワークに出力したコンテンツのうち、最も頻度の高いジャンル を表し、 0が映画、 1がスポーツ、などのように表す。 recordFavoritGenreは、ユー ザ操作によって録画したコンテンツのうち、最も頻度の高いジャンルを表す。
[0212] 図 18 (2)メソッド sendMultimediaData ()は、チャンネルの識別子を指定して、映 像蓄積装置 103もしくは映像蓄積装置 104にマルチメディアデータを送信するもの で、成功すれば trueが返り、失敗すれば falseが返るものである。
[0213] また、図 18 (3)メソッド acceptMultimediaRequest Oは、呼び出されれば、別の プロセスもしくはスレッドを起動してその上で動作することで常駐するものであり、端末 力ものマルチメディアデータ送信要求を受け付け、映像蓄積装置 103もしくは映像蓄 積装置 104に該マルチメディアデータが蓄積されているかどうかを調べ、蓄積されて いる場合は、該映像蓄積装置に端末への送信要求を発行するとともに、該要求を発 行した端末には該映像蓄積装置カゝらマルチメディアデータが送信されることを通知し 、また、蓄積されていない場合には、該マルチメディアデータを放送局から受信して 該端末へ送信するものであり、正常終了時は trueを返し、異常時には falseを返すも のである。なお、常駐せずにひとつの要求をうければ終了する構成であっても良い。
[0214] これらのメソッドは、データ受信部 1602、情報通信部 1603、選択部 1604、データ 出力部 1605、要求送信部 1606および権利処理部 1607の APIを用いて動作するも のであるため、詳細は後述する。
[0215] 図 18 (4)メソッドcollectMultimediaData 0は、Javaラィブラリ705などを利用して 、 VoDサービスにより提供されるマルチメディアコンテンツを検索し、その一部もしく は全部をサービスマネージャ 704に依頼することにより受信し、メソッド sendMultim ediaData Oを呼び出して、映像蓄積装置に送信するものであり、成功すれば trueを 、失敗すれば falseを返す。
[0216] 図 18 (5)メソッド setSelectAlgorithm Oは、選択部 1604が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。本メソッドは選択部 1604のメソッド setSelectAlgorithm Oを呼び出すことで 行われる。
[0217] 図 18 (6)メソッド setStoragePriority ()は、選択部 1604が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。本メソッドは、選択部 1604のメソッド setStoragePriority ()を 呼び出すことで行われる。なお、本メソッドは、映像蓄積装置とその優先度の値の組 の配列を引数として設定する構成であっても良い。
[0218] 図 18 (7) setTerminalPriority Oは、選択部 1604が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。本メソッドは、選択部 1604のメソッド setTerminalPriority Oを呼び出 すことで行われる。なお、本メソッドは、端末とその優先度の値の組の配列を引数とし て設定する構成であっても良い。
[0219] 図 18 (8)メソッド setCombination Oは、選択部 1604が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。本メソッドは、選択部 1604の setCo mbination ()を呼び出すことで行われる。
[0220] 図 18 (9)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、選択 部 1604のメソッド setSelectedStorageDevice ()を呼び出すことにより行われるの で、そちらで詳細は述べる。
[0221] 図 18 (10)メソッド registerHandler ()は、引数 handlerで与えられたハンドラをシ ステムに登録するもので、成功すれば trueを返し、失敗すれば falseを返す。 Javaァ プリケーシヨンは、該ハンドラを登録することにより、ネットワークライブラリ 705eからコ ールバックを受けることができる。
[0222] データ受信部 1602は、放送受信装置 102の TSデコーダ 507と TSマルチプレクサ
510を OS701のライブラリ 701を通じて制御し、 TSデコーダ 507によってフィルタリン グされた、映像、音声、セクションデータを TSマルチプレクサ 510によって MPEG2ト ランスポートストリームに構成して読み出すものである。
[0223] データ受信部 1602は、制御部 1601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0224] 図 21は、本発明の実施の形態 2に係るデータ受信部 1602が提供する Java API の一例を示す図である。
[0225] 図 21 (1)メソッド openProgram Oは、引数で指定されたチャンネルの識別子から、
TSマルチプレクサ 510が構成した MPEG2トランスポートストリームを読み出す Input
Streamのオブジェクトを返す。なお、失敗時には nullが返る。
[0226] 情報通信部 1603は、 OS701のライブラリ 701の NET701b4を通じて、放送受信 装置 102のネットワーク部 511を制御し、指定されたネットワーク 107に接続されてい る外部機器と、メッセージの送受信を行うものである。
[0227] 情報通信部 1603は、制御部 1601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0228] 図 22は、本発明の実施の形態 2に係る情報通信部 1603が提供する Java APIの 一例を示す図である。図 22 (1)メソッド checkStorageAttribute Oは、引数で指定 された情報蓄積装置に属性送信要求を送り、返答を受信して引数 devで示された Ne tDeviceクラスのオブジェクトに属性を設定するもので、成功すれば trueを返し、失 敗すれば falseを返すものである。図 22 (2)メソッド56!1(131;0 1^ 1½51; ()は、引数 d evで指定された映像蓄積装置に蓄積要求を送信して返答を受信するもので、成功 すれば trueを返し、通信失敗もしくは要求拒否を受信した場合は falseを返すもので ある。引数 idは、制御部 1601が発行したマルチメディアデータの識別子であり、送信 要求とともに、映像蓄積装置に送られる。図 22 (3)メソッド&51^01^61^31;0 (1()は 、引数 devで指定される映像蓄積装置に、引数 idで指定されるマルチメディアデータ を蓄積している力否かの問い合わせを送信し、返答を受信するもので、蓄積している と返答を受けた場合は trueを、蓄積していないと返答を受けた場合もしくは通信に失 敗した場合は falseをそれぞれ返す。図 22 (4)メソッド56!1(11^&115£6 1^ 1½51; ()は、 弓 I数 serverで指定される映像蓄積装置に、引数 idで指定されるマルチメディアデー タを、引数 clientで指定される端末へ送信する要求を送信して返答を受信するもの であり、 OKを受信した場合は trueを、 NGを受信した場合もしくは通信に失敗した場 合は falseを、それぞれ返す。図 22 (5)メソッド& 6 1;丁61:111^1&11^ 11651; ()は、引数 sで指定される Socketオブジェクトを用いて、該 Socketオブジェクトによって接続さ れて 、る端末からの要求を受信し、端末が送信を要求して 、るマルチメディアデータ の識別子を引数 reqに入れるものであり、通信が成功すれば trueを、失敗すれば fal seを、それぞれ返す。図 23に MMRequestクラスの構成を示す。図 22 (6)メソッド no tifyTransferDevice Oは、引数 sで指定される Socketオブジェクトを用いて、該 So cketオブジェクトによって接続されている端末へ、引数 devで指定される映像蓄積装 置カゝらマルチメディアデータが送信されることを通知するもので、成功すれば trueを 返し、失敗すれば falseを返すものである。図 22 (7)メソッド!10 £ 1^&115£6 0& & () は、引数 sで指定される Socketオブジェクトを用いて、該 Socketオブジェクトによって 接続されて ヽる端末へ、放送受信装置 102からマルチメディアデータが送信されるこ とを通知するもので、成功すれば trueを返し、失敗すれば falseを返すものである。 図 22 (8)メソッド110 £ 1111&1)161^&115£61:()は、引数 sで指定される Socketオブジェ タトを用いて、該 Socketオブジェクトによって接続されている端末へ、引数 statusで 表される理由により、要求されたマルチメディアデータを送信できないことを通知する ものであり、成功すれば trueを返し、失敗すれば falseを返すものである。図 22 (9)メ ソッド collectNetDevice Oは、ネットワーク 107に接続されている外部装置の情報を 集め、その情報として NetDeviceオブジェクトの配列を返す。この処理は、 UPnP D Aに定義された方法によって行うことが可能であるため、処理の詳細は省略する。 [0229] 選択部 1604は、設定されたアルゴリズムにした力^、、映像蓄積装置の属性および マルチメディアデータの属性などから、ネットワーク 107に接続された映像蓄積装置 のうちひとつを選択するものである。
[0230] 選択部 1604は、制御部 1601およびダウンロードし^ Javaアプリケーションに Java
APIを提供する。図 24は、本発明の実施の形態 2に係る選択部 1604が提供する J ava APIの一例である。
[0231] 図 24 (1)メソッド selectDevice ()は、後述のメソッド setAlgorithm Oによって設定 されたアルゴリズムにしたがって、引数 devicesで示された映像蓄積装置の中から、 d evicesに格納されている映像蓄積装置の属性、および、引数 idで示されたチャンネ ルの識別子と図 10に示した第 2メモリ 503に記憶している番組情報力も読み取れる マルチメディアデータの属性などをもとに、ひとつの映像蓄積装置を選択するもので あり、成功すれば選択した映像記憶装置を devicesのインデックスで返し、失敗すれ ば負の値を返すものである。選択するアルゴリズムとしては、空き容量の大きい映像 蓄積装置を選択する、マルチメディアデータのジャンルごとに映像蓄積装置を割り振 つて選択する、該マルチメディアデータのジャンルと同じジャンルのマルチメディアデ ータをユーザ操作によって録画した頻度の高い映像蓄積装置を選択する、後述のメ ソッド setStoragePriority Oによって設定された、映像蓄積装置の優先度にしたが つて選択する、後述のメソッド setTerminalPriority Oによって設定された端末の優 先度と、後述のメソッド setCombination Oによって設定された端末と映像蓄積装置 の組から、端末の優先度にしたがって端末を選択し、その端末と組になつている映像 蓄積装置を選択する、あるいは、複数の映像蓄積装置があった場合に、 Javaアプリ ケーシヨンにコールバック関数によって知らせ、ユーザに一覧を提示し、ユーザから の入力を受け付けて、後述のメソッド setSelectedStorageDevice Oによって指定さ れた映像蓄積装置を選択する、などがある。
[0232] 図 24 (2)メソッド setSelectAlgorithm Oは、選択部 1604が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。 [0233] 図 24 (3)メソッド setStoragePriority ()は、選択部 1604が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。なお、本メソッドは、映像蓄積装置とその優先度の値の組の配 列を引数として設定する構成であっても良 、。
[0234] 図 24 (4) setTerminalPriority Oは、選択部 1604が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。なお、本メソッドは、端末とその優先度の値の組の配列を引数として設 定する構成であっても良い。
[0235] 図 24 (5)メソッド56 0)1!1 11& 1011 ()は、選択部 1604が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。
[0236] 図 24 (6)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、メソッ ド selectDevice O力 設定されたアルゴリズムによりユーザの入力によって選択する 場合、 Javaアプリケーションにコールバック関数によって通知し、ユーザの入力を受 け付けた javaアプリケーションによって呼び出されるものである。コールバック関数は 、 Javaアプリケーションのハンドラオブジェクトを Handlerとすると、 Handler, notify ( NetDevices [] devices, Object obj)といったもので、これにより Javaアプリケー シヨンは引数で与えられた映像蓄積装置の一覧をユーザに提示して、ユーザ入力を 受け付ける。受け付けた入力から、指定されたものの、配列 devicesのインデックスを 取得し、引数 objで制御部 1601もしくは選択部 1604のインスタンスが与えられるの で、そのメソッド setSelectedStorageDevice Oを呼び出して設定する。上記ハンド ラオブジェクト Handlerは、制御部 1601のメソッド registerHandler Oによって、登 録されたものである。なお、選択部 1604力 同じ registerHandler Oメソッドをもち、 J avaアプリケーションに公開する構成であっても良い。 [0237] データ出力部 1605は、 OS701のライブラリ 701の NET701b4を通じて、放送受 信装置 102のネットワーク部 511を制御し、指定されたネットワーク 107に接続されて Vヽる外部機器に、データ受信部 1602が受信したマルチメディアデータを送信するも のである。
[0238] データ出力部 1605は、制御部 1601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。図 25は、本発明の実施の形態 2に係るデータ出力部 160 5が提供する Java APIの一例である。図 25 (1)メソッド sendData Oは、引数 devで 指定されたネットワーク 107に接続されている装置に、引数 isで指定された InputStr earnオブジェクトから読み込んだデータを、 is力も EOFを読み込むまで送信するもの で、成功すれば trueを返し、失敗すれば falseを返すものである。
[0239] 要求送信部 1606は、サービスマネージャ 704に、 VoDサービスのマルチメディア データ送信要求を依頼するものである。
[0240] 要求送信部 1606は、制御部 1601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。図 26は、本発明の実施の形態 2に係る要求送信部 1606が 提供する Java APIの一例である。図 26 (1)メソッド sendRequest Oは、引数 idで指 定されたマルチメディアデータの送信要求を、サービスマネージャ 704に依頼するも ので、成功すれば trueが返り、失敗すれば falseが返るものである。
[0241] 権利処理部 1607は、サービスマネージャ 704に、マルチメディアデータの利用に 伴う課金などの権利処理を依頼するものである。
[0242] 権利処理部 1607は、制御部 1601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0243] 図 27は、本発明の実施の形態 2に係る権利処理部 1607が提供する Java APIの 一例である。図 27 (1)メソッド requestContentUse Oは、引数 idで指定されたコン テンッの権利処理をサービスマネージャ 704に依頼するものであり、コンテンツ使用 が許可されれば trueが返り、許可されない、もしくは処理に失敗すれば falseが返る ものである。
[0244] ここで、制御部 1601の、メソッド sendMultimediaData ()およびメソッド acceptM ultimediaRequest ()の処理を説明する。 [0245] まず、メソッド sendMultimediaData ()の処理にっ 、て説明する。 sendMultimed iaData Oが呼び出されれば、まず、制御部 1601のメソッド collectNetDevice ()に よって、ネットワーク 107に接続された映像蓄積装置を検索する。続いて、各映像蓄 積装置ごとに、情報通信部 1603のメソッド checkS torageAttribute ()を呼び出し て、各映像蓄積装置の属性を調べる。続いて、選択部 1604のメソッド selectDevice 0を呼び出して、映像蓄積装置を選択する。さらに、このマルチメディアデータを識 別する識別子を発行する。選択した映像蓄積装置に対し、情報通信部 1603のメソッ ド sendStoreRequest Oを呼び出すことで、蓄積要求をマルチメディアデータの識 別子とマルチメディアデータの番組情報ともに送信する。続いて、データ受信部 160 2のメソッド openProgram Oを呼び出して、マノレチメディアデータを読み出す Input Streamオブジェクトを取得する。さらに、データ出力部 1605のメソッド sendData O を呼び出して、選択した映像蓄積装置に、受信したマルチメディアデータを送信する 。処理が成功すれば、マルチメディアデータの属性とともに、発行したマルチメディア データの識別子を第 2メモリ 503に記憶させる。
[0246] なお、 collectNetDevice ()を実行したあとに、これらの情報を第 2メモリ 503に記 憶させ、以降は第 2メモリ 503に記憶したものを読み出す構成であっても良い。
[0247] 次に、メソッド acceptMultimediaRequest ()の処理にっ 、て説明する。メソッド ac ceptMultimediaRequest ()は、呼び出されると、別のスレッドもしくはプロセスを生 成し、その上で動作する。まず、端末からの接続を受け付ける Socketオブジェクトを 作成し、接続要求を待ち受ける。端末から、接続要求がくれば、情報通信部 1603の メソッド acceptTerminalRequest Oを呼び出し、該端末からの要求を受信する。続 いて、要求されたマルチメディアデータの識別子を、端末からの要求、もしくは端末か ら受け取ったチャンネルの識別子と第 2メモリ 503に記憶させた情報とから特定する。 次に、制御部 1601のメソッド collectNetDevice ()を呼び出す力、もしくは、第 2メモ リ 503に記憶させた情報から、ネットワークに接続された映像蓄積装置を検索する。 続いて、各映像蓄積装置ごとに、情報通信部 1603のメソッド askContentStored O を呼び出し、該映像蓄積装置に該マルチメディアデータが蓄積されているか否かを 問い合せる。蓄積している映像記憶装置があれば、該映像蓄積装置に、情報通信部 1603のメソッド sendTransferRequest Oを呼び出すことによって、該要求のあった 端末へ、該マルチメディアデータの送信要求を発行する。なお、該要求のあった端 末は、端末と通信している Socketオブジェクトと、管理部のメソッド collectNetDevic e ()の結果もしくは第 2メモリ 503に記憶させた情報より特定する。なお、このとき、必 要であれば、権利処理部 1607のメソッド requestContentUse ()を呼び出すことで 、権利処理を行う。続いて、該要求のあった端末には、情報通信部 1603のメソッド n otigyTransferDevice ()を呼び出すことで、該蓄積して ヽる映像蓄積装置を通知す る。また、該マルチメディアデータを蓄積している映像蓄積装置が見つからな力つた 場合は、要求送信部 1606のメソッド sendRequest Oを呼び出すことにより、データ 送信要求を発行する。該マルチメディアデータが放送局から送信されな!ヽもしくは何 らかの理由により受信できないために、 sendRequest O力 ^alseを返せば、情報通信 部 1603のメソッド notifyUnableTransferOを呼び出して、該端末へデータ送信が 不可能なことを通知し、待ち受け要求に戻る。また、 sendrequest O力 ¾rueを返した ときは、情報通信部 1603のメソッド notifyTmnsferData ()メソッドを呼び出すことに より、該端末に、放送受信装置 102から該マルチメディアデータを送信することを通 知する。続いて、上記メソッド sendMultimediaData Oの場合と同様、データ受信部 1602のメソッド openProgramOを呼び出し、続いて、データ出力部 1605のメソッド sendData Oを呼び出すことで、該端末へ該マルチメディアデータを送信する。デー タ送信が終了すれば、接続要求の待ち受けに戻る。なお、接続要求を受け付けると、 さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくはプロ セスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成であ つても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち受け に戻らず、終了する。
以上の構成により、 Javaアプリケーションは、 VoDサービス用のコンテンツデータを 、利用に先立って受信し、映像蓄積装置に蓄積しておくことが可能となる。なお、この 蓄積は、一定の時間間隔で実行しても良ぐまた、ユーザの設定した日時に行っても 良い。また、ユーザの設定した時間間隔で行っても良い。また、ユーザの操作により 行っても良い。また、放送局 108からの指示で行っても良い。 [0249] 次に、映像蓄積装置 103および映像蓄積装置 104の構成について説明する。
[0250] 図 28は、本発明の実施の形態 2に係る映像蓄積装置 103および映像蓄積装置 10 4の構成要素の関係を示したブロック図である。本実施の形態の映像蓄積装置 103 および映像蓄積装置 104は、入力部 2701、第 1メモリ 2702、第 2メモリ 2703、多重 分離部 2704、 TSデコーダ 2705、映像出力部 2706、音声出力部 2707、ネットヮー ク部 2708、および、 CPU2709で構成される。なお、本実施の形態おける映像蓄積 装置 103および映像蓄積装置 104は、マルチメディアデータを蓄積するだけでなぐ ユーザの操作によって、放送受信装置 102から受信したマルチメディアデータおよび 蓄積したマルチメディアデータの再生も行う構成である。
[0251] 入力部 2701、第 1メモリ 2702、および、第 2メモリ 2703は、上記した本実施の形態 における放送受信装置 102の入力部 501、第 1メモリ 502、第 2メモリ 503と同様のも のである。なお、映像蓄積装置 103および映像蓄積装置 104は、第 2メモリ 2703に、 マルチメディアデータを蓄積する。また、マルチメディアデータだけでなぐ該マルチ メディアデータの識別子、タイトル、放送日時、放送チャンネルなど EPGカゝら得られる 番組情報も同時に、メタデータとして蓄積する。
[0252] 多重分離部 2704は、 CPU2709から MPEGトランスポートストリームを受け取り、 C PU2709から指定された情報を抽出し、 CPU2709に引き渡す。また、 MPEGトラン スポートストリームをそのまま TSデコーダ 2705に引き渡す。
[0253] TSデコーダ 2705は、 CPU2709力ら、音声データ、映像データの識別子を受け 取る。さらに、多重分離部 2704から受け取ったストリームから、受け取った音声デー タ、映像データの識別子に対応するデータを抽出する。抽出した映像データを映像 出力部 2706に、音声データを音声出力部 2707に、それぞれ引き渡す。
[0254] 映像出力部 2706、音声出力部 2707は、上記した本実施の形態における放送受 信装置 102の映像出力部 508、音声出力部 509と同様のものである。
[0255] ネットワーク部 2708は、ネットワークインタフェースを含み、 CPU2709から受け取 つたデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに 応じた信号に変換して出力する。また、ネットワークインタフェース力も信号を受信し、 IPネットワークで規定されたパケットに変換して、 CPU2709へ引き渡す。 [0256] CPU2709は、第 2メモリ 2703が記憶するプログラムを実行することで、多重分離 部 2704、 TSデコーダ 2705、ネットワーク部 2709を制御する。
[0257] 図 29は、本発明の実施の形態 2に係る映像蓄積装置が保持し、実行するプロダラ ム構成を示す図である。本図は、第 2メモリ 2703に記憶保持され、 CPU2709〖こ実 行されるプログラムの構成の一例を示す図である。
[0258] プログラム 2800は、複数のサブプログラムで構成され、具体的には OS2801、 Jav aVM2802、サービスマネージャ 2803、 Javaライブラリ 2804で構成される。
[0259] OS2801は、映像蓄積装置 103および映像蓄積装置 104の電源が投入されると、 CPU2709が起動するサブプログラムである。 OS 2801は、オペレーティングシステ ムの略であり、 Linux等が一例である。 OS2801は、他のサブプログラムを平行して 実行するカーネル 2801a及びライブラリ 2801bで構成される公知の技術の総称であ り、詳細な説明は省略する。本実施の形態においては、 OS2801のカーネル 2801a は、 JavaVM2803をサブプログラムとして実行する。また、ライブラリ 2801bは、これ らサブプログラムに対して、映像蓄積装置 103および映像蓄積装置 104が保持する 構成要素を制御するための複数の機能を提供する。
[0260] 本実施の形態では、ライブラリ 2801bは機能の一例として、限定解除 2801bl、 A V再生 2802b2、 NET2801b3を含む。
[0261] 限定解除 2802blは、他のサブプログラムや Javaライブラリ 2804の CA2804cから 情報を受け取り、ネットワーク力も受信した暗号ィ匕データを復号したり、 AV再生 2801 b2を有効にして、ネットワーク力も受信したマルチメディアデータおよび第 2メモリ 270 3に蓄積したマルチメディアデータの再生を許可したりするものである。
[0262] AV再生 2802b2は、他のサブプログラムや Javaライブラリ 2804の JMF2804aから 、音声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映 像のパケット IDを、 TSデコーダ 2705に与える。この結果、 TSデコーダ 2705は与え られたパケット IDに基づいて、フィルタリングを行い、映像 '音声の再生を実現する。
[0263] NET2801b3は、他のサブプログラムや Javaライブラリ 2804のネットワークライブラ リ 2804dから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より 下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例え ば TCPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 2708に 引き渡すことで、ネットワーク 107を介して他の機器にメッセージおよびデータを送信 する。また、ネットワーク 107を介して他の機器からのメッセージを受信したときに、他 のサブプログラムや Javaライブラリ 2804のネットワークライブラリ 2804dに、アプリケ ーシヨン層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロトコ ノレとは、例えば、 HTTPや RTPなどである。
[0264] JavaVM2802は、上記した本実施の形態における放送受信装置 102の Java VM 703と同様のものである。
[0265] サービスマネージャ 2803は、上記した本実施の形態における放送受信装置 102 のサービスマネージャ 704と、以下の相違点を除いて同様のものである。サービスマ ネージャ 704は再生部 702bよりチャンネル識別子を受け取り、その識別子を Tuner 705cに引き渡してチューニングさせ、さらに CA705dに依頼してデスクランブルを行 い、 JMF705aにチャンネルの識別子を与えて映像 '音声の再生を依頼するものであ つたが、サービスマネージャ 2803は、 Javaライブラリ 2804の中にある List280^から コンテンツの識別子を受け取り、 Javaライブラリ 2804の中にある IO2804fにコンテン ッの識別子を渡して第 2メモリ 2703に蓄積しているストリームを読み出す力 ネットヮ 一クライブラリ 2804dにコンテンッの識別子とそれを受信する装置を引き渡して、該 装置からストリームを受信するかを行 、、続 、て、 Javaライブラリ 2804の中にある JM F2804aにコンテンツの識別子を与えることで、映像'音声の再生を依頼するもので ある。 List2804iについては、後述する。
[0266] また、サービスマネージャ 2803は、 Javaライブラリ 2804の中にあるネットワークライ ブラリ 2804dに、放送受信装置 102からの蓄積要求待ち受け、および、データ受信と 蓄積を依頼することで、放送受信装置 102からマルチメディアデータを受信して、第 2メモジ 2703に蓄積する。
[0267] また、サービスマネージャ 2803は、 Javaライブラリ 2804の中にあるネットワークライ ブラリ 2804dに、放送受信装置 102からのマルチメディアデータ送信要求依頼、およ び、端末 105もしくは端末 106からのデータ送信要求の受付と、該依頼に対応したデ ータ送信を依頼することにより、第 2メモリ 2703に蓄積したマルチメディアデータを端 末に送信する。
[0268] Javaライブラリ 2804は、第 2メモリ 2703に格納されている複数の Javaライブラリの 集合である。本実施の形態では、 Javaライブラリ 2804は、 JMF2804a、 AM2804b 、 CA2804c、ネットワークライブラリ 2804d、再生 Lib2804e、 List2804i等を含んで いる。
[0269] JMF2804a、 AM2804b、再生 Lib2804e、 IO2804f、 AWT2804g、 SI2804h は、それぞれ、上記した本実施の形態における放送受信装置 102の Javaライブラリ 7 05の中の JMF705a、 AM705b、再生 Lib705f、 IO705g、 AWT705h、 SI705iと 同様のものである。
[0270] CA2804cは、ネットワーク 107経由で送信されてきたマルチメディアデータおよび 第 2メモリ 2703に蓄積したマルチメディアデータのコピー制御および課金など、該マ ルチメディアデータの権利処理を管理するものである。コピー制御は、送信されてき たトランスポートストリームのセクション情報に含まれているコピー制御情報を参照して 、必要であれば書き換えを行う。また、課金などは、ネットワークライブラリ 2804dを通 して、放送受信装置 102と通信することによって行う。
[0271] List2804iは、放送受信装置 102における EPG、第 2メモリ 2703〖こ蓄積されてい るマルチメディアコンテンツの一覧、および、ネットワーク 107に接続された映像蓄積 装置に蓄積されているマルチメディアコンテンツの一覧を表示し、入力部 2701が受 け付けたユーザ操作によって、一覧からひとつのマルチメディアコンテンツを選択し、 サービスマネージャ 2803に再生を依頼するものである。放送受信装置 102もしくは ネットワーク 107に接続された他の映像蓄積装置に蓄積されたコンテンツの場合は、 該装置の情報もサービスマネージャ 2803に弓 Iき渡す。第 2メモリ 2703に蓄積された コンテンツの一覧は IO2804fを通して情報を読み出すことで取得できる。また、放送 受信装置 102における EPGおよびネットワーク 107に接続された他の映像蓄積装置 に蓄積されたコンテンツの一覧は、ネットワークライブラリ 2804dを通して、取得するこ とができる。これらの情報は、 UPnP AVに定義された方法によって実現できるため、 詳細説明は省略する。
[0272] ネットワークライブラリ 2804dは、 OS2801bの NET2801b3を通して、ネットワーク 107に接続された放送受信装置 102、他の映像受信装置、端末 105および端末 10 6と通信するものである。放送受信装置 102とは、映像蓄積装置の属性送信、マルチ メディアデータの蓄積要求受信と該マルチメディアデータの受信、マルチメディアデ ータを蓄積して 、るかの問 、合わせ受信とその返信、蓄積して 、るマルチメディアデ ータの送信依頼受付および該マルチメディアデータの利用に伴う権利処理の通信を 行う。また、他の放送受信装置、端末 105および端末 106とは、マルチメディアデー タの一覧送受信、マルチメディアデータの送信、マルチメディアデータの受信を行う。
[0273] 図 30は、本発明の実施の形態 2に係るネットワークライブラリ 2804dの内部構成の 第 2の例を示すブロック図である。ネットワークライブラリ 2804dは、制御部 2901、制 御情報通信部 2902、データ受信部 2903、データ送信部 2904、属性管理部 2905 、権利処理部 2906を含む。なお、ネットワークライブラリ 2804dは、 IPネットワークに 関連する他の機能を含んでも良 、。
[0274] 制御部 2901は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 2804dが実現する機能を提供する。すなわち、制御部 2901は、ダウンロードした Javaアプリケーションに対して Java APIを提供し、 Javaアプリケーションがこの API を呼び出すことで、ネットワークを利用した機能が実現できる。制御部 2901は、 Java APIが呼び出されると、適宜、制御情報通信部 2902、データ受信部 2903、データ 送信部 2904、属性管理部 2905、権利処理部 2906や、他の Javaライブラリ 2804お よび OS 2801のライブラリ 280 lbを利用して処理を行う。
[0275] 図 31は、本発明の実施の形態 2に係るネットワークライブラリ 2804dの内部構成に 含まれる制御部 2901が提供する Java APIの一例を示す図である。
[0276] 図 31 (1)メソッド collectNetDevice Oは、ネットワーク 107に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返し、失敗時は nullを返す。このメソッドは後述の制御情報通信部 2902のメソッド collectNetDevic e ()を用いることで行う。
[0277] 図 31 (2)メソッド acceptRequestToStore ()は、呼び出されれば別のプロセスもし くはスレッドを起動してその上で動作することで常駐するものであり、放送受信装置 1 02からの属性送信要求受付け、マルチメディアデータの蓄積要求受付、マルチメデ ィァデータの受信と第 2メモリ 2703への蓄積を行う。正常終了時には trueを返し、異 常時には falseを返す。なお、常駐せずにひとつの要求をうければ終了する構成であ つても良い。また、 Javaアプリケーション力もネットワーク 107に接続された機器が引 数で渡され、その機器と通信することより、該機器からデータを受信して蓄積する構 成であっても良い。詳細については後述する。
[0278] 図 31 (3)メソッド acceptRequestToTransfer Oは、呼び出されれば別のプロセス もしくはスレッドを起動してその上で動作することで常駐するものであり、放送受信装 置 102からの特定のマルチメディアデータを蓄積しているか否かの問い合わせを受 け付けて返答し、また、放送受信装置 102から特定のマルチメディアデータを特定の 端末への送信要求を受け付けて、該マルチメディアデータを該端末へ送信するもの である。また、端末 105、端末 106など外部装置力もマルチメディアデータの送信要 求を受け付けて、該マルチメディアデータを送信するものである。正常終了時には tr ueを返し、異常時には falseを返す。なお、常駐せずにひとつの要求をうければ終了 する構成であっても良い。詳細については後述する。
[0279] 図 31 (4)メソッド getMultimediaData Oは、 Javaアプリケーションもしくは他のサブ プログラム力もネットワーク 107に接続された装置とコンテンツの識別子と出カストリー ムを受け付け、該装置から、該識別子で特定されるマルチメディアデータを受信し、 該出カストリームへ書き込むものである。成功時には trueを返し、失敗時には falseを 返す。このメソッドにより、 Javaアプリケーションは、ネットワーク 107に接続された他の 機器がもつマルチメディアデータを受信して再生することができる。詳細については 後述する。
[0280] 図 31 (5)および(6)メソッド getContentList Oは、 Javaアプリケーションもしくは他 のサブプログラムから、ネットワーク 107に接続された映像蓄積装置を受け取り、その 映像蓄積装置が蓄積して 、るコンテンツ一覧を取得し、 Contentlnfoオブジェクトの 配列で返すもので、成功時にはこの配列力 失敗時には nullが返るものである。この メソッドは、引数としてひとつの NetDeviceオブジェクトをとる場合と、 NetDeviceォ ブジエタトの配列をとる場合がある。図 32は、本発明の実施の形態 2に係るネットヮー クライブラリ 2804dで使用される Contentlnf oクラスの構成の一例を示す図である。 図 32で、 devは該映像蓄積装置を示し、 contentldは該コンテンツの識別子を表し、 channelldは該コンテンツが放送されたチャンネルの識別子を表し、 titleは該コンテ ンッのタイトルを表し、 gunreは該コンテンツのジャンルを表し、 broadDaeは該コンテ ンッが放送された日時を表し、 recDateは該コンテンツが録画された日時を表す。こ れは後述の制御情報通信部 2902のメソッド getContentList ()を呼び出すことで行 われる。
[0281] 図 31 (7) getEPGData ()は、指定された機器から EPG情報を取得して Contentl nfoオブジェクトの配列を返すもので、引数 devで指定される装置が放送受信装置 10 2でないか、失敗した場合は nullを返すものである。本メソッドは、後述する制御情報 通信部 1602のメソッド getEPGData ()を呼び出すことで行われる。
[0282] 図 31 (8)メソッド updateAttribute ()は、引数 idで指定されたコンテンツ力 引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。本メソッドは、後述する属性管理部 2905のメ ソッド updateAttribute ()を呼び出すことで行われる。
[0283] 制御情報通信部 2902は、 OS2801のライブラリ 2801の NET2801b3を通じてネ ットワーク部 2708を制御し、指定されたネットワーク 107に接続されている外部機器 と、メッセージの送受信を行うものである。
[0284] 制御情報通信部 2902は、制御部 2901およびダウンロードし^ Javaアプリケーショ ンに Java APIを提供する。
[0285] 図 33は、制御情報通信部 2902が提供する Java APIの一例である。
[0286] 図 33 (1)メソッド collectNetDevice ()は、上記の本実施の形態における放送受信 装置 102のネットワークライブラリ 705eの情報通信部 1603のメソッド collectNetDe vice ()と同様のものである。
[0287] 図 33 (2)メソッドgetRequestMessage Oは、引数 sで与えられたソケットからメッセ ージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば null を返すものである。本メソッドは、外部機器力もの要求を受信するときに用いるもので ある。
[0288] 図 33 (3)メソッドsendResponseMessage Oは、引数 sで与えられたソケットに、引 数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗 すれば falseを返す。このメソッドは、外部機器からの要求に対する返答を送るときに 用いられる。
[0289] 図 33 (4)メソッドsendRequestMessage Oは、引数 sで与えられたソケットに、引数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗す れば falseを返す。このメソッドは、外部機器へ要求を送るときに用いられる。
[0290] 図 33 (5)メソッドgetResponseMessage Oは、引数 sで与えられたソケットからメッ セージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば nul 1を返すものである。本メソッドは、外部装置に送った要求に対する返答を該外部装置 力 受信するときに用いるものである。
[0291] 図 33 (6)および(7)メソッド getConentList Oは、引数 devで与えられた映像蓄積 装置、もしくは devicesで与えられた複数の映像蓄積装置に蓄積されて 、るコンテン ッの一覧を取得し、 Contentlnfoオブジェクトの配列を返すもので、成功時には該配 列が、失敗時には nullが返る。各映像記憶装置に蓄積されたコンテンツ一覧の取得 は、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0292] 図 33 (8)メソッド getEPGData Oは、引数 devで与えられた放送受信装置力も EP G情報を取得して、 Contentlnfoオブジェクトの配列を返すものであり、成功時には 該配列が、失敗時には nullが返る。放送受信装置力もの EPG情報の取得も、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0293] データ受信部 2903は、 OS2801のライブラリ 2801の NET2801b3を通じてネット ワーク部 2708を制御し、ネットワーク 107に接続された放送受信装置もしくは映像蓄 積装置から、ネットワーク 107を通じてマルチメディアデータを受信するものである。
[0294] データ受信部 2903は、制御部 2901およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0295] 図 34は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる データ受信部 2903が提供する Java APIの一例である。
[0296] 図 34 (1)メソッド openRemoteProgram Oは、引数 devで与えられた装置の、引数 portで指定されたポートから、マルチメディアデータを受信する通信路を確保し、 Re moteProgramオブジェクトで返すもので、成功時には該オブジェクトが、失敗時に は nullが返る。図 35は、 RemoteProgramクラスの構成の一例を示す図である。図 3 5で、 sは通信の用いるソケットを表す。メソッド getMedialnputStream Oは、該マル チメディアデータを読み出す InputStreamオブジェクトを返すものである。
[0297] 図 34 (2)メソッド0 6!11^1110 6?1:08 111 ()は、引数 devで与えられた装置に蓄積さ れた、引数 idで与えられた識別子を持つマルチメディアデータを受信する通信路を 確保し、 RemoteProgramオブジェクトで返すもので、成功時には該オブジェクトが、 失敗時には nullが返る。本メソッドは、まず、該装置と通信する Socketオブジェクトを 生成して接続する。続いて、与えられた識別子を含んだ送信要求メッセージを作成し 、制御情報通信部 2902のメソッド sendRequestMessage Oを呼び出すことで、該 機器に送信する。続いて、制御情報通信部 2902の getResponseMessage Oを呼 び出すことで、返答メッセージを受け取る。返答メッセージが OKであれば、それを解 析する。そして、特定のポート番号が指定されていれば、新しい Socketオブジェクト を作成し、その Socketオブジェクトを用いて RemoteProgramオブジェクトを生成し て返す。特定のポートが指定されていなければ、通信に用いた Socketオブジェクト から RemoteProgramオブジェクトを生成して返す。返答メッセージが NGであれば、 nullを返す。
[0298] データ送信部 2904は、 OS2801のライブラリ 2801の NET2801b3を通じてネット ワーク部 2708を制御し、指定されたネットワーク 107に接続されている外部機器に、 指定されたマルチメディアデータを出力するものである。
[0299] データ送信部 2904は、制御部 2901およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0300] 図 36は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる データ送信部 2903が提供する Java APIの一例を示す図である。
[0301] 図 36 (1)メソッド sendMultimediaData Oは、引数 devで与えられた装置の、引数 portで与えられたポートに、図 36 (2)メソッド sendMultimediaData Oは、引数 sで 与えられた Socketオブジェクトを用いて、引数 isで与えられた InputStreamォブジ ェタトからデータを読み込んで、その EOFまでデータを送信するもので、成功すれば trueを返し、失敗すれば falseを返すものである。
[0302] 属性管理部 2905は、映像蓄積装置の属性を管理するものである。映像蓄積装置 の属性は、第 2メモリ 2703に保存されており、属性管理部 2905は、 Javaライブラリ 2
406の中の IO2604fを用いてこれを読み書きする。
[0303] 属性管理部 2905は、制御部 2901およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0304] 図 37は、本発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる 属性管理部 2905が提供する Java APIの一例である。
[0305] 図 37 (1)メソッド updateAttribute ()は、引数 idで指定されたコンテンツが、引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。 typeの値が 0の場合は蓄積を示し、 1の場合 は再生もしくはネットワークへの送出を表す。本メソッドは、第 2メモリ 2703から属性情 報と蓄積されているコンテンツの情報を読み出し、該コンテンツのジャンルを調べ、ま た、第 2メモリ 2703のマルチメディアデータ用領域の空き容量を調べることにより、属 性情報を更新する。そして、更新した属性情報を第 2メモリ 2703に書き込む。
[0306] 図 37 (2)メソッド getAttribute ()は、第 2メモリ 2703から属性情報を読み出し、必 要なデータを DevAttribオブジェクトに格納して、該 DevAttribオブジェクトを返すも のであり、失敗時には nullを返す。
[0307] 権利処理部 2906は、放送受信装置 102に、引数 idで与えられた識別子のコンテ ンッの利用に関する権利処理を行うものである。
[0308] 権利処理部 2906は、制御部 2901およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0309] 図 38は、発明の実施の形態 2に係るネットワークライブラリの内部構成に含まれる権 利処理部 2906が提供する Java APIの一例である。
[0310] 図 38 (1)メソッド requestContentUse Oは、引数 idで与えられた識別子のコンテ ンッを、引数 devで与えられた装置へ、使用の許可を要求するもので、許可が得られ れば trueを、許可されない、もしくは処理に失敗した場合は falseを、それぞれ返す。 本メソッドは、要求メッセージを作成し、制御情報通信部 2902のメソッド sendReque stMessage Oを呼び出して送信する。また、制御情報通信部 2902のメソッド getRes poseMessage Oを呼び出して返答メッセージを受信する。そして、返答メッセージが OKを示して!/ヽれば trueを返し、 NGを示して!/、れば falseを返す。
[0311] ここで、制御部 2901の、メソッド acceptRequestToStore ()、メソッド acceptRequ estToTransfer O、メソッド getMultimediaData ()について説明する。
[0312] メソッド acceptRequestToStore ()は、呼び出されると、別のスレッドもしくはプロセ スを生成し、その上で動作する。まず、放送受信装置 102からの接続を受け付ける S ocketオブジェクトを生成し、接続要求を待ち受ける。放送受信装置 102から接続要 求がくれば、制御情報通信部 2902のメソッド getRequestMessage ()を呼び出して 、要求メッセージを受信する。受信した要求メッセージが属性の問い合わせであれば 、属性管理部 2905のメソッド getAttribute Oを呼び出して属性情報を読み出し、制 御情報通信部 2902のメソッド sendResponseMessage ()を呼び出すことで、属性 情報を返信し、接続要求の待ち受けに戻る。受信した要求メッセージがマルチメディ ァデータの蓄積要求であれば、まず、要求メッセージ力 マルチメディアデータの識 別子と番組情報を取り出だす。続いて、データ受信部 2903のメソッド openRemote Program ()を呼び出すことで、受信する InputStreamを作る。続いて、該識別子、 番組情報と該 InputStreamから受信するマルチメディアデータを、 Javaライブラリ 28 04の中の IO2804fを通じて、第 2メモリ 2703に書き込むことにより、該マルチメディ ァデータを蓄積する。さらに、属性管理部 2905のメソッド updateAttribute Oを呼 び出すことにより、属性情報を更新する。以上の処理を終了すれば、接続要求の待 ち受けに戻る。なお、接続要求を受け付けると、さらに、別スレッドもしくはプロセスを 生成して、以降の処理は該別スレッドもしくはプロセスで動作し、もとのスレッドもしく はプロセスは接続要求の待ち受けに戻る構成であっても良い。この場合、該別スレツ ドもしくはプロセス上の処理は、接続要求待ち受けに戻らず、終了する。
[0313] なお、メソッド acceptRequestToStore ()は、引数に NetDeviceオブジェクトをとり 、この引数によって放送受信装置 102が与えられる構成であっても良い。この場合、 上記の処理にカ卩え、待ち受けしている Socketオブジェクトに接続してきた装置力 引 数で与えられた装置でなければ、接続要求を受け入れな ヽことを行う。 メソッド acceptRequestToTransfer Oは、呼び出されると、別のスレッドもしくはプ 口セスを生成し、その上で動作する。まず、ネットワーク 107に接続された装置力もの 接続を受け付ける Socketオブジェクトを生成し、接続要求を待ち受ける。接続要求 力 れば、制御情報通信部 2902のメソッド getRequestMessage ()を呼び出して、 要求メッセージを受信する。受信した要求メッセージ力 放送受信装置 102からの、 あるマルチメディアデータを蓄積して!/、るか否かの問合せであれば、まず要求メッセ 一ジカもマルチメディアデータの識別子を取り出す。次に、 Javaライブラリ 2804の中 の IO2804fを通じて、蓄積しているコンテンツの一覧を読み出し、取り出した識別子 と照合することで、該マルチメディアデータを蓄積している力否かを判定する。続いて 、制御情報通信部 2902のメソッド sendResponseMessage ()を呼び出すことで判 定結果を返信し、接続要求の待ち受けに戻る。受信した要求メッセージが、放送受 信装置 102からの、あるマルチメディアデータの送信要求であれば、まず、要求メッ セージから送信先の端末と送信するマルチメディアデータの識別子を取り出す。続ヽ て、 IO2804fを通じて該マルチメディアデータを読み出す InputStreamを取得する 。そして、データ送信部 2904のメソッド sendMultimediaData Oを呼び出すことに より、該端末に該マルチメディアデータを送信する。データ送信が終われば、属性管 理部 2905のメソッド updateAttribute Oを呼び出して、属性情報の更新を行い、接 続要求の待ち受けに戻る。受信した要求メッセージ力 端末などからのマルチメディ ァデータ送信要求であれば、まず、要求メッセージカゝら送信するマルチメディアデー タの識別子を取り出す。続いて、 IO2804fを通じて該マルチメディアデータを読み出 す InputStreamを取得する。そして、データ送信部 2904のメソッド sendMultimedi aData Oを呼び出すことにより、該端末に該マルチメディアデータを送信する。デー タ送信が終われば、属性管理部 2905のメソッド updateAttribute ()を呼び出して、 属性情報の更新を行い、接続要求の待ち受けに戻る。なお、接続要求を受け付ける と、さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくは プロセスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成 であっても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち 受けに戻らず、終了する。 [0315] メソッド getMultimediaData ()は、呼び出されると、まず、引数 devで与えられた装 置に接続する Socketオブジェクトを生成し、該装置に接続する。続いて、引数 idで 与えられたマルチメディアデータの送信要求メッセージを、 idの値を含めて作成し、 制御情報通信部 2902のメソッド sendRequestMessage ()を呼び出すことで、該装 置に送信する。続いて、データ受信部 2903のメソッド openRemoteProgram Oを呼 び出すことにより、該マルチメディアデータを受信する InputStreamオブジェクトを生 成する。続いて、該 InputStreamからデータを読み出し、引数 osで与えられた Outp utStreamに書き出す。受信データを全て書き込めば処理を終了する。本メソッドに より、メソッド getContentList Oもしくは getEPGData Oによって取得したコンテンツ 一覧の中のコンテンツに対して、そのマルチメディアデータを受信して、再生や蓄積 が行える。
[0316] 端末 105および端末 106は、上記した映像蓄積装置 103および映像蓄積装置 10 4のうち、マルチメディアデータの再生に関する構成要素のみで構成されたものであ るため、詳細説明は省略する。
[0317] (実施の形態 2の変形例)
本発明を上記実施の形態 2に基づいて説明してきたが、本発明は、上記実施の形 態に限定されるものではない。以下のような場合も、本発明に含まれる。
[0318] (1)放送受信装置 102は、さらに、第 2メモリ 503にマルチメディアデータを蓄積し、 Javaライブラリ 705の中のネットワークライブラリ 705eの選択部 1604は、放送受信装 置 102と、ネットワーク 107に接続された映像蓄積装置のうちひとつを選択する構成 であっても良い。また、放送受信装置 102は、さらに、端末から VoDサービスの要求 を受けたときに、ネットワーク 107に接続された映像蓄積装置と、放送受信装置 102 の蓄積部に、該コンテンツのマルチメディアデータが蓄積されている力否かを検索し 、放送受信装置 102の蓄積部に蓄積されている場合は、該マルチメディアデータを 該 VoDサービスの要求を発行した端末に送信する構成であっても良い。
[0319] (2)また、放送受信装置 102は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 103および映像蓄積装置 104に、暗号ィ匕されたマルチメディアデータ を送信する構成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104 は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 302に蓄積する 構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であっても良い
[0320] また、放送受信装置 102、映像蓄積装置 103および映像蓄積装置 104は、端末 1 05および端末 106へマルチメディアデータを送信するときに、該マルチメディアデー タに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末 105お よび端末 106にお 、て、受信した暗号ィ匕されたマルチメディアデータを復号して再生 する構成であっても良い。
[0321] (3)また、上記実施の形態においては、放送受信装置 102の Javaライブラリ 705の 中のネットワークライブラリ 705eの選択部 1604の選択のアルゴリズムの例を記述した 力 これらのアルゴリズムに限らないことは言うまでもない。例えば、放送受信装置 10 2は、映像受信装置を順に選択する構成であっても良い。また、映像蓄積装置の利 用頻度によって選択しても良い。さらに、映像蓄積装置にユーザの操作によって蓄 積されたマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、 マルチメディアデータのジャンル、番組名、出演者などとを照らし合わせて、映像蓄 積装置の選択を行っても良い。さらに、映像蓄積装置にユーザの操作によって再生 もしくは出力されたマルチメディアデータのジャンル、番組名、出演者など個別の蓄 積頻度と、マルチメディアデータのジャンル、番組名、出演者などとを照らし合わせて 、映像蓄積装置の選択を行っても良い。さら〖こ、例えば、端末 105で利用される頻度 の高いマルチメディアデータならば映像蓄積装置 103を、端末 106で利用される頻 度の高 、マルチメディアデータならば映像蓄積装置 104を、それぞれ選択すると!/ヽ つたような、端末との組み合わせによる選択であっても良い。
[0322] (4)また、上記実施の形態においては、放送受信装置 102が、映像蓄積装置 103 および映像蓄積装置 104と通信することにより、 VoDサービス要求のあったコンテン ッのマルチメディアデータが蓄積されている力否かを判定する、としたが、放送受信 装置 102が、映像蓄積装置 103および映像蓄積装置 104に蓄積させたマルチメディ ァデータを記憶しておき、その内容より判定する構成であっても良 、。
[0323] (5)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102は、蓄積している映像蓄積装置に、該 VoD サービスを要求した端末への該マルチメディアデータの送信要求を発行し、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知する
、としたが、放送受信装置 102は、該映像蓄積装置と課金などの権利処理を行い、 該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメディ ァデータの送信要求を発行する構成であっても良 、。
[0324] (6)また、上記実施の形態においては、端末より要求のあった VoDサービス用のマ ルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれかに 蓄積されていた場合、放送受信装置 102と該映像蓄積装置が通信して、課金など該 マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受信装置 102と 、 VoDサービスを要求した端末とが通信して、上記権利処理を行う構成であっても良 い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 102が権 利処理を行う構成であっても良 、。
[0325] また、上記実施の形態にお!、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0326] (7)また、上記実施の形態においては、ひとつのマルチメディアデータは、ひとつの 映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映像 蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメデ ィァデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これにより 、複数の端末力 同じマルチメディアデータの要求が有った場合に、映像蓄積装置 が該端末に映像を送信する負荷を分散することが可能となる。
[0327] (8)また、放送受信装置 102は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 102は、送信するマルチメディアデータをー且 復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する構 成であっても良い。また、映像蓄積装置 103および映像蓄積装置 104は、さらに、マ ルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを作り 出す符号化部を備え、受信したマルチメディアデータを前記復号部でー且復号し、 前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても良 い。
[0328] (9)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI (La rge Scale Integration:大規模集積回路)から構成されているとしてもよい。シス テム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIであ り、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビュ ータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0329] (10)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0330] (11)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0331] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの 記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号である としてちよい。 [0332] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0333] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0334] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0335] (12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/ヽ。
[0336] (実施の形態 3)
図 39は、本発明の実施の形態 3におけるマルチメディア配信システムの構成図で ある。図 39に示すマルチメディア配信システム 3901は、放送受信装置 3902と、第 1 の映像蓄積装置 3903と、第 2の映像蓄積装置 3904と、第 1の端末 3905と、第 2の 端末 3906と、ネットワーク 3907と、受信器部 3908とによって構成される。
[0337] 放送受信装置 3902、映像蓄積装置 3903、映像蓄積装置 3904、端末 3905、お よび、端末 3906は、ネットワーク 3907に接続されており、ネットワーク 107を介して相 互に通信することが可能である。また、放送受信装置 3902は、受信部 3908と接続さ れており、受信部 3908が受信したデジタル放送の電波を受けて、復調し、マルチメ ディアデータを得る。なお、映像蓄積装置および端末は複数含まれていれば良いも のであり、説明を簡易にするためにそれぞれ 2個含まれるとして ヽる。
[0338] 本実施の形態における放送受信装置 3902は、受信部 3908によって受けた電波 から復調し、デジタル放送のマルチメディアデータを抽出する。また、放送受信装置 3902は、デジタル放送で提供される有料放送などを利用するもので、該有料放送の マルチメディアデータを利用するための課金など権利処理を行う通信を、電話回線 など、図示して!/、な 、他の通信路を利用して行う。 [0339] また、放送受信装置 3902は、ユーザの設定などにより、予め-ァ VoDで放送され る番組のマルチメディアデータを受信して蓄積する場合に、ネットワーク 3907を通じ て、映像蓄積装置 3903、映像蓄積装置 3904に属性の送信要求を送信し、映像蓄 積装置より該属性を受信する。さらに、放送局より受信したマルチメディアデータの属 性、および、映像蓄積装置より受信した映像蓄積装置の属性より、映像蓄積装置 39 03と映像蓄積装置 3904のいずれかを選択する。さらに、選択した映像蓄積装置 39 03もしくは映像蓄積装置 3904に、マルチメディアデータの蓄積要求を送信し、続い て、該マルチメディアデータを送信する。
[0340] なお、上記、放送受信装置 3902で予め行われる-ァ VoDで放送される番組の受 信は、放送局の要求で行われるものであっても良いし、または、特定の日時に行われ るものであっても良い。また、特定の時間ごとに行われるものであってもよい。また、ュ 一ザが設定した日時に行われるものであっても良い。また、ユーザが設定した特定時 間間隔ごとに行われるものであっても良 、。
[0341] また、放送受信装置 3902は、端末 3905もしくは端末 3906から、放送番組などコ ンテンッの視聴要求を受けた場合、映像蓄積装置 3903、映像蓄積装置 3904のい ずれか、もしくは両方と通信して、該コンテンツのマルチメディアデータが蓄積されて V、るかどうかを問 、合わせる。映像蓄積装置 3903および映像蓄積装置 3904の ヽ ずれにも蓄積されていない場合は、放送受信装置 3902は、チューナを用いて該番 組を受信し、必要であれば、課金など適切な権利処理を行った後、ネットワーク 390 7を介して、要求した端末 3905もしくは端末 3906へ、該マルチメディアデータを送 信する。また、チューナが利用中などで受信できない場合は、その旨を該端末に通 知する。映像蓄積装置 3903もしくは映像蓄積装置 3904のいずれかに蓄積されてい た場合は、該マルチメディアデータを蓄積している映像蓄積装置 3903もしくは映像 蓄積装置 3904に、該マルチメディアデータを、該要求を発行した端末へ送信するよ うに要求する。この際、必要であれば、該映像蓄積装置と通信して、該マルチメディ ァデータの利用に伴う課金などの権利処理を行い、放送局へ通知する。さらに、放送 受信装置 3902は、該要求を発行した端末に、該マルチメディアデータを蓄積してい る映像蓄積装置より該マルチメディアデータが送信されることを通知する。 [0342] 本実施の形態における映像蓄積装置 3903および映像蓄積装置 3904は、放送受 信装置 3902から属性の送信要求を受信すると、映像蓄積装置の内部に記憶してい る属性を放送受信装置 3902に送信する。映像蓄積装置の属性とは、予め-ァ VoD 番組を蓄積する蓄積部の空き容量、ユーザ操作により蓄積したマルチメディアデータ のジャンルごとの蓄積頻度、再生されたマルチメディアデータのジャンルごとの利用 頻度、などといった情報である。
[0343] また、映像蓄積装置 3903および映像蓄積装置 3904は、放送受信装置 3902から 、マルチメディアデータの蓄積要求を受信すると、該マルチメディアデータを、ネット ワーク 3907を介して、放送受信装置 3902より受信し、蓄積部に蓄積する。
[0344] また、映像蓄積装置 3903および映像蓄積装置 3904は、放送受信装置 3902から 、特定コンテンツのマルチメディアデータを蓄積して 、るか否かの問!、合わせを受信 すると、蓄積しているコンテンツデータを検索して、結果を返答する。
[0345] また、映像蓄積装置 3903および映像蓄積装置 3904は、放送受信装置 3902から 、特定コンテンツのマルチメディアデータを、ネットワーク 3907に接続された特定端 末へ送信する要求を受信すると、該マルチメディアデータを、ネットワーク 3907を介 して、該端末へ送信する。送信を開始する際に、必要であれば、放送受信装置 102 と通信し、課金など、該マルチメディアデータの利用に伴う権利処理を行う。
[0346] 本実施の形態における端末 3905および端末 3906は、ユーザの操作によって、放 送受信装置 3902へ番組視聴要求を発行し、ネットワーク 3907を介して、マルチメデ ィァデータを受信して、該マルチメディアデータの再生を行うものである。該マルチメ ディアデータが、映像蓄積装置 3903もしくは映像蓄積装置 3904のいずれかに蓄積 されている場合は、放送受信装置 3902から、該蓄積している映像蓄積装置が通知 され、該映像蓄積装置より送られてくるマルチメディアデータを、ネットワーク 3907を 介して受信する。
[0347] ネットワーク 3907は、家庭内に施設されたホームネットワークであり、イーサネット、 無線 LAN、あるいは、同軸ケーブルを媒体に使用する通信技術 c. LINKなどによつ て構成された IPネットワークである。
[0348] 本実施の形態における受信部 3908は、放送受信装置 3902に、デジタル放送の 電波を同軸ケーブルを通じて提供するもので、代表的には、デジタル放送を受信す るアンテナや、ケーブルテレビのヘッドエンドである。
[0349] 以上のように、本発明のマルチメディア配信システム 3901、放送受信装置 3902、 映像蓄積装置 3903、映像蓄積装置 3904によれば、ユア VoDで放送される番組の マルチメディアデータを、映像蓄積装置 3903および映像蓄積装置 3904に、あらか じめ、適切な条件で、多数のデータを、分散して蓄積させることが可能であり、端末 3 905および端末 3906から同時に異なる視聴要求が発行されても、映像蓄積装置 39 03および映像蓄積装置 3904に蓄積されたマルチメディアデータを利用することによ り、視聴時に必要なチューナ数を提言することができる。
[0350] 以下、本発明のマルチメディア配信システム 3901を構成する、放送受信装置 390 2、映像蓄積装置 3903および映像蓄積装置 3904について、更に詳細に説明する。
[0351] まず、図 40を参照しながら、放送受信装置 3902の詳細について説明する。
[0352] 図 40は、本発明の実施の形態 3における放送受信装置 3902の構成を示すブロッ ク図である。図 40に示す放送受信装置 3902は、制御部 4001と、放送局 3908から 送信されるマルチメディアデータを受信するデータ受信部 4002と、ネットワーク 390 7に接続された外部装置と通信する情報通信部 4003と、ネットワーク 3907に接続さ れた複数の映像蓄積装置のうちひとつを選択する選択部 4004と、ネットワーク 3907 に接続された外部装置にマルチメディアデータを送信するデータ出力部 4005と、有 料番組にぉ 、てマルチメディアデータの利用に伴う課金などの権利処理を行う権利 処理部 4006と、ネットワーク 3907と接続されるネットワークインタフェース 4007とを 備える。
[0353] 制御部 4001をより詳細に説明する。制御部 4001は、マイクロプロセッサ、 ROM、 RAMなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部 にはマイクロプロセッサにて動作する OS、 Java VM (Java Virtual Machine)プ ログラム、 Javaプログラムライブラリ、 Javaアプリケーションプログラムが保存されて!、る 。マイクロプロセッサは、起動時に OSを読み込んで実行する。引き続いて、 Javaァプ リケーシヨン起動時に、 Java VMを読み込んで実行し、必要に応じて Javaプログラム ライブラリを読み込みながら、 Javaアプリケーションを実行する。 [0354] 制御部 4001は、予め-ァ VoDで放送されるマルチメディアデータをデータ受信部 4002から受信させ、情報通信部 4003によって、ネットワーク 3907に接続された複 数の映像蓄積装置へ、属性の送信要求を送信する。続いて、情報通信部 4003によ つて、それぞれの映像蓄積装置カも該属性を受信する。さらに、制御部 4001は、受 信した映像蓄積装置の属性および該マルチメディアデータの属性を選択部に送り、 選択部に指示して映像蓄積装置のひとつを選択させる。さらに、制御部 4001は、選 択した映像蓄積装置へ、情報通信部 4003によって、該マルチメディアデータの蓄積 要求を送信する。さらに、制御部 4001は、情報通信部 4003によって、該映像蓄積 装置力も蓄積要求を受け付けた旨を受信すると、データ出力部 4005に指示すること により、該マルチメディアデータを、ネットワーク 3907を通じて、該映像蓄積装置へ送 信する。
[0355] さらに、制御部 4001は、情報通信部 4003より、ネットワーク 3907に接続された端 末より-ァ VoD番組視聴の要求を受信すると、情報通信部 4003より、ネットワーク 39 07に接続された映像蓄積装置に、該要求のマルチメディアデータを蓄積しているか 否かの問い合わせを送信する。続いて、制御部 4001は、情報通信部 4003より、各 映像蓄積装置より、この問い合わせに関する返答を受信する。ある映像蓄積装置に 該マルチメディアデータが蓄積されている場合は、該映像蓄積装置へ、該マルチメ ディアデータの視聴要求を発行した端末への送信要求を送信する。このとき、制御部 4001は、必要であれば、該映像蓄積装置と通信し、権利処理部 4006に指示して、 該マルチメディアデータの利用に伴う課金といった権利処理を行う。さらに、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されることを、情報通信部 4003によって通知する。
[0356] データ受信部 4002は、デジタル放送の電波を受信して、特定番組に関するマル チメディアデータを抽出するものである。データ受信部 4002は、代表的にはチュー ナであり、デジタル放送の電波を受信して復号し、マルチメディアデータを抽出する ものである。また、放送されるマルチメディアデータは、それが有料コンテンツならば スクランブルされていることもあるが、その場合には、データ受信部 4002によって復 号される。 [0357] デジタル放送で送られてくるマルチメディアデータは、 MPEG2に代表される符号 化されたデジタルデータであり、 MPEG2—TS形式によって送信される。 MPEG2- TSは、ひとつのストリーム内に複数のコンテンツを格納することができる力 データ受 信部 4002は、該ストリームから、ひとつのコンテンツのマルチメディアデータを選択 するものである。
[0358] 情報通信部 4003は、ネットワークインタフェース 4007に接続されており、制御部 4 001の指示により、ネットワーク 3907に接続された外部機器に制御情報を送信する 。また、情報通信部 4003は、ネットワークインタフェース 4007に届いた放送受信装 置 3902宛の情報を受信して、制御部 4001に引き渡す。情報通信部 4003は、代表 的には、 OSや Javaライブラリが提供するソケットインタフェースを利用したプログラム である。なお、このようなソフトウェアで構成されるものに限らず、ハードウェアで構成さ れるものであっても良い。
[0359] 選択部 4004は、制御部 4001からの指示により、マルチメディアデータの属性と、 映像蓄積装置の属性をもとに、ネットワーク 3907に接続された複数の映像蓄積装置 のうちひとつを選択するものである。選択部 4004は、代表的には、 Javaライブラリに 含まれるサブルーチンである。なお、このようなソフトウェアで構成されるものに限らず 、ハードウェアで構成されるものであっても良い。
[0360] 本実施の形態では、マルチメディアデータの属性として、映画、ドラマ、スポーツな ど、コンテンツのジャンルを用いる。また、映像蓄積装置の属性として、ユア VoD番組 キャッシュ用の蓄積部の空き容量を用いる。選択部 4004は、まず、マルチメディアデ ータのジャンルによって映像蓄積装置を選択し、該選択された映像蓄積装置の空き 容量が十分に無ければ、大きな空き容量を持つ映像蓄積装置を選択する。
[0361] データ出力部 4005は、ネットワークインタフェース 4007に接続されており、制御部 4001の指示を受けて動作し、マルチメディアデータを、制御部 4001が指示した宛 先へのパケットに変換して、ネットワークインタフェース 4007を通じて出力するもので ある。データ出力部 4005は、代表的には、 OSや Javaライブラリが提供するソケットィ ンタフェースを利用したプログラムである。なお、このようなソフトウェアで構成されるも のに限らず、ハードウェアで構成されるものであっても良い。 [0362] 権利処理部 4006は、サービスを提供する業者と通信することにより、マルチメディ ァデータの利用に伴う、課金などの権利処理を行うものである。例えば、ケーブルテ レビの場合、権利処理部 4006は、 CableCARDを備えており、この情報を、サービ スを提供する業者との通信において用いる。また、放送された送られたマルチメディ ァデータがスクランブルされている場合は、 CableCARDの情報を制御部 4001に引 き渡すことにより、データ受信部 4002での復号を行えるようにするものである。
[0363] ネットワークインタフェース 4007は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0364] 次に、図 40を参照しながら、本実施の形態における映像蓄積装置 3903および映 像蓄積装置 3904の詳細を説明する。
[0365] 図 41は、本発明の実施の形態 3における映像蓄積装置 3903および映像蓄積装 置 3904の構成を示すブロック図である。図 41に示す映像蓄積装置 3903および映 像蓄積装置 3904は、制御部 4101と、マルチメディアデータを蓄積する蓄積部 410 2と、ネットワーク 3907に接続された外部装置と制御情報を通信する制御情報通信 部 4103と、映像蓄積装置の属性を記憶する記憶部 4104と、放送受信装置 3902か ら送信されたマルチメディアデータを受信するデータ受信部 4105と、ネットワーク 39 07に接続された端末 3905もしくは端末 3906に蓄積部 4102に蓄積されたマルチメ ディアデータを送信するデータ送信部 4106と、データ受信部 4105が受信したマル チメディアデータを蓄積部 4102に書き込む書込部 4107と、蓄積部 4102からマル チメディアデータを読み出す読出部 4108と、放送受信装置 3902と通信してマルチ メディアデータの利用に伴う課金などの権利処理を行う権利処理部 4109と、ネットヮ ーク 3907と接続されるネットワークインタフェース 4110とを備える。
[0366] 制御部 4101をより詳細に説明する。制御部 4101は、マイクロプロセッサ、 ROM、 RAMなどによって構成されている。 ROM, RAMおよび図示していない情報記憶部 にはマイクロプロセッサにて動作する OS、 Java VMプログラム、 Javaプログラムライ ブラリ、 Javaアプリケーションプログラムが保存されている。マイクロプロセッサは、起 動時に OSを読み込んで実行する。引き続いて、 Javaアプリケーション起動時に、 Jav a VMを読み込んで実行し、必要に応じて Javaプログラムライブラリを読み込みなが ら、 Javaアプリケーションを実行する。
[0367] 制御部 4101は、制御情報通信部 4103によって、放送受信装置 3902から属性の 送信要求を受信すると、記憶部 4104に記憶している属性情報を、制御情報通信部 4103より、放送受信装置 3902へ送信する。また、制御情報通信部 4103によって、 放送受信装置 3902からマルチメディアデータの蓄積要求を受信すると、データ受信 部 4105に指示して、放送受信装置 3902から送信される該マルチメディアデータを、 ネットワーク 3907を介して受信し、書込部 4107に指示して、データ受信部 4105が 受信した該マルチメディアデータを、蓄積部 4102へ書き込ませることにより、該マル チメディアデータを蓄積部 4102へ蓄積させる。また、蓄積後に、制御部 4101は、書 込部 4107より蓄積部 4102の空き容量を受信し、記憶部 4104に記憶して 、る属性 情報を更新する。
[0368] また、制御部 4101は、制御情報通信部 4103によって、放送受信装置 3902から、 特定のマルチメディアデータを蓄積して 、るか否かの問 、合わせを受信したときに、 読出部 4108に指示して、蓄積部 4102に蓄積されたマルチメディアデータを調べる ことにより、該マルチメディアデータを蓄積している力否かを判定し、判定結果を制御 情報通信部 4103より、放送受信装置 3902へ送信する。
[0369] また、制御部 4101は、制御情報通信部 4103によって、放送受信装置 3902から、 蓄積している特定のマルチメディアデータの出力要求と出力先端末を受信したときに 、読出部 4108に指示して該マルチメディアデータを蓄積部 4102から読み出させ、さ らに、データ送信部 4106に指示して読出部 4108が読み出した該マルチメディアデ ータを、該出力先端末へ送信させる。また、このとき、必要であれば、権利処理部 41 09に指示して放送受信装置 3902と通信させて、該マルチメディアデータの利用に 伴う権利処理を行う。権利処理により、該マルチメディアデータの利用が許可されな V、場合は、該マルチメディアデータの該出力先端末への送信を行わな 、ように制御 する。
[0370] 蓄積部 4102は、ハードディスクドライブに代表される、大容量をもつデジタルデー タの蓄積装置と、そのドライバソフトウェア力も構成されるものである。 [0371] 制御情報通信部 4103は、ネットワークインタフェース 4110に接続されており、ネッ トワークインタフェース 4110に届いた該映像蓄積装置の宛の制御情報を受信して、 制御部 4101に引き渡す。また、制御部 4101の指示により、制御部 4101から渡され た制御情報を、指定された外部装置に、ネットワークインタフェース 4110を通じて送 信する。制御情報通信部 4103は、代表的には、 OSや Javaライブラリが提供するソケ ットインタフェースを利用したプログラムである。なお、このようなソフトウェアで構成さ れるものに限らず、ハードウェアで構成されるものであっても良い。
[0372] 記憶部 4104は、フラッシュメモリや HDDなどの記憶装置もしくはその一部によって 構成されるものであり、制御部 4101からの指示を受け、制御部 4101から受け取った データを記憶するものである。
[0373] データ受信部 4105は、ネットワークインタフェース 4110に接続されており、制御部 4101の指示を受けて動作するもので、放送受信装置 3902から送信されたマルチメ ディアデータを、ネットワークインタフェース 4110を介して受信するものである。デー タ受信部 4105は、代表的には、 OSや Javaライブラリが提供するソケットインタフエ一 スを利用したプログラムである。なお、このようなソフトウェアで構成されるものに限ら ず、ハードウェアで構成されるものであっても良い。
[0374] データ送信部 4106は、ネットワークインタフェース 4110に接続されており、制御部 4101の指示を受けて動作するもので、読出部 4108が読み出したマルチメディアデ ータを、制御部 4101が指定したネットワーク 3907に接続された外部装置へのバケツ トに変換して、ネットワークインタフェース 4110を通じて出力するものである。データ 送信部 4106は、代表的には、 OSや Javaライブラリが提供するソケットインタフェース を利用したプログラムである。なお、このようなソフトウェアで構成されるものに限らず、 ハードウェアで構成されるものであっても良い。
[0375] 書込部 4107は、制御部 4101からの指示を受けて動作し、蓄積部 4102にデータ を書き込むものである。書込部 4107は、代表的には、 OSや Javaライブラリが提供す るファイルアクセスインタフェースを利用したソフトウェアサブルーチンである。なお、こ のようなソフトウェアで構成されるものに限らず、ハードウェアで構成されるものであつ ても良い。 [0376] 読出部 4108は、制御部 4101からの指示を受けて動作し、蓄積部 4102に蓄積さ れたマルチメディアデータを読み出すものである。読出部 4108は、代表的には、 OS や Javaライブラリが提供するファイルアクセスインタフェースを利用したソフトウェアサ ブルーチンである。なお、このようなソフトウェアで構成されるものに限らず、ハードウ エアで構成されるものであっても良い。
[0377] 権利処理部 4109は、ネットワークインタフェース 4110と接続されており、制御部 41 01の指示を受けて動作するもので、マルチメディアデータの利用に伴う課金などの 権利処理を、放送受信装置 3902と通信することによって行うものである。権利処理 部 4109は、放送受信装置 3902へ、利用するマルチメディアデータを特定する識別 子を送信し、放送受信装置 3902からの返答を受け取り、制御部 4101へ引き渡す。 該返答とは、該マルチメディアデータ利用の許可もしくは拒絶である。
[0378] ネットワークインタフェース 4110は、 Etherケーブルや無線 LANなどネットワークの 物理メディアに応じたインタフェースを提供するハードウェアとそのドライバソフトゥェ ァカゝら構成されるものである。
[0379] (実施の形態 3の変形例)
以上、本発明の実施の形態 3について説明してきたが、本発明は、上記実施の形 態に限定されるものではない。以下のような場合も、本発明に含まれる。
[0380] (1)放送受信装置 3902は、さらに、マルチメディアデータを蓄積する蓄積部と、蓄 積部にマルチメディアデータを書き込む書込部とを備え、選択部 4004は、放送受信 装置 3902の蓄積部と、ネットワーク 3907に接続された映像蓄積装置のうちひとつを 選択する構成であっても良い。また、放送受信装置 3902は、さらに、端末から-ァ V oD番組視聴の要求を受けたときに、ネットワーク 3907に接続された映像蓄積装置と 、放送受信装置 3902の蓄積部に、該コンテンツのマルチメディアデータが蓄積され ている力否かを検索し、放送受信装置 3902の蓄積部に蓄積されている場合は、該 マルチメディアデータを該視聴要求を発行した端末に送信する構成であっても良 ヽ
[0381] 図 42は、このような、本発明の実施の形態 3の変形例における放送受信装置 3902 の構成を示すブロック図である。図 42に示す放送受信装置 3902は、書込部 4201と 、蓄積部 4202と、蓄積部 4202に蓄積されたマルチメディアデータを読み出す読出 部 4203と、制御部 4001と、データ受信部 4002と、情報通信部 4003と、選択部 40 04と、データ出力部 4005と、権禾 IJ処理部 4006と、 ッ卜フークインターフェース 400 7とを備える。
[0382] 制御部 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の選択を行うもの である。
[0383] 書込部 4201は、上記実施の形態 3における映像蓄積装置 3903および映像蓄積 装置 3904の書込部 4107と同様のものである。また、蓄積部 4202は、上記実施の 形態における映像蓄積装置 3903および映像蓄積装置 3904の蓄積部 4102と同様 のものである。また、読出部 4203は、上記実施の形態 3における映像蓄積装置 390 3および映像蓄積装置 3904の読出部 4108と同様のものである。
[0384] (2)また、放送受信装置 3902は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 3903および映像蓄積装置 3904に、暗号化されたマルチメディアデ ータを送信する構成であっても良い。また、映像蓄積装置 3903および映像蓄積装 置 3904は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 4102 に蓄積する構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であ つても良い。
[0385] また、放送受信装置 3902、映像蓄積装置 3903および映像蓄積装置 3904は、端 末 3905および端末 3906へマルチメディアデータを送信するときに、該マルチメディ ァデータに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末
3905および端末 3906にお 、て、受信した暗号ィ匕されたマルチメディアデータを復 号して再生する構成であっても良い。
[0386] (3)また、上記実施の形態 3においては、放送受信装置 3902の選択部 4004は、 マルチメディアデータのジャンルと、映像蓄積装置の空き容量をもとに、映像蓄積装 置の選択を行うこととした力 これらの条件に限らないことは言うまでもない。例えば、 放送受信装置 3902は、映像受信装置を順に選択する構成であっても良い。また、 ユーザによって設定された映像蓄積装置の優先度にしたがって選択する構成であつ ても良い。また、マルチメディアデータのジャンルだけで選択しても良い。また、映像 蓄積装置の空き容量だけで選択しても良い。さらに、映像蓄積装置の利用頻度によ つて選択しても良い。さらに、映像蓄積装置にユーザの操作によって蓄積されたマル チメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、マルチメディア データのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装置の選択を 行っても良い。さらに、映像蓄積装置にユーザの操作によって再生もしくは出力され たマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻度と、マルチ メディアデータのジャンル、番組名、出演者などとを照らし合わせて、映像蓄積装置 の選択を行っても良い。さらに、例えば、端末 3905で利用される頻度の高いマルチ メディアデータならば映像蓄積装置 3903を、端末 3906で利用される頻度の高いマ ルチメディアデータならば映像蓄積装置 3904を、それぞれ選択すると!/、つたような、 端末との組み合わせによる選択であっても良い。さらに、ユーザによって設定された 端末の優先度から、組み合わされた映像蓄積装置を選択する構成であっても良い。
[0387] (4)また、上記実施の形態 3においては、放送受信装置 3902が、映像蓄積装置 3 903および映像蓄積装置 3904と通信することにより、ユア VoD番組視聴要求のあつ たコンテンツのマルチメディアデータが蓄積されて 、る力否かを判定する、としたが、 放送受信装置 3902が、映像蓄積装置 3903および映像蓄積装置 3904に蓄積させ たマルチメディアデータを記憶しておき、その内容より判定する構成であっても良い。
[0388] (5)また、上記実施の形態 3においては、ユア VoDと書いた力 通常放送の番組に ついても、あらかじめ蓄積しておくことで、再放送に対して同じ効果が得られる。 [0389] (6)また、上記実施の形態 3にお 、ては、端末より視聴要求のあった-ァ VoD番組 のマルチメディアデータが、映像蓄積装置 103もしくは映像蓄積装置 104のいずれ 力に蓄積されていた場合、放送受信装置 102は、蓄積している映像蓄積装置に、該 視聴要求を発行した端末への該マルチメディアデータの送信要求を発行し、該端末 へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知する
、としたが、放送受信装置 3902は、該映像蓄積装置と課金などの権利処理を行い、 該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメディ ァデータの送信要求を発行する構成であっても良 、。
[0390] (7)また、上記実施の形態 3にお 、ては、端末より視聴要求のあった-ァ VoD番組 用のマルチメディアデータ力 映像蓄積装置 3903もしくは映像蓄積装置 3904のい ずれかに蓄積されて 、た場合、放送受信装置 3902と該映像蓄積装置が通信して、 課金など該マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受 信装置 3902と、視聴要求を発行した端末とが通信して、上記権利処理を行う構成で あっても良い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 3902が権利処理を行う構成であっても良い。
[0391] また、上記実施の形態 3にお 、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0392] (8)また、上記実施の形態 3においては、ひとつのマルチメディアデータは、ひとつ の映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映 像蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメ ディアデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これに より、複数の端末から同じマルチメディアデータの要求が有った場合に、映像蓄積装 置が該端末に映像を送信する負荷を分散することが可能となる。
[0393] (9)また、放送受信装置 3902は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 3902は、送信するマルチメディアデータを一 且復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する 構成であっても良い。また、映像蓄積装置 3903および映像蓄積装置 3904は、さら に、マルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを 作り出す符号化部を備え、受信したマルチメディアデータを前記復号部で一且復号 し、前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても 良い。
[0394] (10)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0395] (11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0396] (12)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0397] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの 記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号である としてちよい。
[0398] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0399] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0400] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0401] (13) 上記実施の形態 3及びその変形例をそれぞれ組み合わせるとしてもよい。
[0402] (実施の形態 4)
実施の形態 4におけるマルチメディア配信システムの構成は、図 39に示した、上記 実施の形態 3における構成図と同様であるため、説明を省略する。ただし、本実施の 形態においては、放送受信装置 3902はケーブルテレビの受信装置であり、受信部 3908は、ヘッドエンドもしくはケーブル放送局とする。
[0403] 図 43は、本発明の実施の形態 4における放送受信装置 3902を構成する構成要素 の関係を示したブロック図である。本図に示す放送受信装置 3902は、入力部 4301 と、第 1メモリ 4302と、第 2メモリ 4303と、受信部 4304と、多重分離部 4305と、デス クランブラ 4306と、 TSデ =3—ダ 4307と、映像出力咅4308と、音声出力咅4309と、 TSマルチプレクサ 4310と、ネットワーク部 4311と、 CPU4312とで構成される。
[0404] 入力部 4301は、フロントパネルやリモコン受光器等で構成され、ユーザからのチヤ ンネル選択等の指示を受け付ける。図 44は、本発明の実施の形態 4おけるフロント パネルで入力部 4301を構成した場合の一例を示す図である。フロントパネル 4400 は、上カーソルボタン 4401、下カーソルボタン 4402、左カーソルボタン 4403、右力 一ソルボタン 4404、 OKボタン 4405、取消ボタン 4406、 EPGボタン 4407、シァタ 一ボタン 4408の 8つのボタンを備えている。ユーザがボタンを押下すると、押下され たボタンの識別子力 CPU4312に通知される。
[0405] 第 1メモリ 4302は、 RAM等で構成され、 CPU4312が一時的にデータを保存する 際に使用される。
[0406] 第 2メモリ 4303は、フラッシュメモリ、ハードディスク等で電源が停止しても情報を保 持可能なデバイスで構成され、 CPU4312が実行するプログラムを保存する。第 2メ モリ 4303は、 SDメモリーカード等の取り外し可能な記憶デバイスを用いて 、てもよ ヽ
[0407] 受信部 4304は、ケーブルテレビ局 3908からのケーブルに接続され放送波を受信 し、 CPU4312から指定された周波数にチューニングし、 MPEGトラスポートストリー ムを抽出して、多重分離部 4305に引き渡す。
[0408] 多重分離部 4305は、受信部 4304力 MPEGトラスポートストリームを受け取り、 C PU4312から指定された情報を抽出し CPU4312に引き渡す。また MPEGトラスポ 一トストリームをそのままデスクランブラ 4306に弓 Iき渡す。
[0409] デスクランブラ 4306は、多重分離部 4305から与えられたスクランブルされている M PEGトラスポートストリームをデスクランブル(=復号)し、 TSデコーダ 4307に引き渡 す。デスクランブラ 4306は、放送受信装置 3902に内蔵されたモジュールでも良いし 、北米ケーブル受信機で導入されて!、る CableCARD (TM)でも実施可能である。 CableCARDの仕様は米国 CableLabsが策定した CableCARD Interface Spe cificationに記載されており、ここでは説明を省略する。
[0410] TSデコーダ 4307は、 CPU4312力ら音声データ、映像データ、 PSI/SI情報など のセクションデータの識別子を受け取る。さらに、デスクランブラ 4306から受け取った デスクランブルされたストリームから、受け取った音声データ、映像データ、 PSI/SI 情報などのセクションデータの識別子に対応するデータを抽出する、抽出した映像 データを映像出力部 4308に、音声データを音声出力部 4309に引き渡す。また、そ の両方と、セクションデータを、 TSマルチプレクサ 4310に引き渡す。
[0411] 映像出力部 4308は映像出力端子を含み、受け取った映像データを端子に対応し た映像データに変換して出力する。端子の例としては、コンポジットケーブル端子な どがある。
[0412] 音声出力部 4309は音声出力端子を含み、受け取った音声データを端子に対応し た音声データに変換して出力する。端子の例としては、イヤホン端子や、コンポジット ケーブル端子などがある。
[0413] TSマルチプレクサ 4310は、受け取った映像データ、音声データ、セクションデータ 力ら MPEG2トランスポートストリームを構成し、該 MPEG2トランスポートストリームを ネットワーク部 4311に引き渡す。 PSIZSI情報は必要に応じて書き換えられる。
[0414] ネットワーク部 4311は、ネットワークインタフェースを含み、 CPU4312から受け取 つたデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに 応じた信号に変換して出力する。また、ネットワークインタフェース力も信号を受信し、 IPネットワークで規定されたパケットに変換して、 CPU4312へ引き渡す。
[0415] CPU4312は、第 2メモリ 4303が記憶するプログラムを実行することで、受信部 430 4、多重分離部 4305、デスクランブラ 4306、 TSデコーダ 4307、 TSマルチプレクサ 4310、および、ネットワーク部 4311を制御する。
[0416] 図 45は、本発明の実施の形態 4における放送受信装置が保持し、実行するプログ ラム構成を示す図である。本図は、第 2メモリ 4303に記憶され、 CPU512に実行され るプログラムの構成の一例を示す。
[0417] プログラム 4500は、複数のサブプログラムで構成され、具体的には OS4501、 EP G4502、 JavaVM4503、サービスマネージャ 4504、 Javaライブラリ 4505で構成さ れる。
[0418] OS4501は、放送受信装置 3902の電源が投入されると、 CPU4312が起動する サブプログラムである。 OS4501は、オペレーティングシステムの略であり、 Linux等 がー例である。 OS4501は、他のサブプログラムを平行して実行するカーネル 4501 a及びライブラリ 4501bで構成される公知の技術の総称であり、詳細な説明は省略す る。本実施の形態においては、 OS4501のカーネル 4501aは、 EPG4502iJavaV M4503をサブプログラムとして実行する。また、ライブラリ 450 lbは、これらサブプロ グラムに対して、放送受信装置 3902が保持する構成要素を制御するための複数の 機能を提供する。 [0419] 本実施の形態では、ライブラリ 4501bは機能の一例として、チューナ 4501bl、限 定解除 4501b2、 AV再生 4502b3、および、 NET4501b4を含む。
[0420] チューナ 4501blは、他のサブプログラムや Javaライブラリ 4505の Tuner4505cか ら周波数を含むチューニング情報を受け取り、受信部 4304に引き渡す。受信部 430 4は与えられたチューニング情報に基づき復調処理を行 、、復調したデータを多重 分離部 4305に引き渡すことができる。この結果、他のサブプログラム及び Javaライブ ラリ 4305の Tuner4305cはライブラリ 4501bを通して受信部 4304を制御することが できる。
[0421] 限定解除 4502b2は、他のサブプログラムや Javaライブラリ 4505の CA4505dから 情報を受け取り、デスクランブラ 4306に引き渡す。
[0422] AV再生 4502b3は、他のサブプログラムや Javaライブラリ 4505の JMF4505aから 、音声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映 像のパケット IDを、 TSデコーダ 4507に与える。この結果、 TSデコーダ 4507は与え られたパケット IDに基づいて、フィルタリングを行い、映像 '音声の再生を実現する。
[0423] NET4501b4は、他のサブプログラムや Javaライブラリ 4505のネットワークライブラ リ 4505eから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より 下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例え ば TCPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 4311に 引き渡すことで、ネットワーク 3907を介して他の機器にメッセージおよびデータを送 信する。また、ネットワーク 3907を介して他の機器からメッセージを受信したときに、 他のサブプログラムや Javaライブラリ 4505のネットワークライブラリ 4505eに、アプリ ケーシヨン層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロト コルとは、例えば、 HTTPや RTPなどである。
[0424] EPG4502は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番 組表示部 4502aと、チャンネル選局を行う再生部 4502bで構成される。ここで、 EPG は Electric Program Guideの略である。 EPG4502は、放送受信装置 3902の電 源が投入されると、カーネル 4501aによって起動される。起動された EPG4502の内 部では、番組表示部 4502aと再生部 4502bが同時に起動される。番組表示部 4502 aは起動されると、放送受信装置 3902の入力部 4301を通して、ユーザからの入力を 待つ。ここで、入力部 4301が図 44で示されるフロントパネルで構成されている場合、 ユーザが、入力部 4301の EPGボタン 4407を押下すると、 EPGボタンの識別子が C PU4312に通知される。 CPU4312上で動作するサブプログラムである EPG4502 の番組表示部 4502aは、この識別子を受け取り、番組情報表示データを作成し、図 示していないモニタ出力部によりモニタに出力する。モニタは、放送受信装置 3902 が備えるものであっても良いし、放送受信装置 3902とコンポジットケーブルや HDMI ケーブルなどで接続されたテレビであっても良い。モニタ 4610は、受信した番組情 報表示データを表示する。
[0425] 図 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〜: L 1 : 00に番組「映画 BBB」が放映され、 11 : 00〜12 : 00は「ニュ ース 11」が放映される。 4630は、カーソルである。カーソル 4630は、フロントパネル 4400の左カーソル 4403と右カーソル 4404を押下すると移動する。図 46 (a)の状態 で、右カーソノレ 4404を押下すると、カーソノレ 4630は右に移動し、図 46 (b)のように なる。また、図 46 (b)の状態で、左カーソル 4403を押下すると、カーソル 4630は左 に移動し、図 46 (a)のようになる。
[0426] 図 46 (a)の状態で、フロントパネル 4400の OKボタン 4405が押下されると、番組表 示部 4502aは、「チャンネル 1」の識別子を再生部 4502bに通知する。図 46 (b)の状 態で、フロントパネル 4400の OKボタン 4405が押下されると、番組表示部 4502aは 、「チャンネル 2」の識別子を再生部 4502bに通知する。
[0427] また、番組表示部 4502aは、表示する番組情報を、多重分離部 4305を通して定 期的に、第 2メモリ 4303に記憶しておく。一般的に、放送局からの番組情報の取得 は時間が掛かる。入力部 4301の EPGボタン 4407が押下された時、第 2メモリ 4303 に予め保存された番組情報を表示することで、素早く番組表を表示することができる
[0428] 図 47は、本発明の実施の形態 4に係る第 2メモリ 4303に格納されている番組情報 の一例を示す図である。番組情報は表形式で格納されている。列 4701は、チャンネ ルの識別子である。列 4702は、番組名である。列 4703は番組の放送開始時間、列 4704は放送終了時間である。列 4705は、番組の音声種別を表しており、モノラル 音声、ステレオ音声、 5. 1チャンネル音声をそれぞれ「モノラル」、「ステレオ」、「5. 1 」と表記している。列 4706は、番組の種別を表している。通常番組は空欄であり、「映 画」は映画、「スポ」はスポーツ番組を表す。行 4711〜4714の各行は、それぞれひ とつの番組情報を表す。この例では、ひとつの番組情報は、チャンネルの識別子、番 組名、放送開始時間、放送終了時間、番組の音声種別の組となる。例えば、行 471 1はチャンネル識別子が「1」、番組名が「ニュース 9」、放送開始時間が「9 : 00」、放 送終了時間が「10: 30」、音声種別が「モノラル」、番組の種別は「通常」を含む組と なっている。
[0429] 再生部 4502bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生す る。すなわちチャンネルを構成する映像と音声を再生する。チャンネルの識別子とチ ヤンネルの関係は、チャンネル情報として、第 2メモリ 4303に予め格納されている。
[0430] 図 48は、本発明の実施の形態 4に係る第 2メモリ 4303に格納されているチャンネ ル情報の一例を示す図である。チャンネル情報は表形式で格納されている。列 480 1は、チャンネルの識別子である。列 4802は、チャンネル名である。列 4803はチュ 一ユング情報である。ここで、チューニング情報は周波数や転送レート、符号化率な どを含み、受信部 4304に与える値である。列 4804はプログラムナンバーである。プ ログラムナンバーとは、 MPEG2規格で規定されて!、る PMTを識別するための番号 である。 PMTに関しては、後述する。行 4811〜4814の各行は、各チャンネルの識 別子、チャンネル名、チューニング情報の組となる。行 4811は識別子が「1」、チャン ネル名力 ^チャンネル 1」、チューニング情報に周波数「150MHz」、プログラムナンパ 一が「101」を含む組となっている。再生部 4502bは、チャンネルの再生を行うため、 受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
[0431] また、再生部 4502bは、再生中に、ユーザがフロントパネル 4400の上カーソル 44 01と下カーソノレ 4402を押下すると、人力部 4501力ら CPU4512を通して、押下さ れた通知を受け取り、再生しているチャンネルを変更する。上カーソル 4401を押下 すると、現在再生中のチャンネルよりもひとつ小さいチャンネル識別子を持つチャン ネルを再生し、また下カーソル 4402を押下すると、現在再生中のチャンネルよりもひ とつ大きいチャンネル識別子を持つチャンネルを再生する。まず、再生部 4502bは、 第 2メモリ 4303に現在再生中のチャンネルの識別子を記憶する。図 49 (a) (b)及び( c)は、それぞれ、本発明の実施の形態 4に係る第 2メモリ 4303に格納されているチヤ ンネルの識別子を示す情報の例を示す図である。
[0432] 図 49 (a)では識別子「3」が記憶されており、図 48を参照し、チャンネル名「TV 3」 のチャンネルが再生中であることを示す。図 49 (a)の状態で、ユーザが上カーソル 4 401を押下すると再生部 4502bは、図 48のチャンネル情報を参照し、表中で現在再 生中のチャンネルよりもひとつ小さ 、識別子を持つチャンネルであるチャンネル名「 チャンネル 2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネ ル名「チャンネル 2」の識別子「2」を引き渡す。同時に、第 2メモリ 4303に記憶されて V、るチャンネル識別子「2」に書き換える。
[0433] 図 49 (b)は、チャンネル識別子が書き換えられた状態を表す。また、図 49 (a)の状 態で、ユーザが下カーソル 4402を押下すると再生部 4502bは、図 48のチャンネル 情報を参照し、表中で現在再生中のチャンネルよりもひとつ大きい識別子を持つチヤ ンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サー ビスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、第 2 メモリ 4303に記憶されて 、るチャンネル識別子「4」に書き換える。
[0434] 図 49 (c)は、チャンネル識別子が書き換えられた状態を表す。チャンネル識別子は 、第 2メモリ 4303に記憶されているので、放送受信装置 3902の電源が切られた際も 保存されている。
[0435] さらに再生部 4502bは、放送受信装置 3902の電源が投入された際に、起動され ると、第 2メモリ 4303に記憶されているチャンネル識別子を読み出す。そして、そのチ ヤンネル識別子をサービスマネージャに引渡す。これにより、放送受信装置 3902は 、電源投入時に前回の稼動時に再生されて 、た最後のチャンネルの再生を開始す ることがでさる。
[0436] JavaVM4503は、 Java (TM)言語で記述されたプログラムを逐次解析し実行する J avaバーチャルマシンである。 Java言語で記述されたプログラムはバイトコードと呼ば れる、ハードウェアに依存しない中間コードにコンパイルされる。 Javaバーチャルマシ ンは、このバイトコードを実行するインタープリタである。また、一部の Javaバーチャル マシンは、バイトコードを CPU4312が理解可能な実行形式に翻訳してから、 CPU4 312に引渡し、実行することも行う。 JavaVM4503は、カーネル 4501aに実行する Ja vaプログラムを指定され起動される。本実施の形態では、カーネル 4501aは、実行 する Javaプログラムとしてサービスマネージャ 4504を指定する。 Java言語の詳細は、 書籍「Java Language Specification (ISBN 0— 201— 63451— 1)」等の多く の書籍で解説されている。ここでは、その詳細を省略する。また、 JavaVM自体の詳 細な動作などは、「Java Virtual Machine Specification (ISBN 0— 201— 63 451— X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0437] サービスマネージャ 4504は、 Java言語で書かれ^ Javaプログラムであり、 JavaVM 4503によって逐次実行される。サービスマネージャ 4504は、 JNI (Java Native In terface)を通して、 Java言語で記述されて!、な!/、他のサブプログラムを呼び出したり 、または、呼び出されたりすることが可能である。 JNI〖こ関しても、書籍「Java Native Interface]等の多くの書籍で解説されている。ここでは、その詳細を省略する。
[0438] サービスマネージャ 4504は、 JNIを通して、再生部 4502bよりチャンネルの識別子 を受け取る。
[0439] サービスマネージャ 4504は、最初に Javaライブラリ 4505の中にある Tuner4505c に、チャンネルの識別子を引き渡し、チューニングを依頼する。 Tuner4505cは、第 2メモリ 4303が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今 、サービスマネージャ 4504がチャンネルの識別子「2」を Tuner4505cに引き渡すと 、 Tuner4505cは、図 48の行 4812を参照して、対応するチューニング情報「156M Hz,」を獲得する。 Tuner4505cは、 OS4501のライブラリ 4501bのチューナ 4501 blを通して、受信部 4504にチューニング情報を引き渡す。受信部 4504は与えられ たチューニング情報に従って放送局力 送信されてきた信号を復調し、多重分離部 4505に引き渡す。
[0440] 次にサービスマネージャ 4504は、 Javaライブラリ 4505の中にある CA4505dにデ スクランプノレを依頼する。 CA4505diま、 OS4501のライブラリ 4501bの限定解除 45 01b2を通して復号に必要な情報をデスクランブラ 4306に与える。デスクランブラ 43 06は、与えられた情報を元に、受信部 4304から与えられた信号を復号し TSデコー ダ 4307に引き渡す。
[0441] 以下、映像出力部 4308および音声出力部 4309から出力することにより、映像-音 声の再生を行う場合と、ネットワーク部 4311からマルチメディアデータを出力する場 合の処理が異なるため、それぞれについて説明する。
[0442] まず、映像'音声の再生を行う場合について、説明する。
[0443] サービスマネージャ 4504は、 Javaライブラリ 4505の中〖こある JMF4505a〖こチャン ネルの識別子を与え、映像 ·音声の再生を依頼する。
[0444] まず、最初に JMF4505aは、再生すべき映像と音声を特定するためのパケット IDを PAT、 PMTから取得する。 PATや PMTは MPEG2規格で規定されている、 MPE G2トランスポートストリーム内の番糸且構成を表現するテーブルであり、 MPEG2トラン スポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共 に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明す る。 PATは、 Program Association Tableの略で、パケット ID「0」のパケットに格 納され送信されている。 JMF4505aは、 PATを取得するため、 OS4501のライブラリ 4501bを通して、多重分離部 705にパケット ID「0」を指定する。多重分離部 705が パケット ID「0」でフィルタリングを行い、 CPU4312に引き渡すことで JMF4505aは、 PATのパケットを収集する。
[0445] 図 50は、本発明の実施の形態 4に係る収集した PATの情報の一例を模式的に示 す図である。列 5001は、プログラムナンバーである。列 5002は、パケット IDである。 列 5002のパケット IDは PMTを取得するために用いられる。行 5011〜5013は、チ ヤンネルのプログラムナンバーと対応するパケット IDの組である。ここでは、三つのチ ヤンネルが定義されている。行 5011はプログラムナンバー「101」とパケット ID「501」 の組が定義されて 、る。今、 JMF4505aに与えられたチャンネルの識別子が「2」とす ると、 JMF4505aは、図 50の行 5012を参照して、対応するプログラムナンバー「102 」を獲得し、次に、図 50の PATの行 5012を参照し、プログラムナンバー「102」に対 応するパケット ID「502」を獲得する。 PMTは、 Program Map Tableの略で、 PA Tで規定されたパケット IDのパケットに格納され送信されている。 JMF4505aは、 PM Tを取得するため、 OS4501のライブラリ 4501bを通して、多重分離部 4305にパケ ッ HDを指定する。ここで、指定するパケット IDは「502」とする。多重分離集部 4305 がパケット ID「502」でフィルタリングを行い、 CPU4312に引き渡すことで JMF4505 aは、 PMTのパケットを収集する。
[0446] 図 51は、本発明の実施の形態 4に係る収集した PMTの情報の一例を模式的に示 す図である。列 5101は、ストリーム種別であり。列 5102は、パケット IDである。列 51 02で指定されるパケット IDのパケットには、ストリーム種別で指定された情報がペイ口 ードに格納され送信されている。列 5103は補足情報である。行 5111〜5114はエレ メンタリ一ストリームと呼ばれる、パケット IDと送信している情報の種別の組である。行 5111は、ストリーム種別「音声」とパケット ID「5011」の組であり、パケット ID「5011」 のペイロードには音声が格納されて ヽることを表す。 JMF4505aは、 PMTから再生 する映像と音声のパケット IDを獲得する。図 51を参照して、 JMF4505aは、行 5111 力ら音声のパケット ID「5011」を、行 5112から映像のパケット ID「5012」を獲得する
[0447] 次に、 JMF4505aiま、 OS4501のライブラリ 4501bの AV再生 4501b3に獲得した 音声のパケット IDと映像のパケット IDを引き渡す。これを受けて、 AV再生 4501b3は 、受け取った音声のパケット IDと映像のパケット IDを、 TSデコーダ 4307に与える。 T Sデコーダ 4307は与えられたパケット IDでフィルタリングを行う。ここではパケット ID「 5011」のパケットを音声出力部 4309に、パケット ID「5012」のパケットを映像出力部 4308に、音声出力部 4309は、与えられたパケットを適宜変換し (例えばデジタル アナログ変換)出力する。映像出力部 4308は、与えられたパケットを適宜変換し (例 えばデジタル アナログ変換)出力する。 [0448] 最後にサービスマネージャ 4504は、 Javaライブラリ 4505の中にある AM4505bに チャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生と は、 MPEG2トランスポートストリームに含まれる Javaプログラムを抽出し、 JavaVM45 03に実行させることである。 MPEG2トランスポートストリームに Javaプログラムを埋め 込む方法は、 MPEG規格書 ISOZIEC13818— 6に記述された DSMCCという方 式を用いる。ここでは DSMCCの詳細な説明は省略する。 DSMCC方式は、 MPEG 2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリ やファイルで構成されるファイルシステムをエンコードする方法を規定して 、る。また、 実行する Javaプログラムの情報は AITと呼ばれる形式で、 MPEG2トランスポートスト リームのパケットの中に埋め込まれ送信されている。 AITは、 DVB— MHP規格(正 式には、 ETSI TS 101 812 DVB— MHP仕様 VI . 0. 2)の 10章に定義されて ヽる、 Application Information Tableの略である。
[0449] AM4505bは、まず、 AITを獲得するため、 JMF4505a同様 PAT、 PMTを取得し 、 AITが格納されているパケットのパケット IDを獲得する。今、与えられたチャンネル の識別子が「2」で、図 50の PAT、図 51の PMTが送信されていると、 JMF4505aと 同様の手順で、図 51の PMTを獲得する。 AM4505bは、 PMTからストリーム種別が 「データ」で補足情報として「AIT」を持つエレメンタリ一ストリーム力もパケット IDを抽 出する。図 51を参照して、行 5113のエレメンタリ—ストリームが該当し、パケット ID「5 013」を獲得する。
[0450] AM4505bは、 OS701のライブラリ 4501bを通して多重分離部 4305に AITのパ ケッ HDを与える。多重分離部 4305は、与えられたパケット IDでフィルタリングを行 い、 CPU4312に引き渡す。この結果、 AM4505bは、 AITのパケットを収集すること ができる。
[0451] 図 52は、本発明の実施の形態 4に係る収集した AITの情報の一例を模式的に示 す図である。列 5201 ίお avaプログラムの識別子である。列 5202ίお avaプログラムの 制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autosta rtjは即時に放送受信装置 3902がこのプログラムを自動的に実行することを意味し 、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意 味する。列 5203は、 DSMCC方式で Javaプログラムを含んでいるパケット IDを抽出 するための DSMCC識別子である。列 5204ίお avaプログラムのプログラム名である 。行 5211と 5212は、 Javaプログラムの情報の組である。行 5211で定義される Java プログラムは、識別子「301」、制御情報「autostart」、 DSMCC識別子「1」、プログ ラム名「aZTopXlet」の組である。行 5212で定義される Javaプログラムは、識別子「 302」、制御情報「present」、 DSMCC識別子「1」、プログラム名「b/GameXlet」 の組である。ここでふたつの Javaプログラムは同じ DSMCC識別子を持つ力 これは ひとつの DSMCC方式でエンコードされたファイルシステム内にふたつの Javaプログ ラムが含まれて 、ることを表す。ここでは、 Javaプログラムに対して四つの情報しか規 定しないが、実際にはより多くの情報が定義される。詳細は DVB— MHP規格を参 照されたい。
[0452] AM4505bは、 AITの中から「autostart」の Javaプログラムを見つけ出し、対応す る DSMCC識別子及び Javaプログラム名を抽出する。図 52を参照して、 AM4505b は行 5211の Javaプログラムを抽出し、 DSMCC識別子「1」及び Javaプログラム名「a 7丁 」を獲得する。
[0453] 次に AM4505bは、 AITから取得した DSMCC識別子を用いて、 Javaプログラムを DSMCC方式で格納しているパケットのパケット IDを PMT力 獲得する。具体的に は、 PMTの中でストリーム種別が「データ」で、補足情報の DSMCC識別子が合致 するエレメンタリ一ストリームのパケット IDを取得する。
[0454] 今、 DSMCC識別子力 「1」であり、 PMTが図 51とすると、行 5114のエレメンタリ一 ストリームが合致し、パケット ID「5014」を取り出す。
[0455] AM4505biま、 OS4501のライブラリ 4501bを通して多重分離咅 4305に DSMC C方式でデータが埋めこめられたパケットのパケット IDを指定する。ここでは、パケット ID「5014」を与える。多重分離部 4305は、与えられたパケット IDでフィルタリングを 行い、 CPU4312に引き渡す。この結果、 AM4505bは、必要なパケットを収集する ことができる。 AM4505bは、収集したパケットから、 DSMCC方式に従ってファイル システムを復元し、第 1メモリ 4302あるいは第 2メモリ 4303に保存する。ファイルシス テム等のデータを取り出し第 1メモリ 4302あるいは第 2メモリ 4303に保存すことを以 降、ダウンロードと呼ぶ。
[0456] 図 53は、本発明の実施の形態 4に係るダウンロードしたファイルシステムの一例を 示す図である。図中、丸はディレクトリを四角はファイルを表し、 5301はルートディレ クトリ、 5302はディレクトリ「a」、 5303はディレクトリ「b」、 5304はファィル 0 161;. class」、 5305はファイル「GameXlet. class」である。
[0457] ここでは、 MPEG2トランスポートストリームからファイルシステムをダウンロードする 例を記載した力 OCAP仕様では、 IPネットワークを用いたダウンロードなども規定し ている。また、 AITではなく XAITと呼ばれる情報を用いてファイルシステムの存在位 置を特定し、ファイルシステムをダウンロードする方法も規定されて 、る。
[0458] 次に AM4505bは、第 1メモリ 4302あるいは第 2メモリ 4303にダウンロードしたファ ィルシステム中から実行する Javaプログラムを JavaVM4503に引き渡す。今、実行 する Javaプログラム名が「aZTopXlet」とすると、 Javaプログラム名の最後に「. class 」を付カ卩したファイル「aZTopXlet. class」が実行すべきファイルとなる。「Z」はディ レクトリゃファイル名の区切りであり、図 53を参照して、ファイル 5304が実行すべき Ja vaプログラムである。次に AM4505biま、フアイノレ 5304を JavaVM4503に引き渡す
[0459] JavaVM4503は、引き渡され^ Javaプログラムを実行する。
[0460] 次に、ネットワーク部 4311からマルチメディアデータを出力する場合の処理につい て説明する。
[0461] まず、サービスマネージャ 4504は、 Javaライブラリ 4505中にあるネットワークライブ ラリ 4505eにチャンネルの識別子を与え、データの送信を依頼する。ネットワークライ ブラリ 4505eは、まず、上言 6JMF4505aおよび AM4505bと同様に、 PAT、 PMTを 取得し、送信すべき番組に関する映像データ、音声データ、各セクションデータのパ ケッ HDを取得する。今、与えられたチャンネルの識別子力 「2」で、図 50の PAT、図 51の PMTが送信されていると、 JMF4505aと同様の手順で、図 51の PMTを獲得 する。送信すべきデータは、図 51の PMTに記述された全てのデータである。
[0462] ネットワークライブラリ 4505eは、 OS4501のライブラリ 4501bを通して TSデコーダ 4307に、これらのパケット IDを与え、 TSマルチプレクサ 4310に出力させる。 TSデコ ーダ 4307は、与えられたパケット IDでフィルタリングを行い、 TSマルチプレクサ 431 0に引き渡す。
[0463] また、ネットワークライブラリ 4505eは、 OS4501のライブラリ 4501bを通して TSマ ルチプレクサ 4310に、何種類のデータが送られてくるかを与えて、 TSデコーダ 430 7から引き渡されたデータから、 MPEG2トランスポートストリームを構成させる。 TSマ ルチプレクサ 4310は、構成した MPEG2トランスポートストリームを、 CPUに引き渡 す。
[0464] また、ネットワークライブラリ 4310eは、 OS4501のライブラリ 4501bの NET4501b 4に送信先のアドレスを与える。続いて、ネットワークライブラリ 4501b4は、 TSマルチ プレクサ 4310から受け取った MPEG2トランスポートストリームを、送信するアプリケ ーシヨンレベルのプロトコルに応じた形式に変換して、 NET4501b4に順次引き渡す 。アプリケーションレベルのプロトコルとは、例えば、 HTTPや RTPといったものである 。これにより、 NET4501b4は、送信先アドレスを参照して、引き渡されたデータを IP ネットワークのパケットに変換し、ネットワーク部 4311に引き渡す。ネットワーク部 431 1では、引き渡されたデータを、接続されたネットワークの物理メディアに応じた信号 に変換して出力する。
[0465] サービスマネージャ 4504は、他のチャンネルの識別子を受け取ると、 Javaライブラ リ 4505に含まれる各ライブラリを通して再生している映像'音声及び Javaプログラム の実行もしくはネットワークへの出力を、同じく Javaライブラリ 4505に含まれる各ライ ブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像 '音 声の再生及び Javaプログラムの実行もしくはネットワークへの出力を行う。
[0466] また、サービスマネージャ 4504は、再生部 4502bだけでなく、 Java VM4503上で 実行される Javaプログラムカゝらチャンネルの識別子を受け取る機能も備える。具体的 には、チャンネルの識別子を受け取るための Java言語のクラス及びそのメソッドを提 供する。チャンネルの識別子を受け取ると、サービスマネージャ 4504は、 Javaライブ ラリ 4505に含まれる各ライブラリを通して現在再生している映像'音声及び Javaプロ グラムの実行もしくはネットワークへの出力を、同じ avaライブラリ 4505に含まれる 各ライブラリを通して停止し、その後、新たに受け取ったチャンネルの識別子に基づ V、て、新し 、映像 ·音声の再生及び Javaプログラムの実行もしくはネットワークへの出 力を行う。
[0467] また、上記では、通常の放送番組の再生やネットワークへの出力につ 、て記述した
1S ユア VoD放送の場合も同様である。
[0468] Javaライブラリ 4505は、第 2メモリ 4303に格納されている複数の Javaライブラリの 集合である。本実施の形態では、 Javaライブラリ 4505は、 JMF4505a、 AM4505b
、 Tuner4505c、 CA4505d、ネットワークライブラリ 4505e、再生 Lib4505f、 I045
05g、 AWT4505h等を含んでいる。
[0469] JMF4505a、 AM4505b、 Tuner4505c、 CA4505dの機能は、既に記述されて いるので省略する。
[0470] 再生 Lib4505fは、第 2メモリ 4303が記憶して!/、る、現在再生して!/、るチャンネル の識別子を Javaプログラムに渡すための Java言語のクラスおよびメソッドを(以下 Jav a APIと記述)提供する。この Java APIを利用することで、 Javaプログラムは、現在 再生中のチャンネルを知ることができる。
[0471] IO4505gは、 Javaプログラムが第 2メモリ 4503にデータを書き込むための Java A PI、あるいは、その書き込んだデータを第 2メモリ 4303から読み込むための Java A PIを Javaプログラムに提供する。この APIを利用することで、 Javaプログラムは、任意 のデータを第 2メモリ 4303に保存することができる。この保存されたデータは放送受 信装置 3902の電源がオフになっても消えないので、放送受信装置 3902の電源が 投入された後、再びそのデータを読み込むことができる。
[0472] AWT4505hは、 Javaプログラムが描画を行ったり、入力部 4301からのキー入力 通知を受け取るための Java APIを提供する。具体的には、「The Java class Lib raries Second Edition, Volume 2」(ISBNO— 201— 31003— 1)で既定され ¾java. awtノヽッゲーン、 java. awt. eventノ ッゲージ <¾びその ftilの java. awtのサ ブパッケージが相当する。ここでは、詳細な説明を省略する。
[0473] SI4505iは、 Javaプログラムがチャンネル情報や電子番組表情報を取得する Java
APIを提供する。具体的には、 Java TV仕様などが存在する。また、生のバイナリ 一データを放送中の MPEG2トランスポートストリームから取得する MPEGセクション フィルター APIが OCAP仕様の中で定義されており、送信されてきた独自の電子番 組データを Javaアプリケーションが理解して取り扱うことも出来る。
[0474] ネットワークライブラリ 4505eは、 OS4501のライブラリ 4501bの NET4501b4を通 して、ネットワーク 3907に接続された映像蓄積装置 3903、映像蓄積装置 3904、端 末 3905および端末 3906と通信するものである。映像蓄積装置 3903および映像蓄 積装置 3904とは、映像蓄積装置の属性の送受信、マルチメディアデータの蓄積要 求および該マルチメディアデータの送信、特定のマルチメディアデータを蓄積して ヽ るカゝ否かの問合せ、該蓄積して!/、るマルチメディアデータの送信要求および該マル チメディアデータの利用に伴う権利処理の通信を行う。また、端末 3905および端末 3 906とは、マルチメディアデータの送信要求の受け付け、マルチメディアデータの送 信もしくはマルチメディアデータが送信される映像蓄積装置の通知を行う。
[0475] 図 54は、本発明の実施の形態 4に係るネットワークライブラリ 4505eの内部構成の 一例を示すブロック図である。ネットワークライブラリ 4505eは、制御部 5401、データ 受信部 5402、情報通信部 5403、選択部 5404、データ出力部 5405、および、権利 処理部 5406を含む。なお、ネットワークライブラリ 4505eは、 IPネットワークに関連す る他の機能を含んでも良い。
[0476] 制御部 5401は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 4505eが実現する機能を提供する。すなわち、制御部 5401は、 Javaアプリケー シヨンに対して Java APIを提供し、 Javaアプリケーション力 この APIを呼び出すこと で、ネットワークを利用した機能が実行できる。制御部 5401は、 Java APIが呼び出 されると、適宜、データ受信部 5402、情報通信部 5403、選択部 5404、データ出力 部 5405、権禾 IJ処理部 5406や、他の Javaライブラ U4505および OS4501のライブラ リ 450 lbを利用して処理を行う。
[0477] 図 55は、本発明の実施の形態 4に係る制御部 5401が提供する Java APIの一例 を示す図である。
[0478] 図 55 (1)メソッド collectNetDevice Oは、ネットワーク 3907に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返す。具体的 には、後述の情報通信部 5403のメソッド collectNetDevice Oを呼び出し、その戻り 値を返すものでる。本メソッドにより、ネットワークに接続された機器の情報を得ること 力 Sできる。図 56に、 NetDeviceクラスの構成の一例を示す。図 56で、 addrは該装置 のネットワークアドレスを、 friendlyNameは該装置につけたニックネームを、 dType は該装置の種別を表し、 0が放送受信装置、 1が映像蓄積装置、 2が端末を表すこと とする。このような情報は、 UPnP DAに定義された方法によって行うことが可能であ るため、処理の詳細は省略する。また、 attrは映像蓄積装置の属性であり、 DevAttr ibクラスのオブジェクトである。図 57に、本発明の実施の形態 4に係る DevAttribクラ スの構成の一例を示す。図 57において、 remainCapはマルチメディアデータを蓄積 する空き領域の容量を表し、 replayFavoritGenreは、再生もしくはネットワークに出 力したコンテンツのうち、最も頻度の高いジャンルを表し、 0が映画、 1がスポーツ、な どのように表す。 recordFavoritGenreは、ユーザ操作によって録画したコンテンツ のうち、最も頻度の高いジャンルを表す。
[0479] 図 55 (2)メソッド sendMultimediaData ()は、チャンネルの識別子を指定して、映 像蓄積装置 3903もしくは映像蓄積装置 3904にマルチメディアデータを送信するも ので、成功すれば trueが返り、失敗すれば falseが返るものである。
[0480] また、図 55 (3)メソッド acceptMultimediaRequest Oは、呼び出されれば、別の プロセスもしくはスレッドを起動してその上で動作することで常駐するものであり、端末 力ものマルチメディアデータ送信要求を受け付け、映像蓄積装置 3903もしくは映像 蓄積装置 104に該マルチメディアデータが蓄積されているかどうかを調べ、蓄積され ている場合は、該映像蓄積装置に端末への送信要求を発行するとともに、該要求を 発行した端末には該映像蓄積装置カゝらマルチメディアデータが送信されることを通 知し、また、蓄積されていない場合には、該マルチメディアデータを放送局から受信 して該端末へ送信するものであり、正常終了時は trueを返し、異常時には falseを返 すものである。なお、常駐せずにひとつの要求をうければ終了する構成であっても良 い。これらのメソッドは、データ受信部 5402、情報通信部 5403、選択部 5404、デー タ出力部 5405、および権利処理部 5406の APIを用いて動作するものであるため、 詳細は後述する。
[0481] 図 55 (4)メソッドcollectMultimediaData 0は、Javaラィブラリ4505などを利用し て、ユア VoDにより提供されるマルチメディアコンテンツを検索し、その一部もしくは 全部の番組を、各番組について 1回、サービスマネージャ 4504に依頼することにより 受信し、メソッド sendMultimediaData Oを呼び出して、映像蓄積装置に送信するも のであり、成功すれば trueを、失敗すれば falseを返す。
[0482] 図 55 (5)メソッド setSelectAlgorithm Oは、選択部 5404が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。本メソッドは選択部 5404のメソッド setSelectAlgorithm Oを呼び出すことで 行われる。
[0483] 図 55 (6)メソッド setStoragePriority ()は、選択部 5404が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。本メソッドは、選択部 5404のメソッド setStoragePriority ()を 呼び出すことで行われる。なお、本メソッドは、映像蓄積装置とその優先度の値の組 の配列を引数として設定する構成であっても良い。
[0484] 図 55 (7) setTerminalPriority Oは、選択部 5404が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。本メソッドは、選択部 5404のメソッド setTerminalPriority Oを呼び出 すことで行われる。なお、本メソッドは、端末とその優先度の値の組の配列を引数とし て設定する構成であっても良い。
[0485] 図 55 (8)メソッド setCombination Oは、選択部 5404が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。本メソッドは、選択部 5404の setCo mbination ()を呼び出すことで行われる。
[0486] 図 55 (9)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、選択 部 5404のメソッド setSelectedStorageDevice ()を呼び出すことにより行われるの で、そちらで詳細は述べる。
[0487] 図 55 (10)メソッド registerHandler ()は、引数 handlerで与えられたハンドラをシ ステムに登録するもので、成功すれば trueを返し、失敗すれば falseを返す。 Javaァ プリケーシヨンは、該ハンドラを登録することにより、ネットワークライブラリ 4505eから コールバックを受けることができる。
[0488] データ受信部 5402は、放送受信装置 3902の TSデコーダ 4307と TSマルチプレ クサ 4310を OS4501のライブラリ 4501を通じて制御し、 TSデコーダ 4307によって フィルタリングされた、映像、音声、セクションデータを TSマルチプレクサ 4310によつ て MPEG2トランスポートストリームに構成して読み出すものである。
[0489] データ受信部 5402は、制御部 5401およびダウンロードし^ Javaアプリケーション に Java APIを提供する。図 58は、データ受信部 1602が提供する Java APIの一 例を示す図である。図 58 (1)メソッド openProgram Oは、引数で指定されたチャン ネルの識別子から、 TSマルチプレクサ 510が構成した MPEG2トランスポートストリー ムを読み出す InputStreamのオブジェクトを返す。なお、失敗時には nullが返る。
[0490] 情報通信部 5403は、 OS4501のライブラリ 4501の NET4501b4を通じて、放送 受信装置 3902のネットワーク部 4311を制御し、指定されたネットワーク 3907に接続 されて 、る外部機器と、メッセージの送受信を行うものである。
[0491] 情報通信部 5403は、制御部 5401およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0492] 図 59は、本発明の実施の形態 4に係る情報通信部 1603が提供する Java APIの 一例を示す図である。
[0493] 図 59 (1)メソッド checkStorageAttribute ()は、引数で指定された情報蓄積装置 に属性送信要求を送り、返答を受信して引数 devで示された NetDeviceクラスのォ ブジエタトに属性を設定するもので、成功すれば trueを返し、失敗すれば falseを返 すものである。
[0494] 図 59 (2)メソッド sendS toreRequest Oは、引数 devで指定された映像蓄積装置に 蓄積要求を送信して返答を受信するもので、成功すれば trueを返し、通信失敗もしく は要求拒否を受信した場合は falseを返すものである。引数 idは、制御部 5401が発 行したマルチメディアデータの識別子であり、送信要求とともに、映像蓄積装置に送 られる。
[0495] 図 59 (3)メソッド askContentStored Oは、引数 devで指定される映像蓄積装置に 、引数 idで指定されるマルチメディアデータを蓄積して ヽるか否かの問 ヽ合わせを送 信し、返答を受信するもので、蓄積していると返答を受けた場合は trueを、蓄積して V、な 、と返答を受けた場合もしくは通信に失敗した場合は falseをそれぞれ返す。
[0496] 図 59 (4)メソッド sendTransferRequest Oは、引数 serverで指定される映像蓄積 装置に、引数 idで指定されるマルチメディアデータを、引数 clientで指定される端末 へ送信する要求を送信して返答を受信するものであり、 OKを受信した場合は trueを 、 NGを受信した場合もしくは通信に失敗した場合は falseを、それぞれ返す。
[0497] 図 59 (5)メソッド acceptTerminalRequest ()は、引数 sで指定される Socketォブ ジェタトを用いて、該 Socketオブジェクトによって接続されて 、る端末からの要求を 受信し、端末が送信を要求しているマルチメディアデータの識別子を引数 reqに入れ るものであり、通信が成功すれば trueを、失敗すれば falseを、それぞれ返す。図 60 は、本発明の実施の形態 4に係る MMRequestクラスの構成を示す図である。
[0498] 図 59 (6)メソッド notifyTransferDevice ()は、引数 sで指定される Socketォブジ ェクトを用いて、該 Socketオブジェクトによって接続されている端末へ、引数 devで指 定される映像蓄積装置カゝらマルチメディアデータが送信されることを通知するもので 、成功すれば trueを返し、失敗すれば falseを返すものである。
[0499] 図 59 (7)メソッド notifyTransferData Oは、引数 sで指定される Socketオブジェク トを用いて、該 Socketオブジェクトによって接続されている端末へ、放送受信装置 3 902からマルチメディアデータが送信されることを通知するもので、成功すれば true を返し、失敗すれば falseを返すものである。
[0500] 図 59 (8)メソッド notifyUnableTransfer ()は、引数 sで指定される Socketォブジ ェクトを用いて、該 Socketオブジェクトによって接続されている端末へ、引数 status で表される理由〖こより、要求されたマルチメディアデータを送信できないことを通知す るものであり、成功すれば trueを返し、失敗すれば falseを返すものである。 [0501] 図 59 (9)メソッドcollectNetDevice Oは、ネットワーク 3907に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返す。この処理 は、 UPnP DAに定義された方法によって行うことが可能であるため、処理の詳細は 省略する。
[0502] 選択部 5404は、設定されたアルゴリズムにした力^、、映像蓄積装置の属性および マルチメディアデータの属性などから、ネットワーク 3907に接続された映像蓄積装置 のうちひとつを選択するものである。
[0503] 選択部 5404は、制御部 5401およびダウンロードし^ Javaアプリケーションに Java
APIを提供する。
[0504] 図 61は、本発明の実施の形態 4に係る選択部 5404が提供する Java APIの一例 を示す図である。
[0505] 図 61 (1)メソッド selectDevice ()は、後述のメソッド setAlgorithm Oによって設定 されたアルゴリズムにしたがって、引数 devicesで示された映像蓄積装置の中から、 d evicesに格納されている映像蓄積装置の属性、および、引数 idで示されたチャンネ ルの識別子と図 47に示した第 2メモリ 4303に記憶している番組情報力も読み取れる マルチメディアデータの属性などをもとに、ひとつの映像蓄積装置を選択するもので あり、成功すれば選択した映像記憶装置を devicesのインデックスで返し、失敗すれ ば負の値を返すものである。選択するアルゴリズムとしては、空き容量の大きい映像 蓄積装置を選択する、マルチメディアデータのジャンルごとに映像蓄積装置を割り振 つて選択する、該マルチメディアデータのジャンルと同じジャンルのマルチメディアデ ータをユーザ操作によって録画した頻度の高い映像蓄積装置を選択する、後述のメ ソッド setStoragePriority Oによって設定された、映像蓄積装置の優先度にしたが つて選択する、後述のメソッド setTerminalPriority Oによって設定された端末の優 先度と、後述のメソッド setCombination Oによって設定された端末と映像蓄積装置 の組から、端末の優先度にしたがって端末を選択し、その端末と組になつている映像 蓄積装置を選択する、あるいは、複数の映像蓄積装置があった場合に、 Javaアプリ ケーシヨンにコールバック関数によって知らせ、ユーザに一覧を提示し、ユーザから の入力を受け付けて、後述のメソッド setSelectedStorageDevice Oによって指定さ れた映像蓄積装置を選択する、などがある。
[0506] 図 61 (2)メソッド setSelectAlgorithm Oは、選択部 5404が映像蓄積装置を選択 する際のアルゴリズムを、引数 idで与えられたものに設定するもので、成功すれば tru eを返し、失敗すれば falseを返す。 idの値と各アルゴリズムは、予め定められたもの である。
[0507] 図 61 (3)メソッド setStoragePriority ()は、選択部 5404が映像蓄積装置の優先 度にしたがって選択を行う場合の、映像蓄積装置の優先度を設定するもので、引数 d evicesの配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗 すれば falseを返す。なお、本メソッドは、映像蓄積装置とその優先度の値の組の配 列を引数として設定する構成であっても良 、。
[0508] 図 61 (4) setTerminalPriority Oは、選択部 5404が端末の優先度にしたがって 映像蓄積装置の選択を行う場合の、端末の優先度を設定するもので、引数 devices の配列の順に優先度が高いものとする。処理が成功すれば trueを返し、失敗すれば falseを返す。なお、本メソッドは、端末とその優先度の値の組の配列を引数として設 定する構成であっても良い。
[0509] 図 61 (5)メソッド setCombination Oは、選択部 5404が端末の優先度にしたがつ て映像蓄積装置の選択を行う場合の、映像蓄積装置と端末の組を設定するものであ り、引数 devicesで映像蓄積装置を与え、引数 termsで端末を与え、それぞれの配 列で同 I ンデッタスのものを組として設定する。
[0510] 図 61 (6)メソッド setSelectedStorageDevice ()は、引数 idで与えられたインデッ タスの映像蓄積装置を、選択した映像蓄積装置とするものである。本メソッドは、メソッ ド selectDevice O力 設定されたアルゴリズムによりユーザの入力によって選択する 場合、 Javaアプリケーションにコールバック関数によって通知し、ユーザの入力を受 け付けた javaアプリケーションによって呼び出されるものである。コールバック関数は 、 Javaアプリケーションのハンドラオブジェクトを Handlerとすると、 Handler, notify ( NetDevices [] devices, Object obj)といったもので、これにより Javaアプリケー シヨンは引数で与えられた映像蓄積装置の一覧をユーザに提示して、ユーザ入力を 受け付ける。受け付けた入力から、指定されたものの、配列 devicesのインデックスを 取得し、 I数 objで制御部 5401もしくは選択部 5404のインスタンスが与えられるの で、そのメソッド setSelectedStorageDevice Oを呼び出して設定する。上記ハンド ラオブジェクト Handlerは、制御部 5401のメソッド registerHandler Oによって、登 録されたものである。なお、選択部 5404力 同じ registerHandler Oメソッドをもち、 J avaアプリケーションに公開する構成であっても良い。
[0511] データ出力部 5405は、 OS4501のライブラリ 4501の NET4501b4を通じて、放送 受信装置 3902のネットワーク部 4311を制御し、指定されたネットワーク 3907に接続 されて!/ヽる外部機器に、データ受信部 5402が受信したマルチメディアデータを送信 するものである。
[0512] データ出力部 5405は、制御部 5401およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0513] 図 62は、本発明の実施の形態 4に係るデータ出力部 1605が提供する Java API の一例を示す図である。
[0514] 図 62 (1)メソッド sendData Oは、引数 devで指定されたネットワーク 3907に接続さ れて 、る装置に、引数 isで指定された InputStreamオブジェクトから読み込んだデ ータを、 isから EOFを読み込むまで送信するもので、成功すれば trueを返し、失敗 すれば falseを返すものである。
[0515] 権利処理部 5406は、サービスマネージャ 4504に、マルチメディアデータの利用に 伴う課金などの権利処理を依頼するものである。
[0516] 権利処理部 5406は、制御部 5401およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0517] 図 63は、本発明の実施の形態 4に係る権利処理部 5406が提供する Java APIの 一例を示す図である。
[0518] 図 63 (1)メソッド requestContentUse ()は、引数 idで指定されたコンテンツの権 利処理をサービスマネージャ 4504に依頼するものであり、コンテンツ使用が許可さ れれば trueが返り、許可されない、もしくは処理に失敗すれば falseが返るものである
[0519] ここで、制御部 5401の、メソッド sendMultimediaData ()およびメソッド acceptM ultimediaRequest ()の処理を説明する。
[0520] まず、メソッド sendMultimediaData ()の処理にっ 、て説明する。 sendMultimed iaData Oが呼び出されれば、まず、制御部 5401のメソッド collectNetDevice ()に よって、ネットワーク 3907に接続された映像蓄積装置を検索する。続いて、各映像蓄 積装置ごとに、情報通信部 5403のメソッド checkStorageAttribute ()を呼び出し て、各映像蓄積装置の属性を調べる。続いて、選択部 5404のメソッド selectDevice 0を呼び出して、映像蓄積装置を選択する。さらに、このマルチメディアデータを識 別する識別子を発行する。選択した映像蓄積装置に対し、情報通信部 5403のメソッ ド sendStoreRequest Oを呼び出すことで、蓄積要求をマルチメディアデータの識 別子とマルチメディアデータの番組情報ともに送信する。続いて、データ受信部 540 2のメソッド openProgram Oを呼び出して、マノレチメディアデータを読み出す Input Streamオブジェクトを取得する。さらに、データ出力部 5405のメソッド sendData O を呼び出して、選択した映像蓄積装置に、受信したマルチメディアデータを送信する 。処理が成功すれば、マルチメディアデータの属性とともに、発行したマルチメディア データの識別子を第 2メモリ 4303に記憶させる。
[0521] なお、 collectNetDevice ()を実行したあとに、これらの情報を第 2メモリ 4303に記 憶させ、以降は第 2メモリ 503に記憶したものを読み出す構成であっても良い。
[0522] 次に、メソッド acceptMultimediaRequest ()の処理にっ 、て説明する。メソッド ac ceptMultimediaRequest ()は、呼び出されると、別のスレッドもしくはプロセスを生 成し、その上で動作する。まず、端末からの接続を受け付ける Socketオブジェクトを 作成し、接続要求を待ち受ける。端末から、接続要求がくれば、情報通信部 5403の メソッド acceptTerminalRequest Oを呼び出し、該端末からの要求を受信する。続 いて、要求されたマルチメディアデータの識別子を、端末からの要求、もしくは端末か ら受け取ったチャンネルの識別子と第 2メモリ 4303に記憶させた情報とから特定する 。次に、制御部 5401のメソッド collectNetDevice ()を呼び出す力、もしくは、第 2メ モリ 4303に記憶させた情報から、ネットワークに接続された映像蓄積装置を検索す る。続いて、各映像蓄積装置ごとに、情報通信部 5403のメソッド askContentStore d ()を呼び出し、該映像蓄積装置に該マルチメディアデータが蓄積されている力否か を問い合せる。蓄積している映像記憶装置があれば、該映像蓄積装置に、情報通信 部 5403のメソッド sendTransferRequest Oを呼び出すことによって、該要求のあつ た端末へ、該マルチメディアデータの送信要求を発行する。なお、該要求のあった端 末は、端末と通信している Socketオブジェクトと、管理部のメソッド collectNetDevic e ()の結果もしくは第 2メモリ 4303に記憶させた情報より特定する。なお、このとき、必 要であれば、権利処理部 5406のメソッド requestContentUse ()を呼び出すことで 、権利処理を行う。続いて、該要求のあった端末には、情報通信部 5403のメソッド n otigyTransferDevice ()を呼び出すことで、該蓄積して ヽる映像蓄積装置を通知す る。また、該マルチメディアデータを蓄積している映像蓄積装置が見つからな力つた 場合は、サービスマネージャ 4504にチャンネルの識別子を引き渡して、番組受信を 依頼する。続いて、上記メソッド sendMultimediaData Oの場合と同様、データ受信 部 5402のメソッド openProgramOを呼び出し、受信するマルチメディアデータを読 み出す InputStreamを生成する。メソッド openProgram O力 ullを返せば、情報通 信部 5403のメソッド notifyUnableTransfer ()を呼び出して、該端末へデータ送信 が不可能なことを通知し、待ち受け要求に戻る。メソッド openProgram O力 Inputs treamオブジェクトのインスタンスを返せば、情報通信部 5403のメソッド110 £ 1^&11 sferData Oメソッドを呼び出すことにより、該端末に、放送受信装置 3902から該マ ルチメディアデータを送信することを通知する。続いて、データ出力部 5405のメソッ ド sendData Oを呼び出すことで、該端末へ該マルチメディアデータを送信する。デ ータ送信が終了すれば、接続要求の待ち受けに戻る。なお、接続要求を受け付ける と、さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくは プロセスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成 であっても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち 受けに戻らず、終了する。
以上の構成により、 Javaアプリケーションは、ユア VoDで提供される番組のマルチメ ディアデータを、利用に先立って受信し、映像蓄積装置に蓄積しておくことが可能と なる。なお、この蓄積は、一定の時間間隔で実行しても良ぐまた、ユーザの設定した 日時に行っても良い。また、ユーザの設定した時間間隔で行っても良い。また、ユー ザの操作により行っても良い。また、放送局からの指示で行っても良い。
[0524] 次に、映像蓄積装置 3903および映像蓄積装置 3904の構成について説明する。
[0525] 図 64は、本発明の実施の形態 4における映像蓄積装置 3903および映像蓄積装 置 3904の構成を示すブロック図である。本図に示す映像蓄積装置 3903および映 像蓄積装置 3904は、入力部 6401、第 1メモリ 6402、第 2メモリ 6403、多重分離部 6 404、 TSデコーダ 6405、映像出力部 6406、音声出力部 6407、ネッドワーク部 640 8、および、 CPU26409で構成される。なお、本実施の形態おける映像蓄積装置 39 03および映像蓄積装置 3904は、マルチメディアデータを蓄積するだけでなぐユー ザの操作によって、放送受信装置 3902から受信したマルチメディアデータおよび蓄 積したマルチメディアデータの再生も行う構成である。
[0526] 入力部 6401、第 1メモリ 6402、第 2メモリ 6403は、上記した本実施の形態におけ る放送受信装置 3902の入力部 4301、第 1メモリ 4302、第 2メモリ 4303と同様のも のである。なお、映像蓄積装置 3903および映像蓄積装置 3904は、第 2メモリ 6403 に、マルチメディアデータを蓄積する。また、マルチメディアデータだけでなぐ該マ ルチメディアデータの識別子、タイトル、放送日時、放送チャンネルなど EPG力 得 られる番組情報も同時に、メタデータとして蓄積する。
[0527] 多重分離部 6404は、 CPU6409から MPEGトランスポートストリームを受け取り、 C PU6409から指定された情報を抽出し、 CPU6409に引き渡す。また、 MPEGトラン スポートストリームをそのまま TSデコーダ 6405に引き渡す。
[0528] TSデコーダ 6405は、 CPU6409力ら、音声データ、映像データの識別子を受け 取る。さらに、多重分離部 6404から受け取ったストリームから、受け取った音声デー タ、映像データの識別子に対応するデータを抽出する。抽出した映像データを映像 出力部 6406に、音声データを音声出力部 6407に、それぞれ引き渡す。
[0529] 映像出力部 6406、音声出力部 6407は、上記した本実施の形態における放送受 信装置 3902の映像出力部 4308、音声出力部 4309と同様のものである。
[0530] ネットワーク部 6408は、ネットワークインタフェースを含み、 CPU6409から受け取 つたデータを、ネットワークインタフェースが接続されたネットワークの物理メディアに 応じた信号に変換して出力する。また、ネットワークインタフェース力も信号を受信し、 IPネットワークで規定されたパケットに変換して、 CPU6409へ引き渡す。
[0531] CPU6409は、第 2メモリ 6403が記憶するプログラムを実行することで、多重分離 部 6404、 TSデコーダ 6405、ネッドワーク部 6409を制御する。
[0532] 図 65は、本発明の実施の形態 4における映像蓄積装置 3903および映像蓄積装 置 3904が保持し、実行するプログラム構成を示す図である。本図は、第 2メモリ 640 3に保持記憶され、 CPU6409に実行されるプログラムの構成図の一例である。
[0533] プログラム 6500は、複数のサブプログラムで構成され、具体的には OS6501、 Jav aVM6502、サービスマネージャ 6503、 Javaライブラリ 6504で構成される。
[0534] OS6501は、映像蓄積装置 3903および映像蓄積装置 3904の電源が投入される と、 CPU6409が起動するサブプログラムである。 OS6501は、オペレーティングシス テムの略であり、 Linux等が一例である。 OS6501は、他のサブプログラムを平行し て実行するカーネル 6501a及びライブラリ 6501bで構成される公知の技術の総称で あり、詳細な説明は省略する。本実施の形態においては、 OS6501のカーネル 650 laは、 Java VM6503をサブプログラムとして実行する。また、ライブラリ 6501bは、こ れらサブプログラムに対して、映像蓄積装置 3903および映像蓄積装置 3904が保持 する構成要素を制御するための複数の機能を提供する。
[0535] 本実施の形態では、ライブラリ 6501bは機能の一例として、限定解除 6501bl、 A V再生 6502b2、 NET6501b3を含む。
[0536] 限定解除 6502b 1は、他のサブプログラムや Javaライブラリ 6504の CA6504cから 情報を受け取り、ネットワークカゝら受信した暗号ィ匕データを復号したり、 AV再生 6501 b2を有効にして、ネットワーク力も受信したマルチメディアデータおよび第 2メモリ 640 3に蓄積したマルチメディアデータの再生を許可したりするものである。
[0537] AV再生 6502b2は、他のサブプログラムや Javaライブラリ 6504の JMF6504aから 、音声のパケット IDと映像のパケット IDを受け取る。受け取った音声のパケット IDと映 像のパケット IDを、 TSデコーダ 6405に与える。この結果、 TSデコーダ 6405は与え られたパケット IDに基づいて、フィルタリングを行い、映像 '音声の再生を実現する。
[0538] NET6501b3は、他のサブプログラムや Javaライブラリ 6504のネットワークライブラ リ 6504dから受け取ったデータを、 IPネットワークで規定されるアプリケーション層より 下のプロトコルのパケットを作成する。アプリケーション層より下のプロトコルとは、例え ば TCPパケット、 UDPパケット、 IPパケットなどである。これをネットワーク部 6408に 引き渡すことで、ネットワーク 3907を介して他の機器にメッセージおよびデータを送 信する。また、ネットワーク 3907を介して他の機器からのメッセージを受信したときに 、他のサブプログラムや Javaライブラリ 6504のネットワークライブラリ 6504dに、アプリ ケーシヨン層のプロトコルのパケットに変換して引き渡す。アプリケーション層のプロト コルとは、例えば、 HTTPや RTPなどである。
[0539] JavaVM6502は、上記した本実施の形態における放送受信装置 3902の JavaV M4503と同様のものである。
[0540] サービスマネージャ 6503は、上記した本実施の形態における放送受信装置 3902 のサービスマネージャ 4604と、以下の相違点を除いて同様のものである。サービス マネージャ 4604は再生部 4602bよりチャンネル識別子を受け取り、その識別子を T uner4605cに引き渡してチューニングさせ、さらに CA4605dに依頼してデスクラン ブルを行い、 JMF4605aにチャンネルの識別子を与えて映像 '音声の再生を依頼す るものであった力 サービスマネージャ 6503は、 Javaライブラリ 6504の中にある List 6504iからコンテンツの識別子を受け取り、 Javaライブラリ 6504の中にある IO6504f にコンテンツの識別子を渡して第 2メモリ 6403に蓄積しているストリームを読み出す 力 ネットワークライブラリ 6504dにコンテンツの識別子とそれを受信する装置を引き 渡して、該装置からストリームを受信するかを行い、続いて、 Javaライブラリ 6504の中 にある JMF6504aにコンテンツの識別子を与えることで、映像'音声の再生を依頼す るものである。 List6504iについては、後述する。
[0541] また、サービスマネージャ 6503は、 Javaライブラリ 6504の中にあるネットワークライ ブラリ 6504dに、放送受信装置 3902からの蓄積要求待ち受け、および、データ受信 と蓄積を依頼することで、放送受信装置 3902からマルチメディアデータを受信して、 第 2メモリ 6403に蓄積する。
[0542] また、サービスマネージャ 6503は、 Javaライブラリ 6504の中にあるネットワークライ ブラリ 6504d〖こ、放送受信装置 3902からのマルチメディアデータ送信要求依頼、お よび、端末 3905もしくは端末 3906からのデータ送信要求の受付と、該依頼に対応 したデータ送信を依頼することにより、第 2メモリ 6403に蓄積したマルチメディアデー タを端末に送信する。
[0543] Javaライブラリ 6504は、第 2メモリ 6403に格納されている複数の Javaライブラリの 集合である。本実施の形態では、 Javaライブラリ 6504は、 JMF6504a、 AM6504b 、 CA6504c、ネットワークライブラリ 6504d、再生 Lib6504e、 List6504i等を含んで いる。
[0544] JMF6504a、 AM6504b、再生 Lib6504e、 IO6504f、 AWT6504g、 SI6504h は、それぞれ、上記した本実施の形態における放送受信装置 3902の Javaライブラリ 4505の中の JMF4505a、 AM4505b、再生 Lib4505f、 IO4505g、 AWT4505h、 SI4505iと同様のものである。
[0545] CA6504cは、ネットワーク 3907経由で送信されてきたマルチメディアデータおよ び第 2メモリ 6403に蓄積したマルチメディアデータのコピー制御および課金など、該 マルチメディアデータの権利処理を管理するものである。コピー制御は、送信されて きたトランスポートストリームのセクション情報に含まれているコピー制御情報を参照し て、必要であれば書き換えを行う。また、課金などは、ネットワークライブラリ 6504dを 通して、放送受信装置 3902と通信することによって行う。
[0546] List6504iは、放送受信装置 3902における EPG、第 2メモリ 6403に蓄積されてい るマルチメディアコンテンツの一覧、および、ネットワーク 3907に接続された映像蓄 積装置に蓄積されているマルチメディアコンテンツの一覧を表示し、入力部 6401が 受け付けたユーザ操作によって、一覧からひとつのマルチメディアコンテンツを選択 し、サービスマネージャ 6503に再生を依頼するものである。放送受信装置 3902もし くはネットワーク 3907に接続された他の映像蓄積装置に蓄積されたコンテンツの場 合は、該装置の情報もサービスマネージャ 6503に引き渡す。第 2メモリ 6403に蓄積 されたコンテンツの一覧は IO6504fを通して情報を読み出すことで取得できる。また 、放送受信装置 3902における EPGおよびネットワーク 3907に接続された他の映像 蓄積装置に蓄積されたコンテンツの一覧は、ネットワークライブラリ 6504dを通して、 取得することができる。これらの情報は、 UPnP AVに定義された方法によって実現 できるため、詳細説明は省略する。 [0547] ネットワークライブラリ 6504dは、 OS6501bの NET6501b3を通して、ネットワーク 3907に接続された放送受信装置 3902、他の映像受信装置、端末 3905および端 末 3906と通信するものである。放送受信装置 3902とは、映像蓄積装置の属性送信 、マルチメディアデータの蓄積要求受信と該マルチメディアデータの受信、マルチメ ディアデータを蓄積して 、るかの問 、合わせ受信とその返信、蓄積して 、るマルチメ ディアデータの送信依頼受付および該マルチメディアデータの利用に伴う権利処理 の通信を行う。また、他の放送受信装置、端末 3905および端末 3906とは、マルチメ ディアデータの一覧送受信、マルチメディアデータの送信、マルチメディアデータの 受信を行う。
[0548] 図 66は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成の 一例を示すブロック図である。ネットワークライブラリ 5404dは、制御部 6601、制御情 報通信部 6602、データ受信部 6603、データ送信部 6604、属性管理部 6605、およ び、権利処理部 6606を含む。なお、ネットワークライブラリ 6504dは、 IPネットワーク に関連する他の機能を含んでも良 、。
[0549] 制御部 6601は、ダウンロードし^ Javaアプリケーションに対して、ネットワークライブ ラリ 6504dが実現する機能を提供する。すなわち、制御部 6601は、ダウンロードした Javaアプリケーションに対して Java APIを提供し、 Javaアプリケーションがこの API を呼び出すことで、ネットワークを利用した機能が実現できる。制御部 6601は、 Java APIが呼び出されると、適宜、制御情報通信部 6602、データ受信部 6603、データ 送信部 6604、属性管理部 6605、権禾 IJ処理部 6606や、他の Javaライブラリ 6504お よび OS6501のライブラリ 6501bを利用して処理を行う。
[0550] 図 67は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる制御部 6601が提供する Java APIの一例を示す図である。
[0551] 図 67 (1)メソッド collectNetDevice Oは、ネットワーク 3907に接続されている外部 装置の情報を集め、その情報として NetDeviceオブジェクトの配列を返し、失敗時は nullを返す。このメソッドは後述の制御情報通信部 6602のメソッド collectDevice () を用いることで行う。
[0552] 図 67 (2)メソッド acceptRequestToStore ()は、呼び出されれば別のプロセスもし くはスレッドを起動してその上で動作することで常駐するものであり、放送受信装置 3 902からの属性送信要求受付け、マルチメディアデータの蓄積要求受付、マルチメ ディアデータの受信と第 2メモリ 6403への蓄積を行う。正常終了時には trueを返し、 異常時には falseを返す。
[0553] なお、常駐せずにひとつの要求をうければ終了する構成であっても良い。また、 Jav aアプリケーション力もネットワーク 3907に接続された機器が引数で渡され、その機器 と通信することより、該機器力 データを受信して蓄積する構成であっても良い。詳細 については後述する。
[0554] 図 67 (3)メソッド& 6 !^ 1½51;丁01^&115£61:()は、呼び出されれば別のプロセス もしくはスレッドを起動してその上で動作することで常駐するものであり、放送受信装 置 3902からの特定のマルチメディアデータを蓄積しているか否かの問い合わせを受 け付けて返答し、また、放送受信装置 3902から特定のマルチメディアデータを特定 の端末への送信要求を受け付けて、該マルチメディアデータを該端末へ送信するも のである。また、端末 3905、端末 3906など外部装置力 マルチメディアデータの送 信要求を受け付けて、該マルチメディアデータを送信するものである。正常終了時に は trueを返し、異常時には falseを返す。なお、常駐せずにひとつの要求をうければ 終了する構成であっても良い。詳細については後述する。
[0555] 図 67 (4)メソッド getMultimediaData ()は、 Javaアプリケーションもしくは他のサブ プログラム力もネットワーク 3907に接続された装置とコンテンツの識別子と出カストリ ームを受け付け、該装置から、該識別子で特定されるマルチメディアデータを受信し 、該出カストリームへ書き込むものである。成功時には trueを返し、失敗時には false を返す。このメソッドにより、 Javaアプリケーションは、ネットワーク 3907に接続された 他の機器力 Sもつマルチメディアデータを受信して再生することができる。詳細につい ては後述する。
[0556] 図 67 (5)および(6)メソッド getContentList ()は、 Javaアプリケーションもしくは他 のサブプログラムから、ネットワーク 3907に接続された映像蓄積装置を受け取り、そ の映像蓄積装置が蓄積して 、るコンテンツ一覧を取得し、 Contentlnfoオブジェクト の配列で返すもので、成功時にはこの配列が、失敗時には nullが返るものである。こ のメソッドは、引数としてひとつの NetDeviceオブジェクトをとる場合と、 NetDevice オブジェクトの配列をとる場合がある。図 68は、本発明の実施の形態 4に係るネットヮ 一クライブラリ 6504dで使用される Contentlnfoクラス定義の一例を示す図である。 図 68で、 devは該映像蓄積装置を示し、 contentldは該コンテンツの識別子を表し、 channelldは該コンテンツが放送されたチャンネルの識別子を表し、 titleは該コンテ ンッのタイトルを表し、 gunreは該コンテンツのジャンルを表し、 broadDaeは該コンテ ンッが放送された日時を表し、 recDateは該コンテンツが録画された日時を表す。こ れは後述の制御情報通信部 2802のメソッド getContentList ()を呼び出すことで行 われる。
[0557] 図 67 (7) getEPGData ()は、指定された機器から EPG情報を取得して Contentl nfoオブジェクトの配列を返すもので、引数 devで指定される装置が放送受信装置 39 02でないか、失敗した場合は nullを返すものである。本メソッドは、後述する制御情 報通信部 6402のメソッド getEPGData ()を呼び出すことで行われる。
[0558] 図 67 (8)メソッド updateAttribute ()は、引数 idで指定されたコンテンツが、引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。本メソッドは、後述する属性管理部 6605のメ ソッド updateAttribute ()を呼び出すことで行われる。
[0559] 制御情報通信部 6602は、 OS6501のライブラリ 6501の NET6501b3を通じてネ ットワーク部 6408を制御し、指定されたネットワーク 3907に接続されている外部機器 と、メッセージの送受信を行うものである。
[0560] 制御情報通信部 6402は、制御部 6401およびダウンロードし^ Javaアプリケーショ ンに Java APIを提供する。
[0561] 図 69は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる制御情報通信部 6602が提供する Java APIの一例を示す図である。
[0562] 図 69 (1)メソッド collectNetDevice ()は、上記の本実施の形態における放送受信 装置 102のネットワークライブラリ 4505eの情報通信部 5403のメソッド collectNetD evice ()と同様のものである。
[0563] 図 69 (2)メソッド getRequestMessage ()は、引数 sで与えられたソケットからメッセ ージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば null を返すものである。本メソッドは、外部機器力もの要求を受信するときに用いるもので ある。
[0564] 図 69 (3)メソッドsendResponseMessage Oは、引数 sで与えられたソケットに、引 数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗 すれば falseを返す。このメソッドは、外部機器からの要求に対する返答を送るときに 用いられる。
[0565] 図 69メソッド(4) sendRequestMessage ()は、引数 sで与えられたソケットに、引数 mesで与えられたメッセージを送信するものであり、成功すれば trueを返し、失敗す れば falseを返す。このメソッドは、外部機器へ要求を送るときに用いられる。
[0566] 069 (5) ^y^ getResponseMessage ()は、引数 sで与えられたソケットからメッ セージを受信し、バイト列で返すもので、成功すればバイト列を返し、失敗すれば nul 1を返すものである。本メソッドは、外部装置に送った要求に対する返答を該外部装置 力 受信するときに用いるものである。
[0567] 図 69 (6)および(7)メソッド getConentList Oは、引数 devで与えられた映像蓄積 装置、もしくは devicesで与えられた複数の映像蓄積装置に蓄積されて 、るコンテン ッの一覧を取得し、 Contentlnfoオブジェクトの配列を返すもので、成功時には該配 列が、失敗時には nullが返る。各映像記憶装置に蓄積されたコンテンツ一覧の取得 は、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0568] 図 69 (8)メソッド getEPGData Oは、引数 devで与えられた放送受信装置力も EP G情報を取得して、 Contentlnfoオブジェクトの配列を返すものであり、成功時には 該配列が、失敗時には nullが返る。放送受信装置力もの EPG情報の取得も、 UPnP AVで定義された方法によって行えるため、詳細は省略する。
[0569] データ受信部 6403は、 OS6501のライブラリ 6501の NET6501b3を通じてネット ワーク部 6408を制御し、ネットワーク 3907に接続された放送受信装置もしくは映像 蓄積装置から、ネットワーク 3907を通じてマルチメディアデータを受信するものであ る。
[0570] データ受信部 6603は、制御部 6601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。
[0571] 図 70は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれるデータ受信部 6603が提供する Java APIの一例を示す図である。
[0572] 図 70 (1)メソッド openRemoteProgram Oは、引数 devで与えられた装置の、引数 portで指定されたポートから、マルチメディアデータを受信する通信路を確保し、 Re moteProgramオブジェクトで返すもので、成功時には該オブジェクトが、失敗時に は nullが返る。図 71に、本発明の実施の形態 4に係る RemoteProgramクラスの構 成の一例を示す。図 71で、 sは通信の用いるソケットを表す。メソッド getMedialnput Stream ()は、該マルチメディアデータを読み出す InputStreamオブジェクトを返す ものである。
[0573] 図 70 (2)メソッド openRemoteProgram Oは、引数 devで与えられた装置に蓄積さ れた、引数 idで与えられた識別子を持つマルチメディアデータを受信する通信路を 確保し、 RemoteProgramオブジェクトで返すもので、成功時には該オブジェクトが、 失敗時には nullが返る。本メソッドは、まず、該装置と通信する Socketオブジェクトを 生成して接続する。続いて、与えられた識別子を含んだ送信要求メッセージを作成し 、制御情報通信部 6602のメソッド sendRequestMessage Oを呼び出すことで、該 機器に送信する。続いて、制御情報通信部 6602の getResponseMessage Oを呼 び出すことで、返答メッセージを受け取る。返答メッセージが OKであれば、それを解 析する。そして、特定のポート番号が指定されていれば、新しい Socketオブジェクト を作成し、その Socketオブジェクトを用いて RemoteProgramオブジェクトを生成し て返す。特定のポートが指定されていなければ、通信に用いた Socketオブジェクト から RemoteProgramオブジェクトを生成して返す。返答メッセージが NGであれば、 nullを返す。
[0574] データ送信部 6604は、 OS6501のライブラリ 6501の NET6501b3を通じてネット ワーク部 6408を制御し、指定されたネットワーク 3907に接続されている外部機器に 、指定されたマルチメディアデータを出力するものである。
[0575] データ送信部 6604は、制御部 6601およびダウンロードし^ Javaアプリケーション に Java APIを提供する。 [0576] 図 72は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれるデータ送信部 2803が提供する Java APIの一例を示す図である。図 72 (1 )メソッド sendMultimediaData Oは、引数 devで与えられた装置の、引数 portで与 えられたポートに、図 72 (2)メソッド sendMultimediaData Oは、引数 sで与えられた Socketオブジェクトを用いて、引数 isで与えられた InputStreamオブジェクトからデ ータを読み込んで、その EOFまでデータを送信するもので、成功すれば trueを返し 、失敗すれば falseを返すものである。
[0577] 属性管理部 6605は、映像蓄積装置の属性を管理するものである。映像蓄積装置 の属性は、第 2メモリ 6403に保存されており、属性管理部 6605は、 Javaライブラリ 6 206の中の IO6404fを用いてこれを読み書きする。
[0578] 属性管理部 6605は、制御部 6601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。
[0579] 図 73は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる属性管理部 6605が提供する Java APIの一例を示す図である。
[0580] 図 73 (1)メソッド updateAttribute ()は、引数 idで指定されたコンテンツが、引数 t ypeで指定された処理が行われた場合の属性情報の更新を行うものであり、成功す れば trueを、失敗すれば falseを返す。 typeの値が 0の場合は蓄積を示し、 1の場合 は再生もしくはネットワークへの送出を表す。本メソッドは、第 2メモリ 6403から属性情 報と蓄積されているコンテンツの情報を読み出し、該コンテンツのジャンルを調べ、ま た、第 2メモリ 6403のマルチメディアデータ用領域の空き容量を調べることにより、属 性情報を更新する。そして、更新した属性情報を第 2メモリ 2603に書き込む。
[0581] 図 73 (2)メソッド getAttribute ()は、第 2メモリ 6403から属性情報を読み出し、必 要なデータを DevAttribオブジェクトに格納して、該 DevAttribオブジェクトを返すも のであり、失敗時には nullを返す。
[0582] 権利処理部 6606は、放送受信装置 3902に、引数 idで与えられた識別子のコンテ ンッの利用に関する権利処理を行うものである。
[0583] 権禾 IJ処理部 6606は、制御部 6601およびダウンロードし^ Javaアプリケーションに J ava APIを提供する。 [0584] 図 74は、本発明の実施の形態 4に係るネットワークライブラリ 6504dの内部構成に 含まれる権利処理部 6606が提供する Java APIの一例を示す図である。
[0585] 図 74 (1)メソッド requestContentUse ()は、引数 idで与えられた識別子のコンテ ンッを、引数 devで与えられた装置へ、使用の許可を要求するもので、許可が得られ れば trueを、許可されない、もしくは処理に失敗した場合は falseを、それぞれ返す。 本メソッドは、要求メッセージを作成し、制御情報通信部 6402のメソッド sendReque stMessage Oを呼び出して送信する。また、制御情報通信部 2802のメソッド getRes poseMessage Oを呼び出して返答メッセージを受信する。そして、返答メッセージが OKを示して!/ヽれば trueを返し、 NGを示して!/、れば falseを返す。
[0586] ここで、制御部 6401の、メソッド acceptRequestToStore ()、メソッド acceptRequ estToTransfer O、メソッド getMultimediaData ()について説明する。
[0587] メソッド acceptRequestToStore ()は、呼び出されると、別のスレッドもしくはプロセ スを生成し、その上で動作する。まず、放送受信装置 3902からの接続を受け付ける Socketオブジェクトを生成し、接続要求を待ち受ける。放送受信装置 3902から接続 要求がくれば、制御情報通信部 6602のメソッド getRequestMessage ()を呼び出し て、要求メッセージを受信する。受信した要求メッセージが属性の問い合わせであれ ば、属性管理部 6605のメソッド getAttribute ()を呼び出して属性情報を読み出し、 制御情報通信部 6602のメソッド sendResponseMessage ()を呼び出すことで、属 性情報を返信し、接続要求の待ち受けに戻る。受信した要求メッセージがマルチメデ ィァデータの蓄積要求であれば、まず、要求メッセージからマルチメディアデータの 識別子と番組情報を取り出だす。続いて、データ受信部 6603のメソッド openRemot eProgram Oを呼び出すことで、受信する InputStreamを作る。続いて、該識別子、 番組情報と該 InputStreamから受信するマルチメディアデータを、 Javaライブラリ 27 04の中の IO6504fを通じて、第 2メモリ 6403に書き込むことにより、該マルチメディ ァデータを蓄積する。さらに、属性管理部 6605のメソッド updateAttribute Oを呼 び出すことにより、属性情報を更新する。以上の処理を終了すれば、接続要求の待 ち受けに戻る。なお、接続要求を受け付けると、さらに、別スレッドもしくはプロセスを 生成して、以降の処理は該別スレッドもしくはプロセスで動作し、もとのスレッドもしく はプロセスは接続要求の待ち受けに戻る構成であっても良い。この場合、該別スレツ ドもしくはプロセス上の処理は、接続要求待ち受けに戻らず、終了する。なお、メソッ KacceptRequestToStore ()は、引数に NetDeviceオブジェクトをとり、この引数に よって放送受信装置 3902が与えられる構成であっても良い。この場合、上記の処理 に加え、待ち受けしている Socketオブジェクトに接続してきた装置が、引数で与えら れた装置でなければ、接続要求を受け入れな 、ことを行う。
メソッド acceptRequestToTransfer Oは、呼び出されると、別のスレッドもしくはプ 口セスを生成し、その上で動作する。まず、ネットワーク 3907に接続された装置から の接続を受け付ける Socketオブジェクトを生成し、接続要求を待ち受ける。接続要 求がくれば、制御情報通信部 6602のメソッド getRequestMessage ()を呼び出して 、要求メッセージを受信する。受信した要求メッセージが、放送受信装置 3902からの 、あるマルチメディアデータを蓄積しているか否かの問合せであれば、まず要求メッ セージからマルチメディアデータの識別子を取り出す。次に、 Javaライブラリ 6504の 中の IO6504fを通じて、蓄積しているコンテンツの一覧を読み出し、取り出した識別 子と照合することで、該マルチメディアデータを蓄積している力否かを判定する。続い て、制御情報通信部 6602のメソッド sendResponseMessage ()を呼び出すことで判 定結果を返信し、接続要求の待ち受けに戻る。受信した要求メッセージが、放送受 信装置 3902からの、あるマルチメディアデータの送信要求であれば、まず、要求メッ セージから送信先の端末と送信するマルチメディアデータの識別子を取り出す。続ヽ て、 IO6504fを通じて該マルチメディアデータを読み出す InputStreamを取得する 。そして、データ送信部 6604のメソッド sendMultimediaData Oを呼び出すことに より、該端末に該マルチメディアデータを送信する。データ送信が終われば、属性管 理部 6605のメソッド updateAttribute Oを呼び出して、属性情報の更新を行い、接 続要求の待ち受けに戻る。受信した要求メッセージ力 端末などからのマルチメディ ァデータ送信要求であれば、まず、要求メッセージカゝら送信するマルチメディアデー タの識別子を取り出す。続いて、 IO6504fを通じて該マルチメディアデータを読み出 す InputStreamを取得する。そして、データ送信部 6604のメソッド sendMultimedi aData Oを呼び出すことにより、該端末に該マルチメディアデータを送信する。デー タ送信が終われば、属性管理部 6605のメソッド updateAttribute ()を呼び出して、 属性情報の更新を行い、接続要求の待ち受けに戻る。なお、接続要求を受け付ける と、さらに、別スレッドもしくはプロセスを生成して、以降の処理は該別スレッドもしくは プロセスで動作し、もとのスレッドもしくはプロセスは接続要求の待ち受けに戻る構成 であっても良い。この場合、該別スレッドもしくはプロセス上の処理は、接続要求待ち 受けに戻らず、終了する。
[0589] メソッド getMultimediaData ()は、呼び出されると、まず、引数 devで与えられた装 置に接続する Socketオブジェクトを生成し、該装置に接続する。続いて、引数 idで 与えられたマルチメディアデータの送信要求メッセージを、 idの値を含めて作成し、 制御情報通信部 6602のメソッド sendRequestMessage ()を呼び出すことで、該装 置に送信する。続いて、データ受信部 6603のメソッド openRemoteProgram Oを呼 び出すことにより、該マルチメディアデータを受信する InputStreamオブジェクトを生 成する。続いて、該 InputStreamからデータを読み出し、引数 osで与えられた Outp utStreamに書き出す。受信データを全て書き込めば処理を終了する。本メソッドに より、メソッド getContentList Oもしくは getEPGData Oによって取得したコンテンツ 一覧の中のコンテンツに対して、そのマルチメディアデータを受信して、再生や蓄積 が行える。
[0590] 端末 3905および端末 3906は、上記した映像蓄積装置 3903および映像蓄積装 置 3904のうち、マルチメディアデータの再生に関する構成要素のみで構成されたも のであるため、詳細説明は省略する。
[0591] (実施の形態 4の変形例)
本発明の実施の形態 4について説明してきたが、本発明は、上記実施の形態に限 定されるものではない。以下のような場合も、本発明に含まれる。
[0592] (1)放送受信装置 3902は、さらに、第 2メモリ 4303にマルチメディアデータを蓄積 し、 Javaライブラリ 4505の中のネットワークライブラリ 4505eの選択部 5404は、放送 受信装置 3902と、ネットワーク 3907に接続された映像蓄積装置のうちひとつを選択 する構成であっても良い。また、放送受信装置 3902は、さらに、端末力も-ァ VoD 番組視聴の要求を受けたときに、ネットワーク 3907に接続された映像蓄積装置と、 放送受信装置 3902の蓄積部に、該コンテンツのマルチメディアデータが蓄積されて いる力否かを検索し、放送受信装置 3902の蓄積部に蓄積されている場合は、該マ ルチメディアデータを該視聴要求を発行した端末に送信する構成であっても良 、。
[0593] (2)また、放送受信装置 3902は、マルチメディアデータに所定の暗号ィ匕を行って、 映像蓄積装置 3903および映像蓄積装置 3904に、暗号化されたマルチメディアデ ータを送信する構成であっても良い。また、映像蓄積装置 3903および映像蓄積装 置 3904は、受信した暗号ィ匕されたマルチメディアデータを復号して、蓄積部 4102 に蓄積する構成であっても良いし、さらに、所定の暗号ィ匕を施して蓄積する構成であ つても良い。
[0594] また、放送受信装置 3902、映像蓄積装置 3903および映像蓄積装置 3904は、端 末 3905および端末 3906へマルチメディアデータを送信するときに、該マルチメディ ァデータに所定の暗号化を施し、暗号化されたマルチメディアデータを送信し、端末 3905および端末 3906にお 、て、受信した暗号ィ匕されたマルチメディアデータを復 号して再生する構成であっても良い。
[0595] (3)また、上記実施の形態においては、放送受信装置 3902の Javaライブラリ 4505 の中のネットワークライブラリ 4505eの選択部 5404の選択のアルゴリズムの例を記述 したが、これらのアルゴリズムに限らないことは言うまでもない。例えば、放送受信装 置 3902は、映像受信装置を順に選択する構成であっても良い。また、映像蓄積装 置の利用頻度によって選択しても良い。さらに、映像蓄積装置にユーザの操作によ つて蓄積されたマルチメディアデータのジャンル、番組名、出演者など個別の蓄積頻 度と、マルチメディアデータのジャンル、番組名、出演者などとを照らし合わせて、映 像蓄積装置の選択を行っても良い。さらに、映像蓄積装置にユーザの操作によって 再生もしくは出力されたマルチメディアデータのジャンル、番組名、出演者など個別 の蓄積頻度と、マルチメディアデータのジャンル、番組名、出演者などとを照らし合わ せて、映像蓄積装置の選択を行っても良い。さらに、例えば、端末 3905で利用され る頻度の高いマルチメディアデータならば映像蓄積装置 3903を、端末 3906で利用 される頻度の高 、マルチメディアデータならば映像蓄積装置 3904を、それぞれ選択 すると!/、つたような、端末との組み合わせによる選択であっても良!、。 [0596] (4)また、上記実施の形態においては、放送受信装置 3902が、映像蓄積装置 39 03および映像蓄積装置 3904と通信することにより、ユア VoD番組視聴要求のあつ たコンテンツのマルチメディアデータが蓄積されて 、る力否かを判定する、としたが、 放送受信装置 3902が、映像蓄積装置 3903および映像蓄積装置 3904に蓄積させ たマルチメディアデータを記憶しておき、その内容より判定する構成であっても良い。
[0597] (5)また、上記実施の形態にお!、ては、端末より視聴要求のあった-ァ VoD番組 のマルチメディアデータ力 映像蓄積装置 3903もしくは映像蓄積装置 3904のいず れかに蓄積されていた場合、放送受信装置 3902は、蓄積している映像蓄積装置に 、該視聴要求を発行した端末への該マルチメディアデータの送信要求を発行し、該 端末へは、該映像蓄積装置力ゝら該マルチメディアデータが送信されてくることを通知 する、としたが、放送受信装置 3902は、該映像蓄積装置と課金などの権利処理を行 い、該端末へ該映像蓄積装置を通知し、該端末から該映像蓄積装置へ、該マルチメ ディアデータの送信要求を発行する構成であっても良 、。
[0598] (6)また、上記実施の形態にお!、ては、端末より視聴要求のあった-ァ VoD番組 用のマルチメディアデータ力 映像蓄積装置 3903もしくは映像蓄積装置 3904のい ずれかに蓄積されて 、た場合、放送受信装置 3902と該映像蓄積装置が通信して、 課金など該マルチメディアデータの利用に伴う権利処理を行うこととした力 放送受 信装置 3902と、視聴要求を発行した端末とが通信して、上記権利処理を行う構成で あっても良い。もしくは、映像蓄積装置および端末と通信することなぐ放送受信装置 3902が権利処理を行う構成であっても良い。
[0599] また、上記実施の形態にお!、ては、マルチメディアデータの利用に伴う、課金など の権利処理を、マルチメディアデータの送信要求を発行する時に行うとしたが、マル チメディアデータの利用終了後に行う構成であっても良い。また、該マルチメディアデ ータの利用回数や、利用区間などによって、課金する金額を変える構成であっても 良い。
[0600] (7)また、上記実施の形態においては、ひとつのマルチメディアデータは、ひとつの 映像蓄積装置に蓄積するとしたが、該マルチメディアデータを分割して、複数の映像 蓄積装置に、分散して蓄積する構成であっても良い。あるいは、ひとつのマルチメデ ィァデータを複数の映像蓄積装置に同時に蓄積する構成であっても良い。これにより 、複数の端末力 同じマルチメディアデータの要求が有った場合に、映像蓄積装置 が該端末に映像を送信する負荷を分散することが可能となる。
[0601] (8)また、放送受信装置 3902は、さらに、符号化されたマルチメディアデータを作り 出す符号化部を備え、放送受信装置 3902は、送信するマルチメディアデータを一 且復号し、前記符号ィ匕部によって新たにマルチメディアデータを生成して送信する 構成であっても良い。また、映像蓄積装置 3903および映像蓄積装置 3904は、さら に、マルチメディアデータを復号する復号部と、符号化されたマルチメディアデータを 作り出す符号化部を備え、受信したマルチメディアデータを前記復号部で一且復号 し、前記符号ィ匕部で新たにマルチメディアデータを生成して蓄積する構成であっても 良い。
[0602] (9)また、上記実施の形態においては、ユア VoDと書いた力 通常放送の番組に ついても、あらかじめ蓄積しておくことで、再放送に対して同じ効果が得られる。
[0603] (10)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 前記コンピュータプログラムに従って動作することにより、シ ステム LSIは、その機能を達成する。
[0604] (11)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な ICカード又は単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0605] (12)本発明の放送受信装置、映像蓄積装置は、上記に示す方法であるとしてもよ い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょ 、し、前記コンピュータプログラム力もなるデジタル信号であるとしてもょ 、。
[0606] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルデ イスク、ノヽードディスク、 CD— ROM, MO、 DVD, DVD-ROM, DVD -RAM, B D (Blu-ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの 記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号である としてちよい。
[0607] また、本発明の放送受信装置、映像蓄積装置は、前記コンピュータプログラム又は 前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代 表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
[0608] また、本発明の放送受信装置、映像蓄積装置は、マイクロプロセッサとメモリとを備 えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶 しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作すると してちよい。
[0609] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
[0610] (13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/、。
産業上の利用可能性
[0611] 本発明にかかるマルチメディア配信システム、放送受信装置、映像蓄積装置、受信 端末は、ホームネットワークを用いた複数の端末から同時に異なる番組の視聴要求 が可能な環境において、あらかじめ VoD、ユア VoDなどで提供される番組のマルチ メディアデータを、放送受信装置や受信端末、映像蓄積装置に、適切に分散して蓄 積しておくことにより、番組視聴時のチューナ数不足の課題を解決し、また、放送受 信装置、受信端末、および、映像蓄積装置における蓄積のために必要な容量をそれ ぞれ少なく抑えることによりコストを低減し、さら〖こ、端末に映像を配信する際の放送 受信装置、映像蓄積装置の負荷を分散させることが可能であるという、優れた効果を 有するため、ケーブルテレビなど、ユア VoDもしくはそれに近い放送を受信する放送 受信装置、受信端末、マルチメディアデータ蓄積装置、および、これらの装置におい て実行される方法などとして有用である。
また、本発明にかかるマルチメディア配信システム、放送受信装置、映像蓄積装置 は、 VoDサービスなど、ユーザの要求に応じたマルチメディアコンテンツのデータ配 信を、ホームネットワークを用いた複数の端末から同時に要求可能な環境において、 あらかじめマルチメディアデータを、放送受信装置や映像蓄積装置に、適切に分散 して蓄積しておくことにより、放送受信装置と放送局間のマルチメディアデータ伝送 の帯域消費を分散させることで、一度に必要な帯域消費を低減し、また、放送受信装 置および映像蓄積装置における蓄積のために必要な容量をそれぞれ少なく抑えるこ とによりコストを低減し、さらに、 VoDサービス利用時の放送局、放送受信装置、映像 蓄積装置の負荷を分散させることが可能であるという、優れた効果を有するため、ケ 一ブルテレビなど、オンデマンドサービスを提供するサービスの受信装置、およびマ ルチメディアデータ蓄積装置および方法などとして有用である。

Claims

請求の範囲
[1] 放送局に設置された装置から映像および音声の少なくとも一方を含むマルチメディ ァデータを受信する、ネットワークに接続された放送受信装置であって、
前記放送局に設置された装置力 マルチメディアデータを受信するデータ受信手 段と、
マルチメディアデータを蓄積する複数の映像蓄積装置と、前記ネットワークを介して 通信する情報通信手段と、
前記複数の映像蓄積装置のうち、ひとつを選択する選択手段と、
前記データ受信手段が受信したマルチメディアデータを、前記ネットワークを介して 出力するデータ出力手段とを備え、
前記情報通信手段は、前記選択手段が選択した映像蓄積装置へマルチメディア データの蓄積要求を送信し、
前記データ出力手段は、前記データ受信手段が受信したマルチメディアデータを、 前記選択手段が選択した映像蓄積装置へ出力する
ことを特徴とする放送受信装置。
[2] 前記選択手段は、前記マルチメディアデータの属性をもとに、映像蓄積装置を選択 する
ことを特徴とする請求項 1に記載の放送受信装置。
[3] 前記選択手段は、前記マルチメディアデータの内容のジャンルをもとに、映像蓄積 装置を選択する
ことを特徴とする請求項 2に記載の放送受信装置。
[4] 前記情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性 を受信し、
前記選択手段は、前記情報通信手段が受信した映像蓄積装置の属性をもとに、映 像蓄積装置を選択する
ことを特徴とする請求項 1に記載の放送受信装置。
[5] 前記情報通信手段は、前記ネットワークに接続された映像蓄積装置が利用される 頻度を示す利用頻度情報を受信し、 前記選択手段は、前記情報通信手段が受信した前記利用頻度情報をもとに、映像 蓄積装置を選択する
ことを特徴とする請求項 4に記載の放送受信装置。
[6] 前記情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性 を受信し、
前記選択手段は、前記マルチメディアデータの属性および前記情報通信手段が受 信した映像蓄積装置の属性をもとに、映像蓄積装置の選択を行う
ことを特徴とする請求項 1に記載の放送受信装置。
[7] 前記情報通信手段は、前記ネットワークに接続された映像蓄積装置が利用される 頻度を、利用されたマルチメディアデータの内容のジャンル毎の頻度を示す利用頻 度情報を受信し、
前記選択手段は、前記マルチメディアデータの内容のジャンルおよび前記利用頻 度情報をもとに、映像蓄積装置を選択する
ことを特徴とする請求項 6に記載の放送受信装置。
[8] さらに、マルチメディアデータを蓄積する蓄積手段と、
前記蓄積手段にデータを書き込む書込手段とを備え、
前記選択手段は、前記蓄積手段と前記ネットワークに接続された複数の映像蓄積 装置のうち、ひとつを選択し、
前記書込手段は、前記選択手段が前記蓄積手段を選択した場合に、前記マルチメ ディアデータを前記蓄積手段に書き込む
ことを特徴とする請求項 1に記載の放送受信装置。
[9] さらに、前記放送局に設置された装置にデータ送信要求を送信する要求送信手段 を備え、
前記データ受信手段は、前記要求送信手段が要求したマルチメディアデータを受 信する
ことを特徴とする請求項 1に記載の放送受信装置。
[10] さらに、放送される番組から特定のものを選択する番組選択手段を備え、
前記データ受信手段は、前記番組選択手段が選択した番組のマルチメディアデー タを受信する
ことを特徴とする請求項 1に記載の放送受信装置。
[11] さらに、 Java (登録商標)アプリケーションを実行する Java実行手段を備え、
前記データ受信手段は、前言 gjava実行手段により実行される Javaアプリケーション カゝら前記マルチメディアデータの識別子を受け付け、受け付けた該識別子が示すマ ルチメディアデータを受信し、
前記選択手段は、前言 gjava実行手段により実行される Javaアプリケーション力 前 記マルチメディアデータの識別子を受け付けると、映像蓄積装置を選択することを特 徴とする請求項 1に記載の放送受信装置。
[12] 前記選択手段は、前記マルチメディアデータの属性をもとに、映像蓄積装置を選択 する
ことを特徴とする請求項 11に記載の放送受信装置。
[13] 前記情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性 を受信し、
前記選択手段は、前記情報通信手段が受信した映像蓄積装置の属性をもとに、映 像蓄積装置を選択する
ことを特徴とする請求項 11に記載の放送受信装置。
[14] 前記情報通信手段は、さらに、前記ネットワークに接続された映像蓄積装置の属性 を受信し、
前記選択手段は、前記マルチメディアデータの属性および前記情報通信手段が受 信した映像蓄積装置の属性をもとに、映像蓄積装置を選択する
ことを特徴とする請求項 11に記載の放送受信装置。
[15] さらに、マルチメディアデータを蓄積する蓄積手段と、
前記蓄積手段にデータを書き込む書込手段とを備え、
前記選択手段は、前記蓄積手段と前記ネットワークに接続された複数の映像蓄積 装置とのうち、ひとつを選択し、
前記書込手段は、前記選択手段が前記蓄積手段を選択した場合に、前記マルチメ ディアデータを前記蓄積手段に書き込む ことを特徴とする請求項 11に記載の放送受信装置。
[16] さらに、前言 gjava実行手段により実行される Javaアプリケーション力 マルチメディ ァデータの識別子を受け付け、該識別子が示すマルチメディアデータの送信要求を 前記放送局に送信する要求送信手段を備え、
前記データ受信手段は、前記要求送信手段が要求したマルチメディアデータを受 信する
ことを特徴とする請求項 11に記載の放送受信装置。
[17] さらに、放送される番組から特定のものを選択する番組選択手段を備え、
前記番組選択手段は、前言 gjava実行手段により実行される Javaアプリケーションの 要求に応じて、選択した番組に対応するマルチメディアデータの識別子を前言 gjava 実行手段により実行される Javaアプリケーションへ引き渡す
ことを特徴とする請求項 11に記載の放送受信装置。
[18] 放送局に設置された装置から映像および音声の少なくとも一方を含むマルチメディ ァデータを受信する、ネットワークに接続された放送受信装置において実行される放 送受信方法であって、
前記放送局に設置された装置力 マルチメディアデータを受信するデータ受信ス テツプと、
マルチメディアデータを蓄積する複数の映像蓄積装置と、前記ネットワークを介して 通信する情報通信ステップと、
前記複数の映像蓄積装置のうち、ひとつを選択する選択ステップと、
前記データ受信ステップで受信したマルチメディアデータを、前記ネットワークを介 して出力するデータ出力ステップとを備え、
前記情報通信ステップは、前記選択ステップが選択した映像蓄積装置へマルチメ ディアデータの蓄積要求を送信し、
前記データ出力ステップは、前記データ受信ステップが受信したマルチメディアデ ータを、前記選択ステップが選択した映像蓄積装置へ出力する
ことを特徴とする放送受信方法。
[19] 放送局から映像および音声の少なくとも一方を含むマルチメディアデータを受信す る放送受信装置とネットワークを介して接続され、マルチメディアデータを蓄積する映 像蓄積装置であって、
Javaアプリケーションを実行する Java実行手段と、
マルチメディアデータを蓄積する蓄積手段と、
前記ネットワークを介して接続された放送受信装置と通信する情報通信手段と、 前記ネットワークを介して前記放送受信装置力 マルチメディアデータを受信する データ受信手段と、
前記ネットワークを介して前記蓄積手段に蓄積したマルチメディアデータを送信す るデータ送信手段とを備え、
前記情報通信手段は、前 gjavaアプリケーションから前記放送受信装置と通信す るためのアドレス情報が引き渡された場合に、前記放送受信装置力 属性の問合せ を受信すれば、前記映像蓄積装置自身の属性を示す属性情報を前記放送受信装 置へ送信し、
前記データ受信手段は、前 ¾Javaアプリケーションから前記放送受信装置と通信 するためのアドレス情報が引き渡され、前記情報通信手段が該放送受信装置から蓄 積要求を受信した場合に、該放送受信装置からマルチメディアデータを受信し、受 信した該マルチメディアデータを前記蓄積手段に蓄積し、
前記データ送信手段は、前 ¾Javaアプリケーションから前記放送受信装置と通信 するためのアドレス情報が引き渡され、該前記放送受信装置から前記蓄積手段に蓄 積されているマルチメディアデータの送信要求と送信先となるネットワークに接続され た装置の情報とを受信した場合に、該マルチメディアデータを、該情報に示される前 記送信先装置へ送信する
ことを特徴とする映像蓄積装置。
[20] さらに、マルチメディアデータの送信要求を受信した場合に、該マルチメディアデー タの利用に伴う権利処理を行う権利処理手段を備える
ことを特徴とする請求項 19に記載の映像蓄積装置。
[21] 放送局から映像および音声の少なくとも一方を含むマルチメディアデータを受信す る放送受信装置とネットワークを介して接続され、 Javaアプリケーションを実行する Java実行手段と、
マルチメディアデータを蓄積する蓄積手段とを備える映像蓄積装置において実行 されるデータ処理方法であって、
前記ネットワークを介して接続された放送受信装置と通信する情報通信ステップと、 前記ネットワークを介して前記放送受信装置力 マルチメディアデータを受信する データ受信ステップと、
前記ネットワークを介して前記蓄積手段に蓄積したマルチメディアデータを送信す るデータ送信ステップとを含み、
前記情報通信ステップにお 、て、前言 gjavaアプリケーションから前記放送受信装置 と通信するためのアドレス情報が引き渡された場合に、前記放送受信装置から属性 の問合せを受信すれば、前記映像蓄積装置自身の属性を示す属性情報を前記放 送受信装置へ送信し、
前記データ受信ステップにお 、て、前言 gjavaアプリケーション力も前記放送受信装 置と通信するためのアドレス情報が引き渡され、前記情報通信手段が前記放送受信 装置力 蓄積要求を受信した場合に、該放送受信装置力 マルチメディアデータを 受信し、受信した該マルチメディアデータを前記蓄積手段に蓄積し、
前記データ送信ステップにお 、て、前言 gjavaアプリケーション力 前記放送受信装 置と通信するためのアドレス情報が引き渡され、該放送受信装置から前記蓄積手段 に蓄積されているマルチメディアデータの送信要求と送信先となるネットワークに接 続された装置の情報とを受信した場合に、該マルチメディアデータを、該情報に示さ れる前記送信先装置へ送信する
ことを特徴とするデータ処理方法。
VoD (Video On Demand)サービスを提供する放送局に設置された装置から映 像および音声の少なくとも一方を含むマルチメディアデータを受信する、ネットワーク に接続された放送受信装置であって、
前記放送局に設置された装置に、マルチメディアデータ送信要求を送信する要求 送信手段と、
マルチメディアデータを蓄積して ヽる映像蓄積装置と、前記ネットワークを介して通 信する情報通信手段とを備え、
前記情報通信手段は、ユーザが操作する端末装置から VoDの要求を受けた場合 に、前記映像蓄積装置と前記ネットワークを介して通信することにより、前記 VoDの 要求に係るマルチメディアデータが蓄積されて 、る力否かを示す情報を取得し、蓄 積されて!ヽることを示す情報を取得した場合に、該情報を送信した映像蓄積装置に 、前記 VoDの要求に係るマルチメディアデータを前記ユーザが操作する端末装置へ 送信するための送信要求を送信し、
前記要求送信手段は、蓄積されていないことを示す情報を取得した場合に、前記 放送局に設置された装置に、前記 VoDの要求に係るマルチメディアデータの送信要 求を送信し、前記送信要求に応じて送信された前記 VoDの要求に係るマルチメディ ァデータを受信し、前記ユーザが操作する端末装置へ前記受信した VoDの要求に 係るマルチメディアデータを送信する
ことを特徴とする請求項 1に記載の放送受信装置。
[23] さらに、前記映像蓄積装置に蓄積されているマルチメディアデータの送信要求を送 信する場合に、該マルチメディアデータの利用に伴う権利処理を行う権利処理手段 を備える
ことを特徴とする請求項 22に記載の放送受信装置。
[24] さらに、 Javaアプリケーションを実行する Java実行手段と、
前記放送局に設置された装置に、マルチメディアデータ送信要求を送信する要求 送信手段と、
マルチメディアデータを蓄積して ヽる映像蓄積装置と、前記ネットワークを介して通 信する情報通信手段と、
前記情報通信手段は、前言 gjava実行手段により実行される Javaアプリケーションか らマルチメディアデータの識別子を受け付けた場合に、前記映像蓄積装置と前記ネ ットワークを介して通信することにより、前記 VoDの要求に係るマルチメディアデータ が蓄積されて 、るか否かを示す情報を取得する
ことを特徴とする請求項 22に記載の放送受信装置。
[25] さらに、前記映像蓄積装置に蓄積されているマルチメディアデータの送信要求を送 信する場合に、該マルチメディアデータの利用に伴う権利処理を行う権利処理手段 を備える
ことを特徴とする請求項 24に記載の放送受信装置。
放送局に設置された装置から映像および音声の少なくとも一方を含むマルチメディ ァデータを受信する放送受信装置と、マルチメディアデータを蓄積する映像蓄積装 置とがネットワークにより接続されたマルチメディア配信システムであって、
前記放送受信装置は、
前記放送局に設置された装置力 マルチメディアデータを受信するデータ受信手 段と、
マルチメディアデータを蓄積する複数の映像蓄積装置と、前記ネットワークを介して 通信する情報通信手段と、
前記複数の映像蓄積装置のうち、ひとつを選択する選択手段と、
前記データ受信手段が受信したマルチメディアデータを、前記ネットワークを介して 出力するデータ出力手段とを備え、
前記情報通信手段は、前記選択手段が選択した映像蓄積装置へマルチメディア データの蓄積要求を送信し、
前記データ出力手段は、前記データ受信手段が受信したマルチメディアデータを、 前記選択手段が選択した映像蓄積装置へ出力し、
前記映像蓄積装置は、
Javaアプリケーションを実行する Java実行手段と、
マルチメディアデータを蓄積する蓄積手段と、
前記ネットワークを介して接続された放送受信装置と通信する情報通信手段と、 前記ネットワークを介して前記放送受信装置力 マルチメディアデータを受信する データ受信手段と、
前記ネットワークを介して前記蓄積手段に蓄積したマルチメディアデータを送信す るデータ送信手段とを備え、
前記情報通信手段は、前 gjavaアプリケーションから前記放送受信装置と通信す るためのアドレス情報が引き渡された場合に、前記放送受信装置力 属性の問合せ を受信すれば、前記映像蓄積装置自身の属性を示す属性情報を前記放送受信装 置へ送信し、
前記データ受信手段は、前 ¾Javaアプリケーションから前記放送受信装置と通信 するためのアドレス情報が引き渡され、前記情報通信手段が前記放送受信装置から 蓄積要求を受信した場合に、該放送受信装置力 マルチメディアデータを受信し、 受信した該マルチメディアデータを前記蓄積手段に蓄積し、
前記データ送信手段は、前 ¾Javaアプリケーションから前記放送受信装置と通信 するためのアドレス情報が引き渡され、該前記放送受信装置から前記蓄積手段に蓄 積されているマルチメディアデータの送信要求と送信先となるネットワークに接続され た装置の情報とを受信した場合に、該マルチメディアデータを、該情報に示される前 記送信先装置へ送信する
ことを特徴とするマルチメディア配信システム。
PCT/JP2006/324014 2005-12-22 2006-11-30 放送受信装置、映像蓄積装置およびマルチメディア配信システム WO2007072670A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002634024A CA2634024A1 (en) 2005-12-22 2006-11-30 Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
US11/990,344 US20090222867A1 (en) 2005-12-22 2006-11-30 Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-370923 2005-12-22
JP2005370923 2005-12-22
JP2005-370924 2005-12-22
JP2005370924 2005-12-22

Publications (1)

Publication Number Publication Date
WO2007072670A1 true WO2007072670A1 (ja) 2007-06-28

Family

ID=38188451

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/324014 WO2007072670A1 (ja) 2005-12-22 2006-11-30 放送受信装置、映像蓄積装置およびマルチメディア配信システム

Country Status (4)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033730A1 (ja) * 2009-09-15 2011-03-24 ソニー株式会社 情報処理装置、データ管理方法、およびプログラム
US8219753B2 (en) 2009-07-13 2012-07-10 Sony Corporation Resource management cache to manage renditions
JP2014135756A (ja) * 2014-03-05 2014-07-24 Sony Corp 情報処理装置、データ管理方法、およびプログラム
EP2770651A3 (en) * 2008-05-19 2014-10-22 Qualcomm Incorporated System, method, and apparatus for increasing a likelihood of advertisement display
JP2015073322A (ja) * 2008-09-03 2015-04-16 ティーキューティーブイディー ソフトウェア エルティーディーエーTqtvd Software Ltda デジタルテレビ用アプリケーション実行システム、デジタルテレビ用アプリケーション実行装置、および該システムの実装方法

Families Citing this family (13)

* 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 삼성전자주식회사 홈 네트워크에서 인증 정보를 관리하는 방법 및 그 장치
WO2010039126A1 (en) * 2008-09-30 2010-04-08 Hewlett-Packard Development Company, L.P. Nas-based multimedia file distribution service
KR101708682B1 (ko) * 2010-03-03 2017-02-21 엘지전자 주식회사 영상표시장치 및 그 동작 방법.
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

Citations (9)

* 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 カラオケ装置およびカラオケシステム
JP2000356985A (ja) * 1999-06-15 2000-12-26 Yamaha Corp カラオケシステム
JP2002540684A (ja) * 1999-03-23 2002-11-26 インフォリブリア・インコーポレーテッド ビデオを選択的にキャッシングすることによりオン・デマンド応答時間を改良する装置
JP2003087765A (ja) * 2001-09-12 2003-03-20 Pioneer Electronic Corp 加入者端末への視聴情報提供装置
JP2004056394A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd Lanを介して取込装置および蓄積装置を制御するための制御装置、およびそのための取込装置、蓄積装置、プログラムおよび方法
JP2004086317A (ja) * 2002-08-23 2004-03-18 Fujitsu Ltd 負荷分散方法及び装置
JP2004511975A (ja) * 2000-10-11 2004-04-15 ユナイテッド ビデオ プロパティーズ, インコーポレイテッド メディアオンデマンドシステム内のデータをキャッシングするためのシステムおよび方法
JP2004531104A (ja) * 2000-11-28 2004-10-07 シーチェンジ インターナショナル, インク. コンテンツ/サービス処理及び配信
JP2005518110A (ja) * 2001-06-15 2005-06-16 インテル・コーポレーション 多段階の配信システムを使用してコンテンツを配信する方法および装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088645A1 (en) * 2002-04-12 2003-10-23 Koninklijke Philips Electronics N.V. Downloading of programs into broadcast-receivers
JP2005102150A (ja) * 2003-08-29 2005-04-14 Matsushita Electric Ind Co Ltd 放送受信装置
EP1886490B1 (en) * 2005-05-31 2009-04-22 Panasonic Corporation Broadcast receiving terminal
WO2006129819A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal and program execution method
WO2007072959A1 (en) * 2005-12-19 2007-06-28 Matsushita Electric Industrial Co., Ltd. Broadcast receiving apparatus

Patent Citations (9)

* 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 カラオケ装置およびカラオケシステム
JP2002540684A (ja) * 1999-03-23 2002-11-26 インフォリブリア・インコーポレーテッド ビデオを選択的にキャッシングすることによりオン・デマンド応答時間を改良する装置
JP2000356985A (ja) * 1999-06-15 2000-12-26 Yamaha Corp カラオケシステム
JP2004511975A (ja) * 2000-10-11 2004-04-15 ユナイテッド ビデオ プロパティーズ, インコーポレイテッド メディアオンデマンドシステム内のデータをキャッシングするためのシステムおよび方法
JP2004531104A (ja) * 2000-11-28 2004-10-07 シーチェンジ インターナショナル, インク. コンテンツ/サービス処理及び配信
JP2005518110A (ja) * 2001-06-15 2005-06-16 インテル・コーポレーション 多段階の配信システムを使用してコンテンツを配信する方法および装置
JP2003087765A (ja) * 2001-09-12 2003-03-20 Pioneer Electronic Corp 加入者端末への視聴情報提供装置
JP2004056394A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd Lanを介して取込装置および蓄積装置を制御するための制御装置、およびそのための取込装置、蓄積装置、プログラムおよび方法
JP2004086317A (ja) * 2002-08-23 2004-03-18 Fujitsu Ltd 負荷分散方法及び装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2770651A3 (en) * 2008-05-19 2014-10-22 Qualcomm Incorporated System, method, and apparatus for increasing a likelihood of advertisement display
US8954042B2 (en) 2008-05-19 2015-02-10 Qualcomm Incorporated System, method, and apparatus for increasing a likelihood of advertisement display
JP2015073322A (ja) * 2008-09-03 2015-04-16 ティーキューティーブイディー ソフトウェア エルティーディーエーTqtvd Software Ltda デジタルテレビ用アプリケーション実行システム、デジタルテレビ用アプリケーション実行装置、および該システムの実装方法
US8219753B2 (en) 2009-07-13 2012-07-10 Sony Corporation Resource management cache to manage renditions
WO2011033730A1 (ja) * 2009-09-15 2011-03-24 ソニー株式会社 情報処理装置、データ管理方法、およびプログラム
JP2011066556A (ja) * 2009-09-15 2011-03-31 Sony Corp 情報処理装置、データ管理方法、およびプログラム
US9154833B2 (en) 2009-09-15 2015-10-06 Sony Corporation Information processing apparatus, data management method, and program
US10547901B2 (en) 2009-09-15 2020-01-28 Saturn Licensing Llc Information processing apparatus, data management method, and program
JP2014135756A (ja) * 2014-03-05 2014-07-24 Sony Corp 情報処理装置、データ管理方法、およびプログラム

Also Published As

Publication number Publication date
KR20080078829A (ko) 2008-08-28
CA2634024A1 (en) 2007-06-28
US20090222867A1 (en) 2009-09-03

Similar Documents

Publication Publication Date Title
WO2007072670A1 (ja) 放送受信装置、映像蓄積装置およびマルチメディア配信システム
US9264757B2 (en) Service executing apparatus
US20090193101A1 (en) Multimedia data transmitting apparatus and multimedia data management method
US20080172712A1 (en) Multimedia data transmitting apparatus, multimedia data receiving apparatus, multimedia data transmitting method, and multimedia data receiving method
US8307393B2 (en) Method of processing non-real time service and broadcast receiver
US20090300231A1 (en) Data output device, equipment control device, and multimedia delivery system
US20090106801A1 (en) Content processing device and content processing method
US7950039B2 (en) Multimedia data transmitting apparatus and multimedia data receiving apparatus
US20030009769A1 (en) Trusted application level resource advisor
US9191717B2 (en) Method for processing non-real timeservice and broadcast receiver
US20100262674A1 (en) Data transmitting apparatus, data receiving apparatus, data transmitting method and data receiving method
KR20050040752A (ko) 방송 수신 장치
WO2006080361A1 (ja) ダウンロード実行装置
KR20110103982A (ko) 비실시간 서비스 처리 방법 및 방송 수신기
US8302131B2 (en) Method of processing non-real time service and broadcast receiver
US20080141323A1 (en) Content information outputting apparatus, content information receiving apparatus, content information outputting method, content information receiving method
JPWO2005099250A1 (ja) プログラム実行装置
JP2005073239A (ja) サービス実行装置
JP2005160040A (ja) 放送受信装置
KR101549008B1 (ko) 디지털 방송 장치에서 입출력 단자의 상태 관리 방법 및 장치
JP4378778B2 (ja) 受信装置および受信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11990344

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: MX/a/2008/006647

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2634024

Country of ref document: CA

Ref document number: 1020087014114

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06833817

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP