Patent Description:
Voice artificial intelligence (AI) assistant services have been recently prevailing. Those services are information services in which a terminal supporting the services picks up a request through voice made by a user of an information processing apparatus by using a microphone or the like, recognizes the request, analyzes data, executes a service corresponding to the request of the user, and responds to the user for a result of the execution through sound or the like (see, for example, Patent Literature <NUM>). Alexa (registered trademark) of Amazon Echo (registered trademark) is currently known as a voice AI assistant service based on cloud.

The inventors of the present technology have examined a mechanism in which the voice AI assistant service as described above is used as means for collecting information regarding people or products appearing in a video in an environment where moving image content including the video is reproduced. For example, in a case where a user as a viewer wants to know then and there various things such as a role of a person appearing in the moving image content, a relationship with other people appearing therein, and further the profile of the actor who acts that person, the user can receive information from the voice AI assistant service in real time.

However, if the voice AI assistant service is actually used as means for collecting information regarding people or products appearing in a video in an environment where moving image content including the video is reproduced, a suitable way of using the voice AI assistant service while making use of the properties of the voice AI assistant service has not yet established sufficiently, and problems to be solved are stacked.

In this regard, the present technology has an object to provide an information processing apparatus, an information processing apparatus, and a program, which are capable of using a voice AI assistant service while making use of the properties thereof when a reproduced video is viewed.

In order to solve the problems described above, an information processing apparatus according to the present technology includes: a media reproduction unit that acquires and reproduces video data including a service object, for which a service that processes a request from a user through voice is available; and a controller that adds an additional image for informing the user about the service object to the reproduced video.

The additional image includes a visual feature unique to each service object such that the service object is uniquely determined by voice recognition in the service.

The additional image may be presented at a position attached to the service object.

The controller may be configured to restrict the service object, to which the additional image is added, in accordance with the user or an attribute of the user.

The controller may be configured to perform a skip reproduction of a video of a period in which the service object appears, the additional image being added to the service object in accordance with the user or the attribute of the user.

The controller may be configured to reproduce the video of the period in which the service object appears, at a first double-speed, the additional image being added to the service object in accordance with the user or the attribute of the user, and reproduce a video of a period in which the service object does not appear, at a second speed faster than the first double-speed.

The controller may be configured to acquire metadata for generating the additional information, and add the additional information on the basis of the acquired metadata.

The controller may be configured to acquire an MPD file including AdaptationSet of the metadata, analyze the MPD file, acquire each of the video data and the metadata as a Media Segment of MPEG-DASH, and present the video data and the additional image based on the metadata in synchronization with each other.

The controller may be configured to determine whether a change in details is present or not between temporally preceding metadata and temporally succeeding metadata on the basis of version information of the metadata, and in a case where a change in details is absent, add the additional image, which is added to the video on the basis of the temporally preceding metadata, to a video synchronized with the temporally succeeding metadata, as an additional image based on the temporally succeeding metadata.

Additionally, the visual feature of the additional image may be provided by any one of a character string regarding the service object, a color, a shape, or an icon.

An information processing method of another embodiment according to the present technology includes the procedure of: acquiring and reproducing video data including a service object, for which a service that processes a request from a user through voice is available; and adding an additional image for informing the user about the service object to the reproduced video.

A program of still another embodiment according to the present technology causes a computer to function to, when the computer reproduces video data including a service object, for which a service that processes a request from a user through voice is available, add an additional image for informing the user about the service object to the reproduced video. Advantageous Effects of Invention.

As described above, according to the present technology, it is possible to use a voice AI assistant service while making use of the properties thereof when a reproduced video is viewed.

Hereinafter, an embodiment according to the present technology will be described.

An information processing apparatus <NUM> of this embodiment includes:.

With this configuration, the information processing apparatus <NUM> of this embodiment exerts an effect of allowing a service object for the voice AI assistant service to be determined at a glance in the reproduced video and eliminating confusion caused when the service object is selected.

Next, a configuration and an operation of the information processing system <NUM> including the information processing apparatus <NUM> of the first embodiment will be described in detail.

<FIG> is a block diagram showing an overall configuration of an information processing system <NUM> including an information processing apparatus <NUM> of a first embodiment according to the present technology.

As shown in the figure, the information processing system <NUM> includes a server group <NUM>, a broadcast/network distribution system <NUM>, a voice AI assistant service terminal <NUM>, and an information processing apparatus <NUM> of a user.

The server group <NUM> includes a moving image content server <NUM>, an application server <NUM>, a POI metadata server <NUM>, and a voice AI assistant service program server <NUM>.

The moving image content server <NUM> accumulates data of moving image content such as commercial messages (CMs) and programs. The data of moving image content may be multimedia data configured by a plurality of kinds of media data such as video, audio, and subtitles. The present technology is applicable particularly to video data, and it does not matter whether other media data such as audio and subtitles is present or not.

The POI metadata server <NUM> directly distributes POI metadata corresponding to the moving image content to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM>. Alternatively, in a case where at least the data of the moving image content and the POI metadata are gathered in a predetermined data structure in the moving image content server <NUM> and then distributed to the information processing apparatus <NUM>, the POI metadata server <NUM> supplies the POI metadata to the moving image content server <NUM> via the broadcast/network distribution system <NUM>. The POI metadata will be described later.

The application server <NUM> directly distributes an application for executing processing based on the POI metadata in the information processing apparatus <NUM>, to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM>. Alternatively, in a case where the data of the moving image content, the POI metadata, and the application are gathered in a predetermined data structure in the moving image content server <NUM> and then distributed to the information processing apparatus <NUM>, the application server <NUM> supplies the application to the moving image content server <NUM> via the broadcast/network distribution system <NUM>.

The voice AI assistant service program server <NUM> supplies a voice AI assistant service program to the voice AI assistant service terminal <NUM> via the broadcast/network distribution system <NUM>. The voice AI assistant service program is a program configured to generate a service execution result in response to a service request, which is provided by a user U who is a viewer of the moving image content, for a service object such as a specific person or product appearing in the moving image content.

The broadcast/network distribution system <NUM> is a system to distribute the data of the moving image content, the data structure in which the data of the moving image content and the POI metadata are gathered, or the data structure in which the data of the moving image content, the POI metadata, and the application are gathered, to the information processing apparatus <NUM> via broadcasting or network communication. Additionally, the broadcast/network distribution system <NUM> is also used for data transfer between the moving image content server <NUM>, the application server <NUM>, and the POI metadata server <NUM>, and further data transfer between the voice AI assistant service program server <NUM> and the voice AI assistant service terminal <NUM>.

The information processing apparatus <NUM> includes, as hardware elements, a central processing unit (CPU), a main memory such as a random access memory (RAM), storage devices such as a hard disk drive (HDD) and a solid state drive (SSD), a user interface, a broadcast reception unit such as an antenna and a broadcast tuner, and a communication interface such as a network interface. The information processing apparatus <NUM> may be specifically information terminals wearable by the user, such as a personal computer, a smartphone, a tablet terminal, a television, a game device, and a head mounted display (HMD).

The information processing apparatus <NUM> includes, as functional elements achieved by the hardware elements described above and software elements, an AV decoder <NUM>, a POI metadata processing module <NUM>, an application execution environment <NUM>, and a renderer <NUM>.

The information processing apparatus <NUM> includes, as user interfaces, a display <NUM> and a speaker <NUM>. Furthermore, the information processing apparatus <NUM> may include a user determination module <NUM> as a functional element.

The AV decoder <NUM> decodes multimedia data (video data, audio data, and the like) of the moving image content acquired from the moving image content server <NUM> via the broadcast/network distribution system <NUM>.

The POI metadata processing module <NUM> supplies the POI metadata, which is acquired from the moving image content server <NUM> or the POI metadata server <NUM> via the broadcast/network distribution system <NUM>, to the application execution environment <NUM>.

The "POI metadata" is metadata for adding an added image to a video being reproduced in the information processing apparatus <NUM>, the added image informing the user U of the information processing apparatus <NUM> about a specific service object, to which a voice AI assistant service is assigned in that video. The POI is an abbreviation for Point of Interest. The "specific service object" means a person or product appearing in the video, for which the voice AI assistant service can respond to a service request from the user U.

The application execution environment <NUM> is an environment where a native application or a web application is executed using the CPU and the main memory. The application execution environment <NUM> generates an added image, which is to be added to the service object in the video, on the basis of the POI metadata provided by the POI metadata processing module <NUM>. The "added image" is generated, for example, as a "speech balloon", such that a relationship with the service object in the video is easily understandable, for example. However, the present technology is not limited to the above, and any image with which a relationship with the service object in the video is easily understandable may be used.

The renderer <NUM> generates a display signal, which is to be output to the display <NUM>, from video data decoded by the AV decoder <NUM>, and outputs audio data decoded by the AV decoder <NUM> to the speaker <NUM>. Additionally, in a case where an added image is supplied from the application execution environment <NUM>, the renderer <NUM> synthesizes that added image on the video of the program.

The display <NUM> presents the video to the user U. The speaker <NUM> presents the audio to the user U.

The voice AI assistant service terminal <NUM> is a terminal that provides a voice assistant service to the user U of the information processing apparatus <NUM>. More specifically, the voice AI assistant service terminal <NUM> is an apparatus capable of receiving a service request, which is provided by the user U through voice, for an optional service object in the video, executing that service, and returning an execution result of the service to the user U by using sound or the like. Here, the service request from the user U through voice is provided using, for example, words in the form of question, and an execution result of the service is returned to the user U by, for example, synthesized voice in the form of response or the like.

The voice AI assistant service terminal <NUM> includes a microphone for assistant service <NUM>, a voice recognition module <NUM>, a speaker for voice AI assistant service <NUM>, a voice generation module <NUM>, and a voice AI assistant service program execution environment <NUM>.

The microphone for assistant service <NUM> captures the service request provided through voice from the user U of the information processing apparatus <NUM>.

The voice recognition module <NUM> recognizes the voice of the service request captured by the microphone for assistant service <NUM> and passes request data to the voice AI assistant service program execution environment <NUM>.

The voice AI assistant service program execution environment <NUM> is an environment where the voice AI assistant service program acquired from the voice AI assistant service program server <NUM> is executed. The voice AI assistant service program execution environment <NUM> generates data of an execution result of the service for the request data, which is supplied from the voice recognition module <NUM>, and supplies the data to the voice generation module <NUM>.

The voice generation module <NUM> converts the data of the execution result of the service, which is supplied from the voice AI assistant service program execution environment <NUM>, into synthesized voice.

The speaker for assistant service <NUM> presents the synthesized voice, which is supplied from the voice generation module <NUM>, to the user U of the information processing apparatus <NUM>.

<FIG> is a sequence diagram showing the overall operation flow (part <NUM>) of the information processing system <NUM> in this embodiment.

It is assumed that the data of the moving image content, the application, and the POI metadata are respectively distributed from different servers (moving image content server <NUM>, application server <NUM>, and POI metadata server <NUM>).

First, the application is distributed from the application server <NUM> to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM> (Step S101). Furthermore, the data of the moving image content is distributed from the moving image content server <NUM> to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM> (Step S102). In the information processing apparatus <NUM>, the received data of the moving image content is decoded in the AV decoder <NUM>, and the resultant video data and audio data are respectively supplied to the display <NUM> and the speaker <NUM> via the renderer <NUM> (Step S103).

Additionally, the application distributed from the application server <NUM> to the information processing apparatus <NUM> is installed in the application execution environment <NUM>, and the application is executed (Step S104).

Next, the POI metadata corresponding to the moving image content is distributed from the POI metadata server <NUM> to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM> (Step S105). In the information processing apparatus <NUM>, the POI metadata is supplied to the application execution environment <NUM> by the POI metadata processing module <NUM>. The application execution environment <NUM> generates, on the basis of the POI metadata, an additional image for informing the user U about a service object in the video, and supplies the additional image to the renderer <NUM>. Thus, a synthesized image in which the additional image is superimposed on the video of the program is obtained and displayed on the display <NUM> (Step S106).

The user U then provides a service request, through voice, for the service object for which the additional image is presented in the video displayed on the display <NUM>, to the voice AI assistant service terminal <NUM>, and uses the voice AI assistant service (Step S107).

<FIG> is a sequence diagram showing the overall operation flow (part <NUM>) of information processing system <NUM> in this embodiment.

In the operation flow (part <NUM>) described above, the data of the moving image content and the POI metadata are distributed from the different servers (moving image content server <NUM> and POI metadata server <NUM>) to the information processing apparatus <NUM>, and thus the synchronization between the data of the moving image content and the POI metadata is not ensured in the information processing apparatus <NUM>.

In this regard, in the operation flow (part <NUM>) shown in <FIG>, first, the POI metadata is supplied from the POI metadata server <NUM> to the moving image content server <NUM> via the broadcast/network distribution system <NUM> (Step S201). Subsequently, the POI metadata and the data of the moving image content are gathered in a predetermined data structure in the moving image content server <NUM> and are distributed to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM> (Step S203).

In the information processing apparatus <NUM>, the data of the moving image content is extracted from the received data structure, the extracted data of the moving image content is decoded in the AV decoder <NUM>, and the resultant video data and audio data are respectively supplied to the display <NUM> and the speaker <NUM> via the renderer <NUM> (Step S204).

Additionally, in the information processing apparatus <NUM>, the POI metadata is extracted from the received data structure by the POI metadata processing module <NUM> (Step S205) and is supplied to the application execution environment <NUM>. The application execution environment <NUM> generates, on the basis of the POI metadata, an additional image for informing the user U about a service object in the video, and supplies the additional image to the renderer <NUM>. Thus, a synthesized image in which the additional image is superimposed on the video of the program is obtained and displayed on the display <NUM> (Step S207).

The user U then provides a service request, through voice, for the service object for which the additional image is presented in the video displayed on the display <NUM>, to the voice AI assistant service terminal <NUM>, and uses the voice AI assistant service (Step S208).

In such a manner, the POI metadata and the data of the moving image content are gathered in a predetermined data structure and distributed from the moving image content server <NUM> to the information processing apparatus <NUM>, which ensures that the data of the moving image content and the POI metadata can be processed in synchronization with each other in the information processing apparatus <NUM>. This allows a correct additional image to be constantly added to the service object in the video of the program and allows a stable voice AI assistant service to be maintained.

Note that, in the operation flow (part <NUM>), the application is distributed from the application server <NUM> to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM> (Step S202), installed in the application execution environment <NUM>, and executed (Step S206), which is the same as the operation flow (part <NUM>) described above.

In this operation flow, it is assumed that the data of the moving image content, the POI metadata, and the application that processes them are gathered in a predetermined data structure and distributed from the moving image content server <NUM> to the information processing apparatus <NUM>.

First, the POI metadata is supplied from the POI metadata server <NUM> to the moving image content server <NUM> (Step S301). Furthermore, the application is supplied from the application server <NUM> to the moving image content server <NUM> (Step S302). The order of the supply of the POI metadata and the supply of the application may be reversed. Subsequently, the data of the moving image content, the POI metadata, and the application are gathered in a predetermined data structure in the moving image content server <NUM> and are distributed to the information processing apparatus <NUM> via the broadcast/network distribution system <NUM> (Step S303).

In the information processing apparatus <NUM>, the data of the moving image content is extracted from the received data structure, the extracted data of the moving image content is decoded in the AV decoder <NUM>, and the resultant video data and audio data are respectively supplied to the display <NUM> and the speaker <NUM> via the renderer <NUM> (Step S304).

Additionally, in the information processing apparatus <NUM>, the application is extracted from the received data structure (Step S305), installed in the application execution environment <NUM>, and executed (Step S306).

Furthermore, in the information processing apparatus <NUM>, the POI metadata is extracted from the received data structure by the POI metadata processing module <NUM> (Step S307) and is supplied to the application execution environment <NUM>. The application execution environment <NUM> generates, on the basis of the POI metadata, an additional image for informing the user U about a service object in the video, and supplies the additional image to the renderer <NUM>. Thus, a synthesized image in which the additional image is superimposed on the video of the program is obtained and displayed on the display <NUM> (Step S308).

The user U then provides a service request, through voice, for the service object for which the additional image is presented in the video displayed on the display <NUM>, to the voice AI assistant service terminal <NUM>, and uses the voice AI assistant service (Step S309).

Next, the additional image generated on the basis of the POI metadata will be described.

<FIG> is a diagram showing an example of a video on which the additional image is superimposed.

As shown in the figure, the additional image may be presented as, for example, speech balloons <NUM>, <NUM>, and <NUM> respectively attached to service objects J1, J2, and J3 for the voice AI assistant service in the video.

Visual features unique to the respective service objects J1, J2, and J3 are provided to the speech balloons <NUM>, <NUM>, and <NUM> such that, in a case where the user U notifies the voice AI assistant service terminal <NUM> of the service objects J1, J2, and J3 through voice, the service objects J1, J2, and J3 are uniquely determined by voice recognition in the voice AI assistant service terminal <NUM>. This allows the user U to provide a service request for that service object to the voice AI assistant service terminal <NUM> by using voice expressing the feature of an optional service object.

For example, in the example of <FIG>, "Bill", "Fred", and "Lucy", which are character strings of the names of people serving as the service objects J1, J2, and J3, are displayed as visual features in the speech balloons <NUM>, <NUM>, and <NUM>. Thus, the user U can use the name of an optional service object, for example, "What is the latest news of Fred?" or "How old is Bill?", to provide a service request for the service object to the voice AI assistant service terminal <NUM> through voice. Meanwhile, the voice AI assistant service terminal <NUM> can identify the service object from the name recognized by the voice recognition module <NUM> and can execute the voice AI assistant service for the identified service object in accordance with the voice AI assistant service program of the voice AI assistant service program execution environment <NUM>.

Note that the visual features unique to the respective service objects disposed in the speech balloons <NUM>, <NUM>, and <NUM> may be variously modified with icons, the colors of the speech balloons, the design of the speech balloon, and the like in addition to the character strings of the names of the people appearing in the video.

As described above, in this embodiment, the additional image for informing the user U about the service object is generated for a service object for a voice AI assistant service in the video of the moving image content, and then superimposed on the video of the moving image content to be presented, and thus the user U can uniquely determine the service object from the video and perform a service request for an optional service object. Thus, useless operations of the user U to provide a service request for an object other than the service object to the voice AI assistant service terminal <NUM> are eliminated, and the voice AI assistant service can be optimally used.

Additionally, the visual features unique to the respective service objects are provided to the additional image such that the service object may be uniquely recognized by the voice recognition in the voice AI assistant service terminal <NUM>, and thus the user U can provide a service request for that service object to the voice AI assistant service terminal <NUM> by using voice while using voice expressing a feature of an optional service object. Thus, the user U does not hesitate about how the service object is expressed to give a notice to the voice AI assistant service, the service object is reliably identified in the voice AI assistant service terminal <NUM>, and thus an optimal voice AI assistant service is achieved.

Next, the structure of the POI metadata will be described.

<FIG> is a block diagram showing a configuration of the POI metadata.

The POI metadata includes a POI icon image, a POI presentation color, a POI presentation position, a POI presentation text, and POI filtering information.

The POI icon image is the substance of an icon file, which is used in a case where an icon is presented on the additional image as a visual feature of the service object unit, or a reference URL (Uniform Resource Locator) to the icon file. An XML (Extensible Markup Language) representation of the POI icon image will be shown below.

The POI presentation color is used in a case where a visual feature using color is provided to the additional image. For information of the POI presentation color, for example, a color code of CSS (Cascading Style Sheets) or the like is used. The XML representation of the POI presentation color will be shown below. <POIColor>. (CSS color code). </POIColor>.

The POI presentation position includes information such as a URI (Uniform Resource Identifier) of target content, in which the additional image is presented, a URI of an application that performs processing of presenting the additional image on the basis of the POI metadata, a presentation time of the additional image, and a presentation position of the additional image. The XML representation of the POI presentation position will be shown below.

The POI presentation text is a character string presented on the additional image in a case where a visual feature using characters is provided to the additional image. The XML representation of the POI presentation text will be shown below. (presentation character strings). </POIText>.

The POI filtering information is used in a case where the presentation restriction corresponding to the user or a user attribute of the additional image is performed. The POI filtering information is information for identifying the user U to which the additional image is to be presented, and includes an identification name of a user demographic class and optional user identification information.

The user demographic class means a class, into which the user U is classified on the basis of attributes of the user, such as sex, age, a living region, an occupation, an academic background, and a family structure, and is uniquely identified by the identification name of the user demographic class. The XML representation of the identification name of the user demographic class will be shown below. <POITargetUser demographicClass='true'>. (user demographic class identification name). </POITargetUser>.

The optional user identification information is, for example, user identification information such as an account name of a broadcast-station-related service. The XML representation of the optional user identification information will be shown below. <POITargetUser privateAccount='true'>https://. (URL for identifying user account of service or the like). </POITargetUser>.

Note that at least any one of the POI icon image, the POI presentation color, or the POI presentation text only needs to be defined. The POI filtering information is defined in a case where the presentation restriction of additional information to be described later is introduced.

In the embodiment described above, the additional image is presented on the service object for the voice AI assistant service, in the video of the moving image content. However, for example, as shown in <FIG>, in a case where many service objects J1 to J5 are present in one scene, additional images <NUM> to <NUM> corresponding to the number of those service objects J1 to J5 are presented. Those additional images <NUM> to <NUM> hide part of the video of the program, and visual effects of the video of the program are liable to be deteriorated.

In this regard, for example, as shown in <FIG>, it is effective to restrict the service objects, on which the additional images are presented, according to the user U. For example, the additional image is presented on a service object in which the user U is interested, and no additional images are presented on the other service objects. This can suppress the following situation to a minimum: part of the video of the program is hidden by many additional images and the entire video gets messy by the additional images. This function will be called "presentation restriction for additional images".

<FIG> is a sequence diagram showing the operation flow including the presentation restriction for additional images.

Here, the operations of Steps S401 to S405 are the same as those of Steps S101 to S105 in the operation flow (part <NUM>) shown in <FIG>, and thus description thereof will be omitted.

To perfrom the presentation restriction for additional images, the user determination module <NUM> of the information processing apparatus <NUM> determines a user demographic class or user identification information of the user U (Step S406). The application execution environment <NUM> is notified of the determined user demographic class or user identification information of the user U (Step S407).

The user demographic class is a class, into which a user is classified on the basis of various attributes of the user, such as sex, age, a living region, an occupation, an academic background, and a family structure. For example, if it can be statistically said that men in their twenties highly tend to be interested in a new actress who has been popular recently, the user demographic class of the men in their twenties is matched with a user demographic class defined in the POI metadata for a person (service object) played by the new actress in the program.

The method of determining the user demographic class or user identification information of the user U by the user determination module <NUM> includes the following.

Next, the application execution environment <NUM> of the information processing apparatus <NUM> extracts POI metadata in which the identification name of the user demographic class or the user identification information, which is determined by the user determination module <NUM>, is defined as the POI filtering information, from all of the POI metadata of respective scenes of the video of the moving image content, generates an additional image, which informs the user U about a service object in the video, on the basis of the extracted POI metadata, and supplies the additional image to the renderer <NUM>. Thus, a synthesized image in which the additional image is superimposed on the video of the program is obtained and displayed on the display <NUM> (Step S408).

The user U then provides a service request, through voice, for the service object for which the additional image is presented in the video displayed on the display <NUM>, to the voice AI assistant service terminal <NUM>, and uses the voice AI assistant service (Step S409).

Note that the presentation restriction for additional images has been described here assuming the overall operation flow (part <NUM>) of the information processing system shown in <FIG>, but the same holds true for the overall operation flow (part <NUM>) and the overall operation flow (part <NUM>).

Next, referring back to <FIG>, description will be continued. Here, it is assumed that the identification name of the user demographic class of the service object J1 in the video is "class <NUM>", the identification names of the user demographic classes of the other service objects J2 to J5 are other than "class <NUM>". Meanwhile, it is assumed that the user determination module <NUM> determines the user demographic class of the user U as "class <NUM>". In this case, the additional image <NUM> is presented for the service object J1 only, and thus it is possible to suppress the following situation to a minimum: part of the video of the program is hidden by the additional images <NUM> to <NUM> added to the service objects J2 to J5, in which the user U is not interested, and the entire video gets messy.

Note that in a case where the presentation restriction for additional images is performed with the user identification information as a filtering condition, an additional image for a specific service object can be presented to a specific user U only.

Note that, in the above description, the user demographic class of the user U is determined from attributes such as sex, age, a living region, an occupation, an academic background, and family attributes, but the user determination module <NUM> may calculate a preference condition of the user U on the basis of the viewing history of the user U and determine the user demographic class on the basis of the preference condition or considering the preference condition.

Next, a trick play reproduction based on the POI metadata will be described.

The trick play reproduction based on the POI metadata is to reproduce at a first double-speed a scene in which the additional image is presented on the basis of the POI metadata extracted on the basis of the user demographic class or user identification information of the user U, and to reproduce the other scenes at a second double-speed faster than the first double-speed.

Here, the first double-speed is, for example, a 1x speed (equal speed) or a speed slower than the 1x speed. The second double-speed is, for example, for a fast-forward reproduction faster than the 1x speed.

Next, the operation of the trick play reproduction based on the POI metadata will be more specifically described.

First, the user determination module <NUM> determines the user demographic class or user identification information of the user U and supplies it to the application execution environment <NUM>.

The application execution environment <NUM> selects, from all the POI metadata of the respective scenes of the video of the program, POI metadata in which the identification name of the user demographic class or the user identification information, which is determined by the user determination module <NUM>, is defined as the POI filtering information, and the application execution environment <NUM> performs the trick play reproduction on the basis of the extracted POI metadata.

<FIG> is a diagram specifically showing the trick play reproduction based on the POI metadata.

Here, it is assumed that the user demographic class of "Bill" and "Sam" that are service objects is "class <NUM>", and the user demographic class of the user U, which is determined by the user determination module <NUM>, is "class <NUM>".

"Bill" having the user demographic class of "class <NUM>" appears in the video during a Ta-Ta' period, and thus the application execution environment <NUM> reproduces the video including an additional image at the first double-speed during the Ta-Ta' period. Subsequently, no service objects having the user demographic class of "class <NUM>" appear in the video until time Tc, and thus the application execution environment <NUM> performs reproduction at the second double-speed faster than the first double-speed. Note that the additional image is not presented in the reproduction at the second double-speed, and thus the load on the application execution environment <NUM> can be reduced. "Sam" having the user demographic class of "class <NUM>" appears in the video during a Tc-Tc' period, and thus the application execution environment <NUM> reproduces the video including an additional image at the first double-speed during the Tc-Tc' period. No service objects having the user demographic class of "class <NUM>" appear in the video after the time Tc', and thus the reproduction at the second double-speed is performed.

In such a manner, a scene in which the additional image is presented on the basis of the POI metadata extracted on the basis of the user demographic class or user identification information of the user U is reproduced at the first double-speed, and the other scenes are reproduced at the second double-speed faster than the first double-speed, thus achieving the trick play reproduction focusing on the scene that is useful (interesting) for the user U.

Additionally, a skip reproduction may be performed on only the scene in which the additional image is presented on the basis of the POI metadata extracted on the basis of the user demographic class or user identification information of the user U.

The fucntions of the presentation of additional images, the presentation restriction for additional images, the trick play reproduction, and the like on the basis of the POI metadata by the information processing system according to this embodiment have been described so far.

<FIG> is a diagram showing an example of the application execution environment <NUM> in which the POI metadata is processed.

This example shows a case where an application that processes the POI metadata is a native application <NUM> that operates on a native operating system <NUM> of the information processing apparatus <NUM>.

<FIG> is a diagram showing another example of the application execution environment <NUM> in which the POI metadata is processed.

This example shows a case where an application that processes the POI metadata is a web application <NUM> that operations on a web browser <NUM>. In this case, the POI metadata and the web application <NUM> are simultaneously or substantially simultaneously distributed to the information processing apparatus <NUM>.

To simultaneously distribute the web application and the POI metadata to the information processing apparatus <NUM>, a method of packaging the web application and the POI metadata by using a Multi-part MIME (Multipurpose Internet MAIl Extensions) format is employed. <FIG> is a diagram showing an example of the Multi-part MIME format packaging the web application and the POI metadata. In the Multi-part MIME format, a POI metadata file <NUM> and a web application file <NUM> are individually stored in respective parts separated by boundary-parts.

Note that, in a case where an application that processes the POI metadata is a native application that operates with the operation system being as an application execution environment, or the application is distributed separately from the POI metadata, only the POI metadata file may be stored in the Multi-part MIME format and then distributed.

Next, a method of storing a track of the POI metadata in an MP4 file format and transferring the MP4 file format, in a similar manner to the track of media data such as video data and audio data, will be described.

<FIG> is a diagram showing a configuration of a Media Segment in the MP4 file format.

As shown in the figure, the Media Segment includes a plurality of Movie Fragents, and each Movie Fragent is configured by an moof box and an mdat box. In the mdat box, for example, media data is divided into a plurality of Sample boxes by a time unit such as a frame and stored to be randomly accessible. In the moof box, metadata regarding presentation, such as information for generating a timing to present the media data of each Sample box of the mdat box, is stored.

In this embodiment, a Media Segment in which video data is stored in each Sample box of the mdat box, a Media Segment in which audio data is stored in each Sample box of the mdat box, a Media Segment in which the POI metadata is stored in each Sample box of the mdat box are prepared.

Note that, in this embodiment, the MP4 file is assumed as a Media Segment of an MPEG-DASH (Dynamic Adaptive Streaming over HTTP).

In the MPEG-DASH, a plurality of data groups having different coding rates and screen sizes is prepared for one piece of moving image content so as to prevent the streaming reproduction from being interrupted. The plurality of data groups is dynamically selected in consideration of the screen size of the information processing apparatus <NUM>, a state of a network bandwidth, or the like. Thus, in the MPEG-DASH, as described above, what coding rates and screen sizes of the data groups are prepared for one piece of moving image content is described in metadata referred to as MPD (Media Presentation Description).

Next, the data structure of the MPD will be described in detail.

The MPD is information regarding the configuration of the moving image content stored in a server, which is described in the hierarchical structure of the XML (extensible markup language) format. The information processing apparatus <NUM> acquires an MPD file corresponding to target moving image content from an MPD file server and analyzes the MPD file, and thus acquires a Media Segment necessary for presenting the target moving image content from the server.

<FIG> is a diagram showing a data structure of the MPD.

The MPD includes one Period below the MPD, AdaptationSet for each of the media types below the Period, and a plurality of Representation further below the AdaptationSet.

The hierarchy, i.e., the top hierarchy of the MPD includes information such as a starting point of the MPD, a title, a streaming type (on-demand/live distribution), and the length, as management information regarding one piece of moving image content.

The Period is a unit obtained by dividing one piece of moving image content by a time such as a frame. A start time and an end time are defined for the Period. The Period is configured by a plurality of AdaptationSet.

The AdaptationSet includes codec information regarding data for each of the media types (video, audio, subtitles, POI metadata) of the moving image content of each Period, information such as a language, and the like. The AdaptationSet includes, below the AdaptationSet, Representation for each of the pieces of data having different coding rates and image sizes.

The Representation includes information accumulated in a web server, such as coding rates, image sizes, places (URL), and the like of the segments having different coding rates, image sizes, and the like.

<FIG> is a diagram showing interaction between an MPEG-DASH server <NUM> and the information processing apparatus <NUM> via a network communication.

The MPD file and Media Segments of various types of media of the moving image content are stored in the MPEG-DASH server <NUM>.

The CPU of the information processing apparatus <NUM> requests the MPEG-DASH server <NUM> to transmit an MPD file (Step S501). The MPEG-DASH server <NUM> transmits the MPD file to the information processing apparatus <NUM> in response to the request (Step S502). The CPU of the information processing apparatus <NUM> analyzes the received MPD file and confirms what coding rates and image sizes of Media Segments are prepared (Step S503). The CPU of the information processing apparatus <NUM> requests the MPEG-DASH server <NUM> to transmit a Media Segment having an optimum image size and coding rate in consideration of the analysis result of the MPD file, the screen size of the display, a state of a network traffic of a transmission path, and the like (Step S504). The MPEG-DASH server <NUM> transmits the Media Segment to the information processing apparatus <NUM> in response to the request (Step S505).

Next, to describe a relationship between the MPD and the Media Segment, the data structures of the moof box and the mdat box in the Media Segment will be described referring back to <FIG>.

As described above, the Media Segment includes a plurality of Movie Fragents, and each Movie Fragent is configured by the moof box and the mdat box. In the mdat box, for example, the media data is divided into a plurality of Sample boxes by a time unit such as a frame and stored to be randomly accessible. In the moof box, metadata regarding presentation, such as information for generating a timing to present the media data of each Sample box of the mdat box, is stored.

