KR100770907B1 - 멀티미디어 패킷 데이터의 디패킷화 방법 - Google Patents

멀티미디어 패킷 데이터의 디패킷화 방법 Download PDF

Info

Publication number
KR100770907B1
KR100770907B1 KR1020060013645A KR20060013645A KR100770907B1 KR 100770907 B1 KR100770907 B1 KR 100770907B1 KR 1020060013645 A KR1020060013645 A KR 1020060013645A KR 20060013645 A KR20060013645 A KR 20060013645A KR 100770907 B1 KR100770907 B1 KR 100770907B1
Authority
KR
South Korea
Prior art keywords
packet
bitstream
current
sequence number
completed
Prior art date
Application number
KR1020060013645A
Other languages
English (en)
Other versions
KR20070081604A (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 KR1020060013645A priority Critical patent/KR100770907B1/ko
Priority to US11/642,270 priority patent/US7894486B2/en
Publication of KR20070081604A publication Critical patent/KR20070081604A/ko
Application granted granted Critical
Publication of KR100770907B1 publication Critical patent/KR100770907B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 

Abstract

본 발명은 멀티미디어 패킷 데이터의 디패킷화 방법에 있어서, RTP 패킷의 페이로드의 첫 부분에 각 프레임을 구분할 수 있는 스타트 코드(start code)를 미리 파싱해 두는 컨텍스트 인식 과정을 통해, 이러한 스타트 코드를 이용하여 각 패킷을 구분하여 디패킷화를 수행한다.
멀티미디어, 디패킷화, 패킷, 컨텍스트 인식, 시작 코드, RTP

Description

멀티미디어 패킷 데이터의 디패킷화 방법{DE-PACKETIZATION METHOD FOR MULTIMEDIA PACKET DATA}
도 1은 일반적인 멀티미디어 패킷 데이터의 전송을 위한 패킷망의 전체 블록 구성도
도 2는 일반적인 디패킷화 동작의 흐름도
도 3은 본 발명의 일 실시예에 따른 멀티미디어 데이터 전송을 위한 패킷망의 전체 블록 구성도
도 4는 패킷망을 통한 멀티미디어 데이터의 전송시 사용되는 RTP(Real-Time Transport Protocol)의 구조
도 5a, 5b는 본 발명의 일 실시예에 따른 디패킷화 동작의 흐름도
도 6a, 6b는 패킷 손실시 일반적인 경우와 본 발명에 따른 방식의 성능 비교를 위한 도면
본 발명은 패킷망에 기반한 멀티미디어 데이터의 송수신에 관련된 기술로서, 특히 멀티미디어 패킷 데이터의 디패킷화 방법에 관한 기술이다.
현재, 인터넷과 같은 패킷망에서의 영상(비디오) 및 음성(오디오) 데이터의 전송에는 다운로드 전송방식과 스트림형 전송 방식이 있다. 다운로드형 전송방식에서는 서버로부터 송신된 영상 파일 등은 단말기측에서 일단 축적되고, 파일 전송이 완료된 후 파일의 데이터가 재생된다. 이러한 다운로드형 전송방식에서는 파일의 전송이 완료될 때까지 단말기측에서 데이터의 재생을 수행할 수 없게 된다. 이에 따라 다운로드형 전송방식은 영상 데이터 등의 장시간 재생에 이용하기에는 부적합하였다.
한편, 스트림형 전송방식에서는 스트리밍 서버로부터 단말기로부터의 전송이 행해지고 있는 동안에도 수신한 데이터의 재생이 가능하다. 이러한 스트림형 전송방식은 IFTF(Internet Engineering Task Force)의 RFC1889에서 규정되고 있는 RTP(Real-Time Transport Protocol)을 이용하는 것이 주류로 되어 있다.
도 1에는 일반적인 패킷망 및 스트림형 전송방식에서의 멀티미디어 패킷 데이터의 전송 과정이 도시된다. 도 1을 참조하면, 먼저 전송부(10)에서, 멀티미디어 데이터 발생부(102)는 외부 카메라 등을 통해서 획득된 영상 데이터나, 마이크 등을 통해서 획득된 음성 데이터들을 각종 부호기들을 통해서 압축한다. 이러한 동작을 통해서 압축된 비트스트림이 발생한다. 패킷화부(104)는 멀티미디어 데이터 발생부(102)에서 발생한 비트스트림을 채널에 전송하기 위해서 비트스트림을 하나의 패킷에 대응시키는 패킷화 작업을 수행한다. 패킷 전송부(106)에서는 패킷화부(104)에서 발생한 패킷을 UDP/IP(User Datagram Protocol / Internet Protocol) 같 은 프로토콜을 이용해서 채널로 전송한다.
수신부(12)에서, 패킷 수신부(126)는 채널을 통해서 입력된 UDP/IP 데이터를 파싱한 후 이 패킷을 디패킷화부(124)에 전달한다. 디패킷화부(124)는 전송부(10)의 패킷화부(104)에서 이루어진 패킷화 과정의 역의 과정을 수행한다. 즉, 여러개의 패킷에서 의미있는 하나의 비트스트림을 추출하는 역할을 담당한다. 멀티미디어 데이터 처리부(122)는 디패킷화부(124)에 의해서 발생된 비트스트림을 비디오/오디오 복호기를 통해서 각종 멀티미디어 데이터의 재생을 담당한다.
도 2는 일반적인 디패킷화 동작의 흐름도로서, 상기 디패킷화부(124)에서의 동작을 상세히 나타낸다. 먼저 도 2의 흐름도에서 정의한 용어의 의미는 다음과 같다. 작업 완료를 위미하는 "BITSTREAM_COMPLETED", "BITSTREAM_TRUNCATED", "ATTACH_TO_BUF", "FLUSH_BUF"는 일명 "Notify reason"으로서, 디패킷화 과정의 결과를 상위 계층에 알려주는 것을 의미한다. "ATTACH_TO_BUF"는 현재 패킷이 완성되지 않았으니 버퍼에 붙이라는 의미이다. "BITSTREAM_COMPLETED"는 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었다는 의미이다. "FLUSH_BUF"는 에러나 기타 다른 이유로 현재 비트스트림을 구성하지 못함으로 현재 버퍼를 비우라는 의미이다. "BITSTREAM_TRUNCATED"는 현재까지 받은 비트스트림의 정보만 의미가 있고 그 이후는 에러에 의해서 손실되었음을 나타낸다.
이외의 각 상태를 나타내는 용어들로서, "prev_error"는 하나의 비트스트림내에서 에러가 존재하는지를 나타낸다. "first_error"는 하나의 비트스트림에서 첫번째 패킷이 손실되었음을 나타낸다. "prev_bs_end"는 이전 패킷이 하나의 비트스 트림으로 완성되었음을 나타낸다. "cur_bs_end"는 현재 패킷이 하나의 비트스트림의 끝을 나타낸다. "prev_seq"는 이전 패킷의 시퀀스 번호이고, "cur_seq"는 현재 패킷의 시퀀스 번호를 나타낸다.
도 2를 참조하여 상세 디패킷화 동장을 설명하면, 패킷이 입력되면, 먼저 이전 패킷이 하나의 비트스트림으로 완성되었는지 확인하여(402단계), 이전 패킷이 하나의 비트스트림으로 완성되지 않았을 경우에는 하나의 비트스트림에서 첫 번째 패킷이 손실되었는지 확인하고(404단계), 첫 번째 패킷이 손실되지 않았으면 하나의 비트스트림내에서 에러가 존재하는지 확인하며(406단계), 에러가 존재하지 않았을 경우에는 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하는지 확인하여(408단계) 일치할 경우에는 F블록과정(490)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다.
F블록과정(490)은 현재 패킷이 하나의 비트스트림의 끝인지 확인하여(492단계), 현재 패킷이 하나의 비트스트림의 끝이 아닐 경우에는 이전 패킷이 하나의 비트스트림으로 완성되지 않았음을 표시하고(494단계), 현재 패킷이 완성되지 않았으니 버퍼에 붙일 것을 상위 계층에 알리며, 초기 동작으로 되돌아가서 다음 패킷을 입력받고 상기의 동작을 반복진행하며, 현재 패킷이 하나의 비트스트림의 끝일 경우에는 이전 패킷이 하나의 비트스트림으로 완성되었음과, 비트스트림에 에러가 없음과, 첫 번째 패킷이 손실되지 않았음을 표시하고(496단계) 해당 과정을 종료하고 이후의 연속된 후속 동작으로 진행한다.
이러한 과정을 통해서 패킷에 손실에 없을 경우에 상기의 과정을 통해서만 전체 패킷의 디패킷화 동작의 수행될 수 있다.
만약 상기의 과정에서, 패킷이 입력된 경우에 이전 패킷이 하나의 비트스트림으로 완성되었음이 확인될 경우에는(402단계), 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하는지 확인하여(410단계) 일치할 경우에는 상기 F블록과정(490)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다. 이때 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하지 않음이 확인될 경우에는(410단계), 첫 번째 패킷에 에러가 있음을 표시하고(412단계) 상기 F블록과정(490)을 거쳐 에러나 기타 다른 이유로 현재 비트스트림을 구성하지 못함으로 현재 버퍼를 비울 것을 상위 계층에 알리게 된다.
한편, 패킷 입력시 이전 패킷이 하나의 비트스트림으로 완성되지 않았음이 확인되고(402단계), 첫 번째 패킷이 손실되었음이 확인될 경우에는(404단계), 상기 F블록과정(490)을 거쳐 현재 버퍼를 비울 것을 상위 계층에 알리게 된다.
또한, 패킷 입력시, 이전 패킷이 하나의 비트스트림으로 완성되지 않았음이 확인되고(402단계), 첫 번째 패킷이 손실되지 않았음이 확인된 후(404단계), 하나의 비트스트림내에서 에러가 존재함이 확인된 경우에는(406단계), 상기 F블록과정(490)을 거쳐 현재까지 받은 비트스트림의 정보만 의미가 있고 그 이후는 에러에 의해서 손실되었음을 상위 계층에 알린다.
또한, 패킷 입력시, 이전 패킷이 하나의 비트스트림으로 완성되지 않았음이 확인되고(402단계), 첫 번째 패킷이 손실되지 않았음이 확인되며(404단계), 하나의 비트스트림내에서 에러가 존재하지 않음이 확인된 후(406단계), 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하지 않음이 확인될 경우에는(408단계), 비트스트림내에 에러가 존재함을 표시하고(409단계), 상기 F블록과정(490)을 거쳐 현재까지 받은 비트스트림의 정보만 의미가 있고 그 이후는 에러에 의해서 손실되었음을 상위 계층에 알린다.
상기한 바와 같이 디패킷화 동작이 수행될 수 있으나, 상기한 디패킷화 동작은 한 비트스트림의 특정 번째의 패킷이 손실된 경우에 이에 효과적으로 대응할 수 없는 문제점이 있었다. 예를 들어 3번째 패킷이 손실되었을 경우에는 상기의 과정에서는 4번째 패킷의 수신시에 이 패킷이 3번째 패킷을 표시하는 것인지 새로운 4번째 패킷을 표현하는 것인지 알 수 없기 때문에 4번째 패킷을 버리게 된다.
따라서, 본 발명은 패킷 손실을 줄일 수 있는 보다 효과적인 멀티미디어 패킷 데이터의 디패킷화 방법을 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명은 멀티미디어 패킷 데이터의 디패킷화 방법에 있어서, RTP 패킷의 페이로드의 첫 부분에 각 프레임을 구분할 수 있는 스타트 코드(start code)를 미리 파싱해 두는 컨텍스트 인식 과정과, 상기 스타트 코드를 이용하여 각 패킷을 구분하여 디패킷화를 수행하는 과정을 포함함을 특징으로 한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 3은 본 발명의 일 실시예에 따른 멀티미디어 데이터 전송을 위한 패킷망의 전체 블록 구성도로서, 도 2에는 본 발명에 따른 컨텍스트 인식(context aware) 방법에 의한 패킷망에서의 멀티미디어 데이터 전송 과정이 도시된다. 도 3을 참조하면, 먼저 전송부(20)는 종래와 마찬가지의 구성을 가지는 멀티미디어 데이터 발생부(202)와, 패킷화부(204) 및 패킷 전송부(206)를 구비한다.
수신부(22)에서도 종래와 유사한 구성을 가지는데, 즉 패킷 수신부(226)는 채널을 통해서 입력된 UDP/IP 데이터를 파싱한 후 이 패킷을 디패킷화부(224)에 전달한다. 디패킷화부(224)는 전송부(20)의 패킷화부(204)에서 이루어진 패킷화 과정의 역의 과정을 수행한다. 멀티미디어 데이터 처리부(222)는 디패킷화부(224)에 의해서 발생된 비트스트림을 비디오/오디오 복호기를 통해서 각종 멀티미디어 데이터의 재생을 담당한다.
이러한 구성에서, 상기 디패킷화부(224)는 본 발명의 특징에 따라 컨텍스트 인식부(228)를 이용하여 디패킷화를 수행한다. 컨텍스트 인식부(228)는 비트스트림의 내용을 참조하여 RTP 패킷의 페이로드의 첫 부분에 스타트 코드(start code)를 인식하여 각 프레임을 구분할 수 있도록 디패킷화부(224)에 알려주어 효과적인 디패킷화를 수행하게 한다. 디패킷화과정에서 비트스트림의 내용을 참조하는 것은 일종의 크로스 계층 접근(cross layer approach)의 한 종류로 간주할 수 있다.
도 4는 패킷망을 통한 멀티미디어 데이터의 전송시 사용되는 RTP의 구조도이다. 도 4에서는 RTP 패킷을 32비트마다 구획하여 배열하고 도시하며, 가로축의 00~31이 32비트로 구분된 비트의 위치를 나타낸다. 도 4에서 "V", "P", "X"... 로부터 CSRC(Contributing Source) 식별자(identifiers)까지가 RTP 헤더에 해당한다. X는 확장비트를 나타내며, X=1일 경우에 RTP 헤더의 마지막에 확장 영역(Header Extension)이 부가된다. H.261, H.263, MPEG-4, H.264 등 현재 사용되고 있는 모든 비디오 부호기는 RTP 헤더의 "M" 비트를 한 프레임(혹은 access unit)의 끝을 나타내는 표시로 사용한다. 그리고 본 발명의 컨텍스트 인식을 위해서 RTP 패킷의 페이로드의 첫 부분에 각 프레임을 구분할 수 있는 스타트 코드(start code)를 파싱해서 그 결과를 미리 각 패킷들이 확보하고 있게 된다. 스타트 코드는 예로 들어 MPEG-4의 경우에는 "000001B6(hex)"이며, H.264의 경우에는 "000001B(hex)"로서, 이를 확인함으로써, RTP 패킷의 각 프레임의 시작을 확인할 수 있다.
도 5a, 5b는 본 발명의 일 실시예에 따른 디패킷화 동작의 흐름도이다. 도 5a, 5b의 흐름도에서 정의한 용어의 의미는 종래와 동일하다. 즉 "ATTACH_TO_BUF"는 현재 패킷이 완성되지 않았으니 버퍼에 붙이라는 의미이다. "BITSTREAM_COMPLETED"는 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었다는 의미이다. "FLUSH_BUF"는 에러나 기타 다른 이유로 현재 비트스트림을 구성하지 못함으로 현재 버퍼를 비우라는 의미이다. "BITSTREAM_TRUNCATED"는 현재까지 받은 비트스트림의 정보만 의미가 있고 그 이후는 에러에 의해서 손실되었음을 나타낸다.
마찬가지로, 이외의 각 상태를 나태는 용어들로서, "prev_error"는 하나의 비트스트림내에서 에러가 존재하는지를 나타낸다. "first_error"는 하나의 비트스트림에서 첫번째 패킷이 손실되었음을 나타낸다. "prev_bs_end"는 이전 패킷이 하나의 비트스트림으로 완성되었음을 나타낸다. "cur_bs_end"는 현재 패킷이 하나의 비트스트림의 끝을 나타낸다. "prev_seq"는 이전 패킷의 시퀀스 번호이고, "cur_seq"는 현재 패킷의 시퀀스 번호를 나타낸다.
이때, 종래와는 달리 스타트 코드를 확인을 나타내는 "start_code"가 추가되는 데, 이는 컨텍스트 인식 엔터티로서 프로토콜 레벨에서 비트스트림의 내용을 참조해서 얻는 값이다.
도 5a, 5b를 참조하여 상세 디패킷화 동작을 설명하면, 패킷이 입력되면, 먼저 이전 패킷이 하나의 비트스트림으로 완성되었는지 확인하여(502단계), 이전 패킷이 하나의 비트스트림으로 완성되지 않았을 경우에는 하나의 비트스트림에서 첫 번째 패킷이 손실되었는지 확인하고(504단계), 첫 번째 패킷이 손실되지 않았으면 하나의 비트스트림내에서 에러가 존재하는지 확인하며(506단계), 에러가 존재하지 않았을 경우에는 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하는지 확인하여(508단계) 일치할 경우에는 F블록과정(590)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다.
F블록과정(590)은 종래와 동일한 동작을 수행한다. 즉, 현재 패킷이 하나의 비트스트림의 끝인지 확인하여(592단계), 현재 패킷이 하나의 비트스트림의 끝이 아닐 경우에는 이전 패킷이 하나의 비트스트림으로 완성되지 않았음을 표시하고(594단계), 현재 패킷이 완성되지 않았으니 버퍼에 붙일 것을 상위 계층에 알리며, 초기 동작으로 되돌아가서 다음 패킷을 입력받고 상기의 동작을 반복진행하며, 현재 패킷이 하나의 비트스트림의 끝일 경우에는 이전 패킷이 하나의 비트스트림으로 완성되었음과, 비트스트림에 에러가 없음과, 첫 번째 패킷이 손실되지 않았음을 표시하고(596단계) 해당 과정을 종료하고 이후의 연속된 후속 동작으로 진행한다.
이러한 과정을 통해서 패킷에 손실에 없을 경우에 상기의 과정을 통해서만 전체 패킷의 디패킷화 동작의 수행될 수 있으며, 이러한 과정은 종래의 동작과 동일할 수 있다.
만약 상기의 과정에서, 패킷이 입력된 경우에 이전 패킷이 하나의 비트스트림으로 완성되었음이 확인될 경우에는(502단계), 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하는지 확인하여(510단계) 일치할 경우에는 상기 F블록과정(590)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다. 이때 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하지 않음이 확인될 경우에는(510단계), 첫 번째 패킷에 에러가 있음을 표시하고(512단계) 본 발명의 특징에 따라 F'블록과정(580)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다.
F'블록과정(580)은 현재 패킷이 하나의 비트스트림의 끝인지 확인하여(582단계), 현재 패킷이 하나의 비트스트림의 끝이 아닐 경우에는 이전 패킷이 하나의 비트스트림으로 완성되지 않았음을 표시하고(584단계), 에러나 기타 다른 이유로 현재 비트스트림을 구성하지 못함으로 현재 버퍼를 비울 것을 상위 계층에 알리며, 초기 동작으로 되돌아가서 다음 패킷을 입력받고 상기의 동작을 반복진행하며, 현재 패킷이 하나의 비트스트림의 끝일 경우에는 스타트 코드 값을 확인하여(585단계), 스타트 코드가 확인되면 이전 패킷이 하나의 비트스트림으로 완성되었음과, 비트스트림에 에러가 없음과, 첫 번째 패킷이 손실되지 않았음을 표시하고(586단계) 해당 과정을 종료하고 이후의 연속된 후속 동작으로 진행한다. 이때 스타트 코드가 확인되지 않으면, 이전 패킷이 하나의 비트스트림으로 완성되었음과, 비트스트림에 에러가 없음과, 첫 번째 패킷이 손실되지 않았음을 표시하고(588단계), 현재 버퍼를 비울 것을 상위 계층에 알라며 해당 과정을 종료한다. 이때에는 해당 후속 과정으로 진행하지 않게 된다.
한편, 패킷 입력시 이전 패킷이 하나의 비트스트림으로 완성되지 않았음이 확인되고(502단계), 첫 번째 패킷이 손실되었음이 확인될 경우에는(504단계), 상기 F'블록과정(580)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다.
또한, 패킷 입력시, 이전 패킷이 하나의 비트스트림으로 완성되지 않았음이 확인되고(502단계), 첫 번째 패킷이 손실되지 않았음이 확인된 후(504단계), 하나의 비트스트림내에서 에러가 존재함이 확인된 경우에는(506단계), 상기 F'블록과정 (580)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다.
또한, 패킷 입력시, 이전 패킷이 하나의 비트스트림으로 완성되지 않았음이 확인되고(502단계), 첫 번째 패킷이 손실되지 않았음이 확인되며(504단계), 하나의 비트스트림내에서 에러가 존재하지 않음이 확인된 후(506단계), 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하지 않음이 확인될 경우에는(508단계), 비트스트림내에 에러가 존재함을 표시하고(509단계), 현재까지 받은 비트스트림의 정보만 의미가 있고 그 이후는 에러에 의해서 손실되었음을 상위 계층에 알린 후, 상기 F'블록과정(580)을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알려준다.
상기와 같이 본 발명에 따른 디패킷화 동작이 수행될 수 있게 된다. 상기한 과정에서 본 발명에서는 F'블록과정(580)에서 일반적인 디패킷화 동작과는 다르게 스타트 코드 값을 이용하여 분기하는 동작을 수행함을 알 수 있다. 이러한 동작을 통해서 패킷의 손실시에 버려지는 한개의 패킷을 복원할 수 있게 된다.
도 6a, 6b는 패킷 손실시 일반적인 경우와 본 발명에 따른 방식의 성능 비교를 위한 도면으로서, 도 6a, 6b 각각의 (a)는 입력 패킷이 도시되며, (b)에는 일반적인 방식으로 디패킷화한 결과, (c)에는 본 발명에 따른 방식으로 디패킷화한 결과가 도시된다.
먼저, 도 6a는 프레임의 마지막 패킷이 손실된 경우를 예시한다. 도 6의 (a)에 도시된 바와 같이, 1, 2, 3번 패킷이 일반적인 영상 데이터의 I 프레임이라 가 정하고 3번째 패킷이 손실되었다고 가정한다. 도 6a의 (b)에 도시된 바와 같이, 일반적인 방법은 4번째 패킷의 수신시에 이 패킷이 3번째 패킷을 표시하는 것인지 새로운 4번째 패킷을 표현하는 것인지 알 수 없기 때문에 4번째 패킷을 버리게 된다. 하지만 도 6a의 (c)에 도시된 바와 같이, 본 발명에 따른 방식은 4번째 프레임이 새로운 프레임의 시작임을 스타트 코드로 알 수 있기 때문에 이 프레임을 버리지 않고 획득할 수 있다.
도 6b는 독립된 각각의 패킷에서 한 패킷의 손실이 발생한 경우를 예시한 도면이다. 이때 도 6b의 (a)에 도시된 바와 같이, 일반적인 영상 데이터에서 2번째 패킷의 한 개의 P프레임이 손실된 경우라 가정할 수 있다. 이 경우도 도 6b의 (b)에서는 3번째 패킷을 버리게 되지만, 도 6b의 (c)에 도시된 바와 같이, 본 발명에 따른 방식은 3번째 프레임의 스타트 코드를 이용해서 3번째 프레임을 복원할 수 있게 된다.
상기와 같이 본 발명의 멀티미디어 패킷 데이터의 디패킷화 동작이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 본 발명에 따른 멀티미디어 패킷 데이터의 디패킷화 방식 은 패킷망에 기반한 멀티미디어 데이터의 송수신시에 응용될 수 있으며, 패킷 손실시에 프로토콜 단에서 비트스트림의 정보를 이용한 컨텍스트 인식(context aware) 방법을 사용한 크로스 레이어 접근(cross layer approach)을 통해서 패킷을 효과적으로 복원할 수 있다. 따라서 패킷 손실이 큰 와이브로(WiBro)같은 무선망에서 멀티미디어 데이터의 손실을 최소화해서 영상과 음성 데이터에 대한 품질을 향상할 수 있다.

Claims (5)

  1. 삭제
  2. 멀티미디어 패킷 데이터의 디패킷화 방법에 있어서,
    패킷 입력시, 이전 패킷이 하나의 비트스트림으로 완성되지 않았는지와, 첫 번째 패킷이 손실되지 않았는지와, 하나의 비트스트림내에서 에러가 존재하지 않았는지와, 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하는지를 순차적으로 확인하는 제1과정과,
    상기 제1과정에서의 확인 조건들을 만족한 경우에, 상기 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치할 경우에 제1블록과정을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알리는 제2과정과,
    상기 제1과정에서 상기 첫 번째 패킷이 손실되었음이 확인된 경우에, 제2블록과정을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알리는 제3과정을 포함하며,
    상기 제1블록과정은 현재 패킷이 하나의 비트스트림의 끝이 아닐 경우에는 현재 패킷을 버퍼에 붙일 것을 상기 상위 계층에 알리며, 상기 제1과정으로 되돌아가며, 현재 패킷이 하나의 비트스트림의 끝일 경우에는 해당 제1블록과정을 종료하고 이후의 연속된 후속 동작으로 진행하며,
    상기 제2블록과정은 현재 패킷이 하나의 비트스트림의 끝이 아닐 경우에는 현재 버퍼를 비울 것을 상위 계층에 알리며, 상기 제1과정으로 되돌아가며, 현재 패킷이 하나의 비트스트림의 끝일 경우에는 스타트 코드 값을 확인하여, 스타트 코드가 확인되면 해당 제2블록과정을 종료하고 이후의 연속된 후속 동작으로 진하며, 스타트 코드가 확인되지 않으면 현재 버퍼를 비울 것을 상위 계층에 알라며 연속된 후속 동작으로 진행하지 않으면서 해당 제2블록과정을 종료함을 특징으로 하는 디패킷화 방법.
  3. 제2항에 있어서,
    상기 제1과정에서 이전 패킷이 하나의 비트스트림으로 완성되었음이 확인될 경우에는, 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하는지 확인하여 일치할 경우에는 상기 제1블록과정을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알리는 제4과정과,
    상기 제4과정에서 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하지 않을 경우에는 상기 제2블록과정을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알리는 제5과정을 더 포함함을 특징으로 하는 디패킷화 방법.
  4. 제2항에 있어서,
    상기 제1과정에서, 하나의 비트스트림내에서 에러가 존재함이 확인된 경우에는
    상기 제2블록과정을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알리는 제4과정을 더 포함함을 특징으로 하는 디패킷화 방법.
  5. 제2항에 있어서,
    상기 제1과정에서, 이전 패킷의 시퀀스 번호를 1증가시킨 것이 현 패킷의 시퀀스 번호와 일치하지 않음이 확인된 경우에는,
    현재까지 받은 비트스트림의 정보만 의미가 있으며 그 이후는 에러에 의해서 손실되었음을 상위 계층에 알리는 제4과정과,
    상기 제2블록과정을 거쳐 현재 패킷이 하나의 의미있는 비트스트림으로 완성되었음을 상위 계층에 알리는 제5과정을 포함함을 특징으로 하는 디패킷화 방법.
KR1020060013645A 2006-02-13 2006-02-13 멀티미디어 패킷 데이터의 디패킷화 방법 KR100770907B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060013645A KR100770907B1 (ko) 2006-02-13 2006-02-13 멀티미디어 패킷 데이터의 디패킷화 방법
US11/642,270 US7894486B2 (en) 2006-02-13 2006-12-20 Method for depacketization of multimedia packet data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060013645A KR100770907B1 (ko) 2006-02-13 2006-02-13 멀티미디어 패킷 데이터의 디패킷화 방법

Publications (2)

Publication Number Publication Date
KR20070081604A KR20070081604A (ko) 2007-08-17
KR100770907B1 true KR100770907B1 (ko) 2007-10-26

Family

ID=38368373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060013645A KR100770907B1 (ko) 2006-02-13 2006-02-13 멀티미디어 패킷 데이터의 디패킷화 방법

Country Status (2)

Country Link
US (1) US7894486B2 (ko)
KR (1) KR100770907B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082843A (ko) * 2007-03-09 2008-09-12 삼성전자주식회사 데이터 패킷 손실의 보상을 위한 클라이언트 및 시스템,그리고 그 방법
FR2944938B1 (fr) * 2009-04-28 2011-10-21 Canon Kk Procede et dispositif de correction d'erreurs.
KR102056438B1 (ko) 2012-10-12 2019-12-16 삼성전자주식회사 복합 멀티미디어 데이터를 전송하기 위한 데이터 패킷을 송수신하는 방법 및 장치
KR20240022085A (ko) * 2022-08-11 2024-02-20 주식회사 아이서티 영상 패킷의 암호화를 지원하는 네트워크 시스템, 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11251988A (ja) 1998-03-05 1999-09-17 Matsushita Electric Ind Co Ltd 衛星データ送信装置および受信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212517B2 (en) * 2001-04-09 2007-05-01 Lucent Technologies Inc. Method and apparatus for jitter and frame erasure correction in packetized voice communication systems
AU2002351218A1 (en) * 2001-12-04 2003-06-17 Polycom, Inc. Method and an apparatus for mixing compressed video
US7408938B1 (en) * 2003-10-15 2008-08-05 Microsoft Coporation System and method for efficient broadcast of information over a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11251988A (ja) 1998-03-05 1999-09-17 Matsushita Electric Ind Co Ltd 衛星データ送信装置および受信装置

Also Published As

Publication number Publication date
KR20070081604A (ko) 2007-08-17
US20070189286A1 (en) 2007-08-16
US7894486B2 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
US7301928B2 (en) Wireless packet transfer apparatus and method
KR101449710B1 (ko) 데이터 통신시스템, 데이터 송신장치, 데이터 송신방법 및패킷 사이즈 및 용장도 결정방법
CN106656422B (zh) 一种动态调整fec冗余度的流媒体传输方法
CN109923809B (zh) 利用前向纠错的编码和解码方法、以及编码和解码系统
US8239901B2 (en) Buffer control method, relay apparatus, and communication system
US8010863B2 (en) Method and apparatus for synchronizing multiple multimedia streams
US9363684B2 (en) Determining loss of IP packets
KR20120042833A (ko) 역방향의 강력한 헤더 압축 수신기
US9392082B2 (en) Communication interface and method for robust header compression of data flows
JP2009521833A (ja) ネットワーク処理ノード、及び、パケットを処理する方法
KR100770907B1 (ko) 멀티미디어 패킷 데이터의 디패킷화 방법
KR101153694B1 (ko) 미디어 송수신 방법, 미디어 송신 방법, 미디어 수신 방법, 미디어 송수신 장치, 미디어 송신 장치, 미디어 수신 장치, 게이트웨이 장치 및 미디어 서버
US20160164759A1 (en) Transmission device, receiving device, and relay device
US7995590B2 (en) Method and system for communicating H.263 macroblock boundaries using H.221 BAS for RFC2190-compliant fragmentation
US7024490B2 (en) Scheme, apparatus, and program for header compression
US7856096B2 (en) Erasure of DTMF signal transmitted as speech data
US20080304515A1 (en) Communication system and communication method
US20090080514A1 (en) Sender side channel adaptive video transmission
JP4714074B2 (ja) 伝送装置、送信装置及び受信装置
JP3931594B2 (ja) 多地点同報通信網用再送方法
JP4947049B2 (ja) 符号化ストリーム送信装置
JP3980592B2 (ja) 通信装置、符号化列送信装置、符号化列受信装置、これらの装置として機能させるプログラムとこれを記録した記録媒体、および符号列受信復号方法、通信装置の制御方法
JP2006319463A (ja) パケット伝送方法及びパケット受信装置
JP2007028432A (ja) パケット中継伝送装置
JP2008193450A (ja) 通信装置、パケット通信システム、プログラムおよび記録媒体

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
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20120927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee