KR101153520B1 - 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치 - Google Patents

부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치 Download PDF

Info

Publication number
KR101153520B1
KR101153520B1 KR20100120737A KR20100120737A KR101153520B1 KR 101153520 B1 KR101153520 B1 KR 101153520B1 KR 20100120737 A KR20100120737 A KR 20100120737A KR 20100120737 A KR20100120737 A KR 20100120737A KR 101153520 B1 KR101153520 B1 KR 101153520B1
Authority
KR
South Korea
Prior art keywords
symbol
coded
packetization
source
packet
Prior art date
Application number
KR20100120737A
Other languages
English (en)
Other versions
KR20120059111A (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 KR20100120737A priority Critical patent/KR101153520B1/ko
Priority to JP2011248963A priority patent/JP5383778B2/ja
Priority to US13/297,071 priority patent/US8774220B2/en
Publication of KR20120059111A publication Critical patent/KR20120059111A/ko
Application granted granted Critical
Publication of KR101153520B1 publication Critical patent/KR101153520B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used

Abstract

부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치가 개시되어 있다. 부호화 심볼의 패킷화 방법은 부호화 대상인 제1 소스 심볼을 결정하고 And-Or 트리 구조를 이용하여 생성한 제1 소스 심볼의 부호화 심볼인 적어도 하나의 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 패킷화 되지 않은 제1 부호화 심볼과 패킷화 되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 선택하는 목표 패킷 선택 단계와 And-Or 트리 구조를 이용하여, 생성된 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, And-Or 트리 구조를 이용하여 제2 소스 심볼을 기초로 제2 부호화 심볼을 생성하고, 제2 부호화 심볼 중 적어도 하나를 목표 패킷에 제1 부호화 심볼과 함께 패킷화하는 패킷화 단계를 포함할 수 있다. 따라서, 무선네트워크에서 발생하는 패킷 손실을 최소화 할 수 있고 특히,비디오 스트리밍 서비스의 품질 저하를 최소화하고 전달하는 패킷 사이의 종속성을 감소시켜 안정적으로 QoS를 만족시키는 비디오 스트리밍 서비스를 제공할 수 있다.

Description

부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치{METHODS OF PACKETIZING ENCODED SYMBOL AND APPARATUS FOR USING THE SAME}
본 발명은 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치에 관한 것으로, 더욱 상세하게는 심볼을 패킷화하는 방법 및 이러한 방법을 사용하는 장치에 관한 것이다.
네트워크 및 비디오 코딩을 연구하는 분야에서 비디오 스트리밍 기술은 중요하게 다루어지고 있는 분야이다. 비디오는 많은 양의 데이터를 가지고 있을 뿐만 아니라 데이터의 QoS(Quality of Service) 요구 때문에 실제 네트워크 환경에서 비디오 스트리밍 트래픽을 전송하는 것은 어려운 문제이다.
이러한 비디오 스트리밍에 있어 비디오 데이터의 양을 줄이기 위해서 효과적인 비디오 압축 알고리즘을 사용하는 것이 필수적인다.
지금까지 효과적인 비디오 압축 알고리즘을 위한 디지털 비디오 코딩 기술은 빠르게 발전했다. MPEG-1, 2 와 4, H.261, H.263/+/++ 및 H.264와 같은 국제적 표준은 ISO/IEC와 ITU-T 의 다양한 요구사항을 만족시키기 위해 제안되어 왔다. 압축된 비디오 데이터는 엔트로피 코더의 특성과 비디오의 장면 변환/불규칙한 움직임 변화 때문에 다양한 비트 레이트를 가진다. 낮은 압축률로 압축된 비디오 데이터보다 높은 압축률로 압축된 비디오 데이터가 상대적으로 전송 에러와 손실에 취약하다.
무선 네트워크에서 높은 품질의 안정적인 비디오 스트리밍 서비스를 효과적으로 제공하는 것은 해결해야할 과제이다.
비디오 데이터를 전송함에 있어서 경로 손실, 페이딩, 멀티-패스 및 간섭 현상은 무선 링크에서 수신된 비디오 데이터의 SNR(Signal to Noise Ratio)에서 불규칙한 변화를 가지고 온다.
낮은 SNR에서 수신된 신호를 디코딩하는 것은 어렵고, 결과적으로 BER(Bit Error Rate)를 증가시킨다. 무선 네트워크에서 데이터 전송 에러와 손실을 완화시키기 위해서는 ARQ(Automatic Repeat reQuest)와 FEC(Forward Error Correction)가 널리 사용된다.
ARQ는 피드백 정보를 수신한 후에 손실된 데이터를 다시 전송하여야 하기 때문에 딜레이를 증가시킨다. 그래서 ARQ는 딜레이에 민감한 비디오 스트리밍에는 적합하지 않은 에러 방지 방법이 될 수 있다.
하지만, FEC는 네트워크에서 피드백 정보는 필요없고, 데이터의 손실과 에러를 보상하기 위한 추가의 데이터가 필요하다. 이러한 FEC의 특징은 ARQ 방법에 비하여 딜레이에 민감한 비디오 스트리밍에서 적당하다.
루비 변환, 랩터, 온라인 코드와 같은 파운틴(Fountain) 코드는 블록 기반의 FEC 기술이다. 이러한 파운틴 코드는 높은 코딩 효율, 낮은 인코딩/디코딩 처리 시간 및 적응성과 같은 특성을 가지고 있기 때문에 에러가 발생하기 쉬운 무선 네트워크에서 딜레이에 민감한 데이터를 전송하는데에 매우 유용하다.
파운틴 코드는 채널 코딩의 Rateless code로서 송신단 측에서 수신단에 대한 정보가 부족하거나 수신단의 수가 매우 많은 경우처럼, 양방향 정보 전송이 어려울 때에도 단방향 전송만으로 에러없이 완벽한 수신을 가능하게 한다는 장점을 가지고 있다.
현재까지 파운틴 코드는 Erasure 채널에서 연구되었고, 그밖의 채널에서의 적용이 활발하게 진행되고 있다. Erasure 채널은 어떤 정보가 송신되는지에 상관없이 일정한 확률로 그 정보가 지워져 무엇이 전송되었는지 알 수 없게 되는 채널이다. 이 채널은 이론적인 가상 채널로만 인식되어 왔으나, 최근 인터넷의 발전과 더불어 Erasure 채널은 인터넷을 모델링 할 수 있는 채널로 주목받았다.
인터넷 상에서 각 패킷들은 제대로 전송되거나 그렇지 못하게 되고 어떤 패킷이 전송되는지에 상관없이 일정한 확률로 정확히 수신되거나 버려지는 경우만이 적용되므로 인터넷 채널 환경은 Erasure 채널로써 모델링될 수 있다.
파운틴 코드는 여러 분야에서 표준화 논의가 이루어지고 있다. 현재까지는 2005년 Raptor Code가 3GPP TS 26.346 MBMS와 DVB-H IP Datacast에서 사용되는 표준 방송용 채널 부호화 알고리즘으로 채택되었다. 표준에서 사용되고 있는 Raptor Code는 Systematic한 특성을 갖도록 정의되었다. 3GPP MBMS와 DVB-H에서는 이러한 특성의 Raptor Code를 구현하기 위하여 Pre-Code 과정에서 LT Decoding을 사용한다. 즉, 기존의 소스 심볼을 Raptor Code 내의 LT Code 부분과 같은 소스 심볼 선택 패턴으로 부호화된 심볼들로 가정한다. 따라서, 이를 LT Decoding해서 얻은 중간 단계 심볼을 LT Encoding하면 전송할 인코딩 심볼 내에는 소스 심볼이 그대로 포함될 수 있다.
파운틴 코드는 기본적으로 Erasure 채널에서 동작하도록 설계되므로 유선 네트워크 상에서의 통신에서도 적합하지만, 무선 통신에서도 MAC Layer 상에서는 CRC 가 적용되어 수신된 패킷이 옳은 정보인지 아닌지의 여부만이 결정되기 때문에 Erasure 채널과 같은 경우로 간주하여 파운틴 코드를 적용할 수 있다. MAC Layer에서 사용되는 다른 코딩 기법인 H-ARQ와 비교해 볼 때, 파운틴 코드는 송신단과 수신단 사이의 상호 작용없이도 수신단에서 오류없이 완벽하게 정보를 수신할 수 있게 한다는 특징이 있다. 따라서 양 단 사이에서 정보를 완벽하게 수신할 때까지 반복적인 상호작용을 통해 통신하는 H-ARQ 전송기법에 비해 장점을 가질 수 있다.
안정적으로 QoS를 만족시키는 비디오 스트리밍 서비스를 하기 위해서는 무선 네트워크에서 발생하는 패킷 손실에 의해 발생되는 데이터의 손실을 최소화하기 위해 전달되는 패킷 사이의 종속성을 감소시켜 패킷 손실을 최소화하여야 한다. 또한, 에러가 발생하기 쉬운 무선 네트워크에서 충분한 수의 부호화 심볼을 전송할 수 있는지를 예상하고 같은 수의 패킷으로 어떻게 LT 디코딩 실패율을 줄일 수 있어야 한다.
따라서, 본 발명의 제1 목적은 패킷 손실을 최소화하기 위한 And-Or 트리를 사용한 부호화 심볼을 패킷화하는 방법을 제공하는 것이다.
또한, 본 발명의 제2 목적은 패킷 손실을 최소화하기 위한 And-Or 트리를 사용한 부호화 심볼을 패킷화하는 방법을 사용하는 장치를 제공하는 것이다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 부호화 심볼의 패킷화 방법은 제1 소스 심볼을 결정하고 AND-OR 트리 구조를 이용하여 생성한 상기 제1 소스 심볼의 부호화 심볼인 적어도 하나의 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제1 부호화 심볼과 상기 패킷화 되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 선택하는 부호화 심볼 및 목표 패킷 선택 단계와 AND-OR 트리 구조를 이용하여, 상기 패킷화되지 않은 적어도 하나의 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, AND-OR 트리 구조를 이용하여 상기 제2 소스 심볼을 기초로 적어도 하나의 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화하는 패킷화 단계를 포함할 수 있다. 상기 부호화 심볼은 루비 변환(Luby Transform)을 이용하여 부호화한 심볼일 수 있다. 부호화 심볼의 패킷화 방법은 상기 부호화 심볼 및 목표 패킷 선택 단계와 상기 패킷화 단계에서 패킷화 되지 않은 제1 부호화 심볼이 존재하지 않을 경우, 상기 제1 소스 심볼이 아닌 상기 제1 소스 심볼과 같은 AND-OR 트리 계층에 있는 소스 심볼을 제1 소스 심볼로 하여상기 부호화 심볼 및 목표 패킷 선택 단계 및 패킷화 단계를 진행할 수 있다. 부호화 심볼의 패킷화 방법은,
상기 부호화 심볼 및 목표 패킷 선택 단계와 상기 패킷화 단계에서 패킷화 되지 않은 제1 부호화 심볼이 존재하지 않고, 상기 다른 소스 심볼을 제1 소스 심볼로 선택할 수 없는 경우, 아직 패킷화되지 않은 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷의 남은 공간에 삽입할 수 있다. 상기 패킷화 단계에서,
상기 제1 부호화 심볼과 함께 패킷화 되는 상기 제2 부호화 심볼이 아래의 식 1
<식 1>
Figure 112010078886800-pat00001
(
Figure 112010078886800-pat00002
은 생성된 부호화 심볼의 수,
Figure 112010078886800-pat00003
는 전송되는 패킷수,
Figure 112010078886800-pat00004
은 제2 부호화 심볼의 수,
Figure 112010078886800-pat00005
은 패킷 당 삽입이 가능한 부호화 심볼의 수를 의미함.)을 만족하는 값으로 결정될 수 있다. 상기 부호화 심볼 및 목표 패킷 선택 단계에서,
상기 목표 패킷은, 빈 패킷이 존재하는 경우 상기 빈 패킷 중 적어도 하나를 목표 패킷으로 하고 빈 패킷이 존재하지 않는 경우, 소정의 패킷의 사용가능한 공간이
Figure 112010078886800-pat00006
보다 크면, 상기 소정의 패킷의 사용가능한 공간이
Figure 112010078886800-pat00007
보다 큰 패킷 중 하나를 목표 패킷으로 결정하고, 상기 소정의 패킷의 사용가능한 공간이 상기
Figure 112010078886800-pat00008
보다 크지 않으면, 상기
Figure 112010078886800-pat00009
Figure 112010078886800-pat00010
(
Figure 112010078886800-pat00011
는 제1 부호화 심볼의 차수를 의미함.)보다 크거나 같고 상기 소정의 패킷의 사용 가능한 공간이
Figure 112010078886800-pat00012
보다 크거나 같을 경우 상기 소정의 패킷 중 적어도 하나로 선택될 수 있다. 상기 AND-OR 트리는,
상기 적어도 하나의 제1 부호화 심볼을 AND 연산한 값이 제1 소스 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 소스 심볼을 OR 연산한 값이 제1 부호화 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 부호화 심볼을 AND 연산한 값이 제2 소스 심볼의 값으로 산출될 수 있다. 상기 부호화 심볼의 패킷화 방법은, 비디오 스트리밍 서비스에서 비디오 데이터를 전송하는데 사용될 수 있다.
또한 상술한 본 발명의 제2 목적을 달성하기 위한 본 발명의 일 측면에 따른 부호화 심볼의 패킷화 장치는 부호화 대상인 소스 심볼을 기초로 AND-OR 트리를 사용하여 부호화 심볼을 생성하고 상기 부호화 심볼을 기초로, AND-OR 트리를 사용하여 소스 심볼을 생성하는 트리 구조화부와 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부를 포함할 수 있다. 상기 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부는 제1 소스 심볼을 결정하고 AND-OR 트리 구조를 이용하여 생성한 상기 제1 소스 심볼의 부호화 심볼인 적어도 하나의 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제1 부호화 심볼과 상기 패킷화 되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 선택하고, AND-OR 트리 구조를 이용하여, 상기 패킷화되지 않은 적어도 하나의 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, AND-OR 트리 구조를 이용하여 상기 제2 소스 심볼을 기초로 적어도 하나의 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화할 수 있다. 상기 AND-OR 트리는 상기 적어도 하나의 제1 부호화 심볼을 AND 연산한 값이 제1 소스 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 소스 심볼을 OR 연산한 값이 제1 부호화 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 부호화 심볼을 AND 연산한 값이 제2 소스 심볼의 값으로 산출될 수 있다. 상기 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부는 패킷화 되지 않은 제1 부호화 심볼이 존재하지 않을 경우, 상기 제1 소스 심볼을 제외한 다른 제1 소스 심볼을 선택하여 AND-OR 트리 구조를 이용하여 생성한 상기 다른 제1 소스 심볼의 부호화 심볼인 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제1 부호화 심볼을 선택하고 상기 패킷화되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 결정하여 상기 제1 부호화 심볼을 상기 목표 패킷에 삽입하고, AND-OR 트리 구조를 이용하여, 생성된 상기 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, AND-OR 트리 구조를 이용하여 상기 제2 소스 심볼을 기초로 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼을 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화할 수 있다. 상기 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부는 패킷화 되지 않은 제1 부호화 심볼이 존재하지 않고, 상기 제1 소스 심볼을 제외한 다른 제1 소스 심볼을 선택할 수 없는 경우, 아직 패킷화되지 않은 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷의 남은 공간에 삽입할 수 있다. 상기 부호화 심볼은 루비 변환(Luby Transform)을 이용하여 부호화한 심볼일 수 있다. 부호화 심볼의 패킷화 장치는 비디오 스트리밍 서비스에서 비디오 데이터를 전송하는데 사용될 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치에 따르면, 무선 네트워크에서 비디오 스트리밍 서비스를 돕기위해 And-Or 트리에 기초한 부호화 심볼의 패킷화를 수행한다. 우선 인코딩된 심볼 사이의 관계는 And-Or 트리를 사용함으로써 분석될 수 있다. 분석된 결과에 기초하여 인코딩된 심볼은 패킷 사이에 상관을 감소시키기는 방법을 사용하여 데이터 전송간에 손실된 패킷의 효과는 지역적으로 한정될 수 있다.
따라서, 무선네트워크에서 발생하는 패킷 손실을 최소화 할 수 있어 특히,비디오 스트리밍 서비스의 품질 저하를 최소화하고 전달하는 패킷 사이의 종속성을 감소시켜 안정적으로 QoS를 만족시키는 비디오 스트리밍 서비스를 제공할 수 있다.
도 1은 에러가 발생하기 쉬운 무선 네트워크에서 비디오 스트리밍 시스템을 나타낸다.
도 2는 본 발명의 일실시예에 따른 LT 부호화 심볼 간에 반복적인 부호화 과정을 나타낸 트리 구조이다.
도 3은 본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 방법을 나타내는 개념도이다.
도 4은 본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 방법을 나타내는 순서도이다.
도 5 및 도 6은 본 발명의 일실시예에 따른 제안된 패킷화 알고리즘의 제어 변수
Figure 112010078886800-pat00013
의 조건을 테스트한 그래프이다.
도 7 내지 도 10 및 표 2는 패킷 손실 패턴이 불규칙한 경우, 본 발명의 일실시예에 따른 패킷화 알고리즘과 전통적인 패킷화 알고리즘을 LT 디코딩 실패율의 관점에서 비교한 것이다.
도 11 내지 도 14는 패킷 손실 패턴이 집중되어 있는 경우, 경우 1의 전환 확률 분포(Transition Probability Distribution)를 가질때 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 알고리즘을 비교한 그래프이다.
도 15 내지 도 18는 패킷 손실 패턴이 집중되어 있는 경우, 경우 2의 전환 확률 분포(Transition Probability Distribution)를 가질 때 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 알고리즘을 비교한 그래프이다.
도 19 내지 도 22는 패킷 손실 패턴이 집중되어 있는 경우, 경우 3의 전환 확률 분포(Transition Probability Distribution)를 가질때본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 알고리즘을 비교한 그래프이다.
도 23은 본 발명의 일실시예에 따른 부호화 심볼을 패킷화하여 전송하는 장치를 나타낸 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
이하 본 발명에 일실시예에 따른 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치에서는 루비 변환(Luby Transform)을 이용한 부호화 심볼을 패킷화 하는 방법 및 이러한 방법을 사용하는 장치에 대해 개시한다. 하지만, 본 발명의 본질을 벋어나지 않는 한 루비 변환 코드 뿐만아히라 다른 코드에도 본 발명에서 개시된 방법을 적용할 수 있고 이러한 것 또한, 본 발명의 권리 범위에 속한다.
이하 본 발명의 실시예에서 사용하는 LT는 루비 변환(Luby Transform)을 의미하고 이하의 본 발명의 실시예에서 동일한 의미로 사용될 수 있다.
도 1은 에러가 발생하기 쉬운 무선 네트워크에서 비디오 스트리밍 시스템을 나타낸다.
도 1을 참조하면, 비디오 데이터는 데이터의 양을 감소시키기 위해 비디오 코덱에 의해 압축된 형태로 생성된다. 비디오 데이터는 무선 네트워크에서 강인한 전송을 위해 루비 변환(Luby Transform)을 사용하여 인코딩된다. LT 인코딩 프로세스를 진행하는 동안 압축된 비디오 데이터 스트림은 소스 블록으로 나뉘어질 수 있다.
소스 블록은 미리 결정된 사이즈의 소스 심볼로 분할될 수 있다. LT 부호화 심볼은 소스 심볼의 일부와 매핑된다. LT 부호화 심볼은 소스 심볼의 XOR 연산을 수행함으로써 생성된다.
이러한 LT 부호화 심볼을 생성하는 프로세스는 마지막 LT 부호화 심볼이 생성될때까지 반복된다. 소스 심볼과 LT 부호화 심볼의 매핑 절차는 생성 다항식(Generator Polynomial)에 의해 제어될 수 있다. 많은 무선 네트워크는 패킷 교환방식을 사용하기 때문에 LT 부호화 심볼은 전송 전에 패킷화되어야 한다.
전송 도중에 발생하는 패킷 손실은 에러가 발생하기 쉬운 무선 네트워크에서 불가피한 현상이다. 패킷이 손실된 경우, 수신된 LT 부호화 심볼의 수는 성공적인 디코딩을 위해 충분하지 않을 수 있다.
만일 수신단이 성공적인 LT 디코딩을 위한 충분한 LT 부호화 심볼을 얻을 때까지 지속적으로 많은 수의 패킷이 전송될 수 있다면, 에러가 발생하기 쉬운 무선 네트워크에서는 에러가 없는 디코딩이 보장될 수 있다.
하지만, 비디오 스트리밍은 딜레이 제약이 있고, 무선 네트워크는 제한된 리소스이기 때문에 실제적으로, 에러가 없는 성공적인 디코딩을 보장하는 것은 어려운 일이다. 이러한 문제를 해결하기 위해 에러가 발생하기 쉬운 무선 네트워크를 통해 충분한 수의 부호화 심볼을 전송할 수 있는지를 예상할 수 있는 것은 중요하다.
다른 중요한 문제는 같은 수의 패킷으로 어떻게 LT 디코딩 실패율을 줄일 수 있는지에 관한 것이다. 반복적인 디코딩 프로세스에 존재하는 부호화 심볼 사이의 종속성 때문에, LT 디코딩 성능은 부호화 심볼을 어떻게 패킷화하느냐에 따라 달라질 수 있다. 그래서 부호화 심볼 사이의 종속성이 고려되지 않는 경우, 디코딩 성능은 심각하게 회손될 수 있다. 예를 들어, LT 부호화 심볼이 불규칙하게 패킷으로 그룹화될 경우, 손실된 패킷은 많은 소스 심볼이 성공적으로 디코딩되는 것을 저해할 수 있다.
일반적으로 비디오 스트리밍 데이터는 데이터의 양을 줄이기 위해 많은 압축을 하기 때문에, 상대적으로 데이터 손실에 더 취약하다. 그래서 손실된 데이터의 작은 양은 중대한 비디오 품질 저하를 발생시킬 수 있다.
본 발명의 일실시예에 따르면, 데이터 손실을 줄이기 위해서 LT 부호화 심볼 사이의 관계는 And-Or 트리를 사용한다. 이러한 분석에 기초하여 제안된 패킷화 알고리즘은 각각의 패킷에서 인코딩된 심볼 사이에 상관(Correlation)을 증가시키고 패킷 사이의 코릴레이션을 감소시키는 방향으로 설계될 수 있다.
도 2는 본 발명의 일실시예에 따른 LT 부호화 심볼 간에 반복적인 부호화 과정을 나타낸 트리 구조이다.
도 2를 참조하면, 심볼들간의 관계를 유도하기 위한 간단한 And-Or 트리가 도시되어 있다.
And-Or 트리는 부호화 심볼 사이의 관계 분석을 위한 유용한 도구로써, 일반적으로
Figure 112010078886800-pat00014
의 깊이를 가지는 And-Or 트리
Figure 112010078886800-pat00015
이 존재할 때 루트 노드의 깊이는 0을 가지며, 루트 노드에 직접 연결된 자식 노드들의 깊이는 1을 가진다. 그리고 트리의 아래로 내려갈수록 노드들의 깊이는 1씩 증가하게 된다. 모든 노드는 0 또는 1의 값을 가진다. 그리고 깊이
Figure 112010078886800-pat00016
에 위치하는 노드들은 Or-노드라고 하며 Or 노드는 자식 노드들의 Or-연산을 통해 값이 결정된다.
Figure 112010078886800-pat00017
에 위치하는 노드들을 And-노드라고 하며 자식 노드들의 And-연산을 통해 값이 결정된다. 이 트리에 LT 코드의 심볼들을 맵핑시키면 소스 심볼은 Or-노드로, 부호화 심볼은 And-노드로 간주되며 각각은 서로 부모와 자식 노드들로 연관을 맺게 된다.
아래의 표 1은 본 발명의 일실시예에 따른 And-Or 트리에 사용되는 심볼과 심볼이 의미하는 바를 나타낸 것이다.
Figure 112010078886800-pat00018
Figure 112010078886800-pat00019
는 Or-노드,
Figure 112010078886800-pat00020
는 And-노드이기 때문에 다른 목표 부호화 심볼들과 상관없이
Figure 112010078886800-pat00021
에 의해서
Figure 112010078886800-pat00022
가 복호화 되기 위해서는
Figure 112010078886800-pat00023
에 속한 소스 심볼들이 선행적으로 모두 복호화 되어야 한다. 그러므로
Figure 112010078886800-pat00024
를 이용하여
Figure 112010078886800-pat00025
가 성공적으로 복호화되기 위해서는 깊이 2에 위치하는 부호화 심볼들의 영향을 받게 된다. 즉,
Figure 112010078886800-pat00026
Figure 112010078886800-pat00027
의 성공적인 복호화에 기여하기 위해서는
Figure 112010078886800-pat00028
에 속한 소스 심볼들이 선행적으로 복호화되어야 한다.
만약 수신단에서
Figure 112010078886800-pat00029
와 더 많은
Figure 112010078886800-pat00030
에 속하는 부호화 심볼들을 동시에 수신할 경우,
Figure 112010078886800-pat00031
에 속하는 소스 심볼들을 더 많이 복호화 할 수 있다. 이를 통해
Figure 112010078886800-pat00032
의 복호화 성공률이 높아질 수 있다. 이것은
Figure 112010078886800-pat00033
Figure 112010078886800-pat00034
에 속한 부호화 심볼들이 서로 강한 의존성을 가지고 있다는 것을 의미한다.
만약
Figure 112010078886800-pat00035
가 전송 과정에서 손실되면 트리 상에서
Figure 112010078886800-pat00036
에 속하는 부호화 심볼들과
Figure 112010078886800-pat00037
간의 연결이 끊어지게 되며, 결국
Figure 112010078886800-pat00038
에 속하는 부호화 심볼들이
Figure 112010078886800-pat00039
의 복호화에 아무런 기여를 할 수 없다. LT 복호화 성공률을 높이기 위해서는 이러한 심볼들 간의 관계가 고려되어야 하며 이 관계를 바탕으로 아래와 같은 3가지 유용한 속성을 도출할 수 있다.
속성 1 :
Figure 112010078886800-pat00040
의 복호화 성공률은
Figure 112010078886800-pat00041
각각을 서로 다른 패킷들에 삽입함으로써 향상 시킬 수 있다.
속성 2 :
Figure 112010078886800-pat00042
에 속하는 부호화 심볼들을 더 많이 이용 가능하면,
Figure 112010078886800-pat00043
에 속한 소스 심볼들의 복호화 성공률을 향상 시킬 수 있다.
속성 3 :
Figure 112010078886800-pat00044
의 복호화 성공률은
Figure 112010078886800-pat00045
Figure 112010078886800-pat00046
에 속하는 부호화 심볼들을 같은 패킷에 삽입함으로써 향상시킬 수 있다.
단,
Figure 112010078886800-pat00047
이고
Figure 112010078886800-pat00048
Figure 112010078886800-pat00049
를 각각 소스 심볼
Figure 112010078886800-pat00050
Figure 112010078886800-pat00051
Figure 112010078886800-pat00052
로 할 때의
Figure 112010078886800-pat00053
Figure 112010078886800-pat00054
의 연관 있는 부호화 심볼들의 집합이라고 할 때
Figure 112010078886800-pat00055
는 공집합이 아닐 수도 있다. 즉, 일부 LT 부호화 심볼들은 서로 다른 집합에 동시에 포함될 수도 있다.
Figure 112010078886800-pat00056
가 속한 패킷에 같이 삽입되는
Figure 112010078886800-pat00057
에 속한 부호화 심볼의 수를 조절함으로써 이러한 And-Or 트리들 간의 의존성을 간접적으로 고려하며 패킷화 과정에서 트리들 간의 의존도를 완전히 제어하기 위해서는 매우 높은 계산적인 복잡도를 요구하는 분석이 필요하다.
이하, 본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 방법에서는 설명의 편의상 And-Or 트리의 분석 깊이를 3으로 제한하여 설명 하지만, And-Or 트리는 3 이상의 깊이를 가질 수 있고 이러한 LT 부호화 심볼 패킷화 방법 또한 본 발명의 권리범위에 속한다.
이하, 본 발명의 일실시예에 따르면, 트리 구조에서 가장 상단에 위치한 소스 심볼을 제1 소스 심볼, 제1 소스 심볼을 And-Or 트리를 이용하여 생성한 부호화 심볼을 제1 부호화 심볼, 제1 부호화 심볼을 And-Or 트리를 이용하여 생성한 소스 심볼을 제2 소스 심볼, 제2 소스 심볼을 And-Or 트리를 이용하여 생성한 부호화 심볼을 제2 부호화 심볼이라는 용어로 정의하여 사용할 수 있다.
즉, 트리의 깊이가 증가하는 경우, 일반화하여 트리 구조에서 상단에 위치한 소스 심볼을 제n 소스 심볼, 제n 소스 심볼을 And-Or 트리를 이용하여 생성한 부호화 심볼을 제n 부호화 심볼, 제n 부호화 심볼을 And-Or 트리를 이용하여 생성한 소스 심볼을 제n+1 소스 심볼, 제n+1 소스 심볼을 And-Or 트리를 이용하여 생성한 부호화 심볼을 제n+1 부호화 심볼이라는 용어로 정의하여 사용할 수 있다.
도 3은 본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 방법을 나타내는 개념도이다.
이하, 본 발명의 실시예에서는 트리의 깊이를 3에 한정하여 설명하지만, 이는 설명의 편의를 위한 것이고 본 발명의 본질에서 벋어나지 않는한 트리의 깊이는 3을 넘는 값이 될 수 있고, 이러한 트리 구조를 이용한 패킷화 방법 역시 본 발명의 권리범위에 포함된다.
도 3을 참조하면,
Figure 112010078886800-pat00058
Figure 112010078886800-pat00059
중에서
Figure 112010078886800-pat00060
의 복호화에 기여하기 위해 선택된 목표 부호화 심볼이라고 하면, 앞에서 언급한 속성들을 바탕으로 본 발명의 일실시예에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00061
Figure 112010078886800-pat00062
에 속하는 더 많은 부호화 심볼들을 같은 패킷에 삽입할 수 있도록 설계되어야 한다.
Figure 112010078886800-pat00063
Figure 112010078886800-pat00064
과 같은 패킷에 삽입되는
Figure 112010078886800-pat00065
에 속하는 부호화 심볼들이라고 정의할 수 있다.
Figure 112010078886800-pat00066
가 삽입되는 패킷이 목표 패킷이라고 하면
Figure 112010078886800-pat00067
에 속하는 부호화 심볼들 중에서 몇 개의 부호화 심볼들이 목표 패킷에
Figure 112010078886800-pat00068
과 같이 삽입될 것인지는 제안하는 패킷화 알고리즘의 제어 변수
Figure 112010078886800-pat00069
에 의해 결정된다.
만약
Figure 112010078886800-pat00070
이 0일 경우, 제안하는 패킷화 알고리즘은 기존의 패킷화 알고리즘과 동일한 동작을 수행한다. 제안하는 패킷화 알고리즘의 동작은 이하의 단계를 통해서 동작한다.
단계 0 :
Figure 112010078886800-pat00071
를 결정한다.
단계 1 :
Figure 112010078886800-pat00072
Figure 112010078886800-pat00073
에서
Figure 112010078886800-pat00074
이며 패킷화 되지 않은
Figure 112010078886800-pat00075
를 선택한다. (만약 모든
Figure 112010078886800-pat00076
가 이미 패킷화 되었다면 단계 4를 수행한다.)
단계 2 :
Figure 112010078886800-pat00077
를 다음과 같은 규칙에 의해 선택된 목표 패킷에 삽입한다. (규칙
Figure 112010078886800-pat00078
는 규칙
Figure 112010078886800-pat00079
보다 우선순위가 높다) 만약 규칙들에 의해 선택할 수 있는 목표 패킷이 더 이상 존재하지 않을 경우 단계 4를 수행한다.
규칙 1 : 만약 빈 패킷이 존재하면 그 패킷을 목표 패킷으로 결정한다.
규칙 2 : 만약 패킷의 사용 가능한 공간이
Figure 112010078886800-pat00080
보다 크면 그 패킷을 목표 패킷으로 결정한다.
규칙 3 : 만약
Figure 112010078886800-pat00081
Figure 112010078886800-pat00082
보다 크거나 같고 패킷의 사용 가능한 공간이
Figure 112010078886800-pat00083
보다 크거나 같을 경우 그 패킷을 목표 패킷으로 결정한다.
규칙 3은 패킷의 남은 공간을 활용하기 위한 것이다. 규칙 1, 2의 과정을 거치면 패킷에 실제
Figure 112010078886800-pat00084
보다 작은 공간이 남아 있을 수도 있다. 이 경우에
Figure 112010078886800-pat00085
의 규칙만 따를 경우, 남은 공간을 활용할 수가 없다.
예를 들어, 패킷에 10개의 부호화 심볼이 들어갈 수 있다고 할 때
Figure 112010078886800-pat00086
이 5라고 하면 규칙 2를 따를 경우 패킷에 6개의 심볼(
Figure 112010078886800-pat00087
+ 5개의
Figure 112010078886800-pat00088
에 속하는 부호화 심볼)이 삽입된다. 그러면 이 패킷에 4개의 부호화 심볼이 들어갈 수 있는 공간이 남게 되며 이 패킷은 규칙 1과 2를 만족시킬 수가 없게된다. 이럴 경우 규칙 3을 통해서
Figure 112010078886800-pat00089
를 만족시켜 줄 수 있는 최소 공간이 존재하면
Figure 112010078886800-pat00090
개의
Figure 112010078886800-pat00091
에 속하는 부호화 심볼을 삽입할 수 있다.
단계 3 :
Figure 112010078886800-pat00092
에 속한 부호화 심볼들 중에서
Figure 112010078886800-pat00093
개를 임의로 선택하여
Figure 112010078886800-pat00094
를 결정한다. (단,
Figure 112010078886800-pat00095
를 집합
Figure 112010078886800-pat00096
의 크기 (cardinality)라고 할 때
Figure 112010078886800-pat00097
를 만족한다.) 그리고
Figure 112010078886800-pat00098
를 도 3에 도시된 것과 같이 목표 패킷에 삽입한다.
즉, 부호화 대상인 제1 소스 심볼을 결정하고 And- Or 트리 구조를 이용하여 생성한 제1 소스 심볼의 부호화 심볼인 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 패킷화 되지 않은 제1 부호화 심볼을 선택하고 패킷화되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 결정하여 제1 부호화 심볼을 상기 목표 패킷에 삽입하고 And- Or 트리 구조를 이용하여, 생성된 상기 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, And- Or 트리 구조를 이용하여 제2 소스 심볼을 기초로 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화할 수 있다.
트리의 깊이가 3 이상일 경우, 부호화 대상인 제n 소스 심볼을 결정하고 And- Or 트리 구조를 이용하여 생성한 상기 제n 소스 심볼의 부호화 심볼인 제n 부호화 심볼 중 패킷화되지 않은 제n 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제n 부호화 심볼을 선택하고 상기 패킷화되지 않은 제n 부호화 심볼을 삽입할 목표 패킷을 결정하여 상기 제1 부호화 심볼을 상기 목표 패킷에 삽입할 수 있다. 또한, And- Or 트리 구조를 이용하여, 생성된 제n 부호화 심볼을 기초로 한 제n+1 소스 심볼을 생성한 후, And- Or 트리 구조를 이용하여 제n+1 소스 심볼을 기초로 제n+1 부호화 심볼을 생성하고, 제n+1 부호화 심볼 중 적어도 하나를 상기 목표 패킷에 상기 제n 부호화 심볼과 함께 패킷화할 수 있다.
단계 4 : 만약 더 이상
Figure 112010078886800-pat00099
를 선택할 수 없는 경우 단계 5를 수행한다. 그렇지 않을 경우 다른
Figure 112010078886800-pat00100
를 선택하고 단계 1~3을 반복한다.
단계 5 : 나머지 패킷화 되지 않은 부호화 심볼들을 패킷들의 빈 공간에 삽입한다.
도 4은 본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 방법을 나타내는 순서도이다.
도 4를 참조하면,
Figure 112010078886800-pat00101
를 결정할 수 있다(단계 S400).
패킷화를 수행하기 위해서는 패킷화를 진행할
Figure 112010078886800-pat00102
를 우선적으로 결정하여야 한다.
패킷화되지 않은
Figure 112010078886800-pat00103
이 존재하는지 여부를 판단할 수 있다(단계 S410).
패킷화 되지 않은
Figure 112010078886800-pat00104
이 존재하지 않는 경우, 단계 S460으로 가서 다른
Figure 112010078886800-pat00105
를 선택할 수 있는지 여부를 판단하고 다른
Figure 112010078886800-pat00106
를 선택할 수 있는 경우, 루트를 결정하는 단계 S400 과정을 반복한다.
다른
Figure 112010078886800-pat00107
가 존재하지 않는 경우, 남은 부호화 심볼들을 패킷의 빈공간에 집어넣는 단계 S470을 수행한다.
패킷화되지 않은
Figure 112010078886800-pat00108
이 존재하는 경우, 패킷화되지 않은
Figure 112010078886800-pat00109
를 선택할 수 있다(단계 S420).
Figure 112010078886800-pat00110
Figure 112010078886800-pat00111
에서
Figure 112010078886800-pat00112
이며 패킷화 되지 않은
Figure 112010078886800-pat00113
를 선택한다.
Figure 112010078886800-pat00114
을 삽입할 목표 패킷을 결정할 수 있다(단계 S430).
Figure 112010078886800-pat00115
을 목표 패킷에 삽입하기 위해서는 아래와 같은 규칙을 사용하여 목표 패킷을 결정할 수 있다. 작은 번호의 규칙이 큰 번호의 규칙보다 우선하여 적용된다.
규칙 1 : 만약 빈 패킷이 존재하면 그 패킷을 목표 패킷으로 결정한다.
규칙 2 : 만약 패킷의 사용 가능한 공간이
Figure 112010078886800-pat00116
보다 크면 그 패킷을 목표 패킷으로 결정한다.
규칙 3 : 만약
Figure 112010078886800-pat00117
Figure 112010078886800-pat00118
보다 크거나 같고 패킷의 사용 가능한 공간이
Figure 112010078886800-pat00119
보다 크거나 같을 경우 그 패킷을 목표 패킷으로 결정한다.
목표 패킷을 결정하는 위의 규칙은 작은 숫자의 규칙 1이 가장 우선 순위가 높고 규칙 3이 가장 우선 순위가 낮다. 즉, 규칙 1을 만족하는 패킷이 우선적으로 목표 패킷으로 선택된다.
Figure 112010078886800-pat00120
을 결정된 목표 패킷에 삽입할 수 있다(단계 S440).
단계 S430을 통해 결정된 목표 패킷에
Figure 112010078886800-pat00121
을 삽입한다.
Figure 112010078886800-pat00122
를 결정하고 목표 패킷에 삽입할 수 있다(단계 S450).
Figure 112010078886800-pat00123
에 속한 부호화 심볼들 중에서
Figure 112010078886800-pat00124
개를 임의로 선택하여
Figure 112010078886800-pat00125
를 결정한다. (단,
Figure 112010078886800-pat00126
를 집합
Figure 112010078886800-pat00127
의 크기 (cardinality)라고 할 때
Figure 112010078886800-pat00128
를 만족한다.) 그리고
Figure 112010078886800-pat00129
를 도 3에 도시된 것과 같이 목표 패킷에 삽입한다.
Figure 112010078886800-pat00130
를 선택할 수 있는지 여부를 판단한다(단계 S460).
패킷화가 진행되지 않은
Figure 112010078886800-pat00131
가 존재하는 경우, 해당
Figure 112010078886800-pat00132
를 선택하여 단계 S400에서 단계 S450을 반복하여 수행한다.
선택할 수 있는
Figure 112010078886800-pat00133
가 존재하지 않는 경우, 나머지 패킷화되지 않은 부호화 심볼들을 패킷들의 남은 빈공간에 삽입할 수 있다(단계 S470).
본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 알고리즘의 성능 척도는 성공적으로 수신한
Figure 112010078886800-pat00134
에 속하는 부호화 심볼들의 수이다.
Figure 112010078886800-pat00135
Figure 112010078886800-pat00136
를 각각 제안한 패킷화 알고리즘과 기존의 패킷화 알고리즘을 적용하였을 때 오류없이 성공적으로 수신단에서 수신한
Figure 112010078886800-pat00137
에 속하는 부호화 심볼들이라고 정의하면
Figure 112010078886800-pat00138
를 만족할 경우 제안한 패킷화 알고리즘이 기존의 패킷화 알고리즘 보다 더 좋은 성능을 가진다고 판단할 수 있다.
패킷화 알고리즘 적용에 따른 성능 분석을 위해
Figure 112010078886800-pat00139
이 전송 과정에서 손실된 경우와 정상적으로 수신단에서 이용 가능한 경우와 같은 두가지 상황을 고려할 수 있다. 먼저
Figure 112010078886800-pat00140
이 전송 과정에서 손실된 경우는 앞에서 언급했듯이 트리 상에서
Figure 112010078886800-pat00141
에 속하는 부호화 심볼들과
Figure 112010078886800-pat00142
간의 연결이 끊어지게 되며 결국
Figure 112010078886800-pat00143
에 속하는 부호화 심볼들이
Figure 112010078886800-pat00144
의 복호화에 아무런 기여를 할 수 없다. 두 번째는
Figure 112010078886800-pat00145
가 정상적으로 수신단에서 수신된 경우이다. 이 경우 패킷 손실이 랜덤하게 발생한다고 가정하면 아래의 수학식 1과 같이
Figure 112010078886800-pat00146
Figure 112010078886800-pat00147
를 계산할 수 있다.
Figure 112010078886800-pat00148
여기서,
Figure 112010078886800-pat00149
은 생성된 부호화 심볼의 수,
Figure 112010078886800-pat00150
는 전송되는 패킷수 (즉,
Figure 112010078886800-pat00151
보다 작지 않은 최소의 정수),
Figure 112010078886800-pat00152
는 패킷화 되지 않고 남은 부호화 심볼들을 패킷들의 남은 빈공간에 삽입하는 과정에서 목표 패킷에 포함된
Figure 112010078886800-pat00153
에 속하는 평균 부호화 심볼의 수를 의미한다. 그리고
Figure 112010078886800-pat00154
은 패킷 손실률을 의미한다.
이를 바탕으로
Figure 112010078886800-pat00155
을 항상 보장하기 위해서
Figure 112010078886800-pat00156
은 아래의 수학식 2를 만족해야 한다.
Figure 112010078886800-pat00157
수학식 1과 수학식 2에 의해서 아래의 수학식 3이 유도될 수 있다.
Figure 112010078886800-pat00158
일반적으로 LT 부호화 심볼의 차수 확률 분포는
Figure 112010078886800-pat00159
로 나타내며 여기서
Figure 112010078886800-pat00160
는 소스 심볼의 수,
Figure 112010078886800-pat00161
는 부호화 심볼이 차수
Figure 112010078886800-pat00162
를 가질 확률을 의미한다. LT 코드의 차수 확률 분포를 아래의 수학식 4의 생성 다항식으로 표현하면,
Figure 112010078886800-pat00163
부호화 심볼의 평균 차수를
Figure 112010078886800-pat00164
로 나타낼 수 있다. 따라서
Figure 112010078886800-pat00165
Figure 112010078886800-pat00166
를 아래의 수학식 5와 같이 나타낼 수 있다.
Figure 112010078886800-pat00167
여기서,
Figure 112010078886800-pat00168
는 LT 부호화 오버헤드 비율 (즉,
Figure 112010078886800-pat00169
)을 의미한다. 최종적으로 우리는 제안한 패킷화 알고리즘이 기존의 패킷화 알고리즘보다 더 좋은 성능을 가진다는 것을 증명하기 위한
Figure 112010078886800-pat00170
의 조건을 아래의 수학식 6과 같이 유도할 수 있다.
Figure 112010078886800-pat00171
도 5 및 도 6은 본 발명의 일실시예에 따른 제안된 패킷화 알고리즘의 제어 변수
Figure 112010078886800-pat00172
의 조건을 테스트한 그래프이다.
도 5는
Figure 112010078886800-pat00173
이고
Figure 112010078886800-pat00174
인 경우,
Figure 112010078886800-pat00175
의 하한(Lower Limit)를 나타낸 그래프이다.
도 6은
Figure 112010078886800-pat00176
이고
Figure 112010078886800-pat00177
인 경우,
Figure 112010078886800-pat00178
의 하한(Lower Limit)를 나타낸 그래프이다.
도 5 및 도 6을 참조하면, 수학식 6의
Figure 112010078886800-pat00179
Figure 112010078886800-pat00180
이 고정된 경우,
Figure 112010078886800-pat00181
가 증가하는 것을 볼 수 있다. 도 4를 보면 알 수 있듯이,
Figure 112010078886800-pat00182
의 범위에서
Figure 112010078886800-pat00183
의 하한(Lower Limit)이 항상 1보다 작다. 도 3의 단계 3에서 언급된 것처럼,
Figure 112010078886800-pat00184
는 1과
Figure 112010078886800-pat00185
사이의 정수이다.
본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 알고리즘이 넓은 범위의
Figure 112010078886800-pat00186
에서 전통적인 패킷화 알고리즘보다 높은 LT 디코딩 성공률을 가진다는 것을 알려준다.
도 7 내지 도 10 및 표 2는 패킷 손실 패턴이 불규칙한 경우, 본 발명의 일실시예에 따른 패킷화 알고리즘과 전통적인 패킷화 알고리즘을 LT 디코딩 실패율의 관점에서 비교한 것이다.
아래의 표 2는
Figure 112010078886800-pat00187
,
Figure 112010078886800-pat00188
인 경우,
Figure 112010078886800-pat00189
Figure 112010078886800-pat00190
의 관계를 나타낸 것이다.
Figure 112010078886800-pat00191
첫번째로, 목표 패킷에서
Figure 112010078886800-pat00192
의 원소의 수를 비교한다. 실험결과는 표 2와 도 7 내지 도 10에서 제공된다.
위의 표 2에서 볼 수 있듯이, 본 발명의 일실시예에 따른 패킷화 알고리즘이
Figure 112010078886800-pat00193
의 값에 상관없이 기존의 패킷화 알고리즘보다
Figure 112010078886800-pat00194
의 값이 크다. 더욱이,
Figure 112010078886800-pat00195
의 평균값은
Figure 112010078886800-pat00196
이 증가할수록 커진다.(예를 들어, 기존의 패킷화 알고리즘에 비교하여,
Figure 112010078886800-pat00197
의 많은 원소가
Figure 112010078886800-pat00198
와 함께 패킷화된다.)
Figure 112010078886800-pat00199
의 표준 편차값 또한 동일한 현상을 보여준다.
증가된 표준 편차는 디코딩 성공률이 루트에 따라 다를 수 있다는 것을 의미한다. 이 차이는 트리들 사이의 종속성에 의해 일어난다. 사실상, 표준 편차가 상대적으로 작아 모든 심볼에서 동일한 디코딩 성공률을 보장하는 것은 필요하다. 표준 편차를 감당할 수 있는 범위에 유지하고 동시에
Figure 112010078886800-pat00200
의 평균값을 최대화하기 위해서,
Figure 112010078886800-pat00201
는 조절되어야한다.
도 7 내지 도 10은 본 발명의 일실시예에 따른 패킷화 알고리즘과 전통적인 패킷화 알고리즘을 비교하여
Figure 112010078886800-pat00202
과 함께 패킷화된
Figure 112010078886800-pat00203
의 수의 차이를 나타낸 그래프이다.
도 7 내지 도 10의 그래프는
Figure 112010078886800-pat00204
이 10이고,
Figure 112010078886800-pat00205
가 5로 고정된 경우를 가정하였다.
도 7은
Figure 112010078886800-pat00206
Figure 112010078886800-pat00207
일 경우, 본 발명의 일실시예에 따른 패킷화 알고리즘을 적용한 경우
Figure 112010078886800-pat00208
과 함께 패킷화된
Figure 112010078886800-pat00209
의 수를 나타낸 그래프이다.
도 8은
Figure 112010078886800-pat00210
Figure 112010078886800-pat00211
일 경우, 기존의 패킷화 알고리즘을 적용한 경우
Figure 112010078886800-pat00212
과 함께 패킷화된
Figure 112010078886800-pat00213
의 수를 나타낸 그래프이다.
도 9는
Figure 112010078886800-pat00214
Figure 112010078886800-pat00215
일 경우, 본 발명의 일실시예에 따른 패킷화 알고리즘을 적용한 경우
Figure 112010078886800-pat00216
과 함께 패킷화된
Figure 112010078886800-pat00217
의 수를 나타낸 그래프이다.
도 10은
Figure 112010078886800-pat00218
Figure 112010078886800-pat00219
일 경우, 기존의 패킷화 알고리즘을 적용한 경우
Figure 112010078886800-pat00220
과 함께 패킷화된
Figure 112010078886800-pat00221
의 수를 나타낸 그래프이다.
도 8 및 도 10을 보면 알 수 있듯이
Figure 112010078886800-pat00222
과 함께 패킷화된
Figure 112010078886800-pat00223
의 수가 균일하게 분포되어 있다.
도 7 및 도 9를 보면 알 수 있듯이, And-Or 트리 사이의 종속성이 고려되지 않기 때문에 제안된 패킷화 알고리즘이 진행되는 동안
Figure 112010078886800-pat00224
과 함께 패킷화된
Figure 112010078886800-pat00225
의 수는 감소함에도 불구하고 기존의 패킷화 알고리즘 보다 나은 성능을 보인다.
무선 네트워크에서 패킷 손실 패턴은 임의적이라기 보다는 집중적인 형태를 보인다. 실제적인 무선 환경에서 제안된 패킷화 성능을 비교하기 위해서 두가지-상태를 가지는 마르코프 채널 모델이 적용된다. 상태 전환 확률은
Figure 112010078886800-pat00226
(패킷 손실이 없는 상태에서 패킷 손실이 있는 상태로 전환될 확률)와
Figure 112010078886800-pat00227
(패킷 손실이 있는 상태에서 패킷 손실이 없는 상태로 전환될 확률)를 포함한다.
여러 무선 네트워크를 고려하기 위해, 우리는 아래의 표 3에서 나타난 3가지 확률 분포를 테스트한다.
Figure 112010078886800-pat00228
경우 1과 경우 2에서는 큰 패킷 손실률 및 집중된 패킷 손실 길이(Burst Packet Loss Length)가 매우 빈번히 발생되기 때문에, 성공적인 LT 디코딩을 위한
Figure 112010078886800-pat00229
는 패킷 손실 패턴이 불규칙한 경우보다 증가한다.
경우 3에서 요구되는 는 상대적으로 패킷 손실 패턴이 불규칙한 경우와 유사한 값을 가진다.
도 11 내지 도 14는 패킷 손실 패턴이 집중되어 있는 경우, 경우 1의 전환 확률 분포(Transition Probability Distribution)를 가질때 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 알고리즘을 비교한 그래프이다.
일반적으로 패킷 손실(Packet loss)이 발생하는 과정에서 파운틴 코드는 수신측에서 부호화 심볼을 더 많이 받을수록 복호화 성공률도 높아집니다. 그러므로 그래프를 보시면 오버 헤드 비율(overhead ratio)이 증가할수록 수신측에서 받을 수 있는 부호화 심볼의 수가 상승하고 결국 평균 LT 디코딩 실패율(average LT decoding failure rate)이 0으로 수렴하게 되는 경향을 볼 수 있다.(즉 모든 소스 심볼이 복호화 되는 방향으로 수렴하게 함.)
소스 심볼의 복구 실패율이 낮아 질수록 영상의 PSNR 은 상승할 수 있다. 이 때 제안한 패킷화 기법과 기존의 패킷화 기법을 적용하였을 때 성능을 비교하면 제안한 패킷화를 적용한 경우 더 좋은 복호화 성능과 PSNR 값을 제공하는 것을 알 수 있다.
도 11 및 도 12는
Figure 112010078886800-pat00231
이 10이고,
Figure 112010078886800-pat00232
가 5인 경우, Harbour 영상에서 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 패킷화 알고리즘 사이의 평균 LT 디코딩 실패율과 평균 PSNR을 통해 성능 비교를 한 것이다.
도 11을 참조하면, 평균 LT 디코딩 실패율에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00233
이 1에 가까운 작은 값일 경우, 2배 정도 낮은 디코딩 실패율을 가지고
Figure 112010078886800-pat00234
가 증가할수록 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 차이가 적어지면서 디코딩 실패율이 점점 0에 가까운 값으로 수렴한다.
도 12를 참조하면, 평균 PSNR에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00235
이 1에 가까운 작은 값일 경우, 약 2dB 정도 높은 값을 가지고
Figure 112010078886800-pat00236
가 증가할수록 점점 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 PSNR 차이가 수렴하는 것을 알 수 있다.
도 13 및 도 14는
Figure 112010078886800-pat00237
이 10이고,
Figure 112010078886800-pat00238
가 5인 경우, Soccer 영상에서 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 패킷화 알고리즘 사이의 평균 LT 디코딩 실패율과 평균 PSNR을 통해 성능 비교를 한 것이다.
도 13을 참조하면, 평균 LT 디코딩 실패율에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00239
이 1에 가까운 작은 값일 경우, 0.01 정도 낮은 디코딩 실패율을 가지고
Figure 112010078886800-pat00240
가 증가할수록 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 차이가 적어지면서 디코딩 실패율이 점점 0에 가까운 값으로 수렴한다.
도 14를 참조하면, 평균 PSNR에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00241
이 1에 가까운 작은 값일 경우, 약 2dB 정도 높은 값을 가지고
Figure 112010078886800-pat00242
가 증가할수록 점점 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 PSNR 차이가 수렴하는 것을 알 수 있다.
도 15 내지 도 18는 패킷 손실 패턴이 집중되어 있는 경우, 경우 2의 전환 확률 분포(Transition Probability Distribution)를 가질 때 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 알고리즘을 비교한 그래프이다.
도 15 및 도 16은
Figure 112010078886800-pat00243
이 10이고,
Figure 112010078886800-pat00244
가 5인 경우, Harbour 영상에서 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 패킷화 알고리즘 사이의 평균 LT 디코딩 실패율과 평균 PSNR을 통해 성능 비교를 한 것이다.
도 15를 참조하면, 평균 LT 디코딩 실패율에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00245
이 1에 가까운 작은 값일 경우, 2배 정도 낮은 디코딩 실패율을 가지고
Figure 112010078886800-pat00246
가 증가할수록 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 차이가 적어지면서 디코딩 실패율이 점점 0에 가까운 값으로 수렴한다.
도 16을 참조하면, 평균 PSNR에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00247
이 1에 가까운 작은 값일 경우, 약 5dB 정도 높은 값을 가지고
Figure 112010078886800-pat00248
가 증가할수록 점점 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의PSNR 차이가 수렴하는 것을 알 수 있다.
도 17 및 도 18은
Figure 112010078886800-pat00249
이 10이고,
Figure 112010078886800-pat00250
가 5인 경우, Soccer 영상에서 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 패킷화 알고리즘 사이의 평균 LT 디코딩 실패율과 평균 PSNR을 통해 성능 비교를 한 것이다.
도 17을 참조하면, 평균 LT 디코딩 실패율에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00251
이 1에 가까운 작은 값일 경우, 0.02 정도 낮은 디코딩 실패율을 가지고
Figure 112010078886800-pat00252
가 증가할수록 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 차이가 적어지면서 디코딩 실패율이 점점 0에 가까운 값으로 수렴한다.
도 18을 참조하면, 평균 PSNR에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00253
이 1에 가까운 작은 값일 경우, 약 3dB 정도 높은 값을 가지고
Figure 112010078886800-pat00254
가 증가할수록 점점 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의PSNR 차이가 수렴하는 것을 알 수 있다.
도 19 내지 도 22는 패킷 손실 패턴이 집중되어 있는 경우, 경우 3의 전환 확률 분포(Transition Probability Distribution)를 가질때본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 알고리즘을 비교한 그래프이다.
도 19 및 도 20은
Figure 112010078886800-pat00255
이 10이고,
Figure 112010078886800-pat00256
가 5인 경우, Harbour 영상에서 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 패킷화 알고리즘 사이의 평균 LT 디코딩 실패율과 평균 PSNR을 통해 성능 비교를 한 것이다.
도 19를 참조하면, 평균 LT 디코딩 실패율에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00257
이 1에 가까운 작은 값일 경우, 2배 정도 낮은 디코딩 실패율을 가지고
Figure 112010078886800-pat00258
가 증가할수록 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 차이가 적어지면서 디코딩 실패율이 점점 0에 가까운 값으로 수렴한다.
도 20을 참조하면, 평균 PSNR에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00259
이 1에 가까운 작은 값일 경우, 약 4dB 정도 높은 값을 가지고
Figure 112010078886800-pat00260
가 증가할수록 점점 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의PSNR 차이가 수렴하는 것을 알 수 있다.
도 21 및 도 22는
Figure 112010078886800-pat00261
이 10이고,
Figure 112010078886800-pat00262
가 5인 경우, Soccer 영상에서 본 발명의 일실시예에 따른 패킷화 알고리즘과 기존의 패킷화 알고리즘 사이의 평균 LT 디코딩 실패율과 평균 PSNR을 통해 성능 비교를 한 것이다.
도 21를 참조하면, 평균 LT 디코딩 실패율에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00263
이 1에 가까운 작은 값일 경우, 0.01배 정도 낮은 디코딩 실패율을 가지고
Figure 112010078886800-pat00264
가 증가할수록 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의 차이가 적어지면서 디코딩 실패율이 점점 0에 가까운 값으로 수렴한다.
도 22을 참조하면, 평균 PSNR에서 기존의 패킷화 알고리즘보다 본 발명에 따른 패킷화 알고리즘은
Figure 112010078886800-pat00265
이 1에 가까운 작은 값일 경우, 약 3dB 정도 높은 값을 가지고
Figure 112010078886800-pat00266
가 증가할수록 점점 기존의 패킷화 알고리즘과 본 발명에 따른 패킷화 알고리즘의PSNR 차이가 수렴하는 것을 알 수 있다.
도 23은 본 발명의 일실시예에 따른 부호화 심볼을 패킷화하여 전송하는 장치를 나타낸 개념도이다.
도 23을 참조하면, 부호화 심볼 패킷화 전송 장치는 트리 구조화부(2300), 패킷화부(2310), 전송부(2320)을 포함할 수 있다.
트리 구조화부(2300)는 소스 심볼을 기초로 And-Or 트리를 사용하여 트리 구조를 생성할 수 있다.
And-Or 트리는 부호화 심볼 사이의 관계 분석을 위한 유용한 도구로써, 일반적으로
Figure 112010078886800-pat00267
의 깊이를 가지는 And-Or 트리
Figure 112010078886800-pat00268
이 존재할 때 루트 노드의 깊이는 0을 가지며, 루트 노드에 직접 연결된 자식 노드들의 깊이는 1을 가진다. 그리고 트리의 아래로 내려갈수록 노드들의 깊이는 1씩 증가하게 된다. 모든 노드는 0 또는 1의 값을 가진다. 그리고 깊이
Figure 112010078886800-pat00269
에 위치하는 노드들은 Or-노드라고 하며 Or 노드는 자식 노드들의 Or-연산을 통해 값이 결정된다.
Figure 112010078886800-pat00270
에 위치하는 노드들을 And-노드라고 하며 자식 노드들의 And-연산을 통해 값이 결정된다. 이 트리에 LT 코드의 심볼들을 맵핑시키면 소스 심볼은 Or-노드로, 부호화 심볼은 And-노드로 간주되며 각각은 서로 부모와 자식 노드들로 연관을 맺게 된다.
전술한 도 2에 개시된 본 발명의 일실시예에 따른 트리 구조를 활용하여 소스 심볼을 기초로 패킷화하기 위한 트리 구조를 생성할 수 있다.
이하, 본 발명의 일실시예에 따른 And-Or 트리를 사용한 LT 부호화 심볼 패킷화 방법에서는 설명의 편의상 And-Or 트리의 분석 깊이를 3으로 제한하여 설명 하지만, And-Or 트리는 3 이상의 깊이를 가질 수 있고 이러한 LT 부호화 심볼 패킷화 방법 또한 본 발명의 권리범위에 속한다.
패킷화부(2310)은 트리 구조화부(2300)으로부터 제공된 트리 구조 정보를 기초로 부호화 심볼을 패킷화 할 수 있다.
Figure 112010078886800-pat00271
가 속한 패킷에 같이 삽입되는
Figure 112010078886800-pat00272
에 속한 부호화 심볼의 수를 조절함으로써 이러한 And-Or 트리들 간의 의존성을 간접적으로 고려하며 패킷화할 수 있다.
전송부(2320)은 패킷화부에서 생성된 패킷을 통신 채널을 이용하여 전송할 수 있다.
비디오 스트리밍은 딜레이 제약이 있고, 무선 네트워크는 제한된 리소스이기 때문에 실제적으로, 에러가 없는 성공적인 디코딩을 보장하는 것은 어려운 일이다. 이러한 문제를 해결하기 위해 에러가 발생하기 쉬운 무선 네트워크를 통해 충분한 수의 부호화 심볼을 전송할 수 있는지를 예상할 수 있는 것은 중요하다.
따라서, 본 발명의 일실시예에 따른 And-Or 트리를 사용한 패킷화 방법을 사용하는 경우 특히 패킷화를 이용해 비디오 코덱에 의해 압축된 형태인 비디오 데이터를 전송하는 방법에서 효과적으로 활용될 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (15)

  1. 부호화 심볼의 패킷화 장치에서 수행되는 부호화 심볼의 패킷화 방법에 있어서,
    제1 소스 심볼을 결정하고 AND-OR 트리 구조를 이용하여 생성한 상기 제1 소스 심볼의 부호화 심볼인 적어도 하나의 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제1 부호화 심볼과 상기 패킷화 되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 선택하는 부호화 심볼 및 목표 패킷 선택 단계; 및
    AND-OR 트리 구조를 이용하여, 상기 패킷화되지 않은 적어도 하나의 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, AND-OR 트리 구조를 이용하여 상기 제2 소스 심볼을 기초로 적어도 하나의 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화하는 패킷화 단계를 포함하는 부호화 심볼의 패킷화 방법.
  2. 제1항에 있어서, 상기 부호화 심볼은,
    루비 변환(Luby Transform)을 이용하여 부호화한 심볼인 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  3. 제1항에 있어서,
    상기 부호화 심볼 및 목표 패킷 선택 단계와 상기 패킷화 단계에서 패킷화 되지 않은 제1 부호화 심볼이 존재하지 않을 경우, 상기 제1 소스 심볼이 아닌 상기 제1 소스 심볼과 같은 AND-OR 트리 계층에 있는 소스 심볼을 제1 소스 심볼로 하여상기 부호화 심볼 및 목표 패킷 선택 단계 및 패킷화 단계를 진행하는 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  4. 제1 항에 있어서,
    상기 부호화 심볼 및 목표 패킷 선택 단계와 상기 패킷화 단계에서 패킷화 되지 않은 제1 부호화 심볼이 존재하지 않고, 상기 다른 소스 심볼을 제1 소스 심볼로 선택할 수 없는 경우, 아직 패킷화되지 않은 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷의 남은 공간에 삽입하는 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  5. 제1항에 있어서, 상기 패킷화 단계에서,
    상기 제1 부호화 심볼과 함께 패킷화 되는 상기 제2 부호화 심볼이 아래의 식 1
    <식 1>
    Figure 112010078886800-pat00273

    (
    Figure 112010078886800-pat00274
    은 생성된 부호화 심볼의 수,
    Figure 112010078886800-pat00275
    는 전송되는 패킷수,
    Figure 112010078886800-pat00276
    은 제2 부호화 심볼의 수,
    Figure 112010078886800-pat00277
    은 패킷 당 삽입이 가능한 부호화 심볼의 수를 의미함.)
    을 만족하는 값으로 결정되는 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  6. 제5항에 있어서, 상기 부호화 심볼 및 목표 패킷 선택 단계에서,
    상기 목표 패킷은, 빈 패킷이 존재하는 경우 상기 빈 패킷 중 적어도 하나를 목표 패킷으로 하고 빈 패킷이 존재하지 않는 경우, 소정의 패킷의 사용가능한 공간이
    Figure 112010078886800-pat00278
    보다 크면, 상기 소정의 패킷의 사용가능한 공간이
    Figure 112010078886800-pat00279
    보다 큰 패킷 중 하나를 목표 패킷으로 결정하고, 상기 소정의 패킷의 사용가능한 공간이 상기
    Figure 112010078886800-pat00280
    보다 크지 않으면, 상기
    Figure 112010078886800-pat00281
    Figure 112010078886800-pat00282
    (
    Figure 112010078886800-pat00283
    는 제1 부호화 심볼의 차수를 의미함.)보다 크거나 같고 상기 소정의 패킷의 사용 가능한 공간이
    Figure 112010078886800-pat00284
    보다 크거나 같을 경우 상기 소정의 패킷 중 적어도 하나로 선택되는 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  7. 제1항에 있어서, 상기 AND-OR 트리는,
    상기 적어도 하나의 제1 부호화 심볼을 AND 연산한 값이 제1 소스 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 소스 심볼을 OR 연산한 값이 제1 부호화 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 부호화 심볼을 AND 연산한 값이 제2 소스 심볼의 값으로 산출되는 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  8. 제1항에 있어서, 상기 부호화 심볼의 패킷화 방법은,
    비디오 스트리밍 서비스에서 비디오 데이터를 전송하는데 사용되는 것을 특징으로 하는 부호화 심볼의 패킷화 방법.
  9. 부호화 심볼의 패킷화 장치에 있어서,
    부호화 대상인 소스 심볼을 기초로 AND-OR 트리를 사용하여 부호화 심볼을 생성하고 상기 부호화 심볼을 기초로, AND-OR 트리를 사용하여 소스 심볼을 생성하는 트리 구조화부;및
    AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부를 포함하는 부호화 심볼의 패킷화 장치.
  10. 제9항에 있어서,상기 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부는,
    제1 소스 심볼을 결정하고 AND-OR 트리 구조를 이용하여 생성한 상기 제1 소스 심볼의 부호화 심볼인 적어도 하나의 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제1 부호화 심볼과 상기 패킷화 되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 선택하고, AND-OR 트리 구조를 이용하여, 상기 패킷화되지 않은 적어도 하나의 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, AND-OR 트리 구조를 이용하여 상기 제2 소스 심볼을 기초로 적어도 하나의 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화하는 것을 특징으로 하는 부호화 심볼의 패킷화 장치.
  11. 제9항에 있어서, 상기 AND-OR 트리는,
    상기 적어도 하나의 제1 부호화 심볼을 AND 연산한 값이 제1 소스 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 소스 심볼을 OR 연산한 값이 제1 부호화 심볼의 값으로 결정되고, 상기 적어도 하나의 제2 부호화 심볼을 AND 연산한 값이 제2 소스 심볼의 값으로 산출되는 것을 특징으로 하는 부호화 심볼의 패킷화 장치.
  12. 제9항에 있어서, 상기 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부는,
    패킷화 되지 않은 제1 부호화 심볼이 존재하지 않을 경우, 상기 제1 소스 심볼을 제외한 다른 제1 소스 심볼을 선택하여 AND-OR 트리 구조를 이용하여 생성한 상기 다른 제1 소스 심볼의 부호화 심볼인 제1 부호화 심볼 중 패킷화되지 않은 제1 부호화 심볼이 존재하는 경우, 상기 패킷화 되지 않은 제1 부호화 심볼을 선택하고 상기 패킷화되지 않은 제1 부호화 심볼을 삽입할 목표 패킷을 결정하여 상기 제1 부호화 심볼을 상기 목표 패킷에 삽입하고, AND-OR 트리 구조를 이용하여, 생성된 상기 제1 부호화 심볼을 기초로 한 제2 소스 심볼을 생성한 후, AND-OR 트리 구조를 이용하여 상기 제2 소스 심볼을 기초로 제2 부호화 심볼을 생성하고, 상기 제2 부호화 심볼을 상기 목표 패킷에 상기 제1 부호화 심볼과 함께 패킷화하는 것을 특징으로 하는 부호화 심볼의 패킷화 장치.
  13. 제10항에 있어서, 상기 AND-OR 트리를 사용하여 생성된 상기 부호화 심볼 중 적어도 하나를 패킷화하는 패킷화부는,
    패킷화 되지 않은 제1 부호화 심볼이 존재하지 않고, 상기 제1 소스 심볼을 제외한 다른 제1 소스 심볼을 선택할 수 없는 경우, 아직 패킷화되지 않은 제2 부호화 심볼 중 적어도 하나를 상기 목표 패킷의 남은 공간에 삽입하는 것을 특징으로 하는 부호화 심볼의 패킷화 장치.
  14. 제9항에 있어서, 상기 부호화 심볼은,
    루비 변환(Luby Transform)을 이용하여 부호화한 심볼인 것을 특징으로 하는 부호화 심볼의 패킷화 장치.
  15. 제9항에 있어서, 부호화 심볼의 패킷화 장치는,
    비디오 스트리밍 서비스에서 비디오 데이터를 전송하는데 사용되는 것을 특징으로 하는 부호화 심볼의 패킷화 장치.
KR20100120737A 2010-11-30 2010-11-30 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치 KR101153520B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20100120737A KR101153520B1 (ko) 2010-11-30 2010-11-30 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치
JP2011248963A JP5383778B2 (ja) 2010-11-30 2011-11-14 符号化シンボルのパケット化方法及びその方法を用いる装置
US13/297,071 US8774220B2 (en) 2010-11-30 2011-11-15 Method of packetizing encoded symbols and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20100120737A KR101153520B1 (ko) 2010-11-30 2010-11-30 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치

Publications (2)

Publication Number Publication Date
KR20120059111A KR20120059111A (ko) 2012-06-08
KR101153520B1 true KR101153520B1 (ko) 2012-06-11

Family

ID=46126631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20100120737A KR101153520B1 (ko) 2010-11-30 2010-11-30 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치

Country Status (3)

Country Link
US (1) US8774220B2 (ko)
JP (1) JP5383778B2 (ko)
KR (1) KR101153520B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160073041A (ko) 2014-12-16 2016-06-24 주식회사 구버넷 비균등 오류정정 기법을 이용한 심볼의 패킷 생성 방법.
KR20160148229A (ko) 2015-06-16 2016-12-26 주식회사 구버넷 비균등 오류정정 기법을 이용한 심볼의 패킷 생성 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9131254B2 (en) * 2012-07-19 2015-09-08 Alcatel Lucent Cross layer coding for satellite mobile TV broadcast method and apparatus
WO2016051451A1 (ja) * 2014-09-29 2016-04-07 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び、情報処理システム
US10230405B2 (en) * 2015-08-26 2019-03-12 Nvidia Corporation System and method of forward error correction for streaming media
EP3358898B1 (en) * 2017-02-07 2021-04-28 Volkswagen Aktiengesellschaft Apparatuses, methods and computer programs for allocating transmission resources and for a mobile transceiver
CN109379165B (zh) * 2018-09-13 2021-07-16 宁波菊风系统软件有限公司 一种适用视频通信的丢包处理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070056101A (ko) * 2004-08-27 2007-05-31 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 멀티미디어 컨텐츠의 분배 방법 및 시스템과, 멀티미디어컨텐츠 처리 장치
JP5237119B2 (ja) * 2006-02-08 2013-07-17 トムソン ライセンシング ラプターコードをデコードする方法及び装置
KR101259659B1 (ko) 2007-04-17 2013-05-02 경희대학교 산학협력단 중요도에 따라 손실 복원율을 차별화하는 비균일 랩터 코딩방법
KR100956560B1 (ko) 2007-07-27 2010-05-07 고려대학교 산학협력단 랩터 부호의 복호 지연을 줄이기 위한 수신장치 및 그 방법
TWI386069B (zh) * 2007-08-10 2013-02-11 Univ Nat Cheng Kung 資料集編碼系統及方法以及程式產品
EP2348641A4 (en) 2008-10-22 2012-11-07 Samsung Electronics Co Ltd UNIVERSAL DECODER FOR RAPTOR CODE AND SYMBOL RECEIVING METHODS AND WIRELESS COMMUNICATION DEVICE THEREWITH
EP2211471A1 (en) * 2009-01-27 2010-07-28 Thomson Licensing Network coding using Luby transform (LT) codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Fountain code-based live video streaming system over heterogeneous wireless networks (Information and Communication Technology Convergence (ICTC), 2010 International Conference on, p.1 - 5) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160073041A (ko) 2014-12-16 2016-06-24 주식회사 구버넷 비균등 오류정정 기법을 이용한 심볼의 패킷 생성 방법.
KR20160148229A (ko) 2015-06-16 2016-12-26 주식회사 구버넷 비균등 오류정정 기법을 이용한 심볼의 패킷 생성 방법
KR101761812B1 (ko) 2015-06-16 2017-07-26 주식회사 구버넷 비균등 오류정정 기법을 이용한 심볼의 패킷 생성 방법

Also Published As

Publication number Publication date
US20120134373A1 (en) 2012-05-31
KR20120059111A (ko) 2012-06-08
JP5383778B2 (ja) 2014-01-08
JP2012120161A (ja) 2012-06-21
US8774220B2 (en) 2014-07-08

Similar Documents

Publication Publication Date Title
KR101153520B1 (ko) 부호화 심볼의 패킷화 방법 및 이러한 방법을 사용하는 장치
Tsai et al. Concurrent multipath transmission combining forward error correction and path interleaving for video streaming
Khalaf et al. Improving video transmission over heterogeneous network by using ARQ and FEC error correction algorithm
CN113055285B (zh) 基于mptcp与网络编码的自适应数据传输方法
Tsai et al. An adaptive packet and block length forward error correction for video streaming over wireless networks
KR20150045346A (ko) 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치
Ahmad et al. Adaptive unicast video streaming with rateless codes and feedback
Seferoglu et al. Rate distortion optimized joint ARQ-FEC scheme for real-time wireless multimedia
US20150006991A1 (en) Graceful degradation-forward error correction method and apparatus for performing same
Heindlmaier et al. Isn't hybrid ARQ sufficient?
Sørensen et al. Multiple description coding with feedback based network compression
Karner et al. Link Error Analysis and Modeling for Video Streaming Cross‐Layer Design in Mobile Communication Networks
de Alwis et al. Content and network-aware multicast over wireless networks
Grangetto et al. Ensuring quality of service for image transmission: hybrid loss protection
Lee et al. A robust luby transform encoding pattern-aware symbol packetization algorithm for video streaming over wireless network
Wang et al. Improving fountain codes for short message lengths by adding memory
JP5247358B2 (ja) 情報処理装置及びその方法、プログラム、記録媒体
CN113301387A (zh) 数据编解码方法、相关设备及系统
Tirronen et al. Fountain-inspired erasure coding for real-time traffic: Performance analysis and simulation
Agueh et al. Dynamic channel coding for efficient Motion JPEG2000 video streaming over Mobile Ad-hoc Networks
Demircin et al. Finite-horizon FEC-rate adaptation for real-time wireless multimedia
Convertino et al. MMC05-1: an adaptive FEC scheme to reduce bursty losses in a 802.11 network
Yao et al. Turbo codes-based image transmission for channels with multiple types of distortion
Convertino et al. Adaptive FEC for 802.11 burst losses reduction
Taghouti PhD Forum: Padding Overhead Reduction in Random Linear Coded Variable Size Media Streams

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee