WO2008039005A1 - Method for managing and processing information of an object for presentation of multiple sources - Google Patents

Method for managing and processing information of an object for presentation of multiple sources Download PDF

Info

Publication number
WO2008039005A1
WO2008039005A1 PCT/KR2007/004720 KR2007004720W WO2008039005A1 WO 2008039005 A1 WO2008039005 A1 WO 2008039005A1 KR 2007004720 W KR2007004720 W KR 2007004720W WO 2008039005 A1 WO2008039005 A1 WO 2008039005A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
connection
component
action
content
Prior art date
Application number
PCT/KR2007/004720
Other languages
French (fr)
Inventor
Chang Hyun Kim
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
Priority claimed from KR1020060094017A external-priority patent/KR20080028578A/en
Priority claimed from KR1020060099977A external-priority patent/KR20080033794A/en
Priority claimed from KR1020060101235A external-priority patent/KR20080035084A/en
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of WO2008039005A1 publication Critical patent/WO2008039005A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • 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

Definitions

  • This document relates to a method of managing information about content sources stored in an arbitrary device on a network, for example an UPnP-based network and processing information between network devices according to the information.
  • An UPnPTM (hereinafter, referred to as "UPnP")-based network proposed for home 10 networking basically comprises a plurality of UPnP devices, a service, and a control point (CP).
  • UPnP UPnP
  • CP control point
  • a service indicates a minimum controlled unit in a network and is modeled by a state variable.
  • control point is a control application having a function of detecting and controlling other devices and/or services and is installed in an arbitrary device, 15 for example physical devices such as a PDA that a user is easily capable of handling.
  • an UPnP-based AV home network comprises a media server
  • MS 120 for providing media data for a home network
  • MR media renderer 130
  • AV control point 110 for controlling the media server 120 and the media renderer 130.
  • 20 130 are a controlled device controlled by the control point 110.
  • the media server 120 constructs object information from information about containers (corresponding to a directory) and media files loaded in itself.
  • An 'object' is a term to cover an item having information about one or more media file and a container having information about 25 a directory, and in some cases, a term 'object' indicates only an item or only a container.
  • One item corresponds to one or a plurality of media files. For example, a plurality of media files having an identical content of a different bit rate is managed as one item.
  • FIG. IB illustrates a signal flow between devices and/or services for a media play process performed in the network of FIG. IA.
  • a displayed play process is described as follows. 30 First, the control point 110 obtains information about a protocol which the media renderer 130 can accept (SOl). In order to provide information about a directory and a media file under the corresponding directory for the control point 110, whenever an UPnP action 141, for example a browsing action is invoked according to user request (SlO), the media server (MS) 120 provides information about a current directory and item information about media files under the directory.
  • SOl protocol which the media renderer 130 can accept
  • MS media server
  • the CP 110 excludes, from the received information about each object, information about an item whose protocol is not matched with acceptable protocols provided from the media tenderer 130, displays the information through a proper User Interface (UI) for a user (SIl-I), invokes, if a user selects one item (or one media file of a specific quality belonging to the item) through the UI (SIl -2), a connection preparing action (PrepareForConnectionQ) to the media server 120 and the media renderer 130 for preparing presentation of the selected media file (hereinafter, referred to as a 'component' or a 'media component'), and receives an instance ID for participating members (CM: ConnectionManager service, AVT: AVTransport service, and RCS: RenderingControl service) required for a presentation through streaming between both devices (120,130) (S12-1, S12-2).
  • CM ConnectionManager service
  • AVT AVTransport service
  • RCS RenderingControl service
  • the instance ID is used to specify and control later a streaming service to be currently performed (for example, a SetVolumeQ action uses a previously received instance ID of RCS in order to adjust a current volume in a rendering of a streaming being presented (S15-1)).
  • the CP 110 sets access location information about a previously selected component, for example Universal Resource Locator (URL) information to an AVTransport service 133 (in the example of FIG. IA, the AVTransport service is installed in the media renderer 130, however may be installed in the media server 120) through an action (Sl 3), then invokes to the AVTransport service 133 a play action with an input argument carrying an instance ID of AVTransport service having an unsigned-integer-4-byte (ui4) format, as defined in FIG. 1C (S14), and thereby enabling a presentation by the RCS 131 after data of the selected component are streamed through a proper information exchange process between the media renderer 130 and the media server 120 (S 15).
  • URL Universal Resource Locator
  • Another aspect of this document is to provide a method of managing individual connections for components pertaining to a multiple component as a group.
  • Another aspect of this document is to provide a method of simultaneously performing a presentation of media components associated each other through information to be set to a device or a service.
  • a method of presenting a content through data transmission between both devices and/or a service comprises: creating connection group information, if at least one auxiliary component is associated with a selected one primary component among a plurality of primary components or a primary component belonging to a content, and creating connection information for each of the components; and connecting the created each connection information to the created connection group information.
  • a method of presenting a content through data transmission between both devices and/or a service comprises: creating connection group information; connecting connection information for each of connections to the created connection group information; and controlling a presentation of a component designated by the individual connection using the connection group information.
  • a method of presenting a content through data transmission between both devices and/or a service comprises: obtaining connection information by invoking a connection preparing action for components belonging to a multiple component respectively; and invoking a play request action including in an input argument a list of connection information obtained for the each component.
  • a method of presenting a content comprises: receiving a play request action for a multiple component; checking a value of a state variable; and determining a time point to start rendering data of the multiple component according to the value.
  • a method of presenting a content comprises: invoking an action of querying a state variable for indicating whether a synchronous rendering of a multiple component is set; and invoking an action of setting a value of a state variable according to the value of the state variable queried by the action.
  • a list of connection information is information in which instance
  • IDs obtained for each of components belonging to a multiple component are individually separated by a delimiter.
  • an action of setting the state variable for indicating whether a synchronous rendering is required is invoked before the play request action is invoked.
  • the state variable for indicating whether a synchronous rendering is required is a variable managed by a RenderingControl service for controlling a rendering of video and/ or audio data.
  • the state variable is a value indicating a synchronous rendering
  • a rendering is started.
  • a method of presenting a content through data transmission between both devices comprises: invoking an action of setting a state variable used to control a synchronous rendering of a multiple component; and invoking a play request action for the multiple component.
  • the play request action includes in an input argument a list of connection information obtained for each of components belonging to the multiple component. In another implementation, the play request action includes in an input argument connection group information in which connection information corresponding to each of components belonging to the multiple component is grouped.
  • a method of preparing data for stored content comprises: creating meta data including protocol information and access location information for an arbitrary content; creating protocol information and access location information for an auxiliary content associated with the arbitrary content; incorporating in the meta data the created protocol information and access location information or link information for enabling obtainment of the created protocol information and access location information; and creating relationship information between at least one component belonging to the arbitrary content and at least one component belonging to the auxiliary content, and incorporating the created relationship information in the meta data.
  • a method of managing a connection between devices and/ or services comprises: requesting information for connection groups, each of which being a group of a plurality of individual connections and obtaining the information for the connection groups; and designating one connection group from the obtained information for the connection groups and requesting and obtaining information for the designated connection group.
  • a method of managing a connection between devices and/or services comprises: designating one connection group in which a plurality of individual connections are grouped and requesting information for the designated connection group; designating one individual connection from the information for the connection group obtained by the requesting and requesting information for the designated individual connection; and obtaining identification information allocated to one service from the information for the individual connection obtained by the requesting and invoking an action using the obtained identification information.
  • a method of presenting a content through data transmission between both devices and/or a service comprises: creating, if at least one auxiliary component is associated with a selected one primary component among a plurality of primary components or a primary component belonging to the content, connection group information and connection information for each of the components; and connecting each created connection information to the created connection group information together with information indicating whether the created connection information is information for a primary or an auxiliary component.
  • a method of providing a user with information about a content object stored in a device comprises: displaying resultant information obtained from querying content objects stored in the device, and providing, if information about a relationship with auxiliary components that should be additionally presented in synchronization with other content is included in information of an object selected from objects included in the resultant information, a screen for selecting a component belonging to the selected object and the auxiliary components based on the information about relationship.
  • the relationship information comprises type information about a relationship and component set information enabling obtainment of a synchronously-presentable combination between a component belonging to at least one component belonging to the arbitrary content and a component belonging to at least one component belonging to the auxiliary content.
  • the relationship information comprises a name representing a relationship and guide information for helping a user select a component from the component set information.
  • an element structure related to an auxiliary content in the meta data has a component package structure so that a plurality of components associated with a single primary compoent pertaining to a primary content may be admitted.
  • the access location information is Universal Resource Locator (URL).
  • instance IDs are received for connections respectively by invoking a connection preparing action for each component to a connection manager service (ConnectionManager service) within both devices, and for each instance ID for the connection, an action for joining to connection group information is invoked to the connection manager service within the both devices.
  • ConnectionManager service connection manager service
  • information indicating an attribute of the auxiliary component is also incorporated in information for connecting.
  • connection preparing action for a connection group is invoked, a connection preparing action for individual connection is invoked for each component.
  • a group connection preparing action for a connection group is invoked.
  • an action of joining each instance ID to a connection group is performed after obtaining an instance ID for all individual connections by invoking a connection preparing action for individual connections for all components necessary for playing a content.
  • information about one connection group includes a type of a connection group, identification information about each individual connection belonging to a connection group, and information indicating whether a corresponding connection is for a primary or auxiliary component, and selectively includes, if a corresponding connection is for an auxiliary component, information indicating an attribute for the component.
  • FIG. IA is a diagram illustrating a configuration of a general UPnP AV network
  • FIG. IB is a flow diagram illustrating a signal flow between devices in a media play process performed in the network of FIG. IA;
  • FIG. 1C is a diagram illustrating a syntax of an instance ID used in a play action
  • FIG. 2 is a diagram illustrating an example of networked devices for constructing item information for a content having an associated auxiliary content and for performing a signal processing between devices and/or services in an implementation
  • FIG. 3A is a flow diagram illustrating a signal flow between devices and/or services in a media play process of a plurality of components performed in the network of FIG. 2 in an implementation
  • FIG. 3B is a flow diagram illustrating a signal flow between devices and/or services in a media play process of a plurality of components performed in the network of FIG. 2 in another implementation;
  • FIG. 3C is a flow diagram illustrating a part of a signal flow between devices and/ or services in another implementation of a process of playing a media of a plurality of components performed in the network of FIG. 2;
  • FIG. 4 is a diagram schematically illustrating a structure of item information constructed by comprising information about an auxiliary content presented by mutually interlocking with an arbitrary content in an implementation
  • FIGS. 5A and 5E are diagrams illustrating preparation examples of additional expression information of FIG. 4 in various implementations;
  • FIG. 6 is a diagram illustrating a preparation example of item information about a content accessorily presented by interlocking with other components without being individually presented;
  • FIGS. 7A and 7B illustrate user selection screens for a multiple component provided in an implementation
  • FIG. 7C illustrates a user selection screen for a content having a multiple component and a single component in an implementation
  • FIG. 7D is a diagram illustrating an example of outputting, when an auxiliary content for interlocking playing with the selected primary component exists for a plurality of attributes, the auxiliary contents to a list for providing selection to a user in an implementation
  • FIG. 8 is a diagram illustrating a syntax of an instance ID using in a play action in an implementation
  • FIG. 9 is a flow diagram illustrating an inquiry and setting action of a value of a synchronous rendering state variable in an implementation
  • FIG. 1OA is a diagram illustrating an example of management information for grouping individual connections constructed by a ConnectionManager service provided within a device in an implementation
  • FIG. 1OB is a diagram illustrating an example in which instance IDs for a group and individual connection are systematically constructed according to the management information constructed in FIG. 1OA; and FIG. 11 is a flow diagram illustrating a process of inquiring or controlling an arbitrary individual connection within a connection group in an implementation. 5. Best Mode for Carrying Out the Invention
  • FIG. 2 is a diagram illustrating an example of networked devices for constructing item information for a content having a related auxiliary component and for performing a signal processing between devices and/or services in an implementation.
  • the network of FIG. 2 is an UPnP-based AV network and comprises a control point
  • This document describes devices and/ or services of a network based on an UPnP standard, however the following description can be just applied even to other network standards by adaptively substituting a necessary element according to a difference in a standard, so that this document is not subjected to an UPnP-based network.
  • item information for a multiple component is constructed by the CDS 221 (which may be a processor for executing software) within the media server 220 and a signal processing for the multiple component is performed mainly using the control point 210 according to a process shown in FIG. 3A.
  • a configuration of devices and a signal processing process described in the following description illustrate a pull way among two ways, i.e. a push way and a pull way for streaming the media component.
  • the push way and the pull way have a difference in devices having or using an AVTransport service for play management of streaming and have a different action direction according to whether a subject of an action is a media server or a media renderer.
  • the both ways have the same method of performing an action, so that a scope of this document is not limited by the illustrative drawings and descriptions.
  • the CDS 221 within the media server 220 prepares item information about media components, i.e. meta data for each component or a component group in a specific language form by searching media files stored in a large volume of storage such as a hard disk.
  • media files having a relationship for a mutually synchronous presentation are regarded as one content and thus single item information is created therefor.
  • FIG. 4 shows an example of a structure of item information generated with such a way. As shown in FIG.
  • auxiliary component for example, a subtitle and sound
  • additional expression information 402 indicating relationship information for specifying various user-experienceable combinations of primary components and auxiliary components are additionally prepared.
  • the CDS 221 examines , based on, for example a name and/or an extension of each file, interrelationships between media files to be regarded as a single content and whether a component is primary or auxiliary component, and may determine, if necessary, from an extension of a corresponding file an attribute of each file (for example, text, image and/or coding algorithm). Further, the CDS 221 may determine, if necessary, the information from header information included in the file by opening the corresponding file, and may easily determine the information for stored media files (or files stored in a movable recording medium) from a database already prepared and stored in the same medium by other application programs.
  • FIG. 5A shows a preparation example of additional expression information 402 in an implementation.
  • an element ( ⁇ userExperienceExpression>) for the additional expression information 402 comprises, for example three parts.
  • a first part 510 is a resource element (a tag ⁇ primary resource>) for a primary component and is an element for allocating an identifier (ID) to a primary component or primary components included in a resources element within the item characteristic information 401.
  • IDs of 1 to n are allocated to the n primary components, respectively (511).
  • a second part 520 is a resources element (a tag ⁇ additional resource>) for the auxiliary component and is an element for allocating an ID to the auxiliary component presented in synchronization with the primary component and for recording a protocol and location information for enabling access of the components.
  • the example of FIG. 5A shows that IDs of 'n+1', 'n+2 1 , ... 'm+1', and 'm+2' are allocated to four auxiliary component packages, respectively. (521).
  • the reason of allocating an ID in form of a package having at least one component instead of allocating an ID to auxiliary components individually is that a normal presentation is possible in the event that a plurality of components (media files) are coupled.
  • a third part 530 is a set of relationship elements for specifying component set information from which synchronous-presentable (user-experienceable) expression combinations of the primary components and the auxiliary components are derived.
  • FIG. 5B shows an illustrative particular example of relationship information in an implementation.
  • the third part 530 defines a component set providing presentable combinations of components to which each identifier is allocated in the first part 510 and the second part 520.
  • each internal relationship tag ( ⁇ relationship>) indicates a single presentable combination.
  • three relationships (531,532,533) defining a component set providing a presentable combination for a current item has prepared and an element ( ⁇ relationship >) 531 of designating a first relationship shows four possible combinations in which a primary component set is 1 and 2 and an auxiliary component set is 'n+1' and 'n+2', an element 532 of designating a second relationship shows that a primary component set is 'n-1' and n, an auxiliary component set is 'n+1' and 'n+2', and another auxiliary component set is 'm+1' and 'm+2', and an element 533 of designating a third relationship shows that a primary component set is 1 and 2 and an auxiliary component set is 'n+3' and 'n+4'.
  • one relationship element is selected, one or a plurality of components can be selected from each component set and presented in mutually synchronized manner.
  • auxiliary components of 'n+1' and 'n+2' for subtitle information that can be presented in synchronization are designated, and auxiliary components 'm+1' and 'm+2' for voice are designated (532a).
  • the CDS 221 specifies auxiliary components 'tn+1 1 and 'm+2' comprising a voice signal (a dialogue in a movie) in a presentation combination, for the corresponding primary components (n-1, n).
  • auxiliary components having a different attribute can be connected to the primary component. Therefore, in order to distinguish them, an attribute parameter named 'order' to an element ( ⁇ additionalComponent>) of designating an auxiliary component and designating a specific value to the parameter is added to distinguish attributes.
  • an order parameter of 0 is assigned to an auxiliary component of subtitle information
  • an order parameter of 1 is assigned to an auxiliary component of voice information.
  • the CDS 221 prepares information about each element ( ⁇ name>, ⁇ usage>, ⁇ subtitleLang>, and ⁇ voice>) indicating a name and a usage corresponding to the corresponding relationship element and attribute information about an auxiliary component.
  • the prepared information in element is provided for a user through a suitable UI by the CP 210, which receives and analyzes meta data for an object, and thus a primary component and an auxiliary component for a presentation can be selected.
  • the CDS 221 also designates a type element ( ⁇ type>) in each relationship element, and each value (for example, TTO or TTOJVOICE) designated in this type element is pre-known to the CDS 221.
  • a preparing method of set information for revealing a component combination for each type is also pre-specified as a policy to the CDS 221.
  • a set of a primary component and an auxiliary component having subtitle information is designated to a value 'TTO' designating a type of subtitle information to be synchronized with a time
  • a set of a primary component, an auxiliary component having voice information, and an auxiliary component having voice information is designated to another value 'TTO-VOICE' designating subtitle information and voice information at the same time.
  • a slide show may be one type, and distinctive value having adequate text for the type can be defined and user for a component providing auxiliary presentation to support a primary component. Therefore, in this document, a type used in a relationship element is not limited to a 'subtitle' and to a 'subtitle and voice'.
  • FIG. 5C is a diagram illustrating a detailed example of prepared relationship information in another implementation.
  • all candidates of a presentation combination are defined in a tag (or element) ⁇ componentList> first.
  • the example shows that primary components presentable for a current item are 1, 2, 'n-1', and n, and auxiliary components are 'n+1', 'n+2', 'n+3', 'n+4', 'm+1', 'm+2' (541).
  • Each presentable combination is defined as a tag ⁇ capability>.
  • FIG. 5C is a diagram illustrating a detailed example of prepared relationship information in another implementation.
  • all candidates of a presentation combination are defined in a tag (or element) ⁇ componentList> first.
  • the example shows that primary components presentable for a current item are 1, 2, 'n-1', and n, and auxiliary components are 'n+1', 'n+2', 'n+3', 'n+4',
  • auxiliary components presentable in synchronization with the primary component 1 are 'n+1' and 'n+2', and shows that a default auxiliary component for synchronization in case of no selection by a user is designated as 'n+1' (542).
  • a set that can be combined for presentation can be added one by one by a ⁇ capability > element.
  • An attribute of an auxiliary component included in a combination for the synchronous presentation for example information on whether voice or a subtitle can be identified by a value of "VaI" which is an attribute argument of a tag ⁇ capability>.
  • a plurality of auxiliary components are allocated to a single primary component, and in this case, the plurality of auxiliary components for a subtitle or voice using different languages are associated with single primary AV component.
  • a name i.e., a name of tag, for example ⁇ relationship>, ⁇ User Experience Name>, ⁇ componentSet>, ⁇ capability>,..
  • a name of tag for example ⁇ relationship>, ⁇ User Experience Name>, ⁇ componentSet>, ⁇ capability>,..
  • FIGS. 5B and 5C A name (i.e., a name of tag, for example ⁇ relationship>, ⁇ User Experience Name>, ⁇ componentSet>, ⁇ capability>,..) of each element used in FIGS. 5B and 5C is only an example, different name that is not presented in this document may be defined and used in the same way as explained above in this document.
  • prepared information of an item is transmitted from the CDS 221 to the CP 210 as a response to a browsing action or a search action and analyzed by the CP 210, and the CP 210 provides a user with proper information enabling selection of a component to play according to the analysis. This is described later.
  • the implementation of FIG. 5A is prepared by directly inserting protocol information
  • FIG. 5D shows additional expression information 402 prepared in the present implementation under the same condition as that of FIG. 5A. As shown in FIG. 5D, an object ID for the corresponding auxiliary component is prepared instead of a protocol and URL information for the component (551). In an implementation of FIG.
  • the CDS 221 constructs objects for components (as described above, these components can be known from a file extension or another method) to be presented auxiliary for other component not to be presented by itself and prepares item information of each object in the same form as shown in FIG. 6.
  • the objects have to be managed in different manner from an object of a component that can be presented by itself, therefore a different type 601, for example "Object.item.TTOItem" is assigned to such objects.
  • a different type 601 for example "Object.item.TTOItem" is assigned to such objects.
  • FIG. 5A in an example of FIG.
  • item information is prepared such that a single object is allocated to a group of auxiliary components if single component in the auxiliary group cannot be normally presented (or may be presented meaninglessly) and normal presentation is possible through only information related to other component data.
  • Item information prepared in FIG. 6 is connected by an Object ID, i.e., "objl234" 602 to indirect information 552 for an auxiliary component in additional expression information prepared in FIG. 5D.
  • protocol information for an auxiliary component and URL information for the component are used in a mixed manner of a direct information shown in FIG. 5A and an indirect information shown in FIG. 5D.
  • FIG. 5E shows a detailed example of additional expression information prepared with the above-mentioned mixed manner.
  • protocol information and URL information for an auxiliary component are directly written or an object ID for the auxiliary component (or auxiliary component package) is written.
  • an object should be allocated to components for recording an object ID and item information for the object should be prepared, as shown in FIG. 6.
  • auxiliary component can be recorded by mixing direct way or indirect way
  • information about a source expression type i.e., "direct” or "indirect” to a resource element ( ⁇ additionalComponentRes>) for the auxiliary component is additionally written (561) so that the CP 210 may be easily identified.
  • the CP 210 for analyzing meta data for the object can easily know protocol information and URL information for the auxiliary component.
  • FIG. 3A is a flow diagram illustrating a signal flow between devices and/or services in a process of playing a media of a multiple component in an implementation.
  • Information of an item prepared by the CDS 221 within the media server 220 through the above-described method is transmitted from the CDS 221 to the CP 210 in response to a browsing action or a search action of the CP 210 (S31).
  • the CP 210 requests protocol information that can be acceptable to the media renderer 230 and obtains the protocol information beforehand (S30).
  • the CP 210 provides from information of objects received at step S31 only objects (items) having protocol information acceptable to the media renderer 230 for a user through a suitable User Interface (UI)(S32-1).
  • UI User Interface
  • the item whose type is "object.item.TT0Item” is not presented to a user.
  • the item whose type is "object.item.TTOItem” is displayed with a color lighter than different type of items so that it can identified differently by a user.
  • a user selects an item (or one of a plurality of components with different bit rates belonging to the item) to be presented by the media renderer 230 from the provided list of objects (S32-2).
  • the CP 210 does not immediately perform actions for a presentation for a component of the selected item. Instead the CP 210 analyzes the additional expression information, and performs additional selection operations accordingly (S32-3).
  • the CP 210 examines elements (in the implementation of FIG. 5B) of Relationship > specifying a relationship for a presentable combination in meta data of the selected item, or a user experience element ( ⁇ User Experience Name>)(in the implementation of FIG. 5C).
  • the CP 210 In the relationship elements or the user experience element, if an ID (this ID can be found in a resource element ( ⁇ primary resource>) of a primary component within the additional expression information 402) of the currently selected component is not described in a ⁇ primaryComponent> element, the CP 210 immediately requests actions (PrepareForConnectionO, SetAVTransportURI(), PlayQ, etc.) sequentially for playing the selected component, and if an ID of the currently selected component is written in a ⁇ primaryComponent> element, the CP 210 additionally presents a selection list according to information specified by a corresponding relationship element or a user experience element to a user.
  • FIG. 7A is an illustrative example for this case and is prepared for the first relationship element 531 of FIG. 5B.
  • FIG. 7A shows an example in which components (or component packages) of ID 'n+1' and 'n+2', which are auxiliary components of subtitle associated with a selected primary component of ID 1 are listed 701 for user's selection. Because it is supposed that a single primary component is selected in order to describe an implementation, when combination information by a relationship element or a user experience element is displayed, in order to show that primary component (the primary component 1 in a shown example) is already selected from a primary component set included in the relationship element or the user experience element, a distinctively-identifiable displaying way 701 may be used. In addition to, a selection bar for selecting a component is positioned in an auxiliary component set. In an example of FIG.
  • each component is identified by IDs of components for drawing convenience, however information actually displayed to a user may be a file name or an object title (in the case that auxiliary components are allocated to a separate object as shown in FIG. 6) corresponding to the corresponding component.
  • the CP 210 provides a selection window 702 in which a name of each relationship element and additional information (information specified by a ⁇ subtitleLang> element is used in the example of FIG. 7B) written in an internal element are listed as shown in FIG. 7B so that a relationship element or a combination is selected by a user. If one relationship element or one combination is selected from the window, the selection screen example shown in FIG. 7A is provided. If an item of 'subtitle (Korean)' is selected in a displayed example of FIG. 7B, the CP 210 outputs a selection screen such as FIG. 7A.
  • the CP 210 may additionally provide explanation enabling a user to easily recognize in addition to the illustrated display information.
  • information corresponding to the value may be displayed on the selection window along with a text or graphic information.
  • a selection screen such as FIG. 7A or 7B is not provided. Instead, a selection screen such as FIG. 7C is provided immediately after analyzing the additional expression information 402 of the corresponding meta data when an item is selected.
  • a single item listed on a multiple-component window in a selection screen illustrated in FIG. 7C corresponds to a single relationship element or a single or a plurality of tags ⁇ capability >. Therefore, if a user selects one item belonging to the multiple-component window in a provided selection screen, the CP 210 provides a selection screen such as FIG.
  • the CP 210 provides selectable sets 712 for all component elements or combinable elements as shown in FIG. 7D and receives selections of an auxiliary component (or a component package) from each selectable set.
  • an attribute of each combinable element for example, information indicating subtitle or voice may be displayed at an upper area of each selectable set.
  • the CP 210 obtains from the related elements protocol information and URL information for the selected component. That is, the protocol information and URL information for the primary component is obtained from an element ⁇ res> within characteristic information prepared according to a conventional method, and the protocol information and URL information for the auxiliary component is obtained from the above- described element ⁇ additional resource>.
  • the CP 210 obtains corresponding protocol information and URL information using corresponding indirect information, i.e., an object ID as index information.
  • protocol information and URL information is obtained from a corresponding element (the element ⁇ additionalComponent>) written within meta data that has been received for a corresponding object ID through a previous browsing operation or is received through a search action with the corresponding ID in an input argument thereof invoked to the CDS 221 if it has not been received through a previous browsing operation.
  • the protocol information of an auxiliary component obtained through the above- described process is not matched with the previously obtained admittable protocols of the media renderer 230, the corresponding auxiliary component is ignored and the below-explained operations to request the media renderer 230 to present does not conducted. Instead, a notification message such as "The selected auxiliary component cannot be presented by the media renderer! may be outputted to a user.
  • the CP 210 invokes a connection preparing action (PrepareForConnectionQ) to the media server 220 and the media renderer 230 respectively and receives instance IDs for members involved in presentation of streaming between devices (S33-1, S33-2).
  • the instance IDs are used to designate and control later each component in a streaming service to be conducted.
  • An example of a signal processing flow of FIG. 3A illustrates a case where two auxiliary components (or one auxiliary component package) are associated with one primary component and shows that identical action are invoked three times (of course, the input arguments of the actions have different information because they are prepared for mutually different components) between devices and/ or services.
  • the instance ID is a set of IDs allocated for individual services, however for convenience and simplicity, it is referred to as 'instance ID'.
  • the term of an instance ID means a set of instance IDs allocated for all participating services for one connection.
  • the instance ID defined in FIG. 8 corresponds to a variable list (Comma Separated Variables of ui4s) in which one or more ui4- formatted identifiers are separated by a comma in a list.
  • a variable list Common Separated Variables of ui4s
  • the AVTransport service instance ID included in each instance ID obtained from the previous connection preparing action is inserted into each field separated by a comma.
  • the AVTransport service 233 of the media Tenderer 230 received the play action examines a list carried by the instance ID of the input argument and conducts streaming or downloading through appropriate information communication with the media servers 220 for components corresponding to the connections identified by all instance IDs included in the examined list.
  • the streamed or downloaded components are mutually synchronously decoded (S36) by a rendering module 231a including corresponding decoders (or a decoder with multi- decoding function) under control of a RenderingControl service 231.
  • S36 serially decoded
  • a rendering module 231a including corresponding decoders (or a decoder with multi- decoding function) under control of a RenderingControl service 231.
  • all components for which play is requested are not transmitted at same ratio from the media server 220 to the media renderer 230.
  • a certain component may be transmitted more than other components in playing-time view of point, or one of components for which play is requested may be delayed in start time of transmission in comparison with other components. If such a case occurs, a content may be played without a presentation of a certain one component during some interval after play start although a play request is simultaneously (in a case that transmission of a certain one component is started in delay) or a certain one component may not be presented a while after synchronous presentation is started (in a case that mutually synchronous presentation is started without data buffering of a certain component enough to guarantee seamless play).
  • the RenderingControl service 231 defines and uses a state variable for controlling a synchronous rendering, for example, a variable named 'ActiveSynchronousHandling' and adjusts a start time point of a rendering a multiple component according to a value of the state variable.
  • the RenderingControl service 231 instructs the rendering module 231a to decode simultaneously the moment the buffered data amount of each component corresponds to a predetermined playing time, for example one or more minute, whereby synchronous play of a multiple component is stably conducted.
  • a value of the state variable is 'FALSE', decoding for a component that has been received or being received is started the moment any one component satisfies a condition of a buffering amount.
  • the state variable may be named another one, for example a 'PlaySameTime 1 .
  • the CP 210 invokes a state variable setting action for setting the synchronous rendering state variable to TRUE to the RenderingControl service 231 (S802), as shown in FIG. 9.
  • This action invoked to the RenderingControl service 231 carries an input argument including a pair of "variable-value" in which a value of the synchronous rendering state variable ActiveSynchronousHandling is set to 'TRUE'.
  • an action for requesting to set the state variable may not be invoked to the RenderingControl service 231 dependent upon a user's setting option for a multiple-component play action.
  • the CP 210 invokes an action (GetS tate Variables Q) of querying current state variables set to the RenderingControl service 231 (S801), as shown in FIG. 9, checks a value of the synchronous rendering state variable in a received output argument of 'State VariableValuePaks', and may invoke, only when the value is FALSE, the action of setting a value of the synchronous rendering state variable, as described above (S802).
  • GetS tate Variables Q of querying current state variables set to the RenderingControl service 231
  • a synchronous rendering state variable in an implementation can be also applied to other methods for synchronous play of a multiple component.
  • instance IDs for each individual connection are listed in an argument and delivered through a play request action to participating services.
  • individual components belonging to a multiple component are grouped and an instance ID is defined for the grouped connection group and a play request action of the multiple component may be invoked using the instance ID for the group.
  • the above-described synchronous rendering state variable can be applied and used as the same method explained above. This implementation is described in detail hereinafter.
  • FIG. 3B illustrates a process for requesting a play after grouping individual connections in another implementation.
  • steps S30, S31, and S32-1 to S32-3 are performed the same as FIG. 3A shows and therefore a detailed description thereof is omitted.
  • the CP 210 performs the following connection preparing operations for a primary component and an auxiliary component for which protocol information and URL information have been obtained through the same method as that of the above-described implementation. Actions for the connection preparing operations are invoked respectively for each of a connection group and individual connections. That is, as shown in FIG.
  • the CP 210 invokes a connection preparing action (PrepareForConnectionQ) for individual connection for each component to the media server 220 and the media renderer 230 respectively.
  • a connection preparing action PrepareForConnectionQ
  • instance IDs for participation services to be involved in presentation of streaming between the devices are received (S94-1, S94-2).
  • the CP 210 invokes a group join action (AddtoGroupQ) to connect an instance ID for an individual connection to the previously received instance ID for a group connection that is received by a group connection preparing action.
  • the group join action is invoked as many times as the number of individual connections (S95-1, S95-2).
  • the instance ID for a connection group and the instance ID for one individual connection to be joined to the connection group are included in an input argument of each group join action.
  • connection preparing actions are invoked respectively for individual connections (S94-1, S94-2).
  • action sequence may be performed in a reverse order.
  • a group connection preparing action and connection preparing actions for individual connections are performed regardless of the order.
  • the CM service constructs management information for mapping an instance ID for a connection group and an instance ID for individual connection that are delivered by each group join action.
  • FIG. 1OA shows an example of the management information for grouping individual connections constructed by a ConnectionManager service 232 within the media renderer 230 (Because the media renderer 230 of FIG. 2 equips with the AVTransport service 233, an AVTransport service instance ID is provided in response to the connection preparing action. Thus the instance ID of the AVTransport service is also included in the instance ID for a connection.), and FIG. 1OB is a schematic diagram illustrating an example in which instance IDs for a group connection and individual connections are systematically constructed.
  • mapping information for the instance IDs illustrated in FIG. 1OA information, for example, a type, information on whether an individual connection is for primary or auxiliary component, and order parameter information of an auxiliary component, etc., received via input arguments of a group connection preparing action and a group join action are also stored and managed as management information by the CM service (222 or 232).
  • each of ConnectionManager services can identify an instance ID for an action-requested service of an individual connection with reference to the constructed mapping information such as FIG. 1OA and can identify and identify a related resource using the identified instance ID.
  • the CP 210 may immediately invoke an action (AddtoGroupQ) for joining an any individual connection to a connection group set previously by a group connection preparing action before the corresponding connection as soon as an instance ID of the any individual connection is received, as shown in FIG. 3C.
  • FIG. 3C shows that a group join action is immediately invoked when a response to a connection preparing action is received but does not show that a connection preparing action for a next connection should be sequentially performed after one group join action. That is, in this document, as shown in the implementation of FIG. 3C, a group join action (AddtoGroupQ) for an individual connection can be performed regardless of whether a response to a connection preparing action (PrepareForConnectionQ) for another individual connection is received.
  • the CP 210 invokes an action (SetAVTransportURI Q) for setting access location information, for example, URL information of the each component to the AVTransport service 233 (S96).
  • a play action is then invoked to the AVTransport service 233.
  • the play action uses the received AVTransport service instance ID for connection group (Instance_GrAVTID) (S97).
  • the AVTransport service instance ID for connection group used in the play action is mapped to the AVTransport service instance ID for an individual connection by the ConnectionManager service 232 and the AVTransport service instance ID for an individual connection is transmitted to the AVTransport service 233, whereby play operations for all individual connections can be started at the same time. Accordingly, data of the selected components are streamed or downloaded through a proper information communication between the media renderer 230 and the media server 220 and thus are synchronously decoded and outputted by the rendering module 231a under control of the RenderingControl service 231 (S98).
  • an action are streamed or downloaded through a proper information communication between the media renderer 230 and the media server 220 and thus are synchronously decoded and outputted by the rendering module 231a under control of the RenderingControl service 231 (S98).
  • CP 210 invokes an action (for example, AVT:StopQ, AVT:PauseQ, RCS:SetVolumeQ, RCS:SetMuteQ, etc.) matched with user's request to the media renderer 230 when a user requests control (play stop, temporary suspension, search, and speed change play (trick play), etc.) of a specific play operation or change (volume adjustment, audio output stop, brightness adjustment, etc.) of rendering state.
  • the invoked action matched with user's request uses an instance ID for a connection group allocated to streaming of a multiple component currently in service.
  • a service receiving the action can translate the instance ID for a connection group to an instance ID of an individual connection corresponding to the action and identify one individual connection.
  • an instance ID for an individual connection pertaining to the connection group may be used after being obtained. This method is described hereinafter.
  • the CP 210 that generates a corresponding connection group or another CP that newly participates to a network can select a desired one connection among grouped individual connections and query information about the selected connection or control the selected connection.
  • FIG. 11 shows one example for such a case and illustrates a process of querying information related to a play of a media content corresponding to a certain individual connection belonging to a connection group in another implementation.
  • FIG. 11 illustrates action invocation with the media renderer 230, however may be applied to action invocation with another device, for example the media server 220.
  • CM ConnectionManager service
  • the CP 290 selects one connection group from the received information.
  • a condition necessary for selecting one connection group is determined according to information entered by a user. If one connection group is selected, the connection group information querying action (GetGroupConnectionlnfoQ) with an input argument carrying a CM instance ID (instance_GrCMID) for the selected connection group is invoked to the CM 232.
  • GetGroupConnectionlnfoQ the connection group information querying action with an input argument carrying a CM instance ID (instance_GrCMID) for the selected connection group is invoked to the CM 232.
  • the CM 232 obtains, from management information currently managing for a connection group, a type of a connection group (for example, a type of a relationship element from which the connection group is established) designated by an input argument of the action, CM instance IDs of all individual connections belonging to the connection group, information (primary/ optional) on whether a component of each individual connection is for primary or auxiliary, and a value of an order parameter in case of auxiliary component, and then provides the obtained information for the CP 290 (S 1102) as a response to the query action.
  • a type of a connection group for example, a type of a relationship element from which the connection group is established
  • CM instance IDs of all individual connections belonging to the connection group information (primary/ optional) on whether a component of each individual connection is for primary or auxiliary, and a value of an order parameter in case of auxiliary component
  • the CP 290 selects one individual connection from the received information.
  • a condition necessary for selecting one individual connection is determined based on information entered by a user. For example, when a user requests to inquire track information or a play time of a primary component being currently played, an individual connection designated to 'primary' is selected, and when changing a subtitle or a voice language etc., of a content being played is intended, a connection to which 'optional' is designated, and of which order parameter is also matched with the intended attribute is selected. If an individual connection is selected, a current connection information querying action (GetCurrentConnectionlnfoO) with an input argument carrying a CM instance ID (instance_CMID) for the selected individual connection is invoked to the CM 232.
  • GetCurrentConnectionlnfoO GetCurrentConnectionlnfoO
  • CM instance ID instance_CMID
  • the CP 290 determines an action target service and action type suitable for user's request using the received information, and invokes the determined type of action to the determined service.
  • media information is requested to the AVTransport service 233.
  • an instance_AVTID which is an instance ID of the AVTransport service included in the received information, is carried by an input argument of the action.
  • the AVTransport service 233 transmits to the CP 290 various state information shown in FIG. 11 which is managed for the corresponding connection (S 1104).
  • the CP 210 or 290 releases a state in which the connection group is established.
  • the CP 210 or 290 invokes an action (RemoveFromGroup Q) for removing an individual connection from a group to CM services 222 and 232 for each individual connection to release.
  • the removing action includes in an input argument thereof an instance ID for the connection group and an instance ID for an individual connection to release from the connection group.
  • the CM 222 or 232 received the removing action, deletes an instance ID from the ID mapping information constructed as shown in FIG. 1OA.
  • the deleted instance ID is one identical to an instance ID for individual connection carried by the input argument of the received action and is linked with an instance ID for a connection group that is identical to an instance ID for a connection group carried by the input argument of the received action.
  • the CM service 222 or 232 examines the ID mapping information for the corresponding connection group and deallocates an instance ID for the connection group to be reused by another connection group if no instance ID for an individual connection associated with the corresponding connection group is remained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

When a content is to be presented through data transfer between both devices on a network, the present invention obtains connection information about each component pertaining to a multiple component by invoking a connection preparing action for each component, and invokes a play action of which an input argument carries a connection group information or a list of the obtained pieces of connection information. As a result, the multiple component starts playing at the same time. In addition, the present invention sets a state variable to a certain value ensuring synchronous presentation in order that rendering of every component pertaining to a multiple component starts simultaneously.

Description

D E S C R I P T I O N
METHOD FOR MANAGING AND PROCESSING INFORMATION OF AN OBJECT FOR PRESENTATION OF MULTIPLE SOURCES
1. Technical Field
5 This document relates to a method of managing information about content sources stored in an arbitrary device on a network, for example an UPnP-based network and processing information between network devices according to the information.
2. Background Art
An UPnP™ (hereinafter, referred to as "UPnP")-based network proposed for home 10 networking basically comprises a plurality of UPnP devices, a service, and a control point (CP). In the UPnP network, a service indicates a minimum controlled unit in a network and is modeled by a state variable.
In the UPnP-based network, the control point is a control application having a function of detecting and controlling other devices and/or services and is installed in an arbitrary device, 15 for example physical devices such as a PDA that a user is easily capable of handling.
As shown in FIG. IA, an UPnP-based AV home network comprises a media server
(MS) 120 for providing media data for a home network, a media renderer 130 (MR) for playing the media data provided through the home network, and an AV control point 110 for controlling the media server 120 and the media renderer 130. The media server 120 and the media renderer
20 130 are a controlled device controlled by the control point 110.
The media server 120 (more particularly, a Content Directory Service (CDS) 121 within the media server 120) constructs object information from information about containers (corresponding to a directory) and media files loaded in itself. An 'object' is a term to cover an item having information about one or more media file and a container having information about 25 a directory, and in some cases, a term 'object' indicates only an item or only a container. One item corresponds to one or a plurality of media files. For example, a plurality of media files having an identical content of a different bit rate is managed as one item.
FIG. IB illustrates a signal flow between devices and/or services for a media play process performed in the network of FIG. IA. A displayed play process is described as follows. 30 First, the control point 110 obtains information about a protocol which the media renderer 130 can accept (SOl). In order to provide information about a directory and a media file under the corresponding directory for the control point 110, whenever an UPnP action 141, for example a browsing action is invoked according to user request (SlO), the media server (MS) 120 provides information about a current directory and item information about media files under the directory.
The CP 110 excludes, from the received information about each object, information about an item whose protocol is not matched with acceptable protocols provided from the media tenderer 130, displays the information through a proper User Interface (UI) for a user (SIl-I), invokes, if a user selects one item (or one media file of a specific quality belonging to the item) through the UI (SIl -2), a connection preparing action (PrepareForConnectionQ) to the media server 120 and the media renderer 130 for preparing presentation of the selected media file (hereinafter, referred to as a 'component' or a 'media component'), and receives an instance ID for participating members (CM: ConnectionManager service, AVT: AVTransport service, and RCS: RenderingControl service) required for a presentation through streaming between both devices (120,130) (S12-1, S12-2). The instance ID is used to specify and control later a streaming service to be currently performed (for example, a SetVolumeQ action uses a previously received instance ID of RCS in order to adjust a current volume in a rendering of a streaming being presented (S15-1)). The CP 110 sets access location information about a previously selected component, for example Universal Resource Locator (URL) information to an AVTransport service 133 (in the example of FIG. IA, the AVTransport service is installed in the media renderer 130, however may be installed in the media server 120) through an action (Sl 3), then invokes to the AVTransport service 133 a play action with an input argument carrying an instance ID of AVTransport service having an unsigned-integer-4-byte (ui4) format, as defined in FIG. 1C (S14), and thereby enabling a presentation by the RCS 131 after data of the selected component are streamed through a proper information exchange process between the media renderer 130 and the media server 120 (S 15).
In order to further present one media file during the presentation (Sl 5), the above- described processes (Sl 1-2, S12-1, S12-2, S13, and S14) should be again performed after the presentation starts. Sometimes, SlO and Sl 1-1 may be also performed.
However, when they should be synchronously played (hereinafter, two or more mutually associated media components are referred to as a 'multiple component') because two or more media components are mutually associated each other, for example, when one media component is a movie and the other one component is a subtitle (or caption) of the movie, it is not satisfactory to apply the method of sequentially playing two or more media components. Sequential playing of two or more media components can not ensuring a synchronous presentation in the media renderer due to time delay. 3. Disclosure of the Invention An aspect of this document is to provide a method of constructing information about an item so that a presentation for media components associated each other that should be presented synchronously may be accurately performed, and processing a signal between devices and/ ot services according to the constructed information.
Another aspect of this document is to provide a method of managing individual connections for components pertaining to a multiple component as a group.
Another aspect of this document is to provide a method of simultaneously performing a presentation of media components associated each other through information to be set to a device or a service.
In one general aspect, a method of presenting a content through data transmission between both devices and/or a service, comprises: creating connection group information, if at least one auxiliary component is associated with a selected one primary component among a plurality of primary components or a primary component belonging to a content, and creating connection information for each of the components; and connecting the created each connection information to the created connection group information.
In another aspect, a method of presenting a content through data transmission between both devices and/or a service, comprises: creating connection group information; connecting connection information for each of connections to the created connection group information; and controlling a presentation of a component designated by the individual connection using the connection group information.
In another aspect, a method of presenting a content through data transmission between both devices and/or a service, comprises: obtaining connection information by invoking a connection preparing action for components belonging to a multiple component respectively; and invoking a play request action including in an input argument a list of connection information obtained for the each component.
In another aspect, a method of presenting a content, comprises: receiving a play request action for a multiple component; checking a value of a state variable; and determining a time point to start rendering data of the multiple component according to the value.
In another aspect, a method of presenting a content, comprises: invoking an action of querying a state variable for indicating whether a synchronous rendering of a multiple component is set; and invoking an action of setting a value of a state variable according to the value of the state variable queried by the action. In an implementation, a list of connection information is information in which instance
IDs obtained for each of components belonging to a multiple component are individually separated by a delimiter.
In an implementation, before the play request action is invoked, an action of setting the state variable for indicating whether a synchronous rendering is required is invoked. In an implementation, the state variable for indicating whether a synchronous rendering is required is a variable managed by a RenderingControl service for controlling a rendering of video and/ or audio data. In an implementation, in a case where the state variable is a value indicating a synchronous rendering, when data of each component belonging to a multiple component for which play is requested are buffered so that a mutual synchronous play is seamlessly performed, a rendering is started. In another aspect, a method of presenting a content through data transmission between both devices, comprises: invoking an action of setting a state variable used to control a synchronous rendering of a multiple component; and invoking a play request action for the multiple component.
In an implementation, the play request action includes in an input argument a list of connection information obtained for each of components belonging to the multiple component. In another implementation, the play request action includes in an input argument connection group information in which connection information corresponding to each of components belonging to the multiple component is grouped.
In another aspect, a method of preparing data for stored content, comprises: creating meta data including protocol information and access location information for an arbitrary content; creating protocol information and access location information for an auxiliary content associated with the arbitrary content; incorporating in the meta data the created protocol information and access location information or link information for enabling obtainment of the created protocol information and access location information; and creating relationship information between at least one component belonging to the arbitrary content and at least one component belonging to the auxiliary content, and incorporating the created relationship information in the meta data.
In another aspect, a method of managing a connection between devices and/ or services, comprises: requesting information for connection groups, each of which being a group of a plurality of individual connections and obtaining the information for the connection groups; and designating one connection group from the obtained information for the connection groups and requesting and obtaining information for the designated connection group.
In another aspect, a method of managing a connection between devices and/or services, comprises: designating one connection group in which a plurality of individual connections are grouped and requesting information for the designated connection group; designating one individual connection from the information for the connection group obtained by the requesting and requesting information for the designated individual connection; and obtaining identification information allocated to one service from the information for the individual connection obtained by the requesting and invoking an action using the obtained identification information. In another aspect, a method of presenting a content through data transmission between both devices and/or a service, comprises: creating, if at least one auxiliary component is associated with a selected one primary component among a plurality of primary components or a primary component belonging to the content, connection group information and connection information for each of the components; and connecting each created connection information to the created connection group information together with information indicating whether the created connection information is information for a primary or an auxiliary component. In another aspect, a method of providing a user with information about a content object stored in a device, comprises: displaying resultant information obtained from querying content objects stored in the device, and providing, if information about a relationship with auxiliary components that should be additionally presented in synchronization with other content is included in information of an object selected from objects included in the resultant information, a screen for selecting a component belonging to the selected object and the auxiliary components based on the information about relationship.
In an implementation, the relationship information comprises type information about a relationship and component set information enabling obtainment of a synchronously-presentable combination between a component belonging to at least one component belonging to the arbitrary content and a component belonging to at least one component belonging to the auxiliary content.
In an implementation, the relationship information comprises a name representing a relationship and guide information for helping a user select a component from the component set information. In an implementation, an element structure related to an auxiliary content in the meta data has a component package structure so that a plurality of components associated with a single primary compoent pertaining to a primary content may be admitted.
In an implementation, the access location information is Universal Resource Locator (URL). In an implementation, instance IDs are received for connections respectively by invoking a connection preparing action for each component to a connection manager service (ConnectionManager service) within both devices, and for each instance ID for the connection, an action for joining to connection group information is invoked to the connection manager service within the both devices. In an implementation, when connecting each connection information to the created connection group information, if a corresponding connection is for an auxiliary component, information indicating an attribute of the auxiliary component is also incorporated in information for connecting.
In an implementation, after a group connection preparing action for a connection group is invoked, a connection preparing action for individual connection is invoked for each component.
In another implementation, after a connection preparing action for individual connection is invoked for each component, a group connection preparing action for a connection group is invoked.
In an implementation, an action of joining each instance ID to a connection group is performed after obtaining an instance ID for all individual connections by invoking a connection preparing action for individual connections for all components necessary for playing a content.
In another implementation, if an instance ID of an individual connection for any one of all components necessary is obtained, an action of joining the obtained instance ID to a connection group is invoked regardless of obtainment of an instance ID for other individual connections. In an implementation, information about one connection group includes a type of a connection group, identification information about each individual connection belonging to a connection group, and information indicating whether a corresponding connection is for a primary or auxiliary component, and selectively includes, if a corresponding connection is for an auxiliary component, information indicating an attribute for the component. 4. Brief Description of the Drawings
FIG. IA is a diagram illustrating a configuration of a general UPnP AV network;
FIG. IB is a flow diagram illustrating a signal flow between devices in a media play process performed in the network of FIG. IA;
FIG. 1C is a diagram illustrating a syntax of an instance ID used in a play action; FIG. 2 is a diagram illustrating an example of networked devices for constructing item information for a content having an associated auxiliary content and for performing a signal processing between devices and/or services in an implementation;
FIG. 3A is a flow diagram illustrating a signal flow between devices and/or services in a media play process of a plurality of components performed in the network of FIG. 2 in an implementation;
FIG. 3B is a flow diagram illustrating a signal flow between devices and/or services in a media play process of a plurality of components performed in the network of FIG. 2 in another implementation;
FIG. 3C is a flow diagram illustrating a part of a signal flow between devices and/ or services in another implementation of a process of playing a media of a plurality of components performed in the network of FIG. 2;
FIG. 4 is a diagram schematically illustrating a structure of item information constructed by comprising information about an auxiliary content presented by mutually interlocking with an arbitrary content in an implementation; FIGS. 5A and 5E are diagrams illustrating preparation examples of additional expression information of FIG. 4 in various implementations;
FIG. 6 is a diagram illustrating a preparation example of item information about a content accessorily presented by interlocking with other components without being individually presented;
FIGS. 7A and 7B illustrate user selection screens for a multiple component provided in an implementation; FIG. 7C illustrates a user selection screen for a content having a multiple component and a single component in an implementation;
FIG. 7D is a diagram illustrating an example of outputting, when an auxiliary content for interlocking playing with the selected primary component exists for a plurality of attributes, the auxiliary contents to a list for providing selection to a user in an implementation; FIG. 8 is a diagram illustrating a syntax of an instance ID using in a play action in an implementation;
FIG. 9 is a flow diagram illustrating an inquiry and setting action of a value of a synchronous rendering state variable in an implementation;
FIG. 1OA is a diagram illustrating an example of management information for grouping individual connections constructed by a ConnectionManager service provided within a device in an implementation;
FIG. 1OB is a diagram illustrating an example in which instance IDs for a group and individual connection are systematically constructed according to the management information constructed in FIG. 1OA; and FIG. 11 is a flow diagram illustrating a process of inquiring or controlling an arbitrary individual connection within a connection group in an implementation. 5. Best Mode for Carrying Out the Invention
Hereinafter, implementations of this document will be described in detail with reference to the accompanying drawings. FIG. 2 is a diagram illustrating an example of networked devices for constructing item information for a content having a related auxiliary component and for performing a signal processing between devices and/or services in an implementation.
The network of FIG. 2 is an UPnP-based AV network and comprises a control point
210, a media server 220, and a media renderer 230. This document describes devices and/ or services of a network based on an UPnP standard, however the following description can be just applied even to other network standards by adaptively substituting a necessary element according to a difference in a standard, so that this document is not subjected to an UPnP-based network.
In an implementation, item information for a multiple component is constructed by the CDS 221 (which may be a processor for executing software) within the media server 220 and a signal processing for the multiple component is performed mainly using the control point 210 according to a process shown in FIG. 3A.
A configuration of devices and a signal processing process described in the following description illustrate a pull way among two ways, i.e. a push way and a pull way for streaming the media component. However, the push way and the pull way have a difference in devices having or using an AVTransport service for play management of streaming and have a different action direction according to whether a subject of an action is a media server or a media renderer. However, the both ways have the same method of performing an action, so that a scope of this document is not limited by the illustrative drawings and descriptions.
The CDS 221 within the media server 220 prepares item information about media components, i.e. meta data for each component or a component group in a specific language form by searching media files stored in a large volume of storage such as a hard disk. In this case, media files having a relationship for a mutually synchronous presentation are regarded as one content and thus single item information is created therefor. FIG. 4 shows an example of a structure of item information generated with such a way. As shown in FIG. 4, for primary component (for example, AV stream) or primary components among components regarded as a single item, in addition to item characteristic information 401 including a resources element (<resource>) as in the prior art, information about an auxiliary component (for example, a subtitle and sound) or auxiliary components among the components and additional expression information 402 indicating relationship information for specifying various user-experienceable combinations of primary components and auxiliary components are additionally prepared.
The CDS 221 examines , based on, for example a name and/or an extension of each file, interrelationships between media files to be regarded as a single content and whether a component is primary or auxiliary component, and may determine, if necessary, from an extension of a corresponding file an attribute of each file (for example, text, image and/or coding algorithm). Further, the CDS 221 may determine, if necessary, the information from header information included in the file by opening the corresponding file, and may easily determine the information for stored media files (or files stored in a movable recording medium) from a database already prepared and stored in the same medium by other application programs.
FIG. 5A shows a preparation example of additional expression information 402 in an implementation. In the implementation of FIG. 5A, an element (<userExperienceExpression>) for the additional expression information 402 comprises, for example three parts. A first part 510 is a resource element (a tag <primary resource>) for a primary component and is an element for allocating an identifier (ID) to a primary component or primary components included in a resources element within the item characteristic information 401. In an example of FIG. 5A, IDs of 1 to n are allocated to the n primary components, respectively (511).
A second part 520 is a resources element (a tag <additional resource>) for the auxiliary component and is an element for allocating an ID to the auxiliary component presented in synchronization with the primary component and for recording a protocol and location information for enabling access of the components. The example of FIG. 5A shows that IDs of 'n+1', 'n+21, ... 'm+1', and 'm+2' are allocated to four auxiliary component packages, respectively. (521). The reason of allocating an ID in form of a package having at least one component instead of allocating an ID to auxiliary components individually is that a normal presentation is possible in the event that a plurality of components (media files) are coupled. In the example of FIG. 5A, because a file of "Terminator. sub" stores image information for a subtitle and a file of "Terminatoridx" stores timing information to synchronize the subtitle information stored in the "Terminator. sub" with AV data (for example, an AV media file of "Terminator.mpeg") of a primary component, components of the both files ("Terminatotsub" and "Terminator.idx") are assigned to a single component package, so that a single identifier (n+1) is allocated to that package (522).
A third part 530 is a set of relationship elements for specifying component set information from which synchronous-presentable (user-experienceable) expression combinations of the primary components and the auxiliary components are derived. FIG. 5B shows an illustrative particular example of relationship information in an implementation. As shown in FIG. 5B, the third part 530 defines a component set providing presentable combinations of components to which each identifier is allocated in the first part 510 and the second part 520. In the example of FIG. 5B, each internal relationship tag (<relationship>) indicates a single presentable combination.
In an example of FIG. 5B, three relationships (531,532,533) defining a component set providing a presentable combination for a current item has prepared and an element (< relationship >) 531 of designating a first relationship shows four possible combinations in which a primary component set is 1 and 2 and an auxiliary component set is 'n+1' and 'n+2', an element 532 of designating a second relationship shows that a primary component set is 'n-1' and n, an auxiliary component set is 'n+1' and 'n+2', and another auxiliary component set is 'm+1' and 'm+2', and an element 533 of designating a third relationship shows that a primary component set is 1 and 2 and an auxiliary component set is 'n+3' and 'n+4'. When one relationship element is selected, one or a plurality of components can be selected from each component set and presented in mutually synchronized manner.
Explaining a prepared example of relationship shown in FIG. 5B in more detail, in a first relationship element, auxiliary components for subtitle information that can be presented in synchronization with each of the primary components 1 and 2 are designated to 'n+1' and 'n+2' (53 Ia) (that is, a synchronous presentable combination may be one of (primary, auxiliary) = (1, n+1), (1, n+2), (2, n+1), and (2, n+2)). In a second relationship element, to each of the primary components 'n-1' and n, auxiliary components of 'n+1' and 'n+2' for subtitle information that can be presented in synchronization are designated, and auxiliary components 'm+1' and 'm+2' for voice are designated (532a). In the example of FIG. 5B, on the assumption that an audio signal is not included in the primary components 'n-1' and n, the CDS 221 specifies auxiliary components 'tn+11 and 'm+2' comprising a voice signal (a dialogue in a movie) in a presentation combination, for the corresponding primary components (n-1, n). As in an example of the second relationship element 532, a plurality of auxiliary components having a different attribute can be connected to the primary component. Therefore, in order to distinguish them, an attribute parameter named 'order' to an element (<additionalComponent>) of designating an auxiliary component and designating a specific value to the parameter is added to distinguish attributes. In the example of FIG. 5B, an order parameter of 0 is assigned to an auxiliary component of subtitle information, and an order parameter of 1 is assigned to an auxiliary component of voice information. In order to use the relationship information as guide information for helping a user easily recognize and select, the CDS 221 prepares information about each element (<name>, <usage>, <subtitleLang>, and <voice>) indicating a name and a usage corresponding to the corresponding relationship element and attribute information about an auxiliary component. The prepared information in element is provided for a user through a suitable UI by the CP 210, which receives and analyzes meta data for an object, and thus a primary component and an auxiliary component for a presentation can be selected.
The CDS 221 also designates a type element (<type>) in each relationship element, and each value (for example, TTO or TTOJVOICE) designated in this type element is pre-known to the CDS 221. A preparing method of set information for revealing a component combination for each type is also pre-specified as a policy to the CDS 221. In the example of FIG. 5B, a set of a primary component and an auxiliary component having subtitle information is designated to a value 'TTO' designating a type of subtitle information to be synchronized with a time, and a set of a primary component, an auxiliary component having voice information, and an auxiliary component having voice information is designated to another value 'TTO-VOICE' designating subtitle information and voice information at the same time. Besides the mentioned types, various types can be defined and used. For example, a slide show may be one type, and distinctive value having adequate text for the type can be defined and user for a component providing auxiliary presentation to support a primary component. Therefore, in this document, a type used in a relationship element is not limited to a 'subtitle' and to a 'subtitle and voice'.
FIG. 5C is a diagram illustrating a detailed example of prepared relationship information in another implementation. In an example of FIG. 5C, all candidates of a presentation combination are defined in a tag (or element) <componentList> first. The example shows that primary components presentable for a current item are 1, 2, 'n-1', and n, and auxiliary components are 'n+1', 'n+2', 'n+3', 'n+4', 'm+1', 'm+2' (541). Each presentable combination is defined as a tag <capability>. Then example of FIG. 5C shows that auxiliary components presentable in synchronization with the primary component 1 are 'n+1' and 'n+2', and shows that a default auxiliary component for synchronization in case of no selection by a user is designated as 'n+1' (542). A set that can be combined for presentation can be added one by one by a < capability > element. An attribute of an auxiliary component included in a combination for the synchronous presentation, for example information on whether voice or a subtitle can be identified by a value of "VaI" which is an attribute argument of a tag <capability>.
In a prepared example of FIG. 5C, a plurality of auxiliary components are allocated to a single primary component, and in this case, the plurality of auxiliary components for a subtitle or voice using different languages are associated with single primary AV component.
A name (i.e., a name of tag, for example <relationship>, <User Experience Name>, <componentSet>, <capability>,..) of each element used in FIGS. 5B and 5C is only an example, different name that is not presented in this document may be defined and used in the same way as explained above in this document.
As shown in FIGS. 4, 5A, and 5B or 5C, prepared information of an item is transmitted from the CDS 221 to the CP 210 as a response to a browsing action or a search action and analyzed by the CP 210, and the CP 210 provides a user with proper information enabling selection of a component to play according to the analysis. This is described later. The implementation of FIG. 5A is prepared by directly inserting protocol information
("Protocollnfo") for an auxiliary component and location information for enabling accessing the component, for example URL information into item information of a related content. However, in another implementation, instead of a protocol and URL information for the auxiliary component associated with the primary component, indirect information enabling to aware of the information may be recorded. This indirect information may be, for example, an ID of an object designated to an associated auxiliary component. FIG. 5D shows additional expression information 402 prepared in the present implementation under the same condition as that of FIG. 5A. As shown in FIG. 5D, an object ID for the corresponding auxiliary component is prepared instead of a protocol and URL information for the component (551). In an implementation of FIG. 5D, in a process of examining the stored media files and the storage tree structure, the CDS 221 constructs objects for components (as described above, these components can be known from a file extension or another method) to be presented auxiliary for other component not to be presented by itself and prepares item information of each object in the same form as shown in FIG. 6. However, because it is necessary that the objects are managed differently from an object of a component that can be presented by itself, the objects have to be managed in different manner from an object of a component that can be presented by itself, therefore a different type 601, for example "Object.item.TTOItem" is assigned to such objects. As described in FIG. 5A, in an example of FIG. 6, item information is prepared such that a single object is allocated to a group of auxiliary components if single component in the auxiliary group cannot be normally presented (or may be presented meaninglessly) and normal presentation is possible through only information related to other component data. Item information prepared in FIG. 6 is connected by an Object ID, i.e., "objl234" 602 to indirect information 552 for an auxiliary component in additional expression information prepared in FIG. 5D.
In another implementation, protocol information for an auxiliary component and URL information for the component are used in a mixed manner of a direct information shown in FIG. 5A and an indirect information shown in FIG. 5D. FIG. 5E shows a detailed example of additional expression information prepared with the above-mentioned mixed manner. As shown in FIG. 5E, protocol information and URL information for an auxiliary component are directly written or an object ID for the auxiliary component (or auxiliary component package) is written. Of course, an object should be allocated to components for recording an object ID and item information for the object should be prepared, as shown in FIG. 6. As in this implementation, because information about the auxiliary component can be recorded by mixing direct way or indirect way, information about a source expression type, i.e., "direct" or "indirect" to a resource element (<additionalComponentRes>) for the auxiliary component is additionally written (561) so that the CP 210 may be easily identified. Thus, the CP 210 for analyzing meta data for the object can easily know protocol information and URL information for the auxiliary component.
According to the above-described manner or one among the above-described manners, after item information for stored files is constructed, information of each item is transmitted from the CDS 221 to the CP 210 in response to a browsing action or a search action of the CP 210, and operations for mutually synchronous presentation of the multiple component are performed based on the transmitted information. Hereinafter, those operations are described in detail.
FIG. 3A is a flow diagram illustrating a signal flow between devices and/or services in a process of playing a media of a multiple component in an implementation. Information of an item prepared by the CDS 221 within the media server 220 through the above-described method is transmitted from the CDS 221 to the CP 210 in response to a browsing action or a search action of the CP 210 (S31). Of course, before such an action, as shown in FIG. 3A, the CP 210 requests protocol information that can be acceptable to the media renderer 230 and obtains the protocol information beforehand (S30).
The CP 210 provides from information of objects received at step S31 only objects (items) having protocol information acceptable to the media renderer 230 for a user through a suitable User Interface (UI)(S32-1). At this time, as shown in FIG. 6, the item whose type is "object.item.TT0Item" is not presented to a user. In another implementation, the item whose type is "object.item.TTOItem" is displayed with a color lighter than different type of items so that it can identified differently by a user. A user selects an item (or one of a plurality of components with different bit rates belonging to the item) to be presented by the media renderer 230 from the provided list of objects (S32-2). However, if additional expression information (information corresponding to <userExperienceExpression> element in FIGS. 5A, 5D, and 5E) exists in meta data of the selected item, the CP 210 does not immediately perform actions for a presentation for a component of the selected item. Instead the CP 210 analyzes the additional expression information, and performs additional selection operations accordingly (S32-3). The CP 210 examines elements (in the implementation of FIG. 5B) of Relationship > specifying a relationship for a presentable combination in meta data of the selected item, or a user experience element (<User Experience Name>)(in the implementation of FIG. 5C). In the relationship elements or the user experience element, if an ID (this ID can be found in a resource element (< primary resource>) of a primary component within the additional expression information 402) of the currently selected component is not described in a <primaryComponent> element, the CP 210 immediately requests actions (PrepareForConnectionO, SetAVTransportURI(), PlayQ, etc.) sequentially for playing the selected component, and if an ID of the currently selected component is written in a <primaryComponent> element, the CP 210 additionally presents a selection list according to information specified by a corresponding relationship element or a user experience element to a user. FIG. 7A is an illustrative example for this case and is prepared for the first relationship element 531 of FIG. 5B.
FIG. 7A shows an example in which components (or component packages) of ID 'n+1' and 'n+2', which are auxiliary components of subtitle associated with a selected primary component of ID 1 are listed 701 for user's selection. Because it is supposed that a single primary component is selected in order to describe an implementation, when combination information by a relationship element or a user experience element is displayed, in order to show that primary component (the primary component 1 in a shown example) is already selected from a primary component set included in the relationship element or the user experience element, a distinctively-identifiable displaying way 701 may be used. In addition to, a selection bar for selecting a component is positioned in an auxiliary component set. In an example of FIG. 7A, each component is identified by IDs of components for drawing convenience, however information actually displayed to a user may be a file name or an object title (in the case that auxiliary components are allocated to a separate object as shown in FIG. 6) corresponding to the corresponding component.
If the selected primary component belongs to a combinable tag <capability> within a plurality of relationship elements or user experience elements, the CP 210 provides a selection window 702 in which a name of each relationship element and additional information (information specified by a <subtitleLang> element is used in the example of FIG. 7B) written in an internal element are listed as shown in FIG. 7B so that a relationship element or a combination is selected by a user. If one relationship element or one combination is selected from the window, the selection screen example shown in FIG. 7A is provided. If an item of 'subtitle (Korean)' is selected in a displayed example of FIG. 7B, the CP 210 outputs a selection screen such as FIG. 7A. Of course, because the CP 210 knows from the type element <type> written in each relationship element what attribute of an auxiliary component set is included in a corresponding relationship element, the CP 210 may additionally provide explanation enabling a user to easily recognize in addition to the illustrated display information. In an implementation of FIG. 5C, after analyzing a value of an attribute parameter "VaI" of the combinable tag <capability> in order to help a selection of a user, information corresponding to the value may be displayed on the selection window along with a text or graphic information.
In another implementation, if an item to be presented by the media renderer 230 is selected from a provided list of objects by a user and one primary component is selected from a plurality of primary components pertaining to the selected item, a selection screen such as FIG. 7A or 7B is not provided. Instead, a selection screen such as FIG. 7C is provided immediately after analyzing the additional expression information 402 of the corresponding meta data when an item is selected. A single item listed on a multiple-component window in a selection screen illustrated in FIG. 7C corresponds to a single relationship element or a single or a plurality of tags < capability >. Therefore, if a user selects one item belonging to the multiple-component window in a provided selection screen, the CP 210 provides a selection screen such as FIG. 7A based on information of a relationship element or a single or a plurality of tags < capability > corresponding to the selected item so that a single primary component and at least one auxiliary component may be selected by a user. If an item belonging to a single-component window is selected, necessary actions are invoked to related devices so that a component corresponding to the selected item is immediately played by the media renderer 230.
In an implementation, for the selected primary component, if there are a plurality of auxiliary component elements (<additionalComponent>) having a different order value (in case of the implementation of FIG. 5B), or if there are a plurality of combinable elements (< capability >) (in case of the implementation of FIG. 5C), the CP 210 provides selectable sets 712 for all component elements or combinable elements as shown in FIG. 7D and receives selections of an auxiliary component (or a component package) from each selectable set. When a plurality of combinable elements is provided for a user as shown in FIG. 7D, an attribute of each combinable element, for example, information indicating subtitle or voice may be displayed at an upper area of each selectable set.
According to the above-described process, if a selection for a primary component and an auxiliary component is finished, the CP 210 obtains from the related elements protocol information and URL information for the selected component. That is, the protocol information and URL information for the primary component is obtained from an element <res> within characteristic information prepared according to a conventional method, and the protocol information and URL information for the auxiliary component is obtained from the above- described element <additional resource>. In an implementation of FIG. 5D and 5E in which infotmation about a corresponding component is specified in an indirect manner, the CP 210 obtains corresponding protocol information and URL information using corresponding indirect information, i.e., an object ID as index information. For example, protocol information and URL information is obtained from a corresponding element (the element <additionalComponent>) written within meta data that has been received for a corresponding object ID through a previous browsing operation or is received through a search action with the corresponding ID in an input argument thereof invoked to the CDS 221 if it has not been received through a previous browsing operation. If the protocol information of an auxiliary component obtained through the above- described process is not matched with the previously obtained admittable protocols of the media renderer 230, the corresponding auxiliary component is ignored and the below-explained operations to request the media renderer 230 to present does not conducted. Instead, a notification message such as "The selected auxiliary component cannot be presented by the media renderer!" may be outputted to a user.
For each of a primary component and an auxiliary component whose the protocol information and the URL information are obtained, the CP 210 invokes a connection preparing action (PrepareForConnectionQ) to the media server 220 and the media renderer 230 respectively and receives instance IDs for members involved in presentation of streaming between devices (S33-1, S33-2). The instance IDs are used to designate and control later each component in a streaming service to be conducted. An example of a signal processing flow of FIG. 3A illustrates a case where two auxiliary components (or one auxiliary component package) are associated with one primary component and shows that identical action are invoked three times (of course, the input arguments of the actions have different information because they are prepared for mutually different components) between devices and/ or services.
In the meantime, the instance ID is a set of IDs allocated for individual services, however for convenience and simplicity, it is referred to as 'instance ID'. In the following description, if a term indicating a specific service is not added to an instance ID, the term of an instance ID means a set of instance IDs allocated for all participating services for one connection. After obtaining instance IDs for connections of every component through invocation of connection preparing action, the CP 210 individually sets access location information, for example URL information for the previously selected each component to the AVTransport service 233 (S34) and then invokes a single play action for components to the AVTransport service 233. At this time, in an implementation, the instance ID whose structure is defined in FIG. 8 is used as an input argument (S35). The instance ID defined in FIG. 8 corresponds to a variable list (Comma Separated Variables of ui4s) in which one or more ui4- formatted identifiers are separated by a comma in a list. Of course, the AVTransport service instance ID included in each instance ID obtained from the previous connection preparing action is inserted into each field separated by a comma.
The AVTransport service 233 of the media Tenderer 230 received the play action examines a list carried by the instance ID of the input argument and conducts streaming or downloading through appropriate information communication with the media servers 220 for components corresponding to the connections identified by all instance IDs included in the examined list. The streamed or downloaded components are mutually synchronously decoded (S36) by a rendering module 231a including corresponding decoders (or a decoder with multi- decoding function) under control of a RenderingControl service 231. However, dependent upon a state of a network, all components for which play is requested are not transmitted at same ratio from the media server 220 to the media renderer 230. That is, a certain component may be transmitted more than other components in playing-time view of point, or one of components for which play is requested may be delayed in start time of transmission in comparison with other components. If such a case occurs, a content may be played without a presentation of a certain one component during some interval after play start although a play request is simultaneously (in a case that transmission of a certain one component is started in delay) or a certain one component may not be presented a while after synchronous presentation is started (in a case that mutually synchronous presentation is started without data buffering of a certain component enough to guarantee seamless play). Therefore, in order to embody perfect synchronous presentation, the RenderingControl service 231 defines and uses a state variable for controlling a synchronous rendering, for example, a variable named 'ActiveSynchronousHandling' and adjusts a start time point of a rendering a multiple component according to a value of the state variable. For example, if a value of the state variable is 'TRUE', after waiting until data of each component received under the control of the AVTransport service 233 has fully buffered for seamless playing, the RenderingControl service 231 instructs the rendering module 231a to decode simultaneously the moment the buffered data amount of each component corresponds to a predetermined playing time, for example one or more minute, whereby synchronous play of a multiple component is stably conducted. If a value of the state variable is 'FALSE', decoding for a component that has been received or being received is started the moment any one component satisfies a condition of a buffering amount. Of course, the state variable may be named another one, for example a 'PlaySameTime1.
Therefore, before or immediately after the previous invocation (S35) of the play action, the CP 210 invokes a state variable setting action for setting the synchronous rendering state variable to TRUE to the RenderingControl service 231 (S802), as shown in FIG. 9. This action invoked to the RenderingControl service 231 carries an input argument including a pair of "variable-value" in which a value of the synchronous rendering state variable ActiveSynchronousHandling is set to 'TRUE'. Of course, an action for requesting to set the state variable may not be invoked to the RenderingControl service 231 dependent upon a user's setting option for a multiple-component play action.
Instead of invoking the state variable setting action, the CP 210 invokes an action (GetS tate Variables Q) of querying current state variables set to the RenderingControl service 231 (S801), as shown in FIG. 9, checks a value of the synchronous rendering state variable in a received output argument of 'State VariableValuePaks', and may invoke, only when the value is FALSE, the action of setting a value of the synchronous rendering state variable, as described above (S802).
A synchronous rendering state variable in an implementation can be also applied to other methods for synchronous play of a multiple component. In the above-described implementation, in order to perform synchronous play of a multiple component, instance IDs for each individual connection are listed in an argument and delivered through a play request action to participating services. However in another implementation, individual components belonging to a multiple component are grouped and an instance ID is defined for the grouped connection group and a play request action of the multiple component may be invoked using the instance ID for the group. In even such implementation, the above-described synchronous rendering state variable can be applied and used as the same method explained above. This implementation is described in detail hereinafter.
FIG. 3B illustrates a process for requesting a play after grouping individual connections in another implementation. In FIG. 3B, steps S30, S31, and S32-1 to S32-3 are performed the same as FIG. 3A shows and therefore a detailed description thereof is omitted. The CP 210 performs the following connection preparing operations for a primary component and an auxiliary component for which protocol information and URL information have been obtained through the same method as that of the above-described implementation. Actions for the connection preparing operations are invoked respectively for each of a connection group and individual connections. That is, as shown in FIG. 3B, after invoking a group connection preparing action (PrepareGroupConnectionQ) for a connection group (S93-1, S93-2) to the CM services (222,232) of each of devices (media server 220 and media renderer 230), the CP 210 invokes a connection preparing action (PrepareForConnectionQ) for individual connection for each component to the media server 220 and the media renderer 230 respectively. As a result, instance IDs for participation services to be involved in presentation of streaming between the devices are received (S94-1, S94-2).
If instance IDs of each of participation services (CM, AVT, (or RCS)) for individual connection corresponding to each component are individually received by a connection preparing action, the CP 210 invokes a group join action (AddtoGroupQ) to connect an instance ID for an individual connection to the previously received instance ID for a group connection that is received by a group connection preparing action. The group join action is invoked as many times as the number of individual connections (S95-1, S95-2). In this case, the instance ID for a connection group and the instance ID for one individual connection to be joined to the connection group are included in an input argument of each group join action.
In an implementation of FIG. 3B, after a group connection preparing action for a connection group is invoked (S93-1, S93-2), connection preparing actions are invoked respectively for individual connections (S94-1, S94-2). However such action sequence may be performed in a reverse order. In other words, before invoking a group join action that requires preparation of instance ID for a connection group and instance IDs for individual connections to join to the connection group, a group connection preparing action and connection preparing actions for individual connections are performed regardless of the order.
If the action for connecting the instance ID is received, the CM service (222 or 232) constructs management information for mapping an instance ID for a connection group and an instance ID for individual connection that are delivered by each group join action. FIG. 1OA shows an example of the management information for grouping individual connections constructed by a ConnectionManager service 232 within the media renderer 230 (Because the media renderer 230 of FIG. 2 equips with the AVTransport service 233, an AVTransport service instance ID is provided in response to the connection preparing action. Thus the instance ID of the AVTransport service is also included in the instance ID for a connection.), and FIG. 1OB is a schematic diagram illustrating an example in which instance IDs for a group connection and individual connections are systematically constructed. In addition to mapping information for the instance IDs illustrated in FIG. 1OA, information, for example, a type, information on whether an individual connection is for primary or auxiliary component, and order parameter information of an auxiliary component, etc., received via input arguments of a group connection preparing action and a group join action are also stored and managed as management information by the CM service (222 or 232).
When playing management or rendering control is requested through the instance ID of the connection group from the CP 210, each of ConnectionManager services (222,232) can identify an instance ID for an action-requested service of an individual connection with reference to the constructed mapping information such as FIG. 1OA and can identify and identify a related resource using the identified instance ID.
In the above-explained implementation, before receiving all necessary instance IDs for connections through individual connection preparing actions for the selected components, the CP 210 may immediately invoke an action (AddtoGroupQ) for joining an any individual connection to a connection group set previously by a group connection preparing action before the corresponding connection as soon as an instance ID of the any individual connection is received, as shown in FIG. 3C. FIG. 3C shows that a group join action is immediately invoked when a response to a connection preparing action is received but does not show that a connection preparing action for a next connection should be sequentially performed after one group join action. That is, in this document, as shown in the implementation of FIG. 3C, a group join action (AddtoGroupQ) for an individual connection can be performed regardless of whether a response to a connection preparing action (PrepareForConnectionQ) for another individual connection is received.
After grouping individual connections into a connection group as explained above, for the selected each component, the CP 210 invokes an action (SetAVTransportURI Q) for setting access location information, for example, URL information of the each component to the AVTransport service 233 (S96). A play action is then invoked to the AVTransport service 233. At this time, the play action uses the received AVTransport service instance ID for connection group (Instance_GrAVTID) (S97). The AVTransport service instance ID for connection group used in the play action is mapped to the AVTransport service instance ID for an individual connection by the ConnectionManager service 232 and the AVTransport service instance ID for an individual connection is transmitted to the AVTransport service 233, whereby play operations for all individual connections can be started at the same time. Accordingly, data of the selected components are streamed or downloaded through a proper information communication between the media renderer 230 and the media server 220 and thus are synchronously decoded and outputted by the rendering module 231a under control of the RenderingControl service 231 (S98). In the explanation of the above-described implementation, an action
(SetAVTransportURIO) for setting an URL of each component is invoked after a group join action, however an order of action invocation is only an example, and an action for setting the URL may be invoked before a group join action (AddtoGroupQ). That is, an invocation order of both actions is not limited to the order described above. While presentation is being performed according to the above processes (S36, S98), the
CP 210 invokes an action (for example, AVT:StopQ, AVT:PauseQ, RCS:SetVolumeQ, RCS:SetMuteQ, etc.) matched with user's request to the media renderer 230 when a user requests control (play stop, temporary suspension, search, and speed change play (trick play), etc.) of a specific play operation or change (volume adjustment, audio output stop, brightness adjustment, etc.) of rendering state. The invoked action matched with user's request uses an instance ID for a connection group allocated to streaming of a multiple component currently in service. In the event that the instance ID for a connection group is used, a service receiving the action can translate the instance ID for a connection group to an instance ID of an individual connection corresponding to the action and identify one individual connection. Alternatively, when the action is invoked, an instance ID for an individual connection pertaining to the connection group may be used after being obtained. This method is described hereinafter.
Through the processes of grouping individual connections and transmitting necessary information to a related service via an action as explained above, the CP 210 that generates a corresponding connection group or another CP that newly participates to a network can select a desired one connection among grouped individual connections and query information about the selected connection or control the selected connection. FIG. 11 shows one example for such a case and illustrates a process of querying information related to a play of a media content corresponding to a certain individual connection belonging to a connection group in another implementation. FIG. 11 illustrates action invocation with the media renderer 230, however may be applied to action invocation with another device, for example the media server 220. As shown in FIG. 11, the CP 290 of FIG. 11 invokes an action (GetGroupConnectionIDsQ) of querying connection groups currently set to a device designated by a user, i.e., the media renderer 230 in the example of FIG. 11 to a ConnectionManager service (CM) 232 within the media renderer 230. Accordingly, CM instance IDs (instance_GrCMIDs) for currently set connection groups are received (SIlOl).
The CP 290 selects one connection group from the received information. In this case, a condition necessary for selecting one connection group is determined according to information entered by a user. If one connection group is selected, the connection group information querying action (GetGroupConnectionlnfoQ) with an input argument carrying a CM instance ID (instance_GrCMID) for the selected connection group is invoked to the CM 232. According to the action invocation, the CM 232 obtains, from management information currently managing for a connection group, a type of a connection group (for example, a type of a relationship element from which the connection group is established) designated by an input argument of the action, CM instance IDs of all individual connections belonging to the connection group, information (primary/ optional) on whether a component of each individual connection is for primary or auxiliary, and a value of an order parameter in case of auxiliary component, and then provides the obtained information for the CP 290 (S 1102) as a response to the query action.
The CP 290 selects one individual connection from the received information. A condition necessary for selecting one individual connection is determined based on information entered by a user. For example, when a user requests to inquire track information or a play time of a primary component being currently played, an individual connection designated to 'primary' is selected, and when changing a subtitle or a voice language etc., of a content being played is intended, a connection to which 'optional' is designated, and of which order parameter is also matched with the intended attribute is selected. If an individual connection is selected, a current connection information querying action (GetCurrentConnectionlnfoO) with an input argument carrying a CM instance ID (instance_CMID) for the selected individual connection is invoked to the CM 232. According to the invocation, information (instance IDs of other services and protocol information etc., as shown in FIG. 11) about the selected individual connection is received (Sl 103). The CP 290 determines an action target service and action type suitable for user's request using the received information, and invokes the determined type of action to the determined service. In an example of FIG. 11, media information is requested to the AVTransport service 233. Because an action targeted for the AVTransport service 233 is used, an instance_AVTID, which is an instance ID of the AVTransport service included in the received information, is carried by an input argument of the action. According to the invoked action, the AVTransport service 233 transmits to the CP 290 various state information shown in FIG. 11 which is managed for the corresponding connection (S 1104).
When a user requests to release or it is judged that streaming of a multiple component is unnecessary, the CP 210 or 290 releases a state in which the connection group is established. In order to release the state, the CP 210 or 290 invokes an action (RemoveFromGroup Q) for removing an individual connection from a group to CM services 222 and 232 for each individual connection to release. At this time, the removing action includes in an input argument thereof an instance ID for the connection group and an instance ID for an individual connection to release from the connection group. Accordingly, the CM 222 or 232, received the removing action, deletes an instance ID from the ID mapping information constructed as shown in FIG. 1OA. The deleted instance ID is one identical to an instance ID for individual connection carried by the input argument of the received action and is linked with an instance ID for a connection group that is identical to an instance ID for a connection group carried by the input argument of the received action. Whenever an instance ID for individual connection is deleted from the ID mapping information by every connection removing action (RemoveFromGroup Q), the CM service 222 or 232 examines the ID mapping information for the corresponding connection group and deallocates an instance ID for the connection group to be reused by another connection group if no instance ID for an individual connection associated with the corresponding connection group is remained.
In the above-explained implementations, in a situation that data is presented through transmission between devices connected to each other through a network, operations for play preparation and playing of one primary component and an auxiliary component associated therewith can be conducted simultaneously, thereby enabling normal synchronous presentation of media components. In addition, connections pertaining to a connection group can be managed individually. Accordingly, a user viewing and hearing a content is satisfied much more by the auxiliary component and user's convenience can be improved when changing some components during playing of a multiple component.
While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that all such modifications and variations fall within the spirit and scope of the invention.

