























본 발명은 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법에 대한 것으로, 보다 상세하게는, 클라이언트 장치의 특성을 고려하여 컨텐츠를 공유하는 서버 장치 및 그 서버 장치로부터 컨텐츠를 제공받아 재생하는 클라이언트 장치와 그 컨텐츠 공유 방법에 관한 것이다.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.
전자 기술의 발달에 힘입어 다양한 종류의 전자 기기가 개발되어 보급되고 있다. 특히 최근에는 스마트폰, 스마트 TV 등과 같이 종래의 기기보다 진화된 성능의 사용자 단말 장치들의 사용이 급속도로 증가하고 있다.With the development of electronic technology, various kinds of electronic devices have been developed and spread. In particular, in recent years, the use of user terminal devices having advanced performances compared to conventional devices such as smart phones and smart TVs is increasing rapidly.
사용자들은 자신이 구비한 사용자 단말 장치와 주변 장치들을 네트워크로 연결하여 사용할 수 있다. 일 예로 자신의 장치와 타 장치 사이에서 컨텐츠를 공유할 수 있다.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.
컨텐츠 공유가 가능하려면, 컨텐츠를 제공받는 장치, 즉, 클라이언트 장치에서는 제공된 컨텐츠를 처리하기 위한 하드웨어 및 소프트웨어를 갖추고 있어야 한다.In order to be able to share content, the device receiving the content, that is, the client device, must have hardware and software for processing the provided content.
하지만, 다양한 유형의 컨텐츠가 제작됨에 따라 컨텐츠 처리에 필요한 파서나 코덱 등도 다양하게 이용되고 있다. 따라서, 클라이언트 장치에서 서버 장치로부터 컨텐츠를 제공받더라도, 그 컨텐츠를 처리할 수 있는 파서나 코덱을 구비하고 있지 않는 경우가 발생할 수 있다.However, as various types of content are produced, various parsers and codecs required for content processing are used. Therefore, even if the client device receives the content from the server device, the client device may not include a parser or codec capable of processing the content.
이 경우, 컨텐츠 자체는 정상적으로 공유하였지만, 그 컨텐츠를 재생시킬 수가 없어서, 컨텐츠 이용이 불가능하다는 문제점이 있었다.In this case, although the content itself is normally shared, there is a problem that the content cannot be used because the content cannot be reproduced.
따라서, 컨텐츠 공유 기능을 좀 더 효과적으로 사용할 수 있는 기술에 대한 필요성이 대두되었다.Therefore, a need has arisen for a technology that can use a content sharing function more effectively.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은, 클라이언트 장치의 성능을 고려하여 컨텐츠를 적절하게 처리한 후 제공하는 서버 장치와, 그 컨텐츠를 수신하여 재생하는 클라이언트 장치 및 그들의 컨텐츠 공유 방법을 제공함에 있다.SUMMARY OF THE INVENTION 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 the content thereof. In providing.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따르면, 서버 장치의 컨텐츠 공유 방법은, 클라이언트 장치로부터 재생 능력 정보를 수신하는 단계, 상기 클라이언트 장치로 제공할 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치가 상기 컨텐츠를 재생 불가능하다고 판단되면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하는 전송 단계를 포함한다.According to an embodiment of the present invention for achieving the above object, 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.
또는, 상기 처리는 상기 컨텐츠에 포함된 오디오 데이터 및 비디오 데이터 중 적어도 하나를 디코딩 처리하는 것일 수 있다.Alternatively, the processing may be decoding processing of at least one of audio data and video data included in the content.
또는, 본 방법은, 상기 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여, 상기 클라이언트 장치가 상기 컨텐츠를 처리할 수 있는 파서 및 코덱을 구비하였다면 상기 컨텐츠의 재생이 가능하다고 판단하고, 상기 파서 및 상기 코덱 중 적어도 하나를 미구비하였다면 상기 컨텐츠의 재생이 불가능하다고 판단하는 단계를 더 포함할 수 있다.Alternatively, if the client device has a parser and a codec capable of processing the content, based on the attribute of the content and the reproduction capability information, 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.
또는, 상기 클라이언트 장치가 상기 컨텐츠의 컨텐츠를 처리할 수 있는 파서 및 코덱 중 적어도 하나를 미구비하였다면, 상기 서버 장치가 상기 파서 및 코덱을 구비하였는지 판단하는 단계, 상기 서버 장치가 상기 파서 및 코덱 중 적어도 하나를 미구비하였다면, 구비 가능한지 판단하는 단계, 상기 구비가 가능하다면 상기 파서 및 코덱 중 적어도 하나를 구비하여 상기 컨텐츠를 처리하고, 구비가 불가능하다면 재생 불가 응답을 상기 클라이언트 장치로 전송하는 단계를 더 포함할 수도 있다.Or if 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.
또한, 본 방법은, 상기 클라이언트 장치로부터 컨텐츠 공유 요청을 수신하는 단계를 더 포함할 수도 있다.In addition, the method may further include receiving a content sharing request from the client device.
또한, 상기 재생 능력 정보는 상기 클라이언트 장치로부터 주기적으로 또는 요청에 따라 전송될 수 있다.In addition, the playing capability information may be transmitted periodically from the client device or upon request.
한편, 본 발명의 일 실시 예에 따르면, 서버 장치는, 클라이언트 장치로 제공할 컨텐츠가 저장된 저장부, 상기 클라이언트 장치로부터 재생 능력 정보를 수신하는 통신부 및 상기 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치에서 상기 컨텐츠 재생이 불가능하면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하는 제어부를 포함한다.Meanwhile, according to an embodiment of the present disclosure, 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.
그리고, 상기 제어부는, 상기 클라이언트 장치에서 상기 컨텐츠에 대한 디코딩이 불가능하면 상기 컨텐츠에 포함된 오디오 데이터 및 비디오 데이터 중 적어도 하나를 디코딩하여 상기 클라이언트 장치로 전송할 수 있다.If the client device cannot decode the content, 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.
또는, 상기 제어부는, 상기 클라이언트 장치에서 상기 컨텐츠의 재생이 불가능하면 상기 서버 장치가 상기 파서 및 코덱을 구비하였는지 판단하고, 상기 서버 장치가 상기 파서 및 코덱 중 적어도 하나를 미구비하였다면 구비 가능한지 판단하며, 구비가 가능하다면 상기 파서 및 코덱 중 적어도 하나를 신규 설치하여 상기 컨텐츠를 처리하고, 구비가 불가능하다면 재생 불가 응답을 상기 클라이언트 장치로 전송할 수 있다.Alternatively, 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.
한편, 본 발명의 일 실시 예에 따르면, 클라이언트 장치의 컨텐츠 공유 방법은, 서버 장치로부터 파서 및 코덱 목록을 수신하여 저장하는 단계, 상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 단계, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하는 단계, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하고, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 단계를 포함한다.On the other hand, according to an embodiment of the present invention, 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.
또한, 본 발명의 일 실시 예에 따르면, 클라이언트 장치는, 서버 장치로부터 파서 및 코덱 목록을 수신하는 통신부, 상기 파서 및 코덱 목록을 저장하는 저장부, 상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 입력부, 상기 재생 요청이 입력되면, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하고, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하는 제어부, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 디스플레이부를 포함한다.According to an embodiment of the present disclosure, 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.
이상과 같은 다양한 실시 예들에 따르면, 본 발명에서는 서버 장치 및 클라이언트 장치 사이에서 통신 자원을 과도하게 낭비하지 않으면서, 컨텐츠 공유가 효과적으로 이루어질 수 있게 된다.According to various embodiments as described above, in the present invention, content sharing can be effectively performed without excessively wasting communication resources between the server device and the client device.
도 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 is a block diagram showing the configuration of a content sharing system according to an embodiment of the present invention;
2 is a diagram illustrating a configuration of a content sharing system further including an access point;
3 is a block diagram showing the configuration of a server apparatus according to an embodiment of the present invention;
4 is a block diagram showing a configuration of a client device according to an embodiment of the present invention;
5 is a diagram illustrating an example of a message format used to share content;
6 is a timing diagram illustrating a content sharing method according to an embodiment of the present invention;
7 and 8 are timing diagrams for describing a content sharing method according to various embodiments of the present disclosure;
9 and 10 are flowcharts illustrating a content sharing method of a server device according to various embodiments of the present disclosure;
11 is a flowchart illustrating a content sharing method according to another embodiment of the present invention;
12 is a diagram illustrating an example of a screen configuration for selecting a server device from a client device;
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.
18 is a diagram illustrating a configuration of a screen sharing system according to an embodiment of the present invention;
19 is a diagram illustrating an example of a screen of a client device used in a screen sharing system;
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.
이하에서, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시 예에 따른 컨텐츠 공유 시스템의 구성을 나타내는 도면이다. 도 1은 서버 장치(100) 및 클라이언트 장치(200)가 직접 통신을 연결하는 경우를 나타낸다.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
도 1에 따르면, 서버 장치(100)는 클라이언트 장치(200)로 전송 가능한 적어도 하나의 컨텐츠를 저장한다. 컨텐츠란 동영상, 음악, 사진, 이미지, 문서, 텍스트, 프로그램 등과 같은 다양한 종류의 데이터가 될 수 있다. 서버 장치(100)는 일반적인 서버로 구현될 수도 있으나 이에 한정되지 않고 휴대폰이나 TV, PDA, 태블릿 PC, PC, 노트북 PC, 전자 액자, 키오스크, 전자 광고판 및 기타 사용자 단말 장치 등으로 구현될 수 있다. 또한, 클라이언트 장치(200)는 비디오 컨텐츠 및 오디오 컨텐츠 등을 출력할 수 있는 다양한 형태의 장치로 구현될 수 있다. 예를 들어, 클라이언트 장치(200) 역시 휴대폰이나 TV, PDA, 태블릿 PC, PC, 노트북 PC, 전자 액자, 키오스크, 전자 광고판 등과 같이 다양한 단말 장치로 구현될 수 있다.According to FIG. 1, the
클라이언트 장치(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가 될 수 있다.The
서버 장치(100)는 클라이언트 장치(200)의 재생 능력 정보를 확인하여 클라이언트 장치(200)가 컨텐츠 재생이 가능한지 여부를 판단할 수 있다. 재생 능력 정보는 클라이언트 장치(200)가 구비한 파서(parser), 코덱(codec)에 대한 정보가 될 수 있다.The
파서란 컨텐츠를 분석하여 컨텐츠 재생에 필요한 각종 정보를 검출하기 위한 구성이다. 파서의 예로는 동영상 파서, 이미지 파서, 오디오 파서, XML 파서 등이 있을 수 있다. 코덱이란 데이터 스트림이나 신호에 대해서 인코딩 또는 디코딩을 수행할 수 있는 구성을 의미한다. 코덱의 예로는 MPEG(Moving Picture Expert Group) 코덱, Divx 코덱, AC3 코덱, OGG 코덱, Xvid 코덱, H.264 코덱, wmv7, 8, 9 코덱, 비디오 코덱(Video Codec) 등이 있을 수 있다. 파서 및 코덱의 세부 구성 예에 대해서는 명세서 후반부에서 구체적으로 설명한다.The parser is a structure for analyzing contents and detecting various information necessary for reproducing the contents. Examples of parsers are video parsers, image parsers, audio parsers, XML parsers, and the like. A codec means a configuration capable of encoding or decoding 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, 8 and 9 codec, and a video codec. Detailed configuration examples of the parser and the codec will be described later in the specification.
컨텐츠 재생 시에는 컨텐츠의 포맷에 따라 적절한 파서 및 코덱이 요구된다. 클라이언트 장치(200)가 파서 및 코덱 중 적어도 하나를 구비하고 있지 않은 경우에는 서버 장치(100)로부터 컨텐츠가 송신된다고 하더라도 제대로 재생을 할 수 없게 된다.When playing content, an appropriate parser and codec are required according to the format of the content. If the
서버 장치(100)는 클라이언트 장치(200)의 재생 능력 정보를 확인하여, 클라이언트 장치(200)로 제공할 컨텐츠의 속성과 비교한다. 서버 장치(100)는 컨텐츠의 속성에 대응되는 파서 및 코덱을 클라이언트 장치(200)가 모두 구비하고 있다고 판단되면, 컨텐츠를 클라이언트 장치(200)로 그대로 전송한다. 이에 따라, 컨텐츠가 압축된 상태로 전송되므로 주파수나 시간 슬롯과 같은 통신 자원을 절약할 수 있다.The
반면, 서버 장치(100)는 파서 및 코덱 중 적어도 하나라도 클라이언트 장치(200)가 구비하고 있지 않다고 판단되면, 서버 장치(100)가 컨텐츠를 출력 가능한 형태로 처리하여 클라이언트 장치(200)로 전송한다. 가령, 파서를 구비하고 있지 않다면 파싱을 수행하여 파싱 결과를 컨텐츠와 함께 클라이언트 장치(200)로 전송한다. 반면, 코덱을 구비하고 있지 않거나, 파서 및 코덱을 모두 구비하고 있지 않다면 파싱 및 디코딩을 수행하여 디코딩된 컨텐츠를 클라이언트 장치(200)로 전송한다. 이에 따라, 클라이언트 장치(200)는 재생 가능한 컨텐츠 화면의 데이터를 바로 수신하여 재생할 수 있다.On the other hand, if it is determined that at least one of the parser and the codec is not included in the
한편, 상술한 부분에서는 재생 능력 정보가 파서 및 코덱에 대한 정보를 포함하는 것으로 설명하였으나, 본 발명의 또 다른 실시 예에 따르면 재생 능력 정보에는 파서 및 코덱에 대한 정보 이외에 해상도, 디스플레이 사이즈, 출력 프레임 레이트, 출력 색 대역(color gamut) 등과 같은 다양한 부가 정보가 더 포함될 수도 있다.Meanwhile, in the above-described part, the reproduction capability information has been described as including information about the parser and the codec. However, according to another embodiment of the present invention, 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.
서버 장치(100)는 클라이언트 장치(200)의 부가 정보에 따라 다양한 부가 처리를 수행할 수 있다. 가령, 클라이언트 장치의 디스플레이 해상도가 컨텐츠의 원 해상도보다 높은 경우에는 컨텐츠의 해상도를 보간하여 클라이언트 장치의 해상도에 맞추는 처리를 수행할 수 있다. 또는, 클라이언트 장치(200)에 구비된 디스플레이부의 가로 세로 비가 컨텐츠의 가로 세로 비와 다른 경우, 클라이언트 장치(200)에 구비된 디스플레이부의 비율에 맞추어 크랍핑(cropping)을 수행할 수 있다. 그 밖에, 클라이언트 장치(200)의 파싱 능력, 디코딩 능력에 맞추어 해상도를 줄이거나 비트 레이트(bit rate)를 조정하여 클라이언트 장치(200)로 전송할 수 있다.The
또한, 상술한 바와 같이 도 1은 서버 장치(100) 및 클라이언트 장치(200)가 직접 통신을 수행하는 경우를 설명하였으나, 액세스 포인트를 통해서 통신을 연결할 수도 있다.In addition, as described above, FIG. 1 has described a case in which the
도 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 is a diagram illustrating a configuration of a content sharing system further including an access point. According to FIG. 2, the content sharing system includes a plurality of
도 2에 따르면 서버 장치(100) 및 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)는 중계기(AP)를 통해 네트워크를 형성한다.According to FIG. 2, the
클라이언트 장치(200-1, 200-2, 200-3, 200-4)중 적어도 하나에서 컨텐츠 공유 기능이 선택되면, 해당 클라이언트 장치는 중계기(AP)를 통해서 서버 장치(100)를 검색한다. 각 클라이언트 장치(200-1, 200-2, 200-3, 200-4)가 서버 기능도 갖추고 있다면, 서버 장치(100) 뿐만 아니라 서버 기능을 갖춘 나머지 클라이언트 장치들도 함께 검색될 수 있다.When the content sharing function is selected in at least one of the client devices 200-1, 200-2, 200-3, and 200-4, the client device searches for the
예를 들어, 제1 클라이언트 장치(200-1)에서 컨텐츠 공유 기능이 선택되었다면, 제1 클라이언트 장치(200-1)는 서버 장치(100)를 검색한 후, 서버 장치(100)에 대해 컨텐츠 정보를 요청할 수 있다. 서버 장치(100)가 저장된 컨텐츠에 대한 정보를 전송하면 제1 클라이언트 장치(200-1)는 컨텐츠 정보를 디스플레이한다. 사용자가 하나의 컨텐츠를 선택하면, 제1 클라이언트 장치(200-1)는 선택된 컨텐츠에 대한 요청 신호 및 제1 클라이언트 장치(200-1)의 재생 능력 정보를 서버 장치(100)로 전송한다.For example, if the content sharing function is selected in the first client device 200-1, the first client device 200-1 searches for the
재생 능력 정보는 요청 신호와 함께 전송될 수 있지만, 반드시 이에 한정되는 것은 아니다. 즉, 재생 능력 정보는 서버 장치(100)의 전송 요청이 있는 경우, 기 설정된 주기가 도래한 경우, 제1 클라이언트 장치(200-1)가 서버 장치(100)에 최초 접속한 경우, 제1 클라이언트 장치(200-1)의 파서나 코덱에 변경 사항이 있는 경우 등에 서버 장치(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
서버 장치(100)는 상술한 바와 같이 제1 클라이언트 장치(200-1)의 재생 능력 정보와 컨텐츠의 속성을 비교하여 컨텐츠의 재생이 가능한지 여부를 판단한다. 서버 장치(100)는 판단 결과에 따라 컨텐츠를 그대로 또는 적절하게 처리하여 전송한다.As described above, the
이상에서는 제1 클라이언트 장치(200-1)에서 컨텐츠 공유 기능이 선택된 경우를 설명하였으나, 본 발명의 또 다른 실시 예에 따르면, 컨텐츠를 공유하기 위한 시도는 서버 장치(100)에서 이루어질 수도 있다.In the above, the case in which the content sharing function is selected in the first client device 200-1 has been described. However, according to another exemplary embodiment, an attempt to share content may be made in the
가령, 서버 장치(100)에서 컨텐츠 공유 기능이 선택된 경우, 서버 장치(100)는 저장된 컨텐츠에 대한 목록을 디스플레이할 수 있다. 서버 장치(100)의 사용자는 목록 상에서 공유할 컨텐츠를 선택할 수 있다.For example, when the content sharing function is selected in the
컨텐츠 선택이 이루어지면, 서버 장치(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)의 재생 능력 정보가 더 포함될 수도 있다.When content selection is made, the
서버 장치(100)는 응답 신호를 전송한 각 클라이언트 장치에 대한 목록을 디스플레이한다. 서버 장치(100)의 사용자는 디스플레이된 목록 상에서 컨텐츠를 공유할 클라이언트 장치를 선택할 수 있다.The
클라이언트 장치가 선택되면 서버 장치(100)는 선택된 클라이언트 장치의 재생 능력 정보 및 컨텐츠의 속성에 기초하여, 클라이언트 장치의 재생 가능 여부를 판단한다. 서버 장치(100)는 판단 결과에 따라 컨텐츠를 그대로 또는 적절한 처리를 수행한 후 클라이언트 장치로 전송한다.When the client device is selected, the
이상과 같이, 서버 장치(100) 및 클라이언트 장치(200) 사이에서는 다양한 방식으로 컨텐츠 공유가 이루어질 수 있으며, 클라이언트 장치(200)의 특성에 맞게 컨텐츠를 처리하여 줄 수 있으므로 효율성을 증대시킬 수 있다.As described above, content sharing may be performed in various ways between the
한편, 도 2에서는 액세스 포인트를 이용하여 컨텐츠 공유가 이루어지는 다양한 실시 예들에 대해서 설명하였으나, 도 2에서 설명한 내용은 도 1의 실시 예에서도 동일하게 구현될 수 있음은 물론이다.Meanwhile, in 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.
도 3은 본 발명의 일 실시 예에 따른 서버 장치(100)의 구성을 나타내는 블럭도이다. 도 3에 따르면, 서버 장치(100)는 통신부(110), 제어부(120), 저장부(130)를 포함한다.3 is a block diagram showing the configuration of the
통신부(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) 등과 같이 다양하게 사용될 수 있다.The
저장부(130)는 각종 컨텐츠 및 프로그램을 저장한다. 저장부(130)는 컨텐츠의 속성에 대한 각종 정보도 함께 저장할 수 있다. 가령, 컨텐츠의 타입, 컨텐츠 포맷, 컨텐츠 사이즈, 컨텐츠 처리를 위한 코덱 정보 등과 같은 속성 정보가 저장될 수 있다. 이러한 속성 정보는 프로토콜의 종류에 따라 MPD(Media Presentation Description) 파일이나 매니페스트 파일과 같은 메타데이터 파일의 형태로 저장될 수 있다.The
제어부(120)는 클라이언트 장치(200)와 공유하고자 하는 컨텐츠의 속성과, 클라이언트 장치(200)의 재생 능력 정보에 기초하여 클라이언트 장치에서 컨텐츠 재생이 가능한지 여부를 판단한다. 판단 결과 클라이언트 장치에서 컨텐츠 재생이 가능하면, 컨텐츠를 클라이언트 장치로 그대로 전송한다.The
반면, 클라이언트 장치에서 컨텐츠의 재생이 불가능하면, 컨텐츠를 재생 가능한 형태로 처리하여 클라이언트 장치(200)로 전송한다.On the other hand, if the content cannot be reproduced in the client device, the content is processed in a playable form and transmitted to the
구체적으로는, 제어부(120)는 재생 능력 정보에 기초하여, 클라이언트 장치가 컨텐츠에 대응되는 파서 및 코덱을 구비하였는지 확인한다. 예를 들어, 컨텐츠에 포함된 비디오 데이터가 MS MPEG-4 Video Codec V3으로 압축되었고 컨텐츠에 포함된 오디오 데이터는 Windows Media Audio V2로 압축이 되었다면, 클라이언트 장치가 해당 코덱을 갖추고 있는지 판단한다. 판단 결과 파서 및 코덱 중 적어도 하나를 갖추고 있지 않다면, 제어부(120)는 파싱 및 디코딩 중 적어도 하나의 처리를 수행하여 처리 결과를 클라이언트 장치(200)로 전송한다.Specifically, the
가령, 클라이언트 장치(200)가 컨텐츠의 파싱이 불가능한 경우에는, 컨텐츠를 파싱 처리하여 클라이언트 장치(200)로 전송한다.For example, if the
또는, 클라이언트 장치(200)가 컨텐츠에 포함된 비디오 데이터 및 오디오 데이터 중 적어도 하나에 대한 코덱을 구비하고 있지 않은 경우, 즉, 디코딩이 불가능한 경우에는, 제어부(120)는 컨텐츠에 포함된 오디오 데이터 및 비디오 데이터 중 적어도 하나를 디코딩하여 클라이언트 장치(200)로 전송한다.Or, if the
한편, 서버 장치(100)도 컨텐츠에 대한 파서나 코덱을 구비하고 있지 않은 경우가 있을 수 있다. 이 경우, 제어부(120)는 컨텐츠 재생에 필요한 파서나 코덱을 구비할 수 있는지 여부를 판단한다.On the other hand, the
구체적으로는, 제어부(120)는 통신부(110)를 이용하여 서버 장치(100)가 연결된 네트워크 또는 웹(Web) 상에서 컨텐츠 재생에 필요한 파서나 코덱을 검색한다. 파서나 코덱을 갖춘 소스 장치(미도시)가 검색되면 제어부(120)는 검색된 파서나 코덱에 대한 전송 요청을 소스 장치로 전송한다. 이에 따라, 소스 장치로부터 파서 또는 코덱을 다운로드하여 저장부(130)에 설치한다. 그리고 나서, 제어부(120)는 설치된 파서 및 코덱을 이용하여 컨텐츠를 재생 가능한 형태로 처리한 후, 클라이언트 장치(200)로 전송한다.Specifically, the
반면, 제어부(120)가 파서나 코덱에 대한 소스 장치를 검색하지 못한 경우에는 재생 불가 상태로 판단한다. 제어부(120)는 재생 불가 상태로 판단된 경우에는 컨텐츠를 클라이언트 장치(200)로 전송하지 않을 수 있다.On the other hand, if the
한편, 클라이언트 장치(200)로부터 컨텐츠 공유가 요청된 경우에는 제어부(120)는 재생 불가 상태임을 알리기 위한 재생 불가 응답을 클라이언트 장치(200)로 전송할 수 있다. 반면, 서버 장치(100) 자체에서 컨텐츠 공유가 요청된 경우에는 제어부(120)는 재생 불가 상태임을 알리기 위한 에러 메시지를 출력할 수 있다.On the other hand, when content sharing is requested from the
이상에서는, 서버 장치(100)에서 검색하여 신규 설치한 파서 및 코덱을 이용하여 컨텐츠를 처리한 후 클라이언트 장치(200)로 전송하는 것으로 설명하였으나, 이와 상이한 실시 예에 따라서는, 제어부(120)는 소스 장치로부터 제공된 파서 또는 코덱 자체를 컨텐츠와 함께 클라이언트 장치(200)로 전송하여 줄 수도 있다. 이 경우, 클라이언트 장치(200)는 전달된 파서 또는 코덱을 자체적으로 설치한 후, 설치된 파서 및 코덱을 이용하여 컨텐츠를 재생할 수 있다. 이에 따라 통신 자원을 효율적으로 사용할 수 있다.In the above description, the
도 4는 본 발명의 일 실시 예에 따른 클라이언트 장치의 구성을 나타내는 블럭도이다. 도 4에 따르면, 클라이언트 장치(200)는 통신부(210), 입력부(220), 제어부(230), 디스플레이부(240), 저장부(250)를 포함한다.4 is a block diagram illustrating a configuration of a client device according to an exemplary embodiment. According to FIG. 4, the
통신부(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) 등과 같은 다양한 통신 프로토콜을 이용하여 통신을 수행할 수 있다.The
통신부(210)는 클라이언트 장치의 재생 능력 정보를 서버 장치(100)로 전송한다. 재생 능력 정보는 통신부(210)에 적용된 통신 프로토콜에 따라 다양한 포맷으로 생성되어 전송될 수 있다. 일 예로, HTTP 프로토콜을 사용하는 경우를 설명한다. HTTP 프로토콜은 Get/Post 방식으로 데이터를 전송하는 프로토콜이다. 두 방식 모두 변수(Variable), 변수 값(Value) 쌍을 전송하는 형태이다. 통신부(210)는 클라이언트 장치(200)에 설치된 파서 및 코덱을 나타내는 변수를 정의하고, 해당 변수의 변수 값에 파서/코덱 정보를 넣어서, 서버 장치(100)로 전송한다. 이러한 방식은 3G, 4G, WiFi, Ethernet 등에도 적용될 수 있다.The
한편, NFC나 블루투스 방식이 적용된 경우에는, 통신부(210)는 전송되는 데이터 포맷에 일부 영역을 할당하여, 파서/코덱 정보를 일정한 길이로 포맷한 후 실어서 전송하면 된다.On the other hand, when NFC or Bluetooth is applied, the
도 5는 블루투스 방식의 패킷의 구성을 나타내는 도면이다. 도 5에 따르면, 패킷은 액세스 코드(Access Code), 헤더(Header), 페이로드(Payload)로 구성된다. 액세스 코드와 헤더는 고정된 길이를 가지고, 페이로드는 패킷의 종류에 따라 달라진다. 액세스 코드는 프리엠블(Preamble), 싱크 워드(Sync word), 트레일러(Trailer)로 구성된다. 액세스 코드는 패킷 식별에 사용된다. 헤더는 기기의 어드레스(AM_ADDR)와 PAYLOAD의 종류를 표시하는 타입(TYPE), 재송제어, Flow 제어 등을 위한 비트(FLOW, ARQN, SEQN)등을 포함한다.5 is a diagram illustrating a configuration of a packet of a Bluetooth method. According to FIG. 5, 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).
통신부(110)는 패킷의 페이로드 부분에 재생 능력 정보를 삽입하여 전송한다. 재생 능력 정보는 상술한 바와 같이 파서 및 코덱에 대한 정보와 그 밖의 다양한 부가 정보를 포함할 수 있다. 파서 및 코덱은 각각 하드웨어 또는 소프트웨어로 구현될 수 있다. 소프트웨어로 구현된 경우, 파서 및 코덱은 저장부(250)에 저장된다. 재생 능력 정보를 전송하는 시점은 실시 예에 따라 다양하게 달라질 수 있다.The
일 예로, 통신부(210)는 기 설정된 시간 주기가 도래할 때마다 재생 능력 정보를 서버 장치(100)로 전송할 수 있다.For example, the
다른 예로, 통신부(210)는 입력부(220)에서 컨텐츠 공유 기능이 선택되었을 때 재생 능력 정보를 전송할 수 있다. 재생 능력 정보는 컨텐츠에 대한 공유 요청과 함께 전송될 수도 있고, 공유 요청 이전 또는 이후에 전송될 수도 있다.As another example, the
또 다른 예로는, 통신부(210)는 서버 장치(100)로부터 정보 요청이 전송되었을 때, 재생 능력 정보를 전송할 수 있다.As another example, the
또 다른 예로는, 클라이언트 장치(200)가 서버 장치(100)에 최초 접속된 경우에 재생 능력 정보를 전송하거나, 재생 능력에 변경이 있을 경우마다 재생 능력 정보를 전송할 수 있다.As another example, the reproduction capability information may be transmitted when the
이상과 같이, 통신부(210)는 다양한 방식으로 재생 능력 정보를 서버 장치(100)로 제공할 수 있다.As described above, the
다시 도 4에 대한 설명으로 돌아가면, 입력부(220)는 각종 사용자 선택 명령을 입력받기 위한 구성요소이다. 입력부(220)는 클라이언트 장치(200)의 본체에 구비된 버튼이나 휠, 터치 스크린, 터치 패드, 마우스, 키보드, 조이스틱 등으로 구현될 수 있다. 사용자는 입력부(220)를 이용하여 컨텐츠 공유 기능을 선택할 수 있다.4 again, the
제어부(230)는 입력부(220)를 통해 입력된 사용자 선택 명령에 따라 클라이언트 장치(200)의 동작을 제어한다. 구체적으로는, 제어부(230)는 입력부(220)에 의해 컨텐츠 공유 기능이 선택되고 공유하고자 하는 컨텐츠가 선택되면, 컨텐츠에 대한 공유 요청을 서버 장치(100)로 전송하도록 통신부(210)를 제어한다. 공유 요청에는 입력부(220)에 의해 선택된 컨텐츠에 대한 식별 정보가 포함된다.The
통신부(210)는 공유 요청에 따라 서버 장치(100)로부터 컨텐츠가 전송되면, 이를 수신한다. 컨텐츠는 서버 장치(100)로 전송한 재생 능력 정보에 따라 그대로 전송되거나, 파싱 또는 디코딩된 상태로 전송될 수 있다.The
제어부(230)는 서버 장치(100)로부터 전송된 컨텐츠를 저장부(250)에 저장한다. 제어부(230)는 저장부(250)에 저장된 컨텐츠를 디스플레이부(240)를 통해 출력한다. 도 4에서는 디스플레이부(240)만을 도시하였으나, 스피커도 더 포함될 수 있으며, 스피커가 포함된 경우에는 동영상 컨텐츠나 음악 컨텐츠 등도 출력 가능하다.The
제어부(230)는 서버 장치(100)로부터 컨텐츠가 원 상태 그대로 전송된 경우에는 컨텐츠를 파싱하여 비디오 데이터 및 오디오 데이터를 분리하고, 각 데이터에 대한 코덱 정보를 확인한다. 제어부(230)는 확인된 코덱 정보에 대응되는 코덱을 이용하여 비디오 데이터 및 오디오 데이터를 각각 디코딩하여 출력한다.When the content is transmitted as it is from the
반면, 제어부(230)는 저장부(250)에 파서가 저장되지 않은 경우에는, 서버 장치(100)로부터 파싱된 컨텐츠를 수신한다. 제어부(230)는 파싱 결과에 따라, 컨텐츠 내의 비디오 데이터 및 오디오 데이터를 디코딩하여 출력한다.On the other hand, if the parser is not stored in the
파서 및 코덱 모두가 마련되어 있지 않거나, 파서가 없는 경우에는, 제어부(230)는 서버 장치(100)로부터 디코딩된 컨텐츠를 수신한다. 이에 따라, 제어부(230)는 수신된 컨텐츠에 대해 별다른 추가 처리 없이 바로 디스플레이부(240) 등을 통해 출력한다.If neither a parser nor a codec is provided or there is no parser, the
이상의 실시 예에서는 클라이언트 장치(200)는 자신의 재생 능력 정보를 서버 장치(100)로 전송하고, 서버 장치(100)가 이를 바탕으로 클라이언트 장치(200)의 재생 능력을 판단하는 것으로 설명하였다.In the above-described embodiment, the
하지만, 본 발명의 다른 실시 예에 따르면, 클라이언트 장치(200)가 컨텐츠의 재생 가능 여부를 직접 판단할 수도 있다.However, according to another exemplary embodiment of the present disclosure, the
즉, 통신부(210)는 서버 장치(100)로부터 파서 및 코덱 목록을 수신한다. 파서 및 코덱 목록은 서버 장치(100)와의 최초 접속시에 또는 주기적으로 수신할 수 있다.That is, the
저장부(250)는 수신된 파서 및 코덱 목록을 저장한다. 그 밖에, 저장부(250)에는 클라이언트 장치(200)에 이미 설치되어 있는 파서 및 코덱에 대한 정보도 함께 저장되어 있을 수 있다.The
또한, 통신부(210)는 서버 장치(100)로부터 제공 가능한 컨텐츠의 목록에 대한 정보를 수신할 수 있다.In addition, the
제어부(230)는 수신된 컨텐츠 목록을 디스플레이부(240)를 통해 디스플레이한다. 사용자는 입력부(220)를 이용하여, 컨텐츠 목록 상에서 하나를 선택하여 재생 요청을 입력할 수 있다.The
제어부(230)는 재생 요청이 입력되면, 클라이언트 장치에 기 설치된 파서 및 코덱에 대한 정보와, 서버 장치(100)로부터 수신된 파서 및 코덱 목록을 종합적으로 고려하여, 선택된 컨텐츠에 대한 파싱 및 디코딩이 가능한지 판단한다.When a playback request is input, the
판단 결과, 선택된 컨텐츠를 파싱하기 위한 파서 및 디코딩하기 위한 코덱이 클라이언트 장치(200)에 이미 설치된 상태라면, 제어부(230)는 컨텐츠에 대한 재생이 가능하다고 판단하고, 통신부(210)를 이용하여 서버 장치(100)로 컨텐츠 공유 요청을 전송한다.As a result of the determination, if a parser for parsing the selected content and a codec for decoding are already installed in the
또는, 파서나 코덱 중 적어도 하나가 클라이언트 장치(200)에 설치되어 있지 않고, 서버 장치(100)에 설치되어 있다면, 제어부(230)는 서버 장치(100)로 컨텐츠 공유 요청을 전송할 때 자신의 재생 능력 정보 또는 파싱 및 디코딩 요청을 함께 전송하여 서버 장치(100)가 필요한 처리를 수행한 후 컨텐츠를 전송하도록 할 수 있다.Alternatively, if at least one of the parser or the codec is not installed in the
반면, 파서 및 코덱 중 적어도 하나가 클라이언트 장치(200) 및 서버 장치(100) 중 어디에도 설치되어 있지 않다면, 제어부(230)는 컨텐츠에 대한 재생이 불가능하다고 판단한다. 이 경우, 디스플레이부(240)는 재생 불가 메시지를 디스플레이한다.On the other hand, if at least one of the parser and the codec is not installed in any of the
이러한 실시 예에 따르면, 사용자가 재생 불가능한 컨텐츠를 선택하였을 경우, 서버 장치(100)로 컨텐츠를 요청하여 수신한 후 클라이언트 장치(200)에서 재생을 시도하는 과정이 생략될 수 있다. 이에 따라 통신 과정을 위한 자원을 절역할 수 있다. 또한, 클라이언트 장치(200) 자체에서 재생이 불가능하더라도 서버 장치(100)에서 재생이 가능한 컨텐츠의 경우, 바로 서버 장치(100)로 요청하여 신속하게 재생이 이루어질 수도 있게 된다.According to this embodiment, when the user selects non-playable content, a process of requesting content from the
한편, 본 발명의 또 다른 실시 예에 따르면, 클라이언트 장치(200)의 디스플레이부(240)에서 디스플레이되는 컨텐츠 목록 자체에 재생 가능 여부가 표시될 수 있다. 가령, 클라이언트 장치(200) 및 서버 장치(100)에 현재 설치된 파서 및 코덱으로는 재생이 불가능한 컨텐츠에 대해서는, 현재 재생 불능 상태임을 알리기 위한 기호나 텍스트, 이미지 등을 컨텐츠 목록 상에 함께 표시하여 줄 수 있다.On the other hand, according to another embodiment of the present invention, whether or not playability can be displayed on the content list itself displayed on the
또는, 이러한 재생 불능 상태의 컨텐츠에 대해서는 사용자가 선택 불가능한 비활성 상태로 희미하게 표시하여, 사용자가 해당 컨텐츠는 재생할 수 없다는 점을 직관적으로 알도록 할 수도 있다.Alternatively, 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.
또는, 재생 불능 상태의 컨텐츠에 대해서는 아예 컨텐츠 목록에 표시하지 않도록 구현할 수도 있다.Alternatively, the content in the non-playable state may be implemented not to be displayed at all in the content list.
이상과 같이 서버 장치(100) 및 클라이언트 장치(200)는 각 장치의 능력(capacity)에 따라 컨텐츠의 처리가 가능한지 여부를 판단하여, 그에 따른 조치를 취할 수 있다.As described above, the
이하에서는, 본 발명의 다양한 실시 예에 따른 컨텐츠 공유 방법을 수행하기 위한, 서버 장치(100) 및 클라이언트 장치(200) 사이의 상호 작용들을 구체적으로 설명한다.Hereinafter, interactions between the
< 컨텐츠 공유 과정에 대한 다양한 예 ><Various examples of content sharing process>
도 6은 본 발명의 일 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도이다. 도 6은 서버 장치(100)의 사용자가 서버 장치(100)에 저장되어 있거나 서버 장치(100)에서 재생 중이던 컨텐츠를 타 장치, 즉, 클라이언트 장치(200)로 전송하여 클라이언트 장치(200)에서 재생하도록 하는 과정을 나타낸다. 서버 장치(100)의 사용자는 타인의 요청에 의해 또는, 자신이 다른 장치를 이용하여 컨텐츠를 재생시키고자 하는 경우에 도 6과 같이 컨텐츠를 공유할 수 있다.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
도 6에 따르면, 사용자는 서버 장치(100)에서 타 장치와 공유하고자 하는 컨텐츠를 선택할 수 있다(S610). 컨텐츠는 서버 장치(100) 내부의 저장부(130)에 저장된 컨텐츠 또는 서버 장치(100)와 연결된 네트워크에서 검색된 컨텐츠 등 다양하게 있을 수 있다.According to FIG. 6, 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
컨텐츠 선택 이후에 사용자는 컨텐츠를 공유할 클라이언트 장치를 선택할 수 있다(S620). 이 경우, 서버 장치(100)는 통신 연결된 외부 기기에 대한 정보를 화면 상에 디스플레이하여 사용자가 선택할 수 있도록 한다.After the content selection, the user can select a client device to share the content (S620). In this case, the
도 6에서는 컨텐츠 선택 이후에 클라이언트 장치를 선택할 수 있는 것으로 도시되었으나, 구현에 있어서 그 순서는 반대가 될 수도 있음은 물론이다.Although FIG. 6 illustrates that the client device can be selected after the content selection, the order may be reversed in the implementation.
사용자가 클라이언트 장치(200)를 선택하면 서버 장치(100)는 클라이언트 장치(200)와 통신을 연결하고, 클라이언트 장치(200)로 재생 능력 정보를 요청한다(S630).When the user selects the
클라이언트 장치(200)는 요청에 응답하여 재생 능력 정보를 전송한다(S640). 상술한 바와 같이 재생 능력 정보에는 파서, 코덱에 대한 정보 뿐만 아니라 해상도, 디스플레이 사이즈, 출력 프레임 레이트, 출력 색 대역(color gamut) 등과 같은 다양한 부가 정보가 더 포함되어 있을 수 있다.The
서버 장치(100)는 재생 능력 정보 및 사용자가 선택한 컨텐츠의 속성을 비교하여 재생 가능한지 여부를 판단하고(S650), 그 판단 결과에 따라 컨텐츠를 처리하거나(S660), 그대로 클라이언트 장치(200)로 전송한다(S670). 클라이언트 장치(200)는 전송된 컨텐츠를 재생한다(S680). 재생 가능 여부를 판단하는 방법과, 그에 따른 컨텐츠 처리 방법에 대해서는 상술한 부분에서 구체적으로 설명하였으므로 중복 설명은 생략한다.The
도 7은 본 발명의 다른 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도이다. 도 7에 따르면, 클라이언트 장치(200)는 재생 능력 정보 전송 이벤트가 발생하면(S710), 재생 능력 정보를 전송한다(S720). 재생 능력 정보 전송 이벤트란 기 설정된 시간 주기가 도래하는 이벤트, 컨텐츠 공유 기능이 선택되는 이벤트, 서버 장치(100)로부터 정보 요청이 전송되는 이벤트, 서버 장치(100)에 최초 접속되는 이벤트, 클라이언트 장치(200)의 재생 능력에 변경이 생기는 이벤트 등이 될 수 있다.7 is a timing diagram illustrating a content sharing method according to another embodiment of the present invention. According to FIG. 7, when a play capability information transmission event occurs (S710), the
서버 장치(100)는 재생 능력 정보가 수신되면 컨텐츠 전송 이벤트가 발생하였는지 판단한다(S730). 컨텐츠 전송 이벤트란 서버 장치(100)가 컨텐츠를 클라이언트 장치(200)로 푸쉬(push)하여야 하는 이벤트를 의미한다. 예를 들어, 클라이언트 장치(200) 또는 서버 장치(100)의 사용자가 컨텐츠 전송 예약을 설정한 경우라면 그 예약 시간이 도래하는 이벤트, VOD(Video on Demand) 예약 사항이 발생한 이벤트, 클라이언트 장치(200)로 제공해야 할 광고, 공지 사항, DID(Digital Information Display) 컨텐츠가 발생하는 이벤트 등이 있을 수 있다. 이러한 이벤트가 발생하면, 서버 장치(100)는 기 전송되어 저장된 재생 능력 정보와 컨텐츠의 속성을 비교하여, 클라이언트 장치(200)가 재생 가능한 상태인지 여부를 판단하고(S740), 그 판단 결과에 따라 컨텐츠를 그대로 또는 처리하여(S750), 전송한다(S760). 클라이언트 장치(200)는 서버 장치(100)로부터 전송된 컨텐츠를 재생한다(S770).When the
이상과 같이 도 6 및 도 7에서는 클라이언트 장치(200)에서 컨텐츠 공유 요청이 없는 상태에서도 컨텐츠 공유가 이루어질 수 있는 실시 예들에 대하여 설명하였다. 하지만, 클라이언트 장치(200)에서 직접 컨텐츠를 요청하는 실시 예도 있을 수 있다.As described above, FIGS. 6 and 7 have described embodiments in which content sharing can be performed even when there is no content sharing request in the
도 8은 본 발명의 또 다른 실시 예에 따른 컨텐츠 공유 방법을 설명하기 위한 타이밍도이다.8 is a timing diagram illustrating a content sharing method according to another embodiment of the present invention.
도 8에 따르면, 클라이언트 장치(200)는 재생 능력 정보를 서버 장치(100)로 전송한다(S810). 서버 장치(100)는 재생 능력 정보를 전송한 클라이언트 장치(200)에 대해서 컨텐츠 목록을 전송한다(S820).According to FIG. 8, the
클라이언트 장치(200)에서는 전송된 컨텐츠 목록을 디스플레이하여, 사용자가 선택하도록 한다. 사용자는 컨텐츠 목록 상에서 적어도 하나를 선택할 수 있다. 클라이언트 장치(200)는 선택된 적어도 하나의 컨텐츠에 대한 공유 요청을 전송할 수 있다(S830).The
서버 장치(100)는 공유 요청이 수신되면, 요청된 컨텐츠의 속성과 클라이언트 장치(200)의 재생 능력 정보에 기초하여 클라이언트 장치(200)가 컨텐츠 재생이 가능한지 여부를 판단한다(S840).When the sharing request is received, the
판단 결과에 따라 컨텐츠를 그대로 또는 적절하게 처리하여(S850), 클라이언트 장치로 전송한다(S200). 전송은 컨텐츠에 대한 처리가 완료된 이후에 한꺼번에 이루어질 수도 있고, 처리가 이루어지는 중에 먼저 처리된 컨텐츠 부분부터 실시간으로 스트리밍하는 방식으로 이루어질 수도 있다. 클라이언트 장치(200)는 수신된 컨텐츠를 재생한다(S870).According to the determination result, 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
상술한 다양한 실시 예들에서 설명한 바와 같이, 서버 장치(100)는 재생 능력 정보와 컨텐츠의 속성을 이용하여 재생 가능 여부를 판단하고, 그 판단 결과에 따른 처리를 수행한다. 이하에서는 서버 장치(100)의 판단 방법 및 그 처리 방법에 대하여 구체적으로 설명한다.As described in the above-described various embodiments, the
도 9는 본 발명의 일 실시 예에 따른 서버 장치의 컨텐츠 공유방법을 설명하기 위한 흐름도이다. 도 9에 따르면, 서버 장치(100)는 클라이언트 장치의 재생 능력 정보를 수신하고(S910), 제공할 컨텐츠의 속성을 확인한다(S920). 컨텐츠의 속성에는 컨텐츠 타입, 코덱 정보, 컨텐츠의 사이즈, 해상도, 재생 시간 등과 같이 다양한 정보가 있을 수 있다.9 is a flowchart illustrating a content sharing method of a server apparatus according to an exemplary embodiment. According to FIG. 9, the
서버 장치는 클라이언트 장치가 컨텐츠를 처리할 수 있는 파서 및 코덱을 모두 구비하였는지 여부를 판단한다(S930).The server device determines whether the client device has both a parser and a codec capable of processing the content (S930).
구체적으로는, 서버 장치(100)는 컨텐츠가 동영상 컨텐츠인 경우 클라이언트 장치가 동영상 파서를 구비하였는지 판단한다. 서버 장치(100)는 컨텐츠 파일의 확장자를 이용하여 그 컨텐츠의 종류를 판단하고, 그에 대응하는 파서를 결정할 수 있다. 가령, 동영상 컨텐츠의 경우에는 AVI, MPG, TP, TS, ASF 등과 같은 확장자를 가지고, 이미지 컨텐츠인 경우에는 JPEG, PNG, BMP, GIF 등과 같은 확장자를 가진다. 또한, 오디오 컨텐츠의 경우에는 MP3, OGG, WMA 등과 같은 확장자를 가지며, 문서 컨텐츠의 경우에는 DOC, HWP, XLS, PPT 등과 같은 확장자를 가진다. 서버 장치(100)는 각 컨텐츠 파일의 확장자를 확인한 후, 어떤 파서가 필요한지 판단할 수 있다.Specifically, if the content is a video content, the
또한, 컨텐츠의 확장자에 대응되는 코덱을 클라이언트 장치가 구비하였는지 판단한다. 일 예로, 컨텐츠가 윈도우 확장자인 wmv 로 압축된 파일이라면, 클라이언트 장치에 wmv 코덱이 설치되어 있는지 판단한다. 그 밖에, AVI(Audio Video Interleave) 파일인 경우에는 MPEG 코덱이 설치되어 있는지 판단하고, DIVX, XVID 등의 확장자가 붙은 경우에는 DIVX 코덱 및 XVID 코덱이 설치되어 있는지 판단한다. 같은 코덱이 설치되어 있다면 버전까지 확인한다. 확인 결과 버전이 다르다면 코덱을 구비하지 않은 상태로 판단한다.In addition, it is determined 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.
클라이언트 장치가 파서 및 코덱을 모두 구비하였다고 판단되면(S930), 컨텐츠를 그대로 스트리밍(streaming)한다(S940). 반면, 파서만을 구비하였거나(S950 : Y), 파서 및 코덱 모드를 구비하지 않은 경우에는(S970 : N), 서버 장치에서 해당 컨텐츠를 파싱 및 디코딩하여 스트리밍한다(S960).If it is determined that the client device has both a parser and a codec (S930), the content is streamed as it is (S940). On the other hand, if only a parser is provided (S950: Y), or a parser and a codec mode are not provided (S970: N), the server device parses and decodes the corresponding content and streams it (S960).
한편, 파서를 구비하지 않고 코덱만 구비한 경우에는(S970 : Y), 컨텐츠를 파싱한 후 파싱 결과와 함께 컨텐츠를 스트리밍한다(S980).On the other hand, if only a codec is provided without a parser (S970: Y), after parsing the content, the content is streamed along with the parsing result (S980).
이에 따라, 클라이언트 장치(200)는 파서나 코덱을 구비하지 못하였음에도 불구하고 컨텐츠를 재생할 수 있게 된다.Accordingly, the
도 10은 본 발명의 다른 실시 예에 따른 서버 장치의 컨텐츠 공유 방법을 설명하기 위한 흐름도이다.10 is a flowchart illustrating a content sharing method of a server device according to another embodiment of the present invention.
도 10에 따르면, 재생 능력 정보를 수신하고(S1010), 컨텐츠의 속성을 확인한 후(S1020), 두 정보를 비교한 결과, 클라이언트 장치가 파서 및 코덱을 모두 구비한 경우에는(S1030), 컨텐츠를 그대로 스트리밍한다(S1040).According to FIG. 10, after receiving the reproduction capability information (S1010) and checking the property of the content (S1020), and comparing the two informations, when the client device includes both the parser and the codec (S1030), the content is displayed. Streaming as it is (S1040).
반면, 파서만을 구비하고 있거나(S1050 : Y), 파서 및 코덱 모두를 구비하지 못한 경우에는(S1110 : N), 서버 장치(100)가 파서 및 코덱을 모두 구비하고 있는지 판단한다(S1060).On the other hand, when only having a parser (S1050: Y), or not having both a parser and a codec (S1110: N), it is determined whether the
판단 결과, 서버 장치(100)가 모두 구비하고 있다면 컨텐츠를 파싱 및 디코딩하여 스트리밍한다(S1070). 반면, 서버 장치(100)가 파서 및 코덱을 모두 다 구비하고 있지는 않다면, 미구비된 것을 설치 가능한지 판단한다(S1080). 가령, 파서가 미설치상태라면 서버 장치(100)에 유선 또는 무선으로 연결된 각종 외부 기기나, 인터넷을 통해서 필요한 파서를 제공할 수 있는 소스를 검색한다. 코덱도 마찬가지 방식으로 검색할 수 있다.As a result, if the
서버 장치(100)는 서버가 검색되어 설치가 가능하다면, 해당 파서 또는 코덱을 설치하여(S1090), 파싱 및 디코딩을 수행하고, 최종 처리된 컨텐츠를 클라이언트 장치(200)로 스트리밍한다(S1070). 반면, 설치가 불가능하다면 재생 불가 응답을 클라이언트 장치(200)로 전송한다(S1100). 서버 장치(100)에 디스플레이부나 스피커와 같은 출력 수단이 구비되어 있다면, 재생 불가 응답은 서버 장치(100)에서 출력될 수도 있다.If the server is searched and installed, the
한편, 파서를 구비하지 않고 코덱만을 구비한 경우에는(S1110 : Y), 서버 장치(100)가 파서를 구비하였는지 판단한다(S1120). 판단 결과 파서를 구비하였다면, 서버 장치(100)가 해당 컨텐츠를 파싱한 후 파싱 결과와 컨텐츠를 함께 스트리밍한다(S1130). 반면, 파서를 구비하지 않았다면 서버 장치(100)가 파서를 설치할 수 있는지 여부를 판단한다(S1140). 파서 설치가 가능하다면 설치 후(S1150), 컨텐츠를 파싱하여 파싱 결과 및 컨텐츠를 클라이언트 장치(200)로 스트리밍한다(S1130). 서버 장치(100)가 파서를 설치할 수 없다면(S1140), 재생 불가 응답을 클라이언트 장치(200)로 전송하거나, 자체적으로 출력한다(S1160).On the other hand, when only the codec is provided without the parser (S1110: Y), it is determined whether the
이상과 같이, 클라이언트 장치(200)에 파서 및 코덱 중 적어도 하나가 설치되어 있지 않더라도, 다양한 방식으로 재생 가능성을 높일 수 있게 된다.As described above, even if at least one of the parser and the codec is not installed in the
클라이언트 장치(200)는 컨텐츠 공유 및 재생을 위해서 다양한 레이아웃의 화면을 디스플레이할 수 있다. 도 12 내지 도 14는 클라이언트 장치(200)에서 표시되는 화면의 예를 나타낸다.The
먼저, 도 12에 따르면, 클라이언트 장치(200)는 통신 연결된 각종 장치들에 대한 제1 표시 영역(10) 및 네트워크를 통해 검색된 컨텐츠의 종류 및 개수에 대한 제2 표시 영역(20)을 포함하는 화면을 디스플레이한다.First, according to FIG. 12, the
제1 표시 영역(10)에는 클라이언트 장치(200)를 중심으로 연결된 각 장치들에 대한 아이콘 이미지가 표시된다. 제1 표시 영역(10)에 표시되는 이미지는 검색된 장치의 개수만큼 상이한 개수의 아이콘 이미지를 포함할 수도 있고, 단순히 컨텐츠 공유 기능이 실행되었을 때 디폴트로 보여지는 고정 이미지일 수도 있다.In the
제2 표시 영역(20)에는 동영상 카테고리, 사진 카테고리, 음악 카테고리와 같이 복수의 서로 다른 컨텐츠 타입 별로 분류된 카테고리가 표시되고, 그 카테고리에 속하는 컨텐츠의 개수가 함께 표시된다.In the
사용자는 제2 표시 영역(20)에서 하나의 카테고리를 선택하여, 그 카테고리에 속한 컨텐츠의 목록을 확인할 수 있다.The user may select one category in the
도 13에서는 제2 표시 영역(20)의 카테고리 중 동영상 카테고리가 선택되었을 때 표시되는 화면을 나타낸다. 도 13에 따르면, 화면 상단에는 각 카테고리에 대한 탭(31, 32, 33)이 표시된다.13 illustrates a screen displayed when a video category is selected among the categories of the
그리고, 탭(31, 32, 33)하단에는 현재 선택된 탭(31)에 속하는 유형의 컨텐츠들에 대한 정보가 리스트 형태로 표시된다. 이러한 리스트는 검색된 각 서버 장치들로부터 제공되는 컨텐츠 정보에 기초하여 생성될 수 있다. 컨텐츠 정보란 대표 이미지나 텍스트, 풀 재생 시간(full running time), 썸네일 뷰, 제조자, 제공 장치 명 등과 같이 다양한 정보가 될 수 있다. 도 13에서는 각 컨텐츠에 대한 썸네일 뷰와, 설명, 풀 재생 시간 등이 리스트에 표시된 상태를 나타낸다.Under the
한편, 컨텐츠에 대한 정보는 도 13과 같은 리스트 형태 이외에도 다양한 형태로 구현될 수 있다. 가령, 대표 이미지가 표시되지 않고 텍스트로만 구성된 리스트가 표시될 수도 있다.On the other hand, the information about the content may be implemented in various forms in addition to the list form as shown in FIG. For example, a list composed only of text may be displayed without displaying the representative image.
또한, 도 14에 도시된 바와 같이 각 컨텐츠에 대한 썸네일 뷰가 표시될 수도 있다. 도 14에서는 탭(31, 32, 33) 중에서 사진 카테고리에 해당하는 탭(32)이 선택된 경우를 나타낸다. 도 14에 따르면, 사진 카테고리에 속하는 각종 사진 컨텐츠들의 썸네일 뷰가 매트릭스 형태로 배열된다.In addition, as shown in FIG. 14, a thumbnail view of each content may be displayed. In FIG. 14, a
사용자는 도 13이나 도 14와 같이 표시되는 각종 컨텐츠 중 하나를 선택할 수 있다. 클라이언트 장치(200)는 컨텐츠가 선택되면, 선택된 컨텐츠를 제공할 수 있는 서버 장치(100)로 컨텐츠 공유 요청을 전송한다. 이 경우, 컨텐츠 재생 능력도 함께 전송할 수 있다. 컨텐츠 재생 능력 이외에도 다양한 시점에서 전송될 수 있음은 물론이다.The user may select one of various contents displayed as shown in FIG. 13 or FIG. 14. When the content is selected, the
도 15는 서버 장치(100)에서 컨텐츠 공유를 수행하기 위하여 표시하는 화면을 나타내는 도면이다.15 is a diagram illustrating a screen displayed by the
도 15에 따르면, 서버 장치(100)는 복수의 아이콘들을 포함하는 배경 화면(a)을 디스플레이한다. 이러한 상태에서 컨텐츠 공유 기능에 대응되는 아이콘(41)이 선택되면, 서버 장치(100)는 기 저장된 컨텐츠를 그 유형에 따라 분류한 복수의 카테고리가 표시된 화면(b)을 디스플레이한다.According to FIG. 15, the
도 15에서는 비디오 카테고리(51), 오디오 카테고리(52), 사진 카테고리(53)를 포함하는 화면(b)이 디스플레이된 상태를 도시하였으나, 카테고리의 종류는 다양하게 마련될 수 있다.In FIG. 15, a screen b including the
이러한 상태에서 도 15에 도시된 바와 같이 비디오 카테고리(51)가 선택되면, 비디오 카테고리(51)에 속하는 비디오 컨텐츠들이 리스트 형태로 나열되는 화면(c)이 디스플레이된다. 사용자는 이 중 하나의 컨텐츠를 터치하여 선택할 수 있다.In this state, when the
화면(c) 상에서 하나의 컨텐츠가 선택되면 선택된 컨텐츠를 재생할 대상을 선택하기 위한 팝업 창(d)이 디스플레이된다. 팝업 창(d)에는 서버 장치(100) 자신을 포함하여 연결된 각종 장치들에 대한 정보가 표시되는 정보 표시 영역(61), 재검색을 수행하기 위한 메뉴(62), 장치 선택을 취소하기 위한 메뉴(63) 등이 포함될 수 있다.When one content is selected on the screen (c), a popup window (d) for selecting a target to play the selected content is displayed. In the pop-up window (d), an
사용자가 팝업 창(d) 내의 정보 표시 영역(61)에서 하나의 장치를 선택하면, 선택된 장치가 클라이언트 장치가 된다. 즉, 서버 장치(100)는 선택된 클라이언트 장치의 재생 능력 정보와 선택된 컨텐츠의 속성을 확인하여 재생 가능한지 여부를 판단한다. 그에 따라, 컨텐츠를 그대로 전송하거나 또는 파싱이나 디코딩을 수행한 후 전송한다.When the user selects one device in the
도 15에서는 컨텐츠가 리스트 형태로 정리되어 표시되었으나, 도 14에 도시된 바와 같이 동영상 컨텐츠 역시 대표 이미지를 이용하여 썸네일 뷰 형태로 표시될 수 있다.In FIG. 15, 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.
이상과 같이, 서버 장치(100) 및 클라이언트 장치(200)는 다양한 방식으로 컨텐츠를 공유할 수 있다. 한편, 상술한 바와 같이 서버 장치(100)는 다양한 형태의 장치로 구현될 수 있다. 따라서, 구현 형태에 따라 서버 장치(100)에 포함되는 구성 요소들도 추가 또는 변형될 수 있으며, 일부가 삭제될 수도 있다.As described above, the
도 16은 본 발명의 다양한 실시 예에 따른 서버 장치(100)의 구성을 종합적으로 설명하기 위한 블럭도이다.16 is a block diagram illustrating a configuration of a
도 16에 따르면, 서버 장치(100)는 통신부(110), 제어부(120), 저장부(130), GPS 수신부(140), DMB 수신부(145), 오디오 처리부(150), 비디오 처리부(160), 디스플레이부(170), 스피커(175), 센서부(180), 버튼(191), USB 포트(192), 카메라(193), 마이크(194)를 포함한다.According to FIG. 16, the
통신부(110)는 와이파이 칩(111), 블루투스 칩(112), NFC 칩(113), 무선 통신 칩(114) 등과 같은 다양한 통신 방식에 따른 하드웨어를 포함한다. 이들 칩은 구현상 원 칩으로 집적화되어 사용될 수도 있고, 도 16과 같이 각각 별개의 칩으로 사용될 수도 있다.The
와이파이 칩(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)을 이용하는 경우에는 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.The Wi-
그 밖에, 무선 통신 칩(114)은 3G, 4G 등과 같이 이동 통신 망을 이용하거나, 인터넷 망을 이용하여 다양한 방식의 무선 통신을 수행할 수 있다.In addition, the wireless communication chip 114 may perform various types of wireless communication using a mobile communication network such as 3G, 4G, or the like.
통신부(110)는 이러한 다양한 구성의 칩들을 이용하여 클라이언트 장치(200)를 비롯한 각종 외부 장치와 통신을 수행할 수 있다. 특히, 클라이언트 장치(200)로부터 재생 능력 정보, 컨텐츠 공유 요청 등을 수신할 수 있다.The
GPS 수신부(140)는 GPS(Grobal Positioning System) 위성으로부터 GPS 신호를 수신하여, 서버 장치(100)의 현재 위치를 산출하기 위한 구성요소이다. DMB 수신부(145)는 DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 구성요소이다.The
오디오 처리부(150)는 오디오 데이터에 대한 처리를 수행하는 구성요소이다. 오디오 처리부(150)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.The
비디오 처리부(160)는 비디오 데이터에 대한 처리를 수행하는 구성요소이다. 비디오 처리부(160)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다. 특히, 상술한 코덱은 소프트웨어로도 구현될 수 있지만, 하드웨어로도 구현될 수 있다. 비디오 처리부(160)는 하드웨어로 구현된 코덱을 포함하며, 이를 이용하여 비디오 데이터에 대한 인코딩 또는 디코딩을 수행할 수 있다.The
디스플레이부(170)는 제어부(120)의 제어에 따라 다양한 화면 또는 객체를 디스플레이할 수 있다. 구체적으로는, 서버 장치(100)가 컨텐츠 공유 기능을 개시하는 경우에는 공유할 컨텐츠를 선택하기 위한 화면이나, 클라이언트 장치를 선택하기 위한 화면이 디스플레이부(170) 상에 디스플레이될 수 있다.The
스피커(175)는 오디오 처리부(150)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력할 수 있다.The
센서부(180)는 서버 장치(100)에 대한 사용자의 조작 내용이나 서버 장치(100)의 상태 등을 센싱하기 위한 구성요소이다. 센서부(180)는 지자기 센서(181), 자이로 센서(182), 가속도 센서(183), 터치 센서(184) 등과 같은 다양한 센서를 포함할 수 있다.The
지자기 센서(181)는 2축 또는 3축 플럭스게이트를 이용하여 주변 지자기 변화를 감지하는 센서이다. 제어부(120)는 지자기 센서(181)에서 감지된 지자기 값을 이용하여, 방위각을 산출할 수 있다. 이에 따라, 서버 장치(100)가 어느 방향으로 회전하였는지 여부를 판단할 수 있다. 가속도 센서(182)는 움직임 발생시 가속도 및 가속도의 방향을 측정할 수 있는 센서이다. 구체적으로는, 가속도 센서(182)는 그 센서가 부착된 서버 장치(100)의 기울기에 따라 변화되는 중력 가속도에 대응되는 센싱 값을 출력한다. 제어부(120)는 가속도 센서(182)의 출력값을 이용하여 이동체의 기울어진 정도를 판단할 수 있다. 자이로 센서(183)는 회전 운동이 일어나면, 그 속도 방향으로 작용하는 코리올리의 힘을 측정하여, 각속도를 검출하는 센서이다. 제어부(120)는 자이로 센서(183)의 측정 값을 이용하여서도 서버 장치(100)의 회전을 검출할 수 있다. 터치 센서(184)는 디스플레이부(170)에 연결되어, 사용자의 터치 조작을 감지할 수 있다. 터치 센서(184)는 정전식 또는 감압식으로 구현될 수 있다. 정전식 터치 센서는, 디스플레이부(170) 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 디스플레이부(170) 표면에 터치되었을 때 사용자의 인체로 여기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식의 센서를 의미한다. 감압식 터치 센서는 디스플레이부(170)에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식의 터치 센서를 의미한다. 센서부(180)는 터치 센서를 통해 사용자가 터치한 지점의 좌표를 검출하여 제어부(120)로 제공한다.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
제어부(120)는 센서부(180)로부터 제공되는 각종 센싱 신호에 따라 다양한 제어 동작을 수행할 수 있다. 즉, 터치 센서(184)에 의해 터치된 지점의 좌표값이 컨텐츠 공유 아이콘이 표시된 좌표에 해당하면, 컨텐츠 공유 기능이 선택된 것으로 인식하여, 그에 대응되는 프로그램을 실행시킨다. 또한, 지자기 센서(181), 자이로 센서(182), 가속도 센서(183) 등에 의해 서버 장치(100)가 가로 방향 또는 세로 방향으로 회전한 것이 감지되면, 회전 방향에 따라 화면을 전환하는 동작도 수행할 수 있다. 또한, 지자기 센서(181), 자이로 센서(182), 가속도 센서(183)에 의해 감지되는 서버 장치(100)의 움직임에 따라, 사용자의 의도를 파악하여 컨텐츠 공유 기능을 실행시킬 수도 있다.The
그 밖에, 서버 장치(100)는 버튼(191), USB 포트(192), 카메라(193), 마이크(194) 등과 같은 다양한 구성 요소를 더 포함할 수 있다. 버튼(191)은 서버 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다. USB 포트(192)는 USB 메모리나 USB 커넥터가 연결될 수 있는 포트를 의미한다. 서버 장치(100)는 USB 포트(192) 뿐만 아니라 각종 연결 포트에 의해 연결된 외부 장치에 저장된 컨텐츠도 함께 검색하여 공유 가능한지 확인할 수 있다.In addition, the
카메라(193) 및 마이크(194)가 마련된 경우, 제어부(120)는 마이크(194)를 통해 입력되는 사용자 음성이나 카메라(193)에 의해 인식되는 사용자 모션에 따라 제어 동작을 수행할 수도 있다. 즉, 서버 장치(100)는 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 제어부(120)는 카메라(193)를 활성화시켜 사용자를 촬상하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행한다. 가령, 사용자가 컨텐츠 공유 기능에 대응되는 모션을 수행하였다고 판단되면, 제어부(120)는 저장된 컨텐츠를 검색하여 디스플레이부(170) 상에 도 15와 같은 화면(a)을 디스플레이할 수 있다. 또는, 마이크(194)에 의해 입력된 사용자 음성을 분석하여, 사용자가 컨텐츠 공유 기능에 대응되는 음성을 발음한 것으로 판단되면, 도 15와 같은 화면(a)을 디스플레이할 수도 있다.When the
상술한 제어부(120)의 동작은 저장부(130)에 저장된 프로그램에 의해 이루어질 수 있다.The above-described operation of the
즉, 저장부(130)에는 서버 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어, 컨텐츠 공유 기능을 수행하기 위한 어플리케이션, 어플리케이션 실행 중에 입력되거나 설정되는 각종 데이터, 컨텐츠 등과 같이 다양한 데이터가 저장될 수 있다. 제어부(120)는 저장부(130)에 저장된 각종 프로그램을 이용하여 서버 장치(100)의 동작을 전반적으로 제어한다.That is, the
구체적으로는, 제어부(120)는 RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n), 버스(126)를 포함한다.Specifically, the
RAM(121), ROM(122), 메인 CPU(123), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1 ~ 125-n) 등은 버스(138)를 통해 서로 연결되어, 각종 데이터나 신호 등을 송수신할 수 있다.The
제1 내지 n 인터페이스(125-1 ~ 125-n)는 도 16에 도시된 각종 구성 요소들 뿐만 아니라, 그 밖의 구성 요소들과도 연결되어 메인 CPU(123)가 액세스할 수 있도록 한다.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
메인 CPU(123)는 저장부(130)에 액세스하여, 저장부(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(130)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.The
구체적으로는, ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 저장부(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 저장부(130)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.Specifically, the
그래픽 처리부(124)는 메인 CPU(123)의 제어에 따라 각종 화면을 구성한다. 구체적으로는, 그래픽 처리부(124)는 도 15의 a, b, c와 같은 화면을 표시할 수 있다. 그래픽 처리부(124)는 화면에 대한 표시 상태 값을 계산한다. 표시 상태 값이란 화면상에서 객체가 표시될 위치의 좌표값, 객체의 형태, 크기, 컬러 등을 나타내는 속성값 등이 될 수 있다. 그래픽 처리부(124)는 표시 상태 값이 계산되면, 그 값에 기초하여 렌더링을 수행하여, 화면을 생성한다.The
메인 CPU(123)는 센서부(180) 또는 버튼(191)에 의해 사용자가 컨텐츠 공유 명령을 입력한 것으로 판단되면, 저장부(140)에 저장된 컨텐츠를 검색하고, 그 검색 결과에 대응되는 화면을 생성하도록 그래픽 처리부(124)를 제어한다.When the
상술한 바와 같이 제어부(120)는 저장부(130)에 저장된 프로그램을 RAM(121)에 복사하고 실행시켜, 다양한 동작을 수행할 수 있다.As described above, the
도 17은 저장부(130)에 저장된 소프트웨어의 계층을 설명하기 위한 도면이다. 도 17에 따르면, 저장부(130)에는 베이스 모듈(131), 센싱 모듈(132), 통신 모듈(133), 프리젠테이션 모듈(134), 웹 브라우저 모듈(135), 컨텐츠 처리 모듈(136)을 포함한다.17 is a diagram for describing a hierarchy of software stored in the
베이스 모듈(131)이란 서버 장치(100)에 구비된 각 하드웨어들로부터 전달되는 신호를 처리하여 상위 레이어 모듈로 전달하는 기초 모듈을 의미한다.The
베이스 모듈(131)은 스토리지 모듈(131-1), 위치 기반 모듈(131-2), 보안 모듈(131-3), 네트워크 모듈(131-4) 등을 포함한다.The
스토리지 모듈(131-1)이란 데이터베이스(DB)나 레지스트리를 관리하는 프로그램 모듈이다. 메인 CPU(123)는 스토리지 모듈(131-1)을 이용하여 저장부(130) 내의 데이터베이스에 액세스하여, 각종 데이터를 리딩(reading)할 수 있다. 위치 기반 모듈(131-2)이란 GPS 칩 등과 같은 각종 하드웨어와 연동하여 위치 기반 서비스를 지원하는 프로그램 모듈이다. 보안 모듈(131-3)이란 하드웨어에 대한 인증(Certification), 요청 허용(Permission), 보안 저장(Secure Storage) 등을 지원하는 프로그램 모듈이고, 네트워크 모듈(131-4)이란 네트워크 연결을 지원하기 위한 모듈로 DNET 모듈, UPnP 모듈 등을 포함한다.The storage module 131-1 is a program module for managing a database (DB) or a registry. The
센싱 모듈(132)은 외부 입력 및 외부 디바이스에 대한 정보를 관리하고, 이를 이용하기 위한 모듈이다. 센싱 모듈(132)은 회전 인식 모듈(Rotation Recognition), 음성 인식 모듈(Voice Recognition), 터치 감지 모듈(Touch Recognition), 제스쳐 인식 모듈(Gesture Recognition)을 포함한다. 회전 인식 모듈이란 지자기 센서(181), 자이로 센서(182) 등과 같은 센서에서 감지된 센싱 값을이용하여 회전 각도 및 회전 방향을 산출하는 프로그램이다. 음성 인식 모듈은 마이크(194)에서 수집된 음성 신호를 분석하여, 사용자의 음성을 추출하는 프로그램이며, 터치 감지 모듈은 터치 센서(184)에서 감지된 센싱 값을 이용하여 터치 좌표를 검출하는 프로그램이며, 제스쳐 인식 모듈은 카메라(193)에서 촬상된 이미지를 분석하여 사용자의 제스쳐를 인식하는 프로그램이다.The
통신 모듈(133)은 외부와 통신을 수행하기 위한 모듈이다. 통신 모듈(133)은 메신저 프로그램, SMS(Short Message Service) & MMS(Multimedia Message Service) 프로그램, 이메일 프로그램 등과 같은 메시징 모듈(133-1), 전화 정보 수집기(Call Info Aggregator) 프로그램 모듈, VoIP 모듈 등을 포함하는 전화 모듈(133-2)을 포함할 수 있다.The
프리젠테이션 모듈(134)은 디스플레이 화면을 구성하기 위한 모듈이다. 프리젠테이션 모듈(134)은 멀티미디어 컨텐츠를 재생하여 출력하기 위한 멀티미디어 모듈(134-1), UI 및 그래픽 처리를 수행하는 UI & 그래픽 모듈(134-2)을 포함한다. 멀티미디어 모듈(134-1)은 플레이어 모듈, 캠코더 모듈, 사운드 처리 모듈 등을 포함할 수 있다. 이에 따라, 각종 멀티미디어 컨텐츠를 재생하여 화면 및 음향을 생성하여 재생하는 동작을 수행한다. UI & 그래픽 모듈(134-2)은 이미지를 조합하는 이미지 합성기(Image Compositor module), 이미지를 디스플레이할 화면 상의 좌표를 조합하여 생성하는 좌표 조합 모듈, 하드웨어로부터 각종 이벤트를 수신하는 X11 모듈, 2D 또는 3D 형태의 UI를 구성하기 위한 툴(tool)을 제공하는 2D/3D UI 툴킷 등을 포함할 수 있다.The
웹 브라우저 모듈(135)은 웹 브라우징을 수행하여 웹 서버에 액세스하는 모듈을 의미한다. 웹 브라우저 모듈(135)은 웹 페이지를 구성하는 웹 뷰(web view) 모듈, 다운로드를 수행하는 다운로드 에이전트 모듈, 북마크 모듈, 웹킷(Webkit) 모듈 등과 같은 다양한 모듈을 포함할 수 있다.The
컨텐츠 처리 모듈(136)은 저장부(130)에 저장된 컨텐츠를 처리하기 위한 소프트웨어를 의미한다. 재생 능력 판단 모듈(136-1)은 재생 능력 정보와 컨텐츠 속성을 비교하는 알고리즘으로 동작하는 프로그램이다. 파서(136-2) 및 코덱(136-3)은 컨텐츠 처리를 위해서 비디오 처리부(160)로 제공되는 소프트웨어이다. 파서(136-2)는 통상적으로 소프트웨어로만 구현되고, 코덱(136-3)은 소프트웨어로 구현되는 경우도 있고 하드웨어로 구현되는 경우도 있다.The
그 밖에, 네비게이션 서비스 모듈, 게임 모듈 등과 같은 다양한 어플리케이션 모듈이 더 포함될 수 있다.In addition, various application modules such as a navigation service module and a game module may be further included.
도 17에 도시된 각종 프로그램 모듈들은 서버 장치(100)의 종류 및 특성에 따라 일부 생략되거나 변형 또는 추가될 수도 있다. 가령, 서버 장치(100)가 TV인 경우라면, 방송 수신 모듈이 더 포함될 수 있다. 또는, 전자책 어플리케이션, 게임 어플리케이션 및 기타 유틸리티 프로그램이 더 포함될 수도 있다. 또한, 도 17의 프로그램 모듈들 중에서 일부는 생략될 수도 있다.The various program modules illustrated in FIG. 17 may be partially omitted, modified, or added according to the type and characteristics of the
그 밖에, 도 16과 같은 구성은 상술한 다양한 실시 예들에서 개시된 서버 장치에도 그대로 적용될 수 있다. 또한, 도 16에 도시된 구성요소들도 서버 장치(100)의 종류 및 특성에 따라 일부 생략되거나 변형 또는 추가될 수 있다. 가령, 서버 장치(100)가 TV인 경우, 안테나나 튜너와 같은 하드웨어도 더 포함될 수 있다.In addition, the configuration as shown in FIG. 16 may be applied to the server apparatus disclosed in the aforementioned various embodiments. In addition, components shown in FIG. 16 may be partially omitted, modified, or added according to the type and characteristics of the
또한, 도 16에서는 서버 장치(100)의 구성으로 설명하였으나, 상술한 바와 같이 서버 장치(100)와 클라이언트 장치(200)는 동종이거나 또는 유사한 종류의 사용자 단말 장치로 구현될 수도 있다. 이 경우, 도 16의 구성은 클라이언트 장치(200)에도 적용될 수 있다.In addition, although FIG. 16 has been described as a configuration of the
한편, 상술한 다양한 실시 예들은 가상 데스크탑 인터페이스(Virtual Desktop Interface(VDI)) 환경에서 구현될 수도 있다. 가상 데스크탑 인터페이스란 여러 대의 클라이언트 장치와 연결된 서버 장치에서 디스플레이할 화면을 구성한 후, 각 클라이언트 장치로 제공하여 각 클라이언트 장치의 사용자가 확인할 수 있도록 하는 환경이다. VDI 환경은 다수의 사용자들과 화면을 공유하기 위한 회의실이나, 공공 장소 등에 적용될 수 있다.Meanwhile, 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.
도 18은 본 발명의 일 실시 예에 따른 화면 공유 시스템의 구성을 나타내는 도면이다. 도 18에 따르면, 화면 공유 시스템은 서버 장치(100) 및 복수의 클라이언트 장치(200-1 ~ 200-n)을 포함한다.18 is a diagram illustrating a configuration of a screen sharing system according to an embodiment of the present invention. According to FIG. 18, the screen sharing system includes a
서버 장치(100)는 사용자 조작에 따라 화면을 구성한 후, 구성된 화면을 각 클라이언트 장치(200-1 ~ 200-n)에 제공한다. 각 클라이언트 장치(200-1 ~ 200-n)는 제공된 화면을 디스플레이한다. 화면에는 동영상 컨텐츠나, 정지 영상 컨텐츠, 문서, 오디오 컨텐츠 등과 같은 다양한 컨텐츠들에 대한 리스트가 표시될 수 있다. 각 클라이언트 장치(200-1 ~ 200-n)의 사용자들은 자신의 클라이언트 장치의 화면을 터치하거나, 그 클라이언트 장치에 연결된 마우스, 키보드, 조이스틱 등과 같은 입력 수단을 통해 화면 상의 일 지점을 클릭하는 방식으로, 컨텐츠를 선택할 수 있다.The
각 클라이언트 장치(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)로 전송한다.Each client device 200-1 to 200-n transmits coordinate values of the touch point or the click point to the
각 클라이언트 장치(200-1 ~ 200-n)는 전송된 컨텐츠를 직접 재생한다. 이에 따라, 서버 장치(100)에서의 처리 부담 및 네트워크 자원 부담을 줄일 수 있다. 또한, 각 클라이언트 장치(200-1 ~ 200-n)에서 컨텐츠를 직접 재생하기 때문에 원본 컨텐츠의 품질을 유지할 수 있다.Each client device 200-1 to 200-n directly plays the transmitted content. Accordingly, the processing burden and network resource burden on the
하지만, 클라이언트 장치들 중에서는 선택된 컨텐츠에 대한 재생 능력이 없는 경우가 있을 수 있다. 서버 장치(100)는 이러한 클라이언트 장치들의 재생 능력 정보를 확인하여, 재생 능력이 있는지 여부를 판단한다. 재생 능력 정보는 상술한 바와 같이 다양한 시점에 제공될 수 있다.However, there may be cases in which client devices do not have a playback capability for the selected content. The
구체적으로는, 서버 장치(100)는 클라이언트 장치들(200-1 ~ 200-n)로부터 주기적으로 또는 컨텐츠 선택 시에 재생 능력 정보를 수신한다. 서버 장치(100)는 수신된 재생 능력 정보에 기초하여 각 클라이언트 장치들(200-1 ~ 200-n)이 해당 컨텐츠를 재생할 수 있는 지 여부를 판단한다. 재생 가능하다면 컨텐츠를 그대로 각 클라이언트 장치들(200-1 ~ 200-n)로 전송한다. 반면, 재생이 불가능하다면 재생 가능한 형태로 변환하여 전송한다. 가령, 파싱이나 디코딩과 같은 작업을 수행한 후 전송한다. 컨텐츠 처리 방법에 대해서는 상술한 다양한 부분에서 구체적으로 설명하였으므로, 중복 설명은 생략한다.Specifically, the
도 19는 도 18의 화면 공유 시스템에서 사용되는 클라이언트 장치들 중 하나에서 표시되는 화면 구성을 나타내는 도면이다. 설명의 편의를 위해서 도 19에서는 복수의 클라이언트 장치들(200-1 ~ 200-n) 중 첫번째 클라이언트 장치(200-1)를 기준으로 설명한다.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.
도 19에 따르면, 클라이언트 장치(200-1)는 서버 장치(100)에서 제공되는 화면(1900)을 그대로 디스플레이한다. 화면(1900)에는 멀티미디어 컨텐츠의 재생 결과를 표시하기 위한 재생 영역(1910)이 포함될 수 있다.According to FIG. 19, the client device 200-1 displays the
일반적인 경우, 재생 영역(1910)은 비활성화 상태를 유지한다. 비활성화 상태란 재생 영역(1910)에 아무런 컨텐츠도 표시되지 않는 상태를 의미한다. 비활성화 상태에서는 재생 영역(1910)에는 비활성화 상태임을 알리기 위한 문구나 이미지가 표시될 수 있다.In the general case, the
사용자가 재생 영역(1910) 하부의 재생 버튼(1911)을 선택한 것으로 판단되면, 서버 장치(100)는 요청된 컨텐츠를 클라이언트 장치(200-1)로 전송한다. 이 때, 서버 장치(100)는 컨텐츠 재생 화면이 디스플레이될 좌표 정보를 함께 클라이언트 장치(200-1)로 전송한다. 도 19에서는 재생 영역(1910)의 모서리 영역에 해당하는 좌표값이 클라이언트 장치(200-1)로 전송될 수 있다.If it is determined that the user selects the
클라이언트 장치(200-1)는 파서 및 코덱 등을 이용하여 컨텐츠를 재생한 후, 재생된 화면을 원 화면(1900)에 오버레이한다. 오버레이 위치는 서버 장치(100)로부터 제공되는 좌표 정보에 기초하여 결정될 수 있다. 결과적으로, 클라이언트 장치(200-1)는 재생된 화면(1920)을 원 화면(1900) 내에서 재생 영역(1910)에 오버레이시킨다. 그리고, 그 화면(1920) 하단에는 컨텐츠 재생 상태를 제어하기 위한 각종 버튼 메뉴(1912)를 표시한다. 컨텐츠 재생이 이루어지고 있는 동안에는 재생 버튼 메뉴(1911)이 일시 정지 버튼 메뉴(1912)로 변경될 수 있다.The client device 200-1 plays content using a parser, a codec, and the like, and then overlays the reproduced screen on the
클라이언트 장치(200-1)에서 직접 컨텐츠 재생을 하게 되면, 서버의 자원 소비를 감소시킬 수 있으며, 원본 컨텐츠의 화질을 그대로 구현할 수 있다. 하지만, 상술한 다양한 실시 예들에서 설명한 바와 같이 클라이언트 장치(200-1)는 컨텐츠 재생을 위한 파서 및 코덱을 갖치지 못하는 경우도 있다. 이러한 경우, 서버 장치(100)는 해당 컨텐츠에 대한 파싱 및 디코딩 중 적어도 하나의 처리를 수행할 수 있다. 파싱 처리만 이루어진 경우에는, 서버 장치(100)는 파싱 결과를 클라이언트 장치(200-1)로 전송하고, 클라이언트 장치(200-1)는 파싱된 컨텐츠를 디코딩하여 화면(1920)을 생성한다. 그리고, 생성된 화면(1920)을 재생 영역(1910)에 오버레이 시킨다. 디코딩 처리까지 이루어진 경우에는 서버 장치(100)는 디코딩에 의해 생성된 화면 자체를 생성하여 클라이언트 장치(200-1)로 전송한다. 클라이언트 장치(200-1)는 생성된 화면을 재생 영역(1910)에 오버레이 시킨다. 또는, 서버 장치(100)는 컨텐츠 재생 화면을 원 화면(1900)에 추가하여 하나의 화면으로 구성한 후, 전체 화면을 전송하여 줄 수도 있다.When content is played directly by the client device 200-1, resource consumption of the server can be reduced, and the image quality of the original content can be implemented as it is. However, as described in the aforementioned various embodiments, the client device 200-1 may not have a parser and a codec for playing content. In this case, the
한편, 상술한 실시 예들에서는 하나의 컨텐츠에 대한 처리 방법을 기준으로 설명하였으나, 그 밖에 부가적인 컨텐츠 처리를 위한 방법으로 구현될 수도 있다.Meanwhile, the above-described embodiments have been described with reference to a processing method for one content, but may be implemented as a method for additional content processing.
도 20은 본 발명의 또 다른 실시 예에 따른 컨텐츠 제공 시스템의 구성의 일 예를 나타낸다. 도 20에 따르면, 컨텐츠 제공 시스템은 제1 디스플레이 장치(2010), 제2 디스플레이 장치(2020)를 포함한다.20 is a diagram illustrating an example of a configuration of a content providing system according to another exemplary embodiment. According to FIG. 20, the content providing system includes a
제1 디스플레이 장치(2010)는 복수의 외부 소스(2010-1 ~ 2010-x) 중 하나 또는 별도의 소스로부터 제공되는 컨텐츠를 재생하여 그 재생 화면(2040)을 디스플레이한다. 또한, 제1 디스플레이 장치(2010)는 각 외부 소스(2010-1 ~ 2010-x)로부터 제공되는 부가 영상(2021, 2022, 2023)을 디스플레이할 수 있다. 부가 영상은 메인 영상 화면(2040)보다 작은 크기로 화면 일측에 표시될 수 있다.The
이와 같이, 부가 영상을 제공하는 다수의 외부 소스(2010-1 ~ 2010-x)가 존재하는 경우, 각 부가 영상을 처리하기 위해 필요한 코덱 및 파서도 다양할 수 있다. 따라서, 제1 디스플레이 장치(2010)가 재생할 수 없는 부가 영상이 존재할 수 있다. 이 경우, 그 부가 영상을 제공하는 외부 소스는 부가 영상에 대한 파싱, 디코딩 등의 처리를 수행하여 제공할 수 있다.As such, when there are a plurality of external sources 2010-1 to 2010-x that provide additional images, a codec and a parser required to process each additional image may also vary. Therefore, there may be additional video that the
제1 디스플레이 장치(2010)는 부가 영상 중 하나가 선택되면, 선택된 부가 영상을 제2 디스플레이 장치(2020)로 포워딩해 줄 수도 있다. 도 20에서는 첫 번째 부가 영상(2041)이 선택된 경우, 그 부가 영상에 대한 확대 영상을 제2 디스플레이 장치(2020)에서 디스플레이하는 것을 나타낸다. 제1 및 제2 디스플레이 장치(2010, 2020)는 와이파이, 블루투스, IEEE, 지그비, HDMI, USB 등과 같은 다양한 인터페이스로 연결될 수 있다.When one of the additional images is selected, the
제1 디스플레이 장치(2010)는 부가 영상이 선택되면, 부가 영상 컨텐츠 자체를 제2 디스플레이 장치(2020)로 전송하여 제2 디스플레이 장치(2020)가 직접 재생하도록 할 수 있다. 하지만, 제1 디스플레이 장치(2010)는 부가 영상 처리가 가능하나 제2 디스플레이 장치(2020)는 부가 영상 처리가 불가능한 경우가 있을 수도 있다. 이 경우에는 외부 소스가 아닌 제1 디스플레이 장치(2010)가 해당 부가 영상 컨텐츠를 파싱 및 디코딩하여 제2 디스플레이 장치(2020)로 제공하여 줄 수도 있다.When the additional image is selected, the
상술한 부가 영상들은 메인 영상과 관련된 것일 수 있다. 가령, 메인 영상 내에 포함된 특정 장면을 캡쳐한 영상, 메인 영상에 나오는 등장 인물, 장소, 상품 등에 대한 영상, 광고 영상 등이 있을 수 있다. 또한, 외부 소스(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 어드레스가 메인 영상에 포함되어 있을 수도 있다.The additional images described above may be related to the main image. For example, there may be an image capturing a specific scene included in the main image, an image of a person, a place, a product, etc. appearing in the main image, an advertisement image, and the like. In addition, the external sources 2030-1 to 2030-x may be implemented as web servers connected through the Internet. In this case, the main image may include Uniform Resource Locators (URLs) of external sources 2030-1 to 2030-x providing the additional image. The
또는, 메인 영상을 제공하는 소스에서 제1 디스플레이 장치(2010)에 대한 정보를 각 외부 소스(2030-1 ~ 2030-x)들에게 제공하여, 각 외부 소스(2030-1 ~ 2030-x)들이 부가 영상을 제1 디스플레이 장치(2010)로 푸쉬할 수도 있다.Alternatively, 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
도 20에서는 복수의 외부 소스들로부터 각각 부가 영상이 제공되는 것으로 설명하였으나, 하나의 서버 장치(100)가 클라이언트 장치(200)로 컨텐츠를 제공하는 경우에도 해당 컨텐츠 이외에 부가 컨텐츠를 더 제공하여 줄 수 있다. 이 경우에는, 클라이언트 장치(200)가 컨텐츠 재생 능력을 갖추고 있을 때에도, 간단한 썸네일 이미지 정도는 서버 장치(100)가 파싱 및 디코딩하여 직접 클라이언트 장치(200)로 제공하여 줄 수도 있다. 즉, 메인 컨텐츠는 클라이언트 장치(200)가 재생하고 있는 동안, 각종 부가 영상에 대해서는 서버 장치(100)가 파싱 및 디코딩하여 그 부가 영상 화면을 구성한 후, 클라이언트 장치(200)로 제공하여 줄 수도 있다.In FIG. 20, additional video is provided from a plurality of external sources. However, even when one
한편, 상술한 컨텐츠 제공 시스템은 홈 게이트웨이 시스템으로 구현될 수도 있다.Meanwhile, the above-described content providing system may be implemented as a home gateway system.
도 21은 본 발명의 일 실시 예에 따른 홈 게이트웨이 시스템의 일 예를 나타낸다. 도 21에 따르면, 홈 게이트웨이 시스템은 홈 게이트웨이(2120) 및 복수의 디스플레이 장치(2130-1 ~ 2130-m)를 포함한다.21 shows an example of a home gateway system according to an embodiment of the present invention. Referring to FIG. 21, a home gateway system includes a
각 디스플레이 장치(2130-1 ~ 2130-m)는 시스템 성능이 좋지 않은 더비(dummy)형 디스플레이 장치로 구현될 수 있다. 홈 게이트웨이(2120)는 외부 소스(2110)로부터 제공되는 컨텐츠를 각 디스플레이 장치(2130-1 ~ 2130-m)로 전송하여 줄 수 있다.Each display device 2130-1 to 2130-m may be implemented as a dummy display device having poor system performance. The
이 경우, 홈 게이트웨이(2120)는 각 디스플레이 장치(2130-1 ~ 2130-m)들의 컨텐츠 재생 능력에 따라 컨텐츠 처리를 다르게 할 수 있다. 가령, 컨텐츠 재생이 가능한 디스플레이 장치인 경우에는 외부 소스(2110)로부터 전송된 인코딩 상태의 컨텐츠를 그대로 전송한다. 반면, 컨텐츠 재생이 불가능한 디스플레이 장치인 경우에는 홈 게이트웨이(2120)는 그 컨텐츠에 대한 파싱 및 디코딩 처리를 수행한 후, 전송하여 줄 수 있다. 홈 게이트웨이(2120)는 각 디스플레이 장치(2130-1 ~ 2130-m)들의 컨텐츠 재생 능력을 저장하여 두고 활용할 수 있다. 또한, 홈 게이트웨이(2120)는 저장된 컨텐츠 재생 능력을 수시로 업데이트할 수도 있다.In this case, the
상술한 다양한 실시 예들에 따르면, 컨텐츠 재생을 위해서는 그 컨텐츠의 인코딩 방식에 대응되는 파서 및 코덱이 요구된다.According to various embodiments of the present disclosure, a parser and a codec corresponding to an encoding method of the content are required for content reproduction.
도 22에서는 파서 및 코덱 구성의 일 예를 나타낸다. 코덱(2210)은 데이터 사이즈를 줄이기 위한 부호화 처리 및 그 역과정인 복호화 처리를 수행한다. 파서는 부호화된 데이터를 AVI나 MP4 등과 같은 포맷의 동영상 컨텐츠로 만드는 과정 및 그 역과정을 수행한다.22 shows an example of a parser and a codec configuration. The
상술한 바와 같이 코덱은 MPEG(Moving Picture Expert Group) 코덱, Divx 코덱, AC3 코덱, OGG 코덱, Xvid 코덱, H.264 코덱, wmv7, 8, 9 코덱, 비디오 코덱(Video Codec)과 같이 다양한 종류로 구현될 수 있다.As described above, 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.
도 22에 따르면, 코덱(2210)은 비디오 인코더(2211), 오디오 인코더(2212), 비디오 디코더(2213), 오디오 디코더(2214)를 포함한다. 또한, 파서(2220)는 비디오 패킷화부(2221), 오디오 패킷화부(2222), 먹스(2223), 비디오 디패킷화부(depacketizer)(2224), 오디오 디패킷화부(2225), 디먹스(2226)를 포함한다.According to FIG. 22, the
코덱(2210) 내의 비디오 인코더(2211)는 컨텐츠를 이루는 비디오 데이터를 인코딩하기 위한 구성이고, 오디오 인코더(2212)는 오디오 데이터를 인코딩하기 위한 구성이다. 인코딩 방식은 코덱의 종류에 따라 MPEG(Moving Picture Expert Group), H.264 등과 같이 다양한 방식으로 구현될 수 있다.The
비디오 인코더(2213) 및 오디오 인코더(2212)에 의해 인코딩된 비디오 데이터 및 오디오 데이터는 각각 파서(2220) 내의 비디오 패킷화부(2221) 및 오디오 패킷화부(2222)로 제공된다. 비디오 패킷화부(2221)는 비디오 데이터를 기 설정된 크기의 비디오 패킷으로 구성하고, 오디오 패킷화부(2222)는 오디오 데이터를 기 설정된 크기의 오디오 패킷으로 구성한다. 각 패킷은 정해진 크기의 헤더 및 페이로드 영역으로 구분될 수 있다. 비디오 데이터 및 오디오 데이터는 페이로드 영역에 배치될 수 있다. 먹스(2223)는 비디오 패킷 및 오디오 패킷을 멀티플렉싱하여, 하나의 A/V 컨텐츠 스트림을 구성한다.The video data and the audio data encoded by the
한편, 컨텐츠 재생을 하는 경우에는, 파서(2220) 내의 디먹스(2226)가 컨텐츠를 디멀티플렉싱하여 비디오 패킷 및 오디오 패킷을 검출한다. 검출된 비디오 패킷 및 오디오 패킷은 각각 비디오 디패킷화부(2224) 및 오디오 디패킷화부(2225)로 입력된다. 비디오 디패킷화부(2224)는 비디오 패킷의 헤더를 제거하고, 페이로드 영역에 기록된 비디오 데이터를 검출한다. 오디오 디패킷화부(2225)는 오디오 패킷의 헤더를 제거하고, 오디오 데이터를 검출한다. 비디오 데이터 및 오디오 데이터는 코덱(2210) 내의 비디오 디코더(2213) 및 오디오 디코더(2214)로 제공된다. 비디오 디코더(2213) 및 오디오 디코더(2214)는 각각 비디오 데이터 및 오디오 데이터에 대한 디코딩을 수행한다.On the other hand, when content is played back, the
이상과 같은 코덱 및 파서의 구성은 상술한 다양한 실시 예에서 서버장치나 클라이언트 장치에 적용될 수 있다.한편, 본 발명의 또 다른 실시 예에 따르면 컨텐츠의 일부 프레임에 대해서만 클라이언트 장치의 재생 능력에 맞추어 먼저 처리한 후, 전송하여 줄 수도 있다.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 및 도 24는 이러한 실시 예를 설명하기 위한 도면이다.23 and 24 are diagrams for describing such an embodiment.
도 23에 따르면, 서버 장치(100)는 클라이언트 장치(200)에 대해 제공 가능한 컨텐츠들에 대한 정보를 전송한다. 클라이언트 장치(200)는 전송된 정보를 이용하여 화면(2300)을 디스플레이한다.According to FIG. 23, the
디스플레이된 화면(2300)에는 서버 장치(100)에서 제공 가능한 컨텐츠들에 대한 정보(2310, 2320, 2330)가 표시된다. 각 정보는 이미지(2310-1, 2320-1, 2330-1) 및 텍스트(2310-2, 2320-2, 2330-2)로 구성될 수 있다.The displayed
클라이언트 장치(200)는 서버 장치(100)로부터 제공되는 데이터에 대해 파싱 및 디코딩을 수행하여 이미지(2310-1, 2320-1, 2330-1)를 화면(2300)에 표시할 수 있다. 여기서, 이미지(2310-1, 2320-1, 2330-1)는 하나의 썸네일 정지 영상이 될 수도 있고, 일정 개수의 프레임으로 이루어진 동영상이 될 수도 있다.The
하지만, 상술한 바와 같이, 클라이언트 장치(200)가 파서나 코덱을 구비하지 못한 경우에는 이미지가 정상적으로 표시될 수 없게 된다. 이 경우, 도 23의 두 번째 정보(2320) 내에 포함된 이미지(2320-1)와 같이 X 같은 기호가 표시되거나, 이미지(2320-1) 영역 자체가 블랙 처리될 수 있다. 따라서, 클라이언트 장치(200)의 사용자는 해당 컨텐츠의 이미지를 확인할 수 없다는 문제점이 발생한다.However, as described above, when the
서버 장치(100)는 이러한 경우 해당 이미지(2320-1)에 대해 파싱 및 디코딩과 같은 처리를 수행하여 클라이언트 장치(200)로 전송하여 줄 수 있다.In this case, the
도 24는 서버 장치(100)에 의해 이미지(2320-1)가 처리되어 클라이언트 장치(200)에 표시된 상태를 나타낸다. 도 24에서 서버 장치(100)는 상술한 다양한 실시 예들에서 설명한 바와 같은 구성으로 구현될 수 있다.FIG. 24 illustrates a state in which an image 2320-1 is processed by the
일 예로, 서버 장치(100)가 도 3과 같은 구성으로 구현된 경우, 저장부(130)에는 클라이언트 장치로 제공할 컨텐츠가 저장되고, 통신부(110)는 클라이언트 장치(200)로부터 재생 능력 정보를 수신한다. 상술한 바와 같이, 재생 능력 정보는 주기적으로 전송받을 수도 있고, 클라이언트 장치(200)가 턴온되거나 리셋되는 경우, 서버 장치(100)가 요청한 경우 등과 같은 특정한 이벤트가 발생하였을 때마다 전송받을 수도 있다.For example, when the
제어부(120)는 저장부(130)에 저장된 컨텐츠들과 관련된 안내 정보를 클라이언트 장치(200)로 전송하여 줄 수 있다. 안내 정보에는 도 23 및 도 24에 도시된 바와 같은 이미지 및 텍스트가 포함될 수 있다. 이 경우, 제어부(120)는 클라이언트 장치(200)의 재생 능력 정보를 기초하여 클라이언트 장치(200)로 제공할 컨텐츠에 대한 국부적 처리(partly processing)를 수행할 지 여부를 판단한다. 국부적 처리란 하나의 컨텐츠 전체가 아니라 그 컨텐츠의 일부분에 대해서만 처리하는 것을 의미한다. 컨텐츠는 기 설정된 데이터 단위로 구분될 수 있다. 가령, 프레임 단위로 구분되는 경우에는 제어부(120)는 국부적 처리가 필요하다고 판단되면 컨텐츠 내에서 일부 프레임을 선택한다. 그리고, 선택된 프레임을 클라이언트 장치(200)에서 재생가능 하도록 처리하여 통신부(110)를 통해 클라이언트 장치(200)로 전송한다.The
제어부(120)는, 국부적 처리가 필요한지 여부에 대해서는 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 판단할 수 있다. 가령, 클라이언트 장치(200)가 컨텐츠를 처리할 수 있는 파서 및 코덱을 구비하였다면 국부적 처리가 불필요하다고 판단하고, 파서 및 코덱 중 적어도 하나를 미구비하였다면 국부적 처리가 필요하다고 판단할 수 있다.The
국부적으로 처리할 컨텐츠의 단위는 상술한 바와 같이 다양한 기준에 따라 구분될 수 있다. 구체적으로는, 제어부(120)는, 컨텐츠 내에서 하이라이트 부분으로 지정된 하이라이트 이미지 프레임, 기 설정된 주기에 따라 샘플링된 이미지 프레임, 기 설정된 순서의 이미지 프레임 등과 같은 다양한 이미지 프레임들 중에서 적어도 하나를 선택하여 선택된 프레임에 대해 파싱 및 디코딩 중 적어도 하나의 처리를 수행할 수 있다.Units of content to be locally processed may be classified according to various criteria as described above. In detail, the
여기서, 하이라이트 이미지 프레임은 메타 데이터와 같은 부가 정보에 의해 지정될 수 있다. 또한, 기 설정된 주기란 임의로 정해진 프레임 개수 단위의 주기를 의미한다. 가령, 600 프레임 마다 하나의 프레임을 샘플링하여, 그 샘플링된 프레임에 대해 파싱 및 디코딩과 같은 처리를 수행할 수 있다. 기 설정된 순서의 이미지 프레임이란 컨텐츠 재생 초반 부, 중반 부, 후반 분 등과 같이 정해진 시점에 배치된 이미지 프레임이 될 수 있다. 선택되는 이미지 프레임의 개수, 또는, 데이터 길이는 임의로 정해질 수 있다.Here, the highlight image frame may be designated by additional information such as metadata. In addition, 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.
이상과 같이, 일부 프레임에 대해 재생 가능한 형태로 처리하여 클라이언트 장치(200)로 전송하게 되면, 클라이언트 장치(200)는 도 24와 같이 각 컨텐츠의 이미지까지 정상적으로 포함하는 정보(2310, 2320, 2330)를 디스플레이할 수 있게 된다.As described above, when a plurality of frames are processed in a reproducible form and transmitted to the
한편, 도 24와 같은 화면에서 사용자가 하나의 정보를 선택하게 되면, 서버 장치(100)는 선택된 정보에 대응되는 컨텐츠를 클라이언트 장치(200)로 전송한다. 도 23에 도시한 예에서는, 첫 번째 및 세 번째 정보(2310, 2330)에 대응되는 컨텐츠는 클라이언트 장치(200)에서 재생 가능하다. 따라서, 첫 번째 및 세 번째 정보(2310, 2330) 중 하나가 선택되면, 서버 장치(100)는 해당 컨텐츠를 그대로 클라이언트 장치(200)로 전송한다.Meanwhile, when the user selects one piece of information on the screen as shown in FIG. 24, the
반면, 두 번째 정보(2320)에 대응되는 컨텐츠는 재생 불가능하므로, 서버 장치(100)는 두 번째 정보(2320)에 대응되는 컨텐츠에 대해서 파싱 및 디코딩 중 적어도 하나의 처리를 수행하여 클라이언트 장치(200)로 전송한다. 이에 따라, 클라이언트 장치(200)는 모든 파서 및 코덱을 구비하지 않더라도 각 컨텐츠에 대한 사전 정보를 사용자에게 보여줄 수 있고, 컨텐츠가 선택되면 재생 화면까지 제공하여 줄 수 있게 된다.On the other hand, since the content corresponding to the
도 24에서는 통신부(110), 제어부(120), 저장부(130)를 포함하는 서버 장치(100)의 동작을 위주로 설명하였으나, 이러한 동작은 서버 장치에서 수행되는 컨텐츠 공유 방법으로 구현될 수도 있다. 이러한 컨텐츠 공유 방법 역시 도 24에서 설명한 내용과 같이 구현될 수 있으므로, 이에 대한 흐름도는 그 도시를 생략한다.In FIG. 24, the operation of the
또한, 상술한 다양한 실시 예들에 따른 방법들은 소프트웨어로 생성되어 서버 장치나 클라이언트 장치에 탑재될 수 있다.In addition, methods according to the various embodiments described above may be generated in software and mounted on a server device or a client device.
구체적으로는, 본 발명의 일 실시 예에 따르면, 서버 장치에는, 클라이언트 장치로부터 재생 능력 정보를 수신하는 단계, 상기 클라이언트 장치로 제공할 컨텐츠의 속성 및 상기 재생 능력 정보에 기초하여 상기 클라이언트 장치가 상기 컨텐츠를 재생 불가능하다고 판단되면, 상기 컨텐츠를 재생 가능한 형태로 처리하여 상기 클라이언트 장치로 전송하는 전송 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 설치될 수 있다.Specifically, according to an embodiment of the present invention, at the server device, receiving the playback capability information from the client device, the client device based on the attribute of the content to be provided to the client device and the playback capability information; If it is determined that the content cannot be reproduced, 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.
또는, 클라이언트 장치에는, 서버 장치로부터 파서 및 코덱 목록을 수신하여 저장하는 단계, 상기 서버 장치에 저장된 컨텐츠에 대한 재생 요청을 입력받는 단계, 상기 클라이언트 장치에 구비된 파서 및 코덱에 대한 정보와 상기 수신된 파서 및 코덱 목록을 이용하여, 상기 컨텐츠에 대한 재생 가능 여부를 판단하는 단계, 상기 컨텐츠에 대한 재생이 가능하면 상기 서버 장치로 컨텐츠 공유 요청을 전송하고, 상기 컨텐츠에 대한 재생이 불가능하면 재생 불가 메시지를 디스플레이하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체가 설치될 수 있다.Alternatively, 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.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.A non-transitory readable medium is a medium that stores data for a short period of time, such as a register, cache, memory, etc., but semi-permanently stores data and is readable by the apparatus. In particular, the various applications or programs described above may be stored on non-volatile readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM,
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.
100 : 서버 장치200 : 클라이언트 장치
110 : 통신부120 : 제어부
130 : 저장부100: server device 200: client device
110: communication unit 120:
130:
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120083227AKR101997583B1 (en) | 2012-07-30 | 2012-07-30 | Server device and client device for sharing contents, and method thereof |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120083227AKR101997583B1 (en) | 2012-07-30 | 2012-07-30 | Server device and client device for sharing contents, and method thereof |
| Publication Number | Publication Date |
|---|---|
| KR20140016072Atrue KR20140016072A (en) | 2014-02-07 |
| KR101997583B1 KR101997583B1 (en) | 2019-07-08 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020120083227AExpired - Fee RelatedKR101997583B1 (en) | 2012-07-30 | 2012-07-30 | Server device and client device for sharing contents, and method thereof |
| Country | Link |
|---|---|
| KR (1) | KR101997583B1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015156507A1 (en)* | 2014-04-10 | 2015-10-15 | 엘지전자 주식회사 | Server, image providing apparatus, and image providing system comprising same |
| KR20170078769A (en)* | 2014-11-03 | 2017-07-07 | 오픈티브이, 인크. | Method and system to share advertisement content from a main device to a secondary device |
| US10219045B2 (en) | 2014-04-10 | 2019-02-26 | Lg Electronics Inc. | Server, image providing apparatus, and image providing system comprising same |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020077785A (en)* | 2001-04-02 | 2002-10-14 | 가부시키가이샤 히타치세이사쿠쇼 | Media distribution system and multi-media conversion server |
| JP2004159212A (en)* | 2002-11-08 | 2004-06-03 | Nippon Telegr & Teleph Corp <Ntt> | Video content distribution apparatus and method |
| KR20040087701A (en)* | 2003-04-07 | 2004-10-15 | 에스케이 텔레콤주식회사 | Method and system for creating/transmitting multimedia contents |
| KR20110032800A (en)* | 2009-09-24 | 2011-03-30 | 삼성전자주식회사 | Storage device and its driving method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020077785A (en)* | 2001-04-02 | 2002-10-14 | 가부시키가이샤 히타치세이사쿠쇼 | Media distribution system and multi-media conversion server |
| JP2004159212A (en)* | 2002-11-08 | 2004-06-03 | Nippon Telegr & Teleph Corp <Ntt> | Video content distribution apparatus and method |
| KR20040087701A (en)* | 2003-04-07 | 2004-10-15 | 에스케이 텔레콤주식회사 | Method and system for creating/transmitting multimedia contents |
| KR20110032800A (en)* | 2009-09-24 | 2011-03-30 | 삼성전자주식회사 | Storage device and its driving method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015156507A1 (en)* | 2014-04-10 | 2015-10-15 | 엘지전자 주식회사 | Server, image providing apparatus, and image providing system comprising same |
| US10219045B2 (en) | 2014-04-10 | 2019-02-26 | Lg Electronics Inc. | Server, image providing apparatus, and image providing system comprising same |
| KR20170078769A (en)* | 2014-11-03 | 2017-07-07 | 오픈티브이, 인크. | Method and system to share advertisement content from a main device to a secondary device |
| KR20230080513A (en)* | 2014-11-03 | 2023-06-07 | 오픈티브이, 인크. | Method and system to share advertisement content from a main device to a secondary device |
| Publication number | Publication date |
|---|---|
| KR101997583B1 (en) | 2019-07-08 |
| Publication | Publication Date | Title |
|---|---|---|
| CN105814899B (en) | For the server unit of sharing contents, client apparatus and for the method for sharing contents | |
| KR101841669B1 (en) | Adaptive media content scrubbing on a remote device | |
| KR101977317B1 (en) | User terminal device, social network service and contents providng method using the same | |
| US9851862B2 (en) | Display apparatus and displaying method for changing a cursor based on a user change of manipulation mode | |
| US10203927B2 (en) | Display apparatus and display method | |
| CN109756406B (en) | Apparatus and method for providing UI and apparatus and method for controlling | |
| KR20140111859A (en) | Method and device for sharing content | |
| CN105721904B (en) | Display device and method for controlling content output of display device | |
| KR20160019693A (en) | User terminal apparatus, display apparatus, system and control method thereof | |
| KR20170009087A (en) | Image display apparatus and operating method for the same | |
| KR101997583B1 (en) | Server device and client device for sharing contents, and method thereof | |
| EP3690647A1 (en) | Display apparatus and method for providing a user interface | |
| AU2015221545B2 (en) | Adaptive media content scrubbing on a remote device | |
| HK1186612A (en) | Adaptive media content scrubbing on a remote device | |
| HK1186612B (en) | Adaptive media content scrubbing on a remote device |
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PG1501 | Laying open of application | St.27 status event code:A-1-1-Q10-Q12-nap-PG1501 | |
| P22-X000 | Classification modified | St.27 status event code:A-2-2-P10-P22-nap-X000 | |
| R17-X000 | Change to representative recorded | St.27 status event code:A-3-3-R10-R17-oth-X000 | |
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| P22-X000 | Classification modified | St.27 status event code:A-2-2-P10-P22-nap-X000 | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | St.27 status event code:A-1-2-D10-D21-exm-PE0902 | |
| P11-X000 | Amendment of application requested | St.27 status event code:A-2-2-P10-P11-nap-X000 | |
| P13-X000 | Application amended | St.27 status event code:A-2-2-P10-P13-nap-X000 | |
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | St.27 status event code:A-1-2-D10-D22-exm-PE0701 | |
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment | St.27 status event code:A-2-4-F10-F11-exm-PR0701 | |
| PR1002 | Payment of registration fee | St.27 status event code:A-2-2-U10-U11-oth-PR1002 Fee payment year number:1 | |
| PG1601 | Publication of registration | St.27 status event code:A-4-4-Q10-Q13-nap-PG1601 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R11-asn-PN2301 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R14-asn-PN2301 | |
| P14-X000 | Amendment of ip right document requested | St.27 status event code:A-5-5-P10-P14-nap-X000 | |
| P16-X000 | Ip right document amended | St.27 status event code:A-5-5-P10-P16-nap-X000 | |
| Q16-X000 | A copy of ip right certificate issued | St.27 status event code:A-4-4-Q10-Q16-nap-X000 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:4 | |
| PN2301 | Change of applicant | St.27 status event code:A-5-5-R10-R13-asn-PN2301 St.27 status event code:A-5-5-R10-R11-asn-PN2301 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:5 | |
| PC1903 | Unpaid annual fee | St.27 status event code:A-4-4-U10-U13-oth-PC1903 Not in force date:20240703 Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE | |
| PC1903 | Unpaid annual fee | St.27 status event code:N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date:20240703 |