WO2009002071A2 - Method and apparatus for managing and processing information of an object for multi-content-streaming - Google Patents

Method and apparatus for managing and processing information of an object for multi-content-streaming Download PDF

Info

Publication number
WO2009002071A2
WO2009002071A2 PCT/KR2008/003576 KR2008003576W WO2009002071A2 WO 2009002071 A2 WO2009002071 A2 WO 2009002071A2 KR 2008003576 W KR2008003576 W KR 2008003576W WO 2009002071 A2 WO2009002071 A2 WO 2009002071A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
content
action
play
content sources
Prior art date
Application number
PCT/KR2008/003576
Other languages
French (fr)
Other versions
WO2009002071A3 (en
Inventor
Jae Wook Lee
Original Assignee
Lg Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of WO2009002071A2 publication Critical patent/WO2009002071A2/en
Publication of WO2009002071A3 publication Critical patent/WO2009002071A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Definitions

  • the present invention is related to a method and an apparatus for managing information about content stored in a device on a UPnP network and processing information between networked devices according to the information.
  • a UPnP (hereinafter, it is called "UPnP" for short) network proposed for home networking consists of a plurality of UPnP devices, services, and control points (CPs).
  • a service on a UPnP network represents a smallest control unit on the network, which is modeled by state variables.
  • a CP (Control Point) on a UPnP network represents a control application equipped with functions for detecting and controlling other devices and/or services.
  • a CP is operated on a physical device such as a PDA providing the user with a convenient interface.
  • a UPnP AV home network comprises a media server (MS) 120 providing a home network with media data, a media renderer (MR) 130 playing media data through the home network, and an AV control point 110 controlling the media server 120 and the media renderer 130.
  • the media server 120 and the media renderer 130 are controlled devices controlled by the control point 110.
  • the media server 120 (to be precise, CDS (Content Directory Service) 121 within the media server 120) stores media files and information of containers (which correspond to directories) as the corresponding object information.
  • An 'object' is a comprehensive terminology indicating both an item having information about more than one media f ile and a container having information about a directory. Depending on circumstances, the terminology of 'object' can be used to specify either an item or a container.
  • One item corresponds to one or more than one media file. For example, multiple media files of the same content but with different bit rates are managed as a single item.
  • FIG. 2 illustrates a simplified signal flow between devices and/or services during a media play procedure carried out in the network of FIG. 1.
  • the control point (CP) 110 obtains information about a protocol supported by the media renderer (MR) 130 (SOl).
  • the media server (MS) 120 to inform the control point 110 of information about a directory and media files under the corresponding directory, informs the control point 110 of information about a current directory and item information about media files under the directory each time a UPnP action 141 (e.g., a browsing action) is invoked (SlO) in accordance with the user's request.
  • a UPnP action 141 e.g., a browsing action
  • the CP 110 displays the received information about each individual object for the user through an appropriate UI (User Interface) (Sl 1-1) after removing information about an item that does not follow the protocol supported by the media renderer 130. If the user selects an item (or a media file of particular quality belonging to the item) through a UI (Sl 1-2), the CP 110 requests an action for preparing connection (PrepareForConnection()) on the media server 120 and the media renderer 130 respectively for presentation of the selected media file (hereinafter, it is called 'component' or 'media component').
  • UI User Interface
  • the CP 110 then receives an instance ID about participating elements (CM: ConnectionManager, AVT: AVTransport service, and RCS: RenderingControl service) required for presentation by streaming between both devices 120, 130 (S 12-1, S 12-2).
  • the instance ID is used for specifying and controlling a current streaming service.
  • CM ConnectionManager
  • AVT AVTransport service
  • RCS RenderingControl service
  • the instance ID is used for specifying and controlling a current streaming service.
  • a SetVolume() action uses an instance ID of a previously received RCS (S15-1).
  • the CP 110 links access location information about a previously selected component (e.g., URL (Universal Resource Locator) information) with an AVTransport service 133 through an action (S 13) (in the example of FIG.
  • URL Universal Resource Locator
  • AVTransport service is installed in the media renderer 130 but it can also be installed in the media server 120).
  • the CP 110 requests a play action on AVTransport service 133, the play action having AVTransport service instance ID as an input argument (S 14), whereby data of a component selected through an appropriate information exchange procedure between the media renderer 130 and the media server 120 are streamed and presented by RCS 131 (S 15).
  • the above method for playing more than one component in a sequential order is not suitable for the case when more than one media component is played in synchronization with each other (hereinafter, media components associated with each other are called 'multiple component').
  • media components associated with each other are called 'multiple component'.
  • One example is when a media component is a movie and the other component is a subtitle of the movie. This is because in case of sequential playback, synchronized presentation of a media renderer can be made difficult or impossible in accordance with time delay.
  • a media source corresponding to a multiple component one media source corresponds to one 'content source', e.g., a movie title
  • playback of a content source may cause playback of another one.
  • One objective of the present invention is to provide a method and an apparatus for organizing information about items and processing signals between devices and/or services according to the organized information to present multiple content sources.
  • Another objective of the present invention is to provide a method and an apparatus for managing individual connections of components belonging to more than one content source by groups.
  • One method for generating information about a content source comprises creating information about each of multiple content sources and separating the created information according to content source and incorporating the separated information into a first structure element; and composing item information including the first structure element.
  • the first structure element comprises multiple second structure elements and a second structure element being capable of including multiple particular structure elements.
  • a resource whose protocol information and access location information is incorporated into one of the second structure elements is different in attribute from that of another resource whose protocol information and access location information is incorporated into another of the second structure elements.
  • One method for conducting presentation a content through data transfer over a network comprises: carrying out actions for preparing play of multiple content sources belonging to a content set if selected item information is about the content set; and after the actions for preparing play are completed for all of the multiple content sources, requesting play of the multiple content sources.
  • the item information further comprises class information representing multi-content streaming.
  • the item information further comprises title information and the title information comprises text information specifying each of the multiple content sources.
  • resources selected by each of the second structure elements within the single first structure element are those components that can be played in synchronization with each other.
  • One component corresponds to a single file storing data.
  • the particular structure element is an information element specified by a tag ⁇ res> in XML format.
  • the attribute is video, audio, image, text, or a selective combination thereof.
  • the action for preparing play comprises: for each of resources selected from the multiple content sources, invoking an action for preparing connection to obtain connection information from individual services to participate in play; and invoking an action for setting information required for accessing resources with a service for managing playback. Also, the step of requesting play comprises invoking a play action for each of the resources.
  • the action for preparing play comprises invoking an action for obtaining group connection information from individual services to participate in play.
  • the action for preparing play further comprises, for each of the resources selected from multiple content sources, invoking an action for preparing connection to obtain connection information from individual service to participate in play, invoking an action for enlisting the obtained connection information into the obtained group connection information, and invoking an action for setting information required for accessing resources with a service for managing playback.
  • the step of requesting play comprises invoking a single play action utilizing the group connection information.
  • the action for enlisting the connection information into the group connection information includes in the input argument the group connection information and connection information to be enlisted.
  • the method for presentation further comprises a step of invoking an action for removing connection information enlisted into the group connection information.
  • the action for removing includes in the input argument the group connection information and connection information to be removed.
  • the step of carrying out an action for preparing play and the step of requesting play if resources selected from among the multiple content sources are specified to be played in multiple devices, carry out operations of preparing and requesting play, which are applied to resources specified to be played at a particular device from among the multiple devices, with respect to the particular device.
  • the multiple content sources used by the method for presentation correspond to all of content sources included in the content set.
  • the multiple content sources used by the method for presentation correspond to part of content sources selected from content sources of the content set.
  • the part of content sources necessarily includes content sources, the information of which is recorded at the forefront of the item information.
  • the step of carrying out an action for preparing play determines that selected item information is about a content set when a particular value is assigned to class of selected item information.
  • the step of carrying out an action for preparing play determines that selected item information is about a content set in case that multiple first structure elements exist, the first structure element carrying information about content sources within selected item information.
  • One apparatus for providing information about content through a network comprises a storage organized to store multiple content sources and information about the content sources and a service organized to provide information about the content sources in response to an external request, the information about the content sources including at least one of item information about a content set including two or more content sources, the item information including multiple first structure elements storing information about content sources separately according to a content source.
  • the first structure element includes multiple second structure elements being capable of including multiple particular structure elements specifying protocol information and access location information about resources, wherein a resource whose protocol information and access location information is incorporated into one of the second structure elements is different in attribute from that of another resource whose protocol information and access location information is incorporated into another of the second structure elements.
  • At least one embodiment of the present invention as described above and described below in detail with reference to drawings improves the convenience of the user as synchronized playback of a plurality of content sources can be requested by selecting a single item and increases degree of satisfaction of the user while the user's listening or watching content by making a playback operation carried out simultaneously without time delay between content sources and components within a source.
  • FIG. 1 illustrates the structure of a conventional UPnP AV network
  • FIG. 2 illustrates a signal flow between devices and/or services during playback of media carried out in a network of FIG. 1 ;
  • FIG. 3 illustrates structuring item information for multi-content streaming and networked devices carrying out signal processing between devices and/or services
  • FIGS. 4 and 5 illustrate a signal flow between devices and/or services for multi- content streaming according to one embodiment of the present invention
  • FIG. 6 illustrates the structure of item information carrying information about auxiliary content presented in association with a component within an arbitrary content source according to one embodiment of the present invention
  • FIG. 7 illustrates the structure of item information created for a content set according to one embodiment of the present invention
  • FIGS. 8 and 9 respectively illustrate examples of a screen according to one embodiment of the present invention, when a selected item is about a content set, the screen providing an input interface for the user to select a content source within the set
  • FIGS. 10 and 11 respectively illustrate examples of a screen according to one embodiment of the present invention, when a single content source is a multiple component that requires synchronized playback, the screen providing an input interface for the user to select resources;
  • FIGS. 12 and 13 respectively illustrate a signal flow between devices and/or services for playing resources belonging to multiple content sources by assigning the resources into multiple media Tenderers according to an embodiment of the present invention;
  • FIGS. 14 and 15 respectively illustrate a signal flow between devices and/or services for streaming of multiple contents based on group connection information according to another embodiment of the present invention;
  • FIG. 16 illustrates the structure of actions defined in association with group connection information according to one embodiment of the present invention; [41] FIG.
  • FIG. 17 illustrates management information for grouping individual connections according to one embodiment of the present invention, the management information constructed by a connection manager service installed inside a device;
  • FIG. 18 illustrates a conceptual scheme where instance IDs are structured for group and individual connection according to management information constructed in FIG.
  • FIG. 19 illustrates a signal flow between devices and/or services for playing resources belonging to multiple content sources by assigning the resources to multiple media Tenderers and utilizing group connection information according to one embodiment of the present invention
  • FIG. 20 illustrates a procedure of inquiring about or controlling an arbitrary individual connection within a group connection according to one embodiment of the present invention.
  • FIG. 3 illustrates networked devices carrying out structuring of item information that enables multi-presentation of multiple content sources and signal processing between devices and/or services according to the present invention.
  • one content source indicates a multiple component; a multiple component comprises multiple components that are supposed to be presented in association with each other.
  • Streaming for presenting or playing multiple content sources together through data transfer on a network is called 'multi-content streaming'.
  • streaming of multiple components belonging to a single content source is called 'multiple streaming'.
  • the network of FIG. 3 is a UPnP AV network comprising a control point 210, a media server 220, and multiple media Tenderers including a media renderer A 230.
  • UPnP AV network comprising a control point 210, a media server 220, and multiple media Tenderers including a media renderer A 230.
  • CDS 221 (which can be a processor that runs software) within the media server 220 carries out structuring of item information for multi-content streaming according to the present invention.
  • the control point 210 plays a primary role in signal processing between devices and/or services for multi- content streaming according to the present invention by following a procedure illustrated in FIGS. 4 and 5. In the following, the procedure is described in detail.
  • the CDS 221 within the media server 220 creates item information about content sources and components, namely meta data in a particular language (e.g., in XML format) by searching media files stored in a mass storage such as a hard disk or a separate removable recording medium such as an optical disk. Media files associated with each other for synchronized presentation are treated as a single content source and item information about the single content source is created.
  • FIG. 6 illustrates an exemplary structure of item information created by the aforementioned method.
  • auxiliary component e.g., subtitle, voice, etc
  • additional expression information 402 for specifying relationship in an arbitrary combination of a main component and an auxiliary component providing user experience.
  • the CDS 221 figures out interrelationship between media files considered as a single content source and whether a media file is a main component or an auxiliary component by utilizing, for example the name of each media file and/or extension of the file. If necessary, information about the property of each file— namely, whether the file is text or image and/or an encoding method— can also be obtained from the extension of the corresponding file. Information of each file can also be obtained by interpreting header information of the file. Alternatively, other application programs can write the aforementioned information in a database with respect to media files stored in a mass storage (or media files stored in a removable recording medium), the database being located in the same recording medium.
  • a structural element ( ⁇ userExperienceExpression>) for the additional expression information 402 can comprise three parts.
  • a first part is a resource element ( ⁇ primary resource>) about a main component, corresponding to a structural element for assigning an identifier (ID) to a main component or main components included in the resource element within the item property information 401.
  • a second part is a resource element about an auxiliary component ( ⁇ additional resource>), corresponding to a structural element for assigning an ID to auxiliary components presented in association with the main component and recording protocol and location information for accessing the components.
  • a third part is a set of relational elements specifying component set information from which a combination for synchronized presentation of a main component and an auxiliary component can be obtained.
  • Each relational tag ( ⁇ relationship: ⁇ represents a combination that enables presentation.
  • in addition to the aforementioned operations of examining interrelationship between stored media files, treating particular media files as a single content source, and writing item information about the content source, can additionally write item information about a content set (hereinafter, it is also called 'stream set') where different content sources are interrelated with each other.
  • a content set hereinafter, it is also called 'stream set'
  • Information about whether to associate different content sources with each other may be received from a user or media information provided together with the content sources.
  • item information about a content set where different content sources are associated with each other is written as shown in FIG. 7 and may be provided for the CDS 221 through a removable recording medium on which the content sources are stored.
  • FIG. 7 An embodiment of FIG. 7 is described specifically.
  • the CDS 221, as shown in FIG. 7 is described specifically.
  • ⁇ streamSet> tag 510, 520 Those components belonging to a content source separated by ⁇ streamSet> tag is further classified by another structure element, for example ⁇ resSet>tag.
  • Association of multiple components with a single ⁇ resSet> occurs when a number of components with the same attribute exist.
  • Components of the same attribute or type such as video, audio, image, text, or a selective combination thereof are specified by a single ⁇ resSet> tag 503 (one example is video components of FIG. 7 comprising Terminator.
  • protocol information of the component that is, a resource
  • location information for accessing the component are defined by ⁇ res> tag through a conventional method.
  • association of a single content source with multiple ⁇ resSet> tag occurs when a main component and an auxiliary component are included in the content. For example, as shown in FIG.
  • Terminator. sub file carries data of image attribute for subtitle information
  • Terminator.idx file carries synchronization information in a text form for synchronizing subtitle information of image attribute with video data.
  • a title appropriate for multi-content streaming controlled by the item information is determined and ⁇ title> tag 501 of the corresponding item is created.
  • titles within item information created for respective content sources included in a content set can be combined with each other. For example, if a title within an item created independently with respect to a first content source for multi- content streaming is Terminator and a title within an item created independently with respect to a second content source is Star Wars, a compound title of a content set consisting of the two titles is given by Terminator and Star Wars by linking the two titles with 'and' or '&' as shown in FIG. 7.
  • the CDS 221 assigns a class name 502, for example "object. item. streamltem” different from a class name assigned to an item created for image or video content (e.g., "object.item.videoitem”) to an item of a content set created by the aforementioned method. Specifying a class as described above helps immediate determination of whether an item is about single content or about a content set.
  • each individual structure element e.g., tag
  • FIG. 7 e.g., ⁇ streamSet>, ⁇ resSet>
  • the CP 210 confirms from the class name or ⁇ streamSet> tag or the number that it is related to a content set for multi-content streaming and allows the user to select a content source belonging to the corresponding ⁇ StreamSet>.
  • Item information composed as shown in FIG. 6 and item information about a content set prepared as shown in FIG. 7 are transferred from the CDS 221 to the CP 210 in response to a browsing action or a search action and are interpreted by the CP 210. According to the interpretation, the CP 210 provides the user with relevant information for selecting content and/or a component to play. According to the user's input, an operation of multi-content streaming (when a content source is a multiple component, multiple streaming is supported) is carried out. Detailed descriptions of the operation are given below.
  • FIGS. 4 and 5 illustrate a signal flow between devices and/or services for multi- content streaming according to one embodiment of the present invention.
  • Item information created by CDS 221 within the media server 220 through the aforementioned method is transferred from the CDS 221 to the CP 210 by a browsing action or a search action of the CP 210 (S31).
  • the CP 210 requests and obtains supported protocol information from all of media Tenderers including a media renderer A 230 (S30).
  • the CP 210 from among information of objects and content sets received from the step S31, provides the user through an appropriate user interface (UI) only with those objects (items) having protocol information supported by the media renderer A 230 that the user has specified for presentation of content (S32-1). At this time, the CP 210 analyzes information received by an action and carries out subsequent operations (S32-2) that allow the user to select desired content or a desired content set and component within the content.
  • UI user interface
  • information received by an action is analyzed and if item information about a content set is included, as shown in FIG. 9, a window of single content 611 and a window of multiple content 612 are displayed together separated from each other.
  • the CP 210 analyzes the selected item information and checks each individual content source (which corresponds to ⁇ streamSet> tag in the example of FIG. 7) comprising a content set and provides a window that allows selection of the content sources. For example, if a selected item is about a content set consisting of content sources X, Y, and Z, the CP 210 outputs information that helps the user recognize content sources X, Y, and Z— for example, a list, entries of which are file names (in the example of FIG. 7, Terminator and Star Wars) of resources whose attributes are video.
  • the CP 210 outputs a list, each entry of which is a phrase (or a clause) obtained by dividing the text of a title based on a conjunction in the title with respect to a selected content set, for example 'and' or '&'.
  • the CP 210 in selecting a content source within a content set, can assume that selection of a particular content source, e.g., a content source specified by a first ⁇ streamSet> tag within item information is mandatory. For example, if information about content sources X, Y, Z is recorded in a content set in a sequential order, a window is provided such that the user cannot select a content source X whereas the user can select only Y and Z. That is to say, multi-content streaming can be carried out by X+Y (where the user selects Y), X+Z (where the user selects Z), or X+Y+Z (where the user selects both X and Y). In another embodiment, in the above example, if Y and Z have been given for multi- content streaming but the user did not select either of them, X alone is streamed.
  • each individual content source within a content set may not be optional.
  • a content source within each ⁇ streamSet> tag recorded in item information created for a content set is regarded as selected and the CP 210 may carry out only those actions for selecting components within ⁇ resSet> tag contained in the ⁇ streamSet> tag.
  • item information about a content set of X and Y or X and Z is created in addition to item information about a content set of X, Y and Z.
  • the CP 210 If one or more than one content source is selected during a selection procedure of each individual content source within a content set, the CP 210, with respect to each selected content source, carries out the following operations (S32-3) that select components belonging to the source.
  • the CP 210 first searches for ⁇ resSet> tag where resources (components) of video attribute are grouped together and displays the resources for the user as shown in FIG. 10 and receives selection of a component.
  • a resource of video attribute becomes a main component.
  • components included in ⁇ resSet> tag of video attribute are all the same content, respective components can have different bit rates or employ different encoding methods. If a single main component is selected, the CP 210 lists 701 in a separate window resources in ⁇ resSet> tag as well as resources in ⁇ resSet> tag where a main component belongs, thereby allowing the user to select a component. A component selected at this time is called an auxiliary component to distinguish from a previously selected main component.
  • a window for selection of a main component and a window for selection of an auxiliary component can be displayed simultaneously on a screen instead of being displayed sequentially.
  • a selection operation is activated in a selection window for an auxiliary component, a component already selected in a different window is displayed with an outstanding mark 702 differentiating the component from other components that have not been selected— for example, by inverting the display of the selected component, whereby the user can easily recognize the selected component.
  • An auxiliary component can have various attributes. For example, audio, text, image, or a selected combination thereof can be the attributes of an auxiliary component. Therefore, as shown in FIG. 7, multiple ⁇ resSet> tags can exist for an auxiliary component group. As shown in FIG. 11, if the number of attributes of an auxiliary component is more than two, a selection set 711 according to each attribute is displayed and one auxiliary component is selected from the selection set. As shown in FIG. 11, when multiple selection sets are displayed for the user, information about the attribute of each set (e.g., audio or text) may be displayed together at the top of each selection set 712.
  • information about the attribute of each set e.g., audio or text
  • Information required for this display may be obtained from information which is the value of a property parameter of ⁇ resSet> tag, the property parameter being defined by the CDS 221.
  • the CP 210 may select a component to be streamed within each of selected content sources by using a default method. For example, the CP 210, if specific selection is not carried out for a component within each selected component source, a resource specified by a head ⁇ res> tag within each ⁇ resSet> tag is selected as a streaming component.
  • the CP 210 obtains from associated structure elements protocol information and URL information about a selected component belonging to each content source. That is, in the item information illustrated in FIG. 7, the CP 210 obtains the protocol and URL information from information of ⁇ res> tag of each selected component.
  • protocol information of a component obtained from the above procedure is not compliant with the protocol supported by the media renderer A 230 (which is destined by the user for a device for presentation), the corresponding component is ignored and operations for presentation at the media renderer A 230 described below are not carried out for the component. Instead, the user may receive an alarm message saying "The selected component cannot be played at the destined media renderer!.
  • FIG. 4 illustrates a case when three content sources (X, Y, Z) have been selected within a content set, where three identical preparation operations (S33-1, S33-2, S33-3) are carried out between devices and/or services.
  • Specific illustration of actions carried out at each preparation operation is given at FIG. 5. As shown in FIG. 5, an action is carried out for each component belonging to a single content source and since input arguments of each action are given for each component, the input arguments have different information according to the corresponding component.
  • the CP 210 invokes actions for preparing connection (PrepareForConnection()) to the media server 220 and the media renderer A 230 respectively for each component and receives connection information, for example instance ID assigned by participating elements (services) required for presentation through streaming (S33-n_l, S33-n_2).
  • connection information for example instance ID assigned by participating elements (services) required for presentation through streaming (S33-n_l, S33-n_2).
  • the CP 210 receives an instance ID for connecting each component through the action for preparing connection (the instance ID is a set of IDs assigned to each service. It is called, however, an instance ID for the sake of convenience.
  • the instance ID represents a set of instance IDs about individual services assigned to a single connection
  • the CP 210 sets access location information about previously selected components, for example URL information respectively to AVTransport service 233
  • an action for preparing connection and an action for setting access location information are carried out sequentially according to the order of each content source but it does not necessarily follow the aforementioned order of performance.
  • an action for setting access location information can be invoked on components belonging to content sources X, Y, Z.
  • An action for setting access location information upon an arbitrary component may be invoked any time once an action for preparing connection has been previously invoked on the corresponding component.
  • an action for setting access location information has been invoked for all of components selected among content sources within a content set and a success response has been received according to the invocation
  • AVTransport service 233 of the media renderer A 230 that received the playback action for each component makes a component about a connection specified by an instance ID of input arguments of each playback action streamed or downloaded through a relevant information exchange procedure in a media server 220. Accordingly, components of selected content sources are streamed or downloaded from the media server 220 and under control of RenderingControl service 231, are decoded and output by a rendering module 231a consisting of corresponding decoders (or a decoder of integrated functions) (S35). At this time, components 301 that require synchronized playback within a single content source are presented in synchronization with each other.
  • multiple Tenderers can carry out multi-content streaming by dividing up content sources or components.
  • FIG. 12 illustrates the case where the user requests playback specifying a different media renderer according to a content source; for brevity of drawing, a single signal processing line has been used for all of components belonging to a single content source (in fact, to differentiate from invocation of an action, a short slant crossing line and a character m have been added to a signal line). In other words, a signal processing line to which a short slant crossing line and m have been added necessarily invokes multiple actions upon the corresponding components. This applies equally to the description below.
  • required actions may be invoked irrespective of the order of the media Tenderers and time.
  • the playback actions are invoked after a success response with respect to the last of actions required for each media renderer has been received 801. It is desirable that invocation 802 of playback actions upon media Tenderers should be carried out simultaneously.
  • multi-content streaming can be carried out by multiple Tenderers after dividing components belonging to a content set according to respective attributes.
  • FIG. 13 illustrates a case where the user requests playback of a component by specifying a different media renderer according to the component's attribute; for brevity of drawings, all of component with the same attribute have been represented by a single signal processing line (where a short slant crossing line and a character m are added). That is to say, for a single signal processing line with a short slant crossing line and a character m, multiple actions necessarily accompany components of the same attribute.
  • connections for respective components are grouped and by using an identifier for the grouped connections (hereinafter, it is called 'group connection'), multi-content streaming is carried out for a content set.
  • FIGS. 14 and 15 illustrate a procedure for playing a content set according to the present embodiment.
  • the CP 210 first invokes an action for preparing group connection (PrepareForGroupConnectionO) on CM service 222, 232 of each device (a media server 220 and a media renderer A 230) (S93-1, S93-2). Since the action for preparing group connection has the same structure 1001 illustrated in FIG. 16, group connection information, for example a virtual instance ID is received in response to the invocation from the media server 220 and the media renderer A 230 being carried by output arguments.
  • the virtual instance ID represents an instance ID not corresponding to an actual connection; the virtual instance ID is treated as a virtual ID for identifying a group connection.
  • the signal processing example of FIG. 14 describes a case where three content sources X, Y, Z within a content set are selected and three identical preparation operations (S94-1, S94-2, S94-3) are carried out between devices and/or services.
  • Specific description about actions carried out during each preparation operation is given in FIG. 15. As shown in FIG. 15, an action is carried out for each component belonging to a single content source and since input arguments of each action are prepared for the corresponding component, the input arguments have mutually different information that is adequate to and associated with the component.
  • the CP 210 invokes connection preparation actions (PrepareForConnection()) for individual connection (which is intended to represent a connection created for a single component in contrast with 'group connection'), namely for each component to the media server 220 and the media renderer A 230 respectively and receives an instance ID assigned by participating services to be involved in presentation through streaming between devices (S94-n_l, S94-n_2).
  • connection preparation actions PrepareForConnection()
  • RCS RCS about individual connection of each component through an action for preparing connection
  • the CP 210 to group received instance IDs about individual connection, invokes an action for adding to a group (AddtoGroupO) having the structure illustrated in FIG. 16 as many times as the number of individual connections (S94-n_3, S94-n_4).
  • the action for adding to a group is for linking an instance ID for individual connection with an instance ID (a virtual instance ID assigned for identifying the group connection) for group connection received (S93-1, S93-2) through the previous action for preparing group connection.
  • input argument of each action for adding to a group includes an instance ID for group connection according to the structure il- lustrated in FIG. 16 and an instance ID for individual connection to be enlisted in the group connection.
  • connection preparation action for individual connection is invoked for each component (S94-n_l, S94-n_2) after a group connection preparation action for group connection has been invoked (S93-1, S93-2) in the embodiment of FIG. 14, invocation of the action can be carried out in a reverse order. In other words, it is sufficient that by carrying out a group connection preparation action and a connection preparation action for individual connection irrespective of the order, an instance ID for individual connection to be added to a group and an instance ID for a group connection are prepared before carrying out the action for adding to group.
  • FIG. 17 illustrates an example of management information for grouping individual connections (since the media renderer A 230 of FIG. 3 is equipped with AVTransport service 233 and an instance ID about AVTransport service has been provided by a connection preparation action in response to the action, the instance ID of AVTransport service is included in an instance ID for a connection), the management information being constructed by ConnectionManager service 232 within the media renderer A 230.
  • FIG. 18 illustrates a conceptual scheme where instance IDs are structured for group and individual connection according to the management information constructed in FIG. 17.
  • mapping information about instance IDs illustrated in FIG. 17 if there exists additional information received through input arguments of an action for preparing group connection and an action for adding to group (for example type, information about whether an individual connection is a main or an auxiliary component, and the like), the received information is also stored as management information and thus managed by the CM service 222 or 232.
  • each ConnectionManager service 222, 232 in response to the request of the CP 210 for playback management or rendering control utilizing an instance ID of a connection group, identifies an instance ID of individual connection corresponding to a service requested for an action and utilizes the instance ID, thereby specifying the corresponding resources available.
  • the CP 210 can immediately carry out an action (AddtoGroupO) for joining the corresponding connection to a group connection established by the previous group connection preparation action.
  • an action for adding to group (AddtoGroupO) applied to an individual connection can be carried out irrespective of reception of a response to a connection preparation action (PrepareForConnection()) of other connections once an instance ID of the individual connection is received.
  • the CP 210 invokes a playback action on AVTransport service 233.
  • the action uses a previously received instance ID (Instance_GrA VTID) of AVTransport service for group connection (S95).
  • the instance ID of AVTransport service for group connection transferred by the action is mapped onto instance IDs of AVTransport service for individual connection by ConnectionManager service 232 and the mapped instance IDs are transferred to AVTransport service 233, enabling playback operations of individual connections to start at the same time.
  • components of a content source selected within a content set are all streamed or downloaded from the media server 220 and are decoded and outputted by the rendering module 23 Ia under control of RenderingControl service 231 (S96).
  • RenderingControl service 231 S96
  • the user can request presentation of content sources within a content set to be played through separate multiple media Tenderers or the user can request presentation of components belonging to content sources by using a different media renderer according to attributes of the components.
  • the CP 210 dose not establish a group connection for all the components in a content set to be presented but establishes a group connection by components that are directed to the same device.
  • FIG. 19 illustrates signal processing for playback using group connection information based on the assumption that components are designated for presentation being distributed across media Tenderers A, B, and C.
  • an action for preparing group connection is invoked for each group of components directed to each media renderer (S 1201) and operations for preparing multi-content streaming are carried out by using an instance ID of a group connection received from CM service of each media renderer (S 1202).
  • the CP 210 invokes playback actions using an instance ID of a group connection to respective AV- Transport services of the media Tenderers A, B, C.
  • a service that receives an action, when the instance ID for an individual connection corresponding to the action is specified by a single instance ID, maps the instance ID for an individual connection directly onto the instance ID of the corresponding group connection and carries out operations for a individual connection of the instance ID, for example control operations. For instance, when individual connections corresponding respectively to the components of video, audio, and text attribute are set up as a group connection and a VolumeO action that adjusts loudness of sound has been received through an instance ID of the group connection, the instance ID of the group ID can be directly mapped onto the instance ID of a connection set up for a component of audio attribute from among instance IDs for the three individual connections.
  • mapping is inappropriate (for example, a group connection comprises multiple components of the same attribute or a group connection is set up for two or more content sources within a content set as illustrated in the previous example) and a particular action is invoked, an instance ID for an individual connection within a group connection is retrieved and used, which is described in the following.
  • FIG. 20 is one example of the above operation, illustrating a procedure of inquiring of information related to play of a component corresponding to a particular individual connection belonging to a group connection.
  • FIG. 20 assumes a situation where an action is invoked on the media renderer A 230 but the action can necessarily be invoked on a different device, for example the media server 220.
  • CP 290 of FIG. 20 invokes an action for inquiring about devices specified by the user— group connections currently set up for the media renderer A 230 in the example of FIG. 20— on ConnectionManager (CM) service 232 within the media renderer A 230, the action (GetGroupConnectionIDs()) having the structure 103 illustrated in FIG. 16. Accordingly, instance IDs (instance_GrCMIDs) of CM service 232 about currently established group connections are received (S 1301).
  • instance IDs (instance_GrCMIDs) of CM service 232 about currently established group connections are received (S 1301).
  • the CP 290 selects one group connection from the received information. At this time, necessary conditions for selecting a group connection are determined by information entered by the user.
  • an action for inquiring of group connection information (GetGroupConnectionInfo()) is invoked on the CM 232, the action having the structure 1004 illustrated in FIG. 16 and having an instance ID of CM about the group connection (instance_GrCMID) as an input argument.
  • the CM 232 in response to the invocation, delivers CM instance IDs of all the individual connections belonging to the group connection specified by the input argument of the action from among management information managed for a current group connection to the CP 290 (S 1302).
  • the additional information for example, type of a group connection (e.g., multi-content streaming, multiple streaming, subtitle synchronization, audio synchronization, etc.)— and information about whether a component of each individual connection is primary or auxiliary are delivered together to the CP 290.
  • type of a group connection e.g., multi-content streaming, multiple streaming, subtitle synchronization, audio synchronization, etc.
  • the CP 290 selects an individual connection from received information. Necessary conditions for selecting an individual connection are determined based on information entered by the user and received information. If received information carries only instance IDs of CM service about individual connections, making it difficult for the user to select, the CP 290 invokes an action for inquiring of connection information (GetCurrentConnectionlnfoO), which is described below, on each of instance IDs of the received CM service without the user's request and receives information and presents the received information together with the instance IDs, helping the user select an individual connection.
  • GetCurrentConnectionlnfoO which is described below
  • an action for inquiring of current connection information (GetCurrentConnectionlnfoO) is invoked on the CM 232, the action having CM instance ID (instance_CMID) about the individual connection as an input argument.
  • stance_CMID CM instance ID
  • information about the individual connection is received (S 1303).
  • the CP 290 by using received information, determines target services of an action relevant to the user's request and types of actions and invokes a determined action on the corresponding determined service.
  • media information is requested from AVTransport service 233. Since the above request is related to an action for AVTransport service 233, from the previously received information, instance_AVTID, which is an instance ID of AVTransport service, is used as an input argument of the action. According to the action, the AVTransport service 233 delivers a variety of state information of the corresponding connection as shown in FIG. 20 and managed by the AVTransport service 233 to the CP 290 (S1304).
  • An established group connection is removed by the request of the CP (210 or 290) when the user requests removal or it is determined that multi-content streaming is not further required.
  • the CP (210 or 290) for each individual connection to be removed, invokes an action for removing from a group (RemoveFro mGroupO) on CM service 222, 232, the action removing an individual connection from a group connection and having the structure 1005 illustrated in FIG. 16.
  • the above action includes an instance ID for a group connection and an instance ID for an individual connection to be removed from a connection group as input arguments.
  • CM (222 or 232) that received the action for removing from a group, from ID mapping information organized as in FIG. 17, erases an instance ID identical to the instance ID for an individual connection included in the input argument of a received action linked with an instance ID for a group connection included in the input argument of the received action.
  • the CM service 222, 232 examines mapping information of an instance ID for the corresponding group connection and if no more instance ID for an individual connection related to the group connection remains, removes assignment of an instance ID for a group connection of the mapping information and reserves the removed instance ID to be reused for a different group connection.

Abstract

The present invention provides a method and an apparatus for preparing and processing in? formation about content sources. The present method of preparing information about a content source comprises: creating information about each of a plurality of content sources, separating the created information by content source and incorporating each of the separated information into each of first structure elements; and composing item information including the first structure elements, wherein the first structure element comprises a plurality of second structure elements being capable of including a plurality of particular structure elements specifying protocol in? formation and access location information about resources, and wherein attribute of a resource whose protocol information and access location information is incorporated into one of the second structure elements being different from that of a resource whose protocol information and access location information is incorporated into another of the second structure elements.

Description

Description
METHOD AND APPARATUS FOR MANAGING AND PROCESSING INFORMATION OF AN OBJECT FOR MULTI- CONTENT-STREAMING
Technical Field
[1] The present invention is related to a method and an apparatus for managing information about content stored in a device on a UPnP network and processing information between networked devices according to the information. Background Art
[2] A UPnP (hereinafter, it is called "UPnP" for short) network proposed for home networking consists of a plurality of UPnP devices, services, and control points (CPs). A service on a UPnP network represents a smallest control unit on the network, which is modeled by state variables.
[3] A CP (Control Point) on a UPnP network represents a control application equipped with functions for detecting and controlling other devices and/or services. A CP is operated on a physical device such as a PDA providing the user with a convenient interface.
[4] As shown in FIG. 1, a UPnP AV home network comprises a media server (MS) 120 providing a home network with media data, a media renderer (MR) 130 playing media data through the home network, and an AV control point 110 controlling the media server 120 and the media renderer 130. The media server 120 and the media renderer 130 are controlled devices controlled by the control point 110.
[5] The media server 120 (to be precise, CDS (Content Directory Service) 121 within the media server 120) stores media files and information of containers (which correspond to directories) as the corresponding object information. An 'object' is a comprehensive terminology indicating both an item having information about more than one media f ile and a container having information about a directory. Depending on circumstances, the terminology of 'object' can be used to specify either an item or a container. One item corresponds to one or more than one media file. For example, multiple media files of the same content but with different bit rates are managed as a single item.
[6] FIG. 2 illustrates a simplified signal flow between devices and/or services during a media play procedure carried out in the network of FIG. 1.
[7] First, the control point (CP) 110 obtains information about a protocol supported by the media renderer (MR) 130 (SOl). The media server (MS) 120, to inform the control point 110 of information about a directory and media files under the corresponding directory, informs the control point 110 of information about a current directory and item information about media files under the directory each time a UPnP action 141 (e.g., a browsing action) is invoked (SlO) in accordance with the user's request.
[8] The CP 110 displays the received information about each individual object for the user through an appropriate UI (User Interface) (Sl 1-1) after removing information about an item that does not follow the protocol supported by the media renderer 130. If the user selects an item (or a media file of particular quality belonging to the item) through a UI (Sl 1-2), the CP 110 requests an action for preparing connection (PrepareForConnection()) on the media server 120 and the media renderer 130 respectively for presentation of the selected media file (hereinafter, it is called 'component' or 'media component'). The CP 110 then receives an instance ID about participating elements (CM: ConnectionManager, AVT: AVTransport service, and RCS: RenderingControl service) required for presentation by streaming between both devices 120, 130 (S 12-1, S 12-2). The instance ID is used for specifying and controlling a current streaming service. (For example, if sound volume is to be adjusted during rendering of a presentation stream, a SetVolume() action uses an instance ID of a previously received RCS (S15-1).) Next, the CP 110 links access location information about a previously selected component (e.g., URL (Universal Resource Locator) information) with an AVTransport service 133 through an action (S 13) (in the example of FIG. 1, AVTransport service is installed in the media renderer 130 but it can also be installed in the media server 120). The CP 110 requests a play action on AVTransport service 133, the play action having AVTransport service instance ID as an input argument (S 14), whereby data of a component selected through an appropriate information exchange procedure between the media renderer 130 and the media server 120 are streamed and presented by RCS 131 (S 15).
[9] If another media file is to be presented during the presentation (S 15), the procedure described above steps (Sl 1-2, S12-1, S12-2, S13, and S14) should be carried out again after the presentation has begun. Depending on circumstances, the steps SlO and Sl 1-1 can also be carried out.
[10] The above method for playing more than one component in a sequential order is not suitable for the case when more than one media component is played in synchronization with each other (hereinafter, media components associated with each other are called 'multiple component'). One example is when a media component is a movie and the other component is a subtitle of the movie. This is because in case of sequential playback, synchronized presentation of a media renderer can be made difficult or impossible in accordance with time delay. Even for the case of a media source corresponding to a multiple component (one media source corresponds to one 'content source', e.g., a movie title), playback of a content source may cause playback of another one. In this case, too, playback of respective content sources must be done without time delay among the content sources to satisfy the user during the playback. The aforementioned situation can happen when the user tries to watch multiple content sources in the form of PIP (Picture in Picture). Disclosure of Invention
Technical Problem
[11] One objective of the present invention is to provide a method and an apparatus for organizing information about items and processing signals between devices and/or services according to the organized information to present multiple content sources.
[12] Another objective of the present invention is to provide a method and an apparatus for managing individual connections of components belonging to more than one content source by groups. Technical Solution
[13] One method for generating information about a content source comprises creating information about each of multiple content sources and separating the created information according to content source and incorporating the separated information into a first structure element; and composing item information including the first structure element. The first structure element comprises multiple second structure elements and a second structure element being capable of including multiple particular structure elements. A resource whose protocol information and access location information is incorporated into one of the second structure elements is different in attribute from that of another resource whose protocol information and access location information is incorporated into another of the second structure elements.
[14] One method for conducting presentation a content through data transfer over a network comprises: carrying out actions for preparing play of multiple content sources belonging to a content set if selected item information is about the content set; and after the actions for preparing play are completed for all of the multiple content sources, requesting play of the multiple content sources.
[15] In one embodiment according to the present invention, the item information further comprises class information representing multi-content streaming.
[16] In one embodiment according to the present invention, the item information further comprises title information and the title information comprises text information specifying each of the multiple content sources.
[17] In one embodiment according to the present invention, resources selected by each of the second structure elements within the single first structure element are those components that can be played in synchronization with each other. One component corresponds to a single file storing data.
[18] In one embodiment according to the present invention, the particular structure element is an information element specified by a tag <res> in XML format.
[19] In one embodiment according to the present invention, the attribute is video, audio, image, text, or a selective combination thereof.
[20] In one embodiment according to the present invention, the action for preparing play comprises: for each of resources selected from the multiple content sources, invoking an action for preparing connection to obtain connection information from individual services to participate in play; and invoking an action for setting information required for accessing resources with a service for managing playback. Also, the step of requesting play comprises invoking a play action for each of the resources.
[21] In one embodiment according to the present invention, the action for preparing play comprises invoking an action for obtaining group connection information from individual services to participate in play. The action for preparing play further comprises, for each of the resources selected from multiple content sources, invoking an action for preparing connection to obtain connection information from individual service to participate in play, invoking an action for enlisting the obtained connection information into the obtained group connection information, and invoking an action for setting information required for accessing resources with a service for managing playback. Also, the step of requesting play comprises invoking a single play action utilizing the group connection information. The action for enlisting the connection information into the group connection information includes in the input argument the group connection information and connection information to be enlisted. Also, the method for presentation further comprises a step of invoking an action for removing connection information enlisted into the group connection information. The action for removing includes in the input argument the group connection information and connection information to be removed.
[22] In one embodiment according to the present invention, the step of carrying out an action for preparing play and the step of requesting play, if resources selected from among the multiple content sources are specified to be played in multiple devices, carry out operations of preparing and requesting play, which are applied to resources specified to be played at a particular device from among the multiple devices, with respect to the particular device.
[23] In one embodiment according to the present invention, the multiple content sources used by the method for presentation correspond to all of content sources included in the content set.
[24] In another one embodiment according to the present invention, the multiple content sources used by the method for presentation correspond to part of content sources selected from content sources of the content set. The part of content sources necessarily includes content sources, the information of which is recorded at the forefront of the item information.
[25] In one embodiment according to the present invention, the step of carrying out an action for preparing play determines that selected item information is about a content set when a particular value is assigned to class of selected item information.
[26] In another one embodiment according to the present invention, the step of carrying out an action for preparing play determines that selected item information is about a content set in case that multiple first structure elements exist, the first structure element carrying information about content sources within selected item information.
[27] One apparatus for providing information about content through a network comprises a storage organized to store multiple content sources and information about the content sources and a service organized to provide information about the content sources in response to an external request, the information about the content sources including at least one of item information about a content set including two or more content sources, the item information including multiple first structure elements storing information about content sources separately according to a content source. The first structure element includes multiple second structure elements being capable of including multiple particular structure elements specifying protocol information and access location information about resources, wherein a resource whose protocol information and access location information is incorporated into one of the second structure elements is different in attribute from that of another resource whose protocol information and access location information is incorporated into another of the second structure elements.
Advantageous Effects
[28] At least one embodiment of the present invention as described above and described below in detail with reference to drawings improves the convenience of the user as synchronized playback of a plurality of content sources can be requested by selecting a single item and increases degree of satisfaction of the user while the user's listening or watching content by making a playback operation carried out simultaneously without time delay between content sources and components within a source. Brief Description of the Drawings
[29] In the drawings:
[30] FIG. 1 illustrates the structure of a conventional UPnP AV network;
[31] FIG. 2 illustrates a signal flow between devices and/or services during playback of media carried out in a network of FIG. 1 ;
[32] FIG. 3 illustrates structuring item information for multi-content streaming and networked devices carrying out signal processing between devices and/or services;
[33] FIGS. 4 and 5 illustrate a signal flow between devices and/or services for multi- content streaming according to one embodiment of the present invention; [34] FIG. 6 illustrates the structure of item information carrying information about auxiliary content presented in association with a component within an arbitrary content source according to one embodiment of the present invention; [35] FIG. 7 illustrates the structure of item information created for a content set according to one embodiment of the present invention; [36] FIGS. 8 and 9 respectively illustrate examples of a screen according to one embodiment of the present invention, when a selected item is about a content set, the screen providing an input interface for the user to select a content source within the set; [37] FIGS. 10 and 11 respectively illustrate examples of a screen according to one embodiment of the present invention, when a single content source is a multiple component that requires synchronized playback, the screen providing an input interface for the user to select resources; [38] FIGS. 12 and 13 respectively illustrate a signal flow between devices and/or services for playing resources belonging to multiple content sources by assigning the resources into multiple media Tenderers according to an embodiment of the present invention; [39] FIGS. 14 and 15 respectively illustrate a signal flow between devices and/or services for streaming of multiple contents based on group connection information according to another embodiment of the present invention; [40] FIG. 16 illustrates the structure of actions defined in association with group connection information according to one embodiment of the present invention; [41] FIG. 17 illustrates management information for grouping individual connections according to one embodiment of the present invention, the management information constructed by a connection manager service installed inside a device; [42] FIG. 18 illustrates a conceptual scheme where instance IDs are structured for group and individual connection according to management information constructed in FIG.
17; [43] FIG. 19 illustrates a signal flow between devices and/or services for playing resources belonging to multiple content sources by assigning the resources to multiple media Tenderers and utilizing group connection information according to one embodiment of the present invention; and [44] FIG. 20 illustrates a procedure of inquiring about or controlling an arbitrary individual connection within a group connection according to one embodiment of the present invention.
Mode for the Invention [45] Hereinafter, embodiments of the present invention will be described in detail with reference to appended drawings. [46] FIG. 3 illustrates networked devices carrying out structuring of item information that enables multi-presentation of multiple content sources and signal processing between devices and/or services according to the present invention. In the present invention, one content source indicates a multiple component; a multiple component comprises multiple components that are supposed to be presented in association with each other. Streaming for presenting or playing multiple content sources together through data transfer on a network is called 'multi-content streaming'. Meanwhile, streaming of multiple components belonging to a single content source is called 'multiple streaming'.
[47] The network of FIG. 3 is a UPnP AV network comprising a control point 210, a media server 220, and multiple media Tenderers including a media renderer A 230. Although subsequent description of the present invention is given to networked devices and/or services based on UPnP standard, what are described in the following can be directly applied to other network standards by adaptively substituting necessary elements with regard to differences of the standards where the present invention may apply. In this regard, therefore, the present invention is not limited to a network based on UPnP.
[48] CDS 221 (which can be a processor that runs software) within the media server 220 carries out structuring of item information for multi-content streaming according to the present invention. In one embodiment of the present invention, the control point 210 plays a primary role in signal processing between devices and/or services for multi- content streaming according to the present invention by following a procedure illustrated in FIGS. 4 and 5. In the following, the procedure is described in detail.
[49] Description of configuration of devices and associated signal processing given below is based on a pull method, which is one of two methods for streaming a media component. The other method is a push method. A difference between the two methods lies in the direction of an action; devices equipped with AVTransport service for playback management of streaming or employed devices are different from each other and accordingly, the object of the action can only be either a media server or a media renderer. Since the method for carrying out an action described below can be equally applied to both push and pull methods, the scope of the present invention is not limited by those methods illustrated in the drawings and descriptions.
[50] The CDS 221 within the media server 220 creates item information about content sources and components, namely meta data in a particular language (e.g., in XML format) by searching media files stored in a mass storage such as a hard disk or a separate removable recording medium such as an optical disk. Media files associated with each other for synchronized presentation are treated as a single content source and item information about the single content source is created. FIG. 6 illustrates an exemplary structure of item information created by the aforementioned method. As shown in the figure, with respect to a main component (e.g., AV stream) or main components among components considered to belong to a single item, in addition to item property information 401 including conventional resource elements (resource element:<res>), additionally created is information about an auxiliary component (e.g., subtitle, voice, etc) or auxiliary components and additional expression information 402 for specifying relationship in an arbitrary combination of a main component and an auxiliary component providing user experience.
[51] The CDS 221 figures out interrelationship between media files considered as a single content source and whether a media file is a main component or an auxiliary component by utilizing, for example the name of each media file and/or extension of the file. If necessary, information about the property of each file— namely, whether the file is text or image and/or an encoding method— can also be obtained from the extension of the corresponding file. Information of each file can also be obtained by interpreting header information of the file. Alternatively, other application programs can write the aforementioned information in a database with respect to media files stored in a mass storage (or media files stored in a removable recording medium), the database being located in the same recording medium.
[52] A structural element (<userExperienceExpression>) for the additional expression information 402 can comprise three parts. A first part is a resource element (<primary resource>) about a main component, corresponding to a structural element for assigning an identifier (ID) to a main component or main components included in the resource element within the item property information 401. A second part is a resource element about an auxiliary component (<additional resource>), corresponding to a structural element for assigning an ID to auxiliary components presented in association with the main component and recording protocol and location information for accessing the components. A third part is a set of relational elements specifying component set information from which a combination for synchronized presentation of a main component and an auxiliary component can be obtained. Each relational tag (< relationship:^ represents a combination that enables presentation.
[53] In one embodiment according to the present invention, as shown in FIG. 7, the CDS
221, in addition to the aforementioned operations of examining interrelationship between stored media files, treating particular media files as a single content source, and writing item information about the content source, can additionally write item information about a content set (hereinafter, it is also called 'stream set') where different content sources are interrelated with each other.
[54] Information about whether to associate different content sources with each other may be received from a user or media information provided together with the content sources. Alternatively, item information about a content set where different content sources are associated with each other is written as shown in FIG. 7 and may be provided for the CDS 221 through a removable recording medium on which the content sources are stored.
[55] An embodiment of FIG. 7 is described specifically. The CDS 221, as shown in FIG.
7, after writing item information for each of two content sources (e.g., two movies of "Terminator" and "Star Wars"), writes item information about a content set for multi- content streaming. The two content sources are identified by a particular structure element, for example <streamSet> tag 510, 520. Those components belonging to a content source separated by <streamSet> tag is further classified by another structure element, for example <resSet>tag. Association of multiple components with a single < resSet> occurs when a number of components with the same attribute exist. Components of the same attribute or type such as video, audio, image, text, or a selective combination thereof are specified by a single <resSet> tag 503 (one example is video components of FIG. 7 comprising Terminator. mpg and Terminator, wmv). For each individual component belonging to the <resSet> tag, protocol information of the component (that is, a resource) and location information for accessing the component are defined by <res> tag through a conventional method. As mentioned above, association of a single content source with multiple <resSet> tag occurs when a main component and an auxiliary component are included in the content. For example, as shown in FIG. 7, existence of resources of audio attribute provided in English and Korean corresponding to movie characters' lines (Terminator-kor.mp3, Terminator- eng.wma) and resources of text or image attribute providing subtitles with respect to movie characters' lines exist for a single content source such as Terminator as well as resources of video attribute encoded by different methods (Terminator.mpg, Terminator. wmv) leads to writing multiple <resSet> tags.
[56] In the present embodiment, since components (resources) belonging to the same content source are grouped by <resSet> tag according to respective attributes, <resSet> tag separates Terminator.idx from Terminator. sub even though the two resources are related to movie characters' lines 504. This is because Terminator. sub file carries data of image attribute for subtitle information whereas Terminator.idx file carries synchronization information in a text form for synchronizing subtitle information of image attribute with video data.
[57] In writing item information for a stream set as shown in FIG. 7, information about each content source, namely information entered into <streamSet> tag can be created with reference to item information written independently of the content source. Besides, the number of content sources grouped into a single stream set is not limited. In other words, in the example of FIG. 7, two content sources are grouped into a content set for multi-content streaming; by revising <streamSet> tag and information within the tag, however, a stream set including more than three content sources can be created.
[58] As shown in FIG. 7, when item information including multiple content sources is created, a title appropriate for multi-content streaming controlled by the item information is determined and <title> tag 501 of the corresponding item is created. In one embodiment, titles within item information created for respective content sources included in a content set can be combined with each other. For example, if a title within an item created independently with respect to a first content source for multi- content streaming is Terminator and a title within an item created independently with respect to a second content source is Star Wars, a compound title of a content set consisting of the two titles is given by Terminator and Star Wars by linking the two titles with 'and' or '&' as shown in FIG. 7.
[59] The CDS 221 assigns a class name 502, for example "object. item. streamltem" different from a class name assigned to an item created for image or video content (e.g., "object.item.videoitem") to an item of a content set created by the aforementioned method. Specifying a class as described above helps immediate determination of whether an item is about single content or about a content set.
[60] The name of each individual structure element (e.g., tag) used in FIG. 7 (e.g., < streamSet>, <resSet>) is only an example. Utilizing a different name not indicated in the present invention for achieving the same functionality provided by a tag employed in the present invention is equally acceptable.
[61] When item information composed as shown in FIG. 7 is provided to the CP 210 and the user selects the item, the CP 210 confirms from the class name or <streamSet> tag or the number that it is related to a content set for multi-content streaming and allows the user to select a content source belonging to the corresponding <StreamSet>.
[62] Item information composed as shown in FIG. 6 and item information about a content set prepared as shown in FIG. 7 are transferred from the CDS 221 to the CP 210 in response to a browsing action or a search action and are interpreted by the CP 210. According to the interpretation, the CP 210 provides the user with relevant information for selecting content and/or a component to play. According to the user's input, an operation of multi-content streaming (when a content source is a multiple component, multiple streaming is supported) is carried out. Detailed descriptions of the operation are given below.
[63] FIGS. 4 and 5 illustrate a signal flow between devices and/or services for multi- content streaming according to one embodiment of the present invention. Item information created by CDS 221 within the media server 220 through the aforementioned method is transferred from the CDS 221 to the CP 210 by a browsing action or a search action of the CP 210 (S31). As a matter of course, before the above action, as shown in FIG. 4, the CP 210 requests and obtains supported protocol information from all of media Tenderers including a media renderer A 230 (S30).
[64] The CP 210, from among information of objects and content sets received from the step S31, provides the user through an appropriate user interface (UI) only with those objects (items) having protocol information supported by the media renderer A 230 that the user has specified for presentation of content (S32-1). At this time, the CP 210 analyzes information received by an action and carries out subsequent operations (S32-2) that allow the user to select desired content or a desired content set and component within the content.
[65] From received item information, as shown in FIG. 8, only item information about a single content source is extracted and listed 601. If item information about a content set is included in the received item information, a menu or a button 602 by which the user can select multi-content streaming can be provided on a screen. If the user requests 'multi-content streaming', the CP 210 provides a screen listing items with a class "object. item. streamltem" from the received item information or items where < streamSet> tag is recorded or a multiple number of <streamSet> tags exists, thereby allowing the user to select one content set item from the listed items. To help the user make a selection, for each item, the CP 210 may display information within <title> tag recorded in the item information on the screen.
[66] In another embodiment according to the present invention, information received by an action is analyzed and if item information about a content set is included, as shown in FIG. 9, a window of single content 611 and a window of multiple content 612 are displayed together separated from each other.
[67] If an item is selected from a selection screen provided as shown in FIG. 8 or 9 and the selected item is about a content set for multi-content streaming, the CP 210 analyzes the selected item information and checks each individual content source (which corresponds to <streamSet> tag in the example of FIG. 7) comprising a content set and provides a window that allows selection of the content sources. For example, if a selected item is about a content set consisting of content sources X, Y, and Z, the CP 210 outputs information that helps the user recognize content sources X, Y, and Z— for example, a list, entries of which are file names (in the example of FIG. 7, Terminator and Star Wars) of resources whose attributes are video. In another embodiment according to the present invention, the CP 210 outputs a list, each entry of which is a phrase (or a clause) obtained by dividing the text of a title based on a conjunction in the title with respect to a selected content set, for example 'and' or '&'.
[68] In one embodiment according to the present invention, the CP 210, in selecting a content source within a content set, can assume that selection of a particular content source, e.g., a content source specified by a first <streamSet> tag within item information is mandatory. For example, if information about content sources X, Y, Z is recorded in a content set in a sequential order, a window is provided such that the user cannot select a content source X whereas the user can select only Y and Z. That is to say, multi-content streaming can be carried out by X+Y (where the user selects Y), X+Z (where the user selects Z), or X+Y+Z (where the user selects both X and Y). In another embodiment, in the above example, if Y and Z have been given for multi- content streaming but the user did not select either of them, X alone is streamed.
[69] In a further embodiment according to the present invention, each individual content source within a content set may not be optional. In other words, a content source within each <streamSet> tag recorded in item information created for a content set is regarded as selected and the CP 210 may carry out only those actions for selecting components within <resSet> tag contained in the <streamSet> tag. Accordingly, in the present invention, in addition to multi-content streaming about content sources X, Y, Z, to support multi-content streaming of X and Y or X and Z, item information about a content set of X and Y or X and Z is created in addition to item information about a content set of X, Y and Z.
[70] If one or more than one content source is selected during a selection procedure of each individual content source within a content set, the CP 210, with respect to each selected content source, carries out the following operations (S32-3) that select components belonging to the source.
[71] The CP 210 first searches for <resSet> tag where resources (components) of video attribute are grouped together and displays the resources for the user as shown in FIG. 10 and receives selection of a component. In one embodiment of the present invention, a resource of video attribute becomes a main component. Although components included in <resSet> tag of video attribute are all the same content, respective components can have different bit rates or employ different encoding methods. If a single main component is selected, the CP 210 lists 701 in a separate window resources in <resSet> tag as well as resources in <resSet> tag where a main component belongs, thereby allowing the user to select a component. A component selected at this time is called an auxiliary component to distinguish from a previously selected main component.
[72] A window for selection of a main component and a window for selection of an auxiliary component can be displayed simultaneously on a screen instead of being displayed sequentially. When a selection operation is activated in a selection window for an auxiliary component, a component already selected in a different window is displayed with an outstanding mark 702 differentiating the component from other components that have not been selected— for example, by inverting the display of the selected component, whereby the user can easily recognize the selected component.
[73] An auxiliary component can have various attributes. For example, audio, text, image, or a selected combination thereof can be the attributes of an auxiliary component. Therefore, as shown in FIG. 7, multiple <resSet> tags can exist for an auxiliary component group. As shown in FIG. 11, if the number of attributes of an auxiliary component is more than two, a selection set 711 according to each attribute is displayed and one auxiliary component is selected from the selection set. As shown in FIG. 11, when multiple selection sets are displayed for the user, information about the attribute of each set (e.g., audio or text) may be displayed together at the top of each selection set 712. Information required for this display may be obtained from information which is the value of a property parameter of <resSet> tag, the property parameter being defined by the CDS 221. Alternatively, information required for the above display may be obtained from protocol information (protocollnfo="...") defined by resource tag (<res>) of each component.
[74] When a user is requested to select a content source to play from a content set, the user may not perform specific selection about a component within a content source selected for multi-content streaming. In this case, the CP 210 may select a component to be streamed within each of selected content sources by using a default method. For example, the CP 210, if specific selection is not carried out for a component within each selected component source, a resource specified by a head <res> tag within each <resSet> tag is selected as a streaming component. In another embodiment of the present invention, when no component within <resSet> tag is selected, a parameter may be defined and used for indicating that a particular component has been selected. For example, as in <res default=TRUE.>, it can be specified that the corresponding resource is a component selected by default.
[75] According to the procedure above, when selection of a content source within a content set and selection of a main component and an auxiliary component for each content source are completed, the CP 210 obtains from associated structure elements protocol information and URL information about a selected component belonging to each content source. That is, in the item information illustrated in FIG. 7, the CP 210 obtains the protocol and URL information from information of <res> tag of each selected component.
[76] If protocol information of a component obtained from the above procedure is not compliant with the protocol supported by the media renderer A 230 (which is destined by the user for a device for presentation), the corresponding component is ignored and operations for presentation at the media renderer A 230 described below are not carried out for the component. Instead, the user may receive an alarm message saying "The selected component cannot be played at the destined media renderer!". [77] For a content source where protocol information and URL information about each individual component have been checked, the CP 210 carries out a preparation operation for play (S33-n, n=l,2,). The signal processing example of FIG. 4 illustrates a case when three content sources (X, Y, Z) have been selected within a content set, where three identical preparation operations (S33-1, S33-2, S33-3) are carried out between devices and/or services. Specific illustration of actions carried out at each preparation operation is given at FIG. 5. As shown in FIG. 5, an action is carried out for each component belonging to a single content source and since input arguments of each action are given for each component, the input arguments have different information according to the corresponding component.
[78] Signal processing between devices and/or services illustrated in FIG. 5 is described specifically. The CP 210 invokes actions for preparing connection (PrepareForConnection()) to the media server 220 and the media renderer A 230 respectively for each component and receives connection information, for example instance ID assigned by participating elements (services) required for presentation through streaming (S33-n_l, S33-n_2). In the example of FIG. 5, it is assumed that three components are selected from a single content source and presented in association with each other; a single arrow line representing a single action has been displayed overlapped three times. The received instance IDs are used for later specifying and controlling each component employed by a current streaming service. If the CP 210 receives an instance ID for connecting each component through the action for preparing connection (the instance ID is a set of IDs assigned to each service. It is called, however, an instance ID for the sake of convenience. In what follows, when description, e.g., name of each individual service is not given before an ID, the instance ID represents a set of instance IDs about individual services assigned to a single connection), the CP 210 sets access location information about previously selected components, for example URL information respectively to AVTransport service 233
(S33-n_3).
[79] For the sake of convenience for drawing diagrams and description, it has been described that an action for preparing connection and an action for setting access location information (SetAVTransportURI()) are carried out sequentially according to the order of each content source but it does not necessarily follow the aforementioned order of performance. For example, after completing an action for preparing connection with respect to content sources X, Y, Z, an action for setting access location information can be invoked on components belonging to content sources X, Y, Z. An action for setting access location information upon an arbitrary component may be invoked any time once an action for preparing connection has been previously invoked on the corresponding component. Under the above conditions, therefore, various methods for invoking an action for preparing connection and setting access location information can be employed in addition to the aforementioned method.
[80] After an action for setting access location information has been invoked for all of components selected among content sources within a content set and a success response has been received according to the invocation, an action for playing is invoked to AVTransport service 233 for each component (S34). For example, if the number of content sources is three and the number of components selected from each content source is three, a total of 9 (=3x3) playback actions are invoked. Preferably, the playback actions are invoked simultaneously.
[81] AVTransport service 233 of the media renderer A 230 that received the playback action for each component makes a component about a connection specified by an instance ID of input arguments of each playback action streamed or downloaded through a relevant information exchange procedure in a media server 220. Accordingly, components of selected content sources are streamed or downloaded from the media server 220 and under control of RenderingControl service 231, are decoded and output by a rendering module 231a consisting of corresponding decoders (or a decoder of integrated functions) (S35). At this time, components 301 that require synchronized playback within a single content source are presented in synchronization with each other.
[82] In another embodiment according to the present invention, multiple Tenderers can carry out multi-content streaming by dividing up content sources or components. FIG. 12 illustrates the case where the user requests playback specifying a different media renderer according to a content source; for brevity of drawing, a single signal processing line has been used for all of components belonging to a single content source (in fact, to differentiate from invocation of an action, a short slant crossing line and a character m have been added to a signal line). In other words, a signal processing line to which a short slant crossing line and m have been added necessarily invokes multiple actions upon the corresponding components. This applies equally to the description below.
[83] In the embodiment of FIG. 12, since playback is requested by specifying a media renderer A for a content source X, a media renderer B for a content source Y, and a media renderer C for a content source Z, an action for setting access location information and a playback action (although not shown in the figure, an action for preparing connection follows the same procedure) about components belonging to the content source X are all invoked on the media renderer A. Likewise, an action for setting access location information and a playback action for components belonging to the content source Y are all invoked on the media renderer B whereas an action for setting access location information and a playback action for components belonging to the content source Z are all invoked on the media renderer C. In the embodiment of FIG. 12, except for a playback action, required actions may be invoked irrespective of the order of the media Tenderers and time. The playback actions, however, are invoked after a success response with respect to the last of actions required for each media renderer has been received 801. It is desirable that invocation 802 of playback actions upon media Tenderers should be carried out simultaneously.
[84] In another embodiment according to the present invention, multi-content streaming can be carried out by multiple Tenderers after dividing components belonging to a content set according to respective attributes. FIG. 13 illustrates a case where the user requests playback of a component by specifying a different media renderer according to the component's attribute; for brevity of drawings, all of component with the same attribute have been represented by a single signal processing line (where a short slant crossing line and a character m are added). That is to say, for a single signal processing line with a short slant crossing line and a character m, multiple actions necessarily accompany components of the same attribute.
[85] In the embodiment of FIG. 13, since a media renderer A has been specified to play components of video, image, or text attribute among components of content sources X, Y, Z and a media renderer B has been specified to play components of audio attribute, an action for setting access location information and playback action for components of video, image, and text attribute are all invoked on the media renderer A (although not shown in the figure, an action for preparing connection follows the same procedure) and an action for setting access location information and playback action for components of audio attribute are all invoked on the media renderer B. In the embodiment of FIG. 13, except for a playback action, required actions may be invoked irrespective of the order of the media Tenderers and time. In the same way as the embodiment of FIG. 12, however, the playback actions are invoked after a success response with respect to the last of actions required for each media renderer has been received 811. It is desirable that invocation 812 of playback actions upon media Tenderers should be carried out simultaneously.
[86] In another embodiment according to the present invention, connections for respective components are grouped and by using an identifier for the grouped connections (hereinafter, it is called 'group connection'), multi-content streaming is carried out for a content set. FIGS. 14 and 15 illustrate a procedure for playing a content set according to the present embodiment.
[87] Since the steps of S30, S31, and S32-1 through S32-3 in the figure are the same steps described with reference to FIG. 4, further descriptions are not given. The CP 210 first invokes an action for preparing group connection (PrepareForGroupConnectionO) on CM service 222, 232 of each device (a media server 220 and a media renderer A 230) (S93-1, S93-2). Since the action for preparing group connection has the same structure 1001 illustrated in FIG. 16, group connection information, for example a virtual instance ID is received in response to the invocation from the media server 220 and the media renderer A 230 being carried by output arguments. The virtual instance ID represents an instance ID not corresponding to an actual connection; the virtual instance ID is treated as a virtual ID for identifying a group connection.
[88] The CP 210 carries out an operation for preparing multi-content streaming to be applied to a content source where protocol information and URL information of each of constituting components have been identified (S94-n, n=l,2). The signal processing example of FIG. 14 describes a case where three content sources X, Y, Z within a content set are selected and three identical preparation operations (S94-1, S94-2, S94-3) are carried out between devices and/or services. Specific description about actions carried out during each preparation operation is given in FIG. 15. As shown in FIG. 15, an action is carried out for each component belonging to a single content source and since input arguments of each action are prepared for the corresponding component, the input arguments have mutually different information that is adequate to and associated with the component.
[89] Signal processing between devices and/or services illustrated in FIG. 15 is described specifically.
[90] The CP 210 invokes connection preparation actions (PrepareForConnection()) for individual connection (which is intended to represent a connection created for a single component in contrast with 'group connection'), namely for each component to the media server 220 and the media renderer A 230 respectively and receives an instance ID assigned by participating services to be involved in presentation through streaming between devices (S94-n_l, S94-n_2). The example of FIG. 15 assumes that three components from a single content source are selected and presented in synchronization with each other, displaying a signal line representing a single action overlapped three times.
[91] When the CP 210 receives an instance ID of each participating service (CM, AVT, or
RCS) about individual connection of each component through an action for preparing connection, the CP 210, to group received instance IDs about individual connection, invokes an action for adding to a group (AddtoGroupO) having the structure illustrated in FIG. 16 as many times as the number of individual connections (S94-n_3, S94-n_4). The action for adding to a group is for linking an instance ID for individual connection with an instance ID (a virtual instance ID assigned for identifying the group connection) for group connection received (S93-1, S93-2) through the previous action for preparing group connection. At this time, input argument of each action for adding to a group includes an instance ID for group connection according to the structure il- lustrated in FIG. 16 and an instance ID for individual connection to be enlisted in the group connection.
[92] Although a connection preparation action for individual connection is invoked for each component (S94-n_l, S94-n_2) after a group connection preparation action for group connection has been invoked (S93-1, S93-2) in the embodiment of FIG. 14, invocation of the action can be carried out in a reverse order. In other words, it is sufficient that by carrying out a group connection preparation action and a connection preparation action for individual connection irrespective of the order, an instance ID for individual connection to be added to a group and an instance ID for a group connection are prepared before carrying out the action for adding to group.
[93] The CM service 222 or 232, after receiving an action for linking the instance ID, constructs management information for mapping an instance ID for group connection contained in each group addition action onto an instance ID for individual connection. FIG. 17 illustrates an example of management information for grouping individual connections (since the media renderer A 230 of FIG. 3 is equipped with AVTransport service 233 and an instance ID about AVTransport service has been provided by a connection preparation action in response to the action, the instance ID of AVTransport service is included in an instance ID for a connection), the management information being constructed by ConnectionManager service 232 within the media renderer A 230. FIG. 18 illustrates a conceptual scheme where instance IDs are structured for group and individual connection according to the management information constructed in FIG. 17. In addition to mapping information about instance IDs illustrated in FIG. 17, if there exists additional information received through input arguments of an action for preparing group connection and an action for adding to group (for example type, information about whether an individual connection is a main or an auxiliary component, and the like), the received information is also stored as management information and thus managed by the CM service 222 or 232.
[94] After construction of mapping information illustrated in FIG. 17, each ConnectionManager service 222, 232, in response to the request of the CP 210 for playback management or rendering control utilizing an instance ID of a connection group, identifies an instance ID of individual connection corresponding to a service requested for an action and utilizes the instance ID, thereby specifying the corresponding resources available.
[95] In the embodiment described above, if an instance ID is received by some action before all of required instance IDs of each connection are received by individual connection preparation actions applied to selected components, the CP 210 can immediately carry out an action (AddtoGroupO) for joining the corresponding connection to a group connection established by the previous group connection preparation action. In other words, performance of an action for adding to group (AddtoGroupO) applied to an individual connection can be carried out irrespective of reception of a response to a connection preparation action (PrepareForConnection()) of other connections once an instance ID of the individual connection is received.
[96] After grouping individual connections by using the above operations, for each component within the previously selected content source, an action for setting access location information about the component (e.g., URL information) to AVTransport service 233 (SetAVTransportURI()) is invoked (S94_n_5).
[97] After completing operations for preparing playback of individual content source selected within a content set (after completion of the operation S94-3 in the example of FIG. 14), the CP 210 invokes a playback action on AVTransport service 233. The action uses a previously received instance ID (Instance_GrA VTID) of AVTransport service for group connection (S95). The instance ID of AVTransport service for group connection transferred by the action is mapped onto instance IDs of AVTransport service for individual connection by ConnectionManager service 232 and the mapped instance IDs are transferred to AVTransport service 233, enabling playback operations of individual connections to start at the same time. Next, through a relevant information exchange procedure between the media renderer A 230 and the media server 220, components of a content source selected within a content set are all streamed or downloaded from the media server 220 and are decoded and outputted by the rendering module 23 Ia under control of RenderingControl service 231 (S96). At this time, those components 901 requiring synchronized playback between components within a content source are presented in synchronization with each other.
[98] As described earlier, the user can request presentation of content sources within a content set to be played through separate multiple media Tenderers or the user can request presentation of components belonging to content sources by using a different media renderer according to attributes of the components. In this case, the CP 210 dose not establish a group connection for all the components in a content set to be presented but establishes a group connection by components that are directed to the same device.
[99] FIG. 19 illustrates signal processing for playback using group connection information based on the assumption that components are designated for presentation being distributed across media Tenderers A, B, and C. As shown in the figure, an action for preparing group connection is invoked for each group of components directed to each media renderer (S 1201) and operations for preparing multi-content streaming are carried out by using an instance ID of a group connection received from CM service of each media renderer (S 1202). After operations for preparing playback of components selected within a content set have been completed (in the example of FIG. 19, after tl21 at which a success response to the last action has been received), the CP 210 invokes playback actions using an instance ID of a group connection to respective AV- Transport services of the media Tenderers A, B, C. In this case, it is desirable that invocation 1211 of playback actions using an instance ID of a group connection upon media Tenderers should be carried out simultaneously.
[100] While operations of presentation being carried out according to the above procedure S35, S96, if a request for controlling a playback operation with respect to particular content or components (playback stop, temporary stop, search, trick play, etc) or a request for changing rendering state (adjustment of volume, stopping audio output, adjustment of brightness, etc) is made by the user, the CP 210 requests the corresponding action (e.g., AVT:Stop(), AVT:Pause(), PCS:SetVolume(), RCS:SetMute(), etc) from a media renderer. In response to the request, an instance ID for a group connection assigned to multi-content streaming in service or an instance ID for an individual connection can be employed. For the case of using an instance ID for an individual connection, since a device or a service invoked by an action can immediately recognize a connection corresponding to the instance ID and resources assigned to the connection, operations requested by an action with respect to the connection or resources are carried out.
[101] In case of using an instance ID for a group connection, a service that receives an action, when the instance ID for an individual connection corresponding to the action is specified by a single instance ID, maps the instance ID for an individual connection directly onto the instance ID of the corresponding group connection and carries out operations for a individual connection of the instance ID, for example control operations. For instance, when individual connections corresponding respectively to the components of video, audio, and text attribute are set up as a group connection and a VolumeO action that adjusts loudness of sound has been received through an instance ID of the group connection, the instance ID of the group ID can be directly mapped onto the instance ID of a connection set up for a component of audio attribute from among instance IDs for the three individual connections.
[102] When the above mapping is inappropriate (for example, a group connection comprises multiple components of the same attribute or a group connection is set up for two or more content sources within a content set as illustrated in the previous example) and a particular action is invoked, an instance ID for an individual connection within a group connection is retrieved and used, which is described in the following.
[103] By grouping individual connections through a procedure as described above and delivering required information to a related service through an action, the user can select a desired one from among grouped individual connections and carry out inquiring about or controlling the connection through the CP 210 that created the cor- responding group connection or through a different CP that has newly participated in the network.
[104] FIG. 20 is one example of the above operation, illustrating a procedure of inquiring of information related to play of a component corresponding to a particular individual connection belonging to a group connection. FIG. 20 assumes a situation where an action is invoked on the media renderer A 230 but the action can necessarily be invoked on a different device, for example the media server 220. As shown in the figure, CP 290 of FIG. 20 invokes an action for inquiring about devices specified by the user— group connections currently set up for the media renderer A 230 in the example of FIG. 20— on ConnectionManager (CM) service 232 within the media renderer A 230, the action (GetGroupConnectionIDs()) having the structure 103 illustrated in FIG. 16. Accordingly, instance IDs (instance_GrCMIDs) of CM service 232 about currently established group connections are received (S 1301).
[105] The CP 290 selects one group connection from the received information. At this time, necessary conditions for selecting a group connection are determined by information entered by the user. Once a group connection is selected, an action for inquiring of group connection information (GetGroupConnectionInfo()) is invoked on the CM 232, the action having the structure 1004 illustrated in FIG. 16 and having an instance ID of CM about the group connection (instance_GrCMID) as an input argument. The CM 232, in response to the invocation, delivers CM instance IDs of all the individual connections belonging to the group connection specified by the input argument of the action from among management information managed for a current group connection to the CP 290 (S 1302). If additional information is contained in the management information, the additional information— for example, type of a group connection (e.g., multi-content streaming, multiple streaming, subtitle synchronization, audio synchronization, etc.)— and information about whether a component of each individual connection is primary or auxiliary are delivered together to the CP 290.
[106] The CP 290 selects an individual connection from received information. Necessary conditions for selecting an individual connection are determined based on information entered by the user and received information. If received information carries only instance IDs of CM service about individual connections, making it difficult for the user to select, the CP 290 invokes an action for inquiring of connection information (GetCurrentConnectionlnfoO), which is described below, on each of instance IDs of the received CM service without the user's request and receives information and presents the received information together with the instance IDs, helping the user select an individual connection.
[107] If an individual connection is determined by the user, an action for inquiring of current connection information (GetCurrentConnectionlnfoO) is invoked on the CM 232, the action having CM instance ID (instance_CMID) about the individual connection as an input argument. According to the invocation, information about the individual connection (instance IDs of other services, protocol information, etc as shown in FIG. 20) is received (S 1303).
[108] The CP 290, by using received information, determines target services of an action relevant to the user's request and types of actions and invokes a determined action on the corresponding determined service. In the example of FIG. 20, media information is requested from AVTransport service 233. Since the above request is related to an action for AVTransport service 233, from the previously received information, instance_AVTID, which is an instance ID of AVTransport service, is used as an input argument of the action. According to the action, the AVTransport service 233 delivers a variety of state information of the corresponding connection as shown in FIG. 20 and managed by the AVTransport service 233 to the CP 290 (S1304).
[109] An established group connection is removed by the request of the CP (210 or 290) when the user requests removal or it is determined that multi-content streaming is not further required. As for the removal, the CP (210 or 290), for each individual connection to be removed, invokes an action for removing from a group (RemoveFro mGroupO) on CM service 222, 232, the action removing an individual connection from a group connection and having the structure 1005 illustrated in FIG. 16. As shown in FIG. 16, the above action includes an instance ID for a group connection and an instance ID for an individual connection to be removed from a connection group as input arguments.
[110] CM (222 or 232) that received the action for removing from a group, from ID mapping information organized as in FIG. 17, erases an instance ID identical to the instance ID for an individual connection included in the input argument of a received action linked with an instance ID for a group connection included in the input argument of the received action. Each time an instance ID for an individual connection is erased from ID mapping information by the action for removing from a group (RemoveFromGroupO), the CM service 222, 232 examines mapping information of an instance ID for the corresponding group connection and if no more instance ID for an individual connection related to the group connection remains, removes assignment of an instance ID for a group connection of the mapping information and reserves the removed instance ID to be reused for a different group connection.
[I l l] The foregoing description of a preferred embodiment of the present invention has been presented for purposes of illustration. Thus, those skilled in the art may utilize the invention and various embodiments with improvements, modifications, substitutions, or additions within the spirit and scope of the invention as defined by the following appended claims. [112]

Claims

Claims
[1] A method for preparing information about a content source, comprising: creating information about each of a plurality of content sources, separating the created information by content source and incorporating each of the separated information into each of first structure elements; and composing item information including the first structure elements, the first structure element comprising a plurality of second structure elements being capable of including a plurality of particular structure elements specifying protocol information and access location information about resources, attribute of a resource whose protocol information and access location information is incorporated into one of the second structure elements being different from that of a resource whose protocol information and access location information is incorporated into another of the second structure elements.
[2] The method of claim 1, wherein the item information further comprises class information indicating multi-content streaming.
[3] The method of claim 2, wherein the item information specifies class information different from class information specified for a single content.
[4] The method of claim 1, wherein the item information further comprises title information and the title information comprises text information being capable of identifying the plurality of content sources individually.
[5] The method of claim 1, wherein resources selected from mutually different elements of the second structure elements within the single first structure element are components that can be played in synchronization with each other.
[6] The method of claim 1, wherein the particular structure element is an information element specified by a tag <res>.
[7] The method of claim 1, wherein the attribute is video, audio, image, text, or a selective combination thereof.
[8] A method for conducting presentation of a content through data transfer over a network, comprising: carrying out play preparing operations of a plurality of content sources pertaining to a content set if selected item information is about the content set; and requesting play of the plurality of content sources after the play preparing operations are completed for all of the plurality of content sources.
[9] The method of claim 8, wherein the play preparing operations comprises, for each of resources selected from the plurality of content sources: invoking a connection preparing action to obtain connection information from each of services to be involved in play operation; and invoking another action to set information necessary for resource access to a play managing service.
[10] The method of claim 9, wherein the play requesting includes invoking play actions for the resources respectively.
[11] The method of claim 8, wherein the play-preparing operations include: invoking an action to obtain group connection information from each of services to be involved in play operation; and for each of resources selected from the plurality of content sources, invoking a connection preparing action to obtain connection information from each of the services, and invoking another action to enlist the obtained connection information in the obtained group connection information, and invoking another action to set information necessary for resource access to a play managing service.
[12] The method of claim 11, wherein the play requesting includes invoking a single play action using the group connection information.
[13] The method of claim 11, wherein the another action to enlist the obtained connection information in the obtained group connection information includes input arguments containing the group connection information and connection information to enlist.
[14] The method of claim 11 , further comprising invoking an action to deallocate an enlisted connection information from the group connection information, the action to deallocate an enlisted connection information including an input argument containing the group connection information and connection information to deallocate.
[15] The method of claim 8, wherein if resources selected from the plurality of content sources are demanded to be played through a plurality of devices, the carrying out play preparing operations and the requesting play of the plurality of content sources include conducting a play -preparing operation and a play requesting operation, with an arbitrary device pertaining to the plurality of devices, for resources to be played by the arbitrary device.
[16] The method of claim 8, wherein the plurality of content sources correspond to all of content sources included in the content set.
[17] The method of claim 8, wherein the plurality of content sources correspond to part of the content set selected therefrom.
[18] The method of claim 17, wherein the part of content set includes a content source whose information is recorded at head of the item information.
[19] The method of claim 8, wherein the carrying out play preparing operations determines that selected item information is about a content set in case that a particular value is assigned to class of the selected item information.
[20] The method of claim 8, wherein the carrying out play preparing operations determines that selected item information is about a content set in case that the selected item information includes a plurality of first structure elements, the first structure element containing information about content sources.
[21] An apparatus, connected to a network, for providing information about a content through the network, comprising: a storage configured to store a plurality of content sources and information about the content sources; and a service configured to provide information about the content sources in response to an external request, the information about the content sources including at least one of item information about a content set including two or more content sources, the item information including a plurality of first structure elements storing information about content sources such that the information is separated each other by content source, the first structure element including a plurality of second structure elements being capable of including a plurality of particular structure elements specifying protocol information and access location information about a resource, attribute of a resource whose protocol information and access location information is incorporated into one of the second structure elements being different from that of a resource whose protocol information and access location information is incorporated into another of the second structure elements.
[22] The apparatus of claim 21, wherein the particular structure element is an information element specified by a tag <res>.
PCT/KR2008/003576 2007-06-26 2008-06-23 Method and apparatus for managing and processing information of an object for multi-content-streaming WO2009002071A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US94632207P 2007-06-26 2007-06-26
US60/946,322 2007-06-26
KR10-2007-0137775 2007-12-26
KR20070137775 2007-12-26

Publications (2)

Publication Number Publication Date
WO2009002071A2 true WO2009002071A2 (en) 2008-12-31
WO2009002071A3 WO2009002071A3 (en) 2009-03-05

Family

ID=40186158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/003576 WO2009002071A2 (en) 2007-06-26 2008-06-23 Method and apparatus for managing and processing information of an object for multi-content-streaming

Country Status (1)

Country Link
WO (1) WO2009002071A2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898618B1 (en) * 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US20060053447A1 (en) * 2002-06-27 2006-03-09 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US20060095471A1 (en) * 2004-06-07 2006-05-04 Jason Krikorian Personal media broadcasting system
US7206853B2 (en) * 2000-10-23 2007-04-17 Sony Corporation content abstraction layer for use in home network applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898618B1 (en) * 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US7206853B2 (en) * 2000-10-23 2007-04-17 Sony Corporation content abstraction layer for use in home network applications
US20060053447A1 (en) * 2002-06-27 2006-03-09 Openpeak Inc. Method, system, and computer program product for managing controlled residential or non-residential environments
US20060095471A1 (en) * 2004-06-07 2006-05-04 Jason Krikorian Personal media broadcasting system

Also Published As

Publication number Publication date
WO2009002071A3 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
US8065335B2 (en) Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method
KR101249232B1 (en) System and method for providing “universal follow-me” functionality in a UPnP AV network
US9344471B2 (en) Method and apparatus for managing and processing information of an object for multi-source-streaming
US20100063970A1 (en) Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method
US8504712B2 (en) Method and apparatus for managing multi-streaming contents and for controlling of changing players during playback of multi-streaming contents
US8601189B2 (en) Method for processing information of an object for presentation of multiple sources
JP2005116161A (en) Information storage medium with event generating information stored, and device and method for reproducing the same
US10211997B2 (en) Method and apparatus for playing back scene using UPnP
KR101465976B1 (en) Method and apparatus for controlling Universal Plug and Play device to play plurality of contents using plurality of rendering surfaces on screen
US20070088675A1 (en) Response estimation in a system with a content directory service
US20070067456A1 (en) Method and apparatus for controlling network of shared resources
US20140082012A1 (en) Methods and systems for enhanced access to multimedia contentt
US20120096157A1 (en) Method and apparatus for managing and processing information an object for multi-resource-streaming
WO2009002071A2 (en) Method and apparatus for managing and processing information of an object for multi-content-streaming
US20070175975A1 (en) Method and apparatus for providing DVD content with rendering device in UPnP network
KR20080033794A (en) Method for managing information of an object for presentation of multiple sources and connection group therefor
KR20080035084A (en) Method for managing and processing information of an object for presentation of multiple sources
KR100747296B1 (en) Text stream presentation method for home network
WO2008039005A1 (en) Method for managing and processing information of an object for presentation of multiple sources
KR20080028578A (en) Method for managing and processing information of an object for presentation of multiple sources
KR100728034B1 (en) Method and apparatus for providing dvd content with rendering device in upnp network
WO2008044874A1 (en) Method for managing and processing information of an object for presentation of multiple sources
MX2008008255A (en) Method and apparatus for providing dvd content with rendering device in upnp network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08766535

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08766535

Country of ref document: EP

Kind code of ref document: A2