# Patent

## Title
Receiving device, receiving method, providing device, providing method, programs, and broadcasting system

## Abstract

This technique relates to a receiving device, a receiving method, a providing device, a providing method, a program and a broadcasting system that can notify the receiving side of control information such as the timing to synchronize an application program with progress of a show without using a television broadcast signal.
When the application control type written in the application control descriptor is 3, the receiving device acquires application control data from a server, and, for example, acquires and starts a new information service application in accordance with the segment data forming the application control data. When an external device is designated as the command destination device, the receiving device generates a command for the external device, and outputs the command to the external device. In accordance with the command from the receiving device, the external device, for example, acquires and starts the new information service application. This disclosure can be applied in a case where the receiving device is controlled from the broadcasting side.

## Background
TECHNICAL FIELD
This disclosure relates to receiving devices, receiving methods, providing devices, providing methods, programs, and broadcasting systems, and more particularly, to a receiving device, a receiving method, a providing device, a providing method, programs, and a broadcasting system that are designed to control operations for a predetermined application program in synchronization with progress of a digital television broadcast show.
BACKGROUND ART
In digital television broadcasting, not only television show broadcasting services but also so-called data broadcasting services have already been realized (see Patent Document 1, for example). Future introduction of more sophisticated services into digital television broadcasting by taking advantage of the Internet is now being considered.
Specifically, a technique of providing an application program that runs in synchronization with progress of a show to the receiving device side via the Internet and controlling the running is being considered, for example.
CITATION LIST
Patent Document


    Patent Document 1: Japanese Patent Application Laid-Open No. 2006-50237


SUMMARY OF THE INVENTION
Problems to be Solved by the Invention
When more sophisticated services are introduced into digital television broadcasting by taking advantage of the Internet, there will be a need to make measured modifications to the existing broadcast system for digital television broadcasting, so as to secure operations of receiving devices such as the existing digital television receivers, and take the limited broadcast band into consideration.
Operations for a show by the broadcasting organization are preferably independent of operations for the above described application program by the application program provider. To fulfill such a request, it is necessary to develop a method of providing the receiving side with the control information for notifying the receiving side of the timing to synchronize the application program with progress of the show, without using a broadcast signal.
This disclosure has been developed in view of those circumstances, and the object thereof is to provide the receiving side with the control information such as the timing to synchronize the application program with progress of a show or the like, without using a television broadcast signal.
Solutions to Problems
A receiving device as a first aspect of this disclosure is a receiving device that receives content broadcast via a broadcasting network. The receiving device includes: a receiving unit that receives a broadcast signal broadcast via the broadcasting network; an application control data acquiring unit that acquires application control data from a predetermined server via a network, the application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and an application control data analyzing unit that performs an operation related to the predetermined application program, in accordance with the application control data.
The receiving device as the first aspect of this disclosure may further include an application control descriptor acquiring unit that acquires an application control descriptor from the received broadcast signal. The application control data acquiring unit may acquire the application control data containing the command related to the predetermined application program to be run in synchronization with progress of the content, from the server designated by the acquired application control descriptor.
The application control data acquiring unit may acquire the application control data from the server via the network, in accordance with the application control type written in the acquired application control descriptor.
The application control data may be formed with a segment sequence including sets of segment data, and each of the sets of segment data may be formed with a segment valid period and command data or metadata.
The segment valid period may be written by using the PTS (presentation time stamp) of the corresponding content.
The command data may contain a command for acquiring, starting, suspending, or ending the predetermined application program, or causing the predetermined application program to fire an event.
The metadata may be subtitles data of the corresponding content.
The receiving device as the first aspect of this disclosure may further include an application control descriptor analyzing unit that performs an operation related to the predetermined application program in accordance with the application control descriptor, when the application control data is not acquired from the server in accordance with the application control type written in the acquired application control descriptor.
A receiving method as the first aspect of this disclosure is a receiving method for a receiving device that receives content broadcast via a broadcasting network. The receiving method includes: a receiving step of receiving a broadcast signal broadcast via the broadcasting network; an application control data acquiring step of acquiring application control data from a predetermined server via a network, the application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and an application control data analyzing step of performing an operation related to the predetermined application program, in accordance with the application control data, the steps being carried out by the receiving device.
A program as the first aspect of this disclosure is a program for a computer that receives content broadcast via a broadcasting network. The program causes the computer to function as: a receiving unit that receives a broadcast signal broadcast via the broadcasting network; an application control data acquiring unit that acquires application control data from a predetermined server via a network, the application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and an application control data analyzing unit that performs an operation related to the predetermined application program, in accordance with the application control data.
In the first aspect of this disclosure, a broadcast signal that is broadcast via a broadcasting network is received, and application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content is acquired from a predetermined server via a network. In accordance with the application control data, an operation related to the predetermined application program is performed.
A providing device as a second aspect of this disclosure is a providing device that provides content to a receiving device via a broadcasting network. The providing device includes: a broadcasting unit that broadcasts a broadcast signal containing an application control descriptor and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and the server that provides the application control data to the receiving device via a network.
The application control data may be formed with a segment sequence including sets of segment data, and each of the sets of segment data may be formed with a segment valid period and command data or metadata.
The segment valid period may be written by using the PTS of the corresponding content.
The command data may contain a command for acquiring, starting, suspending, or ending the predetermined application program, or causing the predetermined application program to fire an event.
A providing method as the second aspect of this disclosure is a providing method for a providing device that provides content to a receiving device via a broadcasting network. The providing method includes: a broadcasting step of broadcasting a broadcast signal containing an application control descriptor and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and a providing step of providing the application control data to the receiving device via a network, the steps being carried out by the providing device.
A program as the second aspect of this disclosure is a program for a computer that provides content to a receiving device via a broadcasting network. The program causes the computer to function as: a broadcasting unit that broadcasts a broadcast signal containing an application control descriptor and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and the server that provides the application control data to the receiving device via a network.
In the second aspect of this disclosure, a broadcast signal containing an application control descriptor and content is broadcast via a broadcasting network, the application control descriptor containing information designating a server to provide application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content. The application control data is thus provided to the receiving device via a network.
A broadcasting system as a third aspect of this disclosure is a broadcasting system that provides content from a providing device to a receiving device via a broadcasting network. In this broadcasting system, the providing device includes: a broadcasting unit that broadcasts a broadcast signal containing an application control descriptor and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content; and the server that provides the application control data to the receiving device via a network. The receiving device includes: a receiving unit that receives the broadcast signal broadcast via the broadcasting network; an application control descriptor acquiring unit that acquires the application control descriptor from the received broadcast signal; an application control data acquiring unit that acquires the application control data from the server designated by the acquired application control descriptor via the network; and an application control data analyzing unit that performs an operation related to the predetermined application program, in accordance with the application control data.
In the third aspect of this disclosure, the providing device broadcasts via a broadcasting network a broadcast signal containing an application control descriptor and content, the application control descriptor containing information designating a server to provide application control data containing a command related to a predetermined application program to be run in synchronization with progress of the content. The providing device thus provides application control data to the receiving device via a network. Also, the receiving device receives the broadcast signal broadcast via the broadcasting network, and acquires the application control descriptor from the received broadcast signal. The receiving device acquires via the network the application control data from the server designated by the acquired application control descriptor, and performs an operation related to the predetermined application program in accordance with the application control data.
Effects of the Invention
According to the first aspect of this disclosure, application operations can be controlled in synchronization with progress of content, in accordance with application control data acquired from a server.
According to the second aspect of this disclosure, the application control data for controlling application operations in synchronization with progress of content can be provided from a server to a receiving device.
According to the third aspect of this disclosure, control information such as the timing to synchronize an application program with progress of content can be supplied to the receiving side, without using a television broadcast signal.



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram showing an example structure of a broadcasting system of this disclosure.
FIG. 2 is a diagram schematically showing the flow of information when the application control type is 1.
FIG. 3 is a diagram schematically showing the flow of information when the application control type is 2.
FIG. 4 is a diagram schematically showing the flow of information when the application control type is 3.
FIG. 5 is a block diagram showing an example structure of a receiving device.
FIG. 6 is a diagram showing the functional blocks contained in the analyzing unit of the receiving device.
FIG. 7 is a block diagram showing an example structure of an external device.
FIG. 8 is a diagram showing an example syntax of an application control descriptor.
FIG. 9 is a diagram showing information items in command information.
FIG. 10 shows an example syntax of command information.
FIG. 11 is a diagram showing the sequence in command information in a video stream.
FIG. 12 is a diagram showing the sequence in command information in a video stream.
FIG. 13 is a diagram showing examples of coded command information embedded in a video image.
FIG. 14 is a diagram showing the structure of application control data.
FIG. 15 is a diagram showing the data structure of a segment data sequence.
FIG. 16 is a diagram showing the structure of command data in segment data.
FIG. 17 is a diagram showing the structure of command data in segment data.
FIG. 18 is a diagram showing the structure of metadata in segment data.
FIG. 19 is a diagram showing the structure of bitmap subtitles data in the metadata.
FIG. 20 is a diagram showing the structure of text subtitles data in the metadata.
FIG. 21 is a diagram showing an example syntax of a segment data sequence.
FIG. 22 is a diagram showing an example syntax in a case where the metadata type of segment data is bitmap subtitles data.
FIG. 23 is a diagram showing an example of subtitles displayed by using the metadata (bitmap subtitles data) of segment data.
FIG. 24 is a diagram showing an example syntax in a case where the metadata type of segment data is text subtitles data.
FIG. 25 is a diagram showing an example of subtitles displayed by using the metadata (text subtitles data) of segment data.
FIG. 26 is a flowchart for explaining a new information service compliant operation to be performed by the receiving device.
FIG. 27 is a flowchart for explaining in detail a command information compliant operation.
FIG. 28 is a flowchart for explaining in detail an application control data compliant operation.
FIG. 29 is a diagram for explaining dispersed access to a server based on “diffusion”.
FIG. 30 shows state transitions of a new information service application.
FIG. 31 is a diagram for explaining a first operation scenario for a new information service application.
FIG. 32 is a diagram for explaining a second operation scenario for a new information service application.
FIG. 33 is a diagram for explaining a third operation scenario for a new information service application.
FIG. 34 is a diagram for explaining a fourth operation scenario for a new information service application.
FIG. 35 is a block diagram showing an example structure of a computer.



MODES FOR CARRYING OUT THE INVENTION
The following is a detailed description of best modes for carrying out this disclosure (hereinafter referred to as embodiments), with reference to the drawings.
<1. Embodiments>
[Example Structure of a Broadcasting System]
FIG. 1 shows a broadcasting system that is an embodiment. This broadcasting system 10 includes a broadcasting device 21 and a server 22 that are provided on the broadcasting side, and a receiving device 30 and an external device 40 that are provided on the receiving side.
This broadcasting system 10 realizes not only a programmed broadcasting service and a data broadcasting service like conventional television broadcasting services, but also novel services such as updating and displaying the information related to a currently received show or commercial in synchronization with the show or commercial (hereinafter referred to as the new information services). The new information services are realized by the receiving device 30 or the external device 40 executing an application program supplied from the server 22.
The broadcasting device 21 broadcasts a digital broadcast signal via a broadcasting network 2 such as a terrestrial digital broadcasting network, a satellite broadcasting network, or a cable television network. This digital broadcast signal contains signals of video images, voices, and subtitles of programmed shows, and signals for the data broadcasting service. Further, the digital broadcast signal contains an application control descriptor for controlling the receiving device 30 and command information in a predetermined position. The same application control descriptor and the same command information are repeatedly broadcast over a predetermined period of time.
When the new information services are conducted on a service basis (or a so-called channel basis), the application control descriptor is contained in an SDT (service description table) in the digital broadcast signal, and is then broadcast. When the new information services are conducted on a programmed show basis, the application control descriptor is contained in an EIT (event information table) in the digital broadcast signal, and is then broadcast. Alternatively, the application control descriptor may be contained in a PMT (program map table) of each show, and then be broadcast.
The command information is written in a predetermined position in the video stream of a show, or is encoded and embedded in the video image of the show, and is repeatedly broadcast over a predetermined period of time.
The application control descriptor and the command information will be described later in detail.
In response to a request from the receiving device 30, the server 22 supplies an application program (hereinafter referred to simply as the new information service application) for realizing the new information services in the receiving device 30, to the receiving device 30 via the Internet 3. In response to a request from the external device 40, the server 22 also supplies the new information service application for realizing the new information services in the external device 40, to the external device 40 via the Internet 3.
Further, in response to a request from the receiving device 30, the server 22 supplies application control data necessary for controlling operations to acquire the new information service application, start the application, cause the application to fire an event, suspend the application, or end the application in the receiving device 30, to the receiving device 30 via the Internet 3.
The receiving device 30 receives the digital broadcast signal that is broadcast from the broadcasting device 21 via the broadcasting network 2, and, based on the received digital broadcast signal, outputs the video images and voices of shows and commercials. The receiving device 30 also combines the video images of the new information services with the video images of the shows and commercials, and displays the combined video images, by executing the new information service application acquired from the server 22. The receiving device 30 can connect to the external device 40 via a predetermined interface. The receiving device 30 can identify the type (described later) of the connected external device 40. The connection between the receiving device 30 and the external device 40 may be a wireless connection using a wireless LAN, Bluetooth (a registered trademark), infrared rays, or the like, or may be a wired connection via a cable LAN, a USB, a HDMI, or the like.
The receiving device 30 may be formed as an independent device, or may be installed in a digital television receiver or a video recorder, for example.
In accordance with a command from the receiving device 30, the external device 40 provides the new information services to a user by performing operations such as acquiring the new information service application from the server 22 and starting the new information service application. The external device 40 may be a smartphone, a personal digital assistant, a digital television receiver, or a video recorder, for example. A smartphone or a personal digital assistant as the external device 40 using Android (a trademark) as its platform is classified as external device type-1, and a smartphone or a personal digital assistant using iOS (a trademark) can be classified as external device type-2.
FIGS. 2 through 4 schematically show an information flow in the broadcasting system 10.
FIG. 2 illustrates a case where the application control type (“application_control_type” in FIG. 8) written in the application control descriptor is 1.
In this case, the receiving device 30 acquires the new information service application (App) from the server 22, based on the application control descriptor contained in the digital broadcast signal. In accordance with the command generated in the receiving device 30 based on the application control descriptor, the external device 40 acquires the new information service application from the server 22.
In this case, there is no need to detect the command information from the digital broadcast signal or acquire the application control data from the server 22 as in the later described cases where the application control type is 2 or 3. Accordingly, the processing load on the receiving device 30 can be reduced.
FIG. 3 illustrates a case where the application control type written in the application control descriptor is 2.
In this case, the receiving device 30 acquires the new information service application from the server 22, based on the command information contained in the digital broadcast signal. In accordance with the command that is generated in the receiving device 30 based on the command information and is supplied from the receiving device 30, the external device 40 acquires the new information service application from the server 22.
FIG. 4 illustrates a case where the application control type written in the application control descriptor is 3.
In this case, the receiving device 30 acquires the application control data from the server 22, based on the application control descriptor contained in the digital broadcast signal. Further, the receiving device 30 acquires the new information service application from the server 22, based on the application control data. The application control data acquired from the server 22 can contain metadata (such as subtitles data corresponding to shows), as well as the command related to operations such as acquiring and starting the new information service application. In accordance with the command generated in the receiving device 30 based on the application control data, the external device 40 acquires the new information service application from the server 22.
In this case, the application control data for controlling the timing to execute the new information service application can be supplied to the receiving device 30 through a different passage from the digital broadcast signal.
[Example Structure of the Receiving Device 30]
FIG. 5 shows an example structure of the receiving device 30. The receiving device 30 includes a tuner 61, a multiplexing/separating unit 62, au audio decoder 63, an audio output unit 64, a video decoder 65, an analyzing unit 66, a video output unit 67, a control unit 68, a memory 69, an operating unit 70, a communication I/F 72, a cache memory 73, an application engine 74, an application memory 75, and an external I/F 76.
The tuner 61 receives and demodulates the digital broadcast signal corresponding to a service (a channel) selected by the user, and outputs the resultant TS (transport stream) to the multiplexing/separating unit 62.
The multiplexing/separating unit 62 separates an audio encoded signal and a video encoded signal from the TS input from the tuner 61, and outputs the audio encoded signal to the audio decoder 63 and the video encoded signal to the video decoder 65 and the analyzing unit 66. Further, the multiplexing/separating unit 62 separates the control signal containing the SDT or EIT that may contain the application control descriptor from the TS, and outputs the control signal to the analyzing unit 66.
The audio decoder 63 decodes the input audio encoded signal, and outputs the resultant audio signal to the audio output unit 64. The audio output unit 64 outputs the input audio signal to a later stage (a speaker, for example).
The video decoder 65 decodes the input video encoded signal, and outputs the resultant video signal to the analyzing unit 66 and the video output unit 67.
The analyzing unit 66 detects and analyzes the application control descriptor contained in the SDT or EIT input from the multiplexing/separating unit 62. The analyzing unit 66 then performs an operation in accordance with the analysis result, and notifies the control unit 68 of the analysis result. The analyzing unit 66 detects and analyzes the command information contained in the video encoded signal input from the multiplexing/separating unit 62, or detects and analyzes the command information encoded and embedded in the video signal input from the video decoder 65. The analyzing unit 66 then performs an operation in accordance with the analysis result, and notifies the control unit 68 of the analysis result.
The analyzing unit 66 also generates the command for the external device 40 in accordance with the analysis result, and outputs the command to the external I/F 76. Further, the analyzing unit 66 acquires the application control data from the server 22 via the communication I/F 72 and the Internet 3.
FIG. 6 shows the functional blocks contained in the analyzing unit 66. The analyzing unit 66 includes a reception monitoring unit 81, an application control descriptor acquiring unit 82, an application control descriptor analyzing unit 83, a command information detecting unit 84, a command information analyzing unit 85, an external device command generating unit 86, an application control data acquiring unit 87, a segment data sequence holding unit 88, and a segment data analyzing unit 89.
The reception monitoring unit 81 monitors changes of services (channels) through selection, and the start and end of each show in the service being received. The application control descriptor acquiring unit 82 holds the SDT or EIT input from the multiplexing/separating unit 62, and acquires the application control descriptor from the SDT or EIT. The application control descriptor analyzing unit 83 analyzes the application control descriptor corresponding to the selected service or show.
The command information detecting unit 84 detects the command information contained in the video encoded signal input from the multiplexing/separating unit 62, or detects the command information encoded and embedded in the video signal input from the video decoder 65. The command information analyzing unit 85 analyzes the detected command information. The external device command generating unit 86 generates the command for the external device 40, based on the result of analysis of the application control descriptor, the command information, or segment data.
The application control data acquiring unit 87 acquires the application control data from the server 22, based on the result of analysis of the application control descriptor corresponding to the selected service or show. The segment data holding unit 88 holds the segment data sequence that forms the acquired application control data. The segment data analyzing unit 89 analyzes each set of the segment data forming the segment data sequence.
Referring back to FIG. 5, the video output unit 67 outputs the video signal input from the video decoder 65 to a later stage (a display, for example). The video output unit 67 also combines the video image of the new information service input from the application engine 74 with the video signal input from the video decoder 65, and outputs the result to a later stage.
The control unit 68 controls the entire receiving device 30 by executing a control program recorded in the memory 69. Based on the analysis result supplied from the analyzing unit 66, the control unit 68 also controls the acquirement (registration) of the new information service application, the start of the application, firing of an event, a suspension of the application, the end of the application, and the like.
The control program to be executed by the control unit 68 is recorded in the memory 69. This control program can be updated based on the digital broadcast signal or update data supplied via the Internet 3. The operating unit 70 receives various kinds of operations from the user, and notifies the control unit 68 of the operating signals corresponding to those operations.
The memory 69 also holds user profile information, such as the age, gender, address, and the like of the user, which is input beforehand by the user.
This profile information is referred to by the new information service application being executed, for example, and can be used by the new information service application being executed to fire an event only when the user profile information satisfies predetermined conditions.
Under the control of the analyzing unit 66 or the application engine 74, the communication I/F 72 connects to the server 22 via the Internet 3. Under the control of the control unit 68, the application engine 74 acquires the new information service application from the server 22 via the communication I/F 72 and the Internet 3, and stores the new information service application into the cache memory 73.
Under the control of the control unit 68, the application engine 74 reads the new information service application stored in the cache memory 73, and executes the new information service application.
The application memory 75 includes a working memory 75A and a saving memory 75B. The application engine 74 records the data about the new information service application being executed in the working memory 75A. When suspending the execution of the new information service application being executed, the application engine 74 moves the data in the working memory 75A of the application memory 75 to the saving memory 75B. When resuming the suspended new information service application, the data in the saving memory 75B is moved to the working memory 75A, to restore the previous situation.
Alternatively, of the two regions of the same size in the application memory 75, one may alternately serve as the working memory 75A, and the other one may alternately serve as the saving memory 75B. In this manner, the data does not need to be moved between the working memory 75A and the saving memory 75B.
The external I/F 76 not only establishes a wireless or wired connection with the external device 40, but also identifies the type of the external device 40 and notifies the analyzing unit 66 of the identification result. The external I/F 76 also transmits the command that is input for the external device 40 from the analyzing unit 66, to the external device 40.
[Example Structure of the External Device 40]
FIG. 7 shows an example structure of the external device 40. It should be noted that FIG. 7 shows only the components related to execution of the new information service application, and does not show the components not related to execution of the new information service application.
The external device 40 includes an external I/F 91, a command analyzing unit 92, a control unit 93, an operating unit 94, a memory 95, an application engine 96, a communication I/F 97, and an output unit 98.
The external I/F 91 has a wireless or wired connection with the external I/F 76 of the receiving device 30, and outputs the command supplied from the receiving device 30 to the command analyzing unit 92. The command analyzing unit 92 analyzes the command from the receiving device 30, and outputs the analysis result to the control unit 93.
The control unit 93 controls the entire external device 40 by executing a control program (Android or iOS as a platform) recorded in the memory 65. Based on the analysis result supplied from the command analyzing unit 92, the control unit 93 also controls the acquirement (registration) of the new information service application, the start of the application, firing of an event, a suspension of the application, the end of the application, and the like.
The control program to be executed by the control unit 93 is recorded in the memory 95. The operating unit 94 receives various kinds of operations from the user, and notifies the control unit 93 of the operating signals corresponding to those operations.
Under the control of the control unit 93, the application engine 96 acquires the new information service application from the server 22 via the communication I/F 97 and the Internet 3, and executes the new information service application. The video signal and audio signal of the information related to the show being received by the receiving device 30 are acquired as a result of the execution, and are output to the output unit 98. Under the control of the application engine 96, the communication I/F 97 connects to the server 22 via the Internet 3.
The output unit 98 displays the video image corresponding to the video signal input from the application engine 96, and outputs the sound corresponding to the audio signal.
[Application Control Descriptor]
Next, the application control descriptor that is contained in a digital broadcast signal and is then broadcast is described. The application control descriptor is broadcast, contained in the SDT or the EIT of a digital broadcast signal.
FIG. 8 shows an example syntax of the application control descriptor.
In each application control descriptor, “descriptor_tag” indicating the corresponding service (channel) or show, “descriptor_length” indicating the data length of the application control descriptor, and “application_control_type” indicating the application control type are written.
In a case where the application control type is 1, “descriptor_device_type” for identifying the device (a descriptor destination device) that performs operations to acquire and execute the new information service application based on the application control descriptor is written.
As the descriptor destination device, the receiving device main unit that has received the application control descriptor, or an external device of a distinguishable type can be designated. Further, any combination of the receiving device main unit and respective external device types can be designated. For example, the external device type-1 and the external device type-2 can be simultaneously designated as descriptor destination devices, or the receiving device main unit and the external device type-2 can be simultaneously designated as descriptor destination devices.
In each application control descriptor, “application_id” for identifying the new information service application to be acquired, “app_url_length” indicating the data length of the URL for identifying the destination (the server 22) from which the new information service application is to be acquired, and “app_url_byte” indicating the URL are written.
Further, “app_type” indicating the type (such as HTML5, BML, or Java (a registered trademark)) of the new information service application, “app_life_scope” indicating the valid operating range of the new information service application when channels or shows are changed, and “app_expire_date” indicating the expiration date of the new information service application are written as the information about the new information service application.
In a case where the application control type is 3, “app_control_data_url_length” indicating the data length of the URL for identifying the destination (the server 22) from which the application control data is to be acquired, and “app_control_data_url_byte” indicating the URL are written.
[Command Information]
Next, the command information contained in a video stream of a digital broadcast signal is described.
FIG. 9 shows the information items contained in the command information. FIG. 10 shows an example syntax of the command information.
Command ID (command_id) is the identification information for the command information. In a case where command information containing the same content is transmitted more than once, the command ID of each piece of command information is the same. Provider ID (provide_id) is the information indicating the provider who provides users with the new information service application.
Command destination device type (command_destination_device_type) indicates the device (a command destination device) that controls operations related to the new information service application based on the command information. As the command destination device, the receiving device main unit that has received the command information, or an external device of a distinguishable type can be designated. Further, any combination of the receiving device main unit and respective external device types can be designated. For example, the external device type-1 and the external device type-2 can be simultaneously designated as command destination devices, or the receiving device main unit and the external device type-2 can be simultaneously designated as command destination devices.
Command code (command_code) indicates the type of the command information, or more specifically, indicates the acquirement (registration) of the new information service application, the start of the application, the end of the application, an event, or a suspension of the application.
Command validity probability parameter (command_validity) indicates the value N for designating the probability when each receiving device 30 that has received the command information is determined to perform an operation in accordance with the command information, so as to disperse access from the receiving devices 30 to the server 22.
For example, to divide the access from possibly a large number of receiving devices 30 to the server 22 into four, the same command information is transmitted four times. The validity parameter N in the first command information transmission should be 4, the validity parameter N in the second command information transmission should be 3, the validity parameter N in the third command information transmission should be 2, and the validity parameter N in the fourth command information transmission should be 1.
As the receiving devices 30 are notified of the command validity probability, the access can be dispersed so that the receiving devices 30 do not access the server 22 and acquire the new information service application at once.
When the command information for not accessing the server 22 or the like (the command code indicating a suspension or an end of the new information service application), the command validity probability should be always 1.
Application ID (application_id) is the identification information for the new information service application corresponding to the command information. Application URL (app_url_byte) is the URL of the destination (the server 22 in the present case) from which the new information service application is to be acquired.
Application type (application_type) is the information indicating the type (such as HTML5, BML, or Java (a registered trademark)) of the new information service application corresponding to the command information. Application valid range (app_life_scope) indicates the range in which the operation of the new information service application being executed continues when channels or shows are changed. Application expiration date (app_expire_date) indicates the date until which the new information service application to be acquired can be activated (the expiration date on which the new information service application to be acquired will expire).
Event ID (event_id) is the identification information for an event in a case where the command code of the command information indicates the event. Event added information (event_embedded_data_byte) is the data to be incorporated into the new information service application when the event is fired.
FIGS. 11 through 13 show the placement of the command information in a digital broadcast signal.
As shown in FIGS. 12 and 13, the command information is placed in “extensions_and_user_data” in a MPEG2 video stream corresponding to the video image of a show, for example.
Alternatively, as shown in FIG. 14, the command information is encoded and embedded in the video image of the show, and is then broadcast.
A in the drawing shows an example case where the command information is turned into a two-dimensional bar code, and is superimposed on a predetermined portion (in this case, at the lower right corner) of the video image. B in the drawing shows an example case where the command information is turned into a video code, and is combined with a few lines at the bottom of the video image. The command information combined with the video image is detected by the analyzing unit 66 of the receiving device 30.
In either of the examples shown in A and B, the command information is placed on the video image of the show. For example, even in a case where the television show is to be re-distributed through a CATV network, the command information is not deleted, and can be transmitted to the receiving device 30.
Also, in either of the examples shown in A and B, the command information on the video image can be visually recognized by the user of the receiving device 30. If the visual recognition is not preferred, the two-dimensional bar code or the video code equivalent to the command information is masked with the same pixels as the pixels surrounding the bar code or the video code before displayed.
The placement of the command information in a digital broadcast signal is not limited to the examples shown in FIGS. 12 through 14.
[Application Control Data]
Next, the application control data supplied from the server 22 to the receiving device 30 is described.
FIG. 14 shows the structure of the application control data. As shown in A in the drawing, the application control data is formed with a segment data sequence including sets of segment data.
As shown in B in the drawing, each set of the segment data is formed with “start_pts” and “end_pts” indicating two points in the corresponding time axis of the show as the segment valid period, and command data. Alternatively, each set of the segment data is formed with the segment valid period and metadata, as shown in C in the drawing. That is, each set of the segment data contains command data or metadata, so that segment data containing command data and segment data containing metadata can coexist in each set of application control data (the segment data sequence).
FIGS. 15 through 20 show specific examples of data structures of segment data sequences. The data structures are assumed to be written in XML. The items with “@” indicate attributes accompanying higher elements, and other items indicate elements.
FIG. 15 shows the data structure of a segment data sequence. In the segment data sequence (segment_sequence), “@segment_number” indicating the number, “start_pts” indicating the PTS value of the start time of the segment valid period, and “end_pts” indicating the PTS value of the finish time of the segment valid period are written for each set of segment data. The PTS values can be counter values of a 90 KHz clock embedded in a video stream or an audio stream, or may be absolute times indicated by hours, minutes and seconds, or relative times from the start of the show. Further, command data or metadata is written.
FIGS. 16 and 17 show the structures of command data in segment data.
“@destination” indicates the device (command destination device) that controls operations related to the new information service application based on the command data. As the command destination device, the receiving device main unit that has received the command information, or an external device of a distinguishable type can be designated. Further, any combination of the receiving device main unit and respective external device types can be designated. For example, the external device type-1 and the external device type-2 can be simultaneously designated as command destination devices, or the receiving device main unit and the external device type-2 can be simultaneously designated as command destination devices. “@action” indicates the type of the command data, or more specifically, indicates the acquirement of the new information service application, the start of the application, the end of the application, an event, or a suspension of the application.
“diffusion” is the information for dispersing the time to apply the command data, like the command validity probability parameter in the command information. In “diffusion”, “@rate” indicating the number of divisions, “@range” indicating the maximum delay time, and “@period” indicating the command destination dispersing period are written.
“application” is the information related to the new information service application being controlled, and in “application”, “@id” as the identification information for the new information service application, “@url” indicating the destination from which the new information service application is acquired, “@expire_date” indicating the expiration date of the new information service application, and “@scope” indicating the valid range of the new information service application are written.
“event” is the information related to an event to be fired by the new information service application being executed, and in “event”, “@id” as the identification information for the event, and “@related_data” indicating the data to be incorporated into the new information service application at the time of firing the event are written.
FIG. 18 shows the structure of metadata in segment data.
“@type” indicates the type of the metadata. The type of the metadata may be application data (application_data), text subtitles data (caption), or bitmap subtitles data (subtitle), for example. In “@target”, the identification information for the new information service application corresponding to the metadata is written. Thereafter, the information about the respective types of metadata are written.
FIG. 19 shows a structure in which the metadata type is bitmap subtitles data. The bitmap subtitles data contains “@id” indicating the subtitles sequence number, “@left” indicating the position of the left end of the subtitles display area, “@upper” indicating the position of the upper end of the subtitles display area, “@right” indicating the position of the right end of the subtitles display area, “@lower” indicating the position of the lower end of the subtitles display area, and “bitmap” as the bitmap data corresponding to the character string of the subtitles.
FIG. 20 shows a structure in which the metadata type is text subtitles data. The text subtitles data contains “@id” indicating the subtitles sequence number, “@color” designating the color of the subtitles, “@region_left” indicating the horizontal position of the start of the subtitles display, “@region_upper” indicating the vertical position of the start of the subtitles display, “@size” indicating the character size of the subtitles, “@font” indicating the character font of the subtitles, and “text” as the character string of the subtitles.
FIG. 21 shows an example syntax of a segment data sequence.
In the example shown in the drawing, the segment data sequence is formed with three sets of segment data. The segment data having segment number 1 is command data having a segment valid period from 12000 to 15000, and has a receiving device main unit as the command destination device, the command type being a start. The segment data having segment number 2 is command data having a segment valid period from 13000 to 13100, and has a receiving device main unit as the command destination device, the command type being an event. The segment data having segment number 3 is metadata having a segment valid period from 12000 to 20000, and the metadata type is application data.
FIG. 22 shows an example syntax in a case where the metadata type of segment data is bitmap subtitles data.
In the example shown in the drawing, the segment number is 10, the segment valid period is from 10000 to 12000, and the metadata type is “subtitles”. Also, the subtitles sequence number is 1, the position of the left end of the subtitles display area 200, the position of the upper end of the subtitles display area is 100, the position of the right end of the subtitles display area is 1400, and the position of the lower end of the subtitles display area is 300.
In the receiving device 30 that has received the segment data shown in the drawing, the subtitles formed with the bitmap is combined with the video image and is displayed, as shown in FIG. 23, for example.
FIG. 24 shows an example syntax in a case where the metadata type of segment data is text subtitles data (“caption”).
In the example shown in the drawing, the segment number is 10, the segment valid period is from 10000 to 12000, and the metadata type is “caption”. Also, the subtitles sequence number is 1, the horizontal position of the start of the subtitles display is 200, the vertical position of the start of the subtitles display is 100, the character size is 20, and the subtitles color is red.
In the receiving device 30 that has received the segment data shown in the drawing, the subtitles based on the text is combined with the video image and is displayed, as shown in FIG. 25, for example.
[Operations of the Receiving Device 30]
Next, operations of the receiving device 30 are described. FIG. 26 is a flowchart for explaining a new information service compliant operation to be performed by the receiving device 30.
This new information service compliant operation is repeatedly performed while the receiving device 30 is receiving the show, and the receiving device 30 is assumed to have acquired and hold the SDT or EIT contained in a digital broadcast signal.
In step S1, the reception monitoring unit 81 of the analyzing unit 66 determines whether services (channels) are changed by a user. If the reception monitoring unit 81 determines that services are changed, the operation moves on to step S2.
In step S2, the application control descriptor acquiring unit 82 determines whether an application control descriptor is contained in the SDT corresponding to the service after the change. If an application control descriptor is contained, the application control descriptor acquiring unit 82 acquires the application control descriptor in step S3. If it is determined that any application control descriptor is not contained in the SDT corresponding to the service after the change, on the other hand, the operation returns to step S1.
If it is determined in step S1 that services are not changed by the user, the operation moves on to step S4. In step S4, the reception monitoring unit 81 determines whether the next show has started in the service being received. If the next show has started, the operation moves on to step S5. If the next show has not started, the operation returns to step S1.
In step S5, the application control descriptor acquiring unit 82 determines whether an application control descriptor is contained in the EIT corresponding to the started show. If an application control descriptor is contained, the application control descriptor acquiring unit 82 acquires the application control descriptor in step S6. If it is determined that any application control descriptor is not contained in the EIT corresponding to the started show, on the other hand, the operation returns to step S1.
In step S7, the application control descriptor analyzing unit 83 analyzes the application control descriptor acquired in step S3 or S6, and determines the application control type among 1, 2, and 3.
If it is determined in step S7 that the application control type of the application control descriptor is 1, the operation moves on to step S8. In step S8, if the result of the analysis of the application control descriptor shows that the descriptor destination device is a receiving device main unit, the application control descriptor analyzing unit 83 notifies the control unit 68 of the result of the analysis of the application control descriptor. Under the control of the control unit 68, the application engine 74 acquires the new information service application from the server 22, and starts the application. The started new information service application is then executed continuously in the valid operating range indicated by “app_life_scope” contained in the application control descriptor. When the service or show being received exceeds the valid operating range, the new information service application is ended.
As described above, when the application control type of the application control descriptor is 1, the new information service application can be acquired and started in synchronization with shows and commercials, based on the application control descriptor.
If it is determined in step S7 that the application control type of the application control descriptor is 2, the operation moves on to step S9. In step S9, an operation compliant with the command information being broadcast (a command information compliant operation) is performed.
The command information compliant operation is now described. FIG. 27 is a flowchart for explaining in detail the command information compliant operation.
In step S11, the command information detecting unit 84 starts searching for command information from the digital broadcast signal being received, and stands by until detecting command information. When command information is detected, the operation moves on to step S12.
In step S12, the command information analyzing unit 85 reads the command ID of the command information detected in step S11, and determines whether the procedures of step S14 and the later steps have already been carried out for the command information. If it is determined that the procedures of step S14 and the later steps have already been carried out, the operation returns to step S11. If it is determined that the procedures of step S14 and the later steps have not been carried out for the command information, the operation moves on to step S13.
In step S13, the command information analyzing unit 85 determines whether the current operation is valid (or whether to move the operation on to step S14 or whether to return the operation to step S11), based on the command validity probability parameter N in the command information. If there is no command validity probability parameter N written in the command information (including a case where the validity probability parameter N is 1), the operation moves on to step S14.
In step S14, the command information analyzing unit 85 refers to the command destination device type in the command information, and determines whether the command destination device is a receiving device main unit. If it is determined that the command destination device is a receiving device main unit, the operation moves on to step S15.
In step S15, the command information analyzing unit 85 refers to the command code in the command information, and determines the command type among “acquirement (registration)”, “start”, “event”, “suspension”, and “end”.
In step S16, the command information analyzing unit 85 determines whether the command type is “acquirement”. If the command type is “acquirement”, the operation moves on to step S17.
In step S17, the command information analyzing unit 85 supplies the command information to the control unit 68. The control unit 68 controls the application engine 74 to acquire the new information service application identified by the application ID in the command information, from the server 22 identified by the application URL. The acquired new information service application is stored into the cache memory 73.
If it is determined in step S16 that the command type is not “acquirement”, the operation moves on to step S18. In step S18, the command information analyzing unit 85 determines whether the command type is “start”. If the command type is “start”, the operation moves on to step S19.
In step S19, the command information analyzing unit 85 supplies the command information to the control unit 68. The control unit 68 determines whether the new information service application identified by the application ID in the command information is suspended (in a suspended state). Specifically, if data indicating a suspended state is saved in the saving memory 75B, the new information service application is determined to be suspended.
If it is determined in step S19 that the new information service application is not suspended, the operation moves on to step S20. In step S20, under the control of the control unit 68, the application engine 74 acquires the program data of the new information service application identified by the application ID in the command information, if the program data has not been acquired (or is not stored in the cache memory 73).
In step S21, under the control of the control unit 68, the application engine 74 ends the new information service application being currently executed, if there is one. In step S22, under the control of the control unit 68, the application engine 74 starts the new information service application identified by the application ID in the command information. The operation then returns to step S11, and the procedures thereafter are repeated.
If it is determined in step S19 that the new information service application identified by the application ID is suspended (in a suspended state), the operation moves on to step S23. In step S23, under the control of the control unit 68, the application engine 74 moves the data in the saving memory 75B to the working memory 75A, and starts the new information service application identified by the application ID. As a result, the suspended new information service application is resumed from the suspended state. The operation then returns to step S11, and the procedures thereafter are repeated.
If it is determined in step S18 that the command type is not “start”, the operation moves on to step S24. In step S24, the command information analyzing unit 85 determines whether the command type is “event”. If the command type is determined to be “event”, the operation moves on to step S25.
In step S25, the command information analyzing unit 85 supplies the command information to the control unit 68. Only when the application ID in the command information matches the application ID of the new information service application being executed, does the control unit 68 control the application engine 74 so that the event corresponding to the event ID in the command information is fired (executed) in the new information service application being executed. The operation then returns to step S11, and the procedures thereafter are repeated.
If it is determined in step S24 that the command type is not “event”, the operation moves on to step S26. In step S26, the command information analyzing unit 85 determines whether the command type is “suspension”. If the command type is determined to be “suspension”, the operation moves on to step S27.
In step S27, the command information analyzing unit 85 supplies the command information to the control unit 68. Under the control of the control unit 68, the application engine 74 saves the data indicating the state of the new information service application being currently executed (or the data currently written in the working memory 75A) into the saving memory 75B, and then ends the new information service application being currently executed. The operation then returns to step S11, and the procedures thereafter are repeated.
If it is determined in step S26 that the command type is not “suspension”, the command type should be “end”, and the operation moves on to step S28. In step S28, the command information analyzing unit 85 supplies the command information to the control unit 68. Under the control of the control unit 68, the application engine 74 ends the new information service application identified by the application ID in the command information, if the application is being executed.
In step S29, under the control of the control unit 68, the application engine 74 erases the data related to the new information service application identified by the application ID from the working memory 75A and the saving memory 75B, and erases the new information service application from the cache memory 73. The operation then returns to step S11, and the procedures thereafter are repeated.
If it is determined in step S14 that the command destination device is not a receiving device main unit, the operation moves on to step S30.
In step S30, based on a notification from the external I/F 76, the command information analyzing unit 85 determines whether an external device 40 corresponding to the command destination device type in the command information is connected. If such an external device is connected, the operation moves on to step S31.
In step S31, the external device command generating unit 86 generates a command for the connected external device 40, based on the command destination device type, the command code, and the like in the command information. The external device 40 is notified of the generated command via the external I/F 76. In the external device 40, an operation in accordance with the command is performed. The operation then returns to step S11, and the procedures thereafter are repeated.
If it is determined in step S30 that any external device 40 corresponding to the command destination device type is not connected, step S31 is skipped.
Alternatively, the command for the external device 40 is not generated, and the command information is supplied directly to the external device 40. The external device 40 then analyzes the command information, and performs an operation in accordance with the analysis result.
The description of the command information compliant operation is now completed. Through the command information compliant operation performed when the application control type of the application control descriptor is 2, a new information service application can be acquired, be started, be made to fire an event, or be ended in synchronization with shows and commercials. Further, the new information service application can be suspended while maintained in an active state, and be resumed from the suspended state.
Referring back to FIG. 26, if it is determined in step S7 that the application control type of the application control descriptor is 3, the operation moves on to step S10. In step S10, an operation compliant with the application control data acquired from the server 22 (an application control data compliant operation) is performed.
The application control data compliant operation is now described. FIG. 28 is a flowchart for explaining in detail the application control data compliant operation.
In step S41, the application control data acquiring unit 87 acquires the application control data from the server 22 identified by “app_control_data_url_byte” in the application control descriptor. The acquired application control data (segment data sequence) is stored into the segment data sequence holding unit 88.
In step S42, the segment data analyzing unit 89 detects the segment data synchronized with progress of the show being received, among the segment data forming the stored segment data sequence. Specifically, the segment data having the PTS within the segment valid period is detected, the PTS indicating a point in progress of the show being received.
In step S43, if the detected segment data contains command data, the segment data analyzing unit 89 performs the same operation as the above described command information compliant operation. If the detected segment data contains metadata, an operation compliant with the metadata (such as an operation to display subtitles as described above with reference to FIGS. 19 through 25) is performed. The operation then returns to step S42, and the procedures thereafter are repeated.
The description of the application control data compliant operation is now completed. Through the application control data compliant operation performed when the application control type of the application control descriptor is 3, a new information service application can be acquired, be started, be made to fire an event, or be ended in synchronization with shows and commercials, as in the command information compliant operation. Also, the new information service application can be suspended while maintained in an active state, and be resumed from the suspended state. Further, through the application control data compliant operation, the subtitles and the like corresponding to a show can be displayed by using the metadata contained in the segment data.
However, the method of dispersing the time to access the server 22 from receiving devices 30 differs from that in the command information compliant operation. In the application control data compliant operation, the time to access the server 22 is dispersed based on “diffusion” in the command data in the segment data.
FIG. 29 shows the method of dispersing the time to access the server 22, based on “diffusion” (the number of divisions “rate”, the maximum delay time “range”, and the command destination dispersing period “period”).
The receiving device 30 that operates in accordance with the command data contained in segment data in the application control data generates a random number N that is a positive integer in the range of 0 to “rate+1”. Further, the delay time d=“(N−1)×range/rate” is calculated. A receiving device 30 that has been continuously receiving the same service executes a command when the delay time d passes since “start PTS” in segment data (as in the cases of the receiving devices A, B, and C in the drawing).
As a result, the access to the server 22 from the receiving devices 30 can be dispersed within the command destination dispersing period.
A receiving device 30 that has the selected service changed to this service executes a command when the delay time d passes since the time of the service selection, as long as the time of the service selection falls within the command destination dispersing period (as in the case of the receiving device D in the drawing). If the time of service selection is outside the command destination dispersing period, a command is executed when a service is selected (as in the case of the receiving device E in the drawing).
[State Transitions of a New Information Service Application]
FIG. 30 shows state transitions of a new information service application in the receiving device 30 or the external device 40.
As shown in the drawing, a new information service application transits to one of the four kinds of states: a released state (Released), a ready state (Ready), an active state (Active), and a suspended state (Suspended).
The released state is a state in which the new information service application has not been acquired. The ready state is a state in which the new information service application has been acquired but has not been executed. The active state is a state in which the new information service application is being executed. The suspended state is a state in which the execution of the new information service application is suspended, and the data indicating the state at the time of the suspension is stored in the saving memory 75B.
When the new information service application is acquired in accordance with an acquirement (registration) command in the released state, the new information service application transits to the ready state.
When the new information service application is acquired and started in accordance with a start command in the released state, the new information service application transits to the active state.
When the new information service application is started in accordance with a start command in the ready state, the new information service application transits to the active state.
When the expiration date of the acquired new information service application has passed in the ready state, the new information service application is erased and transits to the released state.
When the new information service application being executed is suspended in accordance with a suspension command in the active state, the new information service application transits to the suspended state.
When the new information service application is ended in accordance with an end command or another new information service application is started in the active state, the new information service application transits to the ready state if the expiration date has not passed yet.
When the new information service application is ended in accordance with an end command or another new information service application is started in the active state, the new information service application transits to the released state if the expiration date has already passed.
When a selected service is outside the application valid range of the new information service application in the suspended state, the new information service application transits to the ready state.
When the expiration date of the suspended new information service application has passed in the suspended state, the new information service application transits to the released state.
[Operation Scenarios for a New Information Service Application]
FIG. 31 shows a first operation scenario for a new information service application. The first operation scenario corresponds to the case where the application control type of the application control descriptor is 1.
Specifically, when a show 2 starts following a show 1 in a service (channel) being received by the receiving device 30, the EIT for the show 2 is referred to. If the EIT contains an application control descriptor, and the application control type is 1, an operation based on the application control descriptor is performed. That is, if a receiving device main unit is designated as the descriptor destination device, the receiving device 30 can acquire the new information service application from the server 22, and start the new information service application. If the external device 40 is designated as the descriptor destination device, the receiving device 30 generates a command for the external device 40, and notifies the external device 40 of the command. The external device 40 then acquires the new information service application from the server 22, and executes the new information service application.
In the case illustrated in the drawing, the new information service application is started based on the application control descriptor contained in the EIT corresponding to the show. Therefore, the started new information service application is ended at the same time as the end of the show.
When the application control type of the application control descriptor is 1, the receiving device 30 does not need to detect and receive command information, or to acquire the application control data from the server 22. Accordingly, the processing load on the receiving device 30 can be reduced.
FIG. 32 shows a second operation scenario for a new information service application. The second operation scenario corresponds to the case where the application control type of the application control descriptor is 2.
Specifically, the receiving device 30 receives command information that is contained in a digital broadcast signal and is then broadcast. If a receiving device main unit is designated as the command destination device, the receiving device 30 operates in accordance with the type of the command indicated by the command information. More specifically, the receiving device 30 acquires a new information service application, starts the application, causes the application to fire an event, suspends the application, resumes (restarts) the execution of the application, or ends the application. If the external device 40 is designated as the command destination device of the command information, the receiving device 30 generates a command for the external device 40, and notifies the external device 40 of the command. The external device 40 then acquires the new information service application from the server 22, executes the application, or ends the application.
FIG. 33 shows a third operation scenario for a new information service application. The third operation scenario corresponds to the case where the application control type of the application control descriptor is 3.
Specifically, if a receiving device main unit is designated as the command destination device of the command data contained in segment data in the application control data acquired by the receiving device 30 from the server 22, the receiving device 30 operates in accordance with the command type of the command data. More specifically, the receiving device 30 acquires a new information service application, starts the application, causes the application to fire an event, suspends the application, resumes (restarts) the execution of the application, or ends the application. If the external device 40 is designated as the command destination device of the command data, the receiving device 30 generates a command for the external device 40, and notifies the external device 40 of the command. The external device 40 then acquires the new information service application from the server 22, executes the application, or ends the application.
FIG. 34 shows a fourth operation scenario for a new information service application. Like the third operation scenario, the fourth operation scenario corresponds to the case where the application control type of the application control descriptor is 3. The fourth operation scenario shows operations of two or more receiving devices 30.
Specifically, a receiving device A that has been continuously receiving the same service acquires (registers) a new information service application from the server 22, in accordance with a command acquired (registered) at the time indicated by “start PTS” in a sequence command. A receiving device B that has a service changed from another service to this service acquires (registers) the new information service application from the server 22, in accordance with a command acquired (registered) at the time of the service selection. At the time indicated by “start PTS” in the sequence command, the receiving devices A and B start (execute) the new information service application in accordance with a start command.
Later than that, a receiving device C that has a service changed from another service to this service acquires (registers) the new information service application from the server 22 and starts (executes) the application, in accordance with a start command at the time of the service selection.
Even later than the receiving device C, a receiving device D changes a service from another service to this service. Since the segment valid period of the segment data containing the start command has already passed, any operation related to the new information service application is not performed.
As described so far, in the broadcasting system 10 of this embodiment, the broadcasting side can control not only the receiving device 30 but also the external device 40 connected to the receiving device 30, in synchronization with progress of a designated type of show or commercial.
The above described series of operations can be performed by hardware, and can also be performed by software. In a case where the series of operations are performed by software, the program of the software is installed into a computer incorporated into special-purpose hardware, or is installed from a program recording medium into a general-purpose personal computer that can execute various kinds of functions through installs of various kinds of programs.
FIG. 35 is a block diagram showing an example structure of the hardware of a computer that performs the above described series of operations in accordance with a program.
In this computer 100, a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, and a RAM (Random Access Memory) 103 are connected to one another by a bus 104.
An input/output interface 105 is further connected to the bus 104. An input unit 106 formed with a keyboard, a mouse, a microphone, and the like, an output unit 107 formed with a display, a speaker, and the like, a storage unit 108 formed with a hard disk, a nonvolatile memory, and the like, a communication unit 109 formed with a network interface and the like, and a drive 110 that drives a removable medium 111 such as a magnetic disk, an optical disk, a magnetooptical disk, or a semiconductor memory are connected to the input/output interface 105.
In the computer having the above described structure, the CPU 101 loads a program stored in the storage unit 108 into the RAM 103 via the input/output interface 105 and the bus 104, and executes the program, so that the above described series of operations are performed.
The program to be executed by the computer may be a program for carrying out operations in chronological order in accordance with the sequence described in this specification, or may be a program for carrying out operations in parallel or whenever necessary such as when there is a call.
The program may be executed by one computer, or may be executed by more than one computer in a distributive manner. Further, the program may be transferred to a remote computer, and be executed therein.
In this specification, a “system” means an entire apparatus formed with more than one device.
It should be noted that embodiments of this disclosure are not limited to the above described embodiment, and various modifications may be made to it without departing from the scope of this disclosure.
REFERENCE SIGNS LIST
2 Broadcasting network, 3 Internet, 10 Broadcasting system, 21 Broadcasting device, 22 Server, 30 Receiving device, 40 External device, 61 Tuner, 62 Multiplexing/separating unit, 63 Audio decoder, 64 Audio output unit, 65 Video decoder, 66 Trigger detecting unit, 67 Video output unit, 68 Control unit, 69 Memory, 70 Operating unit, 72 Communication I/F, 73 Cache memory, 74 Application engine, 75 Memory, 75A Working memory, 75B Saving memory, 76 External I/F, 81 Reception monitoring unit, 82 Application control descriptor acquiring unit, 83 Application descriptor analyzing unit, 84 Command information detecting unit, 85 Command information analyzing unit, 86 External device command generating unit, 87 Application control data acquiring unit, 88 Segment data sequence holding unit, 89 Segment data analyzing unit, 100 Computer, 101 CPU