As information for generating presentation start times PresentationTime (<NUM>), (<NUM>), (<NUM>),. , of the media data of respective Samples (<NUM>), (<NUM>), (<NUM>),. , BaseMediaDecodeTime is stored in a predetermined lower-level box (moof/traf box) of the moof box, and SampleCount (<NUM>), (<NUM>), (<NUM>),. , SampleDuration (<NUM>), (<NUM>), (<NUM>),. , and CompositionTimeOffset (<NUM>), (<NUM>), (<NUM>),. are further stored in another box (trun box) as information associated with the respective Sample (<NUM>), (<NUM>), (<NUM>),. The BaseMediaDecodeTime is information of a relative time from the starting point of the Period to the starting point of the Movie Fragment. The SampleCount (<NUM>), (<NUM>), (<NUM>),. is the number of Samples, the SampleDuration (<NUM>), (<NUM>), (<NUM>),. is the length of Sample (<NUM>), (<NUM>), (<NUM>),. , and the CompositionTimeOffset (<NUM>), (<NUM>), (<NUM>),. is an adjustment time.

Next, the method of calculating the presentation start time PresentationTime of the Sample will be described.

Assuming that the presentation start time of the N-th Sample is PresentationTime(N), the PresentationTime(N) is calculated by BaseMediaDecodeTime+ (sum of Sample(<NUM>),. , to the (N-<NUM>)th Sample (<NUM>), (N-<NUM>) SampleDuration(<NUM>),. , and (N-<NUM>))+(CompositionTimeOffset of N-th Sample) (N).

<FIG> is a diagram showing the flow of the presentation control for the MPEG-DASH moving image content.

In the figure, the horizontal axis is assumed as the axis of real time (UTC time). The CPU of the information processing apparatus <NUM> generates a starting point of the first Period on the real time on the basis of a start time defined for Period as a relative time to the starting point of the MPD, with reference to the starting point of the MPD defined in the MPD file.

Subsequently, the CPU of the information processing apparatus <NUM> generates a starting point of Movie Fragment on the real time on the basis of BaseMediaDecodeTime, and further generates a presentation start time (PresentationTime(<NUM>)) of a first Sample (<NUM>) of the Period by using SampleCount, SampleDuration, and CompositionTimeOffset and starts presentation of the first Sample (<NUM>) from that time. Subsequently, the CPU of the information processing apparatus <NUM> similarly generates a presentation start time (PresentationTime(<NUM>)) of the next Sample (<NUM>) and switches a target to be presented at that time from the Sample (<NUM>) to the Sample (<NUM>). Hereinafter, the switching of presentation between Samples is similarly performed. In such a manner, the video of each Sample (<NUM>), (<NUM>),. is presented without being temporally interrupted.

In this embodiment, AdaptationSet corresponding to the POI metadata is added to the MPD file, and thus the presentation control for additional images can be performed by following the presentation control method for the MPEG-DASH moving image content as it is. This allows an additional image to be presented in synchronization with each medium such as video or audio of the MPEG-DASH moving image content.

For example, as shown in <FIG>, in a case where the additional image is presented in synchronization with a video in Period (T1-T2) from T1 to T2 on the real time, AdaptationSet (T1-T2) of the POI metadata is added to the lower-level hierarchy of the Period (T1-T2) of the MPD. Furthermore, in a case where the additional image is presented in synchronization with a video in Period (T2-T3) from T2 to T3 on the real time, AdaptationSet (T2-T3) of the POI metadata is added to the lower-level hierarchy of the Period (T2-T3) of the MPD.

<FIG> is a diagram showing a more specific example of an MPD to which AdaptationSet of the POI metadata is added.

In the top hierarchy of the MPD, @avAIlabilityStartTime=T0 is described. This indicates that the starting point of the moving image content time is T0. In the lower-level hierarchy thereof, two Periods are stored. Of the two Periods, the first Period is defined to be started at <NUM> sec after the starting point of T0, and the second Period is defined to be started at <NUM> sec after the starting point of T0.

In this example, AdaptationSets of the video, the audio, and the POI metadata are present as AdaptationSet of the second Period. In the lower-level hierarchy of AdaptationSet of the video, two Representations indicating different coding rates (<NUM> Kbps/<NUM> Kbps) are present. In the lower-level hierarchy of each Representation, SegmentTemplate is present, in which a method of generating a URL indicating a place for Media Segment of the video, an acquisition cycle, and the like are described.

Here, "@timescale="<NUM>"" and "@duration="<NUM>"" mean that, if the value of <NUM> minutes in the time scale of <NUM>/<NUM> seconds, i.e., one second is set as a segment time length, the video can be acquired in the cycle of this segment time length. "@Media="$Number%6d$. m4s"" indicates the method of generating the lowermost value of the URL showing the place for the video of each Sample, and specifically means an integer of a value having six digits, which increases from <NUM>. For example, the URL of the Sample is generated by connecting the value, which is shown by "BaseURL" described in each element of the MPD, to the path format and adding the value having six digits, which is generated by "@Media="$Number%6d$. m4s"", to the end of the URL. In other words, the URL of the first Sample of the video is created as "HTTP://a. com/p2/video/<NUM>/<NUM>. "@initialization="IS. mp4"" is a value used for the URL of Initialization Segment of the first Media Segment of the video. The URL of Initialization Segment is also generated by connecting the value, which is shown by "BaseURL" described in each element of the MPD, to the path format and adding "IS. mp4" to the end of the URL. For example, the URL of Initialization Segment is created as "HTTP://a. com/p2/video/<NUM>/IS.

In the lower-level hierarchy of AdaptationSet of the POI metadata, Representation is present, and in the further lower-level hierarchy thereof, SegmentTemplate is present, in which a method of generating a URL indicating a place for Media Segment of the POI metadata, an acquisition cycle, and the like are described. The method of generating a URL indicating a place for Media Segment of the POI metadata may be the same as the method of generating the URL indicating the place for Media Segment of the video. Additionally, a method of generating a URL indicating a place for Initialization Segment of the POI metadata may also be the same as the method of generating the URL indicating the place for Initialization Segment of the video. Initialization Segment of the POI metadata includes information for identifying the POI metadata stored as Sample in the Media Segment. Specifically, if the value of a handler_type field of moov(MovieBox)/trak(TrackBox)/mdia(MediaBox)/hdlr(Handl erBox) of Initialization Segment is "meta", it is possible to identify the POI metadata stored as Sample in the Media Segment.

The CPU of the information processing apparatus <NUM> can acquire each of the video, the audio, and the POI metadata of the moving image content in the unit of Sample on the basis of the URL generated as described above.

<FIG> is a diagram showing the flow of the presentation for a video based on the MPD and an additional image.

The processing of presenting each of Samples (<NUM>), (<NUM>), and (<NUM>) of the video is as described above.

Here, the CPU of the information processing apparatus <NUM> performs presentation processing for additional images on the basis of POI metadata (<NUM>) from a presentation start time (PresentationTime) (<NUM>) on the real time of the first Sample (<NUM>) of the video to a presentation start time (PresentationTime) (<NUM>) on the real time of the next Sample (<NUM>). Subsequently, the CPU of the information processing apparatus <NUM> performs presentation processing for additional images on the basis of POI metadata (<NUM>) from the presentation start time (PresentationTime) (<NUM>) on the real time of the Sample (<NUM>) to a presentation start time (PresentationTime) (<NUM>) on the real time of the next Sample (<NUM>). Furthermore, the CPU of the information processing apparatus <NUM> performs presentation processing for additional images on the basis of POI metadata (<NUM>) from the presentation start time (PresentationTime) (<NUM>) on the real time of the Sample (<NUM>) to a presentation start time (PresentationTime) (<NUM>) on the real time of the next Sample (<NUM>).

As described above, in this embodiment, the AdaptationSet for the POI metadata is added to the MPD file, and thus the presentation control for additional images on the basis of the POI metadata can be performed using the same mechanism as the presentation control for other types of media such as video and audio, and the additional images can also be presented correctly in synchronization with other types of media such as video and audio.

<FIG> is a diagram showing the POI metadata in a case where a service object in the video moves with time, and a presentation position of an additional image is also moved along with the movement of the service object.

Here, T1 is a presentation start time of an additional image based on the POI metadata (<NUM>), T2 is a presentation start time of an additional image based on the POI metadata (<NUM>), and T3 is a presentation start time of an additional image based on the POI metadata (<NUM>). T1-T2 is a presentation period for the additional image based on the POI metadata (<NUM>), and during this period, the additional image is presented at a position indicated by a value of POIPosition element, (x=x1,y=y1), in the POI metadata (<NUM>). T2-T3 is a presentation period for the additional image based on the POI metadata (<NUM>), and during this period, the additional image is presented at a position indicated by a value of POIPosition element, (x=x2,y=y2), in the POI metadata (<NUM>). T3-T4 is a presentation period for the additional image based on the POI metadata (<NUM>), and during this period, the additional image is presented at a position indicated by a value of POIPosition element, (x=x3,y=y3), in the POI metadata (<NUM>).

In such a manner, the value of the POIPosition element in the POI metadata of each Sample is determined in accordance with the position of the moving service object, and thus the presentation position of the additional image can be moved correctly in synchronization with the movement of the service object.

It has been assumed hereinabove that the presentation control for additional images is performed while associating the video of each Sample with the POI metadata one-on-one, but one piece of POI metadata may be applied to the video of a plurality of continuous Samples. In this case, as shown in <FIG>, version information (Version) is added to a value of an identifier (metadataURI) of the POI metadata described in the packages <NUM>, <NUM>, and <NUM> storing files <NUM>, <NUM>, and <NUM> of the POI metadata. In a case where the details are not changed from the immediately preceding POI metadata, the version information is assumed to have the same value as the version information described in a package storing the immediately preceding POI metadata, and in a case where the details are changed from the immediately preceding POI metadata, the version information is set to an incremented value.

Thus, in switching between Samples of the video, in a case where a value of each piece of version information is changed before and after the switching, the application of the application execution environment <NUM> performs computation for the presentation for additional images based on the POI metadata, and in a case where a value of each piece of version information is not changed, the additional image is continued to be presented without performing anew computation for the presentation for additional images based on the POI metadata. This allows the load of computation for the presentation for additional images to be reduced.

Claim 1:
An information processing apparatus, comprising:
means to acquire video data including a plurality of service objects, for which a service adapted to process a request from a user voice interface is available;
means to reproduce the video data; and
means to add an additional image for informing a user about a subset of the plurality of service objects to the reproduced video data, the subset of the plurality of service objects being determined in accordance with information about the user;
wherein the additional image includes a visual feature unique to each service object of the subset of the plurality of service objects, such that each service object of the subset of the plurality of service objects is uniquely determined in accordance with an input from the user voice interface;
wherein service objects of the plurality of service objects are a person or a product appearing in the reproduced video data for which a service adapted to respond to a voice request from the user voice interface is available; and
wherein the means to reproduce the video data is configured to reproduce the video data of a period in which the subset of the plurality of service objects appears, at a first speed, and
to reproduce the video data of a period in which the subset of the plurality of service objects does not appear, at a second speed faster than the first speed.