This application claims priority under 35 U.S.C. §119(a) to a Korean Patent Application filed in the Korean Intellectual Property Office on Sep. 23, 2009 and assigned Serial No. 10-2009-0090287, the entire disclosure of which is hereby incorporated by reference.
1. Field of the Invention
The present invention relates generally to a multimedia broadcast system, and more particularly, to a method and apparatus for providing content or a message that a client is streaming, to other clients in a multimedia broadcast system.
2. Description of the Related Art
A multimedia broadcast system providing multimedia data to a plurality of users and devices generally includes a home server for streaming multimedia data and a plurality of clients that receive multimedia data from the home server. Moreover, a multimedia broadcast system may be built based on the Digital Living Network Alliance (DLNA) standard for digital home networking. In this case, a Digital Media Control (DMC) point designates a location of a Digital Media Server (DMS) and an address of content stored in the DMS, and provides the designated information to a Digital Media Renderer (DMR) for playing content. Then the DMR may send a request for the designated content to the DMS, and receive a streaming service for the requested content.
In a general multimedia broadcast system, for multimedia search and playback, a home server searches for necessary multimedia information using metadata information such as a file name of multimedia data retained in a multimedia content server. After the search, the home server provides a list of searched contents to a client based on a predefined transport protocol, and the client receives the list of searched contents, analyzes the list information, and displays the analyzed information on a user interface (or a display). Next, if content to be played is selected by a user in the client device, information about the selected content is delivered to the home server in accordance with a predefined protocol, and the home server streams the requested content data to the client device according to the predefined protocol.
Since the multimedia content search and playback scheme of the conventional home server is based on multimedia data stored in the server, this scheme offers a search method for the content stored in the server, but does not provide search and playback functions for the content and broadcast currently being streamed by the server.
In addition, since the conventional home server system aims at distribution of its own content, the system does not manage information about the client device that has requested the content. Therefore, it is not possible to determine which client device is playing which content, and a specific client device may not share information with other client devices.
For this reason, if a user intends to provide multimedia content being played in his or her own client device to other client devices, the user must inconveniently provide information about the content being played in his or her own client device to users of other client devices so that the users of other client devices may directly search and find the content using the information about the content.
An aspect of the present invention is to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide a method and apparatus for providing streaming information of other users to a specific client so that the client may easily obtain information about the other clients and other users and information about the broadcast or multimedia content that the other clients are playing, in a multimedia broadcast system for a plurality of users.
Another aspect of the present invention is to provide a method and apparatus in which a client can easily provide the content that the client is streaming, to other clients.
In accordance with one aspect of the present invention, there is provided a method for providing information between clients in a multimedia broadcast system, the method including receiving information about a specific client connected to a home server; receiving and analyzing a request from the client; if the received request is a request for streaming information, which includes content currently being streamed in the home server and information about a client receiving the content, providing the streaming information to a client that transmitted the request; upon receiving from the client a streaming providing request for providing its streaming content to another client, extracting information about target content and a target client from the received streaming providing request; and delivering the information about the target content to the target client.
In accordance with another aspect of the present invention, there is provided an apparatus for providing information between clients in a multimedia broadcast system, the apparatus including a tuner for receiving a plurality of broadcast signals; a broadcast receiver for selecting a channel of the broadcast signals, and creating a channel list and broadcast information; a storage device for storing multimedia content data; a content searcher for acquiring a list of the storage device, and searching content in the storage device; a request transceiver for receiving a request from a client; a connection manager for, upon receipt of a content request from the request transceiver, controlling to deliver requested content to a multimedia transmitter so that the requested content may be streamed in the client that requested the content, storing the streaming information in a database, providing the stored streaming information to the client that transmitted the request if a streaming information request is received from the request transceiver, and if a streaming providing request for providing content being streamed by the client to another client is received from the request transceiver, controlling to extract target content and information about a target client from the received streaming providing request, and to deliver information of the target content to the target client; and the multimedia transmitter for delivering the multimedia content received from the connection manager to a client that requested streaming.
The above and other aspects, features and advantages of certain embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.
Embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as a detailed configuration and components are merely provided to assist the overall understanding of exemplary embodiments of the present invention. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
The present invention provides a method and apparatus for providing information about other clients and streaming information of other clients to a specific client in a multimedia broadcast system for a plurality of users, and also provides a method and apparatus in which a client provides the content that the client is streaming, to other clients, or provides information such as messages and image files to other clients. To this end, the present invention provides a method in which a home server provides streaming information indicating the current streaming status to clients, and upon receiving a streaming providing request to other clients from a client, the home server extracts, from the streaming providing request, target content to be streamed and information about a target client that will provide streaming, provides address or channel information of the extracted target content to the extracted target client, and streams the target content to the target client upon receiving a play request for the target content from the target client. A detailed description thereof will be given below with reference to the accompanying drawings.
Referring to
The tuner 105 receives broadcast signals, and may include a plurality of tuners.
The broadcast receiver 110 selects a channel using a given frequency. In the case of an Advanced Television Systems Committee (ATSC) system, the broadcast receiver 110 selects a channel based on a Physical Transmission Channel (PTC). The broadcast receiver 110 creates a channel list and broadcast information by analyzing an Electronic Program Guide (EPG) and section table data in the received broadcast signals, and performs an operation for registration in the DB 135 and a broadcast playback.
The content searcher 140 obtains a list of the storage devices 145 and 150 connected to the home server 100, and searches content in the storage devices. The content searcher 140 secures a list of the storage devices 145 and 150 it can access using a scheme such as Universal Plug and Play (UPnP) and Digital Living Network Alliance (DLNA), and registers the acquired list in the DB 135.
The request transceiver 120 receives a request from each of a plurality of renderer devices, or client devices, which are connected to the home server 100, and/or transmits a request to each of the client devices. In an embodiment of the present invention, the request transceiver 120 performs network connection upon receiving a connection request from a client device, delivers information about target content to be streamed and a received request to the connection manager 115 upon receiving a streaming request, and delivers information about a received streaming information request to the remote UI provider 130 upon receiving a request for streaming information indicating the current streaming status.
In addition, upon a streaming providing request to other clients, the request transceiver 120 may deliver information about target content to a target client included in the request. Subsequently, upon receiving a play request for the target content, transmitted from the target client, the request transceiver 120 delivers information about the target content and the received request to the connection manager 115. The reason why the request transceiver 120 makes the re-request is that since the device that sent the streaming providing request to the other clients is not a server, but a client, the device cannot directly receive content data of the home server. Therefore, the request transceiver 120 delivers information about the target content to be played to a target client so that the target client may play the target content. If the target client does not want to stream the target content, the target client may ignore the request.
If information about target content to be streamed is received from the request transceiver 120, the connection manager 115 loads the content information and delivers the loaded information to the multimedia transmitter 125. Moreover, the connection manager 115 stores, in the DB 135, information about a client that sent the request, and information about the content to be transmitted, which were received from the request transceiver 120, and streaming information such as streaming status information. If the requested content is live broadcast content, the connection manager 115 delivers a request to the broadcast receiver 110 to acquire a requested broadcast content stream, and delivers the acquired stream to the multimedia transmitter 125. If the requested content is multimedia content stored in the internal storage device 145 and the external storage devices 150, the connection manager 115 loads the multimedia content that is stored in the home server 100 or stored through the external network, and delivers the loaded content to the multimedia transmitter 125. The connection manager 115 manages the current streaming status using a streaming index list. During this management, if new streaming starts, related streaming information is added in the streaming index list, and if streaming is terminated, associated streaming information is deleted from the streaming index list. Details of the streaming information may be separately stored and managed in the DB 135.
Upon receiving a live content request from the request transceiver 120, the connection manager 115 delivers channel index information included in the request information to the broadcast receiver 110, and controls the broadcast receiver 110 to select a channel using the channel index and to provide live content to the connection manager 115, and the connection manager 115 delivers the received live content and client information included in the request information to the multimedia transmitter 125, and controls the multimedia transmitter 125 to stream the live content to the client.
The multimedia transmitter 125 streams and/or uploads the multimedia content provided from the connection manager 115, to the client that requested streaming. A protocol used for transmission of the multimedia content may include transport protocols such as a Hyper Text Transport Protocol (HTTP), a Realtime Transport Protocol (RTP) and a User Datagram Protocol (UDP).
Upon receiving a request for streaming information indicating the current streaming status from a client device, the remote UI provider 130 creates a Hyper Text Markup Language (HTML) user interface using streaming information including client information, content information and play status information, which are managed in the connection manager 115, and provides the created user interface to the client. In this case, the user interface provided to the client may include information about each client, information about the content being streamed and play status information of the content being streamed to each client. Information represented on the user interface may be displayed in thumbnail images or icons, and simplified symbols. In addition, the user interface may include a streaming play request with which a user may request each client to select one of contents being streamed and to play the selected content in his or her own client, and may also include an interface with which the user can select a streaming content up/down request and a streaming device up/down request enabling each client to sequentially select the content being streamed in a similar manner to conventional channel selection.
The internal storage device 145 and the external storage devices 150 store multimedia content. The internal storage device 145 is located inside the home server 100, while the external storage devices 150 are located outside the home server 100 and connected to the home server 100 directly or through a network.
The home server 100 may exchange request signals, content data, user interfaces, etc. with a plurality of clients 201, 202 and 203 through the request transceiver 120, the multimedia transmitter 125 and the remote UI provider 130.
An operation of the home server 100 for providing streaming information in a multimedia broadcast system will be described with reference to
In step 220, the home server 100 determines if a request is received from at least one of the clients 201, 202 and 203. If no request is received, the home server 100 continues to wait for a request. Upon receipt of a request, the home server 100 determines in step 230 whether the received request is a streaming information request. If so, the home server 100 provides streaming information to the client that transmitted the streaming information request, in step 240. The streaming information includes information about the content currently being streamed, information about the client receiving the streaming, and information about the streaming status.
If the received request is not the streaming information request in step 230, the home server 100 determines in step 250 whether the received request is a content request. If not so, the home server 100 returns to step 220. However, if the received request is a content request in step 250, the home server 100 streams the requested content to the client that transmitted the content request, in step 260. In this case, if the requested content is broadcast content, the home server 100 delivers the request information to the broadcast receiver 110, to select a channel and stream the requested broadcast content, and if the requested content is content stored in the storage devices 145 and 150, the home server 100 delivers the request information to the content searcher 140, to search for the requested content and stream the searched content. In an embodiment of the present invention, a streaming content request for the content currently being streamed may be received. In this case, the home server 100 immediately delivers information about the client that sent the request, to the multimedia transmitter 125, to add the content subjected to streaming by the multimedia transmitter 125 and to instruct the multimedia transmitter 125 to immediately perform streaming.
In step 270, the home server 100 stores information about the new content being streamed, and streaming information including client information and play status information, thereby updating the streaming information stored in the DB 135 of the home server 100.
In step 280, the home server 100 determines if the operation has been terminated. Based on the determination, the home server 100 ends the operation, or returns to step 220 and repeats its succeeding steps.
Referring to
In an embodiment of the present invention, a home server and clients may constitute a network using DLNA or UPnP, and the clients use DLNA or UPnP even when connecting with the home server. In the case of UPnP, all devices to be controlled have their description XML files describing themselves. These files are delivered to a UPnP access point through a UPnP discovery operation in the way defined in the UPnP Specification.
Referring to
In the case where the home server 100 provides an HTML UI to the clients 201, 202 and 203 together with a remote UI, since an HTML script prepared in the home server 100 is transmitted to the clients 201, 202 and 203, all request command protocols may be defined in the home server 100. If the remote UI is not utilized, request commands between the clients 201, 202 and 203 and the home server 100 may be defined in the clients 201, 202 and 203. When providing a request command, each of the clients 201, 202 and 203 provides a command type, a parameter associated with the command, and its own unique ID.
Commands, or requests, used in the clients 201, 202 and 203 may include a live channel setting request for setting a live broadcast channel, a live channel recording request for recording a live broadcast channel, a live channel play request (live content request) for playing a live broadcast, a stored content play request for playing content stored in the storage devices, a stored content download request for downloading content stored in the storage devices, a streaming information request for getting information about the content currently being streamed to other clients, a streaming content request for playing the content currently being streamed to other clients, a streaming content up/down request for selecting and playing the content currently being streamed by other clients, and a streaming device up/down request for selecting and playing the content currently being streamed by other clients, among other commands or requests.
The live channel setting request may include information such as a channel index, and the stored content play request may include information such as a content Uniform Resource Identifier (URI).
Like a broadcast channel up/down request, the streaming content up/down request is a command to perform streaming on the next streaming content or previous streaming content with respect to the content being streamed, which includes live broadcasts. Accordingly, the content may be sorted to set the change order during an up/down operation.
The streaming device up/down request is a request for receiving streaming of the content being played in the next device or previous device in a list of devices receiving streaming. Accordingly, the types of the streaming devices may be sorted to set the change order during an up/down operation. For example, if there are an audio renderer such as an MP3 player, and a video renderer such as a Set-Top Box (STB), a TV and a Portable Multimedia Player (PMP), the streaming device up/down request may be set to first navigate the contents provided to the video renderer device and then go to the content provided to the audio renderer and perform streaming on the content.
Referring to
As such, if a client has requested the content currently being streamed, it can be considered that the home server 100 is already performing streaming on a broadcast channel or content data acquired from the storage devices 145 and 150. In this case, the connection manager 115 immediately delivers device information of the client to the multimedia transmitter 125 to add the content currently being streamed as the content subjected to streaming so that the content may be immediately subject to streaming. That is, the connection manager 115 is controlled to deliver client and content information requested for streaming in the request information to the multimedia transmitter 125 and to stream the requested content information to the requested client. Accordingly, the connection manager 115 may immediately perform streaming without a separate content loading or selection process.
If the received request is not a streaming content request in step 520, the connection manager 115 determines in step 540 whether the received request is a live content request. If so, the connection manager 115 extracts channel information from the received request information and delivers the extracted information to the broadcast receiver 110 in step 550, and then returns to step 510.
For reference, upon receipt of the live content request, the connection manager 115 delivers channel index information included in the request to the broadcast receiver 110, and the broadcast receiver 110 acquires the requested live broadcast data by selecting a channel using the given channel index and provides the acquired data to the connection manager 115. The connection manager 115 delivers the received live broadcast data and client information to the multimedia transmitter 125 so that the live broadcast may be streamed to the client.
If the received request is not the live content request in step 540, the connection manager 115 determines in step 560 whether the received request is a stored content request. If not, the connection manager 115 returns to step 510. Otherwise, if the received request is the stored content request, the connection manager 115 extracts content information from the received stored content request and delivers the extracted information to the content searcher 140 in step 570.
For reference, upon receiving the stored content request, the connection manager 115 delivers URI information included in the request to the content searcher 140, and the content searcher 140 acquires content data having the requested URI and provides the acquired data to the connection manager 115. The connection manager 115 delivers the received content data to the multimedia transmitter 125 together with the client information so that the stored multimedia content may be streamed to the client.
By performing the above operations upon the three different content requests, the connection manager 115 updates in the DB 135 the streaming information including client information and content information, being streamed, and information about the streaming status at every given time. This streaming information will be described with reference to the streaming information-related table in
As shown in
Referring to
In the case of live broadcast content, the streaming information request may be used to provide program information such as a thumbnail image for a screen, unique number and name of a service or channel, an air time, a broadcast name, and a current play time. In the case of stored content information, the streaming information request may be used to provide content metadata such as a thumbnail image, the total playing time, a current play time, a file name, a file type, a genre, and an author. In addition, the streaming information request may provide device type information, device name information, device location information and device user information, as the client device information.
Referring to
Referring to
As shown in
Referring to
In step 1150, upon receiving a play request for the target content from the target client, the home server 100 streams the target content to the target client.
If a first client receives streaming information indicating the streaming status of the home server, a Picture-In-Picture (PIP) screen like that shown in
In the case where the first client receives a user interface from the home server, the first client does not need a separate system and only needs to select a desired function through an input device. On the other hand, in the case where a client uses its own UI rather than a UI of the home server, the client transmits target client information and information about the content currently being streamed, to the home server in accordance with a predefined protocol.
A method for delivering a request from a client to the home server may be realized in various different ways. Table 1 below shows an example in which a client sends a request command and its associated information to the home server using an HTTP GET method, and Table 2 below shows an example in which a client sends a request command and its associated information to the home server using an HTTP POST method.
Tables 1 and 2 above show a command to request a device with a client ID=3 to stream broadcast content of Livestream 14.
These requests transmitted from a client to the home server may include a message transmission request to other clients, a streaming transmission (providing) request, and a captured image transmission request.
In the case of the message transmission request, its command type is message transmission and its content parameter becomes message streaming. In the case of the streaming transmission request, its command type is streaming transmission and its content parameter becomes a URI of content. In the case of the captured image transmission request, its command type is message transmission and its content parameter becomes image data.
Referring to
As described above, as to the streaming providing request to other clients, target content may be content that the client that transmitted the request is streaming, or may be specific content designated by its user. In addition to the streaming, the client may transmit general messages or captured images to other clients.
As is apparent from the foregoing description, the present invention provides a client with information about other users or clients as well as streaming information of other clients in a multimedia broadcast system for a plurality of users, thus enabling the client to easily obtain information about broadcast or multimedia content that the other clients and users are playing.
In addition, based on information about other clients, a client may deliver messages to the other clients or may provide the other clients with content the client itself is playing.
In conclusion, a client may access a home server and easily obtain information about other clients, information about multimedia content the other clients are playing, and its play status and other information, and the client may deliver messages to the other clients or provide the other clients with its content being streamed, making it possible for its user to share the information with other users. In addition, a user may capture key scenes of the content he or she is watching, and share them with users of other clients. Moreover, when a home server uses a remote UI, a client may easily receive the above information from the home server by simply being equipped with a browser.
While the invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0090287 | Sep 2009 | KR | national |