KR101915885B1 - 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템 - Google Patents
실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템 Download PDFInfo
- Publication number
- KR101915885B1 KR101915885B1 KR1020170047307A KR20170047307A KR101915885B1 KR 101915885 B1 KR101915885 B1 KR 101915885B1 KR 1020170047307 A KR1020170047307 A KR 1020170047307A KR 20170047307 A KR20170047307 A KR 20170047307A KR 101915885 B1 KR101915885 B1 KR 101915885B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- fragment
- priority
- packets
- header
- Prior art date
Links
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23605—Creation or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법 및 시스템이 제시된다. 본 발명에서 제안하는 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법은 TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 단계, 패킷 분할부(Packet Fragmenter)가 TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 단계 및 순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 단계를 포함한다.
Description
본 발명은 H264/AVC 인코딩된 비디오의 스트리밍을 위한 IEEE 802.11n과 같은 고 처리량 WLAN에 대한 새로운 우선 순위 인식 패킷 단편화 확장 방법 및 장치에 관한 것이다.
스마트 폰 및 태블릿 PC와 같은 모바일 장치의 광범위한 배치로 인해 모바일 데이터 트래픽이 폭발적으로 증가했으며, 비디오 트래픽은 인터넷 트래픽 전체에서 상당 부분을 차지한다. IPTV, 원격 데스크톱 및 화상 채팅과 같은 실시간 비디오 스트리밍 어플리케이션은 모바일 장치에서 널리 사용된다. 대부분의 실시간 비디오 스트리밍 어플리케이션은 MPEG-2 전송 스트림(Transport Stream; TS)으로 캡슐화되고(encapsulated) 실시간 프로토콜(RTP)에 의해 전송 프로토콜로 전달되는 H264/AVC 코덱으로 인코딩된 비디오를 스트리밍 한다. 각각의 MPEG-2 TS 비디오 스트림 패킷은 다른 동기화 데이터와 함께 H264/AVC 데이터를 각각 운반하는 7 개의 TS 패킷을 포함한다.
IEEE 802.11n/ac와 같은 고 처리량 무선 LAN(HT WLAN)은 비디오 스트리밍 어플리케이션 사용자를 위한 일반적인 네트워킹 플랫폼이다. 그러나, 간섭 및 사용자 이동성은 무선 링크의 성능을 급격히 저하시킬 수 있다. 이는 실시간 비디오 스트림 패킷을 수신기가 디코딩하기에는 너무 늦게 전달되거나 누락되게 하여 수신된 비디오에서 결함을 발생시키거나 정지를 초래할 수 있다.
이를 해결하기 위한 IEEE 802.11n/ac MAC 레이어의 몇 가지 개선점이 있다. 이는 단편화 및 패킷 우선 순위 지정이라는 두 가지 접근법으로 분류 할 수 있다. 단편화 기법은 긴 패킷을 작은 패킷으로 분할하고 실패한 단편을 재전송하여 네트워크 자원을 절약함으로써 처리량을 향상시킨다. 이들은 MPEG-2 TS 패킷의 특성과 우선 순위를 고려하지 않고 패킷을 분할하며, 각 단편은 똑같이 중요하게 간주된다(다시 말해, 우선 순위가 없다). 결과적으로, 낮은 우선 순위 TS 패킷은 하나의 단편 내에서 높은 우선 순위의 TS 패킷과 혼합된다. 더욱이, 기존의 단편화 방식은 원본 패킷을 조합하고 상위 레이어로 전달하기 위해 모든 단편을 수신 측에서 수신해야 한다고 가정한다. 단편들 중 하나가 성공적으로 수신되지 않으면, 그 단편과 관련된 전체 패킷은 MAC 레이어에 누락된다. 이로 인해 높은 우선 순위의 TS 패킷에 대한 불필요한 지연 및 높은 손실률이 발생한다. 반면에, 패킷 우선 순위 지정 기법은 I-프레임 데이터와 프레임 헤더와 같은 중요한 데이터를 포함하는 패킷을 무선 멀티미디어(Wireless Multimedia; WMM)의 높은 우선 순위 대기열에 할당하고 B 및 P 프레임 데이터를 낮은 우선 순위 열에 할당함으로써 비디오 스트리밍의 견고함을 향상시킨다. 그러나, 이 접근법에는 두 가지 문제가 있다. 첫째, 더 높은 우선 순위 프레임을 위해 패킷의 작은 부분만 할당되는 경우에도 나머지 부분도 높은 우선 순위 대기열에 배치된다. 둘째, 단편화가 없으므로 크기가 커지면 패킷이 누락되기 쉽다.
단편화 및 우선 순위 지정 기법의 특성은, IEEE 802.11n 환경에서의 각 노드는 동일한 크기의 MPEG-2 비디오 스트림을 사용하여 IP 패킷을 전송한다. 혼잡도가 증가함에 따라, 전달된 패킷의 총 수가 단편화 기법보다는 우선 순위 지정 기법이 적기 때문에 우선 순위 지정 기법이 단편화 기법을 능가한다. 반면에, 비트 에러율이 증가함에 따라 채널 상태가 악화되면, 우선 순위 지정 기법의 패킷 크기가 단편화 기법 보다 더 크기 때문에 단일 패킷에 에러 비트가 포함될 확률은 단편화 기법보다 우선 순위 기법이 더 크다. 따라서, 단편화 기법은 비트 에러로부터 더 많은 패킷을 보호 할 수 있지만, 우선 순위 지정 기법은 중요한 패킷을 더 빠르게 전달할 수 있다. 따라서, 이 두 가지 기법의 장점을 결합하면 특히 나쁜 채널 조건에서 실시간 비디오 스트리밍의 품질을 더욱 향상시킬 수 있다.
본 발명이 이루고자 하는 기술적 과제는 실시간 비디오 스트리밍의 성능을 향상시키기 위해 높은 처리량의 WLAN에 우선 순위를 부여하는 효율적인 단편화 방법 및 시스템을 제공하는데 있다. 제안된 기법을 통해 높은 네트워크 혼잡과 나쁜 채널 상태의 경우 더 높은 성능을 달성하고, 기존의 단편화 기법과 달리 수신기 측에서 수정을 요구하지 않아 배치의 용이성을 높이고자 한다.
일 측면에 있어서, 본 발명에서 제안하는 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법은 TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 단계, 패킷 분할부(Packet Fragmenter)가 TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 단계 및 순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 단계를 포함한다.
TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 단계는 패킷 식별자가 0인 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고, 패킷 식별자가 0이 아닌 경우, 패킷 기본 스트림 식별자 필드를 확인한다.
패킷 기본 스트림 식별자의 필드가 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷을 분석하고, 패킷 기본 스트림 식별자의 필드가 비디오 스트림에 해당하는 경우, PUSI 필드를 확인한다.
PUSI 필드가 1인 경우, 새로운 프레임의 시작을 의미하며 해당 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당하고, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정하고, PUSI 필드가 0인 경우, 해당 TS 패킷이 프레임 데이터를 포함하는 것을 의미하고, 전역 변수를 확인하여 프레임 유형을 결정한 후 우선 순위를 할당한다.
패킷 분할부(Packet Fragmenter)가 TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 단계는 네트워크 조건에 맞는 최적의 단편 TS 패킷 크기를 찾기 위해 전송된 총 TS 패킷에 대한 실패한 전송 패킷 수의 비율과 BER 간의 관계를 이용하여, TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 패킷을 분할한다.
순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 단계는 각 단편 TS 패킷의 순서를 정렬하기 위한 RTP 헤더가 첨부된 각 단편 TS 패킷을 이용하여, 비디오 디코더를 통해 RTP 시퀀스 필드를 기반으로 각 단편 TS 패킷의 순서를 정렬한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 시스템은 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 TS 파서(TS Parser), TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 패킷 분할부(Packet Fragmenter) 및 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 순서 보존부(Order Preserver)를 포함한다.
TS 파서는 패킷 식별자가 0인 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고, 패킷 식별자가 0이 아닌 경우, 패킷 기본 스트림 식별자 필드를 확인한다.
TS 파서는 패킷 기본 스트림 식별자의 필드가 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷을 분석하고, 패킷 기본 스트림 식별자의 필드가 비디오 스트림에 해당하는 경우, PUSI 필드를 확인한다.
TS 파서는 PUSI 필드가 1인 경우, 새로운 프레임의 시작을 의미하며 해당 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당하고, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정하고, PUSI 필드가 0인 경우, 해당 TS 패킷이 프레임 데이터를 포함하는 것을 의미하고, 전역 변수를 확인하여 프레임 유형을 결정한 후 우선 순위를 할당한다.
패킷 분할부는 네트워크 조건에 맞는 최적의 단편 TS 패킷 크기를 찾기 위해 전송된 총 TS 패킷에 대한 실패한 전송 패킷 수의 비율과 BER 간의 관계를 이용하여, TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 패킷을 분할한다.
순서 보존부는 각 단편 TS 패킷의 순서를 정렬하기 위한 RTP 헤더가 첨부된 각 단편 TS 패킷을 이용하여, 비디오 디코더를 통해 RTP 시퀀스 필드를 기반으로 각 단편 TS 패킷의 순서를 정렬한다.
본 발명의 실시예들에 따르면 실시간 비디오 스트리밍의 성능을 향상시키기 위해 높은 처리량의 WLAN에 우선 순위를 부여하여 효율적인 단편화 방법 및 시스템을 제공할 수 있다. 제안된 기법을 통해 높은 네트워크 혼잡과 나쁜 채널 상태의 경우 더 높은 성능을 달성할 수 있고, 기존의 단편화 기법과 달리 수신기 측에서 수정을 요구하지 않아 배치의 용이성을 높일 수 있다. 또한, MPEG-2 TS 뿐만 아니라, RTP를 통해 전달되는 다른 모든 비디오 스트림까지 확장 될 수 있고, 네트워크 혼잡도와 비트 에러율이 증가함에 따라 기존의 기법들보다 PSNR 관점에서 스트리밍 비디오의 높은 품질을 달성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 패킷 단편화 기법의 전체적인 구조를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 패킷 단편화 기법의 전체적인 프로세스를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 MPEG-2 TS 패킷의 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 TS 패킷 분석 및 우선 순위 할당 알고리즘을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 시스템의 구성을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 성능 평가를 위한 실험 설정을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 다양한 혼잡도와 채널 상태에 대한 높은 우선 순위 TS 패킷의 손실률을 나타내는 그래프이다.
도 9는 본 발명의 일 실시예에 따른 다양한 혼잡도 및 채널 상태에 대한 낮은 우선 순위 TS 패킷의 손실률을 나타내는 그래프이다.
도 10은 본 발명의 일 실시예에 따른 낮은 우선 순위 TS 패킷과 높은 우선 순위 TS 패킷을 모두 포함하는 총 패킷 손실률을 나타내는 그래프이다.
도 11은 본 발명의 일 실시예에 따른 다양한 혼잡 레벨에 대한 dB 단위의 PSNR 값의 변화를 나타내는 그래프이다.
도 2는 본 발명의 일 실시예에 따른 패킷 단편화 기법의 전체적인 프로세스를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 MPEG-2 TS 패킷의 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 TS 패킷 분석 및 우선 순위 할당 알고리즘을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 시스템의 구성을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 성능 평가를 위한 실험 설정을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 다양한 혼잡도와 채널 상태에 대한 높은 우선 순위 TS 패킷의 손실률을 나타내는 그래프이다.
도 9는 본 발명의 일 실시예에 따른 다양한 혼잡도 및 채널 상태에 대한 낮은 우선 순위 TS 패킷의 손실률을 나타내는 그래프이다.
도 10은 본 발명의 일 실시예에 따른 낮은 우선 순위 TS 패킷과 높은 우선 순위 TS 패킷을 모두 포함하는 총 패킷 손실률을 나타내는 그래프이다.
도 11은 본 발명의 일 실시예에 따른 다양한 혼잡 레벨에 대한 dB 단위의 PSNR 값의 변화를 나타내는 그래프이다.
본 발명에서는 H264/AVC 인코딩된 비디오의 스트리밍을 위한 IEEE 802.11n과 같은 고 처리량 WLAN에 대한 새로운 우선 순위 인식 패킷 단편화 확장을 제안한다. 제안된 기법은 비디오 패킷의 우선 순위와 MPEG-2 TS의 특성을 기반으로 기존의 단편화 기법과는 달리 IP 패킷을 분할한다. 이 기법에서 원본 IP 패킷은 소수의 TS 패킷을 포함하는 더 작은 IP 패킷으로 분할되며, 적절한 우선 순위 대기열에 할당된 개별 TS 패킷의 우선 순위를 매긴다.
더욱 상세하게는, 본 발명의 일 실시예에 있어서 7개의 MPEG-2 TS 패킷을 포함하는 IP 패킷을 동일한 우선 순위의 연속적인 TS 패킷만 전송하는 방식으로 단편화 한 IEEE 802.11 MAC을 위한 새로운 패킷 단편화 기법을 제안한다. 우선 순위가 높은 TS 패킷을 전송하는 단편은 음성의 액세스 카테고리(AC_VO)에 가장 높은 우선 순위로 매핑되는 반면, 우선 순위가 낮은 TS 패킷을 전달하는 패킷은 비디오의 엑세스 카테고리(AC_VI)에 매핑되므로 데이터의 세밀한 우선 순위 지정이 용이해진다. 나쁜 채널 조건하에서, 결과 단편을 최적의 단편 크기와 일치하도록 더 세분화 할 수 있다.
이를 위해 채널 조건(예를 들어, 패킷 에러율)을 최적의 단편 크기로 매핑하는 수식을 고안한다. 각 단편은 고유한 IP/UDP 및 RTP 헤더를 포함하며, 여기서 RTP 헤더의 시퀀스 번호는 올바른 단편 순서를 반영하도록 수정된다. 따라서 각 단편은 독립적으로 수신되어 상위 레이어로 전달 될 수 있다. 이것은 이미 수신된 단편들의 불필요한 지연을 제거하고 기존의 단편화 기법과는 달리 수신 측 MAC 레이어에서 어떠한 수정도 요구하지 않는다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
패킷 단편화는 HT WLAN의 일부이다. 그러나, HT WLAN에서 프레임 집계가 수행 될 때 단편화는 비활성화된다. 그 이유는 A-MPDU(Aggregate MAC Protocol Data Unit)가 여러 개의 단편을 포함 할 수 있으며 전송 중에 이러한 단편들 중 일부가 손상 될 수 있기 때문이다. 따라서, 단편이 순서대로 도착하지 않을 수 있으며, 이들의 순서를 복원 할 메커니즘이 존재하지 않는다. 이러한 문제점은 집계가 비활성일 때는 발생하지 않는다. 그러나, 집계가 없는(다시 말해, 비활성) 단편화는 높은 PHY 및 MAC 레이어 오버 헤드를 유발하고 전반적인 처리량을 현저하게 감소시킬 수 있다. 따라서, 단편화는 집계와 함께일 때만 효과적이다.
HT WLAN에 대한 확장은 집계를 통한 단편화를 가능하게 하기 위해 IEEE 802.11n MAC 레이어 헤더에 새로운 필드를 도입한다. 이들의 기법에서, 각 MPDU는 프레임 내 단편의 시퀀스를 나타내는 시퀀스 번호 및 특정 단편이 시작되는 바이트를 나타내는 시작 위치를 갖는다. 단편의 수신기는 모든 관련 단편이 성공적으로 수신 될 때까지 개별 단편을 버퍼링해야 한다. 모든 단편이 수신되면 수신기는 이를 결합하여 초기 프레임을 형성한다. 단편 중 하나가 실패하면(누락되면) 전체 프레임이 삭제된다. 기존 기법에서는 처리량을 최대화하기 위해 최적의 단편 크기와 데이터 비율을 얻기 위한 속도(rate) 적응과 결합된 동적 단편 크기 선택 알고리즘을 개발했다. 그러나, 위에서 언급한 기법들 중 어느 것도 MPEG-2 TS 비디오 스트리밍에 대한 H264/AVC의 특성을 고려하지 않고 있다.
H264/AVC 프로토콜의 패킷 에러에 대한 내재적인 복원력 메커니즘은 WLAN을 통한 높은 패킷 손실률로 견고한 비디오 스트리밍을 하기에는 충분하지 않기 때문에, 많은 크로스 레이어 패킷 우선 순위 지정 접근 방식이 제안되었다.
Nal_Ref_Idc (NRI)와 같은 H.264/AVC의 네트워크 추상화(abstraction) 레이어 (NAL) 헤더 정보가 IEEE 802.11e 액세스 카테고리(ACs)에 매핑되는 몇 가지 기존의 접근법들은 높은 에러 복원력을 제공한다.
또 다른 기존 기법에서는 각 슬라이스 우선 순위에 기반하여 H264 슬라이스가 서로 다른 IEEE 802.11e EDCA (Enhanced Distributed Channel Access) 대기열에 매핑되는 프레임 우선 순위 지정 기법을 제안했다. 각 AC는 서로 다른 CWmin, CWmax, AIFS(Arbitration Inter-Frame Spacing), DIFS(Distributed Coordination Function Inter-Frame Space) 및 RTC(재전송 횟수) 값을 가진다. 이들은 이러한 설정이 스트리밍 비디오 중 중요한 비디오 슬라이스에 대해 높은 복원력을 얻을 수 있음을 보여준다.
또 다른 기존 기법에서는 이를 MPEG-2 TS로 확장하고 패킷 레벨에서 비디오 스트림의 우선 순위를 매겼다. 이들의 주요 기여는 슬라이스 헤더에 더 높은 우선 순위를 부여하여 더 높은 패킷 디코딩 속도를 달성하는 것이다.
또 다른 기존 기법에서는 슬라이스 우선 순위뿐만 아니라 대기열 점유율에 기반하여 각 프레임이 대기열에 매핑되는 동적 매핑 알고리즘을 제안한다.
또 다른 기존 기법에서는 IEEE 802.11 WLAN을 통해 확장 프로파일을 사용하여 인코딩 된 비디오를 스트리밍 하기 위한 서비스 차별화를 제안한다. 확장 프로파일은 비디오 데이터를 중요도가 다른 세 세트로 나누는 분할(partitioning) 기능을 제공한다. 그러나, 확장 프로파일은 실생활에서 널리 사용되지 않는다.
기존의 방식 중 또 다른 그룹은 비디오 스트리밍의 전송 속도와 지연을 관리하는 프레임 우선 순위 지정 기법이다. 여기에서, 단기 채널 대역폭 변동 하에서 강력한 비디오 스트리밍을 위한 메커니즘을 제안한다. 크로스 레이어 메커니즘은 어플리케이션 레이어에서의 슬라이스 분류, MAC 레이어에서의 동적 패킷 선택 전송(DPST) 및 물리 레이어에서의 채널 상태 예측으로 구성된다.
또 다른 기존 기법에서는 비디오 패킷의 지연과 중요성을 고려하여 QoS 기반 IEEE 802.11e MAC 레이어 프로토콜을 개발한다. 너무 늦게 수신된 패킷은 낮은 우선 순위로 간주되어 네트워크에서 삭제(dropped)된다. 또한 사용 가능한 대역폭은 우선 순위가 낮은 패킷을 삭제하는 것으로 간주된다.
또 다른 기존 기법에서는 어플리케이션 레이어 정보와 무선 채널 조건을 함께 고려하여 우선 순위 기반 패킷 스케줄링을 수행함으로써 공유 페이딩(fading) 무선 네트워크를 통해 기지국에서 여러 클라이언트로 확장 가능한 비디오 스트림을 전송하는 크로스 레이어 설계를 제시한다.
또 다른 기존 기법에서는, 포화된 네트워크 조건 하에서 컨텐션(contention) 윈도우 크기를 최적화함으로써 높은 우선 순위 대기열에 할당된 패킷의 처리량을 보장하기 위해 EDCA 기반 우선 순위 지정 기법이 확장되었다. 요약하면, 기존 기법들에서는 실시간 비디오 스트리밍을 위한 기존의 우선 순위 지정 기법과 협력 할 수 있는 세밀한 단편화 노력은 거의 이루어지지 않았다.
도 1은 본 발명의 일 실시예에 따른 패킷 단편화 기법의 전체적인 구조를 나타내는 도면이다.
IP 패킷 내의 TS 패킷의 우선 순위는 다를 수 있다. 일부 TS 패킷은 비디오 디코딩 프로세스에 필수적인 중요한 헤더 파일 또는 I-프레임 데이터를 포함 할 수 있다. 따라서 이들은 다르게 다루어져야 한다. 우선 순위가 높은 TS 패킷이 하나만 존재하면 기존의 우선 순위 지정 기법에서 IP 패킷이 높은 우선 순위로 간주된다. 이 기법은 낮은 우선 순위의 TS 패킷이 높은 우선 순위의 TS 패킷과 섞여 부족한 네트워크 리소스를 소비하게 되므로 비효율적이다. 한편, 단편화 기법은 TS 패킷의 우선 순위를 고려하지 않고 단편을 조각 낸다. 따라서, 우선 순위가 높은 패킷의 일부는 우선 순위가 낮은 패킷과 혼합되므로 우선 순위 지정 기법으로 패킷을 분석하기가 어려워진다. 따라서, 각 단편이 동일한 우선 순위의 TS 패킷을 포함하도록 단편 크기를 선택해야 한다. 이렇게 하면 나중에 단편의 세분화 된 우선 순위를 지정할 수 있다.
현재의 IEEE 802.11n/ac 표준은 수신기 측에서 패킷의 순서를 보존하기 위한 메커니즘을 가지고 있지 않기 때문에, 기존의 단편화 기법은 수신기 측에서 MAC 레이어를 수정해야 한다. 이는 새로운 단편화 기법과 호환되도록 모든 모바일 장치를 새 MAC 레이어로 업데이트해야 하기 때문에 배치 문제를 발생시킨다.
대조적으로, 모든 수정이 송신 측 MAC에서만 수행되는 경우, 모든 액세스 포인트 공급자는 AP만 최적화 할 수 있으며 뛰어난 성능을 제공한다. 또한, 기존의 단편화 방식에서, 원본 패킷이 구성되어 상위 레이어로 전달되게 하기 위해 모든 단편은 수신기의 MAC 레이어에서 수신되어야 한다. 만약 단편 중 하나가 실패하면 전체 패킷이 삭제되므로 비효율적이다. 따라서, 이를 해결하기 위해서는 단편의 올바른 순서를 복원하고 수신기 측에서 정상적인 패킷으로 보이도록 하는 또 다른 메커니즘이 필요하다. 이를 위해, RTP 헤더의 시퀀스 번호 필드를 사용할 수 있다. 또한 MAC, IP 및 UDP 헤더가 각 단편마다 유지되어야 정상적인 독립 패킷으로 나타난다.
단편화는 하나의 패킷을 두 개 이상의 패킷으로 나누기 때문에 같은 양의 데이터에 대해 전송된 총 비트 수에서 헤더 부분을 증가시킨다. 무선 채널에 에러가 발생할 경우(다시 말해, 높은 비트 에러율), 단편화 된 패킷은 전체 데이터를 전송하는 대신 에러가 있는 단편만 재전송하기 때문에 단일 패킷보다 패킷 손실 면에서 좀 더 견고하다. 그러나, 채널 상태가 비트 에러 없이 모든 패킷을 전달할 만큼 충분히 양호하면, 헤더의 증가된 양은 굿풋(goodput)의 저하로 이어진다. 이 경우, 중복 헤더의 양을 줄이기 위해 단편화 없이 패킷을 전송하는 것이 좋다. 따라서, 헤더 오버 헤드와 데이터의 견고성간에 균형이 존재하며, 단편화 기법은 채널 상태, 즉 비트 에러율에 기초하여 적절한 단편 크기를 결정해야 한다. 실시간 채널 상태 정보를 얻기 위해서는 네트워크 모니터링이 필요하다. MAC 레이어에서 상태 변수를 사용하여 수동으로 채널 상태를 계산할 수 있지만, 이는 MAC 프로토콜에서 추가적인 처리 오버 헤드를 발생시킨다. Minstrel_HT와 같은 MAC 레이어의 기존 속도 적응 기법은 채널 상태에 따라 최적의 속도를 선택하기 때문에, 속도 적응 알고리즘의 문맥 정보를 사용하여 채널 상태를 모니터링 할 때 중복 동작을 방지한다.
도 1을 참조하면, 패킷 단편화 기법의 전체적인 구조에서 TS 파서(예를 들어, MPEG-2 TS Parser)(110)는 먼저 모든 출력 IP 패킷(111)을 TS 패킷(예를 들어, MPEG-2 TS 패킷)(112)과 비-TS(non-TS) 패킷(113)으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵(priority bitmap)(114) 정보로 분석한다. 패킷 분할부(Packet Fragmenter)(120)는 TS 파서(MPEG-2 TS Parser(110)가 제공한 우선 순위 비트 맵(114) 정보를 기반으로 TS 패킷을 여러 개의 작은 TS 패킷으로 분할한다. 최적의 단편 크기를 결정할 때, 기존의 속도 적응 모듈(Rate Adaptation Module)(예를 들어, Minstrel_HT)(140)로부터의 채널 상태(141) 정보를 이용한다. 순서 보존부(Order Preserver)(130)는 적절한 IP 헤더, UDP 헤더 및 RTP 헤더를 적용하여 IEEE 802.11n/ac 장치 드라이버(Device Driver)(150)를 위한 단편화된 패킷의 순서를 유지 및 관리한다.
도 2는 본 발명의 일 실시예에 따른 패킷 단편화 기법의 전체적인 프로세스를 설명하기 위한 도면이다.
IP 데이터그램 표준에 따르면, IP 패킷(210)은 최대 7개의 TS 패킷(211, 212, ..., 217)을 포함 할 수 있다. 각 TS 패킷은 길이가 188바이트이므로, 7개의 TS 패킷(211, 212, ..., 217)을 포함하는 IP 패킷(210)의 데이터 길이는 1316 바이트이다. 먼저, 각 패킷은 IP 패킷(210) 내의 TS 패킷(211, 212, ..., 217)의 우선 순위를 얻기 위해 분석된다. TS 패킷 우선 순위에 기초하여, IP 패킷은 더 적은 TS 패킷을 각각 포함하는 더 작은 IP 패킷으로 분할된다. 송신기가 최적의 단편 크기를 계산 한 후 최적의 단편 크기보다 큰 단편은 더 분할된다. 예를 들어, TS 패킷(211)은 더 적은 TS 패킷(211a, 211b)를 포함하고, TS 패킷(213)은 더 적은 TS 패킷(213a, 213b)를 포함하고, TS 패킷(216)은 더 적은 TS 패킷(216a, 216b, 216c)를 포함할 수 있다.
두 번째로, 각 단편은 패킷 우선 순위에 따라 WMM 대기열, AC_VO(221), AC_VI(222), AC_BE(223), AC_BK(224) 중 하나에 할당된다. 세 번째로, 동일한 WMM 대기열의 단편이 대기열에서 제외되고 AMPDU(230)로 집계되어 수신기로 전송된다. 네 번째로, 수신기는 A-MPDU의 각 패킷을 검사하여 손상된 패킷(241)을 삭제한다. 성공적으로 수신된 패킷(242, 243)은 상위 레이어(244)로 전달되고 수신이 실패한 패킷(241)은 삭제된다. 수신기는 Block ACK(250)을 송신기에 보내는데, 이는 어떤 패킷이 성공적으로 수신되었고 어떤 패킷이 실패했는지를 보여주는 비트 맵이다. 마지막으로, 성공 및 실패 비율 정보를 사용하여 송신기가 최적의 단편 크기를 다시 계산한다.
도 3은 본 발명의 일 실시예에 따른 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법을 설명하기 위한 흐름도이다.
제안하는 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 방법은 TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 단계(310), 패킷 분할부(Packet Fragmenter)가 TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 단계(320) 및 순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 단계(330)를 포함한다.
단계(310)에서, TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석한다. 이때, 패킷 식별자가 0인 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고, 패킷 식별자가 0이 아닌 경우, 패킷 기본 스트림 식별자 필드를 확인한다.
패킷 기본 스트림 식별자 필드를 확인하여 패킷 기본 스트림 식별자의 필드가 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷을 분석한다. 반면에, 패킷 기본 스트림 식별자의 필드가 비디오 스트림에 해당하는 경우, PUSI 필드를 확인한다.
PUSI 필드를 확인하여 PUSI 필드가 1인 경우, 새로운 프레임의 시작을 의미하며 해당 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당하고, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정한다. 반면에, PUSI 필드가 0인 경우, 해당 TS 패킷이 프레임 데이터를 포함하는 것을 의미하고, 전역 변수를 확인하여 프레임 유형을 결정한 후 우선 순위를 할당한다. 도 4를 참조하여 본 발명의 실시예에 따른 MPEG-2 TS 패킷의 구조를 더욱 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 MPEG-2 TS 패킷의 구조를 설명하기 위한 도면이다.
각 TS 패킷(400)은 4 바이트의 헤더(410)와 184 바이트의 TS 페이로드(payload)(420)로 구성된다. TS 헤더(410)는 TS 패킷을 검출하는데 사용되는 동기 바이트(Sync byte)(411)로 시작한다. 페이로드 유닛 시작 지시자(Payload unit start indicator; PUSI)(412)는 TS 패킷이 새로운 프레임의 시작을 포함하는지 여부를 나타낸다. 전송 우선 순위(Transport priority)(413)는 TS 패킷의 우선 순위를 나타낸다. 패킷 식별자(PID)(414) 필드는 TS 스트림의 ID를 나타낸다. PID가 0이면, TS 패킷은 PIDs의 리스트인 프로그램 맵 테이블(PMT)을 포함한다. TS 패킷은 선택적으로 적응 필드(Adaptation field)(415)를 포함 할 수 있다. TS 패킷의 페이로드(TS payload)(420)는 단일 H264/AVC 프레임을 포함하는 패킷 기본 스트림(PES), 다시 말해 PES 시작 코드(start code)(421)를 포함한다. PES 헤더는 스트림 ID(422) 및 PES 패킷 길이(packet length)(423)를 검색하기 위해 분석된다. 스트림 ID는 PES 페이로드가 오디오인지 또는 비디오 스트림인지를 검출하는데 사용된다. 표 1은 값의 범위와 해당 페이로드 유형을 보여준다.
<표 1>
PES 페이로드 내부의 각 H264/AVC 프레임은 프레임의 우선 순위를 얻는 데 사용되는 NRI 필드를 포함하는 NAL 헤더(header)(424)를 포함한다. 표 2는 프레임 유형 매핑에 대한 NRI 필드를 보여준다.
<표 2>
도 5는 본 발명의 일 실시예에 따른 TS 패킷 분석 및 우선 순위 할당 알고리즘을 나타내는 도면이다.
먼저 PID를 확인하는데, PID가 0인 경우, TS 패킷에 높은 우선 순위를 할당한다. PID가 0이 아닌 경우, PES 헤더의 스트림 ID 필드를 확인한다. 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷으로 건너 뛴다. 스트림 ID가 비디오 스트림에 해당할 경우, PUSI 필드를 확인한다. PUSI 필드가 1로 설정되면, 새로운 프레임의 시작을 의미하며 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당한다. 이후, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정한다. 프레임 데이터를 운반하는 후속 TS 패킷에 우선 순위를 할당하고 다음의 TS 패킷으로 건너 뛰기 위해 프레임 유형을 전역 변수에 저장한다. PUSI가 0으로 설정되면, 해당 TS 패킷이 프레임 데이터를 포함한다는 것을 의미한다. 이 경우 전역 변수를 확인하여 프레임 유형을 결정한다. 이후, 표 3에 따라 현재 TS 패킷의 우선 순위를 할당한다.
<표 3>
단계(320)에서, 패킷 분할부(Packet Fragmenter)가 TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할한다. 이때, 네트워크 조건에 맞는 최적의 단편 TS 패킷 크기를 찾기 위해 전송된 총 TS 패킷에 대한 실패한 전송 패킷 수의 비율과 BER 간의 관계를 이용하여, TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 패킷을 분할한다.
먼저, 현재 네트워크 조건에 맞는 최적의 단편 크기를 찾을 수 있는 수식을 대해 설명한다. 이후, 이 수식을 사용하여 패킷 단편화를 수행하는 알고리즘을 설명한다.
최적의 단편 크기를 찾기 위해, A-MPDU 내에서 전송된 총 패킷에 대한 실패한 전송 패킷 수의 비율인 패킷 에러율 을 사용한다. BER과 사이의 관계는 수학식(1)과 같이 공식화 될 수 있다:
단일 전송으로 전송된 유용한 데이터(다시 말해, 네트워크 레이어 헤더 없이)의 양은 수학식(3)과 같이 구할 수 있다:
이를 이용하여 TS 패킷의 우선 순위를 기반으로 패킷을 분할한다. 동일한 우선 순위를 갖는 연속 TS 패킷은 함께 그룹화된다. 이후 수학식(5)를 사용하여 최적의 단편 크기를 확인하고, 단편이 최적의 크기보다 큰 경우에는 수학식(6)에 정의된 재귀 수식을 사용하여 분할된다:
여기서, 은 n개의 TS 패킷을 포함하는 IP 패킷이다. 따라서, 은 각 단편이 최적의 크기보다 작아질 때까지 패킷을 분할하는 재귀 함수이다. 단편화 후, 단편은 WMM 대기열 중 하나에 매핑된다. AC_VO에 매핑된 높은 우선 순위 데이터 영역을 전달하는 단편과 낮은 우선 순위 데이터를 전달하는 단편은 AC_VI에 매핑된다. 따라서, 우선 순위가 높은 데이터가 합당한 지연 한계 내에서 전송 될 수 있는 가능성을 높일 수 있다.
단계(330)에서, 순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리한다.
패킷이 단편화되면, 각 단편이 수신기에서 순서가 맞지 않게 도착할 수 있다. 그러나, 비디오 디코더는 RTP 시퀀스 필드를 기반으로 패킷을 재정렬 할 수 있다. 따라서, RTP 헤더는 올바른 순서 재정렬을 가능하게 하기 위해 각 단편에 첨부된다. 각 단편의 RTP 헤더 내의 모든 필드들은 RTP 시퀀스 필드를 제외하고 원본 패킷의 모든 필드와 동일하다. 각 단편의 RTP 시퀀스 필드는 수학식(7)과 같이 계산된다:
여기서 는 첫 번째 RTP 패킷의 시퀀스 번호(보안상의 이유로 RTP 패킷은 난수(random number)에서 시작함)이며, 는 원본 패킷의 시퀀스 번호이고, 는 현재 단편이 시작되는 TS 패킷의 오프셋이다. 원본 IP 패킷에는 7개의 TS 패킷만 있기 때문에 의 값은 7보다 작아야 한다.
도 6은 본 발명의 일 실시예에 따른 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 MAC 레이어 패킷 단편화 시스템의 구성을 나타내는 도면이다.
본 실시예에 따른 패킷 단편화 시스템(600)은 프로세서(610), 버스(620), 네트워크 인터페이스(630), 메모리(640) 및 데이터베이스(250)를 포함할 수 있다. 메모리(640)는 운영체제(641) 및 패킷 단편화 루틴(642)을 포함할 수 있다. 프로세서(610)는 TS 파서(611), 패킷 분할부(612), 순서 보존부(613), 속도 적응 모듈(614)를 포함할 수 있다. 다른 실시예들에서 패킷 단편화 시스템(600)은 도 6의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 패킷 단편화 시스템(600)은 디스플레이나 트랜시버(transceiver)와 같은 다른 구성요소들을 포함할 수도 있다.
메모리(640)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(640)에는 운영체제(641)와 시간 영역의 지역성을 고려한 패킷 단편화 루틴(642)을 위한 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism, 미도시)을 이용하여 메모리(640)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체(미도시)를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 네트워크 인터페이스(630)를 통해 메모리(640)에 로딩될 수도 있다.
버스(620)는 패킷 단편화 시스템(600)의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스(620)는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.
네트워크 인터페이스(630)는 패킷 단편화 시스템(600)을 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성요소일 수 있다. 네트워크 인터페이스(630)는 패킷 단편화 시스템(600)을 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.
데이터베이스(250)는 사용자 위치 인식을 위해 필요한 모든 정보를 저장 및 유지하는 역할을 할 수 있다. 확장된 글로벌 상품 분류 체계를 마스터데이터로서 저장한다. 도 2에서는 패킷 단편화 시스템(600)의 내부에 데이터베이스(250)를 구축하여 포함하는 것으로 도시하고 있으나, 이에 한정되는 것은 아니며 시스템 구현 방식이나 환경 등에 따라 생략될 수 있고 혹은 전체 또는 일부의 데이터베이스가 별개의 다른 시스템 상에 구축된 외부 데이터베이스로서 존재하는 것 또한 가능하다.
프로세서(610)는 기본적인 산술, 로직 및 패킷 단편화 시스템(600)의 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(640) 또는 네트워크 인터페이스(630)에 의해, 그리고 버스(620)를 통해 프로세서(610)로 제공될 수 있다. 프로세서(610)는 TS 파서(611), 패킷 분할부(612), 순서 보존부(613), 속도 적응 모듈(614)를 위한 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(640)와 같은 기록 장치에 저장될 수 있다.
TS 파서(611), 패킷 분할부(612), 순서 보존부(613), 속도 적응 모듈(614)는 도 3의 단계들(310~330)을 수행하기 위해 구성될 수 있다.
패킷 단편화 시스템(600)은 TS 파서(611), 패킷 분할부(612), 순서 보존부(613), 속도 적응 모듈(614)를 포함할 수 있다.
TS 파서(611)는 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석한다. 이때, 패킷 식별자가 0인 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고, 패킷 식별자가 0이 아닌 경우, 패킷 기본 스트림 식별자 필드를 확인한다.
패킷 기본 스트림 식별자 필드를 확인하여 패킷 기본 스트림 식별자의 필드가 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷을 분석한다. 반면에, 패킷 기본 스트림 식별자의 필드가 비디오 스트림에 해당하는 경우, PUSI 필드를 확인한다.
PUSI 필드를 확인하여 PUSI 필드가 1인 경우, 새로운 프레임의 시작을 의미하며 해당 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당하고, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정한다. 반면에, PUSI 필드가 0인 경우, 해당 TS 패킷이 프레임 데이터를 포함하는 것을 의미하고, 전역 변수를 확인하여 프레임 유형을 결정한 후 우선 순위를 할당한다.
각 TS 패킷은 4 바이트의 헤더와 184 바이트의 TS 페이로드(payload)로 구성된다. TS 헤더는 TS 패킷을 검출하는데 사용되는 동기 바이트(Sync byte)로 시작한다. 페이로드 유닛 시작 지시자(Payload unit start indicator; PUSI)는 TS 패킷이 새로운 프레임의 시작을 포함하는지 여부를 나타낸다. 전송 우선 순위(Transport priority)는 TS 패킷의 우선 순위를 나타낸다. 패킷 식별자(PID) 필드는 TS 스트림의 ID를 나타낸다. PID가 0이면, TS 패킷은 PIDs의 리스트인 프로그램 맵 테이블(PMT)을 포함한다. TS 패킷은 선택적으로 적응 필드(Adaptation field)를 포함 할 수 있다. TS 패킷의 페이로드(TS payload)는 단일 H264/AVC 프레임을 포함하는 패킷 기본 스트림(PES), 다시 말해 PES 시작 코드(start code)를 포함한다. PES 헤더는 스트림 ID 및 PES 패킷 길이(packet length)를 검색하기 위해 분석된다. 스트림 ID는 PES 페이로드가 오디오인지 또는 비디오 스트림인지를 검출하는데 사용된다.
PES 페이로드 내부의 각 H264/AVC 프레임은 프레임의 우선 순위를 얻는 데 사용되는 NRI 필드를 포함하는 NAL 헤더(header)를 포함한다.
본 발명의 일 실시예에 따른 TS 패킷 분석 및 우선 순위 할당 알고리즘에 있어서, 먼저 PID를 확인한다. PID가 0인 경우, TS 패킷에 높은 우선 순위를 할당한다. PID가 0이 아닌 경우, PES 헤더의 스트림 ID 필드를 확인한다. 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷으로 건너 뛴다. 스트림 ID가 비디오 스트림에 해당할 경우, PUSI 필드를 확인한다. PUSI 필드가 1로 설정되면, 새로운 프레임의 시작을 의미하며 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당한다. 이후, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정한다. 프레임 데이터를 운반하는 후속 TS 패킷에 우선 순위를 할당하고 다음의 TS 패킷으로 건너 뛰기 위해 프레임 유형을 전역 변수에 저장한다. PUSI가 0으로 설정되면, 해당 TS 패킷이 프레임 데이터를 포함한다는 것을 의미한다. 이 경우 전역 변수를 확인하여 프레임 유형을 결정한다.
패킷 분할부(612)는 TS 파서(611)로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할한다. 이때, 네트워크 조건에 맞는 최적의 단편 TS 패킷 크기를 찾기 위해 전송된 총 TS 패킷에 대한 실패한 전송 패킷 수의 비율과 BER 간의 관계를 이용하여, TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 패킷을 분할한다. 현재 네트워크 조건에 맞는 최적의 단편 크기를 찾기 위한 수식에 대하여 위에서 상세히 설명하였다.
순서 보존부(Order Preserver)(613)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리한다.
패킷이 단편화되면, 각 단편이 수신기에서 순서가 맞지 않게 도착할 수 있다. 그러나, 비디오 디코더는 RTP 시퀀스 필드를 기반으로 패킷을 재정렬 할 수 있다. 따라서, RTP 헤더는 올바른 순서 재정렬을 가능하게 하기 위해 각 단편에 첨부된다. 각 단편의 RTP 헤더 내의 모든 필드들은 RTP 시퀀스 필드를 제외하고 원본 패킷의 모든 필드와 동일하다.
도 7은 본 발명의 일 실시예에 따른 성능 평가를 위한 실험 설정을 나타내는 도면이다.
버전 15.05 Chaos Calmer를 사용하는 무선 라우터 용 오픈 소스 운영 체제인 OpenWrt에서 제안 된 기법과 기존의 단편화 및 우선 순위 지정 기법을 구현한다. OpenWrt에서 제안된 기법을 실행하기 위해, Qualcomm Atheros ath9k를 IEEE 802.11n MAC 칩셋으로 사용하는 액세스 포인트 Buffalo WZR-600HP를 이용한다.
도 7과 같이, 2개의 액세스 포인트(AP1, AP2)와 4개의 랩탑(L1, L2, L3, L4)으로 구성된 실험용 테스트 베드를 구축한다. AP1과 AP2는 채널 36(5.180 GHz)에 맞춰 조정되며 채널 폭은 20 MHz이다. 5GHz에서 무선 채널을 사용하는 이유는 테스트 베드 근처의 2.4GHz 이내의 채널에서 실행되는 액세스 포인트가 너무 많아 실험 중에 예상치 못한 간섭이 발생할 수 있기 때문이다. 전송률은 MCS(Modulation and Coding Scheme) 인덱스 3(26 Mbits / sec)을 사용하는 AP 모두에 대해 일정하게 설정된다. 전송 전력은 두 AP 모두에서 0dB(1mW)로 설정된다. 랩탑 L1은 AP1에 연결되어 있고 원격 서버에서 비디오 스트림을 수신하는 데 사용되며, 랩탑 L2, L3 및 L4는 네트워크 혼잡을 생성하기 위해 AP2에 연결된다. 비디오 콘텐츠를 스트리밍하는데 VLC 서버를 사용하고 CBR 혼잡 트래픽을 생성하는데 Iperf 서버를 사용한다. 각 CBR 트래픽의 데이터 속도는 30 Mbits/sec로 설정된다. 어플리케이션 레이어의 혼잡 트래픽의 데이터 속도가 네트워크 인터페이스에서 설정된 데이터 속도보다 높은 이유는 정체가 심한 상황을 만들어 패킷이 빠르게 대기열에 들어가게 하기 위해서이다. 각 패킷에는 번호가 표시되며, 패킷 지연을 측정하기 위해 전송 시간과 수신 시간을 뺀 패킷의 전송 및 수신 시간이 기록된다. 를 사용하여 비디오 서버(다시 말해, 원격 서버)와 클라이언트 랩탑(L1) 간의 시간을 동기화한다. 지연이 300ms의 지연 임계 값을 초과하는 패킷은 폐기된다.
다양한 혼잡도와 채널 상태에서 실험을 수행한다. 혼잡도는 장치(L2, L3, L4)의 수를 변화시킴으로써 제어되며, 채널 상태는 L1과 AP1 사이의 거리를 증가시킴으로써 제어된다. 혼잡도를 각각 1, 2 및 3 개의 장치에 해당하는 낮음, 중간 및 높음으로 분류한다. 채널 상태는 양호한 것과 불량한 것으로 구분되며, 이는 송신자(AP1)와 수신자(L1) 사이의 7.7×10-5 와 6.5×10-4의 평균 BER 값에 각각 해당한다. BER 값은 평균 패킷 크기가 360byte인 경우 PHY 레이어에서 20% 및 80%의 평균 패킷 에러율에서 얻어진 값이다. 본 발명의 실시예에 있어서, 제목이 "Big Buck Bunny"인 샘플 비디오 파일을 사용하고, 비디오의 해상도는 864x480이다. 스트리밍 시간은 각 실험마다 20초이다. 중요한 실험 파라미터는 표 4에 요약되어 있다.
<표 4>
도 8은 본 발명의 일 실시예에 따른 다양한 혼잡도와 채널 상태에 대한 높은 우선 순위 TS 패킷의 손실률을 나타내는 그래프이다.
도 9는 본 발명의 일 실시예에 따른 다양한 혼잡도 및 채널 상태에 대한 낮은 우선 순위 TS 패킷의 손실률을 나타내는 그래프이다.
도 10은 본 발명의 일 실시예에 따른 낮은 우선 순위 TS 패킷과 높은 우선 순위 TS 패킷을 모두 포함하는 총 패킷 손실률을 나타내는 그래프이다.
도 8(a)와 도 8(b)는 다양한 혼잡도와 채널 상태에 대한 높은 우선 순위 TS 패킷의 손실률을 보여 주며, 도 9(a) 및 도 9(b)는 다양한 혼잡도 및 채널 상태에 대한 낮은 우선 순위 TS 패킷의 손실률을 보여준다. 낮은 우선 순위 TS 패킷과 높은 우선 순위 TS 패킷을 모두 포함하는 총 패킷 손실률이 도 10(a) 및 도 10(b)에 요약되어 있다. 혼잡도가 증가함에 따라 우선 순위 지정 기법은 레거시 및 단편화 기법보다 높은 우선 순위 패킷을 더 잘 보존 할 수 있다. 이것은 우선 순위 지정 기법이 AC_BE에 할당된 혼잡 트래픽 패킷보다 높은 우선 순위 대기열(AC_VO 및 AC_VI)에 비디오 패킷을 할당하고, 더 높은 우선 순위 대기열이 더 낮은 경쟁 윈도우(contention window) 크기로 무선 채널에 액세스 할 가능성이 높기 때문이다.
채널 상태가 낮은 BER에서 좋은 경우, 제안된 기법은 패킷이 거의 단편화되지 않기 때문에 우선 순위 지정기법과 거의 유사한 패킷 손실률을 보인다. 반면에, 낮은 혼잡 상황에서 채널 상태가 악화되면, 우선 순위 지정 기법은 단편화 기법보다 TS 패킷의 손실률이 높다. 이는 패킷 크기가 작을수록 패킷 전송 성공 확률이 높기 때문이다. 제안된 기법은 채널 상태가 좋지 않은 경우에도 패킷을 분할하기 때문에, 기존의 우선 순위 지정 기법보다 TS 패킷 손실률을 4%까지 감소시킬 수 있다. 따라서, 우선 순위 지정 기법은 일반적으로 혼잡한 네트워크 하에서 단편화 기법을 능가하는 반면, 단편화 기법은 혼잡하지 않은 경우의 나쁜 채널 조건 하에서 보다 우수한 성능을 나타낸다. 결과적으로, 제안된 기법은 패킷을 분할하고 채널 상태에 기반하여 단편들에 서로 다른 우선 순위를 할당 할 수 있기 때문에 기존의 모든 기법을 능가한다.
일반적으로, 높은 우선 순위의 TS 패킷과 낮은 우선 순위의 TS 패킷의 결과는 두 패킷이 AC_VI 대기열에 할당 된 비디오 패킷으로 간주되기 때문에 크게 다르지 않다. 혼잡 수준이 높을수록 우선 순위가 낮은 TS 패킷의 채널 액세스 가능성이 낮아짐을 알 수 있다.
네트워크 내에서 다수의 비디오 스트림이 공존하는 경우, 제안된 기법은 모든 MPEG-2 TS 패킷을 다른 유형의 트래픽보다 높은 우선 순위의 대기열에 할당 할 것이다. 가장 높은 우선 순위 대기열(AC_VO)이 정체로 인해 가득 차게 되는 상황이 있을 것이라고 상상할 수 있다. 이는 비디오 스트림이 너무 많고 총 데이터 속도가 무선 채널의 데이터 속도를 초과하는 경우 발생할 수 있다. 이는 무선 채널이 환경 문제로 인해 방해를 받으면 악화 될 것이다. 제안된 기법은 무선 용량이 공존하는 비디오 스트림의 총량보다 클 때 제대로 작동할 수 있음에 유의해야 한다.
도 11은 본 발명의 일 실시예에 따른 다양한 혼잡 레벨에 대한 dB 단위의 PSNR 값의 변화를 나타내는 그래프이다.
본 발명의 실시예에서, 모든 기법에 대해 수신된 비디오 스트림의 피크 신호 대 잡음비(PSNR)를 측정한다. PSNR은 손실 압축 비디오 및 이미지의 일반적인 품질 척도이다. 도 11(a)와 도 11(b)는 채널 상태가 좋고 나쁠 때의 다양한 혼잡 레벨에 대한 dB 단위의 PSNR 값의 변화를 보여준다. 0의 PSNR 값은 비디오를 재생할 수 없음을 의미한다. 좋은 채널 상태에서, 제안된 기법 및 우선 순위 지정 기법은 다른 방식보다 더 나은 결과를 달성한다. 이는 높은 혼잡에서 패킷 손실률이 낮을 뿐 아니라 최종 비디오 품질에 중요한 높은 우선 순위 패킷에 우선 순위를 부여하기 때문이다.
채널 상태가 나빠지면, 더 많은 패킷 손실로 인해 모든 기법의 전반적인 PSNR 값이 감소한다. 그러나, 기존의 우선 순위 지정 기법은 많은 수의 패킷 손실로 인해 더 낮은 PSNR을 달성한다. 기존의 단편화 방식과 레거시 방식은 나쁜 채널 상태에서 패킷 손실률이 매우 높기 때문에, 비트 에러율과 네트워크 혼잡도가 증가하면 비디오는 재생할 수 없게 된다. 따라서, 우선 순위 기반 대기열(queuing)을 통한 적응 단편화를 수행하는 제안된 기법은 기존의 방법보다 다양한 네트워크 혼잡도 및 비트 에러율에서 보다 높은 PSNR을 달성 할 수 있다. 또한, PSNR과 패킷 손실률의 관계는 선형적이지 않다. 패킷 손실률이 증가함에 따라 PSNR이 연속적으로 낮아진다.
본 발명은 실시간 비디오 스트리밍의 성능을 향상시키기 위해 높은 처리량의 WLAN에 우선 순위를 부여하는 효율적인 단편화 기법을 제안한다. 제안된 기법의 가장 큰 장점은 높은 네트워크 혼잡과 나쁜 채널 상태의 경우 더 높은 성능을 달성 할 수 있다는 것이다. 제안된 기법의 또 다른 이점은 기존의 단편화 기법과 같이 수신기 측에서는 어떤 수정도 요구하지 않는다는 점이다. 이 점은 제안된 기법의 배치를 훨씬 쉽게 만든다. 또한, MPEG-2 TS 프로토콜의 인기로 인해 MPEG-2 TS에 초점을 맞추었지만, 위와 같은 아이디어는 RTP를 통해 전달되는 다른 모든 비디오 스트림에까지 확장 될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (12)
- TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 단계;
패킷 분할부(Packet Fragmenter)가 TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 단계; 및
순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 단계
를 포함하고,
상기 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 단계는,
TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 TS 패킷을 분할하고, 네트워크 조건에 맞는 최적의 단편 TS 패킷 크기를 찾기 위해 전송된 총 TS 패킷에 대한 실패한 전송 패킷 수의 비율과 BER 간의 관계를 이용하여 최적의 단편 TS 패킷 크기를 계산한 후 최적의 단편 TS 패킷 크기보다 큰 단편은 더 분할하고,
각 단편 TS 패킷은 우선 순위에 따라 WMM 대기열들 중 하나에 할당되고, 동일한 WMM 대기열의 단편 TS 패킷이 WMM 대기열에서 제외되고 AMPDU로 집계되어 수신기로 전송되며, 전송의 성공 및 실패 비율 정보를 사용하여 최적의 단편 TS 패킷 크기를 다시 계산하는
패킷 단편화 방법. - 제1항에 있어서,
TS 파서(TS Parser)가 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 단계는,
패킷 식별자가 0인 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고, 패킷 식별자가 0이 아닌 경우, 패킷 기본 스트림 식별자 필드를 확인하는
패킷 단편화 방법. - 제2항에 있어서,
패킷 기본 스트림 식별자의 필드가 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷을 분석하고, 패킷 기본 스트림 식별자의 필드가 비디오 스트림에 해당하는 경우, PUSI 필드를 확인하는
패킷 단편화 방법. - 제3항에 있어서,
PUSI 필드가 1인 경우, 새로운 프레임의 시작을 의미하며 해당 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당하고, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정하고,
PUSI 필드가 0인 경우, 해당 TS 패킷이 프레임 데이터를 포함하는 것을 의미하고, 전역 변수를 확인하여 프레임 유형을 결정한 후 우선 순위를 할당하는
패킷 단편화 방법. - 삭제
- 제1항에 있어서,
순서 보존부(Order Preserver)가 각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 단계는,
각 단편 TS 패킷의 순서를 정렬하기 위한 RTP 헤더가 첨부된 각 단편 TS 패킷을 이용하여, 비디오 디코더를 통해 RTP 시퀀스 필드를 기반으로 각 단편 TS 패킷의 순서를 정렬하는
패킷 단편화 방법. - 출력 IP 패킷을 TS 패킷 및 비-TS 패킷으로 분류하고, 각 TS 패킷을 우선 순위 비트 맵 정보로 분석하는 TS 파서(TS Parser);
TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 속도 적응 모듈의 채널 상태 정보를 이용하여 단편 TS 패킷 크기를 결정하고, 결정된 단편 TS 패킷 크기에 따라 TS 패킷을 복수의 단편 TS 패킷으로 분할하는 패킷 분할부(Packet Fragmenter); 및
각 단편 TS 패킷에 적어도 IP 헤더, UDP 헤더, RTP 헤더 중 어느 하나를 적용하여 각 단편 TS 패킷의 순서를 유지 및 관리하는 순서 보존부(Order Preserver)
를 포함하고,
상기 패킷 분할부는,
TS 파서로부터 제공된 우선 순위 비트 맵 정보를 기반으로 TS 패킷을 분할하고, 네트워크 조건에 맞는 최적의 단편 TS 패킷 크기를 찾기 위해 전송된 총 TS 패킷에 대한 실패한 전송 패킷 수의 비율과 BER 간의 관계를 이용하여 최적의 단편 TS 패킷 크기를 계산한 후 최적의 단편 TS 패킷 크기보다 큰 단편은 더 분할하고,
각 단편 TS 패킷은 우선 순위에 따라 WMM 대기열들 중 하나에 할당되고, 동일한 WMM 대기열의 단편 TS 패킷이 WMM 대기열에서 제외되고 AMPDU로 집계되어 수신기로 전송되며, 전송의 성공 및 실패 비율 정보를 사용하여 최적의 단편 TS 패킷 크기를 다시 계산하는
패킷 단편화 시스템. - 제7항에 있어서,
TS 파서는,
패킷 식별자가 0인 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고, 패킷 식별자가 0이 아닌 경우, 패킷 기본 스트림 식별자 필드를 확인하는
패킷 단편화 시스템. - 제8항에 있어서,
TS 파서는,
패킷 기본 스트림 식별자의 필드가 오디오 스트림에 해당하는 경우, 해당 TS 패킷에 높은 우선 순위를 할당하고 다음 TS 패킷을 분석하고, 패킷 기본 스트림 식별자의 필드가 비디오 스트림에 해당하는 경우, PUSI 필드를 확인하는
패킷 단편화 시스템. - 제9항에 있어서,
TS 파서는,
PUSI 필드가 1인 경우, 새로운 프레임의 시작을 의미하며 해당 TS 패킷은 비디오 프레임 헤더를 포함하고 해당 TS 패킷에 높은 우선 순위를 할당하고, NAL 헤더의 NRI 필드를 확인하여 비디오 프레임 유형을 결정하고,
PUSI 필드가 0인 경우, 해당 TS 패킷이 프레임 데이터를 포함하는 것을 의미하고, 전역 변수를 확인하여 프레임 유형을 결정한 후 우선 순위를 할당하는
패킷 단편화 시스템. - 삭제
- 제7항에 있어서,
순서 보존부는,
각 단편 TS 패킷의 순서를 정렬하기 위한 RTP 헤더가 첨부된 각 단편 TS 패킷을 이용하여, 비디오 디코더를 통해 RTP 시퀀스 필드를 기반으로 각 단편 TS 패킷의 순서를 정렬하는
패킷 단편화 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170047307A KR101915885B1 (ko) | 2017-04-12 | 2017-04-12 | 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170047307A KR101915885B1 (ko) | 2017-04-12 | 2017-04-12 | 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180115093A KR20180115093A (ko) | 2018-10-22 |
KR101915885B1 true KR101915885B1 (ko) | 2018-11-08 |
Family
ID=64102573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170047307A KR101915885B1 (ko) | 2017-04-12 | 2017-04-12 | 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101915885B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11627349B2 (en) | 2019-10-29 | 2023-04-11 | Samsung Electronics Co., Ltd. | Electronic device and control method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101454745B1 (ko) | 2013-03-28 | 2014-11-06 | 주식회사 두드림 | 멀티 코덱, 멀티 채널 기반의 동시통역 서비스 제공 시스템 및 방법 |
-
2017
- 2017-04-12 KR KR1020170047307A patent/KR101915885B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101454745B1 (ko) | 2013-03-28 | 2014-11-06 | 주식회사 두드림 | 멀티 코덱, 멀티 채널 기반의 동시통역 서비스 제공 시스템 및 방법 |
Non-Patent Citations (1)
Title |
---|
Jalil Abdullayev, et al. "A Dynamic Packet Fragmentation Extension to High Throughput WLANs for Real-Time H264/AVC Video Streaming", The 10th International Conference on Future Internet. ACM, 2015.* |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11627349B2 (en) | 2019-10-29 | 2023-04-11 | Samsung Electronics Co., Ltd. | Electronic device and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20180115093A (ko) | 2018-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9515941B2 (en) | Dynamic determination of transmission parameters based on packet priority and network conditions | |
US9571404B2 (en) | Method and system for prioritizing network packets | |
US8189684B2 (en) | Video data communication method and apparatus for improving transmission efficiency | |
Chilamkurti et al. | Wireless multimedia delivery over 802.11 e with cross-layer optimization techniques | |
US9084177B2 (en) | Adaptive time allocation in a TDMA MAC layer | |
US20130202025A1 (en) | Method and system for transmitting video frame data to reduce slice error rate | |
US20070097205A1 (en) | Video transmission over wireless networks | |
US9369391B2 (en) | Flow management for data streams over cellular networks | |
US7965639B2 (en) | Dynamic adaptation of MAC-layer retransmission value | |
US9674860B2 (en) | Method and apparatus for efficient aggregation scheduling in wireless local area network (WLAN) system | |
EP3163939B1 (en) | Wireless communications device, wireless communications method, and program | |
JP5117512B2 (ja) | 再送回数を動的に適合させる方法及び装置 | |
US20170289843A1 (en) | Method and apparatus for transmitting data unit | |
US20230224383A1 (en) | Extended reality (xr) traffic handling | |
EP1829318B1 (en) | System and method for enhancing audio quality for ip based systems using an amr payload format | |
KR101915885B1 (ko) | 실시간 비디오 스트리밍을 위한 우선 순위 대기열을 갖는 효율적인 mac 레이어 패킷 단편화 방법 및 시스템 | |
US8364832B2 (en) | Data segregation and fragmentation in a wireless network for improving video performance | |
Pourmohammadi Fallah et al. | Efficient transmission of H. 264 video over multirate IEEE 802.11 e WLANs | |
Abdullayev et al. | A dynamic packet fragmentation extension to high throughput WLANs for real-time H264/AVC video streaming | |
Shin et al. | An efficient MAC layer packet fragmentation scheme with priority queuing for real-time video streaming | |
JP2015050591A (ja) | 情報処理装置、情報処理方法およびプログラム | |
KR100931376B1 (ko) | 네트워크 적응적인 데이터 스트림 전송 제어방법 및 시스템 | |
KR20140110890A (ko) | 네트워크 게이트웨이 및 데이터 스트림의 패킷들을 전송하기 위한 방법 | |
Khambari et al. | QoE Enhancements for Video Traffic in Wireless Networks through Selective Packet Drops | |
US20240340696A1 (en) | Method and apparatus for provisioning of payload data structure information for efficient data transmission in lower layer |
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 |