## Claims

1. A receiving device that receives content broadcast via a broadcasting network, the receiving device comprising:
circuitry configured to:
receive a broadcast signal, from a broadcasting server, broadcast via the broadcasting network, the broadcast signal including the content and an application control descriptor independent of the content,
acquire the application control descriptor from the received broadcast signal,
acquire application control data from a predetermined server designated by the acquired application control descriptor via a network, the application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content, the application control data being provided by the predetermined server in response to a request from the receiving device, and
perform one or more operations related to the predetermined application program, in accordance with the application control data,
wherein the command data includes device information indicating a device that controls the one or more operations related to the predetermined application program, and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor.

2. The receiving device according to claim 1, wherein the application control data is formed with a segment sequence including a plurality of sets of segment data, each of the sets of segment data containing segment start and end times and the command data.

3. The receiving device according to claim 2, wherein the segment start and end times are written by using a PTS (presentation time stamp) of the corresponding content.

4. The receiving device according to claim 2, wherein the segment sequence includes subtitle data corresponding to the content.

5. The receiving device according to claim 1, wherein the command data contains one of a command for acquiring the predetermined application program, a command for starting the predetermined application program, a command for causing the predetermined application program to fire an event, a command for suspending the predetermined application program, and a command for ending the predetermined application program.

6. The receiving device according to claim 1, wherein the circuitry is configured to perform the one or more operations related to the predetermined application program in accordance with the application control descriptor, in an event the application control data is not acquired from the predetermined server in accordance with the application control type written in the acquired application control descriptor.

