There is provided an information processing apparatus to allow a user to use a device network by a natural and simple operation by automatically selecting a device for providing a response to a request, the information processing apparatus including: a request acquiring part configured to acquire a request to a system; a response determining part configured to determine a response to the request; a device selecting part configured to select, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and a device controller configured to perform control that causes the selected device to provide the response.

CROSS REFERENCE TO PRIOR APPLICATION

This application is a National Stage Patent Application of PCT International Patent Application No. PCT/JP2014/081430 (filed on Nov. 27, 2014) under 35 U.S.C. §371, which claims priority to Japanese Patent Application No. 2014-040840 (filed on Mar. 3, 2014), which are all hereby incorporated by reference in their entirety.

TECHNICAL FIELD

BACKGROUND ART

In recent years, smart household appliances having an information processing function and a network communication function have prevailed widely. There are being constructed systems that support the user's life by controlling smart household appliances, information processing terminals such as smartphones, tablet terminals or personal computers, or a network attached storage (NAS) via a home network. The techniques used by such systems are described in Patent Literature 1, for example.

CITATION LIST

Patent Literature

SUMMARY OF INVENTION

Technical Problem

However, the device to be used in the network in a system such as those described above is determined by the user's choice. In other words, for example, when a plurality of loud speakers is connected to the home network, the user not only has to request playback of music, but also has to specify the loud speaker to be used to playback the music. In such a case, not only the operation for selection increases, but also the user may not be familiar with the names for specifying devices, which is not necessarily desirable in terms of making the user's operation for using the system more natural and simple.

Therefore, the present disclosure proposes a new and improved information processing apparatus, an information processing method, and a program that allow the user to use a device network by a natural and simple operation by automatically selecting a device for providing a response to a request.

Solution to Problem

According to the present disclosure, there is provided an information processing apparatus including: a request acquiring part configured to acquire a request to a system; a response determining part configured to determine a response to the request; a device selecting part configured to select, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and a device controller configured to perform control that causes the selected device to provide the response.

According to the present disclosure, there is provided an information processing method including: acquiring a request to a system; determining a response to the request; selecting, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and performing control that causes the selected device to provide the response.

According to the present disclosure, there is provided a program for causing a computer to achieve: a function of acquiring a request to a system; a function of determining a response to the request; a function of selecting, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and a function of performing control that causes the selected device to provide the response.

Advantageous Effects of Invention

According to the aforementioned disclosure, the user can use a device network by a natural and simple operation by automatically selecting a device for providing a response to a request.

Note that the effects described above are not necessarily limited, and along with or instead of the effects, any effect that is desired to be introduced in the present specification or other effects that can be expected from the present specification may be exhibited.

DESCRIPTION OF EMBODIMENT(S)

Note that, description will be provided in the following order.

1. Configuration example according to one embodiment1-1. Configuration example of system1-2. Configuration examples of devices1-3. Configuration example of agent function1-4. Examples of device information

2. Examples of specific use forms2-1. First example2-2. Second example2-3. Other examples

3. Hardware Configuration

1. Configuration Example According to One Embodiment

1-1. Configuration Example of System

FIG. 1is a diagram showing a configuration example of a system according to an embodiment of the present disclosure. Referring toFIG. 1, a system10includes an electronic device100and a network200to which the electronic device100is connected. The system10may further include a server300connected to the network200.

The electronic device100is a device used by a user. The system10may include multiple electronic devices100.FIG. 1shows, as examples of the electronic devices100, TV100a, a loud speaker100b, a loud speaker100c, a lighting apparatus100d, a tablet100e, a loud speaker100f, a TV100g, a loud speaker100h, a NAS100i, a personal computer100j, a lighting apparatus100k, and a smartphone100m. Examples of the electronic devices100are not limited to those devices, and may include any other devices that are connectable to the network200, such as a media player, a printer, a game console, an air-conditioning device, and a refrigerator. Most of the electronic devices100, such as from the TV100ato the personal computer100jmentioned above, may be placed inside the home (for example, living room, bedroom, and study), or may be carried outside the home like the smartphone100m.

The network200is a wireless and/or wired network that connects the electronic devices100to each other. For example, the network200includes a LAN to which each of the devices placed inside the home is connected. Further, the network200may include the Internet, a mobile telephone network, and the like, to which the smartphone100mthat is carried outside the home and the server300are connected.

The server300provides an electronic device100with a service through the network200. The server300is achieved by an information processing apparatus connected to the network200, for example. The functions of the server300to be described later may be achieved by a single information processing apparatus, or may be achieved in cooperation with multiple information processing apparatuses connected through a wired or wireless network.

In the present embodiment, the system10has achieved therein a function of automatically selecting a device for providing a response to a user's request acquired by any of the electronic devices100. In the shown example, the electronic device100on the network200is controlled by an agent function achieved by either the server300or the electronic device100, for example. The agent function extracts a user's request from a user's instruction input (for example, an audio input) acquired by the TV100a, for example, and determines a response to the request.

Here, although the response may be provided to the user himself/herself who has issued the request, the choice of devices that provide the response is not limited to one. For example, when playback of music is instructed to the TV100alocated in the living room, the music may be played back using a loud speaker built in the TV100a, or the music may be played back using the loud speaker100bor the loud speaker100cwhich is also located in the living room. Therefore, the agent function has to select one of the electronic devices100supposed to provide the response.

In addition, when a response is provided to a different user from the user who has issued the request, the choice of devices that provide a response may further increase. For example, when a user being away from home asks a smartphone100mto tell a family member at home to take in the laundry, appropriate selection of a device, from the TV100ato the personal computer100j, to provide information differs depending on where the family member is located.

As thus described, it is not necessarily easy for an agent function in the system10to select a device for providing a response to the user's request. However, it is troublesome for the user to specify the loud speaker to be used when playing back music, for example. In addition, a user being away from home does not know the location of a family member at home and therefore it is difficult to specify a device for providing information.

In the present embodiment, therefore, an agent function automatically selects a device which is suitable for providing a response, on the basis of the attribute of the response determined to the request. Accordingly, the user is relieved of the requirement to always specify a device when inputting a request to the agent function. In addition, the user can leave the selection of the device to the agent function when the user does not know which device is suitable for providing a response.

1-2. Configuration Examples of Devices

FIG. 2is a block diagram showing a configuration example of an electronic device according to an embodiment of the present disclosure. Referring toFIG. 2, an electronic device100may include an image/audio output part110, an image/audio input part120, an operation part130, a controller140, a communication part150, and a storage160. Note that the configuration shown in the figure is simplified for the description of the present embodiment, and the electronic device100may further include structural elements that are not shown in the figure. It should be noted that, since the structural elements that are not shown in the figure may already be known as general structural elements of each device, and hence, the detailed explanation is omitted here.

The image/audio output part110may be achieved by a display that outputs an image and a loud speaker that outputs an audio, for example. The display may be, for example, a liquid crystal display (LCD) or an organic electro-luminescence (EL) display, and displays electronically various types of images in accordance with control performed by the controller140. Note that, in the present specification, “images” include still images and motion images. The loud speaker outputs various types of audios in accordance with control performed by the controller140. Note that the image/audio output part110may output one of the image and the audio depending on the type of the electronic device100, or the image/audio output part110may not be mounted.

The image/audio input part120may be achieved by a camera that acquires an image and a microphone that acquires an audio, for example. The camera electronically captures a real space using an image sensor such as a complementary metal oxide semiconductor (CMOS) and generates image data. The microphone records an audio such as user's utterances and generates the audio data, for example. The generated image and/or audio data is provided to the controller140. Note that the image/audio input part120may output one of the image and the audio depending on the type of the electronic device100. Alternatively, the image/audio input part120may not be provided.

The operation part130may be achieved by a touch panel, a keyboard, a mouse, a key pad, or a button, which acquires user's operation, for example. Information indicating the user's operation acquired by the operation part130is provided to the controller140. In the electronic device100, the user's instruction input may be acquired through the operation part130, or may be acquired through the image/audio input part120as an audio or a gesture. Accordingly, in the case where the electronic device100acquires the user's instruction input mainly by the operation part130, the image/audio input part120may not be provided, and, on the contrary, in the case where the electronic device100acquires the instruction input mainly by the image/audio input part120, the operation part130may not be provided.

The controller140may be achieved by a processor such as a central processing unit (CPU) and/or a digital signal processor (DSP) operating in accordance with a program stored in the storage160. The controller140controls operations of the respective parts of the electronic device100. For example, the controller140controls the image/audio output part110so as to output an image and/or an audio received through the communication part150or read from the storage160. Further, the controller140controls the image/audio input part120so as to acquire the image data and/or the audio data, processes the acquired data as necessary, and transmits the data through the communication part150or store the data in the storage160. The controller140may execute those controls in accordance with the user's instruction input acquired through the operation part130or the image/audio input part120, for example.

The communication part150is a communication interface that supports wireless and/or wired communication scheme which configures the network200. The communication part150may include, for example, a communication circuit, and an antenna or a port. Through the communication part150, the controller140exchanges various types of information with another electronic device100on the network200or with the server300.

The storage160may be achieved by semiconductor memory or a hard disk, for example. The storage160stores various types of data used in the electronic device100or generated in the electronic device100. The storage160has a temporary storage area, and may temporarily store a program being executed by the controller140, data acquired by the image/audio input part120, and data received by the communication part150. Further, the storage160has a permanent storage area, and may store a program to be executed by the controller140, various types of setting data, local content data output from the image/audio output part110, data which is acquired by the image/audio input part120and which the operation part130gives instructions to store, and the like.

FIG. 3is a block diagram showing a configuration example of a server according to an embodiment of the present disclosure. Referring toFIG. 3, the server300may include a controller310, a communication part320, and a storage330. Note that the configuration shown in the figure is simplified for the description of the present embodiment, and the server300may further include structural elements that are not shown in the figure. It should be noted that, since the structural elements that are not shown in the figure may already be known as general structural elements of the server, and hence, the detailed explanation is omitted here. Further, as described above, the server300may be achieved by a single information processing apparatus, or may be achieved in cooperation with multiple information processing apparatuses. Accordingly, the structural elements shown in the figure may be achieved by multiple information processing apparatuses dispersedly.

The controller310may be achieved by a processor such as a CPU and/or a DSP operating in accordance with a program stored in the storage330. The controller310controls operations of the respective parts of the server300. For example, the controller310refers to setting information and the like stored in the storage330as necessary and transmits information to the electronic device100on the network200through the communication part320. The information may include a command to cause the electronic device100to execute a given operation. Further, the controller310transmits to another electronic device100information that may include a command on the basis of the result obtained by processing the information received from the electronic device100through the communication part320. Alternatively, the controller310may update information such as setting information stored in the storage330on the basis of the results obtained by processing the information received from the electronic device100through the communication part320.

The communication part320is a communication interface that supports wireless and/or wired communication scheme which configures the network200. The communication part320may include, for example, a communication circuit, and a port or an antenna. Through the communication part320, the controller310exchanges various types of information with an electronic device100on the network200.

The storage330may be achieved by semiconductor memory or a hard disk, for example. The storage330stores various types of data used in the server300or generated in the server300. The storage330has a temporary storage area, and may temporarily store a program being executed by the controller310, data received by the communication part320from the electronic device100, and data generated by the controller310. Further, the storage330has a permanent storage area, and may store a program to be executed by the controller310and various types of setting data.

1-3. Configuration Examples of Agent Function

FIG. 4is a block diagram showing a configuration example of an agent function in an embodiment of the present disclosure. Referring toFIG. 4, the agent function includes a request acquiring part510, a response determining part520, a device selecting part550, and a device controller580. The agent function may further include a user location information acquiring part540and a device status monitoring part590. In addition, the agent function may refer to a command DB530, a user preference DB560, and a device information DB570. These components are achieved by the controller310and the storage330of the aforementioned server300, for example. Alternatively, the aforementioned components may be achieved by the controller140and the storage160of any of the electronic devices100(for example, the TV100aand the smartphone100m). In addition, the aforementioned components may be achieved by the electronic device100and the server300in a distributed manner.

Note that, in the case where the electronic device100can achieve the functions of the agent, the system10may not include the server300. Alternatively, the functions of the agent may be achieved by the server300and also by the electronic device100. In the case where the server300is communicable with the network200, the functions of the agent may be achieved by the server, and otherwise by the electronic device100instead. Hereinafter, respective components will be described in further detail.

The request acquiring part510acquires a request from a user to the system10. The request from the user is input to any of the electronic devices100. For example, the request from the user is input as audio data using a microphone included in the image/audio input part120of the electronic device100. In such a case, the user's request may include uttered voice. Alternatively, the request from the user may be input as image data using the camera included in the image/audio input part120of the electronic device100. In such a case, a user's request may include a gesture image. In addition, the request from the user may be input via the operation part130of the electronic device100. When the agent function is achieved by the server300, or an electronic device100which is different from the electronic device100to which the request has been input, the request acquiring part510receives the request via the network200.

The response determining part520determines a response to the request acquired by the request acquiring part510. For example, when the request has been acquired as audio data including uttered voice, the response determining part520performs voice recognition processing and extracts the content of uttered voice as a text, for example. Furthermore, the response determining part520determines a command indicated by the user's uttered voice and a response to the command, referring to the command DB530on the basis of the extracted text. In addition, for example, when the request has been acquired as image data including a gesture image, the response determining part520performs image recognition processing, and extracts the content of the gesture. Furthermore, the response determining part520determines a command indicated by the user's gesture and a response to the command, referring to the command DB530on the basis of the content of the extracted gesture.

Here, the response determined by the response determining part520may include any function that can be achieved by using one, or a combination, of the electronic devices100. For example, the response may be an audio output using the electronic device100including a loud speaker in the image/audio output part110. In such a case, the audio output may be music content, for example, or may be a voice message providing certain information. In addition, the response may be an image output using the electronic device100including a display in the image/audio output part110. In such a case, the image output may be an image content, for example, or may be a notification image providing certain information. Furthermore, the response may be made such that the electronic device100having specific functions, such as a lighting apparatus, a printer, an air conditioner, or a refrigerator, for example, performs adjusting or turning on/off of the respective functions. Note that, the act of providing a response to the user's request by the agent function is in itself a known technique and therefore it is also possible in the present embodiment to apply such examples of request and response.

In addition, the response determined by the response determining part520may be intended to be provided to any of the users using the system10. When the response is made by outputting audio or providing an image, for example, the response determining part520determines to which user the audio or image is provided. The response determining part520may extract information indicating the target user from the content of text or gesture extracted from the request, for example. Alternatively, the response determining part520may identify the user located closest to the electronic device100to which the request has been input (identified by the user location information acquiring part540), as the target to whom the response is to be provided.

(User Location Information Acquiring Part)

The user location information acquiring part540acquires location information of the user relating to the response determined by the response determining part520. For example, the user location information acquiring part540may acquire user location information to which the response is to be provided. Alternatively, the user location information acquiring part540may acquire location information of a user who has input the request (may be the same target user to whom the response is to be provided). The user location information is acquired using, for example, a global positioning system (GPS) receiver of the smartphone100m. In addition, when the user is at home, it is also possible to acquire the detailed user location information using a home sensor network or the like. Alternatively, the user location information may be acquired on the basis of analysis of the image or audio acquired by the image/audio output part110of the electronic device100, the login status to the service using the electronic device100, or the like. In such a case, the location information may be provided in association with each of the electronic devices100.

The device selecting part550selects, among a group of devices available to the user, a device that provides a response, with regard to the response determined by the response determining part520and on the basis of at least the attribute of the response. In the present embodiment, the group of devices available to the user is the electronic devices100included in the system10. For example, at least a portion of the electronic devices100has owners set thereto and, when access to the electronic devices100is limited by the owners, the group of devices available to the user is the devices, among the electronic devices100, to which the user has been granted the access rights. The device selecting part550may acquire information relating to the access rights of the electronic devices100from the device information DB570.

Here, for example, the attribute of the response includes the target to whom the response is to be provided, and the device selecting part550may select a device that provides a response on the basis of the location of the target to whom the response is to be provided and the location of the device included in the system10. The target user to whom the response is to be provided may be identified by the response determining part520as described above. In addition, the user location information may be acquired by the user location information acquiring part540. The location information of the device included in the system10may be acquired from the device information DB570, for example. More specifically, the device selecting part550may select, as the device that provides the response, one which is located close to the target among the electronic devices100capable of providing the response determined by the response determining part520.

When, in the aforementioned example, there is a change in at least one of: the targets to which the response is to be provided, the location of the target, or the location of the electronic device100, the device selecting part550may reselect a device that provides the response. In other words, the device selecting part550may dynamically change the electronic device100that provides the response when, for example, the target to whom the response is to be provided has been changed by a request newly acquired by the request acquiring part510, or when the target user or the electronic device100that provides the response has moved during provision of the response.

In addition, for example, the attribute of a response may include a function achieved in the response, and the device selecting part550may select a device that provides the response, on the basis of the performance of the electronic device100relating to the function achieved in the response. The performance of the electronic device100with regard to the function may be acquired from the device information DB570, for example. More specifically, the device selecting part550may select, as the device that provides the response, the electronic device100with the highest performance with regard to the function achieved in the response. For example, when the function to be achieved is provision of an image or audio, the device selecting part550performs a combination of selections using location information, and selects the electronic device100with the highest performance with regard to provision of an image or audio, from the electronic devices100in a predetermined range (for example, in the same room) on the basis of the location of the target user. Alternatively, when the function to be achieved is a function which does not necessarily have to be performed in the proximity of the user such as information search or image processing, the device selecting part550may simply select the electronic device100with the highest performance.

In the aforementioned example, the device selecting part550may select a plurality of devices as the device that provides the response. For example, the device selecting part550may cause the plurality of electronic devices100to simultaneously and concurrently provide the function to be achieved in the response. Alternatively, the device selecting part550may divide the function to be achieved in the response among the plurality of electronic devices100and cause the plurality of electronic devices100to provide the function. More specifically, when playback functions of image and audio are to be achieved in the response, the device selecting part550may cause different electronic devices100to provide the image playback function and the audio playback function. For example, in the case of the example of the system10shown inFIG. 1, the TV100amay playback image, and the loud speaker100cmay playback audio. In this case, the TV100amay be controlled to mute audio while playing back the image and audio.

In addition, for example, the device selecting part550may select a device that provides a response on the basis of the preference of the target user to whom the response is to be provided. As has been described above, the target user to whom the response is to be provided may be specified by the response determining part520as has been described above. In addition, the user's preference may be acquired from the user preference DB560. The user preference DB560is generated on the basis of, for example, the use history of the electronic devices100by each user using the system10, information that has been explicitly input by each user, or the like. More specifically, the device selecting part550may select, as the device that provides the response, the electronic device100that best matches the preference of the target user to whom the response is to be provided.

Note that, the device selecting part550is not necessarily always capable of selecting a device that provides a response. For example, there may be a case where no selectable device is discovered, as a result of having applied a condition such as location, function and/or preference. In addition, there may be a case where it is difficult to select a device because the information included in the request acquired by the request acquiring part510is incomplete. In such a case, the device selecting part550may output a notification that no device will be selected, a request for additional information for selecting a device, or the like, by controlling the electronic device100via the device controller580.

The device controller580performs a control that causes the device selected by the device selecting part550to provide the response determined by the response determining part520. More specifically, the device controller580transmits a control command to the electronic device100via the network200. In addition, for example, when the device selecting part550has failed to select a device that provides a response, the device controller580may control the electronic device100to notify that no device has been selected, or output a message requesting for additional information for selecting a device. In such a case, the message may be output from the electronic device100to which the request has been input. Alternatively, the device controller580may control the electronic device100to output a message notifying that a response has been provided in response to the request. In such a case, the electronic device100that provides the response is a different device from the electronic device100to which the request has been input, and the message may be output from the electronic device100to which the request has been input.

The device status monitoring part590monitors the electronic devices100included in the system10, and updates the device information DB570as necessary. The device status monitoring part590updates the device information DB570in a case such as, for example, the electronic device100has been moved, provision of a function by the electronic device100has started or finished, or settings of the electronic device100have been changed.

1-4. Examples of Device Information

FIG. 5illustrates an example of the device information DB in an embodiment of the present disclosure. Referring toFIG. 5, the device information DB570includes items of: ID570a, device type570b, place570c, place-detail570d, owner570e, function570f, and function-detail570g. Note that, the content of the device information DB570in the illustrated example does not necessarily coincide with the example of the system10shown inFIG. 1. Hereinafter, respective items will be further described.

The ID570ais used to identify each device information. The device type570bindicates the type of the electronic device100. For example, when the device selecting part550selects a device on the basis of the user's preference, the device type570bmay be used for the selection. More specifically, when a user's preference such as “prefers tablet to television when performing Web browsing” is indicated in the user preference DB560, a tablet instead of a television may be selected on the basis of the device type570b.

The place570cindicates a general location of the electronic device100. In the illustrated example, rooms in the house (living room, study, bedroom, etc.) are recorded as the place570c. The place570cis recorded on the basis of setting information input by the user, for example, when the electronic device100is installed. The place-detail570dindicates details of the location of the electronic device100. In the illustrated example, coordinates of three axes X, Y and Z are recorded as the place-detail570d. The place-detail570dis acquired using GPS or a home sensor network, for example.

Note that, the place570cand the place-detail570dmay be different from each other, depending on the situation. For example, when a tablet in the living room has been temporarily moved to the bedroom, the place570cremains to be “living room” as long as the setting information is not changed, but the place-detail570dmay be changed to the coordinates of the bedroom in accordance with the movement of the device. Alternatively, the place570cmay be changed together with the movement of the electronic device100in a case where the place570cis set on the basis of the place-detail570dinstead of the setting information.

For example, when the device selecting part550selects a device on the basis of the location information of the electronic device100, the place570cand/or the place-detail570dmay be used for the selection. More specifically, the device selecting part550selects the electronic device100which is indicated by the place570cor the place-detail570dto be located near the target user to whom the response is to be provided. When the place570cand/or the place-detail570dhas been changed because the electronic device100has been moved, the device selecting part550may dynamically change the device to be selected, and thereby the electronic device100may be newly selected as a device that provides a response or eliminated from the devices that provide a response.

The owner570eindicates the owner of the electronic device100or a user accessible thereto. In the illustrated example, “shared” or “father” is set to the owner570e. “Shared” indicates that there is no limitation on accessing the electronic device100and all the users using the system10(for example, all the family members) can use the electronic device100. “Father” indicates that the access rights to the electronic device100are granted only to the father. It goes without saying that the access rights are not limited to the father but may be granted to the mother, children, or combinations thereof.

For example, when selecting a device that provides a response, the device selecting part550may first perform filtering of the device on the basis of the owner570e. More specifically, the electronic device100may be excluded from the targets of selection unless both the user who has input the request and the target user of the response can use the electronic device100. In addition, whether or not to include the electronic device100as a candidate of selection when only any one of the users can use the electronic device100can be determined in accordance with the settings by the user, or the type of function to be provided in the response.

The function570findicates the type of function that can be provided by the electronic device100. The function-detail570gindicates the specification of the electronic device100with regard to the function. The items may be acquired from a database on the network, on the basis of information such as the model number provided to the agent function when the electronic device100is added to the system10, for example. For example, the device selecting part550may perform filtering on the basis of the function570f, when selecting a device that provides a response. More specifically, the electronic device100which is not capable of achieving the function to be provided in the response may be excluded from the candidates of selection.

Furthermore, for example, when the device selecting part550selects a device on the basis of performance of the electronic device100, the function-detail570gmay be used for the selection. More specifically, the device selecting part550may select, as a device that provides a response, the electronic device100which is indicated to have the highest performance with regard to the function to be achieved in a response, according to the function-detail570g. In the illustrated example, the function-detail570gmay include further items, in addition to the items of video, audio, microphone, and network.

In addition, when a plurality of functions is to be achieved in the response, the device selecting part550may select the electronic devices100individually for each function, on the basis of the function-detail570g. For example, when video and audio playback functions are to be achieved in the response, the device selecting part550may select a television with regard to the video playback function and a loud speaker with regard to the audio playback function, respectively, provided that the function-detail570gindicates that the television has the highest performance with regard to the video playback function and the loud speaker has the highest performance with regard to the audio playback function.

Note that, the device information DB570may include various items other than the aforementioned examples. For example, the device information DB570may include items indicating the functions being provided by the electronic device100. In addition, the device information DB570may include items indicated by the user who is using the electronic device100.

Construction of the device information DB570such as the aforementioned example allows the device selecting part550to automatically select a device that provides a response, according to the agent function of the present embodiment.

2. Examples of Specific Use Form

2-1. First Example

FIG. 6is a sequence diagram showing a first example of a specific use form of an embodiment according to the present disclosure. Referring toFIG. 6, in the system10shown inFIG. 1, the loud speaker100cinstalled in the living room is playing back music. On this occasion, the loud speaker100cnotifies the TV100aachieving the agent function that music content is being played back (S101). Upon receiving the notification, the device status monitoring part590in the TV100arecords the fact that the loud speaker100cis playing back music content, as well as information for identifying the music content (stored in the NAS100i, for example) being played back, in the device information DB570, according to the agent function achieved by the controller140.

Here, let us assume that the user has uttered “tell me the rest in the bathroom” into the TV100a(S103). In the TV100a, a microphone included in the image/audio input part120acquires the uttered voice, and the audio data output from the microphone is provided to the controller140achieving the agent function as the request from the user. In the agent function, the response determining part520determines a response on the basis of the aforementioned audio data acquired by the request acquiring part510. The response determining part520analyzes the request by performing voice recognition or natural language processing, for example, to determine a response thereto. In the illustrated example, the response is to “keep, with a device in the bathroom, playing back the music content currently provided to the user”. Note that, the controller140of the TV100amay ask the server300to perform voice recognition or natural language processing via the network200.

Furthermore, in the agent function, the device selecting part550selects a device that provides a response. In the illustrated example, the loud speaker100fis selected because the place for providing the response is the bathroom and the function to be achieved in the response is playback of music content, (S105). The device controller580performs a control that causes the device selected by the device selecting part550, i.e., the loud speaker100fto provide the response. More specifically, the device controller580transmits a control command to the loud speaker100fin the bathroom so as to continuously playback the music content having been played back by the loud speaker100cin the living room until then (S107). The control command on this occasion may include information indicating the location of the music content (for example, the NAS100i) and the location to start the playback.

Furthermore, after the control command has been transmitted to the loud speaker100f, or an acknowledgement for the control command has been returned, the device controller580may notify, as an additional process, the user who has input the request to the TV100athat the response (switchover of playback of the music content to the loud speaker in the bathroom) has been performed (S109). The notification may be output as an audio, or may be output as an image using GUI or the like. Subsequently, when it is detected that the user has moved from the living room, for example, using a sensor, a camera, or the like, the device controller580may transmit a control command to stop playing back the music content to the loud speaker100c(S11).

2-2. Second Example

FIG. 7is a sequence diagram showing a second example of a specific use form of an embodiment of the present disclosure. Referring toFIG. 7, in the system shown inFIG. 1, the smartphone100mcarried by a user (father) to the outside (workplace) regularly transmits location information to the server300achieving the agent function (S201). Here, let us assume that a user (mother) has uttered “tell dad to buy milk on his way home” into the tablet100ein the house (S203). In the tablet100e, a microphone included in the image/audio input part120acquires the uttered voice. The audio data output from the microphone is transmitted from the tablet100eto the server300via the network200(S205).

In the server300, the request acquiring part510of the agent function acquires the audio data, and the response determining part520determines a response on the basis of the audio data. Similarly to the aforementioned first example, the response determining part520performs voice recognition or natural language processing, for example, and determines a response to the user's request. In the illustrated example, the response is to “notify dad to buy milk”. Furthermore, in the agent function, the device selecting part550selects a device that provides the response. In the illustrated example, the father is the target user to whom the response is to be provided and therefore the device selecting part550selects the electronic device100located closest to the father, i.e., the smartphone100mcarried by the father being away from home, as the device that provides the response (S207).

Subsequently, the device controller580performs a control that causes the smartphone100mselected by the device selecting part550to provide the response. More specifically, the device controller580transmits a control command so that the smartphone100moutputs a notification (S209). The control command on this occasion may include information indicating the content of the notification (request to buy milk on his way home) and the requester (the user who has input the request to the tablet100e, i.e., the mother).

Furthermore, after the control command has been transmitted to the smartphone100m, or an acknowledgement to the control command has been returned, the device controller580may notify, as an additional process, the user who has input the request to the tablet100ethat the response (notification to the father via the smartphone100m) has been performed (5211, S213). The notification may be output as an audio, or may be output as an image using GUI.

2-3. Other Examples

A variety of examples are also possible without being limited to the examples shown inFIGS. 6 and 7described above. For example, let us assume that a user has uttered “playback a movie on TV” into the TV100awhen the user wants to watch a movie on the TV100ain the living room. On this occasion, the response determining part520determines a response in the agent function (achieved by the TV100a, another electronic device100, or the server300, for example), on the basis of the request (audio data including the user's uttered voice) acquired by the request acquiring part510. In the response of such a case, a function of “displaying images of the movie (video content)” and a function of “outputting audio of the movie (video content)” are achieved.

Accordingly, the device selecting part550selects a device having the highest performance with regard to the image display function and a device having the highest performance with regard to the audio output function, among the electronic devices100located in the living room. Specifically, the TV100aand the loud speaker100care selected as devices having the highest performance with regard to image display and audio output, respectively. Here, the device selecting part550may further identify the location where the user is sitting down in the living room, and select the loud speaker100cas the device capable of providing the most suitable audio for the location. Subsequent to such processing by the device selecting part550, the device controller580transmits a control command to the TV100aand the loud speaker100c. The control command may include information indicating the method of acquiring the video content (for example, receiving broadcast wave using a tuner of the TV100a, or reading from the NAS100i). Furthermore, the control command transmitted to the TV100amay include an instruction to mute the audio output of the video content.

In addition, the agent function may be capable of providing a request with a response which is more complicated or activated after a while. For example, let us assume that the mother, when going out, provides an input to the microphone included in the lighting apparatus100kat the entrance by uttering “tell my son when he returns home that there is a snack in the cupboard”. In the agent function, on this occasion, although the request acquiring part510acquires the aforementioned audio input, and the response determining part520determines a response to the request (notification to the son), the son has not come home yet at the time point and therefore the user location information acquiring part540cannot acquire the location information of the son who is the target of the response.

In such a case, the device selecting part550determines that the response should be provided after a while on the basis of the content of the request “when he returns”, for example, and puts off providing the response. Subsequently, when the son comes home, the user location information acquiring part540acquires the location information of the son from the analysis of images acquired by the camera included in the lighting apparatus100k, for example. Accordingly, the device selecting part550, which has determined that it has become possible to provide the response, selects the electronic device100located closest to the location of the son at the time point, i.e., the loud speaker100bin the living room for example, as the device that provides the response, and the device controller580transmits a control command to output a voice notification “there is a snack in the cupboard” from the loud speaker100b.

In addition, the agent function does not necessarily have to acquire the user's explicit utterance, gesture, or operation as a request. The agent function may extract a request to the system10from a motion of the user (who is not particularly aware of operating the device) or a natural phenomenon. For example, in a case where rain which has begun to fall and laundry being hung appear in an image acquired by the electronic device100(not shown inFIG. 1) including a camera shooting the outside of a window, the request acquiring part510and the response determining part520may recognize the aforementioned phenomenon via image analysis, and automatically identify a virtual request “notify somebody in the house to take in the laundry” and a response corresponding thereto.

In such a case, the device selecting part550selects, as a device that provides a response, the electronic device100located close to a user (need not be identified) being in the house, on the basis of the location information acquired by the user location information acquiring part540. For example, in a case where the user location information acquiring part540has detected that the father is in the study from analysis of an image acquired by the camera included in the personal computer100jlocated in the study, the device selecting part550selects the personal computer100jas the device that provides the response (notification). In such a case, the device controller580transmits a control command to output a voice notification “take in the laundry” from the loud speaker included in the personal computer100j.

As has been described above, the agent function provided in an embodiment of the present disclosure allows the user to use a device network with a natural and simple operation, by automatically selecting a device for providing a response to a request in various situations within the system10, for example.

Note that, although the system10including the electronic device100installed at home has been illustrated in the above described embodiments, the present technique can be applied without being limited to such examples. For example, a similar system can be built in an office or a car as with the case at home. In addition, the electronic devices available to the user may be distributed in various places such as at home, in an office or a car, instead of being centered at a particular place.

3. Hardware Configuration

Next, with reference toFIG. 8, a hardware configuration of an information processing apparatus according to an embodiment of the present disclosure will be described.FIG. 8is a block diagram showing a hardware configuration example of an information processing apparatus according to an embodiment of the present disclosure. An information processing apparatus900which is shown may achieve the electronic device and the server in the above described embodiments, for example.

The information processing apparatus900includes a central processing unit (CPU)901, read only memory (ROM)903, and random access memory (RAM)905. Further, the information processing apparatus900may also include a host bus907, a bridge909, an external bus911, an interface913, an input device915, an output device917, a storage device919, a drive921, a connection port923, and a communication device925. Furthermore, the information processing apparatus900may include an imaging device933and a sensor935as necessary. The information processing apparatus900may also include, instead of or along with the CPU901, a processing circuit such as a digital signal processor (DSP) or an application specific integrated circuit (ASIC).

The CPU901functions as an arithmetic processing unit and a control unit and controls an entire operation or a part of the operation of the information processing apparatus900according to various programs recorded in the ROM903, the RAM905, the storage device919, or a removable recording medium927. The ROM903stores programs and arithmetic parameters used by the CPU901. The RAM905primarily stores programs used in execution of the CPU901and parameters and the like varying as appropriate during the execution. The CPU901, the ROM903, and the RAM905are connected to each other via the host bus907configured from an internal bus such as a CPU bus or the like. In addition, the host bus907is connected to the external bus911such as a peripheral component interconnect/interface (PCI) bus via the bridge909.

The input device915is a device operated by a user, such as a mouse, a keyboard, a touch panel, buttons, a switch, and a lever. Also, the input device915may be a remote control device using, for example, infrared light or other radio waves, or may be an external connection device929such as a cell phone compatible with the operation of the information processing apparatus900. The input device915includes an input control circuit that generates an input signal on the basis of information input by the user and outputs the input signal to the CPU901. The user inputs various kinds of data to the information processing apparatus900and instructs the information processing apparatus900to perform a processing operation by operating the input device915.

The output device917is configured from a device capable of visually or aurally notifying the user of acquired information. For example, the output device917may be: a display device such as a liquid crystal display (LCD), a plasma display panel (PDP), or an organic electro-luminescence (EL) display; an audio output device such as a speaker or headphones; or a printer. The output device917outputs results obtained by the processing performed by the information processing apparatus900as video in the form of text or an image or as audio in the form of audio or sound.

The storage device919is a device for storing data configured as an example of a storage unit of the information processing apparatus900. The storage device919is configured from, for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device. This storage device919stores programs to be executed by the CPU901, various data, and various data obtained from the outside.

The drive921is a reader/writer for the removable recording medium927such as a magnetic disk, an optical disc, a magneto-optical disk, or a semiconductor memory, and is built in or externally attached to the information processing apparatus900. The drive921reads out information recorded on the attached removable recording medium927, and outputs the information to the RAM905. Further, the drive921writes the record on the attached removable recording medium927.

The connection port923is a port for allowing devices to directly connect to the information processing apparatus900. Examples of the connection port923include a universal serial bus (USB) port, an IEEE1394 port, and a small computer system interface (SCSI) port. Other examples of the connection port923may include an RS-232C port, an optical audio terminal, and a high-definition multimedia interface (HDMI) (registered trademark) port. The connection of the external connection device929to the connection port923may enable the various data exchange between the information processing apparatus900and the external connection device929.

The communication device925is a communication interface configured from, for example, a communication device for establishing a connection to a communication network931. The communication device925is, for example, a wired or wireless local area network (LAN), Bluetooth (registered trademark), a communication card for wireless USB (WUSB), or the like. Alternatively, the communication device925may be a router for optical communication, a router for asymmetric digital subscriber line (ADSL), a modem for various communications, or the like. The communication device925can transmit and receive signals and the like using a certain protocol such as TCP/IP on the Internet and with other communication devices, for example. The communication network931connected to the communication device925is configured from a network which is connected via wire or wirelessly and is, for example, the Internet, a home-use LAN, infrared communication, radio wave communication, and satellite communication.

The imaging device933is a device which images a real space by use of various members including an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) and a lens for controlling image formation of a subject on the image sensor, and generates a pickup image. The imaging device933may image a still image or a moving image.

The sensor935is any of various sensors such as an acceleration sensor, a gyro sensor, a magnetic field sensor, an optical sensor, and a sound sensor. For example, the sensor935acquires information related to the state of the information processing apparatus900itself, such as the posture of the housing of the information processing apparatus900, or information related to the peripheral environment of the information processing apparatus900, such as the brightness or noise around the information processing apparatus900. Further, the sensor935may include a global positioning system (GPS) sensor which measures the latitude, the longitude, and the altitude of the apparatus by receiving a GPS signal.

Heretofore, an example of the hardware configuration of the information processing apparatus900has been shown. Each of the structural elements described above may be configured using a general-purpose material, or may be configured from hardware dedicated to the function of each structural element. The configuration may be changed as appropriate according to the technical level at the time of carrying out embodiments.

The embodiments of the present disclosure may include the information processing apparatus (electronic device), the system, the information processing method executed in the information processing apparatus or the system, the program for causing the information processing apparatus to function, and the non-transitory tangible media having the program recorded thereon, which have been described above, for example.

In addition, the effects described in the present specification are merely illustrative and demonstrative, and not limitative. In other words, the technology according to the present disclosure can exhibit other effects that are evident to those skilled in the art along with or instead of the effects based on the present specification.

An information processing apparatus including:

a request acquiring part configured to acquire a request to a system;

a response determining part configured to determine a response to the request;

a device selecting part configured to select, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and

a device controller configured to perform control that causes the selected device to provide the response.

The information processing apparatus according to (1), wherein

the attribute of the response includes a target to which the response is to be provided, and

the device selecting part selects, on the basis of a location of the target and locations of the devices included in the system, a device that provides the response.

The information processing apparatus according to (2), wherein the device selecting part selects a device located close to the target.

The information processing apparatus according to (2) or (3), wherein the device selecting part reselects a device that provides the response when there is a change in at least any of the target, location of the target, or locations of the devices included in the system.

the attribute of the response includes functions to be achieved by the response, and

the device selecting part selects, on the basis of performance with regard to the functions of the devices included in the system, a device that provides the response.

the functions to be achieved by the response include a first function and a second function, and

the device selecting part selects a first device achieving the first function and a second device achieving the second function.

the functions to be achieved by the response include playback of video content,

the device selecting part selects the first device displaying images of the video content and the second device outputting audio of the video content, and

the device controller performs control that displays the images of the video content on the first device, and also mutes the audio of the video content.

the attribute of the response includes a target to which the response is to be provided, and

the device selecting part selects, on the basis of preference of a user who is the target, a device that provides the response.

The information processing apparatus according to any one of (1) to (8), wherein the device controller performs control that causes a device to which the request has been input to request additional information for selecting a device that provides the response.

The information processing apparatus according to any one of (1) to (9), wherein the device controller performs control that causes a device to which the request has been input to notify that a response has been provided by the selected device.

An information processing method including:

acquiring a request to a system;

determining a response to the request;

selecting, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and

performing control that causes the selected device to provide the response.

A program for causing a computer to achieve:

a function of acquiring a request to a system;

a function of determining a response to the request;

a function of selecting, on the basis of at least an attribute of the response, a device that provides the response among devices included in the system; and

a function of performing control that causes the selected device to provide the response.

REFERENCE SIGNS LIST