KR20100062812A - 비디오 스트리밍 스케줄링 방법 및 장치 - Google Patents

비디오 스트리밍 스케줄링 방법 및 장치 Download PDF

Info

Publication number
KR20100062812A
KR20100062812A KR1020090024053A KR20090024053A KR20100062812A KR 20100062812 A KR20100062812 A KR 20100062812A KR 1020090024053 A KR1020090024053 A KR 1020090024053A KR 20090024053 A KR20090024053 A KR 20090024053A KR 20100062812 A KR20100062812 A KR 20100062812A
Authority
KR
South Korea
Prior art keywords
video streaming
packet
video
scheduling
frame
Prior art date
Application number
KR1020090024053A
Other languages
English (en)
Other versions
KR101098826B1 (ko
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 한국전자통신연구원
Publication of KR20100062812A publication Critical patent/KR20100062812A/ko
Application granted granted Critical
Publication of KR101098826B1 publication Critical patent/KR101098826B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26283Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for associating distribution time parameters to content, e.g. to generate electronic program guide data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play

Abstract

본 발명은 네트워크 미디어 인지형(network media-aware) 비디오 스트리밍 스케줄링(video streaming scheduling)을 위한 장치 및 그 방법에 관한 것으로, 비디오 영상의 높은 전달 품질을 보장하기 위해 가용 대역폭 측정을 통한 패킷 손실을 예측하고 이를 비디오 전송률에 적용하여 가변적 네트워크 성능을 반영함으로써 패킷 전송 데드라인을 최소화하는 적응적 스케줄링 기법을 제공한다. 또한 본 발명은, 스트리밍 클라이언트를 통해 패킷의 손실, 훼손, 지연 등을 감지하여 패킷에 포함된 데이터의 미디어 특성검사를 실시하고, 재전송 중요도를 반영한 피드백 메시지를 구성하여 스트리밍 서버에 제공하며, 스트리밍 서버 측에서 네트워크 성능 및 미디어 특성을 동시에 고려한 최적화된 서브 스케줄링 윈도우(sub-scheduling window)를 생성하여 이를 기초로 패킷을 선별적으로 선택, 제어, 스케줄링하는 것을 특징으로 한다.
Figure P1020090024053
비디오 스케줄링, 비디오 스트리밍, IPTV

Description

비디오 스트리밍 스케줄링 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING VIDEO STREAMING SCHEDULING}
본 발명은 비디오 스트리밍 스케줄링 기법에 관한 것으로, 특히 모션 예측 기반 비디오 압축(motion prediction based video compression) 기술, 예를 들어 MPEG4, H.264, SVC(Scalable Video Coding) 등을 이용한 영상 데이터의 스트리밍 서비스 시 네트워크의 동적 특성에 따라 발생할 수 있는 비디오 패킷 손실, 훼손에 따른 영상 재생 실패 또는 왜곡(distortion) 등의 현상을 최소화하는데 적합한 비디오 스트리밍 스케줄링 방법 및 장치에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다.[2008-S-006-01, 유무선 환경의 개방형 IPTV(IPTV2.0) 기술개발]
통상적으로 비디오 데이터는, 스트리밍 서비스(streaming service)를 위해 부호화(encoding) 과정을 거쳐 비트-스트림(bit-stream) 구조로 압축되어 산출되며, 네트워크 전송을 위해 패킷 형태로 구조적 가공작업(packetization)을 거친다 음, 전송 프로토콜에 바인딩(protocol binding)되어 수신자 측에 전달되는 것과 같은 절차로 설계 및 운용된다. 이때, 비디오 데이터는 일반적으로 프레임 단위로 취급되며, 프레임은 보통 하나 또는 그 이상의 패킷으로 재구성되어 네트워크를 통해 전송된다.
비디오 패킷은, 예컨대 네트워크 대역폭(bandwidth), 손실률(loss rate), 지연시간(delay jitter) 등과 같은 시간제약형 동적변이(time-constraint dynamics)로 특징 지어질 수 있다. 그러므로, 네트워크(채널)의 조건에 따라 패킷 전달의 우선순위 결정, 수신의 실시간성 부합 및 재생 시 영상품질의 보장 등과 같은 관련 주요 지표를 고려한 유기적 설계 및 운용이 어려워 결국 성능 문제에 대한 높은 발생 가능성을 안게 된다. 또한, 최근 디지털 TV, 인터넷 TV, IPTV 등으로 대표되는 비디오 전송 기술은 랜더링 응용 프로그램(rendering application)을 탑재한 다양한 수신 디바이스를 대상으로 서비스되는 추세이다. 따라서, 각 비디오 스트리밍 데이터 수신 디바이스는 서로 상이한 대역폭(bandwidth) 및 프로세싱 파워(processing power)를 전제하고 있어, 비디오 스트리밍 기술은 보다 민감한 응용 특성을 수용하고 다양한 수신 디바이스의 품질 요구사항을 만족시킬 필요성이 있다.
이를 위해, 통상적인 비디오 압축 기법에 의해 압축되고 패킷화된 비디오 데이터를 네트워크 상황, 미디어의 특성 및 수신 디바이스의 요구사항을 종합적으로 고려하여 선별적으로 제어하고 전송할 필요가 있다. 그러나, 종래의 비디오 스트리밍 스케줄링 기법은 주로 네트워크의 특성에 초점을 맞추고 있고, 시간 제약성, 프레임간 종속성/상관관계, 영상왜곡 최소화 등으로 대표되는 미디어의 주요한 특성을 비디오 스트리밍 서비스에 적절히 반영하지 못하고 있는 문제점이 있어 개선의 필요성이 크다.
살펴본 바와 같은 문제점을 고려할 때, 네트워크 성능 및 영상 품질 영역으로 구분하여 비디오 패킷 전달 및 수신 성능의 저하 요인을 도출해 낼 수 있다. 즉, 패킷 손실, 훼손 및 지연을 유발하는 네트워크 조건으로는 가용 대역폭 (available bandwidth)의 부족, 네트워크 체증(congestion), 병목(bottleneck) 현상 등을 고려할 수 있다.
이와 같은 네트워크 문제점은 비디오 영상 왜곡(distortion)의 주요 요인으로 작용할 수 있는데, 이러한 비디오 영상 왜곡의 주요 요인으로는, 첫째, 비디오 패킷을 네트워크를 통해 전송 시 네트워크 상태에 따라 패킷의 손실(packet loss) 또는 훼손(damage)이 발생하는 경우와, 둘째, 비디오 패킷의 어떠한 손실이나 훼손 없이 수신측 디바이스에 패킷이 전달되었으나 프레임 데드라인을 초과한 경우로 나누어 고려할 수 있다.
따라서, 비디오 스트리밍 데이터의 전달 망 특성 및 수신 영상의 품질 유효성을 유기적으로 고려하여 비디오 패킷을 전달할 때, 단말 또는 비디오 응용의 민감도 및 영상 품질을 동시에 만족하는 비디오 패킷 제어 및 스케줄링이 가능할 것 이다.
이에 본 발명은, 비디오 패킷 스케줄링을 위한 서브 스케줄링 윈도우(sub-scheduling window)를 구성하고 패킷의 선별적 제어를 가능하게 함으로써, 비디오 패킷 손실, 훼손에 따른 영상 재생 실패 또는 왜곡(distortion) 등의 현상을 최소화할 수 있는 네트워크 미디어 인지형 비디오 스트리밍 스케줄링을 위한 장치 및 방법을 제공하고자 한다.
본 발명의 과제를 해결하기 위한 일 관점에 따르면, 인터넷 프로토콜 기반의 유무선망과, 상기 인터넷 프로토콜 기반의 유무선망의 가용 대역폭에 따른 네트워크 성능 및 비디오 스트리밍 패킷의 특성 분석을 통한 미디어 특성에 따른 서브 스케줄링 윈도우를 구성하여 스케줄링 서비스를 수행하는 비디오 스트리밍 서버와, 상기 비디오 스트리밍 서버의 스케줄링 서비스에 따른 비디오 스트리밍 패킷을 수신하여 비디오 프레임으로 복호화 및 렌더링하며, 상기 수신된 비디오 스트리밍 패킷의 미디어 특성을 판별하고, 상기 판별된 미디어 특성에 따라 재전송 요청 피드백 메시지를 구성하여 상기 비디오 스트리밍 서버로 전송하는 클라이언트 단말을 포함하는 비디오 스트리밍 스케줄링 장치를 제공한다.
본 발명의 과제를 해결하기 위한 다른 관점의 일 실시예에 따르면, 인터넷 프로토콜 기반의 유무선망을 통해 비디오 스트리밍 서버에서 클라이언트 단말로 비디오 스트리밍 스케줄링을 서비스하는 방법으로서, 상기 비디오 스트리밍 서버에 의해 비디오 스트리밍 패킷의 전송이 시작되면, 상기 인터넷 프로토콜 기반의 유무선망의 가용 대역폭 정보를 측정하고, 상기 비디오 스트리밍 패킷의 프레임 재생 순서에 근거하여 순차적으로 각 패킷들을 전송 대기열에 배열하는 과정과, 상기 클라이언트 단말로부터 피드백 메시지가 수신되면 상기 수신된 피드백 메시지로부터 미디어 특성과 관련된 지표를 분석하고, 패킷 손실 확률 모델을 이용하여 전송률을 조율하여 상기 미디어 특성과 상기 인터넷 프로토콜 기반의 유무선망의 네트워크 성능을 고려한 서브 스케줄링 윈도우를 구성하는 과정과, 상기 구성된 서브 스케줄링 윈도우를 상기 비디오 스트리밍 패킷에 적용하여 순차적으로 프로토콜에 바인딩하여 상기 클라이언트 단말로 전송하는 과정을 포함하는 비디오 스트리밍 스케줄링 방법을 제공한다.
본 발명의 과제를 해결하기 위한 다른 관점의 다른 실시예에 따르면, 인터넷 프로토콜 기반의 유무선망을 통해 비디오 스트리밍 서버로부터의 비디오 스트리밍 패킷을 수신하는 클라이언트 단말의 비디오 스트리밍 스케줄링 방법으로서, 상기 수신되는 비디오 스트리밍 패킷이 손실, 훼손, 지연이 발생된 비디오 스트리밍 패킷이면, 상기 비디오 스트리밍 패킷에 대한 미디어 특성 정보를 파악하기 위해 상기 비디오 스트리밍 패킷의 프레임 데드라인 연산 및 프레임간 종속성을 체크하는 과정과, 상기 미디어 특성 정보를 파악한 결과, 상기 비디오 스트리밍 패킷의 프레임데드라인이 만료되지 않았으면, 상기 비디오 스트리밍 패킷의 프레임간 종속성 검사를 통해 참조 프레임 여부를 검사하고 만료되지 않은 참조 프레임에는 중요도 높음의 재전송 우선순위를 부여하며, 만약 만료되지 않은 일반 프레임인 경우 중요 도 중간의 재전송 우선순위를 부여하는 과정을 포함하는 비디오 스트리밍 스케줄링 방법을 제공한다.
본 발명에 의하면, 종래 네트워크 상태 모니터링만을 통해 패킷 손실 가능성 또는 손실 여부에 기초한 정보를 토대로 비디오 패킷을 스케줄링하던 방식과는 달리, 대역폭에 기초한 네트워크 패킷 손실 예측은 물론, 영상 품질을 결정하는 주요한 지표인 프레임 데드라인 초과, 참조 프레임 여부 및 데드라인을 초과한 프레임의 GOP(Group Of Picture) 내의 유효성과 같은 미디어 지표를 추가적으로 검토하고 이를 서버 측에서 패킷의 선별적 추출 및 제어를 이용함으로써, 네트워크 성능 및 미디어 특성을 동시에 고려한 비디오 스트리밍 스케줄링을 제공할 수 있다.
본 발명은, 비디오 압축 기법에 의해 부호화된 영상 데이터를 패킷으로 구성 및 전달한 후 동적 네트워크 특성에 기인하여 패킷 손실, 훼손 또는 지연이 발생 시 이를 수신측에서 감지하고, 수신 패킷의 데이터(프레임 일부를 구성하는)의 미디어 특성을 파악하여 패킷의 재전송 요청을 위한 피드백 메시지(feedback message)를 구성하고 이를 서버 측에 전달함으로써 비디오 패킷 스케줄링을 위한 서브 스케줄링 윈도우(sub-scheduling window) 구성 및 패킷의 선별적 제어를 가능하게 하는 것을 특징으로 한다.
또한 본 발명은, 비디오 데이터의 프레임간 종속성/상관성(inter-frame dependency/correlation), 영상 재생 데드라인(playback deadline), 프레임 우선순위(frame importance), GOP 유효성(validity in Group Of Picture), 모션 예측(motion-estimation), 에러 전파(error propagation) 등을 고려한 미디어 인지 기반의 스케줄링 및 시스템 구성을 통해 수신측 디바이스에서 전달하는 피드백 정보(feedback information)를 이용하여 전달되는 원본 스트리밍 영상 데이터 품질을 안정적으로 보장할 수 있는 최적화된 전송 패킷 선별 및 제어 방안을 제공하는 것을 특징으로 한다.
이를 위해 본 발명에서는, 다양한 비디오 스트리밍 응용 요구사항을 기반으로 네트워크를 통해 여러 형태의 수신 디바이스에 전달되는 영상 서비스의 품질을 안정적으로 보장하기 위한 비디오 패킷 스케줄링에 관한 것으로, 원시 비디오 데이터를 부호화하여 프레임을 구성하고 프레임을 단편화하여 패킷을 구성하며, 이를 전달 대기열(queue)에 포함시키고 수신 측 디바이스의 피드백 메지시를 통해 네트워크 및 미디어 특성을 유기적으로 고려하여 최적화된 서브 스케줄링 윈도우를 구성한 뒤 이에 속한 비디오 패킷을 순차적으로 전달 프로토콜에 바인딩 시킨 뒤 전달하는 네트워크 미디어 인지형 스트리밍 서버와 훼손되어 수신된 비디오 패킷, 수신 실패 또는 수신 지연된 비디오 패킷의 재수신 가능성 여부를 본 발명에서 제안한 검증 방법을 통해 타진하고, 재전송 요청이 불가한 패킷은 폐기처분하고 그렇지 않은 패킷에 대해서는 관련된 피드백 메시지를 구성하며, 구성된 재전송 요청 메시지를 서버 측에 전달하는 네트워크 미디어 인지형 스트리밍 클라이언트를 포함한 다.
상기 시스템은, 가용 대역폭, 체증, 병목현상 등의 네트워크 상태를 모니터링할 수 있는 외부 네트워크 모니터링 서버를 더 포함할 수 있다.
상기 네트워크 인지형 비디오 스트리밍 서버는 패킷 형태로 구성된 비디오 프레임 데이터를 전달하기 위해 전송 대기열에 이를 원본 데이터의 프레임 순서에 맞추어 순차적으로 배열하며, 네트워크 가용 대역폭을 주기적으로 측정하여, 패킷 손실 확률 모델(packet loss probability model)을 구성하고, 이를 바탕으로 패킷 전달률(packet transmission rate)을 조율하여, 서브 스케줄링 윈도우를 대기열로부터 추출하는 것을 특징으로 한다.
상기 네트워크 인지형 비디오 스트리밍 서버는 서비스 스케줄링 윈도우에 포함된 패킷을 순차적으로 전송 프로토콜(transport protocol)에 바인딩시켜 전송하며, 만약 전송 도중 재전송과 관련된 피드백 메시지가 클라이언트로부터 수신되면, 해당 메시지의 참조 프레임(reference frame) 여부, 프레임 데드라인(frame deadline) 초과, GOP 유효성(validity in Group Of Picture) 등과 같은 관련 지표를 추출하는 것을 특징으로 한다.
상기 네트워크 인지형 비디오 스트리밍 서버는 상기와 같이 추출된 성능 지표를 이용하여 기존에 구성된 서브 스케줄링 윈도우를 최적화된 형태로 재구성한 후 상기 언급한 절차와 같이 패킷 전송을 수행하는 것을 특징으로 한다.
상기 네트워크 미디어 인지형 스트리밍 클라이언트는 수신 훼손, 실패, 또는 지연된 비디오 패킷의 재전송 유효성 검증을 위해 해당 패킷의 참조 프레임 여부, 프레임 데드라인 초과, GOP 유효성을 대표 유효 검증 인자로 이용하여 식별 및 계산하여 해당 패킷을 분류하는 것을 특징으로 한다.
상기 네트워크 미디어 인지형 스트리밍 클라이언트는 수신 훼손, 실패 또는 지연된 비디오 패킷에 대하여 다수의 유형 중 하나로 분류하고, 이에 따른 재전송 요청을 위한 우선순위 평가 또는 패킷 폐기처분과 같은 절차를 수행하는 것을 특징으로 한다.
상기 네트워크 미디어 인지형 스트리밍 클라이언트는 분류된 패킷 유형에 따라 재전송 요청을 위한 피드백 메시지를 우선순위 평가 수치와 함께 구성하거나 그렇지 않을 경우 해당 패킷을 폐기하는 것을 특징으로 한다.
본 발명에서 언급하는 원시 비디오 데이터의 부호화 및 복호화, 그리고 재생은 통상적인 모션 예측 기반 비디오 압축 기술의 설치 및 운용에 준하는 것으로 고려될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대하여 상세하게 설명한다.
실시예의 설명에 앞서, 본 발명은, 동적인 네트워크 조건 및 비디오 미디어 특성을 함께 고려하여 비디오 스트리밍 서비스(video streaming service)를 적응적으로 스케줄링하기 위한 위해, 네트워크 미디어 인지형(network media-aware)의 스트리밍 클라이언트로부터 패킷의 손실, 훼손 및 지연 등의 정보를 재전송하기 위한 피드백(feed-back) 형태의 메시지를 네트워크 미디어 인지형의 스트리밍 서버가 수렴하여, 이를 통해 최적화된 서브 스케줄링 윈도우(sub-scheduling window)를 구성한 후 이에 따라 순차적으로 비디오 패킷을 제어 및 전달하는 절차를 수행한다는 것으로, 이러한 기술 사상으로부터 본 발명에서 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.
도 1은 본 실시예에 따른 비디오 스트리밍 스케줄링 장치에 대한 개략적인 구성 블록도로서, 비디오 스트리밍 서버(1000), IP 기반 유무선망(2000), 클라이언트 단말 그룹(3000)을 포함한다.
도 1에 도시한 바와 같이, 비디오 스트리밍 서버(1000)는 모션 예측 기반 비디오 압축 기술을 토대로 원시 비디오 데이터를 부호화 절차를 통해 프레임으로 변경하고, 변경된 프레임을 각각의 데이터로 분할한 후 이를 네트워크 전송이 가능한 비디오 스트리밍 패킷 형태로 생성하여 클라이언트 단말 그룹(3000)으로 전송하는 역할을 한다.
이러한 비디오 스트리밍 서버(1000)는, 네트워크 미디어 인지형 스케줄링 및 피드백에 의한 패킷 손실 예측에 따라 서브 스케줄링 윈도우를 구성하고, 구성된 서브 스케줄링 윈도우를 기반으로 비디오 스트리밍 패킷을 실시간으로 클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예컨대 클라이언트 단말1(3000/1)로 전달함으로써, 효율적인 비디오 패킷 선별 작업을 통한 스케줄링이 가능하도록 한다.
구체적으로 비디오 스트리밍 서버(1000)는, 클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예컨대 클라이언트 단말1(3000/1)로부터 수신된 피드백 메시지, 즉 네트워크 미디어 인지형(network media-aware)의 피드백 메시지(feed-back message)로부터 미디어 특성 정보를 추출하고, 추출된 미디어 특성 정보와 종전의 패킷 손실 예측 자료를 동시에 고려하여 다음 전송을 위해 대기열에 머물러 있는 패킷과 재전송이 요구된 패킷간의 네트워크 성능 및 미디어 특성에 근간한 우선 순위를 고려한 최적화된 서브 스케줄링 윈도우를 구성하며, 구성된 서브 스케줄링 윈도우에 따라 순차적으로 비디오 스트리밍 패킷을 클라이언트 단말 그룹(3000)으로 제어 및 전달하는 것을 특징으로 한다.
IP 기반 유무선망(2000)은 IP 기반의 유선망 또는 무선망으로서, 비디오 스트리밍 서버(1000)와 클라이언트 단말 그룹(3000) 사이에서 유무선 통신 환경을 지원하는 역할을 한다.
이러한 IP 기반 유무선망(2000)은, 예컨대 인터넷(Internet)으로서, TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 개방형 컴퓨터 네트워크 구조를 의미하며, 클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예를 들면 클라이언트 단말1(3000/1)이 비디오 스트리밍 서버(1000)에 접속될 수 있게 하는 환경을 제공한다.
또한 IP 기반 유무선망(2000)에서 무선 통신망은, 클라이언트 단말 그 룹(3000)의 이동성을 보장하는 역할을 하며, 핸드 오버 및 무선 자원 관리 기능 등을 한다. 무선 통신망은 기지국 및 기지국 제어기를 포함하여 구성되고, 동기식 및 비동기식을 모두 지원한다. 여기서, 동기식인 경우에는 기지국은 BTS(Base Transceiver Station), 기지국 제어기는 BSC(Base Station Controller)가 될 것이고, 비동기식인 경우에는 기지국은 노드 B(Node B), 기지국 제어기는 RNC(Radio Network Controller)가 될 것이다. 물론, 무선 통신망은 이에 한정되는 것은 아니고, CDMA망이 아닌 GSM(Global System for Mobile Communication)망 및 향후 구현될 모든 이동 통신 시스템의 접속망을 포함할 수 있다.
클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예컨대 클라이언트 단말1(3000/1)은, 비디오 스트리밍 수신 디바이스 또는 비디오 스트리밍 재생 디바이스를 포함할 수 있으며, IP 기반 유무선망(2000)을 통해 비디오 스트리밍 서버(1000)로부터 수신된 비디오 스트리밍 패킷을 비디오 프레임으로 복호화하고 이를 렌더링(rendering)하여 원 영상을 재생하는 기능을 한다.
이때, 클라이언트 단말1(3000/1)은 비디오 스트리밍 서버(1000)로부터 수신된 비디오 스트리밍 패킷이 이상 패킷인 경우, 예를 들어 패킷의 손실, 훼손, 지연 등이 발견될 경우, 해당 패킷에 포함된 데이터의 미디어 특성을 파악하여 이를 기초로 재전송 요청 여부를 결정한다. 만일, 재전송 요청이 필요한 경우, 클라이언트 단말1(3000/1)은 재전송 요청 피드백 메시지(네트워크 미디어 인지형 피드백 메시지)를 작성하여 이를 비디오 스트리밍 서버(100)에 전달한다.
도 2는 도 1의 비디오 스트리밍 서버(1000)와 클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예컨대 클라이언트 단말1(3000/1)의 상세 구성을 도시한 것이다.
먼저, 비디오 스트리밍 서버(1000)는, 비디오 스트리밍 패킷의 전송을 담당하는 비디오 스트리밍 전송부(video streaming transmitter)(100)와, 비디오 스트리밍 패킷의 적응적 스케줄링을 담당하는 비디오 스케줄링 매니저(video scheduling manager)(200)를 포함한다.
여기서, 비디오 스트리밍 전송부(100)는, 원시 비디오 데이터를 부호화하는 인코딩부(encoding module)(102)와, 인코딩부(102)를 통해 부호화된 데이터를 비디오 스트리밍 패킷 형태로 구성하는 패킷 처리부(packetizing module)(104)와, 패킷 처리부(104)를 통해 구성된 비디오 스트리밍 패킷을 IP 기반 유무선망(2000)을 통해 클라이언트 단말1(3000/1)로 전송하는 스트림 바인딩부(streaming binding module)(106)를 포함한다.
비디오 스케줄링 매니저(200)는 피드백 수신부(feedback receiver module)(202), 미디어 분석부(meida property analysis module)(204), 대역폭 예측부(bandwidth prediction module)(206), 패킷 스케줄링 결정부(packet scheduling decision module)(208) 및 큐 관리부(queue management module)(210)를 포함하며, 이들 각각의 구성에 대해 상세히 설명하면 다음과 같다.
먼저, 피드백 수신부(202)는 클라이언트 단말1(3000/1)로부터의 재전송 요청 피드백 메시지, 즉 본 실시예에 따른 네트워크 미디어 인지형의 재전송 요청 피드백 메시지를 수신하는 역할을 한다.
미디어 분석부(204)는 피드백 수신부(202)를 통해 수신되는 네트워크 미디어 인지형의 재전송 요청 피드백 메시지로부터 미디어 특성 정보를 분석하는 역할을 한다.
대역폭 예측부(206)는 현재 네트워크, 즉 IP 기반 유무선망(2000)의 가용 대역폭을 예측하여 패킷 손실 예측 정보를 생성하고, 생성된 패킷 손실 예측 정보를 후술하는 패킷 스케줄링 결정부(208)로 전달하는 역할을 한다.
패킷 스케줄링 결정부(208)는 미디어 분석부(204)를 통해 분석된 미디어 특성 정보를 수집하고, 수집된 미디어 특성 정보와 대역폭 예측부(206)로부터 전달된 패킷 손실 예측 정보를 동시에 고려하여 미디어 특성을 반영한 최적화된 서브 스케줄링 윈도우를 구성한다. 즉, 패킷 스케줄링 결정부(208)는 미디어 특성 정보와 패킷 손실 예측 정보를 통해 후술하는 큐 관리부(210)의 대기열에 존재하는 패킷으로부터 패킷 전송 데드라인을 최소화하기 위한 서브 스케줄링 윈도우를 구성하는 역할을 한다.
큐 관리부(210)는 패킷 처리부(104)를 통해 구성된 비디오 스트리밍 패킷을 대기열에 임시 저장한 후, 패킷 스케줄링 결정부(208)를 통해 구성된 서브 스케줄링 윈도우에 따라 해당 비디오 스트리밍 패킷을 선별적으로 추출 및 제어하여 스트림 바인딩부(106)로 전달하는 역할을 수행한다.
즉, 큐 관리부(210)는, 패킷 처리부(104)를 통해 구성된 비디오 스트리밍 패킷을 스트림 바인딩부(106)를 통해 클라이언트 단말1(3000/1)로 전송하기 전에, 패킷 스케줄링 결정부(208)를 통해 구성된 서브 스케줄링 윈도우를 고려한 패킷 전송 이 이루어지도록 한다. 예컨대, 큐 관리부(210)는, 대역폭에 기초한 네트워크의 "패킷 손실 예측 정보", 영상 품질을 결정하는 주요한 지표인 프레임 데드라인 초과, 참조 프레임 여부 및 데드라인을 초과한 프레임의 GOP(Group Of Picture) 내의 유효성 등의 "미디어 특성 정보"를 각각 고려한 비디오 스트리밍 스케줄링을 제공하는 역할을 한다.
한편, 클라이언트 단말1(3000/1)은 비디오 스트리밍 패킷을 수신하는 비디오 스트리밍 수신부(video streaming receiver)(300)와, 수신된 비디오 스트리밍 패킷의 미디어 특성 정보를 파악하고 피드백 메시지를 생성 및 전송하는 비디오 피드백 매니저(video feedback manager)(400)를 포함한다.
여기서, 비디오 스트리밍 수신부(300)는, 비디오 스트리밍 서버(1000)로부터 비디오 스트리밍 패킷을 수신하는 스트림 언바인딩부(streaming unbinding module)(302)와, 스트림 언바인딩부(302)를 통해 수신된 비디오 스트리밍 패킷을 비디오 프레임으로 복호화하는 디코딩부(decoding module)(304)와, 디코딩부(304)를 통해 복호화된 비디오 프레임을 렌더링하여 원 영상으로 재생할 수 있게 하는 렌더링부(rendering module)(306)를 포함한다.
비디오 피드백 매니저(400)는, 패킷 손실 예측부(packet damage/loss detection module)(402), 피드백 구성 및 전송부(feedback construction & transmission module)(404), 패킷 폐기부(packet discarding module)(406), 데드라인 연산부(deadline calculating module)(408), 프레임간 종속성 검사부(inter-frame dependency checker)(410), GOP 정당성 검사부(GOP validity checker)(412) 를 포함하며, 이들 각각의 구성에 대해 상세히 설명하면 다음과 같다.
먼저, 패킷 손실 예측부(402)는 스트림 언바인딩부(302)를 통해 수신된 비디오 스트리밍 패킷에 대한 패킷 손실 예측 및 미디어 특성 검사를 수행하는 역할을 한다.
피드백 구성 및 전송부(404)는 패킷 손실 예측부(402)의 패킷 손실 예측 및 미디어 특성 검사에 따른 패킷 손실 예측 정보 및 미디어 특성 정보를 피드백 메시지로 구성하여 비디오 스트리밍 서버(1000)의 피드백 수신부(202)로 전송하는 역할을 한다.
패킷 폐기부(406)는 패킷 손실 예측부(402)의 미디어 특성 검사 결과, 재전송 요청이 불필요한 경우로 판단된 경우에, 해당 비디오 스트리밍 패킷을 폐기 처리하는 역할을 한다.
데드라인 연산부(408)는 하나의 비디오 프레임 구성을 위해 요구되는 해당 비디오 스트리밍 패킷의 도착 마감시간을 계산하는 역할을 한다.
프레임간 종속성 검사부(410)는 해당 비디오 프레임이 참조 프레임인지의 여부를 판별하는 역할을 한다.
GOP 정당성 검사부(412)는 GOP 구성에 필요한 별도의 마감시간을 두어 재차 재전송을 요구할 필요성이 있을 경우에, GOP 구성에 요구되는 해당 프레임의 재전송 요청 가능성에 대한 유효성 여부를 검사하는 역할을 한다.
한편, 본 실시예에 따른 미디어 특성 검사는, 첫째, 데드라인 연산부(408)를 통해 하나의 비디오 프레임 구성을 위해 요구되는 해당 패킷의 도착 마감시간이 계 산되는데, 통상적으로 하나의 프레임은 하나 이상의 패킷을 통해 분할된 데이터 형태로 전달되기 때문에 각 패킷에 포함된 프레임 부분 정보는 각기 다른 데드라인을 갖게 되는 구조적 특징이 있다. 둘째, 프레임간 종속성 검사부(410)를 통해 해당 프레임이 참조 프레임인지 여부가 판별되는데, 참조 프레임은 동일 GOP내에 속하며 연속적으로 수신되는 다음 프레임들을 위한 복호화 정보를 제공하기 때문에 큰 중요도를 갖는 구조적 특징이 있다. 셋째, 참조 프레임의 경우 프레임의 실시간 조합에 필요한 도착시간을 초과하였더라도, GOP내의 다른 프레임의 참조자로서의 역할을 수행해야 하므로, GOP 구성에 필요한 별도의 마감시간을 두어 재차 재전송을 요구할 필요성이 있다. 따라서 이를 GOP 정당성 검사부(412)에 의해 수행한다.
이와 같은 세 가지 미디어 특성 및 유형 검사를 통해 획득된 정보는 패킷 손실 예측부(402)에게 전달된 뒤 피드백 구성 및 전송부(404)를 통해 비디오 스트리밍 서버(1000)의 피드백 수신부(202)로 전달되며, 이는 다시 미디어 분석부(204)에 전달되어 패킷 스케줄링 결정부(208)는 비디오 데이터의 왜곡 정보를 획득하게 된다.
그러나, 만약 미디어 특성 검사 후 재전송 요청이 불필요 또는 불가한 경우라면, 패킷 폐기부(406)를 통해 단순히 패킷을 폐기한다.
다음으로, 패킷 스케줄링 결정부(208)는 비디오 패킷 스케줄링 및 전달을 수행하던 도중 미디어 분석부(204)를 통해 미디어 특성 정보가 수집되면, 대역폭 예측부(206)를 통해 획득된 패킷 손실 예측 정보와 함께 미디어 특성을 반영한 기존 스케줄링 윈도우를 보다 최적화된 형태로 재구성한다.
도 3은 미디어 특성을 구분하기 위한 세 가지 지표를 통해 재전송 요구 가능여부를 기준으로 비디오 스트리밍 패킷의 유형을 구분하는 과정을 도식화한 것이다.
먼저, 미디어 특성(300)은, 예컨대 프레임 데드라인, 참조 프레임, GOP 정당성 등으로 표현될 수 있으며, 이것을 패킷에 적용하면, 패킷(Y or N, Y or N, Y or N)(310)과 같이 기술할 수 있는데, 첫 번째 지표의 경우 프레임 데드라인을 초과하면 Y, 그렇지 않으면 N으로 표기하며, 두 번째 지표의 경우 참조 프레임이면 Y, 그렇지 않으면 N으로 표기하며, 세 번째 지표의 경우 패킷에 포함된 프레임 정보가 GOP 마감시간 내에 있어 유효하면 Y, 그렇지 않으면 N으로 표기한다.
이때, Y 및 N은 도 3의 주어진 범례에서도 알 수 있듯이, YES 및 NO를 각각 의미한다. 또한, 본 발명에서는 프레임 데드라인은 임의 패킷의 GOP 정당성 여부를 검증하기 위한 마감시간 보다 항상 작다는 가정을 전제로 한다.
다음으로, 상기 언급한 방법과 같이 패킷의 미디어 특성을 표기할 경우, 총 8가지 유형을 도출할 수 있는데 위의 가정에 따르면 패킷(N, Y, N)(350a) 및 패킷(N, N, N)(350b)은 존재할 수 없는 패킷 유형, 예컨대 가공 유형(unreal case)이 된다.
한편, 패킷(Y, Y, Y)(330a) 및 패킷(N, Y, Y)(330b)은 참조 프레임이면서 GOP 마감시간이 아직 유효하기 때문에 상대적으로 높은 중요도의 재전송 요구가 필요한 패킷으로 구분된다. 또한, 패킷(Y, N, Y)(360a) 및 패킷(N, N, Y)(360b)은 참조 프레임이 아니지만 GOP내 속할 수 있는 시간이 유효하므로 상대적으로 중간 정도의 중요도를 갖는 패킷으로 분류한다. 마지막으로, 패킷(Y, Y, N)(340a) 및 패킷(Y, N, N)(340b)은 프레임 데드라인도 초과하였을 뿐만 아니라 GOP내 진입 시간도 유효하지 않으므로 폐기(discard) 처분, 즉 재전송을 요청할 필요가 없는 유형의 패킷으로 간주한다.
결과적으로, 상기 제시된 패킷 유형 중 중요도 높음(high importance) 및 중요도 보통(medium importance)을 갖는 패킷만을 재전송 피드백 구성 및 전송(370)을 위한 미디어로 구분한다.
지금까지 네트워크 및 시스템 구성도, 시스템의 세부 블록 구성 및 동작, 그리고 패킷 유형 분류 기법에 대해 살펴보았다.
이하, 상술한 구성과 함께, 본 실시예에 따른 비디오 스트리밍 스케줄링 방법, 구체적으로 네트워크 성능 및 미디어 특성을 반영한 적응적 스케줄링 과정 및 미디어 특성 판별을 통한 피드백 메시지 생성 및 전달을 위한 구체적인 동작 과정을 첨부한 도 4 및 도 5의 흐름도를 참조하여 상세히 설명하기로 한다.
먼저, 도 4는 비디오 스트리밍 서버(1000)에서의 네트워크 성능 및 미디어 특성을 동시에 고려한 적응적 스케줄링 과정을 예시한 것이다.
도 4의 설명에 앞서, 본 실시예에서의 비디오 데이터의 부호화, 패킷화, 프로토콜 바인딩 절차 등은, 모션 예측 기반 비디오 압축 기법, 비디오 스트리밍 서버 운용 기법에 준하여 수행될 수 있으며, 이러한 사실은 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.
도 4에 예시한 바와 같이, 비디오 스트리밍 패킷의 전송이 시작되면(S400), 비디오 스트리밍 서버(1000)는 대역폭 예측부(206)를 통해 주기적으로 획득한 가용 대역폭 정보를 측정하고(S402), 프레임 재생 순서에 근거하여 순차적으로 각 패킷들을 큐 관리부(210)의 전송 대기열(큐)에 배열한다(S404).
이때, 비디오 스트리밍 서버(1000)는 클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예컨대 클라이언트 단말1(3000/1)로부터 피드백 메시지가 수신되는지를 판단하고(S406), 피드백 메시지가 수신되지 않으면 패킷 손실 확률 모델을 구성한 후 이를 근거로 프레임 데드라인을 최소화할 수 있도록 전송률 등을 조정하고(S408), 이에 근거한 서브 스케줄링 윈도우를 구성한다(S410).
반면, 패킷 전송 도중 피드백 메시지가 수신되는 경우에는, 비디오 스트리밍 서버(1000)는 미디어 분석부(204)를 통해 피드백 메시지로부터 미디어 특성과 관련된 지표를 추출하여 이를 분석하고, 패킷 손실 확률 모델을 이용하여 전송률을 조율하여 상기 미디어 특성과 네트워크 성능을 모두 고려하여 최적화된 서브 스케줄링 윈도우를 구성한다(S414).
이후, 비디오 스트리밍 서버(1000)는 생성된 서브 스케줄링 윈도우의 비디오 스트리밍 패킷을 순차적으로 프로토콜에 바인딩하여 클라이언트 단말1(3000/1)로 전송한다(S416).
이때, 전송 도중 새로운 신규 피드백 메시지가 클라이언트 단말1(3000/1)로부터 수신되면(S418), 비디오 스트리밍 서버(1000)는 단계(S412)로 피드백하여 최적화 서브 스케줄링 윈도우를 재구성하기 위한 상술한 과정들을 반복 수행한다.
그러나, 신규 피드백 메시지 수신되지 않으면, 비디오 스트리밍 서버(1000) 는 서버 스케줄링 윈도우상의 패킷 전송을 모두 처리한 후, 큐 관리부(210)의 전송 대기열(큐)에 전송할 패킷이 있는지 확인한다(S420).
만약, 큐 관리부(210)의 전송 대기열(큐)이 비었다면, 비디오 스트리밍 서버(1000)는 패킷 전송을 종료한다(S422). 그러나, 큐 관리부(210)의 전송 대기열(큐)이 비어있지 않다면, 비디오 스트리밍 서버(1000)는 단계(S402)로 피드백하여 가용 대역폭 정보를 측정하는 단계부터 과정들을 재 수행한다.
본 실시예에 따른 절차는, 큐 관리부(210)의 전송 대기열(큐)이 모두 비워질때까지 지속적으로 수행되는 것이 바람직하다.
도 5는 본 실시예에 따라, 클라이언트 단말 그룹(3000)의 임의의 클라이언트 단말, 예컨대 클라이언트 단말1(3000/1)의 비디오 스트리밍 스케줄링 방법, 구체적으로 클라이언트 단말1(3000/1)에서 패킷 이상 유무를 미디어 특성 검사 과정을 통해 확인하고, 그에 따른 재전송 피드백 메시지를 구성하여 비디오 스트리밍 서버(1000)에 전달하는 과정을 예시한 것이다.
도 5의 설명에 앞서, 본 실시예에서의 비디오 데이터의 프로토콜 언바인, 언패킷화, 복호화, 재생 절차 등은, 모션 예측 기반 비디오 압축 기법, 비디오 스트리밍 클라이언트 운용 기법에 준하여 수행될 수 있으며, 이러한 사실은 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.
또한, 도 5에서 미디어 특성을 파악하는 절차는 도 3에 제시된 패킷 유형 분류 방법을 기초로 수행되는 것이 바람직하다.
또한, 도 5에서는 도 3에 제시된 350a(패킷(N,Y,N)) 및 350b(패킷(N,N,N))와 같은 가공 유형은 고려하지 않는 것으로 한다.
도 5에 예시한 바와 같이, 비디오 스트리밍 패킷이 비디오 스트리밍 서버(1000)로부터 수신되면(S500), 클라이언트 단말1(3000/1)은 패킷의 손실, 훼손, 또는 지연이 발생했는지 확인한다(S502).
만약, 수신할 패킷에 이상이 발견되지 않으면(S502의 N), 클라이언트 단말1(3000/1)은 패킷 수신 모드를 지속한다.
그러나, 수신할 예정이거나 수신한 패킷에 이상이 발생했다고 판단되면(S502의 Y), 클라이언트 단말1(3000/1)은 데드라인 연산부(408)를 통해 프레임 데드라인을 연산한 후(S504), 프레임간 종속성 검사부(410)를 통해 프레임간 종속성을 체크한다(S506).
이와 같은 프레임간 데드라인 연산 및 종속성 체크 결과를 기반으로, 미디어 특성 정보가 1차적으로 파악될 수 있다.
만약, 프레임 데드라인이 만료된 참조 프레임인 경우(S508의 A-만료된 프레임인 경우)에는 클라이언트 단말1(3000/1)은 해당 패킷이 포함하고 있는 데이터가 구성할 프레임의 GOP 내의 진입 유효 시간, 즉 데드라인을 GOP 정당성 검사부(412)를 통해 연산한다(S510).
이때, GOP 데드라인이 만료되어 패킷 재전송이 불가능한 경우에는(S514의 A1-GOP 만료 프레임인 경우), 클라이언트 단말1(3000/1)은 패킷 폐기부(406)를 통해 해당 패킷을 폐기 처분하는 것으로 결정한다(S516).
또는, GOP 데드라인이 지나지 않아 패킷 재전송이 유효한 경우에는(S514의 A2-GOP 유효 프레임인 경우), 클라이언트 단말1(3000/1)은 프레임간 종속성 검사부(410)를 통해 참조 프레임 여부를 검사한다(S512).
참조 프레임 여부를 검사한 결과, 만약 참조 프레임인 경우(S512의 A21-GOP 유효 참조 프레임인 경우), 클라이언트 단말1(3000/1)은 중요도 높음의 재전송 우선순위를 부여하고, 일반 프레임인 경우(S512의 A22-GOP 유효 일반 프레임인 경우), 클라이언트 단말1(3000/1)은 중요도 중간의 재전송 우선순위를 부여한다.
다른 한편, 프레임 데드라인이 만료되지 않은 패킷인 경우(S508의 B-만료되지 않은 프레임인 경우)에는 클라이언트 단말1(3000/1)은 프레임간 종속성 검사부(410)를 통해 참조 프레임 여부를 검사한다(S512).
참조 프레임 여부를 검사한 결과, 참조 프레임을 구성하는 패킷 데이터라면(S512의 B1-만료되지 않은 참조 프레임인 경우) 클라이언트 단말1(3000/1)은 패킷 손실 예측부(402)를 통해 중요도 높음의 재전송 우선 순위를 부여하고(S518), 수신한 패킷의 데이터가 일반 프레임을 구성하는 일부분일 경우(S512의 B2-만료되지 않은 일반 프레임인 경우))에는 패킷 손실 예측부(402)를 통해 중요도 중간의 재전송 우선 순위를 각각 부여한다(S520).
이와 같이 우선 순위가 부여되면, 피드백 구성 및 전송부(404)에서는 이를 반영한 재전송 요청 피드백 메시지를 구성하여 비디오 스트리밍 서버(1000)로 전송한다(S522).
상술한 바와 같이 재전송을 위한 피드백 메시지 작성 및 전달 또는 패킷 폐기처분 과정을 수행한 후에는, 전체 영상에서 마지막 프레임을 구성하는 마지막 패 킷인지의 여부를 확인하는 과정을 거친다(S524).
만일, 해당 패킷이 마지막 프레임을 구성하는 패킷인 경우(S524의 Y)에는 패킷 수신을 종료하고(S526), 그렇지 않다면(S524의 N), 패킷 손실, 훼손, 또는 지연 여부의 감시(S502)를 시작하는 동시에, 상기 언급한 내용에 따른 절차를 반복 수행하는 것이 바람직하다.
이상 설명한 바와 같이, 본 실시예에 따르면, 대역폭에 기초한 네트워크 패킷 손실 예측은 물론, 영상 품질을 결정하는 주요한 지표인 프레임 데드라인 초과, 참조 프레임 여부 및 데드라인을 초과한 프레임의 GOP 내의 유효성과 같은 미디어 지표를 추가적으로 검토하고 이를 서버 측에서 패킷의 선별적 추출 및 제어를 이용함으로써, 네트워크 성능 및 미디어 특성을 동시에 고려한 비디오 스트리밍 스케줄링을 제공할 수 있다.
앞서 언급한 실시예는 본 발명을 한정하는 것이 아니라 예증하는 것이며, 이 분야의 당업자라면 첨부한 청구항에 의해 정의된 본 발명의 범위로부터 벗어나는 일 없이, 많은 다른 실시예를 설계할 수 있음을 유념해야 한다. 청구항에서는, 괄호 안에 있는 어떤 참조 기호도 본 발명을 한정하도록 해석되지 않아야 한다. "포함하는", "포함한다" 등의 표현은, 전체적으로 모든 청구항 또는 명세서에 열거된 것을 제외한 구성 요소 또는 단계의 존재를 배제하지 않는다. 구성 요소의 단수의 참조부는 그러한 구성 요소의 복수의 참조부를 배제하지 않으며, 그 반대도 마찬가지이다. 본 발명은, 몇몇 별개의 구성 요소를 포함하는 하드웨어 수단 및 적절히 프로그램된 컴퓨터 수단에 의해 실시될 수 있다. 몇몇 수단을 열거하는 청구항에 서, 이들 수단의 몇몇은 하드웨어의 같은 항목에 의해 구현될 수 있다. 서로 다른 종속항에 확실한 수단이 기술되었다고 하는 단순한 사실은, 이러한 수단의 조합이 사용될 수 없다는 것을 나타내지 않는다.
도 1은 본 실시예에 따른 IP 기반의 유무선망에서의 비디오 스트리밍 스케줄링 장치에 대한 네트워크 구성도,
도 2는 도 1의 비디오 스트리밍 서버와 클라이언트 단말의 상세 구성 블록도,
도 3은 본 실시예에 따라 미디어 특성을 식별하고 재전송 요청 피드백 메시지를 구성하는 패킷 분류 방법을 예시한 도면,
도 4는 본 실시예에 따른 비디오 스트리밍 스케줄링 방법, 구체적으로 비디오 스트리밍 서버에서 가용 대역폭 및 피드백 메시지를 정보를 동시에 고려하여 비디오 패킷을 적응적으로 스케줄링하여 전송하는 과정을 예시한 흐름도,
도 5는 본 실시예에 따른 비디오 스트리밍 스케줄링 방법, 구체적으로 클라이언트 단말에서 수신된 패킷의 이상 유무를 기반으로 미디어 특성을 파악하고 재전송 요청 피드백 메시지를 구성하는 과정을 예시한 흐름도.

Claims (13)

  1. 인터넷 프로토콜 기반의 유무선망과,
    상기 인터넷 프로토콜 기반의 유무선망의 가용 대역폭에 따른 네트워크 성능 및 비디오 스트리밍 패킷의 특성 분석을 통한 미디어 특성에 따른 서브 스케줄링 윈도우를 구성하여 스케줄링 서비스를 수행하는 비디오 스트리밍 서버와,
    상기 비디오 스트리밍 서버의 스케줄링 서비스에 따른 비디오 스트리밍 패킷을 수신하여 비디오 프레임으로 복호화 및 렌더링하며, 상기 수신된 비디오 스트리밍 패킷의 미디어 특성을 판별하고, 상기 판별된 미디어 특성에 따라 재전송 요청 피드백 메시지를 구성하여 상기 비디오 스트리밍 서버로 전송하는 클라이언트 단말
    을 포함하는 비디오 스트리밍 스케줄링 장치.
  2. 제 1 항에 있어서,
    상기 비디오 스트리밍 서버는,
    상기 클라이언트 단말로부터 전송되는 상기 재전송 요청 피드백 메시지로부터 미디어 특성 정보를 추출하고, 상기 추출된 미디어 특성 정보와 상기 클라이언트 단말의 패킷 손실 예측 정보를 기반으로 상기 서브 스케줄링 윈도우를 구성하는 비디오 스트리밍 스케줄링 장치.
  3. 제 1 항에 있어서,
    상기 비디오 스트리밍 서버는,
    상기 비디오 스트리밍 패킷의 전송을 담당하는 비디오 스트리밍 전송부와,
    상기 비디오 스트리밍 패킷의 적응적 스케줄링을 담당하는 비디오 스케줄링 메니저
    를 포함하는 비디오 스트리밍 스케줄링 장치.
  4. 제 3 항에 있어서,
    상기 비디오 스트리밍 전송부는,
    원시 비디오 데이터를 부호화하는 인코딩부와,
    상기 인코딩부를 통해 부호화된 데이터를 상기 비디오 스트리밍 패킷으로 구성하는 패킷 처리부와,
    상기 패킷 처리부를 통해 구성된 비디오 스트리밍 패킷을 상기 인터넷 프로토콜 기반의 유무선망을 통해 상기 클라이언트 단말로 전송하는 스트리미 바인딩부
    를 포함하는 비디오 스트리밍 스케줄링 장치.
  5. 제 3 항에 있어서,
    상기 비디오 스케줄링 매니저는,
    상기 클라이언트 단말로부터의 재전송 요청 피드백 메시지를 수신하는 피드백 수신부와,
    상기 수신된 재전송 요청 피드백 메시지로부터 미디어 특성 정보를 분석하는 미디어 분석부와,
    상기 인터넷 프로토콜 기반의 유무선망의 가용 대역폭을 예측하여 패킷 손실 예측 정보를 생성하는 대역폭 예측부와
    상기 분석된 미디어 특성 정보와 상기 생성된 패킷 손실 예측 정보를 동시에 고려하여 상기 서브 스케줄링 윈도우를 구성하는 패킷 스케줄링 결정부와,
    상기 비디오 스트리밍 전송부를 통해 구성된 비디오 스트리밍 패킷을 대기열에 임시 저장한 후, 상기 구성된 서브 스케줄링 윈도우에 따라 상기 비디오 스트리밍 패킷을 선별적으로 추출 및 제어하여 상기 비디오 스트리밍 전송부로 전달하는 큐 관리부
    를 포함하는 비디오 스트리밍 스케줄링 장치.
  6. 제 1 항에 있어서,
    상기 클라이언트 단말은,
    상기 비디오 스트리밍 서버로부터의 비디오 스트리밍 패킷을 수신 및 영상 처리하는 비디오 스트리밍 수신부와,
    상기 수신된 비디오 스트리밍 패킷의 미디어 특성 정보를 파악하고, 상기 파악된 미디어 특성 정보에 따른 피드백 메시지를 생성 및 전송하는 비디오 피드백 매니저
    를 포함하는 비디오 스트리밍 스케줄링 장치.
  7. 제 6 항에 있어서,
    상기 비디오 스트리밍 수신부는,
    상기 비디오 스트리밍 패킷을 수신하는 스트림 언바인딩부와,
    상기 수신된 비디오 스트리밍 패킷을 비디오 프레임으로 복호화하는 디코딩부와,
    상기 복호화된 비디오 프레임을 렌더링하여 원 영상으로 재생할 수 있게 하는 렌더링부
    를 포함하는 비디오 스트리밍 스케줄링 장치.
  8. 제 6 항에 있어서,
    상기 비디오 피드백 매니저는,
    상기 수신된 비디오 스트리밍 패킷에 대한 패킷 손실 예측 및 미디어 특성 검사를 수행하는 패킷 손실 예측부와,
    상기 패킷 손실 예측 및 미디어 특성 검사에 따른 패킷 손실 예측 정보 및 미디어 특성 정보를 피드백 메시지로 구성하는 피드백 구성부와,
    상기 구성된 피드백 메시지를 상기 비디오 스트리밍 서버로 전송하는 피드백 전송부와,
    상기 미디어 특성 검사를 수행한 결과, 상기 비디오 스트리밍 패킷의 재전송 요청이 불필요한 경우로 판단된 경우에 상기 비디오 스트리밍 패킷을 폐기 처리하는 패킷 폐기부와,
    비디오 프레임의 구성을 위해 요구되는 상기 비디오 스트리밍 패킷의 도착 마감시간을 연산하는 데드라인 연산부와,
    상기 비디오 프레임이 참조 프레임인지의 여부를 판별하는 프레임간 종속성 검사부와,
    GOP(Group Of Picture)의 구성에 필요한 별도의 마감시간을 두어 상기 비디오 스트리밍 패킷의 재전송을 요구할 필요성이 있을 경우에 상기 GOP의 다른 프레임의 참조자로서의 역할을 하는 GOP 정당성 검사부
    를 포함하는 비디오 스트리밍 스케줄링 장치.
  9. 인터넷 프로토콜 기반의 유무선망을 통해 비디오 스트리밍 서버에서 클라이언트 단말로 비디오 스트리밍 스케줄링을 서비스하는 방법으로서,
    상기 비디오 스트리밍 서버에 의해 비디오 스트리밍 패킷의 전송이 시작되 면, 상기 인터넷 프로토콜 기반의 유무선망의 가용 대역폭 정보를 측정하고, 상기 비디오 스트리밍 패킷의 프레임 재생 순서에 근거하여 순차적으로 각 패킷들을 전송 대기열에 배열하는 과정과,
    상기 클라이언트 단말로부터 피드백 메시지가 수신되면 상기 수신된 피드백 메시지로부터 미디어 특성과 관련된 지표를 분석하고, 패킷 손실 확률 모델을 이용하여 전송률을 조율하여 상기 미디어 특성과 상기 인터넷 프로토콜 기반의 유무선망의 네트워크 성능을 고려한 서브 스케줄링 윈도우를 구성하는 과정과,
    상기 구성된 서브 스케줄링 윈도우를 상기 비디오 스트리밍 패킷에 적용하여 순차적으로 프로토콜에 바인딩하여 상기 클라이언트 단말로 전송하는 과정
    을 포함하는 비디오 스트리밍 스케줄링 방법.
  10. 제 9 항에 있어서,
    상기 방법은,
    상기 클라이언트 단말로부터 피드백 메시지가 수신되지 않으면, 상기 패킷 손실 확률 모델을 근거로 프레임 데드라인을 조정할 수 있는 서브 스케줄링 윈도우를 구성하는 과정
    을 더 포함하는 비디오 스트리밍 스케줄링 방법.
  11. 인터넷 프로토콜 기반의 유무선망을 통해 비디오 스트리밍 서버로부터의 비디오 스트리밍 패킷을 수신하는 클라이언트 단말의 비디오 스트리밍 스케줄링 방법으로서,
    상기 수신되는 비디오 스트리밍 패킷이 손실, 훼손, 지연이 발생된 비디오 스트리밍 패킷이면, 상기 비디오 스트리밍 패킷에 대한 미디어 특성 정보를 파악하기 위해 상기 비디오 스트리밍 패킷의 프레임 데드라인 연산 및 프레임간 종속성을 체크하는 과정과,
    상기 미디어 특성 정보를 파악한 결과, 상기 비디오 스트리밍 패킷의 프레임데드라인이 만료되지 않았으면, 상기 비디오 스트리밍 패킷의 프레임간 종속성 검사를 통해 참조 프레임 여부를 검사하고 만료되지 않은 참조 프레임에는 중요도 높음의 재전송 우선순위를 부여하며, 만약 만료되지 않은 일반 프레임인 경우 중요도 중간의 재전송 우선순위를 부여하는 과정
    을 포함하는 비디오 스트리밍 스케줄링 방법.
  12. 제 11 항에 있어서,
    상기 방법은,
    상기 프레임 데드라인이 만료되었으면, 상기 비디오 스트리밍 패킷의 프레임 내의 GOP 데드라인을 연산하는 과정과,
    상기 프레임 데드라인이 만료된 프레임이 상기 GOP 데드라인이 만료된 경우, 상기 비디오 스트리밍 패킷을 폐기 처분하는 과정과,
    상기 프레임 데드라인이 만료된 프레임이 상기 GOP 데드라인이 유효한 경우, 참조 프레임 여부를 검사하고, GOP 유효 참조 프레임인 경우 중요도 높음의 재전송 우선순위를 부여하고, 만약 GOP 유효 일반 프레임인 경우 중요도 중간의 재전송 우선순위를 부여하는 과정
    을 더 포함하는 비디오 스트리밍 스케줄링 방법.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 방법은,
    상기 GOP 데드라인을 연산하거나 상기 참조 프레임 여부를 검사한 결과, 상기 비디오 스트리밍 패킷의 재전송이 유효한 경우, 상기 비디오 스트리밍 패킷에 부여된 재전송 우선순위에 따라 재전송 요청 피드백 메시지를 구성하여 상기 비디오 스트리밍 서버로 전송하는 과정
    을 더 포함하는 비디오 스트리밍 스케줄링 방법.
