WO2013172626A1 - 미디어 제어 장치, 미디어 렌더러 장치, 미디어 서버 장치 및 이들의 동작 방법 - Google Patents
미디어 제어 장치, 미디어 렌더러 장치, 미디어 서버 장치 및 이들의 동작 방법 Download PDFInfo
- Publication number
- WO2013172626A1 WO2013172626A1 PCT/KR2013/004251 KR2013004251W WO2013172626A1 WO 2013172626 A1 WO2013172626 A1 WO 2013172626A1 KR 2013004251 W KR2013004251 W KR 2013004251W WO 2013172626 A1 WO2013172626 A1 WO 2013172626A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- prefetch
- action
- media
- media renderer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 100
- 230000009471 action Effects 0.000 claims abstract description 574
- 230000007704 transition Effects 0.000 claims abstract description 40
- 239000012634 fragment Substances 0.000 claims description 4
- 238000011017 operating method Methods 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 2
- 230000009849 deactivation Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 18
- 230000004044 response Effects 0.000 description 132
- 238000012546 transfer Methods 0.000 description 83
- 238000010586 diagram Methods 0.000 description 56
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000010409 thin film Substances 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2665—Gathering content from different sources, e.g. Internet and satellite
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
Definitions
- the present invention relates to a media control device, a media renderer device, a media server device and a method of operating the same, and more particularly, to a method of controlling transmission and reception of AV content between Universal Plug and Play (UPnP) devices.
- UFP Universal Plug and Play
- Home network protocols include universal plug and play (UPnP) technology and digital living network alliance (DLNA) technology.
- UnP universal plug and play
- DLNA digital living network alliance
- UPN Universal plug and play
- DLNA digital living network alliance
- UPnP technology enables service and control between consumer electronics devices from a variety of manufacturers.
- UPnP technology enables compatible AV services and controls between audio-visual (AV) devices.
- AV audio-visual
- These compatible AV services include media streaming, uploading and downloading.
- DLNA is a home network device, which is a digital media server (DMS), digital media player (DMP), digital media renderer (DMR), digital media controller (DMC), It defines digital media printer (DMPr), mobile digital media server (M-DMS), mobile digital media player (M-DMP), mobile digital A media uploader (M-DMU), a mobile digital media downloader (M-DMD), and a mobile digital media controller (M-DMC) are defined.
- DMS digital media server
- DMR digital media renderer
- DMC digital media controller
- the digital media server (DMS) is used to cover the M-DMS
- the digital media player (DMP) is used to cover the M-DMP
- the digital media controller (DMC) covers the M-DMC. Use it as a concept.
- UPnP classifies these devices into control points (CPs) and devices.
- the digital media controller (DMC) and the digital media player (DMP) may be classified as control points, and the digital media renderer (DMR), digital media server (DMS), and DMPr may be classified as devices.
- the controller or controller mentioned below may represent a control point of UPnP.
- the control target apparatus mentioned below may represent a device of UPnP.
- DLNA defines a 2-box model and a 3-box model.
- the two-box model includes a digital media player (DMP) and a digital media server (DMS).
- DMP digital media player
- DMS digital media server
- the three-box model includes a digital media controller (DMC), a digital media server (DMS), and a digital media renderer (DMR).
- DMC digital media controller
- DMS digital media server
- DMR digital media renderer
- IP Networking Internet protocol networking
- the media renderer receives and plays media content from a media server under the control of a controller.
- the media renderer receives the media content from the media server according to the switching command, and thus a time delay occurs in the transition, so that a seamless transition is not performed. There was a problem.
- the present invention is to provide a system, an apparatus, and a method of operating the same to provide a seamless transition between media content even when the media renderer is a separate device from the media server.
- the present invention provides a system, apparatus, and method of operating the same to provide seamless switching between media content while providing flexibility applicable to various situations even when the media renderer is a separate device from the media server. It is to provide.
- a method of operating a control device for controlling a media renderer device and a media server device may include: sending, by the control device, a request to play a first resource to the media renderer device; After the request for playing the first resource, the control device invokes a multi-resource prefetch action including a plurality of prefetch resource identifiers for a plurality of prefetch resources, so that the media renderer device transmits the plurality of prefetch resources.
- Prefetching the plurality of prefetch resources from the media server device based on an identifier The control device sends a playback request of a second resource, which is one of the plurality of prefetch resources, to the media renderer device so that the media renderer device provides seamless switching between the first resource and the second resource. It includes the steps to.
- the method may further include that if the multi-resource prefetch action includes too many prefetch resource identifiers and the media renderer device cannot prefetch all of the plurality of prefetch resources, The method may further include receiving a return of an error code indicating too much.
- the multi-resource prefetch action may further include a plurality of metadata items for the plurality of prefetch resources.
- the order of the plurality of metadata items may be the same as the order of the plurality of prefetch resource identifiers.
- the multi-resource prefetch action includes a first argument including the plurality of prefetch resource identifiers and a second argument including the plurality of metadata items, wherein the first argument includes the comma separated value format.
- the plurality of prefetch resource identifiers may be included, and the second argument may include the plurality of metadata items in a DIDL-Lite XML Fragment format defined in a content directory service template of the UPnP standard.
- the method may include receiving, by the control device, a user input as to whether the multi-resource prefetch action supports metadata; And updating, by the control device, a configuration variable that stores whether the multi-resource prefetch action supports metadata based on the user input.
- the multiple resource prefetch action may include a plurality of metadata items for the plurality of prefetch resources.
- the multi-resource prefetch action may include a plurality of metadata items for the plurality of prefetch resources.
- the operation method may further include: receiving, by the control device, a user input on whether to activate the multi-resource prefetch action; And
- the control device may further include updating a setting variable that stores whether the multi-resource prefetch action is activated based on the user input.
- the invoking the multi-resource prefetch action may include: invoking the multi-resource prefetch action when the configuration variable indicates activation of the multi-resource prefetch action; If it indicates deactivation, it may include not calling the multi-resource prefetch action.
- the operation method may further include: receiving, by the control device, a user input for the number of the plurality of prefetch resources included in the multi-resource prefetch action; And updating, by the control device, a setting variable that stores the number of the plurality of prefetch resources included in the multi-resource prefetch action based on the user input.
- the multiple resource prefetch action may include the plurality of prefetch resources as many as the number corresponding to the configuration variable.
- the operation method may further include displaying, by the control device, a prefetch status of the plurality of prefetch resources.
- Some of the plurality of prefetch resource identifiers may be allowed to indicate previous resources of the first resource and others to indicate next resources of the first resource.
- All of the plurality of prefetch resource identifiers may be allowed to indicate a previous resource of the first resource.
- All of the plurality of prefetch resource identifiers may be allowed to indicate a next resource of the first resource.
- control device controlling the media renderer device and the media server device comprises a network interface; And a control unit.
- the controller transmits a play request of a first resource to the media renderer device through the network interface.
- the control unit after the request to play the first resource, invokes a multi-resource prefetch action including a plurality of prefetch resource identifiers for a plurality of prefetch resources so that the media renderer device transmits the plurality of prefetch resource identifiers.
- Prefetch the plurality of prefetch resources from the media server device based on the < RTI ID 0.0 >
- the control unit transmits a reproduction request of a second resource, which is one of the plurality of prefetch resources, to the media renderer device through the network interface, so that the media renderer device is disconnected between the first resource and the second resource. Make sure to provide no conversion.
- a method of operating a media renderer device controlled by a control device controlling the media server device may include receiving, by the media renderer device, a request to play a first resource from the control device; Receiving, by the media renderer device, a multi-resource prefetch action including a plurality of prefetch resource identifiers for a plurality of prefetch resources after the play request of the first resource; Prefetching, by the media renderer device, the plurality of prefetch resources from the media server device based on the plurality of prefetch resource identifiers; And
- the operating method may further include that if the media renderer device already includes a plurality of prefetch resource identifiers, and the multi-resource prefetch action includes a valid non-empty multiple resource identifier argument, the media renderer device determines that the multiple resource identifiers are used.
- the method may further include replacing a value of the multi-resource identifier state variable storing the value with a value in the valid non-empty multi-resource identifier argument.
- the operating method may further include, if the media renderer device already includes a plurality of prefetch resource identifiers, and the multi-resource prefetch action includes an empty multi-resource identifier argument, the media renderer device assigns the multi-resource identifier. And clearing the storing multiple resource identifier state variables.
- the media renderer can provide seamless switching between media contents while providing flexibility applicable to various situations.
- FIG. 1 is a block diagram illustrating a three-box model according to an embodiment of the invention.
- FIG. 2 is a block diagram illustrating a two box model according to an embodiment of the present invention.
- Figure 3 is a block diagram showing a two box model according to another embodiment of the present invention.
- FIG. 4 is a ladder diagram illustrating a method of operating a three-box model according to an embodiment of the present invention.
- 5 and 6 illustrate a user interface screen for setting multiple resource prefetch according to an embodiment of the present invention.
- FIG. 7 illustrates a user interface screen displaying a multi-resource prefetch status according to an embodiment of the present invention.
- FIG. 11 shows a forward transition from a current resource to a resource immediately after the deployment in accordance with an embodiment of the present invention.
- FIG. 12 illustrates a backward switch from a current resource to a previous resource in the order of deployment according to an embodiment of the present invention.
- FIG. 13 shows a forward leap transition from the current resource to the next next resource in the deployment order according to an embodiment of the present invention.
- FIG. 14 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multiple resource prefetch action including both a previous resource identifier and a next resource identifier in a three-box PUSH model according to an embodiment of the present invention.
- FIG. 15 is a ladder diagram embodying FIG. 14.
- FIG. 16 illustrates an operation method of prefetching multiple resources using a resource prefetch action including only a previous resource identifier and a resource prefetch action including only a next resource identifier in a three-box PUSH model according to an embodiment of the present invention.
- FIG. 17 is a ladder diagram embodying FIG. 16.
- FIG. 18 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 3-box PUSH model according to an embodiment of the present invention.
- FIG. 19 is a ladder diagram embodying FIG. 18.
- 20 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including both a previous resource identifier and a next resource identifier in the 3-box PULL model according to an embodiment of the present invention.
- FIG. 21 is a ladder diagram embodying FIG. 20.
- FIG. 22 illustrates an operation method of prefetching multiple resources using a resource prefetch action including only a previous resource identifier and a resource prefetch action including only a next resource identifier in a 3-box PULL model according to an embodiment of the present invention.
- FIG. 23 is a ladder diagram embodying FIG. 22.
- FIG. 24 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 3-box PULL model according to an embodiment of the present invention.
- FIG. 25 is a ladder diagram embodying FIG. 24.
- FIG. 26 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multiple resource prefetch action including both a previous resource identifier and a next resource identifier in a two-box PUSH model according to an embodiment of the present invention.
- FIG. 27 is a ladder diagram embodying FIG. 26.
- FIG. 29 is a ladder diagram embodying FIG. 28.
- FIG. 30 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 2-box PUSH model according to an embodiment of the present invention.
- FIG. 31 is a ladder diagram embodying FIG. 30.
- FIG. 32 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including both a previous resource identifier and a next resource identifier in the 2-box PULL model according to an embodiment of the present invention.
- FIG. 33 is a ladder diagram embodying FIG. 32.
- FIG. 35 is a ladder diagram embodying FIG. 34.
- 36 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 2-box PULL model according to an embodiment of the present invention.
- FIG. 37 is a ladder diagram embodying FIG. 36.
- FIG. 1 is a block diagram illustrating a three-box model according to an embodiment of the invention.
- a three-box model includes a control point device 100, a media server device 200, and a media renderer device. device) 300.
- the control point device 100 includes a controller 110, a network interface 120, a memory 130, and a display 150.
- the control point device 100 sends a message corresponding to a command, request, or action to the media server device 200 and the media renderer device 300.
- the subject of the determination of whether the message is transmitted may be a user or the control point apparatus 100 itself.
- the control point device 100 may support a user interface for transmitting a response to the transmitted message to the user. This user interface may correspond to the internal display unit 150 or a display unit of a separate device.
- the controller 110 is a subject that performs all operations of the control point apparatus 100 described herein.
- the controller 110 generates a message corresponding to a command, request, or action and sends the message to the media server device 200 and the media renderer device 300 through the network interface 120. .
- the network interface 120 supports transmission and reception of IP-based messages through an IP-based network.
- the network interface 120 supports the transmission of messages or data generated by the controller 110.
- the memory 130 stores various types of information and state variables described later.
- the memory 130 may be a physical device that temporarily stores such various data.
- the display unit 150 displays the information to be processed.
- the display unit 150 may include a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED),
- the display device may include at least one of a flexible display and a 3D display.
- the media server device 200 includes a controller 210, a network interface 220, a memory 230, and a media content storage 260.
- the media server device 200 receives and processes a message corresponding to a command, request, or action from the control point device 100.
- the media server device 200 may be a device that stores media content, and the media content metadata and media content of the media content may be stored in the media renderer device 300, the control point device 100, or another media server device.
- Various media services may be provided, such as streaming data, uploading data, or downloading data.
- the controller 210 is a subject performing all operations of the IP-based content server apparatus 200 described herein.
- the network interface 220 supports transmission and reception of IP-based messages through an IP-based network.
- the network interface 220 supports the reception of a message corresponding to a command, a request, or an action, and supports the transmission and reception of metadata and media data of media content.
- the memory 230 stores metadata, content, various kinds of information described below, and state variables.
- the memory 230 may be a physical device that temporarily stores such various data.
- Media content storage 260 stores media content, such as images, audio, video, and audio-video (AV).
- media content storage 260 may be a physical storage device such as a hard disk.
- the media server device 200 may further include an encoding unit.
- the encoding unit of the media server device 200 may re-encode media content in a format suitable for the media renderer device 300.
- the controller 210 may provide the media renderer device 300 with the re-encoded media content through the network interface 220.
- the media renderer device 300 includes a controller 310, a network interface 320, a memory 330, a display 350, and a decoder 370.
- the media renderer device 300 receives and processes a message corresponding to a command, request, or action from the control point device 100.
- the media renderer device 300 is a device that plays media content, and receives and plays metadata and media data of the media content from the media server device 200.
- the controller 310 is a subject performing all operations of the media renderer device 300 described herein.
- Network interface 320 supports the transmission and reception of IP-based messages over an IP-based network.
- the network interface 120 supports reception of a message corresponding to a command, request, or action, and supports transmission and reception of metadata of media content and media data.
- the memory 330 stores metadata, content, various kinds of information described below, and state variables.
- the memory 330 may be a physical device that temporarily stores such various data.
- the memory 330 of the media renderer device 300 may be removable.
- the display 350 displays the processed information.
- the display unit 350 may include a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED),
- the display device may include at least one of a flexible display and a 3D display.
- the decoding unit 370 decodes the encoded media content.
- the controller 310 may display the decoded media content on the display 350.
- FIG. 2 is a block diagram illustrating a two box model according to an embodiment of the present invention.
- the two box model includes a control point combined media player device 400 and a media server device 200. Since the media server device 200 has been described with reference to FIG. 1, a description thereof will be omitted.
- the control point combined media renderer device 400 includes both the functions of the control point device 100 and the media renderer device 300 described with reference to FIG. 1. In the UPNP protocol, the control point combined media renderer device 400 may also be called a media player device.
- the control point combined media renderer device 400 sends a message corresponding to a command, request, or action to the media server device 200.
- the subject of the determination of whether such a message is transmitted may be a user or the control point combined media renderer device 400 itself.
- the control point combined media renderer device 400 may support a user interface for transmitting a response to the transmitted message to the user. This user interface may correspond to an internal display unit 450 or a display unit of a separate device.
- the control point combined media renderer device 400 may play media content, and receive and play metadata and media data of the media content from the media server device 200.
- the control point combined media renderer device 400 includes a control unit 410, a network interface 420, a memory 430, a display unit 450, and a decoding unit 470.
- the controller 410 is a subject performing all operations of the control point combined media renderer apparatus 400 described herein.
- the controller 410 generates a message corresponding to a command, request, or action, and sends the message to the media server apparatus 200 through the network interface 420.
- the network interface 420 supports the transmission and reception of IP-based messages over an IP-based network.
- the network interface 420 supports transmission of a message or data generated by the controller 410, and supports transmission and reception of metadata and media data of media content.
- the memory 430 stores metadata, content, various kinds of information, and state variables described later.
- the memory 430 may be a physical device that temporarily stores such various data.
- the memory 430 may be removable.
- the display 450 displays the processed information.
- the display unit 450 may include a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED),
- the display device may include at least one of a flexible display and a 3D display.
- the decoding unit 470 decodes the encoded media content.
- the controller 410 may display the decoded media content on the display 450.
- Figure 3 is a block diagram showing a two box model according to another embodiment of the present invention.
- the two box model according to another embodiment of the present invention includes a control point combined media server device 500 and a media renderer device 300. Since the media renderer device 300 has been described with reference to FIG. 1, a description thereof will be omitted.
- the control point combined media server apparatus 500 includes both the functions of the control point apparatus 100 and the functions of the media server apparatus 200 described with reference to FIG. 1.
- control point combined media server device 500 sends a message corresponding to a command, a request, or an action to the media renderer device 300.
- the subject of the determination of whether to transmit such a message may be a user or the control point combined media server apparatus 500 itself.
- the control point combined media server device 500 may support a user interface for transmitting a response to the transmitted message to the user. This user interface may correspond to an internal display unit 550 or a display unit of a separate device.
- the control point combining media server device 500 is a device that stores media content, and the media content metadata and the media data of the media content in the media renderer device 300, the control point device 100, or another media server device.
- Various media services such as streaming, uploading and downloading can be provided.
- the control point combined media server apparatus 500 includes a controller 510, a network interface 520, a memory 530, a display 550, and a media content storage 560.
- the controller 510 is a subject performing all operations of the control point combined media server apparatus 500 described herein.
- the controller 510 generates a message corresponding to a command, a request, or an action and sends the message to another media server device and the media renderer device 300 through the network interface 520.
- the network interface 520 supports the transmission and reception of IP-based messages over an IP-based network.
- the network interface 520 supports the transmission of messages or data generated by the controller 510.
- the network interface 520 supports reception of a message corresponding to a command, request, or action, and supports transmission and reception of metadata of media content and media data.
- the memory 530 stores metadata, content, various kinds of information and state variables described below.
- the memory 530 may be a physical device that temporarily stores such various data.
- the display unit 550 displays the processed information.
- the display unit 150 may include a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED),
- the display device may include at least one of a flexible display and a 3D display.
- Media content storage 560 stores media content, such as images, audio, video, and audio-video (AV).
- media content storage 560 can be a physical storage device such as a hard disk.
- control point combined media server apparatus 500 may further include an encoding unit.
- the encoding unit of the control point combined media server device 500 may re-encode media content in a format suitable for the media renderer device 300.
- the controller 510 may provide the media renderer device 300 with the re-encoded media content through the network interface 520.
- FIG. 4 is a ladder diagram illustrating a method of operating a three-box model according to an embodiment of the present invention.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S111).
- the resource may correspond to media content such as an image, audio, video, and audio-video (AV).
- the request for playback of the current playback resource may be performed by calling a resource transfer action of the current playback resource and calling a playback action of the current playback resource.
- the resource transfer action may include an instance identifier, a resource identifier of the current playback resource, and metadata of the current playback resource.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the AVT :: SetAVTransportURI () action may include an instance identifier, a resource identifier of the current playback resource, and metadata of the current playback resource.
- the instance identifier may be set to zero.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the AVT :: Play () action may include an instance identifier.
- the instance identifier may be set to zero.
- control point device 100 may transmit a resource transfer action to the media server device 200.
- control point device 100 may transmit a resource transfer action to the media renderer device 300.
- the control point device 100 may transmit a play action of the current play resource to the media renderer device 300.
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S115).
- the media renderer device 300 is a control protocol for delivering the actions specified herein to the current playback resource specified by the media server device 200, in particular the UPNP protocol, not an out-of-band transfer protocol. Can be received via).
- the media renderer apparatus 300 may request that the media server apparatus 200 not request a current playback resource from the media server apparatus 200. It can receive the current playback resource to push.
- the media server device 200 may push the current playback resource corresponding to the resource identifier of the current playback resource of the resource transfer action to the media renderer device 200.
- the media renderer device 300 When the control point device 100 transmits a resource transfer action to the media renderer device 300, the media renderer device 300 requests the media server device 200 for a current playback resource, and the media renderer device 200 receives the resource transfer action from the media server device 200.
- the current playback resource can be received.
- the media renderer device 300 may request the current playback resource from the media server device 200 through the resource identifier of the resource transfer action.
- the media renderer device 300 may transmit an HTTP GET request (Hypertext Transfer Protocol get request) including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- This HTTP GET request is a request message used to request transmission of a resource corresponding to an included resource identifier.
- the media renderer device 300 plays the received resource (S117).
- control point device 100 After the control point device 100 requests playback of the specified current playback resource, in the background during idle time, the control point device 100 obtains a plurality of prefetch resources from the media renderer device 300 in advance. A multi-resource prefetch action is invoked to come (prefetch) (S121).
- invoking a single multi-resource prefetch action may result in prefetching of a plurality of prefetch resources.
- a single multi-resource prefetch action may include, as arguments, a plurality of prefetch resource identifiers corresponding to the plurality of prefetch resources and a plurality of metadata items respectively corresponding to the plurality of prefetch resources. have.
- the multiple resource prefetch action may comprise a plurality of single resource prefetch actions. Invocation of a plurality of single resource prefetch actions may result in prefetching of a plurality of prefetch resources.
- each of the plurality of single resource prefetch actions may include a resource identifier of a single resource and a metadata item of a single resource as arguments.
- the multi-resource prefetch action which consists of a plurality of single resource prefetch actions, includes a plurality of prefetch resource identifiers corresponding to the plurality of prefetch resources and a plurality of metadata items respectively corresponding to the plurality of prefetch resources. can do.
- the multi-resource prefetch action may include a multi-prefetch resource identifier argument that includes a plurality of prefetch resource identifiers, each corresponding to a plurality of prefetch resources, and a plurality of metadata items respectively corresponding to the plurality of prefetch resources. It may include multiple resource metadata arguments, including.
- the resource identifier may be a uniform resource identifier (URI).
- the multiple prefetch resource identifier arguments may include information about the version, information on the number of the plurality of prefetch resource identifiers, information on the order of each prefetch resource identifier, information on whether each prefetch resource identifier supports metadata, It may include a prefetch resource identifier of.
- the device that previously received the multi-resource prefetch action again receives a multi-resource prefetch action that includes the multi-prefetch resource identifier argument
- the device informs about the version of the previously received multi-prefetch resource identifier argument. And information about the version of the multi-prefetch resource identifier argument currently received.
- the device may accept and process the currently received multiple prefetch resource identifier argument.
- the device may discard the current received multiple prefetch resource identifier argument without accepting it. have.
- the metadata argument sets the identifier attribute of all resources to align the order of the metadata according to the order of the plurality of prefetch resources. Can convey. If the control point device 100 does not want to provide metadata of the plurality of prefetch resources, the metadata argument may provide an empty string. If all prefetch resources cannot be prefetched, including multiple prefetch resource identifier arguments with too many prefetch resource identifiers, the media server device 200 and / or the media renderer device 300 means that there are too many resources. It can return an error code (eg 7XX).
- one of the plurality of prefetch resources corresponds to a previous resource of the current playback resource in batch order, and another one corresponds to a next resource of the current playback resource in batch order.
- one of the plurality of prefetch resource identifiers may indicate a previous resource of the current playback resource in the order of placement, and another one may indicate a next resource of the current playback resource in the order of placement.
- one of the plurality of prefetch resources may correspond to an immediately previous resource of the current playback resource in a batch order, and another one may correspond to an immediately next resource of the current playback resource in a batch order.
- one of the plurality of prefetch resource identifiers may indicate a resource immediately before the current playback resource in the arrangement order, and another one may indicate a resource immediately after the current playback resource in the placement order.
- all of the plurality of prefetch resources are allowed to be previous resources, all of the plurality of prefetch resources are allowed to be next resources, some of the plurality of prefetch resources are previous resources, and others are next resources May be allowed.
- all of the plurality of prefetch resource identifiers are allowed to point to the previous resource, all of the plurality of prefetch resource identifiers are allowed to point to the next resource, and some of the plurality of prefetch resource identifiers point to the previous resource. And others may be allowed to point to the next resource.
- all of the plurality of prefetch resources are allowed to be immediately preceding resources, all of the plurality of prefetch resources are allowed to be immediately after resources, and some of the plurality of prefetch resources are allowed to be immediately before resources and others are immediately after resources. Can be.
- all of the plurality of prefetch resource identifiers are allowed to indicate immediately preceding resources, all of the plurality of prefetch resource identifiers are allowed to indicate immediately after resources, and some of the plurality of prefetch resource identifiers indicate the immediately preceding resources. And others may be allowed to indicate resources immediately.
- the order of placing a plurality of resources may be at least one of a resource title order, a file name order of resources, a resource creation date order, a resource modification date order, a resource size order, a resource play time order, a resource author order and a resource type order Can be.
- the order of arranging the plurality of resources may follow the search result order.
- the arrangement order of the plurality of images may correspond to the file name order of the plurality of images, but is not limited thereto.
- the arrangement order of the plurality of audio may correspond to the track order of the plurality of audio, but the present invention is not limited thereto.
- the arrangement order of the plurality of videos may correspond to the track order of the plurality of videos, but is not limited thereto.
- the multi-resource prefetch action may include N prefetch resource identifiers that point to the next N resources of the current playback resource.
- the multi-resource prefetch action may include N prefetch resource identifiers that point to previous N resources of the current playback resource.
- the multi-resource prefetch action may include N / 2 prefetch resource identifiers indicating the previous N / 2 resources of the current playback resource and the current playback resource. It may include N / 2 prefetch resource identifiers indicating next N / 2 resources. In one embodiment, if N is odd, the multi-resource prefetch action is an N / 2 round integer prefetch resource identifier indicating N / 2 previous integer resources and N / 2 round integer integer next next resources It may include a number of pre-fetch resource identifiers of N / 2 down integer indicating.
- the multi-resource prefetch action is followed by N / 2 rounded integer prefetch resource identifiers of N / 2 and a rounded integer number of N / 2s, indicating a previous integer number of rounded integers of N / 2. It may include an N / 2 round-up prefetch resource identifier indicating a resource.
- the multi-resource prefetch action may include a prefetch resource identifier indicating the N resources recommended by the control point apparatus 100.
- the control point device 100 may recommend N resources based on the frequency of use of the resources and the time of use of the resources. For example, the control point apparatus 100 may recommend N frequently used resources based on the frequency of use of the resources. In addition, the control point apparatus 100 may recommend N recently used resources based on a resource usage time of the resource.
- the control point apparatus 100 may determine whether the plurality of prefetch resource identifiers included in the multi-resource prefetch action are based on a user input for setting the number N of the plurality of prefetch resource identifiers included in the multi-resource prefetch action. The number can be determined.
- the control point apparatus 100 may determine the N prefetch resource identifiers included in the multi-resource prefetch action based on a user input of which N prefetch resource identifiers the multi-resource prefetch action includes.
- control point device 100 may send multiple resource prefetch actions to the media server device 200.
- control point device 100 may send multiple resource prefetch actions to the media renderer device 300.
- 5 and 6 illustrate a user interface screen for setting multiple resource prefetch according to an embodiment of the present invention.
- FIG. 5 shows a user interface screen for setting up multiple resource prefetch when multiple resource prefetch is deactivated.
- FIG. 6 shows a user interface screen for setting multi-resource prefetch when multi-resource prefetch is activated.
- the control point device 100 has a user interface for multi-resource prefetch setting.
- the screen 600 may be displayed on the display unit 150.
- the user interface screen 600 for setting up multi-resource prefetch includes a check box-type user interface element 610 that supports setting of whether multi-resource prefetching is enabled, and a number of multi-prefetch resources of the multi-resource prefetch action.
- the form of each user interface need not be limited to a check box form, a text box form, or a combo box form.
- the user interface element 620 and the user interface element 630 are also deactivated, and the user interface.
- the previous setting value of the element 620 and the previous setting value of the user interface element 630 may not be displayed.
- the user interface element 620 and the user interface element 630 are also deactivated, and the user interface.
- the previous setting value of the element 620 and the previous setting value of the user interface element 630 may be dimmed.
- the multi-resource prefetch when the multi-resource prefetch is set to be activated through the user interface element 610, the user interface element 620 and the user interface element 630 are set. ) Is also activated, the number of multiple prefetch resources of the multi-resource prefetch action can be set via the user interface element 620, and whether the multi-resource prefetch action supports metadata via the user interface element 630. Whether or not can be set.
- the control point device 100 invokes multiple resource prefetch actions.
- the number of the plurality of prefetch resources included in the multi-resource prefetch action may be the same as the value set through the user interface element 620.
- the multi-resource prefetch action may include metadata of the plurality of prefetch resources.
- the multi-resource prefetch action may not include metadata of the plurality of prefetch resources.
- the control point device 100 does not invoke multiple resource prefetch actions.
- the media renderer device 300 prefetches a plurality of prefetch resources from the media server device 200 (S123), thereby seamlessly switching the plurality of prefetched resources without additional transfer. to provide seamless transitions.
- the media renderer device 300 prefetches a plurality of prefetch resources that the media server device 200 pushes without requesting the media server device 200 for a plurality of prefetch resources. can do.
- the media server device 200 may push the plurality of prefetch resources corresponding to the plurality of prefetch resource identifiers of the multi-resource prefetch action to the media renderer device 200.
- the media renderer device 300 may request a plurality of prefetch resources from the media server device 200 to prefetch a plurality of prefetch resources from the media server device 200. have.
- the media renderer device 300 may request a plurality of prefetch resources to prefetch from the media server device 200 through a plurality of prefetch resource identifiers of a multi-resource prefetch action.
- the media renderer device 300 sends an HTTP GET request including the plurality of prefetch resource identifiers of the multi-resource prefetch action to the media server device 200 to request the plurality of prefetch resources from the media server device 200. Can be.
- FIG. 7 illustrates a user interface screen displaying a multi-resource prefetch status according to an embodiment of the present invention.
- control point device 100 may display a user interface screen 700 displaying the multi-resource prefetch status as shown in FIG. 7. have.
- the UI screen may include names of the plurality of prefetch resources and states of the plurality of prefetch resources.
- the state of the plurality of prefetch resources may be indicated as either prefetched or prefetching.
- the UI screen may display a state of a plurality of resources including a plurality of prefetch resources.
- the UI screen may display the state of the plurality of resources as any one of playing, prefetching, prefetching, and non-prefetch content.
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is called (S127).
- the control point device 100 may transmit a resource play action for requesting playback of the next play resource to the media renderer device 300.
- next playback resource may be a resource specified by the user, may be a previous resource of the current playback resource, or may be a next resource of the current playback resource.
- the resource playback action for the next playback resource may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the AVT :: SetAVTransportURI () action may include an instance identifier, a resource identifier of the next playback resource, and metadata of the next playback resource.
- the instance identifier may be set to zero.
- the resource play action for the next play resource may be a previous resource play action corresponding to the AVT :: Previous () action of the UPNP protocol.
- the resource play action for the next play resource may be a next resource play action corresponding to the AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next playback resource belongs to a plurality of prefetch resources (S129).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S131), and plays the received next playback resource (S133).
- the media renderer device 300 receives the next playback resource from the media server device 200 through an out-of-band transfer protocol rather than the transport protocol (especially the UPNP protocol) of the actions defined herein. Can be received.
- the media renderer device 300 may request the next play resource from the media server device 200 and receive the next play resource from the media server device 200.
- the media renderer device 300 may request the next play resource from the media server device 200 through the resource identifier of the next play resource.
- the media renderer device 300 may request the next play resource by transmitting an HTTP GET request including the resource identifier of the next play resource to the media server device 200.
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S133). As such, the media renderer device 300 may provide a seamless transition from the current playback resource to the next playback resource without additional transfer through the plurality of prefetched resources.
- FIG. 4 has been described with reference to a 3-box model.
- the control point device 100 is a separate device from the media server device 200
- the control point device 100 is a device separate from the media renderer device 300
- the media server device 200 Is a separate device from the media renderer device 300.
- FIG. 4 may also be applied to a two-box model in which the control point device 100 and the media server device 200 are combined into one device.
- the control point apparatus 100 and the media server apparatus 200 are integrated into the control point combined media server apparatus 500, and the control point combined media server apparatus 500 is a separate device from the media renderer apparatus 300.
- the call of the action between the control point device 100 and the media server device 200 may be an internal action call. That is, a resource transport action such as an AVT :: SetAVTransportURI () action, a play action such as an AVT :: Play () action, or a call of a multi-resource prefetch action may be an internal action call.
- FIG. 4 may also be applied to a two-box model in which the control point device 100 and the media renderer device 300 are combined into one device.
- the control point device 100 and the media renderer device 300 are integrated into the control point combined media renderer device 300, and the control point combined media renderer device 300 is a separate device from the media server device 200.
- the call of the action between the control point device 100 and the media renderer device 300 may be an internal action call. That is, a resource transport action such as an AVT :: SetAVTransportURI () action, a play action such as an AVT :: Play () action, or a call of a multi-resource prefetch action may be an internal action call.
- FIG. 11 shows a forward transition from a current resource to a resource immediately after the deployment in accordance with an embodiment of the present invention.
- the media renderer device 300 includes a resource immediately before the image (IMAGE 1), a resource immediately after IMAGE 3, and a next resource (IMAGE 4) in the order of deployment. Has been prefetched or at least immediately after resource (IMAGE 3). Accordingly, the media renderer device 300 may provide a seamless forward transition from the current resource IMAGE 2 to the immediate resource IMAGE 3 in the placement order.
- FIG. 12 illustrates a backward switch from a current resource to a previous resource in the order of deployment according to an embodiment of the present invention.
- the media renderer device 300 includes a resource immediately before the image (IMAGE 1), a resource immediately after IMAGE 3, and a next resource (IMAGE 4). Has been prefetched or at least the last resource IMAGE 1 was prefetched. Accordingly, the media renderer device 300 may provide a seamless reverse switching from the current resource IMAGE 2 to the immediately preceding resource IMAGE 1 in the order of deployment.
- FIG. 13 shows a forward leap transition from the current resource to the next next resource in the deployment order according to an embodiment of the present invention.
- the media renderer device 300 may include a resource immediately before the image (IMAGE 1), a resource immediately after IMAGE 3, and a next resource (IMAGE 4) in the arrangement order. Has been prefetched or at least immediately after resource (IMAGE 3). Accordingly, the media renderer device 300 may provide a seamless forward leap transition from the current resource IMAGE 2 to the next next resource IMAGE 4 in the order of placement.
- the media renderer device 300 may prefetch previous resources in a batch order to provide a seamless reverse leap transition from the current resource IMAGE 2 to previous resources IMAGE 4 in a batch order. It may be.
- the media server device 200 may receive a multi-resource prefetch action
- the media renderer device 300 may receive a multi-resource prefetch action
- the control point combined media renderer device 400 may receive multiple resource prefetch actions
- the control point combined media server device 500 may receive multiple resource prefetch actions.
- the term "device” not indicating a specific device covers the media server device 200, the media renderer device 300, the control point combined media renderer device 400, and the control point combined media server device 500. It is used as a concept.
- the device can transfer the value in the argument in the received action to the corresponding instance state variable. Specifically, if the device has a valid non-empty multi-resource identifier argument (which can be named PrefetchURIs argument or MultiNextURI) and a valid non-empty multi-resource metadata argument (which can be named PrefetchURIsMetaData argument or MultiNextURIMetaData argument).
- a valid non-empty multi-resource identifier argument which can be named PrefetchURIs argument or MultiNextURI
- a valid non-empty multi-resource metadata argument which can be named PrefetchURIsMetaData argument or MultiNextURIMetaData argument.
- the device Upon receiving a multi-resource prefetch action, the device transfers the value in the multi-resource identifier argument in the received action to a multi-resource identifier status variable (e.g., A_ARG_TYPE_PrefetchURIs or AVT.MultiNextAVTransportURI) and transfers the value in the multi-resource metadata argument. It can be migrated to a multi-resource metadata state variable (eg A_ARG_TYPE_PrefetchURIsMetaData or AVT.MultiNextAVTransportURIMetaData).
- a multi-resource identifier status variable e.g., A_ARG_TYPE_PrefetchURIs or AVT.MultiNextAVTransportURI
- the media renderer device 300 may provide the following before providing a response to the received action: At least one of the two tasks can be performed. One of the two tasks is to execute a series of HTTP HEAD requests for the media renderer device 300 to prefetch a plurality of prefetch resources from the media server device 200. 200). Another one of the two tasks is that the media renderer device 300 issues a series of partial HTTP GET requests to prefetch a plurality of prefetch resources from the media server device 200. It transmits to the media server apparatus 200.
- the HTTP HEAD request is not used to request transmission of a resource corresponding to an included resource identifier, but is a request message used to request transmission of a header of a resource corresponding to an included resource identifier.
- a partial HTTP GET request is a request message used to request the transfer of a portion of a resource corresponding to an included resource identifier.
- the media renderer device 300 receives a multiple resource prefetch action that is valid and not empty, and a plurality of prefetch resource identifiers within the multi-resource prefetch action identify the contents of the image class, and the media renderer device 300 ) Has not yet cached a plurality of image resources corresponding to the plurality of prefetch resource identifiers, the media renderer device 300 may have a plurality of prefetch resource identifiers within the multiple resource prefetch action to prefetch the plurality of image resources. You can issue a plurality of HTTP GET requests using. Meanwhile, the media renderer device 300 uses a plurality of alternative resource identifiers in a plurality of prefetch resource metadata items in the multiple resource prefetch action to prefetch a plurality of image resources. You can also issue GET requests individually.
- the device may prefetch the plurality of image resources upon receipt of a multi-resource prefetch action that includes a plurality of prefetch resource identifiers identifying the plurality of image resources.
- the media renderer device 300 receives a multi-resource prefetch action that is valid and not empty, and the plurality of prefetch resource identifiers in the multi-resource prefetch action are either audio class or video class or audio-video. , AV) if the contents of the class are identified and the media renderer device 300 has not yet cached a plurality of resources corresponding to the plurality of prefetch resource identifiers, then the media renderer device 300 partially or partially stores the plurality of media resources.
- a plurality of HTTP GET requests may be issued each using a plurality of prefetch resource identifiers in the multiple resource prefetch action during playback of the current playback resource identifier.
- the media renderer device 300 may include a plurality of alternate resource identifiers in the plurality of prefetch resource metadata items in the multiple resource prefetch action during playback of the current playback resource identifier to partially or fully prefetch the plurality of media resources.
- Alternative resource identifiers may be used to issue a plurality of HTTP GET requests, respectively.
- the device When the device receives a multi-resource prefetch action including a plurality of prefetch resource identifiers identifying a plurality of media resources corresponding to audio, video, or AV, the device prefetches the plurality of media resources during playback of the current playback resource identifier. can do.
- the device If the device already contains multiple prefetch resource identifiers and receives a valid non-empty multi-resource prefetch action, the device replaces the values of the state variables with the values in the arguments in the recent multi-resource prefetch action. can do.
- the device if the device already contains a plurality of prefetch resource identifiers and receives a multiple resource prefetch action that includes a valid non-empty multiple resource identifier argument and a valid non-empty multiple resource metadata argument, the device Replaces the value of the multi-resource identifier state variable with the value in the multi-resource identifier argument in the recent multi-resource prefetch action, and replaces the value of the multi-resource metadata state variable in the multi-resource metadata argument in the recent multi-resource prefetch action. Can be replaced by a value
- the device already contains multiple prefetch resource identifiers and receives an empty multiple resource prefetch action, the device is in a state associated with the multiple prefetch resource identifiers already included. You can clear the variables. Specifically, if a device already contains a plurality of prefetch resource identifiers and receives a multi-resource prefetch action that includes an empty multi-resource identifier argument and an empty multi-resource metadata argument, the device already contains The multiple resource identifier state variable associated with the plurality of prefetch resource identifiers present may be cleared, and the multiple resource metadata state variable associated with the plurality of prefetch resource identifiers already included.
- the device will Information in the current playback resource identifier state variable that stores the current playback resource identifier may be replaced with information in the received resource transfer action.
- the device can clear multiple resource identifier state variables associated with a plurality of prefetch resource identifiers already included, and clear multiple resource metadata state variables associated with a plurality of prefetch resource identifiers already included. have.
- the device stores the current playback resource identifier.
- the current playback resource identifier state variable may be cleared, and one or more state variables associated with a plurality of prefetch resource identifiers already included may be cleared.
- the device may clear multiple resource identifier state variables associated with a plurality of prefetch resource identifiers already included, and clear multiple resource metadata state variables associated with a plurality of prefetch resource identifiers already included. Can be.
- the device may enter a NO_MEDIA_PRESENT state in which no media exists.
- the device is responsible for the previous resource playback action (e.g. AVT: Previous action). ) Or a next resource play action (eg, AVT: Next action).
- the previous resource play action is an action for playing one or more previous prefetch resource identifiers among the plurality of prefetch resource identifiers
- the next resource play action is an action for playing one or more next prefetch resource identifiers among the plurality of prefetch resource identifiers.
- the device may play the previous resource play action (e.g. AVT: Previous action) or the next resource play. At least one of actions (eg AVT: Next action) may be allowed.
- the previous resource play action is an action for playing one or more previous prefetch resource identifiers among the plurality of prefetch resource identifiers
- the next resource play action is an action for playing one or more next prefetch resource identifiers among the plurality of prefetch resource identifiers. Can be.
- FIG. 14 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multiple resource prefetch action including both a previous resource identifier and a next resource identifier in a three-box PUSH model according to an embodiment of the present invention.
- control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S1111).
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S1115).
- the media renderer device 300 plays the received resource (S1117).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes a multi-resource prefetch including the previous resource identifier and the next resource identifier as arguments.
- the action is transmitted to the media server device 200 (S1121).
- the multi-resource prefetch action may include the previous resource metadata and the next resource metadata as arguments.
- the media renderer device 300 prefetches the previous resource and the next resource that the media server device 200 pushes without requesting the previous resource and the next resource from the media server device 200. (S1123).
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource. The action is transmitted to the media renderer device 300 (S1127).
- the media renderer device 300 checks whether the next playback resource belongs to the previous resource prefetched and the next resource prefetched (S1129).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S1131), and plays the received next playback resource. (S1133).
- the media renderer device 300 plays the next playback resource without receiving the next playback resource from the media server device 200 again (S1133). ).
- FIG. 15 is a ladder diagram embodying FIG. 14.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 calls a resource transfer action of the designated current playback resource (S1211).
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point apparatus 100 calls the playback action of the specified current playback resource (S1213).
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 In response to the request for playback of the specified current playback resource, the media renderer device 300 requests the media server device 200 for the current playback resource (S1214).
- the media renderer device 300 may transmit an HTTP GET request including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S1215).
- the media renderer device 300 plays the received resource (S1217).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes the previous resource identifier and the next resource identifier as arguments: AVT :: SetNextAVTransportURI () The action is transmitted to the media server device 200 (S1221). The VT :: SetNextAVTransportURI () action may include the previous resource metadata and the next resource metadata as arguments.
- SetNextAVTransportURI is a next resource prefetch action that includes a previous resource identifier and a next resource identifier as arguments, according to an embodiment of the present invention.
- SetNextAVTransportURI a next resource prefetch action according to an embodiment of the present invention, may include an instance identifier, a next resource identifier, a next resource metadata, a previous resource identifier, and a previous resource metadata as input parameters.
- the data type of the next resource identifier argument, the next resource metadata argument, the previous resource identifier argument, and the previous resource metadata argument may be a string.
- the media renderer device 300 prefetches a plurality of prefetch resources that the media server device 200 pushes without requesting the previous and next resources from the media server device 200. (S1223).
- the control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is transmitted to the media renderer device 300 (S1227).
- the resource play action may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the resource play action may be an AVT :: Previous () action of the UPNP protocol or an AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next playback resource belongs to the previous resource prefetched and the next resource prefetched (S1229).
- the media renderer device 300 transmits an HTTP GET request to the media server device 200 requesting the next play resource (S1230).
- the playback resource is received from the media server apparatus 200 (S1231), and the received playback resource is played back (S1233).
- the media renderer device 300 plays the next playback resource without receiving a next playback resource from the media server device 200 again (S1233). ).
- FIG. 16 illustrates an operation method of prefetching multiple resources using a resource prefetch action including only a previous resource identifier and a resource prefetch action including only a next resource identifier in a three-box PUSH model according to an embodiment of the present invention.
- control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S1411).
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S1415).
- the media renderer device 300 plays the received resource (S1417).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes the next resource identifier as an argument and not the previous resource identifier as an argument.
- the next resource prefetch action is transmitted to the media server device 200 (S1421).
- the resource prefetch action may include metadata of the next resource as an argument.
- the media renderer device 300 prefetches the next resource that the media server device 200 pushes without requesting the next resource from the media server device 200 (S1422).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes the previous resource identifier as an argument and does not include the next resource identifier as an argument.
- the previous resource prefetch action is transmitted to the media server device 200 (S1423).
- the resource prefetch action may include metadata of the previous resource as an argument.
- the media renderer device 300 prefetches the previous resource pushed by the media server device 200 without requesting the previous resource from the media server device 200 (S1424).
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource. The action is transmitted to the media renderer device 300 in operation S1427.
- the media renderer device 300 checks whether the next playback resource belongs to the previous resource prefetched and the next resource prefetched (S1429).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S1431), and plays the received next playback resource. (S1433).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S1433). ).
- FIG. 17 is a ladder diagram embodying FIG. 16.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 calls a resource transfer action of the designated current playback resource (S1511).
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point apparatus 100 calls the playback action of the specified current playback resource (S1513).
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 In response to the request for playback of the specified current playback resource, the media renderer device 300 requests the media server device 200 for the current playback resource (S1514).
- the media renderer device 300 may transmit an HTTP GET request including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- the media renderer device 300 receives a specified current playback resource from the media server device 200 (S1515).
- the media renderer device 300 plays the received resource (S1517).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes the next resource identifier as an argument and not the previous resource identifier as an argument.
- the AVT :: SetNextAVTransportURI () action is transmitted to the media server apparatus 200 (S1521).
- the resource prefetch action may include metadata of the next resource as an argument.
- the following shows the XML service description of SetNextAVTransportURI, the next resource prefetch action that includes the next resource identifier as an argument and no previous resource identifier as an argument, according to an embodiment of the present invention.
- SetNextAVTransportURI which is a next resource prefetch action according to an embodiment of the present invention, may include an instance identifier, a next resource identifier, and a next resource metadata as input parameters.
- the data type of the next resource identifier argument and the next resource metadata argument may be a string.
- the following operation is described centering on the previous resource prefetch action including the previous resource identifier, but may be applied to multiple resource prefetch actions including the previous resource identifier.
- the media server device 200 may receive a previous resource prefetch action
- the media renderer device 300 may receive a previous resource prefetch action
- the control point combining media renderer may receive a previous resource prefetch action
- Device 400 may receive a previous resource prefetch action
- control point combined media server device 500 may receive a previous resource prefetch action.
- the term "device” not indicating a specific device covers the media server device 200, the media renderer device 300, the control point combined media renderer device 400, and the control point combined media server device 500. It is used as a concept.
- AVT SetPreviousAVTransportURI
- PreviousURI previous non-empty resource identifier argument
- PreviousURIMetaData valid non-empty previous resource metadata argument
- the device transfers the value in the previous resource identifier argument in the received action to the previous resource identifier state variable (eg PreviousAVTransportURI), and transfers the value in the previous resource metadata argument (eg, previous resource metadata state variable).
- the media renderer device 300 may provide the following before providing a response to the received action: At least one of the two tasks can be performed. One of the two tasks is that the media renderer device 300 sends an HTTP HEAD request to the media server device 200 to prefetch the previous resource from the media server device 200. Another one of the two tasks is that the media renderer device 300 sends a partial HTTP GET request to the media server device 200 to prefetch the previous resource from the media server device 200. will be.
- the media renderer device 300 receives a previous resource prefetch action that is valid and not empty, the previous resource identifier in the previous resource prefetch action identifies the contents of the image class, and the media renderer device 300 is still If the image resource corresponding to the previous resource identifier has not been cached, the media renderer device 300 may issue an HTTP GET request using the previous resource identifier in the previous resource prefetch action to prefetch the image resource. have. Meanwhile, the media renderer device 300 may issue an HTTP GET request using an alternative resource identifier in previous resource metadata in the previous resource prefetch action to prefetch the image resource. .
- the device may prefetch the image resource upon receiving a previous resource prefetch action that includes a previous resource identifier that identifies the image resource.
- the media renderer device 300 receives a previous resource prefetch action that is valid and not empty, and the previous prefetch resource identifier in the previous resource prefetch action is set to audio class or video class or audio-video, AV) If the contents of the class are identified and the media renderer device 300 has not yet cached the previous resource corresponding to the previous resource identifier, then the media renderer device 300 is currently playing to partially or completely prefetch the media resource.
- the previous resource identifier in the previous resource prefetch action may be used to issue an HTTP GET request.
- the media renderer device 300 uses an alternative resource identifier in previous resource metadata in the previous resource prefetch action during the playback of the current playback resource identifier to partially or fully prefetch the media resource. You can also issue an HTTP GET request.
- the device may prefetch that media resource during playback of the current playback resource identifier.
- the device may replace the values of the state variables with the values in the arguments in the most recent previous resource prefetch action.
- a device already contains a previous resource identifier and receives a previous resource prefetch action that includes a valid non-empty previous resource identifier argument and a valid non-empty previous resource metadata argument
- the device receives the previous resource.
- the device can clear the state variables associated with the previous resource identifier it already contains. Specifically, if a device already contains a previous resource identifier, and receives a previous resource prefetch action that includes an empty previous resource identifier argument and an empty previous resource metadata argument, the device may already have the previous resource already included. The previous resource identifier state variable associated with the identifier may be cleared, and the previous resource metadata state variable associated with the previous resource identifier already included.
- the device If the device already contains a current playback resource identifier and a previous resource identifier, and receives a resource transport action (e.g. AVT :: SetAVTransportURI action) that carries a valid non-empty resource identifier, then the device is currently Information in the current playback resource identifier state variable that stores the identifier may be replaced with information in the received resource transfer action. In addition, the device may clear the previous resource identifier state variable associated with the previous resource identifier already included, and clear the previous resource metadata state variable associated with the previous resource identifier already included.
- a resource transport action e.g. AVT :: SetAVTransportURI action
- the device will play the current playback that stores the current playback resource identifier.
- a resource transport action e.g. AVT :: SetAVTransportURI action
- the device will play the current playback that stores the current playback resource identifier.
- the device may clear the previous resource identifier state variable associated with the previous resource identifier already included, and clear the previous resource metadata state variable associated with the previous resource identifier already included.
- the device may enter a NO_MEDIA_PRESENT state where the media does not exist.
- the device If the device is in the PLAYING state or STOPPED state and the device has a current playback resource identifier and a previous resource identifier, the device allows a previous resource playback action (eg AVT: Previous action). can do.
- the previous resource play action may be an action for playing one or more previous prefetch resource identifiers among the plurality of prefetch resource identifiers.
- the device may allow a previous resource playback action (eg AVT: Previous action).
- the previous resource play action may be an action for playing one or more previous prefetch resource identifiers among the plurality of prefetch resource identifiers.
- the media renderer device 300 may list the 'Previous' keyword in the AVT.CurrentTransportActions instance state variable.
- the media renderer device 300 If the media renderer device 300 has a current resource identifier and a previous resource identifier, and receives a previous resource play action, the media renderer device 300 starts playing one of the resources of the media item associated with the previous resource identifier. Can be.
- the media renderer device 300 may change its state directly from the PLAYING state to the playback state or through the transition state from the playback state to the playback state. You can change the log state.
- the media renderer device 300 If the media renderer device 300 has a current resource identifier and a previous resource identifier in the STOPPED state, allows the use of the previous resource play action, and receives the previous resource play action, the media renderer device 300 May transfer values of previous resource identifier state variables to current resource identifier state variables, clear previous resource identifier state variables, and maintain a STOPPED state.
- the media renderer device 300 may transfer values of previous resource identifier state variables to current resource identifier state variables, clear previous resource identifier state variables, and maintain a paused play state PAUSED_PLAYBACK state.
- the media renderer device 300 If the media renderer device 300 does not announce support for the previous playback action in the AVT.CurrentTransportActions instance state variable, and the media renderer device 300 receives the previous playback action, the media renderer device 300 is unable to switch. Reply with error 711 indicating that the
- the media renderer device 300 If the media renderer device 300 has a current resource identifier, a next resource identifier, and a previous resource identifier, and receives a next play action, the media renderer device 300 changes the value of the current resource identifier state variables to the previous resource identifier state. Transfer to a variable, transfer the value of the next resource identifier state variable to the current resource identifier state variable, and clear the next resource identifier state variable.
- the media renderer device 300 If the media renderer device 300 has a current resource identifier, a next resource identifier, and a previous resource identifier, and receives a previous play action, the media renderer device 300 converts the values of the current resource identifier state variables to the next resource identifier state. Transfer to a variable, transfer the value of the previous resource identifier state variables to the current resource identifier state variable, and clear the previous resource identifier state variables.
- the device may return the following error code to the control point device 100.
- the media renderer device 300 prefetches the next resource that the media server device 200 pushes without requesting the next resource from the media server device 200 (S1522).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes only the previous resource identifier as an argument and not the next resource identifier as an argument.
- the AVT :: SetPreviousAVTransportURI () action is transmitted to the media server device 200 (S1523).
- the resource prefetch action may include metadata of the previous resource as an argument.
- SetPreviousAVTransportURI which is a previous resource prefetch action that includes only the previous resource identifier as an argument and does not include the next resource identifier as an argument, according to an embodiment of the present invention.
- SetPreviousAVTransportURI which is a previous resource prefetch action according to an embodiment of the present invention, may include an instance identifier, a previous resource identifier, and a previous resource metadata as input parameters.
- the data type of the previous resource identifier argument and the previous resource metadata argument may be a string.
- the media renderer device 300 prefetches the previous resource pushed by the media server device 200 without requesting the previous resource from the media server device 200 (S1524).
- the control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is transmitted to the media renderer device 300 (S1527).
- the resource play action may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the resource play action may be an AVT :: Previous () action of the UPNP protocol or an AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next playback resource belongs to the previous resource prefetched and the next resource prefetched (S1529).
- the media renderer device 300 transmits an HTTP GET request to the media server device 200 requesting the next playback resource (S1530).
- the playback resource is received from the media server apparatus 200 (S1531), and the received playback resource is played back (S1533).
- the media renderer device 300 plays the next playback resource without receiving the next playback resource from the media server device 200 again (S1533). ).
- FIG. 18 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 3-box PUSH model according to an embodiment of the present invention.
- control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S1711).
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S1715).
- the media renderer device 300 plays the received resource (S1717).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes a plurality of prefetch resource identifiers as arguments. To the media server device 200 (S1721). The multi-resource prefetch action may include metadata of the plurality of prefetch resources as an argument.
- the media renderer device 300 prefetches a plurality of prefetch resources pushed by the media server device 200 without requesting the media server device 200 for a plurality of prefetch resources. (S1723).
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource. The action is transmitted to the media renderer device 300 in operation S1727.
- the media renderer device 300 checks whether the next playback resource belongs to a plurality of prefetch resources (S1729).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S1731), and plays the received next playback resource (S1733).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S1733).
- FIG. 19 is a ladder diagram embodying FIG. 18.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 calls a resource transfer action of the designated current playback resource (S1811).
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point apparatus 100 calls the playback action of the specified current playback resource (S1813).
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 In response to the request for playback of the specified current playback resource, the media renderer device 300 requests the media server device 200 for the current playback resource (S1814).
- the media renderer device 300 may transmit an HTTP GET request including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- the media renderer device 300 receives a specified current playback resource from the media server device 200 (S1815).
- the media renderer device 300 plays the received resource (S1817).
- the control point device 100 In the background during the idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes a plurality of prefetch resource identifiers as arguments, such as AVT :: SetNextAVTransportURIs ( ) The action is transmitted to the media server device 200 (S1821).
- the multi-resource prefetch action may include metadata of the plurality of prefetch resources as an argument.
- the device receiving the multi-resource prefetch action may return the following error code to the control point device 100.
- the following shows an XML service description of SetNextAVTransportURIs, which is a multi-resource prefetch action including a plurality of prefetch resource identifiers as arguments, according to an embodiment of the present invention.
- SetNextAVTransportURIs which is a multi-resource prefetch action according to an embodiment of the present invention, may include an instance identifier, a multi-prefetch resource identifier, and multi-prefetch resource metadata as input parameters.
- a multi-prefetch resource identifier result may be included as the SetNextAVTransportURIs output factor, which is a multi-resource prefetch action according to an embodiment of the present invention.
- the data type of the multi prefetch resource identifier factor, the multi prefetch resource metadata factor, and the multi prefetch resource identifier result factor may be a string.
- the data type of the multi-prefetch resource identifier argument may be a string in CSV format or a string in XML document format.
- the multi-prefetch resource identifier argument of the string type of the CSV format includes a plurality of prefetch resource identifiers separated by delimiters such as commas. If a part of the plurality of prefetch resource identifiers includes a delimiter such as a comma, the delimiter such as a backslash may be combined to distinguish it from the actual delimiter.
- the following shows an example of the multi-prefetch resource identifier argument of the string type of the XML document format.
- the multi-prefetch resource identifier argument of the string type of the XML document format includes information on the UPnP AV service namespace, the W3C XML schema namespace, the location of the AV schema file, the number of the plurality of prefetch resource identifiers, It may include information on the order of each prefetch resource identifier, information on whether each prefetch resource identifier supports metadata, and a plurality of prefetch resource identifiers.
- the data type of the multi-prefetch resource metadata factor may be a string of the DIDL-Lite XML Fragment format of UPnP AV: CDS, a string of CSV format, or a string of XML document format.
- the multi-prefetch resource metadata factor in CSV format may include metadata of all prefetch resources regardless of whether metadata is supported.
- the multi prefetch resource metadata argument of the XML document format may include metadata of a prefetch resource that supports metadata.
- the device that receives the multiple resource prefetch action informs the control point device of the availability of prefetching for the plurality of prefetch resources through the multiple prefetch resource identifier result argument.
- the data type of the multiple prefetch resource identifier result argument may be a string in an XML document format.
- the result parameter of the multiple prefetch resource identifier of the string type of the XML document format includes information on the UPnP AV service namespace, the W3C XML schema namespace, the location of the AV schema file, and the number of the plurality of prefetch resource identifiers. It may include information about the prefetch order of each prefetch resource identifier, information about the prefetchability of each prefetch resource identifier, and information on why prefetching is impossible.
- the media renderer device 300 prefetches a plurality of prefetch resources pushed by the media server device 200 without requesting the media server device 200 for a plurality of prefetch resources. (S1823).
- the control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is transmitted to the media renderer device 300 (S1827).
- the resource play action may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the resource play action may be an AVT :: Previous () action of the UPNP protocol or an AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next playback resource belongs to a plurality of prefetch resources (S1829).
- the media renderer device 300 transmits an HTTP GET request to the media server device 200 requesting the next play resource (S1830), and sends the next play resource to the media server. It receives from the device 200 (S1831), and plays the received playback resource after receiving (S1833).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S1833).
- 20 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including both a previous resource identifier and a next resource identifier in the 3-box PULL model according to an embodiment of the present invention.
- control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S2111).
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S2115).
- the media renderer device 300 plays the received resource (S2117).
- the control point device 100 includes a multi-resource prefetch including the previous resource identifier and the next resource identifier as arguments.
- the action is transmitted to the media renderer device 300 (S2121).
- the multi-resource prefetch action may include the previous resource metadata and the next resource metadata as arguments.
- the media renderer device 300 requests the previous resource and the next resource from the media server device 200 (S2122), and pre-serves the previous resource and the next resource provided by the media server device 200. To fetch (S2123).
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource. The action is transmitted to the media renderer device 300 (S2127).
- the media renderer device 300 checks whether the next play resource belongs to the previous resource prefetched and the next resource prefetched (S2129).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S2131), and plays the received next playback resource. (S2133).
- the media renderer device 300 plays the next playback resource without receiving the next playback resource from the media server device 200 again (S2133). ).
- FIG. 21 is a ladder diagram embodying FIG. 20.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 calls a resource transfer action of the designated current playback resource (S2211).
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point apparatus 100 calls the playback action of the specified current playback resource (S2213).
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 In response to the request for playback of the specified current playback resource, the media renderer device 300 requests the media server device 200 for the current playback resource (S2214).
- the media renderer device 300 may transmit an HTTP GET request including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- the media renderer device 300 receives a specified current playback resource from the media server device 200 (S2215).
- the media renderer device 300 plays the received resource (S2217).
- control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes the previous resource identifier and the next resource identifier as arguments: AVT :: SetNextAVTransportURI () The action is transmitted to the media renderer device 300 (S2221).
- the multi-resource prefetch action may include the previous resource metadata and the next resource metadata as arguments.
- the media renderer device 300 requests the previous resource and the next resource from the media server device 200 (S2222) and pre-serves a plurality of prefetch resources transmitted by the media server device 200. Fetch (S2223).
- the control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is transmitted to the media renderer device 300 (S2227).
- the resource play action may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the resource play action may be an AVT :: Previous () action of the UPNP protocol or an AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next playback resource belongs to the previous resource prefetched and the next resource prefetched (S2229).
- the media renderer device 300 transmits an HTTP GET request to the media server device 200 requesting the next playback resource (S2230).
- the playback resource is received from the media server apparatus 200 (S2231), and the received playback resource is played back (S2233).
- the media renderer device 300 plays the next playback resource without receiving the next playback resource from the media server device 200 again (S2233). ).
- FIG. 22 illustrates an operation method of prefetching multiple resources using a resource prefetch action including only a previous resource identifier and a resource prefetch action including only a next resource identifier in a 3-box PULL model according to an embodiment of the present invention.
- control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S2411).
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S2415).
- the media renderer device 300 plays the received resource (S2417).
- the control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes the next resource prefetch action that includes only the next resource identifier as an argument.
- the apparatus 300 transmits to the apparatus 300 (S2421a).
- the resource prefetch action may include metadata of the next resource as an argument.
- the media renderer device 300 requests the next resource from the media server device 200 (S2421b), and prefetches the next resource transmitted by the media server device 200 (S2422).
- the control point device 100 issues a previous resource prefetch action that includes only the previous resource identifier as an argument.
- the apparatus 300 transmits to the apparatus 300 (S2423a).
- the resource prefetch action may include metadata of the previous resource as an argument.
- the media renderer device 300 requests the previous resource to the media server device 200 (2423b) and prefetches the previous resource transmitted by the media server device 200 (S2424).
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource. The action is transmitted to the media renderer device 300 (S2427).
- the media renderer device 300 checks whether the next playback resource belongs to the pre-fetched previous resource and the next pre-fetched resource (S2429).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S2431), and plays the received next playback resource. (S2433).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S2433). ).
- FIG. 23 is a ladder diagram embodying FIG. 22.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 calls a resource transfer action of the designated current playback resource (S2511).
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point apparatus 100 calls the playback action of the specified current playback resource (S2513).
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 In response to the request for playback of the specified current playback resource, the media renderer device 300 requests the media server device 200 for the current playback resource (S2514).
- the media renderer device 300 may transmit an HTTP GET request including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- the media renderer device 300 receives a specified current playback resource from the media server device 200 (S2515).
- the media renderer device 300 plays the received resource (S2517).
- control point device 100 performs an AVT :: SetNextAVTransportURI () action that includes only the next resource identifier as an argument.
- the media renderer 300 transmits the information to the media renderer 300 (S2521a).
- the resource prefetch action may include metadata of the next resource as an argument.
- the media renderer device 300 requests the next resource from the media server device 200 (S2521b), and prefetches the next resource transmitted by the media server device 200 (S2522).
- the control point device 100 takes an AVT :: SetPreviousAVTransportURI () action that includes only the previous resource identifier as an argument.
- the media renderer 300 transmits the information to the media renderer 300 (S2523a).
- the resource prefetch action may include metadata of the previous resource as an argument.
- the media renderer device 300 requests the previous resource from the media server device 200 (S2523b) and prefetches the previous resource transmitted by the media server device 200 (S2524).
- the control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is transmitted to the media renderer device 300 (S2527).
- the resource play action may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the resource play action may be an AVT :: Previous () action of the UPNP protocol or an AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next play resource belongs to the pre-fetched previous resource and the next pre-fetched resource (S2529).
- the media renderer device 300 transmits an HTTP GET request to the media server device 200 requesting the next play resource (S2530).
- the playback resource is received from the media server apparatus 200 (S2531), and the received playback resource is played back (S2533).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S2533). ).
- FIG. 24 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 3-box PULL model according to an embodiment of the present invention.
- description of FIG. 24 omits description of the contents found from the description of FIG. 4.
- control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 requests the media renderer device 300 and the media server device 200 to play the specified current playback resource. (S2711).
- the media renderer device 300 receives the specified current playback resource from the media server device 200 (S2715).
- the media renderer device 300 plays the received resource (S2717).
- control point device 100 In the background during idle time after the control point device 100 requests playback of the specified current playback resource, the control point device 100 includes a plurality of prefetch resource identifiers as arguments.
- the data is transmitted to the media renderer device 300 in operation S2721.
- the multi-resource prefetch action may include metadata of the plurality of prefetch resources as an argument.
- the media renderer device 300 requests a plurality of prefetch resources from the media server device 200 (S2722) to pre-free the plurality of prefetch resources transmitted by the media server device 200. Fetch (S2723).
- control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource. The action is transmitted to the media renderer device 300 in operation S2727.
- the media renderer device 300 checks whether the next playback resource belongs to a plurality of prefetch resources (S2729).
- the media renderer device 300 receives the next playback resource from the media server device 200 (S2731), and plays the received next playback resource (S2733).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S2733).
- FIG. 25 is a ladder diagram embodying FIG. 24.
- the control point device 100 When the control point device 100 receives a user input for designating the current playback resource, the control point device 100 calls a resource transfer action of the specified current playback resource (S2811).
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point apparatus 100 calls the playback action of the specified current playback resource (S2813).
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 In response to the request for playback of the specified current playback resource, the media renderer device 300 requests the media server device 200 for the current playback resource (S2814).
- the media renderer device 300 may transmit an HTTP GET request including the resource identifier of the current playback resource to the media server device 200 to request the current playback resource.
- the media renderer device 300 receives a specified current playback resource from the media server device 200 (S2815).
- the media renderer device 300 plays the received resource (S2817).
- the control point device 100 includes a plurality of prefetch resource identifiers as arguments, such as AVT :: SetNextAVTransportURIs ( )
- the action is transmitted to the media renderer device 300 (S2821).
- the multi-resource prefetch action may include metadata of the plurality of prefetch resources as an argument.
- the media renderer device 300 requests a plurality of prefetch resources from the media server device 200 (S2822) to pre-free the plurality of prefetch resources transmitted by the media server device 200. To fetch (S2823).
- the control point device 100 When the control point device 100 receives a user input for specifying a next playback resource that is different from the current resource, the control point device 100 plays back a resource for causing the media renderer device 300 to play the next playback resource.
- the action is transmitted to the media renderer device 300 in operation S2827.
- the resource play action may include an AVT :: SetAVTransportURI () action of the UPNP protocol and an AVT :: Play () action of the UPNP protocol.
- the resource play action may be an AVT :: Previous () action of the UPNP protocol or an AVT :: Next () action of the UPNP protocol.
- the media renderer device 300 checks whether the next playback resource belongs to a plurality of prefetch resources (S2829).
- the media renderer device 300 transmits an HTTP GET request to the media server device 200 requesting the next play resource (S2830), and sends the next play resource to the media server. It receives from the device 200 (S2831), and plays the received playback resource after receiving (S2833).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S2833).
- FIG. 26 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multiple resource prefetch action including both a previous resource identifier and a next resource identifier in a two-box PUSH model according to an embodiment of the present invention.
- control point combined media server device 500 When the control point combined media server device 500 receives a user input for designating the current playback resource, the control point combined media server device 500 requests the media renderer device 300 to play the specified current playback resource ( S5111).
- the renderer device 300 receives the current playback resource from the control point combined media server device 500 (S5115).
- the renderer apparatus 300 In response to a request for regeneration of the current reproduction resource or in response to reception of the current reproduction resource, the renderer apparatus 300 reproduces the received resource (S5117).
- control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the specified current playback resource, the control point binding media server device 500 takes the previous resource identifier and the next resource identifier as arguments.
- the multi-resource prefetch action is included (S5121) and the called multi-resource prefetch action is transmitted to the media renderer device 300.
- control point combined media server device 500 transfers the previous resource and the next resource to the media renderer device 300 (S5123).
- the media renderer device 300 prefetches the previous resource and the next resource from the media server device 200 so as to provide a seamless transition for the previous resource and the next resource without additional transfer.
- control point combining media server device 500 When the control point combining media server device 500 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media server device 500 invokes a resource playback action for playback of the next playback resource. (S5127), the called resource reproduction action is transmitted to the media renderer device 300.
- the media renderer device 300 checks whether the next playback resource belongs to the pre-fetched previous resource and the next resource (S5129).
- the media renderer device 300 receives the next playback resource from the control point combined media server device 500 (S5131), and plays the received next playback resource. (S5133).
- the media renderer device 300 plays the next playback resource without the procedure of receiving the next playback resource from the media server device 200 again (S5133).
- FIG. 27 is a ladder diagram embodying FIG. 26.
- the control point combining media server apparatus 500 When the control point combining media server apparatus 500 receives a user input for designating the current playback resource, the control point combining media server apparatus 500 calls a resource transfer action of the current playback resource (S5211), and the called resource. The transfer action is transmitted to the media renderer device 300.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point combined media server device 500 calls the play action of the current play resource (S5213), and transmits the called play action to the media renderer device 300.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 transmits an HTTP GET request for requesting a current playback resource to the control point combined media server device 500 (S5214), and receives the current playback resource from the control point combined media server device 500 ( S5215).
- the renderer apparatus 300 In response to the request for reproducing the current reproduction resource or in response to the reception of the current reproduction resource, the renderer apparatus 300 reproduces the received resource (S5217).
- the control point binding media server device 500 takes the previous resource identifier and the next resource identifier as arguments.
- the included AVT :: SetNextAVTransportURI () action is called (S5221), and the called AVT :: SetNextAVTransportURI () action is transmitted to the media renderer device 300.
- the control point combined media server device 500 transfers the previous resource and the next resource to the media renderer device 300 (S5223).
- the media renderer device 300 prefetches the previous resource and the next resource from the media server device 200 so as to provide a seamless transition for the previous resource and the next resource without additional transfer.
- control point combining media server device 500 When the control point combining media server device 500 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media server device 500 invokes a resource playback action for playback of the next playback resource. In step S5227, the called resource reproduction action is transmitted to the media renderer device 300.
- the media renderer device 300 checks whether the next playback resource belongs to the pre-fetched previous resource and the next resource (S5229).
- the media renderer device 300 transmits a GET request to the control point combining media server device 500 requesting the next playback resource (S7230).
- the resource is received from the control point combined media server apparatus 500 (S5231), and the received next playback resource is played back (S5233).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S5233).
- control point combined media server device 500 When the control point combined media server device 500 receives a user input for designating the current playback resource, the control point combined media server device 500 requests the media renderer device 300 to play the specified current playback resource ( S5411).
- the renderer device 300 receives the current playback resource from the control point combined media server device 500 (S5415).
- the renderer apparatus 300 In response to the request for regeneration of the current reproduction resource or in response to the reception of the current reproduction resource, the renderer apparatus 300 reproduces the received resource (S5417).
- control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the current playback resource, the control point binding media server device 500 includes the next resource identifier as an argument and the previous resource identifier. The next resource prefetch action that does not include as an argument is called (S5421), and the next resource prefetch action is transmitted to the media renderer device 300.
- the control point combined media server device 500 transfers the next resource to the media renderer device 300 (S5422).
- the media renderer device 300 may prefetch the next resource from the media server device 200 to provide a seamless transition for the next resource without additional transfer.
- the control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the current playback resource, the control point binding media server device 500 includes the previous resource identifier as an argument and the next resource identifier. Calls to the previous resource prefetch action that does not include as an argument (S5423), and transmits the called previous resource prefetch action to the media renderer device 300.
- the control point combined media server device 500 transfers the previous resource to the media renderer device 300 (S5424).
- the media renderer device 300 may prefetch the previous resource from the media server device 200 so as to provide a seamless transition for the previous resource without additional transfer.
- control point combining media server device 500 When the control point combining media server device 500 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media server device 500 invokes a resource playback action for playback of the next playback resource. (S5427), the requested resource playback action is transmitted to the media renderer device 300.
- the media renderer device 300 checks whether the next playback resource belongs to the pre-fetched previous resource and the next resource (S5429).
- the media renderer device 300 receives the next playback resource from the control point combining media server device 500 (S5431), and plays the received next playback resource. (S5433).
- the media renderer device 300 plays the next playback resource without the procedure of receiving the next playback resource from the media server device 200 again (S5433).
- FIG. 29 is a ladder diagram embodying FIG. 28.
- the control point combining media server apparatus 500 When the control point combining media server apparatus 500 receives a user input for designating the current playback resource, the control point combining media server apparatus 500 calls a resource transfer action of the current playback resource (S5511), and the called resource. The transfer action is transmitted to the media renderer device 300.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point combined media server device 500 calls the play action of the current play resource (S5513) and transmits the called play action to the media renderer device 300.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 transmits an HTTP GET request for requesting a current playback resource to the control point combined media server device 500 (S5514), and receives the current playback resource from the control point combined media server device 500 ( S5515).
- the renderer apparatus 300 In response to the request for reproducing the current reproduction resource or in response to the reception of the current reproduction resource, the renderer apparatus 300 reproduces the received resource (S5517).
- the control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the current playback resource, the control point binding media server device 500 includes the next resource identifier as an argument and the previous resource identifier.
- the AVT :: SetNextAVTransportURI () action not included as an argument is called (S5521), and the called AVT :: SetNextAVTransportURI () action is transmitted to the media renderer device 300.
- the control point combined media server device 500 transfers the next resource to the media renderer device 300 (S5522).
- the media renderer device 300 may prefetch the next resource from the media server device 200 to provide a seamless transition for the next resource without additional transfer.
- the control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the current playback resource, the control point binding media server device 500 includes the previous resource identifier as an argument and the next resource identifier.
- the AVT :: SetPreviousAVTransportURI () action not included as an argument is called (S5523), and the called AVT :: SetPreviousAVTransportURI () action is transmitted to the media renderer device 300.
- the control point combined media server device 500 transfers the previous resource to the media renderer device 300 (S5524).
- the media renderer device 300 may prefetch the previous resource from the media server device 200 so as to provide a seamless transition for the previous resource without additional transfer.
- control point combining media server device 500 When the control point combining media server device 500 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media server device 500 invokes a resource playback action for playback of the next playback resource. (S5527), the requested resource playback action is transmitted to the media renderer device 300.
- the media renderer device 300 checks whether the next playback resource belongs to the pre-fetched previous resource and the next resource (S5529).
- the media renderer device 300 transmits a GET request to the control point combining media server device 500 requesting the next play resource (S7530), and then plays the next play resource.
- the resource is received from the control point combined media server apparatus 500 (S5531), and the received playback resource is played back (S5533).
- the media renderer device 300 plays the next playback resource without receiving a next playback resource from the media server device 200 again (S5533).
- FIG. 30 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 2-box PUSH model according to an embodiment of the present invention.
- control point combined media server device 500 When the control point combined media server device 500 receives a user input for designating the current playback resource, the control point combined media server device 500 requests the media renderer device 300 to play the specified current playback resource ( S5711).
- the renderer device 300 receives the current playback resource from the control point combined media server device 500 (S5715).
- the renderer apparatus 300 In response to the request for reproducing the current reproduction resource or in response to the reception of the current reproduction resource, the renderer apparatus 300 reproduces the received resource (S5717).
- the control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the specified current playback resource, the control point binding media server device 500 includes a plurality of resource identifiers as arguments.
- the resource prefetch action is called (S5721), and the called multi-resource prefetch action is transmitted to the media renderer device 300.
- the control point combined media server device 500 transfers the plurality of resources to the media renderer device 300 (S5723).
- the media renderer device 300 may prefetch a plurality of resources from the media server device 200 to provide a seamless transition for the plurality of prefetched resources without additional transfer.
- control point combining media server device 500 When the control point combining media server device 500 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media server device 500 invokes a resource playback action for playback of the next playback resource. (S5727), the requested resource playback action is transmitted to the media renderer device 300.
- the media renderer device 300 checks whether the next playback resource belongs to the plurality of prefetched resources (S5729).
- the media renderer device 300 receives the next playback resource from the control point combined media server device 500 (S5731), and plays the received playback resource (S5731). S5733).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S5733).
- FIG. 31 is a ladder diagram embodying FIG. 30.
- the control point combining media server apparatus 500 When the control point combining media server apparatus 500 receives a user input for designating the current playback resource, the control point combining media server apparatus 500 calls a resource transfer action of the current playback resource (S5811), and the called resource. The transfer action is transmitted to the media renderer device 300.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point combined media server device 500 calls the play action of the current play resource (S5813) and transmits the called play action to the media renderer device 300.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the media renderer device 300 transmits an HTTP GET request for requesting a current playback resource to the control point combined media server device 500 (S5814), and receives the current playback resource from the control point combined media server device 500 ( S5815).
- the renderer apparatus 300 In response to the request for reproducing the current reproduction resource or in response to the reception of the current reproduction resource, the renderer apparatus 300 reproduces the received resource (S5817).
- the control point binding media server device 500 In the background during idle time after the control point binding media server device 500 requests playback of the specified current playback resource, the control point binding media server device 500 includes a plurality of resource identifiers as arguments.
- the :: SetNextAVTransportURIs () action is called (S5821), and the called AVT :: SetNextAVTransportURIs () action is transmitted to the media renderer device 300.
- the control point combined media server device 500 transfers a plurality of resources to the media renderer device 300 (S5823).
- the media renderer device 300 may prefetch a plurality of resources from the media server device 200 to provide a seamless transition for the plurality of prefetched resources without additional transfer.
- control point combining media server device 500 When the control point combining media server device 500 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media server device 500 invokes a resource playback action for playback of the next playback resource. (S5827), the requested resource playback action is transmitted to the media renderer device 300.
- the media renderer device 300 checks whether the next play resource belongs to the plurality of prefetched resources (S5829).
- the media renderer device 300 transmits a GET request to the control point combining media server device 500 requesting the next play resource (S7830), and transmits the next play resource. It receives from the control point combined media server apparatus 500 (S5831), and plays the received playback resource (S5833).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S5833).
- FIG. 32 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including both a previous resource identifier and a next resource identifier in the 2-box PULL model according to an embodiment of the present invention.
- control point combined media renderer device 400 When the control point combined media renderer device 400 receives a user input for designating the current playback resource, the control point combined media renderer device 400 requests the media server apparatus 200 to play the designated current playback resource ( S7111).
- control point combined media renderer device 400 receives the specified current playback resource from the media server device 200 (S7115).
- control point combined media renderer device 400 plays the received resource (S7117).
- control point binding media renderer device 400 In the background during idle time after the control point binding media renderer device 400 requests playback of the specified current playback resource, the control point binding media renderer device 400 takes the previous resource identifier and the next resource identifier as arguments.
- the multi-resource prefetch action is included (S7121) and the called multi-resource prefetch action is transmitted to the media server apparatus 200.
- the media server device 200 transfers the previous resource and the next resource to the control point combined media renderer device 400 (S7123).
- the control point combined media renderer device 400 prefetches the previous resource and the next resource from the media server device 200 so as to provide a seamless transition for the previous resource and the next resource without additional transfer. .
- control point combining media renderer device 400 When the control point combining media renderer device 400 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media renderer device 400 performs a resource play action for playing the next playback resource. Call it (S7127).
- control point combined media renderer device 400 checks whether the next play resource belongs to the pre-fetched previous resource and the next resource (S7129).
- control point combined media renderer device 400 receives the next playback resource from the media server device 200 (S7131), and plays the received next playback resource. (S7133).
- the media renderer device 300 plays the next playback resource without the procedure of receiving the next playback resource from the media server device 200 again (S7133).
- FIG. 33 is a ladder diagram embodying FIG. 32.
- the control point combined media renderer device 400 When the control point combined media renderer device 400 receives a user input for designating the current playback resource, the control point combined media renderer device 400 calls a resource transfer action of the specified current playback resource (S7211). The resource transfer action is transmitted to the media server device 200.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point combined media renderer device 400 calls the play action of the designated current play resource (S7213), and transmits the called play action to the media server device 200.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the control point combined media renderer device 400 transmits an HTTP GET request for requesting a current playback resource to the media server device 200 (S7214), and receives the current playback resource from the media server device 200 (S7215).
- control point combined media renderer device 400 plays the received resource (S7217).
- the control point binding media renderer device 400 takes the previous resource identifier and the next resource identifier as arguments.
- the containing AVT :: SetNextAVTransportURI () action is called (S7221), and the called AVT :: SetNextAVTransportURI () action is transmitted to the media server apparatus 200.
- the media server device 200 transfers the previous resource and the next resource to the control point combined media renderer device 400 (S7223).
- the control point combined media renderer device 400 prefetches the previous resource and the next resource from the media server device 200 so as to provide a seamless transition for the previous resource and the next resource without additional transfer. .
- control point combining media renderer device 400 When the control point combining media renderer device 400 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media renderer device 400 performs a resource play action for playing the next playback resource. Call it (S7227).
- control point combined media renderer device 400 checks whether the next play resource belongs to the pre-fetched previous resource and the next resource (S7229).
- the control point combined media renderer device 400 transmits a GET request to the media server device 200 requesting the next playback resource (S7230).
- the resource is received from the media server apparatus 200 (S7231), and the received playback resource is played back (S7233).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S7233).
- control point combined media renderer device 400 When the control point combined media renderer device 400 receives a user input for designating the current playback resource, the control point combined media renderer device 400 requests the media server apparatus 200 to play the designated current playback resource ( S7411).
- control point combined media renderer device 400 receives the specified current playback resource from the media server device 200 (S7415).
- control point combined media renderer device 400 plays the received resource (S7417).
- the control point binding media renderer device 400 In the background during idle time after the control point binding media renderer device 400 requests playback of the specified current playback resource, the control point binding media renderer device 400 includes the next resource identifier as an argument and the previous resource.
- the next resource prefetch action that does not include the identifier as an argument is called (S7421), and the next resource prefetch action is transmitted to the media server apparatus 200.
- the media server device 200 transfers the next resource to the control point combined media renderer device 400 (S7422).
- the control point combined media renderer device 400 prefetches the next resource from the media server device 200 to provide a seamless transition for the next resource that has been prefetched without additional transfer.
- the control point binding media renderer device 400 In the background during idle time after the control point binding media renderer device 400 requests playback of the specified current playback resource, the control point binding media renderer device 400 includes the previous resource identifier as an argument and the next resource.
- the previous resource prefetch action that does not include the identifier as an argument is called (S7423), and the called previous resource prefetch action is transmitted to the media server apparatus 200.
- the media server device 200 transfers the previous resource to the control point combined media renderer device 400 (S7424).
- the control point combined media renderer device 400 prefetches previous resources from the media server device 200 to provide a seamless transition for the prefetched previous resources without additional transfer.
- control point combining media renderer device 400 When the control point combining media renderer device 400 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media renderer device 400 performs a resource play action for playing the next playback resource. Call it (S7427).
- control point combined media renderer device 400 checks whether the next playback resource belongs to the pre-fetched previous resource and the next resource (S7429).
- control point combined media renderer device 400 receives the next playback resource from the media server device 200 (S7431), and plays the received next playback resource. (S7433).
- the media renderer device 300 plays the next playback resource without the procedure of receiving the next playback resource from the media server device 200 again (S7433).
- FIG. 35 is a ladder diagram embodying FIG. 34.
- the control point combined media renderer device 400 When the control point combined media renderer device 400 receives a user input for designating the current playback resource, the control point combined media renderer device 400 calls a resource transfer action of the specified current playback resource (S7511). The resource transfer action is transmitted to the media server device 200.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point combined media renderer device 400 calls the play action of the designated current play resource (S7513), and transmits the called play action to the media server device 200.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the control point combined media renderer device 400 transmits an HTTP GET request for requesting a current playback resource to the media server device 200 (S7514), and receives the current playback resource from the media server device 200 (S7515).
- control point combined media renderer device 400 plays the received resource (S7517).
- the control point binding media renderer device 400 In the background during idle time after the control point binding media renderer device 400 requests playback of the specified current playback resource, the control point binding media renderer device 400 includes the next resource identifier as an argument and the previous resource.
- the AVT :: SetNextAVTransportURI () action which does not include an identifier as an argument is called (S7521), and the called AVT :: SetNextAVTransportURI () action is transmitted to the media server apparatus 200.
- the media server device 200 transfers the next resource to the control point combined media renderer device 400 (S7522).
- the control point combined media renderer device 400 prefetches the next resource from the media server device 200 to provide a seamless transition for the next resource that has been prefetched without additional transfer.
- the control point binding media renderer device 400 In the background during idle time after the control point binding media renderer device 400 requests playback of the specified current playback resource, the control point binding media renderer device 400 includes the previous resource identifier as an argument and the next resource.
- the AVT :: SetPreviousAVTransportURI () action which does not include an identifier as an argument is called (S7523), and the called AVT :: SetPreviousAVTransportURI () action is transmitted to the media server apparatus 200.
- the media server device 200 transfers the previous resource to the control point combined media renderer device 400 (S7524).
- the control point combined media renderer device 400 prefetches previous resources from the media server device 200 to provide a seamless transition for the prefetched previous resources without additional transfer.
- control point combining media renderer device 400 When the control point combining media renderer device 400 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media renderer device 400 performs a resource play action for playing the next playback resource. Call it (S7527).
- control point combined media renderer device 400 checks whether the next play resource belongs to the pre-fetched previous resource and the next resource (S7529).
- control point combined media renderer device 400 transmits a GET request to the media server device 200 requesting the next play resource (S7530).
- the resource is received from the media server apparatus 200 (S7531), and the received playback resource is played back (S7533).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S7533).
- 36 is a ladder diagram illustrating an operation method of prefetching multiple resources using a multi-resource prefetch action including a plurality of prefetch resource identifiers in the 2-box PULL model according to an embodiment of the present invention.
- control point combined media renderer device 400 When the control point combined media renderer device 400 receives a user input for designating the current playback resource, the control point combined media renderer device 400 requests the media server apparatus 200 to play the designated current playback resource ( S7711).
- control point combined media renderer device 400 receives the specified current playback resource from the media server device 200 (S7715).
- control point combined media renderer device 400 plays the received resource (S7717).
- control point combined media renderer device 400 In the background during idle time after the control point combined media renderer device 400 requests playback of the specified current playback resource, the control point combined media renderer device 400 includes a plurality of prefetch resource identifiers as arguments.
- the multi-resource prefetch action is called (S7721), and the called multi-resource prefetch action is transmitted to the media server apparatus 200.
- the media server apparatus 200 transfers the plurality of prefetch resources to the control point combined media renderer apparatus 400 (S7723).
- the control point combined media renderer device 400 prefetches a plurality of prefetch resources from the media server device 200 to provide a seamless transition for the plurality of prefetched resources without additional transfer. do.
- control point combining media renderer device 400 When the control point combining media renderer device 400 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media renderer device 400 performs a resource play action for playing the next playback resource. Call it (S7727).
- control point combined media renderer device 400 checks whether the next playback resource belongs to a plurality of prefetch resources (S7729).
- control point combined media renderer device 400 receives the next playback resource from the media server device 200 (S7731), and plays the received next playback resource (S7733). ).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S7733).
- FIG. 37 is a ladder diagram embodying FIG. 36.
- the control point combined media renderer device 400 When the control point combined media renderer device 400 receives a user input for designating the current playback resource, the control point combined media renderer device 400 calls a resource transfer action of the specified current playback resource (S7811). The resource transfer action is transmitted to the media server device 200.
- the resource transport action of the current playback resource may correspond to the AVT :: SetAVTransportURI () action of the UPNP protocol.
- the control point combined media renderer device 400 calls the play action of the designated current play resource (S7813), and transmits the called play action to the media server device 200.
- the play action of the current play resource may correspond to the AVT :: Play () action of the UPNP protocol.
- the control point combined media renderer device 400 transmits an HTTP GET request for requesting a current playback resource to the media server device 200 (S7814), and receives a specified current playback resource from the media server device 200 (S7815). .
- control point combined media renderer device 400 plays the received resource (S7817).
- the control point combined media renderer device 400 includes a plurality of prefetch resource identifiers as arguments.
- the SetNextAVTransportURIs () action is called (S7821), and the called SetNextAVTransportURIs () action is transmitted to the media server device 200.
- the media server device 200 transfers the plurality of prefetch resources to the control point combined media renderer device 400 (S7823).
- the control point combined media renderer device 400 prefetches a plurality of prefetch resources from the media server device 200 to provide a seamless transition for the plurality of prefetched resources without additional transfer. do.
- control point combining media renderer device 400 When the control point combining media renderer device 400 receives a user input for specifying a next playback resource that is different from the current resource, the control point combining media renderer device 400 performs a resource play action for playing the next playback resource. Call it (S7827).
- control point combined media renderer device 400 checks whether the next playing resource belongs to the plurality of prefetch resources (S7829).
- control point combined media renderer device 400 sends a GET request to the media server device 200 requesting the next playback resource (S7830), and sends the next playback resource to the media. It receives from the server device 200 (S7831), and reproduces the received reproduction resource after receiving (S7833).
- the media renderer device 300 plays the next play resource without the procedure of receiving the next play resource from the media server device 200 again (S7833).
- Various embodiments described herein may be implemented in a recording medium readable by a computer or similar device using, for example, software, hardware or a combination thereof.
- embodiments described herein include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), and the like. It may be implemented using at least one of processors, controllers, micro-controllers, microprocessors, and electrical units for performing other functions. These may be implemented by the controller 780.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- control method may be stored in a computer-readable recording medium that is produced as a program for execution on a computer
- examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic Tapes, floppy disks, optical data storage, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
- the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the method can be easily deduced by programmers in the art to which the present invention belongs.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
제어 장치는 제1 리소스의 재생 요청 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 호출한다. 미디어 렌더러는 복수의 프리페치 리소스 식별자에 기초하여 미디어 서버로부터 복수의 프리페치 리소스를 프리페치한다. 제어 장치는 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 요청을 미디어 렌더러에 전송한다. 미디어 렌더러는 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공한다.
Description
본 발명은 미디어 제어 장치, 미디어 렌더러 장치, 미디어 서버 장치 및 이들의 동작 방법 에 관한 것으로, 특히 UPnP(Universal Plug and Play) 장치들 사이의 AV 콘텐트 송수신을 제어하는 방법에 관한 것이다.
홈 네트워크 프로토콜로서 범용 플러그 앤 플레이 (universal plug and play, UPnP) 기술과 디지털 리빙 네트워크 얼라이언스(digital living network alliance, DLNA) 기술이 있다.
범용 플러그 앤 플레이 (universal plug and play, UPnP) 기술과 디지털 리빙 네트워크 얼라이언스(digital living network alliance, DLNA) 기술은 다양한 제조업체의 가전 기기간 서비스와 제어를 가능하게 한다. 특히, UPnP 기술은 시청각(audio-visual, AV) 기기 간 호환 가능한 AV 서비스와 제어를 가능하게 한다. 이 호환 가능한 AV 서비스로는 미디어 스트리밍, 업로딩, 다운로딩 등이 있다.
DLNA는 홈 네트워크 장치로서 디지털 미디어 서버(digital media server, DMS), 디지털 미디어 플레이어(digital media player, DMP), 디지털 미디어 렌더러(digital media renderer, DMR), 디지털 미디어 컨트롤러(digital media controller, DMC) 및 디지털 미디어 프린터(digital media printer, DMPr)를 규정하고, 모바일 휴대 장치로서 모바일 디지털 미디어 서버(mobile digital media server, M-DMS), 모바일 디지털 미디어 플레이어(mobile digital media player, M-DMP), 모바일 디지털 미디어 업로더(mobile digital media uploader, M-DMU), 모바일 디지털 미디어 다운로더(mobile digital media downloader, M-DMD) 및 모바일 디지털 미디어 컨트롤러(mobile digital media controller, M-DMC)를 규정한다.
이하에서는 디지털 미디어 서버(DMS)는 M-DMS를 커버하는 개념으로 사용하고, 디지털 미디어 플레이어(DMP)는 M-DMP를 커버하는 개념으로 사용하며, 디지털 미디어 컨트롤러(DMC)는 M-DMC를 커버하는 개념으로 사용한다.
UPnP는 이러한 장치들을 제어 포인트(control point, CP)와 디바이스(device)로 분류한다. 디지털 미디어 컨트롤러(DMC), 디지털 미디어 플레이어(DMP)는 제어 포인트로 분류되고, 디지털 미디어 렌더러(DMR), 디지털 미디어 서버(DMS), DMPr는 디바이스로 분류될 수 있다. 이하에서 언급되는 제어 장치 또는 컨트롤러는 UPnP의 제어 포인트를 나타낼 수 있다. 또한, 이하에서 언급되는 제어 타겟 장치는 UPnP의 디바이스를 나타낼 수 있다.
한편, DLNA는 2-박스 모델(2-Box Model)과 3-박스 모델(3-Box Model)을 정의한다.
2-박스 모델은 디지털 미디어 플레이어(DMP)와 디지털 미디어 서버(DMS)를 포함한다. 2-박스 모델에서 디지털 미디어 플레이어(DMP)는 사용자가 디지털 미디어 서버(DMS)에 의해 브라우징되고(browsed) 배포되는(distributed) 컨텐트를 찾아 재생할 수 있게 한다.
3-박스 모델은 디지털 미디어 컨트롤러(DMC), 디지털 미디어 서버(DMS), 디지털 미디어 렌더러(DMR)을 포함한다. 3-박스 모델에서, 디지털 미디어 컨트롤러(DMC)는 사용자가 디지털 미디어 렌더러(DMR)에서 재생될 디지털 미디어 서버(DMS)의 컨텐트를 찾을 수 있게 한다.
UPnP 및 DLNA에 따르는 기기들은 인터넷 프로토콜 네트워킹(internet protocol networking, IP Networking)을 통해 명령을 주고 받는다. 즉, 동일한 네트워크에 연결된 AV 기기들 중 한 기기는 다른 기기에게 AV 서비스를 제공할 수도 있고, 다른 기기로부터 AV 서비스를 제공받을 수도 있고, 다른 기기를 제어할 수도 있으며, 다른 기기로부터 제어될 수도 있다.
특히, 3-박스 모델에서, 미디어 렌더러는 컨트롤러의 제어에 의해 미디어 서버로부터 미디어 컨텐트를 제공받아서 재생한다. 그러나, 컨트롤러의 제어에 의해 재생할 미디어 컨텐트가 전환되는 경우, 그 전환 명령에 따라 미디어 렌더러는 미디어 서버로부터 미디어 컨텐트를 수신하므로 전환에 시간적 지연이 발생하여, 끊김없는 전환(seamless transition)이 이루어 지지 않은 문제가 있었다.
이는 미디어 렌더러가 미디어 서버와는 별도의 장치인 경우에 발생하는 것이어서, 2-박스 모델에서도 여전히 문제가 된다.
미디어 렌더러가 미디어 서버와는 별도의 장치인 경우에 미디어 컨텐트 사이에 끊김없는 전환을 제공하기 위한 방안들이 제시되기는 했으나, 이러한 방안들은 다양한 상황에 적용가능한 유연성(flexibility)를 가지고 있지 않은 문제가 있었다.
본 발명은 미디어 렌더러가 미디어 서버와는 별도의 장치인 경우라도 미디어 컨텐트 사이에 끊김없는 전환을 제공하기 위한 시스템, 장치, 및 이들의 동작 방법을 제공하기 위한 것이다.
더욱 구체적으로는, 본 발명은 미디어 렌더러가 미디어 서버와는 별도의 장치인 경우라도 다양한 상황에 적용가능한 유연성을 제공하면서도 미디어 컨텐트 사이에 끊김없는 전환을 제공하기 위한 시스템, 장치, 및 이들의 동작 방법을 제공하기 위한 것이다.
일 실시예에서, 미디어 렌더러 장치와 미디어 서버 장치를 제어하는 제어 장치의 동작 방법은 상기 제어 장치가, 제1 리소스의 재생 요청을 상기 미디어 렌더러 장치에 전송하는 단계; 상기 제어 장치가, 상기 제1 리소스의 재생 요청 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 호출하여 상기 미디어 렌더러 장치가 상기 복수의 프리페치 리소스 식별자에 기초하여 상기 미디어 서버 장치로부터 상기 복수의 프리페치 리소스를 프리페치하도록 하는 단계; 상기 제어 장치가, 상기 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 요청을 상기 미디어 렌더러 장치에 전송하여, 상기 미디어 렌더러 장치가 상기 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공하도록 하는 단계를 포함한다.
상기 동작 방법은 상기 다중 리소스 프리페치 액션이 너무 많은 프리페치 리소스 식별자를 포함하고 있어서 상기 미디어 렌더러 장치가 상기 복수의 프리페치 리소스의 모두를 프리페치할 수 없는 경우에, 상기 제어 장치가, 리소스가 너무 많음을 의미하는 오류 코드의 반환을 수신하는 단계를 더 포함할 수 있다.
제어 장치의 동작 방법.
상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 더 포함할 수 있다.
상기 복수의 메타데이터 아이템의 순서는 상기 복수의 프리페치 리소스 식별자의 순서와 동일할 수 있다.
상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스 식별자를 포함하는 제1 인수(argument)와 상기 복수의 메타데이터 아이템을 포함하는 제2 인수를 포함하고, 상기 제1 인수는 상기 컴마 구분 값 포맷으로 상기 복수의 프리페치 리소스 식별자를 포함하고, 상기 제2 인수는 UPnP 규격의 컨텐트 디렉토리 서비스 템플릿에서 정의되는 DIDL-Lite XML Fragment 포맷으로 상기 복수의 메타데이터 아이템을 포함할 수 있다.
상기 동작 방법은 상기 제어 장치가, 상기 다중 리소스 프리페치 액션이 메타데이터를 지원하는지에 대한 사용자 입력을 수신하는 단계; 및 상기 제어 장치가, 상기 사용자 입력에 기초하여 상기 다중 리소스 프리페치 액션이 메타데이터를 지원하는지를 저장하는 설정 변수를 업데이트하는 단계를 더 포함할 수 있다.
상기 설정 변수가 상기 다중 리소스 프리페치 액션의 메타데이터의 지원을 나타내는 경우에, 상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 포함할 수 있다.
상기 설정 변수가 상기 다중 리소스 프리페치 액션의 메타데이터의 비지원을 나타내는 경우에, 상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 포함할 수 있다.
상기 동작 방법은 상기 제어 장치가, 상기 다중 리소스 프리페치 액션의 활성화 여부에 대한 사용자 입력을 수신하는 단계; 및
상기 제어 장치가, 상기 사용자 입력에 기초하여 상기 다중 리소스 프리페치 액션의 활성화 여부를 저장하는 설정 변수를 업데이트하는 단계를 더 포함할 수 있다.
상기 다중 리소스 프리페치 액션을 호출하는 단계는 상기 설정 변수가 상기 다중 리소스 프리페치 액션의 활성화를 나타내는 경우에 상기 다중 리소스 프리페치 액션을 호출하는 단계와, 상기 설정 변수가 상기 다중 리소스 프리페치 액션의 비활성화를 나타내는 경우 상기 다중 리소스 프리페치 액션을 호출하지 않는 단계를 포함할 수 있다.
상기 동작 방법은 상기 제어 장치가, 상기 다중 리소스 프리페치 액션이 포함하는 상기 복수의 프리페치 리소스의 개수에 대한 사용자 입력을 수신하는 단계; 및 상기 제어 장치가, 상기 사용자 입력에 기초하여 상기 다중 리소스 프리페치 액션이 포함하는 상기 복수의 프리페치 리소스의 개수를 저장하는 설정 변수를 업데이트하는 단계를 더 포함할 수 있다.
상기 다중 리소스 프리페치 액션은 상기 설정 변수에 해당하는 개수만큼 상기 복수의 프리페치 리소스를 포함할 수 있다.
상기 동작 방법은 상기 제어 장치가, 상기 복수의 프리페치 리소스의 프리페치 상태를 표시하는 단계를 더 포함할 수 있다.
상기 복수의 프리페치 리소스 식별자 중 일부는 상기 제1 리소스의 이전 리소스를 지시하고 나머지 일부는 상기 제1 리소스의 다음 리소스를 지시하는 것이 허용될 수 있다.
상기 복수의 프리페치 리소스 식별자 모두가 상기 제1 리소스의 이전 리소스를 지시하는 것이 허용될 수 있다.
상기 복수의 프리페치 리소스 식별자 모두가 상기 제1 리소스의 다음 리소스를 지시하는 것이 허용될 수 있다.
일 실시예에서, 미디어 렌더러 장치와 미디어 서버 장치를 제어하는 제어 장치는 네트워크 인터페이스; 및 제어부를 포함한다. 상기 제어부는 제1 리소스의 재생 요청을 상기 네트워크 인터페이스를 통해 상기 미디어 렌더러 장치에 전송한다. 상기 제어부는, 상기 제1 리소스의 재생 요청 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 호출하여 상기 미디어 렌더러 장치가 상기 복수의 프리페치 리소스 식별자에 기초하여 상기 미디어 서버 장치로부터 상기 복수의 프리페치 리소스를 프리페치하도록 한다. 상기 제어부는, 상기 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 요청을 상기 미디어 렌더러 장치에 상기 네트워크 인터페이스를 통해 전송하여, 상기 미디어 렌더러 장치가 상기 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공하도록 한다.
일 실시예에서, 상기 미디어 서버 장치를 제어하는 제어 장치에 의해 제어되는 미디어 렌더러 장치의 동작 방법은 상기 미디어 렌더러 장치가, 제1 리소스의 재생 요청을 상기 제어 장치로부터 수신하는 단계; 상기 미디어 렌더러 장치가, 상기 제1 리소스의 재생 요청 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 수신하는 단계; 상기 미디어 렌더러 장치가, 상기 복수의 프리페치 리소스 식별자에 기초하여 상기 미디어 서버 장치로부터 상기 복수의 프리페치 리소스를 프리페치하는 단계; 및
상기 미디어 렌더러 장치가, 상기 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 요청을 상기 제어 장치로부터 수신하여, 상기 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공하는 단계를 포함한다.
상기 동작 방법은 상기 미디어 렌더러 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 상기 다중 리소스 프리페치 액션이 유효한 비어있지 않은 다중 리소스 식별자 인수를 포함하는 경우, 상기 미디어 렌더러 장치가, 다중 리소스 식별자를 저장하는 다중 리소스 식별자 상태 변수의 값을 상기 유효한 비어있지 않은 다중 리소스 식별자 인수 내의 값으로 대체하는 단계를 더 포함할 수 있다.
상기 동작 방법은, 상기 미디어 렌더러 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 상기 다중 리소스 프리페치 액션이 비어있는 다중 리소스 식별자 인수를 포함하는 경우, 상기 미디어 렌더러 장치가, 다중 리소스 식별자를 저장하는 다중 리소스 식별자 상태 변수를 클리어 하는 단계를 포함할 수 있다.
실시예에 따르면, 미디어 렌더러가 미디어 서버와는 별도의 장치인 경우라도 다양한 상황에 적용가능한 유연성을 제공하면서도 미디어 컨텐트 사이에 끊김없는 전환을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 3-박스 모델을 보여주는 블록도이다.
도 2는 본 발명의 한 실시예에 따른 2박스 모델을 보여주는 블록도이다.
도 3은 본 발명의 또 다른 실시예에 따른 2박스 모델을 보여주는 블록도이다.
도 4는 본 발명의 실시예에 따른 3-박스 모델의 동작 방법을 보여주는 래더 다이어그램이다.
도 5와 도 6은 본 발명의 실시예에 따른 다중 리소스 프리페치 설정을 위한 사용자 인터페이스 화면을 보여준다.
도 7은 본 발명의 실시예에 따른 다중 리소스 프리페치 상태를 표시하는 사용자 인터페이스 화면을 보여준다.
도 8은 종래에 따른 현재 리소스로부터 배치 순서로 직후의 리소스로의 순방향 전환을 보여준다.
도 9는 종래에 따른 현재 리소스로부터 배치 순서로 직전의 리소스로의 역방향 전환을 보여준다.
도 10은 종래에 따른 현재 리소스로부터 배치 순서로 다음 다음의 리소스로의 순방향 도약 전환을 보여준다.
도 11은 본 발명의 실시예에 따른 현재 리소스로부터 배치 순서로 직후의 리소스로의 순방향 전환을 보여준다.
도 12는 본 발명의 실시예에 따른 현재 리소스로부터 배치 순서로 직전의 리소스로의 역방향 전환을 보여준다.
도 13은 본 발명의 실시예에 따른 현재 리소스로부터 배치 순서로 다음 다음의 리소스로의 순방향 도약 전환을 보여준다.
도 14는 본 발명의 실시예에 따른 3-박스 PUSH 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 15는 도 14를 구체화한 래더 다이어그램이다.
도 16는 본 발명의 실시예에 따른 3-박스 PUSH 모델에서 이전 리소스 식별자만을 포함하는 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 17은 도 16을 구체화한 래더 다이어그램이다.
도 18은 본 발명의 실시예에 따른 3-박스 PUSH 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 19는 도 18을 구체화한 래더 다이어그램이다.
도 20은 본 발명의 실시예에 따른 3-박스 PULL 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 21은 도 20을 구체화한 래더 다이어그램이다.
도 22는 본 발명의 실시예에 따른 3-박스 PULL 모델에서 이전 리소스 식별자만을 포함하는 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 23은 도 22를 구체화한 래더 다이어그램이다.
도 24는 본 발명의 실시예에 따른 3-박스 PULL 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 25는 도 24를 구체화한 래더 다이어그램이다.
도 26은 본 발명의 실시예에 따른 2-박스 PUSH 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 27은 도 26을 구체화한 래더 다이어그램이다.
도 28은 본 발명의 실시예에 따른 2-박스 PUSH 모델에서 이전 리소스 식별자만을 포함하는 이전 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 다음 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 29는 도 28을 구체화한 래더 다이어그램이다.
도 30은 본 발명의 실시예에 따른 2-박스 PUSH 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 31은 도 30을 구체화한 래더 다이어그램이다.
도 32은 본 발명의 실시예에 따른 2-박스 PULL 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 33은 도 32을 구체화한 래더 다이어그램이다.
도 34는 본 발명의 실시예에 따른 2-박스 PULL 모델에서 이전 리소스 식별자만을 포함하는 이전 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 다음 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 35은 도 34를 구체화한 래더 다이어그램이다.
도 36는 본 발명의 실시예에 따른 2-박스 PULL 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
도 37는 도 36을 구체화한 래더 다이어그램이다.
이하의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
도 1은 본 발명의 실시예에 따른 3-박스 모델을 보여주는 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 3-박스 모델은 제어 포인트 장치(control point device)(100), 미디어 서버 장치(media server device)(200), 미디어 렌더러 장치(media renderer device)(300)를 포함한다.
제어 포인트 장치(100)는 제어부(110), 네트워크 인터페이스(120), 메모리(130), 디스플레이부(150)를 포함한다.
제어 포인트 장치(100)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 미디어 서버 장치(200)와 미디어 렌더러 장치(300)에 보낸다. 이러한 메시지의 전송 여부의 판단의 주체는 사용자가 될 수도 있고, 제어 포인트 장치(100) 자신이 될 수도 있다. 제어 포인트 장치(100)는 전송한 메시지에 대한 응답을 사용자에게 전달하는 사용자 인터페이스(user interface)를 지원할 수 있다. 이 사용자 인터페이스는 내부의 디스플레이부(150) 또는 별도의 장치의 디스플레이부에 해당할 수 있다.
제어부(110)는 본 명세서에서 기술되는 제어 포인트 장치(100)의 모든 동작들의 수행 주체이다. 제어부(110)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 생성하고, 네트워크 인터페이스(120)를 통해 미디어 서버 장치(200)와 미디어 렌더러 장치(300)에 보낸다.
네트워크 인터페이스(120)는 IP 기반 네트워크를 통해 IP 기반 메시지의 송수신을 지원한다. 특히, 네트워크 인터페이스(120)는 제어부(110)가 생성하는 메시지나 데이터의 전송을 지원한다.
메모리(130)는 후술하는 다양한 종류의 정보, 상태 변수를 저장한다. 특히, 메모리(130)는 이러한 다양한 데이터를 임시적으로 저장하는 물리적 장치일 수 있다.
디스플레이부(150)는 처리되는 정보를 표시한다. 예를 들어, 디스플레이부(150)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
미디어 서버 장치(200)는 제어부(210), 네트워크 인터페이스(220), 메모리(230), 미디어 컨텐트 스토리지(260)을 포함한다.
미디어 서버 장치(200)는 제어 포인트 장치(100)로부터 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 수신하고 처리한다. 일반적으로 미디어 서버 장치(200)는 미디어 컨텐트를 저장하고 있는 장치일 수 있고, 미디어 렌더러 장치(300), 제어 포인트 장치(100), 또는 다른 미디어 서버 장치에 미디어 컨텐트의 메타데이터와 미디어 컨텐트의 미디어 데이터를 스트리밍(streaming)하거나 업로딩, 다운로딩하는 것과 같은 다양한 미디어 서비스를 제공할 수 있다.
제어부(210)는 본 명세서에서 기술되는 IP 기반 컨텐트 서버 장치(200)의 모든 동작들의 수행 주체이다.
네트워크 인터페이스(220)는 IP 기반 네트워크를 통해 IP 기반 메시지의 송수신을 지원한다. 특히, 네트워크 인터페이스(220)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지의 수신을 지원하고, 미디어 컨텐트의 메타데이터와 미디어 데이터의 송수신을 지원한다.
메모리(230)는 메타데이터, 컨텐트, 후술하는 다양한 종류의 정보, 상태 변수를 저장한다. 특히, 메모리(230)는 이러한 다양한 데이터를 임시적으로 저장하는 물리적 장치일 수 있다.
미디어 컨텐트 스토리지(260)는 이미지, 오디오, 비디오, 오디오-비디오(AV)와 같은 미디어 컨텐트를 저장한다. 특히, 미디어 컨텐트 스토리지(260)는 하드 디스크와 같은 물리적 저장 장치일 수 있다.
특히, 미디어 서버 장치(200)는 인코딩부를 더 포함하고 있을 수 있다. 이 미디어 서버 장치(200)의 인코딩부는 미디어 렌더러 장치(300)에 적합한 포맷으로 미디어 컨텐트를 재인코딩할 수 있다. 제어부(210)는 네트워크 인터페이스(220)를 통하여 재인코딩된 미디어 컨텐트를 미디어 렌더러 장치(300)에 제공할 수 있다.
미디어 렌더러 장치(300)는 제어부(310), 네트워크 인터페이스(320), 메모리(330), 디스플레이부(350), 디코딩부(370)를 포함한다.
미디어 렌더러 장치(300)는 제어 포인트 장치(100)로부터 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 수신하고 처리한다. 일반적으로 미디어 렌더러 장치(300)는 미디어 컨텐트를 재생하는 장치이며, 미디어 서버 장치(200)로부터 미디어 컨텐트의 메타데이터(metadata) 및 미디어 데이터(media data)를 제공받아 재생한다.
제어부(310)는 본 명세서에서 기술되는 미디어 렌더러 장치(300)의 모든 동작들의 수행 주체이다.
네트워크 인터페이스(320)는 IP 기반 네트워크를 통해 IP 기반 메시지의 송수신을 지원한다. 특히, 네트워크 인터페이스(120)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지의 수신을 지원하고, 미디어 컨텐트의 메타데이터와 미디어 데이터의 송수신을 지원한다.
메모리(330)는 메타데이터, 컨텐트, 후술하는 다양한 종류의 정보, 상태 변수를 저장한다. 특히, 메모리(330)는 이러한 다양한 데이터를 임시적으로 저장하는 물리적 장치일 수 있다. 특히, 미디어 렌더러 장치(300)의 메모리(330)는 착탈식일 수 있다.
디스플레이부(350)는 처리되는 정보를 표시한다. 예를 들어, 디스플레이부(350)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
디코딩부(370)는 인코딩된 미디어 컨텐트를 디코딩한다.
제어부(310)는 디코딩된 미디어 컨텐트를 디스플레이부(350)에 디스플레이할 수 있다.
도 2는 본 발명의 한 실시예에 따른 2박스 모델을 보여주는 블록도이다.
본 발명의 한 실시예에 따른 2박스 모델은 제어 포인트 결합 미디어 렌더러 장치(control point combined media player device)(400)와 미디어 서버 장치 (200)를 포함한다. 미디어 서버 장치(200)에 관하여는 도 1에서 설명하였으므로, 그 구성에 대한 설명은 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)는 도 1에서 설명한 제어 포인트 장치(100)의 기능과 미디어 렌더러 장치(300)의 기능을 모두 포함한다. UPNP 프로토콜에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 플레이어 장치라고도 불릴 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 미디어 서버 장치(200)에 보낸다. 이러한 메시지의 전송 여부의 판단의 주체는 사용자가 될 수도 있고, 제어 포인트 결합 미디어 렌더러 장치(400) 자신이 될 수도 있다. 제어 포인트 결합 미디어 렌더러 장치(400)는 전송한 메시지에 대한 응답을 사용자에게 전달하는 사용자 인터페이스(user interface)를 지원할 수 있다. 이 사용자 인터페이스는 내부의 디스플레이부(450) 또는 별도의 장치의 디스플레이부에 해당할 수 있다. 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 컨텐트를 재생할 수 있고, 미디어 서버 장치(200)로부터 미디어 컨텐트의 메타데이터(metadata) 및 미디어 데이터(media data)를 제공받아 재생한다.
제어 포인트 결합 미디어 렌더러 장치(400)는 제어부(410), 네트워크 인터페이스(420), 메모리(430), 디스플레이부(450), 디코딩부(470)를 포함한다.
제어부(410)는 본 명세서에서 기술되는 제어 포인트 결합 미디어 렌더러 장치(400)의 모든 동작들의 수행 주체이다. 제어부(410)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 생성하고, 네트워크 인터페이스(420)를 통해 미디어 서버 장치(200)에 보낸다.
네트워크 인터페이스(420)는 IP 기반 네트워크를 통해 IP 기반 메시지의 송수신을 지원한다. 특히, 네트워크 인터페이스(420)는 제어부(410)가 생성하는 메시지나 데이터의 전송을 지원하고, 미디어 컨텐트의 메타데이터와 미디어 데이터의 송수신을 지원한다.
메모리(430)는 메타데이터, 컨텐트, 후술하는 다양한 종류의 정보, 상태 변수를 저장한다. 특히, 메모리(430)는 이러한 다양한 데이터를 임시적으로 저장하는 물리적 장치일 수 있다. 특히, 메모리(430)는 착탈식일 수 있다.
디스플레이부(450)는 처리되는 정보를 표시한다. 예를 들어, 디스플레이부(450)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
디코딩부(470)는 인코딩된 미디어 컨텐트를 디코딩한다.
제어부(410)는 디코딩된 미디어 컨텐트를 디스플레이부(450)에 디스플레이할 수 있다.
도 3은 본 발명의 또 다른 실시예에 따른 2박스 모델을 보여주는 블록도이다.
본 발명의 또 다른 실시예에 따른 2박스 모델은 제어 포인트 결합 미디어 서버 장치(control point combined media server device)(500) 및 미디어 렌더러 장치(300)를 포함한다. 미디어 렌더러 장치(300)에 관하여는 도 1에서 설명하였으므로, 그 구성에 대한 설명은 생략한다.
제어 포인트 결합 미디어 서버 장치(500)는 도 1에서 설명한 제어 포인트 장치(100)의 기능과 미디어 서버 장치(200)의 기능을 모두 포함한다.
즉, 제어 포인트 결합 미디어 서버 장치(500)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 미디어 렌더러 장치(300)에 보낸다. 이러한 메시지의 전송 여부의 판단의 주체는 사용자가 될 수도 있고, 제어 포인트 결합 미디어 서버 장치(500) 자신이 될 수도 있다. 제어 포인트 결합 미디어 서버 장치(500)는 전송한 메시지에 대한 응답을 사용자에게 전달하는 사용자 인터페이스(user interface)를 지원할 수 있다. 이 사용자 인터페이스는 내부의 디스플레이부(550) 또는 별도의 장치의 디스플레이부에 해당할 수 있다. 제어 포인트 결합 미디어 서버 장치(500)는 미디어 컨텐트를 저장하고 있는 장치이고, 미디어 렌더러 장치(300), 제어 포인트 장치(100), 또는 다른 미디어 서버 장치에 미디어 컨텐트의 메타데이터와 미디어 컨텐트의 미디어 데이터를 스트리밍(streaming)하거나 업로딩, 다운로딩하는 것과 같은 다양한 미디어 서비스를 제공할 수 있다.
제어 포인트 결합 미디어 서버 장치(500)는 제어부(510), 네트워크 인터페이스(520), 메모리(530), 디스플레이부(550), 미디어 컨텐트 스토리지(560)를 포함한다.
제어부(510)는 본 명세서에서 기술되는 제어 포인트 결합 미디어 서버 장치(500)의 모든 동작들의 수행 주체이다. 제어부(510)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지를 생성하고, 네트워크 인터페이스(520)를 통해 또 다른 미디어 서버 장치와 미디어 렌더러 장치(300)에 보낸다.
네트워크 인터페이스(520)는 IP 기반 네트워크를 통해 IP 기반 메시지의 송수신을 지원한다. 특히, 네트워크 인터페이스(520)는 제어부(510)가 생성하는 메시지나 데이터의 전송을 지원한다. 특히, 네트워크 인터페이스(520)는 명령(command), 요청(request), 또는 액션(action)에 해당하는 메시지의 수신을 지원하고, 미디어 컨텐트의 메타데이터와 미디어 데이터의 송수신을 지원한다.
메모리(530)는 메타데이터, 컨텐트, 후술하는 다양한 종류의 정보, 상태 변수를 저장한다. 특히, 메모리(530)는 이러한 다양한 데이터를 임시적으로 저장하는 물리적 장치일 수 있다.
디스플레이부(550)는 처리되는 정보를 표시한다. 예를 들어, 디스플레이부(150)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
미디어 컨텐트 스토리지(560)는 이미지, 오디오, 비디오, 오디오-비디오(AV)와 같은 미디어 컨텐트를 저장한다. 특히, 미디어 컨텐트 스토리지(560)는 하드 디스크와 같은 물리적 저장 장치일 수 있다.
특히, 제어 포인트 결합 미디어 서버 장치(500)는 인코딩부를 더 포함할 수 있다. 이 제어 포인트 결합 미디어 서버 장치(500)의 인코딩부는 미디어 렌더러 장치(300)에 적합한 포맷으로 미디어 컨텐트를 재인코딩할 수 있다. 제어부(510)는 네트워크 인터페이스(520)를 통하여 재인코딩된 미디어 컨텐트를 미디어 렌더러 장치(300)에 제공할 수 있다.
도 4는 본 발명의 실시예에 따른 3-박스 모델의 동작 방법을 보여주는 래더 다이어그램이다.
제어 포인트 장치(100)는 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S111). 이때, 리소스는 이미지, 오디오, 비디오, 오디오-비디오(audio-video, AV)와 같은 미디어 컨텐트에 해당할 수 있다.
현재 재생 리소스의 재생의 요청은 현재 재생 리소스의 리소스 이송 액션(resource transfer action)의 호출과, 현재 재생 리소스의 재생 액션의 호출에 의해 수행될 수 있다.
리소스 이송 액션은 인스턴스 식별자, 현재 재생 리소스의 리소스 식별자, 현재 재생 리소스의 메타데이터를 포함할 수 있다.
현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다. AVT::SetAVTransportURI() 액션은 인스턴스 식별자, 현재 재생 리소스의 리소스 식별자, 현재 재생 리소스의 메타데이터를 포함할 수 있다. 특히, 인스턴스 식별자는 0으로 셋팅될 수 있다.
현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다. AVT::Play() 액션은 인스턴스 식별자를 포함할 수 있다. 특히, 인스턴스 식별자는 0으로 셋팅될 수 있다.
일 실시예에서, 제어 포인트 장치(100)는 리소스 이송 액션을 미디어 서버 장치(200)에 전송할 수 있다.
또 다른 실시예에서, 제어 포인트 장치(100)는 리소스 이송 액션을 미디어 렌더러 장치(300)에 전송할 수 있다.
제어 포인트 장치(100)는 현재 재생 리소스의 재생 액션을 미디어 렌더러 장치(300)에 전송할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S115).
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 본 명세서에서 규정하는 액션들을 전달하기 위한 제어 프로토콜, 특히 UPNP 프로토콜, 이 아닌 밴드 밖의 이송 프로토콜(out-of-band transfer protocol)를 통해 수신할 수 있다.
제어 포인트 장치(100)가 리소스 이송 액션을 미디어 서버 장치(200)에 전송한 경우, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 현재 재생 리소스를 수신할 수 있다. 미디어 서버 장치(200)는 리소스 이송 액션의 현재 재생 리소스의 리소스 식별자에 해당하는 현재 재생 리소스를 미디어 렌더러 장치(200)에 푸쉬할 수 있다.
제어 포인트 장치(100)는 리소스 이송 액션을 미디어 렌더러 장치(300)에 전송한 경우, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청하여, 미디어 서버 장치(200)로부터 현재 재생 리소스를 수신할 수 있다. 미디어 렌더러 장치(300)는 리소스 이송 액션의 리소스 식별자를 통해 미디어 서버 장치(200)에 현재 재생 리소스를 요청할 수 있다. 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request (Hypertext Transfer Protocol get request)를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다. 이 HTTP GET request는 포함된 리소스 식별자에 해당하는 리소스의 전송을 요청하는데 사용되는 요청 메시지이다.
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S117).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에, 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 복수의 프리페치 리소스를 미리 가져오도록(프리페치, prefetch) 하기 위한 다중 리소스 프리페치 액션을 호출한다(S121).
일 실시예에서, 단일의 다중 리소스 프리페치 액션의 호출이 복수의 프리페치 리소스의 프리페치를 야기할 수 있다. 이 경우, 단일의 다중 리소스 프리페치 액션은 복수의 프리페치 리소스에 각각 대응하는 복수의 프리페치 리소스 식별자와 복수의 프리페치 리소스에 각각 대응하는 복수의 메타데이터 아이템을 인수(argument)로서 포함할 수 있다.
또 다른 실시예에서, 다중 리소스 프리페치 액션은 복수의 단일 리소스 프리페치 액션을 포함할 수 있다. 복수의 단일 리소스 프리페치 액션의 호출이 복수의 프리페치 리소스의 프리페치를 야기할 수 있다. 이 경우, 복수의 단일 리소스 프리페치 액션의 각각은 단일 리소스의 리소스 식별자와 단일 리소스의 메타데이터 아이템을 인수(argument)로서 포함할 수 있다. 따라서, 복수의 단일 리소스 프리페치 액션으로 구성되는 다중 리소스 프리페치 액션은 복수의 프리페치 리소스에 각각 대응하는 복수의 프리페치 리소스 식별자와 복수의 프리페치 리소스에 각각 대응하는 복수의 메타데이터 아이템을 포함할 수 있다.
이처럼, 다중 리소스 프리페치 액션은 복수의 프리페치 리소스에 각각 대응하는 복수의 프리페치 리소스 식별자를 포함하는 다중 프리페치 리소스 식별자 인수(argument)와 복수의 프리페치 리소스에 각각 대응하는 복수의 메타데이터 아이템을 포함하는 다중 리소스 메타데이터 인수를 포함할 수 있다. 리소스 식별자는 유니폼 리소스 식별자(uniform resource identifier, URI)일 수 있다. 다중 프리페치 리소스 식별자 인수는 버전에 대한 정보, 복수의 프리페치 리소스 식별자의 개수에 대한 정보, 각 프리페치 리소스 식별자의 순서에 대한 정보, 각 프리페치 리소스 식별자의 메타데이터 지원 여부에 대한 정보, 복수의 프리페치 리소스 식별자를 포함할 수 있다. 이전에 다중 리소스 프리페치 액션을 수신한 장치가 다시 다중 프리페치 리소스 식별자 인수를 포함하는 다중 리소스 프리페치 액션을 수신한 경우에, 장치는 이전에 수신한 다중 프리페치 리소스 식별자 인수의 버전에 대한 정보와 현재 수신한 다중 프리페치 리소스 식별자 인수의 버전에 대한 정보를 비교할 수 있다. 비교 결과 현재 수신한 다중 프리페치 리소스 식별자 인수의 버전이 이전에 수신한 다중 프리페치 리소스 식별자 인수의 버전보다 크면, 장치는 현재 수신한 다중 프리페치 리소스 식별자 인수를 받아들이고 처리할 수 있다. 한편, 현재 수신한 다중 프리페치 리소스 식별자 인수의 버전이 이전에 수신한 다중 프리페치 리소스 식별자 인수의 버전에 비해 동일하거나 작다면, 장치는 현재 수신한 다중 프리페치 리소스 식별자 인수를 받아들이지 않고 폐기할 수 있다.
제어 포인트 장치(100)가 복수의 프리페치 리소스의 메타데이터의 제공을 원하면, 메타데이터 인수는 복수의 프리페치 리소스의 순서에 따라 메타데이터의 순서를 정렬(align)하기 위하여 모든 리소스의 식별자 속성을 전달(convey)할 수 있다. 제어 포인트 장치(100)가 복수의 프리페치 리소스의 메타데이터의 제공을 원하지 않으면, 메타데이터 인수는 비어있는 스트링(empty string)을 제공할 수 있다. 다중 프리페치 리소스 식별자 인수가 너무 많은 프리페치 리소스 식별자를 포함하여 모든 프리페치 리소스가 프리페치될 수 없다면, 미디어 서버 장치(200) 및/또는 미디어 렌더러 장치(300)는 리소스가 너무 많음을 의미하는 오류 코드(예컨데, 7XX)를 반환할 수 있다.
일 실시예에서, 복수의 프리페치 리소스 중 하나는 배치 순서로 현재 재생 리소스의 이전 리소스(previous resource)에 해당하고, 또 다른 하나는 배치 순서로 현재 재생 리소스의 다음 리소스(next resource)에 해당할 수 있다. 이를 위하여, 복수의 프리페치 리소스 식별자 중 하나는 배치 순서로 현재 재생 리소스의 이전 리소스를 지시하고, 또 다른 하나는 배치 순서로 현재 재생 리소스의 다음 리소스를 지시할 수 있다. 특히, 복수의 프리페치 리소스 중 하나는 배치 순서로 현재 재생 리소스의 직전 리소스(immediately previous resource)에 해당하고, 또 다른 하나는 배치 순서로 현재 재생 리소스의 직후 리소스(immediately next resource)에 해당할 수 있다. 이를 위하여, 복수의 프리페치 리소스 식별자 중 하나는 배치 순서로 현재 재생 리소스의 직전 리소스를 지시하고, 또 다른 하나는 배치 순서로 현재 재생 리소스의 직후 리소스를 지시할 수 있다.
또 다른 실시예에서, 복수의 프리페치 리소스 모두가 이전 리소스인 것이 허용되고, 복수의 프리페치 리소스 모두가 다음 리소스인 것이 허용되고, 복수의 프리페치 리소스 중 일부는 이전 리소스이고 나머지 일부는 다음 리소스인 것이 허용될 수 있다. 이를 위하여, 복수의 프리페치 리소스 식별자 모두가 이전 리소스를 지시하는 것이 허용되고, 복수의 프리페치 리소스 식별자 모두가 다음 리소스를 지시하는 것이 허용되고, 복수의 프리페치 리소스 식별자 중 일부는 이전 리소스를 지시하고 나머지 일부는 다음 리소스를 지시하는 것이 허용될 수 있다. 특히, 복수의 프리페치 리소스 모두가 직전 리소스인 것이 허용되고, 복수의 프리페치 리소스 모두가 직후 리소스인 것이 허용되고, 복수의 프리페치 리소스 중 일부는 직전 리소스이고 나머지 일부는 직후 리소스인 것이 허용될 수 있다. 이를 위하여, 복수의 프리페치 리소스 식별자 모두가 직전 리소스를 지시하는 것이 허용되고, 복수의 프리페치 리소스 식별자 모두가 직후 리소스를 지시하는 것이 허용되고, 복수의 프리페치 리소스 식별자 중 일부는 직전 리소스를 지시하고 나머지 일부는 직후 리소스를 지시하는 것이 허용될 수 있다.
복수의 리소스의 배치 순서는 리소스 제목 순서, 리소스의 파일 명 순서, 리소스 생성 날짜 순서, 리소스 수정 날짜 순서, 리소스 크기 순서, 리소스 재생 시간 순서, 리소스 저자 순서, 리소스 타입 순서 중 적어도 하나의 순서를 따를 수 있다. 복수의 리소스가 검색 결과로부터 얻어진 것인 경우에, 복수의 리소스의 배치 순서는 검색 결과 순서를 따를 수 있다.
리소스 타입이 이미지인 경우에, 복수의 이미지의 배치 순서는 복수의 이미지의 파일 명 순서에 해당할 수 있으나, 이에 한정될 필요는 없다.
리소스 타입이 오디오인 경우에, 복수의 오디오의 배치 순서는 복수의 오디오의 트랙 순서에 해당할 수 있으나, 이에 한정될 필요는 없다.
리소스 타입이 비디오인 경우에, 복수의 비디오의 배치 순서는 복수의 비디오의 트랙 순서에 해당할 수 있으나, 이에 한정될 필요는 없다.
다중 리소스 프리페치 액션이 N개의 프리페치 리소스 식별자를 포함하는 경우, 다중 리소스 프리페치 액션은 현재 재생 리소스의 다음의 N개의 리소스를 지시하는 N개의 프리페치 리소스 식별자를 포함할 수 있다.
다중 리소스 프리페치 액션이 N개의 프리페치 리소스 식별자를 포함하는 경우, 다중 리소스 프리페치 액션은 현재 재생 리소스의 이전의 N개의 리소스를 지시하는 N개의 프리페치 리소스 식별자를 포함할 수 있다.
다중 리소스 프리페치 액션이 N개의 프리페치 리소스 식별자를 포함하는 경우, 다중 리소스 프리페치 액션은 현재 재생 리소스의 이전의 N/2개의 리소스를 지시하는 N/2개의 프리페치 리소스 식별자와 현재 재생 리소스의 다음의 N/2개의 리소스를 지시하는 N/2개의 프리페치 리소스 식별자를 포함할 수 있다. 일 실시예에서, N이 홀수인 경우, 다중 리소스 프리페치 액션은 N/2의 올림 정수 개의 이전 리소스를 지시하는 N/2의 올림 정수 개의 프리페치 리소스 식별자와 N/2의 내림 정수 개의 다음 리소스를 지시하는 N/2의 내림 정수 개의 프리페치 리소스 식별자를 포함할 수 있다. 또 다른 실시예에서, N이 홀수인 경우, 다중 리소스 프리페치 액션은 N/2의 내림 정수 개의 이전 리소스를 지시하는 N/2의 내림 정수 개의 프리페치 리소스 식별자와 N/2의 올림 정수 개의 다음 리소스를 지시하는 N/2의 올림 정수 개의 프리페치 리소스 식별자를 포함할 수 있다.
다중 리소스 프리페치 액션이 N개의 프리페치 리소스 식별자를 포함하는 경우, 다중 리소스 프리페치 액션은 제어 포인트 장치(100)가 추천하는 N개의 리소스를 지시하는 프리페치 리소스 식별자를 포함할 수 있다. 제어 포인트 장치(100)는 리소스의 사용 빈도, 리소스의 사용 시점에 기초하여 N개의 리소스를 추천할 수 있다. 예컨데, 제어 포인트 장치(100)는 리소스의 사용 빈도에 기초하여 N개의 자주 이용하는 리소스를 추천할 수 있다. 또한, 제어 포인트 장치(100)는 리소스의 리소스의 사용 시점에 기초하여 N개의 최근 이용 리소스를 추천할 수 있다.
제어 포인트 장치(100)는 다중 리소스 프리페치 액션이 포함하는 복수의 프리페치 리소스 식별자의 개수(N)의 설정을 위한 사용자 입력에 기초하여 다중 리소스 프리페치 액션이 포함하는 복수의 프리페치 리소스 식별자의 개수를 결정할 수 있다.
제어 포인트 장치(100)는 다중 리소스 프리페치 액션이 어떠한 N개의 프리페치 리소스 식별자를 포함할지에 대한 사용자 입력에 기초하여 다중 리소스 프리페치 액션이 포함하는 N개의 프리페치 리소스 식별자를 결정할 수 있다.
3-박스 Push에 관한 실시예에서, 제어 포인트 장치(100)는 다중 리소스 프리패치 액션을 미디어 서버 장치(200)에 전송할 수 있다.
3-박스 Pull에 관한 실시예에서, 제어 포인트 장치(100)는 다중 리소스 프리패치 액션을 미디어 렌더러 장치(300)에 전송할 수 있다.
다음은 도 5 내지 도 6을 참고하여 본 발명의 실시예에 따른 다중 리소스 프리페치 설정에 대해 설명한다.
도 5와 도 6은 본 발명의 실시예에 따른 다중 리소스 프리페치 설정을 위한 사용자 인터페이스 화면을 보여준다.
특히, 도 5는 다중 리소스 프리페치가 비활성화되었을 때의 다중 리소스 프리페치 설정을 위한 사용자 인터페이스 화면을 보여준다. 도 6은 다중 리소스 프리페치가 활성화되었을 때의 다중 리소스 프리페치 설정을 위한 사용자 인터페이스 화면을 보여준다.
도 5의 (A), 도 5의 (B), 도 6의 (A), 및 도 6의 (B)에서 보여지는 바와 같이, 제어 포인트 장치(100)는 다중 리소스 프리페치 설정을 위한 사용자 인터페이스 화면(600)을 디스플레이부(150)에 표시할 수 있다.
다중 리소스 프리페치 설정을 위한 사용자 인터페이스 화면(600)은 다중 리소스 프리페치의 활성화 여부의 설정을 지원하는 체크 박스 형태의 사용자 인터페이스 엘리먼트(610), 다중 리소스 프리페치 액션의 다중 프리페치 리소스의 개수의 설정을 지원하는 텍스트 박스 형태의 사용자 인터페이스 엘리먼트(620), 다중 리소스 프리페치 액션이 메타데이터를 지원할 지 여부의 설정을 지원하는 콤보 박스 형태의 사용자 인터페이스 엘리먼트(630)를 포함한다. 각 사용자 인터페이스의 형태는 체크 박스 형태, 텍스트 박스 형태, 콤보 박스 형태로 제한될 필요는 없다.
도 5의 (A)에서 보여지는 바와 같이, 사용자 인터페이스 엘리먼트(610)를 통해 다중 리소스 프리페치가 비활성화되는 것으로 설정된 경우, 사용자 인터페이스 엘리먼트(620)와 사용자 인터페이스 엘리먼트(630) 또한 비활성화되고, 사용자 인터페이스 엘리먼트(620)의 이전 설정 값과 사용자 인터페이스 엘리먼트(630)의 이전 설정 값이 표시되지 않을 수 있다.
도 5의 (B)에서 보여지는 바와 같이, 사용자 인터페이스 엘리먼트(610)를 통해 다중 리소스 프리페치가 비활성화되는 것으로 설정된 경우, 사용자 인터페이스 엘리먼트(620)와 사용자 인터페이스 엘리먼트(630) 또한 비활성화되고, 사용자 인터페이스 엘리먼트(620)의 이전 설정 값과 사용자 인터페이스 엘리먼트(630)의 이전 설정 값이 흐리게 표시될 수 있다.
도 6의 (A)와 도 6의 (B)에서 보여지는 바와 같이, 사용자 인터페이스 엘리먼트(610)를 통해 다중 리소스 프리페치가 활성화되는 것으로 설정된 경우, 사용자 인터페이스 엘리먼트(620)와 사용자 인터페이스 엘리먼트(630) 또한 활성화되고, 사용자 인터페이스 엘리먼트(620)를 통해 다중 리소스 프리페치 액션의 다중 프리페치 리소스의 개수가 설정될 수 있고, 사용자 인터페이스 엘리먼트(630)를 통해 다중 리소스 프리페치 액션이 메타데이터를 지원할 지 여부가 설정될 수 있다.
사용자 인터페이스(610)를 통해 다중 리소스 프리페치가 활성화되는 것으로 지정된 경우, 제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에, 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 다중 리소스 프리페치 액션을 호출한다. 이때, 다중 리소스 프리페치 액션이 포함하는 복수의 프리페치 리소스의 개수는 사용자 인터페이스 엘리먼트(620)를 통해 설정된 값과 동일할 수 있다. 또, 사용자 인터페이스 엘리먼트(630)를 통해 설정된 값이 메타데이터 지원에 해당하는 경우, 다중 리소스 프리페치 액션은 복수의 프리페치 리소스의 메타데이터를 포함할 수 있다. 또, 사용자 인터페이스 엘리먼트(630)를 통해 설정된 값이 메타데이터 비지원에 해당하는 경우, 다중 리소스 프리페치 액션은 복수의 프리페치 리소스의 메타데이터를 포함하지 않을 수 있다.
반면, 사용자 인터페이스(610)를 통해 다중 리소스 프리페치가 비활성화되는 것으로 지정된 경우, 제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 다중 리소스 프리페치 액션을 호출하지 않는다.
다시 도 4을 설명한다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 복수의 프리페치 리소스를 프리페치하여(S123), 복수의 프리페치된 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
3-박스 Push에 관한 실시예에서, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 복수의 프리페치 리소스를 프리페치할 수 있다. 미디어 서버 장치(200)는 다중 리소스 프리페치 액션의 복수의 프리페치 리소스 식별자에 해당하는 복수의 프리페치 리소스를 미디어 렌더러 장치(200)에 푸쉬할 수 있다.
3-박스 Pull에 관한 실시예에서, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청하여, 미디어 서버 장치(200)로부터 복수의 프리페치 리소스를 프리페치할 수 있다. 미디어 렌더러 장치(300)는 다중 리소스 프리페치 액션의 복수의 프리페치 리소스 식별자를 통해 미디어 서버 장치(200)에 프리페치할 복수의 프리페치 리소스를 요청할 수 있다. 미디어 렌더러 장치(300)는 다중 리소스 프리페치 액션의 복수의 프리페치 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청할 수 있다.
다음은 도 7을 참고하여 본 발명의 실시예에 따른 다중 리소스 프리페치 상태 디스플레이에 대해 설명한다.
도 7은 본 발명의 실시예에 따른 다중 리소스 프리페치 상태를 표시하는 사용자 인터페이스 화면을 보여준다.
제어 포인트 장치(100)가 다중 리소스 프리페치 액션을 호출한 이후에, 제어 포인트 장치(100)는 도 7에 도시된 바와 같은 다중 리소스 프리페치 상태를 표시하는 사용자 인터페이스 화면(700)을 표시할 수 있다.
사용자 인터페이스 화면은 복수의 프리페치 리소스의 이름과 복수의 프리페치 리소스의 상태를 포함할 수 있다. 복수의 프리페치 리소스의 상태는 프리페치됨(prefetched), 프리페치 중(prefetching) 중 어느 하나로 표시될 수 있다.
특히, 사용자 인터페이스 화면은 복수의 프리페치 리소스를 포함하는 복수의 리소스의 상태를 표시할 수도 있다. 이 경우, 사용자 인터페이스 화면은 복수의 리소스의 상태를 재생 중, 프리페치됨, 프리페치 중, 비-프리페치 컨텐트(non-prefetch content) 중 어느 하나로 표시할 수도 있다.
다시 도 4을 설명한다.
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 호출한다(S127). 제어 포인트 장치(100)는 다음 재생 리소스의 재생을 요청하는 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송할 수 있다.
이때, 다음 재생 리소스는 사용자에 의해 지정된 리소스일 수도 있고, 현재 재생 리소스의 이전 리소스일 수도 있으며, 현재 재생 리소스의 다음 리소스일 수도 있다.
다음 재생 리소스가 사용자에 의해 지정된 리소스인 경우에, 다음 재생 리소스를 위한 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. AVT::SetAVTransportURI() 액션은 인스턴스 식별자, 다음 재생 리소스의 리소스 식별자, 다음 재생 리소스의 메타데이터를 포함할 수 있다. 특히, 인스턴스 식별자는 0으로 셋팅될 수 있다.
다음 재생 리소스가 현재 재생 리소스의 이전 리소스인 경우에, 다음 재생 리소스를 위한 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션에 해당하는 이전 리소스 재생 액션일 수 있다.
다음 재생 리소스가 현재 재생 리소스의 다음 리소스인 경우에, 다음 재생 리소스를 위한 리소스 재생 액션은 UPNP 프로토콜의 AVT::Next() 액션에 해당하는 다음 리소스 재생 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S129).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S131), 수신한 다음 재생 리소스를 재생한다(S133).
미디어 렌더러 장치(300)는 본 명세서에서 규정하는 액션들의 전송 프로토콜(특히 UPNP 프로토콜)이 아닌 밴드 밖의 이송 프로토콜(out-of-band transfer protocol)를 통해, 미디어 서버 장치(200)로부터 다음 재생 리소스를 수신할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 다음 재생 리소스를 요청하여, 미디어 서버 장치(200)로부터 다음 재생 리소스를 수신할 수 있다. 미디어 렌더러 장치(300)는 다음 재생 리소스의 리소스 식별자를 통해 미디어 서버 장치(200)에 다음 재생 리소스를 요청할 수 있다. 미디어 렌더러 장치(300)는 다음 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 다음 재생 리소스를 요청할 수 있다.
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S133). 이로써, 미디어 렌더러 장치(300)는 복수의 프리페치된 리소스를 통해 추가적인 이송 없이 현재 재생 리소스로부터 다음 재생 리소스로의 끊김없는 전환(seamless transition)을 제공할 수 있다.
일 실시예에서, 3-박스 모델을 중심으로 도 4를 설명하였다. 이 경우, 제어 포인트 장치(100)는 미디어 서버 장치(200)와는 별도의 장치(separate device)이고, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)와는 별도의 장치이며, 미디어 서버 장치(200)는 미디어 렌더러 장치(300)와는 별도의 장치이다.
또 다른 실시예에서, 도 4는 제어 포인트 장치(100)와 미디어 서버 장치(200)가 하나의 장치로 결합되는 2-박스 모델에도 적용될 수 있다. 이 경우, 제어 포인트 장치(100)와 미디어 서버 장치(200)는 제어 포인트 결합 미디어 서버 장치(500)로 통합되며, 제어 포인트 결합 미디어 서버 장치(500)는 미디어 렌더러 장치(300)와는 별도의 장치이다. 이 경우, 제어 포인트 장치(100)와 미디어 서버 장치(200) 사이의 액션의 호출은 내부 액션 호출이 될 수 있다. 즉, AVT::SetAVTransportURI() 액션과 같은 리소스 이송 액션, AVT::Play() 액션과 같은 재생 액션, 다중 리소스 프리페치 액션의 호출은 내부 액션 호출이 될 수 있다.
또 다른 실시예에서, 도 4는 제어 포인트 장치(100)와 미디어 렌더러 장치(300)가 하나의 장치로 결합되는 2-박스 모델에도 적용될 수 있다. 이 경우, 제어 포인트 장치(100)와 미디어 렌더러 장치(300)는 제어 포인트 결합 미디어 렌더러 장치(300)로 통합되며, 제어 포인트 결합 미디어 렌더러 장치(300)는 미디어 서버 장치(200)와는 별도의 장치이다. 이 경우, 제어 포인트 장치(100)와 미디어 렌더러 장치(300) 사이의 액션의 호출은 내부 액션 호출이 될 수 있다. 즉, AVT::SetAVTransportURI() 액션과 같은 리소스 이송 액션, AVT::Play() 액션과 같은 재생 액션, 다중 리소스 프리페치 액션의 호출은 내부 액션 호출이 될 수 있다.
다음은 도 8 내지 도 13을 참고하여 본 발명의 실시예의 기술적 효과를 보여준다.
도 8은 종래에 따른 현재 리소스로부터 배치 순서로 직후의 리소스로의 순방향 전환을 보여준다.
도 8에 도시된 바와 같이, 종래에 따르면, 현재 리소스(IMAGE 2)로부터 배치 순서로 직후의 리소스(IMAGE 3)로의 순방향 전환이 발생할 때, 직후의 리소스(IMAGE 3)의 이송(transfer)으로 인한 로딩 지연이 발생할 수 있다.
도 9는 종래에 따른 현재 리소스로부터 배치 순서로 직전의 리소스로의 역방향 전환을 보여준다.
도 9에 도시된 바와 같이, 종래에 따르면, 현재 리소스(IMAGE 2)로부터 배치 순서로 직전의 리소스(IMAGE 1)로의 역방향 전환이 발생할 때, 직전의 리소스(IMAGE 1)의 이송(transfer)으로 인한 로딩 지연이 발생할 수 있다.
도 10은 종래에 따른 현재 리소스로부터 배치 순서로 다음 다음의 리소스로의 순방향 도약 전환을 보여준다.
도 10에 도시된 바와 같이, 종래에 따르면, 현재 리소스(IMAGE 2)로부터 배치 순서로 다음 다음의 리소스(IMAGE 4)로의 순방향 도약 전환이 발생할 때, 다음 다음의 리소스(IMAGE 4)의 이송(transfer)으로 인한 로딩 지연이 발생할 수 있다.
도 11은 본 발명의 실시예에 따른 현재 리소스로부터 배치 순서로 직후의 리소스로의 순방향 전환을 보여준다.
도 11에 도시된 바와 같이, 본 발명의 실시예에 따르면, 미디어 렌더러 장치(300)는 배치 순서로 직전의 리소스(IMAGE 1), 직후의 리소스(IMAGE 3), 다음 다음의 리소스(IMAGE 4)를 프리페치했거나, 적어도 직후의 리소스(IMAGE 3)를 프리페치했다. 따라서, 미디어 렌더러 장치(300)는 현재 리소스(IMAGE 2)로부터 배치 순서로 직후의 리소스(IMAGE 3)로의 끊김없는 순방향 전환을 제공할 수 있다.
도 12는 본 발명의 실시예에 따른 현재 리소스로부터 배치 순서로 직전의 리소스로의 역방향 전환을 보여준다.
도 12에 도시된 바와 같이, 본 발명의 실시예에 따르면, 미디어 렌더러 장치(300)는 배치 순서로 직전의 리소스(IMAGE 1), 직후의 리소스(IMAGE 3), 다음 다음의 리소스(IMAGE 4)를 프리페치했거나, 적어도 직전의 리소스(IMAGE 1)를 프리페치했다. 따라서, 미디어 렌더러 장치(300)는 현재 리소스(IMAGE 2)로부터 배치 순서로 직전의 리소스(IMAGE 1)로의 끊김없는 역방향 전환을 제공할 수 있다.
도 13은 본 발명의 실시예에 따른 현재 리소스로부터 배치 순서로 다음 다음의 리소스로의 순방향 도약 전환을 보여준다.
도 13에 도시된 바와 같이, 본 발명의 실시예에 따르면, 미디어 렌더러 장치(300)는 배치 순서로 직전의 리소스(IMAGE 1), 직후의 리소스(IMAGE 3), 다음 다음의 리소스(IMAGE 4)를 프리페치했거나, 적어도 직후의 리소스(IMAGE 3)를 프리페치했다. 따라서, 미디어 렌더러 장치(300)는 현재 리소스(IMAGE 2)로부터 배치 순서로 다음 다음의 리소스(IMAGE 4)로의 끊김없는 순방향 도약 전환을 제공할 수 있다.
도면으로 도시하지 않았지만, 미디어 렌더러 장치(300)는 배치 순서로 전전의 리소스를 프리페치하여, 현재 리소스(IMAGE 2)로부터 배치 순서로 전전의 리소스(IMAGE 4)로의 끊김없는 역방향 도약 전환을 제공할 수도 있다.
이하에서는 다중 리소스 프리페치 액션을 수신하는 장치의 동작을 설명한다.
앞서 설명한 바와 같이, 본 발명의 다양한 실시예에 따르면, 미디어 서버 장치(200)가 다중 리소스 프리패치 액션을 수신할 수도 있고, 미디어 렌더러 장치(300)가 다중 리소스 프리패치 액션을 수신할 수도 있고, 제어 포인트 결합 미디어 렌더러 장치(400)가 다중 리소스 프리패치 액션을 수신할 수도 있고, 제어 포인트 결합 미디어 서버 장치(500)가 다중 리소스 프리패치 액션을 수신할 수도 있다.
이하에서, 특정 장치를 지시하지 않는 "장치"라는 용어는 미디어 서버 장치(200), 미디어 렌더러 장치(300), 제어 포인트 결합 미디어 렌더러 장치(400) 및 제어 포인트 결합 미디어 서버 장치(500)를 커버하는 개념으로 사용된다.
만약 장치가 유효한 비어있지 않은 다중 리소스 프리패치 액션(valid non-empty multiple resource prefetch action)을 수신하면, 그 장치는 수신한 액션 내의 인수(argument) 내의 값을 대응하는 인스턴스 상태 변수로 이송할 수 있다. 구체적으로, 만약 장치가 유효한 비어있지 않은 다중 리소스 식별자 인수(PrefetchURIs argument 또는 MultiNextURI로 이름붙여질 수 있음)와 유효한 비어있지 않은 다중 리소스 메타데이터 인수(PrefetchURIsMetaData argument 또는 MultiNextURIMetaData argument로 이름붙여질 수 있음)를 포함하는 다중 리소스 프리패치 액션을 수신하면, 그 장치는 수신한 액션 내의 다중 리소스 식별자 인수 내의 값을 다중 리소스 식별자 상태 변수(예컨데 A_ARG_TYPE_PrefetchURIs 또는 AVT.MultiNextAVTransportURI)로 이송하고, 다중 리소스 메타데이터 인수 내의 값을 다중 리소스 메타데이터 상태 변수(예컨데, A_ARG_TYPE_PrefetchURIsMetaData 또는 AVT.MultiNextAVTransportURIMetaData)로 이송할 수 있다.
만약 미디어 렌더러 장치(300)가 유효한 비어있지 않은 다중 리소스 프리패치 액션(valid non-empty multiple resource prefetch action)을 수신하면, 미디어 렌더러 장치(300)는 수신한 액션에 대한 응답을 제공하기 전에 다음의 두 가지 태스크 중 적어도 하나를 수행할 수 있다. 그 두 가지 태스크 중 하나는 미디어 렌더러 장치(300)가 미디어 서버 장치(200)로부터 복수의 프리페치 리소스를 프리페치하기 위한 일련의 HTTP 헤드 요청들(a series of HTTP HEAD requests)을 미디어 서버 장치(200)에 전송하는 것이다. 그 두 가지 태스크 중 또 다른 하나는 미디어 렌더러 장치(300)가 미디어 서버 장치(200)로부터 복수의 프리페치 리소스를 프리페치하기 위한 일련의 부분적 HTTP 겟 요청들(a series of partial HTTP GET requests)을 미디어 서버 장치(200)에 전송하는 것이다.
HTTP HEAD request는 포함된 리소스 식별자에 해당하는 리소스의 전송을 요청하는데 사용되는 것이 아니라 포함된 리소스 식별자에 해당하는 리소스의 헤더의 전송을 요청하는데 사용되는 요청 메시지이다.
partial HTTP GET request는 포함된 리소스 식별자에 해당하는 리소스의 일부의 전송을 요청하는데 사용되는 요청 메시지이다.
특히, 미디어 렌더러 장치(300)가 유효하고 비어 있지 않은 다중 리소스 프리패치 액션을 수신하고, 그 다중 리소스 프리패치 액션 내의 복수의 프리페치 리소스 식별자가 이미지 클레스의 컨텐트들을 식별하고, 미디어 렌더러 장치(300)가 아직 복수의 프리페치 리소스 식별자에 해당하는 복수의 이미지 리소스들을 캐쉬하지 않았다면, 미디어 렌더러 장치(300)는 복수의 이미지 리소스를 프리페치하기 위하여 그 다중 리소스 프리패치 액션 내의 복수의 프리페치 리소스 식별자를 이용하여 복수의 HTTP GET requests를 각각 발행(issue)할 수 있다. 한편, 미디어 렌더러 장치(300)는 복수의 이미지 리소스를 프리페치하기 위하여 그 다중 리소스 프리패치 액션 내의 복수의 프리페치 리소스 메타데이터 아이템 내의 복수의 대체 리소스 식별자(alternative resource identifiers)을 이용하여 복수의 HTTP GET requests를 각각 발행(issue)할 수도 있다.
장치는 복수의 이미지 리소스를 식별하는 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리패치 액션을 수신하자 마자, 그 복수의 이미지 리소스를 프리페치할 수 있다.
한편, 미디어 렌더러 장치(300)가 유효하고 비어 있지 않은 다중 리소스 프리패치 액션을 수신하고, 그 다중 리소스 프리패치 액션 내의 복수의 프리페치 리소스 식별자가 오디오 클레스 또는 비디오 클레스 또는 오디오-비디오(audio-video, AV) 클레스의 컨텐트들을 식별하고, 미디어 렌더러 장치(300)가 아직 복수의 프리페치 리소스 식별자에 해당하는 복수의 리소스들을 캐쉬하지 않았다면, 미디어 렌더러 장치(300)는 복수의 미디어 리소스를 부분적으로 또는 완전히 프리페치하기 위하여 현재 재생 리소스 식별자의 재생(Playback) 동안에 그 다중 리소스 프리패치 액션 내의 복수의 프리페치 리소스 식별자를 이용하여 복수의 HTTP GET requests를 각각 발행(issue)할 수 있다. 한편, 미디어 렌더러 장치(300)는 복수의 미디어 리소스를 부분적으로 또는 완전히 프리페치하기 위하여 현재 재생 리소스 식별자의 재생 동안에 그 다중 리소스 프리패치 액션 내의 복수의 프리페치 리소스 메타데이터 아이템 내의 복수의 대체 리소스 식별자(alternative resource identifiers)을 이용하여 복수의 HTTP GET requests를 각각 발행(issue)할 수도 있다.
장치는 오디오, 비디오 또는 AV에 해당하는 복수의 미디어 리소스를 식별하는 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리패치 액션을 수신하면, 현재 재생 리소스 식별자의 재생 동안에 그 복수의 미디어 리소스를 프리페치할 수 있다.
만약 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 유효한 비어있지 않은 다중 리소스 프리패치 액션을 수신하면, 그 장치는 상태 변수들의 값을 최근의 다중 리소스 프리패치 액션 내의 인수들 내의 값들로 대체할 수 있다.
구체적으로, 만약 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 유효한 비어있지 않은 다중 리소스 식별자 인수와 유효한 비어있지 않은 다중 리소스 메타데이터 인수를 포함하는 다중 리소스 프리패치 액션을 수신하면, 그 장치는 다중 리소스 식별자 상태 변수의 값을 최근의 다중 리소스 프리패치 액션 내의 다중 리소스 식별자 인수 내의 값으로 대체하고, 다중 리소스 메타데이터 상태 변수의 값을 최근의 다중 리소스 프리패치 액션 내의 다중 리소스 메타데이터 인수 내의 값으로 대체할 수 있다
만약 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 비어 있는 다중 리소스 프리패치 액션(empty multiple resource prefetch action)을 수신하면, 그 장치는 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 상태 변수들을 클리어할 수 있다. 구체적으로, 만약 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 비어 있는 다중 리소스 식별자 인수와 비어 있는 다중 리소스 메타데이터 인수를 포함하는 다중 리소스 프리패치 액션을 수신하면, 그 장치는 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 다중 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 다중 리소스 메타데이터 상태 변수를 클리어할 수 있다.
만약 장치가 현재 재생 리소스 식별자와 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 유효한 비어 있지 않은 리소스 식별자를 운반(carry)하는 리소스 이송 액션(예컨데 AVT::SetAVTransportURI 액션)을 수신하면, 그 장치는 현재 재생 리소스 식별자를 저장하는 현재 재생 리소스 식별자 상태 변수 내의 정보를 수신한 리소스 이송 액션 내의 정보로 대체할 수 있다. 또한, 그 장치는 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 다중 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 다중 리소스 메타데이터 상태 변수를 클리어할 수 있다.
만약 장치가 현재 재생 리소스 식별자와 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 비어 있는 리소스 식별자를 가지는 리소스 이송 액션(예컨데 AVT::SetAVTransportURI 액션)을 수신하면, 그 장치는 현재 재생 리소스 식별자를 저장하는 현재 재생 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 하나 이상의 상태 변수를 클리어 할 수 있다. 구체적으로, 그 장치는 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 다중 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 복수의 프리페치 리소스 식별자와 관계되는 다중 리소스 메타데이터 상태 변수를 클리어할 수 있다. 그 장치가 복수의 프리페치 리소스 식별자와 관계되는 하나 이상의 상태 변수를 클리어한 후에, 그 장치는 미디어가 존재하지 않는 상태인 NO_MEDIA_PRESENT 상태로 진입할 수 있다.
만약 장치가 재생 중 상태(PLAYING state)나 중지 상태(STOPPED state)에 있고, 장치가 현재 재생 리소스 식별자와 복수의 프리페치 리소스 식별자를 가지고 있다면, 그 장치는 이전 리소스 재생 액션(예컨데 AVT:Previous 액션) 또는 다음 리소스 재생 액션(예컨데 AVT:Next 액션) 중 적어도 하나를 허용할 수 있다. 이전 리소스 재생 액션은 복수의 프리페치 리소스 식별자 중에서 하나 이상의 이전 프리페치 리소스 식별자를 재생하기 위한 액션이고, 다음 리소스 재생 액션은 복수의 프리페치 리소스 식별자 중에서 하나 이상의 다음 프리페치 리소스 식별자를 재생하기 위한 액션일 수 있다.
만약 장치가 일시 중단된 재생 상태(PAUSED_PLAYBACK state)에 있고, 장치가 현재 재생 리소스 식별자와 복수의 프리페치 리소스 식별자를 가지고 있다면, 그 장치는 이전 리소스 재생 액션(예컨데 AVT:Previous 액션) 또는 다음 리소스 재생 액션(예컨데 AVT:Next 액션) 중 적어도 하나를 허용할 수 있다. 이전 리소스 재생 액션은 복수의 프리페치 리소스 식별자 중에서 하나 이상의 이전 프리페치 리소스 식별자를 재생하기 위한 액션이고, 다음 리소스 재생 액션은 복수의 프리페치 리소스 식별자 중에서 하나 이상의 다음 프리페치 리소스 식별자를 재생하기 위한 액션일 수 있다.
도 14는 본 발명의 실시예에 따른 3-박스 PUSH 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 14를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S1111).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S1115).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S1117).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다(S1121). 다중 리소스 프리페치 액션은 이전 리소스 메타데이터와 다음 리소스 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스와 다음 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 이전 리소스와 다음 리소스를 프리페치한다(S1123).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S1127).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하는지를 체크한다(S1129).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S1131), 수신한 다음 재생 리소스를 재생한다(S1133).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S1133).
도 15는 도 14를 구체화한 래더 다이어그램이다.
특히, 도 15를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출한다(S1211). 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생 액션을 호출한다(S1213). 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청한다(S1214). 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S1215).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S1217).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURI() 액션을 미디어 서버 장치(200)에 전송한다(S1221). VT::SetNextAVTransportURI() 액션은 이전 리소스 메타데이터와 다음 리소스 메타데이터를 인수로서 포함할 수 있다.
아래는 본 발명의 실시예에 따른 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 다음 리소스 프리페치 액션인 SetNextAVTransportURI의 XML 서비스 디스크립션을 보여준다.
위에서 보여지는 바와 같이, 본 발명의 실시예에 따른 다음 리소스 프리페치 액션인 SetNextAVTransportURI는 입력 인자로서 인스턴스 식별자, 다음 리소스 식별자, 다음 리소스 메타데이터, 이전 리소스 식별자, 이전 리소스 메타데이터를 포함할 수 있다. 다음 리소스 식별자 인자, 다음 리소스 메타데이터 인자, 이전 리소스 식별자 인자, 이전 리소스 메타데이터 인자의 데이터 타입은 스트링(string)일 수 있다. 이 복수의 입력 인자는 복수의 관련 상태 변수(related state variable)에 각각 대응한다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스와 다음 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 복수의 프리페치 리소스를 프리페치한다(S1223).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S1227). 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션이거나, UPNP 프로토콜의 AVT::Next() 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하는지를 체크한다(S1229).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하고(S1230), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S1231), 수신한 다음 재생 리소스를 재생한다(S1233).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S1233).
도 16는 본 발명의 실시예에 따른 3-박스 PUSH 모델에서 이전 리소스 식별자만을 포함하는 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 16를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S1411).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S1415).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S1417).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 다음 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다(S1421). 리소스 프리페치 액션은 다음 리소스의 메타데이터를 인수로서 포함할 수 있다.
다음 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 다음 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 다음 리소스를 프리페치한다(S1422).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자를 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 이전 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다(S1423). 리소스 프리페치 액션은 이전 리소스의 메타데이터를 인수로서 포함할 수 있다.
이전 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 이전 리소스를 프리페치한다(S1424).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S1427).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하는지를 체크한다(S1429).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S1431), 수신한 다음 재생 리소스를 재생한다(S1433).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S1433).
도 17은 도 16을 구체화한 래더 다이어그램이다.
특히, 도 17를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출한다(S1511). 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생 액션을 호출한다(S1513). 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청한다(S1514). 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S1515).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S1517).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 AVT::SetNextAVTransportURI() 액션을 미디어 서버 장치(200)에 전송한다(S1521). 리소스 프리페치 액션은 다음 리소스의 메타데이터를 인수로서 포함할 수 있다.
아래는 본 발명의 실시예에 따른 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 다음 리소스 프리페치 액션인 SetNextAVTransportURI의 XML 서비스 디스크립션을 보여준다.
위에서 보여지는 바와 같이, 본 발명의 실시예에 따른 다음 리소스 프리페치 액션인 SetNextAVTransportURI는 입력 인자로서 인스턴스 식별자, 다음 리소스 식별자, 다음 리소스 메타데이터를 포함할 수 있다. 다음 리소스 식별자 인자, 다음 리소스 메타데이터 인자의 데이터 타입은 스트링(string)일 수 있다. 이 복수의 입력 인자는 복수의 관련 상태 변수(related state variable)에 각각 대응한다.
이하에서는 이전 리소스 식별자를 포함하는 이전 리소스 프리페치 액션 또는 이전 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 수신하는 장치의 동작을 설명한다.
특히, 이하의 동작은 이전 리소스 식별자를 포함하는 이전 리소스 프리페치 액션을 중심으로 설명하지만, 이전 리소스 식별자를 포함하는 다중 리소스 프리페치 액션에도 적용될 수 있다.
본 발명의 다양한 실시예에 따르면, 미디어 서버 장치(200)가 이전 리소스 프리패치 액션을 수신할 수도 있고, 미디어 렌더러 장치(300)가 이전 리소스 프리패치 액션을 수신할 수도 있고, 제어 포인트 결합 미디어 렌더러 장치(400)가 이전 리소스 프리패치 액션을 수신할 수도 있고, 제어 포인트 결합 미디어 서버 장치(500)가 이전 리소스 프리패치 액션을 수신할 수도 있다.
이하에서, 특정 장치를 지시하지 않는 "장치"라는 용어는 미디어 서버 장치(200), 미디어 렌더러 장치(300), 제어 포인트 결합 미디어 렌더러 장치(400) 및 제어 포인트 결합 미디어 서버 장치(500)를 커버하는 개념으로 사용된다.
만약 장치가 유효한 비어있지 않은 이전 리소스 프리패치 액션(valid non-empty previous resource prefetch action)인 AVT:SetPreviousAVTransportURI를 수신하면, 그 장치는 수신한 액션 내의 인수(argument) 내의 값을 대응하는 인스턴스 상태 변수로 이송할 수 있다. 구체적으로, 만약 장치가 유효한 비어있지 않은 이전 리소스 식별자 인수(PreviousURI argument로 이름붙여질 수 있음)와 유효한 비어있지 않은 이전 리소스 메타데이터 인수(PreviousURIMetaData argument로 이름붙여질 수 있음)를 포함하는 이전 리소스 프리패치 액션을 수신하면, 그 장치는 수신한 액션 내의 이전 리소스 식별자 인수 내의 값을 이전 리소스 식별자 상태 변수(예컨데 PreviousAVTransportURI)로 이송하고, 이전 리소스 메타데이터 인수 내의 값을 이전 리소스 메타데이터 상태 변수(예컨데, PveviousAVTransportURIMetaData)로 이송할 수 있다.
만약 미디어 렌더러 장치(300)가 유효한 비어있지 않은 이전 리소스 프리패치 액션 (valid non-empty previous resource prefetch action)을 수신하면, 미디어 렌더러 장치(300)는 수신한 액션에 대한 응답을 제공하기 전에 다음의 두 가지 태스크 중 적어도 하나를 수행할 수 있다. 그 두 가지 태스크 중 하나는 미디어 렌더러 장치(300)가 미디어 서버 장치(200)로부터 이전 리소스를 프리페치하기 위한 HTTP 헤드 요청(HTTP HEAD request)을 미디어 서버 장치(200)에 전송하는 것이다. 그 두 가지 태스크 중 또 다른 하나는 미디어 렌더러 장치(300)가 미디어 서버 장치(200)로부터 이전 리소스를 프리페치하기 위한 부분적 HTTP 겟 요청(partial HTTP GET request)을 미디어 서버 장치(200)에 전송하는 것이다.
특히, 미디어 렌더러 장치(300)가 유효하고 비어 있지 않은 이전 리소스 프리패치 액션을 수신하고, 그 이전 리소스 프리패치 액션 내의 이전 리소스 식별자가 이미지 클레스의 컨텐트들을 식별하고, 미디어 렌더러 장치(300)가 아직 이전 리소스 식별자에 해당하는 이미지 리소스를 캐쉬하지 않았다면, 미디어 렌더러 장치(300)는 이미지 리소스를 프리페치하기 위하여 그 이전 리소스 프리패치 액션 내의 이전 리소스 식별자를 이용하여 HTTP GET request를 발행(issue)할 수 있다. 한편, 미디어 렌더러 장치(300)는 이미지 리소스를 프리페치하기 위하여 그 이전 리소스 프리패치 액션 내의 이전 리소스 메타데이터 내의 대체 리소스 식별자(alternative resource identifier)을 이용하여 HTTP GET request를 발행(issue)할 수도 있다.
장치는 이미지 리소스를 식별하는 이전 리소스 식별자를 포함하는 이전 리소스 프리패치 액션을 수신하자 마자, 그 이미지 리소스를 프리페치할 수 있다.
한편, 미디어 렌더러 장치(300)가 유효하고 비어 있지 않은 이전 리소스 프리패치 액션을 수신하고, 그 이전 리소스 프리패치 액션 내의 이전 프리페치 리소스 식별자가 오디오 클레스 또는 비디오 클레스 또는 오디오-비디오(audio-video, AV) 클레스의 컨텐트들을 식별하고, 미디어 렌더러 장치(300)가 아직 이전 리소스 식별자에 해당하는 이전 리소스를 캐쉬하지 않았다면, 미디어 렌더러 장치(300)는 미디어 리소스를 부분적으로 또는 완전히 프리페치하기 위하여 현재 재생 리소스 식별자의 재생(Playback) 동안에 그 이전 리소스 프리패치 액션 내의 이전 리소스 식별자를 이용하여 HTTP GET request를 발행(issue)할 수 있다. 한편, 미디어 렌더러 장치(300)는 미디어 리소스를 부분적으로 또는 완전히 프리페치하기 위하여 현재 재생 리소스 식별자의 재생 동안에 그 이전 리소스 프리패치 액션 내의 이전 리소스 메타데이터 내의 대체 리소스 식별자(alternative resource identifier)을 이용하여 HTTP GET request를 발행(issue)할 수도 있다.
장치는 오디오, 비디오 또는 AV에 해당하는 미디어 리소스를 식별하는 이전 리소스 식별자를 포함하는 이전 리소스 프리패치 액션을 수신하면, 현재 재생 리소스 식별자의 재생 동안에 그 미디어 리소스를 프리페치할 수 있다.
만약 장치가 이전 리소스 식별자를 이미 포함하고 있고, 유효한 비어있지 않은 이전 리소스 프리패치 액션을 수신하면, 그 장치는 상태 변수들의 값을 최근의 이전 리소스 프리패치 액션 내의 인수들 내의 값들로 대체할 수 있다.
구체적으로, 만약 장치가 이전 리소스 식별자를 이미 포함하고 있고, 유효한 비어있지 않은 이전 리소스 식별자 인수와 유효한 비어있지 않은 이전 리소스 메타데이터 인수를 포함하는 이전 리소스 프리패치 액션을 수신하면, 그 장치는 이전 리소스 식별자 상태 변수의 값을 최근의 이전 리소스 프리패치 액션 내의 이전 리소스 식별자 인수 내의 값으로 대체하고, 이전 리소스 메타데이터 상태 변수의 값을 최근의 이전 리소스 프리패치 액션 내의 이전 리소스 메타데이터 인수 내의 값으로 대체할 수 있다
만약 장치가 이전 리소스 식별자를 이미 포함하고 있고, 비어 있는 이전 리소스 프리패치 액션(empty previous resource prefetch action)을 수신하면, 그 장치는 이미 포함하고 있는 이전 리소스 식별자와 관계되는 상태 변수들을 클리어할 수 있다. 구체적으로, 만약 장치가 이전 리소스 식별자를 이미 포함하고 있고, 비어 있는 이전 리소스 식별자 인수와 비어 있는 이전 리소스 메타데이터 인수를 포함하는 이전 리소스 프리패치 액션을 수신하면, 그 장치는 이미 포함하고 있는 이전 리소스 식별자와 관계되는 이전 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 이전 리소스 식별자와 관계되는 이전 리소스 메타데이터 상태 변수를 클리어할 수 있다.
만약 장치가 현재 재생 리소스 식별자와 이전 리소스 식별자를 이미 포함하고 있고, 유효한 비어 있지 않은 리소스 식별자를 운반(carry)하는 리소스 이송 액션(예컨데 AVT::SetAVTransportURI 액션)을 수신하면, 그 장치는 현재 재생 리소스 식별자를 저장하는 현재 재생 리소스 식별자 상태 변수 내의 정보를 수신한 리소스 이송 액션 내의 정보로 대체할 수 있다. 또한, 그 장치는 이미 포함하고 있는 이전 리소스 식별자와 관계되는 이전 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 이전 리소스 식별자와 관계되는 이전 리소스 메타데이터 상태 변수를 클리어할 수 있다.
만약 장치가 현재 재생 리소스 식별자와 이전 리소스 식별자를 이미 포함하고 있고, 비어 있는 리소스 식별자를 가지는 리소스 이송 액션(예컨데 AVT::SetAVTransportURI 액션)을 수신하면, 그 장치는 현재 재생 리소스 식별자를 저장하는 현재 재생 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 이전 리소스 식별자와 관계되는 하나 이상의 상태 변수를 클리어 할 수 있다. 구체적으로, 그 장치는 이미 포함하고 있는 이전 리소스 식별자와 관계되는 이전 리소스 식별자 상태 변수를 클리어하고, 이미 포함하고 있는 이전 리소스 식별자와 관계되는 이전 리소스 메타데이터 상태 변수를 클리어할 수 있다. 그 장치가 이전 리소스 식별자와 관계되는 하나 이상의 상태 변수를 클리어한 후에, 그 장치는 미디어가 존재하지 않는 상태인 NO_MEDIA_PRESENT 상태로 진입할 수 있다.
만약 장치가 재생 중 상태(PLAYING state)나 중지 상태(STOPPED state)에 있고, 장치가 현재 재생 리소스 식별자와 이전 리소스 식별자를 가지고 있다면, 그 장치는 이전 리소스 재생 액션(예컨데 AVT:Previous 액션)을 허용할 수 있다. 이전 리소스 재생 액션은 복수의 프리페치 리소스 식별자 중에서 하나 이상의 이전 프리페치 리소스 식별자를 재생하기 위한 액션일 수 있다.
만약 장치가 일시 중단된 재생 상태(PAUSED_PLAYBACK state)에 있고, 장치가 현재 재생 리소스 식별자와 이전 리소스 식별자를 가지고 있다면, 그 장치는 이전 리소스 재생 액션(예컨데 AVT:Previous 액션)을 허용할 수 있다. 이전 리소스 재생 액션은 복수의 프리페치 리소스 식별자 중에서 하나 이상의 이전 프리페치 리소스 식별자를 재생하기 위한 액션일 수 있다.
만약 미디어 렌더러 장치(300)가 이전 리소스 재생 액션의 사용을 허용하면, 미디어 렌더러 장치(300)는 AVT.CurrentTransportActions 인스턴스 상태 변수에서 'Previous' 키워드를 리스트할 수 있다.
만약 미디어 렌더러 장치(300)가 현재 리소스 식별자와 이전 리소스 식별자를 가지고 있고, 이전 리소스 재생 액션을 수신하면, 미디어 렌더러 장치(300)는 이전 리소스 식별자와 관계된 미디어 아이템의 리소스들 중 하나의 재생을 시작할 수 있다.
현재 리소스로부터 이전 리소스로의 전환 도중에, 미디어 렌더러 장치(300)는 재생 상태(PLAYING state)로부터 곧바로 재생 상태로 그 상태를 변경할 수도 있고, 재생 상태로부터 전환중 상태(TRANSITIONING)를 상태를 거쳐 재생 상태로 그 상태를 변경할 수 있다.
만약 미디어 렌더러 장치(300)가 중지 상태(STOPPED state)에서 현재 리소스 식별자와 이전 리소스 식별자를 가지고 있고, 이전 리소스 재생 액션의 사용을 허용하고, 이전 리소스 재생 액션을 수신하면, 미디어 렌더러 장치(300)는 이전 리소스 식별자 상태 변수들의 값을 현재 리소스 식별자 상태 변수들로 이송하고, 이전 리소스 식별자 상태 변수들을 클리어 하고, 중지 상태(STOPPED state)를 유지할 수 있다.
만약 미디어 렌더러 장치(300)가 일시 중단된 재생 상태(PAUSED_PLAYBACK state)에서 현재 리소스 식별자와 이전 리소스 식별자를 가지고 있고, 이전 리소스 재생 액션의 사용을 허용하고, 이전 리소스 재생 액션을 수신하면, 미디어 렌더러 장치(300)는 이전 리소스 식별자 상태 변수들의 값을 현재 리소스 식별자 상태 변수들로 이송하고, 이전 리소스 식별자 상태 변수들을 클리어 하고, 일시 중단된 재생 상태(PAUSED_PLAYBACK state)를 유지할 수 있다.
만약 미디어 렌더러 장치(300)가 AVT.CurrentTransportActions 인스턴스 상태 변수에서 이전 재생 액션을 위한 지원을 알리지 않고, 미디어 렌더러 장치(300)가 이전 재생 액션을 수신하면, 미디어 렌더러 장치(300)는 전환이 이용불가능함을 지시하는 711 에러로 응답할 수 있다.
만약, 미디어 렌더러 장치(300)가 현재 리소스 식별자와 다음 리소스 식별자와 이전 리소스 식별자를 가지고 있고, 다음 재생 액션을 수신하면, 미디어 렌더러 장치(300)는 현재 리소스 식별자 상태 변수들의 값을 이전 리소스 식별자 상태 변수로 이송하고, 다음 리소스 식별자 상태 변수들의 값을 현재 리소스 식별자 상태 변수로 이송하며, 다음 리소스 식별자 상태 변수들을 클리어할 수 있다.
만약, 미디어 렌더러 장치(300)가 현재 리소스 식별자와 다음 리소스 식별자와 이전 리소스 식별자를 가지고 있고, 이전 재생 액션을 수신하면, 미디어 렌더러 장치(300)는 현재 리소스 식별자 상태 변수들의 값을 다음 리소스 식별자 상태 변수로 이송하고, 이전 리소스 식별자 상태 변수들의 값을 현재 리소스 식별자 상태 변수로 이송하며, 이전 리소스 식별자 상태 변수들을 클리어할 수 있다.
이전 리소스 프리페치 액션으로 인한 오류가 발생하는 경우, 장치는 하기와 같은 오류 코드를 제어 포인트 장치(100)에 반환할 수 있다.
다음 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 다음 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 다음 리소스를 프리페치한다(S1522).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자만을 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 AVT::SetPreviousAVTransportURI() 액션을 미디어 서버 장치(200)에 전송한다(S1523). 리소스 프리페치 액션은 이전 리소스의 메타데이터를 인수로서 포함할 수 있다.
아래는 본 발명의 실시예에 따른 이전 리소스 식별자만을 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 이전 리소스 프리페치 액션인 SetPreviousAVTransportURI 의 XML 서비스 디스크립션을 보여준다.
위에서 보여지는 바와 같이, 본 발명의 실시예에 따른 이전 리소스 프리페치 액션인 SetPreviousAVTransportURI는 입력 인자로서 인스턴스 식별자, 이전 리소스 식별자, 이전 리소스 메타데이터를 포함할 수 있다. 이전 리소스 식별자 인자, 이전 리소스 메타데이터 인자의 데이터 타입은 스트링(string)일 수 있다. 이 복수의 입력 인자는 복수의 관련 상태 변수(related state variable)에 각각 대응한다.
다시 도 17을 설명한다.
이전 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 이전 리소스를 프리페치한다(S1524).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S1527). 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션이거나, UPNP 프로토콜의 AVT::Next() 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하는지를 체크한다(S1529).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하고(S1530), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S1531), 수신한 다음 재생 리소스를 재생한다(S1533).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S1533).
도 18은 본 발명의 실시예에 따른 3-박스 PUSH 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 18를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S1711).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S1715).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S1717).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 복수의 프리페치 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다(S1721). 다중 리소스 프리페치 액션은 복수의 프리페치 리소스의 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 복수의 프리페치 리소스를 프리페치한다(S1723).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S1727).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S1729).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S1731), 수신한 다음 재생 리소스를 재생한다(S1733).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S1733).
도 19는 도 18을 구체화한 래더 다이어그램이다.
특히, 도 19를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출한다(S1811). 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생 액션을 호출한다(S1813). 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청한다(S1814). 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S1815).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S1817).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 복수의 프리페치 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURIs() 액션을 미디어 서버 장치(200)에 전송한다(S1821). 다중 리소스 프리페치 액션은 복수의 프리페치 리소스의 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션으로 인한 오류가 발생하는 경우, 다중 리소스 프리페치 액션을 수신한 장치는 하기와 같은 오류 코드를 제어 포인트 장치(100)에 반환할 수 있다.
아래는 본 발명의 실시예에 따른 복수의 프리페치 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션인 SetNextAVTransportURIs의 XML 서비스 디스크립션을 보여준다.
위에서 보여지는 바와 같이, 본 발명의 실시예에 따른 다중 리소스 프리페치 액션인 SetNextAVTransportURIs는 입력 인자로서 인스턴스 식별자, 멀티 프리페치 리소스 식별자, 멀티 프리페치 리소스 메타데이터를 포함할 수 있다. 또한, 본 발명의 실시예에 따른 다중 리소스 프리페치 액션인 SetNextAVTransportURIs 출력 인자로서 다중 프리페치 리소스 식별자 결과를 포함할 수도 있다. 멀티 프리페치 리소스 식별자 인자, 멀티 프리페치 리소스 메타데이터 인자, 다중 프리페치 리소스 식별자 결과 인자의 데이터 타입은 스트링(string)일 수 있다. 이 복수의 입력 인자와 출력 인자는 복수의 관련 상태 변수(related state variable)에 각각 대응한다.
특히, 멀티 프리페치 리소스 식별자 인자의 데이터 타입은 CSV 포맷의 스트링이거나, XML 문서 포맷의 스트링일 수 있다.
아래는 CSV 포맷의 스트링 타입의 멀티 프리페치 리소스 식별자 인자의 예를 보여준다.
CSV 포맷의 스트링 타입의 멀티 프리페치 리소스 식별자 인자는 콤마와 같은 구분 문자에 의해 구분되는 복수의 프리페치 리소스 식별자를 포함한다. 복수의 프리페치 리소스 식별자 중의 일부가 콤마와 같은 구분 문자를 포함하면, 역슬래시와 같은 대체문자와 구분 문자를 결합하여 실재의 구분 문자와 구별 가능하도록 한다.
아래는 멀티 프리페치 리소스 식별자 인자가 가지는 XML 문서 포맷의 스트링 타입의 예를 보여준다.
아래는 XML 문서 포맷의 스트링 타입의 멀티 프리페치 리소스 식별자 인자의 예를 보여준다.
위에서 보여지는 바와 같이, XML 문서 포맷의 스트링 타입의 멀티 프리페치 리소스 식별자 인자는 UPnP AV 서비스의 namespace, W3C의 XML schema namespace, AV schema file의 위치, 복수의 프리페치 리소스 식별자의 개수에 대한 정보, 각 프리페치 리소스 식별자의 순서에 대한 정보, 각 프리페치 리소스 식별자의 메타데이터 지원 여부에 대한 정보, 복수의 프리페치 리소스 식별자를 포함할 수 있다.
특히, 멀티 프리페치 리소스 메타데이터 인자의 데이터 타입은 UPnP AV:CDS 의 DIDL-Lite XML Fragment 포맷의 스트링이거나, CSV 포맷의 스트링이거나, XML 문서 포맷의 스트링일 수 있다.
아래는 UPnP AV:CDS 의 DIDL-Lite XML Fragment 포맷의 멀티 프리페치 리소스 메타데이터 인자의 예를 보여준다.
CSV 포맷의 멀티 프리페치 리소스 메타데이터 인자는 메타데이터의 지원 여부와는 상관 없이 모든 프리페치 리소스의 메타데이터를 포함할 수 있다.
XML 문서 포맷의 멀티 프리페치 리소스 메타데이터 인자는 메타데이터를 지원하는 프리페치 리소스의 메타데이터를 포함할 수 있다.
다중 리소스 프리페치 액션을 수신한 장치는 제어 포인트 장치에게 다중 프리페치 리소스 식별자 결과 인자를 통해 복수의 프리페치 리소스에 대한 프리페치의 가능성(availability)을 알려준다.
다중 프리페치 리소스 식별자 결과 인자의 데이터 타입은 XML 문서 포맷의 스트링일 수 있다.
아래는 다중 프리페치 리소스 식별자 결과 인자가 가지는 XML 문서 포맷을 보여준다.
아래는 XML 문서 포맷의 스트링 타입의 다중 프리페치 리소스 식별자 결과 인자의 예를 보여준다.
위에서 보여지는 바와 같이, XML 문서 포맷의 스트링 타입의 다중 프리페치 리소스 식별자 결과 인자는 UPnP AV 서비스의 namespace, W3C의 XML schema namespace, AV schema file의 위치, 복수의 프리페치 리소스 식별자의 개수에 대한 정보, 각 프리페치 리소스 식별자의 프리페치 순서에 대한 정보, 각 프리페치 리소스 식별자의 프리페치 가능성에 대한 정보, 프리페치가 불가능한 이유에 대한 정보를 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청함 없이 미디어 서버 장치(200)가 푸쉬하는 복수의 프리페치 리소스를 프리페치한다(S1823).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S1827). 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션이거나, UPNP 프로토콜의 AVT::Next() 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S1829).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하고(S1830), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S1831), 수신한 다음 재생 리소스를 재생한다(S1833).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S1833).
도 20은 본 발명의 실시예에 따른 3-박스 PULL 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 20을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S2111).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S2115).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S2117).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다(S2121). 다중 리소스 프리페치 액션은 이전 리소스 메타데이터와 다음 리소스 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스와 다음 리소스를 요청하여(S2122) 미디어 서버 장치(200)가 제공하는 이전 리소스와 다음 리소스를 프리페치한다(S2123).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S2127).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하는지를 체크한다(S2129).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S2131), 수신한 다음 재생 리소스를 재생한다(S2133).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S2133).
도 21은 도 20을 구체화한 래더 다이어그램이다.
특히, 도 21을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출한다(S2211). 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생 액션을 호출한다(S2213). 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청한다(S2214). 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S2215).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S2217).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURI() 액션을 미디어 렌더러 장치(300)에 전송한다(S2221). 다중 리소스 프리페치 액션은 이전 리소스 메타데이터와 다음 리소스 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스와 다음 리소스를 요청하여(S2222) 미디어 서버 장치(200)가 전송하는 복수의 프리페치 리소스를 프리페치한다(S2223).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S2227). 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션이거나, UPNP 프로토콜의 AVT::Next() 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하는지를 체크한다(S2229).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하고(S2230), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S2231), 수신한 다음 재생 리소스를 재생한다(S2233).
다음 재생 리소스가 프리페치된 이전 리소스와 프리페치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S2233).
도 22는 본 발명의 실시예에 따른 3-박스 PULL 모델에서 이전 리소스 식별자만을 포함하는 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 22를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S2411).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S2415).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S2417).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 다음 리소스 식별자만을 인수로서 포함하는 다음 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다(S2421a). 리소스 프리페치 액션은 다음 리소스의 메타데이터를 인수로서 포함할 수 있다.
다음 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 다음 리소스를 요청하여(S2421b) 미디어 서버 장치(200)가 전송하는 다음 리소스를 프리페치한다(S2422).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자만을 인수로서 포함하는 이전 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다(S2423a). 리소스 프리페치 액션은 이전 리소스의 메타데이터를 인수로서 포함할 수 있다.
이전 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스를 요청하여(2423b) 미디어 서버 장치(200)가 전송하는 이전 리소스를 프리페치한다(S2424).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S2427).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하는지를 체크한다(S2429).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S2431), 수신한 다음 재생 리소스를 재생한다(S2433).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S2433).
도 23은 도 22를 구체화한 래더 다이어그램이다.
특히, 도 23를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
특히, 도 23를 설명하면서, 도 17의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출한다(S2511). 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생 액션을 호출한다(S2513). 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청한다(S2514). 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S2515).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S2517).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 다음 리소스 식별자만을 인수로서 포함하는 AVT::SetNextAVTransportURI() 액션을 미디어 렌더러 장치(300)에 전송한다(S2521a). 리소스 프리페치 액션은 다음 리소스의 메타데이터를 인수로서 포함할 수 있다.
다음 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 다음 리소스를 요청하여(S2521b) 미디어 서버 장치(200)가 전송하는 다음 리소스를 프리페치한다(S2522).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 이전 리소스 식별자만을 인수로서 포함하는 AVT::SetPreviousAVTransportURI() 액션을 미디어 렌더러 장치(300)에 전송한다(S2523a). 리소스 프리페치 액션은 이전 리소스의 메타데이터를 인수로서 포함할 수 있다.
이전 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 이전 리소스를 요청하여(S2523b) 미디어 서버 장치(200)가 전송하는 이전 리소스를 프리페치한다(S2524).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S2527). 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션이거나, UPNP 프로토콜의 AVT::Next() 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하는지를 체크한다(S2529).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하고(S2530), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S2531), 수신한 다음 재생 리소스를 재생한다(S2533).
다음 재생 리소스가 프리패치된 이전 리소스와 프리패치된 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S2533).
도 24는 본 발명의 실시예에 따른 3-박스 PULL 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 24를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)와 미디어 서버 장치(200)에 요청한다(S2711).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S2715).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S2717).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 복수의 프리페치 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다(S2721). 다중 리소스 프리페치 액션은 복수의 프리페치 리소스의 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청하여(S2722) 미디어 서버 장치(200)가 전송하는 복수의 프리페치 리소스를 프리페치한다(S2723).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S2727).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S2729).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S2731), 수신한 다음 재생 리소스를 재생한다(S2733).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S2733).
도 25는 도 24를 구체화한 래더 다이어그램이다.
특히, 도 25를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
또한, 도 25를 설명하면서, 도 19의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 장치(100)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출한다(S2811). 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 장치(100)는 지정된 현재 재생 리소스의 재생 액션을 호출한다(S2813). 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 현재 재생 리소스를 요청한다(S2814). 미디어 렌더러 장치(300)는 현재 재생 리소스의 리소스 식별자를 포함하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여, 현재 재생 리소스를 요청할 수 있다.
미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S2815).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 미디어 렌더러 장치(300)는 수신한 리소스를 재생한다(S2817).
제어 포인트 장치(100)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 장치(100)는 복수의 프리페치 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURIs() 액션을 미디어 렌더러 장치(300)에 전송한다(S2821). 다중 리소스 프리페치 액션은 복수의 프리페치 리소스의 메타데이터를 인수로서 포함할 수 있다.
다중 리소스 프리페치 액션에 대응하여, 미디어 렌더러 장치(300)는 미디어 서버 장치(200)에 복수의 프리페치 리소스를 요청하여(S2822) 미디어 서버 장치(200)가 전송하는 복수의 프리페치 리소스를 프리페치한다(S2823).
제어 포인트 장치(100)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 장치(100)는 미디어 렌더러 장치(300)가 다음 재생 리소스를 재생하도록 하기 위한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다(S2827). 리소스 재생 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션과 UPNP 프로토콜의 AVT::Play() 액션을 포함할 수 있다. 리소스 재생 액션은 UPNP 프로토콜의 AVT::Previous() 액션이거나, UPNP 프로토콜의 AVT::Next() 액션일 수 있다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S2829).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하고(S2830), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S2831), 수신한 다음 재생 리소스를 재생한다(S2833).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S2833).
도 26은 본 발명의 실시예에 따른 2-박스 PUSH 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 26을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 서버 장치(500)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)에 요청한다(S5111).
현재 재생 리소스의 재생의 요청에 대응하여, 렌더러 장치(300)는 제어 포인트 결합 미디어 서버 장치(500)로부터 현재 재생 리소스를 수신한다(S5115).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 렌더러 장치(300)는 수신한 리소스를 재생한다(S5117).
제어 포인트 결합 미디어 서버 장치(500)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 호출하여(S5121), 호출한 다중 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다.
다중 리소스 프리페치 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스와 다음 리소스를 미디어 렌더러 장치(300)에 이송한다(S5123). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 이전 리소스와 다음 리소스를 프리페치하여, 이전 리소스와 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면 제어 포인트 결합 미디어 서버 장치(500)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출하여(S5127), 호출한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S5129).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 제어 포인트 결합 미디어 서버 장치(500)로부터 수신하고(S5131), 수신한 다음 재생 리소스를 재생한다(S5133).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S5133).
도 27은 도 26을 구체화한 래더 다이어그램이다.
특히, 도 27을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 서버 장치(500)는 현재 재생 리소스의 리소스 이송 액션을 호출하여(S5211), 호출된 리소스 이송 액션을 미디어 렌더러 장치(300)에 전송한다. 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 서버 장치(500)는 현재 재생 리소스의 재생 액션을 호출하여(S5213), 호출된 재생 액션을 미디어 렌더러 장치(300)에 전송한다. 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
미디어 렌더러 장치(300)는 현재 재생 리소스를 요청하는 HTTP GET request를 제어 포인트 결합 미디어 서버 장치(500) 에 전송하여(S5214), 제어 포인트 결합 미디어 서버 장치(500)로부터 현재 재생 리소스를 수신한다(S5215).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 렌더러 장치(300)는 수신한 리소스를 재생한다(S5217).
제어 포인트 결합 미디어 서버 장치(500)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURI() 액션을 호출하여(S5221), 호출한 AVT::SetNextAVTransportURI() 액션을 미디어 렌더러 장치(300)에 전송한다.
AVT::SetNextAVTransportURI() 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스와 다음 리소스를 미디어 렌더러 장치(300)에 이송한다(S5223). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 이전 리소스와 다음 리소스를 프리페치하여, 이전 리소스와 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면 제어 포인트 결합 미디어 서버 장치(500)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출하여(S5227), 호출한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S5229).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 GET request를 제어 포인트 결합 미디어 서버 장치(500)에 전송하고(S7230), 다음 재생 리소스를 제어 포인트 결합 미디어 서버 장치(500)로부터 수신하고(S5231), 수신한 다음 재생 리소스를 재생한다(S5233).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S5233).
도 28은 본 발명의 실시예에 따른 2-박스 PUSH 모델에서 이전 리소스 식별자만을 포함하는 이전 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 다음 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 28을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 서버 장치(500)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)에 요청한다(S5411).
현재 재생 리소스의 재생의 요청에 대응하여, 렌더러 장치(300)는 제어 포인트 결합 미디어 서버 장치(500)로부터 현재 재생 리소스를 수신한다(S5415).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 렌더러 장치(300)는 수신한 리소스를 재생한다(S5417).
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 다음 리소스 프리페치 액션을 호출하여(S5421), 호출한 다음 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 리소스 프리페치 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 다음 리소스를 미디어 렌더러 장치(300)에 이송한다(S5422). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 다음 리소스를 프리페치하여, 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스 식별자를 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 이전 리소스 프리페치 액션을 호출하여(S5423), 호출한 이전 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다.
이전 리소스 프리페치 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스를 미디어 렌더러 장치(300)에 이송한다(S5424). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 이전 리소스를 프리페치하여, 이전 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면 제어 포인트 결합 미디어 서버 장치(500)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출하여(S5427), 호출한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S5429).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 제어 포인트 결합 미디어 서버 장치(500)로부터 수신하고(S5431), 수신한 다음 재생 리소스를 재생한다(S5433).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S5433).
도 29는 도 28을 구체화한 래더 다이어그램이다.
특히, 도 29를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 서버 장치(500)는 현재 재생 리소스의 리소스 이송 액션을 호출하여(S5511), 호출된 리소스 이송 액션을 미디어 렌더러 장치(300)에 전송한다. 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 서버 장치(500)는 현재 재생 리소스의 재생 액션을 호출하여(S5513), 호출된 재생 액션을 미디어 렌더러 장치(300)에 전송한다. 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
미디어 렌더러 장치(300)는 현재 재생 리소스를 요청하는 HTTP GET request를 제어 포인트 결합 미디어 서버 장치(500) 에 전송하여(S5514), 제어 포인트 결합 미디어 서버 장치(500)로부터 현재 재생 리소스를 수신한다(S5515).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 렌더러 장치(300)는 수신한 리소스를 재생한다(S5517).
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 AVT::SetNextAVTransportURI() 액션을 호출하여(S5521), 호출한 AVT::SetNextAVTransportURI() 액션을 미디어 렌더러 장치(300)에 전송한다.
AVT::SetNextAVTransportURI() 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 다음 리소스를 미디어 렌더러 장치(300)에 이송한다(S5522). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 다음 리소스를 프리페치하여, 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스 식별자를 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 AVT::SetPreviousAVTransportURI() 액션을 호출하여(S5523), 호출한 AVT::SetPreviousAVTransportURI() 액션을 미디어 렌더러 장치(300)에 전송한다.
AVT::SetPreviousAVTransportURI() 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 이전 리소스를 미디어 렌더러 장치(300)에 이송한다(S5524). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 이전 리소스를 프리페치하여, 이전 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면 제어 포인트 결합 미디어 서버 장치(500)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출하여(S5527), 호출한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S5529).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 GET request를 제어 포인트 결합 미디어 서버 장치(500)에 전송하고(S7530), 다음 재생 리소스를 제어 포인트 결합 미디어 서버 장치(500)로부터 수신하고(S5531), 수신한 다음 재생 리소스를 재생한다(S5533).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S5533).
도 30은 본 발명의 실시예에 따른 2-박스 PUSH 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 30을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 서버 장치(500)는 지정된 현재 재생 리소스의 재생을 미디어 렌더러 장치(300)에 요청한다(S5711).
현재 재생 리소스의 재생의 요청에 대응하여, 렌더러 장치(300)는 제어 포인트 결합 미디어 서버 장치(500)로부터 현재 재생 리소스를 수신한다(S5715).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 렌더러 장치(300)는 수신한 리소스를 재생한다(S5717).
제어 포인트 결합 미디어 서버 장치(500)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 복수의 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 호출하여(S5721), 호출한 다중 리소스 프리페치 액션을 미디어 렌더러 장치(300)에 전송한다.
다중 리소스 프리페치 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 복수의 리소스를 미디어 렌더러 장치(300)에 이송한다(S5723). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 복수의 리소스를 프리페치하여, 복수의 프리페치된 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면 제어 포인트 결합 미디어 서버 장치(500)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출하여(S5727), 호출한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치된 리소스에 속하는지를 체크한다(S5729).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 제어 포인트 결합 미디어 서버 장치(500)로부터 수신하고(S5731), 수신한 다음 재생 리소스를 재생한다(S5733).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S5733).
도 31은 도 30을 구체화한 래더 다이어그램이다.
특히, 도 31을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 서버 장치(500)는 현재 재생 리소스의 리소스 이송 액션을 호출하여(S5811), 호출된 리소스 이송 액션을 미디어 렌더러 장치(300)에 전송한다. 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 서버 장치(500)는 현재 재생 리소스의 재생 액션을 호출하여(S5813), 호출된 재생 액션을 미디어 렌더러 장치(300)에 전송한다. 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
미디어 렌더러 장치(300)는 현재 재생 리소스를 요청하는 HTTP GET request를 제어 포인트 결합 미디어 서버 장치(500) 에 전송하여(S5814), 제어 포인트 결합 미디어 서버 장치(500)로부터 현재 재생 리소스를 수신한다(S5815).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 렌더러 장치(300)는 수신한 리소스를 재생한다(S5817).
제어 포인트 결합 미디어 서버 장치(500)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 서버 장치(500)는 복수의 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURIs() 액션을 호출하여(S5821), 호출한 AVT::SetNextAVTransportURIs() 액션을 미디어 렌더러 장치(300)에 전송한다.
AVT::SetNextAVTransportURIs() 액션에 대응하여, 제어 포인트 결합 미디어 서버 장치(500)는 복수의 리소스를 미디어 렌더러 장치(300)에 이송한다(S5823). 미디어 렌더러 장치(300)는 미디어 서버 장치(200)로부터 복수의 리소스를 프리페치하여, 복수의 프리페치된 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 서버 장치(500)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면 제어 포인트 결합 미디어 서버 장치(500)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출하여(S5827), 호출한 리소스 재생 액션을 미디어 렌더러 장치(300)에 전송한다.
다음 재생 리소스의 리소스 재생 액션에 대응하여, 미디어 렌더러 장치(300)는 다음 재생 리소스가 복수의 프리패치된 리소스에 속하는지를 체크한다(S5829).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하지 않으면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 요청하는 GET request를 제어 포인트 결합 미디어 서버 장치(500)에 전송하고(S7830), 다음 재생 리소스를 제어 포인트 결합 미디어 서버 장치(500)로부터 수신하고(S5831), 수신한 다음 재생 리소스를 재생한다(S5833).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S5833).
도 32은 본 발명의 실시예에 따른 2-박스 PULL 모델에서 이전 리소스 식별자와 다음 리소스 식별자를 모두 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 32를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 재생을 미디어 서버 장치(200)에 요청한다(S7111).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S7115).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 수신한 리소스를 재생한다(S7117).
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 호출하여(S7121), 호출한 다중 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다.
다중 리소스 프리페치 액션에 대응하여, 미디어 서버 장치(200)는 이전 리소스와 다음 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7123). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 이전 리소스와 다음 리소스를 프리페치하여, 이전 리소스와 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출한다(S7127).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S7129).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S7131), 수신한 다음 재생 리소스를 재생한다(S7133).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S7133).
도 33은 도 32을 구체화한 래더 다이어그램이다.
특히, 도 33을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출하여(S7211), 호출된 리소스 이송 액션을 미디어 서버 장치(200)에 전송한다. 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 재생 액션을 호출하여(S7213), 호출된 재생 액션을 미디어 서버 장치(200)에 전송한다. 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 현재 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여(S7214), 미디어 서버 장치(200)로부터 현재 재생 리소스를 수신한다(S7215).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 수신한 리소스를 재생한다(S7217).
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 이전 리소스 식별자와 다음 리소스 식별자를 인수로서 포함하는 AVT::SetNextAVTransportURI() 액션을 호출하여(S7221), 호출한 AVT::SetNextAVTransportURI() 액션을 미디어 서버 장치(200)에 전송한다.
AVT::SetNextAVTransportURI() 액션에 대응하여, 미디어 서버 장치(200)는 이전 리소스와 다음 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7223). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 이전 리소스와 다음 리소스를 프리페치하여, 이전 리소스와 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출한다(S7227).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S7229).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스를 요청하는 GET request를 미디어 서버 장치(200)에 전송하고(S7230), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S7231), 수신한 다음 재생 리소스를 재생한다(S7233).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S7233).
도 34는 본 발명의 실시예에 따른 2-박스 PULL 모델에서 이전 리소스 식별자만을 포함하는 이전 리소스 프리페치 액션과 다음 리소스 식별자 만을 포함하는 다음 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 34를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 재생을 미디어 서버 장치(200)에 요청한다(S7411).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S7415).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 수신한 리소스를 재생한다(S7417).
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 다음 리소스 프리페치 액션을 호출하여(S7421), 호출한 다음 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다.
다음 리소스 프리페치 액션에 대응하여, 미디어 서버 장치(200)는 다음 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7422). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 다음 리소스를 프리페치하여, 프리페치된 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 이전 리소스 식별자를 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 이전 리소스 프리페치 액션을 호출하여(S7423), 호출한 이전 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다.
이전 리소스 프리페치 액션에 대응하여, 미디어 서버 장치(200)는 이전 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7424). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 이전 리소스를 프리페치하여, 프리페치된 이전 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출한다(S7427).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S7429).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S7431), 수신한 다음 재생 리소스를 재생한다(S7433).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S7433).
도 35은 도 34를 구체화한 래더 다이어그램이다.
특히, 도 35를 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출하여(S7511), 호출된 리소스 이송 액션을 미디어 서버 장치(200)에 전송한다. 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 재생 액션을 호출하여(S7513), 호출된 재생 액션을 미디어 서버 장치(200)에 전송한다. 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 현재 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여(S7514), 미디어 서버 장치(200)로부터 현재 재생 리소스를 수신한다(S7515).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 수신한 리소스를 재생한다(S7517).
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 리소스 식별자를 인수로서 포함하고 이전 리소스 식별자를 인수로서 포함하지 않는 AVT::SetNextAVTransportURI() 액션을 호출하여(S7521), 호출한 AVT::SetNextAVTransportURI() 액션을 미디어 서버 장치(200)에 전송한다.
AVT::SetNextAVTransportURI() 액션에 대응하여, 미디어 서버 장치(200)는 다음 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7522). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 다음 리소스를 프리페치하여, 프리페치된 다음 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 이전 리소스 식별자를 인수로서 포함하고 다음 리소스 식별자를 인수로서 포함하지 않는 AVT::SetPreviousAVTransportURI() 액션을 호출하여(S7523), 호출한 AVT::SetPreviousAVTransportURI() 액션을 미디어 서버 장치(200)에 전송한다.
AVT::SetPreviousAVTransportURI() 액션에 대응하여, 미디어 서버 장치(200)는 이전 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7524). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 이전 리소스를 프리페치하여, 프리페치된 이전 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출한다(S7527).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하는지를 체크한다(S7529).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하지 않으면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스를 요청하는 GET request를 미디어 서버 장치(200)에 전송하고(S7530), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S7531), 수신한 다음 재생 리소스를 재생한다(S7533).
다음 재생 리소스가 프리패치된 이전 리소스와 다음 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S7533).
도 36는 본 발명의 실시예에 따른 2-박스 PULL 모델에서 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 이용하여 다중 리소스를 프리페치하는 동작 방법을 보여주는 래더 다이어그램이다.
특히, 도 36을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 재생을 미디어 서버 장치(200)에 요청한다(S7711).
지정된 현재 재생 리소스의 재생의 요청에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S7715).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 수신한 리소스를 재생한다(S7717).
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 복수의 프리페치 리소스 식별자를 인수로서 포함하는 다중 리소스 프리페치 액션을 호출하여(S7721), 호출한 다중 리소스 프리페치 액션을 미디어 서버 장치(200)에 전송한다.
다중 리소스 프리페치 액션에 대응하여, 미디어 서버 장치(200)는 복수의 프리페치 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7723). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 복수의 프리페치 리소스를 프리페치하여, 복수의 프리페치된 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출한다(S7727).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S7729).
다음 재생 리소스가 복수의 프리패치 리소스에 속하지 않으면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S7731), 수신한 다음 재생 리소스를 재생한다(S7733).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S7733).
도 37는 도 36을 구체화한 래더 다이어그램이다.
특히, 도 37을 설명하면서, 도 4의 설명으로부터 알 수 있는 내용은 그 기재를 생략한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 리소스 이송 액션을 호출하여(S7811), 호출된 리소스 이송 액션을 미디어 서버 장치(200)에 전송한다. 현재 재생 리소스의 리소스 이송 액션은 UPNP 프로토콜의 AVT::SetAVTransportURI() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 지정된 현재 재생 리소스의 재생 액션을 호출하여(S7813), 호출된 재생 액션을 미디어 서버 장치(200)에 전송한다. 현재 재생 리소스의 재생 액션은 UPNP 프로토콜의 AVT::Play() 액션에 해당할 수 있다.
제어 포인트 결합 미디어 렌더러 장치(400)는 현재 재생 리소스를 요청하는 HTTP GET request를 미디어 서버 장치(200)에 전송하여(S7814), 미디어 서버 장치(200)로부터 지정된 현재 재생 리소스를 수신한다(S7815).
현재 재생 리소스의 재생의 요청에 대응하여 또는 현재 재생 리소스의 수신에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 수신한 리소스를 재생한다(S7817).
제어 포인트 결합 미디어 렌더러 장치(400)가 지정된 현재 재생 리소스의 재생을 요청한 이후에 휴지 시간(idle time) 동안 백그라운드에서, 제어 포인트 결합 미디어 렌더러 장치(400)는 복수의 프리페치 리소스 식별자를 인수로서 포함하는 SetNextAVTransportURIs() 액션을 호출하여(S7821), 호출한 SetNextAVTransportURIs() 액션을 미디어 서버 장치(200)에 전송한다.
SetNextAVTransportURIs() 액션에 대응하여, 미디어 서버 장치(200)는 복수의 프리페치 리소스를 제어 포인트 결합 미디어 렌더러 장치(400)에 이송한다(S7823). 제어 포인트 결합 미디어 렌더러 장치(400)는 미디어 서버 장치(200)로부터 복수의 프리페치 리소스를 프리페치하여, 복수의 프리페치된 리소스에 대하여는 추가적인 이송 없이 끊김없는 전환(seamless transition)을 제공할 수 있도록 한다.
제어 포인트 결합 미디어 렌더러 장치(400)가 현재의 리소스와는 다른 다음 재생 리소스의 지정을 위한 사용자 입력을 수신하면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스의 재생을 위한 리소스 재생 액션을 호출한다(S7827).
다음 재생 리소스의 리소스 재생 액션에 대응하여, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스가 복수의 프리패치 리소스에 속하는지를 체크한다(S7829).
다음 재생 리소스가 복수의 프리패치 리소스에 속하지 않으면, 제어 포인트 결합 미디어 렌더러 장치(400)는 다음 재생 리소스를 요청하는 GET request를 미디어 서버 장치(200)에 전송하고(S7830), 다음 재생 리소스를 미디어 서버 장치(200)로부터 수신하고(S7831), 수신한 다음 재생 리소스를 재생한다(S7833).
다음 재생 리소스가 복수의 프리패치된 리소스에 속하면, 미디어 렌더러 장치(300)는 다음 재생 리소스를 미디어 서버 장치(200)로부터 다시 수신하는 절차 없이 다음 재생 리소스를 재생한다(S7833).
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시예들이 제어부(780)에 의해 구현될 수 있다.
상술한 본 발명에 따른 제어 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.
Claims (20)
- 미디어 렌더러와 미디어 서버를 제어하는 제어 장치의 동작 방법에 있어서,상기 제어 장치가, 제1 리소스의 재생 액션을 호출하여 상기 미디어 렌더러가 상기 제1 리소스를 재생하도록 하는 단계;상기 제어 장치가, 상기 제1 리소스의 재생 액션의 호출 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 호출하여 상기 미디어 렌더러가 상기 복수의 프리페치 리소스 식별자에 기초하여 상기 미디어 서버로부터 상기 복수의 프리페치 리소스를 프리페치하도록 하는 단계; 및상기 제어 장치가, 상기 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 액션을 호출하여, 상기 미디어 렌더러가 상기 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공하도록 하는 단계를 포함하는제어 장치의 동작 방법.
- 제1항에 있어서,상기 다중 리소스 프리페치 액션이 너무 많은 프리페치 리소스 식별자를 포함하고 있어서 상기 미디어 렌더러가 상기 복수의 프리페치 리소스의 모두를 프리페치할 수 없는 경우에, 상기 제어 장치가, 리소스가 너무 많음을 의미하는 오류 코드의 반환을 수신하는 단계를 더 포함하는제어 장치의 동작 방법.
- 제2항에 있어서,상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 더 포함하는제어 장치의 동작 방법.
- 제3항에 있어서,상기 복수의 메타데이터 아이템의 순서는 상기 복수의 프리페치 리소스 식별자의 순서와 동일한제어 장치의 동작 방법.
- 제3항에 있어서,상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스 식별자를 포함하는 제1 인수(argument)와 상기 복수의 메타데이터 아이템을 포함하는 제2 인수를 포함하고,상기 제1 인수는 상기 컴마 구분 값 포맷으로 상기 복수의 프리페치 리소스 식별자를 포함하고,상기 제2 인수는 UPnP 규격의 컨텐트 디렉토리 서비스 템플릿에서 정의되는 DIDL-Lite XML Fragment 포맷으로 상기 복수의 메타데이터 아이템을 포함하는제어 장치의 동작 방법.
- 제3항에 있어서,상기 제어 장치가, 상기 다중 리소스 프리페치 액션이 메타데이터를 지원하는지에 대한 사용자 입력을 수신하는 단계; 및상기 제어 장치가, 상기 사용자 입력에 기초하여 상기 다중 리소스 프리페치 액션이 메타데이터를 지원하는지를 저장하는 설정 변수를 업데이트하는 단계를 더 포함하고,상기 설정 변수가 상기 다중 리소스 프리페치 액션의 메타데이터의 지원을 나타내는 경우에, 상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 포함하고,상기 설정 변수가 상기 다중 리소스 프리페치 액션의 메타데이터의 비지원을 나타내는 경우에, 상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 포함하지 않는제어 장치의 동작 방법.
- 제1항에 있어서,상기 제어 장치가, 상기 다중 리소스 프리페치 액션의 활성화 여부에 대한 사용자 입력을 수신하는 단계; 및상기 제어 장치가, 상기 사용자 입력에 기초하여 상기 다중 리소스 프리페치 액션의 활성화 여부를 저장하는 설정 변수를 업데이트하는 단계를 더 포함하고,상기 다중 리소스 프리페치 액션을 호출하는 단계는상기 설정 변수가 상기 다중 리소스 프리페치 액션의 활성화를 나타내는 경우에 상기 다중 리소스 프리페치 액션을 호출하는 단계와,상기 설정 변수가 상기 다중 리소스 프리페치 액션의 비활성화를 나타내는 경우 상기 다중 리소스 프리페치 액션을 호출하지 않는 단계를 포함하는제어 장치의 동작 방법.
- 제1항에 있어서,상기 제어 장치가, 상기 다중 리소스 프리페치 액션이 포함하는 상기 복수의 프리페치 리소스의 개수에 대한 사용자 입력을 수신하는 단계; 및상기 제어 장치가, 상기 사용자 입력에 기초하여 상기 다중 리소스 프리페치 액션이 포함하는 상기 복수의 프리페치 리소스의 개수를 저장하는 설정 변수를 업데이트하는 단계를 더 포함하고,상기 다중 리소스 프리페치 액션은 상기 설정 변수에 해당하는 개수만큼 상기 복수의 프리페치 리소스를 포함하는제어 장치의 동작 방법.
- 제1항에 있어서,상기 제어 장치가, 상기 복수의 프리페치 리소스의 프리페치 상태를 표시하는 단계를 더 포함하는제어 장치의 동작 방법.
- 제1항에 있어서,상기 복수의 프리페치 리소스 식별자 중 일부는 상기 제1 리소스의 이전 리소스를 지시하고 나머지 일부는 상기 제1 리소스의 다음 리소스를 지시하는 것이 허용되는제어 장치의 동작 방법.
- 제10항에 있어서,상기 복수의 프리페치 리소스 식별자 모두가 상기 제1 리소스의 이전 리소스를 지시하는 것이 허용되는제어 장치의 동작 방법.
- 제11항에 있어서,상기 복수의 프리페치 리소스 식별자 모두가 상기 제1 리소스의 다음 리소스를 지시하는 것이 허용되는제어 장치의 동작 방법.
- 제1항에 있어서,상기 미디어 렌더러는 상기 제어 장치와는 별도의 장치이고,상기 미디어 서버는 상기 제어 장치와는 별도의 장치인제어 장치의 동작 방법.
- 제1항에 있어서,상기 미디어 렌더러와 상기 제어 장치는 하나의 장치를 형성하고,상기 미디어 서버는 상기 제어 장치와는 별도의 장치인제어 장치의 동작 방법.
- 제1항에 있어서,상기 미디어 렌더러는 상기 제어 장치와는 별도의 장치이고,상기 미디어 서버와 상기 제어 장치는 하나의 장치를 형성하는제어 장치의 동작 방법.
- 미디어 렌더러와 미디어 서버를 제어하는 제어 장치에 있어서,네트워크 인터페이스; 및제어부를 포함하고,상기 제어부는 제1 리소스의 재생 액션을 상기 네트워크 인터페이스를 통해 호출하여, 상기 미디어 렌더러가 상기 제1 리소스를 재생하도록 하고,상기 제어부는, 상기 제1 리소스의 재생 액션 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 호출하여 상기 미디어 렌더러가 상기 복수의 프리페치 리소스 식별자에 기초하여 상기 미디어 서버로부터 상기 복수의 프리페치 리소스를 프리페치하도록 하고,상기 제어부는, 상기 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 액션을 상기 네트워크 인터페이스를 통해 호출하여, 상기 미디어 렌더러가 상기 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공하도록 하는제어 장치.
- 제16항에 있어서,상기 다중 리소스 프리페치 액션이 너무 많은 프리페치 리소스 식별자를 포함하고 있어서 상기 미디어 레더러 장치가 상기 복수의 프리페치 리소스의 모두를 프리페치할 수 없는 경우에, 상기 제어부는 리소스가 너무 많음을 의미하는 오류 코드의 반환을 상기 네트워크 인터페이스를 통해 수신하는제어 장치.
- 미디어 서버를 제어하는 제어 장치에 의해 제어되는 미디어 렌더러 장치의 동작 방법에 있어서,상기 미디어 렌더러 장치가, 제1 리소스의 재생 요청을 상기 제어 장치로부터 수신하는 단계;상기 미디어 렌더러 장치가, 상기 제1 리소스의 재생 요청 이후에, 복수의 프리페치 리소스를 위한 복수의 프리페치 리소스 식별자를 포함하는 다중 리소스 프리페치 액션을 수신하는 단계;상기 미디어 렌더러 장치가, 상기 복수의 프리페치 리소스 식별자에 기초하여 상기 미디어 서버로부터 상기 복수의 프리페치 리소스를 프리페치하는 단계; 및상기 미디어 렌더러 장치가, 상기 복수의 프리페치 리소스 중 하나인 제2 리소스의 재생 요청을 상기 제어 장치로부터 수신하여, 상기 제1 리소스와 상기 제2 리소스 사이의 끊김없는 전환을 제공하는 단계를 포함하는미디어 렌더러 장치의 동작 방법.
- 제18항에 있어서,상기 다중 리소스 프리페치 액션이 너무 많은 프리페치 리소스 식별자를 포함하고 있어서 상기 미디어 렌더러 장치가 상기 복수의 프리페치 리소스의 모두를 프리페치할 수 없는 경우에, 상기 미디어 렌더러 장치가, 리소스가 너무 많음을 의미하는 오류 코드를 반환하는 단계를 더 포함하고,상기 다중 리소스 프리페치 액션은 상기 복수의 프리페치 리소스를 위한 복수의 메타데이터 아이템을 더 포함하는미디어 렌더러 장치의 동작 방법.
- 제18항에 있어서,상기 미디어 렌더러 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 상기 다중 리소스 프리페치 액션이 유효한 비어있지 않은 다중 리소스 식별자 인수를 포함하는 경우, 상기 미디어 렌더러 장치가, 다중 리소스 식별자를 저장하는 다중 리소스 식별자 상태 변수의 값을 상기 유효한 비어있지 않은 다중 리소스 식별자 인수 내의 값으로 대체하는 단계; 및상기 미디어 렌더러 장치가 복수의 프리페치 리소스 식별자를 이미 포함하고 있고, 상기 다중 리소스 프리페치 액션이 비어있는 다중 리소스 식별자 인수를 포함하는 경우, 상기 미디어 렌더러 장치가, 다중 리소스 식별자를 저장하는 다중 리소스 식별자 상태 변수를 클리어 하는 단계를 더 포함하는미디어 렌더러 장치의 동작 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/401,338 US9392340B2 (en) | 2012-05-14 | 2013-05-14 | Method and a control device for controlling and operating a media renderer and a media server and for notifying the media renderer when there are too many resource being prefetched, and a method of operating a media renderer device |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261646376P | 2012-05-14 | 2012-05-14 | |
US61/646,376 | 2012-05-14 | ||
US201261661309P | 2012-06-18 | 2012-06-18 | |
US61/661,309 | 2012-06-18 | ||
US201261721511P | 2012-11-02 | 2012-11-02 | |
US61/721,511 | 2012-11-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013172626A1 true WO2013172626A1 (ko) | 2013-11-21 |
Family
ID=49583979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2013/004251 WO2013172626A1 (ko) | 2012-05-14 | 2013-05-14 | 미디어 제어 장치, 미디어 렌더러 장치, 미디어 서버 장치 및 이들의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9392340B2 (ko) |
WO (1) | WO2013172626A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6579007B2 (ja) * | 2016-03-18 | 2019-09-25 | 船井電機株式会社 | 制御装置 |
CN109981693A (zh) * | 2017-12-27 | 2019-07-05 | 上海文广互动电视有限公司 | 3d内容分发平台的速率控制方法及系统 |
KR20220014005A (ko) * | 2020-07-28 | 2022-02-04 | 삼성전자주식회사 | 전자장치, 서버 및 그 제어방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070213046A1 (en) * | 2006-01-11 | 2007-09-13 | Junyi Li | Cognitive communications |
KR20100012315A (ko) * | 2008-07-28 | 2010-02-08 | 삼성전자주식회사 | 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 |
KR20100084937A (ko) * | 2009-01-19 | 2010-07-28 | 주식회사 대우일렉트로닉스 | 미디어 컨텐츠 디렉토리 탐색방법 |
KR20100117396A (ko) * | 2009-04-24 | 2010-11-03 | 삼성전자주식회사 | 홈 네트워크에서 콘텐츠 재생 방법 및 장치와 시스템 |
KR20110070612A (ko) * | 2009-12-18 | 2011-06-24 | 주식회사 케이티 | Dlna 기반의 콘텐츠 통합 관리 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392952B2 (en) * | 2002-05-03 | 2013-03-05 | Time Warner Cable Enterprises Llc | Programming content processing and management system and method |
US7610598B2 (en) * | 2002-10-22 | 2009-10-27 | Canon Kabushiki Kaisha | Recording apparatus that switches decoding methods between data received over the internet and data received over a broadcast network |
EP1769399B1 (en) * | 2004-06-07 | 2020-03-18 | Sling Media L.L.C. | Personal media broadcasting system |
WO2007010779A1 (ja) * | 2005-07-15 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | パケット送信装置 |
RU2494562C2 (ru) * | 2006-06-19 | 2013-09-27 | Телефонактиеболагет Лм Эрикссон (Пабл) | Управление мультимедийными каналами |
US20080250101A1 (en) * | 2007-04-05 | 2008-10-09 | Matsushita Electric Industrial Co., Ltd. | Multimedia data transmitting apparatus and multimedia data receiving apparatus |
WO2010065757A1 (en) * | 2008-12-04 | 2010-06-10 | Swarmcast, Inc. | Adaptive playback rate with look-ahead |
US9060187B2 (en) * | 2008-12-22 | 2015-06-16 | Netflix, Inc. | Bit rate stream switching |
JP4788790B2 (ja) * | 2009-02-27 | 2011-10-05 | ソニー株式会社 | コンテンツ再生装置、コンテンツ再生方法、プログラム、及びコンテンツ再生システム |
JP2012039549A (ja) * | 2010-08-11 | 2012-02-23 | Sony Corp | 情報処理装置、情報処理方法及び情報処理システム |
CA2827387C (en) * | 2011-02-20 | 2016-11-01 | Lg Electronics Inc. | Method and apparatus for the seamless playback of content |
US8798777B2 (en) * | 2011-03-08 | 2014-08-05 | Packetvideo Corporation | System and method for using a list of audio media to create a list of audiovisual media |
US20120240177A1 (en) * | 2011-03-17 | 2012-09-20 | Anthony Rose | Content provision |
US20120272280A1 (en) * | 2011-04-22 | 2012-10-25 | Kabushiki Kaisha Toshiba | Video processor and video processing method |
WO2013012107A1 (ko) * | 2011-07-19 | 2013-01-24 | 엘지전자 주식회사 | 전자 기기 및 그 제어 방법 |
-
2013
- 2013-05-14 WO PCT/KR2013/004251 patent/WO2013172626A1/ko active Application Filing
- 2013-05-14 US US14/401,338 patent/US9392340B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070213046A1 (en) * | 2006-01-11 | 2007-09-13 | Junyi Li | Cognitive communications |
KR20100012315A (ko) * | 2008-07-28 | 2010-02-08 | 삼성전자주식회사 | 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법 |
KR20100084937A (ko) * | 2009-01-19 | 2010-07-28 | 주식회사 대우일렉트로닉스 | 미디어 컨텐츠 디렉토리 탐색방법 |
KR20100117396A (ko) * | 2009-04-24 | 2010-11-03 | 삼성전자주식회사 | 홈 네트워크에서 콘텐츠 재생 방법 및 장치와 시스템 |
KR20110070612A (ko) * | 2009-12-18 | 2011-06-24 | 주식회사 케이티 | Dlna 기반의 콘텐츠 통합 관리 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20150143438A1 (en) | 2015-05-21 |
US9392340B2 (en) | 2016-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014003394A1 (en) | Apparatus and method for processing an interactive service | |
WO2011065654A1 (en) | Method of processing epg metadata in network device and network device for controlling the same | |
WO2014148813A1 (ko) | 신호 송신 장치, 신호 송신 방법 및 신호 송수신 시스템 | |
WO2014062018A1 (en) | Apparatus and method for processing an interactive service | |
WO2014030924A1 (en) | Apparatus and method for processing an interactive service | |
WO2010008235A2 (ko) | 실감 효과 표현 방법 및 그 장치 및 실감 기기 제어 메타데이터가 기록된 컴퓨터로 읽을 수 있는 기록 매체 | |
WO2014084570A1 (en) | Apparatus and method for processing an interactive service | |
WO2010008234A2 (ko) | 실감 효과 표현 방법 및 그 장치 및 실감 기기 성능 메타데이터가 기록된 컴퓨터로 읽을 수 있는 기록 매체 | |
WO2010008233A2 (ko) | 실감 효과 표현 방법 및 그 장치 및 사용자 환경 정보 메타데이터가 기록된 컴퓨터로 읽을 수 있는 기록 매체 | |
WO2010008232A2 (ko) | 실감 효과 표현 방법 및 그 장치 및 실감 효과 메타데이터가 기록된 컴퓨터로 읽을 수 있는 기록 매체 | |
WO2013103273A1 (en) | Video display apparatus and operating method thereof | |
WO2012026651A1 (en) | Method for synchronizing contents and display device enabling the method | |
WO2013133601A1 (en) | Video display apparatus and operating method thereof | |
WO2014042368A1 (en) | Apparatus and method for processing an interactive service | |
WO2011129641A2 (en) | Purchase transaction method for iptv product and iptv receiver thereof | |
WO2014003515A1 (ko) | 멀티미디어 시스템에서 적응적 미디어 구조 송신 방법 및 장치 | |
WO2010120137A2 (ko) | 감각 효과를 위한 메타데이터 제공 방법 및 장치, 감각 효과를 위한 메타데이터가 기록된 컴퓨터로 읽을 수 있는 기록 매체, 감각 재생 방법 및 장치 | |
WO2015108283A1 (ko) | 클라우드 스트리밍 서비스를 위한 어플리케이션 에러 검출 방법, 이를 위한 장치 및 시스템 | |
WO2014129803A1 (en) | Video display apparatus and operating method thereof | |
WO2016089009A1 (en) | Method and cloud server for managing device | |
WO2015108319A1 (ko) | 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치 | |
WO2013109117A1 (ko) | 미디어 콘트롤 장치, 미디어 제어 타겟 장치, 및 이들의 동작 방법 | |
WO2015030412A1 (ko) | 신호 송신 장치 및 제어 방법 | |
WO2011021867A2 (en) | Method of processing epg metadata in network device and network device for controlling the same | |
WO2022005102A1 (ko) | 멀티캐스트 신호 처리 방법 및 장치 |
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: 13790726 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14401338 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13790726 Country of ref document: EP Kind code of ref document: A1 |