WO2015093637A1 - 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법 - Google Patents

컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법 Download PDF

Info

Publication number
WO2015093637A1
WO2015093637A1 PCT/KR2013/011679 KR2013011679W WO2015093637A1 WO 2015093637 A1 WO2015093637 A1 WO 2015093637A1 KR 2013011679 W KR2013011679 W KR 2013011679W WO 2015093637 A1 WO2015093637 A1 WO 2015093637A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
client device
server device
codec
parser
Prior art date
Application number
PCT/KR2013/011679
Other languages
English (en)
French (fr)
Inventor
박춘배
김성기
류가현
박태성
성덕구
임현우
정도영
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to PCT/KR2013/011679 priority Critical patent/WO2015093637A1/ko
Priority to CN201380079910.7A priority patent/CN105814899B/zh
Priority to EP13899911.5A priority patent/EP2996344A4/en
Priority to US15/103,928 priority patent/US10028002B2/en
Publication of WO2015093637A1 publication Critical patent/WO2015093637A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25858Management of client data involving client software characteristics, e.g. OS identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Definitions

  • the present invention relates to a server device for sharing content, a client device, and a method for sharing the content thereof. More particularly, the present invention provides a server device for sharing content in consideration of characteristics of the client device, and provides and reproduces content from the server device. A client device and its content sharing method.
  • Users may connect and use their own user terminal devices and peripheral devices through a network. For example, content may be shared between one's own device and another device.
  • the device receiving the content that is, the client device, must have hardware and software for processing the provided content.
  • the client device may not include a parser or codec capable of processing the content.
  • the present invention is in accordance with the above-described needs, and an object of the present invention is to provide a server device that appropriately processes and provides content in consideration of the performance of the client device, a client device that receives and reproduces the content, and a method of sharing their content. In providing.
  • the content sharing method of the server device receiving the reproduction capability information from the client device, the attribute of the content to be provided to the client device and the reproduction capability information And if the client device determines that the content cannot be reproduced, processing the content in a playable form and transmitting the content to the client device.
  • the method may further include transmitting the content to the client device if the client device can play the content.
  • the processing may be parsing the content.
  • the processing may be decoding processing of at least one of audio data and video data included in the content.
  • the method determines that the content can be played. If at least one of the codecs is insufficient, the method may further include determining that the content cannot be reproduced.
  • the client device does not have at least one of a parser and a codec capable of processing the content of the content, determining whether the server device has the parser and the codec; If at least one is not available, determining if it is available, processing the content with at least one of the parser and codec if it is available, and sending a non-playback response to the client device if it is not available. It may further include.
  • the method may further include receiving a content sharing request from the client device.
  • the playing capability information may be transmitted periodically from the client device or upon request.
  • the server apparatus may include a storage unit that stores content to be provided to a client device, a communication unit that receives playback capability information from the client device, and an attribute of the content and the playback capability information. If the client device is unable to play the content, the controller may include a controller for processing the content in a playable form and transmitting the content to the client device.
  • the controller may transmit the content directly to the client device when the content can be reproduced by the client device.
  • the controller determines whether the client device includes a parser and a codec corresponding to the content based on the play capability information. If the client device includes the parser and the codec, the controller determines that playback of the content is possible. If at least one of the parser and the codec is insufficient, it may be determined that the content cannot be played.
  • the controller may parse the content and transmit the content to the client device if the content cannot be parsed by the client device.
  • the controller may decode at least one of audio data and video data included in the content and transmit the decoded content to the client device.
  • the controller may determine whether the server device includes the parser and the codec if the client device cannot reproduce the content, and determine whether the server device includes the parser and the codec if the server device does not have at least one of the parser and the codec. If it is possible to provide, at least one of the parser and the codec may be newly installed to process the content, and if it is not possible, a non-playback response may be transmitted to the client device.
  • the communication unit may periodically receive the reproduction capability information from the client device.
  • the communication unit may request and receive the reproduction capability information from the client device when the reproduction command for the content is received from the client device.
  • the content sharing method of the client device receiving and storing the parser and codec list from the server device, receiving a request to play the content stored in the server device, the client Determining whether to play the content using information on the parser and the codec provided in the device and the list of the parser and the codec, and if the content is to be played back, request a content sharing request to the server device. And transmitting a non-playback message if the content cannot be played back.
  • the client device may include a communication unit that receives a parser and a codec list from a server device, a storage unit that stores the parser and a codec list, and inputs a reproduction request for content stored in the server device.
  • a receiving input unit when the play request is input, by using the information on the parser and codecs provided in the client device and the list of the received parser and codecs, it is determined whether or not the content can be played, and the playback of the content
  • the controller may include a controller for transmitting a content sharing request to the server device, and a display unit for displaying a non-playback message if the content cannot be played.
  • content sharing can be effectively performed without excessively wasting communication resources between the server device and the client device.
  • FIG. 1 is a block diagram showing the configuration of a content sharing system according to an embodiment of the present invention
  • FIG. 2 is a diagram illustrating a configuration of a content sharing system further including an access point
  • FIG. 3 is a block diagram showing the configuration of a server apparatus according to an embodiment of the present invention.
  • FIG. 4 is a block diagram showing a configuration of a client device according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an example of a message format used to share content
  • FIG. 6 is a timing diagram illustrating a content sharing method according to an embodiment of the present invention.
  • FIG. 7 and 8 are timing diagrams for describing a content sharing method according to various embodiments of the present disclosure.
  • FIGS. 9 and 10 are flowcharts illustrating a content sharing method of a server device according to various embodiments of the present disclosure.
  • FIG. 11 is a flowchart illustrating a content sharing method according to another embodiment of the present invention.
  • FIG. 12 is a diagram illustrating an example of a screen configuration for selecting a server device from a client device
  • FIG. 13 and 14 illustrate various examples of screen configurations for selecting contents to be provided from a server device
  • 15 is a diagram illustrating an example of a screen configuration for allowing a server device to select a client device to share content
  • 16 is a block diagram for comprehensively describing a configuration of a server device according to various embodiments of the present disclosure
  • 17 is a view for explaining an example of the configuration of a program used in the server device of FIG.
  • FIG. 18 is a diagram illustrating a configuration of a screen sharing system according to an embodiment of the present invention.
  • FIG. 19 is a diagram illustrating an example of a screen of a client device used in a screen sharing system
  • FIG. 20 is a view showing the configuration of a content providing system according to another embodiment of the present invention.
  • 21 is a diagram showing the configuration of a home gateway system according to another embodiment of the present invention.
  • 22 is a diagram illustrating an example of a configuration of a codec and a parser applicable to various embodiments of the present disclosure
  • 23 and 24 are diagrams for describing an operation of a server device and a client device according to another embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a configuration of a content sharing system according to an embodiment of the present invention. 1 illustrates a case in which the server device 100 and the client device 200 connect direct communication.
  • the server device 100 stores at least one content that can be transmitted to the client device 200.
  • the content may be various kinds of data such as a video, music, photo, image, document, text, and program.
  • the server device 100 may be implemented as a general server, but is not limited thereto and may be implemented as a mobile phone, a TV, a PDA, a tablet PC, a PC, a notebook PC, an electronic frame, a kiosk, an electronic billboard, and other user terminal devices.
  • the client device 200 may be implemented as various types of devices capable of outputting video content and audio content.
  • the client device 200 may also be implemented as various terminal devices such as a mobile phone, a TV, a PDA, a tablet PC, a PC, a notebook PC, an electronic picture frame, a kiosk, an electronic billboard, and the like.
  • the client device 200 may execute a content sharing function to use content stored in the server device 100.
  • the content sharing function refers to a function of downloading or streaming content to share between a plurality of different devices.
  • An example of a content sharing function may be a digital living network alliance (DLNA) function.
  • the DLNA function is a function of sharing various contents among various devices.
  • the device providing the content in performing the DLNA function is called a digital media server (DMS), and the device for playing the provided content is a digital media renderer (DMR) or a digital media player (Digital Media Player). Player: DMP).
  • DMR digital media renderer
  • Player Digital Media Player
  • Player DMP
  • the client device 200 may be a DMR or a DMP
  • the server device 100 may be a DMS.
  • the server device 100 may determine the playback capability information of the client device 200 to determine whether the client device 200 can play the content.
  • the reproduction capability information may be information about a parser and a codec included in the client device 200.
  • a parser is a component for analyzing content and detecting various types of information necessary for content reproduction.
  • the parser may be a video parser, an image parser, an audio parser, an XML parser, and the like.
  • Codec means a configuration that can perform encoding or decoding on a data stream or a signal.
  • Examples of the codec may include a moving picture expert group (MPEG) codec, a Divx codec, an AC3 codec, an OGG codec, an Xvid codec, an H.264 codec, a wmv7, an 8 and a 9 codec, and a video codec.
  • MPEG moving picture expert group
  • an appropriate parser and codec are required according to the format of the content. If the client device 200 does not include at least one of the parser and the codec, even if the content is transmitted from the server device 100, the playback cannot be performed properly.
  • the server device 100 checks the reproduction capability information of the client device 200 and compares the information with the attribute of the content to be provided to the client device 200. If the server device 100 determines that the client device 200 includes all the parsers and codecs corresponding to the attributes of the content, the server device 100 transmits the content to the client device 200 as it is. Accordingly, since the content is transmitted in a compressed state, communication resources such as frequency and time slots can be saved.
  • the server device 100 processes the content in a form capable of outputting the content and transmits the content to the client device 200. . For example, if no parser is provided, parsing is performed to transmit the parsing result to the client device 200 along with the content. On the other hand, if it does not have a codec or does not have both a parser and a codec, parsing and decoding are performed to transmit the decoded content to the client device 200. Accordingly, the client device 200 may directly receive and reproduce data of a playable content screen.
  • the reproduction capability information has been described as including information about the parser and the codec.
  • the reproduction capability information includes the resolution, the display size, and the output frame in addition to the information about the parser and the codec.
  • Various additional information such as rate, output color gamut, and the like may be further included.
  • the server device 100 may perform various additional processing according to the additional information of the client device 200. For example, when the display resolution of the client device is higher than the original resolution of the content, a process of interpolating the resolution of the content to match the resolution of the client device may be performed. Alternatively, when the aspect ratio of the display unit provided in the client device 200 is different from the aspect ratio of the content, cropping may be performed according to the ratio of the display unit provided in the client device 200. In addition, the resolution may be reduced or the bit rate may be adjusted according to the parsing and decoding capabilities of the client device 200 and transmitted to the client device 200.
  • FIG. 1 has described a case in which the server device 100 and the client device 200 directly communicate, but may also connect communication through an access point.
  • the content sharing system includes a plurality of terminal devices 100, 200-1, 200-2, 200-3, and 200-4 and a repeater AP.
  • Each terminal device 100, 200-1, 200-2, 200-3, 200-4 may individually serve as the server device 100 or the client device 200.
  • one terminal device serves as the server device 100 and the remaining devices serve as client devices 200-1, 200-2, 200-3, and 200-4.
  • the server device 100 and each client device 200-1, 200-2, 200-3, and 200-4 form a network through a repeater AP.
  • the client device searches for the server device 100 through a repeater AP. If each client device 200-1, 200-2, 200-3, 200-4 also has a server function, not only the server device 100 but also the remaining client devices with the server function may be searched together.
  • the first client device 200-1 searches for the server device 100, and then the content information for the server device 100. You can request When the server device 100 transmits the information on the stored content, the first client device 200-1 displays the content information. When the user selects one content, the first client device 200-1 transmits a request signal for the selected content and reproduction capability information of the first client device 200-1 to the server device 100.
  • the reproduction capability information may be transmitted with the request signal, but is not necessarily limited thereto. That is, the reproduction capability information is the first client when the server device 100 transmits a request, when a predetermined period arrives, when the first client device 200-1 first accesses the server device 100. If there is a change in the parser or codec of the device 200-1, it may be transmitted to the server device 100.
  • the server apparatus 100 compares the reproduction capability information of the first client apparatus 200-1 with the attributes of the contents to determine whether the contents can be reproduced.
  • the server device 100 processes the content as it is or appropriately and transmits the content according to the determination result.
  • the server device 100 may display a list of stored content.
  • the user of the server device 100 may select content to share on the list.
  • the server device 100 may broadcast a search signal through a repeater AP.
  • Each client device 200-1, 200-2, 200-3, 200-4 receiving the search signal transmits a response signal.
  • the response signal may include identification information such as an Internet Protocol (IP) address of each client device 200-1, 200-2, 200-3, 200-4.
  • IP Internet Protocol
  • the response signal may further include reproduction capability information of each client device 200-1, 200-2, 200-3, 200-4.
  • the server device 100 displays a list for each client device that has sent a response signal.
  • the user of the server device 100 may select a client device to share content on the displayed list.
  • the server device 100 determines whether the client device can be played back based on the playback capability information of the selected client device and the attributes of the content.
  • the server device 100 transmits the content to the client device as it is or after performing appropriate processing according to the determination result.
  • content sharing may be performed in various ways between the server device 100 and the client device 200, and the content may be processed according to the characteristics of the client device 200, thereby increasing efficiency.
  • FIG. 2 various embodiments in which content sharing is performed by using an access point have been described, but the contents described with reference to FIG. 2 may be similarly implemented in the embodiment of FIG. 1.
  • the server device 100 includes a communication unit 110, a control unit 120, and a storage unit 130.
  • the communication unit 110 receives the reproduction capability information from the client device 200.
  • the communicator 110 may communicate with the client device 200 using various communication methods. For example, various communication methods such as 3G, 4G, WiFi, Ethernet (wired), Bluetooth, Near Field Communication (NFC), Zigbee, etc. may be used.
  • the protocol for transmitting and receiving a variety of information may be used in various ways such as Simple Object Access Protocol (SOAP), Hypertext Transfer Protocol (HTTP), Real Time Protocol (RTP), Dynamic Adaptive Streaming over HTTP (DASH), and the like.
  • SOAP Simple Object Access Protocol
  • HTTP Hypertext Transfer Protocol
  • RTP Real Time Protocol
  • DASH Dynamic Adaptive Streaming over HTTP
  • the storage unit 130 stores various contents and programs.
  • the storage unit 130 may also store various types of information about the property of the content. For example, attribute information such as content type, content format, content size, and codec information for content processing may be stored.
  • attribute information may be stored in the form of a metadata file such as a media presentation description (MPD) file or a manifest file according to the type of protocol.
  • MPD media presentation description
  • the controller 120 determines whether content reproduction is possible on the client device based on the attribute of the content to be shared with the client device 200 and the reproduction capability information of the client device 200. If it is determined that content can be played back on the client device, the content is transmitted to the client device as it is.
  • the content is processed in a playable form and transmitted to the client device 200.
  • the controller 120 determines whether the client device has a parser and a codec corresponding to the content based on the reproduction capability information. For example, if video data included in the content is compressed with MS MPEG-4 Video Codec V3 and audio data included in the content is compressed with Windows Media Audio V2, it is determined whether the client device has the corresponding codec. If the determination result does not include at least one of the parser and the codec, the controller 120 performs at least one of parsing and decoding, and transmits the processing result to the client device 200.
  • the client device 200 parses the content and transmits the content to the client device 200.
  • the control unit 120 and the audio data included in the content and At least one of the video data is decoded and transmitted to the client device 200.
  • the server device 100 may not be equipped with a parser or codec for the content.
  • the controller 120 determines whether a parser or a codec necessary for content reproduction can be provided.
  • the controller 120 searches for a parser or codec necessary for content reproduction on a network or a web to which the server apparatus 100 is connected by using the communication unit 110.
  • a source device not shown
  • the controller 120 transmits a transmission request for the found parser or codec to the source device.
  • the parser or codec is downloaded from the source device and installed in the storage unit 130.
  • the controller 120 processes the content into a playable form by using the installed parser and the codec, and transmits the content to the client device 200.
  • control unit 120 determines that it is not in a playable state.
  • the controller 120 may not transmit the content to the client device 200 when it is determined that the content cannot be played.
  • the controller 120 may transmit a non-playback response to the client device 200 to indicate that the content cannot be played.
  • the controller 120 may output an error message for notifying that the playback is not possible.
  • the server device 100 processes the content by using the newly installed parser and codec, and then transmits the content to the client device 200.
  • the control unit 120 The parser or codec itself provided from the source device may be transmitted to the client device 200 together with the content.
  • the client device 200 may install the delivered parser or codec by itself, and then play the content using the installed parser and the codec. As a result, communication resources can be efficiently used.
  • the client device 200 includes a communication unit 210, an input unit 220, a control unit 230, a display unit 240, and a storage unit 250.
  • the communication unit 210 performs communication with the server device 100. As described above, the communication unit 210 communicates with the server device 100 using various communication methods such as 3G, 4G, WiFi, Ethernet (wired), Bluetooth, Near Field Communication (NFC), Zigbee, etc. Can be done. In addition, the communication unit 210 may perform communication using various communication protocols such as Simple Object Access Protocol (SOAP), Hypertext Transfer Protocol (HTTP), Real Time Protocol (RTP), Dynamic Adaptive Streaming over HTTP (DASH), and the like. have.
  • SOAP Simple Object Access Protocol
  • HTTP Hypertext Transfer Protocol
  • RTP Real Time Protocol
  • DASH Dynamic Adaptive Streaming over HTTP
  • the communication unit 210 transmits the reproduction capability information of the client device to the server device 100.
  • the reproduction capability information may be generated and transmitted in various formats according to a communication protocol applied to the communication unit 210.
  • HTTP protocol is a protocol for transmitting data in a Get / Post method. Both methods send variable and value pairs.
  • the communication unit 210 defines a variable representing a parser and a codec installed in the client device 200, inserts parser / codec information into the variable value of the variable, and transmits the information to the server device 100. This approach can also be applied to 3G, 4G, WiFi, Ethernet, and the like.
  • the communication unit 210 may allocate a portion of the data format to be transmitted, format the parser / codec information to a certain length, and then load and transmit the data.
  • a packet is composed of an access code, a header, and a payload.
  • the access code and the header have a fixed length, and the payload depends on the type of packet.
  • the access code is composed of a preamble, a sync word, and a trailer.
  • the access code is used for packet identification.
  • the header includes a device address AM_ADDR and a type indicating the type of PAYLOAD, bits for retransmission control, flow control, and the like (FLOW, ARQN, SEQN).
  • the communication unit 110 inserts the reproduction capability information into the payload portion of the packet and transmits it.
  • the reproduction capability information may include information on the parser and the codec and various other additional information.
  • the parser and codec may be implemented in hardware or software, respectively. If implemented in software, the parser and codec are stored in storage 250. The time point at which the reproduction capability information is transmitted may vary in various embodiments.
  • the communication unit 210 may transmit the reproduction capability information to the server device 100 whenever a preset time period arrives.
  • the communication unit 210 may transmit the reproduction capability information when the content sharing function is selected by the input unit 220.
  • the reproduction capability information may be transmitted together with the sharing request for the content or may be transmitted before or after the sharing request.
  • the communication unit 210 may transmit the reproduction capability information when the information request is transmitted from the server device 100.
  • the reproduction capability information may be transmitted when the client apparatus 200 is initially connected to the server apparatus 100, or the reproduction capability information may be transmitted whenever there is a change in the reproduction capability.
  • the communication unit 210 may provide the reproduction capability information to the server device 100 in various ways.
  • the input unit 220 is a component for receiving various user selection commands.
  • the input unit 220 may be implemented as a button, a wheel, a touch screen, a touch pad, a mouse, a keyboard, a joystick, or the like provided in the main body of the client device 200.
  • the user may select a content sharing function by using the input unit 220.
  • the controller 230 controls the operation of the client device 200 according to a user selection command input through the input unit 220. Specifically, when the content sharing function is selected by the input unit 220 and the content to be shared is selected, the controller 230 controls the communication unit 210 to transmit a sharing request for the content to the server device 100. .
  • the sharing request includes identification information about the content selected by the input unit 220.
  • the communication unit 210 receives the content when the content is transmitted from the server device 100 according to the sharing request.
  • the content may be transmitted as it is, or parsed or decoded according to the reproduction capability information transmitted to the server device 100.
  • the controller 230 stores the content transmitted from the server device 100 in the storage 250.
  • the controller 230 outputs the content stored in the storage 250 through the display 240.
  • the display unit 240 In FIG. 4, only the display unit 240 is illustrated, but a speaker may be further included. When the speaker is included, a video content or a music content may also be output.
  • the controller 230 parses the content to separate video data and audio data, and checks codec information for each data.
  • the controller 230 decodes the video data and the audio data by using a codec corresponding to the identified codec information, and outputs the decoded video data and audio data.
  • the controller 230 receives the parsed content from the server device 100.
  • the controller 230 decodes and outputs video data and audio data in the content according to the parsing result.
  • the controller 230 receives the decoded content from the server device 100. Accordingly, the controller 230 directly outputs the received content through the display unit 240 or the like without further processing.
  • the client device 200 transmits its reproduction capability information to the server apparatus 100, and the server apparatus 100 determines the reproduction capability of the client apparatus 200 based on this.
  • the client device 200 may directly determine whether the content can be played back.
  • the communication unit 210 receives a parser and a codec list from the server device 100.
  • the parser and codec list may be received at the first connection with the server device 100 or periodically.
  • the storage unit 250 stores the received parser and codec list. In addition, the storage 250 may also store information on the parser and codec already installed in the client device 200.
  • the communication unit 210 may receive information on a list of contents that can be provided from the server device 100.
  • the controller 230 displays the received content list through the display 240.
  • the user may input a play request by selecting one from the content list using the input unit 220.
  • the controller 230 comprehensively considers information on a parser and codec pre-installed on the client device and a list of parsers and codecs received from the server device 100 to parse and decode the selected content. Determine if it is possible.
  • the controller 230 determines that the content can be played back and uses the server 210 using the communication unit 210.
  • the content sharing request is transmitted to the device 100.
  • the controller 230 transmits a content sharing request to the server device 100 when the content sharing request is sent to the server device 100.
  • the server apparatus 100 may transmit the content after performing the necessary processing by transmitting the capability information or the parsing and decoding request together.
  • the controller 230 determines that playback of the content is impossible. In this case, the display unit 240 displays a non-playback message.
  • a process of requesting content from the server device 100 and receiving the content and attempting to play the content in the client device 200 may be omitted. Accordingly, resources for the communication process can be cut.
  • the server device 100 may request the server device 100 to play the content quickly.
  • whether or not playability can be displayed on the content list itself displayed on the display unit 240 of the client device 200.
  • a symbol, text, image, etc. to indicate that the current state is not playable is displayed together on the content list. Can be.
  • the content of the non-playable state may be dimly displayed as an inactive state that the user cannot select so that the user intuitively knows that the content cannot be played.
  • the content in the non-playable state may be implemented not to be displayed at all in the content list.
  • the server device 100 and the client device 200 may determine whether the content can be processed according to the capacity of each device, and take action accordingly.
  • FIG. 6 is a timing diagram illustrating a content sharing method according to an embodiment of the present invention.
  • FIG. 6 illustrates that the user of the server device 100 transmits content stored in the server device 100 or being played on the server device 100 to another device, that is, the client device 200, to play the content on the client device 200. It shows the process to make.
  • the user of the server device 100 may share the content as shown in FIG. 6 at the request of another person or when the user wants to play the content using another device.
  • the user may select content to be shared with other devices in the server device 100 (S610).
  • the content may be various, such as content stored in the storage unit 130 inside the server device 100 or content retrieved from a network connected to the server device 100.
  • the user can select a client device to share the content (S620).
  • the server device 100 displays the information on the external device connected to the communication on the screen so that the user can select.
  • FIG. 6 illustrates that the client device can be selected after the content selection, the order may be reversed in the implementation.
  • the server device 100 connects communication with the client device 200 and requests the client device 200 for reproduction capability information (S630).
  • the client device 200 transmits the reproduction capability information in response to the request (S640).
  • the reproduction capability information may further include various additional information such as resolution, display size, output frame rate, output color gamut, as well as information on the parser and the codec.
  • the server device 100 compares the playability information and the attribute of the content selected by the user to determine whether it can be played back (S650), processes the content according to the determination result (S660), or transmits it to the client device 200 as it is. (S670).
  • the client device 200 plays the transmitted content (S680). Since the method of determining whether or not reproduction is possible and the content processing method thereof have been described in detail in the above-described part, redundant description will be omitted.
  • the reproducing capability information transmission event is an event in which a predetermined time period arrives, an event in which a content sharing function is selected, an event in which an information request is transmitted from the server apparatus 100, an event initially connected to the server apparatus 100, a client apparatus ( It may be an event such as a change in the reproduction capability of the 200).
  • the server apparatus 100 determines whether a content transmission event has occurred (S730).
  • the content delivery event refers to an event in which the server device 100 should push content to the client device 200.
  • an event in which the reservation time arrives, an event in which a VOD (Video on Demand) reservation occurs, and the client device 200 May include advertisements, announcements, and events that generate digital information display (DID) content.
  • the server device 100 compares previously transmitted and stored playback capability information with attributes of the content to determine whether the client device 200 is in a playable state (S740), and according to the determination result.
  • the content is processed as it is (S750) or transmitted (S760).
  • the client device 200 plays the content transmitted from the server device 100 (S770).
  • FIGS. 6 and 7 have described embodiments in which content sharing can be performed even when there is no content sharing request in the client device 200. However, some embodiments may request content directly from the client device 200.
  • FIG. 8 is a timing diagram illustrating a content sharing method according to another embodiment of the present invention.
  • the client device 200 transmits reproduction capability information to the server device 100 (S810).
  • the server device 100 transmits a content list to the client device 200 that has transmitted the reproduction capability information (S820).
  • the client device 200 displays a list of transmitted contents so that the user selects them. The user may select at least one on the content list. The client device 200 may transmit a sharing request for at least one selected content (S830).
  • the server device 100 determines whether the client device 200 can play the content based on the attribute of the requested content and the reproduction capability information of the client device 200 (S840).
  • the content is processed as it is or appropriately (S850) and transmitted to the client device (S200).
  • the transmission may be performed all at once after the processing for the content is completed, or may be performed by streaming in real time from the first processed content portion during the processing.
  • the client device 200 plays the received content (S870).
  • the server device 100 determines whether playback is possible using the reproduction capability information and the attributes of the content, and performs processing according to the determination result.
  • a determination method of the server device 100 and a processing method thereof will be described in detail.
  • the server device 100 receives information on a playing capability of a client device (S910) and checks an attribute of content to be provided (S920).
  • the attributes of the content may include various types of information such as content type, codec information, content size, resolution, and playback time.
  • the server device determines whether the client device has both a parser and a codec capable of processing the content (S930).
  • the server device 100 determines whether the client device has a video parser.
  • the server device 100 may determine the type of the content using the extension of the content file and determine a parser corresponding thereto.
  • the video content has an extension such as AVI, MPG, TP, TS, ASF, etc.
  • the image content has an extension such as JPEG, PNG, BMP, GIF, or the like.
  • audio content has an extension such as MP3, OGG, WMA, and the like
  • document content has an extension such as DOC, HWP, XLS, and PPT. After checking the extension of each content file, the server device 100 may determine which parser is required.
  • the client device determines whether the client device has a codec corresponding to the extension of the content. For example, if the content is a file compressed with wmv, which is a Windows extension, it is determined whether the wmv codec is installed in the client device. In addition, in the case of an AVI (Audio Video Interleave) file, it is determined whether the MPEG codec is installed. In case of an extension such as DIVX or XVID, it is determined whether the DIVX codec and the XVID codec are installed. If you have the same codec installed, check the version. If it is confirmed that the version is different, it is determined that the codec is not provided.
  • wmv which is a Windows extension
  • the server device parses and decodes the corresponding content and streams it (S960).
  • the client device 200 can play the content even though the client device 200 does not have a parser or a codec.
  • FIG. 10 is a flowchart illustrating a content sharing method of a server device according to another embodiment of the present invention.
  • the server apparatus 100 includes all the content, the content is parsed and decoded and streamed (S1070).
  • the server device 100 does not have all of the parser and the codec, it is determined whether it is possible to install the unprepared (S1080). For example, if the parser is not installed, various external devices connected to the server device 100 by wire or wirelessly, or a source that can provide the necessary parser through the Internet, are searched for. The codec can be retrieved in the same way.
  • the server apparatus 100 installs the corresponding parser or codec (S1090), performs parsing and decoding, and streams the final processed content to the client apparatus 200 (S1070). On the other hand, if the installation is impossible, and transmits a non-playback response to the client device 200 (S1100). If the server apparatus 100 is provided with an output means such as a display unit or a speaker, the non-playback response may be output from the server apparatus 100.
  • the server apparatus 100 when only the codec is provided without the parser (S1110: Y), it is determined whether the server apparatus 100 has the parser (S1120). If it is determined that the parser is provided, the server device 100 parses the corresponding content and then streams the parsing result and the content together (S1130). On the other hand, if no parser is provided, it is determined whether the server device 100 can install the parser (S1140). If it is possible to install the parser (S1150), the content is parsed and the parsing result and the content are streamed to the client device 200 (S1130). If the server device 100 cannot install the parser (S1140), it transmits a non-playback response to the client device 200 or outputs itself (S1160).
  • the reproduction possibility can be improved in various ways.
  • the client device 200 may display screens of various layouts for content sharing and playback. 12 to 14 show examples of screens displayed on the client device 200.
  • the client device 200 includes a screen including a first display area 10 for various communication-connected devices and a second display area 20 for the type and number of contents retrieved through a network. Is displayed.
  • an icon image of each of the devices connected to the client device 200 is displayed.
  • the image displayed on the first display area 10 may include a different number of icon images as the number of searched devices, or may be a fixed image that is displayed by default when the content sharing function is executed.
  • categories classified by a plurality of different content types such as a video category, a photo category, and a music category are displayed, and the number of contents belonging to the category is displayed together.
  • the user may select one category in the second display area 20 and check a list of contents belonging to the category.
  • FIG. 13 illustrates a screen displayed when a video category is selected among the categories of the second display area 20. According to FIG. 13, tabs 31, 32, and 33 for each category are displayed at the top of the screen.
  • information on the types of contents belonging to the currently selected tab 31 is displayed in a list form.
  • Such a list may be generated based on content information provided from each of the retrieved server devices.
  • the content information may be various information such as a representative image or text, a full running time, a thumbnail view, a manufacturer, a name of a providing device, and the like.
  • a thumbnail view of each content, a description, a full playback time, and the like are displayed in a list.
  • the information about the content may be implemented in various forms in addition to the list form as shown in FIG.
  • a list composed only of text may be displayed without displaying the representative image.
  • thumbnail view of each content may be displayed.
  • a tab 32 corresponding to a photo category is selected from among the tabs 31, 32, and 33.
  • thumbnail views of various photo contents belonging to a photo category are arranged in a matrix form.
  • the user may select one of various contents displayed as shown in FIG. 13 or FIG. 14.
  • the client device 200 transmits a content sharing request to the server device 100 that can provide the selected content.
  • the content reproduction capability may also be transmitted. In addition to the content reproduction capability, it can be transmitted at various times.
  • 15 is a diagram illustrating a screen displayed by the server apparatus 100 to perform content sharing.
  • the server device 100 displays a background screen a including a plurality of icons.
  • the server device 100 displays a screen (b) displaying a plurality of categories in which pre-stored content is classified according to its type.
  • a screen b including the video category 51, the audio category 52, and the photo category 53 is displayed.
  • various types of categories may be provided.
  • a popup window (d) for selecting a target to play the selected content is displayed.
  • the selected device becomes the client device. That is, the server device 100 checks the play capability information of the selected client device and the attributes of the selected content to determine whether the play is possible. Accordingly, the content is transmitted as it is, or after parsing or decoding is performed.
  • contents are arranged and displayed in a list form, but as shown in FIG. 14, video contents may also be displayed in a thumbnail view form using a representative image.
  • the server device 100 and the client device 200 may share content in various ways. Meanwhile, as described above, the server device 100 may be implemented as various types of devices. Therefore, the components included in the server device 100 may be added or modified according to the implementation form, and some may be deleted.
  • 16 is a block diagram illustrating a configuration of a server apparatus 100 according to various embodiments of the present disclosure.
  • the server device 100 includes a communication unit 110, a control unit 120, a storage unit 130, a GPS receiver 140, a DMB receiver 145, an audio processor 150, and a video processor 160. , A display unit 170, a speaker 175, a sensor unit 180, a button 191, a USB port 192, a camera 193, and a microphone 194.
  • the communication unit 110 includes hardware according to various communication methods such as a Wi-Fi chip 111, a Bluetooth chip 112, an NFC chip 113, a wireless communication chip 114, and the like. These chips may be integrated and used as the original chip, or may be used as separate chips as shown in FIG. 16.
  • the Wi-Fi chip 111, the Bluetooth chip 112, and the NFC chip 113 communicate with each other by WiFi, Bluetooth, and NFC.
  • the NFC chip 113 refers to a chip that operates in the NFC (Near Field Communication) method that uses a 13.56 MHz band among various RF-ID frequency bands such as 135 kHz, 13.56 MHz, 433 MHz, 860-960 MHz, 2.45 GHz, etc. do.
  • the client device 200 should be provided with an NFC tag.
  • the reproduction capability information recorded on the NFC tag is stored by the NFC chip 113 by the server device ( 100).
  • the reproduction capability information not only the reproduction capability information but also various kinds of information can be transmitted and received to each other.
  • various connection information may be transmitted and received first, and then various communication information may be transmitted and received using the same.
  • the wireless communication chip 114 may perform various types of wireless communication using a mobile communication network such as 3G, 4G, or the like.
  • the communication unit 110 may communicate with various external devices, including the client device 200, by using the chips of various configurations.
  • the client device 200 may receive playback capability information, a content sharing request, and the like.
  • the GPS receiver 140 is a component for receiving a GPS signal from a global positioning system (GPS) satellite and calculating a current position of the server apparatus 100.
  • the DMB receiver 145 is a component that receives and processes a digital multimedia broadcasting (DMB) signal.
  • DMB digital multimedia broadcasting
  • the audio processor 150 is a component that processes audio data.
  • the audio processor 150 may perform various processing such as decoding, amplification, noise filtering, or the like on the audio data.
  • the video processor 160 is a component that performs processing on video data.
  • the video processor 160 may perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, resolution conversion, etc. on the video data.
  • the codec described above may be implemented in software, but may also be implemented in hardware.
  • the video processor 160 may include a codec implemented in hardware, and may encode or decode video data using the codec.
  • the display unit 170 may display various screens or objects under the control of the controller 120.
  • a screen for selecting content to share or a screen for selecting a client device may be displayed on the display unit 170.
  • the speaker 175 may output not only various audio data processed by the audio processor 150 but also various notification sounds or voice messages.
  • the sensor unit 180 is a component for sensing a user's manipulation to the server apparatus 100, a state of the server apparatus 100, and the like.
  • the sensor unit 180 may include various sensors such as a geomagnetic sensor 181, a gyro sensor 182, an acceleration sensor 183, and a touch sensor 184.
  • the geomagnetic sensor 181 is a sensor that detects a change in the surrounding geomagnetic field using a two-axis or three-axis fluxgate.
  • the controller 120 may calculate an azimuth using the geomagnetic value detected by the geomagnetic sensor 181. Accordingly, it may be determined in which direction the server apparatus 100 is rotated.
  • the acceleration sensor 182 is a sensor capable of measuring the acceleration and the direction of the acceleration when the movement occurs. Specifically, the acceleration sensor 182 outputs a sensing value corresponding to the gravitational acceleration that changes according to the inclination of the server apparatus 100 to which the sensor is attached.
  • the controller 120 may determine the inclination degree of the moving object using the output value of the acceleration sensor 182.
  • the gyro sensor 183 is a sensor that detects the angular velocity by measuring the force of Coriolis acting in the direction of speed when a rotational movement occurs.
  • the controller 120 may detect the rotation of the server device 100 using the measured value of the gyro sensor 183.
  • the touch sensor 184 may be connected to the display unit 170 to detect a user's touch manipulation.
  • the touch sensor 184 may be implemented as capacitive or pressure sensitive.
  • the capacitive touch sensor calculates touch coordinates by detecting fine electricity excited by the user's human body when a part of the user's body is touched on the surface of the display unit 170 using a dielectric coated on the surface of the display unit 170. Means the sensor.
  • the pressure sensitive touch sensor includes two electrode plates embedded in the display unit 170, and when the user touches the screen, the touch panel calculates touch coordinates by detecting that the upper and lower plates of the touched point are in contact with current. Means touch sensor.
  • the sensor unit 180 detects the coordinates of the point touched by the user through the touch sensor and provides the coordinates to the controller 120.
  • the controller 120 may perform various control operations according to various sensing signals provided from the sensor unit 180. That is, if the coordinate value of the point touched by the touch sensor 184 corresponds to the coordinate on which the content sharing icon is displayed, the content sharing function is recognized and the corresponding program is executed. In addition, when it is detected that the server apparatus 100 is rotated in the horizontal direction or the vertical direction by the geomagnetic sensor 181, the gyro sensor 182, the acceleration sensor 183, and the like, the operation of switching the screen according to the rotation direction is also performed. can do. In addition, according to the movement of the server device 100 sensed by the geomagnetic sensor 181, the gyro sensor 182, and the acceleration sensor 183, the intention of the user may be detected to execute a content sharing function.
  • the server device 100 may further include various components such as a button 191, a USB port 192, a camera 193, a microphone 194, and the like.
  • the button 191 may be various types of buttons such as a mechanical button, a touch pad, a wheel, and the like formed in an arbitrary area such as a front portion, a side portion, a rear portion, etc. of the main body of the server apparatus 100.
  • the USB port 192 means a port to which a USB memory or a USB connector can be connected. The server device 100 may check whether the content stored in the external device connected by the various connection ports as well as the USB port 192 can be searched and shared.
  • the controller 120 may perform a control operation according to a user voice input through the microphone 194 or a user motion recognized by the camera 193. That is, the server device 100 may operate in a motion control mode or a voice control mode. When operating in the motion control mode, the controller 120 activates the camera 193 to photograph the user, tracks the motion change of the user, and performs a control operation corresponding thereto. For example, if it is determined that the user performs a motion corresponding to the content sharing function, the controller 120 may search the stored content and display the screen a as shown in FIG. 15 on the display unit 170. Alternatively, if it is determined that the user pronounces the voice corresponding to the content sharing function by analyzing the user voice input by the microphone 194, the screen a as shown in FIG. 15 may be displayed.
  • the above-described operation of the controller 120 may be performed by a program stored in the storage 130.
  • the storage unit 130 includes various data such as O / S (Operating System) software for driving the server device 100, an application for performing a content sharing function, various data input or set during application execution, content, and the like. Can be stored.
  • the controller 120 controls the overall operation of the server apparatus 100 using various programs stored in the storage 130.
  • the controller 120 includes a RAM 121, a ROM 122, a main CPU 123, a graphics processor 124, first to n interface 125-1 to 125-n, and a bus 126. It includes.
  • the RAM 121, the ROM 122, the main CPU 123, the graphics processor 124, the first through n interfaces 125-1 through 125-n, and the like are connected to each other through the bus 138 to provide various data. Send and receive signals.
  • the first through n interfaces 125-1 through 125-n are connected to not only various components shown in FIG. 16 but also other components so that the main CPU 123 can access them.
  • the main CPU 123 accesses the storage unit 130 and performs booting using an operating system stored in the storage unit 130. Then, various operations are performed using various programs, contents, data, etc. stored in the storage 130.
  • the ROM 122 stores a command set for system booting.
  • the main CPU 123 copies the O / S stored in the storage unit 130 to the RAM 121 according to the command stored in the ROM 122 and executes O / S.
  • the main CPU 123 copies various application programs stored in the storage unit 130 to the RAM 121 and executes the application programs copied to the RAM 121 to perform various operations.
  • the graphic processor 124 configures various screens under the control of the main CPU 123. Specifically, the graphic processor 124 may display screens such as a, b, and c of FIG. 15. The graphic processor 124 calculates a display state value for the screen.
  • the display state value may be a coordinate value of a position where an object is to be displayed on the screen, an attribute value indicating the shape, size, color, etc. of the object.
  • the graphic processor 124 performs rendering based on the value to generate a screen.
  • the main CPU 123 determines that the user inputs a content sharing command by the sensor unit 180 or the button 191
  • the main CPU 123 searches for content stored in the storage unit 140 and displays a screen corresponding to the search result.
  • the graphics processing unit 124 is controlled to generate.
  • the controller 120 may copy and execute a program stored in the storage 130 to the RAM 121 to perform various operations.
  • the storage unit 130 includes a base module 131, a sensing module 132, a communication module 133, a presentation module 134, a web browser module 135, and a content processing module 136. Include.
  • the base module 131 refers to a base module that processes a signal transmitted from hardware provided in the server device 100 and transmits the signal to an upper layer module.
  • the base module 131 includes a storage module 131-1, a location based module 131-2, a security module 131-3, a network module 131-4, and the like.
  • the storage module 131-1 is a program module that manages a database (DB) or a registry.
  • the main CPU 123 may access a database in the storage unit 130 using the storage module 131-1 to read various data.
  • the location-based module 131-2 is a program module supporting location-based services by interworking with various hardware such as a GPS chip.
  • the security module 131-3 is a program module that supports certification, request permission, and secure storage of hardware.
  • the network module 131-4 is a network module for supporting network connection. Modules include DNET module and UPnP module.
  • the sensing module 132 is a module for managing information about an external input and an external device and using the same.
  • the sensing module 132 includes a rotation recognition module, a voice recognition module, a touch recognition module, and a gesture recognition module.
  • the rotation recognition module is a program that calculates a rotation angle and a rotation direction by using sensing values sensed by sensors such as the geomagnetic sensor 181 and the gyro sensor 182.
  • the voice recognition module is a program that analyzes voice signals collected by the microphone 194 and extracts a user's voice
  • the touch detection module is a program that detects touch coordinates by using a sensing value detected by the touch sensor 184.
  • the gesture recognition module is a program that analyzes an image captured by the camera 193 to recognize a gesture of a user.
  • the communication module 133 is a module for communicating with the outside.
  • the communication module 133 may be a messaging module 133-1 such as a messenger program, a short message service (SMS) & multimedia message service (MMS) program, an e-mail program, a call info aggregator program module, a VoIP module, or the like. It may include a phone module 133-2 including a.
  • the presentation module 134 is a module for constructing a display screen.
  • the presentation module 134 includes a multimedia module 134-1 for reproducing and outputting multimedia content, and a UI & graphics module 134-2 for performing UI and graphic processing.
  • the multimedia module 134-1 may include a player module, a camcorder module, a sound processing module, and the like. Accordingly, an operation of reproducing and reproducing a screen and sound by reproducing various multimedia contents is performed.
  • the UI & graphics module 134-2 includes an image compositor module that combines images, a coordinate combination module that generates coordinates on the screen to display an image, an X11 module that receives various events from hardware, 2D or And a 2D / 3D UI toolkit that provides a tool for constructing a 3D UI.
  • the web browser module 135 refers to a module that performs web browsing to access a web server.
  • the web browser module 135 may include various modules such as a web view module constituting a web page, a download agent module for performing a download, a bookmark module, a webkit module, and the like.
  • the content processing module 136 refers to software for processing content stored in the storage 130.
  • the reproduction capability determination module 136-1 is a program that operates with an algorithm for comparing reproduction capability information and content attributes.
  • the parser 136-2 and the codec 136-3 are software provided to the video processor 160 for content processing.
  • the parser 136-2 is typically implemented only in software, and the codec 136-3 may be implemented in software or in hardware.
  • various application modules such as a navigation service module and a game module may be further included.
  • the various program modules illustrated in FIG. 17 may be partially omitted, modified, or added according to the type and characteristics of the server device 100.
  • a broadcast receiving module may be further included.
  • an e-book application, a game application, and other utility programs may be further included.
  • some of the program modules of FIG. 17 may be omitted.
  • FIG. 16 may be applied to the server apparatus disclosed in the aforementioned various embodiments.
  • components shown in FIG. 16 may be partially omitted, modified, or added according to the type and characteristics of the server apparatus 100.
  • the server device 100 is a TV
  • hardware such as an antenna or a tuner may be further included.
  • FIG. 16 has been described as a configuration of the server device 100, as described above, the server device 100 and the client device 200 may be implemented in the same or similar types of user terminal devices. In this case, the configuration of FIG. 16 may also be applied to the client device 200.
  • the above-described various embodiments may be implemented in a virtual desktop interface (VDI) environment.
  • the virtual desktop interface is an environment in which a screen to be displayed on a server device connected to a plurality of client devices is configured and provided to each client device so that the user of each client device can check.
  • the VDI environment may be applied to a conference room or a public place for sharing a screen with a plurality of users.
  • the screen sharing system includes a server device 100 and a plurality of client devices 200-1 to 200-n.
  • the server device 100 configures a screen according to a user operation and then provides the configured screen to each of the client devices 200-1 to 200-n.
  • Each client device 200-1 to 200-n displays the provided screen.
  • the screen may display a list of various contents such as moving image content, still image content, document, audio content, and the like. Users of each of the client devices 200-1 to 200-n touch the screen of their client device or click a point on the screen through input means such as a mouse, keyboard, joystick, etc. connected to the client device. , You can select the content.
  • Each client device 200-1 to 200-n transmits coordinate values of the touch point or the click point to the server device 100.
  • the server device 100 determines which point of the screen is selected by each of the client devices 200-1 to 200-n based on the display sizes and the aspect ratios of the client devices 200-1 to 200-n. . Accordingly, the content corresponding to the content information displayed at the selected point is transmitted to each client device 200-1 to 200-n. For example, if the first client device 200-1 selects the first content, the server device 100 transmits the first content to the first client device 200-1, and the second client device 200-2. If the second content has been selected, the server device 100 transmits the second content to the second client device 200-2.
  • Each client device 200-1 to 200-n directly plays the transmitted content. Accordingly, the processing burden and network resource burden on the server device 100 can be reduced. In addition, since the content is directly played by each client device 200-1 to 200-n, the quality of the original content can be maintained.
  • the server device 100 checks the reproduction capability information of the client apparatuses and determines whether there is a reproduction capability.
  • the reproduction capability information may be provided at various times as described above.
  • the server device 100 receives the playback capability information from the client devices 200-1 to 200-n periodically or at the time of content selection.
  • the server device 100 determines whether each of the client devices 200-1 to 200-n can play the corresponding content based on the received playback capability information. If possible, the content is transmitted to each client device 200-1 to 200-n as it is. On the other hand, if the playback is impossible, it is converted into a playable form and transmitted. For example, after performing operations such as parsing or decoding, send them. Since the content processing method has been described in detail in the above-described various parts, redundant description will be omitted.
  • FIG. 19 is a diagram illustrating a screen configuration displayed on one of the client devices used in the screen sharing system of FIG. 18. For convenience of description, FIG. 19 will be described based on the first client device 200-1 among the plurality of client devices 200-1 to 200-n.
  • the client device 200-1 displays the screen 1900 provided by the server device 100 as it is.
  • the screen 1900 may include a play area 1910 for displaying a play result of the multimedia content.
  • the playback area 1910 remains inactive.
  • the inactive state refers to a state in which no content is displayed in the play area 1910.
  • the playback area 1910 may display a phrase or an image for indicating that the deactivated state.
  • the server device 100 transmits the requested content to the client device 200-1. At this time, the server device 100 transmits the coordinate information on which the content reproduction screen is to be displayed to the client device 200-1. In FIG. 19, a coordinate value corresponding to the corner area of the reproduction area 1910 may be transmitted to the client device 200-1.
  • the client device 200-1 plays content using a parser, a codec, and the like, and then overlays the reproduced screen on the original screen 1900.
  • the overlay position may be determined based on the coordinate information provided from the server device 100.
  • the client device 200-1 overlays the reproduced screen 1920 on the playback area 1910 within the original screen 1900.
  • various button menus 1912 for controlling the content playback state are displayed. While the content is being played, the play button menu 1911 may be changed to the pause button menu 1912.
  • the client device 200-1 may not have a parser and a codec for playing content.
  • the server device 100 may perform at least one of parsing and decoding the corresponding content.
  • the server device 100 transmits the parsing result to the client device 200-1, and the client device 200-1 decodes the parsed content to generate the screen 1920.
  • the generated screen 1920 is overlaid on the playback area 1910.
  • the server device 100 When the decoding process is completed, the server device 100 generates the screen itself generated by the decoding and transmits the generated screen to the client device 200-1.
  • the client device 200-1 overlays the generated screen on the playback area 1910.
  • the server device 100 may add a content playback screen to the original screen 1900 to configure one screen, and then transmit the entire screen.
  • the content providing system includes a first display device 2010 and a second display device 2020.
  • the first display apparatus 2010 reproduces content provided from one or a plurality of external sources 2010-1 to 2010-x and displays the reproduction screen 2040.
  • the first display apparatus 2010 may display additional images 2021, 2022, and 2023 provided from each external source 2010-1 to 2010-x.
  • the additional image may be displayed on one side of the screen in a smaller size than the main image screen 2040.
  • an external source for providing the additional video may be provided by performing processing such as parsing and decoding of the additional video.
  • the first display apparatus 2010 may forward the selected additional image to the second display apparatus 2020.
  • the second display apparatus 2020 displays an enlarged image of the additional additional image 2041.
  • the first and second display devices 2010 and 2020 may be connected to various interfaces such as Wi-Fi, Bluetooth, IEEE, Zigbee, HDMI, USB, and the like.
  • the first display apparatus 2010 may transmit the additional image content itself to the second display apparatus 2020 so that the second display apparatus 2020 directly plays it.
  • the first display apparatus 2010 may perform additional image processing, but the second display apparatus 2020 may not perform additional image processing.
  • the first display apparatus 2010 may be provided to the second display apparatus 2020 by parsing and decoding the additional video content, instead of the external source.
  • the additional images described above may be related to the main image.
  • the external sources 2030-1 to 2030-x may be implemented as web servers connected through the Internet.
  • the main image may include Uniform Resource Locators (URLs) of external sources 2030-1 to 2030-x providing the additional image.
  • the first display apparatus 2010 may access additional external sources 2030-1 through 2030-x using a URL and receive an additional image.
  • the external sources 2030-1 to 2030-x may be implemented as terminal devices or servers connected through various communication interfaces. In this case, IP addresses of the external sources 2030-1 to 2030-x may be included in the main video.
  • the external source 2030-1 to 2030-x may be provided to each external source 2030-1 to 2030-x by providing information on the first display device 2010 from a source providing the main image.
  • the additional image may be pushed to the first display apparatus 2010.
  • additional video is provided from a plurality of external sources.
  • the additional video may be provided in addition to the corresponding content. have.
  • the simple thumbnail image may be parsed and decoded by the server device 100 and provided directly to the client device 200.
  • the server device 100 may parse and decode various additional videos, configure the additional video screen, and provide the additional video to the client device 200.
  • the above-described content providing system may be implemented as a home gateway system.
  • a home gateway system includes a home gateway 2120 and a plurality of display devices 2130-1 to 2130-m.
  • Each display device 2130-1 to 2130-m may be implemented as a dummy display device having poor system performance.
  • the home gateway 2120 may transmit content provided from the external source 2110 to each display device 2130-1 to 2130-m.
  • the home gateway 2120 may perform content processing differently according to the content reproduction capability of each display device 2130-1 to 2130-m. For example, in the case of a display device capable of playing content, content of an encoded state transmitted from an external source 2110 is transmitted as it is. On the other hand, in the case of a display device that cannot reproduce contents, the home gateway 2120 may perform the parsing and decoding processing on the contents and transmit the same.
  • the home gateway 2120 may store and use the content reproduction capability of each display device 2130-1 to 2130-m. In addition, the home gateway 2120 may update the stored content playing capability from time to time.
  • a parser and a codec corresponding to an encoding method of the content are required for content reproduction.
  • the codec 2210 performs an encoding process for reducing data size and a decoding process that is the reverse process.
  • the parser performs the process of converting the encoded data into video content in a format such as AVI or MP4 and vice versa.
  • the codec has various kinds such as MPEG (Moving Picture Expert Group) codec, Divx codec, AC3 codec, OGG codec, Xvid codec, H.264 codec, wmv7, 8, 9 codec, Video codec Can be implemented.
  • MPEG Motion Picture Expert Group
  • Divx codec AC3 codec
  • OGG codec OGG codec
  • Xvid codec H.264 codec
  • wmv7, 8, 9 codec Video codec Can be implemented.
  • the codec 2210 includes a video encoder 2211, an audio encoder 2212, a video decoder 2213, and an audio decoder 2214.
  • the parser 2220 includes a video packetizer 2221, an audio packetizer 2222, a mux 2223, a video depacketizer 2224, an audio depacketizer 2225, and a demux 2226. It includes.
  • the video encoder 2211 in the codec 2210 is a component for encoding video data constituting the content
  • the audio encoder 2212 is a component for encoding audio data.
  • the encoding scheme may be implemented in various ways such as moving picture expert group (MPEG), H.264, etc. according to the type of codec.
  • the video data and the audio data encoded by the video encoder 2213 and the audio encoder 2212 are provided to the video packetizer 2221 and the audio packetizer 2222 in the parser 2220, respectively.
  • the video packetizer 2221 configures the video data into video packets having a preset size
  • the audio packetizer 2222 configures audio data into audio packets having a preset size.
  • Each packet may be divided into a header and a payload region having a predetermined size.
  • Video data and audio data may be disposed in the payload area.
  • MUX 2223 multiplexes video and audio packets to form one A / V content stream.
  • the demux 2226 in the parser 2220 detects the video packet and the audio packet by demultiplexing the content.
  • the detected video packet and audio packet are input to the video depacketizer 2224 and the audio depacketizer 2225, respectively.
  • the video depacketizer 2224 removes the header of the video packet and detects video data recorded in the payload area.
  • the audio depacketizer 2225 removes the header of the audio packet and detects the audio data.
  • Video data and audio data are provided to video decoder 2213 and audio decoder 2214 in codec 2210.
  • the video decoder 2213 and the audio decoder 2214 perform decoding on the video data and the audio data, respectively.
  • the above-described configuration of the codec and the parser may be applied to the server device or the client device in the above-described various embodiments. Meanwhile, according to another embodiment of the present invention, only some frames of the content may be matched with the playback capability of the client device. After processing, it can be sent.
  • 23 and 24 are diagrams for describing such an embodiment.
  • the server device 100 transmits information about contents that can be provided to the client device 200.
  • the client device 200 displays the screen 2300 using the transmitted information.
  • the displayed screen 2300 displays information 2310, 2320, and 2330 about contents that can be provided by the server device 100.
  • Each information may be composed of images 2310-1, 2320-1, and 2330-1 and texts 2310-2, 2320-2 and 2330-2.
  • the client device 200 may parse and decode the data provided from the server device 100 to display the images 2310-1, 2320-1, and 2330-1 on the screen 2300.
  • the images 2310-1, 2320-1, and 2330-1 may be one thumbnail still image or may be a video including a predetermined number of frames.
  • the image may not be displayed normally.
  • a symbol such as X may be displayed, or the image 2320-1 itself may be blackened. Therefore, a problem occurs that the user of the client device 200 cannot confirm the image of the corresponding content.
  • the server device 100 may perform processing such as parsing and decoding on the image 2320-1 and transmit the same to the client device 200.
  • FIG. 24 illustrates a state in which an image 2320-1 is processed by the server device 100 and displayed on the client device 200.
  • the server device 100 may be implemented as described above in various exemplary embodiments.
  • the storage unit 130 stores content to be provided to the client device, and the communication unit 110 receives the reproduction capability information from the client device 200. Receive.
  • the reproduction capability information may be periodically transmitted or may be transmitted whenever a specific event occurs, such as when the client apparatus 200 is turned on or reset, or when the server apparatus 100 requests it.
  • the controller 120 may transmit guide information related to the contents stored in the storage 130 to the client device 200.
  • the guide information may include images and text as shown in FIGS. 23 and 24.
  • the controller 120 determines whether to perform locally processing on content to be provided to the client device 200 based on the reproduction capability information of the client device 200.
  • Local processing means processing only a portion of the content, not the entire content.
  • the content may be divided into preset data units. For example, in the case of division by frame, if it is determined that local processing is necessary, the controller 120 selects some frames in the content. The selected frame is processed to be reproduced by the client device 200 and transmitted to the client device 200 through the communication unit 110.
  • the controller 120 may determine whether local processing is necessary based on the attribute of the content and the reproduction capability information. For example, if the client device 200 includes a parser and a codec capable of processing content, it may be determined that local processing is unnecessary, and if at least one of the parser and codec is not provided, it may be determined that local processing is necessary.
  • Units of content to be locally processed may be classified according to various criteria as described above.
  • the controller 120 selects and selects at least one of various image frames such as a highlight image frame designated as a highlight portion in the content, an image frame sampled according to a preset period, and an image frame in a preset order. At least one of parsing and decoding may be performed on the frame.
  • the highlight image frame may be designated by additional information such as metadata.
  • the preset period means a period of a predetermined frame number unit. For example, one frame may be sampled every 600 frames, and processing such as parsing and decoding may be performed on the sampled frame.
  • the image frames in the preset order may be image frames arranged at predetermined points of time such as the first part, the middle part, and the second part of the content playback. The number of image frames to be selected, or the data length can be arbitrarily determined.
  • the client device 200 when a plurality of frames are processed in a reproducible form and transmitted to the client device 200, the client device 200 normally includes information 2310, 2320, and 2330 as well as an image of each content as illustrated in FIG. 24. Can be displayed.
  • the server device 100 transmits content corresponding to the selected information to the client device 200.
  • the content corresponding to the first and third information 2310 and 2330 can be reproduced by the client device 200. Accordingly, when one of the first and third information 2310 and 2330 is selected, the server device 100 transmits the corresponding content to the client device 200 as it is.
  • the server device 100 performs at least one of parsing and decoding on the content corresponding to the second information 2320 to perform the client device 200.
  • the client device 200 may show the user with the dictionary information for each content even without all the parsers and codecs, and may provide the playback screen when the content is selected.
  • the operation of the server device 100 including the communication unit 110, the control unit 120, and the storage unit 130 has been described mainly. However, the operation may be implemented by a content sharing method performed by the server device. Since the content sharing method may also be implemented as described in FIG. 24, a flowchart thereof will be omitted.
  • methods according to the various embodiments described above may be generated in software and mounted on a server device or a client device.
  • a non-transitory computer readable medium may be installed that stores a program that performs a transmission step of processing the content in a reproducible form and transmitting the content to the client device.
  • the client device may further include generating playback capability information including its own parser and codec information, transmitting the generated playback capability information to a server device, and receiving and playing content from the server device.
  • This stored non-transitory readable medium may be installed.
  • the client device may include receiving and storing a parser and codec list from a server device, receiving a play request for content stored in the server device, information about the parser and codec included in the client device and the reception. Determining whether the content can be played using the parser and the codec list, and transmitting a content sharing request to the server device if the content can be played, and if the content cannot be played, the content cannot be played.
  • a non-transitory readable medium having stored thereon a program that performs the step of displaying a message may be installed.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently and is readable by a device, not a medium storing data for a short time such as a register, a cache, a memory, and the like.
  • a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.

Abstract

서버 장치의 컨텐츠 공유 방법이 개시된다. 본 방법은, 클라이언트 장치로부터 재생 능력 정보를 수신하는 단계, 수신된 재생 능력 정보를 기초하여 클라이언트 장치로 제공할 컨텐츠에 대한 국부적 처리(partly processing)를 수행할 지 여부를 판단하는 판단 단계 및 국부적 처리가 필요하다고 판단되면 컨텐츠 내에서 일부 프레임을 클라이언트 장치에서 재생 가능하도록 처리하여 클라이언트 장치로 전송하는 전송 단계를 포함한다. 이에 따라, 컨텐츠를 효율적으로 제공할 수 있다.

Description

컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법
본 발명은 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법에 대한 것으로, 보다 상세하게는, 클라이언트 장치의 특성을 고려하여 컨텐츠를 공유하는 서버 장치 및 그 서버 장치로부터 컨텐츠를 제공받아 재생하는 클라이언트 장치와 그 컨텐츠 공유 방법에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 종류의 전자 기기가 개발되어 보급되고 있다. 특히 최근에는 스마트폰, 스마트 TV 등과 같이 종래의 기기보다 진화된 성능의 사용자 단말 장치들의 사용이 급속도로 증가하고 있다.
사용자들은 자신이 구비한 사용자 단말 장치와 주변 장치들을 네트워크로 연결하여 사용할 수 있다. 일 예로 자신의 장치와 타 장치 사이에서 컨텐츠를 공유할 수 있다.
컨텐츠 공유가 가능하려면, 컨텐츠를 제공받는 장치, 즉, 클라이언트 장치에서는 제공된 컨텐츠를 처리하기 위한 하드웨어 및 소프트웨어를 갖추고 있어야 한다.
하지만, 다양한 유형의 컨텐츠가 제작됨에 따라 컨텐츠 처리에 필요한 파서나 코덱 등도 다양하게 이용되고 있다. 따라서, 클라이언트 장치에서 서버 장치로부터 컨텐츠를 제공받더라도, 그 컨텐츠를 처리할 수 있는 파서나 코덱을 구비하고 있지 않는 경우가 발생할 수 있다.
이 경우, 컨텐츠 자체는 정상적으로 공유하였지만, 그 컨텐츠를 재생시킬 수가 없어서, 컨텐츠 이용이 불가능하다는 문제점이 있었다.
따라서, 컨텐츠 공유 기능을 좀 더 효과적으로 사용할 수 있는 기술에 대한 필요성이 대두되었다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은, 클라이언트 장치의 성능을 고려하여 컨텐츠를 적절하게 처리한 후 제공하는 서버 장치와, 그 컨텐츠를 수신하여 재생하는 클라이언트 장치 및 그들의 컨텐츠 공유 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따르면, 서버 장치의 컨텐츠 공유 방법은, 클라이언트 장치로부터 재생 능력 정보를 수신하는 단계, 상기 클라이언트 장치로 제공할 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치가 상기 컨텐츠를 재생 불가능하다고 판단되면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하는 전송 단계를 포함한다.
여기서, 상기 클라이언트 장치가 상기 컨텐츠를 재생 가능하면 상기 컨텐츠를 상기 클라이언트 장치로 전송하는 단계를 더 포함할 수도 있다.
그리고, 상기 처리는 상기 컨텐츠를 파싱 처리하는 것일 수 있다.
또는, 상기 처리는 상기 컨텐츠에 포함된 오디오 데이터 및 비디오 데이터 중 적어도 하나를 디코딩 처리하는 것일 수 있다.
또는, 본 방법은, 상기 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여, 상기 클라이언트 장치가 상기 컨텐츠를 처리할 수 있는 파서 및 코덱을 구비하였다면 상기 컨텐츠의 재생이 가능하다고 판단하고, 상기 파서 및 상기 코덱 중 적어도 하나를 미구비하였다면 상기 컨텐츠의 재생이 불가능하다고 판단하는 단계를 더 포함할 수 있다.
또는, 상기 클라이언트 장치가 상기 컨텐츠의 컨텐츠를 처리할 수 있는 파서 및 코덱 중 적어도 하나를 미구비하였다면, 상기 서버 장치가 상기 파서 및 코덱을 구비하였는지 판단하는 단계, 상기 서버 장치가 상기 파서 및 코덱 중 적어도 하나를 미구비하였다면, 구비 가능한지 판단하는 단계, 상기 구비가 가능하다면 상기 파서 및 코덱 중 적어도 하나를 구비하여 상기 컨텐츠를 처리하고, 구비가 불가능하다면 재생 불가 응답을 상기 클라이언트 장치로 전송하는 단계를 더 포함할 수도 있다.
또한, 본 방법은, 상기 클라이언트 장치로부터 컨텐츠 공유 요청을 수신하는 단계를 더 포함할 수도 있다.
또한, 상기 재생 능력 정보는 상기 클라이언트 장치로부터 주기적으로 또는 요청에 따라 전송될 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 서버 장치는, 클라이언트 장치로 제공할 컨텐츠가 저장된 저장부, 상기 클라이언트 장치로부터 재생 능력 정보를 수신하는 통신부 및 상기 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치에서 상기 컨텐츠 재생이 불가능하면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하는 제어부를 포함한다.
여기서, 상기 제어부는, 상기 클라이언트 장치에서 상기 컨텐츠 재생이 가능하면, 상기 컨텐츠를 바로 상기 클라이언트 장치로 전송할 수 있다.
그리고, 상기 제어부는, 상기 재생 능력 정보에 기초하여, 상기 클라이언트 장치가 상기 컨텐츠에 대응되는 파서 및 코덱을 구비하였는지 확인하고, 상기 파서 및 상기 코덱을 구비하였다면 상기 컨텐츠의 재생이 가능하다고 판단하고 상기 파서 및 상기 코덱 중 적어도 하나룰 미구비하였다면 상기 컨텐츠의 재생이 불가능하다고 판단할 수 있다.
또한, 상기 제어부는, 상기 클라이언트 장치에서 상기 컨텐츠의 파싱이 불가능하면 상기 컨텐츠를 파싱 처리하여 상기 클라이언트 장치로 전송할 수 있다.
그리고, 상기 제어부는, 상기 클라이언트 장치에서 상기 컨텐츠에 대한 디코딩이 불가능하면 상기 컨텐츠에 포함된 오디오 데이터 및 비디오 데이터 중 적어도 하나를 디코딩하여 상기 클라이언트 장치로 전송할 수 있다.
또는, 상기 제어부는, 상기 클라이언트 장치에서 상기 컨텐츠의 재생이 불가능하면 상기 서버 장치가 상기 파서 및 코덱을 구비하였는지 판단하고, 상기 서버 장치가 상기 파서 및 코덱 중 적어도 하나를 미구비하였다면 구비 가능한지 판단하며, 구비가 가능하다면 상기 파서 및 코덱 중 적어도 하나를 신규 설치하여 상기 컨텐츠를 처리하고, 구비가 불가능하다면 재생 불가 응답을 상기 클라이언트 장치로 전송할 수 있다.
그리고, 상기 통신부는, 상기 재생 능력 정보를 상기 클라이언트 장치로부터 주기적으로 수신할 수 있다.
또한, 상기 통신부는, 상기 클라이언트 장치로부터 상기 컨텐츠에 대한 재생 명령이 수신되면, 상기 클라이언트 장치에 대하여 상기 재생 능력 정보를 요청하여 수신할 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 클라이언트 장치의 컨텐츠 공유 방법은, 서버 장치로부터 파서 및 코덱 목록을 수신하여 저장하는 단계, 상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 단계, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하는 단계, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하고, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 단계를 포함한다.
또한, 본 발명의 일 실시 예에 따르면, 클라이언트 장치는, 서버 장치로부터 파서 및 코덱 목록을 수신하는 통신부, 상기 파서 및 코덱 목록을 저장하는 저장부, 상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 입력부, 상기 재생 요청이 입력되면, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하고, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하는 제어부, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 디스플레이부를 포함한다.
이상과 같은 다양한 실시 예들에 따르면, 본 발명에서는 서버 장치 및 클라이언트 장치 사이에서 통신 자원을 과도하게 낭비하지 않으면서, 컨텐츠 공유가 효과적으로 이루어질 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 컨텐츠 공유 시스템의 구성을 나타내는 블럭도,
도 2는 액세스 포인트를 더 포함하는 컨텐츠 공유 시스템의 구성을 나타내는 도면,
도 3은 본 발명의 일 실시 예에 따른 서버 장치의 구성을 나타내는 블럭도,
도 4는 본 발명의 일 실시 예에 따른 클라이언트 장치의 구성을 나타내는 블럭도,
도 5는 컨텐츠를 공유하기 위하여 사용되는 메시지 포맷의 일 예를 나타내는 도면,
도 6은 본 발명의 일 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도,
도 7 및 도 8은 본 발명의 다양한 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도,
도 9 및 도 10은 본 발명의 다양한 실시 예에 따른 서버 장치의 컨텐츠 공유방법을 설명하기 위한 흐름도,
도 11은 본 발명의 또 다른 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 흐름도,
도 12는 클라이언트 장치에서 서버 장치를 선택하기 위한 화면 구성의 일 예를 나타내는 도면,
도 13 및 도 14는 서버 장치로부터 제공받고자 하는 컨텐츠를 선택하기 위한 화면 구성의 다양한 예를 나타내는 도면,
도 15는 서버 장치에서 클라이언트 장치를 선택하여 컨텐츠를 공유하도록 하는 화면 구성의 일 예를 나타내는 도면,
도 16은 본 발명의 다양한 실시 예에 따른 서버 장치의 구성을 종합적으로 설명하기 위한 블럭도,
도 17은 도 16의 서버 장치에서 사용되는 프로그램의 구성의 일 예를 설명하기 위한 도면,
도 18은 본 발명의 일 실시 예에 따른 화면 공유 시스템의 구성을 나타내는 도면,
도 19는 화면 공유 시스템에 사용된 클라이언트 장치의 화면의 일 예를 나타내는 도면,
도 20은 본 발명의 또 다른 실시 예에 따른 컨텐츠 제공 시스템의 구성을 나타내는 도면,
도 21은 본 발명의 또 다른 실시 예에 따른 홈 게이트웨이 시스템의 구성을 나타내는 도면,
도 22는 본 발명의 다양한 실시 예에 적용 가능한 코덱 및 파서 구성의 일 예를 나타내는 도면,
도 23 및 도 24는 본 발명의 또 다른 실시 예에 따른 서버 장치 및 클라이언트 장치의 동작을 설명하기 위한 도면이다.
이하에서, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 컨텐츠 공유 시스템의 구성을 나타내는 도면이다. 도 1은 서버 장치(100) 및 클라이언트 장치(200)가 직접 통신을 연결하는 경우를 나타낸다.
도 1에 따르면, 서버 장치(100)는 클라이언트 장치(200)로 전송 가능한 적어도 하나의 컨텐츠를 저장한다. 컨텐츠란 동영상, 음악, 사진, 이미지, 문서, 텍스트, 프로그램 등과 같은 다양한 종류의 데이터가 될 수 있다. 서버 장치(100)는 일반적인 서버로 구현될 수도 있으나 이에 한정되지 않고 휴대폰이나 TV, PDA, 태블릿 PC, PC, 노트북 PC, 전자 액자, 키오스크, 전자 광고판 및 기타 사용자 단말 장치 등으로 구현될 수 있다. 또한, 클라이언트 장치(200)는 비디오 컨텐츠 및 오디오 컨텐츠 등을 출력할 수 있는 다양한 형태의 장치로 구현될 수 있다. 예를 들어, 클라이언트 장치(200) 역시 휴대폰이나 TV, PDA, 태블릿 PC, PC, 노트북 PC, 전자 액자, 키오스크, 전자 광고판 등과 같이 다양한 단말 장치로 구현될 수 있다.
클라이언트 장치(200)는 컨텐츠 공유 기능을 실행하여, 서버 장치(100)에 저장된 컨텐츠를 이용할 수 있다. 컨텐츠 공유 기능이란 복수의 서로 다른 장치들 사이에서 컨텐츠를 다운로딩하거나 스트리밍하여 공유하도록 하는 기능을 의미한다. 컨텐츠 공유 기능의 일 예로는, DLNA(Digital Living Network Alliance) 기능이 있을 수 있다. DLNA 기능이란 다양한 장치들 사이에서 각종 컨텐츠를 공유하는 기능이다. DLNA 기능을 수행함에 있어서 컨텐츠를 제공하는 장치는 디지털 미디어 서버(Digital Media Server : DMS)라 하고, 제공된 컨텐츠를 재생하는 장치는 디지털 미디어 렌더링 장치(Digital Media Renderer : DMR) 또는 디지털 미디어 플레이어(Digital Media Player : DMP)라 한다. 도 1에서는 클라이언트 장치(200)가 DMR 또는 DMP가 될 수 있고, 서버 장치(100)가 DMS가 될 수 있다.
서버 장치(100)는 클라이언트 장치(200)의 재생 능력 정보를 확인하여 클라이언트 장치(200)가 컨텐츠 재생이 가능한지 여부를 판단할 수 있다. 재생 능력 정보는 클라이언트 장치(200)가 구비한 파서(parser), 코덱(codec)에 대한 정보가 될 수 있다.
파서란 컨텐츠를 분석하여 컨텐츠 재생에 필요한 각종 정보를 검출하기 위한 구성이다. 파서의 예로는 동영상 파서, 이미지 파서, 오디오 파서, XML 파서 등이 있을 수 있다. 코덱이란 데이터 스트림이나 신호에 대해서 인코딩 또는 디코딩을 수행할 수 있는 구성을 의미한다. 코덱의 예로는 MPEG(Moving Picture Expert Group) 코덱, Divx 코덱, AC3 코덱, OGG 코덱, Xvid 코덱, H.264 코덱, wmv7, 8, 9 코덱, 비디오 코덱(Video Codec) 등이 있을 수 있다. 파서 및 코덱의 세부 구성 예에 대해서는 명세서 후반부에서 구체적으로 설명한다.
컨텐츠 재생 시에는 컨텐츠의 포맷에 따라 적절한 파서 및 코덱이 요구된다. 클라이언트 장치(200)가 파서 및 코덱 중 적어도 하나를 구비하고 있지 않은 경우에는 서버 장치(100)로부터 컨텐츠가 송신된다고 하더라도 제대로 재생을 할 수 없게 된다.
서버 장치(100)는 클라이언트 장치(200)의 재생 능력 정보를 확인하여, 클라이언트 장치(200)로 제공할 컨텐츠의 속성과 비교한다. 서버 장치(100)는 컨텐츠의 속성에 대응되는 파서 및 코덱을 클라이언트 장치(200)가 모두 구비하고 있다고 판단되면, 컨텐츠를 클라이언트 장치(200)로 그대로 전송한다. 이에 따라, 컨텐츠가 압축된 상태로 전송되므로 주파수나 시간 슬롯과 같은 통신 자원을 절약할 수 있다.
반면, 서버 장치(100)는 파서 및 코덱 중 적어도 하나라도 클라이언트 장치(200)가 구비하고 있지 않다고 판단되면, 서버 장치(100)가 컨텐츠를 출력 가능한 형태로 처리하여 클라이언트 장치(200)로 전송한다. 가령, 파서를 구비하고 있지 않다면 파싱을 수행하여 파싱 결과를 컨텐츠와 함께 클라이언트 장치(200)로 전송한다. 반면, 코덱을 구비하고 있지 않거나, 파서 및 코덱을 모두 구비하고 있지 않다면 파싱 및 디코딩을 수행하여 디코딩된 컨텐츠를 클라이언트 장치(200)로 전송한다. 이에 따라, 클라이언트 장치(200)는 재생 가능한 컨텐츠 화면의 데이터를 바로 수신하여 재생할 수 있다.
한편, 상술한 부분에서는 재생 능력 정보가 파서 및 코덱에 대한 정보를 포함하는 것으로 설명하였으나, 본 발명의 또 다른 실시 예에 따르면 재생 능력 정보에는 파서 및 코덱에 대한 정보 이외에 해상도, 디스플레이 사이즈, 출력 프레임 레이트, 출력 색 대역(color gamut) 등과 같은 다양한 부가 정보가 더 포함될 수도 있다.
서버 장치(100)는 클라이언트 장치(200)의 부가 정보에 따라 다양한 부가 처리를 수행할 수 있다. 가령, 클라이언트 장치의 디스플레이 해상도가 컨텐츠의 원 해상도보다 높은 경우에는 컨텐츠의 해상도를 보간하여 클라이언트 장치의 해상도에 맞추는 처리를 수행할 수 있다. 또는, 클라이언트 장치(200)에 구비된 디스플레이부의 가로 세로 비가 컨텐츠의 가로 세로 비와 다른 경우, 클라이언트 장치(200)에 구비된 디스플레이부의 비율에 맞추어 크랍핑(cropping)을 수행할 수 있다. 그 밖에, 클라이언트 장치(200)의 파싱 능력, 디코딩 능력에 맞추어 해상도를 줄이거나 비트 레이트(bit rate)를 조정하여 클라이언트 장치(200)로 전송할 수 있다.
또한, 상술한 바와 같이 도 1은 서버 장치(100) 및 클라이언트 장치(200)가 직접 통신을 수행하는 경우를 설명하였으나, 액세스 포인트를 통해서 통신을 연결할 수도 있다.
도 2는 액세스 포인트를 더 포함하는 컨텐츠 공유 시스템의 구성을 나타내는 도면이다. 도 2에 따르면, 컨텐츠 공유 시스템은 복수의 단말 장치(100, 200-1, 200-2, 200-3, 200-4) 및 중계기(AP)를 포함한다. 각 단말 장치(100, 200-1, 200-2, 200-3, 200-4)는 개별적으로 서버 장치(100) 또는 클라이언트 장치(200)의 역할을 할 수 있다. 도 2에서는 하나의 단말 장치가 서버 장치(100)의 역할을 하고, 나머지가 클라이언트 장치(200-1, 200-2, 200-3, 200-4)의 역할을 하는 경우를 나타낸다.
도 2에 따르면 서버 장치(100) 및 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)는 중계기(AP)를 통해 네트워크를 형성한다.
클라이언트 장치(200-1, 200-2, 200-3, 200-4)중 적어도 하나에서 컨텐츠 공유 기능이 선택되면, 해당 클라이언트 장치는 중계기(AP)를 통해서 서버 장치(100)를 검색한다. 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)가 서버 기능도 갖추고 있다면, 서버 장치(100) 뿐만 아니라 서버 기능을 갖춘 나머지 클라이언트 장치들도 함께 검색될 수 있다.
예를 들어, 제1 클라이언트 장치(200-1)에서 컨텐츠 공유 기능이 선택되었다면, 제1 클라이언트 장치(200-1)는 서버 장치(100)를 검색한 후, 서버 장치(100)에 대해 컨텐츠 정보를 요청할 수 있다. 서버 장치(100)가 저장된 컨텐츠에 대한 정보를 전송하면 제1 클라이언트 장치(200-1)는 컨텐츠 정보를 디스플레이한다. 사용자가 하나의 컨텐츠를 선택하면, 제1 클라이언트 장치(200-1)는 선택된 컨텐츠에 대한 요청 신호 및 제1 클라이언트 장치(200-1)의 재생 능력 정보를 서버 장치(100)로 전송한다.
재생 능력 정보는 요청 신호와 함께 전송될 수 있지만, 반드시 이에 한정되는 것은 아니다. 즉, 재생 능력 정보는 서버 장치(100)의 전송 요청이 있는 경우, 기 설정된 주기가 도래한 경우, 제1 클라이언트 장치(200-1)가 서버 장치(100)에 최초 접속한 경우, 제1 클라이언트 장치(200-1)의 파서나 코덱에 변경 사항이 있는 경우 등에 서버 장치(100)로 전송될 수도 있다. 이러한 다양한 실시 예들에 대해서는 후술하는 부분에서 구체적으로 설명한다.
서버 장치(100)는 상술한 바와 같이 제1 클라이언트 장치(200-1)의 재생 능력 정보와 컨텐츠의 속성을 비교하여 컨텐츠의 재생이 가능한지 여부를 판단한다. 서버 장치(100)는 판단 결과에 따라 컨텐츠를 그대로 또는 적절하게 처리하여 전송한다.
이상에서는 제1 클라이언트 장치(200-1)에서 컨텐츠 공유 기능이 선택된 경우를 설명하였으나, 본 발명의 또 다른 실시 예에 따르면, 컨텐츠를 공유하기 위한 시도는 서버 장치(100)에서 이루어질 수도 있다.
가령, 서버 장치(100)에서 컨텐츠 공유 기능이 선택된 경우, 서버 장치(100)는 저장된 컨텐츠에 대한 목록을 디스플레이할 수 있다. 서버 장치(100)의 사용자는 목록 상에서 공유할 컨텐츠를 선택할 수 있다.
컨텐츠 선택이 이루어지면, 서버 장치(100)는 중계기(AP)를 통해서 검색 신호를 브로드캐스팅할 수 있다. 검색 신호를 수신한 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)는 응답 신호를 전송한다. 응답 신호에는 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)의 IP(Internet Protocol) 어드레스와 같은 식별 정보가 포함될 수 있다. 그 밖에, 응답 신호에는 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)의 재생 능력 정보가 더 포함될 수도 있다.
서버 장치(100)는 응답 신호를 전송한 각 클라이언트 장치에 대한 목록을 디스플레이한다. 서버 장치(100)의 사용자는 디스플레이된 목록 상에서 컨텐츠를 공유할 클라이언트 장치를 선택할 수 있다.
클라이언트 장치가 선택되면 서버 장치(100)는 선택된 클라이언트 장치의 재생 능력 정보 및 컨텐츠의 속성에 기초하여, 클라이언트 장치의 재생 가능 여부를 판단한다. 서버 장치(100)는 판단 결과에 따라 컨텐츠를 그대로 또는 적절한 처리를 수행한 후 클라이언트 장치로 전송한다.
이상과 같이, 서버 장치(100) 및 클라이언트 장치(200) 사이에서는 다양한 방식으로 컨텐츠 공유가 이루어질 수 있으며, 클라이언트 장치(200)의 특성에 맞게 컨텐츠를 처리하여 줄 수 있으므로 효율성을 증대시킬 수 있다.
한편, 도 2에서는 액세스 포인트를 이용하여 컨텐츠 공유가 이루어지는 다양한 실시 예들에 대해서 설명하였으나, 도 2에서 설명한 내용은 도 1의 실시 예에서도 동일하게 구현될 수 있음은 물론이다.
도 3은 본 발명의 일 실시 예에 따른 서버 장치(100)의 구성을 나타내는 블럭도이다. 도 3에 따르면, 서버 장치(100)는 통신부(110), 제어부(120), 저장부(130)를 포함한다.
통신부(110)는 클라이언트 장치(200)로부터 재생 능력 정보를 수신한다. 통신부(110)는 다양한 통신 방식을 이용하여 클라이언트 장치(200)와 통신을 수행할 수 있다. 예를 들어, 3G, 4G, WiFi, Ethernet(유선), 블루투스, NFC(Near Field Communication), 지그비(Zigbee) 등과 같은 다양한 통신 방식이 사용될 수 있다. 각종 정보를 송수신하기 위한 프로토콜은 SOAP(Simple Object Access Protocol), HTTP(Hypertext Transfer Protocol), RTP(Real Time Protocol), DASH (Dynamic Adaptive Streaming over HTTP) 등과 같이 다양하게 사용될 수 있다.
저장부(130)는 각종 컨텐츠 및 프로그램을 저장한다. 저장부(130)는 컨텐츠의 속성에 대한 각종 정보도 함께 저장할 수 있다. 가령, 컨텐츠의 타입, 컨텐츠 포맷, 컨텐츠 사이즈, 컨텐츠 처리를 위한 코덱 정보 등과 같은 속성 정보가 저장될 수 있다. 이러한 속성 정보는 프로토콜의 종류에 따라 MPD(Media Presentation Description) 파일이나 매니페스트 파일과 같은 메타데이터 파일의 형태로 저장될 수 있다.
제어부(120)는 클라이언트 장치(200)와 공유하고자 하는 컨텐츠의 속성과, 클라이언트 장치(200)의 재생 능력 정보에 기초하여 클라이언트 장치에서 컨텐츠 재생이 가능한지 여부를 판단한다. 판단 결과 클라이언트 장치에서 컨텐츠 재생이 가능하면, 컨텐츠를 클라이언트 장치로 그대로 전송한다.
반면, 클라이언트 장치에서 컨텐츠의 재생이 불가능하면, 컨텐츠를 재생 가능한 형태로 처리하여 클라이언트 장치(200)로 전송한다.
구체적으로는, 제어부(120)는 재생 능력 정보에 기초하여, 클라이언트 장치가 컨텐츠에 대응되는 파서 및 코덱을 구비하였는지 확인한다. 예를 들어, 컨텐츠에 포함된 비디오 데이터가 MS MPEG-4 Video Codec V3으로 압축되었고 컨텐츠에 포함된 오디오 데이터는 Windows Media Audio V2로 압축이 되었다면, 클라이언트 장치가 해당 코덱을 갖추고 있는지 판단한다. 판단 결과 파서 및 코덱 중 적어도 하나를 갖추고 있지 않다면, 제어부(120)는 파싱 및 디코딩 중 적어도 하나의 처리를 수행하여 처리 결과를 클라이언트 장치(200)로 전송한다.
가령, 클라이언트 장치(200)가 컨텐츠의 파싱이 불가능한 경우에는, 컨텐츠를 파싱 처리하여 클라이언트 장치(200)로 전송한다.
또는, 클라이언트 장치(200)가 컨텐츠에 포함된 비디오 데이터 및 오디오 데이터 중 적어도 하나에 대한 코덱을 구비하고 있지 않은 경우, 즉, 디코딩이 불가능한 경우에는, 제어부(120)는 컨텐츠에 포함된 오디오 데이터 및 비디오 데이터 중 적어도 하나를 디코딩하여 클라이언트 장치(200)로 전송한다.
한편, 서버 장치(100)도 컨텐츠에 대한 파서나 코덱을 구비하고 있지 않은 경우가 있을 수 있다. 이 경우, 제어부(120)는 컨텐츠 재생에 필요한 파서나 코덱을 구비할 수 있는지 여부를 판단한다.
구체적으로는, 제어부(120)는 통신부(110)를 이용하여 서버 장치(100)가 연결된 네트워크 또는 웹(Web) 상에서 컨텐츠 재생에 필요한 파서나 코덱을 검색한다. 파서나 코덱을 갖춘 소스 장치(미도시)가 검색되면 제어부(120)는 검색된 파서나 코덱에 대한 전송 요청을 소스 장치로 전송한다. 이에 따라, 소스 장치로부터 파서 또는 코덱을 다운로드하여 저장부(130)에 설치한다. 그리고 나서, 제어부(120)는 설치된 파서 및 코덱을 이용하여 컨텐츠를 재생 가능한 형태로 처리한 후, 클라이언트 장치(200)로 전송한다.
반면, 제어부(120)가 파서나 코덱에 대한 소스 장치를 검색하지 못한 경우에는 재생 불가 상태로 판단한다. 제어부(120)는 재생 불가 상태로 판단된 경우에는 컨텐츠를 클라이언트 장치(200)로 전송하지 않을 수 있다.
한편, 클라이언트 장치(200)로부터 컨텐츠 공유가 요청된 경우에는 제어부(120)는 재생 불가 상태임을 알리기 위한 재생 불가 응답을 클라이언트 장치(200)로 전송할 수 있다. 반면, 서버 장치(100) 자체에서 컨텐츠 공유가 요청된 경우에는 제어부(120)는 재생 불가 상태임을 알리기 위한 에러 메시지를 출력할 수 있다.
이상에서는, 서버 장치(100)에서 검색하여 신규 설치한 파서 및 코덱을 이용하여 컨텐츠를 처리한 후 클라이언트 장치(200)로 전송하는 것으로 설명하였으나, 이와 상이한 실시 예에 따라서는, 제어부(120)는 소스 장치로부터 제공된 파서 또는 코덱 자체를 컨텐츠와 함께 클라이언트 장치(200)로 전송하여 줄 수도 있다. 이 경우, 클라이언트 장치(200)는 전달된 파서 또는 코덱을 자체적으로 설치한 후, 설치된 파서 및 코덱을 이용하여 컨텐츠를 재생할 수 있다. 이에 따라 통신 자원을 효율적으로 사용할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 클라이언트 장치의 구성을 나타내는 블럭도이다. 도 4에 따르면, 클라이언트 장치(200)는 통신부(210), 입력부(220), 제어부(230), 디스플레이부(240), 저장부(250)를 포함한다.
통신부(210)는 서버 장치(100)와 통신을 수행한다. 상술한 바와 같이, 통신부(210)는 3G, 4G, WiFi, Ethernet(유선), 블루투스, NFC(Near Field Communication), 지그비(Zigbee) 등과 같은 다양한 통신 방식을 이용하여 서버 장치(100)와 통신을 수행할 수 있다. 또한, 통신부(210)는 SOAP(Simple Object Access Protocol), HTTP(Hypertext Transfer Protocol), RTP(Real Time Protocol), DASH (Dynamic Adaptive Streaming over HTTP) 등과 같은 다양한 통신 프로토콜을 이용하여 통신을 수행할 수 있다.
통신부(210)는 클라이언트 장치의 재생 능력 정보를 서버 장치(100)로 전송한다. 재생 능력 정보는 통신부(210)에 적용된 통신 프로토콜에 따라 다양한 포맷으로 생성되어 전송될 수 있다. 일 예로, HTTP 프로토콜을 사용하는 경우를 설명한다. HTTP 프로토콜은 Get/Post 방식으로 데이터를 전송하는 프로토콜이다. 두 방식 모두 변수(Variable), 변수 값(Value) 쌍을 전송하는 형태이다. 통신부(210)는 클라이언트 장치(200)에 설치된 파서 및 코덱을 나타내는 변수를 정의하고, 해당 변수의 변수 값에 파서/코덱 정보를 넣어서, 서버 장치(100)로 전송한다. 이러한 방식은 3G, 4G, WiFi, Ethernet 등에도 적용될 수 있다.
한편, NFC나 블루투스 방식이 적용된 경우에는, 통신부(210)는 전송되는 데이터 포맷에 일부 영역을 할당하여, 파서/코덱 정보를 일정한 길이로 포맷한 후 실어서 전송하면 된다.
도 5는 블루투스 방식의 패킷의 구성을 나타내는 도면이다. 도 5에 따르면, 패킷은 액세스 코드(Access Code), 헤더(Header), 페이로드(Payload)로 구성된다. 액세스 코드와 헤더는 고정된 길이를 가지고, 페이로드는 패킷의 종류에 따라 달라진다. 액세스 코드는 프리엠블(Preamble), 싱크 워드(Sync word), 트레일러(Trailer)로 구성된다. 액세스 코드는 패킷 식별에 사용된다. 헤더는 기기의 어드레스(AM_ADDR)와 PAYLOAD의 종류를 표시하는 타입(TYPE), 재송제어, Flow 제어 등을 위한 비트(FLOW, ARQN, SEQN)등을 포함한다.
통신부(110)는 패킷의 페이로드 부분에 재생 능력 정보를 삽입하여 전송한다. 재생 능력 정보는 상술한 바와 같이 파서 및 코덱에 대한 정보와 그 밖의 다양한 부가 정보를 포함할 수 있다. 파서 및 코덱은 각각 하드웨어 또는 소프트웨어로 구현될 수 있다. 소프트웨어로 구현된 경우, 파서 및 코덱은 저장부(250)에 저장된다. 재생 능력 정보를 전송하는 시점은 실시 예에 따라 다양하게 달라질 수 있다.
일 예로, 통신부(210)는 기 설정된 시간 주기가 도래할 때마다 재생 능력 정보를 서버 장치(100)로 전송할 수 있다.
다른 예로, 통신부(210)는 입력부(220)에서 컨텐츠 공유 기능이 선택되었을 때 재생 능력 정보를 전송할 수 있다. 재생 능력 정보는 컨텐츠에 대한 공유 요청과 함께 전송될 수도 있고, 공유 요청 이전 또는 이후에 전송될 수도 있다.
또 다른 예로는, 통신부(210)는 서버 장치(100)로부터 정보 요청이 전송되었을 때, 재생 능력 정보를 전송할 수 있다.
또 다른 예로는, 클라이언트 장치(200)가 서버 장치(100)에 최초 접속된 경우에 재생 능력 정보를 전송하거나, 재생 능력에 변경이 있을 경우마다 재생 능력 정보를 전송할 수 있다.
이상과 같이, 통신부(210)는 다양한 방식으로 재생 능력 정보를 서버 장치(100)로 제공할 수 있다.
다시 도 4에 대한 설명으로 돌아가면, 입력부(220)는 각종 사용자 선택 명령을 입력받기 위한 구성요소이다. 입력부(220)는 클라이언트 장치(200)의 본체에 구비된 버튼이나 휠, 터치 스크린, 터치 패드, 마우스, 키보드, 조이스틱 등으로 구현될 수 있다. 사용자는 입력부(220)를 이용하여 컨텐츠 공유 기능을 선택할 수 있다.
제어부(230)는 입력부(220)를 통해 입력된 사용자 선택 명령에 따라 클라이언트 장치(200)의 동작을 제어한다. 구체적으로는, 제어부(230)는 입력부(220)에 의해 컨텐츠 공유 기능이 선택되고 공유하고자 하는 컨텐츠가 선택되면, 컨텐츠에 대한 공유 요청을 서버 장치(100)로 전송하도록 통신부(210)를 제어한다. 공유 요청에는 입력부(220)에 의해 선택된 컨텐츠에 대한 식별 정보가 포함된다.
통신부(210)는 공유 요청에 따라 서버 장치(100)로부터 컨텐츠가 전송되면, 이를 수신한다. 컨텐츠는 서버 장치(100)로 전송한 재생 능력 정보에 따라 그대로 전송되거나, 파싱 또는 디코딩된 상태로 전송될 수 있다.
제어부(230)는 서버 장치(100)로부터 전송된 컨텐츠를 저장부(250)에 저장한다. 제어부(230)는 저장부(250)에 저장된 컨텐츠를 디스플레이부(240)를 통해 출력한다. 도 4에서는 디스플레이부(240)만을 도시하였으나, 스피커도 더 포함될 수 있으며, 스피커가 포함된 경우에는 동영상 컨텐츠나 음악 컨텐츠 등도 출력 가능하다.
제어부(230)는 서버 장치(100)로부터 컨텐츠가 원 상태 그대로 전송된 경우에는 컨텐츠를 파싱하여 비디오 데이터 및 오디오 데이터를 분리하고, 각 데이터에 대한 코덱 정보를 확인한다. 제어부(230)는 확인된 코덱 정보에 대응되는 코덱을 이용하여 비디오 데이터 및 오디오 데이터를 각각 디코딩하여 출력한다.
반면, 제어부(230)는 저장부(250)에 파서가 저장되지 않은 경우에는, 서버 장치(100)로부터 파싱된 컨텐츠를 수신한다. 제어부(230)는 파싱 결과에 따라, 컨텐츠 내의 비디오 데이터 및 오디오 데이터를 디코딩하여 출력한다.
파서 및 코덱 모두가 마련되어 있지 않거나, 파서가 없는 경우에는, 제어부(230)는 서버 장치(100)로부터 디코딩된 컨텐츠를 수신한다. 이에 따라, 제어부(230)는 수신된 컨텐츠에 대해 별다른 추가 처리 없이 바로 디스플레이부(240) 등을 통해 출력한다.
이상의 실시 예에서는 클라이언트 장치(200)는 자신의 재생 능력 정보를 서버 장치(100)로 전송하고, 서버 장치(100)가 이를 바탕으로 클라이언트 장치(200)의 재생 능력을 판단하는 것으로 설명하였다.
하지만, 본 발명의 다른 실시 예에 따르면, 클라이언트 장치(200)가 컨텐츠의 재생 가능 여부를 직접 판단할 수도 있다.
즉, 통신부(210)는 서버 장치(100)로부터 파서 및 코덱 목록을 수신한다. 파서 및 코덱 목록은 서버 장치(100)와의 최초 접속시에 또는 주기적으로 수신할 수 있다.
저장부(250)는 수신된 파서 및 코덱 목록을 저장한다. 그 밖에, 저장부(250)에는 클라이언트 장치(200)에 이미 설치되어 있는 파서 및 코덱에 대한 정보도 함께 저장되어 있을 수 있다.
또한, 통신부(210)는 서버 장치(100)로부터 제공 가능한 컨텐츠의 목록에 대한 정보를 수신할 수 있다.
제어부(230)는 수신된 컨텐츠 목록을 디스플레이부(240)를 통해 디스플레이한다. 사용자는 입력부(220)를 이용하여, 컨텐츠 목록 상에서 하나를 선택하여 재생 요청을 입력할 수 있다.
제어부(230)는 재생 요청이 입력되면, 클라이언트 장치에 기 설치된 파서 및 코덱에 대한 정보와, 서버 장치(100)로부터 수신된 파서 및 코덱 목록을 종합적으로 고려하여, 선택된 컨텐츠에 대한 파싱 및 디코딩이 가능한지 판단한다.
판단 결과, 선택된 컨텐츠를 파싱하기 위한 파서 및 디코딩하기 위한 코덱이 클라이언트 장치(200)에 이미 설치된 상태라면, 제어부(230)는 컨텐츠에 대한 재생이 가능하다고 판단하고, 통신부(210)를 이용하여 서버 장치(100)로 컨텐츠 공유 요청을 전송한다.
또는, 파서나 코덱 중 적어도 하나가 클라이언트 장치(200)에 설치되어 있지 않고, 서버 장치(100)에 설치되어 있다면, 제어부(230)는 서버 장치(100)로 컨텐츠 공유 요청을 전송할 때 자신의 재생 능력 정보 또는 파싱 및 디코딩 요청을 함께 전송하여 서버 장치(100)가 필요한 처리를 수행한 후 컨텐츠를 전송하도록 할 수 있다.
반면, 파서 및 코덱 중 적어도 하나가 클라이언트 장치(200) 및 서버 장치(100) 중 어디에도 설치되어 있지 않다면, 제어부(230)는 컨텐츠에 대한 재생이 불가능하다고 판단한다. 이 경우, 디스플레이부(240)는 재생 불가 메시지를 디스플레이한다.
이러한 실시 예에 따르면, 사용자가 재생 불가능한 컨텐츠를 선택하였을 경우, 서버 장치(100)로 컨텐츠를 요청하여 수신한 후 클라이언트 장치(200)에서 재생을 시도하는 과정이 생략될 수 있다. 이에 따라 통신 과정을 위한 자원을 절역할 수 있다. 또한, 클라이언트 장치(200) 자체에서 재생이 불가능하더라도 서버 장치(100)에서 재생이 가능한 컨텐츠의 경우, 바로 서버 장치(100)로 요청하여 신속하게 재생이 이루어질 수도 있게 된다.
한편, 본 발명의 또 다른 실시 예에 따르면, 클라이언트 장치(200)의 디스플레이부(240)에서 디스플레이되는 컨텐츠 목록 자체에 재생 가능 여부가 표시될 수 있다. 가령, 클라이언트 장치(200) 및 서버 장치(100)에 현재 설치된 파서 및 코덱으로는 재생이 불가능한 컨텐츠에 대해서는, 현재 재생 불능 상태임을 알리기 위한 기호나 텍스트, 이미지 등을 컨텐츠 목록 상에 함께 표시하여 줄 수 있다.
또는, 이러한 재생 불능 상태의 컨텐츠에 대해서는 사용자가 선택 불가능한 비활성 상태로 희미하게 표시하여, 사용자가 해당 컨텐츠는 재생할 수 없다는 점을 직관적으로 알도록 할 수도 있다.
또는, 재생 불능 상태의 컨텐츠에 대해서는 아예 컨텐츠 목록에 표시하지 않도록 구현할 수도 있다.
이상과 같이 서버 장치(100) 및 클라이언트 장치(200)는 각 장치의 능력(capacity)에 따라 컨텐츠의 처리가 가능한지 여부를 판단하여, 그에 따른 조치를 취할 수 있다.
이하에서는, 본 발명의 다양한 실시 예에 따른 컨텐츠 공유 방법을 수행하기 위한, 서버 장치(100) 및 클라이언트 장치(200) 사이의 상호 작용들을 구체적으로 설명한다.
< 컨텐츠 공유 과정에 대한 다양한 예 >
도 6은 본 발명의 일 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도이다. 도 6은 서버 장치(100)의 사용자가 서버 장치(100)에 저장되어 있거나 서버 장치(100)에서 재생 중이던 컨텐츠를 타 장치, 즉, 클라이언트 장치(200)로 전송하여 클라이언트 장치(200)에서 재생하도록 하는 과정을 나타낸다. 서버 장치(100)의 사용자는 타인의 요청에 의해 또는, 자신이 다른 장치를 이용하여 컨텐츠를 재생시키고자 하는 경우에 도 6과 같이 컨텐츠를 공유할 수 있다.
도 6에 따르면, 사용자는 서버 장치(100)에서 타 장치와 공유하고자 하는 컨텐츠를 선택할 수 있다(S610). 컨텐츠는 서버 장치(100) 내부의 저장부(130)에 저장된 컨텐츠 또는 서버 장치(100)와 연결된 네트워크에서 검색된 컨텐츠 등 다양하게 있을 수 있다.
컨텐츠 선택 이후에 사용자는 컨텐츠를 공유할 클라이언트 장치를 선택할 수 있다(S620). 이 경우, 서버 장치(100)는 통신 연결된 외부 기기에 대한 정보를 화면 상에 디스플레이하여 사용자가 선택할 수 있도록 한다.
도 6에서는 컨텐츠 선택 이후에 클라이언트 장치를 선택할 수 있는 것으로 도시되었으나, 구현에 있어서 그 순서는 반대가 될 수도 있음은 물론이다.
사용자가 클라이언트 장치(200)를 선택하면 서버 장치(100)는 클라이언트 장치(200)와 통신을 연결하고, 클라이언트 장치(200)로 재생 능력 정보를 요청한다(S630).
클라이언트 장치(200)는 요청에 응답하여 재생 능력 정보를 전송한다(S640). 상술한 바와 같이 재생 능력 정보에는 파서, 코덱에 대한 정보 뿐만 아니라 해상도, 디스플레이 사이즈, 출력 프레임 레이트, 출력 색 대역(color gamut) 등과 같은 다양한 부가 정보가 더 포함되어 있을 수 있다.
서버 장치(100)는 재생 능력 정보 및 사용자가 선택한 컨텐츠의 속성을 비교하여 재생 가능한지 여부를 판단하고(S650), 그 판단 결과에 따라 컨텐츠를 처리하거나(S660), 그대로 클라이언트 장치(200)로 전송한다(S670). 클라이언트 장치(200)는 전송된 컨텐츠를 재생한다(S680). 재생 가능 여부를 판단하는 방법과, 그에 따른 컨텐츠 처리 방법에 대해서는 상술한 부분에서 구체적으로 설명하였으므로 중복 설명은 생략한다.
도 7은 본 발명의 다른 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도이다. 도 7에 따르면, 클라이언트 장치(200)는 재생 능력 정보 전송 이벤트가 발생하면(S710), 재생 능력 정보를 전송한다(S720). 재생 능력 정보 전송 이벤트란 기 설정된 시간 주기가 도래하는 이벤트, 컨텐츠 공유 기능이 선택되는 이벤트, 서버 장치(100)로부터 정보 요청이 전송되는 이벤트, 서버 장치(100)에 최초 접속되는 이벤트, 클라이언트 장치(200)의 재생 능력에 변경이 생기는 이벤트 등이 될 수 있다.
서버 장치(100)는 재생 능력 정보가 수신되면 컨텐츠 전송 이벤트가 발생하였는지 판단한다(S730). 컨텐츠 전송 이벤트란 서버 장치(100)가 컨텐츠를 클라이언트 장치(200)로 푸쉬(push)하여야 하는 이벤트를 의미한다. 예를 들어, 클라이언트 장치(200) 또는 서버 장치(100)의 사용자가 컨텐츠 전송 예약을 설정한 경우라면 그 예약 시간이 도래하는 이벤트, VOD(Video on Demand) 예약 사항이 발생한 이벤트, 클라이언트 장치(200)로 제공해야 할 광고, 공지 사항, DID(Digital Information Display) 컨텐츠가 발생하는 이벤트 등이 있을 수 있다. 이러한 이벤트가 발생하면, 서버 장치(100)는 기 전송되어 저장된 재생 능력 정보와 컨텐츠의 속성을 비교하여, 클라이언트 장치(200)가 재생 가능한 상태인지 여부를 판단하고(S740), 그 판단 결과에 따라 컨텐츠를 그대로 또는 처리하여(S750), 전송한다(S760). 클라이언트 장치(200)는 서버 장치(100)로부터 전송된 컨텐츠를 재생한다(S770).
이상과 같이 도 6 및 도 7에서는 클라이언트 장치(200)에서 컨텐츠 공유 요청이 없는 상태에서도 컨텐츠 공유가 이루어질 수 있는 실시 예들에 대하여 설명하였다. 하지만, 클라이언트 장치(200)에서 직접 컨텐츠를 요청하는 실시 예도 있을 수 있다.
도 8은 본 발명의 또 다른 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도이다.
도 8에 따르면, 클라이언트 장치(200)는 재생 능력 정보를 서버 장치(100)로 전송한다(S810). 서버 장치(100)는 재생 능력 정보를 전송한 클라이언트 장치(200)에 대해서 컨텐츠 목록을 전송한다(S820).
클라이언트 장치(200)에서는 전송된 컨텐츠 목록을 디스플레이하여, 사용자가 선택하도록 한다. 사용자는 컨텐츠 목록 상에서 적어도 하나를 선택할 수 있다. 클라이언트 장치(200)는 선택된 적어도 하나의 컨텐츠에 대한 공유 요청을 전송할 수 있다(S830).
서버 장치(100)는 공유 요청이 수신되면, 요청된 컨텐츠의 속성과 클라이언트 장치(200)의 재생 능력 정보에 기초하여 클라이언트 장치(200)가 컨텐츠 재생이 가능한지 여부를 판단한다(S840).
판단 결과에 따라 컨텐츠를 그대로 또는 적절하게 처리하여(S850), 클라이언트 장치로 전송한다(S200). 전송은 컨텐츠에 대한 처리가 완료된 이후에 한꺼번에 이루어질 수도 있고, 처리가 이루어지는 중에 먼저 처리된 컨텐츠 부분부터 실시간으로 스트리밍하는 방식으로 이루어질 수도 있다. 클라이언트 장치(200)는 수신된 컨텐츠를 재생한다(S870).
상술한 다양한 실시 예들에서 설명한 바와 같이, 서버 장치(100)는 재생 능력 정보와 컨텐츠의 속성을 이용하여 재생 가능 여부를 판단하고, 그 판단 결과에 따른 처리를 수행한다. 이하에서는 서버 장치(100)의 판단 방법 및 그 처리 방법에 대하여 구체적으로 설명한다.
도 9는 본 발명의 일 실시 예에 따른 서버 장치의 컨텐츠 공유방법을 설명하기 위한 흐름도이다. 도 9에 따르면, 서버 장치(100)는 클라이언트 장치의 재생 능력 정보를 수신하고(S910), 제공할 컨텐츠의 속성을 확인한다(S920). 컨텐츠의 속성에는 컨텐츠 타입, 코덱 정보, 컨텐츠의 사이즈, 해상도, 재생 시간 등과 같이 다양한 정보가 있을 수 있다.
서버 장치는 클라이언트 장치가 컨텐츠를 처리할 수 있는 파서 및 코덱을 모두 구비하였는지 여부를 판단한다(S930).
구체적으로는, 서버 장치(100)는 컨텐츠가 동영상 컨텐츠인 경우 클라이언트 장치가 동영상 파서를 구비하였는지 판단한다. 서버 장치(100)는 컨텐츠 파일의 확장자를 이용하여 그 컨텐츠의 종류를 판단하고, 그에 대응하는 파서를 결정할 수 있다. 가령, 동영상 컨텐츠의 경우에는 AVI, MPG, TP, TS, ASF 등과 같은 확장자를 가지고, 이미지 컨텐츠인 경우에는 JPEG, PNG, BMP, GIF 등과 같은 확장자를 가진다. 또한, 오디오 컨텐츠의 경우에는 MP3, OGG, WMA 등과 같은 확장자를 가지며, 문서 컨텐츠의 경우에는 DOC, HWP, XLS, PPT 등과 같은 확장자를 가진다. 서버 장치(100)는 각 컨텐츠 파일의 확장자를 확인한 후, 어떤 파서가 필요한지 판단할 수 있다.
또한, 컨텐츠의 확장자에 대응되는 코덱을 클라이언트 장치가 구비하였는지 판단한다. 일 예로, 컨텐츠가 윈도우 확장자인 wmv 로 압축된 파일이라면, 클라이언트 장치에 wmv 코덱이 설치되어 있는지 판단한다. 그 밖에, AVI(Audio Video Interleave) 파일인 경우에는 MPEG 코덱이 설치되어 있는지 판단하고, DIVX, XVID 등의 확장자가 붙은 경우에는 DIVX 코덱 및 XVID 코덱이 설치되어 있는지 판단한다. 같은 코덱이 설치되어 있다면 버전까지 확인한다. 확인 결과 버전이 다르다면 코덱을 구비하지 않은 상태로 판단한다.
클라이언트 장치가 파서 및 코덱을 모두 구비하였다고 판단되면(S930), 컨텐츠를 그대로 스트리밍(streaming)한다(S940). 반면, 파서만을 구비하였거나(S950 : Y), 파서 및 코덱 모드를 구비하지 않은 경우에는(S970 : N), 서버 장치에서 해당 컨텐츠를 파싱 및 디코딩하여 스트리밍한다(S960).
한편, 파서를 구비하지 않고 코덱만 구비한 경우에는(S970 : Y), 컨텐츠를 파싱한 후 파싱 결과와 함께 컨텐츠를 스트리밍한다(S980).
이에 따라, 클라이언트 장치(200)는 파서나 코덱을 구비하지 못하였음에도 불구하고 컨텐츠를 재생할 수 있게 된다.
도 10은 본 발명의 다른 실시 예에 따른 서버 장치의 컨텐츠 공유 방법을 설명하기 위한 흐름도이다.
도 10에 따르면, 재생 능력 정보를 수신하고(S1010), 컨텐츠의 속성을 확인한 후(S1020), 두 정보를 비교한 결과, 클라이언트 장치가 파서 및 코덱을 모두 구비한 경우에는(S1030), 컨텐츠를 그대로 스트리밍한다(S1040).
반면, 파서만을 구비하고 있거나(S1050 : Y), 파서 및 코덱 모두를 구비하지 못한 경우에는(S1110 : N), 서버 장치(100)가 파서 및 코덱을 모두 구비하고 있는지 판단한다(S1060).
판단 결과, 서버 장치(100)가 모두 구비하고 있다면 컨텐츠를 파싱 및 디코딩하여 스트리밍한다(S1070). 반면, 서버 장치(100)가 파서 및 코덱을 모두 다 구비하고 있지는 않다면, 미구비된 것을 설치 가능한지 판단한다(S1080). 가령, 파서가 미설치상태라면 서버 장치(100)에 유선 또는 무선으로 연결된 각종 외부 기기나, 인터넷을 통해서 필요한 파서를 제공할 수 있는 소스를 검색한다. 코덱도 마찬가지 방식으로 검색할 수 있다.
서버 장치(100)는 서버가 검색되어 설치가 가능하다면, 해당 파서 또는 코덱을 설치하여(S1090), 파싱 및 디코딩을 수행하고, 최종 처리된 컨텐츠를 클라이언트 장치(200)로 스트리밍한다(S1070). 반면, 설치가 불가능하다면 재생 불가 응답을 클라이언트 장치(200)로 전송한다(S1100). 서버 장치(100)에 디스플레이부나 스피커와 같은 출력 수단이 구비되어 있다면, 재생 불가 응답은 서버 장치(100)에서 출력될 수도 있다.
한편, 파서를 구비하지 않고 코덱만을 구비한 경우에는(S1110 : Y), 서버 장치(100)가 파서를 구비하였는지 판단한다(S1120). 판단 결과 파서를 구비하였다면, 서버 장치(100)가 해당 컨텐츠를 파싱한 후 파싱 결과와 컨텐츠를 함께 스트리밍한다(S1130). 반면, 파서를 구비하지 않았다면 서버 장치(100)가 파서를 설치할 수 있는지 여부를 판단한다(S1140). 파서 설치가 가능하다면 설치 후(S1150), 컨텐츠를 파싱하여 파싱 결과 및 컨텐츠를 클라이언트 장치(200)로 스트리밍한다(S1130). 서버 장치(100)가 파서를 설치할 수 없다면(S1140), 재생 불가 응답을 클라이언트 장치(200)로 전송하거나, 자체적으로 출력한다(S1160).
이상과 같이, 클라이언트 장치(200)에 파서 및 코덱 중 적어도 하나가 설치되어 있지 않더라도, 다양한 방식으로 재생 가능성을 높일 수 있게 된다.
클라이언트 장치(200)는 컨텐츠 공유 및 재생을 위해서 다양한 레이아웃의 화면을 디스플레이할 수 있다. 도 12 내지 도 14는 클라이언트 장치(200)에서 표시되는 화면의 예를 나타낸다.
먼저, 도 12에 따르면, 클라이언트 장치(200)는 통신 연결된 각종 장치들에 대한 제1 표시 영역(10) 및 네트워크를 통해 검색된 컨텐츠의 종류 및 개수에 대한 제2 표시 영역(20)을 포함하는 화면을 디스플레이한다.
제1 표시 영역(10)에는 클라이언트 장치(200)를 중심으로 연결된 각 장치들에 대한 아이콘 이미지가 표시된다. 제1 표시 영역(10)에 표시되는 이미지는 검색된 장치의 개수만큼 상이한 개수의 아이콘 이미지를 포함할 수도 있고, 단순히 컨텐츠 공유 기능이 실행되었을 때 디폴트로 보여지는 고정 이미지일 수도 있다.
제2 표시 영역(20)에는 동영상 카테고리, 사진 카테고리, 음악 카테고리와 같이 복수의 서로 다른 컨텐츠 타입 별로 분류된 카테고리가 표시되고, 그 카테고리에 속하는 컨텐츠의 개수가 함께 표시된다.
사용자는 제2 표시 영역(20)에서 하나의 카테고리를 선택하여, 그 카테고리에 속한 컨텐츠의 목록을 확인할 수 있다.
도 13에서는 제2 표시 영역(20)의 카테고리 중 동영상 카테고리가 선택되었을 때 표시되는 화면을 나타낸다. 도 13에 따르면, 화면 상단에는 각 카테고리에 대한 탭(31, 32, 33)이 표시된다.
그리고, 탭(31, 32, 33)하단에는 현재 선택된 탭(31)에 속하는 유형의 컨텐츠들에 대한 정보가 리스트 형태로 표시된다. 이러한 리스트는 검색된 각 서버 장치들로부터 제공되는 컨텐츠 정보에 기초하여 생성될 수 있다. 컨텐츠 정보란 대표 이미지나 텍스트, 풀 재생 시간(full running time), 썸네일 뷰, 제조자, 제공 장치 명 등과 같이 다양한 정보가 될 수 있다. 도 13에서는 각 컨텐츠에 대한 썸네일 뷰와, 설명, 풀 재생 시간 등이 리스트에 표시된 상태를 나타낸다.
한편, 컨텐츠에 대한 정보는 도 13과 같은 리스트 형태 이외에도 다양한 형태로 구현될 수 있다. 가령, 대표 이미지가 표시되지 않고 텍스트로만 구성된 리스트가 표시될 수도 있다.
또한, 도 14에 도시된 바와 같이 각 컨텐츠에 대한 썸네일 뷰가 표시될 수도 있다. 도 14에서는 탭(31, 32, 33) 중에서 사진 카테고리에 해당하는 탭(32)이 선택된 경우를 나타낸다. 도 14에 따르면, 사진 카테고리에 속하는 각종 사진 컨텐츠들의 썸네일 뷰가 매트릭스 형태로 배열된다.
사용자는 도 13이나 도 14와 같이 표시되는 각종 컨텐츠 중 하나를 선택할 수 있다. 클라이언트 장치(200)는 컨텐츠가 선택되면, 선택된 컨텐츠를 제공할 수 있는 서버 장치(100)로 컨텐츠 공유 요청을 전송한다. 이 경우, 컨텐츠 재생 능력도 함께 전송할 수 있다. 컨텐츠 재생 능력 이외에도 다양한 시점에서 전송될 수 있음은 물론이다.
도 15는 서버 장치(100)에서 컨텐츠 공유를 수행하기 위하여 표시하는 화면을 나타내는 도면이다.
도 15에 따르면, 서버 장치(100)는 복수의 아이콘들을 포함하는 배경 화면(a)을 디스플레이한다. 이러한 상태에서 컨텐츠 공유 기능에 대응되는 아이콘(41)이 선택되면, 서버 장치(100)는 기 저장된 컨텐츠를 그 유형에 따라 분류한 복수의 카테고리가 표시된 화면(b)을 디스플레이한다.
도 15에서는 비디오 카테고리(51), 오디오 카테고리(52), 사진 카테고리(53)를 포함하는 화면(b)이 디스플레이된 상태를 도시하였으나, 카테고리의 종류는 다양하게 마련될 수 있다.
이러한 상태에서 도 15에 도시된 바와 같이 비디오 카테고리(51)가 선택되면, 비디오 카테고리(51)에 속하는 비디오 컨텐츠들이 리스트 형태로 나열되는 화면(c)이 디스플레이된다. 사용자는 이 중 하나의 컨텐츠를 터치하여 선택할 수 있다.
화면(c) 상에서 하나의 컨텐츠가 선택되면 선택된 컨텐츠를 재생할 대상을 선택하기 위한 팝업 창(d)이 디스플레이된다. 팝업 창(d)에는 서버 장치(100) 자신을 포함하여 연결된 각종 장치들에 대한 정보가 표시되는 정보 표시 영역(61), 재검색을 수행하기 위한 메뉴(62), 장치 선택을 취소하기 위한 메뉴(63) 등이 포함될 수 있다.
사용자가 팝업 창(d) 내의 정보 표시 영역(61)에서 하나의 장치를 선택하면, 선택된 장치가 클라이언트 장치가 된다. 즉, 서버 장치(100)는 선택된 클라이언트 장치의 재생 능력 정보와 선택된 컨텐츠의 속성을 확인하여 재생 가능한지 여부를 판단한다. 그에 따라, 컨텐츠를 그대로 전송하거나 또는 파싱이나 디코딩을 수행한 후 전송한다.
도 15에서는 컨텐츠가 리스트 형태로 정리되어 표시되었으나, 도 14에 도시된 바와 같이 동영상 컨텐츠 역시 대표 이미지를 이용하여 썸네일 뷰 형태로 표시될 수 있다.
이상과 같이, 서버 장치(100) 및 클라이언트 장치(200)는 다양한 방식으로 컨텐츠를 공유할 수 있다. 한편, 상술한 바와 같이 서버 장치(100)는 다양한 형태의 장치로 구현될 수 있다. 따라서, 구현 형태에 따라 서버 장치(100)에 포함되는 구성 요소들도 추가 또는 변형될 수 있으며, 일부가 삭제될 수도 있다.
도 16은 본 발명의 다양한 실시 예에 따른 서버 장치(100)의 구성을 종합적으로 설명하기 위한 블럭도이다.
도 16에 따르면, 서버 장치(100)는 통신부(110), 제어부(120), 저장부(130), GPS 수신부(140), DMB 수신부(145), 오디오 처리부(150), 비디오 처리부(160), 디스플레이부(170), 스피커(175), 센서부(180), 버튼(191), USB 포트(192), 카메라(193), 마이크(194)를 포함한다.
통신부(110)는 와이파이 칩(111), 블루투스 칩(112), NFC 칩(113), 무선 통신 칩(114) 등과 같은 다양한 통신 방식에 따른 하드웨어를 포함한다. 이들 칩은 구현상 원 칩으로 집적화되어 사용될 수도 있고, 도 16과 같이 각각 별개의 칩으로 사용될 수도 있다.
와이파이 칩(111), 블루투스 칩(112), NFC 칩(113)은 각각 WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 이 중 NFC 칩(113)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다. NFC 칩(113)을 사용하는 경우 클라이언트 장치(200)에는 NFC 태그가 마련되어 있어야 한다. 이에 따라, 사용자가 서버 장치(100)나 클라이언트 장치(200)를 이동시켜, 서로 통신 가능한 범위(약 10cm)내에 위치시키면 NFC 태그에 기록된 재생 능력 정보가 NFC 칩(113)에 의해 서버 장치(100)에 읽히게 된다. 이러한 방식으로 재생 능력 정보뿐만 아니라, 다양한 정보들을 서로 송수신할 수 있다. 한편, 와이파이 칩(111)이나 블루투스 칩(112)을 이용하는 경우에는 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
그 밖에, 무선 통신 칩(114)은 3G, 4G 등과 같이 이동 통신 망을 이용하거나, 인터넷 망을 이용하여 다양한 방식의 무선 통신을 수행할 수 있다.
통신부(110)는 이러한 다양한 구성의 칩들을 이용하여 클라이언트 장치(200)를 비롯한 각종 외부 장치와 통신을 수행할 수 있다. 특히, 클라이언트 장치(200)로부터 재생 능력 정보, 컨텐츠 공유 요청 등을 수신할 수 있다.
GPS 수신부(140)는 GPS(Grobal Positioning System) 위성으로부터 GPS 신호를 수신하여, 서버 장치(100)의 현재 위치를 산출하기 위한 구성요소이다. DMB 수신부(145)는 DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 구성요소이다.
오디오 처리부(150)는 오디오 데이터에 대한 처리를 수행하는 구성요소이다. 오디오 처리부(150)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
비디오 처리부(160)는 비디오 데이터에 대한 처리를 수행하는 구성요소이다. 비디오 처리부(160)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다. 특히, 상술한 코덱은 소프트웨어로도 구현될 수 있지만, 하드웨어로도 구현될 수 있다. 비디오 처리부(160)는 하드웨어로 구현된 코덱을 포함하며, 이를 이용하여 비디오 데이터에 대한 인코딩 또는 디코딩을 수행할 수 있다.
디스플레이부(170)는 제어부(120)의 제어에 따라 다양한 화면 또는 객체를 디스플레이할 수 있다. 구체적으로는, 서버 장치(100)가 컨텐츠 공유 기능을 개시하는 경우에는 공유할 컨텐츠를 선택하기 위한 화면이나, 클라이언트 장치를 선택하기 위한 화면이 디스플레이부(170) 상에 디스플레이될 수 있다.
스피커(175)는 오디오 처리부(150)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력할 수 있다.
센서부(180)는 서버 장치(100)에 대한 사용자의 조작 내용이나 서버 장치(100)의 상태 등을 센싱하기 위한 구성요소이다. 센서부(180)는 지자기 센서(181), 자이로 센서(182), 가속도 센서(183), 터치 센서(184) 등과 같은 다양한 센서를 포함할 수 있다.
지자기 센서(181)는 2축 또는 3축 플럭스게이트를 이용하여 주변 지자기 변화를 감지하는 센서이다. 제어부(120)는 지자기 센서(181)에서 감지된 지자기 값을 이용하여, 방위각을 산출할 수 있다. 이에 따라, 서버 장치(100)가 어느 방향으로 회전하였는지 여부를 판단할 수 있다. 가속도 센서(182)는 움직임 발생시 가속도 및 가속도의 방향을 측정할 수 있는 센서이다. 구체적으로는, 가속도 센서(182)는 그 센서가 부착된 서버 장치(100)의 기울기에 따라 변화되는 중력 가속도에 대응되는 센싱 값을 출력한다. 제어부(120)는 가속도 센서(182)의 출력값을 이용하여 이동체의 기울어진 정도를 판단할 수 있다. 자이로 센서(183)는 회전 운동이 일어나면, 그 속도 방향으로 작용하는 코리올리의 힘을 측정하여, 각속도를 검출하는 센서이다. 제어부(120)는 자이로 센서(183)의 측정 값을 이용하여서도 서버 장치(100)의 회전을 검출할 수 있다. 터치 센서(184)는 디스플레이부(170)에 연결되어, 사용자의 터치 조작을 감지할 수 있다. 터치 센서(184)는 정전식 또는 감압식으로 구현될 수 있다. 정전식 터치 센서는, 디스플레이부(170) 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 디스플레이부(170) 표면에 터치되었을 때 사용자의 인체로 여기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식의 센서를 의미한다. 감압식 터치 센서는 디스플레이부(170)에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식의 터치 센서를 의미한다. 센서부(180)는 터치 센서를 통해 사용자가 터치한 지점의 좌표를 검출하여 제어부(120)로 제공한다.
제어부(120)는 센서부(180)로부터 제공되는 각종 센싱 신호에 따라 다양한 제어 동작을 수행할 수 있다. 즉, 터치 센서(184)에 의해 터치된 지점의 좌표값이 컨텐츠 공유 아이콘이 표시된 좌표에 해당하면, 컨텐츠 공유 기능이 선택된 것으로 인식하여, 그에 대응되는 프로그램을 실행시킨다. 또한, 지자기 센서(181), 자이로 센서(182), 가속도 센서(183) 등에 의해 서버 장치(100)가 가로 방향 또는 세로 방향으로 회전한 것이 감지되면, 회전 방향에 따라 화면을 전환하는 동작도 수행할 수 있다. 또한, 지자기 센서(181), 자이로 센서(182), 가속도 센서(183)에 의해 감지되는 서버 장치(100)의 움직임에 따라, 사용자의 의도를 파악하여 컨텐츠 공유 기능을 실행시킬 수도 있다.
그 밖에, 서버 장치(100)는 버튼(191), USB 포트(192), 카메라(193), 마이크(194) 등과 같은 다양한 구성 요소를 더 포함할 수 있다. 버튼(191)은 서버 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다. USB 포트(192)는 USB 메모리나 USB 커넥터가 연결될 수 있는 포트를 의미한다. 서버 장치(100)는 USB 포트(192) 뿐만 아니라 각종 연결 포트에 의해 연결된 외부 장치에 저장된 컨텐츠도 함께 검색하여 공유 가능한지 확인할 수 있다.
카메라(193) 및 마이크(194)가 마련된 경우, 제어부(120)는 마이크(194)를 통해 입력되는 사용자 음성이나 카메라(193)에 의해 인식되는 사용자 모션에 따라 제어 동작을 수행할 수도 있다. 즉, 서버 장치(100)는 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 제어부(120)는 카메라(193)를 활성화시켜 사용자를 촬상하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행한다. 가령, 사용자가 컨텐츠 공유 기능에 대응되는 모션을 수행하였다고 판단되면, 제어부(120)는 저장된 컨텐츠를 검색하여 디스플레이부(170) 상에 도 15와 같은 화면(a)을 디스플레이할 수 있다. 또는, 마이크(194)에 의해 입력된 사용자 음성을 분석하여, 사용자가 컨텐츠 공유 기능에 대응되는 음성을 발음한 것으로 판단되면, 도 15와 같은 화면(a)을 디스플레이할 수도 있다.
상술한 제어부(120)의 동작은 저장부(130)에 저장된 프로그램에 의해 이루어질 수 있다.
즉, 저장부(130)에는 서버 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어, 컨텐츠 공유 기능을 수행하기 위한 어플리케이션, 어플리케이션 실행 중에 입력되거나 설정되는 각종 데이터, 컨텐츠 등과 같이 다양한 데이터가 저장될 수 있다. 제어부(120)는 저장부(130)에 저장된 각종 프로그램을 이용하여 서버 장치(100)의 동작을 전반적으로 제어한다.
구체적으로는, 제어부(120)는 RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n), 버스(126)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n) 등은 버스(138)를 통해 서로 연결되어, 각종 데이터나 신호 등을 송수신할 수 있다.
제1 내지 n 인터페이스(125-1 ~ 125-n)는 도 16에 도시된 각종 구성 요소들 뿐만 아니라, 그 밖의 구성 요소들과도 연결되어 메인 CPU(123)가 액세스할 수 있도록 한다.
메인 CPU(123)는 저장부(130)에 액세스하여, 저장부(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(130)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
구체적으로는, ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 저장부(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 저장부(130)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(124)는 메인 CPU(123)의 제어에 따라 각종 화면을 구성한다. 구체적으로는, 그래픽 처리부(124)는 도 15의 a, b, c와 같은 화면을 표시할 수 있다. 그래픽 처리부(124)는 화면에 대한 표시 상태 값을 계산한다. 표시 상태 값이란 화면상에서 객체가 표시될 위치의 좌표값, 객체의 형태, 크기, 컬러 등을 나타내는 속성값 등이 될 수 있다. 그래픽 처리부(124)는 표시 상태 값이 계산되면, 그 값에 기초하여 렌더링을 수행하여, 화면을 생성한다.
메인 CPU(123)는 센서부(180) 또는 버튼(191)에 의해 사용자가 컨텐츠 공유 명령을 입력한 것으로 판단되면, 저장부(140)에 저장된 컨텐츠를 검색하고, 그 검색 결과에 대응되는 화면을 생성하도록 그래픽 처리부(124)를 제어한다.
상술한 바와 같이 제어부(120)는 저장부(130)에 저장된 프로그램을 RAM(121)에 복사하고 실행시켜, 다양한 동작을 수행할 수 있다.
도 17은 저장부(130)에 저장된 소프트웨어의 계층을 설명하기 위한 도면이다. 도 17에 따르면, 저장부(130)에는 베이스 모듈(131), 센싱 모듈(132), 통신 모듈(133), 프리젠테이션 모듈(134), 웹 브라우저 모듈(135), 컨텐츠 처리 모듈(136)을 포함한다.
베이스 모듈(131)이란 서버 장치(100)에 구비된 각 하드웨어들로부터 전달되는 신호를 처리하여 상위 레이어 모듈로 전달하는 기초 모듈을 의미한다.
베이스 모듈(131)은 스토리지 모듈(131-1), 위치 기반 모듈(131-2), 보안 모듈(131-3), 네트워크 모듈(131-4) 등을 포함한다.
스토리지 모듈(131-1)이란 데이터베이스(DB)나 레지스트리를 관리하는 프로그램 모듈이다. 메인 CPU(123)는 스토리지 모듈(131-1)을 이용하여 저장부(130) 내의 데이터베이스에 액세스하여, 각종 데이터를 리딩(reading)할 수 있다. 위치 기반 모듈(131-2)이란 GPS 칩 등과 같은 각종 하드웨어와 연동하여 위치 기반 서비스를 지원하는 프로그램 모듈이다. 보안 모듈(131-3)이란 하드웨어에 대한 인증(Certification), 요청 허용(Permission), 보안 저장(Secure Storage) 등을 지원하는 프로그램 모듈이고, 네트워크 모듈(131-4)이란 네트워크 연결을 지원하기 위한 모듈로 DNET 모듈, UPnP 모듈 등을 포함한다.
센싱 모듈(132)은 외부 입력 및 외부 디바이스에 대한 정보를 관리하고, 이를 이용하기 위한 모듈이다. 센싱 모듈(132)은 회전 인식 모듈(Rotation Recognition), 음성 인식 모듈(Voice Recognition), 터치 감지 모듈(Touch Recognition), 제스쳐 인식 모듈(Gesture Recognition)을 포함한다. 회전 인식 모듈이란 지자기 센서(181), 자이로 센서(182) 등과 같은 센서에서 감지된 센싱 값을이용하여 회전 각도 및 회전 방향을 산출하는 프로그램이다. 음성 인식 모듈은 마이크(194)에서 수집된 음성 신호를 분석하여, 사용자의 음성을 추출하는 프로그램이며, 터치 감지 모듈은 터치 센서(184)에서 감지된 센싱 값을 이용하여 터치 좌표를 검출하는 프로그램이며, 제스쳐 인식 모듈은 카메라(193)에서 촬상된 이미지를 분석하여 사용자의 제스쳐를 인식하는 프로그램이다.
통신 모듈(133)은 외부와 통신을 수행하기 위한 모듈이다. 통신 모듈(133)은 메신저 프로그램, SMS(Short Message Service) & MMS(Multimedia Message Service) 프로그램, 이메일 프로그램 등과 같은 메시징 모듈(133-1), 전화 정보 수집기(Call Info Aggregator) 프로그램 모듈, VoIP 모듈 등을 포함하는 전화 모듈(133-2)을 포함할 수 있다.
프리젠테이션 모듈(134)은 디스플레이 화면을 구성하기 위한 모듈이다. 프리젠테이션 모듈(134)은 멀티미디어 컨텐츠를 재생하여 출력하기 위한 멀티미디어 모듈(134-1), UI 및 그래픽 처리를 수행하는 UI & 그래픽 모듈(134-2)을 포함한다. 멀티미디어 모듈(134-1)은 플레이어 모듈, 캠코더 모듈, 사운드 처리 모듈 등을 포함할 수 있다. 이에 따라, 각종 멀티미디어 컨텐츠를 재생하여 화면 및 음향을 생성하여 재생하는 동작을 수행한다. UI & 그래픽 모듈(134-2)은 이미지를 조합하는 이미지 합성기(Image Compositor module), 이미지를 디스플레이할 화면 상의 좌표를 조합하여 생성하는 좌표 조합 모듈, 하드웨어로부터 각종 이벤트를 수신하는 X11 모듈, 2D 또는 3D 형태의 UI를 구성하기 위한 툴(tool)을 제공하는 2D/3D UI 툴킷 등을 포함할 수 있다.
웹 브라우저 모듈(135)은 웹 브라우징을 수행하여 웹 서버에 액세스하는 모듈을 의미한다. 웹 브라우저 모듈(135)은 웹 페이지를 구성하는 웹 뷰(web view) 모듈, 다운로드를 수행하는 다운로드 에이전트 모듈, 북마크 모듈, 웹킷(Webkit) 모듈 등과 같은 다양한 모듈을 포함할 수 있다.
컨텐츠 처리 모듈(136)은 저장부(130)에 저장된 컨텐츠를 처리하기 위한 소프트웨어를 의미한다. 재생 능력 판단 모듈(136-1)은 재생 능력 정보와 컨텐츠 속성을 비교하는 알고리즘으로 동작하는 프로그램이다. 파서(136-2) 및 코덱(136-3)은 컨텐츠 처리를 위해서 비디오 처리부(160)로 제공되는 소프트웨어이다. 파서(136-2)는 통상적으로 소프트웨어로만 구현되고, 코덱(136-3)은 소프트웨어로 구현되는 경우도 있고 하드웨어로 구현되는 경우도 있다.
그 밖에, 네비게이션 서비스 모듈, 게임 모듈 등과 같은 다양한 어플리케이션 모듈이 더 포함될 수 있다.
도 17에 도시된 각종 프로그램 모듈들은 서버 장치(100)의 종류 및 특성에 따라 일부 생략되거나 변형 또는 추가될 수도 있다. 가령, 서버 장치(100)가 TV인 경우라면, 방송 수신 모듈이 더 포함될 수 있다. 또는, 전자책 어플리케이션, 게임 어플리케이션 및 기타 유틸리티 프로그램이 더 포함될 수도 있다. 또한, 도 17의 프로그램 모듈들 중에서 일부는 생략될 수도 있다.
그 밖에, 도 16과 같은 구성은 상술한 다양한 실시 예들에서 개시된 서버 장치에도 그대로 적용될 수 있다. 또한, 도 16에 도시된 구성요소들도 서버 장치(100)의 종류 및 특성에 따라 일부 생략되거나 변형 또는 추가될 수 있다. 가령, 서버 장치(100)가 TV인 경우, 안테나나 튜너와 같은 하드웨어도 더 포함될 수 있다.
또한, 도 16에서는 서버 장치(100)의 구성으로 설명하였으나, 상술한 바와 같이 서버 장치(100)와 클라이언트 장치(200)는 동종이거나 또는 유사한 종류의 사용자 단말 장치로 구현될 수도 있다. 이 경우, 도 16의 구성은 클라이언트 장치(200)에도 적용될 수 있다.
한편, 상술한 다양한 실시 예들은 가상 데스크탑 인터페이스(Virtual Desktop Interface(VDI)) 환경에서 구현될 수도 있다. 가상 데스크탑 인터페이스란 여러 대의 클라이언트 장치와 연결된 서버 장치에서 디스플레이할 화면을 구성한 후, 각 클라이언트 장치로 제공하여 각 클라이언트 장치의 사용자가 확인할 수 있도록 하는 환경이다. VDI 환경은 다수의 사용자들과 화면을 공유하기 위한 회의실이나, 공공 장소 등에 적용될 수 있다.
도 18은 본 발명의 일 실시 예에 따른 화면 공유 시스템의 구성을 나타내는 도면이다. 도 18에 따르면, 화면 공유 시스템은 서버 장치(100) 및 복수의 클라이언트 장치(200-1 ~ 200-n)을 포함한다.
서버 장치(100)는 사용자 조작에 따라 화면을 구성한 후, 구성된 화면을 각 클라이언트 장치(200-1 ~ 200-n)에 제공한다. 각 클라이언트 장치(200-1 ~ 200-n)는 제공된 화면을 디스플레이한다. 화면에는 동영상 컨텐츠나, 정지 영상 컨텐츠, 문서, 오디오 컨텐츠 등과 같은 다양한 컨텐츠들에 대한 리스트가 표시될 수 있다. 각 클라이언트 장치(200-1 ~ 200-n)의 사용자들은 자신의 클라이언트 장치의 화면을 터치하거나, 그 클라이언트 장치에 연결된 마우스, 키보드, 조이스틱 등과 같은 입력 수단을 통해 화면 상의 일 지점을 클릭하는 방식으로, 컨텐츠를 선택할 수 있다.
각 클라이언트 장치(200-1 ~ 200-n)는 터치 지점 또는 클릭 지점에 대한 좌표값을 서버 장치(100)로 전송한다. 서버 장치(100)는 각 클라이언트 장치(200-1 ~ 200-n)의 디스플레이 사이즈 및 가로 세로 비율에 기초하여 각 클라이언트 장치(200-1 ~ 200-n)에서 화면의 어떤 지점을 선택하였는지 판단한다. 이에 따라, 선택된 지점에 표시되어 있는 컨텐츠 정보에 대응되는 컨텐츠를 각 클라이언트 장치(200-1 ~ 200-n)로 전송한다. 가령, 제1 클라이언트 장치(200-1)가 제1 컨텐츠를 선택하였다면 서버 장치(100)는 제1 컨텐츠를 제1 클라이언트 장치(200-1)로 전송하고, 제2 클라이언트 장치(200-2)가 제2 컨텐츠를 선택하였다면 서버 장치(100)는 제2 컨텐츠를 제2 클라이언트 장치(200-2)로 전송한다.
각 클라이언트 장치(200-1 ~ 200-n)는 전송된 컨텐츠를 직접 재생한다. 이에 따라, 서버 장치(100)에서의 처리 부담 및 네트워크 자원 부담을 줄일 수 있다. 또한, 각 클라이언트 장치(200-1 ~ 200-n)에서 컨텐츠를 직접 재생하기 때문에 원본 컨텐츠의 품질을 유지할 수 있다.
하지만, 클라이언트 장치들 중에서는 선택된 컨텐츠에 대한 재생 능력이 없는 경우가 있을 수 있다. 서버 장치(100)는 이러한 클라이언트 장치들의 재생 능력 정보를 확인하여, 재생 능력이 있는지 여부를 판단한다. 재생 능력 정보는 상술한 바와 같이 다양한 시점에 제공될 수 있다.
구체적으로는, 서버 장치(100)는 클라이언트 장치들(200-1 ~ 200-n)로부터 주기적으로 또는 컨텐츠 선택 시에 재생 능력 정보를 수신한다. 서버 장치(100)는 수신된 재생 능력 정보에 기초하여 각 클라이언트 장치들(200-1 ~ 200-n)이 해당 컨텐츠를 재생할 수 있는 지 여부를 판단한다. 재생 가능하다면 컨텐츠를 그대로 각 클라이언트 장치들(200-1 ~ 200-n)로 전송한다. 반면, 재생이 불가능하다면 재생 가능한 형태로 변환하여 전송한다. 가령, 파싱이나 디코딩과 같은 작업을 수행한 후 전송한다. 컨텐츠 처리 방법에 대해서는 상술한 다양한 부분에서 구체적으로 설명하였으므로, 중복 설명은 생략한다.
도 19는 도 18의 화면 공유 시스템에서 사용되는 클라이언트 장치들 중 하나에서 표시되는 화면 구성을 나타내는 도면이다. 설명의 편의를 위해서 도 19에서는 복수의 클라이언트 장치들(200-1 ~ 200-n) 중 첫번째 클라이언트 장치(200-1)를 기준으로 설명한다.
도 19에 따르면, 클라이언트 장치(200-1)는 서버 장치(100)에서 제공되는 화면(1900)을 그대로 디스플레이한다. 화면(1900)에는 멀티미디어 컨텐츠의 재생 결과를 표시하기 위한 재생 영역(1910)이 포함될 수 있다.
일반적인 경우, 재생 영역(1910)은 비활성화 상태를 유지한다. 비활성화 상태란 재생 영역(1910)에 아무런 컨텐츠도 표시되지 않는 상태를 의미한다. 비활성화 상태에서는 재생 영역(1910)에는 비활성화 상태임을 알리기 위한 문구나 이미지가 표시될 수 있다.
사용자가 재생 영역(1910) 하부의 재생 버튼(1911)을 선택한 것으로 판단되면, 서버 장치(100)는 요청된 컨텐츠를 클라이언트 장치(200-1)로 전송한다. 이 때, 서버 장치(100)는 컨텐츠 재생 화면이 디스플레이될 좌표 정보를 함께 클라이언트 장치(200-1)로 전송한다. 도 19에서는 재생 영역(1910)의 모서리 영역에 해당하는 좌표값이 클라이언트 장치(200-1)로 전송될 수 있다.
클라이언트 장치(200-1)는 파서 및 코덱 등을 이용하여 컨텐츠를 재생한 후, 재생된 화면을 원 화면(1900)에 오버레이한다. 오버레이 위치는 서버 장치(100)로부터 제공되는 좌표 정보에 기초하여 결정될 수 있다. 결과적으로, 클라이언트 장치(200-1)는 재생된 화면(1920)을 원 화면(1900) 내에서 재생 영역(1910)에 오버레이시킨다. 그리고, 그 화면(1920) 하단에는 컨텐츠 재생 상태를 제어하기 위한 각종 버튼 메뉴(1912)를 표시한다. 컨텐츠 재생이 이루어지고 있는 동안에는 재생 버튼 메뉴(1911)이 일시 정지 버튼 메뉴(1912)로 변경될 수 있다.
클라이언트 장치(200-1)에서 직접 컨텐츠 재생을 하게 되면, 서버의 자원 소비를 감소시킬 수 있으며, 원본 컨텐츠의 화질을 그대로 구현할 수 있다. 하지만, 상술한 다양한 실시 예들에서 설명한 바와 같이 클라이언트 장치(200-1)는 컨텐츠 재생을 위한 파서 및 코덱을 갖치지 못하는 경우도 있다. 이러한 경우, 서버 장치(100)는 해당 컨텐츠에 대한 파싱 및 디코딩 중 적어도 하나의 처리를 수행할 수 있다. 파싱 처리만 이루어진 경우에는, 서버 장치(100)는 파싱 결과를 클라이언트 장치(200-1)로 전송하고, 클라이언트 장치(200-1)는 파싱된 컨텐츠를 디코딩하여 화면(1920)을 생성한다. 그리고, 생성된 화면(1920)을 재생 영역(1910)에 오버레이 시킨다. 디코딩 처리까지 이루어진 경우에는 서버 장치(100)는 디코딩에 의해 생성된 화면 자체를 생성하여 클라이언트 장치(200-1)로 전송한다. 클라이언트 장치(200-1)는 생성된 화면을 재생 영역(1910)에 오버레이 시킨다. 또는, 서버 장치(100)는 컨텐츠 재생 화면을 원 화면(1900)에 추가하여 하나의 화면으로 구성한 후, 전체 화면을 전송하여 줄 수도 있다.
한편, 상술한 실시 예들에서는 하나의 컨텐츠에 대한 처리 방법을 기준으로 설명하였으나, 그 밖에 부가적인 컨텐츠 처리를 위한 방법으로 구현될 수도 있다.
도 20은 본 발명의 또 다른 실시 예에 따른 컨텐츠 제공 시스템의 구성의 일 예를 나타낸다. 도 20에 따르면, 컨텐츠 제공 시스템은 제1 디스플레이 장치(2010), 제2 디스플레이 장치(2020)를 포함한다.
제1 디스플레이 장치(2010)는 복수의 외부 소스(2010-1 ~ 2010-x) 중 하나 또는 별도의 소스로부터 제공되는 컨텐츠를 재생하여 그 재생 화면(2040)을 디스플레이한다. 또한, 제1 디스플레이 장치(2010)는 각 외부 소스(2010-1 ~ 2010-x)로부터 제공되는 부가 영상(2021, 2022, 2023)을 디스플레이할 수 있다. 부가 영상은 메인 영상 화면(2040)보다 작은 크기로 화면 일측에 표시될 수 있다.
이와 같이, 부가 영상을 제공하는 다수의 외부 소스(2010-1 ~ 2010-x)가 존재하는 경우, 각 부가 영상을 처리하기 위해 필요한 코덱 및 파서도 다양할 수 있다. 따라서, 제1 디스플레이 장치(2010)가 재생할 수 없는 부가 영상이 존재할 수 있다. 이 경우, 그 부가 영상을 제공하는 외부 소스는 부가 영상에 대한 파싱, 디코딩 등의 처리를 수행하여 제공할 수 있다.
제1 디스플레이 장치(2010)는 부가 영상 중 하나가 선택되면, 선택된 부가 영상을 제2 디스플레이 장치(2020)로 포워딩해 줄 수도 있다. 도 20에서는 첫 번째 부가 영상(2041)이 선택된 경우, 그 부가 영상에 대한 확대 영상을 제2 디스플레이 장치(2020)에서 디스플레이하는 것을 나타낸다. 제1 및 제2 디스플레이 장치(2010, 2020)는 와이파이, 블루투스, IEEE, 지그비, HDMI, USB 등과 같은 다양한 인터페이스로 연결될 수 있다.
제1 디스플레이 장치(2010)는 부가 영상이 선택되면, 부가 영상 컨텐츠 자체를 제2 디스플레이 장치(2020)로 전송하여 제2 디스플레이 장치(2020)가 직접 재생하도록 할 수 있다. 하지만, 제1 디스플레이 장치(2010)는 부가 영상 처리가 가능하나 제2 디스플레이 장치(2020)는 부가 영상 처리가 불가능한 경우가 있을 수도 있다. 이 경우에는 외부 소스가 아닌 제1 디스플레이 장치(2010)가 해당 부가 영상 컨텐츠를 파싱 및 디코딩하여 제2 디스플레이 장치(2020)로 제공하여 줄 수도 있다.
상술한 부가 영상들은 메인 영상과 관련된 것일 수 있다. 가령, 메인 영상 내에 포함된 특정 장면을 캡쳐한 영상, 메인 영상에 나오는 등장 인물, 장소, 상품 등에 대한 영상, 광고 영상 등이 있을 수 있다. 또한, 외부 소스(2030-1 ~ 2030-x)는 인터넷을 통해 연결된 웹 서버로 구현될 수도 있다. 이 경우, 메인 영상에는 부가 영상을 제공하는 외부 소스(2030-1 ~ 2030-x)들의 URL(Uniform Resource Locators)이 포함될 수 있다. 제1 디스플레이 장치(2010)는 URL을 이용하여 각 외부 소스(2030-1 ~ 2030-x)들에 액세스하여, 부가 영상을 제공받을 수 있다. 그 밖에도 외부 소스(2030-1 ~ 2030-x)들은 다양한 통신 인터페이스로 연결된 단말 장치 또는 서버로 구현될 수도 있다. 이 경우, 외부 소스(2030-1 ~ 2030-x)의 IP 어드레스가 메인 영상에 포함되어 있을 수도 있다.
또는, 메인 영상을 제공하는 소스에서 제1 디스플레이 장치(2010)에 대한 정보를 각 외부 소스(2030-1 ~ 2030-x)들에게 제공하여, 각 외부 소스(2030-1 ~ 2030-x)들이 부가 영상을 제1 디스플레이 장치(2010)로 푸쉬할 수도 있다.
도 20에서는 복수의 외부 소스들로부터 각각 부가 영상이 제공되는 것으로 설명하였으나, 하나의 서버 장치(100)가 클라이언트 장치(200)로 컨텐츠를 제공하는 경우에도 해당 컨텐츠 이외에 부가 컨텐츠를 더 제공하여 줄 수 있다. 이 경우에는, 클라이언트 장치(200)가 컨텐츠 재생 능력을 갖추고 있을 때에도, 간단한 썸네일 이미지 정도는 서버 장치(100)가 파싱 및 디코딩하여 직접 클라이언트 장치(200)로 제공하여 줄 수도 있다. 즉, 메인 컨텐츠는 클라이언트 장치(200)가 재생하고 있는 동안, 각종 부가 영상에 대해서는 서버 장치(100)가 파싱 및 디코딩하여 그 부가 영상 화면을 구성한 후, 클라이언트 장치(200)로 제공하여 줄 수도 있다.
한편, 상술한 컨텐츠 제공 시스템은 홈 게이트웨이 시스템으로 구현될 수도 있다.
도 21은 본 발명의 일 실시 예에 따른 홈 게이트웨이 시스템의 일 예를 나타낸다. 도 21에 따르면, 홈 게이트웨이 시스템은 홈 게이트웨이(2120) 및 복수의 디스플레이 장치(2130-1 ~ 2130-m)를 포함한다.
각 디스플레이 장치(2130-1 ~ 2130-m)는 시스템 성능이 좋지 않은 더비(dummy)형 디스플레이 장치로 구현될 수 있다. 홈 게이트웨이(2120)는 외부 소스(2110)로부터 제공되는 컨텐츠를 각 디스플레이 장치(2130-1 ~ 2130-m)로 전송하여 줄 수 있다.
이 경우, 홈 게이트웨이(2120)는 각 디스플레이 장치(2130-1 ~ 2130-m)들의 컨텐츠 재생 능력에 따라 컨텐츠 처리를 다르게 할 수 있다. 가령, 컨텐츠 재생이 가능한 디스플레이 장치인 경우에는 외부 소스(2110)로부터 전송된 인코딩 상태의 컨텐츠를 그대로 전송한다. 반면, 컨텐츠 재생이 불가능한 디스플레이 장치인 경우에는 홈 게이트웨이(2120)는 그 컨텐츠에 대한 파싱 및 디코딩 처리를 수행한 후, 전송하여 줄 수 있다. 홈 게이트웨이(2120)는 각 디스플레이 장치(2130-1 ~ 2130-m)들의 컨텐츠 재생 능력을 저장하여 두고 활용할 수 있다. 또한, 홈 게이트웨이(2120)는 저장된 컨텐츠 재생 능력을 수시로 업데이트할 수도 있다.
상술한 다양한 실시 예들에 따르면, 컨텐츠 재생을 위해서는 그 컨텐츠의 인코딩 방식에 대응되는 파서 및 코덱이 요구된다.
도 22에서는 파서 및 코덱 구성의 일 예를 나타낸다. 코덱(2210)은 데이터 사이즈를 줄이기 위한 부호화 처리 및 그 역과정인 복호화 처리를 수행한다. 파서는 부호화된 데이터를 AVI나 MP4 등과 같은 포맷의 동영상 컨텐츠로 만드는 과정 및 그 역과정을 수행한다.
상술한 바와 같이 코덱은 MPEG(Moving Picture Expert Group) 코덱, Divx 코덱, AC3 코덱, OGG 코덱, Xvid 코덱, H.264 코덱, wmv7, 8, 9 코덱, 비디오 코덱(Video Codec)과 같이 다양한 종류로 구현될 수 있다.
도 22에 따르면, 코덱(2210)은 비디오 인코더(2211), 오디오 인코더(2212), 비디오 디코더(2213), 오디오 디코더(2214)를 포함한다. 또한, 파서(2220)는 비디오 패킷화부(2221), 오디오 패킷화부(2222), 먹스(2223), 비디오 디패킷화부(depacketizer)(2224), 오디오 디패킷화부(2225), 디먹스(2226)를 포함한다.
코덱(2210) 내의 비디오 인코더(2211)는 컨텐츠를 이루는 비디오 데이터를 인코딩하기 위한 구성이고, 오디오 인코더(2212)는 오디오 데이터를 인코딩하기 위한 구성이다. 인코딩 방식은 코덱의 종류에 따라 MPEG(Moving Picture Expert Group), H.264 등과 같이 다양한 방식으로 구현될 수 있다.
비디오 인코더(2213) 및 오디오 인코더(2212)에 의해 인코딩된 비디오 데이터 및 오디오 데이터는 각각 파서(2220) 내의 비디오 패킷화부(2221) 및 오디오 패킷화부(2222)로 제공된다. 비디오 패킷화부(2221)는 비디오 데이터를 기 설정된 크기의 비디오 패킷으로 구성하고, 오디오 패킷화부(2222)는 오디오 데이터를 기 설정된 크기의 오디오 패킷으로 구성한다. 각 패킷은 정해진 크기의 헤더 및 페이로드 영역으로 구분될 수 있다. 비디오 데이터 및 오디오 데이터는 페이로드 영역에 배치될 수 있다. 먹스(2223)는 비디오 패킷 및 오디오 패킷을 멀티플렉싱하여, 하나의 A/V 컨텐츠 스트림을 구성한다.
한편, 컨텐츠 재생을 하는 경우에는, 파서(2220) 내의 디먹스(2226)가 컨텐츠를 디멀티플렉싱하여 비디오 패킷 및 오디오 패킷을 검출한다. 검출된 비디오 패킷 및 오디오 패킷은 각각 비디오 디패킷화부(2224) 및 오디오 디패킷화부(2225)로 입력된다. 비디오 디패킷화부(2224)는 비디오 패킷의 헤더를 제거하고, 페이로드 영역에 기록된 비디오 데이터를 검출한다. 오디오 디패킷화부(2225)는 오디오 패킷의 헤더를 제거하고, 오디오 데이터를 검출한다. 비디오 데이터 및 오디오 데이터는 코덱(2210) 내의 비디오 디코더(2213) 및 오디오 디코더(2214)로 제공된다. 비디오 디코더(2213) 및 오디오 디코더(2214)는 각각 비디오 데이터 및 오디오 데이터에 대한 디코딩을 수행한다.
이상과 같은 코덱 및 파서의 구성은 상술한 다양한 실시 예에서 서버장치나 클라이언트 장치에 적용될 수 있다.한편, 본 발명의 또 다른 실시 예에 따르면 컨텐츠의 일부 프레임에 대해서만 클라이언트 장치의 재생 능력에 맞추어 먼저 처리한 후, 전송하여 줄 수도 있다.
도 23 및 도 24는 이러한 실시 예를 설명하기 위한 도면이다.
도 23에 따르면, 서버 장치(100)는 클라이언트 장치(200)에 대해 제공 가능한 컨텐츠들에 대한 정보를 전송한다. 클라이언트 장치(200)는 전송된 정보를 이용하여 화면(2300)을 디스플레이한다.
디스플레이된 화면(2300)에는 서버 장치(100)에서 제공 가능한 컨텐츠들에 대한 정보(2310, 2320, 2330)가 표시된다. 각 정보는 이미지(2310-1, 2320-1, 2330-1) 및 텍스트(2310-2, 2320-2, 2330-2)로 구성될 수 있다.
클라이언트 장치(200)는 서버 장치(100)로부터 제공되는 데이터에 대해 파싱 및 디코딩을 수행하여 이미지(2310-1, 2320-1, 2330-1)를 화면(2300)에 표시할 수 있다. 여기서, 이미지(2310-1, 2320-1, 2330-1)는 하나의 썸네일 정지 영상이 될 수도 있고, 일정 개수의 프레임으로 이루어진 동영상이 될 수도 있다.
하지만, 상술한 바와 같이, 클라이언트 장치(200)가 파서나 코덱을 구비하지 못한 경우에는 이미지가 정상적으로 표시될 수 없게 된다. 이 경우, 도 23의 두 번째 정보(2320) 내에 포함된 이미지(2320-1)와 같이 X 같은 기호가 표시되거나, 이미지(2320-1) 영역 자체가 블랙 처리될 수 있다. 따라서, 클라이언트 장치(200)의 사용자는 해당 컨텐츠의 이미지를 확인할 수 없다는 문제점이 발생한다.
서버 장치(100)는 이러한 경우 해당 이미지(2320-1)에 대해 파싱 및 디코딩과 같은 처리를 수행하여 클라이언트 장치(200)로 전송하여 줄 수 있다.
도 24는 서버 장치(100)에 의해 이미지(2320-1)가 처리되어 클라이언트 장치(200)에 표시된 상태를 나타낸다. 도 24에서 서버 장치(100)는 상술한 다양한 실시 예들에서 설명한 바와 같은 구성으로 구현될 수 있다.
일 예로, 서버 장치(100)가 도 3과 같은 구성으로 구현된 경우, 저장부(130)에는 클라이언트 장치로 제공할 컨텐츠가 저장되고, 통신부(110)는 클라이언트 장치(200)로부터 재생 능력 정보를 수신한다. 상술한 바와 같이, 재생 능력 정보는 주기적으로 전송받을 수도 있고, 클라이언트 장치(200)가 턴온되거나 리셋되는 경우, 서버 장치(100)가 요청한 경우 등과 같은 특정한 이벤트가 발생하였을 때마다 전송받을 수도 있다.
제어부(120)는 저장부(130)에 저장된 컨텐츠들과 관련된 안내 정보를 클라이언트 장치(200)로 전송하여 줄 수 있다. 안내 정보에는 도 23 및 도 24에 도시된 바와 같은 이미지 및 텍스트가 포함될 수 있다. 이 경우, 제어부(120)는 클라이언트 장치(200)의 재생 능력 정보를 기초하여 클라이언트 장치(200)로 제공할 컨텐츠에 대한 국부적 처리(partly processing)를 수행할 지 여부를 판단한다. 국부적 처리란 하나의 컨텐츠 전체가 아니라 그 컨텐츠의 일부분에 대해서만 처리하는 것을 의미한다. 컨텐츠는 기 설정된 데이터 단위로 구분될 수 있다. 가령, 프레임 단위로 구분되는 경우에는 제어부(120)는 국부적 처리가 필요하다고 판단되면 컨텐츠 내에서 일부 프레임을 선택한다. 그리고, 선택된 프레임을 클라이언트 장치(200)에서 재생가능 하도록 처리하여 통신부(110)를 통해 클라이언트 장치(200)로 전송한다.
제어부(120)는, 국부적 처리가 필요한지 여부에 대해서는 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 판단할 수 있다. 가령, 클라이언트 장치(200)가 컨텐츠를 처리할 수 있는 파서 및 코덱을 구비하였다면 국부적 처리가 불필요하다고 판단하고, 파서 및 코덱 중 적어도 하나를 미구비하였다면 국부적 처리가 필요하다고 판단할 수 있다.
국부적으로 처리할 컨텐츠의 단위는 상술한 바와 같이 다양한 기준에 따라 구분될 수 있다. 구체적으로는, 제어부(120)는, 컨텐츠 내에서 하이라이트 부분으로 지정된 하이라이트 이미지 프레임, 기 설정된 주기에 따라 샘플링된 이미지 프레임, 기 설정된 순서의 이미지 프레임 등과 같은 다양한 이미지 프레임들 중에서 적어도 하나를 선택하여 선택된 프레임에 대해 파싱 및 디코딩 중 적어도 하나의 처리를 수행할 수 있다.
여기서, 하이라이트 이미지 프레임은 메타 데이터와 같은 부가 정보에 의해 지정될 수 있다. 또한, 기 설정된 주기란 임의로 정해진 프레임 개수 단위의 주기를 의미한다. 가령, 600 프레임 마다 하나의 프레임을 샘플링하여, 그 샘플링된 프레임에 대해 파싱 및 디코딩과 같은 처리를 수행할 수 있다. 기 설정된 순서의 이미지 프레임이란 컨텐츠 재생 초반 부, 중반 부, 후반 분 등과 같이 정해진 시점에 배치된 이미지 프레임이 될 수 있다. 선택되는 이미지 프레임의 개수, 또는, 데이터 길이는 임의로 정해질 수 있다.
이상과 같이, 일부 프레임에 대해 재생 가능한 형태로 처리하여 클라이언트 장치(200)로 전송하게 되면, 클라이언트 장치(200)는 도 24와 같이 각 컨텐츠의 이미지까지 정상적으로 포함하는 정보(2310, 2320, 2330)를 디스플레이할 수 있게 된다.
한편, 도 24와 같은 화면에서 사용자가 하나의 정보를 선택하게 되면, 서버 장치(100)는 선택된 정보에 대응되는 컨텐츠를 클라이언트 장치(200)로 전송한다. 도 23에 도시한 예에서는, 첫 번째 및 세 번째 정보(2310, 2330)에 대응되는 컨텐츠는 클라이언트 장치(200)에서 재생 가능하다. 따라서, 첫 번째 및 세 번째 정보(2310, 2330) 중 하나가 선택되면, 서버 장치(100)는 해당 컨텐츠를 그대로 클라이언트 장치(200)로 전송한다.
반면, 두 번째 정보(2320)에 대응되는 컨텐츠는 재생 불가능하므로, 서버 장치(100)는 두 번째 정보(2320)에 대응되는 컨텐츠에 대해서 파싱 및 디코딩 중 적어도 하나의 처리를 수행하여 클라이언트 장치(200)로 전송한다. 이에 따라, 클라이언트 장치(200)는 모든 파서 및 코덱을 구비하지 않더라도 각 컨텐츠에 대한 사전 정보를 사용자에게 보여줄 수 있고, 컨텐츠가 선택되면 재생 화면까지 제공하여 줄 수 있게 된다.
도 24에서는 통신부(110), 제어부(120), 저장부(130)를 포함하는 서버 장치(100)의 동작을 위주로 설명하였으나, 이러한 동작은 서버 장치에서 수행되는 컨텐츠 공유 방법으로 구현될 수도 있다. 이러한 컨텐츠 공유 방법 역시 도 24에서 설명한 내용과 같이 구현될 수 있으므로, 이에 대한 흐름도는 그 도시를 생략한다.
또한, 상술한 다양한 실시 예들에 따른 방법들은 소프트웨어로 생성되어 서버 장치나 클라이언트 장치에 탑재될 수 있다.
구체적으로는, 본 발명의 일 실시 예에 따르면, 서버 장치에는, 클라이언트 장치로부터 재생 능력 정보를 수신하는 단계, 상기 클라이언트 장치로 제공할 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치가 상기 컨텐츠를 재생 불가능하다고 판단되면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하는 전송 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 설치될 수 있다.
또한, 클라이언트 장치에는, 자신의 파서 및 코덱 정보를 포함하는 재생 능력 정보를 생성하는 단계, 생성된 재생 능력 정보를 서버 장치로 전송하는 단계, 서버 장치로부터 컨텐츠를 수신하여 재생하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체가 설치될 수 있다.
또는, 클라이언트 장치에는, 서버 장치로부터 파서 및 코덱 목록을 수신하여 저장하는 단계, 상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 단계, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하는 단계, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하고, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체가 설치될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (12)

  1. 서버 장치의 컨텐츠 공유 방법에 있어서,
    클라이언트 장치로부터 재생 능력 정보를 수신하는 단계;
    상기 수신된 재생 능력 정보를 기초하여 상기 클라이언트 장치로 제공할 컨텐츠에 대한 국부적 처리(partly processing)를 수행할 지 여부를 판단하는 판단 단계;및
    상기 국부적 처리가 필요하다고 판단되면 상기 컨텐츠 내에서 일부 프레임을 상기 클라이언트 장치에서 재생 가능 하도록 처리하여 상기 클라이언트 장치로 전송하는 전송 단계;를 포함하는 컨텐츠 공유 방법.
  2. 제1항에 있어서,
    상기 판단 단계는,
    상기 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여, 상기 클라이언트 장치가 상기 컨텐츠를 처리할 수 있는 파서 및 코덱을 구비하였다면 상기 국부적 처리가 불필요하다고 판단하고, 상기 파서 및 상기 코덱 중 적어도 하나를 미구비하였다면 상기 국부적 처리가 필요하다고 판단하는 것을 특징으로 하는 컨텐츠 공유 방법.
  3. 제2항에 있어서,
    상기 전송 단계는,
    상기 컨텐츠 내에서 하이라이트 이미지 프레임, 기 설정된 주기에 따라 샘플링된 이미지 프레임, 기 설정된 순서의 이미지 프레임 중 적어도 하나를 선택하는 단계;
    상기 선택된 프레임에 대해 파싱 및 디코딩 중 적어도 하나의 처리를 수행하는 단계;를 포함하는 컨텐츠 공유 방법.
  4. 제2항에 있어서,
    상기 클라이언트 장치에서 상기 일부 프레임이 선택되면, 상기 컨텐츠 전체에 대해 파싱 및 디코딩 중 적어도 하나의 처리를 수행하여 상기 클라이언트 장치로 전송하는 단계;를 더 포함하는 컨텐츠 공유 방법.
  5. 클라이언트 장치로 제공할 컨텐츠가 저장된 저장부;
    상기 클라이언트 장치로부터 재생 능력 정보를 수신하는 통신부; 및
    상기 수신된 재생 능력 정보를 기초하여 상기 클라이언트 장치로 제공할 컨텐츠에 대한 국부적 처리(partly processing)를 수행할 지 여부를 판단하고, 상기 국부적 처리가 필요하다고 판단되면 상기 컨텐츠 내에서 일부 프레임을 상기 클라이언트 장치에서 재생가능 하도록 처리하여 상기 클라이언트 장치로 전송하는 제어부;를 포함하는 서버 장치.
  6. 제5항에 있어서,
    상기 제어부는,
    상기 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여, 상기 클라이언트 장치가 상기 컨텐츠를 처리할 수 있는 파서 및 코덱을 구비하였다면 상기 국부적 처리가 불필요하다고 판단하고, 상기 파서 및 상기 코덱 중 적어도 하나를 미구비하였다면 상기 국부적 처리가 필요하다고 판단하는 것을 특징으로 하는 서버 장치.
  7. 제6항에 있어서,
    상기 제어부는,
    상기 컨텐츠 내에서 하이라이트 이미지 프레임, 기 설정된 주기에 따라 샘플링된 이미지 프레임, 기 설정된 순서의 이미지 프레임 중 적어도 하나를 선택하여, 상기 선택된 프레임에 대해 파싱 및 디코딩 중 적어도 하나의 처리를 수행하는 것을 특징으로 하는 서버 장치.
  8. 제6항에 있어서,
    상기 제어부는,
    상기 클라이언트 장치에서 상기 일부 프레임이 선택되면, 상기 컨텐츠 전체에 대해 파싱 및 디코딩 중 적어도 하나의 처리를 수행하여 상기 클라이언트 장치로 전송하는 것을 특징으로 하는 서버 장치.
  9. 클라이언트 장치의 컨텐츠 공유 방법에 있어서,
    서버 장치로부터 파서 및 코덱 목록을 수신하여 저장하는 단계;
    상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 단계;
    상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하는 단계;
    상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하고, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 단계;를 포함하는 컨텐츠 공유 방법.
  10. 클라이언트 장치에 있어서,
    서버 장치로부터 파서 및 코덱 목록을 수신하는 통신부;
    상기 파서 및 코덱 목록을 저장하는 저장부;
    상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 입력부;
    상기 재생 요청이 입력되면, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하고, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하는 제어부;
    상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 디스플레이부;를 포함하는 클라이언트 장치.
  11. 화면 공유 시스템에 있어서,
    서버 장치;
    상기 서버 장치에 연결되어 상기 서버 장치로부터 제공되는 메인 화면을 디스플레이하는 적어도 하나의 클라이언트 장치;를 포함하며,
    상기 서버 장치는, 상기 클라이언트 장치로 제공할 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치가 상기 컨텐츠를 재생 불가능하다고 판단되면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하고,
    상기 클라이언트 장치는 상기 서버 장치로부터 전송된 컨텐츠의 재생 화면을 상기 메인 화면에 오버레이시켜 디스플레이하는, 화면 공유 시스템.
  12. 제11항에 있어서,
    상기 서버 장치는 상기 클라이언트 장치가 상기 컨텐츠를 재생 가능하다고 판단되면, 상기 컨텐츠를 상기 클라이언트 장치로 전송하고,
    상기 클라이언트 장치는 상기 서버로부터 전송된 컨텐츠를 파싱 및 디코딩하여 재생 화면을 구성하고, 상기 구성된 재생 화면을 상기 메인 화면에 오버레이시켜 디스플레이하는 화면 공유 시스템.
PCT/KR2013/011679 2013-12-16 2013-12-16 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법 WO2015093637A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2013/011679 WO2015093637A1 (ko) 2013-12-16 2013-12-16 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법
CN201380079910.7A CN105814899B (zh) 2013-12-16 2013-12-16 用于分享内容的服务器装置、客户机装置以及用于分享内容的方法
EP13899911.5A EP2996344A4 (en) 2013-12-16 2013-12-16 SERVER DEVICE AND CLIENT DEVICE FOR THE COMMON USE OF CONTENT AND METHOD FOR THE COMMON USE OF CONTENT
US15/103,928 US10028002B2 (en) 2013-12-16 2013-12-16 Server device for sharing contents, client device, and method for sharing contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2013/011679 WO2015093637A1 (ko) 2013-12-16 2013-12-16 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법

Publications (1)

Publication Number Publication Date
WO2015093637A1 true WO2015093637A1 (ko) 2015-06-25

Family

ID=53402970

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/011679 WO2015093637A1 (ko) 2013-12-16 2013-12-16 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법

Country Status (4)

Country Link
US (1) US10028002B2 (ko)
EP (1) EP2996344A4 (ko)
CN (1) CN105814899B (ko)
WO (1) WO2015093637A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017116071A1 (en) * 2015-12-30 2017-07-06 Samsung Electronics Co., Ltd. Display apparatus, user terminal, control method, and computer-readable medium

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11818607B2 (en) 2011-10-26 2023-11-14 Dish Network Technologies India Private Limited Apparatus systems and methods for proximity-based service discovery and session sharing
US11477694B1 (en) 2021-08-27 2022-10-18 Dish Wireless L.L.C. User plane function (UPF) load balancing based on central processing unit (CPU) and memory utilization of the user equipment (UE) in the UPF
JP6277626B2 (ja) * 2013-08-08 2018-02-14 株式会社リコー 再生システム、再生制御システム、情報端末、表示装置、再生制御プログラム及び再生制御方法
WO2015104846A1 (en) * 2014-01-09 2015-07-16 Square Enix Holdings Co., Ltd. Method and system of creating and encoding video game screen images for transmission over a network
TWI616808B (zh) * 2014-06-30 2018-03-01 緯創資通股份有限公司 分享顯示畫面的方法及裝置
US10652385B2 (en) * 2014-10-06 2020-05-12 Mitel Networks Corporation Method and system for viewing available devices for an electronic communication
US9866789B2 (en) * 2015-02-25 2018-01-09 Echostar Technologies L.L.C. Automatic program formatting for TV displays
CN105873049B (zh) * 2016-01-18 2017-12-22 上海连尚网络科技有限公司 一种用于共享无线接入点的方法、设备、系统和存储介质
FR3052953A1 (fr) * 2016-06-20 2017-12-22 Orange Procede de controle de l'enregistrement d'un terminal
CN111192544B (zh) * 2018-11-14 2021-11-26 腾讯科技(深圳)有限公司 投屏控制方法、装置、计算机可读存储介质和计算机设备
CN110225491A (zh) * 2019-05-20 2019-09-10 超讯通信股份有限公司 一种通信方法、服务器及终端设备
CN112040564B (zh) * 2020-08-25 2023-02-28 北京大米科技有限公司 信息传输方法、可读存储介质和电子设备
CN112351319B (zh) * 2020-11-04 2024-02-09 深圳Tcl新技术有限公司 网络下载服务方法、装置和计算机存储介质
US11582641B1 (en) 2021-08-12 2023-02-14 Dish Wireless L.L.C. User plane function (UPF) load balancing based on current UPF load and thresholds that depend on UPF capacity
US11483738B1 (en) 2021-08-26 2022-10-25 Dish Wireless L.L.C. User plane function (UPF) load balancing based on network data analytics to predict load of user equipment
US11627492B2 (en) 2021-08-26 2023-04-11 Dish Wireless L.L.C. User plane function (UPF) load balancing based on special considerations for low latency traffic
US11595851B1 (en) 2021-08-27 2023-02-28 Dish Wireless L.L.C. User plane function (UPF) load balancing supporting multiple slices
US11950138B2 (en) 2021-11-17 2024-04-02 Dish Wireless L.L.C. Predictive user plane function (UPF) load balancing based on network data analytics

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168542A1 (en) * 2006-01-06 2007-07-19 Google Inc. Media Article Adaptation to Client Device
KR100803609B1 (ko) * 2006-11-13 2008-02-15 삼성전자주식회사 콘텐트를 공유하는 방법 및 장치
KR100820350B1 (ko) * 2007-02-08 2008-04-08 (주)센텍 다양한 파일 컨테이너 포멧을 지원하기 위한 통합 스트리밍서버 및 스트리밍 구현방법
US20120150999A1 (en) * 2009-08-25 2012-06-14 Sagastream Ab Access of media content via media communication system
KR20120123405A (ko) * 2010-01-07 2012-11-08 디브이엑스, 엘엘씨. 미디어 재생 디바이스를 위한 실시간 플래시 기반의 사용자 인터페이스

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965233B2 (en) * 2000-11-20 2018-05-08 Flexiworld Technologies, Inc. Digital content services or stores over the internet that transmit or stream protected or encrypted digital content to connected devices and applications that access the digital content services or stores
US7590750B2 (en) * 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US7886201B2 (en) * 2005-03-10 2011-02-08 Qualcomm Incorporated Decoder architecture for optimized error management in streaming multimedia
AU2006225078B2 (en) * 2005-03-16 2008-11-06 Airscape Technology Pty. Limited Method for distributing computing between server and client
KR100663448B1 (ko) 2005-12-05 2007-01-02 삼성전자주식회사 Dlna 시스템에서의 3 프레임으로 구성된 사용자인터페이스 제공 방법
JP2007158854A (ja) 2005-12-06 2007-06-21 Matsushita Electric Ind Co Ltd Avサーバ装置、クライアント機器、及びファイル転送システム
KR100754196B1 (ko) 2005-12-10 2007-09-03 삼성전자주식회사 스트리밍 재생 중에 컨텐트 재생 장치를 변경하는 방법 및이를 위한 장치
KR101232780B1 (ko) * 2006-01-12 2013-09-03 (주)휴맥스 통합 코덱 장치 및 방법
WO2007114586A1 (en) * 2006-03-31 2007-10-11 Humax Co., Ltd. Device and method for unified codecs
KR100702516B1 (ko) 2006-04-07 2007-04-02 삼성전자주식회사 디.엘.엔.에이 네트워크를 이용한 데이터 저장 방법 및 그장치
KR100782503B1 (ko) 2006-04-07 2007-12-05 삼성전자주식회사 Dlna 네트워크 상에서 방송 컨텐츠 전송방법 및 시스템
KR100789425B1 (ko) 2006-04-10 2007-12-28 삼성전자주식회사 디.엘.엔.에이 네트워크를 이용한 컨텐츠 공유 방법
KR100754431B1 (ko) 2006-04-10 2007-08-31 삼성전자주식회사 Dlna 시스템에서 dmr의 처리용량에 따른 컨텐츠변환방법
KR100818924B1 (ko) * 2006-05-03 2008-04-04 삼성전자주식회사 소프트웨어 모듈의 조합을 통해 dsp 코드를 생성하는장치 및 그 방법
KR100765791B1 (ko) 2006-07-13 2007-10-12 삼성전자주식회사 콘텐트 관리 방법 및 장치
KR20080046971A (ko) 2006-11-24 2008-05-28 엘지전자 주식회사 디지털 미디어 서버들간의 미디어 파일 복사방법
KR20090000092A (ko) 2006-12-29 2009-01-07 엘지전자 주식회사 멀티미디어 콘텐츠의 스트리밍 방법 및 시스템
JP2008206077A (ja) 2007-02-22 2008-09-04 Sharp Corp コンテンツ視聴装置
KR20080085258A (ko) 2007-03-19 2008-09-24 경북대학교 산학협력단 UPnP AV 시스템에서의 실시간 스트리밍 프로토콜선택 장치 및 방법 및 기록매체
US7817563B1 (en) 2007-06-26 2010-10-19 Amazon Technologies, Inc. Adaptive data stream sampling
US8706910B2 (en) * 2008-10-28 2014-04-22 Panzura, Inc. Dynamically adaptive network-based data processing system and method
US9571625B2 (en) 2009-08-11 2017-02-14 Lg Electronics Inc. Electronic device and control method thereof
IN2012DN03081A (ko) * 2009-10-20 2015-07-31 Ericsson Telefon Ab L M
CN102118357B (zh) * 2009-12-31 2014-12-17 华为技术有限公司 一种流媒体处理方法、设备和系统
KR20110095800A (ko) * 2010-02-19 2011-08-25 삼성전자주식회사 코덱에 의해 압축된 동영상 컨텐트 전송 방법 및 그 장치
US9245047B2 (en) * 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US20120174093A1 (en) 2011-01-05 2012-07-05 Divx, Llc Systems and method for dynamically loading software platforms onto playback devices
US9258625B2 (en) * 2011-04-19 2016-02-09 Sensormatic Electronics, LLC Method and system for load balancing between a video server and client
US8621352B2 (en) 2011-06-08 2013-12-31 Cisco Technology, Inc. Virtual meeting video sharing
TWI451268B (zh) 2011-11-08 2014-09-01 Inst Information Industry 提供虛擬桌面之雲端系統、於虛擬桌面播放多媒體之方法以及其電腦可讀取記錄媒體
CN202551245U (zh) * 2012-01-19 2012-11-21 浙江师范大学 一种播放设备和一种服务端
KR101917174B1 (ko) * 2012-02-24 2018-11-09 삼성전자주식회사 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
CN104144312B (zh) * 2013-05-09 2018-06-05 腾讯科技(深圳)有限公司 一种视频处理方法和相关装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168542A1 (en) * 2006-01-06 2007-07-19 Google Inc. Media Article Adaptation to Client Device
KR100803609B1 (ko) * 2006-11-13 2008-02-15 삼성전자주식회사 콘텐트를 공유하는 방법 및 장치
KR100820350B1 (ko) * 2007-02-08 2008-04-08 (주)센텍 다양한 파일 컨테이너 포멧을 지원하기 위한 통합 스트리밍서버 및 스트리밍 구현방법
US20120150999A1 (en) * 2009-08-25 2012-06-14 Sagastream Ab Access of media content via media communication system
KR20120123405A (ko) * 2010-01-07 2012-11-08 디브이엑스, 엘엘씨. 미디어 재생 디바이스를 위한 실시간 플래시 기반의 사용자 인터페이스

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017116071A1 (en) * 2015-12-30 2017-07-06 Samsung Electronics Co., Ltd. Display apparatus, user terminal, control method, and computer-readable medium
US10528226B2 (en) 2015-12-30 2020-01-07 Samsung Electronics Co., Ltd. Display apparatus, user terminal, control method, and computer-readable medium
US10969938B2 (en) 2015-12-30 2021-04-06 Samsung Electronics Co., Ltd. Display apparatus, user terminal, control method, and computer-readable medium
US11347378B2 (en) 2015-12-30 2022-05-31 Samsung Electronics Co., Ltd. Display apparatus, user terminal, control method, and computer-readable medium
US11693535B2 (en) 2015-12-30 2023-07-04 Samsung Electronics Co., Ltd. Display apparatus, user terminal, control method, and computer-readable medium

Also Published As

Publication number Publication date
US20160316243A1 (en) 2016-10-27
EP2996344A1 (en) 2016-03-16
EP2996344A4 (en) 2016-11-30
CN105814899B (zh) 2019-08-13
US10028002B2 (en) 2018-07-17
CN105814899A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
WO2015093637A1 (ko) 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법
WO2016129784A1 (en) Image display apparatus and method
WO2014017759A1 (en) Method and mobile terminal for displaying information, method and display device for providing information, and method and mobile terminal for generating control signal
WO2016080733A1 (en) Electronic device for identifying peripheral apparatus and method thereof
WO2015119480A1 (en) User terminal device and displaying method thereof
WO2013012104A1 (ko) 전자기기 및 전자기기의 동작 방법
WO2018186592A1 (en) Electronic device and operating method thereof
WO2014182089A1 (en) Display apparatus and graphic user interface screen providing method thereof
WO2014092469A1 (en) Content playing apparatus, method for providing ui of content playing apparatus, network server, and method for controlling by network server
WO2017052143A1 (en) Image display device and method of operating the same
WO2016122151A1 (ko) 싱크 디바이스 및 그 제어 방법
WO2017105015A1 (en) Electronic device and method of operating the same
WO2015102250A1 (en) User terminal apparatus and control method thereof
WO2013151397A1 (en) Method and system for reproducing contents, and computer-readable recording medium thereof
WO2016076570A1 (en) Display apparatus and display method
WO2016080700A1 (en) Display apparatus and display method
EP3105657A1 (en) User terminal device and displaying method thereof
WO2014017757A1 (en) Method of transmitting inquiry message, display device for the method, method of sharing information, and mobile terminal
WO2018030829A1 (en) Image display apparatus and operating method thereof
WO2016104932A1 (en) Image display apparatus and image display method
WO2016111455A1 (en) Image display apparatus and method
WO2015194755A1 (ko) 사용자 단말 장치 및 그 제어 방법
WO2017034298A1 (ko) 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법
WO2011136402A1 (ko) 영상표시기기 및 그 동작방법
WO2018080176A1 (en) Image display apparatus and method of displaying image

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: 13899911

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013899911

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15103928

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE