KR101249613B1 - 비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법 - Google Patents

비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법 Download PDF

Info

Publication number
KR101249613B1
KR101249613B1 KR1020090108466A KR20090108466A KR101249613B1 KR 101249613 B1 KR101249613 B1 KR 101249613B1 KR 1020090108466 A KR1020090108466 A KR 1020090108466A KR 20090108466 A KR20090108466 A KR 20090108466A KR 101249613 B1 KR101249613 B1 KR 101249613B1
Authority
KR
South Korea
Prior art keywords
frame
frames
gop
video stream
nal
Prior art date
Application number
KR1020090108466A
Other languages
English (en)
Other versions
KR20110051733A (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 한국전자통신연구원
Priority to KR1020090108466A priority Critical patent/KR101249613B1/ko
Publication of KR20110051733A publication Critical patent/KR20110051733A/ko
Application granted granted Critical
Publication of KR101249613B1 publication Critical patent/KR101249613B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics

Abstract

본 발명은 각 수신 단말의 가용 대역폭에 맞게 비디오 프레임을 계층화하고 동시에 여러 수신 단말의 감소된 가용 대역폭에 맞게 비디오 프레임율을 독립적으로 제어함으로써, 끊김없는 비디오 스트리밍 서비스를 제공할 수 있는 장치 및 방법에 관한 것이다.
가용 대역폭, 비디오 스트림, NAL, GOP, VOD, 계층화

Description

비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법{NETWORK-ADAPTIVE VARIABLE STREAM LAYERED METHOD AND APPARATUS FOR VIDEO STREAMING}
본 발명의 일실시예들은 고화질 H.264/AVC 비디오 데이터를 IP기반 유무선 네트워크 환경에서 비디오 데이터를 수신하고 있는 수신 단말들 중에서 가용 대역폭이 감소한 수신 단말에 전송 중인 비디오 데이터의 프레임율(frame-rate)을 실시간으로 변환/제공함으로써, 끊김없는 비디오 스트리밍 서비스를 제공할 수 있다.
IP기반 유무선 네트워크 환경의 방송 서비스에서 고화질의 H.264/AVC 비디오 스트림을 제공할 경우, 네트워크 혼잡, 지터(jitter) 등의 영향으로 수신 단말의 가용 대역폭이 감소하고, 전송 비디오 패킷의 손실이 발생함으로써, 끊김없는 비디오 스트리밍 서비스를 보장 할 수 없었다.
종래기술에서는 이러한 문제점의 해결하기 위해, 동적으로 변화하는 네트워크 대역폭의 손실률에 따라 비트율(bit-rate) 변환부호화기(transcoding)를 이용하여 비디오 스트림을 재부호화 하거나, 국제 비디오 압축표준인 SVC(scalable video coding) 기술을 이용하여 미리 수신 단말의 성능에 따라 비디오 스트림을 계층화 하여 부호화함으로써, 전송 중인 비디오 스트림을 수신 단말의 가용 대역폭에 맞게 선택적으로 수신하도록 하였다.
그러나, 변환부호화기를 이용한 방법은 네트워크의 전송환경 변화로 감소한 가용 대역폭에 고화질의 비디오 데이터를 실시간으로 적응 변환하여 전송하기에는 어려움이 있다. 왜냐하면, 고화질의 비디오 데이터를 가용 대역폭에 맞게 재부호화하는 과정에서 발생하는 부호화 지연과 화질열화 현상으로 비디오 데이터의 QoS를 보장하기 어렵기 때문이다. 또한, 동일한 방송 프로그램을 시청하고 있는 다수 수신 단말의 가용 대역폭이 독립적으로 변화한 경우, 각각의 수신 단말이 허용할 수 있는 가용 대역폭에 맞게 고화질의 비디오 데이터를 실시간으로 변환부호화기로 변환하여 제공하기에는 무리가 따른다.
그리고, SVC 기술을 이용한 방법은 미리 수신 단말의 가용 대역폭에 맞게 비디오 데이터를 계층화하여 부호화함으로써 고화질의 비디오 데이터를 실시간으로 처리하기에는 어려움이 있다. 또한, 수신 단말의 성능에 따른 계층화 스트림을 판별하기 위한 오버헤드가 많다는 문제점이 있다.
본 발명의 일실시예는 국제 비디오 압축 표준으로 부호화된 H.264/AVC 비디오 스트림을 다수의 수신 단말들이 허용하는 네트워크 가용 대역폭에 맞게 압축 도메인에서 GOP(group of picture)을 구성하는 프레임의 점유 비트량에 따라 프레임을 제거하고, 실시간으로 여러 개의 비트율을 가지는 비디오 스트림으로 계층화하여 제공함으로써, 끊김없는 비디오 스트리밍 서비스를 보장하고, 시청자의 QoE(Quality of Experience)을 향상 시킬 수 있는 장치 및 방법을 제공하는 데 그 목적이 있다.
본 발명의 일실시예에 따른 네트워크 적응형 가변 스트림 계층화 장치는 H.264/AVC로 압축된 비디오 스트림을 분석하여상기 비디오 스트림의 NAL 정보를 출력하는 스트림 분석부, 상기 출력된 NAL 정보를 이용하여 상기 비디오 스트림에 포함된 프레임들을 GOP단위로 정렬하는 맵 테이블 생성부, 각 수신 단말의 가용 대역폭의 패킷 손실률 및 상기 NAL 정보를 참조하여 상기 정렬된 프레임을 선별적으로 제거하거나 또는 선택하는 레이트 제어부, 및 상기 선택된 프레임을 상기 각 수신 단말에서 복호화되도록 재구성하여 상기 각 수신 단말로 전송하는 출력 버퍼를 포함한다.
이때, 상기 네트워크 적응형 가변 스트림 계층화 장치는 각 수신 단말이 허용하는 가용 대역폭의 변화 유무에 따라, 상기 비디오 스트림의 계층화 여부를 결 정하는 제1 스위칭부를 더 포함하고, 상기 제1 스위칭부는 상기 가용 대역폭이 변화가 없는 경우, 상기 비디오 스트림을 상기 각 수신 단말들에게 그대로 전송하도록 제어하고, 상기 가용 대역폭이 감소한 경우, 상기 비디오 스트림을 계층화하도록 상기 스트림 분석부로 전달할 수 있다.
이때, 상기 비디오 스트림 분석부는 NAL의 종류, NAL의 순서, NAL 점유 비트량을 정보들을 출력하고, 상기 맵 테이블 생성부는 상기 NAL 정보에 포함된 점유 비트량에 따라, 상기 비디오 스트림에 포함된 프레임을 정렬할 수 있다.
여기서, 상기 H.264/AVC로 압축된 비디오 스트림은 한 개의 GOP를 구성하는 프레임에서 프레임내 압축 영상인 I 프레임, 프레임간의 순방향 예측을 통한 압축 영상인 P 프레임, 쌍방향 예측을 통한 압축 영상인 B 프레임으로 구성된 GOP 구조를 가진다. 이 경우, 상기 맵 테이블 생성부는 GOP를 구성하고 있는 프레임들을 NAL의 점유 비트량의 크기에 따라 I, P, B 프레임을 정렬한다. 이때, 상기 레이트 제어부는 상기 I 프레임을 제외한 나머지 P 프레임과 B 프레임을 제거함으로써 상기 비디오 스트림이 깨지는 현상을 방지할 수 있다.
이때, 상기 네트워크 적응형 가변 스트림 계층화 장치는 상기 비디오 스트림에 포함된 프레임을 GOP 단위로 저장하는 GOP 버퍼를 더 포함하고, 상기 레이트 제어부는 상기 맵 테이블 생성부를 FIFO 방식으로 참조하여 상기 GOP 버퍼로부터 출력되는 프레임들 중 제거 대상이 되는 프레임을 상기 레이트 제어부에서 제2 스위칭부를 제어하여 한 개의 GOP 단위로 제거하고, 제거되지 않은 프레임을 상기 출력 버퍼로 전달할 수 있다.
본 발명의 일실시예에 따르면, 동일한 비트율을 가지는 비디오 스트림을 여러 수신 단말들에게 보내는 도중, 수신 단말들의 가용 대역폭이 감소할 경우 전송 비디오 스트림을 재부호화 하지 않고 수신 단말들의 가용 대역폭에 맞게 압축 도메인에서 비트율을 변환하고 전송함으로써 비디오 스트림의 비트율을 조절하여 계층화하고 해당 수신 단말들에게 동시 전송 할 수 있다.
본 발명의 일실시예에 따르면, 고속으로 비디오 스트림의 GOP내에 프레임을 선별적으로 제거함으로써, 끊김없는 비디오 스트리밍 서비스를 제공할 수 있고, 비디오 스트림에 대한 QoS를 보장할 수 있다.
이하, 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 다양한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
도 1은 본 발명의 일실시예에 따른 GOP 구조를 가진 비디오 스트림의 일례를 도시한 도면이다.
도 1을 참조하면, H.264/AVC로 압축된 비디오 스트림은 한 개의 GOP(Group Of Picture)를 구성하는 프레임에서 프레임내 압축 영상인 I 프레임, 프레임간의 순방향 예측을 통한 압축 영상인 P 프레임, 쌍방향 예측을 통한 압축 영상인 B 프레임으로 구성된 GOP 구조를 가진다.
도 2는 본 발명의 일실시예에 따른 GOP를 구성하는 프레임의 종속관계에 대 한 일례를 도시한 도면이다.
도 2를 참조하면, 한 개의 GOP내에 구성된 I 프레임, P 프레임, B 프레임 간의 상호 종속관계를 나타낸다. GOP을 구성하는 'I 프레임'은 GOP내에서 화면을 독자적으로 압축하고, 'P 프레임'은 이전의 I 프레임 혹은 P 프레임을 참조하여 압축하고, 'B 프레임'은 I 프레임과 P 프레임을 동시에 참조하여 압축된 비디오 스트림이다.
도 3은 본 발명의 일실시예에 따른 H.264/AVC로 압축된 비디오 스트림의 비트열에 대한 일례를 도시한 도면이다.
도 3을 참조하면, H.264/AVC 비디오 스트림의 비트열은 4 바이트(byte)의 개시부호(start prefix code), 1 바이트의 Nal의 형태를 표시하는 Nal 헤더(Nal header), 한 개의 GOP내의 비디오 시퀀스 정보에 해당되는 SPS(sequence parameter set), 프레임의 정보에 해당되는 PPS(picture parameter set), I, B, P 프레임의 타입 정보를 가지고 있는 슬라이스 헤더(slice header)와 압축된 정보를 가지는 슬라이스 데이터(slice data)로 구성된다. 여기서 SPS, PPS Nal을 non-VCL(video coding layer) Nal로 구분하고, 나머지는 VCL Nal로 Nal 단위의 종류를 구분한다.
도 4는 본 발명의 일실시예에 따른 네트워크 적응형 가변 스트림 계층화 장치의 구성을 도시한 블록도이다.
도 4를 참조하면, 네트워크 적응형 가변 스트림 계층화 장치(400)는 제1 스위칭부(410), 맵 테이블 생성부(420), 레이트 제어부(430), 스트림 분석부(440), GOP 버퍼(450), 제2 스위칭부(460), 및 출력 버퍼(470)를 포함할 수 있다.
제1 스위칭부(410)는 각 수신 단말이 허용하는 가용 대역폭의 변화 유무에 따라, H.264/AVC로 압축된 비디오 스트림의 계층화 여부를 결정한다. 예컨대, 제1 스위칭부(410)는 상기 가용 대역폭이 변화가 없는 경우, 상기 비디오 스트림을 상기 각 수신 단말에게 그대로 전송하도록 제어하고, 상기 가용 대역폭이 감소한 경우, 상기 비디오 스트림을 계층화하기 위하여, 스트림 분석부(440)로 전달할 수 있다. 또한, 제1 스위칭부(410)는 레이트 제어부(430)로부터 입력된 패킷 손실 여부를 판별할 수 있다.
스트림 분석부(440)는 상기 비디오 스트림을 분석하여상기 비디오 스트림의 Nal 정보를 출력한다. 예컨대, 도 3을 참조하면, 스트림 분석부(440)는 상기 비디오 스트림의 비트열을 H.264/AVC 비트열에서 4 바이트의 개시부호 정보로 Nal 단위 경계를 파악하고, 1 바이트의 Nal 헤더 정보에서 5 비트(bit)의 nal_unit_type 필드를 분석하여 Nal 단위의 종류를 판별한다. 이 때, VCL Nal인 경우, 스트림 분석부(440)는 슬라이스 헤더의 frame_type 필드 정보로부터 I, B, P 프레임 형태를 구분한다.
즉, 스트림 분석부(440)는 Nal의 종류, Nal의 순서, GOP에서 Nal 단위로 점유하는 Nal 점유 비트량을 포함하는 Nal 정보를 맵 테이블 생성부(420)로 전송하고, 상기 비디오 스트림의 비트열을 그대로 GOP 버퍼(450)로 전달한다.
맵 테이블 생성부(420)는 상기 출력된 NAL 정보를 이용하여 상기 비디오 스트림에 포함된 프레임을 정렬한다. 즉, 맵 테이블 생성부(420)는 상기 NAL 정보에 포함된 점유 비트량에 따라, 상기 비디오 스트림에 포함된 프레임을 정렬할 수 있 다. 예컨대, 맵 테이블 생성부(420)는 GOP을 구성하는 B 프레임들의 점유 비트량이 큰 순으로 위치에 관계없이 먼저 정렬하고, P 프레임들은 GOP의 마지막 프레임부터 역으로 GOP의 시작 I 프레임까지 FIFO로 정렬된 맵 테이블을 생성한다.
도 5는 본 발명의 일실시예에 따른 맵 테이블 생성부에서 프레임을 정렬하는 일례를 도시한 도면이다.
도 5를 참조하면, 한 개의 GOP를 구성하는 프레임들의 순서와 점유 비트량이 510과 같은 경우, 맵 테이블 생성부(420)는 I, B, P 프레임들의 상호 종속관계에 따라 520과 같이 정렬할 수 있다.
레이트 제어부(430)는 각 수신 단말의 가용 대역폭의 패킷 손실률 및 상기 NAL 정보를 참조하여 상기 정렬된 프레임을 선별적으로 제거하거나 또는 선택함으로써, 상기 비디오 스트림을 계층화할 수 있다.
여기서, GOP 버퍼(450)는 상기 비디오 스트림에 포함된 프레임을 GOP 단위로 저장한다. 이 경우, 레이트 제어부(430)는 맵 테이블 생성부(420)를 FIFO(First In First Out) 방식으로 참조하여 GOP 버퍼(450)로부터 출력되는 프레임들 중 제거 대상이 되는 프레임을 제2 스위칭부(460)를 제어하여 한 개의 GOP 단위로 제거하고, 제거되지 않은 프레임을 출력 버퍼(470)로 전달할 수 있다. 즉, 레이트 제어부(430)는 제2 스위칭부(460)를 제어하여 프레임을 제거하거나, 선택하여 선택된 프레임을 출력 버퍼(470)로 전달할 수 있다. 예컨대, 레이트 제어부(430)는 상기 각 수신 단말의 가용 대역폭이 허용하는 프레임을 출력 버퍼(470)로 전달할 수 있도록, 제2 스위칭부(460)를 제어할 수 있다.
이때, SPS, PPS Nal은 수신 단말에 항상 전송해야하는 정보이므로, 레이트 제어부(430)는 SPS, PPS Nal을 각각의 출력 버퍼(470)로 항상 전달할 수 있다.
또한, 레이트 제어부(430)는 상기 I 프레임을 제외한 나머지 P 프레임과 B 프레임을 제거함으로써, 상기 비디오 스트림이 깨지는 현상을 방지한다.
출력 버퍼(470)는 상기 선택된 프레임을 상기 각 수신 단말에서 복호화되도록 구성하여 상기 각 수신 단말로 전송한다. 즉, 출력 버퍼(470)는 SPS, PPS Nal을 상위 출력 스트림으로 정렬하고, 제2 스위칭부(460)에 의해 선택적으로 입력되는 프레임을 상기 각 수신 단말에서 복호화할 수 있도록, 프레임의 순서를 정렬하여 구성할 수 있다.
도 6은 본 발명의 일실시예에 따른 네트워크 적응형 가변 스트림 계층화 방법의 순서를 도시한 흐름도이다.
도 6을 참조하면, 네트워크 적응형 가변 스트림 계층화 방법은 H.264/AVC로 압축된 비디오 스트림을 제1 스위칭부로 입력한다(610). 상기 제1 스위칭부는 각 수신 단말이 허용하는 가용 대역폭의 변화 유무에 따라, H.264/AVC로 압축된 비디오 스트림의 계층화 여부를 결정할 수 있다.
네트워크 적응형 가변 스트림 계층화 방법은 상기 계층화가 결정된 비디오 스트림을 분석하여상기 비디오 스트림의 NAL 정보를 출력한다(620). 여기서, 상기 NAL 정보는 NAL의 종류, NAL의 순서, NAL 점유 비트량을 포함할 수 있다.
네트워크 적응형 가변 스트림 계층화 방법은 상기 출력된 NAL 정보를 이용하여 상기 비디오 스트림에 포함된 프레임을 정렬한다(630). 일례로, 네트워크 적 응형 가변 스트림 계층화 방법은 상기 NAL 정보에 포함된 점유 비트량에 따라, 상기 비디오 스트림에 포함된 프레임을 정렬할 수 있다.
네트워크 적응형 가변 스트림 계층화 방법은 각 수신 단말의 가용 대역폭의 패킷 손실률 및 상기 NAL 정보를 참조하여 상기 정렬된 프레임을 선별적으로 선택한다(640). 예컨대, 네트워크 적응형 가변 스트림 계층화 방법은 상기 각 수신 단말의 가용 대역폭이 허용하는 프레임을 선택하고, GOP 버퍼에 저장된 프레임 중, 제거 대상이 되는 프레임을 한 개의 GOP 단위로 제거할 수 있다.
네트워크 적응형 가변 스트림 계층화 방법은 상기 선택된 프레임을 상기 각 수신 단말에서 복호화되도록 구성하여 상기 각 수신 단말로 전송한다(650).
도 6에 도시된 네트워크 적응형 가변 스트림 계층화 방법은 도 1 내지 도 5를 통해 설명된 네트워크 적응형 가변 스트림 계층화 장치의 내용이 그대로 적용될 수 있다. 따라서, 여기서는 상기 네트워크 적응형 가변 스트림 계층화 방법에 대한 상세한 설명을 생략한다.
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일실시예에 따른 GOP 구조를 가진 비디오 스트림의 일례를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 GOP를 구성하는 프레임의 종속관계에 대한 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 H.264/AVC로 압축된 비디오 스트림의 비트열에 대한 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 네트워크 적응형 가변 스트림 계층화 장치의 구성을 도시한 블록도이다.
도 5는 본 발명의 일실시예에 따른 맵 테이블 생성부에서 프레임을 정렬하는 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 네트워크 적응형 가변 스트림 계층화 방법의 순서를 도시한 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
400: 네트워크 적응형 가변 스트림 계층화 장치
410: 제1 스위칭부
420: 맵 테이블 생성부
430: 레이트 제어부
440: 스트림 분석부
450: GOP 버퍼
460: 제2 스위칭부
470: 출력 버퍼

Claims (10)

  1. H.264/AVC로 압축된 비디오 스트림을 분석하여 상기 비디오 스트림의 NAL 정보를 출력하는 스트림 분석부;
    상기 출력된 NAL 정보에 포함되는 NAL 점유 비트량에 따라, 상기 비디오 스트림에 포함된 프레임을 정렬하는 맵 테이블 생성부;
    각 수신 단말의 가용 대역폭의 패킷 손실률 및 상기 NAL 정보를 참조하여 상기 정렬된 프레임을 선별적으로 제거하거나 또는 선택하는 레이트 제어부; 및
    상기 선택된 프레임을 상기 각 수신 단말에서 복호화되도록 구성하여 상기 각 수신 단말로 전송하는 출력 버퍼
    를 포함하는 네트워크 적응형 가변 스트림 계층화 장치.
  2. 제1항에 있어서,
    각 수신 단말이 허용하는 가용 대역폭의 변화 유무에 따라, 상기 비디오 스트림의 계층화 여부를 결정하는 제1 스위칭부
    를 더 포함하고,
    상기 제1 스위칭부는,
    상기 가용 대역폭이 변화가 없는 경우, 상기 비디오 스트림을 상기 각 수신 단말에게 그대로 전송하도록 제어하고, 상기 가용 대역폭이 감소한 경우, 상기 비디오 스트림을 상기 스트림 분석부로 전달하는, 네트워크 적응형 가변 스트림 계층 화 장치.
  3. 제1항에 있어서,
    상기 NAL 정보는 NAL의 종류 및 NAL의 순서 중 적어도 하나를 더 포함하는, 네트워크 적응형 가변 스트림 계층화 장치.
  4. 제1항에 있어서,
    상기 H.264/AVC로 압축된 비디오 스트림은,
    한 개의 GOP를 구성하는 프레임에서 프레임내 압축 영상인 I 프레임, 프레임간의 순방향 예측을 통한 압축 영상인 P 프레임, 쌍방향 예측을 통한 압축 영상인 B 프레임으로 구성된 GOP 구조를 가지고,
    상기 맵 테이블 생성부는,
    GOP 단위의 프레임을, 마지막 프레임부터 B 프레임의 GOP 점유 비트량, P 프레임의 GOP 구성 순서 및 I 프레임 순서로 GOP 구성 프레임들을 FIFO로 정렬하는, 네트워크 적응형 가변 스트림 계층화 장치.
  5. 제4항에 있어서,
    상기 레이트 제어부는,
    상기 I 프레임은 제거하지 않도록 하여, 상기 비디오 스트림의 깨지는 현상을 방지하는, 네트워크 적응형 가변 스트림 계층화 장치.
  6. 제1항에 있어서,
    상기 비디오 스트림에 포함된 프레임을 GOP 단위로 저장하는 GOP 버퍼
    를 더 포함하고,
    상기 레이트 제어부는,
    상기 맵 테이블 생성부를 FIFO 방식으로 참조하여 상기 GOP 버퍼로부터 출력되는 프레임들 중 제거 대상이 되는 프레임을 한 개의 GOP 단위로 제거하고, 제거되지 않은 프레임을 제2 스위칭부를 제어하여 상기 출력 버퍼로 전달하는, 네트워크 적응형 가변 스트림 계층화 장치.
  7. H.264/AVC로 압축된 비디오 스트림을 분석하여 상기 비디오 스트림의 NAL 정보를 출력하는 단계;
    상기 출력된 NAL 정보에 포함되는 NAL 점유 비트량에 따라, 상기 비디오 스트림에 포함된 프레임을 정렬하는 단계;
    각 수신 단말의 가용 대역폭의 패킷 손실률 및 상기 NAL 정보를 참조하여 상기 정렬된 프레임을 선별적으로 선택하는 단계; 및
    상기 선택된 프레임을 상기 각 수신 단말에서 복호화되도록 구성하여 상기 각 수신 단말로 전송하는 단계
    를 포함하는 네트워크 적응형 가변 스트림 계층화 방법.
  8. 제7항에 있어서,
    상기 NAL 정보는 NAL의 종류 및 NAL의 순서 중 적어도 하나를 더 포함하는 네트워크 적응형 가변 스트림 계층화 방법.
  9. 제7항에 있어서,
    상기 H.264/AVC로 압축된 비디오 스트림은,
    한 개의 GOP를 구성하는 프레임에서 프레임내 압축 영상인 I 프레임, 프레임간의 순방향 예측을 통한 압축 영상인 P 프레임, 쌍방향 예측을 통한 압축 영상인 B 프레임으로 구성된 GOP 구조를 가지고,
    상기 비디오 스트림에 포함된 프레임을 정렬하는 단계는,
    GOP 단위의 프레임을, 마지막 프레임부터 B 프레임, P 프레임 및 I 프레임 순서로 정렬하는 단계
    를 포함하는 네트워크 적응형 가변 스트림 계층화 방법.
  10. 제7항에 있어서,
    상기 비디오 스트림에 포함된 프레임을 GOP 단위로 GOP 버퍼에 저장하는 단계
    를 더 포함하고,
    상기 정렬된 프레임을 선별적으로 선택하는 단계는,
    상기 NAL 정보를 FIFO 방식으로 참조하여 상기 GOP 버퍼로부터 출력되는 프레임들 중 제거 대상이 되는 프레임을 한 개의 GOP 단위로 제거하고, 제거되지 않은 프레임을 출력 버퍼로 전달하는 단계
    를 포함하는 네트워크 적응형 가변 스트림 계층화 방법.
KR1020090108466A 2009-11-11 2009-11-11 비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법 KR101249613B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090108466A KR101249613B1 (ko) 2009-11-11 2009-11-11 비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090108466A KR101249613B1 (ko) 2009-11-11 2009-11-11 비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110051733A KR20110051733A (ko) 2011-05-18
KR101249613B1 true KR101249613B1 (ko) 2013-04-01

Family

ID=44361948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090108466A KR101249613B1 (ko) 2009-11-11 2009-11-11 비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101249613B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160147322A (ko) * 2015-06-15 2016-12-23 에스케이텔레콤 주식회사 미디어 컨텐츠 전송 제어 방법, 이를 위한 장치
KR20160147321A (ko) * 2015-06-15 2016-12-23 에스케이텔레콤 주식회사 스트리밍 제공 서버와 기지국 연동 노드를 통한 스트리밍 데이터 패킷 제공 방법, 이를 위한 기지국 연동 노드

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040031779A (ko) * 2001-07-19 2004-04-13 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비디오스트림 스위칭
KR20070040718A (ko) * 2005-10-12 2007-04-17 삼성전자주식회사 비트 스트림 처리/전송 방법 및 장치, 비트 스트림수신/처리 방법 및 장치
KR20070074500A (ko) * 2006-01-09 2007-07-12 한국전자통신연구원 Svc 파일의 스케일러블 계층 단위 송수신방법 및 그장치
US20070201500A1 (en) * 2006-02-27 2007-08-30 Deshpande Sachin G Selective Frame Dropping For Initial Buffer Delay Reduction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040031779A (ko) * 2001-07-19 2004-04-13 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비디오스트림 스위칭
KR20070040718A (ko) * 2005-10-12 2007-04-17 삼성전자주식회사 비트 스트림 처리/전송 방법 및 장치, 비트 스트림수신/처리 방법 및 장치
KR20070074500A (ko) * 2006-01-09 2007-07-12 한국전자통신연구원 Svc 파일의 스케일러블 계층 단위 송수신방법 및 그장치
US20070201500A1 (en) * 2006-02-27 2007-08-30 Deshpande Sachin G Selective Frame Dropping For Initial Buffer Delay Reduction

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160147322A (ko) * 2015-06-15 2016-12-23 에스케이텔레콤 주식회사 미디어 컨텐츠 전송 제어 방법, 이를 위한 장치
KR20160147321A (ko) * 2015-06-15 2016-12-23 에스케이텔레콤 주식회사 스트리밍 제공 서버와 기지국 연동 노드를 통한 스트리밍 데이터 패킷 제공 방법, 이를 위한 기지국 연동 노드
KR102209783B1 (ko) * 2015-06-15 2021-01-28 에스케이텔레콤 주식회사 스트리밍 제공 서버와 기지국 연동 노드를 통한 스트리밍 데이터 패킷 제공 방법, 이를 위한 기지국 연동 노드
KR102210437B1 (ko) * 2015-06-15 2021-01-29 에스케이텔레콤 주식회사 미디어 컨텐츠 전송 제어 방법, 이를 위한 장치

Also Published As

Publication number Publication date
KR20110051733A (ko) 2011-05-18

Similar Documents

Publication Publication Date Title
KR102127702B1 (ko) 미디어 데이터를 송수신하기 위한 인터페이스 장치 및 방법
US20210352125A1 (en) Devices, systems, and methods for converting or translating dynamic adaptive streaming over http (dash) to http live streaming (hls)
KR101699656B1 (ko) 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법
JP4965059B2 (ja) ビデオストリームの切り替え
TWI396445B (zh) 媒體資料的傳送/接收方法、編碼器、解碼器、儲存媒體、用於編碼/解碼圖像之系統、電子設備及傳送裝置、以及用於解碼圖像之接收裝置
EP2424241B1 (en) Method, device and system for forwarding video data
JP2018186524A (ja) コンテンツ送信装置およびコンテンツ再生装置
US9344721B2 (en) Best quality given a maximum bit rate
WO2015107787A1 (ja) 通信装置、通信データ生成方法、および通信データ処理方法
KR20160110472A (ko) 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍
US10820024B2 (en) Communication apparatus, communication data generation method, and communication data processing method
CN101960726A (zh) 用于解码增强型视频流的方法和装置
EP2615790A1 (en) Method, system and devices for improved adaptive streaming of media content
RU2420909C2 (ru) Разделение потока данных
US20080144505A1 (en) Method and Apparatus for Bitrate Reduction
CN105191324B (zh) 通信设备、通信数据生成方法、以及通信数据处理方法
KR20130119885A (ko) 네트워크 적응적인 계층적 비디오 전송을 위한 mmt 패킷의 전송 방법 및 장치
CN115943631A (zh) 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据
KR102176404B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
EP2308215B1 (en) Thinning of packet-switched video data
KR102118678B1 (ko) 부호화된 비디오 스트림 전송 장치 및 방법
KR101249613B1 (ko) 비디오 스트리밍을 위한 네트워크 적응형 가변 스트림 계층화 장치 및 방법
JP5389528B2 (ja) ネットワークデコーダ装置
KR101663769B1 (ko) 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법
Zhu et al. Research on adaptive transmission of H. 264 video stream and QoS guarantee based on SIP

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 7