CROSS-REFERENCE TO RELATED APPLICATIONThis continuation application claims the benefit of priority under 35 U.S.C. 120 to application Ser. No. 13/646,933, filed on Oct. 8, 2012, which claims the benefit of U.S. Provisional Application Ser. No. 61/554,141, filed on Nov. 1, 2011, the entire contents of both of which are incorporated herein by reference.
BACKGROUNDThe present technology relates to a reproduction apparatus, a reproduction method, and a program and, more particularly, to a reproduction apparatus, a reproduction method, and a program that are configured to provide application programs that are executed in operative connection with content provided by a VOD (Video On Demand) service.
Reception apparatuses configured to receive digital television broadcast signals can provide application programs that are executed in response to broadcast content, such as digital television programs, by use of data broadcasting (refer to Japanese Patent Laid-open No. 2006-050237, for example).
SUMMARYWith the recent popularization of the Internet, there are reception apparatuses that can reproduce distribution content provided by VOD services. With this distribution content, too, it is predicted to execute application programs in operative connection therewith.
Currently, however, technologies for providing application programs to be executed in operative connection with distribution content have not yet established.
Therefore, the present technology addresses the above-identified and other problems associated with related-art methods and apparatuses and solves the addressed problems by providing a reproduction apparatus, a reproduction method, and a program that are configured to provide application programs to be executed in operative connection with contents provided by VOD services.
In carrying out the present technology and according to one embodiment thereof, there is provided a reproduction apparatus. This reproduction apparatus has a reproduction control information acquisition block configured to acquire reproduction control information for controlling reproduction of content; a reproduction block configured to reproduce, in accordance with the acquired reproduction control information, the content that is distributed; and a control block configured to control, in accordance with information associated with an application program to be executed in operative connection with the content obtained from the acquired reproduction control information, an operation of an application program that is executed in operative connection with the content being reproduced.
In the above-mentioned reproduction apparatus, the reproduction control information is specified with any one of a first type for controlling an operation of the application program in accordance with information directly written to the reproduction control information, a second type for controlling an operation of the application program in accordance with the application control information obtained from an information processing apparatus for providing application control information for controlling an operation of the application program, and a third type for controlling an operation of the application program in accordance with the application control information embedded in data of the content. The control block controls an operation of the application program in accordance with the specified type of the reproduction control information.
In the above-mentioned reproduction apparatus, if the first type is specified in the reproduction control information, then the control block launches the application program in accordance with reproduction start of the content and terminates the application program in accordance with reproduction end of the content.
In the above-mentioned reproduction apparatus, if the second type is specified in the reproduction control information, then the control block controls an operation of the application program in accordance with a command within a valid period indicative of a synchronous period for progression of the content identified by the application control information obtained from the information processing apparatus.
In the above-mentioned reproduction apparatus, the above-mentioned command is indicative of any one of acquisition and registration and acquisition and launch and event firing, suspend, and termination of the application program. The control block controls any one of acquisition and registration and acquisition and launch and event firing, suspend, and termination of the application program in accordance with the command.
In the above-mentioned reproduction apparatus, the above-mentioned valid period is identified by a PTS (Presentation Time Stamp) indicative of a progress position of the corresponding content.
In the above-mentioned reproduction apparatus, if the third type is specified in the reproduction control information, the control block controls an operation of the application program in accordance with a command indicated by the application control information embedded in an embed position identified by the reproduction control information.
In the above-mentioned reproduction apparatus, the above-mentioned command is indicative of any one of acquisition and registration and acquisition and launch and event firing, suspend, and termination of the application program. The control block controls any one of acquisition and registration and acquisition and launch and event firing, suspend, and termination of the application program in accordance with the command.
In the above-mentioned reproduction apparatus, the application control information is inserted in a DSE area in a frame structure of an audio stream encoded by AAC (Advanced Audio Coding).
The above-mentioned reproduction apparatus further has a reception block configured to receive a digital television broadcast signal.
The above-mentioned reproduction apparatus or the above-mentioned reception apparatus may be a standalone unit or a component block internal to one apparatus.
A reproduction method and a program according to still other embodiments of the present technology are a reproduction method and a program configured corresponding to the above-mentioned reproduction apparatus of one embodiment of the present technology.
In the above-mentioned reproduction apparatus, reproduction method, and program of one embodiment of the present technology, reproduction control information for controlling the reproduction of content is obtained, the distributed content is reproduced in accordance with the obtained reproduction control information, and an operation of the application program to be executed in operative connection with the content being reproduced is controlled in accordance with the information associated with the application program to be executed in operative connection with the content obtained from the obtained reproduction control information.
According to one embodiment of the present technology, an application program to be executed in operative connection with content provided by a VOD service can be provided.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic diagram illustrating an exemplary configuration of a broadcasting system;
FIG. 2 is a block diagram illustrating an exemplary configuration of a reception apparatus;
FIG. 3 is a block diagram illustrating an exemplary configuration of an external apparatus;
FIG. 4 is a schematic diagram illustrating flows of streaming reproduction of distribution content;
FIG. 5 is a schematic diagram illustrating an exemplary structure of a reproduction control meta file;
FIG. 6 shows an exemplary description of ERI of a reproduction control meta file;
FIG. 7 shows exemplary additional items of ERI of a reproduction control meta file;
FIG. 8 is a schematic diagram illustrating the operative connection between apparatuses when a reception apparatus operates in direct control type;
FIG. 9 shows an exemplary description of a reproduction control meta file of direct control type;
FIG. 10 is a schematic diagram illustrating an exemplary operation scenario of an application for VOD in direct control command;
FIG. 11 is a schematic diagram illustrating operative connection between apparatuses when a reception apparatus operates in file control type;
FIG. 12 shows an exemplary description of ERI of a reproduction control meta file of file control type;
FIG. 13 shows an exemplary structure of a segment data sequence;
FIGS. 14A,14B, and14C show exemplary structures of application control information;
FIG. 15 shows an exemplary data structure of a segment data sequence;
FIG. 16 shows exemplary data structures of commands;
FIG. 17 shows exemplary data structures of commands;
FIG. 18 shows details of diffusion of command application;
FIG. 19 shows an exemplary structure of meta data;
FIG. 20 shows an exemplary description of a segment sequence;
FIG. 21 is a sequence diagram illustrating an exemplary operation scenario of an application for VOD in file control type;
FIG. 22 is a schematic diagram illustrating operative connection between apparatuses when a reception apparatus operates in stream control type;
FIG. 23 shows an exemplary description of ERI of a reproduction control meta file of stream control type;
FIG. 24 shows an exemplary configuration of a frame of AAC;
FIG. 25 shows a specific arrangement of meta data to be inserted in an audio stream;
FIG. 26 shows an exemplary syntax of application control information;
FIG. 27 shows an exemplary syntax of application control information;
FIG. 28 is a sequence diagram illustrating an exemplary operation scenario of an application for VOD in stream control type;
FIG. 29 is a state transition diagram illustrating an application for VOD;
FIG. 30 is a flowchart indicative of distribution content reproduction processing;
FIG. 31 is a flowchart indicative of control processing of an application for VOD of direct control type;
FIG. 32 is a flowchart indicative of control processing of an application for VOD of file control type;
FIG. 33 is a flowchart indicative of control processing of an application for VOD of stream control type; and
FIG. 34 is a block diagram illustrating an exemplary configuration of a computer.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSThis technology will be described in further detail by way of embodiments thereof with reference to the accompanying drawings.
[Exemplary Configuration of a Broadcasting System]Now, referring toFIG. 1, there is shown an exemplary configuration of a broadcasting system.
Abroadcasting system1 is made up of abroadcasting apparatus11, areception apparatus12, acontent server13, anapplication server16, and an applicationcontrol information server17. Thecontent server13 has a reproductioncontrol information server14 and adistribution server15.
Thereception apparatus12, the reproductioncontrol information server14, thedistribution server15, theapplication server16, and the applicationcontrol information server17 are interconnected via theInternet2. Anexternal apparatus18 is connected to thereception apparatus12 as required and connectable to theapplication server16 via theInternet2.
Thebroadcasting apparatus11 is configured to broadcast (or transmit) digital television broadcast signals via a terrestrial digital broadcasting network for example. By these digital television broadcast signal, broadcast content including digital television programs and CMs is transmitted.
Thereception apparatus12 receives a digital television broadcast signal transmitted from thebroadcasting apparatus11 to obtain the video and audio of a digital television program. Thereception apparatus12 outputs the obtained video to a display (adisplay52 shown inFIG. 2 to be described later) and outputs the obtained audio to a speaker (aspeaker51 shown inFIG. 2 to be described later).
Thereception apparatus12 also can receive distribution content distributed from thedistribution server15 to reproduce the received content. If the reproduction of the distribution content is specified by the user, thereception apparatus12 requests the reproductioncontrol information server14 for a reproduction control meta file via theInternet2.
The reproductioncontrol information server14 manages a reproduction control meta file. The reproduction control meta file herein denotes control information for controlling the reproduction of distribution content. In addition, a reproduction control meta file describes information associated with an application program (hereafter referred to as a VOD application) to be executed in operative connection with distribution content. It should be noted that details of a reproduction control meta file will be described later with reference toFIGS. 4 through 7.
In response to an inquiry from thereception apparatus12, the reproductioncontrol information server14 transmits a reproduction control meta file to thereception apparatus12 via theInternet2.
In response to the reproduction control meta file from the reproductioncontrol information server14, thereception apparatus12 requests thedistribution server15 for distribution content via theInternet2.
Thedistribution server15 stores and manages one or more pieces of distribution content. In response to an inquiry from thereception apparatus12, thedistribution server15 transmits (or distributes) distribution content to thereception apparatus12 via theInternet2.
It should be noted that the reproductioncontrol information server14 and thedistribution server15 are provided by a business entity that provides VOD services to distribute distribution content, for example. Therefore, the reproductioncontrol information server14 and thedistribution server15 may not only be configured separately but also be configured integrally as thecontent server13.
In response to the information written to the obtained reproduction control meta file, thereception apparatus12 requests theapplication server16 for a VOD application via theInternet2. Thereception apparatus12 executes the VOD application received from theapplication server16 in operative connection with the distribution content being reproduced.
Theapplication server16 manages the VOD application that is executed in operative connection with distribution content. In response to an inquiry from thereception apparatus12, theapplication server16 transmits (or provides) the VOD application to thereception apparatus12 via theInternet2.
In addition, in response to the obtained reproduction control meta file, thereception apparatus12 requests the applicationcontrol information server17 for application control information via theInternet2.
The applicationcontrol information server17 manages control information (hereafter referred to as application control information) for controlling an operation of a VOD application. In response to an inquiry from thereception apparatus12, the applicationcontrol information server17 transmits (or provides) application control information to thereception apparatus12 via theInternet2.
In response to the application control information from the applicationcontrol information server17, thereception apparatus12 requests theapplication server16 for a VOD application via theInternet2. Thereception apparatus12 executes the VOD application from theapplication server16 in operative connection with the distribution content being reproduced.
At the same time, thedistribution server15 can transmit application control information as included in the data of distribution content. To be more specific, application control information is transmitted as arranged in a transport stream (hereafter referred to as a TS) of distribution content or as embedded in a video signal or an audio signal.
Thereception apparatus12 obtains the application control information included in the data of distribution content received from thedistribution server15. In response to the obtained application control information, thereception apparatus12 requests theapplication server16 for a VOD application via theInternet2. Thereception apparatus12 executes the VOD application received from theapplication server16 in operative connection with the distribution content being reproduced.
Thereception apparatus12 is connected to theexternal apparatus18 in a wireless or wired manner. Thereception apparatus12 transfers a command to be transmitted to theexternal apparatus18 of the commands indicated by the obtained application control information to theexternal apparatus18. In response to the command received from thereception apparatus12, theexternal apparatus18 obtains a VOD application from theapplication server16 and executes the obtained VOD application.
It should be noted that thereception apparatus12 may be arranged as a standalone apparatus or incorporated in a digital television receiver or a video recorder, for example. In the example shown inFIG. 1, it was described that thereception apparatus12 has both the reception function for receiving a digital television broadcast signal of broadcast content and the reproduction function for reproducing distribution content in a streaming manner; however, the reception function need not always be arranged, so that thereception apparatus12 may be configured as a reproduction apparatus having only the reproduction function.
For theexternal apparatus18, a so-called smart phone, a portable information terminal, a personal computer, a tablet computer, a digital television receiver, or a video recorder may be used, for example.
Thebroadcasting system1 is configured as follows.
[Exemplary Configuration of Reception Apparatus]Referring toFIG. 2, there is shown an exemplary configuration of thereception apparatus12 shown inFIG. 1.
Thereception apparatus12 is made up of atuner61, ademultiplexer62, anaudio decoder63, anaudio output block64, avideo decoder65, ananalysis block66, avideo output block67, acontrol block68, amemory69, anoperator block70, a communication I/F71, anapplication engine72, anapplication memory73, an external I/F74, a streamingreproduction processing block75, and acache memory76.
Thetuner61 receives and demodulates a digital broadcast signal corresponding to a service (or a broadcast channel) selected by the user and supplies a TS obtained as a result of the demodulation to thedemultiplexer62.
Thedemultiplexer62 separates an audio stream and a video stream from the TS supplied from thetuner61 and supplies the audio stream to theaudio decoder63 and the video stream to thevideo decoder65.
Theaudio decoder63 decodes the audio stream supplied from thedemultiplexer62 and supplies an audio stream obtained as a result of the decoding to theaudio output block64 and theanalysis block66. Theaudio output block64 outputs an audio signal corresponding to the audio stream supplied from theaudio decoder63 to thespeaker51.
Thevideo decoder65 decodes the video stream supplied from thedemultiplexer62 and supplies a video stream obtained as a result of the decoding to theanalysis block66 and thevideo output block67. Thevideo output block67 outputs a video signal corresponding to the video stream supplied from thevideo decoder65 to thedisplay52.
Theanalysis block66 controls the communication I/F71 to obtain a reproduction control meta file from the reproductioncontrol information server14. Theanalysis block66 analyzes the obtained reproduction control meta file and supplies a result of the analysis to thecontrol block68.
Also, in accordance with the analysis result of the reproduction control meta file, theanalysis block66 controls the communication I/F71 to obtain application control information from the applicationcontrol information server17. Theanalysis block66 analyzes the obtained application control information and supplies a result of the analysis to thecontrol block68.
Further, in accordance with the analysis result of the reproduction control meta file, theanalysis block66 obtains the application control information from the audio stream or the video stream while normally monitoring the audio stream from theaudio decoder63 or the video stream from thevideo decoder65.
Thecontrol block68 controls the operations of other component blocks of thereception apparatus12 by executing a control program recorded to thememory69. Thememory69 stores the control program to be executed by thecontrol block68. This control program can be updated on the basis of update data supplied via a digital broadcast signal or theInternet2.
Theoperator block70 receives various operations done by the user and relates operation signals thereto to notify thecontrol block68 of these operation signals. In accordance with operation signals from theoperator block70, thecontrol block68 controls the communication I/F71 to transfer information between servers connected to theInternet2.
In addition, in accordance with the analysis result received from theanalysis block66, thecontrol block68 controls theapplication engine72. To be more specific, in accordance with a command indicated by the analysis result from theanalysis block66, thecontrol block68 controls registration, launch, event fire, suspend, or termination of a VOD application.
Under the control of theanalysis block66, thecontrol block68, or theapplication engine72, the communication I/F71 connects to the reproductioncontrol information server14, thedistribution server15, theapplication server16, or the applicationcontrol information server17 via theInternet2.
Under the control of thecontrol block68, theapplication engine72 reads a VOD application from thecache memory76 and executes this application. Thevideo output block67 synthesizes a video signal of the video of the VOD application supplied from theapplication engine72 with a video signal supplied from thevideo decoder65 and outputs a resultant synthesized signal to thedisplay52.
Theapplication memory73 is made up of awork memory73A and asave memory73B. Theapplication engine72 records the data (to be more specific, the data including layers of information being displayed) associated with the active VOD application to thework memory73A. In addition, if the active VOD application is suspended, theapplication engine72 moves the data from thework memory73A of theapplication memory73 to the savememory73B. Then, if the suspended VOD application is resumed, theapplication engine72 moves the data from thesave memory73B to thework memory73A to restore the status as it was before the suspension.
Under the control of thecontrol block68, the external I/F74 establishes connection with theexternal apparatus18 in a wireless or wired manner. The external I/F74 outputs a command to be transmitted to an external apparatus to theexternal apparatus18 connected to the external I/F74.
The streamingreproduction processing block75 executes processing necessary for streaming reproduction on the data of distribution content supplied from the communication I/F71 and supplies a TS obtained by this processing to thedemultiplexer62.
Thedemultiplexer62 separates an audio stream and a video stream from the TS supplied from thetuner61 or the streamingreproduction processing block75 and supplies the obtained audio stream to theaudio decoder63 and the obtained video stream to thevideo decoder65. Consequently, the supplied audio stream and video stream are decoded by theaudio decoder63 and thevideo decoder65, respectively to execute the stream reproduction of the distribution content.
Thereception apparatus12 is configured as follows.
[Exemplary Configuration of External Apparatus]Referring toFIG. 3, there is shown an exemplary configuration of theexternal apparatus18 shown inFIG. 1.
Theexternal apparatus18 is made up of an external I/F91, acommand analysis block92, acontrol block93, anoperator block94, amemory95, anapplication engine96, a communication I/F97, and anoutput block98.
The external I/F91 is connected to the external I/F74 of thereception apparatus12 in a wireless or wired manner to receive a command addressed to the external apparatus transmitted from thereception apparatus12. The external I/F91 supplies the received command to thecommand analysis block92.
Thecommand analysis block92 analyzes the command addressed to the external apparatus supplied from the external I/F91 and supplies a result of the analysis to thecontrol block93.
Thecontrol block93 executes a control program stored in thememory95 to control operations of the other component blocks of theexternal apparatus18. In addition, in accordance with a command addressed to the external apparatus supplied from thecommand analysis block92, thecontrol block93 controls acquisition, registration, launch, event fire, suspend, or termination of the VOD application.
Theoperator block94 receives various operations done by the user and supplies operation signals corresponding to the received operations to thecontrol block93.
Under the control of thecontrol block93, theapplication engine96 obtains a VOD application from theapplication server16 via the communication I/F97 and theInternet2 and executes the obtained VOD application. A video signal and an audio signal, obtained as a result of the execution, of the VOD application associated with the distribution content being reproduced by thereception apparatus12 are supplied to theoutput block98.
Under the control of theapplication engine96, the communication I/F97 is connected to theapplication server16 via theInternet2 to obtain the VOD application.
Theoutput block98 displays a video corresponding to the video signal of the VOD application supplied from theapplication engine96 and outputs the audio corresponding to the audio signal.
Theexternal apparatus18 is configured as follows.
[Details of Reproduction Control Meta File]Referring toFIG. 4, there is shown a flow of processing to be executed by thereception apparatus12, in which a reproduction control meta file is obtained from thecontent server13 and, in accordance with the obtained reproduction control meta file, streaming reproduction of distribution content is executed.
As shown inFIG. 4, when the reproduction of distribution content is specified by the user, thereception apparatus12 requests thecontent server13 for a reproduction control meta file to obtain the same (S1). In accordance with the obtained reproduction control meta file, thereception apparatus12 accesses a DRM (Digital Rights Management)server21 shown inFIG. 4 for the inquiry of a license of the distribution content to be streaming-reproduced (S2). It should be noted that, although not shown in the exemplary configuration shown inFIG. 1, theDRM server21 executes digital rights management on distribution content.
Next, upon obtaining a license issued by theDRM server21, thereception apparatus12 starts receiving distribution content distributed by thecontent server13. Consequently, the streaming reproduction is executed on the distributed content in the reception apparatus12 (S3).
The following describes details of a reproduction control meta file that is managed by the content server13 (or the reproduction control information server14) with reference toFIGS. 5 through 7.
Referring toFIG. 5, there is shown an exemplary structure of a reproduction control meta file.
As shown inFIG. 5, a reproduction control meta file is made up of ERI (Entry Resource Information), LLI (License Link Information), and NCI (Network content Control Information). ERI describes control information for controlling the reproduction of distribution content and information associated with a VOD application.
LLI describes information associated with a license of distribution content. NCI describes information associated with parameters necessary for streaming reproduction.
Referring toFIG. 6, there is shown an exemplary description of ERI of a reproduction control meta file. ERI is written by XML (Extensible Markup Language) for example.
As shown inFIG. 6, ERI is made up of a header element, a startup element, content_chapter_info element, and ES_info element. Between the start and end tags of the header element, an encryption element associated with the encryption of distribution content is described in addition to a date element and a time element associated with date and time.
Between the start and end tags of the startup element, a start element associated with the URL (Uniform Resource Locator) of thedistribution server15 is described in addition to a content_title element, a content_abstract element, and a duration element associated with the title, content, and time length of distribution content. Between the start and end tags of a content_chapter_info element, a chapter_point element and a chapter_title element associated with the temporal location and title of each chapter of distribution content are described.
Between the start and end tags of the ES_info element, information associated with ES (Elementary Stream) is described. To be more specific, information including video attributes such as resolution and encoding method, audio channel attributes such as ES number and mode, and subtitle attributes such as audio channel titles of main audio and sub audio and language is described.
As described above, ERI mainly describes the information necessary for the reproduction of distribution content; the ERI of the reproduction control meta file to which the technology according to the present disclosure is applied further describes such information associated with a VOD application as shown inFIG. 7.
To be more specific, as shown inFIG. 7, the ERI of a reproduction control meta file is made up of an app_control_info element in addition to the header element, the startup element, the content_chapter_info element, and the ES_info element shown inFIG. 6. The app_control_info element describes the information associated with a VOD application.
For the attribute of the app_control_info element, a control_type attribute is specified. The control_type attribute is an attribute for specifying a control type indicative of how to control a VOD application. For the control_type attribute, any one of control types, direct, file, and stream, is specified.
It should be noted that, in the following description, control types specified with direct, file, and stream as control_type attributes will be described as a direct control type, a file control type, and a stream control type, respectively.
Between the start and end tags of the app_control_info element, an app_id element, an app_type element, an app_url element, a destination element, an expire_date element, an app_control_url element, and an app_control_position element are written.
The elements, an app_id element through an expire_date element, are specified only in the case of direct control type. For an app_id element, the identification information for a VOD application corresponding to the reproduction control meta file concerned is specified. For an app_type element, the information indicative of the type of the VOD application corresponding to the reproduction control meta file concerned, such as HTML (HyperText Markup Language), is specified, for example.
For an app_url element, the URL of the acquisition destination of a VOD application is specified. For a destination element, the acquisition destination of a VOD application, such as the reception apparatus main or the external apparatus, for example, is specified. For an expire date element, the information indicative of the valid period (or the expiration date) of a VOD application is specified.
An app_control_url element is specified only in the case of file control type. For an app_control_url element, the URL of the acquisition destination of application control information is specified.
An app_control_position element is specified only in the case of stream control type. For an app_control_position element, the information indicative of a position at which application control information is embedded (or an insertion position) is specified. For example, for an app_control_position element, audio_es for embedding application control information into an audio stream or video_es for embedding application control information into a video stream is specified.
As described above, the ERI of a reproduction control meta file to which the technology according to the present disclosure is applied describes the elements and attributes shown inFIG. 7 in addition to the elements and attributes shown inFIG. 6. Thereception apparatus12 controls the operation of a VOD application in accordance with the control type specified by the control_type attribute of the app_control_info element written to the ERI. Therefore, the following describes operations of thereception apparatus12 when thereception apparatus12 operates in direct control type, file control type, and stream control type, in this order.
[Exemplary Operation in Direct Control Type]First, with reference toFIGS. 8 through 10, the case in which thereception apparatus12 operates in direct control type will be described.
(Linkage Between Apparatuses of Direct Control Type)Referring toFIG. 8, there is shown the linkage between apparatuses when thereception apparatus12 operates in direct control type.
As shown inFIG. 8, when the reproduction of distribution content is specified by the user, thereception apparatus12 accesses the reproductioncontrol information server14 to obtain a reproduction control meta file (S11). Next, in accordance with the obtained reproduction control meta file, thereception apparatus12 accesses thedistribution server15 to start the reception of distribution content distributed from the distribution server15 (S12).
At the same time, thereception apparatus12 analyzes the obtained reproduction control meta file to operate in direct control type if the control_type attribute of the app_control_info element of ERI is indicative of direct.
For example, as shown inFIG. 9, in the ERI of a reproduction control meta file of direct control type, direct is specified for the control_type attribute of the app_control_info element and an app_id element, an app_type element, app_url element, and an expire_date element are specified. An app_url element describes the URL of theapplication server16 for example.
Referring toFIG. 8 again, in accordance with the ERI (the app_url element) of the reproduction control meta file, thereception apparatus12 accesses theapplication server16 to obtain a VOD application (S13). Thus, in thereception apparatus12, an operation of direct control type is executed to execute the VOD application obtained from theapplication server16 in operative connection with the distribution content from thedistribution server15.
It should be noted that, in the description with reference toFIG. 8, the case in which a VOD application is obtained after the reception of distribution content is started; it is also practicable to start the reception of distribution content after a VOD application is obtained. Namely, the processing steps S12 and S13 shown inFIG. 8 may be reversed to execute the processing step of S12 after the processing step of S13.
(Exemplary Operation of VOD Application of Direct Control Type)In thereception apparatus12, executing an operation of direct control type enables the operation of a VOD application as shown inFIG. 10 for example.
Referring toFIG. 10, there is shown an example of an operation scenario of a VOD application in direct control type.
As shown inFIG. 10, if a particular piece of distribution content has been selected from a list of a VOD navigation screen P11 displayed on thedisplay52, then thereception apparatus12 requests the reproductioncontrol information server14 of a reproduction control meta file corresponding to the selected distribution content. At the same time, in accordance with the reproduction control meta file received from the reproductioncontrol information server14, thereception apparatus12 requests thedistribution server15 for the selected distribution content, thereby starting the reception of the requested distribution content.
In addition, in accordance with the obtained reproduction control meta file, thereception apparatus12 obtains the VOD application from theapplication server16 and starts the obtained VOD application. Consequently, a video with video P21 of the VOD application superimposed on the video of the distribution content is displayed on thedisplay52.
Next, in thereception apparatus12, while the streaming reproduction of the distribution content is executed, the video of the distribution content with video P21 of the VOD application superimposed is displayed on thedisplay52. When the streaming-reproduced distribution content comes to an end, the VOD application is terminated with the distribution content in thereception apparatus12, thereby displaying the VOD navigation screen P11 on thedisplay52 again.
As described above, if thereception apparatus12 operates in direct control type, thereception apparatus12 controls a VOD application by use of the information associated with the VOD application directly written to the ERI of a reproduction control meta file. In this case, a VOD application is obtained and started in conformity to the starting of the streaming reproduction of distribution content and superimposed on the distribution content to be displayed. If the streaming reproduction of distribution content comes to an end, the VOD application superimposed on the distribution content is terminated at the same time.
[Exemplary Operation of File Control Type]The following describes an example in which thereception apparatus12 operates in file control type with reference toFIGS. 11 through 21.
(Operative Connection Between Apparatuses of File Control Type)Referring toFIG. 11, there is shown an operative connection between apparatuses if thereception apparatus12 operates in file control type.
As shown inFIG. 11, when the reproduction of distribution content is specified by the user, thereception apparatus12 accesses the reproductioncontrol information server14 to obtain a reproduction control meta file (S21). Next, in accordance with the obtained reproduction control meta file, thereception apparatus12 accesses thedistribution server15 to start the reception of the distribution content to be distributed from the distribution server15 (S22).
At the same time, thereception apparatus12 analyzes the obtained reproduction control meta file and operates in file control type if the control_type attribute of the app_control_info element of the ERI is indicative of file.
For example, as shown inFIG. 12, in the ERI of reproduction control meta file of file control type, file is specified for the control_type attribute of the app_control_info element and an app_control url element is specified. For the app_control_url element, the URL of the applicationcontrol information server17 is specified.
Referring toFIG. 11 again, in accordance with the ERI (the app_control_url element) of the reproduction control meta file, thereception apparatus12 accesses the applicationcontrol information server17 to obtain application control information (S23). Next, in accordance with a command within an valid period indicative of a synchronization period for the progress of the distribution content identified by the application control information obtained from the applicationcontrol information server17, thereception apparatus12 accesses theapplication server16 to obtain a VOD application and launches the obtained VOD application (S24). At the same time, in thereception apparatus12, the active VOD application is suspended, resumed, event-fired, or terminated in accordance with the command within the valid period indicated by the application control information.
As described above, in thereception apparatus12, a VOD application obtained from theapplication server16 is executed in operative connection with the distribution content obtained from thedistribution server15 when the operation of file control type is executed.
It should be noted that, in the description with reference toFIG. 11, the case in which a VOD application is obtained after the reception of distribution content is started; it is also practicable to start the reception of distribution content after a VOD application is obtained. Namely, the processing steps S22 and S23 shown inFIG. 11 may be reversed to execute the processing step of S22 after the processing steps of S23 and S24.
(Details of Application Control Information)The following describes the application control information to be provided from the applicationcontrol information server17 to thereception apparatus12 with reference toFIGS. 13 through 20.
Referring toFIG. 13, there is shown an exemplary structure of a segment data sequence.
As shown inFIG. 13, application control information is configured as a segment data sequence made up of two or more pieces of segment data delimited by the information indicative of a specific timing such as PTS (Presentation Time Stamp). The segment data is one of command data and meta data. If the segment data is command data, then various kinds of information associated with commands for controlling the operation of a VOD application are included. If the segment data is meta data, then various kinds of information associated with segments are included.
Referring toFIGS. 14A to 14C, there is shown an exemplary structure of application control information. As shown inFIG. 14A, the application control information includes a segment data sequence made up of two or more pieces of segment data.
Each piece of segment data is made up of a segment valid period and command data (FIG. 14B) or a segment valid period and meta data (FIG. 14C).
The segment valid period is indicated by start_time and end_time indicative of two points on the progress time axis of the corresponding distribution content; if the progress timing of distribution content is within the segment valid period, the segment data concerned is valid and, if the progress timing of distribution content is before or after the segment valid period, the segment data concerned is invalid.
One piece of application control information (a segment data sequence) can contain the segment data including command data and the segment data including meta data at the same time.
FIGS. 15 through 19 show detail examples of data structures of a segment data sequence. It should be noted that each data structure is assumed to be written by XML; an item having “@” is indicative of an attribute accompanying an upper element and other items are indicative of elements.
Referring toFIG. 15, there is shown a data structure of a segment data sequence. For the segment_sequence element, a segment_number attribute indicative of the number of segment data (segment) and a time_unit attribute indicative of a method of specifying segment valid period are specified. For the time unit attribute, utc is specified if absolute date based on hour, minute, and second is used, smpte is specified if relative time from the start of distribution content is used, and pts is specified if a PTS value is used. It should be noted that, for a PTS value, a counter value of a 90 KHz clock embedded in a video stream and an audio stream can be used.
For a start_time element, a segment start timing is specified. For an end_time element, a segment end timing is specified. In addition, each piece of segment data describes one of command data and meta data.
FIGS. 16 and 17 show command data structures in segment data.
The command elements include a diffusion element, an application element, and an event element in addition to a destination attribute and an action attribute.
For the destination attribute, a device subject to VOD application control by a command concerned is specified. For example, for the destination attribute, receiver is specified if the device subject to a command is the reception apparatus main and external_1 or external_2 is specified if the device subject to a command is an external device.
The action attribute indicates whether the command concerned is execute, register, suspend, terminate, or event.
An execute command is used to instruct thereception apparatus12 to obtain or launch a VOD application.
A register command is used to instruct thereception apparatus12 to obtain or register a VOD application. The registration of a VOD application herein denotes the storing of the valid period and valid scope of an obtained VOD application by relating the valid period and valid scope therewith. Consequently, the VOD application is managed in accordance with the valid period and valid scope thereof.
A suspend command is used to make thereception apparatus12 suspend an active VOD application.
A terminate command is used to make thereception apparatus12 terminate an active VOD application.
An event command is used to make thereception apparatus12 fire an event in an active VOD application.
The diffusion element is a parameter for stochastically diffusing the timing of the application of a command concerned in a target device such as thereception apparatus12. The attributes of the diffusion element include a rate attribute, range attribute, and period attribute, for which the number of distribution, a maximum delay time, and command application diffusion period are specified respectively.
The following describes details of the diffusion of command application with reference toFIG. 18.
For example, if the reception apparatuses12-1 through12-3 that are executing streaming reproduction of the same distribution content obtain VOD applications from theapplication server16 in response to a register command or a suspend command, accessing theapplication server16 at the same time may overload theapplication server16. In order to prevent this problem from happening, a rate attribute, a range attribute, and a period attribute are specified for the attributes of the diffusion element, thereby diffusing the access by two ormore reception apparatuses12 to theapplication server16 for obtaining VOD applications.
For example, in the reception apparatuses12-1 through12-3, random values N are generated and command execution times are shifted by a duration of time by computing (N−1)×range/rate, thereby shifting the timings of accessing by eachreception apparatus12 to theapplication server16. In the example shown inFIG. 18, rate=5. It should be noted that command execution times can also be shifted in the same manner as mentioned above for the reception apparatus12-4 that is executing streaming reproduction of other distribution content. It should also be noted that the reception apparatus12-5 that executes commands outside the command application diffusion period can immediately execute commands with the command execution time not delayed.
As described above, the timing of accessing by thereception apparatus12 to theapplication server16 is adjusted, so that the accesses to theapplication server16 can be diffused to mitigate the processing load of theapplication server16.
Referring toFIG. 17 again, the application element is a parameter associated with a VOD application obtained from theapplication server16. The attributes of the application element include an id attribute, a url attribute, an expire date attribute, and a scope attribute.
For the id attribute, the identification information of a VOD application corresponding a command concerned is specified. For the url attribute, the URL of the acquisition destination of a VOD application is specified if the command concerned is an execute command or a register command. For example, for the url attribute, the URL of theapplication server16 is specified.
For the expire_date attribute, information indicative of the valid period of a VOD application is specified. For the scope attribute, information indicative of the valid scope of a VOD application is specified. If a VOD application is registered, the valid period and the valid scope of the VOD application are stored and the registered VOD application is managed in accordance with the stored valid period and valid scope.
The event element is an essential item if the action attribute is an event. For the attribute of the event element, an id attribute is specified. For the id attribute, the identification information of an event to be fired in the VOD application specified by the id attribute of the application element is specified. For a related_data element, data to be referenced at firing an event is written.
Referring toFIG. 19, there is shown a structure of meta data in segment data.
For the type attribute, the type (the meta data type) of meta data concerned is specified. The meta data types include application data (application data), text caption data (caption), and bitmap subtitle data (subtitle).
For the target attribute, an application for processing the meta data concerned is specified. It should be noted that, if the application for processing the meta data concerned is a resident application held in thereception apparatus12 in advance, then the target attribute is omitted.
For the ##defined structure, data of structures different for the meta data types is written.
Referring toFIG. 20, there is shown an exemplary description of a segment sequence.
In the example shown inFIG. 20, two pieces of segment data are written; to the first segment data, an execute command addressed to the reception apparatus main is written as a command of which PTS value in a range of 12000 to 15000 is the valid period. A VOD application to be obtained in accordance with the execute command concerned is obtained from theapplication server16 specified by the URL that is “xxx.com/yyy” and the valid period of this VOD application is 2011/01/21.
The second segment data describes an event command addressed to the reception apparatus main as a command with the PTS value between 13000 to 13100 coming within an valid period. This event command is fired in a VOD application obtained in accordance with the execute command written in the first segment data.
It should be noted that a segment sequence can be written in any manner and therefore is not limited to the description example shown inFIG. 20.
(Exemplary Operation of VOD Application of File Control Type)Executing an operation of file control type in thereception apparatus12 allows a VOD application operation as shown inFIG. 21 for example.
Referring toFIG. 21, there is shown an exemplary operation scenario of a VOD application in file control type.
As shown inFIG. 21, if a particular piece of distribution content is selected from a list of VOD navigation screen P11 displayed on thedisplay52, thereception apparatus12 requests the reproductioncontrol information server14 for a reproduction control meta file corresponding to the selected distribution content. In addition, in accordance with the reproduction control meta file from the reproductioncontrol information server14, thereception apparatus12 requests thedistribution server15 for the selected distribution content, thereby starting the reception of this distribution content.
In addition, thereception apparatus12 accesses the applicationcontrol information server17 to obtain application control information (the app_control_file in the figure) in accordance with the ERI of the obtained reproduction control meta file. Next, if the valid period indicative of a synchronous period for the progress of the distribution content identified by the obtained application control information comes into effect, then thereception apparatus12 controls the operation of the VOD application in accordance with the command within this valid period.
To be more specific, if an execute command addressed to the reception apparatus main comes within the valid period, thereception apparatus12 obtains a VOD application from theapplication server16 and launches the obtained VOD application. Consequently, a video with video P21 of the VOD application superimposed on the video of the distribution content is displayed on thedisplay52.
Next, if an execute command addressed to an external apparatus comes within the valid period, thereception apparatus12 transfers this execute command to theexternal apparatus18. Receiving the execute command from thereception apparatus12, theexternal apparatus18 obtains a VOD application from theapplication server16 and launches the obtained VOD application. Consequently, video P31 of the VOD application is displayed on theoutput block98.
Next, if an event command addressed to the reception apparatus main comes within the valid period, then thereception apparatus12 fires an event in the active VOD application and executes predetermined processing such as reading updated data to reflect the data onto the display. Consequently, for example, video P21 of the VOD application superimposingly displayed on the video of the distribution content is changed to video P22.
Further, if a suspend command addressed to the reception apparatus main comes within the valid period at a predetermined timing, then thereception apparatus12 suspends the active VOD application. Subsequently, if an execute command addressed to the reception apparatus comes within the valid period, thereception apparatus12 resumes the suspended VOD application.
Then, if a terminate command addressed to the reception apparatus main and the external apparatus comes within the valid period upon termination of the distribution content or the termination of a VOD application alone, thereception apparatus12 terminates the active VOD application. At the same time, thereception apparatus12 transfers a terminate command to theexternal apparatus18. Receiving the terminate command transferred from thereception apparatus12, theexternal apparatus18 terminates the active VOD application.
Subsequently, if the distribution content that has been streaming reproduced is terminated in thereception apparatus12, then VOD navigation screen P11 is displayed on thedisplay52 again.
As described above, if thereception apparatus12 operates in file control type, thereception apparatus12 obtains application control information from the applicationcontrol information server17 in accordance with information written to the ERI of a reproduction control meta file and controls an VOD application in accordance with a command within the valid period indicative of a synchronous period for the progress of the distribution content identified by the obtained application control information. Namely, in accordance with a command scheduled in a temporal sequence in advance in the application control information, thereception apparatus12 can launch, event-fire, and terminate a VOD application. Further, thereception apparatus12 can suspend a VOD application while keeping the active state of the VOD application, thereby execute and terminate another VOD application and then resuming the suspended VOD application from the suspended state.
[Exemplary Operation of Stream Control Type]The following describes an example in which thereception apparatus12 operates in stream control type with reference toFIGS. 22 through 28.
(Operative Connection Between Apparatuses of Stream Control Type)Referring toFIG. 22, there is shown the operative connection between apparatuses in the case where thereception apparatus12 operates in stream control type.
As shown inFIG. 22, when the reproduction of distribution content is specified by the user, thereception apparatus12 accesses the reproductioncontrol information server14 to obtain a reproduction control meta file (S31). Next, in accordance with the obtained reproduction control meta file, thereception apparatus12 accesses thedistribution server15 to start the reception of the distribution content distributed from the distribution server15 (S32).
At the same time, thereception apparatus12 analyzes the obtained reproduction control meta file and operates in stream control type if the control_type attribute of the app_control_info element of the ERI is indicative of Stream.
For example, as shown inFIG. 23, in the ERI of the reproduction control meta file of stream control type, Stream is specified to the control_type attribute of the app_control_info element and an app_control_position element is specified. For the app_control_position element, audio_es indicative that application control information is embedded in an audio stream is specified.
Referring toFIG. 22 again, in accordance with the ERI (the app_control_position element) of the reproduction control meta file, thereception apparatus12 obtains application control information embedded in the data of the distribution content from thedistribution server15. For example, if audio_es is specified for the app_control_position element of the ERI, then thereception apparatus12 obtains the application control information embedded in an audio stream.
Next, in accordance with a command included in the obtained application control information, thereception apparatus12 accesses theapplication server16 to obtain and launch a VOD application (S33). In addition, in thereception apparatus12, in accordance with a command indicated by the application control information, an active VOD application is suspended, resumed, event-injected, or terminated.
As described above, in thereception apparatus12, executing an operation of stream control type executes a VOD application obtained from theapplication server16 in operative connection with the distribution content obtained from thedistribution server15.
(Method of Embedding Application Control Information)The following describes a method of embedding application control information with reference toFIGS. 24 through 27. In the following description, an example is used in which application control information is embedded in an audio stream as one example of an embedding method.
FIGS. 24 and 25 show an example in which meta data storing application control information is inserted in an audio stream encoded by AAC (Advanced Audio Coding).
FIG. 24 shows a structure of a frame (Raw_data_block) in which audio data for AAC1024 samples is included. If the coding method is AAC, then meta data is inserted in a DSE (Data Stream Element) area.
FIG. 25 shows an example of a DSE syntax. Element_instance_tag is indicative of a data type in the data_stream_element; if DSE is used as user data with DSE integrated, the value of this may be set to 0. Data_byte_align_flag is 1 and puts the entire DSE into byte alignment. The value of count or esc_count denoting the additional byte count is appropriately determined in accordance with a user data size. Then, the space of data_stream_byte is defined as metadata( ) and application control information is inserted therein.
As described above, in the method of inserting meta data into an audio stream, the meta data storing application control information is inserted in the DSE area if encoded by AAC. It should be noted that, in this example, AAC is used for encoding; if encoding is executed by AC3 (Audio Code number 3), other coding schemes are applicable by inserting meta data into an AUX (AUXILIARY DATA) area for example.
FIGS. 26 and 27 show an example of a syntax of application control information (App_command_data( )). It should be noted that any syntaxes can be applied to application control information and therefore other syntaxes than that shown inFIGS. 26 and 27 are applicable.
(Exemplary Operation of VOD Application of Stream Control Type)In thereception apparatus12, executing an operation of stream control type enables the operation of a VOD application as shown inFIG. 28 for example.
Referring toFIG. 28, there is shown an example of an operation scenario of a VOD application in stream control type.
In thereception apparatus12, when the reproduction of distribution content is specified, a reproduction control meta file is obtained from the reproductioncontrol information server14 and an application control information embedded position is recognized from the app_control_position element written to ERI. At the same time, thereception apparatus12 receives distribution content from thedistribution server15 and starts streaming reproduction.
When thedistribution server15 transmits the application control information of a register command for specifying the acquisition of a VOD application corresponding to the distribution content in conformity to the progress of the distribution content, thereception apparatus12, upon receiving the application control information, normally monitors the embed position recognized in advance of an audio stream for example, thereby obtaining the application control information. Next, in accordance with a register command indicated by the application control information, thereception apparatus12 obtains and registers the VOD application from theapplication server16.
Next, when thedistribution server15 transmits the application control information of an execute command of a VOD application corresponding to distribution content in conformity to the progress of the distribution content, thereception apparatus12, upon receiving this application control information, launches the VOD application. When the VOD application is launched, an icon indicative that the display of the VOD application is prepared is displayed on the video of the distribution content in a superimposed manner.
When this icon is selected by the user, video P21 of the VOD application is displayed on the video of the distribution content in a superimposed manner.
Next, when thedistribution server15 transmits the application control information of an event command in conformity to the progress of the distribution content, thereception apparatus12, upon reception of this application control information, fires the event in the active VOD application. Consequently, video P21 displayed on the video of the distribution content in a superimposed manner is changed to video P22.
When thedistribution server15 transmits the application control information of a suspend command of the VOD application at a predetermined timing, thereception apparatus12, upon receiving this application control information, suspends the active VOD application. (The associated data is held in thesave memory73B.) Then, when thedistribution server15 transmits the application control information of an execute command of the VOD application, thereception apparatus12, upon receiving this application control information, resumes the suspended VOD application.
Further, when thedistribution server15 transmits the application control information of a terminate command in conformity to the termination of the distribution content, thereception apparatus12, upon receiving this application control information, terminates the active VOD application. It should be noted that, if thedistribution server15 does not transmit the application control information of a terminate command, the active VOD application is terminated at the same time as the termination of the distribution content.
As described above, thereception apparatus12, if operating in stream control type, normally monitors an application control information embedded position in accordance with the information written to the ERI of a reproduction control meta file to obtain application control information from the data of distribution content, thereby controlling a VOD application in accordance with a command indicated by the obtained application control information. Namely, in accordance with commands indicated by the application control information transmitted from thedistribution server15, thereception apparatus12 controls operations of a VOD application, such as launch, suspend, event firing, and termination.
[VOD Application State Transitions]Referring toFIG. 29, there is shown a state transition of a VOD application that operates in thereception apparatus12 in accordance with register, execute, event, suspend, and terminate commands. As shown inFIG. 29, it is defined that the states of a VOD application is any one of the four states of released, ready, active, and suspended.
It should be noted that, as described above, if thereception apparatus12 operates in direct operation type, the state of a VOD application is fixed to the active state. If thereception apparatus12 operates in file operation type or stream operation type, the state of a VOD application transitions to any one of released, ready, active, and suspended states.
In the released state, a VOD application has not been obtained by thereception apparatus12. In the ready state, a VOD application has been registered with thereception apparatus12 but not launched. In the active state, a launched VOD application is being executed. In the suspended state, the execution of a VOD application is discontinued and the information indicative of a state in which the discontinuation occurred is held in thesave memory73B.
If, when a VOD application is in the released state (namely, when no VOD application has been obtained by the reception apparatus12), a register command is received and a VOD application is obtained (or registered) in accordance with the received register command, then the VOD application transitions to the ready state.
If, when a VOD application is in the ready state, an execute command is received and the VOD application is launched in accordance with the received execute command, then the VOD application transitions to the active state.
If, when a VOD application is in the released state (namely, a VOD application has not been registered with the reception apparatus12), an execute command is received and this VOD application is obtained and launched in accordance with the received execute command, then the VOD application transitions to the active state.
If, when the VOD application is in the active state, a suspend command is received, the active VOD application is discontinued in accordance with the received suspend command, then the VOD application transitions to the suspended state.
If, when the VOD application is in the suspended state, an execute command is received and the suspended VOD application is resumed in accordance with the received execute command, then the VOD application transitions to the active state.
If, when the VOD application is in the active state or the suspended state, a terminate command is received and the active VOD application is terminated in accordance with the received terminate command, then the VOD application transitions to the ready state (“A” in the figure). It should be noted that the transition to the ready state takes place when another VOD application is executed, in addition to the launching of a terminate command.
If the application valid period of a command has passed when a VOD application is in the ready state, the active state, or the suspended state, then the VOD application transitions to the released state (“B” in the figure).
[Distribution Content Reproduction Processing]The following describes the distribution content reproduction processing that is executed by thereception apparatus12 with reference to the flowcharts shown inFIGS. 30 through 33.
Referring toFIG. 30, there is shown the flowchart indicative of the distribution content reproduction processing.
In step Sill, thecontrol block68 determines on the basis of an operation signal from theoperator block70 whether distribution content has been selected by the user. If distribution content is found selected by the user (“YES” in step S111), then the procedure goes to step S112. At this moment, thecontrol block68 controls the communication I/F71 to access the reproductioncontrol information server14 to request for a reproduction control meta file.
In step S112, theanalysis block66 controls the communication I/F71 to obtain a reproduction control meta file from the reproductioncontrol information server14. In accordance with an analysis result of the obtained reproduction control meta file, theanalysis block66 controls the communication I/F71 to access thedistribution server15 to request for distribution content.
The streamingreproduction processing block75 controls the communication I/F71 to obtain the distribution content from thedistribution server15 to supply the obtained distribution content to thedemultiplexer62. Consequently, streaming reception of the distribution content is executed in the reception apparatus12 (S113). Next, an audio stream and a video stream separated by thedemultiplexer62 are decoded by theaudio decoder63 and thevideo decoder65, respectively to be outputted, thereby executing the streaming reproduction of the distribution content.
In step S114, in accordance with the analysis result of the obtained reproduction control meta file, theanalysis block66 determines in which of the types thereception apparatus12 operates, direct control type, file control type, and stream control type.
If thereception apparatus12 is found to operate in direct control type in step S114, then the procedure goes to step S115. In step S115, on the basis of the analysis result obtained through theanalysis block66, thecontrol block68 controls theapplication engine72 to execute VOD application control processing of direct control type.
It should be noted that details of the VOD application control processing of direct control type will be described later with reference to the flowchart shown inFIG. 31.
If thereception apparatus12 is found to operate in file control type in step S114, then the procedure goes to step S116. In step S166, thecontrol block68 controls theapplication engine72 on the basis of the analysis result obtained through theanalysis block66 to execute the VOD application control processing of file control type.
It should be noted that details of the VOD application control processing of file control type will be described later with reference to the flowchart shown inFIG. 32.
Further, if thereception apparatus12 is found to operate in stream control type in step S114, then the procedure goes to step S117. In step S117, thecontrol block68 controls theapplication engine72 on the basis of an analysis result obtained through theanalysis block66 to execute VOD application control processing of stream control type.
It should be noted that details of the VOD application control processing of stream control type will be described later with reference to the flowchart shown inFIG. 33.
When the VOD application control processing of steps S115 through S117 has been completed, the procedure returns to step S111 to repeat the above-mentioned processing operations therefrom.
In the above-mentioned description, distribution content reproduction processing has been explained.
(Details of VOD Application Control Processing of Direct Control Type)The following describes details of the VOD application control processing of direct control type corresponding to step S115 ofFIG. 30 with reference to the flowchart shown inFIG. 31.
In step S131, under the control of thecontrol block68, theapplication engine72 controls the communication I/F71 to obtain a VOD application from theapplication server16 and stores the obtained VOD application into thecache memory76. In step S132, theapplication engine72 launches the VOD application stored in thecache memory76. Consequently, on thedisplay52, a video of the VOD application is displayed as superimposed on a video of distribution content.
Subsequently, the processing of step S133 is repeated until the streaming reception of distribution content is terminated. In thereception apparatus12, while streaming reproduction is executed, the video of the VOD application is displayed as superimposed on the video of distribution content.
Then, when the distribution content being streaming-reproduced ends (“YES” in step S133), then the procedure goes to step S134. In step S134, under the control of thecontrol block68, theapplication engine72 terminates the active VOD application. Consequently, the VOD application is terminated at the same time as the termination of the distribution content.
When the VOD application control processing of direct control type is terminated, the procedure returns to step S115 to repeat the above-mentioned processing operations therefrom.
(Details of VOD Application Control Processing of File Control Type)The following describes details of the VOD application control processing of file control type corresponding to step S116 ofFIG. 30 with reference to the flowchart shown inFIG. 32.
In step S151, in accordance with an analysis result of a reproduction control meta file, theanalysis block66 controls the communication I/F71 to obtain application control information from the applicationcontrol information server17. Theanalysis block66 analyzes the obtained application control information and supplies a result of this analysis to thecontrol block68.
In step S152, thecontrol block68 determines on the basis of the analysis result from theanalysis block66 whether the progress timing of the active distribution content is within a segment valid period or not.
If the progress timing is found to be within the segment valid period in step S152, then the procedure goes to step S153. In step S153, thecontrol block68 reads a command within the segment valid period to determine whether this command is register, execute, event, suspend, or terminate.
In step S154, thecontrol block68 determines whether the decision in step S153 is indicative of register or not. If the decision is found indicative of register, the procedure goes to step S155. In step S155, thecontrol block68 controls theapplication engine72 to access theapplication server16 identified by an application acquisition destination URL, thereby obtaining and registering a VOD application. Then, the procedure returns to step S152 to repeat the above-mentioned processing operations therefrom.
In step S154, if the decision of step S153 is found not indicative of register, then the procedure goes to step S156. In step S156, thecontrol block68 determines whether the decision of step S153 is indicative of execute or not. If the decision is found indicative of execute, then the procedure goes to step S157.
In step S157, under the control of thecontrol block68, theapplication engine72 determines whether the VOD application identified by application ID is suspended (or in the suspend state) or not. To be more specific, the VOD application is determined to be suspended if the data indicative of the suspended state of the VOD application identified by application ID is saved in thesave memory73B.
In step S157, if the VOD application identified by application ID is found not to be suspended, then the procedure goes to step S158. In step S158, under the control of thecontrol block68, theapplication engine72 obtains the VOD application identified by application ID if this VOD application has not been obtained (not stored in the cache memory76).
In step S159, under the control of thecontrol block68, theapplication engine72 terminates the active VOD application if any.
In step S160, under the control of thecontrol block68, theapplication engine72 launches the VOD application identified by application ID. Subsequently, the procedure returns to step S152 to repeat the above-mentioned processing operations therefrom.
It should be noted that, if the VOD application identified by application ID is found to be suspended (or in the suspended state) in step S157, then the procedure goes to step S161. In step S161, under the control of thecontrol block68, theapplication engine72 moves the data from thesave memory73B to thework memory73A to launch the VOD application identified by application ID. Consequently, the execution of the suspended VOD application identified by application ID is resumed from the suspended state. Then, the procedure returns to step S152 to repeat the processing operations therefrom.
If the decision of step S153 is found not to be execute in step S156, then the procedure goes to step S162. In step S162, thecontrol block68 determines whether the decision of step S153 is indicative of event or not. If the decision is found indicative of event, then the procedure goes to step S163.
In step S163, only when there is an application ID match, thecontrol block68 controls theapplication engine72 to fire (or execute) the event corresponding to event ID in the active VOD application. Then, the procedure returns to step S152 to repeat the processing operations therefrom.
In step S162, if the decision of step S153 is found not indicative of event, then the procedure goes to step S164. In step S164, thecontrol block68 determines whether the decision of step S153 is indicative of suspend or not. If the decision is found to be indicative of suspend, the procedure goes to step S165.
In step S165, under the control of thecontrol block68, theapplication engine72 saves the data (namely, the data currently written to thework memory73A; if the information to be displayed is layered, this data includes the information indicative of the layer of the displayed information) indicative of the state of the currently active VOD application into thesave memory73B. Then, the procedure returns to step S152 to repeat the above-mentioned processing operations therefrom.
In step S164, if the decision of step S153 is found not indicative of suspend, then the decision of step S153 is indicative of terminate, so that the procedure goes to step S166. In step S166, under the control of thecontrol block68, theapplication engine72 terminates the VOD application identified by application ID if this VOD application is active. In step S167, under the control of thecontrol block68, theapplication engine72 deletes the data associated with the VOD application identified by application ID from thework memory73A and thesave memory73B and deletes this VOD application from thecache memory76. Then, the procedure returns to step S152 to repeat the above-mentioned processing operations therefrom.
If the segment valid period is found passed, namely, if the progress timing of distribution content is found over the segment valid period for example in step S152, then the procedure goes to step S168. In step S168, it is determined whether the streaming-reproduced distribution content has terminated or not. If this distribution content is found not terminated, then the procedure goes to step S152 to repeat the above-mentioned processing operations therefrom.
On the other hand, if the streaming-reproduced distribution content is found terminated (“YES” in step S168), then the VOD application control processing of file control type is ended. When the VOD application control processing of file control type has come to an end, the procedure returns to step S116 to repeat the above-mentioned processing operations therefrom.
(Details of VOD Application Control Processing of Stream Control Type)The following describes details of the VOD application control processing of stream control type corresponding to step S117 ofFIG. 30 with reference to the flowchart shown inFIG. 33.
In step S191, theanalysis block66 normally monitors a recognized application control information embedded position, such as an audio stream for example, to determine whether application control information has been received or not. If application control information is found to have been received in step S191, then the procedure goes to step S192. In step S192, theanalysis block66 obtains the application control information embedded in the data of distribution content. When the application control information is obtained in step S192, the procedure goes to step S193.
In steps S193 through S208, it is determined whether a command indicated by application control information is register, execute, event, suspend, or terminate as with steps S153 through S168 shown inFIG. 32. In accordance with the type of a determined command, the operation of a VOD application is controlled. To be more specific, the VOD application control processing of stream control type is repetitively executed while the user is viewing the streaming reproduction of distribution content, thereby launching, event-firing, or terminating the VOD application in operative connection with the distribution content. Further, the VOD application is suspended with the state of execution held, thereby executing and terminating another VOD application and then resuming the suspended VOD application from the suspended state.
Then, when the VOD application control processing of stream control type comes to an end, the procedure returns to step S117 shown inFIG. 30 to repeat the above-mentioned processing operations therefrom.
As described above, according to the present technology, VOD applications that are executed in operative connection with the distribution content that is streaming-reproduced can be provided. Especially, if there are two or more pieces of distribution content to be streaming-reproduced, a VOD application can be individually executed for each piece of the distribution content.
[Description of Computer to which Present Technology is Applied]
The above-mentioned sequence of processing operations may be executed by software as well as hardware. If the above-mentioned sequence of processing operations is executed by software, the programs constituting the software are installed in a computer which is built in dedicated hardware equipment or installed, from a network or recording media, into a general-purpose personal computer for example in which various programs may be installed for the execution of various functions.
Referring toFIG. 34, there is shown a block diagram illustrating an exemplary hardware configuration of a computer that executes the above-mentioned sequence of processing operations by programs.
In acomputer200, a CPU (Central Processing Unit)201, a ROM (Read Only Memory)202, and a RAM (Random Access Memory)203 are interconnected by abus204.
Thebus204 is connected to an input/output interface205. The input/output interface205 is connected to aninput block206, anoutput block207, arecording block208, acommunication block209, and adrive210.
Theinput block206 is made up of a keyboard, a mouse, and a microphone, for example. Theoutput block207 is made up of a display and a speaker, for example. Therecording block208 is made up of a hard disk drive or a nonvolatile memory, for example. Thecommunication block209 is made up of a network interface for example. Thedrive210 drives aremovable media211, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
In thecomputer200 configured as described above, theCPU201 loads a program from therecording block208 into theRAM203 through the input/output interface205 and thebus204 and executes the loaded program, thereby executing the sequence of processing operations described above.
Programs to be executed by the computer200 (or the CPU201) can be provided as recorded to theremovable media211 that is package media for example. At the same time, programs can be provided through wireless or wired transmission media, such as a local area network, the Internet, or digital satellite broadcasting.
In thecomputer200, a program can be installed into therecording block208 via the input/output interface205 by loading theremovable media211 in which the program is stored onto thedrive210. Also, a program can be received at thecommunication block209 via wireless or wired transmission media and the received program can be installed in therecording block208. Besides, a program can be installed in theROM202 or therecording block208 in advance.
It should be noted that a program to be executed by thecomputer200 can be executed in a time-dependent manner along a sequence described in the present disclosure or in parallel or on an on-demand basis.
The processing steps for describing a program for thecomputer200 to execute various processing operations need not be executed in a time-dependent manner along a sequence described as a flowchart; namely, these processing steps include processing steps (parallel processing operations for object processing operations, for example) that are executed in parallel or discretely.
It should also be noted that programs may be processed by one unit of computer or by two or more units of computers in a distributed manner. Further, programs may be transmitted to a remote computer to be executed.
It should also be noted that term “system” as used herein denotes a set of two or more component elements (apparatuses or modules (or parts) for example) and these component elements need not be accommodated in a single housing. Therefore, two or more apparatuses accommodated in separate housings and interconnected via a network and a single apparatus with two or more modules accommodated in a single housing constitute a system.
While preferred embodiments of the present technology have been described using specific terms, such description is for illustrative purpose only, and it is to be understood that changes and variations may be made without departing from the spirit or scope of the following claims.
For example, the present technology can take a configuration of cloud computing in which one function is dividedly executed by two or more apparatuses through networks to jointly process the function.
Each of the steps described in the flowcharts described above can be executed by a single apparatus or jointly by two or more apparatuses.
Further, if two or more processing operations are included in a single step, these two or more processing operations included in this single step can be executed by a single apparatus or jointly by two or more apparatuses.
It should be noted that the present technology can take the following configuration.
(1) A reproduction apparatus including a reproduction control information acquisition block configured to acquire reproduction control information for controlling reproduction of content; a reproduction block configured to reproduce, in accordance with the acquired reproduction control information, the content that is distributed; and a control block configured to control an operation of an application program that is executed in operative connection with the content being reproduced in accordance with information associated with the application program and obtained from the acquired reproduction control information.
(2) In the reproduction apparatus shown in (1) above, the reproduction control information is specified with any one of a first type for controlling an operation of the application program in accordance with information directly written to the reproduction control information, a second type for controlling an operation of the application program in accordance with application control information obtained from an information processing apparatus for providing the application control information for controlling an operation of the application program, and a third type for controlling an operation of the application program in accordance with the application control information embedded in data of the content. The control block controls an operation of the application program in accordance with the specified type of the reproduction control information.
(3) In the reproduction apparatus shown in (2) above, if the first type is specified in the reproduction control information, then the control block launches the application program in accordance with reproduction start of the content and terminates the application program in accordance with reproduction end of the content.
(4) In the reproduction apparatus shown in (2) above, if the second type is specified in the reproduction control information, then the control block controls an operation of the application program in accordance with a command within a valid period indicative of a synchronous period for progression of the content identified by the application control information obtained from the information processing apparatus.
(5) In the reproduction apparatus shown in (4) above, the command is indicative of any one of acquisition and registration, acquisition and launch, event firing, suspend, and termination of the application program. The control block controls any one of acquisition and registration and acquisition and launch of the application program, and event firing, suspend, and termination of the active application program in accordance with the command.
(6) In the reproduction apparatus shown in (4) or (5) above, the valid period is identified by a PTS indicative of a progress position of the corresponding content.
(7) In the reproduction apparatus shown in (2) above, if the third type is specified in the reproduction control information, the control block controls an operation of the application program in accordance with a command indicated by the application control information embedded in an embed position identified by the reproduction control information.
(8) In the reproduction apparatus shown in (7) above, the command is indicative of any one of acquisition and registration, acquisition and launch, event firing, suspend, and termination of the application program. The control block controls any one of acquisition and registration and acquisition and launch of the application program, and event firing, suspend, and termination of the active application program in accordance with the command.
(9) In the reproduction apparatus shown in (7) or (8) above, the application control information is inserted in a DSE area in a frame structure of an audio stream encoded by AAC.
(10) The reproduction apparatus shown in (1) above further has a reception block configured to receive a digital television broadcast signal.
(11) A reproduction method for a reproduction apparatus has acquiring reproduction control information for controlling reproduction of content; reproducing, in accordance with the acquired reproduction control information, the content that is distributed; and controlling an operation of an application program that is executed in operative connection with the content being reproduced in accordance with information associated with the application program and obtained from the acquired reproduction control information. Each of these steps is executed by the reproduction apparatus.
(12) A program for making a computer function as a reproduction control information acquisition block configured to acquire reproduction control information for controlling reproduction of content; a reproduction block configured to reproduce, in accordance with the acquired reproduction control information, the content that is distributed; and a control block configured to control an operation of an application program that is executed in operative connection with the content being reproduced in accordance with information associated with the application program and obtained from the acquired reproduction control information.