KR101251312B1 - 동영상 변환 서버에서의 동영상 탐색요청 처리방법 - Google Patents

동영상 변환 서버에서의 동영상 탐색요청 처리방법 Download PDF

Info

Publication number
KR101251312B1
KR101251312B1 KR1020110109089A KR20110109089A KR101251312B1 KR 101251312 B1 KR101251312 B1 KR 101251312B1 KR 1020110109089 A KR1020110109089 A KR 1020110109089A KR 20110109089 A KR20110109089 A KR 20110109089A KR 101251312 B1 KR101251312 B1 KR 101251312B1
Authority
KR
South Korea
Prior art keywords
video
frame
previous
video data
terminal
Prior art date
Application number
KR1020110109089A
Other languages
English (en)
Inventor
양지훈
황재형
김현성
정인협
김성원
임종철
Original Assignee
주식회사 어니언텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 어니언텍 filed Critical 주식회사 어니언텍
Priority to KR1020110109089A priority Critical patent/KR101251312B1/ko
Application granted granted Critical
Publication of KR101251312B1 publication Critical patent/KR101251312B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Abstract

미디어 전송 서버로부터의 원본 동영상 데이터를 소정의 조건에 따라 변환하여 변환된 변환 동영상 데이터를 단말기로 스트리밍 전송하는 동영상 변환 서버에서 단말기로부터의 탐색 요청을 처리하는 동영상 탐색요청 처리방법이 제공된다. 본 발명의 동영상 탐색요청 처리방법은, 단말기로부터 탐색요청을 수신하면 수신된 탐색요청에 대응되는 위치를 원본 동영상에서 매핑하는 매핑 단계와, 매핑된 위치부터의 동영상을 디코딩하는데 필요한 원본 동영상 데이터를 미디어 전송 서버에 요청하는 탐색요청단계와, 미디어 전송 서버로부터 스트리밍 전송되는 원본 동영상 데이터를 변환하는 동영상 변환단계와, 변환된 동영상 데이터를 단말기로 스트리밍 전송하는 스트리밍 전송단계를 구비한다. 본 발명에 따르면, 스트리밍 되어 오는 동영상 데이터를 미리 정해진 조건에 맞게 변환하여 단말기에 전송하는 경우에도 단말기에서 탐색바를 이동하여 해당 위치에서부터 동영상을 재생하도록 제어할 수 있게 된다.

Description

동영상 변환 서버에서의 동영상 탐색요청 처리방법 {Method for handling video seek request in video transcoding server}
본 발명은 동영상 변환 서버에서의 동영상 탐색요청 처리방법에 관한 것으로서, 더욱 상세하게는 미디어 전송 서버로부터의 원본 동영상 데이터를 소정의 조건에 따라 변환하여 변환된 변환 동영상 데이터를 단말기로 스트리밍 전송하는 동영상 변환 서버에서 단말기로부터의 탐색 요청을 처리하는 동영상 탐색요청 처리방법에 관한 것이다.
스트리밍(streaming)은 오디오나 동영상 등의 멀티미디어 파일을 전송하고 재생하는 방식의 하나이다. 스트리밍 기술이 나오기 전까지는 멀티미디어 파일을 재생하기 위해서 일단 파일을 하드 디스크에 내려받은 후에 재생했기 때문에, 재생을 위해서는 내려받기가 완료될 때까지 기다려야 하므로 멀티미디어 파일을 재생하기까지 대기 시간이 많이 걸리고 하드 디스크의 빈 용량도 어느 정도 확보되어 있어야 했다. 그러나 스트리밍 기법에서는 멀티미디어 파일이 전송되어 오는 대로 수취단에서 재생하기 때문에 기다릴 필요가 없으므로 대기 시간이 거의 들지 않고 하드 디스크의 용량에도 제약받지 않으므로 널리 사용되고 있는 기술이다. 스트리밍 기술에 대해서는 예를 들면, 특허등록 제563659호, 특허등록 제820350호, 특허등록 제1019594호, 특허공개 제2009-0049385호 등에 개시되어 있다.
도 1은 단말기(20)가 인터넷을 통하여 미디어 전송 서버(10)에 연결되어 있는 모습을 보여준다. 단말기(20)는 유선 또는 무선 통신을 이용하여 인터넷을 통해 미디어 전송 서버(10)에 접속하여 도 2에 도시한 것처럼 원하는 동영상 파일을 요청한다(단계 210). 그러면, 미디어 전송 서버(10)는 요청받은 동영상 파일을 스트리밍 전송하고(단계 220), 단말기(20)는 스트리밍 동영상 재생기를 이용하여 동영상 파일을 받으면서 재생하게 된다.
그런데, 스트리밍 동영상 재생기에는 재생되는 동영상의 위치를 사용자가 임의로 지정할 수 있는 기능이 있다. 즉, 동영상 재생기에는 현재 재생중인 위치를 보여주는 탐색바가 제공되며, 사용자는 탐색바를 이용하여 동영상 재생 위치를 원하는 위치로 변경할 수 있다. 사용자가 탐색바를 원하는 위치로 이동시키면 동영상 재생기는 재생위치의 변경요청 즉, 탐색요청을 미디어 전송 서버(10)로 전송한다(단계 230).
탐색요청과 관련해서는 예를 들면, HTTP 표준 프로토콜의 HTTP/1.1. part 5: Range Request and Partial Responses 등에 규정되어 있다. 애플사의 스마트폰인 아이폰의 경우를 예로 들면, 다음과 같은 메시지가 전달될 수 있다.
Host: v6 . lscache3 . googlevideo . com
Range : bytes =1630591-20214574
Accept: */*
Accept-Encoding: identity
User-Agent: AppleCoreMedia/1.0.0.8H7 (iPhone; U; CPU OS 4_3_2 like Mac OS X; ko_kr)
X-ClientIP-For: 17.0.1.42, 8012, 17.0.1.32, 32179
Cache-Control: max-age=43200
이 예는, MP4PD에 의해 변환된 전체 파일 사이즈 20214574중에 1630591에 해당하는 데이터를 요청하는 예이다.
이와 같은 탐색요청을 받은 미디어 전송 서버(10)는 요청된 위치부터 다시 동영상 데이터를 스트리밍 전송하게 되며(단계 240), 단말기(20)에 설치된 동영상 재생기에서는 전송받은 위치부터의 데이터를 디코딩하여 재생하게 된다.
한편, 실시간으로 재생하기 위하여 최적화된 스트리밍 파일이라고 하여도 네트워크 환경에 따라서는 데이터 전송에 지연이 발생할 수 있어서, 재생 도중에 잠깐씩 멈추거나 하는 경우가 발생한다. 이러한 문제점을 해결하기 위하여 특허등록 제563659호에서는 주기적으로 가입자까지의 네트워크 상태를 측정하는 시험 패킷을 보내고 이에 대한 회신을 받아 가입자까지의 네트워크 상태를 모니터링하고, 모니터링된 네트워크 상태에 대응되는 수준으로 스트리밍할 동영상 파일의 트랜스코딩율을 결정하여 이에 따라 동영상 파일을 트랜스코딩하여 전송하고 있다.
한편, 멀티미디어 파일의 파일 컨테이너 포맷은 다양하게 존재하는데, 파일 컨테이너 포맷에 따라 각각의 전용 미디어 전송 서버에서만 스트리밍 서비스가 가능할 뿐 전혀 호환되지 않는 문제점과, AVI와 같은 로컬(Local) 전용 컨테이너의 경우 리얼 스트리밍을 할 수 없기 때문에 일정부분을 미리 내려받아 미리 재생하는 방식인 다운로드 펜딩 방식을 이용하여 서비스하여야 하는 문제점을 해결하기 위하여, 특허등록 제820350호에서는 MP4 파일 내부에 존재하는 힌티드를 이용한 프레임 색인기능을 VOD 미디어 전송 서버가 대신하는 방식으로 AVI 파일 포멧(File Format) 뿐만 아니라 WMV, MP2등 모든 포멧을 별도의 힌티드 정보없이 스트리밍을 지원하도록 하고 있다.
종래에는 주로 유선 인터넷에 연결되어 있는 컴퓨터에서 스트리밍 재생하던 것이 와이파이(WiFi), 와이브로(Wibro), 3G 등의 이동통신망을 통한 무선 인터넷이 활성화되고 스마트폰, 태블릿 PC 등이 널리 보급됨에 따라서 무선 인터넷을 통한 스트리밍도 급격히 증가하였다. 이에 따라, 통신망에 과부하가 발생되는 경우가 종종 발생되어 멀티미디어 파일의 재생이 원활하게 이루어지지 않을 뿐만 아니라 음성통화에까지 영향을 미치는 경우가 발생하고 있다. 이는 이동통신망을 통한 무선 인터넷의 경우에 데이터 통신과 음성 통신이 모두 같은 물리적 채널을 이용하여 이루어지기 때문에 데이터 통신의 과부하가 음성 통신에까지 영향을 미치는 것이다.
한편, 유튜브(www.youtube.com), 곰TV(www.gomtv.com) 등과 같은 미디어 전송 서버에서 제공하는 멀티미디어 파일은 수신 단말기(컴퓨터, 스마트폰, 태블릿 등)에 상관없이 원본 파일의 해상도대로 전송하고 수신측에서 해상도를 조절하도록 표시하는 것이 일반적이다. 즉, 컴퓨터 사용자가 멀티미디어 재생기에서 재생 창의 크기를 변화시켜도 스트리밍 되어 오는 파일의 해상도는 변하지 않으며, 멀티미디어 재생기에서 창의 크기에 맞게 확대하거나 축소하여 보여준다.
그런데, 이동통신망을 통한 무선 인터넷의 경우에는 연결되는 단말기가 대부분 해상도가 일반 컴퓨터보다는 낮은 디스플레이 장치를 사용하기 때문에, 미디어 전송 서버에서 오는 원본 파일의 해상도가 단말장치에 비해서 높은 경우가 많아서 필요 이상으로 네트워크 대역폭을 사용하게 되는 경우가 발생하고 있다. 또한, 많은 사용자가 연결되어 있는 경우와 같이 네트워크 환경이 좋지 않은 경우에도 미디어 전송 서버에서 전송되어 오는 파일의 비트율(bit rate)대로 이동통신망을 통해 전송되므로, 멀티미디어 재생 도중에 끊기거나 음성통화에 지장을 주는 경우가 발생한다.
이와 같이 동영상 파일에 대한 스트리밍 수요가 늘어감에 따라 네트워크에 영상을 적게 주고 동영상의 끊김 현상 등을 줄이기 위하여 동영상 변환 서버를 사용하여 미디어 전송 서버로부터 스트리밍 되어 오는 동영상 데이터를 소정의 조건, 예를 들면 소정의 비트율, 해상도, 초당 프레임수 등의 조건에 따라 변환하여 단말기로 보내는 구성이 제안되고 있다.
이와 같이 동영상 변환 서버를 사용하여 스트리밍 되어 오는 동영상 데이터를 미리 정해진 조건에 맞게 변환하여 단말기에 전송하는 경우에도 단말기에서 탐색바를 이동하여 해당 위치에서부터 동영상을 재생하도록 제어할 수 있어야 한다.
본 발명은 이와 같이 미디어 전송 서버로부터의 원본 동영상 데이터를 소정의 조건에 따라 변환하여 변환된 변환 동영상 데이터를 단말기로 스트리밍 전송하는 동영상 변환 서버에서 단말기로부터의 탐색 요청을 처리하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 동영상 탐색요청 처리방법은, 미디어 전송 서버로부터의 원본 동영상 데이터를 소정의 조건에 따라 변환하여 변환된 변환 동영상 데이터를 단말기로 스트리밍 전송하는 동영상 변환 서버에서 단말기의 탐색 요청을 처리하는 동영상 탐색요청 처리방법에 있어서, 특정 위치부터의 동영상 재생을 요청하는 탐색요청을 단말기로부터 수신하면, 상기 특정 위치에 대응되는 위치를 원본 동영상 데이터에서 매핑하는 매핑 단계와, 매핑된 위치부터의 동영상을 디코딩하는데 필요한 원본 동영상 데이터를 미디어 전송 서버에 요청하는 탐색요청단계와, 미디어 전송 서버로부터 스트리밍 전송되는 원본 동영상 데이터를 상기 소정의 조건에 따라 변환하는 동영상 변환단계와, 변환된 동영상 데이터를 단말기로 스트리밍 전송하는 스트리밍 전송단계를 구비한다.
매핑 단계는, 상기 특정 위치에 대응되는 변환 동영상 데이터에서의 프레임을 계산하는 단계와, 변환 동영상 데이터에서 상기 프레임 전의 가장 인접한 인트라 프레임(이하, "이전 변환 인트라 프레임"이라 함)의 위치를 계산하는 단계와, 상기 이전 변환 인트라 프레임의 위치에 대응되는 원본 동영상 데이터에서의 비디오 프레임(이하, "이전 원본 비디오 프레임"이라 함)을 찾는 단계와, 상기 이전 원본 비디오 프레임 이전의 가장 가까운 인트라 프레임(이하, "이전 원본 인트라 프레임"이라 함)을 찾는 단계를 포함할 수 있다. 탐색요청단계에서는 상기 이전 원본 인트라 프레임에 대한 탐색요청을 미디어 전송 서버로 전송한다.
변환 동영상 데이터에서 비디오 프레임은 동일한 시간대의 오디오 프레임보다 앞에 위치하도록 구성할 수 있다. 상기 이전 변환 인트라 프레임의 위치를 계산할 때, 상기 이전 변환 인트라 이후의 첫번째 오디오 프레임(이하, "이전 변환 오디오 프레임"이라 함)의 위치를 계산하며, 상기 이전 원본 비디오 프레임을 찾을 때, 상기 이전 변환 오디오 프레임에 대응되는 원본 파일에서의 오디오 프레임(이하, "이전 원본 오디오 프레임"이라 함)도 찾으며, 상기 이전 원본 인트라 프레임을 찾는 단계는 상기 이전 원본 비디오 프레임과 상기 이전 원본 오디오 프레임 이전에 존재하는 비디오 프레임 중에서 가장 인접한 인트라 프레임을 찾는다.
상기 이전 변환 인트라 프레임과 상기 이전 변환 오디오 프레임에 대응되는 이전 원본 비디오 프레임과 이전 원본 오디오 프레임은 상기 이전 변환 인트라 프레임과 상기 이전 변환 오디오 프레임의 타임스탬프 정보를 기준으로 찾을 수 있다.
동영상 변환단계는, 미디어 전송 서버로부터 스트리밍 전송되는 이전 원본 오디오 프레임과 이전 원본 비디오 프레임 중에서 앞에 있는 프레임 전까지의 원본 동영상 데이터를 디코딩하는 단계와, 미디어 전송 서버로부터 스트리밍 전송되는 상기 앞에 있는 프레임부터의 원본 동영상 데이터를 상기 소정의 조건에 따라 변환하는 단계를 포함할 수 있다.
또는, 동영상 변환단계는, 미디어 전송 서버로부터 스트리밍 전송되는 상기 이전 원본 비디오 프레임 전까지의 원본 동영상 데이터를 디코딩하는 단계와, 미디어 전송 서버로부터 스트리밍 전송되는 상기 이전 원본 비디오 프레임부터의 원본 동영상 데이터를 상기 소정의 조건에 따라 변환하는 단계를 포함할 수 있다.
스트리밍 전송단계는, 상기 변환된 동영상 데이터 중에서 상기 특정 위치의 변환 동영상 데이터부터 단말기로 스트리밍 전송하는 것이다.
본 발명에 따르면, 스트리밍 되어 오는 동영상 데이터를 미리 정해진 조건에 맞게 변환하여 단말기에 전송하는 경우에도 단말기에서 탐색바를 이동하여 해당 위치에서부터 동영상을 재생하도록 제어할 수 있게 된다. 또한, 탐색바의 이동위치 이전의 인트라 프레임부터 다운로드 받아서 디코딩하도록 함으로써 단말기에서 탐색바를 이동시킨 경우에 이동된 위치의 동영상을 제대로 재생할 수 있게 된다.
도 1은 일반적인 스트리밍에 의한 미디어 데이터의 전송 방법을 설명하기 위한 개략적인 네트워크 다이어그램이다.
도 2는 일반적인 스트리밍에 의한 미디어 데이터의 전송 및 탐색요청 방법을 설명하기 위한 개략적인 흐름도이다.
도 3은 동영상 변환 서버를 이용한 미디어 가속방법을 설명하기 위한 개략적인 네트워크 다이어그램이다.
도 4는 동영상 변환 서버의 내부 구성을 보여주는 개략 블록도이다.
도 5는 본 발명에 따른 동영상 변환 서버에서의 동영상 탐색요청 처리방법을 설명하기 위한 개략 흐름도이다.
도 6은 탐색요청에 포함된 변환 동영상에서의 위치를 원본 동영상에서 디코딩에 필요한 동영상 데이터의 위치로 매핑하는 방법을 설명하기 위한 개념도이다.
도 7 및 도 8은 본 발명에 따른 동영상 변환 서버에서의 동영상 탐색요청 처리방법을 설명하기 위한 상세 흐름도이다.
이하, 도면을 참조하여 본 발명의 바람직한 실시예에 대해서 상세히 설명한다.
도 3은 동영상 변환 서버가 인터넷과 이동통신망을 통해 미디어 전송 서버와 단말기에 연결되어 있는 모습을 보여주는 개념도이다.
단말기(300)는 이동통신망을 통해 인터넷에 접속하여 동영상을 스트리밍 받아서 재생할 수 있는 휴대폰, 스마트폰, 태블릿PC 등의 정보단말기기를 말한다. 단말기(300)는 이동통신망을 거쳐서 인터넷에 접속하여 유튜브 등의 미디어 전송 서버(200)로부터 동영상 데이터를 스트리밍 받는다. 본 발명에서, 인터넷을 통해 미디어 전송 서버(200)로부터 수신되는 스트리밍 데이터는 동영상 변환 서버(100)에서 트랜스코딩 된 후에 이동통신망을 통해 단말기(300)로 제공된다. 한편, 도 3에서는 편의상 동영상 변환 서버(100)가 이동통신망의 전단에 있는 것으로 표현되어 있지만, 이동통신망 내부에 존재할 수도 있다. 한편, 단말기(300)가 미디어 전송 서버(200)에 접속할 때는 동영상 변환 서버(100)를 거치지 않고 접속하고, 스트리밍 받을 때 스트리밍 데이터가 동영상 변환 서버(100)를 거쳐서 전송되도록 구성하는 것도 가능하다.
도 4는 동영상 변환 서버(100)의 내부 구성을 보여주는 개략 블록도이다.
동영상 변환 서버(100)는 미디어 전송 서버(200)로부터 인터넷을 통해 스트리밍 되어 들어오는 동영상 데이터를 수신하기 위한 동영상 입력부(110)와, 스트리밍 입력되는 동영상 데이터를 소정의 조건에 따라 다른 해상도 또는 다른 비트율로 트랜스코딩하기 위한 트랜스코더부(120)와, 트랜스코딩된 동영상 데이터를 이동통신망을 통해 단말기(300)로 전송하기 위한 동영상 출력부(130)를 구비한다. 한편, 동영상 변환 서버(100)는 이동통신교환시스템 등으로부터 네트워크 환경, 단말기의 사양 등에 관한 정보를 받거나 서버 관리자로부터 입력을 받아서 트랜스코딩을 위한 파라미터를 설정하기 위한 파라미터 설정부(140)를 더 구비할 수 있다.
다음으로, 도 5을 참조하여 본 발명의 일 실시예에 따른 동영상 변환 서버에서의 동작을 설명한다.
단말기(300)는 인터넷을 통하여 미디어 전송 서버(200)에 접속한 후에, 원하는 동영상을 요청한다(단계 510). 동영상 변환 서버(100)는 단말기(300)와 미디어 전송 서버(200) 사이의 데이터 경로에 위치하고 있어서, 단말기(300)로부터의 동영상 요청을 가로채서 미디어 전송 서버(200)로 다시 전송한다(단계 520). 동영상 변환 서버(100)로부터 동영상 요청을 수신한 미디어 전송 서버(200)는 요청받은 동영상을 스트리밍 전송하기 시작한다(단계530).
미디어 전송 서버(200)로부터 스트리밍 되어 오는 동영상 데이터를 수신한 동영상 변환 서버(100)는 이를 소정의 조건에 따라 변환(트랜스코딩)하여 변환된 동영상을 단말기(300)로 스트리밍 전송한다(단계 540). 소정의 조건에는, 예를 들면 출력 비트율, 비트율 감소율(예: 입력 파일의 비트율의 80%), 출력 해상도(비디오 프레임의 가로, 세로 픽셀수), 초당 프레임수(FPS), I 프레임과 P 프레임의 빈도, 출력할 동영상 파일 포맷 등이 포함될 수 있다. 이러한 조건은 단말기의 사양(예: 디스플레이의 해상도, 최대 재생 가능한 초당 프레임수 등), 현재의 이동통신망의 환경(예: 단말기가 연결되어 있는 기지국에 접속되어 있는 단말기의 수, 비트에러율(Bit Error Rate 등)), 현재 시간과 단말기가 있는 장소에 따른 통계적인 이동통신망의 통신환경 등에 따라 동적으로 결정될 수도 있으며, 또는 관리자가 수동으로 설정해 둘 수도 있다.
스트리밍 동영상 파일은 헤더와 데이터 부분으로 이루어지며, 헤더에는 오디오 프레임 및 비디오 프레임에 관한 정보가 포함되어 있다. 따라서, 동영상 변환 서버(100)는 헤더부분을 모두 수신하여 이를 분석한 다음에 동영상 변환을 시작하게 된다. 단말기(300)에 설치되어 있는 스트리밍 동영상 재생기에서도 헤더부분을 모두 수신한 다음에 데이터 부분을 수신하면서 동영상을 재생하게 된다. 변환 동영상 데이터에서 비디오 프레임은 동일한 시간대의 오디오 프레임보다 앞에 위치하도록 구성할 수도 있다.
이 상태에서 사용자가 탐색바 등을 이용하여 원하는 재생위치를 변경하게 되면, 단말기(300)는 사용자가 움직인 탐색바의 위치에 대응되는 위치로의 재생위치 변경요청(탐색요청)을 전송한다(단계 550). 이 탐색요청에 포함된 동영상 파일 상에서의 위치정보는 동영상 변환 서버(100)에 의해 변환된 동영상 파일에서의 위치를 나타낼 수 있다.
단말기(300)로부터의 탐색요청은 동영상 변환 서버(100)에서 가로채게 되며, 동영상 변환 서버(100)는 이 탐색요청에 대응되는 위치를 원본 동영상에서 매핑한다(단계 560). 이를 위하여, 동영상 변환 서버(100)는 미디어 전송 서버(200)로부터 스트리밍 전송되고 있는 원본 동영상 파일과 미디어 전송 서버(200)가 변환한 변환 동영상 파일의 적어도 헤더부는 저장하고 있어야 한다. 동영상 변환 서버(100)는 저장된 원본 동영상 파일의 헤더부와 변환된 변환 동영상 파일의 헤더부를 참조하여, 탐색요청에 포함된 위치에 대응되는 원본 동영상 파일에서의 동영상 데이터를 디코딩하기 위해서는 원본 동영상 파일의 적어도 어느 위치의 데이터가 필요한지를 찾는다.
동영상 변환 서버(100)는 단계 560에서 찾은 원본 동영상 파일에서의 위치에 관한 정보를 포함하는 탐색요청을 미디어 전송 서버(200)로 전송한다(단계 570).
동영상 변환 서버(100)로부터 탐색요청을 수신한 미디어 전송 서버(200)는 해당 위치의 원본 동영상 데이터를 전송하게 되며(단계 580), 동영상 변환 서버(100)는 미디어 전송 서버(200)로부터 스트리밍 전송되는 원본 동영상 데이터를 변환하여 변환된 동영상 데이터를 단말기(300)로 스트리밍 전송한다(단계 590).
다음으로 도 6 내지 도 8을 참조하여 탐색요청에 포함된 변환 동영상에서의 위치를 원본 동영상에서 디코딩에 필요한 동영상 데이터의 위치로 매핑하는 방법과, 매핑된 위치로부터 다시 스트리밍 되어 오는 동영상 데이터를 변환하는 방법에 대해서 상세히 설명한다.
단말기(300)로부터 특정 위치부터의 동영상 재생을 요청하는 탐색요청을 수신하면(단계 710), 동영상 변환 서버(100)는 특정 위치에 대응되는 변환 동영상 데이터에서의 위치(프레임 번호, 해당 프레임 내에서의 오프셋)를 계산한다(단계 720). 도 6에서 볼 수 있는 것처럼, 헤더에는 비디오 및 오디오 프레임에 관한 정보가 들어있으며, 동영상 변환 서버(100)는 이 정보를 이용하여 데이터의 위치를 계산한다. 도 6에서는 편의상 각 프레임의 위치를 헤더 내에서의 위치로 표현하고 있지만, 실제 프레임의 위치는 데이터 영역 내에서의 프레임의 위치를 나타낸다.
도 6에서 ①은 단말기(300)로부터 수신한 탐색요청에 포함된 특정위치를 나타낸다. 단계 720에서 동영상 변환 서버(100)는 ①에 대응되는 변환 동영상 데이터에서의 프레임 번호와 해당 프레임 내에서의 오프셋을 계산하는 것이다.
동영상 변환 서버(100)는 변환 동영상 데이터에서 ①에 해당하는 프레임의 시작점(도 6의 ②, 이하 "현재 변환 프레임"이라 함)을 찾고, 이 시작점 바로 전의 비디오 인트라 프레임(키 프레임)(Intra-frame)(이하, "이전 변환 인트라 프레임"이라 함)의 위치(③-1)를 계산한다(단계 730).
한편, 변환 동영상 데이터에서 비디오 프레임은 동일한 시간대의 오디오 프레임보다 앞에 위치하도록 구성하는 것이 바람직하며, 이 경우에 이전 변환 인트라 프레임의 위치를 계산한 후에 이전 변환 인트라 프레임 이후의 첫번째 오디오 프레임(이하, "이전 변환 오디오 프레임"이라 함)의 위치(③-2)를 계산하는 것이 바람직하다.
한편, 현재 변환 프레임은 오디오 프레임일 수도 있고 비디오 프레임일 수도 있는데, 현재 변환 프레임이 인트라 프레임인 경우에는 도 6에서 ②와 ③-1은 동일한 위치가 된다.
다음으로, 동영상 변환 서버(100)는 이전 변환 인트라 프레임 및 이전 변환 오디오 프레임의 위치에 대응되는 원본 동영상 데이터에서의 비디오 프레임과 오디오 프레임(이하, 각각 "이전 원본 비디오 프레임" 및 "이전 원본 오디오 프레임"이라 함)을 찾는다(단계 740). 도 6에서 이전 원본 비디오 프레임은 ④-1로, 이전 원본 오디오 프레임은 ④-2로 표시되어 있다. 비록 변환 동영상 파일에서는 비디오 프레임이 동일 시간대의 오디오 프레임보다 앞에 위치하더라도 원본 동영상 파일에서는 비디오 프레임이 동일 시간대의 오디오 프레임보다 뒤에 위치할 수 있으며, 도 6은 이러한 경우를 보여주고 있다. 한편, 이전 변환 인트라 프레임(③-1)에 대응되는 원본 동영상 파일에서의 위치는 프레임의 시작점이 아닐 수도 있으며, 이 경우에는 이전 변환 인트라 프레임(③-1)에 대응되는 위치가 속한 프레임의 시작점이 이전 원본 비디오 프레임(④-1)이 될 수 있다.
이전 변환 인트라 프레임과 이전 변환 오디오 프레임에 대응되는 이전 원본 비디오 프레임과 이전 원본 오디오 프레임은 이전 변환 비디오 프레임과 상기 이전 변환 오디오 프레임의 타임스탬프 정보를 기준으로 찾을 수 있다.
동영상 변환 서버(100)는 이전 원본 비디오 프레임 이전의 가장 인접한 인트라 프레임(⑤)을 찾는다(단계 750). 한편, 원본 동영상 파일에서는 비디오 프레임이 동일 시간대의 오디오 프레임보다 뒤에 위치할 수 있으며, 이 경우에 이전 원본 비디오 프레임(④-1)과 이전 원본 오디오 프레임(④-2) 사이에 인트라 프레임(④-3)이 존재할 수도 있다. 이 경우에도 정확한 동영상 변환을 위해서는 ⑤ 위치의 인트라 프레임부터 디코딩하는 것이 바람직하므로, 이러한 경우를 위하여 이전 원본 비디오 프레임(④-1)과 이전 원본 오디오 프레임(④-2) 중에서 앞에 있는 프레임의 이전에 존재하는 가장 인접한 인트라 프레임(⑤)을 찾도록 하는 것이 바람직하다.
이와 같이 이전 원본 비디오 프레임(④-1)과 이전 원본 오디오 프레임(④-2) 중에서 앞에 있는 프레임의 이전에 존재하는 가장 인접한 인트라 프레임(⑤)을 찾은 동영상 변환 서버(100)는 이 인트라 프레임(⑤)(좀더 정확하게는 이 인트라 프레임의 시작 위치)에 대한 탐색요청을 미디어 전송 서버(200)로 전송한다(단계 760).
동영상 변환 서버(100)로부터 인트라 프레임(⑤)에 대한 탐색요청을 수신한 미디어 전송 서버는 인트라 프레임(⑤)부터 원본 동영상 데이터를 스트리밍 전송하게 되며, 동영상 변환 서버(100)는 이를 수신하면서(단계 810) 디코딩한다(단계 820). 이는, 이전 원본 비디오 프레임(④-1)을 변환(디코딩 및 인코딩)하기 위해서는 그 이전의 인트라 프레임(⑤)까지의 프레임에 관한 데이터가 필요하기 때문이다. 한편, 디코딩은 이전 원본 오디오 프레임과 이전 원본 비디오 프레임 중에서 앞에 있는 프레임 전까지의 원본 동영상 데이터를 디코딩하는데, 그 이후의 데이터부터는 디코딩 후에 인코딩을 하게 된다. 또는, 이전 원본 비디오 프레임까지의 원본 동영상 데이터를 디코딩 하도록 구성하는 것도 가능하다.
이후의 원본 동영상 데이터에 대해서 동영상 변환 서버(100)는 소정의 조건에 따라 트랜스코딩(동영상 변환)을 수행하게 된다(단계 830). 트랜스코딩은 스트리밍 되어오는 동영상 데이터를 디코딩한 후에 소정의 조건에 따라 다시 인코딩하는 것을 말한다. 이전 원본 오디오 프레임과 이전 원본 비디오 프레임 중에서 앞에 있는 프레임부터 또는 이전 원본 비디오 프레임(④-1)부터 트랜스코딩을 수행하는 이유는, ②에 해당하는 변환 동영상 프레임을 생성하기 위해서는 그 이전의 인트라 프레임(③-1)부터의 인코딩된 데이터가 필요하기 때문이다.
인코딩된 변환 동영상 데이터는 단말기(300)로 스트리밍 전송된다(단계 840). 그런데, 인코딩된 변환 동영상 데이터를 인코딩된 시점부터 바로 단말기로 전송하는 것이 아니라, 단계 710에서 수신된 탐색요청에서 요청하고 있는 특정 위치부터의 동영상 데이터(도 6의 ①에 해당되는 부분)부터 단말기로 스트리밍 전송하는 것이 바람직하다. 또한, 원본 동영상 데이터를 디코딩하거나 트랜스코딩할 때 비디오 프레임에 동기되는 오디오 프레임도 함께 디코딩 또는 트랜스코딩하는 것이 바람직하다. 한편, 오디오 프레임은 트랜스코딩할 때 원래의 오디오 프레임을 변환하지 않고 그대로 전송하는 것일 수 있다.
동영상 변환 서버(100)는 변환 동영상 파일에서의 탐색요청된 부분(①) 이후의 프레임에 대해서는 정상적인 트랜스코딩 동작을 수행하게 된다(단계 850).
이와 같은 절차에 의해, 미디어 전송 서버(200)로부터 스트리밍 되어오는 동영상 데이터가 동영상 변환 서버(100)에 의해 트랜스코딩 되어 단말기(300)로 스트리밍 전송되고 있는 도중에도, 단말기 사용자는 탐색바를 이용하여 동영상 재생위치의 변경 요청을 할 수 있게 되고, 동영상 변환 서버(100)는 이 탐색요청에 대응한 정확한 위치부터 단말기(300)로 변환된 동영상을 스트리밍 전송할 수 있게 된다.
이상, 본 발명을 몇가지 예를 들어 설명하였으나, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 반도체 기록매체, 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다. 또한, 이러한 프로그램은 통신망을 통해 다운로드 될 수 있는 형태일 수도 있다.
이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 동영상 변환 서버
110 동영상 입력부
120 트랜스코더부
130 동영상 출력부
140 파라미터 설정부
200 미디어 전송 서버
300 단말기

Claims (7)

  1. 미디어 전송 서버로부터 스트리밍 수신되는 원본 동영상 데이터를 단말기로의 스트리밍 전송을 위한 동영상 데이터로 변환하여 단말기로 스트리밍 전송을 하는 동영상 변환 서버에서 단말기로부터의 탐색 요청을 처리하는 동영상 탐색요청 처리방법에 있어서,
    미디어 전송 서버로부터 수신되는 원본 동영상 데이터를 상기 단말기로 스트리밍을 하기 위한 변환 동영상 데이터로 변환하고, 변환 동영상 데이터를 상기 단말기로 스트리밍 전송하는 스트리밍 전송단계와,
    변환 동영상 데이터의 스트리밍 전송 도중에 특정 위치부터의 동영상 재생을 요청하는 탐색요청을 상기 단말기로부터 수신하면, 변환 동영상 데이터에서 상기 특정 위치에 대응되는 프레임을 계산하고, 변환 동영상 데이터에서 상기 프레임 전의 가장 인접한 인트라 프레임(이하, "이전 변환 인트라 프레임"이라 함)의 위치를 계산하고, 상기 이전 변환 인트라 프레임의 위치에 대응되는 원본 동영상 데이터에서의 비디오 프레임(이하, "이전 원본 비디오 프레임"이라 함)을 찾고, 상기 이전 원본 비디오 프레임 이전의 가장 가까운 인트라 프레임(이하, "이전 원본 인트라 프레임"이라 함)을 찾는 매핑 단계와,
    상기 이전 원본 인트라 프레임부터의 원본 동영상 데이터를 미디어 전송 서버에 요청하는 탐색요청단계와,
    미디어 전송 서버로부터 스트리밍 전송되는 상기 이전 원본 인트라 프레임부터의 원본 동영상 데이터를 디코딩하고, 디코딩된 데이터 중에서 상기 이전 원본 비디오 프레임의 데이터부터 단말기로의 스트리밍 전송을 위한 동영상 데이터로 인코딩하는 동영상 변환단계와,
    변환된 동영상 데이터를 단말기로 스트리밍 전송하는 스트리밍 전송단계
    를 구비하는 동영상 탐색요청 처리방법.
  2. 미디어 전송 서버로부터 스트리밍 수신되는 원본 동영상 데이터를 단말기로의 스트리밍 전송을 위한 동영상 데이터로 변환하여 단말기로 스트리밍 전송을 하는 동영상 변환 서버에서 단말기로부터의 탐색 요청을 처리하는 동영상 탐색요청 처리방법에 있어서,
    미디어 전송 서버로부터 수신되는 원본 동영상 데이터를 상기 단말기로 스트리밍을 하기 위한 변환 동영상 데이터로 변환하고, 변환 동영상 데이터를 상기 단말기로 스트리밍 전송하는 스트리밍 전송단계와,
    변환 동영상 데이터의 스트리밍 전송 도중에 특정 위치부터의 동영상 재생을 요청하는 탐색요청을 상기 단말기로부터 수신하면, 변환 동영상 데이터에서 상기 특정 위치에 대응되는 프레임을 계산하고, 변환 동영상 데이터에서 상기 프레임 전의 가장 인접한 인트라 프레임(이하, "이전 변환 인트라 프레임"이라 함)의 위치를 계산하고, 상기 이전 변환 인트라 프레임의 위치에 대응되는 원본 동영상 데이터에서의 비디오 프레임(이하, "이전 원본 비디오 프레임"이라 함)을 찾고, 상기 이전 원본 비디오 프레임 이전의 가장 가까운 인트라 프레임(이하, "이전 원본 인트라 프레임"이라 함)을 찾는 매핑 단계와,
    상기 이전 원본 인트라 프레임부터의 원본 동영상 데이터를 미디어 전송 서버에 요청하는 탐색요청단계와,
    미디어 전송 서버로부터 스트리밍 전송되는 상기 이전 원본 인트라 프레임부터의 원본 동영상 데이터를 디코딩하고, 디코딩된 데이터 중에서 상기 특정 위치에 해당되는 데이터부터 단말기로의 스트리밍 전송을 위한 동영상 데이터로 인코딩하는 동영상 변환단계와,
    변환된 동영상 데이터를 단말기로 스트리밍 전송하는 스트리밍 전송단계
    를 구비하는 동영상 탐색요청 처리방법.
  3. 제1항 또는 제2항에 있어서,
    상기 이전 변환 인트라 프레임의 위치를 계산할 때, 상기 이전 변환 인트라 이후의 첫번째 오디오 프레임(이하, "이전 변환 오디오 프레임"이라 함)의 위치를 계산하며,
    상기 이전 원본 비디오 프레임을 찾을 때, 상기 이전 변환 오디오 프레임에 대응되는 원본 파일에서의 오디오 프레임(이하, "이전 원본 오디오 프레임"이라 함)도 찾으며,
    상기 이전 원본 인트라 프레임을 찾는 단계는 상기 이전 원본 비디오 프레임과 상기 이전 원본 오디오 프레임 이전에 존재하는 비디오 프레임 중에서 가장 인접한 인트라 프레임을 찾는 것임을 특징으로 하는 동영상 탐색요청 처리방법.
  4. 제3항에 있어서,
    상기 이전 변환 인트라 프레임과 상기 이전 변환 오디오 프레임에 대응되는 이전 원본 비디오 프레임과 이전 원본 오디오 프레임은 상기 이전 변환 인트라 프레임과 상기 이전 변환 오디오 프레임의 타임스탬프 정보를 기준으로 찾는 것임을 특징으로 하는 동영상 탐색요청 처리방법.
  5. 제3항에 있어서,
    상기 동영상 변환단계는, 미디어 전송 서버로부터 스트리밍 전송되는 이전 원본 오디오 프레임과 이전 원본 비디오 프레임 중에서 앞에 있는 프레임부터의 원본 동영상 데이터를 단말기로의 스트리밍 전송을 위한 동영상 데이터로 변환하는 것을 특징으로 하는 동영상 탐색요청 처리방법.
  6. 삭제
  7. 삭제
KR1020110109089A 2011-10-25 2011-10-25 동영상 변환 서버에서의 동영상 탐색요청 처리방법 KR101251312B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110109089A KR101251312B1 (ko) 2011-10-25 2011-10-25 동영상 변환 서버에서의 동영상 탐색요청 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110109089A KR101251312B1 (ko) 2011-10-25 2011-10-25 동영상 변환 서버에서의 동영상 탐색요청 처리방법

Publications (1)

Publication Number Publication Date
KR101251312B1 true KR101251312B1 (ko) 2013-04-05

Family

ID=48442453

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110109089A KR101251312B1 (ko) 2011-10-25 2011-10-25 동영상 변환 서버에서의 동영상 탐색요청 처리방법

Country Status (1)

Country Link
KR (1) KR101251312B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170111905A (ko) * 2016-03-30 2017-10-12 주식회사 플렉싱크 동시통역음성을 활용한 컨퍼런스 컨텐츠 제공시스템
WO2018034535A1 (en) * 2016-08-18 2018-02-22 Samsung Electronics Co., Ltd. Display apparatus and content display method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090052128A (ko) * 2007-11-20 2009-05-25 에스케이 텔레콤주식회사 리치 미디어 전송 시스템 및 그 제어방법
KR20100028156A (ko) * 2008-09-04 2010-03-12 에스케이 텔레콤주식회사 미디어 전송 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090052128A (ko) * 2007-11-20 2009-05-25 에스케이 텔레콤주식회사 리치 미디어 전송 시스템 및 그 제어방법
KR20100028156A (ko) * 2008-09-04 2010-03-12 에스케이 텔레콤주식회사 미디어 전송 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170111905A (ko) * 2016-03-30 2017-10-12 주식회사 플렉싱크 동시통역음성을 활용한 컨퍼런스 컨텐츠 제공시스템
KR101883975B1 (ko) * 2016-03-30 2018-08-17 주식회사 플렉싱크 동시통역음성을 활용한 컨퍼런스 컨텐츠 제공시스템
WO2018034535A1 (en) * 2016-08-18 2018-02-22 Samsung Electronics Co., Ltd. Display apparatus and content display method thereof
US10834435B2 (en) 2016-08-18 2020-11-10 Samsung Electronics Co., Ltd. Display apparatus and content display method thereof

Similar Documents

Publication Publication Date Title
US8782165B2 (en) Method and transcoding proxy for transcoding a media stream that is delivered to an end-user device over a communications network
US10911506B2 (en) Methods for quality-aware adaptive streaming over hypertext transfer protocol and reporting quality of experience
CN106576182B (zh) 支持超文本传输协议上的动态自适应流的设备和方法
US8929441B2 (en) Method and system for live streaming video with dynamic rate adaptation
US9042449B2 (en) Systems and methods for dynamic transcoding of indexed media file formats
EP2086240A1 (en) A method and a system for supporting media data of various coding formats
KR101569510B1 (ko) 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버
US10834161B2 (en) Dash representations adaptations in network
CN112752115B (zh) 直播数据传输方法、装置、设备及介质
US9282134B2 (en) Content delivery system
US9680901B2 (en) Method, apparatus and non-transitory computer medium for encoding data of a media file
KR20130005873A (ko) 방송 시스템에서 컨텐츠 수신 방법 및 장치
US11743535B2 (en) Video fragment file processing
US20140189141A1 (en) Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus
WO2011119505A1 (en) Media convergence platform
KR101251312B1 (ko) 동영상 변환 서버에서의 동영상 탐색요청 처리방법
KR20160004860A (ko) 멀티미디어 시스템에서 미디어 패킷을 수신하는 방법 및 장치
KR20140070896A (ko) 비디오 스트리밍 방법 및 그 전자 장치
KR20140086801A (ko) 실시간 콘텐츠 트랜스코딩 방법, 장치 및 시스템, 및 실시간 콘텐츠 수신 장치 및 방법
WO2014112187A1 (ja) コンテンツサーバ、コンテンツ配信方法、コンテンツ配信システム、クライアント装置、およびコンテンツ取得方法
KR20130029235A (ko) 스트리밍 되어오는 동영상 파일을 실시간 변환하여 스트리밍 전송하는 방법
WO2018021950A1 (en) Device and method for controlling media streaming from a server to a client

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
LAPS Lapse due to unpaid annual fee