Content transmission apparatus, content reception apparatus, and content upload method

According to one embodiment, a content transmission apparatus includes a data acquisition module configured to get a content item and metadata having a plurality of items for explaining details of the content, a notification module configured to notify an upload destination apparatus for the content of the metadata, a transmission module configured to encode the content and transmits the encoded content as a body of an upload request based on an HTTP POST request to an entry point created by a content reception apparatus on the basis of the metadata, a detection module configured to detect a change in metadata notified to the content reception apparatus relative to metadata newly got by the data acquisition module, and a posterior notification module configured to notify the content reception apparatus of posterior metadata containing at least a changed item in the metadata, when the detection module detects a change in the metadata.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2008-137177, filed May 26, 2008, the entire contents of which are incorporated herein by reference.

BACKGROUND

One embodiment of the invention relates to a content transmission apparatus, content reception apparatus, and content upload method which transmit contents via a network.

2. Description of the Related Art

Digital Living Network Alliance (DLNA) Guideline Ver. 1.5 has been laid down with the aim of connecting electronic devices in homes via a network.

Content uploading based on DLNA guide line 1.5 takes a two-step sequence:

1) An upload source apparatus presents an upload destination apparatus metadata for explaining the details of a content item (CreateObject command of UPnP AV), and the upload destination apparatus creates an entry point for uploading, and

2) The upload source apparatus uploads a content item to the entry point in the upload destination apparatus (transmission by HTTP POST).

In this sequence, the metadata presented by the upload source apparatus to the upload destination apparatus before content uploading may be unknown at the start of uploading or may change during uploading as in the case of recording of a broadcast stream due to the update of the program information or insertion of a breaking news. If the metadata changes after the start of uploading in the upload source apparatus, the upload destination apparatus is not able to know the new metadata.

DETAILED DESCRIPTION

Various embodiments according to the invention will be described hereinafter with reference to the accompanying drawings. In general, according to one embodiment of the invention, a content transmission apparatus comprises an data acquisition module configured to get a content item and metadata having a plurality of items for explaining details of the content, a notification module configured to notify an upload destination apparatus for the content of the metadata via a network, a transmission module configured to encode the content and transmits, via the network, the encoded content as a body of an upload request based on an HTTP POST request to an entry point created by a content reception apparatus on the basis of the metadata, a detection module configured to detect a change in metadata notified to the content reception apparatus relative to metadata newly got by the data acquisition module, and a posterior metadata notification module configured to notify the content reception apparatus of posterior metadata containing at least a changed item in the metadata via the network, when the detection module detects a change in metadata.

The embodiments of the present invention will be described below with reference to the views of the accompanying drawing.

First Embodiment

FIG. 1is a view showing a content transmission apparatus and content reception apparatus according to the first embodiment of the present invention. This content transmission apparatus is implemented as a digital TV20. The content reception apparatus is implemented as a network HDD30which operates as network-attached storage (NAS).

The digital TV20includes a tuner which receives a digital broadcast wave from an antenna40and demodulates the broadcast wave. The digital TV20displays a video based on the content obtained by demodulation and outputs sound based on the content.

The digital TV20based on the content upload sequence of DLNA guideline 1.5 operates as a UPnP AV ContentDirectory client and an HTTP client. The network HDD30operates as a UPnP AV ContentDirectory service and an HTTP server. The digital TV20is connected to the network HDD30via a network10. The network HDD30can store the data of the content demodulated by the tuner of the digital TV20. The digital TV20can find and identify the network HDD30on the basis of, for example, a UPnP device discovery sequence.

The digital TV20and the network HDD30transmit and store contents on the basis of the content upload sequence based on DLNA guideline 1.5.

FIG. 2is a block diagram showing the system configuration of the digital TV20and network HDD30according to the first embodiment of the present invention. The digital TV20includes a content storage module21which stores a content item to be uploaded, a content create request module22which gets metadata from a content item and informs the network HDD30of the start of an upload sequence, a posterior metadata creation module24which gets a change in metadata during uploading and informs a content transmission module23of the change, the content transmission module23which transmits a content item to the network HDD30and finally transmits the changes of the metadata informed by the posterior metadata creation module24, and the like. Not only a storage unit but also a tuner unit can be a content storage module21.

The network HDD30includes a content creation module32which creates an entry point for a content item to be uploaded on the basis of the metadata sent from the content create request module22of the digital TV20, a content reception module33which receives the content data sent from the content transmission module23of the digital TV20and records it in a content recording module31, the content recording module31which records and manages content data and metadata, and a metadata update module34which get the posterior metadata postposed in a received content and updates the metadata in the content recording module31.

A content upload sequence according to the first embodiment of the present invention will be described with reference to the sequence chart ofFIG. 3.FIG. 3is a sequence chart showing a content upload sequence according to the first embodiment of the present invention.

First of all, the content create request module22of the digital TV20gets, from the content storage module21, metadata202of a content item201to be uploaded (block S11), and sends a content create request to the content creation module32of the network HDD30(block S12). The content creation module32of the network HDD30stores received metadata302in the content recording module31(block S13). The content creation module32creates an entry point for a content item to be uploaded on the basis of the metadata302, and returns entry point information corresponding to the created content to the digital TV20(block S14).

FIG. 4shows an example of a content create request and entry point information which are transmitted by using a CreateObject command conforming to ContentDirectory:1 service specifications. In this case, “request” is a content create request, and “response” indicates entry point information as a response to the request. In this “request”, metadata is written by XML. This content create request requests to create an entry for a video content with the title being “A Newsshow”, the start time being Feb. 28, 2008, 19:00, and the end time being Feb. 28, 2008, 19:30.

“Response” indicates that the identifier of the content created in addition to the content information of the sent metadata is “12”, and the upload destination of the content is URL “http:/pc/item?id=12” indicated by the importUri attribute of the res tag.

Subsequently, the content transmission module23of the digital TV20reads the content201from the content storage module21(block S15), and transmits the content to the content reception module33of the network HDD30(block S16). The content201is read altogether or is read portion by portion as in the case of a broadcast content or the like and sent gradually. The content reception module33of the network HDD30receives a sent content301, and stores it in an area associated with the metadata302of the content recording module31(block S17).

During the transmission of the content, the posterior metadata creation module24monitors a change in the metadata202of the content. Upon detecting a change, the posterior metadata creation module24creates a posterior metadata containing at least a changed item in the metadata, and instructs the content transmission module23to postpose the posterior metadata at the end of the transmission of the content (block S18). The content transmission module23attaches the posterior metadata to the end of the transmission of the content and transmits the resultant data to the content reception module33of the network HDD30(block S19). The metadata update module34of the network HDD30extracts posterior metadata from the data received by the content reception module33, and updates the corresponding metadata302in the content recording module31(block S20).

FIG. 5shows a case in which a content item is transmitted by using an HTTP POST command. In this case, a video content item in the MPEG format is transmitted to URL “http://pc/item?id=12”, and a success or failure is returned as a response on the reception side. In this case, URL “http://pc/item?id=12” used as a destination is a value obtained as part of the successful response to the content create request. In this embodiment of the present invention, a content item is transmitted as the body of a POST message upon being chunked-encoded. Chunked encoding is characterized by being capable of transmitting a content item as a series of small portions instead of transmitting the content item altogether. According to the Hypertext Transfer Protocol (HTTP) specifications, when chunked-transfer is to be used, since a header field can be postposed in a body using a Trailer field, posterior metadata is placed in the postposed header field. In this case, X-UpdateMetadata is used as a header field to be used to notify posterior metadata. The corresponding header field name is designated in a Trailer field at the start of transmission to indicate to the reception side that the field is used for the above purpose. After the end of the transmission of the content, the posterior metadata placed in the X-UpdateMetadata field informs the network HDD30that the new title is “A Special Newsshow”, and the new end time is Feb. 28, 2008, 19:45.

After the completion of uploading, the content in the network HDD30can be checked from the digital TV20by using a UPnP AV Browse command. After posterior metadata is transferred and the metadata in the content recording module31is updated in the above sequence, the content information of the metadata indicated by a response to a query is the content information updated by the posterior metadata.FIG. 6shows an example of the transmission of a Browse command. A response (“Response”) to the transmission of the Browse command indicates that the title is changed to “A Special Newsshow”, and the end time is changed to Feb. 28, 2008, 19:45.

In the above series of operations in the upload sequence, the number of messages to be exchanged between the digital TV20and the network HDD30remains the same as that in the prior art.

Second Embodiment

FIG. 7is a block diagram showing the arrangement of a content upload system including a digital TV20and a network HDD30according to the second embodiment of the present invention.

The digital TV20includes a content storage module21which stores a content item to be uploaded, a content create request module22which gets metadata from a content item and informs the network HDD30of the start of an upload sequence, a posterior metadata query response module25which gets a metadata change during uploading and responds to a query from a metadata update module34of the network HDD30, and a content transmission module23which transmits a content item to the network HDD30.

The network HDD30includes a content creation module32which creates an entry point for a content item to be uploaded on the basis of the metadata sent from the content create request module22of the digital TV20, a content reception module33which receives the content data sent from the content transmission module23of the digital TV20and records it in a content recording module31, the content recording module31which records and manages content data and metadata, and a metadata update module35which updates the metadata in the content recording module31upon getting posterior metadata by making a query about metadata to the posterior metadata query response module25of the digital TV20.

The digital TV20and the network HDD30operate on the basis of the content upload sequence of DLNA guide line 1.5 as in the first embodiment.

A content upload sequence according to the second embodiment of the present invention will be described with reference to the sequence chart ofFIG. 8.FIG. 8is a sequence chart showing a content upload sequence according to the second embodiment of the present invention.

First of all, the content create request module22of the digital TV20gets metadata202of a content item201to be uploaded from the content storage module21(block S31), and sends a content create request to the content creation module32of the network HDD30(block S32). The content creation module32of the network HDD30stores received metadata302in the content recording module31(block S33). The content creation module32creates an entry point for a content item to be uploaded on the basis of the metadata302, and returns entry point information corresponding to the created content item to the digital TV20(block S34). The processing up to this block is the same as that from block S11to block S14described in the first embodiment with reference toFIG. 3.

Subsequently, the content transmission module23of the digital TV20transmits a content item to the content reception module33of the network HDD30(block S36) while reading the content item from the content storage module21(block S35). A content item is read altogether or is read portion by portion as in the case of a broadcast content item or the like and sent gradually. In this case, the digital TV20sends the content item to the network HDD30upon attaching query information to the content item. The query information is a URL to which the posterior metadata of the content is to be returned.

Upon receiving the sent content, the content reception module33of the network HDD30stores the content in an area associated with the metadata in the content recording module31(block S37).

The posterior metadata query response module25detects, during transmission of a content item, whether the metadata of the content item has changed. Upon detecting a change, the posterior metadata query response module25creates posterior metadata containing at least a changed item in the metadata. In response to a query from the metadata update module35of the network HDD30(block S38), the posterior metadata query response module25returns the posterior metadata upon detection of a change (block S39). The metadata update module35of the network HDD30updates the corresponding content metadata in the content recording module31on the basis of the got posterior metadata (block S40).

FIG. 9is a view showing an example of a case in which a content item is transmitted by using an HTTP POST command. In this case, a video content item in the MPEG format is transmitted to URL “http://pc/item?id=12”, and a success is returned as a response on the reception side. In this case, URL “http://pc/item?id=12” used as a destination is a value obtained as part of the response to the content create request. In this embodiment, the posterior metadata URL as query information is http://tuner/item?source=1234abcd5678 given by an X-MetadataqueryURL field.

During uploading, the network HDD30makes a query about posterior metadata to the digital TV20, and updates the metadata in the content recording module31on the basis of the got posterior metadata. The network HDD30makes such a query at least at the end of reception of content data. The network HDD30determines other query timings.

FIG. 10shows an example in which the network HDD30gets posterior metadata by issuing an HTTP GET request to the query URL of the digital TV20. In this case, the updated metadata is about a title and an end time, and indicates that the title is “A special Newsshow”, and the end time is Feb. 29, 2008, 19:45. Note that it suffices to return all the metadata associated with the content instead of only a changed portion.

After the completion of uploading, the content in the network HDD30can be checked from the digital TV20by using a UPnP AV Browse command. This sequence and an example of content information are the same as those in the first embodiment.

In the above series of operations in the upload sequence, the network HDD30can get posterior metadata and update metadata for a recorded content even when uploading of a content item is interrupted from the network HDD30side. Note, however, that the digital TV20needs to also operate as a server apparatus which responds to a query as well as operating as a client apparatus. The network HDD30also needs to operate as a client apparatus which makes a query as well as operating as a server apparatus.

Modification of Second Embodiment

Assume that the digital TV20operates as a network tuner apparatus based on the DLNA guide line 1.5 specifications and provides another apparatus with a list of channels and a download service of a content item from one of the channels through ContentDirectory:1 service by the digital TV20. In this case, it suffices to provide the network HDD30with the corresponding service identifier and channel identifier as query information for posterior metadata. The channel list discloses the title, category, start time/end time, and the like of a program on the air in addition to static channel information, as needed, to allow the network HDD30to check content information, as needed, by getting channel information of the network tuner apparatus on the basis of a channel identifier.

For example, as shown inFIG. 11, when starting to transmit a content item, the digital TV20as a content transmission apparatus transfers, to the network HDD30, a combination of the equipment identifier (uuid: 550e8400-e29b-41d4-a716-446655440000) and service identifier (urn:schemas-upnp-org:serviceId:ContentDirectory:1) of the digital TV20and a channel identifier (/tuner/ch3) by using X-MetadataQueryURL.

The metadata update module of the network HDD30makes a query about posterior metadata by using, for example, a Browse command of ContentDirectory:1 service on the basis of query information. The obtained posterior metadata does not directly indicate a content item to be uploaded but is information about a channel which broadcasts the content. The network HDD30therefore needs to select and get necessary metadata from the posterior metadata. The case shown inFIG. 12indicates that a channel having “/tuner/ch3” as a metadata identifier allows to obtain a content item in the MPEG video format with the channel number being “3”, the channel name being “NumberThree Channel”, the name of the program on the air being “A Special Newsshow”, the start time being Feb. 28, 2008, 19:00, and the end time being 19:45, by using an HTTP GET request for “http//tuner/cd/content?id=tuner_ch3”.

Third Embodiment

FIG. 13shows the arrangement of a content upload system including a digital TV20and a network HDD30according to the third embodiment of the present invention. The digital TV20includes a content storage module21which stores a content item to be uploaded, a content create request module22which gets metadata from a content item and informs the network HDD30of the start of an upload sequence, a metadata update request module26which gets a metadata change during uploading and transmits a metadata update request to a metadata update module36of the network HDD30, and a content transmission module23which transmits a content item to the network HDD30.

The network HDD30includes a content creation module32which creates an entry point for a content item to be uploaded on the basis of the metadata sent from the content create request module22of the digital TV20, a content reception module33which receives the content data sent from the content transmission module23of the digital TV20and records it in a content recording module31, the content recording module31which records and manages content data and metadata, and a metadata update module36which receives a posterior metadata update request from the digital TV20and updates the metadata in the content recording module31on the basis of the details of the request.

As in the first and second embodiments, the digital TV20and the network HDD30operate on the basis of the content upload sequence of DLNA guide line 1.5.

A content upload sequence according to the third embodiment of the present invention will be described with reference toFIG. 14.FIG. 14is a sequence chart showing a content upload sequence according to the third embodiment of the present invention.

First of all, the content create request module22of the digital TV20gets metadata202of a content item201to be uploaded from the content storage module21(block S51), and sends a content create request to the content creation module32of the network HDD30(block S52). The content creation module32of the network HDD30stores received metadata302in the content recording module31(block S53). The content creation module32creates an entry point for a content item to be uploaded on the basis of the metadata302and returns entry point information corresponding to the created content to the digital TV20(block S54). The processing up to this block is the same as that from block S11to block S14described in the first embodiment with reference toFIG. 3.

The metadata update request module26of the digital TV20monitors a change in content metadata during uploading of a content item, and creates posterior metadata containing at least a changed item in the metadata every time a change is detected. The metadata update request module26then issues a metadata update request to the metadata update module36of the network HDD30by using an UpdateObject command of ContentDirectory:1 (block S59). The metadata update module36of the network HDD30gets the posterior metadata designated by the UpdateObject command of ContentDirectory:1, and changes metadata corresponding to the content recorded in the content recording module31on the basis of the details of the metadata (block S60).

FIG. 15shows an example of a message used by the network HDD30to issue a metadata update request to the digital TV20. This message indicates that the UpdateObject command of ContentDirectory:1 service is used to issue a request to change the metadata of a content item created by the network HDD30with the value of the content identifier being “12” so as to change the title to “A Special Newsshow” and the end time to Feb. 29, 2008, 19:45, and a success is returned as a response.

After the completion of uploading, the content in the network HDD30can be checked from the digital TV20by using a UPnP AV Browse command. This sequence and an example of details are the same as those in the first embodiment.

In the above sequence of operations in the upload sequence, even when a change in metadata is detected during uploading of a content item, the digital TV20can notify the network HDD30of metadata after the change at the timing of the detection. The network HDD30can hold metadata corresponding to a change in the details of the content to be uploaded on the basis of notified posterior metadata. Although the above operation can be implemented by a combination of commands defined by ContentDirectory:1, all network HDDs30are not necessarily equipped with the UpdateObject command. Furthermore, part of metadata does not allow any change by the UpdateObject command, but the digital TV20has no way of knowing this.

As described above, the network HDD30can properly get metadata by each of the methods disclosed in the first, second, and third embodiments even if metadata changes on the digital TV20side during uploading of a content item. However, each embodiment has its own problem, and hence the above three embodiments are preferably used in a proper combination thereof to solve these problems.