7. The receiving device according to claim 1, wherein the circuitry is configured to:
determine a type of the application control descriptor; and
acquire the application control data from the predetermined server via the network when the type of the application control descriptor is determined to be a predetermined type.

8. The receiving device according to claim 1, wherein the application control descriptor includes a domain name associated with the predetermined server.

9. The receiving device according to claim 1, wherein the command data includes a command type, wherein the command type causes the predetermined application program to fire an event in a state in which a predetermined condition is met.

10. The receiving device according to claim 9, wherein the predetermined condition corresponds to a state in which identification information of the predetermined application program is same as identification information of another application program, being executed by the receiving device.

11. A receiving method for a receiving device that receives content broadcast via a broadcasting network, the receiving method comprising:
receiving, by circuitry of the receiving device, a broadcast signal from a broadcast server, broadcast via the broadcasting network, the broadcast signal including the content and an application control descriptor independent of the content;
acquiring, by the circuitry, the application control descriptor from the received broadcast signal;
acquiring, by the circuitry, application control data from a predetermined server designated by the acquired application control descriptor via a network, the application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content, the application control data being provided in response to a request from the receiving device; and
performing, by the circuitry, one or more operations related to the predetermined application program, in accordance with the application control data,
wherein the command data includes device information indicating a device that controls the one or more operation related to the predetermined application program, and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor.

12. A non-transitory computer-readable storage medium, storing a set of computer-readable instructions for a computer that receives content broadcast via a broadcasting network, the set of computer-readable instructions causing the computer to:
receive a broadcast signal, from a broadcast server, broadcast via the broadcasting network, the broadcast signal including the content and an application control descriptor independent of the content;
acquire the application control descriptor from the received broadcast signal;
acquire application control data from a predetermined server designated by the acquired application control descriptor via a network, the application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content, the application control data being provided in response to a request from the computer; and
perform one or more operations related to the predetermined application program, in accordance with the application control data,
wherein the command data includes device information indicating a device that controls the one or more operations related to the predetermined application program, and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor.

13. A providing system that provides content to a receiving device via a broadcasting network, the providing system comprising:
circuitry configured to:
broadcast a broadcast signal containing an application control descriptor independent of the content and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content,
wherein the command data includes device information indicating a device that controls one or more operations related to the predetermined application program; and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor; and
provide the application control data to the receiving device via a network in response to a request from the receiving device.

14. The providing system according to claim 13, wherein the application control data is formed with a segment sequence including a plurality of sets of segment data, each of the sets of segment data containing segment start and end times and the command data.

15. The providing system according to claim 14, wherein the segment start and end times are written by using a PTS (presentation time stamp) of the corresponding content.

16. The providing system according to claim 13, wherein the command data contains one of a command for acquiring the predetermined application program, a command for starting the predetermined application program, a command for causing the predetermined application program to fire an event, a command for suspending the predetermined application program, and a command for ending the predetermined application program.

17. A providing method for a providing system that provides content to a receiving device via a broadcasting network, the providing method comprising:
broadcasting, by circuitry of the providing system, a broadcast signal containing an application control descriptor independent of the content and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content,
wherein the command data includes device information indicating a device that controls one or more operations related to the predetermined application program; and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor; and
providing, by the circuitry, the application control data to the receiving device in response to a request from the receiving device.

18. A non-transitory computer-readable storage medium, storing a set of computer-readable instructions for a computer that provides content to a receiving device via a broadcasting network, the set of computer-readable instructions causing the computer to:
broadcast a broadcast signal containing an application control descriptor independent of the content and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content,
wherein the command data includes device information indicating a device that controls one or more operations related to the predetermined application program; and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor; and
provide the application control data to the receiving device in response to a request from the receiving device.

19. A broadcasting system that provides content from a providing subsystem to a receiving device via a broadcasting network,
the providing subsystem including first circuitry configured to:
broadcast a broadcast signal containing an application control descriptor independent of the content and the content via the broadcasting network, the application control descriptor containing information designating a server to provide application control data containing command data related to a predetermined application program to be run in synchronization with progress of the content,
wherein the command data includes device information indicating a device that controls one or more operations related to the predetermined application program, and
wherein the application control data is acquired from the predetermined server via the network, in accordance with an application control type written in the acquired application control descriptor; and
provide the application control data to the receiving device via a network in response to a request from the receiving device,
wherein the receiving device including second circuitry configured to:
receive the broadcast signal broadcast via the broadcasting network, the broadcast signal including the content and the application control descriptor independent of the content,
acquire the application control descriptor from the received broadcast signal,
acquire the application control data from the server designated by the acquired application control descriptor via the network, and
perform the one or more operations related to the predetermined application program, in accordance with the application control data.