Claims

C L A I M S
1. A method of preparing data of a stored content, comprising: creating meta data including protocol information and access location information for an arbitrary content; creating protocol information and access location information for an auxiliary content associated with the arbitrary content; incorporating in the meta data the created protocol information and access position information or link information for enabling obtainment of the created protocol information and access location information; and creating relationship information between at least one component belonging to the arbitrary content and at least one component belonging to the auxiliary content, and incorporating the created relationship information in the meta data.
2. The method of claim 1, wherein the link information is an object ID allocated to the auxiliary content.
3. The method of claim 2, wherein the creating of protocol information and access location information for the auxiliary content includes creating meta data for the auxiliary content and incorporating the created protocol information and access location information for the auxiliary content in the meta data.
4. The method of claim 1, wherein the relationship information includes component set information for enabling obtainment of a synchronously-presentable combination of a component belonging to at least one component belonging to the arbitrary content and a component belonging to at least one component belonging to the auxiliary content.
5. The method of claim 1, wherein the relationship information includes information about a type of the at least one component belonging to the auxiliary content, and the type information includes information specifying a caption and/or voice.
6. A method of presenting a content through data transmission on a network, comprising: creating, if at least one auxiliary component is associated with a selected one primary component among a plurality of primary components or a primary component belonging to the content, connection group information, and creating connection information for the components respectively; and connecting the created each connection information to the created connection group information.
7. The method of claim 6, wherein the information creating includes receiving an ID for a connection group by invoking a group connection preparing action to a connection manager service within both devices to participate in presentation of the content, and receiving each ID for connections by invoking a connection preparing action for components respectively to a connection manager service within the both devices; and the connecting of the created each connection information to the created connection group information includes invoking to a connection manager service within the both devices an action for joining the each received ID for connection to the created connection group information.
8. The method of claim 6, further comprising setting access location information for the components respectively; and requesting to play using the connection group information.
9. The method of claim 8, further comprising invoking an action for changing a state of play control and/or rendering for a content being presented by the play request, the invoked action for changing including an input argument carrying the connection group information.
10. The method of claim 6, further comprising invoking an action for releasing connection of connection information connected to the connection group information, wherein the action for releasing connection includes in an input argument the connection group information and connection information for releasing connection.
11. The method of claim 6, wherein the information creating comprises determining based on auxiliary content related information written in meta data of the content whether at least one auxiliary component is associated with the selected primary component.
12. The method of claim 6, wherein the connecting of the created each connection information to the created connection group information comprises connecting the created each connection information to the created connection group information together with information indicating whether the connection information is for a primary or auxiliary component.
13. The method of claim 6, further comprising controlling a presentation of the content using the connection group information.
14. The method of claim 13, wherein the controlling of a presentation of the content comprises controlling a presentation by an action using the connection group information that requests a change of a play position, stop, or trick play of the content, or controlling a presentation by an action using the connection group information that requests a change of rendering state of the content.
15. The method of claim 13, wherein the connection information for the individual connection is created by invoking a corresponding action before or after the information creating.
16. A method of managing a connection for data transmission, comprising: designating one connection group in which a plurality of individual connections are grouped and requesting information for the designated connection group; designating one individual connection from the information for the connection group obtained by the requesting and requesting information for the designated individual connection; and obtaining identification information allocated to one service from the information for the individual connection obtained by the requesting and invoking an action using the obtained identification information.
17. The method of claim 16, wherein information obtained through the requesting of information for the connection group comprises identification information of each of individual connections belonging to the designated connection group and information indicating whether each connection is for a primary or auxiliary.
18. The method of claim 17, wherein information obtained through the requesting of information for the connection group further comprises information indicative of an attribute of a component if a corresponding connection is for auxiliary
19. The method of claim 16, wherein the requesting is made to a connection managing service within a device and the service provides the obtained information.
20. A method of presenting a content through data transmission on a network, comprising: obtaining connection information by invoking a connection preparing action for each of components belonging to a multiple component; and invoking a play request action including in an input argument thereof a list of connection information obtained for the each component.
21. The method of claim 20, wherein the list of connection information includes instance IDs that are individually separated by a delimiter, the instance IDs being obtained for each of the components.
22. A method of presenting a content by data transmission on a network, comprising: invoking an action of setting or querying a state variable used for controlling synchronous rendering of a multiple component; and invoking a play request action for the multiple component.
23. The method of claim 22, wherein the action of setting a state variable is invoked to a service of controlling rendering of the multiple component.
24. The method of claim 22, wherein the play request action includes an input argument that carries a list of connection information obtained for each component belonging to the multiple component, or connection group information in which connection information corresponding to each component belonging to the multiple component is grouped.
25. The method of claim 22, further comprising checking, when the invoked play request action is received, a value of the set or queried state variable, and determining according to the value a time point to start a rendering data of the multiple component for which play is requested.
PCT/KR2007/004720 2006-09-27 2007-09-27 Method for managing and processing information of an object for presentation of multiple sources WO2008039005A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR10-2006-0094017 2006-09-27
KR1020060094017A KR20080028578A (en) 2006-09-27 2006-09-27 Method for managing and processing information of an object for presentation of multiple sources
US82763506P 2006-09-29 2006-09-29
US60/827,635 2006-09-29
KR10-2006-0099977 2006-10-13
KR1020060099977A KR20080033794A (en) 2006-10-13 2006-10-13 Method for managing information of an object for presentation of multiple sources and connection group therefor
KR1020060101235A KR20080035084A (en) 2006-10-18 2006-10-18 Method for managing and processing information of an object for presentation of multiple sources
KR10-2006-0101235 2006-10-18

Publications (1)

Publication Number Publication Date
WO2008039005A1 true WO2008039005A1 (en) 2008-04-03

Family

ID=39230378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2007/004720 WO2008039005A1 (en) 2006-09-27 2007-09-27 Method for managing and processing information of an object for presentation of multiple sources

Country Status (1)

Country Link
WO (1) WO2008039005A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009091111A1 (en) * 2008-01-15 2009-07-23 Lg Electronics Inc. Method and apparatus for managing and processing information of an object for multi-source-streaming

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040062795A (en) * 2003-01-03 2004-07-09 엘지전자 주식회사 Upgrading method for home network system based universal plug and play
US20050135341A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Apparatus and method for coordinately managing media content
KR20060068535A (en) * 2004-12-16 2006-06-21 한국전자통신연구원 Universal plug and play audio visual system and method of performing communication between media renderer and media player

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040062795A (en) * 2003-01-03 2004-07-09 엘지전자 주식회사 Upgrading method for home network system based universal plug and play
US20050135341A1 (en) * 2003-12-18 2005-06-23 Samsung Electronics Co., Ltd. Apparatus and method for coordinately managing media content
KR20060068535A (en) * 2004-12-16 2006-06-21 한국전자통신연구원 Universal plug and play audio visual system and method of performing communication between media renderer and media player

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009091111A1 (en) * 2008-01-15 2009-07-23 Lg Electronics Inc. Method and apparatus for managing and processing information of an object for multi-source-streaming
US9344471B2 (en) 2008-01-15 2016-05-17 Lg Electronics Inc. Method and apparatus for managing and processing information of an object for multi-source-streaming

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
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
EP1665632B1 (en) Upnp-based media contents reproducing system and method thereof
JP5898166B2 (en) Method and apparatus for playing a scene using UPnP
US8601189B2 (en) Method for processing information of an object for presentation of multiple sources
KR20060086268A (en) Embedding a upnp av mediaserver object id in a uri
KR101465976B1 (en) Method and apparatus for controlling Universal Plug and Play device to play plurality of contents using plurality of rendering surfaces on screen
US8873446B2 (en) Method and apparatus for supporting multicast of AV data in a network
WO2008039005A1 (en) Method for managing and processing information of an object for presentation of multiple sources
US20070175975A1 (en) Method and apparatus for providing DVD content with rendering device in UPnP network
KR20080035084A (en) Method for managing and processing information of an object for presentation of multiple sources
KR101069859B1 (en) Method and apparatus for managing and processing information of an object for multi-resource-streaming
WO2008044874A1 (en) Method for managing and processing information of an object for presentation of multiple sources
KR20080033794A (en) Method for managing information of an object for presentation of multiple sources and connection group therefor
KR100728034B1 (en) Method and apparatus for providing dvd content with rendering device in upnp network
KR20080028578A (en) Method for managing and processing information of an object for presentation of multiple sources
WO2009002071A2 (en) Method and apparatus for managing and processing information of an object for multi-content-streaming
KR20070087903A (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: 07833054

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07833054

Country of ref document: EP

Kind code of ref document: A1