KR1020090024053A 2008-12-01 2009-03-20 비디오 스트리밍 스케줄링 방법 및 장치 KR101098826B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080120806 2008-12-01
KR1020080120806 2008-12-01

Publications (2)

Publication Number Publication Date
KR20100062812A true KR20100062812A (ko) 2010-06-10
KR101098826B1 KR101098826B1 (ko) 2011-12-26

Family

ID=42363019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090024053A KR101098826B1 (ko) 2008-12-01 2009-03-20 비디오 스트리밍 스케줄링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101098826B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058277A1 (ko) * 2012-10-11 2014-04-17 삼성전자주식회사 무선 통신 시스템에서 청크 기반 스케줄링 방법 및 장치
KR20140105297A (ko) * 2013-02-22 2014-09-01 삼성전자주식회사 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치
WO2015076598A1 (ko) * 2013-11-20 2015-05-28 삼성전자 주식회사 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058277A1 (ko) * 2012-10-11 2014-04-17 삼성전자주식회사 무선 통신 시스템에서 청크 기반 스케줄링 방법 및 장치
US10244423B2 (en) 2012-10-11 2019-03-26 Samsung Electronics Co., Ltd. Chunk-based scheduling method and chunk-based scheduling apparatus in wireless communication system
KR20140105297A (ko) * 2013-02-22 2014-09-01 삼성전자주식회사 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치
WO2015076598A1 (ko) * 2013-11-20 2015-05-28 삼성전자 주식회사 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치

Also Published As

Publication number Publication date
KR101098826B1 (ko) 2011-12-26

Similar Documents

Publication Publication Date Title
US10419502B2 (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US10063606B2 (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
JP3757857B2 (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US9585062B2 (en) System and method for implementation of dynamic encoding rates for mobile devices
US20100312905A1 (en) Sustaining Live Interactive Streaming
JP2013518511A (ja) 再送決定する方法及び装置
Darabkh et al. Efficient PFD-based networking and buffering models for improving video quality over congested links
Nightingale et al. Optimised transmission of H. 264 scalable video streams over multiple paths in mobile networks
CN102342057A (zh) 用于可伸缩媒体的封装的方法和装置
KR20130138696A (ko) 멀티미디어 서비스를 위한 비트 에러율을 이용한 레이트 어댑테이션 방법 및 그 장치
Usman et al. Performance evaluation of high definition video streaming over mobile ad hoc networks
Herrero Analysis of IoT mechanisms for media streaming
Herrero MQTT-SN, CoAP, and RTP in wireless IoT real-time communications
JP2010028378A (ja) 通信装置及び通信方法
KR101098826B1 (ko) 비디오 스트리밍 스케줄링 방법 및 장치
da Silva et al. Preventing quality degradation of video streaming using selective redundancy
Exposito et al. Building self-optimized communication systems based on applicative cross-layer information
Kim et al. An efficient delay-constrained ARQ scheme for MMT packet-based real-time video streaming over IP networks
Nikzad et al. Performance evaluation of error control schemes for distributed video coding over wireless multimedia sensor networks
Hassan et al. A priority and path diversity-based approach for media streaming over multi-hop and unreliable networks
Chattopadhyay et al. Adaptive rate control for H. 264 based video conferencing over a low bandwidth wired and wireless channel
KR101700370B1 (ko) 지터 보정 방법 및 장치
Lee Squash: low latency multi-path video streaming using multi-bitrate encoding
Hussain Performance evaluation of H. 264/AVC encoded video over TETRA enhanced data service (TEDS)
Meyer Adaptation mechanism for streaming server applications optimized for the use on mobile devices with limited resources

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
FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161207

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee