KR20140025229A - 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법 - Google Patents
사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법 Download PDFInfo
- Publication number
- KR20140025229A KR20140025229A KR1020120091882A KR20120091882A KR20140025229A KR 20140025229 A KR20140025229 A KR 20140025229A KR 1020120091882 A KR1020120091882 A KR 1020120091882A KR 20120091882 A KR20120091882 A KR 20120091882A KR 20140025229 A KR20140025229 A KR 20140025229A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- external device
- format
- user terminal
- bit rate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004891 communication Methods 0.000 claims abstract description 107
- 230000005540 biological transmission Effects 0.000 claims abstract description 48
- 230000003139 buffering effect Effects 0.000 claims description 169
- 230000006835 compression Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 9
- 238000002716 delivery method Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 79
- 230000005236 sound signal Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 239000000872 buffer Substances 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
사용자 단말 장치의 컨텐츠 전송 방법이 개시된다. 본 컨텐츠 전송 방법은 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 컨텐츠의 일 부분을 제1 포맷으로 변환하여 외부 기기로 전송하는 제1 전송단계 및, 외부 기기로 제1 포맷으로 변환된 부분의 전송 이후에, 컨텐츠를 제1 포맷과는 다른 제2 포맷으로 변환하여 외부 기기로 전송하는 제2 전송단계를 포함한다.
Description
본 발명은 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법에 관한 것으로, 더욱 상세하게는 컨텐츠를 외부 기기와 공유할 수 있는 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법에 관한 것이다.
전자 기술의 발달에 힘입어, 사용자들은 사용자 단말 장치를 통해 스트리밍 형태로 컨텐츠를 제공받을 수 있다.
한편, 사용자 단말 장치에서 컨텐츠를 실시간으로 재생하기 위해 스트리밍되는 컨텐츠의 일정 분량만큼을 버퍼링하여야 한다. 하지만, 컨텐츠의 용량이 큰 경우 버퍼링에 오랜 시간이 소요된다는 점에서, 사용자에게 불편함으로 다가왔다.
따라서, 스트리밍 형태로 제공되는 컨텐츠의 버퍼링에 소요되는 시간을 감소시키기 위한 방안의 모색이 요청된다.
본 발명은 상술한 필요성에 따른 것으로 본 발명의 목적은 외부 기기에서 버퍼링이 완료되었는지에 따라 컨텐츠의 비트 레이트를 변환하여 외부 기기로 전송하는 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법을 제공함에 있다.
본 발명의 일 실시 예에 따른 사용자 단말 장치의 컨텐츠 전송 방법은 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 상기 컨텐츠의 일 부분을 제1 포맷으로 변환하여 상기 외부 기기로 전송하는 제1 전송단계 및, 상기 외부 기기로 상기 제1 포맷으로 변환된 부분의 전송 이후, 상기 컨텐츠를 상기 제1 포맷과는 다른 제2 포맷으로 변환하여 상기 외부 기기로 전송하는 제2 전송단계를 포함한다.
여기에서, 본 실시 예에 따른 컨텐츠 전송 방법은, 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환하는 제1 변환단계를 더 포함할 수 있다.
그리고, 상기 제1 변환단계는, 상기 컨텐츠의 해상도, 압축율, 프레임 레이트 중 적어도 하나를 변경하여 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환할 수 있다.
또한, 상기 제1 변환단계는, 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 제1 포맷에 대응되는 비트 레이트를 산출하는 단계 및, 상기 산출된 비트 레이트를 갖도록 상기 컨텐츠의 일 부분을 변환하는 단계를 포함할 수 있다.
여기에서, 상기 산출하는 단계는, 아래의 수학식을 이용하여 상기 제1 포맷에 대응되는 비트 레이트를 산출할 수 있다.
비트 레이트 = (버퍼링 허용 시간 × 네트워크 대역폭) / 버퍼링 요청 시간
여기에서, 버퍼링 허용 시간은 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 상기 사용자 단말 장치와 상기 외부 기기 사이의 최대 전송 속도이다.
한편, 상기 컨텐츠의 일 부분은, 상기 외부 기기에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함할 수 있다.
또한, 본 실시 예에 따른 컨텐츠 전송 방법은, 상기 컨텐츠를 제2 포맷으로 변환하는 제2 변환단계를 더 포함하며, 상기 제2 변환단계는, 상기 컨텐츠의 일 부분을 제외한 나머지 부분을 상기 제2 포맷으로 변환하거나, 상기 컨텐츠의 일 부분이 포함된 전체 부분을 상기 제2 포맷으로 변환할 수 있다.
여기에서, 상기 제2 포맷으로 변환된 컨텐츠는, 상기 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 가질 수 있다.
또한, 상기 제2 전송단계는, 원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하거나, 상기 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송할 수 있다.
한편, 본 발명의 일 실시 예에 따른 사용자 단말 장치는 컨텐츠를 저장하는 저장부, 외부 기기와 통신을 수행하는 통신부, 상기 외부 기기로 컨텐츠를 전송하기 위한 사용자 명령이 입력받기 위한 입력부 및, 상기 사용자 명령이 입력되면, 상기 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 상기 컨텐츠의 일 부분을 제1 포맷으로 변환하여 상기 통신부를 통해 상기 외부 기기로 전송하고, 상기 외부 기기로 상기 제1 포맷으로 변환된 부분의 전송 이후, 상기 컨텐츠를 상기 제1 포맷과는 다른 제2 포맷으로 변환하여 상기 통신부를 통해 상기 외부 기기로 전송하도록 제어하는 제어부를 포함한다.
여기에서, 상기 제어부는, 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환할 수 있다
그리고, 상기 제어부는. 상기 컨텐츠의 해상도, 압축율, 프레임 레이트 중 적어도 하나를 변경하여 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환할 수 있다.
또한, 상기 제어부는, 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 제1 포맷에 대응되는 비트 레이트를 산출하고, 상기 산출된 비트 레이트를 갖도록 상기 컨텐츠의 일 부분을 변환할 수 있다.
여기에서, 상기 제어부는, 아래의 수학식을 이용하여 상기 제1 포맷에 대응되는 비트 레이트를 산출할 수 있다.
비트 레이트 = (버퍼링 허용 시간 × 네트워크 대역폭) / 버퍼링 요청 시간
여기에서, 버퍼링 허용 시간은 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 상기 사용자 단말 장치와 상기 외부 기기 사이의 최대 전송 속도이다.
한편, 상기 컨텐츠의 일 부분은, 상기 외부 기기에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함할 수 있다.
그리고, 상기 제어부는, 상기 컨텐츠의 일 부분을 제외한 나머지 부분을 상기 제2 포맷으로 변환하거나, 상기 컨텐츠의 일 부분이 포함된 전체 부분을 상기 제2 포맷으로 변환할 수 있다.
여기에서, 상기 제2 포맷으로 변환된 컨텐츠는, 상기 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 가질 수 있다.
또한, 상기 제어부는, 원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하거나, 상기 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하도록 상기 통신부를 제어할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 컨텐츠를 외부 기기로 스트리밍할 때, 외부 기기에서 버퍼링을 위해 소요 시간을 감소될 수 있다. 이에 따라, 사용자 편의성이 향상될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템의 일 예를 설명하기 위한 도면,
도 2 및 도 3은 도 1에 도시된 컨텐츠 전송 시스템의 동작을 설명하기 위한 도면들,
도 4는 도 1에 도시된 사용자 단말 장치의 구성을 설명하기 위한 블록도,
도 5는 도 4에 도시된 사용자 단말 장치의 세부 구성을 설명하기 위한 블록도,
도 6은 도 1에 도시된 외부 기기의 구성을 설명하기 위한 블록도,
도 7은 본 발명의 다른 실시 예에 따른 컨텐츠 전송 시스템의 일 예를 설명하기 위한 도면,
도 8 및 도 9는 도 7에 도시된 컨텐츠 전송 시스템의 동작을 설명하기 위한 도면들,
도 10은 도 7에 도시된 서버의 구성을 설명하기 위한 블록도,
도 11은 도 7에 도시된 사용자 단말 장치의 구성을 설명하기 위한 블록도,
도 12 및 도 13은 본 발명의 일 실시 예에 따라 컨텐츠를 전송하는 방법을 설명하기 위한 도면들,
도 14는 본 발명의 일 실시 예에 따라 컨텐츠를 재생하는 방법의 일 예를 설명하기 위한 도면,
도 15는 본 발명의 일 실시 예에 따른 컨텐츠 전송 방법을 설명하기 위한 흐름도, 그리고,
도 16은 본 발명의 일 실시 예에 따른 컨텐츠 중계 방법을 설명하기 위한 흐름도이다.
도 2 및 도 3은 도 1에 도시된 컨텐츠 전송 시스템의 동작을 설명하기 위한 도면들,
도 4는 도 1에 도시된 사용자 단말 장치의 구성을 설명하기 위한 블록도,
도 5는 도 4에 도시된 사용자 단말 장치의 세부 구성을 설명하기 위한 블록도,
도 6은 도 1에 도시된 외부 기기의 구성을 설명하기 위한 블록도,
도 7은 본 발명의 다른 실시 예에 따른 컨텐츠 전송 시스템의 일 예를 설명하기 위한 도면,
도 8 및 도 9는 도 7에 도시된 컨텐츠 전송 시스템의 동작을 설명하기 위한 도면들,
도 10은 도 7에 도시된 서버의 구성을 설명하기 위한 블록도,
도 11은 도 7에 도시된 사용자 단말 장치의 구성을 설명하기 위한 블록도,
도 12 및 도 13은 본 발명의 일 실시 예에 따라 컨텐츠를 전송하는 방법을 설명하기 위한 도면들,
도 14는 본 발명의 일 실시 예에 따라 컨텐츠를 재생하는 방법의 일 예를 설명하기 위한 도면,
도 15는 본 발명의 일 실시 예에 따른 컨텐츠 전송 방법을 설명하기 위한 흐름도, 그리고,
도 16은 본 발명의 일 실시 예에 따른 컨텐츠 중계 방법을 설명하기 위한 흐름도이다.
이하에서, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템의 일 예를 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템은 사용자 단말 장치(100) 및 외부 기기(200)를 포함할 수 있다.
사용자 단말 장치(100)는 네트워크(10)를 통해 컨텐츠를 외부 기기(200)로 전송할 수 있다. 예를 들어, 사용자 단말 장치(100)는 스마트 폰과 같은 휴대폰, 테블릿(tablet), PDA(Personal Digital Assitant) 등과 같은 무선 단말기로 구현되어, 사용자 단말 장치(100)에 저장된 컨텐츠를 스트리밍 형태로 외부 기기(200)로 전송할 수 있다.
구체적으로, 사용자 단말 장치(100)는 컨텐츠의 일 부분 즉, 외부 기기(200)에서 초기 버퍼링에 사용되는 시간 분량만큼의 컨텐츠를 낮은 비트 레이트로 변환하여 외부 기기(200)로 전송하고, 외부 기기(200)에서 초기 버퍼링이 완료되면 컨텐츠의 비트 레이트를 재변환하여 외부 기기(200)로 전송할 수 있다.
외부 기기(200)는 네트워크(10)를 통해 사용자 단말 장치(100)와 연결되어, 사용자 단말 장치(100)로부터 컨텐츠를 수신하여 재생할 수 있다. 예를 들어, 외부 기기(200)는 스마트 폰과 같은 휴대폰, 테블릿(tablet), PDA(Personal Digital Assitant), PC, 디지털 TV, 노트북 PC 등으로 구현되어, 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 실시간으로 재생할 수 있다.
한편, 사용자 단말 장치(100) 및 외부 기기(200)는 BT(BlueTooth), Wifi, PAN, LAN, WAN, Wired I/O, USB(Universal Serial Bus) 등의 다양한 통신 방식을 통해 연결될 수 있다. 예를 들어, 사용자 단말 장치(100)에서 컨텐츠 전송을 위한 사용자 명령이 입력되면, DLNA(Digital Living Network Alliance) 기술을 통해 주변 기기를 탐색하고, 탐색된 기기 중 연동될 기기가 선택되면 페어링을 수행하여 무선 통신을 수행할 수 있다. 이외에도 BT, Wifi 등 다른 통신 방식을 이용하여 페어링을 수행할 수 있으나 자세한 설명은 생략하도록 한다.
도 2 및 도 3은 도 1에 도시된 컨텐츠 전송 시스템의 동작을 설명하기 위한 도면이다.
먼저, 도 2는 외부 기기(200)에서 버퍼링이 완료되기 전, 각 장치의 동작을 설명하기 위한 타이밍도이다.
도 2에 따르면, 사용자 단말 장치(100)는 컨텐츠 전송 명령이 입력되면(S310), 외부 기기(200)와 통신 연결을 수행한다. 구체적으로, 사용자 단말 장치(100)는 무선 통신 가능한 주변 외부 기기를 검색하고, 검색된 외부 기기와 페어링 과정을 통해 무선 통신 연결을 수행할 수 있다.
한편, 컨텐츠 전송 명령을 입력받는 S310 단계와 외부 기기(200)와 통신 연결을 수행하는 S320 단계의 순서는 변경될 수 있음은 물론이며, 사용자 단말 장치(100)는 컨텐츠 전송 명령이 아닌 별도의 사용자 명령에 기초하여 외부 기기(200)와 통신 연결을 수행할 수도 있다.
이어서, 사용자 단말 장치(100)는 외부 기기(200)에서 컨텐츠를 초기에 디스플레이하기 위한 정보를 획득한다(S350).
일 예로, 사용자 단말 장치(100)는 외부 기기(200)로 초기 디스플레이 정보의 전송을 요청하여, 외부 기기(200)로 초기 디스플레이 정보를 수신할 수 있다(S340). 다른 예로, 사용자 단말 장치(100)는 외부 기기별로 초기 디스플레이 정보를 기저장하고 있을 수 있다. 즉, 사용자 단말 장치(100)는 외부 기기에 대한 리스트를 디스플레이하고, 리스트 상에서 선택된 외부 기기에 매칭되는 초기 디스플레이 정보를 획득할 수 있다. 이 경우, S330, S340 단계는 생략될 수 있다.
한편, 외부 기기의 초기 디스플레이 정보란, 외부 기기(200)에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기(200)에서 허용된 초기 버퍼링 소요 시간을 포함할 수 있다.
이어서, 사용자 단말 장치(100)는 획득한 초기 디스플레이 정보에 기초하여, 컨텐츠의 일 부분을 제1 포맷으로 변환할 수 있다(S360). 여기에서, 컨텐츠의 일 부분은 외부 기기(200)에서 초기 버퍼링하고자 하는 기설정된 시간 분량만큼의 컨텐츠일 수 있다.
구체적으로, 사용자 단말 장치(100)는 외부 기기(200)와 연결되는 네트워크의 대역폭을 통해, 외부 기기(200)에서 허용된 버퍼링 소요 시간 동안 외부 기기(200)에서 버퍼링하고자 하는 기설정된 시간 분량만큼의 컨텐츠가 전송되도록, 컨텐츠 일 부분의 비트 레이트를 변환할 수 있다.
이후, 사용자 단말 장치(100)는 제1 포맷으로 변환된 컨텐츠의 일 부분을 외부 기기(200)로 전송하고(S370), 외부 기기(200)는 컨텐츠를 수신하여 저장한다(S380). 즉, 외부 기기(200)는 스트리밍되는 컨텐츠를 실시간으로 재생하기 위해, 기설정된 시간 분량만큼의 컨텐츠를 저장하는 초기 버퍼링 동작을 수행한다.
이하에서는, 도 3을 참조하여 외부 기기(200)에서 버퍼링이 완료된 후, 각 장치의 동작을 설명하도록 한다.
도 3과 같이, 외부 기기(200)는 기설정된 시간 분량만큼의 컨텐츠가 저장되어 초기 버퍼링이 완료되면, 버퍼링된 컨텐츠에 대해 신호 처리를 수행하여 재생한다(S410). 그리고, 외부 기기(200)는 버퍼링 완료 메시지를 사용자 단말 장치(100)로 전송한다(S420).
한편, 사용자 단말 장치(100)는 버퍼링 완료 메시지가 수신되면 컨텐츠를 제2 포맷으로 변환하여(S430), 외부 기기(200)로 전송할 수 있다(S440). 다만, 사용자 단말 장치(100)는 외부 기기(200)로부터 버퍼링 완료 메시지가 수신되지 않아도, 외부 기기(200)에서 초기 버퍼링 동작이 완료된 것으로 판단되면, 컨텐츠를 제2 포맷으로 변환하여, 외부 기기(200)로 전송할 수 있다. 이 경우, S420 단계는 생략될 수 있다.
구체적으로, 외부 기기(200)에서 초기 버퍼링 동작이 완료되면, 사용자 단말 장치(100)는 외부 기기(200)의 재생 처리 능력에 대응되도록 컨텐츠의 비트 레이트를 변환하여 외부 기기(200)로 스트리밍할 수 있다.
구체적으로, 사용자 단말 장치(100)는 외부 기기(200)의 재생 처리 능력에 기초하여, 외부 기기(200)에서 원 컨텐츠 자체를 재생할 수 있는지 여부를 판단한다. 그 결과, 사용자 단말 장치(100)는 외부 기기(200)에서 원 컨텐츠 자체를 재생할 수 있다고 판단되는 경우 원 컨텐츠를 외부 기기(200)로 스트리밍한다. 다만, 사용자 단말 장치(100)는 외부 기기(200)에서 원 컨텐츠를 재생할 수 없는 경우, 원 컨텐츠보다 낮은 비트 레이트를 갖도록 컨텐츠의 비트 레이트를 변환하여 외부 기기(200)로 스트리밍할 수 있다.
한편, 사용자 단말 장치(100)는 다양한 방식을 통해 외부 기기(200)의 재생 처리 능력에 대한 정보를 획득할 수 있다.
비록, 도 4에 도시하지 않았지만, 사용자 단말 장치(100)는 재생 처리 능력에 대한 정보를 외부 기기(200)로 요청하여, 외부 기기(200)로부터 재생 처리 능력에 대한 정보를 수신할 수 있다. 이 경우, 외부 기기(200)는 사용자 단말 장치(100)로부터 초기 디스플레이 정보의 전송 요청을 수신하면, 초기 디스플레이 정보와 함께 재생 처리 능력에 대한 정보를 사용자 단말 장치(100)로 전송할 수도 있다.
다른 예로, 사용자 단말 장치(100)는 외부 기기별로 재생 처리 능력에 대한 정보를 기저장하고 있을 수 있다. 즉, 사용자 단말 장치(100)는 외부 기기에 대한 리스트를 디스플레이하고, 리스트 상에서 선택된 외부 기기에 매칭되는 재생 처리 능력을 획득할 수 있다.
한편, 외부 기기(200)는 사용자 단말 장치(100)로부터 수신되는 컨텐츠를 재생한다(S450). 구체적으로, 외부 기기(200)는 초기 버퍼링된 컨텐츠를 재생하는 동안 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 버퍼링하고, 초기 버퍼링된 컨텐츠의 재생이 완료되면, 이후에 스트리밍되어 버퍼링된 컨텐츠에 대한 신호 처리를 수행하여 컨텐츠를 실시간으로 재생할 수 있다.
이와 같이, 본 발명의 일 실시 예에 따르면, 사용자 단말 장치(100)는 외부 기기(200)에서 컨텐츠 재생을 위한 초기 버퍼링이 완료되기 전까지, 컨텐츠를 낮은 비트 레이트로 변환하여 외부 기기(200)로 전송한다. 그리고, 사용자 단말 장치(100)는 외부 기기(200)의 초기 버퍼링이 완료되면 외부 기기(200)의 재생 처리 능력에 대응되도록 컨텐츠의 비트 레이트를 변환하여 외부 기기(200)로 전송한다. 이에 따라, 사용자들은 외부 기기(200)에서 버퍼링에 소모되는 시간을 최소화하며 컨텐츠를 실시간으로 제공받을 수 있게 된다.
도 4는 도 1에 도시된 사용자 단말 장치의 구성을 설명하기 위한 블록도이다. 도 4에 도시된 바와 같이, 사용자 단말 장치(100)는 통신부(110), 입력부(120) , 저장부(130) 및 제어부(140)를 포함한다.
통신부(110)는 외부 기기(도 1, 200)와 통신을 수행한다. 즉, 통신부(110)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다.
이를 위해, 통신부(110)는 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. 여기에서, 근거리 무선 통신 모듈이란 블루투스, 지그비 방식 등과 같은 근거리 무선 통신 방식에 따라, 근거리에 위치한 외부 기기(200)와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 외부 기기(200)와 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신 망에 접속하여 외부 기기(200)와 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
그리고, 통신부(110)는 외부 기기(200)와 통신을 수행하여, 외부 기기(200)로부터 다양한 정보를 수신할 수 있다.
구체적으로, 통신부(110)는 외부 기기(200)에서 컨텐츠를 초기에 디스플레이하기 위한 정보를 수신할 수 있다. 여기에서, 초기 디스플레이 정보는, 외부 기기(200)에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기(200)에서 허용된 초기 버퍼링 소요 시간을 포함한다.
즉, 초기 디스플레이 정보는, 컨텐츠를 실시간으로 재생하기 위해 외부 기기(200)에서 수행되는 초기 버퍼링과 관련된 정보를 의미한다. 구체적으로, 외부 기기(200)는 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 실시간으로 재생하기 위해 일정 시간 동안 일정한 시간 분량만큼의 컨텐츠를 버퍼링하고, 일정 시간 분량만큼의 컨텐츠에 대한 버퍼링이 완료되면 컨텐츠의 재생을 시작하게 된다. 이에 따라, 사용자 단말 장치(100)는 통신부(110)를 통해 수신된 외부 기기(200)의 초기 디스플레이 정보를 이용하여, 외부 기기(200)에서 초기 버퍼링 동작이 효율적으로 수행되도록 제어할 수 있다.
또한, 통신부(110)는 외부 기기(200)의 재생 처리 능력에 대한 정보를 수신할 수 있다. 여기에서, 재생 처리 능력에 대한 정보는, 외부 기기(200)에서 처리가능한 컨텐츠의 해상도, 외부 기기(200)에 설치된 디코더 성능 및 코덱 종류 중 적어도 하나를 포함할 수 있다. 뿐만 아니라, 재생 처리 능력에는 사용자 단말 장치(100)에서 외부 기기(200)로 데이터를 전송하는데 소요되는 네트워크 요금이 포함될 수도 있다.
입력부(120)는 다양한 사용자 조작을 입력받아 제어부(140)로 전달하기 위한 입력 수단으로써, 입력 패널로 구현될 수 있다. 여기에서, 입력 패널은 터치패드(Touch Pad) 혹은 각종 기능키, 숫자키, 특수키, 문자키 등을 구비한 키패드(Key Pad) 또는 터치 스크린(Touch Screen) 방식으로 이루어질 수 있다.
구체적으로, 입력부(120)는 외부 기기(200)로 컨텐츠를 전송하기 위한 사용자 명령을 입력받는다. 뿐만 아니라, 입력부(120)는 사용자 단말 장치(100)와 통신을 수행하기 위한 외부 기기를 선택하기 위한 사용자 명령을 입력받을 수 있다.
예를 들어, 입력부(120)가 디스플레이부(미도시)와 함께 터치 스크린 형태로 구현되는 경우, 무선 통신 가능한 주변 외부 기기에 대한 리스트를 디스플레이하여 통신 수행을 위한 외부 기기를 입력받으며, 사용자 단말 장치(100)에 기저장된 컨텐츠에 대한 리스트를 디스플레이하여 외부 기기로 전송하기 위한 컨텐츠를 입력받을 수 있다.
저장부(130)는 사용자 단말 장치(100)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부(130)는 제어부(140)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(140)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.
특히, 저장부(130)는 컨텐츠를 저장할 수 있다. 구체적으로, 저장부(130)는 방송 컨텐츠, 인터넷 컨텐츠, VoD(Video On Demand) 컨텐츠 등과 같은 다양한 동영상 컨텐츠를 저장할 수 있다.
제어부(140)는 사용자 단말 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 제어부(140)는 무선 통신 가능한 주변 외부 기기를 검색하고, 사용자에 의해 선택된 외부 기기와 통신을 수행하도록 통신부(110)를 제어할 수 있다.
그리고, 제어부(140)는 컨텐츠 전송 명령이 입력되면, 외부 기기(200)에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여, 컨텐츠의 일 부분을 제1 포맷으로 변환하여 통신부(120)를 통해 외부 기기(200)로 전송할 수 있다. 여기에서, 초기 디스플레이 정보는 컨텐츠 재생에 요구되는 외부 기기(200)의 초기 버퍼링 수행 능력으로, 외부 기기(200)로부터 수신되거나, 사용자 단말 장치(100)에 기저장되어 있을 수 있다.
예를 들어, 사용자 단말 장치(100)는 외부 기기별로 초기 디스플레이 정보를 매칭시켜 기저장하고 있을 수 있다. 다른 한편, 제어부(140)는 통신부(110)를 통해 초기 디스플레이 정보의 전송을 외부 기기(200)로 요청하고, 외부 기기(200)로부터 초기 디스플레이 정보를 수신할 수 있다.
외부 기기(200)는 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 실시간으로 재생하기 위해 일정한 시간 분량의 컨텐츠를 버퍼링한다. 이때, 외부 기기(200)에서 초기 버퍼링하고자 하는 컨텐츠의 시간 분량 및 외부 기기에서 허용한 초기 버퍼링 소요 시간은 기기별로 기정의되어 있으며, 초 단위 또는 분 단위로 표현될 수 있다.
한편, 외부 기기(200)는 초기 버퍼링하고자 하는 기설정된 시간 분량만큼의 컨텐츠가 수신되면 초기 버퍼링 동작을 완료하고, 버퍼링된 컨텐츠를 재생한다. 따라서, 컨텐츠의 용량이 클수록 초기 버퍼링에 요구되는 시간 분량만큼의 컨텐츠를 외부 기기(200)로 스트리밍하는데 많은 시간이 소요되고, 외부 기기(200)는 초기 버퍼링 동작을 수행하기 위해 많은 시간을 소모한다.
따라서, 본 발명에서 사용자 단말 장치(100)는 외부 기기(200)에서 초기 버퍼링을 위해 소요되는 시간을 줄이기 위해, 외부 기기(200)의 초기 버퍼링이 완료될 때까지 컨텐츠의 비트 레이트를 낮춰서 전송한다.
구체적으로, 제어부(140)는 외부 기기(200)에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 컨텐츠의 일 부분을 제1 포맷으로 변환한다. 여기에서, 컨텐츠의 일 부분은, 외부 기기(200)에서 초기 버퍼링 동작을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함할 수 있다.
즉, 제어부(140)는 외부 기기(200)에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여 제1 포맷에 대응되는 비트 레이트를 산출하고, 산출된 비트 레이트를 갖도록 컨텐츠의 일 부분을 변환할 수 있다.
구체적으로, 제어부(140)는 아래의 수학식 1을 이용하여 제1 포맷에 대응되는 비트 레이트를 산출할 수 있다.
여기에서, 버퍼링 허용 시간은 외부 기기(200)에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 외부 기기(200)에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 사용자 단말 장치(100)와 외부 기기(200) 사이의 최대 전송 속도이다.
즉, 제어부(140)는 사용자 단말 장치(100)와 외부 기기(200)를 연결하는 네트워크의 대역폭을 통해, 외부 기기(200)의 버퍼링 수행 능력을 만족시킬 수 있는 컨텐츠의 최대 비트 레이트를 산출한다. 구체적으로, 제어부(140)는 네트워크 대역폭을 통해, 외부 기기(200)에서 허용된 초기 버퍼링 소요 시간 동안 외부 기기(200)에서 초기 버퍼링하고자 하는 기설정된 시간 분량만큼의 컨텐츠를 전송할 수 있는, 컨텐츠의 비트 레이트를 산출할 수 있다.
한편, 제어부(140)는 컨텐츠의 해상도, 압축율 및 프레임 레이트 중 적어도 하나를 변경하여 컨텐츠의 일 부분을 제1 포맷으로 변환할 수 있다.
즉, 제어부(140)는 산출된 비트 레이트와 컨텐츠의 원 비트 레이트를 비교하여, 컨텐츠를 변환하여 외부 기기(200)로 전송할지 여부를 판단한다. 구체적으로, 제어부(140)는 산출된 비트 레이트가 컨텐츠의 원 비트 레이트보다 큰 경우, 비트 레이트를 변환함이 없이 원 컨텐츠 자체를 외부 기기(200)로 스트리밍하도록 통신부(110)를 제어한다.
하지만, 제어부(140)는 산출된 비트 레이트가 컨텐츠의 원 비트 레이트보다 작은 경우, 산출된 비트 레이트를 갖도록 컨텐츠를 인코딩하여 외부 기기(200)로 스트리밍하도록 통신부(110)를 제어한다. 이때, 제어부(140)는 컨텐츠의 해상도, 압축율 및 프레임 레이트 중 적어도 하나를 변경하여 산출된 비트 레이트를 갖도록 컨텐츠의 비트 레이트를 감소시키고, 비트 레이트가 감소된 컨텐츠를 외부 기기로 전송하도록 통신부(110)를 제어한다.
구체적으로, 제어부(140)는 산출된 비트 레이트에 대응되는 해상도를 갖도록 컨텐츠를 다운 스케일링하여, 원 컨텐츠보다 비트 레이트가 감소된 저화질의 컨텐츠를 생성할 수 있다.
이 경우, 제어부(140)는 외부 기기(200)에서 처리가능한 컨텐츠의 해상도를 고려하여, 저화질의 컨텐츠를 생성할 수도 있다.
구체적으로, 제어부(140)는 외부 기기(200)에서 처리가능한 컨텐츠의 해상도보다 산출된 비트 레이트에 대응되는 해상도가 낮은 경우, 산출된 비트 레이트에 대응되는 해상도로 컨텐츠를 다운 스케일링한다.
다만, 제어부(140)는 산출된 비트 레이트에 대응되는 해상도보다 외부 기기(200)에서 처리가능한 컨텐츠의 해상도가 낮은 경우, 외부 기기(200)에서 처리가능한 컨텐츠의 해상도로 컨텐츠를 다운 스케일링한다. 이를 통해, 외부 기기(200)는 초기 버퍼링 동작을 만족하면서, 사용자 단말 장치(100)로부터 스트리밍된 컨텐츠를 별도의 스케일링 없이 바로 재생할 수 있게 된다.
또한, 제어부(140)는 산출된 비트 레이트에 대응되는 압축율을 갖도록 압축율을 높여 컨텐츠를 재인코딩함으로써, 원 컨텐츠보다 비트 레이트가 감소된 저화질의 컨텐츠를 생성할 수 있다. 뿐만 아니라, 제어부(140)는 산출된 비트 레이트에 대응되는 프레임 레이트를 갖도록 프레임 레이트를 낮춰 컨텐츠를 재인코딩함으로써, 원 컨텐츠보다 비트 레이트가 감소된 저화질의 컨텐츠를 생성할 수 있다.
한편, 제어부(140)는 외부 기기(200)로 컨텐츠를 전송할 때, 컨텐츠에 대한 부가 정보를 함께 전송하도록 통신부(110)를 제어할 수 있다. 여기에서, 컨텐츠에 대한 부가 정보는, 타이틀, 출연진, 줄거리 등을 포함할 수 있다.
한편, 제어부(140)는 외부 기기(200)로 제1 포맷으로 변환된 부분의 전송 이후에, 컨텐츠를 제1 포맷과는 다른 제2 포맷으로 변환하여 통신부(110)를 통해 외부 기기(200)로 전송하도록 제어한다. 즉, 제어부(140)는 외부 기기(200)에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량만큼의 컨텐츠가 외부 기기(200)로 모두 전송되면, 컨텐츠의 비트 레이트를 재변환하여 외부 기기(200)로 전송하도록 제어할 수 있다.
이를 위해, 제어부(140)는 외부 기기에서 초기 버퍼링에 필요한 컨텐츠 용량이 모두 전송되면 외부 기기에서 버퍼링이 완료된 것으로 판단할 수 있다. 즉, 제어부(140)는 외부 기기에서 버퍼링하고자 하는 시간 분량만큼의 컨텐츠가 외부 기기로 모두 스트리밍되면, 외부 기기에서 초기 버퍼링이 완료된 것으로 판단할 수 있다. 다른 한편, 제어부(140)는 외부 기기(200)로부터 버퍼링 완료 메시지가 수신되면 외부 기기(200)에서 버퍼링이 완료된 것으로 판단할 수도 있다.
여기에서, 제2 포맷으로 변환된 컨텐츠는, 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 가질 수 있다. 즉, 외부 기기(200)에서 초기 버퍼링동작이 완료되면, 제어부(140)는 초기 버퍼링을 위해 전송되었던 컨텐츠의 비트 레이트보다 높은 비트레이트로 컨텐츠를 변환하여 외부 기기(200)로 스트리밍한다.
한편, 외부 기기(200)는 초기 버퍼링된 컨텐츠를 재생하는 시간 동안 이후 수신되는 컨텐츠를 버퍼링하고, 초기 버퍼링된 컨텐츠의 재생이 완료되면 이후에 버퍼링된 컨텐츠를 신호처리하여 재생할 수 있다. 이에 따라, 사용자 단말 장치(100)가 초기 버퍼링이 완료된 이후 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 외부 기기(200)로 스트리밍하여도, 외부 기기(200)는 컨텐츠를 실시간으로 재생할 수 있게 된다.
구체적으로, 제어부(140)는 외부 기기(200)에서 초기 버퍼링에 필요한 컨텐츠가 전송된 것으로 판단되면, 제1 포맷의 컨텐츠의 전송을 중단하고 컨텐츠를 제2 포맷으로 변환하여 외부 기기(200)로 전송할 수 있다.
이 경우, 제어부(140)는 원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 외부 기기(200)로 전송하거나, 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 외부 기기(200)로 전송하도록 통신부(110)를 제어할 수 있다. 여기에서, 제어부(140)가 컨텐츠의 원 비트 레이트보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하는 것은 외부 기기(200)의 재생 처리 능력을 고려하기 때문이다.
재생 처리 능력은 외부 기기(200)에서 컨텐츠를 신호처리하여 재생할 수 있는 능력을 의미한다. 구체적으로, 재생 처리 능력은 외부 기기(200)에서 처리가능한 해상도, 외부 기기(200)에 설치된 디코더 성능 및 코덱 종류 중 적어도 하나를 포함할 수 있다. 뿐만 아니라, 재생 처리 능력에는 사용자 단말 장치(100)에서 외부 기기(200)로 데이터를 전송하는데 소요되는 네트워크 요금이 포함될 수도 있다.
이러한, 재생 처리 능력은 사용자 단말 장치(100)에 기저장되어 있거나, 외부 기기(200)로부터 수신될 수 있다. 예를 들어, 사용자 단말 장치(100)는 외부 기기별로 재생 처리 능력을 매칭시켜 기저장하고 있을 수 있다. 다른 한편, 사용자 단말 장치(100)는 재생 처리 능력을 외부 기기(200)로부터 수신할 수 있다. 구체적으로, 제어부(140)는 통신부(110)를 통해 외부 기기(200)로 재생 처리 능력의 전송을 요청하여 외부 기기(200)로부터 재생 처리 능력을 수신할 수 있다. 이때, 제어부(140)는 초기 디스플레이 정보의 전송을 외부 기기(200)로 요청할 때, 재생 처리 능력의 전송을 함께 요청할 수도 있다.
구체적으로, 제어부(140)는 외부 기기(200)에서 처리가능한 해상도, 디코더 성능 및 코덱의 종류에 따라, 외부 기기(200)가 원 컨텐츠를 신호처리하여 재생할 수 있는지 여부를 판단한다.
이 경우, 외부 기기(200)가 원 컨텐츠에 대해 신호처리를 수행하여 재생가능하다고 판단되면, 제어부(140)는 원 컨텐츠를 외부 기기(200)로 스트리밍할 수 있다.
하지만, 외부 기기(200)가 원 컨텐츠에 대해 신호처리를 수행할 수 없는 경우, 제어부(140)는 원 컨텐츠보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하여 외부 기기(200)로 스트리밍할 수 있다. 예를 들어, 제어부(140)는 외부 기기(200)에서 처리가능한 해상도, 외부 기기에 구비된 디코더 성능 또는 코덱의 종류에 따라, 외부 기기(200)에서 신호처리 가능한 비트 레이트를 갖도록 컨텐츠를 재인코딩하여, 원 컨텐츠보다 낮은 비트 레이트로 컨텐츠를 변환하고, 변환된 컨텐츠를 외부 기기(200)로 스트리밍할 수 있다.
또한, 사용자 단말 장치(100)가 원 컨텐츠의 비트 레이트로 컨텐츠를 외부 기기(200)로 전송하면 기 설정된 요금이 초과되는 경우, 제어부(140)는 원 컨텐츠보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하여 외부 기기(200)로 스트리밍할 수 있다.
다만, 상술한 실시 예에서, 재생 처리 능력을 고려하여 변환된 컨텐츠의 비트 레이트는 최초 버퍼링을 위해 스트리밍되었던 컨텐츠의 비트 레이트보다 높을 수 있다.
한편, 제어부(140)는 컨텐츠의 일 부분을 제외한 나머지 부분을 제2 포맷으로 변환하거나, 컨텐츠의 일 부분을 포함한 전체 부분을 제2 포맷으로 변환할 수 있다. 즉, 외부 기기(200)에서 초기 버퍼링 동작이 완료되면, 제어부(140)는 초기 버퍼링을 위해 전송되었던 시간 분량 이후 부분을 제2 포맷으로 변환하여 외부 기기(200)로 스트리밍하거나, 컨텐츠의 처음 부분부터 다시 제2 포맷으로 변환하여 외부 기기(200)로 스트리밍할 수 있다
한편, 상술한 실시 예에서는 외부 기기(200)에서 초기 버퍼링이 완료되면, 비트 레이트를 재변환하여 초기 버퍼링 동안 전송되었던 컨텐츠보다 고화질의 컨텐츠를 외부 기기(200)로 전송하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 사용자 단말 장치(100)에서 고화질의 컨텐츠를 전송하는 시점은 다양하게 변경될 수 있다.
예를 들어, 제어부(140)는 외부 기기(200)에서 초기 버퍼링이 완료되기 전이라도, 외부 기기(200)의 요청이 있으면 낮은 비트 레이트로 변환된 컨텐츠의 스트리밍을 중단하고 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 외부 기기(200)로 스트리밍할 수 있다.
다른 한편, 제어부(140)는 외부 기기(200)의 초기 디스플레이 정보가 변경되거나 네트워크 상황이 변경된 경우에도, 낮은 비트 레이트로 변환된 컨텐츠의 스트리밍을 중단할 수 있다. 구체적으로, 제어부(140)는 외부 기기(200)의 초기 버퍼링을 위해 낮은 비트 레이트로 변환된 컨텐츠를 스트리밍하는 중에, 외부 기기(200)에서 버퍼링하고자 하는 시간 분량이 줄어들거나 사용자 단말 장치(100)와 외부 기기(200) 사이의 네트워크 대역폭이 확장된 경우, 낮은 비트 레이트로 변환된 컨텐츠의 스트리밍을 중단하고 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 외부 기기(200)로 스트리밍할 수 있다.
이상과 같이, 본 발명의 일 실시 예에 따르면, 사용자 단말 장치(100)는 외부 기기에서 초기 버퍼링이 완료될 때까지 낮은 비트 레이트로 변환된 컨텐츠를 외부 기기(200)로 스트리밍 한다. 이에 따라, 외부 기기(200)에서 컨텐츠 재생 시 발생되는 초기 버퍼링에 의해 소요되는 시간을 단축시킬 수 있다.
도 5는 도 4에 도시된 사용자 단말 장치의 세부 구성을 설명하기 위한 블록도이다. 도 5에 따르면, 사용자 단말 장치(100)은 도 4에 도시된 구성요소 외에 신호 처리부(140), 출력부(150) 및 저장부(160)를 더 포함할 수 있다. 도 5에 도시된 구성요소들 중 도 4에 도시된 구성요소와 중복되는 구성요소들은 그 기능이 동일하므로 자세한 설명은 생략하도록 한다.
신호 처리부(140)는 컨텐츠가 출력부(150)를 통해 출력될 수 있도록 컨텐츠에 대한 신호처리를 수행한다. 구체적으로, 신호 처리부(140)는 컨텐츠에 포함된 비디오 신호에 대해 디코딩, 스케일링, 프레임 레이트 변환 및 인코딩 등의 동작을 수행하여, 출력부(150)에서 출력 가능한 형태로 비디오 신호를 변환할 수 있다. 또한, 신호 처리부(140)는 컨텐츠에 포함된 오디오 신호에 대해 디코딩 등의 신호 처리를 수행하여 출력부(150)에서 출력 가능한 형태로 오디오 신호를 변환할 수 있다.
출력부(150)는 컨텐츠를 출력하는 기능을 수행한다. 이를 위해, 출력부(150)는 디스플레이부(미도시) 및 스피커(미도시)를 구비할 수 있다.
구체적으로, 디스플레이부는 비디오 신호를 영상으로 표시되도록 할 수 있다. 이를 위해, 디스플레이부는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등의 형태로 구현될 수 있다.
또한, 디스플레이부는 사용자 단말 장치(100)를 통해 제공 가능한 다양한 디스플레이 화면을 제공할 수 있다. 특히, 디스플레이부는 사용자 단말 장치(100)와 무선 통신 가능한 외부 기기에 대한 리스트, 사용자 단말 장치(100)에 기저장된 컨텐츠에 대한 리스트 및 컨텐츠 전송 명령을 입력받기 위한 오브젝트(가령, 아이콘) 등을 포함하는 각종 UI 화면을 디스플레이할 수 있다.
여기에서, 디스플레이부가 터치패드와 함께 상호 레이어 구조를 이루는 터치 스크린 형태로 구현될 수 있으며, 터치 스크린은 터치 입력 위치, 면적, 터치 입력의 압력까지도 검출하도록 구성될 수 있다.
한편, 스피커(미도시)는 오디오 신호가 처리되어 오디오로 출력되도록 할 수 있다. 구체적으로, 스피커(미도시)는 신호 처리부(140)로부터 전달받은 오디오 신호를 증폭하여 사용자에게 제공할 수 있다.
비록, 상술한 실시 예에서는 스피커(미도시)를 통해 오디오가 출력되는 것으로 설명하였으나, 잭 등과 같은 출력 포트 등을 구비할 수 있음은 물론이다. 한편, 디스플레이부(미도시) 및 스피커(미도시)는 제어부(140)의 제어에 따라 컨텐츠를 구성하는 오디오 신호 및 비디오 신호를 동기화시켜 출력할 수 있다.
한편, 제어부(140)는 입력부(120)를 통해 컨텐츠 재생 명령이 입력되면 선택된 컨텐츠에 대한 신호 처리를 수행하여 재생되도록 제어할 수 있다. 컨텐츠가 재생되는 도중 컨텐츠 전송 명령이 입력되면, 제어부(140)는 컨텐츠의 재생을 중단하고, 이후 재생될 부분을 외부 기기(200)로 스트리밍하도록 제어할 수 있다. 즉, 제어부(140)는 사용자 단말 장치(100)에서 재생되던 컨텐츠를 외부 기기(200)에서 심리스하게 재생하도록 제어할 수 있다. 다만, 제어부(140)는 재생 중인 컨텐츠의 중단 없이 이후 재생될 부분의 컨텐츠를 외부 기기(200)로 스트리밍하도록 제어할 수 있으며, 재생 중인 컨텐츠의 처음 부분부터 외부 기기(200)로 스트리밍하도록 제어할 수도 있다.
이 경우에도, 제어부(140)는 외부 기기(200)의 초기 디스플레이 정보에 기초하여, 컨텐츠의 비트 레이트를 변환하여 외부 기기(200)로 스트리밍할 수 있으며, 이에 대해서는 상술한 바있다는 점에서, 구체적인 중복 설명은 생략하도록 한다.
저장부(160)는 사용자 단말 장치(100)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부(160)는 제어부(140)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(140)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.
특히, 저장부(160)는 외부 기기(200)에서 컨텐츠를 초기에 디스플레이하기 위한 정보를 저장할 수 있다. 구체적으로, 저장부(160)는 외부 기기에 대한 기기 명칭을 저장하고, 각 기기 명칭별로 초기 디스플레이 정보를 매칭시켜 저장하고 있을 수 있다. 또한, 저장부(160)는 새로운 외부 기기로부터 초기 디스플레이 정보가 수신되면, 기존의 기기별 초기 디스플레이 정보에 부가하여 저장할 수 있다.
뿐만 아니라, 저장부(160)는 외부 기기(200)의 재생 처리 능력에 대한 정보를 저장할 수도 있다. 구체적으로, 저장부(160)는 외부 기기에 대한 기기 명칭을 저장하고, 각 기기 명칭별로 재생 처리 능력을 매칭시켜 저장하고 있을 수 있다. 또한, 저장부(160)는 새로운 외부 기기로부터 재생 처리 능력에 대한 정보가 수신되면, 기존의 기기별 재생 처리 능력에 대한 정보에 부가하여 저장할 수 있다.
이에 따라, 제어부(140)는 디스플레이부에 표시된 리스트 상에서 무선 통신을 수행하기 위한 외부 기기가 선택되면, 선택된 외부 기기에 매칭되는 초기 디스플레이 정보 및 재생 처리 능력을 저장부(160)로부터 독출하고, 독출된 정보를 이용하여 컨텐츠의 비트 레이트를 변환할 수 있다.
도 6은 도 1에 도시된 외부 기기의 구성을 설명하기 위한 블록도이다. 도 6에 따르면, 외부 기기(200)는 통신부(210), 저장부(220), 신호처리부(230), 출력부(240) 및 제어부(250)를 포함한다.
통신부(210)는 사용자 단말 장치(도 1, 100)와 통신을 수행하여, 사용자 단말 장치(100)에서 스트리밍 형태로 전송하는 컨텐츠를 수신할 수 있다. 이를 위해, 통신부(210)는 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. 여기에서, 근거리 무선 통신 모듈이란 블루투스, 지그비 방식 등과 같은 근거리 무선 통신 방식에 따라, 근거리에 위치한 외부 기기와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신 망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
저장부(220)는 외부 기기(200)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부(220)는 제어부(250)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(250)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.
특히, 저장부(220)는 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 실시간으로 재생하기 위해 컨텐츠를 저장한다. 즉, 저장부(220)는 컨텐츠를 버퍼링하는 버퍼로서 기능을 수행할 수 있다.
신호 처리부(230)는 컨텐츠가 출력부(240)를 통해 출력될 수 있도록 컨텐츠에 대한 신호처리를 수행한다. 구체적으로, 신호 처리부(230)는 컨텐츠에 포함된 비디오 신호에 대해 디코딩, 스케일링, 프레임 레이트 변환 및 인코딩 등의 동작을 수행하여, 출력부(240)에서 출력 가능한 형태로 비디오 신호를 변환할 수 있다. 또한, 신호 처리부(230)는 컨텐츠에 포함된 오디오 신호에 대해 디코딩 등의 신호 처리를 수행하여 출력부(240)에서 출력 가능한 형태로 오디오 신호를 변환할 수 있다.
출력부(240)는 컨텐츠를 출력하는 기능을 수행한다. 이를 위해, 출력부(240)는 디스플레이부(미도시) 및 스피커(미도시)를 구비할 수 있다.
구체적으로, 디스플레이부는 비디오 신호가 처리되어 영상으로 표시되도록 할 수 있다. 이를 위해, 디스플레이부는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등의 형태로 구현될 수 있다.
한편, 스피커는 오디오 신호가 처리되어 오디오로 출력되도록 할 수 있다. 구체적으로, 스피커는 신호 처리부(240)로부터 전달받은 오디오 신호를 증폭하여 사용자에게 제공할 수 있다. 비록, 상술한 실시 예에서는 스피커를 통해 오디오가 출력되는 것으로 설명하였으나, 잭 등과 같은 출력 포트 등을 구비할 수 있음은 물론이다. 한편, 디스플레이부 및 스피커는 제어부(250)의 제어에 따라 컨텐츠를 구성하는 오디오 신호 및 비디오 신호를 동기화시켜 출력할 수 있다.
제어부(250)는 외부 기기(200)의 각 구성요소에 대한 전반적인 동작을 제어한다. 외부 기기(200)에 포함된 각 구성요소에 대한 설명은 상술한 바 있으므로 중복 설명은 생략하도록 한다.
특히, 제어부(250)는 사용자 단말 장치(100)의 요청에 따라, 컨텐츠를 초기에 디스플레이하기 위한 정보 및 재생 처리 능력에 대한 정보를 사용자 단말 장치(100)로 전송하도록 통신부(210)를 제어할 수 있다.
그리고, 제어부(250)는 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 실시간으로 재생하도록 각 구성요소를 제어할 수 있다.
구체적으로, 제어부(250)는 사용자 단말 장치(100)로부터 스트리밍되는 컨텐츠를 저장부(220)에 저장하고, 기설정된 시간 분량만큼의 저장되어 초기 버퍼링 동작이 완료되면 신호 처리부(230)를 통해 초기 버퍼링된 컨텐츠에 대한 신호 처리를 수행하여 재생할 수 있다. 여기에서, 초기 버퍼링이 완료되기 전까지 스트리밍되는 컨텐츠는 외부 기기(200)의 초기 디스플레이 정보에 대응되는 비트 레이트로 변환된 컨텐츠일 수 있다. 이에 대해서는, 상술한바 있다는 점에서 중복 생략은 생략하도록 한다.
이와 같이, 초기 버퍼링이 완료되기 전까지 상대적으로 낮은 비트 레이트로 변환된 컨텐츠가 수신되므로, 제어부(250)는 신호 처리부(230)에 구비된 디코더(미도시)의 재생 모드를 저화질 재생 모드로 전환하여, 버퍼링된 컨텐츠에 대한 디코딩을 수행할 수 있다.
한편, 제어부(250)는 낮은 비트 레이트로 변환된 컨텐츠 재생 시, 컨텐츠에 대한 부가 정보를 출력부(240)를 통해 출력할 수 있다. 즉, 외부 기기(200)에서 재생 가능한 컨텐츠의 해상도보다 낮은 해상도를 갖는 컨텐츠가 사용자 단말 장치(100)로부터 수신되는 경우, 제어부(250)는 해상도가 낮은 컨텐츠를 디스플레이부에 마련된 스크린의 일 영역에 디스플레이하고, 스크린의 다른 영역에 컨텐츠에 대한 부가 정보를 디스플레이할 수 있다. 여기에서, 컨텐츠에 대한 부가 정보는, 타이틀, 출연진, 줄거리 등을 포함할 수 있다.
이후, 초기 버퍼링이 완료되면, 제어부(250)는 통신부(210)를 통해 버퍼링 완료 메시지를 사용자 단말 장치(100)로 전송할 수 있다. 그리고, 제어부(250)는 초기 버퍼링된 컨텐츠가 재생되는 동안, 스트리밍되는 컨텐츠를 버퍼링하고, 초기 버퍼링된 컨텐츠의 재생이 완료되면 이후 버퍼링된 컨텐츠에 대한 신호처리를 수행하여, 컨텐츠를 실시간으로 재생할 수 있다.
한편, 초기 버퍼링이 완료되면 사용자 단말 장치(100)로부터 버퍼링이 완료되기 전보다 상대적으로 높은 비트 레이트로 변환된 컨텐츠가 수신되므로, 제어부(250)는 신호 처리부(230)에 구비된 디코더의 재생 모드를 고화질 재생 모드로 전환하여, 버퍼링된 컨텐츠에 대해 디코딩을 수행할 수 있다.
도 7은 본 발명의 다른 실시 예에 따른 컨텐츠 전송 시스템의 일 예를 설명하기 위한 도면이다. 도 7에 따르면, 본 발명의 일 실시 예에 따른 컨텐츠 전송 시스템은 사용자 단말 장치(100'), 외부 기기(200') 및 서버(300)를 포함할 수 있다. 한편, 도 7에 도시된 컨텐츠 전송 시스템에서는 컨텐츠가 서버(300)에 저장되며, 사용자 단말 장치(100')는 서버(300)로부터 스트리밍되는 컨텐츠를 외부 기기(200')로 전송하는 역할을 한다는 점에서만 도 1과 차이가 있다. 따라서, 도 1과 중복되는 부분에 대한 구체적인 설명은 생략하도록 한다.
서버(300)는 저장된 컨텐츠를 사용자 단말 장치(100')를 통해 외부 기기(200')로 전송할 수 있다.
구체적으로, 서버(300)는 외부 기기(200')에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 사용자 단말 장치(100')로 스트리밍되던 컨텐츠의 비트 레이트를 변환하고, 비트 레이트가 변환된 컨텐츠를 사용자 단말 장치(100')로 스트리밍할 수 있다. 그리고, 서버(300)는 외부 기기(200')에서 초기 버퍼링 동작이 완료되면 사용자 단말 장치(100')로 스트리밍하던 컨텐츠의 비트 레이트를 재변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다.
여기에서, 서버(300)는 다양한 컨텐츠를 저장하고 스트리밍 형태로 다양한 기기로 제공하는 각종 웹 서버로 구현될 수 있다. 하지만, 이는 일 예에 불과하며 서버(300)는 마이크로 서버로 구현되어 사용자 단말 장치(100')에 내장될 수도 있다.
사용자 단말 장치(100')는 서버(300)로부터 스트리밍되는 컨텐츠를 재생할 뿐만 아니라, 외부 기기(200')로 전달한다. 즉, 사용자 단말 장치(100)는 휴대폰, 테블릿(tablet), PDA(Personal Digital Assitant) 등과 같은 무선 단말기로 구현되어, 서버(300)로부터 스트리밍되는 컨텐츠를 재생하고, 사용자 명령에 따라 서버(300)로부터 스트리밍되는 컨텐츠를 외부 기기(200')로 전달할 수 있다. 즉, 사용자 단말 장치(100')는 외부 기기(200')와 서버(300) 사이의 중계 장치로서 역할을 할 수 있다.
도 8 및 도 9는 도 7에 도시된 컨텐츠 전송 시스템의 동작을 설명하기 위한 도면이다.
먼저, 도 8은 외부 기기(200')에서 초기 버퍼링이 완료되기 전, 각 장치의 동작을 설명하기 위한 타이밍도이다.
도 8에 따르면, 서버(300)는 컨텐츠를 사용자 단말 장치(100')로 전송한다(S501). 구체적으로, 서버(300)는 컨텐츠를 사용자 단말 장치(100')로 스트리밍하고, 사용자 단말 장치(100')는 서버(300)로부터 스트리밍되는 컨텐츠를 실시간으로 재생한다.
이어서, 사용자 단말 장치(100')는 컨텐츠 전송 명령이 입력되면(S502), 외부 기기(200')와 통신 연결을 수행한다. 구체적으로, 사용자 단말 장치(100')는 무선 통신 가능한 주변 외부 기기를 검색하고, 검색된 외부 기기와 페어링 과정을 통해 통신 연결을 수행할 수 있다.
한편, 컨텐츠 전송 명령을 입력받는 S502 단계와 외부 기기(200')와 통신 연결을 수행하는 S503 단계의 순서는 변경될 수 있음은 물론이며, 사용자 단말 치(100')는 컨텐츠 전송 명령이 아닌 별도의 사용자 명령에 기초하여 외부 기기(200')와 통신 연결을 수행할 수도 있다.
이어서, 사용자 단말 장치(100')는 외부 기기(200')에서 컨텐츠를 초기에 디스플레이하기 위한 정보를 획득한다(S506).
일 예로, 사용자 단말 장치(100')는 초기 디스플레이 정보의 전송을 외부 기기(200')로 요청하여, 외부 기기(200')로부터 초기 디스플레이 정보를 수신할 수 있다. 다른 예로, 사용자 단말 장치(100')는 외부 기기별로 초기 디스플레이 정보를 기저장하고 있을 수 있다. 즉, 사용자 단말 장치(100')는 외부 기기에 대한 리스트를 디스플레이하고, 리스트 상에서 선택된 외부 기기에 매칭되는 초기 디스플레이 정보를 획득할 수 있다. 이 경우, S504, S505 단계는 생략될 수 있다.
한편, 초기 디스플레이 정보는, 외부 기기(200')의 초기 버퍼링 수행 능력으로, 외부 기기(200')에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 장치(200')에서 허용된 초기 버퍼링 소요 시간을 포함한다. 이에 대해서는, 도 1 내지 도 6과 함께 상술한 바 있으므로 구체적인 중복 설명은 생략하도록 한다.
이어서, 사용자 단말 장치(100')는 획득한 초기 디스플레이 정보를 서버(300)로 전송할 수 있다. 이 경우, 사용자 단말 장치(100')는 사용자 단말 장치(100')와 외부 기기(200) 사이의 네트워트 상황에 대한 정보를 함께 전송할 수 있다. 여기에서, 네트워트 상황은 사용자 단말 장치(100')와 외부 기기(200') 사이의 통신에 제공되는 네트워크의 대역폭을 포함한다.
한편, 서버(300)는 획득한 초기 디스플레이 정보에 기초하여, 컨텐츠를 제1 포맷으로 변환할 수 있다(S508). 구체적으로, 서버(300)는 사용자 단말 장치(100')와 외부 기기(200') 사이의 네트워크의 대역폭을 통해, 외부 기기(200')에서 허용된 초기 버퍼링 소요 시간 동안 외부 기기(200')에서 초기 버퍼링하고자 하는 기설정된 시간 분량만큼의 컨텐츠를 전송하도록, 컨텐츠의 비트 레이트를 변환할 수 있다.
이후, 서버(300)는 제1 포맷으로 변환된 컨텐츠를 사용자 단말 장치(100')로 전송하며(S509), 사용자 단말 장치(100')는 수신된 제1 포맷의 컨텐츠를 외부 기기(200')로 전송한다(S510) 즉, 사용자 단말 장치(100')는 외부 기기(200')와 서버(300) 사이의 중계 장치로서 역할을 수행한다.
한편, 외부 기기(200')는 컨텐츠를 수신하여 저장한다(S511). 즉, 외부 기기(200')는 사용자 단말 장치(100')로부터 스트리밍되는 컨텐츠를 실시간으로 재생하기 위해, 기설정된 시간 분량만큼의 컨텐츠를 저장하는 초기 버퍼링 동작을 수행한다.
이하에서는, 도 9를 참조하여 외부 기기(200')에서 초기 버퍼링이 완료된 후, 각 장치의 동작을 설명하도록 한다.
도 9와 같이, 외부 기기(200')는 기설정된 시간 분량만큼의 컨텐츠가 저장되어 초기 버퍼링이 완료되면, 버퍼링된 컨텐츠에 대해 신호 처리를 수행하여 재생한다(S610). 그리고, 외부 기기(200')는 버퍼링 완료 메시지를 사용자 단말 장치(100')로 전송하며(S620), 사용자 단말 장치(100')는 수신된 버퍼링 완료 메시지를 서버(300)로 전송한다(S630).
한편, 서버(300)는 버퍼링 완료 메시지가 수신되면 컨텐츠를 제2 포맷으로 변환하여(S640), 사용자 단말 장치(100')로 전송한다(S650). 뿐만 아니라, 서버(300)는 외부 장치(200')에서 초기 버퍼링하고자 하는 컨텐츠 용량이 모두 사용자 단말 장치(100')로 스트리밍된 것으로 판단되면, 컨텐츠를 제2 포맷으로 변환하여 사용자 단말 장치(100')로 전송할 수도 있다.
이 경우, 서버(300)는 외부 기기(200')의 재생 처리 능력에 대응되도록 컨텐츠의 비트 레이트를 변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다.
구체적으로, 서버(300)는 외부 기기(200')에서 원 컨텐츠 자체를 재생할 수 있는 경우 원 컨텐츠를 사용자 단말 장치(100')로 스트리밍하고, 외부 기기(200')에서 원 컨텐츠를 재생할 수 없는 경우 원 컨텐츠보다 낮은 비트 레이트로 변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다.
또한, 서버(300)는 사용자 단말 장치(100')와 외부 기기(200') 사이에서 데이터를 전송하는데 소요되는 네트워크 요금을 고려하여, 컨텐츠의 비트 레이트를 변환할 수도 있다. 즉, 서버(300)는 원 컨텐츠가 사용자 단말 장치(100')에서 외부 기기(200')로 스트리밍되면 기 설정된 요금을 초과하는 경우, 원 컨텐츠보다 낮은 비트 레이트로 변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다.
한편, 서버(300)는 다양한 방식을 통해 외부 기기(200')의 재생 처리 능력에 대한 정보를 획득할 수 있다.
비록, 도 9에 도시하지 않았지만, 서버(300)가 재생 처리 능력에 대한 정보의 전송을 사용자 단말 장치(100')로 요청하면, 사용자 단말 장치(100')는 이를 외부 기기(200')로 전달할 수 있다. 이에 따라, 사용자 단말 장치(100')는 외부 기기(200')로부터 재생 처리 능력에 대한 정보를 수신하여, 서버(300)로 전달할 수 있다. 이 경우, 사용자 단말 장치(100')는 초기 디스플레이 정보의 전송 요청 시, 재생 처리 능력에 대한 정보의 전송도 함께 요청하여 외부 기기(200')로부터 재생 처리 능력에 대한 정보를 수신하고, 이를 서버(300)로 전송할 수도 있다.
다른 예로, 서버(300)는 외부 기기별로 재생 처리 능력에 대한 정보를 기저장하고 있을 수 있다.
한편, 사용자 단말 장치(100')는 수신받은 제2 포맷의 컨텐츠를 외부 기기(200')로 전송한다(S660).
외부 기기(200')는 사용자 단말 장치(100')로부터 수신되는 컨텐츠를 재생한다(S670). 구체적으로, 외부 기기(200')는 초기 버퍼링된 컨텐츠를 재생하는 동안 스트리밍되는 컨텐츠를 버퍼링하고, 초기 버퍼링된 컨텐츠의 재생이 완료되면 이후 버퍼링된 컨텐츠에 대한 신호처리를 수행하여 재생한다. 이에 따라, 외부 기기(200')는 컨텐츠를 실시간으로 재생할 수 있다.
도 10은 도 7에 도시된 서버의 구성을 설명하기 위한 블록도이다. 도 10에 도시된 바와 같이, 서버(300)는 통신부(310), 저장부(320) 및 제어부(330)를 포함한다. 한편, 도 10에 도시된 서버(300)는 컨텐츠 변환에 있어 도 4에 도시된 사용자 단말 장치(100)와 동일한 기능을 수행한다는 점에서, 중복되는 부분의 구체적인 설명은 생략하도록 한다.
통신부(310)는 사용자 단말 장치(도 7, 100')와 통신을 수행한다. 예를 들어, 통신부(310)는 네트워크에 연결되어 사용자 단말 장치(100')와 통신을 수행할 수 있다.
그리고, 통신부(310)는 외부 기기(200')와 관련된 다양한 정보를 사용자 단말 장치(100')로부터 수신할 수 있다. 구체적으로, 통신부(310)는 외부 기기(200')의 초기 디스플레이 정보, 재생 처리 능력에 대한 정보를 수신할 수 있다.
저장부(320)는 서버(300)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부(320)는 제어부(330)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(330)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.
특히, 저장부(320)는 다양한 종류의 컨텐츠를 저장할 수 있다. 구체적으로, 저장부(320)는 방송 컨텐츠, 인터넷 컨텐츠, VoD(Video On Demand) 컨텐츠 등과 같은 다양한 동영상 컨텐츠를 저장할 수 있다.
제어부(330)는 서버(300)의 전반적인 동작을 제어한다. 구체적으로, 서버(330)는 사용자 단말 장치(100')로부터 컨텐츠 재생 명령이 수신되면, 저장부(320)에 저장된 컨텐츠를 사용자 단말 장치(100')로 스트리밍하도록 통신부(310)를 제어할 수 있다. 사용자 단말 장치(100')는 전송받은 컨텐츠를 실시간으로 재생할 수 있다.
한편, 제어부(330)는 사용자 단말 장치(100')로부터 외부 기기(도 7, 200')에서 컨텐츠를 초기에 디스플레이하기 위한 정보가 수신되면, 컨텐츠의 일 부분을 제1 포맷으로 변환하여 통신부(130)를 통해 사용자 단말 장치(100')로 전송할 수 있다. 여기에서, 초기 디스플레이 정보는 외부 기기(200')에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기(200')에서 허용한 초기 버퍼링에 소요되는 시간을 포함할 수 있다.
즉, 제어부(330)는 외부 기기(200')에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기(200')에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 컨텐츠의 일 부분을 제1 포맷으로 변환한다. 여기에서, 컨텐츠의 일 부분은 외부 기기(200')에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함할 수 있다.
구체적으로, 제어부(330)는 외부 기기(200')에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기(200')에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여 제1 포맷에 대응되는 비트 레이트를 산출하고, 산출된 비트 레이트를 갖도록 컨텐츠의 일 부분을 변환할 수 있다.
보다 구체적으로, 제어부(330)는 아래의 수학식 2를 이용하여 제1 포맷에 대응되는 비트 레이트를 산출할 수 있다.
여기에서, 버퍼링 허용 시간은 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 사용자 단말 장치와 외부 기기 사이의 최대 전송 속도이다.
즉, 제어부(330)는 사용자 단말 장치(100')와 외부 기기(200')를 연결하는 네트워크의 대역폭을 통해, 외부 기기(200')의 버퍼링 수행 능력을 만족시킬 수 있는 컨텐츠의 최대 비트 레이트를 산출한다. 구체적으로, 제어부(330)는 사용자 단말 장치(100')와 외부 기기(200') 간의 네트워크 대역폭을 통해, 외부 기기(200')에서 허용된 버퍼링 소요 시간 동안 외부 기기(200')에서 버퍼링하고자 하는 기설정된 시간 분량만큼의 컨텐츠를 전송할 수 있는 컨텐츠의 비트 레이트를 산출할 수 있다.
한편, 제어부(330)는 컨텐츠의 해상도, 압축율 및 프레임 레이트 중 적어도 하나를 변경하여 컨텐츠의 일 부분을 제1 포맷으로 변환할 수 있다.
즉, 제어부(330)는 산출된 비트 레이트와 컨텐츠의 원 비트 레이트를 비교하여, 컨텐츠를 변환하여 사용자 단말 장치(100')로 전송할지 여부를 판단한다. 구체적으로, 제어부(140)는 산출된 비트 레이트가 컨텐츠의 원 비트 레이트보다 큰 경우, 비트 레이트를 변환함이 없이 원 컨텐츠 자체를 사용자 단말 장치(100')로 스트리밍하도록 통신부(110)를 제어한다.
하지만, 제어부(330)는 산출된 비트 레이트가 컨텐츠의 원 비트 레이트보다 작은 경우, 산출된 비트 레이트를 갖도록 컨텐츠를 인코딩하여 사용자 단말 장치(100')로 스트리밍하도록 통신부(310)를 제어한다. 이때, 제어부(330)는 컨텐츠의 해상도, 압축율 및 프레임 레이트 중 적어도 하나를 변경하여 산출된 비트 레이트를 갖도록 컨텐츠의 비트 레이트를 감소시키고, 비트 레이트가 감소된 컨텐츠를 사용자 단말 장치(100')로전송하도록 통신부(310)를 제어한다.
구체적으로, 제어부(330)는 산출된 비트 레이트에 대응되는 해상도를 갖도록 컨텐츠를 다운 스케일링하여, 원 컨텐츠보다 비트 레이트가 감소된 저화질의 컨텐츠를 생성할 수 있다.
이 경우, 제어부(330)는 외부 기기(200')에서 처리가능한 컨텐츠의 해상도를 고려하여, 저화질의 컨텐츠를 생성할 수도 있다.
구체적으로, 제어부(140)는 외부 기기(200')에서 처리가능한 컨텐츠의 해상도보다 산출된 비트 레이트에 대응되는 해상도가 낮은 경우, 산출된 비트 레이트에 대응되는 해상도로 컨텐츠를 다운 스케일링한다.
다만, 제어부(330)는 산출된 비트 레이트에 대응되는 해상도보다 외부 기기(200')에서 처리가능한 컨텐츠의 해상도가 낮은 경우, 외부 기기(200')에서 처리가능한 컨텐츠의 해상도로 컨텐츠를 다운 스케일링한다. 이를 통해, 외부 기기(200')는 초기 버퍼링 동작을 만족하면서, 사용자 단말 장치(100')를 통해 서버(300)로부터 스트리밍된 컨텐츠를 별도의 스케일링 없이 바로 재생할 수 있게 된다.
또한, 제어부(330)는 산출된 비트 레이트에 대응되는 압축율을 갖도록 압축율을 높여 컨텐츠를 재인코딩함으로써, 원 컨텐츠보다 비트 레이트가 감소된 저화질의 컨텐츠를 생성할 수 있다. 뿐만 아니라, 제어부(330)는 산출된 비트 레이트에 대응되는 프레임 레이트를 갖도록 프레임 레이트를 낮춰 컨텐츠를 재인코딩함으로써, 원 컨텐츠보다 비트 레이트가 감소된 저화질의 컨텐츠를 생성할 수 있다.
한편, 제어부(330)는 사용자 단말 장치(100')로 컨텐츠를 전송할 때, 컨텐츠에 대한 부가 정보를 함께 전송하도록 통신부(310)를 제어할 수 있다. 여기에서, 컨텐츠에 대한 부가 정보는, 타이틀, 출연진, 줄거리 등을 포함할 수 있다.
한편, 제어부(330)는 사용자 단말 장치(100')로 제1 포맷으로 변환된 부분의 전송 이후에, 컨텐츠를 제1 포맷과는 다른 제2 포맷으로 변환하여 통신부(310)를 통해 사용자 단말 장치(100')로 전송하도록 제어한다. 즉, 제어부(330)는 외부 기기(200')에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량만큼의 컨텐츠가 사용자 단말 장치(100')로 모두 전송되면, 컨텐츠의 비트 레이트를 재변환하여 사용자 단말 장치(100')로 전송하도록 제어할 수 있다. 이에 따라, 사용자 단말 장치(100')는 서버(300)로부터 수신된 비트 레이트가 재변환된 컨텐츠를 외부 기기(200')로 전송할 수 있다.
이를 위해, 제어부(330)는 외부 기기(200')에서 초기 버퍼링에 필요한 컨텐츠 용량이 모두 전송되면 외부 기기(200')에서 버퍼링이 완료된 것으로 판단할 수 있다. 즉, 제어부(140)는 외부 기기(200')에서 버퍼링하고자 하는 시간 분량만큼의 컨텐츠가 사용자 단말 장치(100')로 모두 스트리밍되면, 외부 기기(200')에서 초기 버퍼링이 완료된 것으로 판단할 수 있다. 다른 한편, 제어부(330)는 사용자 단말 장치(100')로부터 외부 기기(200')의 버퍼링 완료 메시지가 수신되면, 외부 기기(200')에서 버퍼링이 완료된 것으로 판단할 수도 있다.
여기에서, 제2 포맷으로 변환된 컨텐츠는, 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 가질 수 있다. 즉, 외부 기기(200')에서 초기 버퍼링동작이 완료되면, 제어부(330)는 초기 버퍼링을 위해 전송되었던 컨텐츠의 비트 레이트보다 높은 비트 레이트로 컨텐츠를 변환하여 사용자 단말 장치(100')로 스트리밍한다. 그리고, 사용자 단말 장치(100')는 제2 포맷으로 변환된 컨텐츠를 서버(300)로부터 수신하여, 외부 기기(200')로 전달할 수 있다.
한편, 외부 기기(200')는 초기 버퍼링된 컨텐츠를 재생하는 시간 동안 이후 수신되는 컨텐츠를 버퍼링하고, 초기 버퍼링된 컨텐츠의 재생이 완료되면 이후에 버퍼링된 컨텐츠를 신호처리하여 재생할 수 있다. 이에 따라, 서버(300)가 초기 버퍼링이 완료된 이후 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 사용자 단말 장치(100')를 통해 외부 기기(200')로 스트리밍하여도, 외부 기기(200')는 컨텐츠를 실시간으로 재생할 수 있게 된다.
구체적으로, 제어부(330)는 외부 기기(200')에서 초기 버퍼링에 필요한 컨텐츠가 전송된 것으로 판단되면, 제1 포맷의 컨텐츠의 전송을 중단하고 컨텐츠를 제2 포맷으로 변환하여 사용자 단말 장치(100')를 통해 외부 기기(200')로 전송할 수 있다.
이 경우, 제어부(330)는 원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 사용자 단말 장치(100')로 전송하거나, 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 사용자 단말 장치(100')로 전송하도록 통신부(310)를 제어할 수 있다.
여기에서, 제어부(330)가 컨텐츠의 원 비트 레이트보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하는 것은 외부 기기(200')의 재생 처리 능력을 고려하기 때문이다.
재생 처리 능력은 외부 기기(200')에서 컨텐츠를 신호처리하여 재생할 수 있는 능력을 의미한다. 구체적으로, 재생 처리 능력은 외부 기기(200')에서 처리가능한 해상도, 외부 기기(200')에 설치된 디코더 성능 및 코덱 종류 중 적어도 하나를 포함할 수 있다. 뿐만 아니라, 재생 처리 능력에는 사용자 단말 장치(100')에서 외부 기기(200')로 데이터를 전송하는데 소요되는 네트워크 요금이 포함될 수도 있다.
이러한, 재생 처리 능력은 서버(300)에 기저장되어 있거나, 사용자 단말 장치(100')로부터 수신될 수 있다. 예를 들어, 서버(300)는 외부 기기별로 재생 처리 능력을 매칭시켜 기저장하고 있을 수 있다. 다른 한편, 서버(300)는 외부 기기(200')의 재생 처리 능력을 사용자 단말 장치(100')로부터 수신할 수 있다. 구체적으로, 제어부(330)는 통신부(310)를 통해 사용자 단말 장치(100')로 재생 처리 능력의 전송을 요청하여 사용자 단말 장치(100')로부터 외부 기기(200')에 대한 재생 처리 능력을 수신할 수 있다. 이때, 제어부(330)는 초기 디스플레이 정보의 전송을 사용자 단말 장치(100')로 요청할 때, 재생 처리 능력의 전송을 함께 요청할 수도 있다.
구체적으로, 제어부(330)는 외부 기기(200')에서 처리가능한 해상도, 디코더 성능 및 코덱의 종류에 따라, 외부 기기(200')가 원 컨텐츠를 신호처리하여 재생할 수 있는지 여부를 판단한다.
이 경우, 외부 기기(200')가 원 컨텐츠에 대해 신호처리를 수행하여 재생가능하다고 판단되면, 제어부(330)는 원 컨텐츠를 사용자 단말 장치(100')로 스트리밍할 수 있다.
하지만, 외부 기기(200')가 원 컨텐츠에 대해 신호처리를 수행할 수 없는 경우, 제어부(330)는 원 컨텐츠보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다. 예를 들어, 제어부(330)는 외부 기기(200')에서 처리가능한 해상도, 외부 기기에 구비된 디코더 성능 또는 코덱의 종류에 따라, 외부 기기(200')에서 신호처리 가능한 비트 레이트를 갖도록 컨텐츠를 재인코딩하여, 원 컨텐츠보다 낮은 비트 레이트로 컨텐츠를 변환하고, 변환된 컨텐츠를 사용자 단말 장치(100')로 스트리밍할 수 있다.
또한, 사용자 단말 장치(100')가 원 컨텐츠의 비트 레이트로 컨텐츠를 외부 기기(200')로 전송하면 기 설정된 요금이 초과되는 경우, 제어부(330)는 원 컨텐츠보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다.
다만, 상술한 실시 예에서, 재생 처리 능력을 고려하여 변환된 컨텐츠의 비트 레이트는 최초 버퍼링을 위해 스트리밍되었던 컨텐츠의 비트 레이트보다 높을 수 있다.
한편, 제어부(330)는 컨텐츠의 일 부분을 제외한 나머지 부분을 제2 포맷으로 변환하거나, 컨텐츠의 일 부분을 포함한 전체 부분을 제2 포맷으로 변환할 수 있다. 즉, 외부 기기(200')에서 초기 버퍼링 동작이 완료되면, 제어부(330)는 초기 버퍼링을 위해 전송되었던 시간 분량 이후 부분을 제2 포맷으로 변환하여 사용자 단말 장치(100')로 스트리밍하거나, 컨텐츠의 처음 부분부터 다시 제2 포맷으로 변환하여 사용자 단말 장치(100')로 스트리밍할 수 있다
한편, 상술한 실시 예에서는 외부 기기(200')에서 초기 버퍼링이 완료되면, 비트 레이트를 재변환하여 초기 버퍼링 동안 전송되었던 컨텐츠보다 고화질의 컨텐츠를 사용자 단말 장치(100')로 전송하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 서버(300)에서 고화질의 컨텐츠를 전송하는 시점은 다양하게 변경될 수 있다.
예를 들어, 제어부(330)는 외부 기기(200')에서 초기 버퍼링이 완료되기 전이라도, 사용자 단말 장치(100')의 요청이 있으면 낮은 비트 레이트로 변환된 컨텐츠의 스트리밍을 중단하고 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 사용자 단말 장치(100')로 스트리밍할 수 있다.
다른 한편, 제어부(330)는 외부 기기(200')의 초기 디스플레이 정보가 변경되거나 네트워크 상황이 변경된 경우에도, 낮은 비트 레이트로 변환된 컨텐츠의 스트리밍을 중단할 수 있다. 구체적으로, 제어부(330)는 외부 기기(200')의 초기 버퍼링을 위해 낮은 비트 레이트로 변환된 컨텐츠를 스트리밍하는 중에, 외부 기기(200')에서 버퍼링하고자 하는 시간 분량이 줄어들거나 사용자 단말 장치(100')와 외부 기기(200') 사이의 네트워크 대역폭이 확장된 경우, 낮은 비트 레이트로 변환된 컨텐츠의 스트리밍을 중단하고 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 사용자 단말 장치(100')로 스트리밍할 수 있다. 이에 따라, 사용자 단말 장치(100')는 서버(300)로부터 수신된 컨텐츠를 외부 기기(200')로 전달할 수 있다.
이상과 같이, 본 발명의 일 실시 예에 따르면, 서버(300)는 외부 기기(200')에서 초기 버퍼링이 완료될 때까지 낮은 비트 레이트로 변환된 컨텐츠를 사용자 단말 장치(100')를 통해 외부 기기(200') 스트리밍 한다. 이에 따라, 외부 기기(200)에서 컨텐츠 재생 시 발생되는 초기 버퍼링에 의해 소요되는 시간을 단축시킬 수 있다.
도 11은 도 7에 도시된 사용자 단말 장치의 구성을 설명하기 위한 블록도이다. 도 11에 따르면, 사용자 단말 장치(100')는 입력부(110'), 제1 통신부(120'), 제2 통신부(130'), 제어부(140')를 포함한다. 도 11에 도시된 사용자 단말 장치(100')는 컨텐츠의 비트 레이트를 변환함이 없이 서버로부터 전송되는 컨텐츠를 외부 기기로 전송하는 역할을 수행한다. 따라서, 도 11에 도시된 사용자 단말 장치(100')는 서버와 통신을 수행하기 위한 별도의 구성요소를 더 포함한다는 점에서만 도 4에 도시된 사용자 단말 장치(100)와 차이가 있다.
입력부(110')는 다양한 사용자 조작을 입력받아 제어부(140')로 전달하기 위한 입력 수단으로써, 입력 패널로 구현될 수 있다. 여기에서, 입력 패널은 터치패드(Touch Pad) 혹은 각종 기능키, 숫자키, 특수키, 문자키 등을 구비한 키패드(Key Pad) 또는 터치 스크린(Touch Screen) 방식으로 이루어질 수 있다.
구체적으로, 입력부(110')는 외부 기기(200')로 컨텐츠를 전송하기 위한 사용자 명령을 입력받는다. 여기에서, 컨텐츠는 서버에서 사용자 단말 장치(100')로 제공되는 동영상 컨텐츠일 수 있다. 뿐만 아니라, 입력부(110')는 사용자 단말 장치(100')와 통신을 수행하기 위한 외부 기기를 선택하기 위한 사용자 명령을 입력받을 수 있다.
제1 통신부(120')는 서버와 통신을 수행하며, 제2 통신부(130')는 외부 기기와 통신을 수행한다. 이를 위해, 제1 통신부(120') 및 제2 통신부(130')는 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. 여기에서, 근거리 무선 통신 모듈이란 블루투스, 지그비 방식 등과 같은 근거리 무선 통신 방식에 따라, 근거리에 위치한 외부 기기와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신 망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
제어부(140')는 사용자 단말 장치(100')의 전반적인 동작을 제어한다. 구체적으로, 제어부(140')는 컨텐츠 전송 명령이 입력되면 무선 통신 가능한 주변 외부 기기를 검색하고, 사용자에 의해 선택된 외부 기기와 통신을 수행하도록 제2 통신부(130')를 제어할 수 있다.
또한, 제어부(140')는 외부 기기(200')에서 컨텐츠를 초기에 디스플레이하기 위한 정보 및 외부 기기(200')와 연결된 네트워크 상황에 대한 정보를 서버(300)로 전송하도록 제1 통신부(120')를 제어할 수 있다. 뿐만 아니라, 제어부(140')는 외부 기기(200')의 컨텐츠 재생 처리 능력에 대한 정보를 서버(300)로 전송하도록 제1 통신부(120')를 제어할 수 있다.
여기에서, 초기 디스플레이 정보 및 컨텐츠 재생 처리 능력에 대한 정보는 사용자 단말 장치(100')에 기저장되어 있거나, 외부 기기(200')로부터 수신될 수 있다. 구체적으로, 외부 기기별로 매칭되어 저장되어 있거나, 초기 디스플레이 정보 및 컨텐츠 재생 처리 능력에 대한 정보의 전송을 외부 기기(200')로 요청하여 외부 기기(200')로부터 수신할 수 있다.
한편, 제어부(140')는 외부 기기(200')에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 제1 포맷으로 변환된 컨텐츠의 일 부분을 서버(300)로부터 수신하여 외부 기기(200')로 전송하고, 외부 기기(200')에서 초기 버퍼링 동작이 완료되면 제2 포맷으로 변환된 컨텐츠를 서버(300)로부터 수신하여 외부 기기(200')로 전송할 수 있다. 즉, 제어부(140')는 서버(300)로부터 전송되는 컨텐츠를 수신하여 외부 기기(200')로 스트리밍하도록 제어할 수 있다.
여기에서, 제2 포맷으로 변환된 컨텐츠는 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 갖을 수 있다.
구체적으로, 외부 기기(200')에서 초기 버퍼링이 완료되기 전이면, 제어부(140')는 외부 기기(200')의 초기 디스플레이 정보에 대응되는 비트 레이트로 변환된 컨텐츠를 서버(300)로부터 수신하여 외부 기기(200')로 스트리밍한다. 그리고, 외부 기기(200')에서 초기 버퍼링이 완료된 후이면, 제어부(140')는 외부 기기(200')의 재생 처리 능력에 대응되는 비트 레이트로 변환된 컨텐츠를 서버(300)로부터 수신하여 외부 기기(200')로 스트리밍하도록 제어할 수 있다.
한편, 사용자 단말 장치(100')는 도 11에 도시된 구성요소 외에도 신호 처리부(미도시), 출력부(미도시) 및 저장부(미도시) 중 적어도 하나를 더 포함할 수 있다. 하지만, 반드시 이들 구성요소를 포함하여야 하는 것은 아니며 사용자 단말 장치(100')의 제품 종류에 따라 이들 구성요소가 추가될 수 있다.
신호 처리부는 컨텐츠가 출력부를 통해 출력될 수 있도록 컨텐츠에 대한 신호처리를 수행한다. 구체적으로, 신호 처리부는 컨텐츠에 포함된 비디오 신호에 대해 디코딩, 스케일링, 프레임 레이트 변환 및 인코딩 등의 동작을 수행하여, 출력부에서 출력 가능한 형태로 비디오 신호를 변환할 수 있다. 또한, 신호 처리부는 컨텐츠에 포함된 오디오 신호에 대해 디코딩 등의 신호 처리를 수행하여 출력부에서 출력 가능한 형태로 오디오 신호를 변환할 수 있다.
출력부는 컨텐츠를 출력하는 기능을 수행한다. 이를 위해, 출력부는 디스플레이부(미도시) 및 스피커(미도시)를 구비할 수 있다.
구체적으로, 디스플레이부는 비디오 신호를 영상으로 표시되도록 할 수 있다. 이를 위해, 디스플레이부는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등의 형태로 구현될 수 있다.
또한, 디스플레이부는 사용자 단말 장치(100')를 통해 제공 가능한 다양한 디스플레이 화면을 제공할 수 있다. 특히, 디스플레이부는 사용자 단말 장치(100')와 무선 통신 가능한 외부 기기에 대한 리스트, 사용자 단말 장치(100')에 기저장된 컨텐츠에 대한 리스트 및 컨텐츠 전송 명령을 입력받기 위한 오브젝트(가령, 아이콘) 등을 포함하는 각종 UI 화면을 디스플레이할 수 있다.
여기에서, 디스플레이 유닛이 터치패드와 함께 상호 레이어 구조를 이루는 터치 스크린 형태로 구현될 수 있으며, 터치 스크린은 터치 입력 위치, 면적, 터치 입력의 압력까지도 검출하도록 구성될 수 있다.
한편, 스피커(미도시)는 오디오 신호가 처리되어 오디오로 출력되도록 할 수 있다. 구체적으로, 스피커(미도시)는 신호 처리부로부터 전달받은 오디오 신호를 증폭하여 사용자에게 제공할 수 있다.
비록, 상술한 실시 예에서는 스피커(미도시)를 통해 오디오가 출력되는 것으로 설명하였으나, 잭 등과 같은 출력 포트 등을 구비할 수 있음은 물론이다. 한편, 디스플레이부(미도시) 및 스피커(미도시)는 제어부(140')의 제어에 따라 컨텐츠를 구성하는 오디오 신호 및 비디오 신호를 동기화시켜 출력할 수 있다.
한편, 제어부(140')는 서버(300)로부터 스트리밍되는 컨텐츠에 대한 신호 처리를 수행하여 재생할 수 있다. 그리고, 컨텐츠가 재생되는 도중 컨텐츠 전송 명령이 입력되면, 제어부(140')는 컨텐츠의 재생을 중단하고, 이후 재생될 부분을 서버로(300)부터 수신하여 외부 기기(200')로 스트리밍하도록 제어할 수 있다. 즉, 제어부(140')는 사용자 단말 장치(100')에서 재생되던 컨텐츠를 외부 기기(200')에서 심리스하게 재생하도록 제어할 수 있다. 다만, 제어부(140')는 재생 중인 컨텐츠의 중단 없이 이후 재생될 부분의 컨텐츠를 외부 기기로 스트리밍하도록 제어할 수 있다.
이 경우에도, 제어부(140')는 외부 기기(200')의 초기 디스플레이 정보 및 재생 처리 능력에 기초하여, 변환된 비트 레이트를 갖는 컨텐츠를 서버(300)로부터 수신하여 외부 기기(200')로 전달할 수 있다. 이에 대해서는 상술한바 있다는 점에서, 구체적인 중복 설명은 생략하도록 한다.
저장부는 사용자 단말 장치(100')를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 메모리, HDD(Hard Disk Drive) 등으로 구현가능하다. 예를 들어, 저장부는 제어부(140')의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 제어부(140')의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM 등을 구비할 수 있다. 또한 각종 참조 데이터를 저장하기 위한 EEROM(Electrically Erasable and Programmable ROM) 등을 더 구비할 수 있다.
특히, 저장부는 외부 기기(200')의 초기 디스플레이 정보, 재생 처리 능력에 대한 정보를 저장할 수 있다. 구체적으로, 저장부는 외부 기기에 대한 기기 명칭을 저장하고, 각 기기 명칭별로 초기 디스플레이 정보, 재생 처리 능력에 대한 정보를 저장할 수 있다. 그리고, 저장부는 새로운 외부 기기로부터 초기 디스플레이 정보, 재생 처리 능력에 대한 정보가 수신되면, 이를 추가로 저장할 수도 있다.
이에 따라, 제어부(140')는 디스플레이부에 표시된 리스트 상에서 무선 통신을 수행하기 위한 외부 기기가 선택되면, 선택된 외부 기기에 매칭되는 초기 디스플레이 정보 및 재생 처리 능력을 저장부로부터 독출하고, 독출된 정보를 서버(300)로 전송하도록 제어할 수 있다.
한편, 도 7에 도시된 외부 기기(200')의 경우, 도 1에 도시된 외부 기기(200)와 동일한 동작을 수행한다는 점에서, 외부 기기(200')는 도 6과 동일한 구성요소를 포함할 수 있다.
도 12 및 도 13은 본 발명의 일 실시 예에 따라 컨텐츠를 전송하는 방법을 설명하기 위한 도면들이다.
먼저, 도 12와 같이, 사용자 단말 장치(100)의 화면 상에 표시된 컨텐츠 공유 명령을 입력받기 위한 아이콘이 선택되면, 사용자 단말 장치(100)에 저장된 컨텐츠에 대한 리스트(710)가 디스플레이된다. 여기에서, 컨텐츠에 대한 리스트(710)는 사용자 단말 장치(100)에 저장된 컨텐츠에 대한 명칭, 재생 시간 등을 포함할 수 있다.
이후, 리스트(710) 상에서 하나의 컨텐츠가 선택되면, 사용자 단말 장치(100)는 무선 통신을 수행할 수 있는 주변 외부 기기를 검색하고, 검색된 외부 기기에 대한 리스트(720)를 화면 상에 디스플레이한다. 예를 들어, 도 12와 같이, 검색된 주변 외부 기기의 명칭과 아이콘이 디스플레이될 수 있다.
이어서, 리스트(720) 상에서 하나의 외부 기기가 선택되면, 사용자 단말 장치(100)는 선택된 외부 기기와 통신 연결을 수행하고 선택된 컨텐츠를 외부 기기로 스트리밍한다. 이 경우, 사용자 단말 장치(700)는 컨텐츠를 스트리밍하고 있음을 나타내는 GUI(730)를 화면 상에 디스플레이할 수 있다.
한편, 상술한 실시 예에서는, 전송하고자 하는 컨텐츠를 먼저 선택하는 것으로 설명하였으나 이는 일 예에 불과하다. 즉, 사용자 명령에 따라, 무선 통신을 수행하기 위한 리스트를 먼저 디스플레이하고, 특정 외부 기기와 통신 연결이 수행되면 전송하고자 하는 컨텐츠를 선택받을 수 있음은 물론이다.
사용자 단말 장치(100)는 외부 기기(200)에서 초기 버퍼렁이 완료되었는지 여부에 따라, 컨텐츠의 비트 레이트로 변환하여 외부 기기(200)로 전송할 수 있다. 구체적으로, 외부 기기(200)에서 초기 버퍼링이 완료될 때까지, 사용자 단말 장치(100)는 초기 디스플레이 정보에 대응되는 비트 레이트로 컨텐츠를 변환하고, 비트 레이트가 변환된 컨텐츠를 외부 기기(200)로 전송할 수 있다. 그리고, 외부 기기(200)에서 초기 버퍼링이 완료된 후, 사용자 단말 장치(100)는 재생 처리 능력에 대응되는 비트 레이트로 컨텐츠를 재변환하여, 비트 레이트가 재변환된 컨텐츠를 외부 기기(200)로 전송할 수 있다.
이에 따라, 도 13에 도시된 바와 같이, 외부 기기(200)에서는 초기 버퍼링이 완료되기 전까지는 저화질의 컨텐츠(810)가 재생되고, 초기 버퍼링이 완료된 후에는 고화질의 컨텐츠(820)가 재생되게 된다.
도 14는 본 발명의 일 실시 예에 따른 외부 기기가 컨텐츠를 재생하는 방법의 일 예를 설명하기 위한 도면이다.
외부 기기(200)는 초기 버퍼링 동작 수행 시, 상대적으로 낮은 비트 레이트로 변환된 저화질의 컨텐츠를 사용자 단말 장치(100)로부터 수신할 수 있다. 사용자 단말 장치(100)가 컨텐츠의 해상도를 낮춰 저화질의 컨텐츠를 생성한 경우, 외부 기기(200)는 디스플레이부에 마련된 스크린의 일 영역에 컨텐츠를 재생하고, 다른 영역에 컨텐츠에 대한 부가 정보를 디스플레이할 수 있다. 여기에서, 컨텐츠에 대한 부가 정보는 타이틀, 출연진, 줄거리 등을 포함할 수 있다. 즉, 외부 기기(200)의 디스플레이부에서 재생가능한 해상도보다 컨텐츠의 해상도가 낮은 경우, 외부 기기(200)는 컨텐츠를 재생하고 남은 스크린 영역에 컨텐츠에 대한 부가 정보를 디스플레이할 수 있다.
한편, 초기 버퍼링 동작이 완료된 후, 사용자 단말 장치(100)는 컨텐츠의 해상도를 높여 초기 버퍼링 동작 수행 시보다 상대적으로 높은 비트 레이트로 변환된 컨텐츠를 외부 기기(200)로 전송할 수 있다. 이 경우, 외부 기기(200)는 수신된 컨텐츠를 디스플레이부에 마련된 스크린 상에 풀 뷰 형태로 재생할 수 있다.
예를 들어, 도 14와 같이, 외부 기기(200)는 초기 버퍼링 동작 수행 시 스크린의 일 영역에는 컨텐츠(910)를 재생하고, 다른 영역에는 컨텐츠의 타이틀, 출연진, 줄거리 등을 디스플레이할 수 있다. 그리고, 초기 버퍼링 동작이 완료된 후, 외부 기기(200)는 스크린 상에 컨텐츠(920)를 풀 뷰 형태로 재생할 수 있다.
도 15는 본 발명의 일 실시 예에 따른 사용자 단말 장치의 컨텐츠 전송 방법을 설명하기 위한 흐름도이다.
외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 컨텐츠의 일 부분을 제1 포맷으로 변환하여 외부 기기로 전송한다(S1010).
이를 위해, 외부 기기로 컨텐츠를 전송하기 위한 사용자 명령이 입력되면, 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보를 획득할 수 있다. 여기에서, 초기 디스플레이 정보는 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간을 포함할 수 있으며, 사용자 단말 장치에 기저장되어 있거나, 외부 기기로부터 수신될 수 있다.
한편, 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 컨텐츠의 일 부분을 제1 포맷으로 변환할 수 있다. 여기에서, 컨텐츠의 일 부분은 외부 기기에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함할 수 있다.
구체적으로, 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 제1 포맷에 대응되는 비트 레이트를 산출하고, 산출된 비트 레이트를 갖도록 컨텐츠의 일 부분을 변환할 수 있다.
보다 구체적으로, 아래의 수학식을 이용하여 제1 포맷에 대응되는 비트 레이트를 산출할 수 있다.
비트 레이트 = (버퍼링 허용 시간 × 네트워크 대역폭) / 버퍼링 요청 시간
여기에서, 버퍼링 허용 시간은 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 사용자 단말 장치와 외부 기기 사이의 최대 전송 속도이다.
한편, 산출된 비트 레이트가 컨텐츠의 원 비트 레이트보다 낮은 경우, 다양한 방식을 통해 비트 레이트를 변환하여 전송할 수 있다. 구체적으로, 컨텐츠의 해상도, 압축율 및 프레임 레이트 중 적어도 하나를 변경하여 컨텐츠의 일 부분을 제1 포맷으로 변환할 수 있다. 그리고, 산출된 비트 레이트를 갖도록 컨텐츠의 비트 레이트를 감소시키고, 비트 레이트가 감소된 컨텐츠를 외부 기기로 전송할 수 있다.
이후, 외부 기기로 제1 포맷으로 변환된 부분의 전송 이후에, 컨텐츠를 제1 포맷과는 다른 제2 포맷으로 변환하여 외부 기기로 전송한다(S1020).
즉, 외부 기기에서 버퍼링에 필요한 만큼의 컨텐츠가 전송된 것으로 판단되면, 제1 포맷의 컨텐츠의 전송을 중단하고 제2 포맷으로 변환된 컨텐츠를 외부 기기로 전송할 수 있다.
즉, 컨텐츠를 제2 포맷으로 변환하며, 이 경우, 컨텐츠의 일 부분을 제외한 나머지 부분을 제2 포맷으로 변환하거나, 컨텐츠의 일 부분이 포함된 전체 부분을 제2 포맷으로 변환할 수 있다.
여기에서, 제2 포맷으로 변환된 컨텐츠는 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 가질 수 있다.
다만, 외부 기기의 재생 처리 능력을 고려할 수 있다. 즉, 초기 버퍼링을 위해 스트리밍되었던 컨텐츠의 비트 레이트보다 높은 비트 레이트를 갖도록 컨텐츠를 변환하되, 외부 기기의 재생 처리 능력을 고려하여, 원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 외부 기기로 전송하거나 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 외부 기기로 전송할 수 있다. 이에 대해서는 상술한바 있다는 점에서 중복 설명은 생략하도록 한다.
도 16은 본 발명의 일 실시 예에 따른 서버 및 외부 기기와 연결되는 사용자 단말 장치의 컨텐츠 중계 방법을 설명하기 위한 흐름도이다.
제1 포맷으로 변환된 컨텐츠를 서버로부터 수신하여 외부 기기로 전송한다(S1110).
이 경우, 서버는 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 컨텐츠의 일 부분을 제1 포맷으로 변환하여 사용자 단말 장치로 전송할 수 있다.
이를 위해, 서버는 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보를 획득할 수 있다. 예를 들어, 서버는 초기 디스플레이 정보를 기저장하고 있거나, 사용자 단말 장치로부터 초기 디스플레이 정보를 수신할 수도 있다.
구체적으로, 서버는 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 제1 포맷에 대응되는 비트 레이트를 산출하고, 산출된 비트 레이트로 컨텐츠의 일 부분을 변환할 수 있다.
보다 구체적으로, 서버는 아래의 수학식을 이용하여 제1 포맷에 대응되는 비트 레이트를 산출할 수 있다.
비트 레이트 = (버퍼링 허용 시간 × 네트워크 대역폭) / 버퍼링 요청 시간
여기에서, 버퍼링 허용 시간은 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 사용자 단말 장치와 외부 기기 사이의 최대 전송 속도이다.
한편, 산출된 비트 레이트가 컨텐츠의 원 비트 레이트보다 낮은 경우, 서버는 다양한 방식을 통해 비트 레이트를 변환하여 사용자 단말 장치로 전송할 수 있다. 구체적으로, 컨텐츠의 해상도, 압축율 및 프레임 레이트 중 적어도 하나를 변경하여 산출된 비트 레이트를 갖도록 컨텐츠의 비트 레이트를 감소시키고, 비트 레이트가 감소된 컨텐츠를 사용자 단말 장치로 전송할 수 있다.
한편, 제1 포맷으로 변환된 부분의 전송 이후에, 제1 포맷과는 다른 제2 포맷으로 변환된 컨텐츠를 서버로부터 수신하여 외부 기기로 전송한다(S1120). 여기에서, 제2 포맷으로 변환된 컨텐츠는, 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 가질 수 있다.
구체적으로, 서버는 외부 기기에서 버퍼링이 완료되면, 제1 포맷의 컨텐츠의 전송을 중단하고 원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 사용자 단말 장치로 전송하거나 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 외부 기기로 전송할 수 있다. 여기에서, 서버가 원 컨텐츠보다 낮은 비트 레이트를 갖도록 컨텐츠를 변환하는 것은 외부 기기의 재생 처리 능력을 고려한 것이며, 이에 대해서는 상술한바 있다는 점에서 중복 설명은 생략하도록 한다.
한편, 서버는 컨텐츠의 일 부분을 제외한 나머지 부분을 제2 포맷으로 변환하거나 컨텐츠의 일 부분이 포함된 전체 부분을 제2 포맷으로 변환하여, 사용자 단말 장치로 전송할 수도 있다.
이상과 같은 실시 예에 대해서는, 첨부된 도면과 함께 상술한바 있다는 점에서 중복 설명은 생략하도록 한다.
또한, 본 발명에 따른 제어 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 디스플레이 장치에 대해 도시한 블록도에서는 버스(bus)를 미도시하였으나, 디스플레이 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 디스플레이 장치에는 상술한 다양한 단계를 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 사용자 단말 장치 110 : 입력부
120 : 통신부 130 : 저장부
140 : 제어부
120 : 통신부 130 : 저장부
140 : 제어부
Claims (18)
- 사용자 단말 장치의 컨텐츠 전송 방법에 있어서,
외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 상기 컨텐츠의 일 부분을 제1 포맷으로 변환하여 상기 외부 기기로 전송하는 제1 전송단계; 및,
상기 외부 기기로 상기 제1 포맷으로 변환된 부분의 전송 이후에, 상기 컨텐츠를 상기 제1 포맷과는 다른 제2 포맷으로 변환하여 상기 외부 기기로 전송하는 제2 전송단계;를 포함하는 컨텐츠 전송 방법. - 제1항에 있어서,
상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환하는 제1 변환단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 방법. - 제2항에 있어서,
상기 제1 변환단계는,
상기 컨텐츠의 해상도, 압축율, 프레임 레이트 중 적어도 하나를 변경하여 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환하는 것을 특징으로 하는 컨텐츠 전송 방법. - 제2항에 있어서,
상기 제1 변환단계는,
상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 제1 포맷에 대응되는 비트 레이트를 산출하는 단계; 및,
상기 산출된 비트 레이트를 갖도록 상기 컨텐츠의 일 부분을 변환하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 전송 방법. - 제4항에 있어서,
상기 산출하는 단계는,
아래의 수학식을 이용하여 상기 제1 포맷에 대응되는 비트 레이트를 산출하는 것을 특징으로 하는 컨텐츠 전송 방법:
비트 레이트 = (버퍼링 허용 시간 × 네트워크 대역폭) / 버퍼링 요청 시간
여기에서, 버퍼링 허용 시간은 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 상기 사용자 단말 장치와 상기 외부 기기 사이의 최대 전송 속도이다. - 제1항에 있어서,
상기 컨텐츠의 일 부분은,
상기 외부 기기에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함하는 것을 특징으로 하는 컨텐츠 전송 방법. - 제1항에 있어서,
상기 컨텐츠를 제2 포맷으로 변환하는 제2 변환단계;를 더 포함하며,
상기 제2 변환단계는,
상기 컨텐츠의 일 부분을 제외한 나머지 부분을 상기 제2 포맷으로 변환하거나, 상기 컨텐츠의 일 부분이 포함된 전체 부분을 상기 제2 포맷으로 변환하는 것을 특징으로 하는 컨텐츠 전송 방법. - 제7항에 있어서,
상기 제2 포맷으로 변환된 컨텐츠는,
상기 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 갖는 것을 특징으로 하는 컨텐츠 전송 방법. - 제7항에 있어서,
상기 제2 전송단계는,
원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하거나, 상기 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하는 것을 특징으로 하는 컨텐츠 전송 방법. - 사용자 단말 장치에 있어서,
컨텐츠를 저장하는 저장부;
외부 기기와 통신을 수행하는 통신부;
상기 외부 기기로 컨텐츠를 전송하기 위한 사용자 명령이 입력받기 위한 입력부; 및,
상기 사용자 명령이 입력되면, 상기 외부 기기에서 컨텐츠를 초기에 디스플레이하기 위한 정보에 기초하여 상기 컨텐츠의 일 부분을 제1 포맷으로 변환하여 상기 통신부를 통해 상기 외부 기기로 전송하고, 상기 외부 기기로 상기 제1 포맷으로 변환된 부분의 전송 이후에, 상기 컨텐츠를 상기 제1 포맷과는 다른 제2 포맷으로 변환하여 상기 통신부를 통해 상기 외부 기기로 전송하도록 제어하는 제어부;를 포함하는 사용자 단말 장치. - 제10항에 있어서,
상기 제어부는,
상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환하는 것을 특징으로 하는 사용자 단말 장치. - 제11항에 있어서,
상기 제어부는.
상기 컨텐츠의 해상도, 압축율, 프레임 레이트 중 적어도 하나를 변경하여 상기 컨텐츠의 일 부분을 상기 제1 포맷으로 변환하는 것을 특징으로 하는 사용자 단말 장치. - 제11항에 있어서,
상기 제어부는,
상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량 및 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간에 기초하여, 상기 제1 포맷에 대응되는 비트 레이트를 산출하고, 상기 산출된 비트 레이트를 갖도록 상기 컨텐츠의 일 부분을 변환하는 것을 특징으로 하는 사용자 단말 장치. - 제13항에 있어서,
상기 제어부는,
아래의 수학식을 이용하여 상기 제1 포맷에 대응되는 비트 레이트를 산출하는 것을 특징으로 하는 사용자 단말 장치:
비트 레이트 = (버퍼링 허용 시간 × 네트워크 대역폭) / 버퍼링 요청 시간
여기에서, 버퍼링 허용 시간은 상기 외부 기기에서 초기 버퍼링하고자 하는 컨텐츠의 기설정된 시간 분량이고, 버퍼링 요청 시간은 상기 외부 기기에서 허용한 초기 버퍼링에 소요되는 시간이고, 네트워크 대역폭은 상기 사용자 단말 장치와 상기 외부 기기 사이의 최대 전송 속도이다. - 제10항에 있어서,
상기 컨텐츠의 일 부분은,
상기 외부 기기에서 초기 버퍼링을 위해 요구되는 기설정된 시간 분량의 컨텐츠를 포함하는 것을 특징으로 하는 사용자 단말 장치. - 제10항에 있어서,
상기 제어부는,
상기 컨텐츠의 일 부분을 제외한 나머지 부분을 상기 제2 포맷으로 변환하거나, 상기 컨텐츠의 일 부분이 포함된 전체 부분을 상기 제2 포맷으로 변환하는 것을 특징으로 하는 사용자 단말 장치. - 제16항에 있어서,
상기 제2 포맷으로 변환된 컨텐츠는,
상기 제1 포맷으로 변환된 컨텐츠의 일 부분보다 높은 비트 레이트를 갖는 것을 특징으로 하는 사용자 단말 장치. - 제16항에 있어서,
상기 제어부는,
원 컨텐츠와 동일한 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하거나, 상기 원 컨텐츠보다 낮은 비트 레이트를 갖는 제2 포맷의 컨텐츠를 상기 외부 기기로 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 사용자 단말 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120091882A KR101952632B1 (ko) | 2012-08-22 | 2012-08-22 | 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법 |
US13/973,510 US10075325B2 (en) | 2012-08-22 | 2013-08-22 | User terminal device and contents streaming method using the same |
CN201380050052.3A CN104685896B (zh) | 2012-08-22 | 2013-08-22 | 用户终端设备和使用其的内容流传输方法 |
EP13831570.0A EP2888888B1 (en) | 2012-08-22 | 2013-08-22 | User terminal device and contents streaming method using the same |
PCT/KR2013/007551 WO2014030945A2 (en) | 2012-08-22 | 2013-08-22 | User terminal device and contents streaming method using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120091882A KR101952632B1 (ko) | 2012-08-22 | 2012-08-22 | 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140025229A true KR20140025229A (ko) | 2014-03-04 |
KR101952632B1 KR101952632B1 (ko) | 2019-02-27 |
Family
ID=50149053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120091882A KR101952632B1 (ko) | 2012-08-22 | 2012-08-22 | 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10075325B2 (ko) |
EP (1) | EP2888888B1 (ko) |
KR (1) | KR101952632B1 (ko) |
CN (1) | CN104685896B (ko) |
WO (1) | WO2014030945A2 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102109883B1 (ko) * | 2013-09-03 | 2020-05-12 | 삼성전자주식회사 | 컨텐츠 전송 방법 및 전자 장치 |
KR20170011178A (ko) * | 2015-07-21 | 2017-02-02 | 삼성전자주식회사 | 휴대 장치, 디스플레이 장치 및 디스플레이 장치의 사진 표시방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120076483A (ko) * | 2010-11-26 | 2012-07-09 | 엘지전자 주식회사 | 복수의 컨텐츠 제공자로부터 제공되는 컨텐츠를 제공/수신하기 위한 방법 및 그 방법을 이용한 시스템 및 장치 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG146434A1 (en) * | 2000-11-29 | 2008-10-30 | British Telecomm | Transmitting and receiving real-time data |
EP1359722A1 (en) * | 2002-03-27 | 2003-11-05 | BRITISH TELECOMMUNICATIONS public limited company | Data streaming system and method |
CN100375533C (zh) | 2004-03-10 | 2008-03-12 | 浙江大学 | 具有多种转换功能的自适应视频转码网关 |
KR100782343B1 (ko) | 2004-07-07 | 2007-12-06 | 한국과학기술원 | 영상 스트리밍 방법 |
US7359710B2 (en) * | 2004-07-27 | 2008-04-15 | Lucent Technologies Inc. | Satellite TV derivative programming via mobile phone |
US7933328B2 (en) * | 2005-02-02 | 2011-04-26 | Broadcom Corporation | Rate control for digital video compression processing |
KR100754431B1 (ko) | 2006-04-10 | 2007-08-31 | 삼성전자주식회사 | Dlna 시스템에서 dmr의 처리용량에 따른 컨텐츠변환방법 |
JP5239858B2 (ja) | 2006-06-22 | 2013-07-17 | ソニー株式会社 | 再生装置および方法、並びにプログラム |
US20090019492A1 (en) * | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
JP2009260818A (ja) * | 2008-04-18 | 2009-11-05 | Nec Corp | サーバ装置とコンテンツ配信方法とプログラム |
KR101125065B1 (ko) | 2008-10-31 | 2012-03-21 | 에스케이플래닛 주식회사 | 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법 |
US20100161716A1 (en) | 2008-12-22 | 2010-06-24 | General Instrument Corporation | Method and apparatus for streaming multiple scalable coded video content to client devices at different encoding rates |
KR101111247B1 (ko) | 2009-07-17 | 2012-06-12 | 한국과학기술연구원 | Ros 카이네이즈 저해활성을 갖는 피라졸 화합물 |
US8527649B2 (en) * | 2010-03-09 | 2013-09-03 | Mobixell Networks Ltd. | Multi-stream bit rate adaptation |
KR20120010089A (ko) * | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치 |
US8997160B2 (en) | 2010-12-06 | 2015-03-31 | Netflix, Inc. | Variable bit video streams for adaptive streaming |
CN102123303B (zh) * | 2011-03-25 | 2012-10-24 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频文件播放方法、系统及传输控制装置 |
US9258344B2 (en) * | 2011-08-01 | 2016-02-09 | Intel Corporation | Multi-hop single sign-on (SSO) for identity provider (IdP) roaming/proxy |
-
2012
- 2012-08-22 KR KR1020120091882A patent/KR101952632B1/ko active IP Right Grant
-
2013
- 2013-08-22 US US13/973,510 patent/US10075325B2/en not_active Expired - Fee Related
- 2013-08-22 WO PCT/KR2013/007551 patent/WO2014030945A2/en active Application Filing
- 2013-08-22 CN CN201380050052.3A patent/CN104685896B/zh not_active Expired - Fee Related
- 2013-08-22 EP EP13831570.0A patent/EP2888888B1/en not_active Not-in-force
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120076483A (ko) * | 2010-11-26 | 2012-07-09 | 엘지전자 주식회사 | 복수의 컨텐츠 제공자로부터 제공되는 컨텐츠를 제공/수신하기 위한 방법 및 그 방법을 이용한 시스템 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN104685896B (zh) | 2019-03-15 |
WO2014030945A2 (en) | 2014-02-27 |
CN104685896A (zh) | 2015-06-03 |
EP2888888A2 (en) | 2015-07-01 |
KR101952632B1 (ko) | 2019-02-27 |
EP2888888A4 (en) | 2016-03-30 |
US20140059246A1 (en) | 2014-02-27 |
EP2888888B1 (en) | 2018-11-21 |
WO2014030945A3 (en) | 2014-05-08 |
US10075325B2 (en) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4661907B2 (ja) | 情報処理システム、情報処理装置及び情報処理方法、並びにプログラム | |
JP6211733B2 (ja) | ワイヤレスディスプレイのための直接ストリーミング | |
CN108874337B (zh) | 屏幕镜像方法及其装置 | |
KR102133531B1 (ko) | 컨텐츠 재생 방법 및 그에 따른 단말, 그에 따른 시스템 | |
US8607284B2 (en) | Method of outputting video content from a digital media server to a digital media renderer and related media sharing system | |
KR20140111859A (ko) | 콘텐트 공유 방법 및 이를 위한 디바이스 | |
JP2012124842A (ja) | 画像処理装置、画像再生装置、および画像再生システム | |
JP2010118976A (ja) | 通信装置、通信方法および通信プログラム | |
US20150086184A1 (en) | Reception apparatus and reception method | |
CN106063284B (zh) | 用于在通信系统播放多媒体内容的方法及装置 | |
JP2013168750A (ja) | テレビジョン受像機 | |
KR101952632B1 (ko) | 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법 | |
TW201334516A (zh) | 電子裝置及同步顯示影像畫面的方法 | |
US20190028522A1 (en) | Transmission of subtitle data for wireless display | |
JP6332364B2 (ja) | 通信装置、通信方法およびプログラム | |
JP2015041800A (ja) | 受信装置及び受信方法 | |
WO2023279895A1 (zh) | 显示设备以及投屏方法 | |
JP4325697B2 (ja) | 画像処理システム、画像処理装置、画像処理方法、およびプログラム | |
TW201308994A (zh) | 串流媒體播放系統及其播放方法 | |
JP2015192248A (ja) | 端末装置及びコンテンツリクエスト送信方法 | |
JP5999205B2 (ja) | 通信装置 | |
KR20210037304A (ko) | 디스플레이 영상 제공 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |