The present invention relates to a Universal Plug and Play (UPnP)-based network, and more particularly to, a method for setting media streaming parameters on a UPnP-based network which can optimally improve quality of media.
According to development of information technologies, various IT products such as cellular phones, digital TV sets, PDAs and game machines as well as PCs are connected to a network as home network devices. As such a network environment is extended to houses, a home network gains popularity. Especially, the UPnP gets influential in integration, control and administration of the home network devices.
The UPnP is a common protocol prepared by adding a plug and play function to a general operating system, so that various network devices of different standards and specifications can interface each other. That is, the UPnP is expanded to the whole network on the basis of internet standard technologies such as the TCP/IP, HTTP and XML, so that network devices such as home appliances, network printers and internet gateways can network each other.
The basic structure of the UPnP consists of a device, a service and a control point (CP).
The device includes a service and a few sub-devices. For example, a VCR device may be comprised of a tape transfer service, a tuner service and a time service. The service implies the smallest small-scale control unit on the network, and is modeled by state variables. The CP implies a controller having functions of sensing and controlling the other devices. Therefore, the user can discover, describe and control various devices or receive an event through the interface provided by the CP.
The UPnP is embodied on the basis of the standards defined by the UPnP forum (http://www.UPnP.org) according to UPnP Device Architecture 1.0 widely distributed by Microsoft Corporation. The UPnP forum that leads establishment of the standards of the UPnP devices and services consists of six working groups. Among the six working groups, the AN (audio/video) working group includes and standardizes a control point which is a UPnP device based on the UPnP AV Architecture (hereinafter, referred to as ‘AV CP’), a media server (MS) and a media renderer (MR).
Referring to
The operation of the general UPnP AV will now be explained.
The AV CP 110 controls the UPnP devices (MS and MR) by calling actions provided by a simple object access protocol (SOAP) device that is a standardized protocol. In addition, the AV CP 110 joins event services provided by the UPnP devices, and receives state information changes of the UPnP devices.
The MS 120 provides a content directory service 121 for providing a media data search service, a connection manager service 122 for managing connection for streaming between the MS 120 and the MR 130, and an AV transport service 123 for providing controls such as play and stop of media.
The MR 130 provides a rendering control service 131 for controlling brightness of screen, a connection manager service 132 for managing connection for streaming between the MS 120 and the MR 130, and an AV transport service 133 for providing controls such as play and stop of media.
Accordingly, in regard to the MS 120 and the MR 130 discovered on the network, the AV CP 110 obtains media data information of the MS 120 by using the content directory service 121, performs connection for media transmission between the MS 120 and the MR 130 through the connection manager services 122 and 132 on the basis of the information, and plays the corresponding media file by using the AV transport services 123 and 133.
As described above, the UPnP AV discovers the media information, prepares connection for streaming, and helps execution of streaming. The actual media data transmission is performed through an out-of-band transfer protocol 142. That is, in order to play the media data, the general UPnP AV transmits the media data between the MS 120 and the MR 130 by streaming. Since a variety of publicly-known streaming methods can be adopted, the UPnP AV does not determine the specific streaming method but utilizes the out-of-band transfer protocol 142. For example, when an RTP is used for media transmission, a transmission state of media data can be monitored through an RTCP, and transmission parameters can be adjusted on the basis of the monitored state.
The network state may be often changed due to various variables. It is thus necessary to buffer the media data, correct errors and set Codec in the MS 120 and the MR 130 according to the streaming methods. In order to play the media with high quality and efficiently use resources of each device, the MS 120 and the MR 130 need to notify their states to each other.
However, the general UPnP AV does not support information on quality of the transmitted media data, packet loss and delay, and a data buffer used in the system.
Therefore, an object of the present invention is to provide a method for setting media streaming parameters on a UPnP-based network which can improve quality of media, by allowing an AV CP to monitor states of UPnP devices regardless of a media transfer protocol, transmit traffic transfer parameters for optimum quality of media to each UPnP device, and automatically set optimum parameters or make each UPnP device set the optimum parameters upon the user's request.
To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described herein, there is provided a method for setting media streaming parameters on a UPnP-based network, including the steps of: collecting streaming parameter information by monitoring states of UPnP devices; and setting parameters of the UPnP devices, by providing state information of the UPnP devices to each other on the basis of the collected streaming parameter information.
The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
In accordance with the present invention, on a UPnP AV network, a media server (MS) or a media renderer (MR) is an independent service for setting parameters, and uses UPnP state variables and actions. Here, the UPnP state variables include state variables of a source control service and state variables of a sink control service, and the actions include actions for the source control service and actions for the sink control service. The state variables and the actions are added to and defined in the MS and the MR.
A method for setting media streaming parameters on the UPnP AV network which can maintain optimum quality of media in accordance with the preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
As illustrated in
The operation of the UPnP AV network will now be explained.
The AV CP 210 monitors various streaming parameters and network states, by joining events of the source control service 221 of the MR 220 and the sink control service 231 of the MR 230. In addition, the AV CP 210 can discover the streaming parameters and the network states in a wanted time through a get sink parameters action for the sink control service 231 and a get source parameters action for the source control service 221.
Thereafter, the AV CP 210 intelligently composes optimum parameter setting on the basis of the discovered streaming parameters and network states, and dynamically designates various parameters through setup sink parameters and setup source parameters actions for the sink control service 231 and the source control service 221.
On the other hand, the AV CP 210 transmits the information of the sink control service 231 of the MR 230 and the source control service 221 of the MS 220 to each other, by calling report source parameters and report sink parameters actions. Thus, the source control service 221 and the sink control service 231 compose the optimum streaming parameters on the basis of the received values.
The structure and operational effects of the present invention will now be explained in more detail.
As shown in
The UPnP variables and actions which compose an independent service for enabling the MR 230 to receive a media stream state report and adjust parameters can be directly included in the MR 230, or added to the general AV transport service 234 or the connection manager service 233 as vendor-specific actions and state variables. If necessary, a new UPnP device is defined, registered as a service, and included in the MR 230 as an embedded device.
For example, still referring to
The receive buffer size indicates a size of a receive buffer set in the MR 230 to play media streams. The receive buffer usage shows how many data are filled in the receive buffer. It is obtained by measuring a value in an eventing time point or calculating an average for a predetermined period. The buffer full per period implies how many times the buffer is fully filled in the recent moderate period. The out of order per period indicates a number of out of order packets in the recent moderate period. The lost packet per period shows a number of lost packets in the recent moderate period. The delayed packet per period indicates a number of delayed and wasted packets in the recent moderate period. The moderate period is a counting period of each variable. All the variables are initialized and re-calculated at the initial stage of each period. Here, ‘Req.’ denotes an essential variable, ‘Opt.’ denotes a selective variable, ‘evented’ denotes eventing/non-eventing for the CPs joining the event by state changes of the variables, and ‘moderate event’ denotes collective eventing after a predetermined period.
Also, still referring to
When the AV CP 210 calls the get sink parameters action, the sink control service 231 transmits its whole state variables as return values. When the AV CP 210 calls the report source parameters action, the AV CP 210 can transmit the parameters of the source control service 221 of the MS 220 to the sink control service 231 of the MR 230. That is, the AV CP 210 transmits the state variables as input arguments of the action.
In the case that the AV CP 210 intends to set appropriate parameters for the sink control service 231 of the MR 230 on the basis of various information from the source control service 221 of the MS 220 and the sink control service 231 of the MR 230, the AV CP 210 adjusts the streaming parameters of the MR 230 by calling the setup sink parameters action.
At last, if parameters that need to be additionally reported and adjusted exist according to the streaming methods, the AV CP 210 expands the parameters through the vender-specific state variables and actions.
As depicted in
The UPnP variables and actions which compose an independent service for enabling the MS 220 to receive a media stream state report and adjust parameters can be directly included in the MS 220, or added to the general AV transport service 224 or the connection manager service 223 as vendor-specific actions and state variables.
If necessary, a new UPnP device is defined, registered as a service, and included in the MS 220 as an embedded device.
For example, still referring to
The Codec. Para. implies an encoding method of the media data in the MS 220 and parameters. For example, the Codec. Para. indicates a kind of a coding algorithm, a compression ratio, a number of frames per second and definition, and consists of strings. The sending frequency shows how many times packets are created and transmitted for one second. The mean packet size indicates a mean size of the packets generated in the recent moderate period. The minimum packet size indicates a size of the minimum packet among the packets generated in the recent moderate period. The maximum packet size indicates a size of the maximum packet among the packets generated in the recent moderate period. The error correction shows support/non-support of error correction mechanism, a kind of used mechanism and corresponding parameters. For example, the error correction provides use/non-use and a number of retransmission, use/non-use of forward error correction (FEC), and corresponding parameters. The moderate period is a counting period of each variable. All the variables are initialized and recalculated at the initial stage of each period. Here, ‘Req.’ denotes an essential variable, ‘Opt.’ denotes a selective variable, ‘evented’ denotes eventing/non-eventing for the CPs joining the event by state changes of the variables, and ‘moderate event’ denotes collective eventing after a predetermined period.
Also, still referring to
When the AV CP 210 calls the get source parameters action, the source control service 221 transmits its whole state variables as return values.
When the AV CP 210 calls the report sink parameters action, the AV CP 210 can transmit the parameters of the sink control service 231 of the MR 230 to the source control service 221 of the MS 220. That is, the AV CP 210 transmits the state variables as input arguments of the action.
In the case that the AV CP 210 intends to set appropriate parameters for the source control service 221 of the MS 220 on the basis of various information from the source control service 221 of the MS 220 and the sink control service 231 of the MR 230, the AV CP 210 adjusts the streaming parameters of the IMS 220 by calling the setup source parameters action.
At last, if parameters that need to be additionally reported and adjusted exist according to the streaming methods, the AV CP 210 expands the parameters through the vender-specific state variables and actions.
The method for setting the media streaming parameters on the UPnP-based network includes the steps of monitoring the states of the MS 220 and the MR 230 (namely, the UPnP devices) by the AV CP 210, collecting traffic quality information and streaming parameter information of the MS 220 and the MR 230, and re-setting the parameters of the MS 220 and the MR 230 on the basis of the collected information, and repeating the above procedure.
The method for setting the media streaming parameters in accordance with the present invention will now be described in more detail with reference to
As shown in
Exemplary methods for confirming the streaming parameters by the AV CP 210 include an event driven method using event joining, and a polling method periodically calling an action. Therefore, the AV CP 210 determines whether to use the event driven method or the polling method (S720).
When the AV CP 210 selects the event driven method, the AV CP 210 joins the event of the source control service 221 of the MS 220, and also joins the event of the sink control service 231 of the MR 230.
On the other hand, when the AV CP 210 uses the polling method, if the AV CP 210 calls the get source parameters action for the source control service 221 of the MS 220, the source control service 221 transmits its whole state variables as return values (S741), and if the AV CP 210 calls the get sink parameters action for the sink control service 231 of the MR 230, the sink control service 231 transmits its all state variables as return values (S742). Accordingly, the AV CP 210 can collect network traffic quality information and various streaming parameter information.
It is determined whether the AV CP 210 (namely, an intelligent CP) directly calculates the optimum parameters on the basis of the collected network traffic quality information and various streaming parameter information, or transmits the collected information to the MS 220 and the MR 230 (namely, each UPnP device) so that the MS 200 and the MR 230 can calculate the streaming parameter information, respectively (S750).
In the case that the AV CP 210 directly intelligently calculates the optimum parameters, the AV CP 210 calculates the optimum streaming parameters (S761), and checks whether the optimum streaming parameters are different from the structures of the MS 220 and the MR 230 (S762). Here, if the optimum streaming parameters are different from the structures of the MS 220 and the MR 230, the AV CP 210 adjusts the streaming parameters of the MS 220 by performing the setup source parameters action for the source control service 221 of the MS 220 (S762), and also adjusts the streaming parameters of the MR 230 by calling the setup sink parameters action for the sink control service 231 of the MR 230 (S763).
On the other hand, when the UPnP devices calculate the streaming parameter information, respectively, the AV CP 210 firstly confirms whether the previous streaming parameters are different from the new streaming parameters (S771). If the previous streaming parameters are different from the new streaming parameters, the AV CP 210 provides the parameters of the sink control service 231 of the MR 230 to the source control service 221 of the MS 220, by calling the report sink parameters action for the source control service 221 of the MS 220 (S772), and also provides the parameters of the source control service 221 of the MS 220 to the sink control service 231 of the MR 230, by calling the report source parameters action for the sink control service 231 of the MR 230 (S773). That is, the AV CP 210 transmits the parameter information of the MS 220 and the MR 230 (each UPnP device) to each other, respectively.
The MS 220 and the MR 230 calculate and set new parameters according to the received information, respectively.
At last, after finishing the above operations, the AV CP 210 newly performs monitoring (S710).
As discussed earlier, in accordance with the present invention, the method for setting the media streaming parameters on the UPnP-based network can cut down expenses, improve media playing quality, and efficiently use resources of each device, by allowing the AV CP to monitor the states of the UPnP devices regardless of the media transfer protocol, transmit the traffic transfer parameters for optimum quality of media to each UPnP device, and automatically set the optimum parameters or make each UPnP device set the optimum parameters upon the user's request.
As the present invention may be embodied in several forms without departing from the spirit or essential characteristics thereof, it should also be understood that the above-described embodiments are not limited by any of the details of the foregoing description, unless otherwise specified, but rather should be construed broadly within its spirit and scope as defined in the appended claims, and therefore all changes and modifications that fall within the metes and bounds of the claims, or equivalence of such metes and bounds are therefore intended to be embraced by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2003-0063785 | Sep 2003 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR04/02297 | 9/9/2004 | WO | 3/13/2006 |